/* Controltag Loader for Turner */
(function(){
var debugging = /kxdebug/.test(location);
var log = function() {
// It's a flag, so if it's there, then it means debug.
debugging && window.console && console.log([].slice.call(arguments).join(' '));
};
var load = function(url, callback) {
log('Loading script from:', url);
var node = document.createElement('script');
node.async = true; // This is just to be friendly.
node.src = url;
// Connect to both in case we're in older IE.
node.onload = node.onreadystatechange = function() {
var state = node.readyState;
if (!callback.done && (!state || /loaded|complete/.test(state))) {
log('Script loaded from:', url);
callback.done = true; // Mark the callback, so we don't load it twice on accident.
callback();
}
};
// Fetch the first script element, so we can insert the
// controltag before it. There *must* be at least one
// script element, or this code would never be called
var sibling = document.getElementsByTagName('script')[0];
sibling.parentNode.insertBefore(node, sibling);
};
// ControlTag simply crashes when opening a website from Twitter browser on
// iOS, temporarily disable CT when Twitter for iPhone is detected until they
// fix this (works fine with other twitter client though)
if (/Twitter for iPhone/.test(window.navigator.userAgent || '')) return;
var config = {"partner_segment_map": {}, "context_terms": [], "tags": [{"content": "", "target": "", "target_action": null, "require": "", "docwrite": null, "template_replacement": 1, "execution_results": null, "tier": 1, "internal": false, "content_type": "html", "freq_cap": 3, "timing": "asap", "method": "document", "type": "publisher", "id": 28180, "name": "Rubicon User Matching"}, {"content": "", "target": "", "target_action": null, "require": "", "docwrite": null, "template_replacement": 1, "execution_results": {"onloadSafe": true, "docwrite": false, "listeners": []}, "tier": 1, "internal": false, "content_type": "html", "criteria": [{"operator": "contains", "name": "url", "value": "?kruxtest"}], "timing": "asap", "method": "document", "type": "publisher", "id": 50226, "name": "Amazon (Test)"}, {"content": "", "target": "", "target_action": null, "require": "", "docwrite": null, "template_replacement": 1, "execution_results": null, "tier": 2, "internal": 1, "content_type": "html", "timing": "asap", "method": "document", "type": "publisher", "id": 48801, "name": "Load Segments V4 (auto upgrade)"}, {"content": "", "target": null, "target_action": "append", "require": "", "docwrite": null, "internal": 1, "template_replacement": 1, "execution_results": null, "tier": 1, "library_tag_config": {}, "content_type": "html", "timing": "onload", "method": "document", "type": "library", "id": 28016, "name": "Krux Track Social"}, {"content": "", "target": null, "target_action": "append", "require": "", "docwrite": null, "template_replacement": 1, "execution_results": null, "tier": 1, "internal": 6, "content_type": "html", "freq_cap": 3, "timing": "onload", "method": "document", "type": "data provider", "id": 20466, "name": "Technographic Data provider tag"}, {"content": "", "target": null, "target_action": "append", "require": "", "docwrite": null, "template_replacement": 1, "execution_results": null, "tier": 1, "internal": 14, "content_type": "html", "freq_cap": 3, "timing": "onload", "method": "document", "id": 20467, "name": "Krux Geographic Data provider tag"}, {"content": "", "target": "", "target_action": null, "require": "", "docwrite": null, "template_replacement": 1, "execution_results": null, "tier": 1, "internal": false, "content_type": "html", "freq_cap": 3, "timing": "onload", "method": "document", "type": "publisher", "id": 30470, "name": "Google User Matching"}, {"content": "", "target": "", "target_action": null, "require": "", "docwrite": null, "template_replacement": 1, "execution_results": {"onloadSafe": true, "docwrite": false, "listeners": []}, "tier": 1, "internal": 1, "content_type": "html", "timing": "onload", "method": "document", "type": "publisher", "id": 45332, "name": "5. Data Transfer Code (IDs)"}, {"content": "", "target": "", "target_action": null, "require": "", "docwrite": null, "template_replacement": 1, "execution_results": null, "tier": 1, "internal": 1, "content_type": "html", "timing": "onload", "method": "document", "type": "publisher", "id": 28449, "name": "3. Data Transfer Code (VideoObj)"}, {"content": "", "target": "", "target_action": null, "require": "", "docwrite": null, "template_replacement": 1, "execution_results": {"onloadSafe": true, "docwrite": false, "listeners": []}, "tier": 1, "internal": 1, "content_type": "html", "timing": "onload", "method": "document", "type": "publisher", "id": 36134, "name": "1. Data Transfer Code (DFP)"}, {"content": "", "target": "", "target_action": null, "require": "", "docwrite": null, "template_replacement": 1, "execution_results": {"onloadSafe": true, "docwrite": false, "listeners": []}, "tier": 1, "internal": false, "content_type": "html", "criteria": [{"operator": "=", "name": "url", "value": "http://edition.cnn.com/SPECIALS/human-to-hero/"}], "timing": "onload", "method": "document", "type": "publisher", "id": 38186, "name": "CNN Human to Hero"}, {"content": "", "target": "", "target_action": null, "require": "", "docwrite": null, "template_replacement": 1, "execution_results": {"onloadSafe": true, "docwrite": false, "listeners": []}, "tier": 2, "internal": 1, "content_type": "html", "timing": "onload", "method": "document", "type": "publisher", "id": 44248, "name": "2. Data Transfer Code (Omniture)"}], "segments": [], "publisher": {"uuid": "e9eaedd3-c1da-4334-82f0-d7e3ff883c87", "id": 11621, "name": "Turner"}, "controltag_options": {"async": "true", "render": true}, "site": {"id": 13688, "name": "CNN International Edition"}, "prioritized_segments": ["pges4zyos", "pgesmkn7d", "ngkaet52v", "pga0y7wqw", "pgaxvoua9", "pf3xumbg5", "pfr5ihgpu", "pfr5acpsv", "pfq34lcum", "pfq2thqf9", "pfa6ix6o2", "pffgfrfc9", "pfbb2af3o", "pewgeu61m", "pev9lsyzg", "pev1hjwmp", "pevzkbwx2", "perd0k6vf", "perdxbxvx", "pd0qxm9h5", "pd0q0drhn", "pdvl1d6kn", "pdvlm5wcf", "pdb1abgyw", "pdb10rxnt", "o85sm0szd", "o5du0invq", "onwuk1j3p", "oqvo8j78z", "n5wqmenoa", "op7zb9wst", "o23p36wlj", "oz5bke2e7", "op7qu134u", "ow02vxoxn", "ol8yeu190", "oz8m5cfyg", "ojpzrxlxg", "o2zs76nt2", "oihw95wki", "omcyl176a", "n5c46smdr", "n4pf1bml8", "n5c09rzgz", "ow4wwcby5", "oxs03zajh", "n5dedrl9e", "n7g8xd3gn", "o2inaxkhd", "o2fd4g1pt", "o2fdy8egn", "n5dcxk9zb", "o1jvfgmc1", "oo349otu8", "n5c244zga", "oo69w0dc2", "n5ddb1bpr", "oy7qw91dr", "oy7qt9hxr", "oy7nbnw4j", "oy34zcvr5", "oydrlwfzj", "owtk68gke", "ovqm6jls6", "ouqgr7oij", "oxkbqlt7w", "oofjeme8d", "oxkcjzrc8", "oxkhq21md", "oxkkizowq", "oor80jpam", "n5wn1ui77", "n5w0979by", "onrvw56e6", "ojpy27x0p", "onrvrj151", "ohlith9bw", "n6wmil4a3", "ow0u8jsko", "ol8huco5c", "ow4vr99p4", "ojwwecir2", "oor00a4oq", "ok9lbcpn0", "ojdcwdj3g", "opfsqxmay", "orqod1wl4", "obi1ao2ri", "noaold8o2", "omcmpk6l4", "nodwjned9", "ol8iinpau", "oj4y3xm7o", "n4817demz", "n5c8q8fb1", "n4805apw4", "ol8hjgv59", "n5c3w4duk", "n5dan1tu8", "n5c66y79u", "n5wsey11k", "obzgikk57", "n5c7t6dg4", "n5xfud34k", "n5c8gwwbs", "oebdg789j", "okgplh5nx", "nu4l9ovvc", "n6lamk0rg", "ojs08vn88", "n58oam1zv", "onz8ml55o", "nzu2b1bfi", "n5xd2axks", "ojdltp8ul", "ooogej5l0", "ndgr2etcz", "obmv7hptl", "omck0gx0c", "nzywhgceh", "n58q590u8", "n0c7ap7lr", "ohtonitcp", "ohtoh2tr9", "opgalic5g", "nwsjaji63", "oumosjvfg", "oumuc886y", "oumuaorqi", "oumt5myjt", "oumty4ao5", "oumtvhell", "opvhgnrtm", "n49ko408n", "n5c5fca4g", "opz04nnaj", "owxwwefli", "oqy1un0dw", "n5cyf9l75", "olh3w1che", "olh3iw8lt", "oo3rbptjj", "op366l1kv", "olh2v6yvi", "oo3hu0arq", "olimj2zxi", "olh4wqb5p", "oxsyy463v", "oxs0vfa32", "oxs3r451h", "oxs36l7uz", "oxs4dbge1", "oxs4nxpti", "oxv4lul2h", "oxv4rmmx0", "oxv4tyldq", "oxv4wr11x", "oridvh5jd", "ox1lo70kn", "of13oevco", "oqvol9nts", "n5cxgub05", "ozbsbyrm3", "ozbsgud8g", "ozbtq0kta", "ozbtt5x3m", "ozbuwal10", "ozbwa3w46", "ozb5wiqsf", "ozcdquubf", "ozcd4hm46", "ozcg3msr9", "ozcyxtz1t", "ozfzyehpw", "ozfz738kn", "ozgifrvkv", "ozgjnrlvj", "ozgjpv2i8", "ozgkh6owo", "ozgnxrje2", "ozgp1nt1y", "ozguqsks6", "ozguz067q", "ozz840qnx", "oz0igv79x", "oz0ik2bm6", "oz0jnchnx", "oz0jruvyr", "oz0k7jpxd", "oz4o0ey85", "oz4o45elw", "oz4o8h8mf", "oz4pewtn4", "os2095t87", "oz8g03xkf", "oz82slv9i", "oz822mqnk", "oz836nquc", "oz84h9xsh", "oz87pcf5v", "o0o7zgeiv", "o0o8bl6xt", "o0o8gctw6", "o0o8pij58", "o0o82372p", "o0o89e60w", "o0o9hw7mx", "o0o9q5iy6", "o0o9ue97d", "o0o9xkrqt", "o0o91v0ye", "o0o94s955", "o0o98llbg", "o0pabuft1", "o0pahuutd", "o0pakxp0d", "o0pao1u5n", "o0pat9m92", "o0paw91v4", "o0pa0f8xg", "o0pa4bb5b", "o0pa7f5pp", "o0pbakgom", "o0pbc7drh", "o0pbfzi1l", "o0pbievdx", "o0pbkue8w", "o0pbrhbxe", "o0pbt110f", "o0pbxjfan", "o0pb4smw7", "o0r5wsyef", "o0r6ane6a", "o0r8pae7g", "o0r8fli4d", "o0sa4hufz", "ozdf5vvox", "o0v69l7hu", "o0v7utzxo", "o0v768p7z", "o0zzd87wk", "o0z1uzp0g", "o00u2jpsc", "o1gj5l80s", "oygxnee7j", "o1kqe24c2", "o1m94ad6a", "o1si984cw", "o2feiauhb", "o2fev2mvu", "o2fkok9cs", "osa589jkw", "o23sfuct7", "o24hoxx06", "o26g5dgko", "o26g9l6n9", "o3b0blopm", "o3b0epo45", "o3q3era29", "o3sg2wjj7", "oypp33wcp", "o3zcige25", "o30fzobfs", "o4q5ntjxv", "o4rccvnk1", "o4r5oe1fb", "o3yj1w7gv", "ozbva47al", "o2ferxzzx", "ozgu2hs07", "ozb6d0bcn", "ozgima1zp", "o2fjub5hf", "o3ypflabr", "ozwiknp64", "ozci2encp", "o2fevsz6h", "o1j2spsop", "oxs4szrpj", "oxkjze4mo", "ozkt3b9rk", "oxkkwius6", "ozgnz4hgt", "ozktztglt", "ozgkx0vjv", "o3covw898", "o4r5z6wou", "n5devf5ak", "o30gifrcg", "o3zitnii7", "o3q3gz4l1", "o30gcvyf5", "o4r545zoy", "oyhruwwz1", "oi5y5rdb9", "o4r5rx09v", "oxstascbt", "o4u75w9p9", "o5bh18lve", "o4u8kossr", "o5b2fcpmy", "o5fisrv2i", "o520fplrd", "o4sfw4n7a", "o6t8f18fp", "os21hkal4", "o6vjptjdz", "oylq76qdf", "o6yidqkh0", "o6ynuiwbe", "o6yp2r8ud", "o6yq5ev8k", "o6yqnhd15", "o6ysnjeki", "o6ytkz9av", "o6yuj4nvb", "o6yu8lfwj", "o6ywbbhls", "n5c1lsq81", "o6zcrf4a2", "o6zc0wfvj", "o6zdnl69s", "o6zfj5jzd", "ott8cq7pu", "omw2nadpo", "ou964i4gw", "o63fx1j60", "o63l5texx", "oxxn0o8xc", "o17w1i1df", "o17y8e79a", "o17zrvebs", "o17x37674", "o17t3gvad", "o4rpnv6vi", "o7bebwf19", "ormhd0cvz", "o52034kyj", "o5e33vicy", "o6yw7b4jr", "n4pf08k4e", "n4pf1c04j", "n4pf07bie", "n4pf09ahc", "n4pf1acde", "n4pf08b31", "n4pf1agcn", "n4pf1bwkv", "n4pf09eqt", "onj6ewfab", "n4pf07fz3", "n4pf07k15", "n4pf0910u", "n4pf1cofy", "n4pf1cfsk", "n4pf1aoqp", "n4pf094x0", "n4pf08p9p", "n4pf1aec4", "n4pf07qvn", "n4pf1cjtd", "n4pf1b5hy", "n4pf09g0d", "n4pf07itk", "n4pf09x9d", "n4pf1b1sn", "n4pf0753i", "n4pf1a5c4", "n4pf1ddua", "n4pf08jmr", "o7ucijzzj", "n4pf063y8", "n5xefdrqa", "n5xeni7ph", "n5wvr8rnj", "o7ufy97hu", "o7uxtnz5j", "o6yqufefs", "onj6lmmqv", "o7x3ptkda", "oqrm9b0rb", "o8mm4cn44", "o8pxv6r18", "o8qjsb6lo", "o8qx1kjtd", "o8u1bwspk", "o9bgjuqbm", "o9bg2jgvz", "o9bhogi6x", "o9bh0zgq0", "okgtlk4wk", "o9dz9zkg8", "o0cwsb5vx", "o9mpe6z8b", "o9xe4cuby", "o9xe6gdq2", "o9xe8oa0c", "o9xfa0z05", "o9xftshsk", "o9xfvs6wu", "o9xfydenv", "o9xf1d45w", "o9xf3r1i6", "o9xf5k1so", "o9xf7nm7b", "o9xf9xce3", "o9xgb4fzl", "o9xlkc63c", "o99ga1294", "oo4cbq8gu", "paui1yoic", "paui6tiqz", "pa2dcopu3", "pcc4ju18y", "o92xcjp2y", "o86taxj1g", "n4pf1bhgm", "pclyd6abi", "pclyustk2", "pcl0clnow", "pcl29u3yt", "pcl4p4tu6", "pcl4166ok", "pc9e380zd", "pcp0xn0lb", "pdwr0b1yd", "oyc02ep9x", "pd8w1bm12", "pd8w3zvff", "pcgu190uc", "pej6iwle8", "pelcx6d8a", "peoox2stq", "peo6ezreh", "peo90lpgd", "pd8rmrius", "peta7aozk", "pevzo8mxe", "pevzq9g7b", "pevz83fc7", "pewgnaizk", "pewgu3tcj", "pewgz2rbx", "pewhh5yvg", "pewx0jn4g", "pewzf0x62", "n4pf1dmxv", "pfa6toqtp", "pfa8m09g7", "pfbb3mfr7", "pfbct69kt", "pfbcv2hub", "pfbzazj5b", "pfczmll8s", "pfcz2eq0z", "pfc0jm8m5", "pfgsjhh2n", "pfgvxp6th", "pb9p766nl", "pb9qluxeg", "pfgz0ugkd", "pfg0cegbr", "o96jkmw96", "o96jl73iw", "pfgzw3k0l", "pfki8grte", "pfkjqzr39", "pfowdv4du", "nzy0ukt3d", "oxsmw8nl9", "n5dcogv0z", "owyaje82o", "oxsmsm5au", "ou95c3h8o", "oz4zq419k", "n88l9omu0", "oxslu7sal", "obi4gkmv1", "n5cyn8fam", "oyhqvi846", "oyhq2m1no", "oyhqplcel", "oyhr8uix9", "olgukwz16", "olcjv8sm5", "pdcvswqkf", "pf7lklgl3", "pf8c5dxhb", "pf8jq1fzn", "pf8ko0pm2", "pf8zzb2om"], "dnt": null, "params": {"connector_host": "connector.krxd.net", "control_tag_load_sync": "false", "fingerprint": false, "disable_http_compression": false, "remove_kxhead": true, "supertag_requires_approval": false, "config_source": 1, "control_tag_stats_prefix": null, "beacon_host": "beacon.krxd.net", "control_tag_pixel_throttle": "100", "user_id_cookie": null, "max_segments": "20", "no_pii": 0, "recommend": false, "revenue_optimization": false, "context_terms": "false", "jslog_host": "jslog.krxd.net", "site_level_supertag_config": "site", "max_slot_time": 1000, "services_host": "apiservices.krxd.net", "capture_leakage": true, "client_side_storage": "localStorage,cookie", "userData_host": "cdn.krxd.net", "control_tag_namespace": null, "control_tag_version": "stable", "capture_js_errors": "true", "datatag_version": "3", "dfp_premium": "true", "userdata_host": "cdn.krxd.net", "target_fingerprint": false}, "services": {"impression": "//beacon.krxd.net/ad_impression.gif", "stats": "//apiservices.krxd.net/stats", "userdata": "//cdn.krxd.net/userdata/get", "userData": "//cdn.krxd.net/user_data/segments/3", "um": "//apiservices.krxd.net/um", "optout": "//beacon.krxd.net/optout_check", "pixel": "//beacon.krxd.net/pixel.gif", "contentConnector": "//connector.krxd.net/content_connector/", "is_optout": "//beacon.krxd.net/optout_check", "set_optin": "//apiservices.krxd.net/consumer/optin", "social": "//beacon.krxd.net/social.gif", "set_optout": "//apiservices.krxd.net/consumer/optout", "data": "//beacon.krxd.net/data.gif", "event": "//beacon.krxd.net/event.gif", "log": "//jslog.krxd.net/jslog.gif"}, "geo": {}, "realtime_segments": [{"test": ["and", ["or", ["and", ["or", ["intersects", "$page_attr_cnn_site", "[\"cnn\"]"]], ["and", ["intersects", "$page_attr_cnn_rollup", "[\"health\"]"], ["intersects", "$page_attr_cnn_section", "[\"expert_qa\"]"]]]]], "id": "n0c7ap7lr"}, {"test": ["and", ["or", ["and", ["or", ["intersects", "$page_attr_cnn_sitesectionlevel1", "[\"awards season\"]"]]]]], "id": "ohtoh2tr9"}, {"test": ["and", ["or", ["and", ["or", ["intersects", "$page_attr_cnn_sitesectionlevel1", "[\"awards season\"]"]]]]], "id": "ohtonitcp"}], "confid": "ITb_9Zup"};
// Wrap in a function and comment, then toString the func and replace
// everything that's not the beginning or end of a JSON object, so we get a
// string that's either empty or JSON.
var esiGeo = String(function(){/*
*/}).replace(/^.*\/\*[^{]+|[^}]+\*\/.*$/g, '');
if (esiGeo) {
log('Got a request for:', esiGeo, 'adding geo to config.');
try {
config.geo = window.JSON.parse(esiGeo);
} catch (__) {
// Couldn't parse, so setting to {}
log('Unable to parse geo from:', config.geo);
config.geo = {};
}
}
load('//cdn.krxd.net/ctjs/controltag.js.cf94643484cc8654373adf5516beca11', function() {
log('Loading krux configuration.');
Krux('config', config);
});
})();