From b929f4824bb03be7549332fc111d4de6ce1fab7f Mon Sep 17 00:00:00 2001 From: Sayan Mitra Date: Fri, 1 May 2020 16:50:32 +0530 Subject: [PATCH] update dist files --- dist/browser.js | 985 +++++++++++++++++++++++---- dist/rudder-analytics.min.br.js.br | Bin 27914 -> 27975 bytes dist/rudder-analytics.min.gzip.js.gz | Bin 32005 -> 32085 bytes dist/rudder-analytics.min.js | 2 +- tests/html/browser.js | 985 +++++++++++++++++++++++---- 5 files changed, 1673 insertions(+), 299 deletions(-) diff --git a/dist/browser.js b/dist/browser.js index aaf68e3c9c..1861e479fd 100644 --- a/dist/browser.js +++ b/dist/browser.js @@ -525,8 +525,7 @@ var rudderanalytics = (function (exports) { function GA(config) { _classCallCheck(this, GA); - this.trackingID = config.trackingID; //UA-149602794-1 - + this.trackingID = config.trackingID; this.name = "GA"; } @@ -545,14 +544,14 @@ var rudderanalytics = (function (exports) { })(window, document, "script", "https://www.google-analytics.com/analytics.js", "ga"); //window.ga_debug = {trace: true}; - ga("create", this.trackingID, "auto"); - ga("send", "pageview"); + ga("create", this.trackingID, "auto", "rudder_ga"); //ga("send", "pageview"); + logger.debug("===in init GA==="); } }, { key: "identify", value: function identify(rudderElement) { - ga("set", "userId", rudderElement.message.anonymous_id); + ga("rudder_ga.set", "userId", rudderElement.message.anonymous_id); logger.debug("in GoogleAnalyticsManager identify"); } }, { @@ -565,6 +564,8 @@ var rudderanalytics = (function (exports) { if (rudderElement.message.properties) { eventValue = rudderElement.message.properties.value ? rudderElement.message.properties.value : rudderElement.message.properties.revenue; + eventCategory = rudderElement.message.properties.category ? rudderElement.message.properties.category : eventCategory; + eventLabel = rudderElement.message.properties.label ? rudderElement.message.properties.label : eventLabel; } var payLoad = { @@ -574,20 +575,30 @@ var rudderanalytics = (function (exports) { eventLabel: eventLabel, eventValue: eventValue }; - ga("send", "event", payLoad); + ga("rudder_ga.send", "event", payLoad); logger.debug("in GoogleAnalyticsManager track"); } }, { key: "page", value: function page(rudderElement) { logger.debug("in GoogleAnalyticsManager page"); - var path = rudderElement.properties && rudderElement.properties.path ? rudderElement.properties.path : undefined; + var path = rudderElement.message.properties && rudderElement.message.properties.path ? rudderElement.message.properties.path : undefined; + var title = rudderElement.message.properties && rudderElement.message.properties.title ? rudderElement.message.properties.title : undefined; + var location = rudderElement.message.properties && rudderElement.message.properties.url ? rudderElement.message.properties.url : undefined; if (path) { - ga("set", "page", path); + ga("rudder_ga.set", "page", path); + } + + if (title) { + ga("rudder_ga.set", "title", title); } - ga("send", "pageview"); + if (location) { + ga("rudder_ga.set", "location", location); + } + + ga("rudder_ga.send", "pageview"); } }, { key: "isLoaded", @@ -4787,7 +4798,7 @@ var rudderanalytics = (function (exports) { * @api public */ - var componentCookie = function(name, value, options){ + var rudderComponentCookie = function(name, value, options){ switch (arguments.length) { case 3: case 2: @@ -4821,6 +4832,7 @@ var rudderanalytics = (function (exports) { if (options.path) str += '; path=' + options.path; if (options.domain) str += '; domain=' + options.domain; if (options.expires) str += '; expires=' + options.expires.toUTCString(); + if (options.samesite) str += '; samesite=' + options.samesite; if (options.secure) str += '; secure'; document.cookie = str; @@ -6154,160 +6166,803 @@ var rudderanalytics = (function (exports) { var componentUrl_3 = componentUrl.isRelative; var componentUrl_4 = componentUrl.isCrossDomain; - var lib = createCommonjsModule(function (module, exports) { - /** - * Module dependencies. + * Helpers. */ - var parse = componentUrl.parse; - + var s$1 = 1000; + var m$1 = s$1 * 60; + var h$1 = m$1 * 60; + var d$1 = h$1 * 24; + var y$1 = d$1 * 365.25; /** - * Get the top domain. - * - * The function constructs the levels of domain and attempts to set a global - * cookie on each one when it succeeds it returns the top level domain. + * Parse or format the given `val`. * - * The method returns an empty string when the hostname is an ip or `localhost`. + * Options: * - * Example levels: + * - `long` verbose formatting [false] * - * domain.levels('http://www.google.co.uk'); - * // => ["co.uk", "google.co.uk", "www.google.co.uk"] + * @param {String|Number} val + * @param {Object} options + * @return {String|Number} + * @api public + */ + + var ms$1 = function(val, options){ + options = options || {}; + if ('string' == typeof val) return parse$2(val); + return options.long + ? long$1(val) + : short$1(val); + }; + + /** + * Parse the given `str` and return milliseconds. * - * Example: + * @param {String} str + * @return {Number} + * @api private + */ + + function parse$2(str) { + str = '' + str; + if (str.length > 10000) return; + var match = /^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(str); + if (!match) return; + var n = parseFloat(match[1]); + var type = (match[2] || 'ms').toLowerCase(); + switch (type) { + case 'years': + case 'year': + case 'yrs': + case 'yr': + case 'y': + return n * y$1; + case 'days': + case 'day': + case 'd': + return n * d$1; + case 'hours': + case 'hour': + case 'hrs': + case 'hr': + case 'h': + return n * h$1; + case 'minutes': + case 'minute': + case 'mins': + case 'min': + case 'm': + return n * m$1; + case 'seconds': + case 'second': + case 'secs': + case 'sec': + case 's': + return n * s$1; + case 'milliseconds': + case 'millisecond': + case 'msecs': + case 'msec': + case 'ms': + return n; + } + } + + /** + * Short format for `ms`. * - * domain('http://localhost:3000/baz'); - * // => '' - * domain('http://dev:3000/baz'); - * // => '' - * domain('http://127.0.0.1:3000/baz'); - * // => '' - * domain('http://segment.io/baz'); - * // => 'segment.io' + * @param {Number} ms + * @return {String} + * @api private + */ + + function short$1(ms) { + if (ms >= d$1) return Math.round(ms / d$1) + 'd'; + if (ms >= h$1) return Math.round(ms / h$1) + 'h'; + if (ms >= m$1) return Math.round(ms / m$1) + 'm'; + if (ms >= s$1) return Math.round(ms / s$1) + 's'; + return ms + 'ms'; + } + + /** + * Long format for `ms`. * - * @param {string} url - * @return {string} - * @api public + * @param {Number} ms + * @return {String} + * @api private */ - function domain(url) { - var cookie = exports.cookie; - var levels = exports.levels(url); - // Lookup the real top level one. - for (var i = 0; i < levels.length; ++i) { - var cname = '__tld__'; - var domain = levels[i]; - var opts = { domain: '.' + domain }; + function long$1(ms) { + return plural$1(ms, d$1, 'day') + || plural$1(ms, h$1, 'hour') + || plural$1(ms, m$1, 'minute') + || plural$1(ms, s$1, 'second') + || ms + ' ms'; + } - cookie(cname, 1, opts); - if (cookie(cname)) { - cookie(cname, null, opts); - return domain; - } - } + /** + * Pluralization helper. + */ - return ''; + function plural$1(ms, n, name) { + if (ms < n) return; + if (ms < n * 1.5) return Math.floor(ms / n) + ' ' + name; + return Math.ceil(ms / n) + ' ' + name + 's'; } + var debug_1$1 = createCommonjsModule(function (module, exports) { /** - * Levels returns all levels of the given url. + * This is the common logic for both the Node.js and web browser + * implementations of `debug()`. * - * @param {string} url - * @return {Array} - * @api public + * Expose `debug()` as the module. */ - domain.levels = function(url) { - var host = parse(url).hostname; - var parts = host.split('.'); - var last = parts[parts.length - 1]; - var levels = []; - // Ip address. - if (parts.length === 4 && last === parseInt(last, 10)) { - return levels; - } + exports = module.exports = debug; + exports.coerce = coerce; + exports.disable = disable; + exports.enable = enable; + exports.enabled = enabled; + exports.humanize = ms$1; - // Localhost. - if (parts.length <= 1) { - return levels; - } + /** + * The currently active debug mode names, and names to skip. + */ - // Create levels. - for (var i = parts.length - 2; i >= 0; --i) { - levels.push(parts.slice(i).join('.')); - } + exports.names = []; + exports.skips = []; - return levels; - }; + /** + * Map of special "%n" handling functions, for the debug "format" argument. + * + * Valid key names are a single, lowercased letter, i.e. "n". + */ + + exports.formatters = {}; /** - * Expose cookie on domain. + * Previously assigned color. */ - domain.cookie = componentCookie; - /* - * Exports. + var prevColor = 0; + + /** + * Previous log timestamp. */ - exports = module.exports = domain; - }); + var prevTime; /** - * An object utility to persist values in cookies + * Select a color. + * + * @return {Number} + * @api private */ - var CookieLocal = - /*#__PURE__*/ - function () { - function CookieLocal(options) { - _classCallCheck(this, CookieLocal); + function selectColor() { + return exports.colors[prevColor++ % exports.colors.length]; + } - this._options = {}; - this.options(options); + /** + * Create a debugger with the given `namespace`. + * + * @param {String} namespace + * @return {Function} + * @api public + */ + + function debug(namespace) { + + // define the `disabled` version + function disabled() { } - /** - * - * @param {*} options - */ + disabled.enabled = false; + // define the `enabled` version + function enabled() { - _createClass(CookieLocal, [{ - key: "options", - value: function options() { - var _options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + var self = enabled; - if (arguments.length === 0) return this._options; - var domain = "." + lib(window.location.href); - if (domain === ".") domain = null; // the default maxage and path + // set `diff` timestamp + var curr = +new Date(); + var ms = curr - (prevTime || curr); + self.diff = ms; + self.prev = prevTime; + self.curr = curr; + prevTime = curr; - this._options = defaults_1(_options, { - maxage: 31536000000, - path: "/", - domain: domain - }); //try setting a cookie first + // add the `color` if not set + if (null == self.useColors) self.useColors = exports.useColors(); + if (null == self.color && self.useColors) self.color = selectColor(); - this.set("test_rudder", true); + var args = Array.prototype.slice.call(arguments); - if (!this.get("test_rudder")) { - this._options.domain = null; - } + args[0] = exports.coerce(args[0]); - this.remove("test_rudder"); + if ('string' !== typeof args[0]) { + // anything else let's inspect with %o + args = ['%o'].concat(args); } - /** - * - * @param {*} key - * @param {*} value - */ + + // apply any `formatters` transformations + var index = 0; + args[0] = args[0].replace(/%([a-z%])/g, function(match, format) { + // if we encounter an escaped % then don't increase the array index + if (match === '%%') return match; + index++; + var formatter = exports.formatters[format]; + if ('function' === typeof formatter) { + var val = args[index]; + match = formatter.call(self, val); + + // now we need to remove `args[index]` since it's inlined in the `format` + args.splice(index, 1); + index--; + } + return match; + }); + + if ('function' === typeof exports.formatArgs) { + args = exports.formatArgs.apply(self, args); + } + var logFn = enabled.log || exports.log || console.log.bind(console); + logFn.apply(self, args); + } + enabled.enabled = true; + + var fn = exports.enabled(namespace) ? enabled : disabled; + + fn.namespace = namespace; + + return fn; + } + + /** + * Enables a debug mode by namespaces. This can include modes + * separated by a colon and wildcards. + * + * @param {String} namespaces + * @api public + */ + + function enable(namespaces) { + exports.save(namespaces); + + var split = (namespaces || '').split(/[\s,]+/); + var len = split.length; + + for (var i = 0; i < len; i++) { + if (!split[i]) continue; // ignore empty strings + namespaces = split[i].replace(/\*/g, '.*?'); + if (namespaces[0] === '-') { + exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$')); + } else { + exports.names.push(new RegExp('^' + namespaces + '$')); + } + } + } + + /** + * Disable debug output. + * + * @api public + */ + + function disable() { + exports.enable(''); + } + + /** + * Returns true if the given mode name is enabled, false otherwise. + * + * @param {String} name + * @return {Boolean} + * @api public + */ + + function enabled(name) { + var i, len; + for (i = 0, len = exports.skips.length; i < len; i++) { + if (exports.skips[i].test(name)) { + return false; + } + } + for (i = 0, len = exports.names.length; i < len; i++) { + if (exports.names[i].test(name)) { + return true; + } + } + return false; + } + + /** + * Coerce `val`. + * + * @param {Mixed} val + * @return {Mixed} + * @api private + */ + + function coerce(val) { + if (val instanceof Error) return val.stack || val.message; + return val; + } + }); + var debug_2$1 = debug_1$1.coerce; + var debug_3$1 = debug_1$1.disable; + var debug_4$1 = debug_1$1.enable; + var debug_5$1 = debug_1$1.enabled; + var debug_6$1 = debug_1$1.humanize; + var debug_7$1 = debug_1$1.names; + var debug_8$1 = debug_1$1.skips; + var debug_9$1 = debug_1$1.formatters; + + var browser$1 = createCommonjsModule(function (module, exports) { + /** + * This is the web browser implementation of `debug()`. + * + * Expose `debug()` as the module. + */ + + exports = module.exports = debug_1$1; + exports.log = log; + exports.formatArgs = formatArgs; + exports.save = save; + exports.load = load; + exports.useColors = useColors; + exports.storage = 'undefined' != typeof chrome + && 'undefined' != typeof chrome.storage + ? chrome.storage.local + : localstorage(); + + /** + * Colors. + */ + + exports.colors = [ + 'lightseagreen', + 'forestgreen', + 'goldenrod', + 'dodgerblue', + 'darkorchid', + 'crimson' + ]; + + /** + * Currently only WebKit-based Web Inspectors, Firefox >= v31, + * and the Firebug extension (any Firefox version) are known + * to support "%c" CSS customizations. + * + * TODO: add a `localStorage` variable to explicitly enable/disable colors + */ + + function useColors() { + // is webkit? http://stackoverflow.com/a/16459606/376773 + return ('WebkitAppearance' in document.documentElement.style) || + // is firebug? http://stackoverflow.com/a/398120/376773 + (window.console && (console.firebug || (console.exception && console.table))) || + // is firefox >= v31? + // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages + (navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31); + } + + /** + * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. + */ + + exports.formatters.j = function(v) { + return JSON.stringify(v); + }; + + + /** + * Colorize log arguments if enabled. + * + * @api public + */ + + function formatArgs() { + var args = arguments; + var useColors = this.useColors; + + args[0] = (useColors ? '%c' : '') + + this.namespace + + (useColors ? ' %c' : ' ') + + args[0] + + (useColors ? '%c ' : ' ') + + '+' + exports.humanize(this.diff); + + if (!useColors) return args; + + var c = 'color: ' + this.color; + args = [args[0], c, 'color: inherit'].concat(Array.prototype.slice.call(args, 1)); + + // the final "%c" is somewhat tricky, because there could be other + // arguments passed either before or after the %c, so we need to + // figure out the correct index to insert the CSS into + var index = 0; + var lastC = 0; + args[0].replace(/%[a-z%]/g, function(match) { + if ('%%' === match) return; + index++; + if ('%c' === match) { + // we only are interested in the *last* %c + // (the user may have provided their own) + lastC = index; + } + }); + + args.splice(lastC, 0, c); + return args; + } + + /** + * Invokes `console.log()` when available. + * No-op when `console.log` is not a "function". + * + * @api public + */ + + function log() { + // this hackery is required for IE8/9, where + // the `console.log` function doesn't have 'apply' + return 'object' === typeof console + && console.log + && Function.prototype.apply.call(console.log, console, arguments); + } + + /** + * Save `namespaces`. + * + * @param {String} namespaces + * @api private + */ + + function save(namespaces) { + try { + if (null == namespaces) { + exports.storage.removeItem('debug'); + } else { + exports.storage.debug = namespaces; + } + } catch(e) {} + } + + /** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ + + function load() { + var r; + try { + r = exports.storage.debug; + } catch(e) {} + return r; + } + + /** + * Enable namespaces listed in `localStorage.debug` initially. + */ + + exports.enable(load()); + + /** + * Localstorage attempts to return the localstorage. + * + * This is necessary because safari throws + * when a user disables cookies/localstorage + * and you attempt to access it. + * + * @return {LocalStorage} + * @api private + */ + + function localstorage(){ + try { + return window.localStorage; + } catch (e) {} + } + }); + var browser_1$1 = browser$1.log; + var browser_2$1 = browser$1.formatArgs; + var browser_3$1 = browser$1.save; + var browser_4$1 = browser$1.load; + var browser_5$1 = browser$1.useColors; + var browser_6$1 = browser$1.storage; + var browser_7$1 = browser$1.colors; + + /** + * Module dependencies. + */ + + var debug$1 = browser$1('cookie'); + + /** + * Set or get cookie `name` with `value` and `options` object. + * + * @param {String} name + * @param {String} value + * @param {Object} options + * @return {Mixed} + * @api public + */ + + var componentCookie = function(name, value, options){ + switch (arguments.length) { + case 3: + case 2: + return set$1(name, value, options); + case 1: + return get$2(name); + default: + return all$1(); + } + }; + + /** + * Set cookie `name` to `value`. + * + * @param {String} name + * @param {String} value + * @param {Object} options + * @api private + */ + + function set$1(name, value, options) { + options = options || {}; + var str = encode$1(name) + '=' + encode$1(value); + + if (null == value) options.maxage = -1; + + if (options.maxage) { + options.expires = new Date(+new Date + options.maxage); + } + + if (options.path) str += '; path=' + options.path; + if (options.domain) str += '; domain=' + options.domain; + if (options.expires) str += '; expires=' + options.expires.toUTCString(); + if (options.secure) str += '; secure'; + if (options.samesite) str += '; samesite=' + options.samesite; + + document.cookie = str; + } + + /** + * Return all cookies. + * + * @return {Object} + * @api private + */ + + function all$1() { + var str; + try { + str = document.cookie; + } catch (err) { + if (typeof console !== 'undefined' && typeof console.error === 'function') { + console.error(err.stack || err); + } + return {}; + } + return parse$3(str); + } + + /** + * Get cookie `name`. + * + * @param {String} name + * @return {String} + * @api private + */ + + function get$2(name) { + return all$1()[name]; + } + + /** + * Parse cookie `str`. + * + * @param {String} str + * @return {Object} + * @api private + */ + + function parse$3(str) { + var obj = {}; + var pairs = str.split(/ *; */); + var pair; + if ('' == pairs[0]) return obj; + for (var i = 0; i < pairs.length; ++i) { + pair = pairs[i].split('='); + obj[decode$1(pair[0])] = decode$1(pair[1]); + } + return obj; + } + + /** + * Encode. + */ + + function encode$1(value){ + try { + return encodeURIComponent(value); + } catch (e) { + debug$1('error `encode(%o)` - %o', value, e); + } + } + + /** + * Decode. + */ + + function decode$1(value) { + try { + return decodeURIComponent(value); + } catch (e) { + debug$1('error `decode(%o)` - %o', value, e); + } + } + + var lib = createCommonjsModule(function (module, exports) { + + /** + * Module dependencies. + */ + + var parse = componentUrl.parse; + + + /** + * Get the top domain. + * + * The function constructs the levels of domain and attempts to set a global + * cookie on each one when it succeeds it returns the top level domain. + * + * The method returns an empty string when the hostname is an ip or `localhost`. + * + * Example levels: + * + * domain.levels('http://www.google.co.uk'); + * // => ["co.uk", "google.co.uk", "www.google.co.uk"] + * + * Example: + * + * domain('http://localhost:3000/baz'); + * // => '' + * domain('http://dev:3000/baz'); + * // => '' + * domain('http://127.0.0.1:3000/baz'); + * // => '' + * domain('http://segment.io/baz'); + * // => 'segment.io' + * + * @param {string} url + * @return {string} + * @api public + */ + function domain(url) { + var cookie = exports.cookie; + var levels = exports.levels(url); + + // Lookup the real top level one. + for (var i = 0; i < levels.length; ++i) { + var cname = '__tld__'; + var domain = levels[i]; + var opts = { domain: '.' + domain }; + + cookie(cname, 1, opts); + if (cookie(cname)) { + cookie(cname, null, opts); + return domain; + } + } + + return ''; + } + + /** + * Levels returns all levels of the given url. + * + * @param {string} url + * @return {Array} + * @api public + */ + domain.levels = function(url) { + var host = parse(url).hostname; + var parts = host.split('.'); + var last = parts[parts.length - 1]; + var levels = []; + + // Ip address. + if (parts.length === 4 && last === parseInt(last, 10)) { + return levels; + } + + // Localhost. + if (parts.length <= 1) { + return levels; + } + + // Create levels. + for (var i = parts.length - 2; i >= 0; --i) { + levels.push(parts.slice(i).join('.')); + } + + return levels; + }; + + /** + * Expose cookie on domain. + */ + domain.cookie = componentCookie; + + /* + * Exports. + */ + + exports = module.exports = domain; + }); + + /** + * An object utility to persist values in cookies + */ + + var CookieLocal = + /*#__PURE__*/ + function () { + function CookieLocal(options) { + _classCallCheck(this, CookieLocal); + + this._options = {}; + this.options(options); + } + /** + * + * @param {*} options + */ + + + _createClass(CookieLocal, [{ + key: "options", + value: function options() { + var _options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + + if (arguments.length === 0) return this._options; + var domain = "." + lib(window.location.href); + if (domain === ".") domain = null; // the default maxage and path + + this._options = defaults_1(_options, { + maxage: 31536000000, + path: "/", + domain: domain, + samesite: "Lax" + }); //try setting a cookie first + + this.set("test_rudder", true); + + if (!this.get("test_rudder")) { + this._options.domain = null; + } + + this.remove("test_rudder"); + } + /** + * + * @param {*} key + * @param {*} value + */ }, { key: "set", value: function set(key, value) { try { value = json3.stringify(value); - componentCookie(key, value, clone_1(this._options)); + rudderComponentCookie(key, value, clone_1(this._options)); return true; } catch (e) { return false; @@ -6322,7 +6977,7 @@ var rudderanalytics = (function (exports) { key: "get", value: function get(key) { try { - var value = componentCookie(key); + var value = rudderComponentCookie(key); value = value ? json3.parse(value) : null; return value; } catch (e) { @@ -6338,7 +6993,7 @@ var rudderanalytics = (function (exports) { key: "remove", value: function remove(key) { try { - componentCookie(key, null, clone_1(this._options)); + rudderComponentCookie(key, null, clone_1(this._options)); return true; } catch (e) { return false; @@ -6822,12 +7477,13 @@ var rudderanalytics = (function (exports) { var Lotame = /*#__PURE__*/ function () { - function Lotame(config) { + function Lotame(config, analytics) { var _this = this; _classCallCheck(this, Lotame); this.name = "LOTAME"; + this.analytics = analytics; this.storage = lotameStorage; this.bcpUrlSettings = config.bcpUrlSettings; this.dspUrlSettings = config.dspUrlSettings; @@ -6856,11 +7512,11 @@ var rudderanalytics = (function (exports) { document.getElementsByTagName("body")[0].appendChild(image); } }, { - key: "synchPixel", - value: function synchPixel(userId) { + key: "syncPixel", + value: function syncPixel(userId) { var _this2 = this; - logger.debug("===== in synchPixel ======"); + logger.debug("===== in syncPixel ======"); if (this.dspUrlSettings && this.dspUrlSettings.length > 0) { this.dspUrlSettings.forEach(function (urlSettings) { @@ -6872,11 +7528,12 @@ var rudderanalytics = (function (exports) { }); } - this.storage.setLotameSynchTime(Date.now()); // this is custom to lotame, can be thought of as additional feature + this.storage.setLotameSynchTime(Date.now()); // emit on syncPixel - if (window.LOTAME_SYNCH_CALLBACK && typeof window.LOTAME_SYNCH_CALLBACK == "function") { - logger.debug("===== in synchPixel callback======"); - window.LOTAME_SYNCH_CALLBACK(); + if (this.analytics.methodToCallbackMapping["syncPixel"]) { + this.analytics.emit("syncPixel", { + destination: this.name + }); } } }, { @@ -6896,7 +7553,7 @@ var rudderanalytics = (function (exports) { value: function identify(rudderElement) { logger.debug("in Lotame identify"); var userId = rudderElement.message.userId; - this.synchPixel(userId); + this.syncPixel(userId); } }, { key: "track", @@ -6919,7 +7576,7 @@ var rudderanalytics = (function (exports) { } if (rudderElement.message.userId && this.isPixelToBeSynched()) { - this.synchPixel(rudderElement.message.userId); + this.syncPixel(rudderElement.message.userId); } } }, { @@ -8022,7 +8679,7 @@ var rudderanalytics = (function (exports) { * Expose `debug()` as the module. */ - var debug_1$1 = debug$1; + var debug_1$2 = debug$2; /** * Create a debugger with the given `name`. @@ -8032,20 +8689,20 @@ var rudderanalytics = (function (exports) { * @api public */ - function debug$1(name) { - if (!debug$1.enabled(name)) return function(){}; + function debug$2(name) { + if (!debug$2.enabled(name)) return function(){}; return function(fmt){ fmt = coerce(fmt); var curr = new Date; - var ms = curr - (debug$1[name] || curr); - debug$1[name] = curr; + var ms = curr - (debug$2[name] || curr); + debug$2[name] = curr; fmt = name + ' ' + fmt - + ' +' + debug$1.humanize(ms); + + ' +' + debug$2.humanize(ms); // This hackery is required for IE8 // where `console.log` doesn't have 'apply' @@ -8059,8 +8716,8 @@ var rudderanalytics = (function (exports) { * The currently active debug mode names. */ - debug$1.names = []; - debug$1.skips = []; + debug$2.names = []; + debug$2.skips = []; /** * Enables a debug mode by name. This can include modes @@ -8070,7 +8727,7 @@ var rudderanalytics = (function (exports) { * @api public */ - debug$1.enable = function(name) { + debug$2.enable = function(name) { try { localStorage.debug = name; } catch(e){} @@ -8081,10 +8738,10 @@ var rudderanalytics = (function (exports) { for (var i = 0; i < len; i++) { name = split[i].replace('*', '.*?'); if (name[0] === '-') { - debug$1.skips.push(new RegExp('^' + name.substr(1) + '$')); + debug$2.skips.push(new RegExp('^' + name.substr(1) + '$')); } else { - debug$1.names.push(new RegExp('^' + name + '$')); + debug$2.names.push(new RegExp('^' + name + '$')); } } }; @@ -8095,8 +8752,8 @@ var rudderanalytics = (function (exports) { * @api public */ - debug$1.disable = function(){ - debug$1.enable(''); + debug$2.disable = function(){ + debug$2.enable(''); }; /** @@ -8107,7 +8764,7 @@ var rudderanalytics = (function (exports) { * @api private */ - debug$1.humanize = function(ms) { + debug$2.humanize = function(ms) { var sec = 1000 , min = 60 * 1000 , hour = 60 * min; @@ -8126,14 +8783,14 @@ var rudderanalytics = (function (exports) { * @api public */ - debug$1.enabled = function(name) { - for (var i = 0, len = debug$1.skips.length; i < len; i++) { - if (debug$1.skips[i].test(name)) { + debug$2.enabled = function(name) { + for (var i = 0, len = debug$2.skips.length; i < len; i++) { + if (debug$2.skips[i].test(name)) { return false; } } - for (var i = 0, len = debug$1.names.length; i < len; i++) { - if (debug$1.names[i].test(name)) { + for (var i = 0, len = debug$2.names.length; i < len; i++) { + if (debug$2.names[i].test(name)) { return true; } } @@ -8152,7 +8809,7 @@ var rudderanalytics = (function (exports) { // persist try { - if (window.localStorage) debug$1.enable(localStorage.debug); + if (window.localStorage) debug$2.enable(localStorage.debug); } catch(e){} var componentEmitter = createCommonjsModule(function (module) { @@ -8335,7 +8992,7 @@ var rudderanalytics = (function (exports) { - var debug$2 = debug_1$1('localstorage-retry'); + var debug$3 = debug_1$2('localstorage-retry'); // Some browsers don't support Function.prototype.bind, so just including a simplified version here @@ -8566,7 +9223,7 @@ var rudderanalytics = (function (exports) { try { self.fn(el.item, el.done); } catch (err) { - debug$2('Process function threw error: ' + err); + debug$3('Process function threw error: ' + err); } }, toRun); @@ -9222,6 +9879,9 @@ var rudderanalytics = (function (exports) { this.readyCallback = function () {}; this.executeReadyCallback = undefined; + this.methodToCallbackMapping = { + syncPixel: "syncPixelCallback" + }; } /** * Process the response from control plane and @@ -9306,13 +9966,19 @@ var rudderanalytics = (function (exports) { }, { key: "replayEvents", value: function replayEvents(object) { - if (object.successfullyLoadedIntegration.length + object.failedToBeLoadedIntegration.length == object.clientIntegrations.length) { + if (object.successfullyLoadedIntegration.length + object.failedToBeLoadedIntegration.length == object.clientIntegrations.length && object.toBeProcessedByIntegrationArray.length > 0) { + logger.debug("===replay events called====", object.successfullyLoadedIntegration.length, object.failedToBeLoadedIntegration.length); object.clientIntegrationObjects = []; object.clientIntegrationObjects = object.successfullyLoadedIntegration; + logger.debug("==registering after callback===", object.clientIntegrationObjects.length); object.executeReadyCallback = after_1(object.clientIntegrationObjects.length, object.readyCallback); + logger.debug("==registering ready callback==="); object.on("ready", object.executeReadyCallback); object.clientIntegrationObjects.forEach(function (intg) { + logger.debug("===looping over each successful integration===="); + if (!intg["isReady"] || intg["isReady"]()) { + logger.debug("===letting know I am ready=====", intg["name"]); object.emit("ready"); } }); //send the queued events to the fetched integration @@ -9354,6 +10020,8 @@ var rudderanalytics = (function (exports) { var time = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; return new Promise(function (resolve) { if (instance.isLoaded()) { + logger.debug("===integration loaded successfully====", instance["name"]); + _this2.successfullyLoadedIntegration.push(instance); return resolve(_this2); @@ -9368,6 +10036,7 @@ var rudderanalytics = (function (exports) { } _this2.pause(INTEGRATION_LOAD_CHECK_INTERVAL).then(function () { + logger.debug("====after pause, again checking===="); return _this2.isInitialized(instance, time + INTEGRATION_LOAD_CHECK_INTERVAL).then(resolve); }); }); @@ -9830,6 +10499,20 @@ var rudderanalytics = (function (exports) { logger.error("ready callback is not a function"); } + }, { + key: "registerCallbacks", + value: function registerCallbacks() { + var _this3 = this; + + Object.keys(this.methodToCallbackMapping).forEach(function (methodName) { + if (_this3.methodToCallbackMapping.hasOwnProperty(methodName)) { + var callback = !!window.rudderanalytics ? typeof window.rudderanalytics[_this3.methodToCallbackMapping[methodName]] == "function" ? window.rudderanalytics[_this3.methodToCallbackMapping[methodName]] : function () {} : function () {}; + logger.debug("registerCallbacks", methodName, callback); + + _this3.on(methodName, callback); + } + }); + } }]); return Analytics; @@ -9845,12 +10528,15 @@ var rudderanalytics = (function (exports) { componentEmitter(instance); { + // register supported callbacks + instance.registerCallbacks(); var eventsPushedAlready = !!window.rudderanalytics && window.rudderanalytics.push == Array.prototype.push; var methodArg = window.rudderanalytics ? window.rudderanalytics[0] : []; if (methodArg.length > 0 && methodArg[0] == "load") { var method = methodArg[0]; methodArg.shift(); + logger.debug("=====from init, calling method:: ", method); instance[method].apply(instance, _toConsumableArray(methodArg)); } @@ -9864,6 +10550,7 @@ var rudderanalytics = (function (exports) { var _method = event[0]; event.shift(); + logger.debug("=====from init, calling method:: ", _method); instance[_method].apply(instance, _toConsumableArray(event)); } diff --git a/dist/rudder-analytics.min.br.js.br b/dist/rudder-analytics.min.br.js.br index 47bb63549798842283274b96f48d12443b6ad8e3..1d260d170d5e30159dc5130d1a232fb5dd759393 100644 GIT binary patch literal 27975 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 OgTOe2w$*zdHmw*UD{*rG literal 27914 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 z ziT7Pgq*a!_n?A7&voZX zSolFRvf@&-TW|WPBEDj#poHyF&6Za`R9va<8!?cTcE*-yHt?~eonaF>dg)OmEbYpI z&WG?05~2N(6W1?uW`oSCl8jd+#eQ#U%6d^^u|NPXR6bKTr7+6KgH6`N#8sqYLXy9K zL`Mgt^KuqQ6!vU<1mkk1*s&K>#30`cOeeEqV?q{A+*xd*i^nTb31E^Vk_riqXjhMH z5UY0n)M3tzvD@4i0|p)g(FhEsJA!)m9vxs^JGZdZKj;rW^(kje`PiI50V|TcxZt>7Iz5$Y zh`V)(0DX>FXryUCys_^2XB&T*CCnWvI2C?6^%p-l@#dG-U-S%{o)CuZQsPOD@r(P; z0EQ<7|87bT=I;|#o&$=b@#mFMy7Dx zrw7pj@F9+L3$zD~pfU{zLZ7hbxZX%QdjI_<9^ZI`=g&1%n_w{h3#K{^*bt&>E?Fio zU~Ry=vdL#=?8|!4KR!^d{ouni{hzW&dg(LnIGtS~$L7aoN7U)SlN2&B8>|k%i_Tx} zn#eUq&(>>CPdgO(*D2gVe^!IflZuZ7R$mwrM++Gz;zZOUx{ee)iATgyRfZfwSrL&s zqHHOevQDrj`osxv(_+2c9x5Wu$K^HFS#6IE92QGImPo)vGpHqlJ@yn*5D=!72|BAl z<&^Knt4eVlLKbq_kz+NDNZu11{nQ+dyzb~bvxJ-aA4Rk0lL?5jWXUO`oyK9|9gatC zU@R#T$_{IDs3?gPlPv^suiTOl6+_57TvU$waZ9K`26{H#MJU!hH|-(#+TtU<)N*)D zd8uw*4{?5#iX|;bGsix@%vZa#Q^SF!8sGAuqsY4HK3y~W2ct6o1Ci6t-9~6ETNzzr z6ysC*escrwaTzWg1OFBE$O>IO6HcqicDf?ntE)s5Q7)bu@Oa`vv!0pF^U zuvE~GT}D`B@jc1p&g;zS=wtK7R5`?7UZ$6=s`x9h^~T3`+D$_I_)hSWKP!b!A@3Hdv9ary4QtF!C7)g;wzs!YA-Lh)t!xpa_&k)$kDyCaY^B=`_Yu0xh{|hhWIiuve+O5yRD}=XP(NL0=8_3p z1>n+fc;~ckxb4{&MpvT)THB?wPikaT*IBHm>YF#VI9-KulwrBO+B-;nwk6lTWtVUL zM7P;GpOlOy1hYmSX1XEJU>#ksjWWT73g2P4~j#N=%&&I@SYdTT+ zy~T)k*A3<5Kzce?2XaLK_lZTI(IpnlHES)?f2FP6dvdWk>r55DRS_;Ls1#=|-TR4{ zn@)&%t6OhSC0h5~UsofAQ6mVWWgMNeOz!NgcN!~Al#8cyU-337=K4<{^_ z2kzQnhhHxy`j>}Z+v_C4`2@7UNk-BR?4la7Cih9CSe32NbTm7L5Y3{-c*oNgoxt24>X|qtw zq*6w94;f6iqj`F<+rMz8*Cc0Dto-YXipfGgh;jq&MULy&i7AEACrs8m6%KLRkX6jg zXIvpgW@i}nSG3dl^IQMtO_SZmV_7q@v4Q=z0I8ujU9^W)b<>$~Ghnz&3E1Im+d`)_ zszOuOzn4Ue!1#DcbU+!A*YZqIW#?muJFP8ZkKS&Xqo^rVa3H<;^Sg6`FJYbs8n2i6 zHJS`mO8C%1&6spaR}DrQ=t8H0fx#Fn!Fc1_=`TE!8z<$!#3ZIAph#D1_a(_jfJP%& zPD)7ksMz5ELRKrF(`$#2TiiXQL+MIa85K<({?qE#yV_b?DSK9}{q1YLs}T2|T)GOR z&rKg78o`Y7l{&mNk1o_BsZJnB(Ql>?;LgX!s%Zmu(l#F4*vU9In#f$8I>uiz<4b)2+sP=+RDbO^JxoP)bN=id)HP=uNXO?7X%)ojxSA-2vM2pa zbK_m_3r%Q^=Gz=MY$Gv;bxvn$vg9-_JNG{lm%63Z9I)%|!VvgNhz zBjQhkVVppL!JdXp7}IEg2;%bl{yyFE0)>LccK}H<`q28;uhc8LnnW9DWhC?9lcj`M z*`0nrunC$4d_z15=52;vQg4SR=+2}cU{O!a8E*=B1`u3mp^yd(a;eaLiO_*Nqamb$VFH_ z3nNZp2E?)X_c>Gnlnt=}@qit7?cb>I(V5XBD%S4vb_!Te73t-Z)*)74t1~-XQL*DO zo1$o;90|JBut=G_Y{K$oV(sIP9I0MFwlm;w-xp~`OeFp*89m?u+2h8S4H7`VAcK*~ zF91*l9OaG5$)W)WHFU5m1}xy|eU^#zMhHEUUl5Hh1rZ_~@iGmbfW%WcnE8dm57*HJ z2%{Y+li-VS?Y4g5C+1ju;%R3E3M>7Pw8^@UWtsk%=MAr$zD;(rPNUV5v5cE7sma}d z!QH$VlTqh0H@}H?t&i&;ARPjrZe@Ad{@C3-8uN>(@x<>uU_^aHJS^I4C40|+)bGZ`#;*$L{ZS9CJVX!4Ev zj~07pxyrSe6Bugt}(?LMv5Bin325tFC!+JPD=D0JWc<!K>98J}F|Dwt$l0%77m8ukI%7}r< z6r=$6Oy_<{`4&e(y>M2tKYQ>XTIsp&!c;Rs6SPrPl-4E!I?7U=Y&avVSeDM4$ZY$H z{9LeypZ-@I)oy`M zbmoXx?pHz>WQdbh{?enh|E!M`6dUlE@c)>w|11STjd>{Et!Yg|-XVv9%izTOK_ z8Xn16+@!i2Xx0jn-qvan^#rnr{wQqP4Jdd0 zD#|*+SGmxxV8(BfVZ9o91R~53alp`D9%L~JGdE-vcVYs|7sDjj${lbm` zuRJZ1#7G(Rfkpv}CP*T0Kh^Bl(;}Ut=!M)1?tq>ycJ6^@s|DRzOJmNe%i01fq|D;( zkAoh@SN0hSAJ{&6NDK20e}S?CP=iBNihylhO>mdQDyHOv(U*-;!}rjeXEp#7$u-5w z@$ub-UASAOh~^ujOwE1|3umMJ?_}cx`T;}WlvPmg1EVtNg#G&o!o?B0|KV8ns0^Z>}HzG(x*~cv?*_?>jr5*Kh2oLXW1?#&TV5A>%@2^3XD`m7q_68}9 zG^!YL%kFmbzAM8mKT}^Lb}2$#3FL5dc5{dk%>d){aYUn@QOhq1kaEWM!?+nyXtkc` zhdu;q#BHimq1}|RWa%pftlz*_J;XLu1%nYp{yXL2VH786mKSAJH?4I2a6Fwa*W3N^ zt@fS2Io$R??}pN^u=C<;L2W7DqEdOC*o&P4WAvEBm_ zg#*`%3KL;&HqDhk99RW_hzHQdo__9cDl4f>>Q9a(1o6=2<=(gt@u_hL`C_$-S|xsm z7;TL{8DDJC=UW?b;XNKO8_er6jg^F~40e)aSJwi%{+PW~yIge6o1Dm?WNgVK!SvnYl;AMMG`(c;j_{ z#1?-WZ9e{uRL$Lg!-A(g2eK`Q&IZ2Aq!AOg(0T`YnDZ6B4u11TjKvkHb(tE+e6?F` zV=c4_NTOwZUE2XE5U}tlReGA4$;LNo8dL-o*0tC+ntGA%P_0`b7-s|e>)T%oEc}|f zFLFIlHpTXtc%u>BhvoZZxGJvkB7ckSgt%k(PXp3E%2E_2!|rHfYHAcw+YT=d7AOjF z>kX9nL<7xUZ4JDnV})=@{Bdk%*7Z>*yktM4*Ih92k?Rx`Raq;#3MKM+079cfyv)z@ zijV1^fG}n- zanb3(bI>^%=GX1AMqsZ!%3^{LOY1sX#v89IF|~Jl1EA5qR{J7S1IcN~-WJD(X_2t` zTuz0a>DBF?8)V+h7E{~ka;ee|Jj-pNZ(!3!P_@Eo+I$832<#@w!t0m|*yX-Stq08# z@5dX_W$-)oKKE(sGSOqPYt8<>wOKoPlGRNXr*B*Tko9ewpYr7TEd*jq(*|Nv{{Sns zyjRa>&G@MK*s2RHd(Jp#%FC!apV>TbFLwIWpMOcNX{I2oX6b{pmv&b9;}*>nN)4W; z(S%j=RQZR`!U56WTJ^kyor;7{QzDLq)8_6?B(bpoEL@TPC0=?|qRd&F5Y8aCg1X^2 z11M%hv~zgbWd}BA?GeTtz=hVPmeg48V3=Jl%a&LcZm73BibEMP2~L_D8H_C9)B~0Aw0897Gyu=R;cO;w0IGhwut*0=M#RfSnh5UN1>c))xNf+X4H4BT2 zHeB(^=N-7DCu27iICH#dKU^JzbRl}1N@U3fa7o)5$fSzlHV3#u!s)2@()@onxC){agY$mrG8Pl~1?1**YlPKVNv z@}bm5r-abYSS8oAHCUCB4l{r^85*Ms%4DeXZ8v&-A*zu!O=+j`7bwJ6HFq;#iDgHk zl=B#b5SkpD6D>}5ZDt-N*F++Lk>B#188oJRG8t;PUTQ>QE8MF zdnF(B8~lGdPdmRX_Uhx}-2F4n;`x1Z&Eu|WcJF;H%zGu3sRNru<(|+;{HHbQ1paV{ z#37tFX^0r4kGqA@jmztirvLhB-#U7##kjCnmHBc1)xvT)98p%CO>ZaHrLiXd zA*PT@g&TxIdZ~hl$~~pa2P2Lk(MD)mbu+Cv+vX5=k3kNsz+_;S2hqlB@-NtaXC>s| zSZY*=Vm2LVtIXM(av{B(VxWv1hHf#i?Ko{1iqK~y^x?<>=4ufTB`mh&YR#SbC@YX2 zk=CmLP};3wB_564JH8BL+tS_xt94Q_q1p$sq@lt{gqz^rLLo4r*u9pRnvi3UuwPV_ z$tA}8Q4y&}W1(-f+l4n6ad}G5PR5i4V;3Evc zKqg%*&? zr8bkKwF0Q3#Y|~vH{wNL_YqR7Z(*|9wM0V_-_Z4{xyvk8EJFifOcy^U7uJl6UDg)c zIqae)Wz=bB0$JM9!sD=~GqCCDHt8tq4qArEswNs_$OIVzcH3)F5xHI4IqTGsl3vmX zlu&sU1-S?2=x8sCFr%kYHfaC5BUnQ>+#g|kn-X$S`lRMe^lwO5rR;!|f^L)0vB*xT zl8KoiroLJga;kI+>`YZ)J>)v8UFn8%kTfqq}-i5{igQQ?qQro7Wa zKy8j!`wpz_R)QOyZ_Qyo$WUU$Obl-mH&TW~h(q2a&QIst+IL|j@AUj5$ASwl?KYff z(>$28ju9c*SQt^EMAB~xfc)R)>yxAf8s9o28e!PJc^-r8%#R58>dUn=r=7%35-EUg zhPUHNj>S~G^3OXMisT`Em1bZZ7{=p3e+yA`8zqVuAh+<6khJ^|uzjkuG5YMRH}GZa ztL22rpzq0>k|xmxB}KPfvI?HiZV(?;7F5Um2d7p*lE3Y9kZ3; z_Pq6nXpDy12lyiMi7xGKZ9#D$4(}QD&4?mBRge&dH;9ehq#)KxN+4KkO2d)(F)xBS zzzE%8aeXFgaVeveM;$YwfHVn8+0!|GHqTfaPDmHJjB@GAL0rxMJGl*~?KT)u&SMhh z<)=>YvKyubd0Hg%cui~hoknIpG`nJHE6n1z6ANb_t|RHz;g}v6L(05J@fl&ymy$0! z%gaA0M=-bNj@l4Jo=lf?j|rja%YE5sgFYXrgsIV*sdF53%%BWf)72Y+X&HJUIsDwVkETqf>sy0 zZv0_2(OO71{UN4;jqYQm6GFv9jA7Nacrc7os~~eOq=&6lkO{Eg${FZ%)liI5k|jPG z4uy3Ce1s5+td!=sm-WSNi3FuoBZJ$)WQYWQ7}Vbtzw%V~DK9eAvVoNOBM&75f>6P}L;Ke`kC99v`<5Zb0#U z7nh?3j6hP+WLe>#?vMA%efH29U5t>v`nHP~&(lowP5JSa`gWv)rMuERPaJ50*Ul2^ zGeS3`OAD8PC3w9sY4`Ke)IZlR*&SmUY*vX!m%wW}$)Sn1Zt5`C4EZ2KiZpG&itI21 zHN$b=TVj0GYZDzpHs-za4ejAcJDjZ{ybzpNBIB&o8|A++z1YDNp_5737P6 z2v2?6aGFr)I8l6l;@WAmuuR*UH=t4o-~IIrwzZCyO02|9_nZR2e|`Ri^M8Gfr9D)P(cA% zh5-71GbcOvr<0{=pQ`>k#G~-Nyt#3$ni}o+ZDn-EsZ9kj+?)7n7i-y3?wmd8aOx`> z#ftA8${J#Ok)UJpjoM}K($4$X4yk)6Pl*jBLH9)Zis|8VBmf`$`{EY6%8p_8MfKjg&K>MppmzInnH24DVTUQb1r5eBw^$S z4W#Ng71Myk@1YbS<5E@quX2-S5(8*b#_%^DBwZ26Jn|VAqr+R7LiTVn35@LKHfZWo zYTP=2SEQ^^xAyDV%hmPk-pkp5+0n#3S5*%WXDAa~9~8zNxO*1X1dbUa@2QdvP|XdMsj%U{Q9gZv=GHSbhMqEgwLt%Li>olhLre zu7<`jsMr=$X80+-9A)7+vehh^Gy5zNGVv@)CpY}01d5(MJ{7+iE%943kXR}RxulW3 z`EKhZ6&3%jKEu+O3ig`bw0a?U0xb(%h;p72WN3_L2mv{UqEEt%e@qvF9|rD}PDF~Hgcip$BG+fLS|qc=_ICp?C0#u^Y?~TvyN2Sg-JUf|wpH!q`-Q+>K zQ@nFE6r$Vm-9A!4$SIqzc0E@O?J3&%Pf9xdI8ZVKK}zT+ zW42%27?#Fe5Jc&BUBrOwewBqSs&2+hbI)j9w^& z_o&T8F1xq_E3^pMrIan$GubAb)@86rNGT6HZFOcv@&THy49_rNEV;%?3j+>KajyXF znvvK}lR#v3;yG9VP~>Ltf^>HghWp{^Uu48nA~aYbw9o@6x>cqon$!-Lpd~3cuF;S)`4ha`#vXJTL3-o^_FYaSq82z;7 zoL#7%_USut&t-NcZ(9v_c|HIzI4DR!D$i| zXP`s~vEzHcwmJI|$}ulD<9uTmoXe|@&nguGVQ^OsKgW61I4-D&{=uL=Y0{xDtN=^0 z?-?zFG4;J~N%7?CjUG2P*Zz->6GI6_DBLAa{~ua_=WoPlT2o?71shXM0z0f1#wU z544<*_XcK}zKo2vJep{Jdia7$%t*cv;H7mHf^)?2PGlJovS9{997@ab%bC3hkpy+o z-;UfeC3W}brqGWONg(1@U*GOGTOxqy@oflW4Yd?TTH*~_5ln?{DF;m>t(~chc6Lm* zvd8%mM8tlAmj3msr(iHln(=w@tQq>vmBwrH1jimRf2kS8eWwABU{DSXbk2*n15&)t zed##eU4*n^LMQyN>7PB)sM%s#(vQ<5NfE=wTBAnu@9^{0?kqzg6QUhVO?TBx01?Kz)2RsJm2bseWWe9co9DIc?*kgkg=IM)g74gK;RBnYBd0 zuD2P7MuAy8eXeX`u}F_BGyZBSe#`u-_7o7aL^cuuhs@eHsDkRpc0>;IZoq*)D!_fS z@8Hq~fO5*Qzg)+~HG7a?|4kOM+R=tLPOcaoMYiM1EpS^d(&XdoLLaX3!F)krWhKdw z>Kk8fqma?f-Uyf0$o5uEQ*dgTK8;JaZBihLh%7e8N7%T`&2wgFYhzCdpUpm=ZNOc3 z3?D>SPK%O>9t^DJ769H5h`>cl9LEg{F8-jEUljns1Uib9cIxOY?##(bStve+k~E#y z{sNlm@Z-*-^dG1!9B={zIB6 zlb|Af1}Kx}2u@D@RGSfkM;QeF%F`>p|D;JNO3}LP{LrTQe^<*sJ1a6xmqpv)|A^@R zRb6o%tsl8SCR`rn(_^(-+WMn#|ClWPoAT$skIsGc{L4^iJ{qUD+(B%slVj2$of1jv zFQekh@Mv;CfYI^Y>6rK%Oj$a3F-`=<$QaQ{C=uXH*G=heZu&Cl)R9xerJ#PuLF3OT z$V2{DeM7}19CVmk$dKT-FjYi|af|%1t;5Kl)g}v(7HUjT9RlT$wKaD{WHr_uw^#cm z6>Lo`lp#EI#x?OBAKF7C2L8PEM@mD1kqp2ySn2aj-+o12stkFbEgckpOrs87Kq6cI?r< z)%h`oWCrQ7C&iN881y|NQpOv|)S`#7wp0+K%WW2`%>oUQp-HhaHMKV2*!sl_TTvvh zd=ZLlg&=>LCX`2Zr{y<)g_q2db)lA5)B3&va^T4gkc2TqL{%VMFDL*{cv87Y|Nd|YRPA++TM!r<0EnT(^d-l(P<;$Iwl^CT?Id|f)4wY@pSJTHhDH%Hd%{DL%L@Q7ACe(6Dn*A z<47gV3$0|Ae26RgD?qa6$K&;0$jo)$J99JFlx~TgexL4gZb!2g2g+c5_WdA(45bCFEROlNiy3mVFc*;k3V7tPs|@o721;FeJw(kDOBrQvA3Q- zw>RRiA?0AhoIvVVT>+U+oJz`^-Y%OvThWdK$YCuS(oVel3y@SQG*?i_XEnKX;-6$W ziuAu=$j0>jp+EcokdF_`W5vGT;9)8M`AOO6ZZs595VC!@O7cvf1NxMIyAM!nvOlhDJ!=;ISh3hSv0z@fW{h$( zAC$A?9I^`j=zJ25f|spgZfz)feDIZnRy!X{3$Y%PULNY@aWuy}3H3#W9N5Tr9s1E*I6Q_x!DGmlj=}nkReWdt zo7A!Ay#y^t`L#bDmxK!Gg!aicppJp3pP_=CE5c@!ye9m+Z0{+5*oZzyU%zh4Z`|ML?! z({cDE&7@PFvV3^(TAP?@eO$~WNn*PJ*W{c+$rD!beD-XX=j(iPURukTT>iuu>ip%T z|M)$m%Rn+#-bN%(xdDr*x{N&NR$mN<15VRKK&aJH{=(TYVewD7sK(Ihh(eB|;8v1m) z2G2Q|?ZkjzP}o)YaAA7*VL83nuet5~X0gk;&+~`HPUqg2x>f|!$hN=}Z|$U3@)IoZ z+fU6o+tNH0hDJi&X(L>Dj%VwK6|}-ex@f=f0q}UHq`;E>Q1Hh!ROfV2xIl8*srn^; z`q@dAUdT@NFjCoWZkX8g$% zJ_vBndY`~J4?g`61ZTyDNOe&9ef*J^Z5*P6t~bLdsAq4_Q3~0Us!}@mw3LTpleTd8 z91PIo1NR;S8!%jk$K7tYkc?VwH`nQqtg9Hs?Sgg5eZ+%eG8dQ8 zVVZ@%s?oEiAcDV^Me7ywyTcs-f~K2FoD4A9toQ$8^10*fsB%IUD3Rdr1)XBlnWw}W zn(8w2|Bi;(B!Dmg`(7pG$$iL+?e&?C=O|U@XwbxCbC3=v!^VIfWE04}0%VXlX}jVM zNu%vkNYt~9{`_iBF+&Q&ySB3esL2qs@{oEEMBa(kdZ)IkngOi1!$r{5M(>((b;O?} z5NJ`v6(BE-P3o!x`VE(aW*S8?nnX8Y_49X&jk6qd{?Z>|y}U*Hy4d(IdtA#I3!Kbe(R_G5L_76S~Lq zq)`?gk)}}BrA;AikSbqr)(iw3l&0vo2%uxK!P*Q!hMXU`#u*X;ro)s1yvB(SFdo`a zXKBo0eUNpZPpG=<^ETwJ{93uNwJ%KDB9YR`J^mO78MHdKMb~h)z{{b^kctbP8ZuN+ zm(1N|F`j;sH=J;ulDH49FPe?unx&n1jGs~k;@3*Hz>%QUS71MheHT$? zqyW;?*^;v4haMdUYrUdq(&bdxx#}k0t_e{SVc5%x0OML0{1`(=l*h+)2OqD8d;hq8 ziFYCHZ%Olbkk%hl7*)bIweB-R=U^R~@^@hYB(E3egym&=Fn&pqA4C8&;dg)|c;g2u zz(dBLYL;kfS<>%UCUMap(AgSFwXbfmef?V9su|RFy8@!z$)T@1{fuy9^r_F<04=*9e~aDZyE@ooZ;?Ej6CHsaCNCR*4l{0fvYH@QFpHe zj#SEk3hF(^UnGQI^m0XG8!I$o_@vi3s%q>i8td7yIwekY;B zlwd=w%_#hn-|FnlrCz)R@*Kp;gs;rW&w7hxeJzwj(d`X^aZ~6-YMfHdl)$dbPVT-q zsT!a*z+fuT+p;g0+f0#6bhC_ntTrc0(^AP?W%-CS&1mfTDry7)1&SRp0?qshk~3eR zs3?8WsfV9J0`nDd^_(=LK>r>poJN2cF9Ik( zg1jTl<<+@mtzqhxm=i&En>iLbCX~q^w^*?TD$%h^e4Y0OysFY5)zL8{c*D`dksOP$ zn0(*-H`kqVs^;=sIT2)lgWFM8zf z`?(MQSc|d9t)cPPgUa!Rb#8Qe2N{pOcbEbvf1=4(1#Uy5HenZOZpVgC#Emu|-#F}i zFsMs6q`4fHrE8cbHN+)e35KurCo&rQu5uB7GNI?OC=OfeGCaNss0k2+-MK#^{WADMY8q$LQbI|?g z1K-ztJ;Kj_u>zNX{Dr2bukw8cqNmX0-%X^XWOZWy3h99&c@dpp1%02BB&dfIop3}? zkZgl6e6CBY{KE5?+b2E&tdl}#q^E#Y_<;iWD9r!|!5a8{M&=+8Trk0R@!Iy$y!;s> zl4N6?FH<4;R`Q&GCQHZ5mj7~7GcyZy$m6iJI%Fdpci{=s?0gso?;zaUt^aRjpelNSu0QfmNo26qYHYjmhlR;^(%qPh3^UN~!~(^$sA} zXO!)xAF%cT{p(bX)uHktIcX(QtK8#)vgN31h!^?oSE+Zqj7Td<1-evQnXY~%P0$J< z=Hwp749e^FHh+q@o7HD_U_cdboz))7A0zp+lk0!voJ&4;4-JOkl&`ahet?6PqdFpQ z2`S36EQfZ1*%_Muxc0a#s8P;b_pY)x1RXQQ4Z6hX>v7xeBV^62oYm)GvL@mt3p5EWWJGWu>b}y3$r&E^<$EQ>%sQ9Zk%I z8=t5i>g7o5QLZ^Ki)0`IZGa@NXsJ=E8d+~JXrpDc9#77YVcmGdW(i?yAht^vw`}&5 z)_`}(WFz$Lg&mb}g?X81q=lKzuwY6& z4sTjw@ICbxX{F$Z0w##YxY(RnGZWKm2SoO$lI7U zqX90fV^>+1>oc#pg4)n|-KI6<)-{49{QzOUPfh^ zfx|5Xs6>VoJ!L^V*HZwdr*0T;t-Z0mJktt{EpNu}3xksk1iDlcg44`}no@9bryo|@r*d<7G= z5v1}fD;d57#ee9}Lb%O7a%5eW{GzF7_%TG2-*MxtSI>Q&om z{YR^kH_Q;GqFj#PYg+~AcRT8!UrG>*Ui2n<(6<~fWsHu1G+6xn!Lng(SX#~smqO6* zCBc$>O=0yC??}3)6n_xTciLJgUul!2cp1Y+w1$!dqX~;cV%bSJ=1zOawib_8&L?(H zwgr)15k(cd;ToiaVkb~44#XCpB^Id=wv}Tn-yIBNKjP4}4eUUJI}D{$7?5@ThwHFz z1Is|$Qcf%8+m#&D)EaP-^JL}-p^9Gi4wLdln4l)I7p1*2O=SD-G=1Cw(?5P}ReZwsoh+5*3?3IPh~{ zL!09pwM}kYAS3kp{+do%t-k>SE&S3CJ2{*u_rK*MM_NDqS?V~589KD}A(;KCdElQYd zLWwmzIc36DbXDuV!_dpl?yXLk!-AN#YQfN|1R5)l$S7Vlh7?s_*iM?X`Pp)O5!=~b zDSlg3OxS5fx7TG@ZU*xWVs`Sf>X_MN9zES#$>Tbso13(wEYp(#E72P+tB&C_v3=fx z1{PG^KS6MR(~o1ZRvUvV_IQ-(bfBgp`pRnSnV*vLswAS@IL<~NDz7mEE{%~0{7T$% zFQ-Qn*mq&-b-#J7nkyv}ezWUoHLjz~f6+r&GljamJmxRn`3U}ujSha+T!TjI=WJ5n z<7ne*lw7Hf-Pt<<~d{IsXCUv?V zjgbBpxhP_9BrYe{)jit4RyF&&w10Cu^<#A}<~GV1fiPQ`NQUAKgL_HbgBaHtn znO_s8`127kC~Ue^rHW;~)Vsz;y-hj+oorELZ$uRzPbWDR?lEq9;36G9MjggY-y|8n znu++waiNaryVne{W7u%LKupSN2P?7FmbDxWZ&| zN$O=B0+>jEYZ?58EnFxGQ3j{;B**IP%E=($NL2}bsP_PxEpDT2(0H5u(-~O9{MnhX6&v^%+*EF5 zaDc=e;8q<7#5Uf?j&JkQ7%W-ZEhfm$x*XZCm@vM%=~`l-VLbo`eUX2c!fMkRYsny~ z>9&L&_xpSXbpCn)EizXA&~^`9idBI$<<#o6q1(b z)JcOd#PR>w0y4?M6?R+$gXi0yK@x4?+N_U^nsiGg2j*sk-{?{ zTqPiCKlPnn@R15rf(81!d;wyw62h)E+aUjCD#~SaepaMa2br(rRco0R&FRh~JrJ%- z-p}ds-8mqQ#=p;+k91iEt${p-roe`KnB#pT(|#W}e3%h8nMnfVTzhic9O?Rn!8l<1 z_sF**FlT%m$~Mq`WZG5Z*ka0nC|1jo;*5qd_tJ>>x(+Y=j! z-?5mRn$oXCfS8#W1fI4bu(5Vi$BIM-e^h7sh}uIvTo5yh+87e9$!I(qC_2VOR@LghxAx4!D56R#D(q#g5~$pm!&yIY`vt3&$4* z*_RUMo4A5JzUCZ^PDTJ*C11+U(#;$f2cAUOsx(P^;J{}(ByUN$*|`i01HrDXHz}-6 zU3&jJmM$~@im~@(OHX|2iLIZg^DjDg-FhnqLpzOkNc}WEA(xvhwdou^#8$CJD6-Li6zCs)s2ubrPV8wwU`Y?yz#b1VN+kM955@x9wt9`V^DEj;3* zhb???C}(EaU9VXEks8Y?eizZMAgF@3P=e(^x)QnX0^s#zYV7`xlwVSmh)u_}r0tCs z*>AG0(`)ByC>mxU$dzQJ(Dc)9<0qk3x8r}#@U;QMOK!(g{Lx$qG4uVJj%s>)axrQ( z=~`ckJiI-LE(qoptA-r=DzKbHcE)yeM%C%Wx%Atx#jn^)O(SZ{(FG+c834Dn6H#_{ z?NWfGIW?1mL6f%xv#eEQc~cm6P5(4b8K->c~G!X+NZEKyX2SC+v|6?$M%9 z={Hxo*v8YY>7BeD3>W7}w#C^upQj|h(`iFeNbnCGaL|v@22YC7eK`n5dih;YA2;Ge zknS6zLNhWtk-SC-#8amqPzmaYSOF~8C<$9PZ}-gA`Yg{v)|#q&NGue^hC}A)bxCAt zplsJGJw2xj%=4q#fO6PIdUdR4+pULWl-F+0(6|i0!67U$9RlaHD*Kjh| zdc&y|nBmE^mJD7P?e$6+q@3V!7h_QA)=qO^Uj;*y(1s{w2FzD(KtM!LIE|$M)P6#9 zuajAnt!Rs1H_Y*>U=~s1wV6&pT?*mps6sSw;;bh^t&?LQ{)I6oTNaeScSWJ9j$tny z14d*wYjN$??#~n~8q7u4v@F2W`W;vPGgLX2_1J+WhOSFj@JXwJ>eM!VS~eZ`x}O=u zJ;oZpsWAVxW_=E~qPG|arJWr%9heCb=`gpTFC=k3m6sk6H#q?fy z%O{`qPAW?N-jC@+fdJ8@Uikqp25`1|BMiXDS0T6RWbxnX^2j+hC_}b;t2$?kU5=G? zG61j0IYB-{?t2DdLi^z+#T0J!`Z%EKRu+E@33|@>KmVQlJs(W^C(pk6@A|Lf``Je8 z#ci~rPUQpV&4)tjy6z$5GRg3F3-WTb989HN6*s^6O>Hm`MR{^kUpyr&Jq>7#ZAc$} zJIS)q9DmuO&`3NceXuoLa46sB2%t!qnWszXFU4{G(t{>o(?&;%aZgp_pLS}%!Am09 zS5~^doLz>wn^vWEhEDfYy0g5byRg)5$C7?mx&#u>v=@RSFmd*rXs=3*u_J@BYh zDmG@xrjk@=0{PQ{YtprY!*eQ=6YVhyx%(W5_KtXtL&fkNP&VbNfRI;actX3{@kZ$l zE+4XPw~6<8BLc*#BH)9UnaddCwl&$#@9eeNZB1!Un}M^*?~t<>d5wS({$zXm^<4CU z*IaUk9KXmF!+nMWFs0=zk(&R|w=^LLNCKae-^iVOuV3bzvd6*RukX{n?ypNudGLl~ zW`m+DSK8ROFyROPV423}2A@_4j-kjcWiPrCN$_umS3=pl>;4`0w=NOOvWx5FQ~cEl z*gn4c?dl7c_UM0Dw7iw9QH-j82VaQ*tKYEf!9+&t!;jv+*LZx1yW;2o2l+Bxtm7nK zcZVMdJNdg?!JGW(s=;2)bnhCja%KoR*v*OTp2cBKde1S;O~^ag#L{HkC&e5EMIli&hR=b<&v^ZDj{%fg{k+ z-P(w{)%dDh{1Fe;gd!c zG?NJ}zf;!TE+*53`CwsMi4t6B_N(wg1p8(}BJdmiz*FGf6d%;r&h#E>5VtuBM*!17Qc z_F#;ZtJ5;&_jmshzt_*TxO7}*mxLMrsL!3IlxrWwg;`&-ChHH(|EvIId2gKcWY-|b z=cp@7Dq=(?2%h@Ui$H-2XD+2dzkB>#8af$e=OenPgp;UEF*E=!K#K4HU%cHX!b(R4{Qb^*>5s(Q0nXO#4Y(%ogp)InqnaI-jBF zTQPGeEVr9~F=Xe??OHu)($^AN+iVpgn2 zR(jbU@@y@L)Bno{&&DcR3MIt@0TOY2K5$y03ZH9h%eiZ&YMkcKLKQ0ghH#ee(Z7=N zVOOMWU+m`Ho8emt8B(Ek(_EN`mq=`v7N1tXFP{`vl zS!q$aSTKhG$|ze10E_r1>A_deajgIdWi@-32bdYWDSCuhjgt>$c`}jx*;7WDq!CBS zAuSq!x!HRN$`DFBRkOW6UGZxd&xu6CYJUvE2K8XmZgbmaRL~ra&hLH2Y=5a_+4K=Q)!7d}giG#}9Nt)X#e4w?W zvCpei$&G8GaxzPERCR+h)Mhlx%H+7eA3c{4-*;_!5&AhFl$`R$<^nmIobv+%Li2s&T7G z93Al+5^?PpORN{Yr3kTpz)RKlYJRC#=$E?01q`Z+=uCbYK2f(-?`0kum{z7KaT6zg z3%islvrm2$z51W2p^{s~Z`p;v)YR>;B?mgmG$^U1cb>^1kEQ${XUzpstHGQmMNQ)9@iF~T8;Tg{C<1+lB7HX;5 zrdi+ndn(;0b=+1Uy6gcp1L!Q367_~;M!>0vcJ%np5zs4<{MuPZ6#e(dSb;Oo`? z!?=GJC4N;`_}p9=O&{drMCF^NRrjh^Hr!YGpzf`8Tj_lMZ}DgtcB3L@?}87(Q11w; zwrJ5jW{}smh>uPUGvB6u;Q8}}sFzLAC*8-Ki<=(0rm=hL4gEHfcj#e_GYo4AZj4B- zqyil=pu?l1xcE!$p7LnT87mcr%zi@Z;IyWQv|GpA7M3pfd&&r@yO-uJZWOF2u-4TA zYo{yIA%WzP0b$wB=qhJME0*ZJ{q&}36Q2*$+sA4+QD+Hx-V=iP{gyTNe88gT+!=bj zNwI@O&U9^fUMn)UIMnQ@{pW=2KP;&HAPs8$|CA3RFXFGFnDKqfRicX3iKlu|nWFNW zMdWi-@j55fK61tIk_)6*uLMO>d8#cs;H>jgZDoa5blh!DIzLl#;D2XMc$rT=IcDmJ zw3UgGUqPBDw^33ck?nkd&<<1pNa2O9(2>1-1SJz1}ym(boD3~8@{wqjC8E7zU z8g`wTRnfZ5CdL=u@T|@()0n99m7z6{E`wHN_l9AYv9{iCV^LWqZglmoVl~LQ>lhrb zi$>z(h)WT=p@IKt0IC$^Chu!ZmS!5sa}-s@Aec3rdfqMoWfmuoT>?i z+x@4;Aj&A)nG&YFBt$54x>^R`aGuy7Y@EQ5Pdyy35Pq(J-JIgs?u*1#Xzv&{U}FO4 zP#yJ}&o#%3?i!EvRdgU};_((PIO`EgQH9BrJ-VImN-3u6P$8@s1@QWQGbhXgPG4#} zIXo`8=|jJS*`D&ovzf2F`7ZPR*ouOf7+NQ0ht_k%{XQl(WQ~}+O1R{{J1eb@*w?{dXEl*Ivl^{ix4AXfK^1o@s(Kgs1E_^{Dypvs*Rjl(T}O%uh~ zhl~-c9P^X?$(>Wk5}_Ao5Kp)qMj?e5xn;{OIC7J5nf(*YaX?Ps{m#AT`)ywFpSX_K zhsbU372jnDk3igyFyT{g5+;7?K2H0U;#h02Ja*>8Dk-~;$Nb?dV3g&ycPSK)A~^Eh z-MR3g>^byZmY$8olV+v&vm@OWYzjU7Z}eO;aipxT+Avn4cX|LQuWxWj`+ulBn$UVy z`Y^dTm^~12tFC`cm4zU@OFjh#!Kz1|YG>=EYW1)eJ1T3~c9~!&C5mAwx2Tl(ZrDi= zq$~L$7lE$AlVvWa9(C`DM-ENyEw`K1V72p3gN#a77!7*cY8f3(9A?(S+hnp3$DT8k zi;-eg3`_Swzr`@m?60HOgZ<trRXXZt7AcX~^`(qAENd7V&G zV})Ex(K&KVxzF;31RA9GDPQ~GdTCk?&~d0G5$R@y+OC3hF=o%>4Yd(6gw2U-YWC$G{`9knUea%kf#w! z_K*Fkl6^&mciM`{KS1KRb5!xmswn`g8?R0-cn2f8*!EL$J~1D*aGg8A8fE5Z6Ug>> z@{N~@!$%aCgL^A(v@gy?u(mj#R}G+ev99?-*Knl)-Jp+ z#^u%!UleIc`+r;jWp}TXp6AG_M%~ zC}kC3kG1ss;jv0B!&>C=!6qE=LrLg|S(RUybNcvi6>m%Hdo&`n+*YdasLill{a@O{ z3C8EtfeyuS4TI|sMOAK?7*011VOj0-{3+6=(I8fgF8%_}OD>4d5!dOWE-XhiAD%Q7 zpNr~SO<&pwt&*Z@YBuF*S^8t^n|kBq2ZK@KVej=G*AuMn$8Tf{xcl3kE+$HUTBd? z#A!erR&SRSCte<;+~!K9ArXj*N?(7E8D*h8L8{)U(yzBUD}Ac+#<4tGJk<&U+V}?L z$cHx(xd_QL&p8t2QEftjH#ttUQp{9U;KuOKtw^`PR{Yd`mO!O$>DL1?+s}m6lwB@k z`v~}3ae=j$b6~Ras=j1q0B|x#zU-eZrPBepRxb?r6}W1zB^YijH50sJD)zcG>)u?5 z6z5MiL#{hee8AZx3}~bL7Z8><$JiZYm$Y2BqAmPf=g4hI|5+HcTgnM7Mlq`x(fYei z4g*`%0fHq9&0!A>&{|9@w6<(9IjqhUY_jfs?iE9Jp+Qu*H-AR|xK#bPNV(vPuN(&; z*9XuY$A;@URX8DX>VD6yIgk#oJR)3yZ66Gb)GyZ^Rb~VTPY86m3r{;|(?JC>{`4Or zy4+F9tkpN?QR;$1Kh7C!GI8xn_1auZB*@D@im_<>jCKdtxQerTe{4F%V6PW}jg06| z`1=t29fZFq_rq-zShAw!QL#l%uLm`KwS%;a&&;k^bxBIvbi z`Lat*{h2Dl8x`3M5tagXi3?EALeVSj8E>~*#CB)MmCCd+UjY)<^H#5oVrl<6y$T?? z!noF9a2DBuQFQ=!)8%d#@P~GG*3mf1Qg`NL0NIjmXiOe$Z#~pQQbW zrl}()MrcG*r;^g4NG?u`#R-8WRc-%I(3p1{OMMZJ)Y2GJ;pYzztyK-X)vVZ3A#eXW z9X$hOQ55$-q(6Hnf-fLzh7{Q^ai95?<&rsa9=_acN6oQ_&8%4v->OVKIp?ljs2;x= z(kI{tM{W8Qfs&P1>?WUI;w5K@SH-gIjE`HWQmxld^UU)gxc)bE9<0i!vtCPa$r8q5 z?E2MiV_pj@yQ}A1dk`9B@o~g(Pg8JB!pW73e6cjc8eU+n{fM%^$v}yVAu!hCVycf1 z1-_C`{@r|gYNP+ErMu>CJy|c$EQj8wvME+5IjcGg1&~Ad&I)UXb3=tz#(Y05lRCAAbz)tQQVI0+$wH- zF`4_B*^qr29KTWQo{W@@s5rVg!&y%Q!)hXzxG2F=t5AqrjK#EW7Obg&}p~R7hI4$t_fQ2*s zFzZ5Z;*N`OZU8Z>e}X1JoZ&+iV-bL1K*^odhKG|Mu^caP6MDegZ@OL>NwIQkV+jM0 zJ3|{}Fx(KZbV8I=fJ`5|pl1y#iii=bzGTK7sd>(O(a&j^1FegrDF?(6UiK;Y`?Hft zYJ%GKGR;#A{z0{h%q!NU=rbGOoEkUjr4|W#wkLjd^Lfrh3<^DY_IJ5cH-*!Q*1o{i zadZXR|5p%d>YY{q|HG}JpNIva0yvt(kgVs`8KWI8O9cjt z2(~TlFpVjEre;4Gg-y204Vwwr$G=J=RA--N46ZPn|7v5LHPI2giRPvJMY)~>!^P{D z=~+O-7R_>L&rF;)Prlb2ac{^yCMxnjKy%125)<+qo4<`$0aHa*_i{ytBEV@BqHrkC zQiG!&=~@!wmjYZz&D!|W1dz(ZULamf!?{$zG%B&Go9)hf;%a}13{@u)3=D(?y7St^{VH%OR4V0mOgUC=AzKf#IkSch6!v@Vy! z#e)>!7)ll;5^XQxtOU?XDSQ#Y6=x}em^5=d1=1Z?!^o?R4v4lytyTxEx5kBdviNpH zIzAwOL%1IIG)N+*jwr+6dbjy+F2nPwvN+9?+a)!?c15`QKe^$chONK@|But^l+nV~ zw^0_Yrz=R9De<(|>NS>Tzje!`-(#Xkr@cA*FL9vtuH!Eu(G6h1x}~>KW=vp!I+_gt z8iIR`sm23Gg4(#g2wGxZ;V#gg*NjFH1`E~qOjQ2%svG|LxNH`oB0)T3mSN)H11IB;=R$A^CNRf|` zoOZzAx2)Ki>9JX+$*ffcuEXwCx~2)V>S<$>U?9$98l4|naXV<+zJk=;rJ_3hm z9c_QdR{9bSF0a(<@|-mvmAaOQrlS8vH~nasg)CuiYj##Mmv$WLFcw;!*>cRHchhF@ z64*&`Sy18jUVkGnt*?gMy(poF7@@(Qn}J&B47o)oK?+s1oUnRIO)j>R09k3Ey5+{G zo>lkBHGb*w*J~44tqY^M8;euX0u3r7%Gp;nC2P@E&WQ3ujUz>5WS9cx(8Nq`;5U=8 z>eIJhmK{i@1wTn2Kf_hRha&ppv#MmHHpEL(^t!YQY4@wD+<+95VO z3oB`5YVT|Im$e??y(NPLvtA@ymV+9YbH$&MQB^e9(qf&`S$!nTqcd|lsSUExZJcaT zgkJ^#6uT`RqzBGy7=RIbLQ0Ln`i#e@5|+DDp*_0JQu+XT{R6G=mG*Rx0W>2l^dj5} zbm8x)H6KzT--@Pc@v^ERjo;9z$dnSrYnaI=dq#418F3*}K1FaIHQ&l8N@PXiA^|(Z z$j}p)M3h1@-+ckkUC;2?daELfOH|CZbz=D9;w%Ck9aES^(xv_! z?uET)7%)Kq=Oby?p-TM*cDI+x^h=0C0=+Sa(Ha%fon{aDFzj8+GU)QWjpk*I?ky&) z?~p3l*D;#gw84a~ANJd2>*PiJeS9fFsKQi!5G>75GgUT-4PSphTHqwpp;KVzK}qi5 zps-V$M#@a#$fLXV7g;$sXjZQfvSruMX&6yt*Ys&k9I}={v*khUPE4%$n;n(9>%TR9 zVdJeH$TVxE0;V*JI;xX&rju|NWvmwPUX3@5M)re@p;ekKBW{?S%$ z;GgAb$E`3fbA0ur!G44L$1aezni5phiCg4oH&KNhqJu4r#h~yxMl7v+{;_N&z2s8r zoYg*M^HGWs<73_y%zP+ZL9|#9%gXw?5I7Vc3s#EA%$pafofRLrIN?<$5EH?hQYZ3Z z#XgZ~au;q+4mnWeJfE_8p5Qd0o3Lofc4eK`#&+Ha37?W?d5_d6E0iDpUn$5NJr!H- znoiDSXE_)J{$g|e!zOVUrapng`WM%TfQ=)o!nQok&blzP`^n?a+t(wQmVshNL$3Yo z>NR&iz}-B~<6Ey*R+F11;9iL>9D#3>^)}AbjjOpr3%>U8JNCdTxmhJJiQ-e3!{haQCYaPoTtGJYpuOn$5)P zNnj@v5|Bbq3D2Hz9KdvGF@_cdj;g*84Q_wlGnL@mqlhJC#NFk# zNFilLf_ihderD?drMI-SDEZ)Sz(ihLaD!r`%MLx71BnuS&jl^}><8|`OkhLCp^H$h ze1>GUV!;wy9u@glHbYNMe%cbz$tIU6ajE z11FdbZ^gZwvfbHxg}41oh3RrvOLX_(y`d5tMc$DuS*nb?&I3KwE<)ykxr<7$nVisAfz~Bj5=eOr5~fsn|?^vW5e4ZY|b+N<@qZLUr?on}^`^(tP6D2r0xzANExUrwrf=jg5~Y zX#Nu9oV~ioki5px+O#PJKAT95WU^LiV_7#E<`)Mn8w~Or)4!U;8st@pDVD{}Emn5K zPWTC*ScZV6$4ou`fxEPR(;J&=?ab8NxOm2zPWYU2v0~Wvq z`&>&&xOmL>SYa)e`5E5DGC#+xvsmVr5SGM!zSF%syNZinooSWQ=GP;*2+qHgQD2LF z6R1|_f*lQA=WNruN`vW7nkVl5FsW=U8@$09ht?CJ$-Ida7+@)Iy-I6x#xrbNxA*az F5e8krc8mZ3 diff --git a/dist/rudder-analytics.min.gzip.js.gz b/dist/rudder-analytics.min.gzip.js.gz index e0aaa3c28ea7002e9541c989bdb941bdbf99b794..8645e6bf2df265ba44735dde33f3e03422165246 100644 GIT binary patch delta 31775 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 diff --git a/dist/rudder-analytics.min.js b/dist/rudder-analytics.min.js index 4b63cefa57..307be78769 100644 --- a/dist/rudder-analytics.min.js +++ b/dist/rudder-analytics.min.js @@ -1 +1 @@ -var rudderanalytics=function(e){"use strict";function t(e){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){for(var n=0;n-1?t:t+e:window.location.href,r=n.indexOf("#");return r>-1?n.slice(0,r):n}(r)}}function y(){for(var e,t=document.getElementsByTagName("link"),n=0;e=t[n];n++)if("canonical"===e.getAttribute("rel"))return e.getAttribute("href")}function m(e,t){var n=e.revenue;return!n&&t&&t.match(/^[ _]?completed[ _]?order[ _]?|^[ _]?order[ _]?completed[ _]?$/i)&&(n=e.total),function(e){if(e){if("number"==typeof e)return e;if("string"==typeof e)return e=e.replace(/\$/g,""),e=parseFloat(e),isNaN(e)?void 0:e}}(n)}var v={TRACK:"track",PAGE:"page",IDENTIFY:"identify"},b={PRODUCTS_SEARCHED:"Products Searched",PRODUCT_LIST_VIEWED:"Product List Viewed",PRODUCT_LIST_FILTERED:"Product List Filtered",PROMOTION_VIEWED:"Promotion Viewed",PROMOTION_CLICKED:"Promotion Clicked",PRODUCT_CLICKED:"Product Clicked",PRODUCT_VIEWED:"Product Viewed",PRODUCT_ADDED:"Product Added",PRODUCT_REMOVED:"Product Removed",CART_VIEWED:"Cart Viewed",CHECKOUT_STARTED:"Checkout Started",CHECKOUT_STEP_VIEWED:"Checkout Step Viewed",CHECKOUT_STEP_COMPLETED:"Checkout Step Completed",PAYMENT_INFO_ENTERED:"Payment Info Entered",ORDER_UPDATED:"Order Updated",ORDER_COMPLETED:"Order Completed",ORDER_REFUNDED:"Order Refunded",ORDER_CANCELLED:"Order Cancelled",COUPON_ENTERED:"Coupon Entered",COUPON_APPLIED:"Coupon Applied",COUPON_DENIED:"Coupon Denied",COUPON_REMOVED:"Coupon Removed",PRODUCT_ADDED_TO_WISHLIST:"Product Added to Wishlist",PRODUCT_REMOVED_FROM_WISHLIST:"Product Removed from Wishlist",WISH_LIST_PRODUCT_ADDED_TO_CART:"Wishlist Product Added to Cart",PRODUCT_SHARED:"Product Shared",CART_SHARED:"Cart Shared",PRODUCT_REVIEWED:"Product Reviewed"},w="http://18.222.145.124:5000/dump";function k(e,t){l.debug("in script loader=== "+e);var n=document.createElement("script");n.src=t,n.type="text/javascript",n.id=e;var r=document.getElementsByTagName("script")[0];l.debug("==script==",r),r.parentNode.insertBefore(n,r)}var _=function(){function e(t){n(this,e),this.hubId=t.hubID,this.name="HS"}return i(e,[{key:"init",value:function(){k("hubspot-integration","http://js.hs-scripts.com/"+this.hubId+".js"),l.debug("===in init HS===")}},{key:"identify",value:function(e){l.debug("in HubspotAnalyticsManager identify");var n=e.message.context.traits,r={};for(var i in n)if(Object.getOwnPropertyDescriptor(n,i)&&n[i]){var o=i;"[object Date]"==toString.call(n[i])?r[o]=n[i].getTime():r[o]=n[i]}var s=e.message.context.user_properties;for(var a in s){if(Object.getOwnPropertyDescriptor(s,a)&&s[a])r[a]=s[a]}(l.debug(r),void 0!==("undefined"==typeof window?"undefined":t(window)))&&(window._hsq=window._hsq||[]).push(["identify",r])}},{key:"track",value:function(e){l.debug("in HubspotAnalyticsManager track");var t=window._hsq=window._hsq||[],n={};n.id=e.message.event,e.message.properties&&(e.message.properties.revenue||e.message.properties.value)&&(n.value=e.message.properties.revenue||e.message.properties.value),t.push(["trackEvent",n])}},{key:"page",value:function(e){l.debug("in HubspotAnalyticsManager page");var t=window._hsq=window._hsq||[];e.message.properties&&e.message.properties.path&&t.push(["setPath",e.message.properties.path]),t.push(["trackPageView"])}},{key:"isLoaded",value:function(){return l.debug("in hubspot isLoaded"),!(!window._hsq||window._hsq.push===Array.prototype.push)}},{key:"isReady",value:function(){return!(!window._hsq||window._hsq.push===Array.prototype.push)}}]),e}(),E=function(){function e(t){n(this,e),this.trackingID=t.trackingID,this.name="GA"}return i(e,[{key:"init",value:function(){!function(e,t,n,r,i,o,s){e.GoogleAnalyticsObject=i,e.ga=e.ga||function(){(e.ga.q=e.ga.q||[]).push(arguments)},e.ga.l=1*new Date,o=t.createElement(n),s=t.getElementsByTagName(n)[0],o.async=1,o.src="https://www.google-analytics.com/analytics.js",s.parentNode.insertBefore(o,s)}(window,document,"script",0,"ga"),ga("create",this.trackingID,"auto"),ga("send","pageview"),l.debug("===in init GA===")}},{key:"identify",value:function(e){ga("set","userId",e.message.anonymous_id),l.debug("in GoogleAnalyticsManager identify")}},{key:"track",value:function(e){var t=e.message.event,n=e.message.event,r=e.message.event,i="";e.message.properties&&(i=e.message.properties.value?e.message.properties.value:e.message.properties.revenue),ga("send","event",{hitType:"event",eventCategory:t,eventAction:n,eventLabel:r,eventValue:i}),l.debug("in GoogleAnalyticsManager track")}},{key:"page",value:function(e){l.debug("in GoogleAnalyticsManager page");var t=e.properties&&e.properties.path?e.properties.path:void 0;t&&ga("set","page",t),ga("send","pageview")}},{key:"isLoaded",value:function(){return l.debug("in GA isLoaded"),!!window.gaplugins}},{key:"isReady",value:function(){return!!window.gaplugins}}]),e}(),I=function(){function e(t){n(this,e),this.siteId=t.siteID,this.name="HOTJAR",this._ready=!1}return i(e,[{key:"init",value:function(){window.hotjarSiteId=this.siteId,function(e,t,n,r,i,o){e.hj=e.hj||function(){(e.hj.q=e.hj.q||[]).push(arguments)},e._hjSettings={hjid:e.hotjarSiteId,hjsv:6},i=t.getElementsByTagName("head")[0],(o=t.createElement("script")).async=1,o.src="https://static.hotjar.com/c/hotjar-"+e._hjSettings.hjid+".js?sv="+e._hjSettings.hjsv,i.appendChild(o)}(window,document),this._ready=!0,l.debug("===in init Hotjar===")}},{key:"identify",value:function(e){if(e.message.userId||e.message.anonymousId){var t=e.message.context.traits;window.hj("identify",e.message.userId,t)}else l.error("user id is required")}},{key:"track",value:function(e){l.error("method not supported")}},{key:"page",value:function(e){l.error("method not supported")}},{key:"isLoaded",value:function(){return this._ready}},{key:"isReady",value:function(){return this._ready}}]),e}(),A=function(){function e(t){n(this,e),this.conversionId=t.conversionID,this.pageLoadConversions=t.pageLoadConversions,this.clickEventConversions=t.clickEventConversions,this.name="GOOGLEADS"}return i(e,[{key:"init",value:function(){!function(e,t,n){l.debug("in script loader=== "+e);var r=n.createElement("script");r.src=t,r.async=1,r.type="text/javascript",r.id=e;var i=n.getElementsByTagName("head")[0];l.debug("==script==",i),i.appendChild(r)}("googleAds-integration","https://www.googletagmanager.com/gtag/js?id="+this.conversionId,document),window.dataLayer=window.dataLayer||[],window.gtag=function(){window.dataLayer.push(arguments)},window.gtag("js",new Date),window.gtag("config",this.conversionId),l.debug("===in init Google Ads===")}},{key:"identify",value:function(e){l.error("method not supported")}},{key:"track",value:function(e){l.debug("in GoogleAdsAnalyticsManager track");var t=this.getConversionData(this.clickEventConversions,e.message.event);if(t.conversionLabel){var n=t.conversionLabel,r=t.eventName,i=this.conversionId+"/"+n,o={};e.properties&&(o.value=e.properties.revenue,o.currency=e.properties.currency,o.transaction_id=e.properties.order_id),o.send_to=i,window.gtag("event",r,o)}}},{key:"page",value:function(e){l.debug("in GoogleAdsAnalyticsManager page");var t=this.getConversionData(this.pageLoadConversions,e.message.name);if(t.conversionLabel){var n=t.conversionLabel,r=t.eventName;window.gtag("event",r,{send_to:this.conversionId+"/"+n})}}},{key:"getConversionData",value:function(e,t){var n={};return e&&e.forEach((function(e){if(e.name.toLowerCase()===t.toLowerCase())return n.conversionLabel=e.conversionLabel,void(n.eventName=e.name)})),n}},{key:"isLoaded",value:function(){return window.dataLayer.push!==Array.prototype.push}},{key:"isReady",value:function(){return window.dataLayer.push!==Array.prototype.push}}]),e}(),T=function(){function e(t){n(this,e),this.accountId=t.accountId,this.settingsTolerance=t.settingsTolerance,this.isSPA=t.isSPA,this.libraryTolerance=t.libraryTolerance,this.useExistingJquery=t.useExistingJquery,this.sendExperimentTrack=t.sendExperimentTrack,this.sendExperimentIdentify=t.sendExperimentIdentify,this.name="VWO",l.debug("Config ",t)}return i(e,[{key:"init",value:function(){l.debug("===in init VWO===");var e=this.accountId,t=this.settingsTolerance,n=this.libraryTolerance,r=this.useExistingJquery,i=this.isSPA;window._vwo_code=function(){var o=!1,s=document;return{use_existing_jquery:function(){return r},library_tolerance:function(){return n},finish:function(){if(!o){o=!0;var e=s.getElementById("_vis_opt_path_hides");e&&e.parentNode.removeChild(e)}},finished:function(){return o},load:function(e){var t=s.createElement("script");t.src=e,t.type="text/javascript",t.innerText,t.onerror=function(){_vwo_code.finish()},s.getElementsByTagName("head")[0].appendChild(t)},init:function(){var n=setTimeout("_vwo_code.finish()",t),r=s.createElement("style"),o="body{opacity:0 !important;filter:alpha(opacity=0) !important;background:none !important;}",a=s.getElementsByTagName("head")[0];return r.setAttribute("id","_vis_opt_path_hides"),r.setAttribute("type","text/css"),r.styleSheet?r.styleSheet.cssText=o:r.appendChild(s.createTextNode(o)),a.appendChild(r),this.load("//dev.visualwebsiteoptimizer.com/j.php?a="+e+"&u="+encodeURIComponent(s.URL)+"&r="+Math.random()+"&f="+ +i),n}}}(),window._vwo_settings_timer=window._vwo_code.init(),(this.sendExperimentTrack||this.experimentViewedIdentify)&&this.experimentViewed()}},{key:"experimentViewed",value:function(){window.VWO=window.VWO||[];var e=this;window.VWO.push(["onVariationApplied",function(t){if(t){l.debug("Variation Applied");var n=t[1],r=t[2];if(l.debug("experiment id:",n,"Variation Name:",_vwo_exp[n].comb_n[r]),void 0!==_vwo_exp[n].comb_n[r]&&["VISUAL_AB","VISUAL","SPLIT_URL","SURVEY"].indexOf(_vwo_exp[n].type)>-1){try{e.sendExperimentTrack&&(l.debug("Tracking..."),window.rudderanalytics.track("Experiment Viewed",{experimentId:n,variationName:_vwo_exp[n].comb_n[r]}))}catch(e){l.error(e)}try{e.sendExperimentIdentify&&(l.debug("Identifying..."),window.rudderanalytics.identify(o({},"Experiment: ".concat(n),_vwo_exp[n].comb_n[r])))}catch(e){l.error(e)}}}}])}},{key:"identify",value:function(e){l.debug("method not supported")}},{key:"track",value:function(e){if("Order Completed"===e.message.event){var t=e.message.properties?e.message.properties.total||e.message.properties.revenue:0;l.debug("Revenue",t),window.VWO=window.VWO||[],window.VWO.push(["track.revenueConversion",t])}}},{key:"page",value:function(e){l.debug("method not supported")}},{key:"isLoaded",value:function(){return!!window._vwo_code}},{key:"isReady",value:function(){return!!window._vwo_code}}]),e}(),C=function(){function e(t){n(this,e),this.containerID=t.containerID,this.name="GOOGLETAGMANAGER"}return i(e,[{key:"init",value:function(){l.debug("===in init GoogleTagManager==="),function(e,t,n,r,i){e[r]=e[r]||[],e[r].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var o=t.getElementsByTagName(n)[0],s=t.createElement(n);s.async=!0,s.src="https://www.googletagmanager.com/gtm.js?id="+i,o.parentNode.insertBefore(s,o)}(window,document,"script","dataLayer",this.containerID)}},{key:"identify",value:function(e){l.error("method not supported")}},{key:"track",value:function(e){l.debug("===in track GoogleTagManager===");var t=e.message,n=a({event:t.event,userId:t.userId,anonymousId:t.anonymousId},t.properties);this.sendToGTMDatalayer(n)}},{key:"page",value:function(e){l.debug("===in page GoogleTagManager===");var t,n=e.message,r=n.name,i=n.properties?n.properties.category:void 0;r&&(t="Viewed "+r+" page"),i&&r&&(t="Viewed "+i+" "+r+" page");var o=a({event:t,userId:n.userId,anonymousId:n.anonymousId},n.properties);this.sendToGTMDatalayer(o)}},{key:"isLoaded",value:function(){return!(!window.dataLayer||Array.prototype.push===window.dataLayer.push)}},{key:"sendToGTMDatalayer",value:function(e){window.dataLayer.push(e)}},{key:"isReady",value:function(){return!(!window.dataLayer||Array.prototype.push===window.dataLayer.push)}}]),e}(),O=function(){function e(t,r){if(n(this,e),this.analytics=r,this.appKey=t.appKey,t.appKey||(this.appKey=""),this.endPoint="",t.dataCenter){var i=t.dataCenter.trim().split("-");"eu"===i[0].toLowerCase()?this.endPoint="sdk.fra-01.braze.eu":this.endPoint="sdk.iad-"+i[1]+".braze.com"}this.name="BRAZE",l.debug("Config ",t)}return i(e,[{key:"formatGender",value:function(e){if(e&&"string"==typeof e){return["woman","female","w","f"].indexOf(e.toLowerCase())>-1?window.appboy.ab.User.Genders.FEMALE:["man","male","m"].indexOf(e.toLowerCase())>-1?window.appboy.ab.User.Genders.MALE:["other","o"].indexOf(e.toLowerCase())>-1?window.appboy.ab.User.Genders.OTHER:void 0}}},{key:"init",value:function(){l.debug("===in init Braze==="),function(e,t,n,r,i){e.appboy={},e.appboyQueue=[];for(var o="initialize destroy getDeviceId toggleAppboyLogging setLogger openSession changeUser requestImmediateDataFlush requestFeedRefresh subscribeToFeedUpdates requestContentCardsRefresh subscribeToContentCardsUpdates logCardImpressions logCardClick logCardDismissal logFeedDisplayed logContentCardsDisplayed logInAppMessageImpression logInAppMessageClick logInAppMessageButtonClick logInAppMessageHtmlClick subscribeToNewInAppMessages subscribeToInAppMessage removeSubscription removeAllSubscriptions logCustomEvent logPurchase isPushSupported isPushBlocked isPushGranted isPushPermissionGranted registerAppboyPushMessages unregisterAppboyPushMessages trackLocation stopWebTracking resumeWebTracking wipeData ab ab.DeviceProperties ab.User ab.User.Genders ab.User.NotificationSubscriptionTypes ab.User.prototype.getUserId ab.User.prototype.setFirstName ab.User.prototype.setLastName ab.User.prototype.setEmail ab.User.prototype.setGender ab.User.prototype.setDateOfBirth ab.User.prototype.setCountry ab.User.prototype.setHomeCity ab.User.prototype.setLanguage ab.User.prototype.setEmailNotificationSubscriptionType ab.User.prototype.setPushNotificationSubscriptionType ab.User.prototype.setPhoneNumber ab.User.prototype.setAvatarImageUrl ab.User.prototype.setLastKnownLocation ab.User.prototype.setUserAttribute ab.User.prototype.setCustomUserAttribute ab.User.prototype.addToCustomAttributeArray ab.User.prototype.removeFromCustomAttributeArray ab.User.prototype.incrementCustomUserAttribute ab.User.prototype.addAlias ab.User.prototype.setCustomLocationAttribute ab.InAppMessage ab.InAppMessage.SlideFrom ab.InAppMessage.ClickAction ab.InAppMessage.DismissType ab.InAppMessage.OpenTarget ab.InAppMessage.ImageStyle ab.InAppMessage.TextAlignment ab.InAppMessage.Orientation ab.InAppMessage.CropType ab.InAppMessage.prototype.subscribeToClickedEvent ab.InAppMessage.prototype.subscribeToDismissedEvent ab.InAppMessage.prototype.removeSubscription ab.InAppMessage.prototype.removeAllSubscriptions ab.InAppMessage.prototype.closeMessage ab.InAppMessage.Button ab.InAppMessage.Button.prototype.subscribeToClickedEvent ab.InAppMessage.Button.prototype.removeSubscription ab.InAppMessage.Button.prototype.removeAllSubscriptions ab.SlideUpMessage ab.ModalMessage ab.FullScreenMessage ab.HtmlMessage ab.ControlMessage ab.Feed ab.Feed.prototype.getUnreadCardCount ab.ContentCards ab.ContentCards.prototype.getUnviewedCardCount ab.Card ab.Card.prototype.dismissCard ab.ClassicCard ab.CaptionedImage ab.Banner ab.ControlCard ab.WindowUtils display display.automaticallyShowNewInAppMessages display.showInAppMessage display.showFeed display.destroyFeed display.toggleFeed display.showContentCards display.hideContentCards display.toggleContentCards sharedLib".split(" "),s=0;s>>32-t},rotr:function(e,t){return e<<32-t|e>>>t},endian:function(e){if(e.constructor==Number)return 16711935&n.rotl(e,8)|4278255360&n.rotl(e,24);for(var t=0;t0;e--)t.push(Math.floor(256*Math.random()));return t},bytesToWords:function(e){for(var t=[],n=0,r=0;n>>5]|=e[n]<<24-r%32;return t},wordsToBytes:function(e){for(var t=[],n=0;n<32*e.length;n+=8)t.push(e[n>>>5]>>>24-n%32&255);return t},bytesToHex:function(e){for(var t=[],n=0;n>>4).toString(16)),t.push((15&e[n]).toString(16));return t.join("")},hexToBytes:function(e){for(var t=[],n=0;n>>6*(3-o)&63)):n.push("=");return n.join("")},base64ToBytes:function(e){e=e.replace(/[^A-Z0-9+\/]/gi,"");for(var n=[],r=0,i=0;r>>6-2*i);return n}};e.exports=n}()})),R={utf8:{stringToBytes:function(e){return R.bin.stringToBytes(unescape(encodeURIComponent(e)))},bytesToString:function(e){return decodeURIComponent(escape(R.bin.bytesToString(e)))}},bin:{stringToBytes:function(e){for(var t=[],n=0;n>>24)|4278255360&(a[p]<<24|a[p]>>>8);a[u>>>5]|=128<>>9<<4)]=u;var h=o._ff,g=o._gg,y=o._hh,m=o._ii;for(p=0;p>>0,l=l+b>>>0,d=d+w>>>0,f=f+k>>>0}return t.endian([c,l,d,f])};o._ff=function(e,t,n,r,i,o,s){var a=e+(t&n|~t&r)+(i>>>0)+s;return(a<>>32-o)+t},o._gg=function(e,t,n,r,i,o,s){var a=e+(t&r|n&~r)+(i>>>0)+s;return(a<>>32-o)+t},o._hh=function(e,t,n,r,i,o,s){var a=e+(t^n^r)+(i>>>0)+s;return(a<>>32-o)+t},o._ii=function(e,t,n,r,i,o,s){var a=e+(n^(t|~r))+(i>>>0)+s;return(a<>>32-o)+t},o._blocksize=16,o._digestsize=16,e.exports=function(e,n){if(null==e)throw new Error("Illegal argument "+e);var r=t.wordsToBytes(o(e,n));return n&&n.asBytes?r:n&&n.asString?i.bytesToString(r):t.bytesToHex(r)}}()})),B=function(){function e(t){n(this,e),this.NAME="INTERCOM",this.API_KEY=t.apiKey,this.APP_ID=t.appId,this.MOBILE_APP_ID=t.mobileAppId,l.debug("Config ",t)}return i(e,[{key:"init",value:function(){window.intercomSettings={app_id:this.APP_ID},function(){var e=window,t=e.Intercom;if("function"==typeof t)t("reattach_activator"),t("update",e.intercomSettings);else{var n=document,r=function e(){e.c(arguments)};r.q=[],r.c=function(e){r.q.push(e)},e.Intercom=r;var i=function(){var e=n.createElement("script");e.type="text/javascript",e.async=!0,e.src="https://widget.intercom.io/widget/"+window.intercomSettings.app_id;var t=n.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)};"complete"===document.readyState?(i(),window.intercom_code=!0):e.attachEvent?(e.attachEvent("onload",i),window.intercom_code=!0):(e.addEventListener("load",i,!1),window.intercom_code=!0)}}()}},{key:"page",value:function(){window.Intercom("update")}},{key:"identify",value:function(e){var n={},r=e.message.context;if(null!=(r.Intercom?r.Intercom:null)){var i=r.Intercom.user_hash?r.Intercom.user_hash:null;null!=i&&(n.user_hash=i);var o=r.Intercom.hideDefaultLauncher?r.Intercom.hideDefaultLauncher:null;null!=o&&(n.hide_default_launcher=o)}Object.keys(r.traits).forEach((function(e){if(r.traits.hasOwnProperty(e)){var i=r.traits[e];if("company"===e){var o=[],s={};"string"==typeof r.traits[e]&&(s.company_id=M(r.traits[e]));var a="object"==t(r.traits[e])&&Object.keys(r.traits[e])||[];a.forEach((function(t){a.hasOwnProperty(t)&&("id"!=t?s[t]=r.traits[e][t]:s.company_id=r.traits[e][t])})),"object"!=t(r.traits[e])||a.includes("id")||(s.company_id=M(s.name)),o.push(s),n.companies=o}else n[e]=r.traits[e];switch(e){case"createdAt":n.created_at=i;break;case"anonymousId":n.user_id=i}}})),n.user_id=e.message.userId,window.Intercom("update",n)}},{key:"track",value:function(e){var t={},n=e.message;(n.properties?Object.keys(n.properties):null).forEach((function(e){var r=n.properties[e];t[e]=r})),n.event&&(t.event_name=n.event),t.user_id=n.userId?n.userId:n.anonymousId,t.created_at=Math.floor(new Date(n.originalTimestamp).getTime()/1e3),window.Intercom("trackEvent",t.event_name,t)}},{key:"isLoaded",value:function(){return!!window.intercom_code}},{key:"isReady",value:function(){return!!window.intercom_code}}]),e}(),F=function(){function e(t){n(this,e),this.projectID=t.projectID,this.writeKey=t.writeKey,this.ipAddon=t.ipAddon,this.uaAddon=t.uaAddon,this.urlAddon=t.urlAddon,this.referrerAddon=t.referrerAddon,this.client=null,this.name="KEEN"}return i(e,[{key:"init",value:function(){l.debug("===in init Keen==="),k("keen-integration","https://cdn.jsdelivr.net/npm/keen-tracking@4");var e=setInterval(function(){void 0!==window.KeenTracking&&void 0!==window.KeenTracking&&(this.client=function(e){return e.client=new window.KeenTracking({projectId:e.projectID,writeKey:e.writeKey}),e.client}(this),clearInterval(e))}.bind(this),1e3)}},{key:"identify",value:function(e){l.debug("in Keen identify");var t=e.message.context.traits,n=e.message.userId?e.message.userId:e.message.anonymousId,r=e.message.properties?Object.assign(r,e.message.properties):{};r.user={userId:n,traits:t},r=this.getAddOn(r),this.client.extendEvents(r)}},{key:"track",value:function(e){l.debug("in Keen track");var t=e.message.event,n=e.message.properties;n=this.getAddOn(n),this.client.recordEvent(t,n)}},{key:"page",value:function(e){l.debug("in Keen page");var t=e.message.name,n=e.message.properties?e.message.properties.category:void 0,r="Loaded a Page";t&&(r="Viewed "+t+" page"),n&&t&&(r="Viewed "+n+" "+t+" page");var i=e.message.properties;i=this.getAddOn(i),this.client.recordEvent(r,i)}},{key:"isLoaded",value:function(){return l.debug("in Keen isLoaded"),!(null==this.client)}},{key:"isReady",value:function(){return!(null==this.client)}},{key:"getAddOn",value:function(e){var t=[];return this.ipAddon&&(e.ip_address="${keen.ip}",t.push({name:"keen:ip_to_geo",input:{ip:"ip_address"},output:"ip_geo_info"})),this.uaAddon&&(e.user_agent="${keen.user_agent}",t.push({name:"keen:ua_parser",input:{ua_string:"user_agent"},output:"parsed_user_agent"})),this.urlAddon&&(e.page_url=document.location.href,t.push({name:"keen:url_parser",input:{url:"page_url"},output:"parsed_page_url"})),this.referrerAddon&&(e.page_url=document.location.href,e.referrer_url=document.referrer,t.push({name:"keen:referrer_parser",input:{referrer_url:"referrer_url",page_url:"page_url"},output:"referrer_info"})),e.keen={addons:t},e}}]),e}(),K=Object.prototype,q=K.hasOwnProperty,G=K.toString;"function"==typeof Symbol&&(N=Symbol.prototype.valueOf),"function"==typeof BigInt&&(L=BigInt.prototype.valueOf);var H=function(e){return e!=e},V={boolean:1,number:1,string:1,undefined:1},z=/^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$/,J=/^[A-Fa-f0-9]+$/,W={};W.a=W.type=function(e,t){return typeof e===t},W.defined=function(e){return void 0!==e},W.empty=function(e){var t,n=G.call(e);if("[object Array]"===n||"[object Arguments]"===n||"[object String]"===n)return 0===e.length;if("[object Object]"===n){for(t in e)if(q.call(e,t))return!1;return!0}return!e},W.equal=function(e,t){if(e===t)return!0;var n,r=G.call(e);if(r!==G.call(t))return!1;if("[object Object]"===r){for(n in e)if(!(W.equal(e[n],t[n])&&n in t))return!1;for(n in t)if(!(W.equal(e[n],t[n])&&n in e))return!1;return!0}if("[object Array]"===r){if((n=e.length)!==t.length)return!1;for(;n--;)if(!W.equal(e[n],t[n]))return!1;return!0}return"[object Function]"===r?e.prototype===t.prototype:"[object Date]"===r&&e.getTime()===t.getTime()},W.hosted=function(e,t){var n=typeof t[e];return"object"===n?!!t[e]:!V[n]},W.instance=W.instanceof=function(e,t){return e instanceof t},W.nil=W.null=function(e){return null===e},W.undef=W.undefined=function(e){return void 0===e},W.args=W.arguments=function(e){var t="[object Arguments]"===G.call(e),n=!W.array(e)&&W.arraylike(e)&&W.object(e)&&W.fn(e.callee);return t||n},W.array=Array.isArray||function(e){return"[object Array]"===G.call(e)},W.args.empty=function(e){return W.args(e)&&0===e.length},W.array.empty=function(e){return W.array(e)&&0===e.length},W.arraylike=function(e){return!!e&&!W.bool(e)&&q.call(e,"length")&&isFinite(e.length)&&W.number(e.length)&&e.length>=0},W.bool=W.boolean=function(e){return"[object Boolean]"===G.call(e)},W.false=function(e){return W.bool(e)&&!1===Boolean(Number(e))},W.true=function(e){return W.bool(e)&&!0===Boolean(Number(e))},W.date=function(e){return"[object Date]"===G.call(e)},W.date.valid=function(e){return W.date(e)&&!isNaN(Number(e))},W.element=function(e){return void 0!==e&&"undefined"!=typeof HTMLElement&&e instanceof HTMLElement&&1===e.nodeType},W.error=function(e){return"[object Error]"===G.call(e)},W.fn=W.function=function(e){if("undefined"!=typeof window&&e===window.alert)return!0;var t=G.call(e);return"[object Function]"===t||"[object GeneratorFunction]"===t||"[object AsyncFunction]"===t},W.number=function(e){return"[object Number]"===G.call(e)},W.infinite=function(e){return e===1/0||e===-1/0},W.decimal=function(e){return W.number(e)&&!H(e)&&!W.infinite(e)&&e%1!=0},W.divisibleBy=function(e,t){var n=W.infinite(e),r=W.infinite(t),i=W.number(e)&&!H(e)&&W.number(t)&&!H(t)&&0!==t;return n||r||i&&e%t==0},W.integer=W.int=function(e){return W.number(e)&&!H(e)&&e%1==0},W.maximum=function(e,t){if(H(e))throw new TypeError("NaN is not a valid value");if(!W.arraylike(t))throw new TypeError("second argument must be array-like");for(var n=t.length;--n>=0;)if(e=0;)if(e>t[n])return!1;return!0},W.nan=function(e){return!W.number(e)||e!=e},W.even=function(e){return W.infinite(e)||W.number(e)&&e==e&&e%2==0},W.odd=function(e){return W.infinite(e)||W.number(e)&&e==e&&e%2!=0},W.ge=function(e,t){if(H(e)||H(t))throw new TypeError("NaN is not a valid value");return!W.infinite(e)&&!W.infinite(t)&&e>=t},W.gt=function(e,t){if(H(e)||H(t))throw new TypeError("NaN is not a valid value");return!W.infinite(e)&&!W.infinite(t)&&e>t},W.le=function(e,t){if(H(e)||H(t))throw new TypeError("NaN is not a valid value");return!W.infinite(e)&&!W.infinite(t)&&e<=t},W.lt=function(e,t){if(H(e)||H(t))throw new TypeError("NaN is not a valid value");return!W.infinite(e)&&!W.infinite(t)&&e=t&&e<=n},W.object=function(e){return"[object Object]"===G.call(e)},W.primitive=function(e){return!e||!("object"==typeof e||W.object(e)||W.fn(e)||W.array(e))},W.hash=function(e){return W.object(e)&&e.constructor===Object&&!e.nodeType&&!e.setInterval},W.regexp=function(e){return"[object RegExp]"===G.call(e)},W.string=function(e){return"[object String]"===G.call(e)},W.base64=function(e){return W.string(e)&&(!e.length||z.test(e))},W.hex=function(e){return W.string(e)&&(!e.length||J.test(e))},W.symbol=function(e){return"function"==typeof Symbol&&"[object Symbol]"===G.call(e)&&"symbol"==typeof N.call(e)},W.bigint=function(e){return"function"==typeof BigInt&&"[object BigInt]"===G.call(e)&&"bigint"==typeof L.call(e)};var $,Y=W,Q=Object.prototype.hasOwnProperty,Z=function(e){for(var t=Array.prototype.slice.call(arguments,1),n=0;n-1&&s.push([a,n[a]])}},{key:"initAfterPage",value:function(){var e,t=this;e=function(){var e,n,r=t.isVideo?"chartbeat_video.js":"chartbeat.js";e=document.createElement("script"),n=document.getElementsByTagName("script")[0],e.type="text/javascript",e.async=!0,e.src="//static.chartbeat.com/js/"+r,n.parentNode.insertBefore(e,n)},we?Ee(e):ke.push(e),this._isReady(this).then((function(e){l.debug("===replaying on chartbeat==="),e.replayEvents.forEach((function(t){e[t[0]](t[1])}))}))}},{key:"pause",value:function(e){return new Promise((function(t){setTimeout(t,e)}))}},{key:"_isReady",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return new Promise((function(r){return t.isLoaded()?(t.failed=!1,l.debug("===chartbeat loaded successfully==="),e.analytics.emit("ready"),r(e)):n>=1e4?(t.failed=!0,l.debug("===chartbeat failed==="),r(e)):void t.pause(1e3).then((function(){return t._isReady(e,n+1e3).then(r)}))}))}}]),e}(),Ae=function(){function e(t,r){n(this,e),this.c2ID=t.c2ID,this.analytics=r,this.comScoreBeaconParam=t.comScoreBeaconParam?t.comScoreBeaconParam:{},this.isFirstPageCallMade=!1,this.failed=!1,this.comScoreParams={},this.replayEvents=[],this.name="COMSCORE"}return i(e,[{key:"init",value:function(){l.debug("===in init Comscore init===")}},{key:"identify",value:function(e){l.debug("in Comscore identify")}},{key:"track",value:function(e){l.debug("in Comscore track")}},{key:"page",value:function(e){if(l.debug("in Comscore page"),this.loadConfig(e),this.isFirstPageCallMade){if(this.failed)return void(this.replayEvents=[]);if(!this.isLoaded()&&!this.failed)return void this.replayEvents.push(["page",e]);e.message.properties;window.COMSCORE.beacon(this.comScoreParams)}else this.isFirstPageCallMade=!0,this.initAfterPage()}},{key:"loadConfig",value:function(e){l.debug("=====in loadConfig====="),this.comScoreParams=this.mapComscoreParams(e.message.properties),window._comscore=window._comscore||[],window._comscore.push(this.comScoreParams)}},{key:"initAfterPage",value:function(){l.debug("=====in initAfterPage====="),function(){var e=document.createElement("script"),t=document.getElementsByTagName("script")[0];e.async=!0,e.src=("https:"==document.location.protocol?"https://sb":"http://b")+".scorecardresearch.com/beacon.js",t.parentNode.insertBefore(e,t)}(),this._isReady(this).then((function(e){e.replayEvents.forEach((function(t){e[t[0]](t[1])}))}))}},{key:"pause",value:function(e){return new Promise((function(t){setTimeout(t,e)}))}},{key:"_isReady",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return new Promise((function(r){return t.isLoaded()?(t.failed=!1,e.analytics.emit("ready"),r(e)):n>=1e4?(t.failed=!0,r(e)):void t.pause(1e3).then((function(){return t._isReady(e,n+1e3).then(r)}))}))}},{key:"mapComscoreParams",value:function(e){l.debug("=====in mapComscoreParams=====");var t=this.comScoreBeaconParam,n={};return Object.keys(t).forEach((function(r){if(r in e){var i=t[r],o=e[r];n[i]=o}})),n.c1="2",n.c2=this.c2ID,l.debug("=====in mapComscoreParams=====",n),n}},{key:"isLoaded",value:function(){return l.debug("in Comscore isLoaded"),!this.isFirstPageCallMade||!!window.COMSCORE}},{key:"isReady",value:function(){return!!window.COMSCORE}}]),e}(),Te=Object.prototype.toString;var Ce=function e(t){var n=function(e){switch(Te.call(e)){case"[object Date]":return"date";case"[object RegExp]":return"regexp";case"[object Arguments]":return"arguments";case"[object Array]":return"array";case"[object Error]":return"error"}return null===e?"null":void 0===e?"undefined":e!=e?"nan":e&&1===e.nodeType?"element":null!=(t=e)&&(t._isBuffer||t.constructor&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t))?"buffer":typeof(e=e.valueOf?e.valueOf():Object.prototype.valueOf.apply(e));var t}(t);if("object"===n){var r={};for(var i in t)t.hasOwnProperty(i)&&(r[i]=e(t[i]));return r}if("array"===n){r=new Array(t.length);for(var o=0,s=t.length;o1e4)return;var t=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(!t)return;var n=parseFloat(t[1]);switch((t[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return n*Re;case"days":case"day":case"d":return n*xe;case"hours":case"hour":case"hrs":case"hr":case"h":return n*je;case"minutes":case"minute":case"mins":case"min":case"m":return n*Se;case"seconds":case"second":case"secs":case"sec":case"s":return n*Oe;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n}}(e):t.long?function(e){return Ue(e,xe,"day")||Ue(e,je,"hour")||Ue(e,Se,"minute")||Ue(e,Oe,"second")||e+" ms"}(e):function(e){return e>=xe?Math.round(e/xe)+"d":e>=je?Math.round(e/je)+"h":e>=Se?Math.round(e/Se)+"m":e>=Oe?Math.round(e/Oe)+"s":e+"ms"}(e)};function Ue(e,t,n){if(!(e=31},t.storage="undefined"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(e){}}(),t.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],t.formatters.j=function(e){return JSON.stringify(e)},t.enable(n())}))),Le=(Ne.log,Ne.formatArgs,Ne.save,Ne.load,Ne.useColors,Ne.storage,Ne.colors,Ne("cookie")),Me=function(e,t,n){switch(arguments.length){case 3:case 2:return Be(e,t,n);case 1:return Ke(e);default:return Fe()}};function Be(e,t,n){n=n||{};var r=qe(e)+"="+qe(t);null==t&&(n.maxage=-1),n.maxage&&(n.expires=new Date(+new Date+n.maxage)),n.path&&(r+="; path="+n.path),n.domain&&(r+="; domain="+n.domain),n.expires&&(r+="; expires="+n.expires.toUTCString()),n.samesite&&(r+="; samesite="+n.samesite),n.secure&&(r+="; secure"),document.cookie=r}function Fe(){var e;try{e=document.cookie}catch(e){return"undefined"!=typeof console&&"function"==typeof console.error&&console.error(e.stack||e),{}}return function(e){var t,n={},r=e.split(/ *; */);if(""==r[0])return n;for(var i=0;i1)))/4)-l((e-1901+t)/100)+l((e-1601+t)/400)};t=function(e){for(i=l(e/864e5),n=l(i/365.2425)+1970-1;p(n+1,0)<=i;n++);for(r=l((i-p(n,0))/30.42);p(n,r+1)<=i;r++);i=1+i-p(n,r),s=l((o=(e%864e5+864e5)%864e5)/36e5)%24,a=l(o/6e4)%60,u=l(o/1e3)%60,c=o%1e3}}return(I=function(e){return e>-1/0&&e<1/0?(t(e),e=(n<=0||n>=1e4?(n<0?"-":"+")+E(6,n<0?-n:n):E(4,n))+"-"+E(2,r+1)+"-"+E(2,i)+"T"+E(2,s)+":"+E(2,a)+":"+E(2,u)+"."+E(3,c)+"Z",n=r=i=s=a=u=c=null):e=null,e})(e)};if(b("json-stringify")&&!b("date-serialization")){function A(e){return I(this)}var T=t.stringify;t.stringify=function(e,t,n){var r=u.prototype.toJSON;u.prototype.toJSON=A;var i=T(e,t,n);return u.prototype.toJSON=r,i}}else{var C=function(e){var t=e.charCodeAt(0),n=_[t];return n||"\\u00"+E(2,t.toString(16))},O=/[\x00-\x1f\x22\x5c]/g,S=function(e){return O.lastIndex=0,'"'+(O.test(e)?e.replace(O,C):e)+'"'},j=function(e,t,n,r,i,o,s){var a,c,d,f,h,y,v,b,w;if(m((function(){a=t[e]})),"object"==typeof a&&a&&(a.getUTCFullYear&&"[object Date]"==g.call(a)&&a.toJSON===u.prototype.toJSON?a=I(a):"function"==typeof a.toJSON&&(a=a.toJSON(e))),n&&(a=n.call(t,e,a)),a==p)return a===p?a:"null";switch("object"==(c=typeof a)&&(d=g.call(a)),d||c){case"boolean":case"[object Boolean]":return""+a;case"number":case"[object Number]":return a>-1/0&&a<1/0?""+a:"null";case"string":case"[object String]":return S(""+a)}if("object"==typeof a){for(v=s.length;v--;)if(s[v]===a)throw l();if(s.push(a),f=[],b=o,o+=i,"[object Array]"==d){for(y=0,v=a.length;y0)for(r>10&&(r=10),i="";i.length=48&&i<=57||i>=97&&i<=102||i>=65&&i<=70||D();e+=P("0x"+o.slice(t,x));break;default:D()}else{if(34==i)break;for(i=o.charCodeAt(x),t=x;i>=32&&92!=i&&34!=i;)i=o.charCodeAt(++x);e+=o.slice(t,x)}if(34==o.charCodeAt(x))return x++,e;D();default:if(t=x,45==i&&(r=!0,i=o.charCodeAt(++x)),i>=48&&i<=57){for(48==i&&((i=o.charCodeAt(x+1))>=48&&i<=57)&&D(),r=!1;x=48&&i<=57);x++);if(46==o.charCodeAt(x)){for(n=++x;n57);n++);n==x&&D(),x=n}if(101==(i=o.charCodeAt(x))||69==i){for(43!=(i=o.charCodeAt(++x))&&45!=i||x++,n=x;n57);n++);n==x&&D(),x=n}return+o.slice(t,x)}r&&D();var a=o.slice(x,x+4);if("true"==a)return x+=4,!0;if("fals"==a&&101==o.charCodeAt(x+4))return x+=5,!1;if("null"==a)return x+=4,null;D()}return"$"},L=function(e){var t,n;if("$"==e&&D(),"string"==typeof e){if("@"==(w?e.charAt(0):e[0]))return e.slice(1);if("["==e){for(t=[];"]"!=(e=N());)n?","==e?"]"==(e=N())&&D():D():n=!0,","==e&&D(),t.push(L(e));return t}if("{"==e){for(t={};"}"!=(e=N());)n?","==e?"}"==(e=N())&&D():D():n=!0,","!=e&&"string"==typeof e&&"@"==(w?e.charAt(0):e[0])&&":"==N()||D(),t[e.slice(1)]=L(N());return t}D()}return e},M=function(e,t,n){var r=B(e,t,n);r===p?delete e[t]:e[t]=r},B=function(e,t,n){var r,i=e[t];if("object"==typeof i&&i)if("[object Array]"==g.call(i))for(r=i.length;r--;)M(g,k,i);else k(i,(function(e){M(i,e,n)}));return n.call(e,t,i)};t.parse=function(e,t){var n,r;return x=0,R=""+e,n=L(N()),"$"!=N()&&D(),x=R=null,t&&"[object Function]"==g.call(t)?B(((r={})[""]=n,r),"",t):n}}}return t.runInContext=s,t}if(!o||o.global!==o&&o.window!==o&&o.self!==o||(i=o),r)s(i,r);else{var a=i.JSON,u=i.JSON3,c=!1,l=s(i,i.JSON3={noConflict:function(){return c||(c=!0,i.JSON=a,i.JSON3=u,a=u=null),l}});i.JSON={parse:l.parse,stringify:l.stringify}}}).call(S)})),ot=j((function(e,t){function n(e){switch(e){case"http:":return 80;case"https:":return 443;default:return location.port}}t.parse=function(e){var t=document.createElement("a");return t.href=e,{href:t.href,host:t.host||location.host,port:"0"===t.port||""===t.port?n(t.protocol):t.port,hash:t.hash,hostname:t.hostname||location.hostname,pathname:"/"!=t.pathname.charAt(0)?"/"+t.pathname:t.pathname,protocol:t.protocol&&":"!=t.protocol?t.protocol:location.protocol,search:t.search,query:t.search.slice(1)}},t.isAbsolute=function(e){return 0==e.indexOf("//")||!!~e.indexOf("://")},t.isRelative=function(e){return!t.isAbsolute(e)},t.isCrossDomain=function(e){e=t.parse(e);var n=t.parse(window.location.href);return e.hostname!==n.hostname||e.port!==n.port||e.protocol!==n.protocol}})),st=(ot.parse,ot.isAbsolute,ot.isRelative,ot.isCrossDomain,1e3),at=60*st,ut=60*at,ct=24*ut,lt=365.25*ct,dt=function(e,t){return t=t||{},"string"==typeof e?function(e){if((e=""+e).length>1e4)return;var t=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(!t)return;var n=parseFloat(t[1]);switch((t[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return n*lt;case"days":case"day":case"d":return n*ct;case"hours":case"hour":case"hrs":case"hr":case"h":return n*ut;case"minutes":case"minute":case"mins":case"min":case"m":return n*at;case"seconds":case"second":case"secs":case"sec":case"s":return n*st;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n}}(e):t.long?function(e){return ft(e,ct,"day")||ft(e,ut,"hour")||ft(e,at,"minute")||ft(e,st,"second")||e+" ms"}(e):function(e){return e>=ct?Math.round(e/ct)+"d":e>=ut?Math.round(e/ut)+"h":e>=at?Math.round(e/at)+"m":e>=st?Math.round(e/st)+"s":e+"ms"}(e)};function ft(e,t,n){if(!(e=31},t.storage="undefined"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(e){}}(),t.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],t.formatters.j=function(e){return JSON.stringify(e)},t.enable(n())}))),gt=(ht.log,ht.formatArgs,ht.save,ht.load,ht.useColors,ht.storage,ht.colors,ht("cookie")),yt=function(e,t,n){switch(arguments.length){case 3:case 2:return mt(e,t,n);case 1:return bt(e);default:return vt()}};function mt(e,t,n){n=n||{};var r=wt(e)+"="+wt(t);null==t&&(n.maxage=-1),n.maxage&&(n.expires=new Date(+new Date+n.maxage)),n.path&&(r+="; path="+n.path),n.domain&&(r+="; domain="+n.domain),n.expires&&(r+="; expires="+n.expires.toUTCString()),n.secure&&(r+="; secure"),n.samesite&&(r+="; samesite="+n.samesite),document.cookie=r}function vt(){var e;try{e=document.cookie}catch(e){return"undefined"!=typeof console&&"function"==typeof console.error&&console.error(e.stack||e),{}}return function(e){var t,n={},r=e.split(/ *; */);if(""==r[0])return n;for(var i=0;i=0;--o)i.push(t.slice(o).join("."));return i},r.cookie=yt,t=e.exports=r})),Et=new(function(){function e(t){n(this,e),this._options={},this.options(t)}return i(e,[{key:"options",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(0===arguments.length)return this._options;var t="."+_t(window.location.href);"."===t&&(t=null),this._options=nt(e,{maxage:31536e6,path:"/",domain:t,samesite:"Lax"}),this.set("test_rudder",!0),this.get("test_rudder")||(this._options.domain=null),this.remove("test_rudder")}},{key:"set",value:function(e,t){try{return t=it.stringify(t),Me(e,t,Ce(this._options)),!0}catch(e){return!1}}},{key:"get",value:function(e){try{var t=Me(e);return t=t?it.parse(t):null}catch(e){return null}}},{key:"remove",value:function(e){try{return Me(e,null,Ce(this._options)),!0}catch(e){return!1}}}]),e}())({}),It=function(){var e,t={},n="undefined"!=typeof window?window:S,r=n.document,i="localStorage";if(t.disabled=!1,t.version="1.3.20",t.set=function(e,t){},t.get=function(e,t){},t.has=function(e){return void 0!==t.get(e)},t.remove=function(e){},t.clear=function(){},t.transact=function(e,n,r){null==r&&(r=n,n=null),null==n&&(n={});var i=t.get(e,n);r(i),t.set(e,i)},t.getAll=function(){var e={};return t.forEach((function(t,n){e[t]=n})),e},t.forEach=function(){},t.serialize=function(e){return it.stringify(e)},t.deserialize=function(e){if("string"==typeof e)try{return it.parse(e)}catch(t){return e||void 0}},function(){try{return i in n&&n[i]}catch(e){return!1}}())e=n[i],t.set=function(n,r){return void 0===r?t.remove(n):(e.setItem(n,t.serialize(r)),r)},t.get=function(n,r){var i=t.deserialize(e.getItem(n));return void 0===i?r:i},t.remove=function(t){e.removeItem(t)},t.clear=function(){e.clear()},t.forEach=function(n){for(var r=0;rdocument.w=window<\/script>'),s.close(),o=s.w.frames[0].document,e=o.createElement("div")}catch(t){e=r.createElement("div"),o=r.body}var a=function(n){return function(){var r=Array.prototype.slice.call(arguments,0);r.unshift(e),o.appendChild(e),e.addBehavior("#default#userData"),e.load(i);var s=n.apply(t,r);return o.removeChild(e),s}},u=new RegExp("[!\"#$%&'()*+,/\\\\:;<=>?@[\\]^`{|}~]","g"),c=function(e){return e.replace(/^d/,"___$&").replace(u,"___")};t.set=a((function(e,n,r){return n=c(n),void 0===r?t.remove(n):(e.setAttribute(n,t.serialize(r)),e.save(i),r)})),t.get=a((function(e,n,r){n=c(n);var i=t.deserialize(e.getAttribute(n));return void 0===i?r:i})),t.remove=a((function(e,t){t=c(t),e.removeAttribute(t),e.save(i)})),t.clear=a((function(e){var t=e.XMLDocument.documentElement.attributes;e.load(i);for(var n=t.length-1;n>=0;n--)e.removeAttribute(t[n].name);e.save(i)})),t.forEach=a((function(e,n){for(var r,i=e.XMLDocument.documentElement.attributes,o=0;r=i[o];++o)n(r.name,t.deserialize(e.getAttribute(r.name)))}))}try{var l="__storejs__";t.set(l,l),t.get(l)!=l&&(t.disabled=!0),t.remove(l)}catch(e){t.disabled=!0}return t.enabled=!t.disabled,t}(),At=new(function(){function e(t){n(this,e),this._options={},this.enabled=!1,this.options(t)}return i(e,[{key:"options",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(0===arguments.length)return this._options;nt(e,{enabled:!0}),this.enabled=e.enabled&&It.enabled,this._options=e}},{key:"set",value:function(e,t){return!!this.enabled&&It.set(e,t)}},{key:"get",value:function(e){return this.enabled?It.get(e):null}},{key:"remove",value:function(e){return!!this.enabled&&It.remove(e)}}]),e}())({}),Tt="rl_user_id",Ct="rl_trait",Ot="rl_anonymous_id",St="rl_group_id",jt="rl_group_trait",xt=new(function(){function e(){if(n(this,e),Et.set("rudder_cookies",!0),Et.get("rudder_cookies"))return Et.remove("rudder_cookies"),void(this.storage=Et);At.enabled&&(this.storage=At)}return i(e,[{key:"setItem",value:function(e,t){this.storage.set(e,t)}},{key:"setUserId",value:function(e){"string"==typeof e?this.storage.set(Tt,e):l.error("userId should be string")}},{key:"setUserTraits",value:function(e){this.storage.set(Ct,e)}},{key:"setGroupId",value:function(e){"string"==typeof e?this.storage.set(St,e):l.error("groupId should be string")}},{key:"setGroupTraits",value:function(e){this.storage.set(jt,e)}},{key:"setAnonymousId",value:function(e){"string"==typeof e?this.storage.set(Ot,e):l.error("anonymousId should be string")}},{key:"getItem",value:function(e){return this.storage.get(e)}},{key:"getUserId",value:function(){return this.storage.get(Tt)}},{key:"getUserTraits",value:function(){return this.storage.get(Ct)}},{key:"getGroupId",value:function(){return this.storage.get(St)}},{key:"getGroupTraits",value:function(){return this.storage.get(jt)}},{key:"getAnonymousId",value:function(){return this.storage.get(Ot)}},{key:"removeItem",value:function(e){return this.storage.remove(e)}},{key:"clear",value:function(){this.storage.remove(Tt),this.storage.remove(Ct),this.storage.remove(Ot)}}]),e}()),Rt="lt_synch_timestamp",Pt=new(function(){function e(){n(this,e),this.storage=xt}return i(e,[{key:"setLotameSynchTime",value:function(e){this.storage.setItem(Rt,e)}},{key:"getLotameSynchTime",value:function(){return this.storage.getItem(Rt)}}]),e}()),Ut={HS:_,GA:E,HOTJAR:I,GOOGLEADS:A,VWO:T,GTM:C,BRAZE:O,INTERCOM:B,KEEN:F,KISSMETRICS:fe,CUSTOMERIO:pe,CHARTBEAT:Ie,COMSCORE:Ae,LOTAME:function(){function e(t,r){var i=this;n(this,e),this.name="LOTAME",this.analytics=r,this.storage=Pt,this.bcpUrlSettings=t.bcpUrlSettings,this.dspUrlSettings=t.dspUrlSettings,this.mappings={},t.mappings.forEach((function(e){var t=e.key,n=e.value;i.mappings[t]=n}))}return i(e,[{key:"init",value:function(){l.debug("===in init Lotame==="),window.LOTAME_SYNCH_CALLBACK=function(){}}},{key:"addPixel",value:function(e,t,n){var r=document.createElement("img");r.src=e,r.setAttribute("width",t),r.setAttribute("height",n),document.getElementsByTagName("body")[0].appendChild(r)}},{key:"syncPixel",value:function(e){var t=this;l.debug("===== in syncPixel ======"),this.dspUrlSettings&&this.dspUrlSettings.length>0&&this.dspUrlSettings.forEach((function(n){var r=t.compileUrl(a({},t.mappings,{userId:e}),n.dspUrlTemplate);t.addPixel(r,"1","1")})),this.storage.setLotameSynchTime(Date.now()),this.analytics.methodToCallbackMapping.syncPixel&&this.analytics.emit("syncPixel",{destination:this.name})}},{key:"compileUrl",value:function(e,t){return Object.keys(e).forEach((function(n){if(e.hasOwnProperty(n)){var r=new RegExp("{{"+n+"}}","gi");t=t.replace(r,e[n])}})),t}},{key:"identify",value:function(e){l.debug("in Lotame identify");var t=e.message.userId;this.syncPixel(t)}},{key:"track",value:function(e){l.debug("track not supported for lotame")}},{key:"page",value:function(e){var t=this;l.debug("in Lotame page"),this.bcpUrlSettings&&this.bcpUrlSettings.length>0&&this.bcpUrlSettings.forEach((function(e){var n=t.compileUrl(a({},t.mappings),e.bcpUrlTemplate);t.addPixel(n,"1","1")})),e.message.userId&&this.isPixelToBeSynched()&&this.syncPixel(e.message.userId)}},{key:"isPixelToBeSynched",value:function(){var e=this.storage.getLotameSynchTime(),t=Date.now();return!e||Math.floor((t-e)/864e5)>=7}},{key:"isLoaded",value:function(){return l.debug("in Lotame isLoaded"),!0}},{key:"isReady",value:function(){return!0}}]),e}()},Dt=function e(){n(this,e),this.build="1.0.0",this.name="RudderLabs JavaScript SDK",this.namespace="com.rudderlabs.javascript",this.version="1.1.1-rc.2"},Nt=function e(){n(this,e),this.name="RudderLabs JavaScript SDK",this.version="1.1.1-rc.2"},Lt=function e(){n(this,e),this.name="",this.version=""},Mt=function e(){n(this,e),this.density=0,this.width=0,this.height=0},Bt=function e(){n(this,e),this.app=new Dt,this.traits=null,this.library=new Nt;var t=new Lt;t.version="";var r=new Mt;r.width=window.width,r.height=window.height,r.density=window.devicePixelRatio,this.userAgent=navigator.userAgent,this.locale=navigator.language||navigator.browserLanguage,this.os=t,this.screen=r,this.device=null,this.network=null},Ft=function(){function e(){n(this,e),this.channel="web",this.context=new Bt,this.type=null,this.action=null,this.messageId=f().toString(),this.originalTimestamp=(new Date).toISOString(),this.anonymousId=null,this.userId=null,this.event=null,this.properties={},this.integrations={},this.integrations.All=!0}return i(e,[{key:"getProperty",value:function(e){return this.properties[e]}},{key:"addProperty",value:function(e,t){this.properties[e]=t}},{key:"validateFor",value:function(e){if(!this.properties)throw new Error("Key properties is required");switch(e){case v.TRACK:if(!this.event)throw new Error("Key event is required for track event");if(this.event in Object.values(b))switch(this.event){case b.CHECKOUT_STEP_VIEWED:case b.CHECKOUT_STEP_COMPLETED:case b.PAYMENT_INFO_ENTERED:this.checkForKey("checkout_id"),this.checkForKey("step");break;case b.PROMOTION_VIEWED:case b.PROMOTION_CLICKED:this.checkForKey("promotion_id");break;case b.ORDER_REFUNDED:this.checkForKey("order_id")}else this.properties.category||(this.properties.category=this.event);break;case v.PAGE:break;case v.SCREEN:if(!this.properties.name)throw new Error("Key 'name' is required in properties")}}},{key:"checkForKey",value:function(e){if(!this.properties[e])throw new Error("Key '"+e+"' is required in properties")}}]),e}(),Kt=function(){function e(){n(this,e),this.message=new Ft}return i(e,[{key:"setType",value:function(e){this.message.type=e}},{key:"setProperty",value:function(e){this.message.properties=e}},{key:"setUserProperty",value:function(e){this.message.user_properties=e}},{key:"setUserId",value:function(e){this.message.userId=e}},{key:"setEventName",value:function(e){this.message.event=e}},{key:"updateTraits",value:function(e){this.message.context.traits=e}},{key:"getElementContent",value:function(){return this.message}}]),e}(),qt=function(){function e(){n(this,e),this.rudderProperty=null,this.rudderUserProperty=null,this.event=null,this.userId=null,this.channel=null,this.type=null}return i(e,[{key:"setProperty",value:function(e){return this.rudderProperty=e,this}},{key:"setPropertyBuilder",value:function(e){return this.rudderProperty=e.build(),this}},{key:"setUserProperty",value:function(e){return this.rudderUserProperty=e,this}},{key:"setUserPropertyBuilder",value:function(e){return this.rudderUserProperty=e.build(),this}},{key:"setEvent",value:function(e){return this.event=e,this}},{key:"setUserId",value:function(e){return this.userId=e,this}},{key:"setChannel",value:function(e){return this.channel=e,this}},{key:"setType",value:function(e){return this.type=e,this}},{key:"build",value:function(){var e=new Kt;return e.setUserId(this.userId),e.setType(this.type),e.setEventName(this.event),e.setProperty(this.rudderProperty),e.setUserProperty(this.rudderUserProperty),e}}]),e}(),Gt=function e(){n(this,e),this.batch=null,this.writeKey=null},Ht=j((function(e){var t="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof window.msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto);if(t){var n=new Uint8Array(16);e.exports=function(){return t(n),n}}else{var r=new Array(16);e.exports=function(){for(var e,t=0;t<16;t++)0==(3&t)&&(e=4294967296*Math.random()),r[t]=e>>>((3&t)<<3)&255;return r}}})),Vt=[],zt=0;zt<256;++zt)Vt[zt]=(zt+256).toString(16).substr(1);var Jt,Wt,$t=function(e,t){var n=t||0,r=Vt;return[r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]]].join("")},Yt=0,Qt=0;var Zt=function(e,t,n){var r=t&&n||0,i=t||[],o=(e=e||{}).node||Jt,s=void 0!==e.clockseq?e.clockseq:Wt;if(null==o||null==s){var a=Ht();null==o&&(o=Jt=[1|a[0],a[1],a[2],a[3],a[4],a[5]]),null==s&&(s=Wt=16383&(a[6]<<8|a[7]))}var u=void 0!==e.msecs?e.msecs:(new Date).getTime(),c=void 0!==e.nsecs?e.nsecs:Qt+1,l=u-Yt+(c-Qt)/1e4;if(l<0&&void 0===e.clockseq&&(s=s+1&16383),(l<0||u>Yt)&&void 0===e.nsecs&&(c=0),c>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");Yt=u,Qt=c,Wt=s;var d=(1e4*(268435455&(u+=122192928e5))+c)%4294967296;i[r++]=d>>>24&255,i[r++]=d>>>16&255,i[r++]=d>>>8&255,i[r++]=255&d;var f=u/4294967296*1e4&268435455;i[r++]=f>>>8&255,i[r++]=255&f,i[r++]=f>>>24&15|16,i[r++]=f>>>16&255,i[r++]=s>>>8|128,i[r++]=255&s;for(var p=0;p<6;++p)i[r+p]=o[p];return t||$t(i)};var Xt=function(e,t,n){var r=t&&n||0;"string"==typeof e&&(t="binary"===e?new Array(16):null,e=null);var i=(e=e||{}).random||(e.rng||Ht)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,t)for(var o=0;o<16;++o)t[r+o]=i[o];return t||$t(i)},en=Xt;en.v1=Zt,en.v4=Xt;var tn=en,nn=Object.prototype.hasOwnProperty,rn=String.prototype.charAt,on=Object.prototype.toString,sn=function(e,t){return rn.call(e,t)},an=function(e,t){return nn.call(e,t)},un=function(e,t){t=t||an;for(var n=[],r=0,i=e.length;r=36e5?(e/36e5).toFixed(1)+"h":e>=6e4?(e/6e4).toFixed(1)+"m":e>=1e3?(e/1e3|0)+"s":e+"ms"},On.enabled=function(e){for(var t=0,n=On.skips.length;tthis.maxAttempts)},Un.prototype.getDelay=function(e){var t=this.backoff.MIN_RETRY_DELAY*Math.pow(this.backoff.FACTOR,e);if(this.backoff.JITTER){var n=Math.random(),r=Math.floor(n*this.backoff.JITTER*t);Math.floor(10*n)<5?t-=r:t+=r}return Number(Math.min(t,this.backoff.MAX_RETRY_DELAY).toPrecision(1))},Un.prototype.addItem=function(e){this._enqueue({item:e,attemptNumber:0,time:this._schedule.now()})},Un.prototype.requeue=function(e,t,n){this.shouldRetry(e,t,n)?this._enqueue({item:e,attemptNumber:t,time:this._schedule.now()+this.getDelay(t)}):this.emit("discard",e,t)},Un.prototype._enqueue=function(e){var t=this._store.get(this.keys.QUEUE)||[];(t=t.slice(-(this.maxItems-1))).push(e),t=t.sort((function(e,t){return e.time-t.time})),this._store.set(this.keys.QUEUE,t),this._running&&this._processHead()},Un.prototype._processHead=function(){var e=this,t=this._store;this._schedule.cancel(this._processId);var n=t.get(this.keys.QUEUE)||[],r=t.get(this.keys.IN_PROGRESS)||{},i=this._schedule.now(),o=[];function s(n,r){o.push({item:n.item,done:function(i,o){var s=t.get(e.keys.IN_PROGRESS)||{};delete s[r],t.set(e.keys.IN_PROGRESS,s),e.emit("processed",i,o,n.item),i&&e.requeue(n.item,n.attemptNumber+1,i)}})}for(var a=Object.keys(r).length;n.length&&n[0].time<=i&&a++0&&(this._processId=this._schedule.run(this._processHead,n[0].time-i))},Un.prototype._ack=function(){this._store.set(this.keys.ACK,this._schedule.now()),this._store.set(this.keys.RECLAIM_START,null),this._store.set(this.keys.RECLAIM_END,null),this._schedule.run(this._ack,this.timeouts.ACK_TIMER)},Un.prototype._checkReclaim=function(){var e=this;vn((function(t){t.id!==e.id&&(e._schedule.now()-t.get(e.keys.ACK)=500&&o.status<600?(h(new Error("request failed with status: "+o.status+o.statusText+" for url: "+e)),i(new Error("request failed with status: "+o.status+o.statusText+" for url: "+e))):(l.debug("====== request processed successfully: "+o.status),i(null,o.status)))},o.send(JSON.stringify(n,d))}catch(e){i(e)}}},{key:"enqueue",value:function(e,t){var n={"Content-Type":"application/json",Authorization:"Basic "+btoa(this.writeKey+":")},r=e.getElementContent();r.originalTimestamp=p(),r.sentAt=p(),JSON.stringify(r).length>32e3&&l.error("message length greater 32 Kb ",r);var i="/"==this.url.slice(-1)?this.url.slice(0,-1):this.url;this.payloadQueue.addItem({url:i+"/v1/"+t,headers:n,message:r})}}]),e}());function Mn(e){var t=function(t){var n=(t=t||window.event).target||t.srcElement;Gn(n)&&(n=n.parentNode),Fn(n,t)?l.debug("to be tracked ",t.type):l.debug("not to be tracked ",t.type),function(e,t){var n=e.target||e.srcElement,r=void 0;Gn(n)&&(n=n.parentNode);if(Fn(n,e)){if("form"==n.tagName.toLowerCase()){r={};for(var i=0;i-1)return!0}return!1}function zn(e){return!(Hn(e).split(" ").indexOf("rudder-no-track")>=0)}function Jn(e){if(e.previousElementSibling)return e.previousElementSibling;do{e=e.previousSibling}while(e&&!qn(e));return e}var Wn=function(e,t,n){var r=!1;return n=n||$n,i.count=e,0===e?t():i;function i(e,o){if(i.count<=0)throw new Error("after called too many times");--i.count,e?(r=!0,t(e),t=n):0!==i.count||r||t(null,o)}};function $n(){}function Yn(e,t){this.eventRepository||(this.eventRepository=Ln),this.eventRepository.enqueue(e,t)}var Qn=function(){function e(){n(this,e),this.autoTrackHandlersRegistered=!1,this.autoTrackFeatureEnabled=!1,this.initialized=!1,this.trackValues=[],this.eventsBuffer=[],this.clientIntegrations=[],this.configArray=[],this.clientIntegrationObjects=void 0,this.successfullyLoadedIntegration=[],this.failedToBeLoadedIntegration=[],this.toBeProcessedArray=[],this.toBeProcessedByIntegrationArray=[],this.storage=xt,this.userId=null!=this.storage.getUserId()?this.storage.getUserId():"",this.userTraits=null!=this.storage.getUserTraits()?this.storage.getUserTraits():{},this.groupId=null!=this.storage.getGroupId()?this.storage.getGroupId():"",this.groupTraits=null!=this.storage.getGroupTraits()?this.storage.getGroupTraits():{},this.anonymousId=this.getAnonymousId(),this.storage.setUserId(this.userId),this.eventRepository=Ln,this.readyCallback=function(){},this.executeReadyCallback=void 0,this.methodToCallbackMapping={syncPixel:"syncPixelCallback"}}return i(e,[{key:"processResponse",value:function(e,t){try{l.debug("===in process response=== "+e),(t=JSON.parse(t)).source.useAutoTracking&&!this.autoTrackHandlersRegistered&&(this.autoTrackFeatureEnabled=!0,Mn(this),this.autoTrackHandlersRegistered=!0),t.source.destinations.forEach((function(e,t){l.debug("Destination "+t+" Enabled? "+e.enabled+" Type: "+e.destinationDefinition.name+" Use Native SDK? "+e.config.useNativeSDK),e.enabled&&(this.clientIntegrations.push(e.destinationDefinition.name),this.configArray.push(e.config))}),this),this.init(this.clientIntegrations,this.configArray)}catch(e){h(e),l.debug("===handling config BE response processing error==="),l.debug("autoTrackHandlersRegistered",this.autoTrackHandlersRegistered),this.autoTrackFeatureEnabled&&!this.autoTrackHandlersRegistered&&(Mn(this),this.autoTrackHandlersRegistered=!0)}}},{key:"init",value:function(e,t){var n=this,r=this;if(l.debug("supported intgs ",Ut),!e||0==e.length)return this.readyCallback&&this.readyCallback(),void(this.toBeProcessedByIntegrationArray=[]);e.forEach((function(e,i){var o=new(0,Ut[e])(t[i],r);o.init(),l.debug("initializing destination: ",e),n.isInitialized(o).then(n.replayEvents)}))}},{key:"replayEvents",value:function(e){e.successfullyLoadedIntegration.length+e.failedToBeLoadedIntegration.length==e.clientIntegrations.length&&e.toBeProcessedByIntegrationArray.length>0&&(l.debug("===replay events called====",e.successfullyLoadedIntegration.length,e.failedToBeLoadedIntegration.length),e.clientIntegrationObjects=[],e.clientIntegrationObjects=e.successfullyLoadedIntegration,l.debug("==registering after callback===",e.clientIntegrationObjects.length),e.executeReadyCallback=Wn(e.clientIntegrationObjects.length,e.readyCallback),l.debug("==registering ready callback==="),e.on("ready",e.executeReadyCallback),e.clientIntegrationObjects.forEach((function(t){l.debug("===looping over each successful integration===="),t.isReady&&!t.isReady()||(l.debug("===letting know I am ready=====",t.name),e.emit("ready"))})),e.toBeProcessedByIntegrationArray.forEach((function(t){var n=t[0];t.shift();for(var r=t[0].message.integrations,i=0;i1&&void 0!==arguments[1]?arguments[1]:0;return new Promise((function(r){return e.isLoaded()?(l.debug("===integration loaded successfully====",e.name),t.successfullyLoadedIntegration.push(e),r(t)):n>=1e4?(l.debug("====max wait over===="),t.failedToBeLoadedIntegration.push(e),r(t)):void t.pause(1e3).then((function(){return l.debug("====after pause, again checking===="),t.isInitialized(e,n+1e3).then(r)}))}))}},{key:"page",value:function(e,n,r,i,o){"function"==typeof i&&(o=i,i=null),"function"==typeof r&&(o=r,i=r=null),"function"==typeof n&&(o=n,i=r=n=null),"object"===t(e)&&(i=n,r=e,n=e=null),"object"===t(n)&&(i=r,r=n,n=null),"string"==typeof e&&"string"!=typeof n&&(n=e,e=null),this.processPage(e,n,r,i,o)}},{key:"track",value:function(e,t,n,r){"function"==typeof n&&(r=n,n=null),"function"==typeof t&&(r=t,n=null,t=null),this.processTrack(e,t,n,r)}},{key:"identify",value:function(e,n,r,i){"function"==typeof r&&(i=r,r=null),"function"==typeof n&&(i=n,r=null,n=null),"object"==t(e)&&(r=n,n=e,e=this.userId),this.processIdentify(e,n,r,i)}},{key:"alias",value:function(e,n,r,i){"function"==typeof r&&(i=r,r=null),"function"==typeof n&&(i=n,r=null,n=null),"object"==t(n)&&(r=n,n=null);var o=(new qt).setType("alias").build();o.message.previousId=n||this.userId?this.userId:this.getAnonymousId(),o.message.userId=e,this.processAndSendDataToDestinations("alias",o,r,i)}},{key:"group",value:function(e,n,r,i){if(arguments.length){"function"==typeof r&&(i=r,r=null),"function"==typeof n&&(i=n,r=null,n=null),"object"==t(e)&&(r=n,n=e,e=this.groupId),this.groupId=e,this.storage.setGroupId(this.groupId);var o=(new qt).setType("group").build();if(n)for(var s in n)this.groupTraits[s]=n[s];else this.groupTraits={};this.storage.setGroupTraits(this.groupTraits),this.processAndSendDataToDestinations("group",o,r,i)}}},{key:"processPage",value:function(e,t,n,r,i){var o=(new qt).setType("page").build();t&&(o.message.name=t),n||(n={}),e&&(n.category=e),n&&(o.message.properties=this.getPageProperties(n)),this.trackPage(o,r,i)}},{key:"processTrack",value:function(e,t,n,r){var i=(new qt).setType("track").build();e&&i.setEventName(e),t?i.setProperty(t):i.setProperty({}),this.trackEvent(i,n,r)}},{key:"processIdentify",value:function(e,t,n,r){e&&this.userId&&e!==this.userId&&this.reset(),this.userId=e,this.storage.setUserId(this.userId);var i=(new qt).setType("identify").build();if(t){for(var o in t)this.userTraits[o]=t[o];this.storage.setUserTraits(this.userTraits)}this.identifyUser(i,n,r)}},{key:"identifyUser",value:function(e,t,n){e.message.userId&&(this.userId=e.message.userId,this.storage.setUserId(this.userId)),e&&e.message&&e.message.context&&e.message.context.traits&&(this.userTraits=Object.assign({},e.message.context.traits),this.storage.setUserTraits(this.userTraits)),this.processAndSendDataToDestinations("identify",e,t,n)}},{key:"trackPage",value:function(e,t,n){this.processAndSendDataToDestinations("page",e,t,n)}},{key:"trackEvent",value:function(e,t,n){this.processAndSendDataToDestinations("track",e,t,n)}},{key:"processAndSendDataToDestinations",value:function(e,t,n,r){try{this.anonymousId||this.setAnonymousId(),t.message.context.page=g(),t.message.context.traits=Object.assign({},this.userTraits),l.debug("anonymousId: ",this.anonymousId),t.message.anonymousId=this.anonymousId,t.message.userId=t.message.userId?t.message.userId:this.userId,"group"==e&&(this.groupId&&(t.message.groupId=this.groupId),this.groupTraits&&(t.message.traits=Object.assign({},this.groupTraits))),n&&this.processOptionsParam(t,n),l.debug(JSON.stringify(t));var i=t.message.integrations;this.clientIntegrationObjects&&this.clientIntegrationObjects.forEach((function(n){l.debug("called in normal flow"),(i[n.name]||null==i[n.name]&&i.All)&&(n.isFailed&&n.isFailed()||n[e](t))})),this.clientIntegrationObjects||(l.debug("pushing in replay queue"),this.toBeProcessedByIntegrationArray.push([e,t])),Yn.call(this,t,e),l.debug(e+" is called "),r&&r()}catch(e){h(e)}}},{key:"processOptionsParam",value:function(e,t){var n=["integrations","anonymousId","originalTimestamp"];for(var r in t)if(n.includes(r))e.message[r]=t[r];else if("context"!==r)e.message.context[r]=t[r];else for(var i in t[r])e.message.context[i]=t[r][i]}},{key:"getPageProperties",value:function(e){var t=g();for(var n in t)void 0===e[n]&&(e[n]=t[n]);return e}},{key:"reset",value:function(){this.userId="",this.userTraits={},this.anonymousId=this.setAnonymousId(),this.storage.clear()}},{key:"getAnonymousId",value:function(){return this.anonymousId=this.storage.getAnonymousId(),this.anonymousId||this.setAnonymousId(),this.anonymousId}},{key:"setAnonymousId",value:function(e){this.anonymousId=e||f(),this.storage.setAnonymousId(this.anonymousId)}},{key:"load",value:function(e,t,n){var r="https://api.rudderlabs.com/sourceConfig";if(!e||!t||0==t.length)throw h({message:"Unable to load due to wrong writeKey or serverUrl"}),Error("failed to initialize");n&&n.logLevel&&l.setLogLevel(n.logLevel),n&&n.configUrl&&(r=n.configUrl),l.debug("inside load "),this.eventRepository.writeKey=e,t&&(this.eventRepository.url=t),n&&n.valTrackingList&&n.valTrackingList.push==Array.prototype.push&&(this.trackValues=n.valTrackingList),n&&n.useAutoTracking&&(this.autoTrackFeatureEnabled=!0,this.autoTrackFeatureEnabled&&!this.autoTrackHandlersRegistered&&(Mn(this),this.autoTrackHandlersRegistered=!0,l.debug("autoTrackHandlersRegistered",this.autoTrackHandlersRegistered)));try{!function(e,t,n,r){var i,o=r.bind(e);(i=new XMLHttpRequest).open("GET",t,!0),i.setRequestHeader("Authorization","Basic "+btoa(n+":")),i.onload=function(){var e=i.status;200==e?(l.debug("status 200 calling callback"),o(200,i.responseText)):(h(new Error("request failed with status: "+i.status+" for url: "+t)),o(e))},i.send()}(this,r,e,this.processResponse)}catch(e){h(e),this.autoTrackFeatureEnabled&&!this.autoTrackHandlersRegistered&&Mn(Zn)}}},{key:"ready",value:function(e){"function"!=typeof e?l.error("ready callback is not a function"):this.readyCallback=e}},{key:"registerCallbacks",value:function(){var e=this;Object.keys(this.methodToCallbackMapping).forEach((function(t){if(e.methodToCallbackMapping.hasOwnProperty(t)){var n=window.rudderanalytics&&"function"==typeof window.rudderanalytics[e.methodToCallbackMapping[t]]?window.rudderanalytics[e.methodToCallbackMapping[t]]:function(){};l.debug("registerCallbacks",t,n),e.on(t,n)}}))}}]),e}();window.addEventListener("error",(function(e){h(e)}),!0);var Zn=new Qn;jn(Zn),Zn.registerCallbacks();var Xn=!!window.rudderanalytics&&window.rudderanalytics.push==Array.prototype.push,er=window.rudderanalytics?window.rudderanalytics[0]:[];if(er.length>0&&"load"==er[0]){var tr=er[0];er.shift(),l.debug("=====from init, calling method:: ",tr),Zn[tr].apply(Zn,u(er))}if(Xn){for(var nr=1;nr-1?t:t+e:window.location.href,r=n.indexOf("#");return r>-1?n.slice(0,r):n}(r)}}function y(){for(var e,t=document.getElementsByTagName("link"),n=0;e=t[n];n++)if("canonical"===e.getAttribute("rel"))return e.getAttribute("href")}function m(e,t){var n=e.revenue;return!n&&t&&t.match(/^[ _]?completed[ _]?order[ _]?|^[ _]?order[ _]?completed[ _]?$/i)&&(n=e.total),function(e){if(e){if("number"==typeof e)return e;if("string"==typeof e)return e=e.replace(/\$/g,""),e=parseFloat(e),isNaN(e)?void 0:e}}(n)}var v={TRACK:"track",PAGE:"page",IDENTIFY:"identify"},b={PRODUCTS_SEARCHED:"Products Searched",PRODUCT_LIST_VIEWED:"Product List Viewed",PRODUCT_LIST_FILTERED:"Product List Filtered",PROMOTION_VIEWED:"Promotion Viewed",PROMOTION_CLICKED:"Promotion Clicked",PRODUCT_CLICKED:"Product Clicked",PRODUCT_VIEWED:"Product Viewed",PRODUCT_ADDED:"Product Added",PRODUCT_REMOVED:"Product Removed",CART_VIEWED:"Cart Viewed",CHECKOUT_STARTED:"Checkout Started",CHECKOUT_STEP_VIEWED:"Checkout Step Viewed",CHECKOUT_STEP_COMPLETED:"Checkout Step Completed",PAYMENT_INFO_ENTERED:"Payment Info Entered",ORDER_UPDATED:"Order Updated",ORDER_COMPLETED:"Order Completed",ORDER_REFUNDED:"Order Refunded",ORDER_CANCELLED:"Order Cancelled",COUPON_ENTERED:"Coupon Entered",COUPON_APPLIED:"Coupon Applied",COUPON_DENIED:"Coupon Denied",COUPON_REMOVED:"Coupon Removed",PRODUCT_ADDED_TO_WISHLIST:"Product Added to Wishlist",PRODUCT_REMOVED_FROM_WISHLIST:"Product Removed from Wishlist",WISH_LIST_PRODUCT_ADDED_TO_CART:"Wishlist Product Added to Cart",PRODUCT_SHARED:"Product Shared",CART_SHARED:"Cart Shared",PRODUCT_REVIEWED:"Product Reviewed"},w="http://18.222.145.124:5000/dump";function k(e,t){l.debug("in script loader=== "+e);var n=document.createElement("script");n.src=t,n.type="text/javascript",n.id=e;var r=document.getElementsByTagName("script")[0];l.debug("==script==",r),r.parentNode.insertBefore(n,r)}var _=function(){function e(t){n(this,e),this.hubId=t.hubID,this.name="HS"}return i(e,[{key:"init",value:function(){k("hubspot-integration","http://js.hs-scripts.com/"+this.hubId+".js"),l.debug("===in init HS===")}},{key:"identify",value:function(e){l.debug("in HubspotAnalyticsManager identify");var n=e.message.context.traits,r={};for(var i in n)if(Object.getOwnPropertyDescriptor(n,i)&&n[i]){var o=i;"[object Date]"==toString.call(n[i])?r[o]=n[i].getTime():r[o]=n[i]}var s=e.message.context.user_properties;for(var a in s){if(Object.getOwnPropertyDescriptor(s,a)&&s[a])r[a]=s[a]}(l.debug(r),void 0!==("undefined"==typeof window?"undefined":t(window)))&&(window._hsq=window._hsq||[]).push(["identify",r])}},{key:"track",value:function(e){l.debug("in HubspotAnalyticsManager track");var t=window._hsq=window._hsq||[],n={};n.id=e.message.event,e.message.properties&&(e.message.properties.revenue||e.message.properties.value)&&(n.value=e.message.properties.revenue||e.message.properties.value),t.push(["trackEvent",n])}},{key:"page",value:function(e){l.debug("in HubspotAnalyticsManager page");var t=window._hsq=window._hsq||[];e.message.properties&&e.message.properties.path&&t.push(["setPath",e.message.properties.path]),t.push(["trackPageView"])}},{key:"isLoaded",value:function(){return l.debug("in hubspot isLoaded"),!(!window._hsq||window._hsq.push===Array.prototype.push)}},{key:"isReady",value:function(){return!(!window._hsq||window._hsq.push===Array.prototype.push)}}]),e}(),E=function(){function e(t){n(this,e),this.trackingID=t.trackingID,this.name="GA"}return i(e,[{key:"init",value:function(){!function(e,t,n,r,i,o,s){e.GoogleAnalyticsObject=i,e.ga=e.ga||function(){(e.ga.q=e.ga.q||[]).push(arguments)},e.ga.l=1*new Date,o=t.createElement(n),s=t.getElementsByTagName(n)[0],o.async=1,o.src="https://www.google-analytics.com/analytics.js",s.parentNode.insertBefore(o,s)}(window,document,"script",0,"ga"),ga("create",this.trackingID,"auto","rudder_ga"),l.debug("===in init GA===")}},{key:"identify",value:function(e){ga("rudder_ga.set","userId",e.message.anonymous_id),l.debug("in GoogleAnalyticsManager identify")}},{key:"track",value:function(e){var t=e.message.event,n=e.message.event,r=e.message.event,i="";e.message.properties&&(i=e.message.properties.value?e.message.properties.value:e.message.properties.revenue,t=e.message.properties.category?e.message.properties.category:t,r=e.message.properties.label?e.message.properties.label:r),ga("rudder_ga.send","event",{hitType:"event",eventCategory:t,eventAction:n,eventLabel:r,eventValue:i}),l.debug("in GoogleAnalyticsManager track")}},{key:"page",value:function(e){l.debug("in GoogleAnalyticsManager page");var t=e.message.properties&&e.message.properties.path?e.message.properties.path:void 0,n=e.message.properties&&e.message.properties.title?e.message.properties.title:void 0,r=e.message.properties&&e.message.properties.url?e.message.properties.url:void 0;t&&ga("rudder_ga.set","page",t),n&&ga("rudder_ga.set","title",n),r&&ga("rudder_ga.set","location",r),ga("rudder_ga.send","pageview")}},{key:"isLoaded",value:function(){return l.debug("in GA isLoaded"),!!window.gaplugins}},{key:"isReady",value:function(){return!!window.gaplugins}}]),e}(),I=function(){function e(t){n(this,e),this.siteId=t.siteID,this.name="HOTJAR",this._ready=!1}return i(e,[{key:"init",value:function(){window.hotjarSiteId=this.siteId,function(e,t,n,r,i,o){e.hj=e.hj||function(){(e.hj.q=e.hj.q||[]).push(arguments)},e._hjSettings={hjid:e.hotjarSiteId,hjsv:6},i=t.getElementsByTagName("head")[0],(o=t.createElement("script")).async=1,o.src="https://static.hotjar.com/c/hotjar-"+e._hjSettings.hjid+".js?sv="+e._hjSettings.hjsv,i.appendChild(o)}(window,document),this._ready=!0,l.debug("===in init Hotjar===")}},{key:"identify",value:function(e){if(e.message.userId||e.message.anonymousId){var t=e.message.context.traits;window.hj("identify",e.message.userId,t)}else l.error("user id is required")}},{key:"track",value:function(e){l.error("method not supported")}},{key:"page",value:function(e){l.error("method not supported")}},{key:"isLoaded",value:function(){return this._ready}},{key:"isReady",value:function(){return this._ready}}]),e}(),A=function(){function e(t){n(this,e),this.conversionId=t.conversionID,this.pageLoadConversions=t.pageLoadConversions,this.clickEventConversions=t.clickEventConversions,this.name="GOOGLEADS"}return i(e,[{key:"init",value:function(){!function(e,t,n){l.debug("in script loader=== "+e);var r=n.createElement("script");r.src=t,r.async=1,r.type="text/javascript",r.id=e;var i=n.getElementsByTagName("head")[0];l.debug("==script==",i),i.appendChild(r)}("googleAds-integration","https://www.googletagmanager.com/gtag/js?id="+this.conversionId,document),window.dataLayer=window.dataLayer||[],window.gtag=function(){window.dataLayer.push(arguments)},window.gtag("js",new Date),window.gtag("config",this.conversionId),l.debug("===in init Google Ads===")}},{key:"identify",value:function(e){l.error("method not supported")}},{key:"track",value:function(e){l.debug("in GoogleAdsAnalyticsManager track");var t=this.getConversionData(this.clickEventConversions,e.message.event);if(t.conversionLabel){var n=t.conversionLabel,r=t.eventName,i=this.conversionId+"/"+n,o={};e.properties&&(o.value=e.properties.revenue,o.currency=e.properties.currency,o.transaction_id=e.properties.order_id),o.send_to=i,window.gtag("event",r,o)}}},{key:"page",value:function(e){l.debug("in GoogleAdsAnalyticsManager page");var t=this.getConversionData(this.pageLoadConversions,e.message.name);if(t.conversionLabel){var n=t.conversionLabel,r=t.eventName;window.gtag("event",r,{send_to:this.conversionId+"/"+n})}}},{key:"getConversionData",value:function(e,t){var n={};return e&&e.forEach((function(e){if(e.name.toLowerCase()===t.toLowerCase())return n.conversionLabel=e.conversionLabel,void(n.eventName=e.name)})),n}},{key:"isLoaded",value:function(){return window.dataLayer.push!==Array.prototype.push}},{key:"isReady",value:function(){return window.dataLayer.push!==Array.prototype.push}}]),e}(),T=function(){function e(t){n(this,e),this.accountId=t.accountId,this.settingsTolerance=t.settingsTolerance,this.isSPA=t.isSPA,this.libraryTolerance=t.libraryTolerance,this.useExistingJquery=t.useExistingJquery,this.sendExperimentTrack=t.sendExperimentTrack,this.sendExperimentIdentify=t.sendExperimentIdentify,this.name="VWO",l.debug("Config ",t)}return i(e,[{key:"init",value:function(){l.debug("===in init VWO===");var e=this.accountId,t=this.settingsTolerance,n=this.libraryTolerance,r=this.useExistingJquery,i=this.isSPA;window._vwo_code=function(){var o=!1,s=document;return{use_existing_jquery:function(){return r},library_tolerance:function(){return n},finish:function(){if(!o){o=!0;var e=s.getElementById("_vis_opt_path_hides");e&&e.parentNode.removeChild(e)}},finished:function(){return o},load:function(e){var t=s.createElement("script");t.src=e,t.type="text/javascript",t.innerText,t.onerror=function(){_vwo_code.finish()},s.getElementsByTagName("head")[0].appendChild(t)},init:function(){var n=setTimeout("_vwo_code.finish()",t),r=s.createElement("style"),o="body{opacity:0 !important;filter:alpha(opacity=0) !important;background:none !important;}",a=s.getElementsByTagName("head")[0];return r.setAttribute("id","_vis_opt_path_hides"),r.setAttribute("type","text/css"),r.styleSheet?r.styleSheet.cssText=o:r.appendChild(s.createTextNode(o)),a.appendChild(r),this.load("//dev.visualwebsiteoptimizer.com/j.php?a="+e+"&u="+encodeURIComponent(s.URL)+"&r="+Math.random()+"&f="+ +i),n}}}(),window._vwo_settings_timer=window._vwo_code.init(),(this.sendExperimentTrack||this.experimentViewedIdentify)&&this.experimentViewed()}},{key:"experimentViewed",value:function(){window.VWO=window.VWO||[];var e=this;window.VWO.push(["onVariationApplied",function(t){if(t){l.debug("Variation Applied");var n=t[1],r=t[2];if(l.debug("experiment id:",n,"Variation Name:",_vwo_exp[n].comb_n[r]),void 0!==_vwo_exp[n].comb_n[r]&&["VISUAL_AB","VISUAL","SPLIT_URL","SURVEY"].indexOf(_vwo_exp[n].type)>-1){try{e.sendExperimentTrack&&(l.debug("Tracking..."),window.rudderanalytics.track("Experiment Viewed",{experimentId:n,variationName:_vwo_exp[n].comb_n[r]}))}catch(e){l.error(e)}try{e.sendExperimentIdentify&&(l.debug("Identifying..."),window.rudderanalytics.identify(o({},"Experiment: ".concat(n),_vwo_exp[n].comb_n[r])))}catch(e){l.error(e)}}}}])}},{key:"identify",value:function(e){l.debug("method not supported")}},{key:"track",value:function(e){if("Order Completed"===e.message.event){var t=e.message.properties?e.message.properties.total||e.message.properties.revenue:0;l.debug("Revenue",t),window.VWO=window.VWO||[],window.VWO.push(["track.revenueConversion",t])}}},{key:"page",value:function(e){l.debug("method not supported")}},{key:"isLoaded",value:function(){return!!window._vwo_code}},{key:"isReady",value:function(){return!!window._vwo_code}}]),e}(),C=function(){function e(t){n(this,e),this.containerID=t.containerID,this.name="GOOGLETAGMANAGER"}return i(e,[{key:"init",value:function(){l.debug("===in init GoogleTagManager==="),function(e,t,n,r,i){e[r]=e[r]||[],e[r].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var o=t.getElementsByTagName(n)[0],s=t.createElement(n);s.async=!0,s.src="https://www.googletagmanager.com/gtm.js?id="+i,o.parentNode.insertBefore(s,o)}(window,document,"script","dataLayer",this.containerID)}},{key:"identify",value:function(e){l.error("method not supported")}},{key:"track",value:function(e){l.debug("===in track GoogleTagManager===");var t=e.message,n=a({event:t.event,userId:t.userId,anonymousId:t.anonymousId},t.properties);this.sendToGTMDatalayer(n)}},{key:"page",value:function(e){l.debug("===in page GoogleTagManager===");var t,n=e.message,r=n.name,i=n.properties?n.properties.category:void 0;r&&(t="Viewed "+r+" page"),i&&r&&(t="Viewed "+i+" "+r+" page");var o=a({event:t,userId:n.userId,anonymousId:n.anonymousId},n.properties);this.sendToGTMDatalayer(o)}},{key:"isLoaded",value:function(){return!(!window.dataLayer||Array.prototype.push===window.dataLayer.push)}},{key:"sendToGTMDatalayer",value:function(e){window.dataLayer.push(e)}},{key:"isReady",value:function(){return!(!window.dataLayer||Array.prototype.push===window.dataLayer.push)}}]),e}(),O=function(){function e(t,r){if(n(this,e),this.analytics=r,this.appKey=t.appKey,t.appKey||(this.appKey=""),this.endPoint="",t.dataCenter){var i=t.dataCenter.trim().split("-");"eu"===i[0].toLowerCase()?this.endPoint="sdk.fra-01.braze.eu":this.endPoint="sdk.iad-"+i[1]+".braze.com"}this.name="BRAZE",l.debug("Config ",t)}return i(e,[{key:"formatGender",value:function(e){if(e&&"string"==typeof e){return["woman","female","w","f"].indexOf(e.toLowerCase())>-1?window.appboy.ab.User.Genders.FEMALE:["man","male","m"].indexOf(e.toLowerCase())>-1?window.appboy.ab.User.Genders.MALE:["other","o"].indexOf(e.toLowerCase())>-1?window.appboy.ab.User.Genders.OTHER:void 0}}},{key:"init",value:function(){l.debug("===in init Braze==="),function(e,t,n,r,i){e.appboy={},e.appboyQueue=[];for(var o="initialize destroy getDeviceId toggleAppboyLogging setLogger openSession changeUser requestImmediateDataFlush requestFeedRefresh subscribeToFeedUpdates requestContentCardsRefresh subscribeToContentCardsUpdates logCardImpressions logCardClick logCardDismissal logFeedDisplayed logContentCardsDisplayed logInAppMessageImpression logInAppMessageClick logInAppMessageButtonClick logInAppMessageHtmlClick subscribeToNewInAppMessages subscribeToInAppMessage removeSubscription removeAllSubscriptions logCustomEvent logPurchase isPushSupported isPushBlocked isPushGranted isPushPermissionGranted registerAppboyPushMessages unregisterAppboyPushMessages trackLocation stopWebTracking resumeWebTracking wipeData ab ab.DeviceProperties ab.User ab.User.Genders ab.User.NotificationSubscriptionTypes ab.User.prototype.getUserId ab.User.prototype.setFirstName ab.User.prototype.setLastName ab.User.prototype.setEmail ab.User.prototype.setGender ab.User.prototype.setDateOfBirth ab.User.prototype.setCountry ab.User.prototype.setHomeCity ab.User.prototype.setLanguage ab.User.prototype.setEmailNotificationSubscriptionType ab.User.prototype.setPushNotificationSubscriptionType ab.User.prototype.setPhoneNumber ab.User.prototype.setAvatarImageUrl ab.User.prototype.setLastKnownLocation ab.User.prototype.setUserAttribute ab.User.prototype.setCustomUserAttribute ab.User.prototype.addToCustomAttributeArray ab.User.prototype.removeFromCustomAttributeArray ab.User.prototype.incrementCustomUserAttribute ab.User.prototype.addAlias ab.User.prototype.setCustomLocationAttribute ab.InAppMessage ab.InAppMessage.SlideFrom ab.InAppMessage.ClickAction ab.InAppMessage.DismissType ab.InAppMessage.OpenTarget ab.InAppMessage.ImageStyle ab.InAppMessage.TextAlignment ab.InAppMessage.Orientation ab.InAppMessage.CropType ab.InAppMessage.prototype.subscribeToClickedEvent ab.InAppMessage.prototype.subscribeToDismissedEvent ab.InAppMessage.prototype.removeSubscription ab.InAppMessage.prototype.removeAllSubscriptions ab.InAppMessage.prototype.closeMessage ab.InAppMessage.Button ab.InAppMessage.Button.prototype.subscribeToClickedEvent ab.InAppMessage.Button.prototype.removeSubscription ab.InAppMessage.Button.prototype.removeAllSubscriptions ab.SlideUpMessage ab.ModalMessage ab.FullScreenMessage ab.HtmlMessage ab.ControlMessage ab.Feed ab.Feed.prototype.getUnreadCardCount ab.ContentCards ab.ContentCards.prototype.getUnviewedCardCount ab.Card ab.Card.prototype.dismissCard ab.ClassicCard ab.CaptionedImage ab.Banner ab.ControlCard ab.WindowUtils display display.automaticallyShowNewInAppMessages display.showInAppMessage display.showFeed display.destroyFeed display.toggleFeed display.showContentCards display.hideContentCards display.toggleContentCards sharedLib".split(" "),s=0;s>>32-t},rotr:function(e,t){return e<<32-t|e>>>t},endian:function(e){if(e.constructor==Number)return 16711935&n.rotl(e,8)|4278255360&n.rotl(e,24);for(var t=0;t0;e--)t.push(Math.floor(256*Math.random()));return t},bytesToWords:function(e){for(var t=[],n=0,r=0;n>>5]|=e[n]<<24-r%32;return t},wordsToBytes:function(e){for(var t=[],n=0;n<32*e.length;n+=8)t.push(e[n>>>5]>>>24-n%32&255);return t},bytesToHex:function(e){for(var t=[],n=0;n>>4).toString(16)),t.push((15&e[n]).toString(16));return t.join("")},hexToBytes:function(e){for(var t=[],n=0;n>>6*(3-o)&63)):n.push("=");return n.join("")},base64ToBytes:function(e){e=e.replace(/[^A-Z0-9+\/]/gi,"");for(var n=[],r=0,i=0;r>>6-2*i);return n}};e.exports=n}()})),R={utf8:{stringToBytes:function(e){return R.bin.stringToBytes(unescape(encodeURIComponent(e)))},bytesToString:function(e){return decodeURIComponent(escape(R.bin.bytesToString(e)))}},bin:{stringToBytes:function(e){for(var t=[],n=0;n>>24)|4278255360&(a[p]<<24|a[p]>>>8);a[u>>>5]|=128<>>9<<4)]=u;var h=o._ff,g=o._gg,y=o._hh,m=o._ii;for(p=0;p>>0,l=l+b>>>0,d=d+w>>>0,f=f+k>>>0}return t.endian([c,l,d,f])};o._ff=function(e,t,n,r,i,o,s){var a=e+(t&n|~t&r)+(i>>>0)+s;return(a<>>32-o)+t},o._gg=function(e,t,n,r,i,o,s){var a=e+(t&r|n&~r)+(i>>>0)+s;return(a<>>32-o)+t},o._hh=function(e,t,n,r,i,o,s){var a=e+(t^n^r)+(i>>>0)+s;return(a<>>32-o)+t},o._ii=function(e,t,n,r,i,o,s){var a=e+(n^(t|~r))+(i>>>0)+s;return(a<>>32-o)+t},o._blocksize=16,o._digestsize=16,e.exports=function(e,n){if(null==e)throw new Error("Illegal argument "+e);var r=t.wordsToBytes(o(e,n));return n&&n.asBytes?r:n&&n.asString?i.bytesToString(r):t.bytesToHex(r)}}()})),B=function(){function e(t){n(this,e),this.NAME="INTERCOM",this.API_KEY=t.apiKey,this.APP_ID=t.appId,this.MOBILE_APP_ID=t.mobileAppId,l.debug("Config ",t)}return i(e,[{key:"init",value:function(){window.intercomSettings={app_id:this.APP_ID},function(){var e=window,t=e.Intercom;if("function"==typeof t)t("reattach_activator"),t("update",e.intercomSettings);else{var n=document,r=function e(){e.c(arguments)};r.q=[],r.c=function(e){r.q.push(e)},e.Intercom=r;var i=function(){var e=n.createElement("script");e.type="text/javascript",e.async=!0,e.src="https://widget.intercom.io/widget/"+window.intercomSettings.app_id;var t=n.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)};"complete"===document.readyState?(i(),window.intercom_code=!0):e.attachEvent?(e.attachEvent("onload",i),window.intercom_code=!0):(e.addEventListener("load",i,!1),window.intercom_code=!0)}}()}},{key:"page",value:function(){window.Intercom("update")}},{key:"identify",value:function(e){var n={},r=e.message.context;if(null!=(r.Intercom?r.Intercom:null)){var i=r.Intercom.user_hash?r.Intercom.user_hash:null;null!=i&&(n.user_hash=i);var o=r.Intercom.hideDefaultLauncher?r.Intercom.hideDefaultLauncher:null;null!=o&&(n.hide_default_launcher=o)}Object.keys(r.traits).forEach((function(e){if(r.traits.hasOwnProperty(e)){var i=r.traits[e];if("company"===e){var o=[],s={};"string"==typeof r.traits[e]&&(s.company_id=M(r.traits[e]));var a="object"==t(r.traits[e])&&Object.keys(r.traits[e])||[];a.forEach((function(t){a.hasOwnProperty(t)&&("id"!=t?s[t]=r.traits[e][t]:s.company_id=r.traits[e][t])})),"object"!=t(r.traits[e])||a.includes("id")||(s.company_id=M(s.name)),o.push(s),n.companies=o}else n[e]=r.traits[e];switch(e){case"createdAt":n.created_at=i;break;case"anonymousId":n.user_id=i}}})),n.user_id=e.message.userId,window.Intercom("update",n)}},{key:"track",value:function(e){var t={},n=e.message;(n.properties?Object.keys(n.properties):null).forEach((function(e){var r=n.properties[e];t[e]=r})),n.event&&(t.event_name=n.event),t.user_id=n.userId?n.userId:n.anonymousId,t.created_at=Math.floor(new Date(n.originalTimestamp).getTime()/1e3),window.Intercom("trackEvent",t.event_name,t)}},{key:"isLoaded",value:function(){return!!window.intercom_code}},{key:"isReady",value:function(){return!!window.intercom_code}}]),e}(),F=function(){function e(t){n(this,e),this.projectID=t.projectID,this.writeKey=t.writeKey,this.ipAddon=t.ipAddon,this.uaAddon=t.uaAddon,this.urlAddon=t.urlAddon,this.referrerAddon=t.referrerAddon,this.client=null,this.name="KEEN"}return i(e,[{key:"init",value:function(){l.debug("===in init Keen==="),k("keen-integration","https://cdn.jsdelivr.net/npm/keen-tracking@4");var e=setInterval(function(){void 0!==window.KeenTracking&&void 0!==window.KeenTracking&&(this.client=function(e){return e.client=new window.KeenTracking({projectId:e.projectID,writeKey:e.writeKey}),e.client}(this),clearInterval(e))}.bind(this),1e3)}},{key:"identify",value:function(e){l.debug("in Keen identify");var t=e.message.context.traits,n=e.message.userId?e.message.userId:e.message.anonymousId,r=e.message.properties?Object.assign(r,e.message.properties):{};r.user={userId:n,traits:t},r=this.getAddOn(r),this.client.extendEvents(r)}},{key:"track",value:function(e){l.debug("in Keen track");var t=e.message.event,n=e.message.properties;n=this.getAddOn(n),this.client.recordEvent(t,n)}},{key:"page",value:function(e){l.debug("in Keen page");var t=e.message.name,n=e.message.properties?e.message.properties.category:void 0,r="Loaded a Page";t&&(r="Viewed "+t+" page"),n&&t&&(r="Viewed "+n+" "+t+" page");var i=e.message.properties;i=this.getAddOn(i),this.client.recordEvent(r,i)}},{key:"isLoaded",value:function(){return l.debug("in Keen isLoaded"),!(null==this.client)}},{key:"isReady",value:function(){return!(null==this.client)}},{key:"getAddOn",value:function(e){var t=[];return this.ipAddon&&(e.ip_address="${keen.ip}",t.push({name:"keen:ip_to_geo",input:{ip:"ip_address"},output:"ip_geo_info"})),this.uaAddon&&(e.user_agent="${keen.user_agent}",t.push({name:"keen:ua_parser",input:{ua_string:"user_agent"},output:"parsed_user_agent"})),this.urlAddon&&(e.page_url=document.location.href,t.push({name:"keen:url_parser",input:{url:"page_url"},output:"parsed_page_url"})),this.referrerAddon&&(e.page_url=document.location.href,e.referrer_url=document.referrer,t.push({name:"keen:referrer_parser",input:{referrer_url:"referrer_url",page_url:"page_url"},output:"referrer_info"})),e.keen={addons:t},e}}]),e}(),K=Object.prototype,q=K.hasOwnProperty,G=K.toString;"function"==typeof Symbol&&(N=Symbol.prototype.valueOf),"function"==typeof BigInt&&(L=BigInt.prototype.valueOf);var H=function(e){return e!=e},V={boolean:1,number:1,string:1,undefined:1},z=/^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$/,J=/^[A-Fa-f0-9]+$/,W={};W.a=W.type=function(e,t){return typeof e===t},W.defined=function(e){return void 0!==e},W.empty=function(e){var t,n=G.call(e);if("[object Array]"===n||"[object Arguments]"===n||"[object String]"===n)return 0===e.length;if("[object Object]"===n){for(t in e)if(q.call(e,t))return!1;return!0}return!e},W.equal=function(e,t){if(e===t)return!0;var n,r=G.call(e);if(r!==G.call(t))return!1;if("[object Object]"===r){for(n in e)if(!(W.equal(e[n],t[n])&&n in t))return!1;for(n in t)if(!(W.equal(e[n],t[n])&&n in e))return!1;return!0}if("[object Array]"===r){if((n=e.length)!==t.length)return!1;for(;n--;)if(!W.equal(e[n],t[n]))return!1;return!0}return"[object Function]"===r?e.prototype===t.prototype:"[object Date]"===r&&e.getTime()===t.getTime()},W.hosted=function(e,t){var n=typeof t[e];return"object"===n?!!t[e]:!V[n]},W.instance=W.instanceof=function(e,t){return e instanceof t},W.nil=W.null=function(e){return null===e},W.undef=W.undefined=function(e){return void 0===e},W.args=W.arguments=function(e){var t="[object Arguments]"===G.call(e),n=!W.array(e)&&W.arraylike(e)&&W.object(e)&&W.fn(e.callee);return t||n},W.array=Array.isArray||function(e){return"[object Array]"===G.call(e)},W.args.empty=function(e){return W.args(e)&&0===e.length},W.array.empty=function(e){return W.array(e)&&0===e.length},W.arraylike=function(e){return!!e&&!W.bool(e)&&q.call(e,"length")&&isFinite(e.length)&&W.number(e.length)&&e.length>=0},W.bool=W.boolean=function(e){return"[object Boolean]"===G.call(e)},W.false=function(e){return W.bool(e)&&!1===Boolean(Number(e))},W.true=function(e){return W.bool(e)&&!0===Boolean(Number(e))},W.date=function(e){return"[object Date]"===G.call(e)},W.date.valid=function(e){return W.date(e)&&!isNaN(Number(e))},W.element=function(e){return void 0!==e&&"undefined"!=typeof HTMLElement&&e instanceof HTMLElement&&1===e.nodeType},W.error=function(e){return"[object Error]"===G.call(e)},W.fn=W.function=function(e){if("undefined"!=typeof window&&e===window.alert)return!0;var t=G.call(e);return"[object Function]"===t||"[object GeneratorFunction]"===t||"[object AsyncFunction]"===t},W.number=function(e){return"[object Number]"===G.call(e)},W.infinite=function(e){return e===1/0||e===-1/0},W.decimal=function(e){return W.number(e)&&!H(e)&&!W.infinite(e)&&e%1!=0},W.divisibleBy=function(e,t){var n=W.infinite(e),r=W.infinite(t),i=W.number(e)&&!H(e)&&W.number(t)&&!H(t)&&0!==t;return n||r||i&&e%t==0},W.integer=W.int=function(e){return W.number(e)&&!H(e)&&e%1==0},W.maximum=function(e,t){if(H(e))throw new TypeError("NaN is not a valid value");if(!W.arraylike(t))throw new TypeError("second argument must be array-like");for(var n=t.length;--n>=0;)if(e=0;)if(e>t[n])return!1;return!0},W.nan=function(e){return!W.number(e)||e!=e},W.even=function(e){return W.infinite(e)||W.number(e)&&e==e&&e%2==0},W.odd=function(e){return W.infinite(e)||W.number(e)&&e==e&&e%2!=0},W.ge=function(e,t){if(H(e)||H(t))throw new TypeError("NaN is not a valid value");return!W.infinite(e)&&!W.infinite(t)&&e>=t},W.gt=function(e,t){if(H(e)||H(t))throw new TypeError("NaN is not a valid value");return!W.infinite(e)&&!W.infinite(t)&&e>t},W.le=function(e,t){if(H(e)||H(t))throw new TypeError("NaN is not a valid value");return!W.infinite(e)&&!W.infinite(t)&&e<=t},W.lt=function(e,t){if(H(e)||H(t))throw new TypeError("NaN is not a valid value");return!W.infinite(e)&&!W.infinite(t)&&e=t&&e<=n},W.object=function(e){return"[object Object]"===G.call(e)},W.primitive=function(e){return!e||!("object"==typeof e||W.object(e)||W.fn(e)||W.array(e))},W.hash=function(e){return W.object(e)&&e.constructor===Object&&!e.nodeType&&!e.setInterval},W.regexp=function(e){return"[object RegExp]"===G.call(e)},W.string=function(e){return"[object String]"===G.call(e)},W.base64=function(e){return W.string(e)&&(!e.length||z.test(e))},W.hex=function(e){return W.string(e)&&(!e.length||J.test(e))},W.symbol=function(e){return"function"==typeof Symbol&&"[object Symbol]"===G.call(e)&&"symbol"==typeof N.call(e)},W.bigint=function(e){return"function"==typeof BigInt&&"[object BigInt]"===G.call(e)&&"bigint"==typeof L.call(e)};var $,Y=W,Q=Object.prototype.hasOwnProperty,Z=function(e){for(var t=Array.prototype.slice.call(arguments,1),n=0;n-1&&s.push([a,n[a]])}},{key:"initAfterPage",value:function(){var e,t=this;e=function(){var e,n,r=t.isVideo?"chartbeat_video.js":"chartbeat.js";e=document.createElement("script"),n=document.getElementsByTagName("script")[0],e.type="text/javascript",e.async=!0,e.src="//static.chartbeat.com/js/"+r,n.parentNode.insertBefore(e,n)},we?Ee(e):ke.push(e),this._isReady(this).then((function(e){l.debug("===replaying on chartbeat==="),e.replayEvents.forEach((function(t){e[t[0]](t[1])}))}))}},{key:"pause",value:function(e){return new Promise((function(t){setTimeout(t,e)}))}},{key:"_isReady",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return new Promise((function(r){return t.isLoaded()?(t.failed=!1,l.debug("===chartbeat loaded successfully==="),e.analytics.emit("ready"),r(e)):n>=1e4?(t.failed=!0,l.debug("===chartbeat failed==="),r(e)):void t.pause(1e3).then((function(){return t._isReady(e,n+1e3).then(r)}))}))}}]),e}(),Ae=function(){function e(t,r){n(this,e),this.c2ID=t.c2ID,this.analytics=r,this.comScoreBeaconParam=t.comScoreBeaconParam?t.comScoreBeaconParam:{},this.isFirstPageCallMade=!1,this.failed=!1,this.comScoreParams={},this.replayEvents=[],this.name="COMSCORE"}return i(e,[{key:"init",value:function(){l.debug("===in init Comscore init===")}},{key:"identify",value:function(e){l.debug("in Comscore identify")}},{key:"track",value:function(e){l.debug("in Comscore track")}},{key:"page",value:function(e){if(l.debug("in Comscore page"),this.loadConfig(e),this.isFirstPageCallMade){if(this.failed)return void(this.replayEvents=[]);if(!this.isLoaded()&&!this.failed)return void this.replayEvents.push(["page",e]);e.message.properties;window.COMSCORE.beacon(this.comScoreParams)}else this.isFirstPageCallMade=!0,this.initAfterPage()}},{key:"loadConfig",value:function(e){l.debug("=====in loadConfig====="),this.comScoreParams=this.mapComscoreParams(e.message.properties),window._comscore=window._comscore||[],window._comscore.push(this.comScoreParams)}},{key:"initAfterPage",value:function(){l.debug("=====in initAfterPage====="),function(){var e=document.createElement("script"),t=document.getElementsByTagName("script")[0];e.async=!0,e.src=("https:"==document.location.protocol?"https://sb":"http://b")+".scorecardresearch.com/beacon.js",t.parentNode.insertBefore(e,t)}(),this._isReady(this).then((function(e){e.replayEvents.forEach((function(t){e[t[0]](t[1])}))}))}},{key:"pause",value:function(e){return new Promise((function(t){setTimeout(t,e)}))}},{key:"_isReady",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return new Promise((function(r){return t.isLoaded()?(t.failed=!1,e.analytics.emit("ready"),r(e)):n>=1e4?(t.failed=!0,r(e)):void t.pause(1e3).then((function(){return t._isReady(e,n+1e3).then(r)}))}))}},{key:"mapComscoreParams",value:function(e){l.debug("=====in mapComscoreParams=====");var t=this.comScoreBeaconParam,n={};return Object.keys(t).forEach((function(r){if(r in e){var i=t[r],o=e[r];n[i]=o}})),n.c1="2",n.c2=this.c2ID,l.debug("=====in mapComscoreParams=====",n),n}},{key:"isLoaded",value:function(){return l.debug("in Comscore isLoaded"),!this.isFirstPageCallMade||!!window.COMSCORE}},{key:"isReady",value:function(){return!!window.COMSCORE}}]),e}(),Te=Object.prototype.toString;var Ce=function e(t){var n=function(e){switch(Te.call(e)){case"[object Date]":return"date";case"[object RegExp]":return"regexp";case"[object Arguments]":return"arguments";case"[object Array]":return"array";case"[object Error]":return"error"}return null===e?"null":void 0===e?"undefined":e!=e?"nan":e&&1===e.nodeType?"element":null!=(t=e)&&(t._isBuffer||t.constructor&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t))?"buffer":typeof(e=e.valueOf?e.valueOf():Object.prototype.valueOf.apply(e));var t}(t);if("object"===n){var r={};for(var i in t)t.hasOwnProperty(i)&&(r[i]=e(t[i]));return r}if("array"===n){r=new Array(t.length);for(var o=0,s=t.length;o1e4)return;var t=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(!t)return;var n=parseFloat(t[1]);switch((t[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return n*Re;case"days":case"day":case"d":return n*xe;case"hours":case"hour":case"hrs":case"hr":case"h":return n*je;case"minutes":case"minute":case"mins":case"min":case"m":return n*Se;case"seconds":case"second":case"secs":case"sec":case"s":return n*Oe;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n}}(e):t.long?function(e){return Ue(e,xe,"day")||Ue(e,je,"hour")||Ue(e,Se,"minute")||Ue(e,Oe,"second")||e+" ms"}(e):function(e){return e>=xe?Math.round(e/xe)+"d":e>=je?Math.round(e/je)+"h":e>=Se?Math.round(e/Se)+"m":e>=Oe?Math.round(e/Oe)+"s":e+"ms"}(e)};function Ue(e,t,n){if(!(e=31},t.storage="undefined"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(e){}}(),t.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],t.formatters.j=function(e){return JSON.stringify(e)},t.enable(n())}))),Le=(Ne.log,Ne.formatArgs,Ne.save,Ne.load,Ne.useColors,Ne.storage,Ne.colors,Ne("cookie")),Me=function(e,t,n){switch(arguments.length){case 3:case 2:return Be(e,t,n);case 1:return Ke(e);default:return Fe()}};function Be(e,t,n){n=n||{};var r=qe(e)+"="+qe(t);null==t&&(n.maxage=-1),n.maxage&&(n.expires=new Date(+new Date+n.maxage)),n.path&&(r+="; path="+n.path),n.domain&&(r+="; domain="+n.domain),n.expires&&(r+="; expires="+n.expires.toUTCString()),n.samesite&&(r+="; samesite="+n.samesite),n.secure&&(r+="; secure"),document.cookie=r}function Fe(){var e;try{e=document.cookie}catch(e){return"undefined"!=typeof console&&"function"==typeof console.error&&console.error(e.stack||e),{}}return function(e){var t,n={},r=e.split(/ *; */);if(""==r[0])return n;for(var i=0;i1)))/4)-l((e-1901+t)/100)+l((e-1601+t)/400)};t=function(e){for(i=l(e/864e5),n=l(i/365.2425)+1970-1;p(n+1,0)<=i;n++);for(r=l((i-p(n,0))/30.42);p(n,r+1)<=i;r++);i=1+i-p(n,r),s=l((o=(e%864e5+864e5)%864e5)/36e5)%24,a=l(o/6e4)%60,u=l(o/1e3)%60,c=o%1e3}}return(I=function(e){return e>-1/0&&e<1/0?(t(e),e=(n<=0||n>=1e4?(n<0?"-":"+")+E(6,n<0?-n:n):E(4,n))+"-"+E(2,r+1)+"-"+E(2,i)+"T"+E(2,s)+":"+E(2,a)+":"+E(2,u)+"."+E(3,c)+"Z",n=r=i=s=a=u=c=null):e=null,e})(e)};if(b("json-stringify")&&!b("date-serialization")){function A(e){return I(this)}var T=t.stringify;t.stringify=function(e,t,n){var r=u.prototype.toJSON;u.prototype.toJSON=A;var i=T(e,t,n);return u.prototype.toJSON=r,i}}else{var C=function(e){var t=e.charCodeAt(0),n=_[t];return n||"\\u00"+E(2,t.toString(16))},O=/[\x00-\x1f\x22\x5c]/g,S=function(e){return O.lastIndex=0,'"'+(O.test(e)?e.replace(O,C):e)+'"'},j=function(e,t,n,r,i,o,s){var a,c,d,f,h,y,v,b,w;if(m((function(){a=t[e]})),"object"==typeof a&&a&&(a.getUTCFullYear&&"[object Date]"==g.call(a)&&a.toJSON===u.prototype.toJSON?a=I(a):"function"==typeof a.toJSON&&(a=a.toJSON(e))),n&&(a=n.call(t,e,a)),a==p)return a===p?a:"null";switch("object"==(c=typeof a)&&(d=g.call(a)),d||c){case"boolean":case"[object Boolean]":return""+a;case"number":case"[object Number]":return a>-1/0&&a<1/0?""+a:"null";case"string":case"[object String]":return S(""+a)}if("object"==typeof a){for(v=s.length;v--;)if(s[v]===a)throw l();if(s.push(a),f=[],b=o,o+=i,"[object Array]"==d){for(y=0,v=a.length;y0)for(r>10&&(r=10),i="";i.length=48&&i<=57||i>=97&&i<=102||i>=65&&i<=70||D();e+=P("0x"+o.slice(t,x));break;default:D()}else{if(34==i)break;for(i=o.charCodeAt(x),t=x;i>=32&&92!=i&&34!=i;)i=o.charCodeAt(++x);e+=o.slice(t,x)}if(34==o.charCodeAt(x))return x++,e;D();default:if(t=x,45==i&&(r=!0,i=o.charCodeAt(++x)),i>=48&&i<=57){for(48==i&&((i=o.charCodeAt(x+1))>=48&&i<=57)&&D(),r=!1;x=48&&i<=57);x++);if(46==o.charCodeAt(x)){for(n=++x;n57);n++);n==x&&D(),x=n}if(101==(i=o.charCodeAt(x))||69==i){for(43!=(i=o.charCodeAt(++x))&&45!=i||x++,n=x;n57);n++);n==x&&D(),x=n}return+o.slice(t,x)}r&&D();var a=o.slice(x,x+4);if("true"==a)return x+=4,!0;if("fals"==a&&101==o.charCodeAt(x+4))return x+=5,!1;if("null"==a)return x+=4,null;D()}return"$"},L=function(e){var t,n;if("$"==e&&D(),"string"==typeof e){if("@"==(w?e.charAt(0):e[0]))return e.slice(1);if("["==e){for(t=[];"]"!=(e=N());)n?","==e?"]"==(e=N())&&D():D():n=!0,","==e&&D(),t.push(L(e));return t}if("{"==e){for(t={};"}"!=(e=N());)n?","==e?"}"==(e=N())&&D():D():n=!0,","!=e&&"string"==typeof e&&"@"==(w?e.charAt(0):e[0])&&":"==N()||D(),t[e.slice(1)]=L(N());return t}D()}return e},M=function(e,t,n){var r=B(e,t,n);r===p?delete e[t]:e[t]=r},B=function(e,t,n){var r,i=e[t];if("object"==typeof i&&i)if("[object Array]"==g.call(i))for(r=i.length;r--;)M(g,k,i);else k(i,(function(e){M(i,e,n)}));return n.call(e,t,i)};t.parse=function(e,t){var n,r;return x=0,R=""+e,n=L(N()),"$"!=N()&&D(),x=R=null,t&&"[object Function]"==g.call(t)?B(((r={})[""]=n,r),"",t):n}}}return t.runInContext=s,t}if(!o||o.global!==o&&o.window!==o&&o.self!==o||(i=o),r)s(i,r);else{var a=i.JSON,u=i.JSON3,c=!1,l=s(i,i.JSON3={noConflict:function(){return c||(c=!0,i.JSON=a,i.JSON3=u,a=u=null),l}});i.JSON={parse:l.parse,stringify:l.stringify}}}).call(S)})),ot=j((function(e,t){function n(e){switch(e){case"http:":return 80;case"https:":return 443;default:return location.port}}t.parse=function(e){var t=document.createElement("a");return t.href=e,{href:t.href,host:t.host||location.host,port:"0"===t.port||""===t.port?n(t.protocol):t.port,hash:t.hash,hostname:t.hostname||location.hostname,pathname:"/"!=t.pathname.charAt(0)?"/"+t.pathname:t.pathname,protocol:t.protocol&&":"!=t.protocol?t.protocol:location.protocol,search:t.search,query:t.search.slice(1)}},t.isAbsolute=function(e){return 0==e.indexOf("//")||!!~e.indexOf("://")},t.isRelative=function(e){return!t.isAbsolute(e)},t.isCrossDomain=function(e){e=t.parse(e);var n=t.parse(window.location.href);return e.hostname!==n.hostname||e.port!==n.port||e.protocol!==n.protocol}})),st=(ot.parse,ot.isAbsolute,ot.isRelative,ot.isCrossDomain,1e3),at=60*st,ut=60*at,ct=24*ut,lt=365.25*ct,dt=function(e,t){return t=t||{},"string"==typeof e?function(e){if((e=""+e).length>1e4)return;var t=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(!t)return;var n=parseFloat(t[1]);switch((t[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return n*lt;case"days":case"day":case"d":return n*ct;case"hours":case"hour":case"hrs":case"hr":case"h":return n*ut;case"minutes":case"minute":case"mins":case"min":case"m":return n*at;case"seconds":case"second":case"secs":case"sec":case"s":return n*st;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n}}(e):t.long?function(e){return ft(e,ct,"day")||ft(e,ut,"hour")||ft(e,at,"minute")||ft(e,st,"second")||e+" ms"}(e):function(e){return e>=ct?Math.round(e/ct)+"d":e>=ut?Math.round(e/ut)+"h":e>=at?Math.round(e/at)+"m":e>=st?Math.round(e/st)+"s":e+"ms"}(e)};function ft(e,t,n){if(!(e=31},t.storage="undefined"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(e){}}(),t.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],t.formatters.j=function(e){return JSON.stringify(e)},t.enable(n())}))),gt=(ht.log,ht.formatArgs,ht.save,ht.load,ht.useColors,ht.storage,ht.colors,ht("cookie")),yt=function(e,t,n){switch(arguments.length){case 3:case 2:return mt(e,t,n);case 1:return bt(e);default:return vt()}};function mt(e,t,n){n=n||{};var r=wt(e)+"="+wt(t);null==t&&(n.maxage=-1),n.maxage&&(n.expires=new Date(+new Date+n.maxage)),n.path&&(r+="; path="+n.path),n.domain&&(r+="; domain="+n.domain),n.expires&&(r+="; expires="+n.expires.toUTCString()),n.secure&&(r+="; secure"),n.samesite&&(r+="; samesite="+n.samesite),document.cookie=r}function vt(){var e;try{e=document.cookie}catch(e){return"undefined"!=typeof console&&"function"==typeof console.error&&console.error(e.stack||e),{}}return function(e){var t,n={},r=e.split(/ *; */);if(""==r[0])return n;for(var i=0;i=0;--o)i.push(t.slice(o).join("."));return i},r.cookie=yt,t=e.exports=r})),Et=new(function(){function e(t){n(this,e),this._options={},this.options(t)}return i(e,[{key:"options",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(0===arguments.length)return this._options;var t="."+_t(window.location.href);"."===t&&(t=null),this._options=nt(e,{maxage:31536e6,path:"/",domain:t,samesite:"Lax"}),this.set("test_rudder",!0),this.get("test_rudder")||(this._options.domain=null),this.remove("test_rudder")}},{key:"set",value:function(e,t){try{return t=it.stringify(t),Me(e,t,Ce(this._options)),!0}catch(e){return!1}}},{key:"get",value:function(e){try{var t=Me(e);return t=t?it.parse(t):null}catch(e){return null}}},{key:"remove",value:function(e){try{return Me(e,null,Ce(this._options)),!0}catch(e){return!1}}}]),e}())({}),It=function(){var e,t={},n="undefined"!=typeof window?window:S,r=n.document,i="localStorage";if(t.disabled=!1,t.version="1.3.20",t.set=function(e,t){},t.get=function(e,t){},t.has=function(e){return void 0!==t.get(e)},t.remove=function(e){},t.clear=function(){},t.transact=function(e,n,r){null==r&&(r=n,n=null),null==n&&(n={});var i=t.get(e,n);r(i),t.set(e,i)},t.getAll=function(){var e={};return t.forEach((function(t,n){e[t]=n})),e},t.forEach=function(){},t.serialize=function(e){return it.stringify(e)},t.deserialize=function(e){if("string"==typeof e)try{return it.parse(e)}catch(t){return e||void 0}},function(){try{return i in n&&n[i]}catch(e){return!1}}())e=n[i],t.set=function(n,r){return void 0===r?t.remove(n):(e.setItem(n,t.serialize(r)),r)},t.get=function(n,r){var i=t.deserialize(e.getItem(n));return void 0===i?r:i},t.remove=function(t){e.removeItem(t)},t.clear=function(){e.clear()},t.forEach=function(n){for(var r=0;rdocument.w=window<\/script>'),s.close(),o=s.w.frames[0].document,e=o.createElement("div")}catch(t){e=r.createElement("div"),o=r.body}var a=function(n){return function(){var r=Array.prototype.slice.call(arguments,0);r.unshift(e),o.appendChild(e),e.addBehavior("#default#userData"),e.load(i);var s=n.apply(t,r);return o.removeChild(e),s}},u=new RegExp("[!\"#$%&'()*+,/\\\\:;<=>?@[\\]^`{|}~]","g"),c=function(e){return e.replace(/^d/,"___$&").replace(u,"___")};t.set=a((function(e,n,r){return n=c(n),void 0===r?t.remove(n):(e.setAttribute(n,t.serialize(r)),e.save(i),r)})),t.get=a((function(e,n,r){n=c(n);var i=t.deserialize(e.getAttribute(n));return void 0===i?r:i})),t.remove=a((function(e,t){t=c(t),e.removeAttribute(t),e.save(i)})),t.clear=a((function(e){var t=e.XMLDocument.documentElement.attributes;e.load(i);for(var n=t.length-1;n>=0;n--)e.removeAttribute(t[n].name);e.save(i)})),t.forEach=a((function(e,n){for(var r,i=e.XMLDocument.documentElement.attributes,o=0;r=i[o];++o)n(r.name,t.deserialize(e.getAttribute(r.name)))}))}try{var l="__storejs__";t.set(l,l),t.get(l)!=l&&(t.disabled=!0),t.remove(l)}catch(e){t.disabled=!0}return t.enabled=!t.disabled,t}(),At=new(function(){function e(t){n(this,e),this._options={},this.enabled=!1,this.options(t)}return i(e,[{key:"options",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(0===arguments.length)return this._options;nt(e,{enabled:!0}),this.enabled=e.enabled&&It.enabled,this._options=e}},{key:"set",value:function(e,t){return!!this.enabled&&It.set(e,t)}},{key:"get",value:function(e){return this.enabled?It.get(e):null}},{key:"remove",value:function(e){return!!this.enabled&&It.remove(e)}}]),e}())({}),Tt="rl_user_id",Ct="rl_trait",Ot="rl_anonymous_id",St="rl_group_id",jt="rl_group_trait",xt=new(function(){function e(){if(n(this,e),Et.set("rudder_cookies",!0),Et.get("rudder_cookies"))return Et.remove("rudder_cookies"),void(this.storage=Et);At.enabled&&(this.storage=At)}return i(e,[{key:"setItem",value:function(e,t){this.storage.set(e,t)}},{key:"setUserId",value:function(e){"string"==typeof e?this.storage.set(Tt,e):l.error("userId should be string")}},{key:"setUserTraits",value:function(e){this.storage.set(Ct,e)}},{key:"setGroupId",value:function(e){"string"==typeof e?this.storage.set(St,e):l.error("groupId should be string")}},{key:"setGroupTraits",value:function(e){this.storage.set(jt,e)}},{key:"setAnonymousId",value:function(e){"string"==typeof e?this.storage.set(Ot,e):l.error("anonymousId should be string")}},{key:"getItem",value:function(e){return this.storage.get(e)}},{key:"getUserId",value:function(){return this.storage.get(Tt)}},{key:"getUserTraits",value:function(){return this.storage.get(Ct)}},{key:"getGroupId",value:function(){return this.storage.get(St)}},{key:"getGroupTraits",value:function(){return this.storage.get(jt)}},{key:"getAnonymousId",value:function(){return this.storage.get(Ot)}},{key:"removeItem",value:function(e){return this.storage.remove(e)}},{key:"clear",value:function(){this.storage.remove(Tt),this.storage.remove(Ct),this.storage.remove(Ot)}}]),e}()),Rt="lt_synch_timestamp",Pt=new(function(){function e(){n(this,e),this.storage=xt}return i(e,[{key:"setLotameSynchTime",value:function(e){this.storage.setItem(Rt,e)}},{key:"getLotameSynchTime",value:function(){return this.storage.getItem(Rt)}}]),e}()),Ut={HS:_,GA:E,HOTJAR:I,GOOGLEADS:A,VWO:T,GTM:C,BRAZE:O,INTERCOM:B,KEEN:F,KISSMETRICS:fe,CUSTOMERIO:pe,CHARTBEAT:Ie,COMSCORE:Ae,LOTAME:function(){function e(t,r){var i=this;n(this,e),this.name="LOTAME",this.analytics=r,this.storage=Pt,this.bcpUrlSettings=t.bcpUrlSettings,this.dspUrlSettings=t.dspUrlSettings,this.mappings={},t.mappings.forEach((function(e){var t=e.key,n=e.value;i.mappings[t]=n}))}return i(e,[{key:"init",value:function(){l.debug("===in init Lotame==="),window.LOTAME_SYNCH_CALLBACK=function(){}}},{key:"addPixel",value:function(e,t,n){var r=document.createElement("img");r.src=e,r.setAttribute("width",t),r.setAttribute("height",n),document.getElementsByTagName("body")[0].appendChild(r)}},{key:"syncPixel",value:function(e){var t=this;l.debug("===== in syncPixel ======"),this.dspUrlSettings&&this.dspUrlSettings.length>0&&this.dspUrlSettings.forEach((function(n){var r=t.compileUrl(a({},t.mappings,{userId:e}),n.dspUrlTemplate);t.addPixel(r,"1","1")})),this.storage.setLotameSynchTime(Date.now()),this.analytics.methodToCallbackMapping.syncPixel&&this.analytics.emit("syncPixel",{destination:this.name})}},{key:"compileUrl",value:function(e,t){return Object.keys(e).forEach((function(n){if(e.hasOwnProperty(n)){var r=new RegExp("{{"+n+"}}","gi");t=t.replace(r,e[n])}})),t}},{key:"identify",value:function(e){l.debug("in Lotame identify");var t=e.message.userId;this.syncPixel(t)}},{key:"track",value:function(e){l.debug("track not supported for lotame")}},{key:"page",value:function(e){var t=this;l.debug("in Lotame page"),this.bcpUrlSettings&&this.bcpUrlSettings.length>0&&this.bcpUrlSettings.forEach((function(e){var n=t.compileUrl(a({},t.mappings),e.bcpUrlTemplate);t.addPixel(n,"1","1")})),e.message.userId&&this.isPixelToBeSynched()&&this.syncPixel(e.message.userId)}},{key:"isPixelToBeSynched",value:function(){var e=this.storage.getLotameSynchTime(),t=Date.now();return!e||Math.floor((t-e)/864e5)>=7}},{key:"isLoaded",value:function(){return l.debug("in Lotame isLoaded"),!0}},{key:"isReady",value:function(){return!0}}]),e}()},Dt=function e(){n(this,e),this.build="1.0.0",this.name="RudderLabs JavaScript SDK",this.namespace="com.rudderlabs.javascript",this.version="1.1.1-rc.2"},Nt=function e(){n(this,e),this.name="RudderLabs JavaScript SDK",this.version="1.1.1-rc.2"},Lt=function e(){n(this,e),this.name="",this.version=""},Mt=function e(){n(this,e),this.density=0,this.width=0,this.height=0},Bt=function e(){n(this,e),this.app=new Dt,this.traits=null,this.library=new Nt;var t=new Lt;t.version="";var r=new Mt;r.width=window.width,r.height=window.height,r.density=window.devicePixelRatio,this.userAgent=navigator.userAgent,this.locale=navigator.language||navigator.browserLanguage,this.os=t,this.screen=r,this.device=null,this.network=null},Ft=function(){function e(){n(this,e),this.channel="web",this.context=new Bt,this.type=null,this.action=null,this.messageId=f().toString(),this.originalTimestamp=(new Date).toISOString(),this.anonymousId=null,this.userId=null,this.event=null,this.properties={},this.integrations={},this.integrations.All=!0}return i(e,[{key:"getProperty",value:function(e){return this.properties[e]}},{key:"addProperty",value:function(e,t){this.properties[e]=t}},{key:"validateFor",value:function(e){if(!this.properties)throw new Error("Key properties is required");switch(e){case v.TRACK:if(!this.event)throw new Error("Key event is required for track event");if(this.event in Object.values(b))switch(this.event){case b.CHECKOUT_STEP_VIEWED:case b.CHECKOUT_STEP_COMPLETED:case b.PAYMENT_INFO_ENTERED:this.checkForKey("checkout_id"),this.checkForKey("step");break;case b.PROMOTION_VIEWED:case b.PROMOTION_CLICKED:this.checkForKey("promotion_id");break;case b.ORDER_REFUNDED:this.checkForKey("order_id")}else this.properties.category||(this.properties.category=this.event);break;case v.PAGE:break;case v.SCREEN:if(!this.properties.name)throw new Error("Key 'name' is required in properties")}}},{key:"checkForKey",value:function(e){if(!this.properties[e])throw new Error("Key '"+e+"' is required in properties")}}]),e}(),Kt=function(){function e(){n(this,e),this.message=new Ft}return i(e,[{key:"setType",value:function(e){this.message.type=e}},{key:"setProperty",value:function(e){this.message.properties=e}},{key:"setUserProperty",value:function(e){this.message.user_properties=e}},{key:"setUserId",value:function(e){this.message.userId=e}},{key:"setEventName",value:function(e){this.message.event=e}},{key:"updateTraits",value:function(e){this.message.context.traits=e}},{key:"getElementContent",value:function(){return this.message}}]),e}(),qt=function(){function e(){n(this,e),this.rudderProperty=null,this.rudderUserProperty=null,this.event=null,this.userId=null,this.channel=null,this.type=null}return i(e,[{key:"setProperty",value:function(e){return this.rudderProperty=e,this}},{key:"setPropertyBuilder",value:function(e){return this.rudderProperty=e.build(),this}},{key:"setUserProperty",value:function(e){return this.rudderUserProperty=e,this}},{key:"setUserPropertyBuilder",value:function(e){return this.rudderUserProperty=e.build(),this}},{key:"setEvent",value:function(e){return this.event=e,this}},{key:"setUserId",value:function(e){return this.userId=e,this}},{key:"setChannel",value:function(e){return this.channel=e,this}},{key:"setType",value:function(e){return this.type=e,this}},{key:"build",value:function(){var e=new Kt;return e.setUserId(this.userId),e.setType(this.type),e.setEventName(this.event),e.setProperty(this.rudderProperty),e.setUserProperty(this.rudderUserProperty),e}}]),e}(),Gt=function e(){n(this,e),this.batch=null,this.writeKey=null},Ht=j((function(e){var t="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof window.msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto);if(t){var n=new Uint8Array(16);e.exports=function(){return t(n),n}}else{var r=new Array(16);e.exports=function(){for(var e,t=0;t<16;t++)0==(3&t)&&(e=4294967296*Math.random()),r[t]=e>>>((3&t)<<3)&255;return r}}})),Vt=[],zt=0;zt<256;++zt)Vt[zt]=(zt+256).toString(16).substr(1);var Jt,Wt,$t=function(e,t){var n=t||0,r=Vt;return[r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]]].join("")},Yt=0,Qt=0;var Zt=function(e,t,n){var r=t&&n||0,i=t||[],o=(e=e||{}).node||Jt,s=void 0!==e.clockseq?e.clockseq:Wt;if(null==o||null==s){var a=Ht();null==o&&(o=Jt=[1|a[0],a[1],a[2],a[3],a[4],a[5]]),null==s&&(s=Wt=16383&(a[6]<<8|a[7]))}var u=void 0!==e.msecs?e.msecs:(new Date).getTime(),c=void 0!==e.nsecs?e.nsecs:Qt+1,l=u-Yt+(c-Qt)/1e4;if(l<0&&void 0===e.clockseq&&(s=s+1&16383),(l<0||u>Yt)&&void 0===e.nsecs&&(c=0),c>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");Yt=u,Qt=c,Wt=s;var d=(1e4*(268435455&(u+=122192928e5))+c)%4294967296;i[r++]=d>>>24&255,i[r++]=d>>>16&255,i[r++]=d>>>8&255,i[r++]=255&d;var f=u/4294967296*1e4&268435455;i[r++]=f>>>8&255,i[r++]=255&f,i[r++]=f>>>24&15|16,i[r++]=f>>>16&255,i[r++]=s>>>8|128,i[r++]=255&s;for(var p=0;p<6;++p)i[r+p]=o[p];return t||$t(i)};var Xt=function(e,t,n){var r=t&&n||0;"string"==typeof e&&(t="binary"===e?new Array(16):null,e=null);var i=(e=e||{}).random||(e.rng||Ht)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,t)for(var o=0;o<16;++o)t[r+o]=i[o];return t||$t(i)},en=Xt;en.v1=Zt,en.v4=Xt;var tn=en,nn=Object.prototype.hasOwnProperty,rn=String.prototype.charAt,on=Object.prototype.toString,sn=function(e,t){return rn.call(e,t)},an=function(e,t){return nn.call(e,t)},un=function(e,t){t=t||an;for(var n=[],r=0,i=e.length;r=36e5?(e/36e5).toFixed(1)+"h":e>=6e4?(e/6e4).toFixed(1)+"m":e>=1e3?(e/1e3|0)+"s":e+"ms"},On.enabled=function(e){for(var t=0,n=On.skips.length;tthis.maxAttempts)},Un.prototype.getDelay=function(e){var t=this.backoff.MIN_RETRY_DELAY*Math.pow(this.backoff.FACTOR,e);if(this.backoff.JITTER){var n=Math.random(),r=Math.floor(n*this.backoff.JITTER*t);Math.floor(10*n)<5?t-=r:t+=r}return Number(Math.min(t,this.backoff.MAX_RETRY_DELAY).toPrecision(1))},Un.prototype.addItem=function(e){this._enqueue({item:e,attemptNumber:0,time:this._schedule.now()})},Un.prototype.requeue=function(e,t,n){this.shouldRetry(e,t,n)?this._enqueue({item:e,attemptNumber:t,time:this._schedule.now()+this.getDelay(t)}):this.emit("discard",e,t)},Un.prototype._enqueue=function(e){var t=this._store.get(this.keys.QUEUE)||[];(t=t.slice(-(this.maxItems-1))).push(e),t=t.sort((function(e,t){return e.time-t.time})),this._store.set(this.keys.QUEUE,t),this._running&&this._processHead()},Un.prototype._processHead=function(){var e=this,t=this._store;this._schedule.cancel(this._processId);var n=t.get(this.keys.QUEUE)||[],r=t.get(this.keys.IN_PROGRESS)||{},i=this._schedule.now(),o=[];function s(n,r){o.push({item:n.item,done:function(i,o){var s=t.get(e.keys.IN_PROGRESS)||{};delete s[r],t.set(e.keys.IN_PROGRESS,s),e.emit("processed",i,o,n.item),i&&e.requeue(n.item,n.attemptNumber+1,i)}})}for(var a=Object.keys(r).length;n.length&&n[0].time<=i&&a++0&&(this._processId=this._schedule.run(this._processHead,n[0].time-i))},Un.prototype._ack=function(){this._store.set(this.keys.ACK,this._schedule.now()),this._store.set(this.keys.RECLAIM_START,null),this._store.set(this.keys.RECLAIM_END,null),this._schedule.run(this._ack,this.timeouts.ACK_TIMER)},Un.prototype._checkReclaim=function(){var e=this;vn((function(t){t.id!==e.id&&(e._schedule.now()-t.get(e.keys.ACK)=500&&o.status<600?(h(new Error("request failed with status: "+o.status+o.statusText+" for url: "+e)),i(new Error("request failed with status: "+o.status+o.statusText+" for url: "+e))):(l.debug("====== request processed successfully: "+o.status),i(null,o.status)))},o.send(JSON.stringify(n,d))}catch(e){i(e)}}},{key:"enqueue",value:function(e,t){var n={"Content-Type":"application/json",Authorization:"Basic "+btoa(this.writeKey+":")},r=e.getElementContent();r.originalTimestamp=p(),r.sentAt=p(),JSON.stringify(r).length>32e3&&l.error("message length greater 32 Kb ",r);var i="/"==this.url.slice(-1)?this.url.slice(0,-1):this.url;this.payloadQueue.addItem({url:i+"/v1/"+t,headers:n,message:r})}}]),e}());function Mn(e){var t=function(t){var n=(t=t||window.event).target||t.srcElement;Gn(n)&&(n=n.parentNode),Fn(n,t)?l.debug("to be tracked ",t.type):l.debug("not to be tracked ",t.type),function(e,t){var n=e.target||e.srcElement,r=void 0;Gn(n)&&(n=n.parentNode);if(Fn(n,e)){if("form"==n.tagName.toLowerCase()){r={};for(var i=0;i-1)return!0}return!1}function zn(e){return!(Hn(e).split(" ").indexOf("rudder-no-track")>=0)}function Jn(e){if(e.previousElementSibling)return e.previousElementSibling;do{e=e.previousSibling}while(e&&!qn(e));return e}var Wn=function(e,t,n){var r=!1;return n=n||$n,i.count=e,0===e?t():i;function i(e,o){if(i.count<=0)throw new Error("after called too many times");--i.count,e?(r=!0,t(e),t=n):0!==i.count||r||t(null,o)}};function $n(){}function Yn(e,t){this.eventRepository||(this.eventRepository=Ln),this.eventRepository.enqueue(e,t)}var Qn=function(){function e(){n(this,e),this.autoTrackHandlersRegistered=!1,this.autoTrackFeatureEnabled=!1,this.initialized=!1,this.trackValues=[],this.eventsBuffer=[],this.clientIntegrations=[],this.configArray=[],this.clientIntegrationObjects=void 0,this.successfullyLoadedIntegration=[],this.failedToBeLoadedIntegration=[],this.toBeProcessedArray=[],this.toBeProcessedByIntegrationArray=[],this.storage=xt,this.userId=null!=this.storage.getUserId()?this.storage.getUserId():"",this.userTraits=null!=this.storage.getUserTraits()?this.storage.getUserTraits():{},this.groupId=null!=this.storage.getGroupId()?this.storage.getGroupId():"",this.groupTraits=null!=this.storage.getGroupTraits()?this.storage.getGroupTraits():{},this.anonymousId=this.getAnonymousId(),this.storage.setUserId(this.userId),this.eventRepository=Ln,this.readyCallback=function(){},this.executeReadyCallback=void 0,this.methodToCallbackMapping={syncPixel:"syncPixelCallback"}}return i(e,[{key:"processResponse",value:function(e,t){try{l.debug("===in process response=== "+e),(t=JSON.parse(t)).source.useAutoTracking&&!this.autoTrackHandlersRegistered&&(this.autoTrackFeatureEnabled=!0,Mn(this),this.autoTrackHandlersRegistered=!0),t.source.destinations.forEach((function(e,t){l.debug("Destination "+t+" Enabled? "+e.enabled+" Type: "+e.destinationDefinition.name+" Use Native SDK? "+e.config.useNativeSDK),e.enabled&&(this.clientIntegrations.push(e.destinationDefinition.name),this.configArray.push(e.config))}),this),this.init(this.clientIntegrations,this.configArray)}catch(e){h(e),l.debug("===handling config BE response processing error==="),l.debug("autoTrackHandlersRegistered",this.autoTrackHandlersRegistered),this.autoTrackFeatureEnabled&&!this.autoTrackHandlersRegistered&&(Mn(this),this.autoTrackHandlersRegistered=!0)}}},{key:"init",value:function(e,t){var n=this,r=this;if(l.debug("supported intgs ",Ut),!e||0==e.length)return this.readyCallback&&this.readyCallback(),void(this.toBeProcessedByIntegrationArray=[]);e.forEach((function(e,i){var o=new(0,Ut[e])(t[i],r);o.init(),l.debug("initializing destination: ",e),n.isInitialized(o).then(n.replayEvents)}))}},{key:"replayEvents",value:function(e){e.successfullyLoadedIntegration.length+e.failedToBeLoadedIntegration.length==e.clientIntegrations.length&&e.toBeProcessedByIntegrationArray.length>0&&(l.debug("===replay events called====",e.successfullyLoadedIntegration.length,e.failedToBeLoadedIntegration.length),e.clientIntegrationObjects=[],e.clientIntegrationObjects=e.successfullyLoadedIntegration,l.debug("==registering after callback===",e.clientIntegrationObjects.length),e.executeReadyCallback=Wn(e.clientIntegrationObjects.length,e.readyCallback),l.debug("==registering ready callback==="),e.on("ready",e.executeReadyCallback),e.clientIntegrationObjects.forEach((function(t){l.debug("===looping over each successful integration===="),t.isReady&&!t.isReady()||(l.debug("===letting know I am ready=====",t.name),e.emit("ready"))})),e.toBeProcessedByIntegrationArray.forEach((function(t){var n=t[0];t.shift();for(var r=t[0].message.integrations,i=0;i1&&void 0!==arguments[1]?arguments[1]:0;return new Promise((function(r){return e.isLoaded()?(l.debug("===integration loaded successfully====",e.name),t.successfullyLoadedIntegration.push(e),r(t)):n>=1e4?(l.debug("====max wait over===="),t.failedToBeLoadedIntegration.push(e),r(t)):void t.pause(1e3).then((function(){return l.debug("====after pause, again checking===="),t.isInitialized(e,n+1e3).then(r)}))}))}},{key:"page",value:function(e,n,r,i,o){"function"==typeof i&&(o=i,i=null),"function"==typeof r&&(o=r,i=r=null),"function"==typeof n&&(o=n,i=r=n=null),"object"===t(e)&&(i=n,r=e,n=e=null),"object"===t(n)&&(i=r,r=n,n=null),"string"==typeof e&&"string"!=typeof n&&(n=e,e=null),this.processPage(e,n,r,i,o)}},{key:"track",value:function(e,t,n,r){"function"==typeof n&&(r=n,n=null),"function"==typeof t&&(r=t,n=null,t=null),this.processTrack(e,t,n,r)}},{key:"identify",value:function(e,n,r,i){"function"==typeof r&&(i=r,r=null),"function"==typeof n&&(i=n,r=null,n=null),"object"==t(e)&&(r=n,n=e,e=this.userId),this.processIdentify(e,n,r,i)}},{key:"alias",value:function(e,n,r,i){"function"==typeof r&&(i=r,r=null),"function"==typeof n&&(i=n,r=null,n=null),"object"==t(n)&&(r=n,n=null);var o=(new qt).setType("alias").build();o.message.previousId=n||this.userId?this.userId:this.getAnonymousId(),o.message.userId=e,this.processAndSendDataToDestinations("alias",o,r,i)}},{key:"group",value:function(e,n,r,i){if(arguments.length){"function"==typeof r&&(i=r,r=null),"function"==typeof n&&(i=n,r=null,n=null),"object"==t(e)&&(r=n,n=e,e=this.groupId),this.groupId=e,this.storage.setGroupId(this.groupId);var o=(new qt).setType("group").build();if(n)for(var s in n)this.groupTraits[s]=n[s];else this.groupTraits={};this.storage.setGroupTraits(this.groupTraits),this.processAndSendDataToDestinations("group",o,r,i)}}},{key:"processPage",value:function(e,t,n,r,i){var o=(new qt).setType("page").build();t&&(o.message.name=t),n||(n={}),e&&(n.category=e),n&&(o.message.properties=this.getPageProperties(n)),this.trackPage(o,r,i)}},{key:"processTrack",value:function(e,t,n,r){var i=(new qt).setType("track").build();e&&i.setEventName(e),t?i.setProperty(t):i.setProperty({}),this.trackEvent(i,n,r)}},{key:"processIdentify",value:function(e,t,n,r){e&&this.userId&&e!==this.userId&&this.reset(),this.userId=e,this.storage.setUserId(this.userId);var i=(new qt).setType("identify").build();if(t){for(var o in t)this.userTraits[o]=t[o];this.storage.setUserTraits(this.userTraits)}this.identifyUser(i,n,r)}},{key:"identifyUser",value:function(e,t,n){e.message.userId&&(this.userId=e.message.userId,this.storage.setUserId(this.userId)),e&&e.message&&e.message.context&&e.message.context.traits&&(this.userTraits=Object.assign({},e.message.context.traits),this.storage.setUserTraits(this.userTraits)),this.processAndSendDataToDestinations("identify",e,t,n)}},{key:"trackPage",value:function(e,t,n){this.processAndSendDataToDestinations("page",e,t,n)}},{key:"trackEvent",value:function(e,t,n){this.processAndSendDataToDestinations("track",e,t,n)}},{key:"processAndSendDataToDestinations",value:function(e,t,n,r){try{this.anonymousId||this.setAnonymousId(),t.message.context.page=g(),t.message.context.traits=Object.assign({},this.userTraits),l.debug("anonymousId: ",this.anonymousId),t.message.anonymousId=this.anonymousId,t.message.userId=t.message.userId?t.message.userId:this.userId,"group"==e&&(this.groupId&&(t.message.groupId=this.groupId),this.groupTraits&&(t.message.traits=Object.assign({},this.groupTraits))),n&&this.processOptionsParam(t,n),l.debug(JSON.stringify(t));var i=t.message.integrations;this.clientIntegrationObjects&&this.clientIntegrationObjects.forEach((function(n){l.debug("called in normal flow"),(i[n.name]||null==i[n.name]&&i.All)&&(n.isFailed&&n.isFailed()||n[e](t))})),this.clientIntegrationObjects||(l.debug("pushing in replay queue"),this.toBeProcessedByIntegrationArray.push([e,t])),Yn.call(this,t,e),l.debug(e+" is called "),r&&r()}catch(e){h(e)}}},{key:"processOptionsParam",value:function(e,t){var n=["integrations","anonymousId","originalTimestamp"];for(var r in t)if(n.includes(r))e.message[r]=t[r];else if("context"!==r)e.message.context[r]=t[r];else for(var i in t[r])e.message.context[i]=t[r][i]}},{key:"getPageProperties",value:function(e){var t=g();for(var n in t)void 0===e[n]&&(e[n]=t[n]);return e}},{key:"reset",value:function(){this.userId="",this.userTraits={},this.anonymousId=this.setAnonymousId(),this.storage.clear()}},{key:"getAnonymousId",value:function(){return this.anonymousId=this.storage.getAnonymousId(),this.anonymousId||this.setAnonymousId(),this.anonymousId}},{key:"setAnonymousId",value:function(e){this.anonymousId=e||f(),this.storage.setAnonymousId(this.anonymousId)}},{key:"load",value:function(e,t,n){var r="https://api.rudderlabs.com/sourceConfig";if(!e||!t||0==t.length)throw h({message:"Unable to load due to wrong writeKey or serverUrl"}),Error("failed to initialize");n&&n.logLevel&&l.setLogLevel(n.logLevel),n&&n.configUrl&&(r=n.configUrl),l.debug("inside load "),this.eventRepository.writeKey=e,t&&(this.eventRepository.url=t),n&&n.valTrackingList&&n.valTrackingList.push==Array.prototype.push&&(this.trackValues=n.valTrackingList),n&&n.useAutoTracking&&(this.autoTrackFeatureEnabled=!0,this.autoTrackFeatureEnabled&&!this.autoTrackHandlersRegistered&&(Mn(this),this.autoTrackHandlersRegistered=!0,l.debug("autoTrackHandlersRegistered",this.autoTrackHandlersRegistered)));try{!function(e,t,n,r){var i,o=r.bind(e);(i=new XMLHttpRequest).open("GET",t,!0),i.setRequestHeader("Authorization","Basic "+btoa(n+":")),i.onload=function(){var e=i.status;200==e?(l.debug("status 200 calling callback"),o(200,i.responseText)):(h(new Error("request failed with status: "+i.status+" for url: "+t)),o(e))},i.send()}(this,r,e,this.processResponse)}catch(e){h(e),this.autoTrackFeatureEnabled&&!this.autoTrackHandlersRegistered&&Mn(Zn)}}},{key:"ready",value:function(e){"function"!=typeof e?l.error("ready callback is not a function"):this.readyCallback=e}},{key:"registerCallbacks",value:function(){var e=this;Object.keys(this.methodToCallbackMapping).forEach((function(t){if(e.methodToCallbackMapping.hasOwnProperty(t)){var n=window.rudderanalytics&&"function"==typeof window.rudderanalytics[e.methodToCallbackMapping[t]]?window.rudderanalytics[e.methodToCallbackMapping[t]]:function(){};l.debug("registerCallbacks",t,n),e.on(t,n)}}))}}]),e}();window.addEventListener("error",(function(e){h(e)}),!0);var Zn=new Qn;jn(Zn),Zn.registerCallbacks();var Xn=!!window.rudderanalytics&&window.rudderanalytics.push==Array.prototype.push,er=window.rudderanalytics?window.rudderanalytics[0]:[];if(er.length>0&&"load"==er[0]){var tr=er[0];er.shift(),l.debug("=====from init, calling method:: ",tr),Zn[tr].apply(Zn,u(er))}if(Xn){for(var nr=1;nr ["co.uk", "google.co.uk", "www.google.co.uk"] + * @param {String|Number} val + * @param {Object} options + * @return {String|Number} + * @api public + */ + + var ms$1 = function(val, options){ + options = options || {}; + if ('string' == typeof val) return parse$2(val); + return options.long + ? long$1(val) + : short$1(val); + }; + + /** + * Parse the given `str` and return milliseconds. * - * Example: + * @param {String} str + * @return {Number} + * @api private + */ + + function parse$2(str) { + str = '' + str; + if (str.length > 10000) return; + var match = /^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(str); + if (!match) return; + var n = parseFloat(match[1]); + var type = (match[2] || 'ms').toLowerCase(); + switch (type) { + case 'years': + case 'year': + case 'yrs': + case 'yr': + case 'y': + return n * y$1; + case 'days': + case 'day': + case 'd': + return n * d$1; + case 'hours': + case 'hour': + case 'hrs': + case 'hr': + case 'h': + return n * h$1; + case 'minutes': + case 'minute': + case 'mins': + case 'min': + case 'm': + return n * m$1; + case 'seconds': + case 'second': + case 'secs': + case 'sec': + case 's': + return n * s$1; + case 'milliseconds': + case 'millisecond': + case 'msecs': + case 'msec': + case 'ms': + return n; + } + } + + /** + * Short format for `ms`. * - * domain('http://localhost:3000/baz'); - * // => '' - * domain('http://dev:3000/baz'); - * // => '' - * domain('http://127.0.0.1:3000/baz'); - * // => '' - * domain('http://segment.io/baz'); - * // => 'segment.io' + * @param {Number} ms + * @return {String} + * @api private + */ + + function short$1(ms) { + if (ms >= d$1) return Math.round(ms / d$1) + 'd'; + if (ms >= h$1) return Math.round(ms / h$1) + 'h'; + if (ms >= m$1) return Math.round(ms / m$1) + 'm'; + if (ms >= s$1) return Math.round(ms / s$1) + 's'; + return ms + 'ms'; + } + + /** + * Long format for `ms`. * - * @param {string} url - * @return {string} - * @api public + * @param {Number} ms + * @return {String} + * @api private */ - function domain(url) { - var cookie = exports.cookie; - var levels = exports.levels(url); - // Lookup the real top level one. - for (var i = 0; i < levels.length; ++i) { - var cname = '__tld__'; - var domain = levels[i]; - var opts = { domain: '.' + domain }; + function long$1(ms) { + return plural$1(ms, d$1, 'day') + || plural$1(ms, h$1, 'hour') + || plural$1(ms, m$1, 'minute') + || plural$1(ms, s$1, 'second') + || ms + ' ms'; + } - cookie(cname, 1, opts); - if (cookie(cname)) { - cookie(cname, null, opts); - return domain; - } - } + /** + * Pluralization helper. + */ - return ''; + function plural$1(ms, n, name) { + if (ms < n) return; + if (ms < n * 1.5) return Math.floor(ms / n) + ' ' + name; + return Math.ceil(ms / n) + ' ' + name + 's'; } + var debug_1$1 = createCommonjsModule(function (module, exports) { /** - * Levels returns all levels of the given url. + * This is the common logic for both the Node.js and web browser + * implementations of `debug()`. * - * @param {string} url - * @return {Array} - * @api public + * Expose `debug()` as the module. */ - domain.levels = function(url) { - var host = parse(url).hostname; - var parts = host.split('.'); - var last = parts[parts.length - 1]; - var levels = []; - // Ip address. - if (parts.length === 4 && last === parseInt(last, 10)) { - return levels; - } + exports = module.exports = debug; + exports.coerce = coerce; + exports.disable = disable; + exports.enable = enable; + exports.enabled = enabled; + exports.humanize = ms$1; - // Localhost. - if (parts.length <= 1) { - return levels; - } + /** + * The currently active debug mode names, and names to skip. + */ - // Create levels. - for (var i = parts.length - 2; i >= 0; --i) { - levels.push(parts.slice(i).join('.')); - } + exports.names = []; + exports.skips = []; - return levels; - }; + /** + * Map of special "%n" handling functions, for the debug "format" argument. + * + * Valid key names are a single, lowercased letter, i.e. "n". + */ + + exports.formatters = {}; /** - * Expose cookie on domain. + * Previously assigned color. */ - domain.cookie = componentCookie; - /* - * Exports. + var prevColor = 0; + + /** + * Previous log timestamp. */ - exports = module.exports = domain; - }); + var prevTime; /** - * An object utility to persist values in cookies + * Select a color. + * + * @return {Number} + * @api private */ - var CookieLocal = - /*#__PURE__*/ - function () { - function CookieLocal(options) { - _classCallCheck(this, CookieLocal); + function selectColor() { + return exports.colors[prevColor++ % exports.colors.length]; + } - this._options = {}; - this.options(options); + /** + * Create a debugger with the given `namespace`. + * + * @param {String} namespace + * @return {Function} + * @api public + */ + + function debug(namespace) { + + // define the `disabled` version + function disabled() { } - /** - * - * @param {*} options - */ + disabled.enabled = false; + // define the `enabled` version + function enabled() { - _createClass(CookieLocal, [{ - key: "options", - value: function options() { - var _options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + var self = enabled; - if (arguments.length === 0) return this._options; - var domain = "." + lib(window.location.href); - if (domain === ".") domain = null; // the default maxage and path + // set `diff` timestamp + var curr = +new Date(); + var ms = curr - (prevTime || curr); + self.diff = ms; + self.prev = prevTime; + self.curr = curr; + prevTime = curr; - this._options = defaults_1(_options, { - maxage: 31536000000, - path: "/", - domain: domain - }); //try setting a cookie first + // add the `color` if not set + if (null == self.useColors) self.useColors = exports.useColors(); + if (null == self.color && self.useColors) self.color = selectColor(); - this.set("test_rudder", true); + var args = Array.prototype.slice.call(arguments); - if (!this.get("test_rudder")) { - this._options.domain = null; - } + args[0] = exports.coerce(args[0]); - this.remove("test_rudder"); + if ('string' !== typeof args[0]) { + // anything else let's inspect with %o + args = ['%o'].concat(args); } - /** - * - * @param {*} key - * @param {*} value - */ + + // apply any `formatters` transformations + var index = 0; + args[0] = args[0].replace(/%([a-z%])/g, function(match, format) { + // if we encounter an escaped % then don't increase the array index + if (match === '%%') return match; + index++; + var formatter = exports.formatters[format]; + if ('function' === typeof formatter) { + var val = args[index]; + match = formatter.call(self, val); + + // now we need to remove `args[index]` since it's inlined in the `format` + args.splice(index, 1); + index--; + } + return match; + }); + + if ('function' === typeof exports.formatArgs) { + args = exports.formatArgs.apply(self, args); + } + var logFn = enabled.log || exports.log || console.log.bind(console); + logFn.apply(self, args); + } + enabled.enabled = true; + + var fn = exports.enabled(namespace) ? enabled : disabled; + + fn.namespace = namespace; + + return fn; + } + + /** + * Enables a debug mode by namespaces. This can include modes + * separated by a colon and wildcards. + * + * @param {String} namespaces + * @api public + */ + + function enable(namespaces) { + exports.save(namespaces); + + var split = (namespaces || '').split(/[\s,]+/); + var len = split.length; + + for (var i = 0; i < len; i++) { + if (!split[i]) continue; // ignore empty strings + namespaces = split[i].replace(/\*/g, '.*?'); + if (namespaces[0] === '-') { + exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$')); + } else { + exports.names.push(new RegExp('^' + namespaces + '$')); + } + } + } + + /** + * Disable debug output. + * + * @api public + */ + + function disable() { + exports.enable(''); + } + + /** + * Returns true if the given mode name is enabled, false otherwise. + * + * @param {String} name + * @return {Boolean} + * @api public + */ + + function enabled(name) { + var i, len; + for (i = 0, len = exports.skips.length; i < len; i++) { + if (exports.skips[i].test(name)) { + return false; + } + } + for (i = 0, len = exports.names.length; i < len; i++) { + if (exports.names[i].test(name)) { + return true; + } + } + return false; + } + + /** + * Coerce `val`. + * + * @param {Mixed} val + * @return {Mixed} + * @api private + */ + + function coerce(val) { + if (val instanceof Error) return val.stack || val.message; + return val; + } + }); + var debug_2$1 = debug_1$1.coerce; + var debug_3$1 = debug_1$1.disable; + var debug_4$1 = debug_1$1.enable; + var debug_5$1 = debug_1$1.enabled; + var debug_6$1 = debug_1$1.humanize; + var debug_7$1 = debug_1$1.names; + var debug_8$1 = debug_1$1.skips; + var debug_9$1 = debug_1$1.formatters; + + var browser$1 = createCommonjsModule(function (module, exports) { + /** + * This is the web browser implementation of `debug()`. + * + * Expose `debug()` as the module. + */ + + exports = module.exports = debug_1$1; + exports.log = log; + exports.formatArgs = formatArgs; + exports.save = save; + exports.load = load; + exports.useColors = useColors; + exports.storage = 'undefined' != typeof chrome + && 'undefined' != typeof chrome.storage + ? chrome.storage.local + : localstorage(); + + /** + * Colors. + */ + + exports.colors = [ + 'lightseagreen', + 'forestgreen', + 'goldenrod', + 'dodgerblue', + 'darkorchid', + 'crimson' + ]; + + /** + * Currently only WebKit-based Web Inspectors, Firefox >= v31, + * and the Firebug extension (any Firefox version) are known + * to support "%c" CSS customizations. + * + * TODO: add a `localStorage` variable to explicitly enable/disable colors + */ + + function useColors() { + // is webkit? http://stackoverflow.com/a/16459606/376773 + return ('WebkitAppearance' in document.documentElement.style) || + // is firebug? http://stackoverflow.com/a/398120/376773 + (window.console && (console.firebug || (console.exception && console.table))) || + // is firefox >= v31? + // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages + (navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31); + } + + /** + * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. + */ + + exports.formatters.j = function(v) { + return JSON.stringify(v); + }; + + + /** + * Colorize log arguments if enabled. + * + * @api public + */ + + function formatArgs() { + var args = arguments; + var useColors = this.useColors; + + args[0] = (useColors ? '%c' : '') + + this.namespace + + (useColors ? ' %c' : ' ') + + args[0] + + (useColors ? '%c ' : ' ') + + '+' + exports.humanize(this.diff); + + if (!useColors) return args; + + var c = 'color: ' + this.color; + args = [args[0], c, 'color: inherit'].concat(Array.prototype.slice.call(args, 1)); + + // the final "%c" is somewhat tricky, because there could be other + // arguments passed either before or after the %c, so we need to + // figure out the correct index to insert the CSS into + var index = 0; + var lastC = 0; + args[0].replace(/%[a-z%]/g, function(match) { + if ('%%' === match) return; + index++; + if ('%c' === match) { + // we only are interested in the *last* %c + // (the user may have provided their own) + lastC = index; + } + }); + + args.splice(lastC, 0, c); + return args; + } + + /** + * Invokes `console.log()` when available. + * No-op when `console.log` is not a "function". + * + * @api public + */ + + function log() { + // this hackery is required for IE8/9, where + // the `console.log` function doesn't have 'apply' + return 'object' === typeof console + && console.log + && Function.prototype.apply.call(console.log, console, arguments); + } + + /** + * Save `namespaces`. + * + * @param {String} namespaces + * @api private + */ + + function save(namespaces) { + try { + if (null == namespaces) { + exports.storage.removeItem('debug'); + } else { + exports.storage.debug = namespaces; + } + } catch(e) {} + } + + /** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ + + function load() { + var r; + try { + r = exports.storage.debug; + } catch(e) {} + return r; + } + + /** + * Enable namespaces listed in `localStorage.debug` initially. + */ + + exports.enable(load()); + + /** + * Localstorage attempts to return the localstorage. + * + * This is necessary because safari throws + * when a user disables cookies/localstorage + * and you attempt to access it. + * + * @return {LocalStorage} + * @api private + */ + + function localstorage(){ + try { + return window.localStorage; + } catch (e) {} + } + }); + var browser_1$1 = browser$1.log; + var browser_2$1 = browser$1.formatArgs; + var browser_3$1 = browser$1.save; + var browser_4$1 = browser$1.load; + var browser_5$1 = browser$1.useColors; + var browser_6$1 = browser$1.storage; + var browser_7$1 = browser$1.colors; + + /** + * Module dependencies. + */ + + var debug$1 = browser$1('cookie'); + + /** + * Set or get cookie `name` with `value` and `options` object. + * + * @param {String} name + * @param {String} value + * @param {Object} options + * @return {Mixed} + * @api public + */ + + var componentCookie = function(name, value, options){ + switch (arguments.length) { + case 3: + case 2: + return set$1(name, value, options); + case 1: + return get$2(name); + default: + return all$1(); + } + }; + + /** + * Set cookie `name` to `value`. + * + * @param {String} name + * @param {String} value + * @param {Object} options + * @api private + */ + + function set$1(name, value, options) { + options = options || {}; + var str = encode$1(name) + '=' + encode$1(value); + + if (null == value) options.maxage = -1; + + if (options.maxage) { + options.expires = new Date(+new Date + options.maxage); + } + + if (options.path) str += '; path=' + options.path; + if (options.domain) str += '; domain=' + options.domain; + if (options.expires) str += '; expires=' + options.expires.toUTCString(); + if (options.secure) str += '; secure'; + if (options.samesite) str += '; samesite=' + options.samesite; + + document.cookie = str; + } + + /** + * Return all cookies. + * + * @return {Object} + * @api private + */ + + function all$1() { + var str; + try { + str = document.cookie; + } catch (err) { + if (typeof console !== 'undefined' && typeof console.error === 'function') { + console.error(err.stack || err); + } + return {}; + } + return parse$3(str); + } + + /** + * Get cookie `name`. + * + * @param {String} name + * @return {String} + * @api private + */ + + function get$2(name) { + return all$1()[name]; + } + + /** + * Parse cookie `str`. + * + * @param {String} str + * @return {Object} + * @api private + */ + + function parse$3(str) { + var obj = {}; + var pairs = str.split(/ *; */); + var pair; + if ('' == pairs[0]) return obj; + for (var i = 0; i < pairs.length; ++i) { + pair = pairs[i].split('='); + obj[decode$1(pair[0])] = decode$1(pair[1]); + } + return obj; + } + + /** + * Encode. + */ + + function encode$1(value){ + try { + return encodeURIComponent(value); + } catch (e) { + debug$1('error `encode(%o)` - %o', value, e); + } + } + + /** + * Decode. + */ + + function decode$1(value) { + try { + return decodeURIComponent(value); + } catch (e) { + debug$1('error `decode(%o)` - %o', value, e); + } + } + + var lib = createCommonjsModule(function (module, exports) { + + /** + * Module dependencies. + */ + + var parse = componentUrl.parse; + + + /** + * Get the top domain. + * + * The function constructs the levels of domain and attempts to set a global + * cookie on each one when it succeeds it returns the top level domain. + * + * The method returns an empty string when the hostname is an ip or `localhost`. + * + * Example levels: + * + * domain.levels('http://www.google.co.uk'); + * // => ["co.uk", "google.co.uk", "www.google.co.uk"] + * + * Example: + * + * domain('http://localhost:3000/baz'); + * // => '' + * domain('http://dev:3000/baz'); + * // => '' + * domain('http://127.0.0.1:3000/baz'); + * // => '' + * domain('http://segment.io/baz'); + * // => 'segment.io' + * + * @param {string} url + * @return {string} + * @api public + */ + function domain(url) { + var cookie = exports.cookie; + var levels = exports.levels(url); + + // Lookup the real top level one. + for (var i = 0; i < levels.length; ++i) { + var cname = '__tld__'; + var domain = levels[i]; + var opts = { domain: '.' + domain }; + + cookie(cname, 1, opts); + if (cookie(cname)) { + cookie(cname, null, opts); + return domain; + } + } + + return ''; + } + + /** + * Levels returns all levels of the given url. + * + * @param {string} url + * @return {Array} + * @api public + */ + domain.levels = function(url) { + var host = parse(url).hostname; + var parts = host.split('.'); + var last = parts[parts.length - 1]; + var levels = []; + + // Ip address. + if (parts.length === 4 && last === parseInt(last, 10)) { + return levels; + } + + // Localhost. + if (parts.length <= 1) { + return levels; + } + + // Create levels. + for (var i = parts.length - 2; i >= 0; --i) { + levels.push(parts.slice(i).join('.')); + } + + return levels; + }; + + /** + * Expose cookie on domain. + */ + domain.cookie = componentCookie; + + /* + * Exports. + */ + + exports = module.exports = domain; + }); + + /** + * An object utility to persist values in cookies + */ + + var CookieLocal = + /*#__PURE__*/ + function () { + function CookieLocal(options) { + _classCallCheck(this, CookieLocal); + + this._options = {}; + this.options(options); + } + /** + * + * @param {*} options + */ + + + _createClass(CookieLocal, [{ + key: "options", + value: function options() { + var _options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + + if (arguments.length === 0) return this._options; + var domain = "." + lib(window.location.href); + if (domain === ".") domain = null; // the default maxage and path + + this._options = defaults_1(_options, { + maxage: 31536000000, + path: "/", + domain: domain, + samesite: "Lax" + }); //try setting a cookie first + + this.set("test_rudder", true); + + if (!this.get("test_rudder")) { + this._options.domain = null; + } + + this.remove("test_rudder"); + } + /** + * + * @param {*} key + * @param {*} value + */ }, { key: "set", value: function set(key, value) { try { value = json3.stringify(value); - componentCookie(key, value, clone_1(this._options)); + rudderComponentCookie(key, value, clone_1(this._options)); return true; } catch (e) { return false; @@ -6322,7 +6977,7 @@ var rudderanalytics = (function (exports) { key: "get", value: function get(key) { try { - var value = componentCookie(key); + var value = rudderComponentCookie(key); value = value ? json3.parse(value) : null; return value; } catch (e) { @@ -6338,7 +6993,7 @@ var rudderanalytics = (function (exports) { key: "remove", value: function remove(key) { try { - componentCookie(key, null, clone_1(this._options)); + rudderComponentCookie(key, null, clone_1(this._options)); return true; } catch (e) { return false; @@ -6822,12 +7477,13 @@ var rudderanalytics = (function (exports) { var Lotame = /*#__PURE__*/ function () { - function Lotame(config) { + function Lotame(config, analytics) { var _this = this; _classCallCheck(this, Lotame); this.name = "LOTAME"; + this.analytics = analytics; this.storage = lotameStorage; this.bcpUrlSettings = config.bcpUrlSettings; this.dspUrlSettings = config.dspUrlSettings; @@ -6856,11 +7512,11 @@ var rudderanalytics = (function (exports) { document.getElementsByTagName("body")[0].appendChild(image); } }, { - key: "synchPixel", - value: function synchPixel(userId) { + key: "syncPixel", + value: function syncPixel(userId) { var _this2 = this; - logger.debug("===== in synchPixel ======"); + logger.debug("===== in syncPixel ======"); if (this.dspUrlSettings && this.dspUrlSettings.length > 0) { this.dspUrlSettings.forEach(function (urlSettings) { @@ -6872,11 +7528,12 @@ var rudderanalytics = (function (exports) { }); } - this.storage.setLotameSynchTime(Date.now()); // this is custom to lotame, can be thought of as additional feature + this.storage.setLotameSynchTime(Date.now()); // emit on syncPixel - if (window.LOTAME_SYNCH_CALLBACK && typeof window.LOTAME_SYNCH_CALLBACK == "function") { - logger.debug("===== in synchPixel callback======"); - window.LOTAME_SYNCH_CALLBACK(); + if (this.analytics.methodToCallbackMapping["syncPixel"]) { + this.analytics.emit("syncPixel", { + destination: this.name + }); } } }, { @@ -6896,7 +7553,7 @@ var rudderanalytics = (function (exports) { value: function identify(rudderElement) { logger.debug("in Lotame identify"); var userId = rudderElement.message.userId; - this.synchPixel(userId); + this.syncPixel(userId); } }, { key: "track", @@ -6919,7 +7576,7 @@ var rudderanalytics = (function (exports) { } if (rudderElement.message.userId && this.isPixelToBeSynched()) { - this.synchPixel(rudderElement.message.userId); + this.syncPixel(rudderElement.message.userId); } } }, { @@ -8022,7 +8679,7 @@ var rudderanalytics = (function (exports) { * Expose `debug()` as the module. */ - var debug_1$1 = debug$1; + var debug_1$2 = debug$2; /** * Create a debugger with the given `name`. @@ -8032,20 +8689,20 @@ var rudderanalytics = (function (exports) { * @api public */ - function debug$1(name) { - if (!debug$1.enabled(name)) return function(){}; + function debug$2(name) { + if (!debug$2.enabled(name)) return function(){}; return function(fmt){ fmt = coerce(fmt); var curr = new Date; - var ms = curr - (debug$1[name] || curr); - debug$1[name] = curr; + var ms = curr - (debug$2[name] || curr); + debug$2[name] = curr; fmt = name + ' ' + fmt - + ' +' + debug$1.humanize(ms); + + ' +' + debug$2.humanize(ms); // This hackery is required for IE8 // where `console.log` doesn't have 'apply' @@ -8059,8 +8716,8 @@ var rudderanalytics = (function (exports) { * The currently active debug mode names. */ - debug$1.names = []; - debug$1.skips = []; + debug$2.names = []; + debug$2.skips = []; /** * Enables a debug mode by name. This can include modes @@ -8070,7 +8727,7 @@ var rudderanalytics = (function (exports) { * @api public */ - debug$1.enable = function(name) { + debug$2.enable = function(name) { try { localStorage.debug = name; } catch(e){} @@ -8081,10 +8738,10 @@ var rudderanalytics = (function (exports) { for (var i = 0; i < len; i++) { name = split[i].replace('*', '.*?'); if (name[0] === '-') { - debug$1.skips.push(new RegExp('^' + name.substr(1) + '$')); + debug$2.skips.push(new RegExp('^' + name.substr(1) + '$')); } else { - debug$1.names.push(new RegExp('^' + name + '$')); + debug$2.names.push(new RegExp('^' + name + '$')); } } }; @@ -8095,8 +8752,8 @@ var rudderanalytics = (function (exports) { * @api public */ - debug$1.disable = function(){ - debug$1.enable(''); + debug$2.disable = function(){ + debug$2.enable(''); }; /** @@ -8107,7 +8764,7 @@ var rudderanalytics = (function (exports) { * @api private */ - debug$1.humanize = function(ms) { + debug$2.humanize = function(ms) { var sec = 1000 , min = 60 * 1000 , hour = 60 * min; @@ -8126,14 +8783,14 @@ var rudderanalytics = (function (exports) { * @api public */ - debug$1.enabled = function(name) { - for (var i = 0, len = debug$1.skips.length; i < len; i++) { - if (debug$1.skips[i].test(name)) { + debug$2.enabled = function(name) { + for (var i = 0, len = debug$2.skips.length; i < len; i++) { + if (debug$2.skips[i].test(name)) { return false; } } - for (var i = 0, len = debug$1.names.length; i < len; i++) { - if (debug$1.names[i].test(name)) { + for (var i = 0, len = debug$2.names.length; i < len; i++) { + if (debug$2.names[i].test(name)) { return true; } } @@ -8152,7 +8809,7 @@ var rudderanalytics = (function (exports) { // persist try { - if (window.localStorage) debug$1.enable(localStorage.debug); + if (window.localStorage) debug$2.enable(localStorage.debug); } catch(e){} var componentEmitter = createCommonjsModule(function (module) { @@ -8335,7 +8992,7 @@ var rudderanalytics = (function (exports) { - var debug$2 = debug_1$1('localstorage-retry'); + var debug$3 = debug_1$2('localstorage-retry'); // Some browsers don't support Function.prototype.bind, so just including a simplified version here @@ -8566,7 +9223,7 @@ var rudderanalytics = (function (exports) { try { self.fn(el.item, el.done); } catch (err) { - debug$2('Process function threw error: ' + err); + debug$3('Process function threw error: ' + err); } }, toRun); @@ -9222,6 +9879,9 @@ var rudderanalytics = (function (exports) { this.readyCallback = function () {}; this.executeReadyCallback = undefined; + this.methodToCallbackMapping = { + syncPixel: "syncPixelCallback" + }; } /** * Process the response from control plane and @@ -9306,13 +9966,19 @@ var rudderanalytics = (function (exports) { }, { key: "replayEvents", value: function replayEvents(object) { - if (object.successfullyLoadedIntegration.length + object.failedToBeLoadedIntegration.length == object.clientIntegrations.length) { + if (object.successfullyLoadedIntegration.length + object.failedToBeLoadedIntegration.length == object.clientIntegrations.length && object.toBeProcessedByIntegrationArray.length > 0) { + logger.debug("===replay events called====", object.successfullyLoadedIntegration.length, object.failedToBeLoadedIntegration.length); object.clientIntegrationObjects = []; object.clientIntegrationObjects = object.successfullyLoadedIntegration; + logger.debug("==registering after callback===", object.clientIntegrationObjects.length); object.executeReadyCallback = after_1(object.clientIntegrationObjects.length, object.readyCallback); + logger.debug("==registering ready callback==="); object.on("ready", object.executeReadyCallback); object.clientIntegrationObjects.forEach(function (intg) { + logger.debug("===looping over each successful integration===="); + if (!intg["isReady"] || intg["isReady"]()) { + logger.debug("===letting know I am ready=====", intg["name"]); object.emit("ready"); } }); //send the queued events to the fetched integration @@ -9354,6 +10020,8 @@ var rudderanalytics = (function (exports) { var time = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; return new Promise(function (resolve) { if (instance.isLoaded()) { + logger.debug("===integration loaded successfully====", instance["name"]); + _this2.successfullyLoadedIntegration.push(instance); return resolve(_this2); @@ -9368,6 +10036,7 @@ var rudderanalytics = (function (exports) { } _this2.pause(INTEGRATION_LOAD_CHECK_INTERVAL).then(function () { + logger.debug("====after pause, again checking===="); return _this2.isInitialized(instance, time + INTEGRATION_LOAD_CHECK_INTERVAL).then(resolve); }); }); @@ -9830,6 +10499,20 @@ var rudderanalytics = (function (exports) { logger.error("ready callback is not a function"); } + }, { + key: "registerCallbacks", + value: function registerCallbacks() { + var _this3 = this; + + Object.keys(this.methodToCallbackMapping).forEach(function (methodName) { + if (_this3.methodToCallbackMapping.hasOwnProperty(methodName)) { + var callback = !!window.rudderanalytics ? typeof window.rudderanalytics[_this3.methodToCallbackMapping[methodName]] == "function" ? window.rudderanalytics[_this3.methodToCallbackMapping[methodName]] : function () {} : function () {}; + logger.debug("registerCallbacks", methodName, callback); + + _this3.on(methodName, callback); + } + }); + } }]); return Analytics; @@ -9845,12 +10528,15 @@ var rudderanalytics = (function (exports) { componentEmitter(instance); { + // register supported callbacks + instance.registerCallbacks(); var eventsPushedAlready = !!window.rudderanalytics && window.rudderanalytics.push == Array.prototype.push; var methodArg = window.rudderanalytics ? window.rudderanalytics[0] : []; if (methodArg.length > 0 && methodArg[0] == "load") { var method = methodArg[0]; methodArg.shift(); + logger.debug("=====from init, calling method:: ", method); instance[method].apply(instance, _toConsumableArray(methodArg)); } @@ -9864,6 +10550,7 @@ var rudderanalytics = (function (exports) { var _method = event[0]; event.shift(); + logger.debug("=====from init, calling method:: ", _method); instance[_method].apply(instance, _toConsumableArray(event)); }