{"":{"CODE_PL":"\u003c!-- INIT HBMP and start listening for new placements --\u003e\r\n\u003cscript\u003e !(function () { window.googletag = window.googletag || {}; window.vmpbjs = window.vmpbjs || {}; window.vpb = window.vpb || {}; vpb.cmd = vpb.cmd || []; vpb.st=Date.now(); vpb.fastLoad = true; googletag.cmd = googletag.cmd || []; vmpbjs.cmd = vmpbjs.cmd || []; var cmds = []; try{ cmds = googletag.cmd.slice(0); googletag.cmd.length = 0; }catch(e){} var ready = false; function exec(cb) { return cb.call(googletag); } var overriden = false; googletag.cmd.push(function () { overriden = true; googletag.cmd.unshift = function (cb) { if (ready) { return exec(cb); } cmds.unshift(cb); if (cb._startgpt) { ready = true; for (var k = 0; k \u003c cmds.length; k++) { exec(cmds[k]); } } }; googletag.cmd.push = function (cb) { if (ready) { return exec(cb); } cmds.push(cb); }; }); if(!overriden){ googletag.cmd.push = function (cb) { cmds.push(cb); }; googletag.cmd.unshift = function (cb) { cmds.unshift(cb); if (cb._startgpt) { ready = true; if (googletag.apiReady) { cmds.forEach(function (cb) { googletag.cmd.push(cb); }); } else { googletag.cmd = cmds; } } }; } var dayMs = 36e5, cb = parseInt(Date.now() / dayMs), vpbSrc = '//player.hb.selectmedia.asia/prebidlink/' + cb + '/uam2_wrapper_hb_310028_9674.js', pbSrc = vpbSrc.replace('uam2_wrapper_hb', 'hb'), gptSrc = '//securepubads.g.doubleclick.net/tag/js/gpt.js', c = document.head || document.body || document.documentElement; function loadScript(src, cb) { var s = document.createElement('script'); s.src = src; s.defer=false; c.appendChild(s); s.onload = cb; s.onerror = function(){ var fn = function(){}; fn._startgpt = true; googletag.cmd.unshift(fn); }; return s; } loadScript(pbSrc); loadScript(gptSrc); loadScript(vpbSrc); })() \u003c/script\u003e\r\n\u003c!--Load UAM API--\u003e\r\n\u003cscript\u003e !function(a9, a, p, s, t, A, g) { if (a[a9]) return; function q(c, r) { a[a9]._Q.push([c, r]) } a[a9] = { init: function() { q(\"i\", arguments) }, fetchBids: function() { q(\"f\", arguments) }, setDisplayBids: function() { }, targetingKeys: function() { return [] }, _Q: [] }; A = p.createElement(s); A.async = !0; A.src = t; g = p.getElementsByTagName(s)[0]; g.parentNode.insertBefore(A, g) }(\"apstag\", window, document, \"script\", \"//c.amazon-adsystem.com/aax2/apstag.js\"); \u003c/script\u003e\r\n\u003cscript\u003e var vpb = window.vpb || {}; apstag.init({pubID: '2161fdc2-157c-4dc8-be6d-a5f74dacc2ef', adServer: 'googletag', simplerGPT: true}); function Monitor(count, endCallback) { this.partsReturned = 0; this.partsCalled = 0; this.triggerEnd = function () { endCallback \u0026\u0026 endCallback(); }; this.getPartHook = function (callback) { var self = this; if (count == self.partsReturned) { throw new Error('Monitor was inited with ' + count + ' parts'); } self.partsReturned++; return function () { self.partsCalled++; callback \u0026\u0026 callback.apply(null, arguments); if (self.partsCalled == count) { self.triggerEnd(); } } }; this.reset = function () { this.partsReturned = 0; this.partsCalled = 0; } } function runAds(slots, opts) { var monitor = new Monitor(2, function OnEveryoneReady() { console.log('ALL READY'); googletag.pubads().refresh(slots, {vpb: true}); }); vpb.friendlyAuction(slots, monitor.getPartHook(function (slots) { console.log('VPB READY', slots); })); var uamConfig = {timeout: 2000}; if (slots) { uamConfig.slots = slots; } apstag.fetchBids(uamConfig, monitor.getPartHook(function (bids) { apstag.setDisplayBids(); console.log('UAM READY', bids); })); } \u003c/script\u003e\n\u003cscript\u003e\n window.grumi = { \n key: 'a053ff72-2154-46d1-92f0-ec1407100a64'\n };\n \u003c/script\u003e\n \u003cscript src=\"//rumcdn.geoedge.be/a053ff72-2154-46d1-92f0-ec1407100a64/grumi-ip.js\" async\u003e\u003c/script\u003e\n\u003cscript\u003e \nvpb.cmd.push(()=\u003e{\nvpb.setClientSchain({ asi: \"selectmedia.asia\", sid: \"5f1e9bc329c32e496e63b358\" });\n})\n\u003c/script\u003e\n\u003cscript async src=\"https://securepubads.g.doubleclick.net/tag/js/gpt.js\"\u003e\u003c/script\u003e\n\u003cdiv id=\"gpt-passback\"\u003e\n \u003cscript\u003e\n window.googletag = window.googletag || {cmd: []};\n googletag.cmd.push(function() {\n googletag.defineSlot('/84772874/Mingpao_PL', [300, 250], 'gpt-passback').addService(googletag.pubads());\n googletag.enableServices();\n googletag.display('gpt-passback');\n });\n \u003c/script\u003e\n\u003c/div\u003e","CODE_PS":"\u003c!-- INIT HBMP and start listening for new placements --\u003e\r\n\u003cscript\u003e !(function () { window.googletag = window.googletag || {}; window.vmpbjs = window.vmpbjs || {}; window.vpb = window.vpb || {}; vpb.cmd = vpb.cmd || []; vpb.st=Date.now(); vpb.fastLoad = true; googletag.cmd = googletag.cmd || []; vmpbjs.cmd = vmpbjs.cmd || []; var cmds = []; try{ cmds = googletag.cmd.slice(0); googletag.cmd.length = 0; }catch(e){} var ready = false; function exec(cb) { return cb.call(googletag); } var overriden = false; googletag.cmd.push(function () { overriden = true; googletag.cmd.unshift = function (cb) { if (ready) { return exec(cb); } cmds.unshift(cb); if (cb._startgpt) { ready = true; for (var k = 0; k \u003c cmds.length; k++) { exec(cmds[k]); } } }; googletag.cmd.push = function (cb) { if (ready) { return exec(cb); } cmds.push(cb); }; }); if(!overriden){ googletag.cmd.push = function (cb) { cmds.push(cb); }; googletag.cmd.unshift = function (cb) { cmds.unshift(cb); if (cb._startgpt) { ready = true; if (googletag.apiReady) { cmds.forEach(function (cb) { googletag.cmd.push(cb); }); } else { googletag.cmd = cmds; } } }; } var dayMs = 36e5, cb = parseInt(Date.now() / dayMs), vpbSrc = '//player.hb.selectmedia.asia/prebidlink/' + cb + '/uam2_wrapper_hb_310028_9674.js', pbSrc = vpbSrc.replace('uam2_wrapper_hb', 'hb'), gptSrc = '//securepubads.g.doubleclick.net/tag/js/gpt.js', c = document.head || document.body || document.documentElement; function loadScript(src, cb) { var s = document.createElement('script'); s.src = src; s.defer=false; c.appendChild(s); s.onload = cb; s.onerror = function(){ var fn = function(){}; fn._startgpt = true; googletag.cmd.unshift(fn); }; return s; } loadScript(pbSrc); loadScript(gptSrc); loadScript(vpbSrc); })() \u003c/script\u003e\r\n\u003c!--Load UAM API--\u003e\r\n\u003cscript\u003e !function(a9, a, p, s, t, A, g) { if (a[a9]) return; function q(c, r) { a[a9]._Q.push([c, r]) } a[a9] = { init: function() { q(\"i\", arguments) }, fetchBids: function() { q(\"f\", arguments) }, setDisplayBids: function() { }, targetingKeys: function() { return [] }, _Q: [] }; A = p.createElement(s); A.async = !0; A.src = t; g = p.getElementsByTagName(s)[0]; g.parentNode.insertBefore(A, g) }(\"apstag\", window, document, \"script\", \"//c.amazon-adsystem.com/aax2/apstag.js\"); \u003c/script\u003e\r\n\u003cscript\u003e var vpb = window.vpb || {}; apstag.init({pubID: '2161fdc2-157c-4dc8-be6d-a5f74dacc2ef', adServer: 'googletag', simplerGPT: true}); function Monitor(count, endCallback) { this.partsReturned = 0; this.partsCalled = 0; this.triggerEnd = function () { endCallback \u0026\u0026 endCallback(); }; this.getPartHook = function (callback) { var self = this; if (count == self.partsReturned) { throw new Error('Monitor was inited with ' + count + ' parts'); } self.partsReturned++; return function () { self.partsCalled++; callback \u0026\u0026 callback.apply(null, arguments); if (self.partsCalled == count) { self.triggerEnd(); } } }; this.reset = function () { this.partsReturned = 0; this.partsCalled = 0; } } function runAds(slots, opts) { var monitor = new Monitor(2, function OnEveryoneReady() { console.log('ALL READY'); googletag.pubads().refresh(slots, {vpb: true}); }); vpb.friendlyAuction(slots, monitor.getPartHook(function (slots) { console.log('VPB READY', slots); })); var uamConfig = {timeout: 2000}; if (slots) { uamConfig.slots = slots; } apstag.fetchBids(uamConfig, monitor.getPartHook(function (bids) { apstag.setDisplayBids(); console.log('UAM READY', bids); })); } \u003c/script\u003e\n\u003cscript\u003e\n window.grumi = { \n key: 'a053ff72-2154-46d1-92f0-ec1407100a64'\n };\n \u003c/script\u003e\n \u003cscript src=\"//rumcdn.geoedge.be/a053ff72-2154-46d1-92f0-ec1407100a64/grumi-ip.js\" async\u003e\u003c/script\u003e\n\u003cscript\u003e \nvpb.cmd.push(()=\u003e{\nvpb.setClientSchain({ asi: \"selectmedia.asia\", sid: \"5f1e9bc329c32e496e63b358\" });\n})\n\u003c/script\u003e\n\u003cscript async src=\"https://securepubads.g.doubleclick.net/tag/js/gpt.js\"\u003e\u003c/script\u003e\n\u003cdiv id=\"gpt-passback\"\u003e\n \u003cscript\u003e\n window.googletag = window.googletag || {cmd: []};\n googletag.cmd.push(function() {\n googletag.defineSlot('/84772874/Mingpao_PS', [300, 250], 'gpt-passback').addService(googletag.pubads());\n googletag.enableServices();\n googletag.display('gpt-passback');\n });\n \u003c/script\u003e\n\u003c/div\u003e"}}