PageSourceSearch

https://drumagog.com/sites/default/files/js/js_U2GDrjj98MIEBaGRwD6U7eSwukJ9fmM28q7NkLL82IE.js

js drumagog.com collected 2026-09-26 13:04:19 UTC 13,469 bytes, 379 lines download raw bytes

1/**
2* DO NOT EDIT THIS FILE.
3* See the following change record for more information,
4* https://www.drupal.org/node/2815083
5* @preserve
6**/
7
8if (!Element.prototype.matches) {
9  Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;
10};
11/*! @drupal/once - v1.0.1 - 2021-06-12 */
12var once=function(){"use strict";var n=/[\11\12\14\15\40]+/,e="data-once",t=document;function r(n,t,r){return n[t+"Attribute"](e,r)}function o(e){if("string"!=typeof e)throw new TypeError("once ID must be a string");if(""===e||n.test(e))throw new RangeError("once ID must not be empty or contain spaces");return'[data-once~="'+e+'"]'}function u(n){if(!(n instanceof Element))throw new TypeError("The element must be an instance of Element");return!0}function i(n,e){void 0===e&&(e=t);var r=n;if(null===n)r=[];else{if(!n)throw new TypeError("Selector must not be empty");"string"!=typeof n||e!==t&&!u(e)?n instanceof Element&&(r=[n]):r=e.querySelectorAll(n)}return Array.prototype.slice.call(r)}function c(n,e,t){return e.filter((function(e){var r=u(e)&&e.matches(n);return r&&t&&t(e),r}))}function f(e,t){var o=t.add,u=t.remove,i=[];r(e,"has")&&r(e,"get").trim().split(n).forEach((function(n){i.indexOf(n)<0&&n!==u&&i.push(n)})),o&&i.push(o);var c=i.join(" ");r(e,""===c?"remove":"set",c)}function a(n,e,t){return c(":not("+o(n)+")",i(e,t),(function(e){return f(e,{add:n})}))}return a.remove=function(n,e,t){return c(o(n),i(e,t),(function(e){return f(e,{remove:n})}))},a.filter=function(n,e,t){return c(o(n),i(e,t))},a.find=function(n,e){return i(n?o(n):"[data-once]",e)},a}();
13
14;
15/**
16* DO NOT EDIT THIS FILE.
17* See the following change record for more information,
18* https://www.drupal.org/node/2815083
19* @preserve
20**/
21
22(function () {
23  var settingsElement = document.querySelector('head > script[type="application/json"][data-drupal-selector="drupal-settings-json"], body > script[type="application/json"][data-drupal-selector="drupal-settings-json"]');
24  window.drupalSettings = {};
25
26  if (settingsElement !== null) {
27    window.drupalSettings = JSON.parse(settingsElement.textContent);
28  }
29})();;
30/**
31* DO NOT EDIT THIS FILE.
32* See the following change record for more information,
33* https://www.drupal.org/node/2815083
34* @preserve
35**/
36
37window.Drupal = {
38  behaviors: {},
39  locale: {}
40};
41
42(function (Drupal, drupalSettings, drupalTranslations, console, Proxy, Reflect) {
43  Drupal.throwError = function (error) {
44    setTimeout(function () {
45      throw error;
46    }, 0);
47  };
48
49  Drupal.attachBehaviors = function (context, settings) {
50    context = context || document;
51    settings = settings || drupalSettings;
52    var behaviors = Drupal.behaviors;
53    Object.keys(behaviors || {}).forEach(function (i) {
54      if (typeof behaviors[i].attach === 'function') {
55        try {
56          behaviors[i].attach(context, settings);
57        } catch (e) {
58          Drupal.throwError(e);
59        }
60      }
61    });
62  };
63
64  Drupal.detachBehaviors = function (context, settings, trigger) {
65    context = context || document;
66    settings = settings || drupalSettings;
67    trigger = trigger || 'unload';
68    var behaviors = Drupal.behaviors;
69    Object.keys(behaviors || {}).forEach(function (i) {
70      if (typeof behaviors[i].detach === 'function') {
71        try {
72          behaviors[i].detach(context, settings, trigger);
73        } catch (e) {
74          Drupal.throwError(e);
75        }
76      }
77    });
78  };
79
80  Drupal.checkPlain = function (str) {
81    str = str.toString().replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;').replace(/'/g, '&#39;');
82    return str;
83  };
84
85  Drupal.formatString = function (str, args) {
86    var processedArgs = {};
87    Object.keys(args || {}).forEach(function (key) {
88      switch (key.charAt(0)) {
89        case '@':
90          processedArgs[key] = Drupal.checkPlain(args[key]);
91          break;
92
93        case '!':
94          processedArgs[key] = args[key];
95          break;
96
97        default:
98          processedArgs[key] = Drupal.theme('placeholder', args[key]);
99          break;
100      }
101    });
102    return Drupal.stringReplace(str, processedArgs, null);
103  };
104
105  Drupal.stringReplace = function (str, args, keys) {
106    if (str.length === 0) {
107      return str;
108    }
109
110    if (!Array.isArray(keys)) {
111      keys = Object.keys(args || {});
112      keys.sort(function (a, b) {
113        return a.length - b.length;
114      });
115    }
116
117    if (keys.length === 0) {
118      return str;
119    }
120
121    var key = keys.pop();
122    var fragments = str.split(key);
123
124    if (keys.length) {
125      for (var i = 0; i < fragments.length; i++) {
126        fragments[i] = Drupal.stringReplace(fragments[i], args, keys.slice(0));
127      }
128    }
129
130    return fragments.join(args[key]);
131  };
132
133  Drupal.t = function (str, args, options) {
134    options = options || {};
135    options.context = options.context || '';
136
137    if (typeof drupalTranslations !== 'undefined' && drupalTranslations.strings && drupalTranslations.strings[options.context] && drupalTranslations.strings[options.context][str]) {
138      str = drupalTranslations.strings[options.context][str];
139    }
140
141    if (args) {
142      str = Drupal.formatString(str, args);
143    }
144
145    return str;
146  };
147
148  Drupal.url = function (path) {
149    return drupalSettings.path.baseUrl + drupalSettings.path.pathPrefix + path;
150  };
151
152  Drupal.url.toAbsolute = function (url) {
153    var urlParsingNode = document.createElement('a');
154
155    try {
156      url = decodeURIComponent(url);
157    } catch (e) {}
158
159    urlParsingNode.setAttribute('href', url);
160    return urlParsingNode.cloneNode(false).href;
161  };
162
163  Drupal.url.isLocal = function (url) {
164    var absoluteUrl = Drupal.url.toAbsolute(url);
165    var protocol = window.location.protocol;
166
167    if (protocol === 'http:' && absoluteUrl.indexOf('https:') === 0) {
168      protocol = 'https:';
169    }
170
171    var baseUrl = "".concat(protocol, "//").concat(window.location.host).concat(drupalSettings.path.baseUrl.slice(0, -1));
172
173    try {
174      absoluteUrl = decodeURIComponent(absoluteUrl);
175    } catch (e) {}
176
177    try {
178      baseUrl = decodeURIComponent(baseUrl);
179    } catch (e) {}
180
181    return absoluteUrl === baseUrl || absoluteUrl.indexOf("".concat(baseUrl, "/")) === 0;
182  };
183
184  Drupal.formatPlural = function (count, singular, plural, args, options) {
185    args = args || {};
186    args['@count'] = count;
187    var pluralDelimiter = drupalSettings.pluralDelimiter;
188    var translations = Drupal.t(singular + pluralDelimiter + plural, args, options).split(pluralDelimiter);
189    var index = 0;
190
191    if (typeof drupalTranslations !== 'undefined' && drupalTranslations.pluralFormula) {
192      index = count in drupalTranslations.pluralFormula ? drupalTranslations.pluralFormula[count] : drupalTranslations.pluralFormula.default;
193    } else if (args['@count'] !== 1) {
194      index = 1;
195    }
196
197    return translations[index];
198  };
199
200  Drupal.encodePath = function (item) {
201    return window.encodeURIComponent(item).replace(/%2F/g, '/');
202  };
203
204  Drupal.deprecationError = function (_ref) {
205    var message = _ref.message;
206
207    if (drupalSettings.suppressDeprecationErrors === false && typeof console !== 'undefined' && console.warn) {
208      console.warn("[Deprecation] ".concat(message));
209    }
210  };
211
212  Drupal.deprecatedProperty = function (_ref2) {
213    var target = _ref2.target,
214        deprecatedProperty = _ref2.deprecatedProperty,
215        message = _ref2.message;
216
217    if (!Proxy || !Reflect) {
218      return target;
219    }
220
221    return new Proxy(target, {
222      get: function get(target, key) {
223        if (key === deprecatedProperty) {
224          Drupal.deprecationError({
225            message: message
226          });
227        }
228
229        for (var _len = arguments.length, rest = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
230          rest[_key - 2] = arguments[_key];
231        }
232
233        return Reflect.get.apply(Reflect, [target, key].concat(rest));
234      }
235    });
236  };
237
238  Drupal.theme = function (func) {
239    if (func in Drupal.theme) {
240      var _Drupal$theme;
241
242      for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
243        args[_key2 - 1] = arguments[_key2];
244      }
245
246      return (_Drupal$theme = Drupal.theme)[func].apply(_Drupal$theme, args);
247    }
248  };
249
250  Drupal.theme.placeholder = function (str) {
251    return "<em class=\"placeholder\">".concat(Drupal.checkPlain(str), "</em>");
252  };
253})(Drupal, window.drupalSettings, window.drupalTranslations, window.console, window.Proxy, window.Reflect);;
254/**
255* DO NOT EDIT THIS FILE.
256* See the following change record for more information,
257* https://www.drupal.org/node/2815083
258* @preserve
259**/
260
261if (window.jQuery) {
262  jQuery.noConflict();
263}
264
265document.documentElement.className += ' js';
266
267(function (Drupal, drupalSettings) {
268  var domReady = function domReady(callback) {
269    var listener = function listener() {
270      callback();
271      document.removeEventListener('DOMContentLoaded', listener);
272    };
273
274    if (document.readyState !== 'loading') {
275      setTimeout(callback, 0);
276    } else {
277      document.addEventListener('DOMContentLoaded', listener);
278    }
279  };
280
281  domReady(function () {
282    Drupal.attachBehaviors(document, drupalSettings);
283  });
284})(Drupal, window.drupalSettings);;
285/**
286 * @file
287 * facebook_pixel.js
288 *
289 * Defines the behavior of the facebook pixel module.
290 */
291
292(function (Drupal, drupalSettings, once) {
293
294  'use strict';
295
296  function initTracking() {
297    var facebook_pixel_id = drupalSettings.facebook_pixel.facebook_id;
298
299    // Define Drupal.facebook_pixel.fb_disable as a dynamic condition to
300    // disable FB Pixel at runtime.
301    // This is helpful for GDPR compliance module integration
302    // and works even with static caching mechanisms like boost module.
303    Drupal.facebook_pixel = (typeof Drupal.facebook_pixel !== "undefined") ? Drupal.facebook_pixel : {};
304    Drupal.facebook_pixel.fb_disable = false;
305
306    // Define Opt-out conditions check
307    if (drupalSettings.facebook_pixel.fb_disable_advanced) {
308      // Facebook Pixel Opt-Out Code
309      window.fbOptout = function (reload = 0) {
310        reload = (typeof reload !== 'undefined') ? reload : 0;
311        var optoutWindowDisableKey = 'fb-disable';
312        document.cookie = optoutWindowDisableKey + '=true; expires=Thu, 31 Dec 2999 23:59:59 UTC; path=/';
313        window[optoutWindowDisableKey] = true;
314        if (reload) {
315          location.reload();
316        }
317      };
318      if (document.cookie.indexOf('fb-disable=true') > -1) {
319        window['fb-disable'] = true;
320      }
321      // End Facebook Pixel Opt-Out Code
322      Drupal.facebook_pixel.fb_disable = Drupal.facebook_pixel.fb_disable || window['fb-disable'] == true;
323    }
324
325    // Define eu_cookie_compliance conditions check (https://www.drupal.org/project/eu_cookie_compliance)
326    if (drupalSettings.facebook_pixel.eu_cookie_compliance) {
327      if (typeof Drupal.eu_cookie_compliance === "undefined") {
328        console.warn("facebook_pixel: facebook_pixel eu_cookie_compliance integration option is enabled, but eu_cookie_compliance javascripts seem to be loaded after facebook_pixel, which may break functionality.");
329      }
330      var eccHasAgreed = (typeof Drupal.eu_cookie_compliance !== "undefined" && Drupal.eu_cookie_compliance.hasAgreed());
331      Drupal.facebook_pixel.fb_disable = Drupal.facebook_pixel.fb_disable || !eccHasAgreed;
332    }
333
334    // Define Do-not-track conditions check (see https://www.w3.org/TR/tracking-dnt/)
335    if (drupalSettings.facebook_pixel.donottrack) {
336      var DNT = (typeof navigator.doNotTrack !== "undefined" && (navigator.doNotTrack === "yes" || navigator.doNotTrack == 1)) || (typeof navigator.msDoNotTrack !== "undefined" && navigator.msDoNotTrack == 1) || (typeof window.doNotTrack !== "undefined" && window.doNotTrack == 1);
337      // If eccHasAgreed is true, it overrides DNT because eu_cookie_compliance contains a setting for opt-in with DNT:
338      // "Automatic. Respect the DNT (Do not track) setting in the browser, if present. Uses opt-in when DNT is 1 or not set, and consent by default when DNT is 0."
339      Drupal.facebook_pixel.fb_disable = Drupal.facebook_pixel.fb_disable || (DNT && (typeof eccHasAgreed == "undefined" || !eccHasAgreed));
340    }
341
342    if (!Drupal.facebook_pixel.fb_disable) {
343      let elements = once('facebook_pixel_pageload_tracking', 'body');
344      elements.forEach(function () {
345        !function (f,b,e,v,n,t,s) {
346        if(f.fbq) { return;
347        }n = f.fbq = function () {n.callMethod ?
348        n.callMethod.apply(n,arguments):n.queue.push(arguments)};
349        if(!f._fbq) { f._fbq = n;
350        }n.push = n;n.loaded = !0;n.version = '2.0';
351        n.queue = [];t = b.createElement(e);t.async = !0;
352        t.src = v;s = b.getElementsByTagName(e)[0];
353        s.parentNode.insertBefore(t,s)}(window, document,'script',
354        'https://connect.facebook.net/en_US/fbevents.js');
355        fbq('init', facebook_pixel_id);
356        fbq('track', 'PageView');
357
358        drupalSettings.facebook_pixel.events.forEach(function (event) {
359          fbq("track", event['event'], event['data']);
360        });
361      });
362    }
363  }
364
365  Drupal.behaviors.facebook_pixel = {
366    attach(context) {
367      let elements = once('facebook_pixel_behavior', 'body')
368      elements.forEach(function () {
369        initTracking();
370      });
371
372      document.addEventListener('eu_cookie_compliance.changeStatus', function() {
373        initTracking();
374      });
375    },
376  };
377
378}(Drupal, drupalSettings, once));
379;

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.