Skip to content

Instantly share code, notes, and snippets.

@ryanshoover
Created June 16, 2020 01:49
Show Gist options
  • Save ryanshoover/fea1473dbcd25f1a1279915a7c1965bb to your computer and use it in GitHub Desktop.
Save ryanshoover/fea1473dbcd25f1a1279915a7c1965bb to your computer and use it in GitHub Desktop.
Unminified Demandbase
"use strict";
"undefined" == typeof window.console && (window.console = { log: function () {}, debug: function () {} });
"undefined" == typeof JSON && (JSON = { stringify: function () {}, parse: function () {} });
Array.prototype.indexOf ||
(Array.prototype.indexOf = function (e) {
var t = this.length >>> 0,
n = Number(arguments[1]) || 0;
n = 0 > n ? Math.ceil(n) : Math.floor(n);
0 > n && (n += t);
for (; t > n; n++) if (n in this && this[n] === e) return n;
return -1;
});
Array.isArray ||
(Array.isArray = function (e) {
return "[object Array]" === Object.prototype.toString.call(e);
});
"function" != typeof Object.assign &&
(Object.assign = function (e, t) {
if (null == e) throw new TypeError("Cannot convert undefined or null to object");
for (var n = Object(e), i = 1; i < arguments.length; i++) {
var o = arguments[i];
if (null != o) for (var a in o) Object.prototype.hasOwnProperty.call(o, a) && (n[a] = o[a]);
}
return n;
});
Object.keys ||
(Object.keys = (function () {
var e = Object.prototype.hasOwnProperty,
t = !{ toString: null }.propertyIsEnumerable("toString"),
n = ["toString", "toLocaleString", "valueOf", "hasOwnProperty", "isPrototypeOf", "propertyIsEnumerable", "constructor"],
i = n.length;
return function (o) {
if ("object" != typeof o && ("function" != typeof o || null === o)) throw new TypeError("Object.keys called on non-object");
var a,
r,
s = [];
for (a in o) e.call(o, a) && s.push(a);
if (t) for (r = 0; i > r; r++) e.call(o, n[r]) && s.push(n[r]);
return s;
};
})());
Array.prototype.some ||
(Array.prototype.some = function (e) {
if (null == this) throw new TypeError("Array.prototype.some called on null or undefined");
if ("function" != typeof e) throw new TypeError();
for (var t = Object(this), n = t.length >>> 0, i = arguments.length >= 2 ? arguments[1] : void 0, o = 0; n > o; o++) if (o in t && e.call(i, t[o], o, t)) return !0;
return !1;
});
var __extends =
(this && this.__extends) ||
(function () {
var e =
Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array &&
function (e, t) {
e.__proto__ = t;
}) ||
function (e, t) {
for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]);
};
return function (t, n) {
function i() {
this.constructor = t;
}
e(t, n);
t.prototype = null === n ? Object.create(n) : ((i.prototype = n.prototype), new i());
};
})();
String.prototype.includes ||
(String.prototype.includes = function (e, t) {
if (!e) return !1;
"number" != typeof t && (t = 0);
return t + e.length > this.length ? !1 : -1 !== this.indexOf(e, t);
});
window.Demandbase = window.Demandbase || {};
window.Demandbase.Config = window.Demandbase.Config || {};
window.Demandbase.Config.hooks = window.Demandbase.Config.hooks || {};
window.Demandbase.Config.ads = window.Demandbase.Config.ads || {};
window.Demandbase.Config.analytics = window.Demandbase.Config.analytics || {};
window.Demandbase.Config.tokens = window.Demandbase.Config.tokens || {};
window.Demandbase.Config.forms = window.Demandbase.Config.forms || {};
window.Demandbase.Config.SiteOptimization = window.Demandbase.Config.SiteOptimization || {};
window.Demandbase.Connectors = window.Demandbase.Connectors || {};
var Demandbase;
!(function (e) {
var t;
!(function (t) {
t.ads = window.Demandbase.Config.ads || {};
t.analytics = window.Demandbase.Config.analytics || {};
t.conditions = window.Demandbase.Config.conditions || {};
t.content = window.Demandbase.Config.content || {};
t.forms = window.Demandbase.Config.forms || {};
t.segments = window.Demandbase.Config.segments || {};
t.emptyWatchDefault = window.Demandbase.Config.emptyWatchDefault || null;
t.hooks = window.Demandbase.Config.hooks || {};
t.isInIFrame = window.Demandbase.Config.isInIFrame || null;
t.key = window.Demandbase.Config.key || null;
t.logging = window.Demandbase.Config.logging || null;
t.nonCompanyDefault = window.Demandbase.Config.nonCompanyDefault || null;
t.nonWatchDefault = window.Demandbase.Config.nonWatchDefault || null;
t.testDomain = window.Demandbase.Config.testDomain || void 0;
t.testIp = window.Demandbase.Config.testIp || void 0;
t.tokens = window.Demandbase.Config.tokens || {};
t.useTestDomain = window.Demandbase.Config.useTestDomain || !1;
t.useTestIp = window.Demandbase.Config.useTestIp || !1;
t.Advertising = window.Demandbase.Config.Advertising || {};
t.AssetReporter = window.Demandbase.Config.AssetReporter || {};
t.Content = window.Demandbase.Config.Content || {};
t.ErrorReporter = window.Demandbase.Config.ErrorReporter || {};
t.Forms = window.Demandbase.Config.Forms || {};
t.Google_Analytics = window.Demandbase.Config.Google_Analytics || {};
t.Google_TagManager = window.Demandbase.Config.Google_TagManager || {};
t.IpApiModule = e.Config.IpApiModule || {};
t.SiteOptimization = window.Demandbase.Config.SiteOptimization || {};
t.EmailDomainReporter = window.Demandbase.Config.EmailDomainReporter || {};
})((t = e.Config || (e.Config = {})));
var n;
!(function (e) {})((n = e.Connectors || (e.Connectors = {})));
})(Demandbase || (Demandbase = {}));
var Demandbase;
!(function (e) {
e.version = "8.0.15";
})(Demandbase || (Demandbase = {}));
var Demandbase;
!(function (e) {
var t;
!(function (e) {
var t;
!(function (e) {
function t(e) {
return "undefined" != typeof e.stacktrace || "undefined" != typeof e["opera#sourceloc"] ? this.parseOpera(e) : e.stack && e.stack.match(c) ? this.parseV8OrIE(e) : e.stack ? this.parseFFOrSafari(e) : void 0;
}
function n(e) {
if (-1 === e.indexOf(":")) return [e];
var t = /(.+?)(?:\:(\d+))?(?:\:(\d+))?$/,
n = t.exec(e.replace(/[\(\)]/g, ""));
return [n[1], n[2] || void 0, n[3] || void 0];
}
function i(e, t) {
void 0 === t && (t = 10);
return e ? parseInt(e, t) : void 0;
}
function o(e) {
var t = e.stack.split("\n").filter(function (e) {
return !!e.match(c);
}, this);
return t.map(function (e) {
e.indexOf("(eval ") > -1 && (e = e.replace(/eval code/g, "eval").replace(/(\(eval at [^\()]*)|(\)\,.*$)/g, ""));
var t = e
.replace(/^\s+/, "")
.replace(/\(eval code/g, "(")
.split(/\s+/)
.slice(1),
n = this.extractLocation(t.pop()),
i = t.join(" ") || void 0,
o = ["eval", "<anonymous>"].indexOf(n[0]) > -1 ? void 0 : n[0];
return { function: i, file: o, line: this._parseInt(n[1]), column: this._parseInt(n[2]) };
}, this);
}
function a(e) {
var t = e.stack.split("\n").filter(function (e) {
return !e.match(g);
}, this);
return t.map(function (e) {
e.indexOf(" > eval") > -1 && (e = e.replace(/ line (\d+)(?: > eval line \d+)* > eval\:\d+\:\d+/g, ":$1"));
if (-1 === e.indexOf("@") && -1 === e.indexOf(":")) return { function: e };
var t = e.split("@"),
n = this.extractLocation(t.pop()),
i = t.join("@") || void 0;
return { function: i, file: n[0], line: this._parseInt(n[1]), column: this._parseInt(n[2]) };
}, this);
}
function r(e) {
return !e.stacktrace || (e.message.indexOf("\n") > -1 && e.message.split("\n").length > e.stacktrace.split("\n").length) ? this.parseOpera9(e) : e.stack ? this.parseOpera11(e) : this.parseOpera10(e);
}
function s(e) {
for (var t = /Line (\d+).*script (?:in )?(\S+)/i, n = e.message.split("\n"), i = [], o = 2, a = n.length; a > o; o += 2) {
var r = t.exec(n[o]);
r && i.push({ file: r[2], line: this._parseInt(r[1]) });
}
return i;
}
function l(e) {
for (var t = /Line (\d+).*script (?:in )?(\S+)(?:: In function (\S+))?$/i, n = e.stacktrace.split("\n"), i = [], o = 0, a = n.length; a > o; o += 2) {
var r = t.exec(n[o]);
r && i.push({ function: r[3] || void 0, file: r[2], line: this._parseInt(r[1]) });
}
return i;
}
function d(e) {
var t = e.stack.split("\n").filter(function (e) {
return !!e.match(u) && !e.match(/^Error created at/);
}, this);
return t.map(function (e) {
var t,
n = e.split("@"),
i = this.extractLocation(n.pop()),
o = n.shift() || "",
a = o.replace(/<anonymous function(: (\w+))?>/, "$2").replace(/\([^\)]*\)/g, "") || void 0;
o.match(/\(([^\)]*)\)/) && (t = o.replace(/^[^\(]+\(([^\)]*)\)$/, "$1"));
void 0 === t || "[arguments not available]" === t ? void 0 : t.split(",");
return { function: a, file: i[0], line: this._parseInt(i[1]), column: this._parseInt(i[2]) };
}, this);
}
var u = /(^|@)\S+\:\d+/,
c = /^\s*at .*(\S+\:\d+|\(native\))/m,
g = /^(eval@)?(\[native code\])?$/;
e.parse = t;
e.extractLocation = n;
e._parseInt = i;
e.parseV8OrIE = o;
e.parseFFOrSafari = a;
e.parseOpera = r;
e.parseOpera9 = s;
e.parseOpera10 = l;
e.parseOpera11 = d;
})((t = e.ErrorStackParser || (e.ErrorStackParser = {})));
})((t = e.Utilities || (e.Utilities = {})));
})(Demandbase || (Demandbase = {}));
var Demandbase;
!(function (e) {
var t;
!(function (t) {
var n;
!(function (n) {
function i(t) {
var n = { referrer: document.referrer, page: document.URL, page_title: document.title };
if (e.Config.isInIFrame)
try {
n.page = window.top.document.URL;
n.referrer = window.top.document.referrer;
n.page_title = window.top.document.title;
} catch (i) {
n.page = document.referrer;
n.referrer = null;
n.page_title = "3rd Party iFrame";
}
n = Object.assign(n, t);
return a(n);
}
function o(e, n) {
var o = e || t.Constants.URL_IP_API;
o += i(n);
return o;
}
function a(e) {
var t = "?";
for (var n in e) e.hasOwnProperty(n) && void 0 !== e[n] && (t += n + "=" + encodeURIComponent(e[n]) + "&");
t = t.substring(0, t.length - 1);
return t;
}
n.buildApiParamString = i;
n.buildApiUrl = o;
n.buildQueryString = a;
})((n = t.Api || (t.Api = {})));
})((t = e.Utilities || (e.Utilities = {})));
})(Demandbase || (Demandbase = {}));
!(function (e) {
e.Demandbase.utils = e.Demandbase.utils || {};
Object.assign(e.Demandbase.utils, e.Demandbase.utils, {
buildApiParamString: Demandbase.Utilities.Api.buildApiParamString,
buildApiUrl: Demandbase.Utilities.Api.buildApiUrl,
buildQueryString: Demandbase.Utilities.Api.buildQueryString,
});
})(window);
var Demandbase;
!(function (e) {
var t;
!(function (t) {
var n;
!(function (t) {
function n(n) {
for (
var i = function (i) {
var o = t.callbackStack[i];
e.ErrorReporter.wrap(function () {
o.call(e, n);
})();
},
o = 0;
o < t.callbackStack.length;
o++
)
i(o);
}
function i(t) {
e.IpApi.CompanyProfile = e.Utilities.flatten(t);
this.callback(t);
}
function o(n) {
if (-1 === t.callbackStack.indexOf(n)) {
t.callbackStack.push(n);
e.IpApi.CompanyProfile &&
e.ErrorReporter.wrap(function () {
n.call(e, e.IpApi.CompanyProfile);
})();
}
}
t.callbackStack = [];
t.callback = n;
t.domScriptCallback = i;
t.registerCallback = o;
})((n = t.Callbacks || (t.Callbacks = {})));
})((t = e.Utilities || (e.Utilities = {})));
})(Demandbase || (Demandbase = {}));
!(function (e) {
e.Demandbase.utils = e.Demandbase.utils || {};
Object.assign(e.Demandbase.utils, e.Demandbase.utils, {
callback: Demandbase.Utilities.Callbacks.callback.bind(Demandbase.Utilities.Callbacks),
registerCallback: Demandbase.Utilities.Callbacks.registerCallback.bind(Demandbase.Utilities.Callbacks),
});
})(window);
var Demandbase;
!(function (e) {
var t;
!(function (t) {
var n;
!(function (t) {
t.QS_USE_TEST_DOMAIN = "db_useTestDomain";
t.QS_QUERY_DOMAIN = "db_domain";
t.QS_ENABLE_LOG = "db_logging";
t.QS_PREVIEW_TOKEN = "db_preview_token";
t.DFLT_NON_COMPANY = "(Non-Company Visitor)";
t.DFLT_AW_EMPTY = "(AccountWatch Empty)";
t.DFLT_NON_AW = "(Non-AccountWatch Visitor)";
t.DFLT_EVENT_TYPE = "click";
t.URL_IP_API = "api.company-target.com/api/v2/ip.json";
t.URL_DOMAIN_API = "api.demandbase.com/api/v1/domain.json";
t.URL_BW_AD_PIXEL = e.Config.tokens.URL_BW_AD_PIXEL || "match.prod.bidr.io/cookie-sync/demandbase";
t.PARDOT_VISITOR_COOKIE_REGEX = /^visitor_id[\d]+$/;
t.NON_HUMAN_DEVICES = [/adsbot-google/i, /googlebot/i];
t.URL_CURRENT = (function () {
var t = document.URL;
e.Config.isInIFrame && (t = document.referrer);
t = encodeURIComponent(t);
return t;
})();
t.PROTOCOL = "https://";
})((n = t.Constants || (t.Constants = {})));
})((t = e.Utilities || (e.Utilities = {})));
})(Demandbase || (Demandbase = {}));
!(function (e) {
e.Demandbase.utils = e.Demandbase.utils || {};
Object.assign(e.Demandbase.utils, e.Demandbase.utils, { tokens: Demandbase.Utilities.Constants });
})(window);
var Demandbase;
!(function (e) {
var t = (function () {
function t(t) {
void 0 === t && (t = {});
this.name = t.name || "";
this.modify = t.modify || null;
this.segments = t.segments || [];
this.url = t.url || [];
this.modify ||
(this.modify = function () {
e.Utilities.Logging.log("DBContent: modify function not defined");
});
"string" == typeof this.segments && (this.segments = [this.segments]);
"string" == typeof this.url && (this.url = [this.url]);
}
t.prototype.run = function () {
var t = !1;
for (var n in this.url)
if (this.url.hasOwnProperty(n)) {
var i = this.url[n];
e.Utilities.isCurrentPage(i) && (t = !0);
}
if (t) {
var o = !1;
for (var n in this.segments)
if (this.segments.hasOwnProperty(n)) {
var a = this.segments[n],
r = window.Demandbase.Segments[a];
"undefined" != typeof r && r && (o = !0);
}
if (!o) {
e.Utilities.Logging.log("DBContent modify " + this.name + " not fired. Segment " + a);
return !1;
}
e.Utilities.Logging.log("DBContent: running modify function for: " + this.name);
this.modify.call(document);
return !0;
}
e.Utilities.Logging.log("DBContent modify " + this.name + " not fired. no URL match with: " + this.url);
return !1;
};
return t;
})();
e.DBContent = t;
})(Demandbase || (Demandbase = {}));
var Demandbase;
!(function (e) {
var t;
!(function (t) {
function n(t) {
if (!t) return !1;
var n = ["name", "segments", "pages", "modify"];
if ("function" != typeof t.modify) {
e.Utilities.Logging.log("DBContentBuilder: invalid type in config.");
return !1;
}
for (var i = 0; i < n.length; i++)
if ("undefined" == typeof t[n[i]]) {
e.Utilities.Logging.log("DBContentBuilder: invalid config missing: " + n[i]);
return !1;
}
return !0;
}
function i(t) {
if (n(t)) {
"string" == typeof t.pages ? (t.url = [t.pages]) : (t.url = t.pages);
"string" == typeof t.segments && (t.segments = [t.segments]);
return new e.DBContent(t);
}
return null;
}
t.isValid = n;
t.build = i;
})((t = e.DBContentBuilder || (e.DBContentBuilder = {})));
})(Demandbase || (Demandbase = {}));
var Demandbase;
!(function (e) {
var t;
!(function (t) {
var n;
!(function (t) {
function n(t) {
var n = !0;
if (!o(t)) {
e.Utilities.Logging.log("Event not added.");
return !1;
}
var a = t.type || e.Utilities.Constants.DFLT_EVENT_TYPE,
r = t.elements,
s = r.constructor;
if (s !== HTMLCollection && s !== NodeList) return i(t.elements, a, t.listener);
for (var l in r) {
var d = !1;
if (r.hasOwnProperty(l)) {
d = i(r[l], a, t.listener);
if (!d) {
n = !1;
e.Utilities.Logging.log("Event not added to" + r[l]);
}
}
}
return n;
}
function i(t, n, i) {
if (!t) {
e.Utilities.Logging.log("Event not registered - invalid element/s.");
return null;
}
t.jquery && (t = t[0]);
e.Utilities.addEventListener(t, n, i);
e.Utilities.Logging.log("Event Listener bind to: " + t + " on event " + n);
return !0;
}
function o(t) {
for (var n = !1, i = ["elements", "listener"], o = t.elements || null, a = t.listener || null, r = 0; r < i.length; r++)
if ("undefined" == typeof t[i[r]] || !t[i[r]]) {
e.Utilities.Logging.log("Invalid Event object. Missing: " + i[r]);
return !1;
}
if ("function" != typeof a) {
e.Utilities.Logging.log('Invalid Event: "listener" must be a function. Got (' + a + ")");
return !1;
}
o instanceof Node ||
o instanceof NodeList ||
o instanceof HTMLElement ||
o instanceof HTMLCollection ||
o instanceof Window ||
o instanceof Document ||
"function" == typeof o ||
("undefined" != typeof window.Demandbase.jQuery && o instanceof window.Demandbase.jQuery)
? (n = !0)
: e.Utilities.Logging.log("Invalid Event: element: " + o + ' has type: "' + o.constructor + '" which is not proper instance type.');
return n;
}
t.add = n;
t._attachListener = i;
t.isValid = o;
})((n = t.Events || (t.Events = {})));
})((t = e.Utilities || (e.Utilities = {})));
})(Demandbase || (Demandbase = {}));
!(function (e) {
e.Demandbase.utils = e.Demandbase.utils || {};
Object.assign(e.Demandbase.utils, e.Demandbase.utils, { events: Demandbase.Utilities.Events });
})(window);
var Demandbase;
!(function (e) {
var t;
!(function (t) {
var n;
!(function (t) {
function n(e) {
i(e);
}
function i(t) {
(e.Config.logging || "true" === e.Utilities.getQueryParam(e.Utilities.Constants.QS_ENABLE_LOG)) && console.log("DB: " + t);
}
t.logging = !1;
t.debug = !1;
t.alert = n;
t.log = i;
})((n = t.Logging || (t.Logging = {})));
})((t = e.Utilities || (e.Utilities = {})));
})(Demandbase || (Demandbase = {}));
!(function (e) {
e.Demandbase.utils = e.Demandbase.utils || {};
Object.assign(e.Demandbase.utils, e.Demandbase.utils, {
logging: Demandbase.Utilities.Logging.logging,
debug: Demandbase.Utilities.Logging.debug,
alert: Demandbase.Utilities.Logging.alert.bind(Demandbase.Utilities.Logging),
log: Demandbase.Utilities.Logging.log.bind(Demandbase.Utilities.Logging),
});
})(window);
var Demandbase;
!(function (e) {
var t;
!(function (t) {
function n(e, t) {
var n = {};
t.cookie.split(";").forEach(function (t) {
var i = t.split("="),
o = i[0].trim();
e.test(o) && i.length > 1 && (n[o] = i[1].trim());
});
return n;
}
function i(e, t, n) {
e.addEventListener ? e.addEventListener(t, n) : e.attachEvent && e.attachEvent(t, n);
}
function o() {
return window.top !== window.self;
}
function a(e) {
for (var t = [], n = 1; n < arguments.length; n++) t[n - 1] = arguments[n];
for (var i = e, o = 0, a = t; o < a.length; o++) {
var r = a[o];
if ("undefined" == typeof i) return;
i = "function" == typeof r ? r(i) : i[r];
}
return i;
}
function r(e) {
for (var t in e) {
var n = e[t];
if ("object" == typeof n && null !== n && e.hasOwnProperty(t)) {
for (var i in n) e[t + "_" + i] = n[i];
delete e[t];
}
}
return e;
}
function s(t, n) {
var i = { city: "registry_city", state: "registry_state", zip: "registry_zip_code", country: "registry_country_code", country_name: "registry_country", latitude: "registry_latitude", longitude: "registry_longitude" },
o = e.Config.nonCompanyDefault || e.Utilities.Constants.DFLT_NON_COMPANY,
a = e.Config.emptyWatchDefault || e.Utilities.Constants.DFLT_AW_EMPTY,
r = i[n] || "",
s = t[n] || t[r] || o,
l = (t.company_name || o) !== o,
d = Object.keys(t).some(function (e) {
return 0 === e.indexOf("watch_list_");
});
if (t[n] === !1) return "false";
if (-1 !== n.indexOf("watch_list_") && l) {
d || (a = e.Config.nonWatchDefault || e.Utilities.Constants.DFLT_NON_AW);
s = t[n] || a;
}
return s;
}
function l() {
return document.readyState;
}
function d(e) {
return document.getElementById(e) || document.getElementsByName(e)[0] || null;
}
function u(e, t) {
var t = t || window || { location: { search: "", hash: "" } },
n = {},
i = t.location.search.substring(1) || (t.location.hash && t.location.hash.split("?")[1]);
if (!i) return "";
for (var o = i.split("&"), a = 0; a < o.length; a++) {
var r = o[a].split("="),
s = r[0],
l = r[1];
n[s] = l;
}
return n[e] || "";
}
function c(t, n) {
if (t) {
e._loadedScripts = e._loadedScripts || {};
if (!e._loadedScripts[t]) {
e._loadedScripts[t] = !0;
var i = document.createElement("script"),
o = document.getElementsByTagName("script")[0];
i.async = !0;
i.id = n || "";
i.src = "https://" + t.replace(/(^\/\/)|(^http:\/\/)|(^https:\/\/)/, "");
o.parentNode.insertBefore(i, o);
}
}
}
function g() {
try {
if (window.navigator.cookieEnabled) {
document.cookie = "COOKIE_TEST=TEST";
if (-1 !== document.cookie.indexOf("COOKIE_TEST=TEST")) {
document.cookie = "COOKIE_TEST=PASSED_TEST";
return !0;
}
}
return !1;
} catch (e) {
return !1;
}
}
function f(t) {
var n = document.location.href;
e.Config.isInIFrame && (n = document.referrer);
t && (n = t);
return n;
}
function m(e, t) {
function n(e) {
var t = "//";
return 0 === e.indexOf(t) ? e.substring(t.length, e.length) : e.replace(/^.*?:\/\//g, "");
}
function i(e) {
return e.replace(/^(www\.)/g, "");
}
function o(e) {
var t = "/";
-1 !== e.indexOf(r, e.length - r.length) && (e = e.substring(0, e.length - 1));
-1 !== e.indexOf(t, e.length - t.length) && (e = e.substring(0, e.length - 1));
return e;
}
var a = "?",
r = "#",
s = document.location.hash,
l = document.location.search,
d = f(t);
if (t) {
var u = t.indexOf(r);
-1 === u && (u = t.length);
s = t.substring(t.indexOf(r), t.length);
l = t.substring(t.indexOf(a), u);
d = t;
}
e = n(e);
e = i(e);
e = o(e);
d = n(d);
d = i(d);
d = o(d);
-1 === e.indexOf(r) && -1 !== d.indexOf(r) && (d = d.substring(0, d.length - s.length));
-1 === e.indexOf(a) && -1 !== d.indexOf(a) && (d = d.substring(0, d.length - l.length));
d = o(d);
return d === e;
}
function p(e, t) {
if (!e) return !1;
if (e.length <= 0) return !1;
"^" !== e[0] && (e = "^" + e);
var n = e.length - 1;
"$" !== e[n] && (e += "$");
var i = f(t);
return new RegExp(e).test(i);
}
function h(e) {
try {
var t = window[e.toString()];
t.setItem("STORAGE_CHECK", "STORAGE_CHECK");
t.getItem("STORAGE_CHECK");
t.removeItem("STORAGE_CHECK");
return !0;
} catch (n) {
return !1;
}
}
function y() {
try {
return window.navigator.userAgent.indexOf("MSIE ") > 0;
} catch (e) {
return !0;
}
}
function b(e) {
return e ? "#" + e.replace(/(:|\.|\[|\]|,)/g, "\\$1") : null;
}
function v(e, t) {
for (var n = 0; n < t.length; n++) if (e.includes(t[n])) return !0;
return !1;
}
function _(e) {
var t = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return t.test(e);
}
function w(e) {
return e.replace(/[.*+?^${}()|[\]\\\/]/g, "\\$&");
}
function D(e) {
for (var t = [], n = 0; n < e.length; n++) t.push(e[n]);
return t;
}
function C(e) {
return btoa(
encodeURIComponent(e).replace(/%([0-9A-F]{2})/g, function (e, t) {
return String.fromCharCode(parseInt("0x" + t, 16));
})
);
}
function E(e, t) {
return e + " has been deprecated since version " + t;
}
t.getCookiesByRegex = n;
t.addEventListener = i;
t.detectIFrame = o;
t.dig = a;
t.flatten = r;
t.getAttributeValue = s;
t.getDocumentReadyState = l;
t.getElementByIdOrName = d;
t.getQueryParam = u;
t.insertScript = c;
t.isCookieEnabled = g;
t.isCurrentPage = m;
t.isCurrentPageRegex = p;
t.isStorageEnabled = h;
t.isOldBrowserOrUserAgentUnavailable = y;
t.jqid = b;
t.includesAny = v;
t.isValidEmail = _;
t.escapeRegExp = w;
t.nodeListToArray = D;
t.b64EncodeUnicode = C;
t.generateDeprecationMessage = E;
})((t = e.Utilities || (e.Utilities = {})));
})(Demandbase || (Demandbase = {}));
!(function (e) {
e.Demandbase.utils = e.Demandbase.utils || {};
Object.assign(e.Demandbase.utils, e.Demandbase.utils, Demandbase.Utilities);
Object.assign(e.Demandbase.utils, Demandbase.utils, { loadScript: Demandbase.Utilities.insertScript, flattenData: Demandbase.Utilities.flatten, getAttrValue: Demandbase.Utilities.getAttributeValue });
})(window);
var Demandbase;
!(function (e) {
var t = (function () {
function t(e, t, n) {
this.config = e;
this.moduleNameToConstructorMap = t;
this.nameSpace = n;
}
t.prototype.build = function () {
this._parseConfig();
};
t.prototype._parseConfig = function () {
var t = this;
Object.keys(this.config).forEach(function (n) {
var i = t._testConfigForKey(n);
if (i && 3 === i.length) {
var o = i[1],
a = t.moduleNameToConstructorMap[o];
if (t.nameSpace[n]) {
e.ErrorReporter.send(new Error("Failed to dynamically create configuration for " + n + " due to previously existing configuration with the same name."));
return;
}
if (!a) {
e.ErrorReporter.send(new Error("No constructor available in moduleNameToConstructor map for module: " + o));
return;
}
t.nameSpace[n] = new a(t.config[n]);
t.nameSpace[n].isEnabled() && t.nameSpace[n].initialize();
}
});
};
t.prototype._testConfigForKey = function (e) {
return t.REGEX_CUSTOM_MODULE_NAME.exec(e);
};
t.REGEX_CUSTOM_MODULE_NAME = /(.*)__(.*)/;
return t;
})();
e.ModuleFactory = t;
})(Demandbase || (Demandbase = {}));
var Demandbase;
!(function (e) {
var t = (function () {
function e() {
this.configuration = {};
}
e.prototype.isEnabled = function () {
return this.configuration.enabled;
};
e.prototype.mergeConfigs = function () {
for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t];
Object.assign.apply(Object, [this.configuration].concat(e));
};
return e;
})();
e.BaseModule = t;
})(Demandbase || (Demandbase = {}));
var Demandbase;
!(function (e) {
var t = (function (t) {
function n(n) {
var i = t.call(this) || this;
i.ADVERTISING_PIXEL_ID = "ad";
i.CONVERSION_PIXEL_ID = "cn";
i.RETARGETING_PIXEL_ID = "rt";
i.DEFAULT_CONFIGURATION = { enabled: !0, key: null, reportingOnly: !1, enableBW: !0 };
i.configuration = {};
i.trackConversion = i.trackConversionListener;
i.load = i.initialize;
i.loadPixels = i.insertPixels;
i._loadPixel = i.insertPixel;
i._setCampaign = i.loadCampaign;
i._setEvents = i.registerEvents;
t.prototype.mergeConfigs.call(i, i.DEFAULT_CONFIGURATION, n ? n : e.Config.Advertising);
t.prototype.mergeConfigs.call(i, n ? n : e.Config.ads);
return i;
}
__extends(n, t);
n.prototype.initialize = function () {
this.insertPixels();
this.configuration.reportingOnly === !0 && this.configuration.key && this.configuration.key !== e.Config.key && e.IpApiReportingOnly.get(this.configuration.key, !1);
};
n.prototype.isConversionPage = function () {
throw new Error(e.Utilities.generateDeprecationMessage("AdvertisingModule.isConversionPage", "8.0.0"));
};
n.prototype.insertPixels = function () {
this.configuration.enableBW && this.insertBWPixel(this.ADVERTISING_PIXEL_ID);
};
n.prototype.createAndAppendPixel = function (e, t) {
var n = document.getElementsByTagName("body")[0] || document.getElementsByTagName("head")[0],
i = document.createElement("img");
i.setAttribute("style", "display:none");
i.setAttribute("alt", "");
i.setAttribute("aria-hidden", "true");
i.id = e;
i.src = t;
n.appendChild(i);
};
n.prototype.insertBWPixel = function (t) {
var n = "db_bw_pixel_" + t,
i = e.Utilities.Constants.PROTOCOL + e.Utilities.Constants.URL_BW_AD_PIXEL;
this.createAndAppendPixel(n, i);
};
n.prototype.insertPixel = function (t) {
throw new Error(e.Utilities.generateDeprecationMessage("AdvertisingModule.insertPixel", "8.0.0"));
};
n.prototype.loadCampaign = function () {
throw new Error(e.Utilities.generateDeprecationMessage("AdvertisingModule.loadCampaign", "8.0.0"));
};
n.prototype.registerEvents = function () {
throw new Error(e.Utilities.generateDeprecationMessage("AdvertisingModule.registerEvents", "8.0.0"));
};
n.prototype.trackConversionListener = function () {
throw new Error(e.Utilities.generateDeprecationMessage("AdvertisingModule.trackConversionListener", "8.0.0"));
};
n.prototype.virtualPageViewListener = function () {
throw new Error(e.Utilities.generateDeprecationMessage("AdvertisingModule.virtualPageViewListener", "8.0.0"));
};
return n;
})(e.BaseModule);
e.AdvertisingModule = t;
})(Demandbase || (Demandbase = {}));
var Demandbase;
!(function (e) {
var t = (function (t) {
function n(n) {
var i = t.call(this) || this;
i.DEFAULT_CONFIGURATION = {
enabled: !0,
assetList: [
"api.demandbase.com/autocomplete/widget.js",
"api.demandbase.com/autocomplete/widget.min.js",
"autocomplete.demandbase.com/autocomplete/widget.js",
"autocomplete.demandbase.com/autocomplete/widget.min.js",
"scripts.demandbase.com/formWidget.js",
"scripts.demandbase.com/formWidgetDebug.js",
"scripts.demandbase.com/demandbase-sdk.js",
"scripts.demandbase.com/demandbase-sdk-debug.js",
"scripts.demandbase.com/forms.js",
"scripts.demandbase.com/forms.min.js",
],
};
i.ERROR_MESSAGE_PREFIX = "Legacy Asset Detected: ";
i.configuration = {};
i.values = {};
t.prototype.mergeConfigs.call(i, i.DEFAULT_CONFIGURATION, n ? n : e.Config.AssetReporter);
return i;
}
__extends(n, t);
n.prototype.initialize = function () {
"complete" === e.Utilities.getDocumentReadyState() ? this.read() : e.Utilities.addEventListener(window, "load", e.ErrorReporter.wrap(this.read.bind(this)));
};
n.prototype.read = function () {
for (var t = this.configuration.assetList.length, n = 0; t > n; n++) {
var i = this.configuration.assetList[n],
o = document.querySelector("script[src='" + e.Utilities.Constants.PROTOCOL + i + "']");
if (o) {
this.values[i] = !0;
this.send(i);
} else this.values[i] = !1;
}
};
n.prototype.send = function (t) {
var n = new Error(this.ERROR_MESSAGE_PREFIX + t);
e.ErrorReporter.send(n);
};
return n;
})(e.BaseModule);
e.AssetReporterModule = t;
})(Demandbase || (Demandbase = {}));
var Demandbase;
!(function (e) {
var t = (function (t) {
function n(n) {
var i = t.call(this) || this;
i.DEFAULT_CONFIGURATION = { enabled: !0 };
i.configuration = {};
i.mods = {};
t.prototype.mergeConfigs.call(i, i.DEFAULT_CONFIGURATION, n ? n : e.Config.Content);
Object.assign(i.configuration, n ? n : e.Config.content);
return i;
}
__extends(n, t);
n.prototype.initialize = function () {
e.Utilities.Callbacks.registerCallback(this.callback.bind(this));
this.setup();
};
n.prototype.callback = function () {
this.setup();
this.modify();
};
n.prototype.setup = function () {
if ("undefined" != typeof e.Config.content)
for (var t in e.Config.content) {
var n = e.Config.content[t],
i = window.Demandbase.DBContentBuilder.build(n);
i && (this.mods[i.name] = i);
}
};
n.prototype.modify = function () {
var t = this;
return e.ErrorReporter.wrap(function () {
var e = !1;
for (var n in t.mods)
if (t.mods.hasOwnProperty(n)) {
var i = t.mods[n],
o = i.run();
o && (e = !0);
}
})();
};
return n;
})(e.BaseModule);
e.ContentModule = t;
})(Demandbase || (Demandbase = {}));
var Demandbase;
!(function (e) {
var t = (function (t) {
function n(n) {
var i = t.call(this) || this;
i.DEFAULT_CONFIGURATION = { enabled: !0, formInputSelectors: ['input[type="text"]', 'input[type="email"]'], inputSearchTerms: ["email", "user", "login"] };
i.configuration = {};
i.baseUrl = "https://segments.company-target.com";
i.activeSetTimeout = 0;
t.prototype.mergeConfigs.call(i, i.DEFAULT_CONFIGURATION, n ? n : e.Config.EmailDomainReporter);
return i;
}
__extends(n, t);
n.prototype.initialize = function () {
this.sendDataIfAlreadyPresent();
this.attachListenersIfDocumentReady();
};
n.prototype.sendDataIfAlreadyPresent = function () {
var t = this,
n = this.suspectedEmailInputs();
n.length < 1 ||
n.forEach(function (n) {
var i = n.value;
if (e.Utilities.isValidEmail(i)) {
var o = i.split("@")[1].toLowerCase();
t.send(o);
}
});
};
n.prototype.attachListenersIfDocumentReady = function () {
var t = this;
"loading" !== e.Utilities.getDocumentReadyState()
? this.suspectedEmailInputs().forEach(function (n) {
n.addEventListener("input", function () {
var i = n.value;
if (e.Utilities.isValidEmail(i)) {
var o = i.split("@")[1].toLowerCase();
window.clearTimeout(t.activeSetTimeout);
t.activeSetTimeout = window.setTimeout(function () {
t.send(o);
}, 400);
}
});
})
: document.addEventListener("DOMContentLoaded", this.attachListenersIfDocumentReady.bind(this));
};
n.prototype.suspectedEmailInputs = function () {
var t = this,
n = e.Utilities.nodeListToArray(document.querySelectorAll(this.configuration.formInputSelectors.join(","))).map(function (e) {
return e;
}),
i = n.filter(function (n) {
var i = n.name.toLowerCase(),
o = n.id.toLowerCase(),
a = t.configuration.inputSearchTerms;
return e.Utilities.includesAny(i, a) ? !0 : e.Utilities.includesAny(o, a) ? !0 : !1;
});
return i;
};
n.prototype.send = function (t) {
var n;
window.XMLHttpRequest ? (n = new XMLHttpRequest()) : window.ActiveXObject && (n = new ActiveXObject("Microsoft.XMLHTTP"));
var i = e.Config.key || e.Utilities.dig(e.Config, "analytics", "key") || e.Utilities.dig(e.Config, "ads", "key") || e.Utilities.dig(e.Config, "forms", "key") || "",
o = e.Utilities.b64EncodeUnicode("vendor=mariposa&p1=" + t + "&token=" + i),
a = this.baseUrl + "/l/" + o;
try {
n.open("GET", a);
n.withCredentials = !0;
n.setRequestHeader("Content-type", "application/json");
n.send();
} catch (r) {
throw r;
}
};
n.prototype.responseHandler = function (e) {};
return n;
})(e.BaseModule);
e.EmailDomainReporterModule = t;
})(Demandbase || (Demandbase = {}));
var Demandbase;
!(function (e) {
var t = (function (t) {
function n(n) {
var i = t.call(this) || this;
i.VERSION = "0.0.0";
i.PROJECT_ID = "141580";
i.PROJECT_KEY = "9a0a3519e930259f5886a7af53b0ccaa";
i.SENTRY_PROJECT_ID = "1190150";
i.SENTRY_PUBLIC_KEY = "3c9d467f8a9d4295b0f8320ae852091d";
i.DEFAULT_CONFIGURATION = { environment: "production", ignorableErrors: [] };
i.configuration = {};
i.additionalErrorDetails = {};
t.prototype.mergeConfigs.call(i, i.DEFAULT_CONFIGURATION, n ? n : e.Config.ErrorReporter);
return i;
}
__extends(n, t);
n.prototype.initialize = function () {};
n.prototype.send = function (e) {
if (!(this.configuration.ignorableErrors.indexOf(e.name) > -1 || this.configuration.ignorableErrors.indexOf(e.message) > -1)) {
var t;
window.XMLHttpRequest ? (t = new XMLHttpRequest()) : window.ActiveXObject && (t = new ActiveXObject("Microsoft.XMLHTTP"));
var n = "https://sentry.io/api/" + this.SENTRY_PROJECT_ID + "/store/?sentry_version=7&sentry_key=" + this.SENTRY_PUBLIC_KEY;
try {
t.open("POST", n, !0);
t.setRequestHeader("Content-type", "text/plain;charset=UTF-8");
t.send(this.formatMessage(e, !0));
} catch (i) {}
}
};
n.prototype.wrap = function (t) {
var n = this;
if ("function" != typeof t) throw new Error("Invalid Function: " + t);
return function () {
for (var i = [], o = 0; o < arguments.length; o++) i[o] = arguments[o];
try {
if ("undefined" != typeof t && "function" == typeof t.apply) return t.apply(n, i);
} catch (a) {
n.send(a);
e.Utilities.Logging.alert("Error: " + a + "\n" + a.stack);
}
};
};
n.prototype.formatMessage = function (e, t) {
void 0 === t && (t = !1);
var n = this.parseError(e),
i = this.parseContext(),
o = this.parseEnviroment(),
a = this.parseSession(),
r = this.parseParams(),
s = this.additionalErrorDetails;
if (t) {
var l = this.formatErrorForSentry(n);
return JSON.stringify({
logger: i.notifier.name,
platform: "javascript",
release: i.version,
environment: i.environment,
request: { url: i.url },
contexts: { browser: { userAgent: i.userAgent } },
tags: { clientId: o.config.clientId },
extra: { readyState: i.readyState, config: o.config, companyProfile: a, additionalErrorDetails: s },
exception: { values: [l] },
});
}
return JSON.stringify({ errors: [n], context: i, environment: o, session: a, params: r });
};
n.prototype.formatErrorForSentry = function (e) {
for (var t = [], n = 0, i = e.backtrace; n < i.length; n++) {
var o = i[n];
t.push({ function: o["function"], filename: o.file, lineno: o.line, colno: o.column });
}
return { type: e.type, value: e.message, stacktrace: { frames: t } };
};
n.prototype.parseError = function (t) {
return { type: t.name, message: t.message, backtrace: e.Utilities.ErrorStackParser.parse(t) };
};
n.prototype.parseContext = function () {
return {
notifier: { name: "ErrorReporterModule", version: this.VERSION },
environment: this.configuration.environment,
version: e.version,
url: window.location.href,
userAgent: navigator.userAgent,
rootDirectory: window.location.origin,
readyState: document.readyState,
};
};
n.prototype.parseEnviroment = function () {
return { config: e.Utilities.dig(e, "Config") };
};
n.prototype.parseSession = function () {
return { companyProfile: e.Utilities.dig(e, "IP", "CompanyProfile") };
};
n.prototype.parseParams = function () {
return {};
};
return n;
})(e.BaseModule);
e.ErrorReporterModule = t;
})(Demandbase || (Demandbase = {}));
var Demandbase;
!(function (e) {
var t = (function (t) {
function n(e) {
var n = t.call(this) || this;
n.FORMS_REMOTE_MODULE_URL = "tag.demandbase.com/shared/forms.min.js";
n.DEFAULT_CONFIGURATION = { enabled: void 0, emailID: null, emailFields: [] };
n.configuration = {};
n.inserted = !1;
n.setConfiguration(e);
return n;
}
__extends(n, t);
n.prototype.initialize = function () {
e.Utilities.Callbacks.registerCallback(this.whenReady.bind(this));
};
n.prototype.whenReady = function () {
this.isMktoForms2Installed() ? window.MktoForms2.whenReady(e.ErrorReporter.wrap(this.load.bind(this))) : this.load();
};
n.prototype.load = function () {
var t = !1;
if ("function" == typeof e.Config.isFormPage) {
t = e.Config.isFormPage();
this.setConfiguration();
t = e.Config.isFormPage();
} else t = this.isFormPage();
t && !this.inserted && this.insertForms();
};
n.prototype.isFormPage = function () {
var t = this.configuration.emailFields;
this.configuration.emailID && t.push(this.configuration.emailID);
for (var n = 0; n < t.length; n++) if (e.Utilities.getElementByIdOrName(t[n])) return !0;
return !1;
};
n.prototype.isMktoForms2Installed = function () {
return void 0 !== window.MktoForms2 && void 0 !== window.MktoForms2.whenReady;
};
n.prototype.insertForms = function () {
this.inserted = !0;
e.Connectors.initWebForm = this.initializeWebForm;
e.Utilities.insertScript(e.FormsLoader.FORMS_REMOTE_MODULE_URL, "db_form_module");
};
n.prototype.initializeWebForm = function (t) {
t = t || e.Config.forms || e.Config.Forms || {};
window.Demandbase.Connectors.WebForm.connect(t);
};
n.prototype.setConfiguration = function (n) {
t.prototype.mergeConfigs.call(this, this.DEFAULT_CONFIGURATION, n ? n : e.Config.Forms);
void 0 === this.configuration.enabled && void 0 !== e.Config.Forms && (this.configuration.enabled = !0);
t.prototype.mergeConfigs.call(this, this.DEFAULT_CONFIGURATION, n ? n : e.Config.forms);
void 0 === this.configuration.enabled && void 0 !== e.Config.forms && (this.configuration.enabled = !0);
};
return n;
})(e.BaseModule);
e.FormsLoaderModule = t;
})(Demandbase || (Demandbase = {}));
var Demandbase;
!(function (e) {
var t = (function (t) {
function n(n) {
var i = t.call(this) || this;
i.SO_REMOTE_MODULE_URL = "https://tag.demandbase.com/shared/siteOptimization.min.js";
i.REMOTE_STYLESHEET_URL = "https://tag.demandbase.com/shared/siteOptimization.css";
i.DEFAULT_CONFIGURATION = {
additionalClass: null,
backgroundColorClass: null,
closedTitle: "Recommended Content",
companyProfile: null,
cssFileURL: i.REMOTE_STYLESHEET_URL,
delay: 0,
enabled: void 0,
fadeIn: 0,
fontColor: null,
fontName: null,
googleAnalyticsTrackerName: null,
isGoogleAnalyticsEnabled: !1,
isRippleAnimation: !0,
isSwitchersDots: !0,
isSwitchersArrows: !1,
itemBackgroundColor: null,
mainClass: "defaultBlock",
openByDefault: !1,
openTitle: null,
recommendationApiURL: "https://site-optimization-api.company-target.com/recommend/",
recommendationCompanyName: null,
recommendationCompanyId: null,
recommendationKey: null,
recommendationsProtocol: "forceHTTPS",
recommendationUrl: window.location.href,
showCloseButton: !0,
showCompanyName: !0,
showFeedbackLink: !1,
showIndicatorArrows: !0,
showLogo: !0,
showLogoWhenClosed: !0,
showLogoWhenOpen: !1,
showOnlyOnScroll: !1,
showTitleWhenClosed: !0,
showTitleWhenOpen: !0,
switcherArrowsColor: "#444",
state: { openedRecommendationBlock: null },
widgetBackgroundColor: null,
widgetContainerId: null,
};
i.configuration = {};
i.inserted = !1;
t.prototype.mergeConfigs.call(i, i.DEFAULT_CONFIGURATION, n ? n : e.Config.SiteOptimization);
i.configuration.recommendationKey = e.Config.key;
return i;
}
__extends(n, t);
n.prototype.initialize = function () {
e.Utilities.Callbacks.registerCallback(this.callback.bind(this));
};
n.prototype.callback = function (e) {
this.configuration.companyProfile = e;
this.insertSiteOptimization();
};
n.prototype.insertSiteOptimization = function () {
this.inserted = !0;
e.Utilities.insertScript(e.SiteOptimizationLoader.SO_REMOTE_MODULE_URL, "db_site_optimization_module");
};
return n;
})(e.BaseModule);
e.SiteOptimizationLoaderModule = t;
})(Demandbase || (Demandbase = {}));
var Demandbase;
!(function (e) {
var t = (function (t) {
function n(n) {
var i = t.call(this) || this;
i.DEFAULT_CONFIGURATION = { enabled: !0, events: null, fieldMap: null, googleAnalyticsClassicScope: 2, trackerName: null, trackerId: null };
i.configuration = {};
i.gType = "";
i._cEvent = i.sendEvent;
t.prototype.mergeConfigs.call(i, i.DEFAULT_CONFIGURATION, n ? n : e.Config.Google_Analytics);
t.prototype.mergeConfigs.call(i, n ? n : e.Config.analytics);
return i;
}
__extends(n, t);
n.prototype.initialize = function () {
this._detectG();
this._setTrackerName();
this.configuration.fieldMap && "{}" !== JSON.stringify(this.configuration.fieldMap) && e.Utilities.Callbacks.registerCallback(this.callback.bind(this));
this._setEvents();
};
n.prototype.sendEvent = function (t, n, i) {
"ga" === this.gType
? this._trackEvent(t, n, i)
: window.ga(function () {
e.Connectors.Google_Analytics._sendEvent(t, n, i);
});
e.Utilities.Logging.log("Sent Custom Event:" + t + "/" + n + "/" + i);
};
n.prototype.getTrackerInfo = function () {
var e = [],
t = [];
if ("undefined" != typeof window._gaq && "undefined" != typeof window._gat && "function" == typeof window._gat._getTrackers) {
var n = window._gat._getTrackers();
n.forEach(function (t) {
t._getName().length > 0 && e.push({ type: "classic", trackerId: t._getAccount(), name: t._getName() });
});
}
if ("undefined" != typeof window.ga && "undefined" != typeof window.ga.getAll) {
var i = window.ga.getAll();
i.forEach(function (e) {
t.push({ type: "universal", trackerId: e.get("trackingId"), name: e.get("name") });
});
}
return t.concat(e);
};
n.prototype._setTrackerName = function () {
var e = this;
if (!this.configuration.trackerName) {
var t = "undefined" != typeof window.ga,
n = "undefined" != typeof window._gat && "function" == typeof window._gat._getTrackers;
if (n) {
var i = _gat._getTrackers();
if ("undefined" != typeof i.length && i.length > 0) {
if (this.configuration.trackerId)
for (var o = 0; o < i.length; o++)
if (i[o]._getName().length > 0) {
var a = i[o]._getName();
if (i[o]._getAccount() === this.configuration.trackerId && !this.configuration.trackerName) {
this.configuration.trackerName = a;
return;
}
}
var r = i[0] || null;
if (r && "function" == typeof r._getName) {
var s = r._getName() || null;
this.configuration.trackerName || (this.configuration.trackerName = s);
}
}
}
t &&
window.ga(function () {
var t = window.ga.getAll() || [];
if (e.configuration.trackerId)
for (var n = 0; n < t.length; n++) {
var i = t[n],
o = i.get("name");
if (i.get("trackingId") === e.configuration.trackerId) {
e.configuration.trackerName = o;
return;
}
}
if ("undefined" != typeof t.length && t.length > 0) {
var i = t[0] || null;
if (i && "function" == typeof i.get) {
var a = i.get("name") || null;
e.configuration.trackerName = a;
}
}
});
}
};
n.prototype.callback = function (t) {
try {
if (!t) throw new Error("Error - no data passed to callback");
var n = e.Connectors.Google_Analytics;
n._detectG();
n._setTrackerName();
for (var i in n.configuration.fieldMap)
if (n.configuration.fieldMap.hasOwnProperty(i)) {
var o = +i,
a = n.configuration.fieldMap[i],
r = e.Utilities.getAttributeValue(t, a);
n._var(o, a, r.toString());
}
n.sendEvent("Demandbase", "API Resolution", "IP API");
} catch (s) {
e.Utilities.Logging.log("GA Error: " + s + "\n" + s.stack);
e.Connectors.Google_Analytics.sendEvent("Demandbase", "API Resolution", "Callback Error");
}
};
n.prototype._detectG = function () {
if (window._gaq) {
this.gType = "ga";
_gaq.push(["_addDevId", "NE7T9"]);
} else this.gType = null;
this._setGaObject();
try {
window.ga(function () {
e.Connectors.Google_Analytics.gType = "ua";
});
} catch (t) {
e.Connectors.Google_Analytics.gType = "ua";
}
e.Utilities.Logging.log("Detected Google version: " + this.gType);
};
n.prototype._sendEvent = function (e, t, n) {
var i = this.configuration.trackerName ? this.configuration.trackerName + ".send" : "send";
window.ga(i, "event", { eventCategory: e, eventAction: t, eventLabel: n, nonInteraction: !0 });
};
n.prototype._setCustomDimension = function (e, t) {
var n = this.configuration.trackerName ? this.configuration.trackerName + ".set" : "set";
window.ga(n, "dimension" + e, t);
};
n.prototype._setCustomVariable = function (e, t, n) {
var i = this.configuration.trackerName ? this.configuration.trackerName + "._setCustomVar" : "_setCustomVar",
o = this.configuration.googleAnalyticsClassicScope || 2;
window._gaq.push([i, e >> 0, t, n, o]);
};
n.prototype._setEvents = function () {
var t = this.configuration.events || [];
if (t)
for (var n in t)
if (t.hasOwnProperty(n)) {
var i = t[n];
if (i.data) {
var o = i.data.category || "",
a = i.data.action || "",
r = i.data.label || "";
"undefined" == typeof i.listener && o && a && r
? (i.listener = function () {
e.Connectors.Google_Analytics.sendEvent(o, a, r);
e.Utilities.Logging.log("Event listener ran");
})
: (o && a && r) || e.Utilities.Logging.log("Need to define a custom listener function or set data with category/action/label");
}
e.Utilities.Events.add(i);
}
};
n.prototype._setGaObject = function () {
if ("undefined" == typeof window.ga) {
window.ga =
window.ga ||
function () {
(window.ga.q = window.ga.q || []).push(arguments);
};
window.ga.l = +new Date();
}
};
n.prototype._trackEvent = function (e, t, n) {
var i = this.configuration.trackerName ? this.configuration.trackerName + "._trackEvent" : "_trackEvent";
window._gaq.push([i, e, t, n, 0, 1]);
};
n.prototype._var = function (t, n, i) {
"ga" === this.gType
? this._setCustomVariable(t, n, i)
: window.ga(function () {
e.Connectors.Google_Analytics._setCustomDimension(t, i);
});
e.Utilities.Logging.log(t + " " + n + " : " + i);
};
return n;
})(e.BaseModule);
e.Google_AnalyticsModule = t;
})(Demandbase || (Demandbase = {}));
var Demandbase;
!(function (e) {
var t = (function (t) {
function n(n) {
var i = t.call(this) || this;
i.DEFAULT_CONFIGURATION = { enabled: !0 };
i.configuration = {};
t.prototype.mergeConfigs.call(i, i.DEFAULT_CONFIGURATION, n ? n : e.Config.Google_TagManager);
return i;
}
__extends(n, t);
n.prototype.initialize = function () {
e.Utilities.Callbacks.registerCallback(this.callback.bind(this));
};
n.prototype.callback = function (t) {
e.Connectors.Google_TagManager.pushToDataLayer(t);
};
n.prototype.pushToDataLayer = function (t, n) {
if (!window.google_tag_manager || !window.dataLayer || "function" != typeof dataLayer.push) return !1;
var i = n ? "_" + n : "";
dataLayer.push(t);
dataLayer.push({ event: "Demandbase_Loaded" + i });
e.Utilities.Logging.log("Pushed to GTM dataLayer");
return !0;
};
return n;
})(e.BaseModule);
e.Google_TagManagerModule = t;
})(Demandbase || (Demandbase = {}));
var Demandbase;
!(function (e) {
var t = (function (t) {
function n(n) {
var i = t.call(this) || this;
i.TEST_MODE_ENABLED = "db_useTestIp";
i.TEST_MODE_VALUE = "db_ip";
i.API_ENDPOINT = "api.company-target.com/api/v2/ip.json";
i.DEFAULT_CONFIGURATION = { apiKey: null, baseUrl: i.API_ENDPOINT, testModeEnabled: !1, testModeValue: null, masIntegrations: { pardot: !1 }, enablePardotPolling: !0 };
i.configuration = {};
i.initialized = !1;
i.pollForPardotStart = 0;
i.pardotMaxPollWindow = 5e3;
i.key = i.configuration.apiKey;
i.useTestValue = i.configuration.testModeEnabled;
i.testValue = i.configuration.testModeValue;
i.load = i.get;
i._loadOnce = i.getOnce;
i.CompanyProfile = void 0;
i.isCalled = !1;
try {
t.prototype.mergeConfigs.call(
i,
i.DEFAULT_CONFIGURATION,
{
apiKey: e.Config.key || e.Utilities.dig(e.Config, "analytics", "key") || e.Utilities.dig(e.Config, "ads", "key") || e.Utilities.dig(e.Config, "forms", "key"),
testModeEnabled: e.Utilities.getQueryParam(i.TEST_MODE_ENABLED) || e.Config.useTestIp,
testModeValue: e.Utilities.getQueryParam(i.TEST_MODE_VALUE) || e.Config.testIp,
},
n ? n : e.Config.IpApiModule
);
i.initialized = !0;
} catch (o) {
i.initialized = !1;
}
return i;
}
__extends(n, t);
n.prototype.initialize = function () {
try {
Object.assign(this.configuration, this.configuration, {
apiKey: e.Config.key || e.Utilities.dig(e.Config, "analytics", "key") || e.Utilities.dig(e.Config, "ads", "key") || e.Utilities.dig(e.Config, "forms", "key"),
testModeEnabled: e.Utilities.getQueryParam(this.TEST_MODE_ENABLED) || e.Config.useTestIp,
testModeValue: e.Utilities.getQueryParam(this.TEST_MODE_VALUE) || e.Config.testIp,
});
this.initialized = !0;
} catch (t) {
this.initialized = !1;
e.ErrorReporter.send(t);
}
};
n.prototype.get = function (t, n) {
var i = this;
void 0 === t && (t = void 0);
void 0 === n && (n = !0);
this.initialized || this.initialize();
var o;
window.XMLHttpRequest ? (o = new XMLHttpRequest()) : window.ActiveXObject && (o = new ActiveXObject("Microsoft.XMLHTTP"));
if (!o || e.Utilities.isOldBrowserOrUserAgentUnavailable()) {
this.getByDomScript(t, n);
return e.Utilities.Logging.log("IP API query via DOM tag");
}
var a = { key: t || this.configuration.apiKey, query: this.fetchIpAddress(), mas_integrations: void 0, src: "tag" },
r = e.Utilities.getQueryParam(e.Utilities.Constants.QS_PREVIEW_TOKEN);
r && (a.preview_token = r);
if (!a.key) return e.Utilities.Logging.log("IP API query cancelled - check auth key.");
var s = this.configuration.masIntegrations && this.configuration.masIntegrations.pardot;
s ? (a.mas_integrations = e.Utilities.b64EncodeUnicode(JSON.stringify({ pardot: this.fetchOrPollForPardotCookie() || {} }))) : e.Utilities.Logging.log("No Pardot integration in config, skipping cookie sync");
n &&
(o.onreadystatechange = e.ErrorReporter.wrap(function () {
i.responseHandler(o);
}));
try {
o.open("GET", "https://" + e.Utilities.Api.buildApiUrl(this.configuration.baseUrl, a));
"undefined" != typeof o.withCredentials && (o.withCredentials = !0);
o.send();
} catch (l) {
if (0 !== o.status) throw l;
if (!this.isIgnorableDevice()) throw new Error("IP API Request Blocked");
}
};
n.prototype.isIgnorableDevice = function () {
for (var t = 0; t < e.Utilities.Constants.NON_HUMAN_DEVICES.length; t++) if (e.Utilities.Constants.NON_HUMAN_DEVICES[t].test(window.navigator.userAgent)) return !0;
return !1;
};
n.prototype.getByDomScript = function (t, n) {
void 0 === t && (t = void 0);
void 0 === n && (n = !0);
var i = { key: t || this.configuration.apiKey, query: this.fetchIpAddress(), callback: n ? "Demandbase.Utilities.Callbacks.domScriptCallback" : "" };
if (!i.key) return e.Utilities.Logging.log("IP API query cancelled - check auth key.");
e.Utilities.insertScript(e.Utilities.Api.buildApiUrl(this.configuration.baseUrl, i), "db_ip_api");
};
n.prototype.getOnce = function () {
if (this.isCalled) e.Utilities.Logging.log("IP API call halted. Already called.");
else {
this.isCalled = !0;
this.get();
}
};
n.prototype.fetchIpAddress = function () {
return this.configuration.testModeEnabled ? this.configuration.testModeValue : void 0;
};
n.prototype.responseHandler = function (t) {
if (4 === t.readyState && 200 === t.status)
try {
var n = JSON.parse(t.responseText);
this.CompanyProfile = e.Utilities.flatten(n);
e.Utilities.Callbacks.callback(this.CompanyProfile);
} catch (i) {
e.ErrorReporter.additionalErrorDetails = { status: t.status, readyState: t.readyState, url: t.responseURL, body: t.responseText };
throw i;
}
};
n.prototype.fetchOrPollForPardotCookie = function () {
var t = this.configuration.masIntegrations && this.configuration.masIntegrations.pardot;
if (t) {
var n = e.Utilities.getCookiesByRegex(e.Utilities.Constants.PARDOT_VISITOR_COOKIE_REGEX, document);
if ("object" == typeof n && Object.keys(n).length > 0) {
e.Utilities.Logging.log("Found Pardot cookie, including in API request");
return n;
}
var i = this.configuration.enablePardotPolling && 0 === this.pollForPardotStart;
if (i !== !1) {
e.Utilities.Logging.log("Pardot cookie not found, initiating polling");
this.pollForPardotCookie();
}
} else e.Utilities.Logging.log("No Pardot integration in config, skipping cookie sync");
};
n.prototype.pollForPardotCookie = function () {
var t = this;
if (0 === this.pollForPardotStart) {
this.pollForPardotStart = Date.now();
e.Utilities.Logging.log("Pardot cookie polling started at " + this.pollForPardotStart);
}
var n = Date.now() - this.pollForPardotStart,
i = n > this.pardotMaxPollWindow;
if (i) e.Utilities.Logging.log("Pardot cookie not found within " + this.pardotMaxPollWindow + " ms");
else {
var o = this.fetchOrPollForPardotCookie();
if (o) {
e.Utilities.Logging.log("Pardot cookie found, making second API call");
this.get(void 0, !1);
} else
window.setTimeout(function () {
t.pollForPardotCookie();
}, 100);
}
};
return n;
})(e.BaseModule);
e.IpApiModule = t;
})(Demandbase || (Demandbase = {}));
var Demandbase;
!(function (e) {
var t = (function () {
function t() {}
t._callback = function (t) {
if (t.domain || t.person) {
t = t.domain || t.person;
e.Utilities.flatten(t);
this.CompanyProfile = t;
} else e.Utilities.Logging.log("Demandbase.Domain: No company profile available for domain: " + this.getDomain());
};
t.load = function () {
if ("function" == typeof e.Config.getDomain && void 0 !== this.key) {
var t = "",
n = {};
t = this.useTestValue ? this.testValue : this.getDomain();
n = { key: this.key, callback: "Demandbase.Domain._callback", query: t, src: "tag" };
e.Utilities.Logging.log("Calling Domain API...");
e.Utilities.insertScript(e.Utilities.Api.buildApiUrl(e.Utilities.Constants.URL_DOMAIN_API, n), "db_domain_api");
} else e.Utilities.Logging.log("Domain API query cancelled - check auth key or Config.getDomain");
};
t.getDomain = function () {
if (this.useTestValue) return this.testValue;
if ("function" == typeof e.Config.getDomain) return e.Config.getDomain.call(e.Config);
e.Utilities.Logging.log("Warning: Config.getDomain fcn not defined.");
return "getDomain function is not defined";
};
t.key = e.Utilities.dig(e, "Config", "key") || e.Utilities.dig(e, "Config", "analytics", "key") || e.Utilities.dig(e, "Config", "ads", "key") || e.Utilities.dig(e, "Config", "forms", "key") || "ERR_NO_AUTH_KEY";
t.CompanyProfile = null;
t.useTestValue = "true" === e.Utilities.getQueryParam(e.Utilities.Constants.QS_USE_TEST_DOMAIN) || e.Config.useTestDomain || !1;
t.testValue = e.Utilities.getQueryParam(e.Utilities.Constants.QS_QUERY_DOMAIN) || e.Config.testDomain || "No Test Domain Set";
return t;
})();
e.Domain = t;
})(Demandbase || (Demandbase = {}));
if ("undefined" == typeof window.__db) var __db = { segments: null, conditions: null };
window.Demandbase.DBCondition = function (e, t, n, i, o) {
this.name = e;
this.attributeValue = t;
this.operator = n;
this.value = i;
this.attributeName = o;
this._checkValue = function (e) {
switch (n) {
case "equals":
return this.attributeValue == e;
case "not equals":
return this.attributeValue !== e;
case "contains":
return -1 !== this.attributeValue.indexOf(e);
default:
return !1;
}
};
this.evaluate = function () {
n = this.operator.toLowerCase();
n = window.Demandbase.DBCondition.prototype.supportedOperators[n];
if ("object" == typeof this.value) {
for (var e in this.value) if (this._checkValue(this.value[e]) === !0) return !0;
return !1;
}
return this._checkValue(this.value);
};
};
window.Demandbase.DBCondition.prototype.name = "DBCondition";
window.Demandbase.DBCondition.prototype.supportedOperators = {
"=": "equals",
"==": "equals",
equal: "equals",
equals: "equals",
"!=": "not equals",
"!==": "not equals",
"not equal": "not equals",
"not equals": "not equals",
contains: "contains",
contain: "contains",
};
window.Demandbase.DBConditionBuilder = {
isValid: function (e) {
for (var t = ["name", "attributeValue", "operator", "value", "attributeName"], n = 0; n < t.length; n++) if ("undefined" == typeof e[t[n]]) return !1;
return !0;
},
build: function (e, t) {
if (e && !e.name) return null;
if ("undefined" != typeof e.constructor.prototype.name && "DBCondition" === e.constructor.prototype.name) return e;
e.attributeName || (e.attributeName = e.attribute || "NO_ATTR_SET");
e.attributeValue = t[e.attribute] || "";
if (!this.isValid(e)) return null;
var n = e.name,
i = e.attributeValue,
o = e.operator,
a = e.value,
r = e.attributeName,
s = new window.Demandbase.DBCondition(n, i, o, a, r);
return s;
},
};
var DBSegment = function (e, t) {
this.name = e;
this.rules = [];
this.operator = "";
this.addCondition = function (e) {
if (!((e && e.evaluate) || ("undefined" != typeof e.constructor.prototype.name && "DBCondition" === e.constructor.prototype.name))) {
var e = window.Demandbase.DBConditionBuilder.build(e, window.Demandbase.Segments.CompanyProfile);
if (!e) throw new Error("Invalid Condition: " + e.name);
Demandbase.Utilities.Logging.log("DBSegmentBuilder converted condition successfully...");
}
this.rules.push(e);
var t = this.operator || DBSegment.prototype.supportedOperators.any;
switch (t) {
case "and":
return (this.value = this.value && e.evaluate());
case "or":
return (this.value = this.value || e.evaluate());
default:
return e.evaluate();
}
};
this.value = this.addCondition(t);
};
DBSegment.prototype.name = "DBSegment";
DBSegment.prototype.supportedOperators = { "&&": "and", "&": "and", and: "and", "||": "or", "|": "or", or: "or", any: "or", all: "and" };
window.Demandbase.DBSegmentBuilder = {
isValid: function (e) {
for (var t = ["name", "operator", "rules"], n = 0; n < t.length; n++) if ("undefined" == typeof e[t[n]]) return !1;
return Array.isArray(e.rules) ? !0 : !1;
},
build: function (e) {
if (!this.isValid(e)) return null;
var t,
n = e.name,
i = e.rules[0],
o = e.operator;
if (i) {
t = new DBSegment(n, i);
t.operator = DBSegment.prototype.supportedOperators[o] || DBSegment.prototype.supportedOperators.any;
if (e.rules.length > 1)
for (var a = 1; a < e.rules.length; a += 1) {
var i = e.rules[a];
if ("undefined" == typeof i.constructor.prototype.name || "DBCondition" !== i.constructor.prototype.name) {
var r = window.Demandbase.DBConditionBuilder.build(i, void 0);
r && (i = r);
}
t.addCondition(i);
}
return t;
}
},
};
window.Demandbase.Segments = window.Demandbase.Segments || {
name: "Demandbase Segments",
CompanyProfile: null,
AccountWatchVisitor: !1,
IsCompany: !1,
version: "1.2.2",
_debug: !1,
_allConditions: [],
_allSegments: [],
_isInitialized: !1,
_setup: function () {
this._isInitialized && this._reset();
this.CompanyProfile || (!window.Demandbase.IP && !window.Demandbase.Domain) || (this.CompanyProfile = window.Demandbase.IP.CompanyProfile || window.Demandbase.Domain.CompanyProfile || {});
"Detailed" === this.CompanyProfile.information_level && (this.IsCompany = !0);
for (var e in this.CompanyProfile) this.CompanyProfile.hasOwnProperty(e) && 0 === e.indexOf("watch_list_") && (this.AccountWatchVisitor = !0);
for (var t in this._allConditions)
this._allConditions.hasOwnProperty(t) &&
this._allConditions[t] &&
("undefined" == typeof this._allConditions[t].constructor.prototype.name || "DBCondition" !== this._allConditions[t].constructor.prototype.name) &&
this.add("condition", this._allConditions[t]);
for (var n in this._allSegments)
this._allSegments.hasOwnProperty(n) &&
this._allSegments[n].name &&
("undefined" == typeof this._allSegments[n].constructor.prototype.name || "DBSegment" !== this._allSegments[n].constructor.prototype.name) &&
this.add("segment", this._allSegments[n]);
},
_reset: function () {
this._allConditions = Demandbase.Config.conditions || __db.conditions || [];
this._allSegments = Demandbase.Config.segments || __db.segments || [];
},
load: function () {
Demandbase.Utilities.Callbacks.registerCallback(this.init.bind(this));
},
init: function (e) {
window.Demandbase.Segments._debug = Demandbase.Utilities.Logging.debug || !1;
window.Demandbase.Segments._allConditions = Demandbase.Config.conditions || __db.conditions || [];
window.Demandbase.Segments._allSegments = Demandbase.Config.segments || __db.segments || [];
var t = window.Demandbase.Segments;
t.CompanyProfile = e;
t._setup();
t._isInitialized = !0;
},
getActiveSegments: function () {
var e = [];
for (var t in this._allSegments) this._allSegments.hasOwnProperty(t) && this._allSegments[t].value && e.push(this._allSegments[t]);
return e;
},
getInactiveSegments: function () {
var e = [];
for (var t in this._allSegments) this._allSegments.hasOwnProperty(t) && (this._allSegments[t].value || e.push(this._allSegments[t]));
return e;
},
add: function (e, t) {
if (!e || !t || t == {}) {
Demandbase.Utilities.Logging.log("Demandbase.Segments.add operation failed due to invalid/empty parameters.");
return null;
}
if ("condition" === e) {
for (var n, i = this._allConditions.length, o = 0; o < this._allConditions.length; o++)
if (this._allConditions[o].name === t.name) {
i = o;
break;
}
n = window.Demandbase.DBConditionBuilder.build(t, this.CompanyProfile);
n ? (this._allConditions[i] = n) : Demandbase.Utilities.Logging.log("Invalid Condition (not created) from: " + JSON.stringify(t));
if ("undefined" == typeof t.standalone || t.standalone !== !1) {
var a = t.name;
this.add("segment", { name: a, rules: [a], operator: DBSegment.prototype.supportedOperators.any });
}
} else if ("segment" === e) {
if ("segment" !== this.isValid(t)) return null;
for (var r, s, l = (t.name, this._allSegments.length), d = t.rules || [], u = 0; u < this._allSegments.length; u++)
if (this._allSegments[u].name === t.name) {
l = u;
break;
}
for (var c = 0; c < d.length; c++) {
var g = d[c];
if (!DBSegment.prototype.supportedOperators[g]) {
DBSegment.prototype.supportedOperators[g] || (s = this.get("condition", g));
s ? (d[c] = s) : Demandbase.Utilities.Logging.log("Segment: " + t + " uses a Condition (" + d[c] + ") that is not defined.");
}
}
t.rules = d;
r = window.Demandbase.DBSegmentBuilder.build(t);
if (r) {
this._allSegments[l] = r;
if (this.hasOwnProperty(r.name)) this[r.name] = r;
else
try {
Object.defineProperty(this, r.name, { value: r.value, writable: !0 });
} catch (f) {
window.Demandbase.Segments[r.name] = r.value;
}
} else Demandbase.Utilities.Logging.log("Invalid Segment (not created) from: " + JSON.stringify(t));
} else Demandbase.Utilities.Logging.log('Invalid "type" parameter (' + e + ') passed to "add" function. Must be "segment" or "condition".');
},
get: function (e, t) {
var n = [];
1 === arguments.length && (t = e);
if ("condition" === e) {
if ("undefined" != typeof t.constructor.prototype.name && "DBCondition" === t.constructor.prototype.name) return t;
n = this._allConditions;
} else {
if ("undefined" != typeof t.constructor.prototype.name && "DBSegment" === t.constructor.prototype.name) return t;
n = this._allSegments;
}
for (var i in n) if (this._allConditions[i].name === t) return this._allConditions[i];
DBSegment.prototype.supportedOperators[t] || Demandbase.Utilities.Logging.log('No item with type: "' + e + '" found with name: ' + t);
return null;
},
isValid: function (e) {
var t,
n = "condition",
i = "segment",
o = ["name", "rules"],
a = ["name", "attribute", "operator", "value"];
if (!e) return !1;
if ("undefined" != typeof e.constructor.prototype.name && "DBSegment" === e.constructor.prototype.name) return i;
if ("undefined" != typeof e.constructor.prototype.name && "DBCondition" === e.constructor.prototype.name) return n;
try {
if (e.hasOwnProperty("name") && e.hasOwnProperty("rules")) {
if ("object" == typeof e.rules) return i;
} else
for (var r in o)
if (!e.hasOwnProperty(o[r])) {
Demandbase.Utilities.Logging.log('Invalid DBSegment definition. Missing property:"' + o[r] + '"');
return !1;
}
if (t) return t;
for (var r in a) {
if (!e.hasOwnProperty(a[r])) {
Demandbase.Utilities.Logging.log('Invalid DBCondition definition. Missing property:"' + a[r] + '"');
return !1;
}
t = n;
}
return t;
} catch (s) {
Demandbase.ErrorReporter.send(s);
return !1;
}
},
};
var Demandbase;
!(function (e) {
function t(t) {
if (!e._isInitialized || t) {
e._isInitialized = !0;
null == e.Config.isInIFrame && (e.Config.isInIFrame = e.Utilities.detectIFrame());
e.AssetReporter = new e.AssetReporterModule();
e.AssetReporter.isEnabled() && e.AssetReporter.initialize();
e.Advertising = new e.AdvertisingModule();
e.Ads = e.Advertising;
if (e.Advertising.isEnabled()) {
e.IpApiReportingOnly = new e.IpApiModule();
e.Advertising.initialize();
}
e.IpApi = new e.IpApiModule();
e.IP = e.IpApi;
e.IpApi.getOnce();
window.Demandbase.Segments.load();
e.Config.callback && e.Utilities.Callbacks.registerCallback(e.Config.callback);
e.FormsLoader = new e.FormsLoaderModule();
if (e.FormsLoader.isEnabled()) {
e.FormsLoader.initialize();
window.Demandbase.utils.loadFormModule = e.FormsLoader.load.bind(e.FormsLoader);
window.Demandbase.utils.isFormPage = e.FormsLoader.isFormPage.bind(e.FormsLoader);
}
e.SiteOptimizationLoader = new e.SiteOptimizationLoaderModule();
e.SiteOptimizationLoader.isEnabled() && e.SiteOptimizationLoader.initialize();
e.Connectors.Google_Analytics = new e.Google_AnalyticsModule();
e.Connectors.Google_Analytics.isEnabled() && e.Connectors.Google_Analytics.initialize();
e.Connectors.Google_TagManager = new e.Google_TagManagerModule();
e.Connectors.Google_TagManager.isEnabled() && e.Connectors.Google_TagManager.initialize();
e.Content = new e.ContentModule();
e.Content.isEnabled() && e.Content.initialize();
if ("function" == typeof e.Config.getDomain) {
var n = e.Config.getDomain();
n && e.Domain.load();
}
e.EmailDomainReporter = new e.EmailDomainReporterModule();
e.EmailDomainReporter.isEnabled() && e.EmailDomainReporter.initialize();
var i = { Advertising: e.AdvertisingModule, AssetReporter: e.AssetReporterModule, Content: e.ContentModule, ErrorReporter: e.ErrorReporterModule, Google_Analytics: e.Google_AnalyticsModule };
new e.ModuleFactory(e.Config, i, e).build();
"function" == typeof e.Config.onLoad && e.Config.onLoad.call(e);
}
}
e.initialize = t;
})(Demandbase || (Demandbase = {}));
Demandbase.Config.Google_Analytics = {
fieldMap: {
5: "demandbase_sid",
9: "company_name",
10: "industry",
13: "sub_industry",
14: "employee_range",
18: "revenue_range",
11: "audience",
23: "audience_segment",
24: "city",
20: "country_name",
12: "watch_list_account_type",
25: "watch_list_account_owner",
26: "web_site",
19: "watch_list_account_region",
},
};
Demandbase.Config.forms = {
companyID: "NotACompany",
emailID: "email",
fieldMap: {
demandbase_sid: "demandbase_sid",
company_name: "db_company_name",
industry: "db_industry",
sub_industry: "db_sub_industry",
employee_range: "db_employee_range",
revenue_range: "db_revenue_range",
street_address: "db_street_address",
city: "db_city",
state: "db_state",
zip: "db_zip",
country: "db_country",
data_source: "db_data_source",
phone: "db_phone",
country_name: "db_country_name",
employee_count: "db_employee_count",
b2b: "db_b2b",
b2c: "db_b2c",
web_site: "db_web_site",
},
};
Demandbase.Config.onLoad = function () {
Demandbase.Config.loadFormModule();
};
Demandbase.Config.loadFormModule = function () {
function e() {
i++;
var o = Demandbase.Utilities.getElementByIdOrName("email");
if ((o && "undefined" == typeof Demandbase.Connectors.WebForm && window.jQuery) || i === n) {
if (window.jQuery) {
window.Demandbase.client$ = window.$;
window.Demandbase.clientJQuery = window.jQuery.noConflict(!0);
}
Demandbase.utils.loadFormModule();
clearTimeout(e);
} else n > i && setTimeout(e, t);
}
var t = 100,
n = 25,
i = 0;
e();
};
Demandbase.Config.clientId = "02de8088";
Demandbase.Config.key = "8b4b10ca2b40379264274d10f7592303";
Demandbase.Config.Advertising = { pixels: { ad: "15224404876937", rt: "1522440487461", cn: null } };
Demandbase.ErrorReporter = new Demandbase.ErrorReporterModule();
Demandbase.ErrorReporter.initialize();
Demandbase.ErrorReporter.wrap(Demandbase.initialize.bind(Demandbase))();
//# sourceMappingURL=02de8088.min.js.map
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment