mmcore.SetCookie('mmid','-975399275|AQAAAArQksVqCAsAAA==',365,1);mmcore.SetCookie('pd','-1794214921|AQAAAAoBQtCSxWoIC1Any1cBAOXl+6sip9FIAA0AAADl5furIqfRSAAAAAD/////AP//////////AAZEaXJlY3QBCAsBAAAAAAABAAAAAAD///////////////8AAAAAAAFF',365);mmcore.SetCookie('srv','nycvwcgeu01',365);(function(){if(typeof(mmcore.GenInfo)!='object')mmcore.GenInfo={};mmcore.EH=function(e){var s=e.message+'\r\n';if(!window.mm_error)window.mm_error=s;else window.mm_error+=s;};
try{
// Maxymiser Core - Attach Style v0.0.0 http://gitlab.maxymiser.net/gts/mmcore-attach-style/tree/master
(function(){'use strict';mmcore.AttachStyle=function(){var c={STYLE_ID:"mm-style",createStyle:function(){var b=document.createElement("style");b.type="text/css";return b},appendCssToStyle:function(){var b,a;"styleSheet"in c.createStyle()?(b=function(a){return a.styleSheet.cssText},a=function(a,b){a.styleSheet.cssText=b}):(b=function(a){return a.innerHTML},a=function(a,b){a.innerHTML=b});return(c.appendCssToStyle=function(c,d){a(d,b(d)+c)}).apply(this,arguments)}};return function(b){var a=document.getElementById(c.STYLE_ID);a||(a=c.createStyle(),a.id=c.STYLE_ID,function(){this.parentNode.insertBefore(a,this)}.call(document.getElementsByTagName("head")[0].lastChild));c.appendCssToStyle(b,a)}}()})();
}catch(err){mmcore.EH(err);}
try{
//Essentials

// Maxymiser Core - Try Catch v0.0.0 http://gitlab.maxymiser.net/gts/mmcore-try-catch/tree/master
(function(){'use strict';mmcore.tryCatch=function(){return function b(c,d){var e=arguments.length;return function(){try{return c.apply(this,arguments)}catch(a){try{mmcore.EH(a)}finally{1<e&&b(d)(a)}}}}}()})();

/**
 * Essentials - Deferred
 *
 * A handy tool for organizing waiting for something.
 *
 * @version 0.0.2
 *
 *
 * @author a.porohnya@gmail.com (Aleksey Porokhnya)
 * 
 * 27.08.2014 by Tytskiy
 *     Fixed issue with [].reduce() when this method was overwriten by Prototype.js.
 *     Changed native [].reduce() to own reduce() implementation. 
 *     Note: Own reduce() is not compatible with ECMAScript5!
 */
!function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n=[].slice;b="pending",d="resolved",c="rejected",h=function(a,b){return null!=a?a.hasOwnProperty(b):void 0},j=function(a){return h(a,"length")&&h(a,"callee")},k=function(a){return h(a,"promise")&&"function"==typeof(null!=a?a.promise:void 0)},i=function(a,b,c){null==a&&(a=[]);for(var d=0,e=a.length;e>d;d++)c=b(c,a[d]);return c},g=function(a){return j(a)?g(Array.prototype.slice.call(a)):Array.isArray(a)?i(a,function(a,b){return Array.isArray(b)?a.concat(g(b)):(a.push(b),a)},[]):[a]},e=function(a,b){return 0>=a?b():function(){return--a<1?b.apply(this,arguments):void 0}},l=function(a,b){return function(){var c;return c=[a].concat(Array.prototype.slice.call(arguments,0)),b.apply(this,c)}},f=function(a,b,c){var d,e,f,h,i;for(h=g(a),i=[],e=0,f=h.length;f>e;e++)d=h[e],i.push(d.call.apply(d,[c].concat(n.call(b))));return i},a=function(){var e,h,i,j,l,m,o;return o=b,j=[],l=[],m=[],i={resolved:{},rejected:{},pending:{}},this.promise=function(e){var h,p;return e=e||{},e.state=function(){return o},p=function(a,c,d){return function(){return o===b&&c.push.apply(c,g(arguments)),a()&&f(arguments,i[d]),e}},e.done=p(function(){return o===d},j,d),e.fail=p(function(){return o===c},l,c),e.progress=p(function(){return o!==b},m,b),e.always=function(){var a;return(a=e.done.apply(e,arguments)).fail.apply(a,arguments)},h=function(b,c,d){var f,g;return g=new a,f=function(a,b,c){return c?e[a](function(){var a,d;return a=1<=arguments.length?n.call(arguments,0):[],d=c.apply(null,a),k(d)?d.done(g.resolve).fail(g.reject).progress(g.notify):g[b](d)}):e[a](g[b])},f("done","resolve",b),f("fail","reject",c),f("progress","notify",d),g},e.pipe=h,e.then=h,null==e.promise&&(e.promise=function(){return e}),e},this.promise(this),e=this,h=function(a,c,d){return function(){return o===b?(o=a,i[a]=arguments,f(c,i[a],d),e):this}},this.resolve=h(d,j),this.reject=h(c,l),this.notify=h(b,m),this.resolveWith=function(a,b){return h(d,j,a).apply(null,b)},this.rejectWith=function(a,b){return h(c,l,a).apply(null,b)},this.notifyWith=function(a,c){return h(b,m,a).apply(null,c)},this},m=function(){var b,c,d,f,h,i,j;if(c=g(arguments),1===c.length)return k(c[0])?c[0]:(new a).resolve(c[0]).promise();if(h=new a,!c.length)return h.resolve().promise();for(f=[],d=e(c.length,function(){return h.resolve.apply(h,f)}),c.forEach(function(a,b){return k(a)?a.done(function(){var a;return a=1<=arguments.length?n.call(arguments,0):[],f[b]=a.length>1?a:a[0],d()}):(f[b]=a,d())}),i=0,j=c.length;j>i;i++)b=c[i],k(b)&&b.fail(h.reject);return h.promise()},mmcore.Deferred=function(){return new a},mmcore.when=m}.call(this);

// Maxymiser Essentials - Wait for v0.1.1
!function(){"use strict";mmcore.waitFor=function(e,t){var i,o;return o=mmcore.Deferred(),o.isComplete=function(){return"pending"!==o.state()},t=t||{},t.interval=t.interval||50,t.isNotStoppedOnDocumentReadiness=t.isNotStoppedOnDocumentReadiness||!1,t.isNotPeriodicallyChecked=t.isNotPeriodicallyChecked||!1,i=function(){o.isComplete()||(e.call(o)&&o.resolve(),o.isComplete()||(!t.isNotStoppedOnDocumentReadiness&&(mmcore.$&&mmcore.$.isReady||!mmcore.$&&"complete"===document.readyState)?o.reject():t.isNotPeriodicallyChecked||setTimeout(i,t.interval)))},t.hasOwnProperty("initializer")&&t.initializer.call(o),i(),o.isComplete()||(t.hasOwnProperty("timeout")&&!function(){var e=setTimeout(o.reject,t.timeout);o.always(function(){clearTimeout(e)})}(),t.isNotStoppedOnDocumentReadiness||mmcore.AddDocLoadHandler(t.isNotPeriodicallyChecked?o.reject:i)),o.promise()}}();

// Maxymiser Core - Campaign v0.3.0 http://gitlab.maxymiser.net/gts/mmcore-campaign/tree/master
(function(){"use strict";function e(e,t){var n=false;for(var r=0;r<t.length;r++){if(t[r]===e){n=true}}return n}function n(e,t,n){this.name=e;this.maxyboxNames=t;this.prefix=n;this.preventDefaultRendering();this.preventDefaultHiding()}mmcore.Campaign=n;var t=function(e,t,n){var r,i=[],s=0,o=e.length;n=!!n;for(;s<o;s++){r=!!t(e[s],s);if(n!==r){i.push(e[s])}}return i};n.prototype.preventDefaultRendering=function(){var e=mmcore._r_mbs;var t=this.maxyboxNames;var n=t.length;while(n--){e[t[n]]=1}};n.prototype.preventDefaultHiding=function(){var n=this;mmcore.HideMaxyboxes=function(r){return function(){var i=arguments;mmcore.tryCatch(function(){i=t(i,function(t){return e(t,n.maxyboxNames)})})();if(i.length){return r.apply(this,i)}}}(mmcore.HideMaxyboxes)};n.prototype.hideContent=function(e,t){var n;var r;var i;var s;var o=document.getElementsByTagName("html")[0];var u=o.getAttribute("class");this.hidingClass=this.prefix+"-hidden-content";if(u!==null&&u===""){u=this.hidingClass}else if(u==null){u=this.hidingClass}else{u=u+" "+this.hidingClass}o.setAttribute("class",u);if(arguments.length<2){t="left: -33554430px!important; position: absolute!important; top: -33554430px;!important"}n=this.hidingClass;s=e.split(",");i=s.length;r="";while(i--){r+="."+n+" "+s[i]+"{"+t+"}"}mmcore.AttachStyle(r)};n.prototype.showContent=function(){if(this.hasOwnProperty("hidingClass")){var e=document.getElementsByTagName("html")[0];var t=e.getAttribute("class");if(t!==null&&t!==""){t=t.replace(this.hidingClass,"");e.setAttribute("class",t)}}};n.prototype.getExperience=function(){return mmcore.GenInfo.hasOwnProperty(this.name)?mmcore.GenInfo[this.name]:null};n.prototype.hasNonDefaultExperience=function(){var e,t;e=this.getExperience();if(!e){return false}t=false;for(var n in e){if(e.hasOwnProperty(n)&&e[n]!=="Default"){t=true;return false}}return t};n.prototype.hasMaxybox=function(){return this.hasNonDefaultExperience()};n.prototype.renderMaxyboxes=function(){var n;var r;var i;r=this.maxyboxNames;if(arguments.length){r=t(arguments,function(t){return!e(t,r)})}n=this;for(i in mmcore._renderers){if(e(i,r)&&typeof mmcore._renderers[i]==="function"){mmcore._renderers[i].call(n)}}}})();

// Maxymiser Essentials - Request 0.2.0
(function(){"use strict";var t="event";var n=2250;var r;var i=function(){r=mmcore.Deferred();mmcore.request.promise=r.promise()};mmcore.request=function(e,s){var o=r;i();if(!arguments.length){e=t}mmcore.SetPageID(e);mmcore._async=!s;mmcore.CGRequest(o.resolve);setTimeout(mmcore.tryCatch(o.reject),n);return o.promise()};i()})();

//Maxymiser Essentials - Mediator 0.2.0
(function(){"use strict";function e(){var e=function(){return((1+Math.random())*65536|0).toString(16).substring(1)};return e()+e()+"-"+e()+"-"+e()+"-"+e()+"-"+e()+e()+e()}function t(n,r,i){if(!(this instanceof t)){return new t(n,r,i)}this.id=e();this.fn=n;this.options=r;this.context=i;this.channel=null}function n(e,t){if(!(this instanceof n)){return new n(e)}this.namespace=e||"";this._subscribers=[];this._channels=[];this._parent=t;this.stopped=false}function r(){if(!(this instanceof r)){return new r}this._channels=new n("")}t.prototype={update:function(e){if(e){this.fn=e.fn||this.fn;this.context=e.context||this.context;this.options=e.options||this.options;if(this.channel&&this.options&&this.options.priority!==undefined){this.channel.setPriority(this.id,this.options.priority)}}}};n.prototype={addSubscriber:function(e,n,r){var i=new t(e,n,r);if(n&&n.priority!==undefined){n.priority=n.priority>>0;if(n.priority<0){n.priority=0}if(n.priority>=this._subscribers.length){n.priority=this._subscribers.length-1}this._subscribers.splice(n.priority,0,i)}else{this._subscribers.push(i)}i.channel=this;return i},stopPropagation:function(){this.stopped=true},getSubscriber:function(e){var t=0,n=this._subscribers.length;for(t,n;t<n;t++){if(this._subscribers[t].id===e||this._subscribers[t].fn===e){return this._subscribers[t]}}},setPriority:function(e,t){var n=0,r=0,i,s,o,u;for(r=0,u=this._subscribers.length;r<u;r++){if(this._subscribers[r].id===e||this._subscribers[r].fn===e){break}n++}i=this._subscribers[n];s=this._subscribers.slice(0,n);o=this._subscribers.slice(n+1);this._subscribers=s.concat(o);this._subscribers.splice(t,0,i)},addChannel:function(e){this._channels[e]=new n((this.namespace?this.namespace+":":"")+e,this)},hasChannel:function(e){return this._channels.hasOwnProperty(e)},returnChannel:function(e){return this._channels[e]},removeSubscriber:function(e){var t=this._subscribers.length-1;if(!e){this._subscribers=[];return}for(t;t>=0;t--){if(this._subscribers[t].fn===e||this._subscribers[t].id===e){this._subscribers[t].channel=null;this._subscribers.splice(t,1)}}},publish:function(e){var t=0,n=this._subscribers.length,r=false,i,s,o,u;for(t,n;t<n;t++){r=false;if(!this.stopped){i=this._subscribers[t];if(i.options!==undefined&&typeof i.options.predicate==="function"){if(i.options.predicate.apply(i.context,e)){i.fn.apply(i.context,e);r=true}}else{o=this._subscribers.length;i.fn.apply(i.context,e);u=this._subscribers.length;n=u;if(u===o-1){t--}r=true}}if(r&&i.options&&i.options!==undefined){i.options.calls--;if(i.options.calls<1){this.removeSubscriber(i.id);n--;t--}}}if(this._parent){this._parent.publish(e)}this.stopped=false}};r.prototype={getChannel:function(e){var t=this._channels,n=e.split(":"),r=0,i=n.length;if(e===""){return t}if(n.length>0){for(r,i;r<i;r++){if(!t.hasChannel(n[r])){t.addChannel(n[r])}t=t.returnChannel(n[r])}}return t},subscribe:function(e,t,n,r){var i=this.getChannel(e);n=n||{};r=r||{};return i.addSubscriber(t,n,r)},once:function(e,t,n,r){n=n||{};n.calls=1;return this.subscribe(e,t,n,r)},getSubscriber:function(e,t){return this.getChannel(t||"").getSubscriber(e)},remove:function(e,t){this.getChannel(e).removeSubscriber(t)},publish:function(e){var t=Array.prototype.slice.call(arguments,1),n=this.getChannel(e);t.push(n);this.getChannel(e).publish(t)}};r.prototype.on=r.prototype.subscribe;r.prototype.bind=r.prototype.subscribe;r.prototype.emit=r.prototype.publish;r.prototype.trigger=r.prototype.publish;r.prototype.off=r.prototype.remove;r.Channel=n;r.Subscriber=t;mmcore.mediator=new r})();
}catch(err){mmcore.EH(err);}
try{
// common helpers
(function (global, core, campaignPrefix, undefined) {
    'use strict';

    var Helpers;

    Helpers = function (campaignPrefix) {
        this.campaignPrefix = campaignPrefix;
        if (!campaignPrefix) {
            throw 'Please set Test prefix';
        }
        this.props = {};
    };

    Helpers.prototype.version = '0.1.0';

    Helpers.prototype.makeDispatcher = function () {
        var dispatcher;

        dispatcher = this.$({});
        dispatcher.subscribe = function () {
            if (dispatcher.on) {
                return dispatcher.on.apply(dispatcher, arguments);
            } else {
                return dispatcher.bind.apply(dispatcher, arguments);
            }
        };
        dispatcher.unsubscribe = function () {
            if (dispatcher.off) {
                return dispatcher.off.apply(dispatcher, arguments);
            } else {
                return dispatcher.unbind.apply(dispatcher, arguments);
            }
        };
        dispatcher.publish = function () {
            return dispatcher.trigger.apply(dispatcher, arguments);
        };
        this.dispatcher = dispatcher;
    };

    Helpers.prototype.setCssNamespace = function () {
        var campaignPrefix;

        campaignPrefix = this.campaignPrefix.toLowerCase();
        this.$('body').addClass('mm-' + campaignPrefix);
    };

    Helpers.prototype.detectFirefox = function () {
        var browser;

        browser = navigator.userAgent;
        if (browser && browser.toLowerCase().indexOf('firefox') > -1) {
            return true;
        } else {
            return false;
        }
    };

    Helpers.prototype.fixFirefoxHistory = function () {
        var hash,
            isFirefox;

        isFirefox = this.isFirefox === false ?
            false :
            this.isFirefox = this.detectFirefox();
        if (this.isFirefox) {
            hash = location.hash;
            hash = hash.length ? '' + hash + '-mm' : 'mm';
            location.hash = hash;
        }
    };

    Helpers.prototype.redirect = function (url) {
        if (url) {
            this.fixFirefoxHistory();
            if (location.assign) {
                location.assign(url);
            } else {
                /* jshint ignore:start */
                location = url;
                /* jshint ignore:end */
            }
        }
    };

    Helpers.prototype.delegate = function (selector) {
        var that;

        that = this;
        return function (name, handler) {
            if (!selector || !name || !handler) {
                throw '' + that.campaignPrefix + ' delegate: invalid arguments';
            }
            if (that.$.fn.on) {
                that.$(document).on(name, selector, handler);
                return true;
            } else if (that.$.fn.live) {
                that.$(selector).live(name, handler);
                return true;
            }
            return false;
        };
    };

    Helpers.prototype.undelegate = function (selector) {
        var that;

        that = this;
        return function (name, handler) {
            if (!name) {
                throw '' + that.campaignPrefix + ' undelegate: invalid arguments';
            }
            if (that.$.fn.off) {
                that.$(document).off(name, selector, handler);
                return true;
            } else if (that.$.fn.die) {
                that.$(selector).die(name, handler);
                return true;
            }
            return false;
        };
    };

    Helpers.prototype.smartbind = function (selector) {
        var that,
            $obj;

        that = this;
        $obj = this.$(selector);
        if ($obj.length) {
            return function (event, func, threshold, execAsap) {
                if (func) {
                    $obj.bind(event, that.debounce(func, threshold, execAsap));
                } else {
                    $obj.trigger(event);
                }
                return true;
            };
        }
        return false;
    };

    Helpers.prototype.injectStyle = function (styleString) {
        var style;

        style = document.createElement('style');
        style.type = 'text/css';
        if (style.styleSheet) {
            style.styleSheet.cssText = styleString;
        } else {
            style.appendChild(document.createTextNode(styleString));
        }
        document.getElementsByTagName('head')[0].appendChild(style);
        return style;
    };

    Helpers.prototype.trackAsyncAction = function (data) {
        core._async = true;
        core.SetPageID('events');
        core.SetAction(data.name, data.val || 1, data.attr || '');
        this.request(data.then || function () {}, data.time || null);
    };

    Helpers.prototype.stripScripts = function (html) {
        return html.replace(/<script.*?>(.|\n)*?<\/script>/gim, '');
    };

    Helpers.prototype.wait = function (data) {
        var that,
            check,
            context,
            fail,
            freq,
            isResetFunction,
            reset,
            resetAllTimers,
            success,
            timers,
            waitInner;

        that = this;
        timers = {};
        resetAllTimers = function () {
            clearTimeout(timers.timer);
            clearTimeout(timers.resetTimer);
        };
        check = data.check || null;
        freq = data.frequency || data.freq || 0;
        reset = data.reset || null;
        context = data.context || global || window.top;
        if (typeof data.success === 'function') {
            success = function () {
                resetAllTimers();
                data.success.call(that);
                if (typeof data.always === 'function') {
                    data.always.call(that);
                }
            };
        } else {
            success = function () {
                resetAllTimers();
                if (typeof data.always === 'function') {
                    data.always.call(that);
                }
            };
        }
        if (typeof data.fail === 'function') {
            fail = function () {
                resetAllTimers();
                data.fail.call(that);
                if (typeof data.always === 'function') {
                    data.always.call(that);
                }
            };
        } else {
            fail = function () {
                resetAllTimers();
                if (typeof data.always === 'function') {
                    data.always.call(that);
                }
            };
        }
        isResetFunction = typeof reset === 'function' ? true : false;
        if (!isResetFunction) {
            reset = parseInt(reset, 10);
            reset = reset > -1 ? reset : null;
        }
        if (!check) {
            if (data.id) {
                check = function () {
                    return context.document.getElementById(data.id);
                };
            } else if (data.selector) {
                check = function () {
                    return context.document.querySelector(data.selector);
                };
            } else {
                throw 'wait(): no condition specified';
            }
        }
        if (check.call(that)) {
            success();
        } else if (isResetFunction && reset.call(that)) {
            fail();
        } else {
            waitInner = function (data) {
                timers.timer = setTimeout(function () {
                    if (check.call(that)) {
                        success();
                    } else {
                        if (isResetFunction && reset.call(that)) {
                            fail();
                        } else {
                            waitInner(data);
                        }
                    }
                }, freq);
            };
            if (reset && !isResetFunction) {
                timers.resetTimer = setTimeout(function () {
                    return fail();
                }, reset);
            }
            waitInner(data);
        }
    };

    Helpers.prototype.debounce = function (func, threshold, execAsap) {
        var timeout;

        timeout = null;
        return function () {
            var args, delayed, obj;
            args = 1 <= arguments.length ? [].slice.call(arguments, 0) : [];
            delayed = function () {
                func.apply(obj, args);
            };
            obj = this;
            if (timeout) {
                clearTimeout(timeout);
            } else if (execAsap) {
                func.apply(obj, args);
                return;
            }
            timeout = setTimeout(delayed, threshold || 200);
        };
    };

    Helpers.prototype.replaceImg = function (newUrl, originImg, callback) {
        var src = newUrl,
            newImg = originImg.cloneNode(false);

        newImg.src = src;
        originImg.parentNode.replaceChild(newImg, originImg);
        if (callback && typeof callback === 'function') {
            callback(newImg);
        }
    };

    Helpers.prototype.request = function(cb, time) {
        var done;

        done = false;
        if (cb && typeof cb === 'function') {
            core.CGRequest(function() {
                done = true;
                cb();
            });
            setTimeout(function() {
                if (!done) {
                    cb();
                }
            }, time || 6000);
        }
    };

    // adopt https://github.com/henrikjoreteg/milliseconds
    Helpers.prototype.ms = (function () {
        var calc;

        calc = function (m) {
            return function(n) { return Math.round(n * m); };
        };
        return {
            seconds: calc(1e3),
            minutes: calc(6e4),
            hours: calc(36e5),
            days: calc(864e5),
            weeks: calc(6048e5),
            months: calc(26298e5),
            years: calc(315576e5)
        };
    })();

    Helpers.prototype.extend = function () {
        return Helpers.extend.apply(arguments);
    };

    Helpers.extend = function (child, parent) {
        var own,
            Ctor;

        own = {}.hasOwnProperty;
        for (var key in parent) {
            if (own.call(parent, key)) {
                child[key] = parent[key];
            }
        }
        Ctor = function () {
            this.constructor = child;
        };
        Ctor.prototype = parent.prototype;
        child.prototype = new Ctor();
        child.__super__ = parent.prototype;
        return child;
    };
    /* Helpers end */

    // export
    core[campaignPrefix] = Helpers;
})(window, window.mmcore, 'T3B2B');

(function (global, mmcore, campaignPrefix, undefined) {
    /* global FT */
    'use strict';

    var Helpers,
        MyHelpers,
        helpers;

        // specific helpers
    Helpers = mmcore[campaignPrefix];

    MyHelpers = function () {
        MyHelpers.__super__.constructor.apply(this, arguments);
        this.props = {};
    };

    Helpers.extend(MyHelpers, Helpers);

    MyHelpers.prototype.buildReferrerRegExs = function () {
        var regexs;
        var strings;

        regexs = [];
        strings = [
            'abnormalreturns',
            'ask',
            'bing',
            'community.nasdaq.com',
            'dailyfinance.co.uk',
            'money.aol.co.uk',
            'dailyfinance.com',
            'drudgereport',
            'edition.cnn.com',
            'globalpublicsquare.blogs.cnn.com',
            'cnnespanol.cnn.com',
            'execsense.com',
            'finance.aol.co.uk',
            'finance.aol.com',
            'google',
            'www.indiabusinessbrief.com',
            'www.indiafinancebrief.com',
            'www.indiafoodbrief.com',
            'www.indiaretailnews.com',
            'www.indiasoftwarebrief.com',
            'www.indiatelecombrief.com',
            'www.walletpop.com',
            'huffingtonpost',
            'money.aol.com',
            'morningstar.com',
            'nasdaq',
            'nasdaq.com',
            'news.in.msn.com',
            'nyif.com',
            'paid.outbrain.com',
            'quotes.nasdaq.com',
            'samachar.com',
            'taboola.com',
            'thestreet.com',
            'theweek.com',
            'uat-www.nyif.com',
            'www-qc.nasdaq.com',
            'www.dailyfinance.co.uk',
            'www.dailyfinance.com',
            'www.liasset.com',
            'www.linkedin.com',
            'linkedin.com',
            'www.nasdaq.com',
            'www.nyif.com',
            'www.reddit.com',
            'www.samachar.com',
            'www.stumbleupon.com',
            'www.thestreet.com',
            'www.tumblr.com'
        ];
        for (var i = 0, len = strings.length; i < len; i++) {
            regexs.push(new RegExp('^https{0,1}:\/\/.*' + strings[i], 'i'));
        }
        return regexs;
    };

    MyHelpers.prototype.checkReferrers = (function () {
        var regexs;
        var referrer;

        regexs = MyHelpers.prototype.buildReferrerRegExs.call(MyHelpers);
        referrer = document.referrer.toLowerCase();
        return function () {
            for (var i = 0, len = regexs.length; i < len; i++) {
                if (regexs[i].test(referrer)) {
                    return true;
                }
            }
            return false;
        };
    }());

    MyHelpers.prototype.hide = function () {
        var style;

        style = helpers.injectStyle([
            '#storyContent {',
            '    position: relative;',
            '    left: -9999999px;',
            '}',
            '#corppop_overlay, #opOverlay, #assanka_mockingbird, #assanka_mockingbird_overlay {',
            '    display: none !important;',
            '}',
            '.master-row.railSection, .fullstory.fullstoryBody *, .entry-content, .ft-livecomments {',
            '    display: none;',
            '}'
        ].join('\n'));
        style.id = 'mm-t3b2b-hider';
    };

    MyHelpers.prototype.show = function () {
        var style;

        style = document.getElementById('mm-t3b2b-hider');
        if (style) {
            style.parentNode.removeChild(style);
        }
    };

    MyHelpers.prototype.preload = function () {
        (new Image()).src = '//service.maxymiser.net/cm/images-eu/1/1/1/FFC8A5D7CC14B127B908BB8B0C200114AB4DABE9523800831D53A6EAA5E91886/ft-com/T3B2BFirstClickFree/mmt3b2b-check-tick.png';
        (new Image()).src = '//service.maxymiser.net/cm/images-eu/1/1/1/63297953C923D84CEEE96C269F441721C431CF89CC3882D5F5E0E28E871CCAB3/ft-com/T3B2BFirstClickFree/button-bg.png';
    };

    MyHelpers.prototype.checkPage = function (data) {
        this.props.isEmulation = data.isEmulation || false;
        if (!this.checkReferrers()) {
            if (this.checkCorporation()) {
                this.trackArticleViewWithNoBarrierMaybe();
            }
            return;
        }
        this.hide();
        this.preload();
        this.wait({
            freq: 100,
            // reset: this.ms.seconds(8),
            reset: function () {
                return mmcore._docEnd;
            },
            check: function () {
                var $author;

                // exclude the video domain
                if (location.href.match(/https*:\/\/video\.ft\.com/)) {
                    return false;
                }
                // exclude authour's blog posts
                $author = $('.primary-content .entry-guest-author:eq(0)');
                if ($author.length && !$author.children('a').length || $('.page-title').text().indexOf('The A-list') > -1) {
                    return false;
                }
                // this.setFakeCorporation(data.isEmulation);
                // if (data.isEmulation) {
                //     this.setFakeLocation(data.location || 'GBR', data.isEmulation);
                // }
                if (this.checkCorporation(data.isEmulation)) {
                    return this.check();
                }
                return false;
            },
            success: this.generate,
            fail: this.fail
        });
    };

    MyHelpers.prototype.setFakeCorporation = function (isEmulation) {
        var cookie,
            corporationID;

        corporationID = 'fKQnJsNRcKz2l';
        if (isEmulation) {
            cookie = this.props.AYSC || mmcore.GetCookie('AYSC', true);
        } else {
            cookie = mmcore.GetCookie('AYSC', true);
        }
        cookie = cookie.replace(/PVT_27[A-Za-z0-9]{13}/, 'PVT_27' + corporationID);
        if (!cookie) {
            return false;
        }
        if (isEmulation) {
            this.props.AYSC = cookie;
        } else {
            mmcore.SetCookie('AYSC', cookie, 2 * 365, true);
        }
    };

    MyHelpers.prototype.setFakeLocation = function (abbr, isEmulation) {
        var cookie;

        if (!abbr || abbr.length !== 3) {
            return false;
        }
        if (isEmulation) {
            cookie = (this.props.AYSC || mmcore.GetCookie('AYSC', true))
                .replace(/_14.*?_/, '_14' + abbr.toUpperCase() + '_');
        } else {
            cookie = mmcore
                .GetCookie('AYSC', true)
                .replace(/_14.*?_/, '_14' + abbr.toUpperCase() + '_');
        }
        if (!cookie) {
            return false;
        }
        if (isEmulation) {
            this.props.AYSC = cookie;
        } else {
            mmcore.SetCookie('AYSC', cookie, 1, true);
        }
        return cookie;
    };

    MyHelpers.prototype.checkCorporation = function (isEmulation) {
        var corporationID,
            cookie,
            arr,
            i,
            len,
            elem;

        // target
        corporationID = 'fKQnJsNRcKz2l';
        // maxymiser
        // corporationID = '0V1vclNNIwBSB';
        if (isEmulation) {
            cookie = this.props.AYSC || '';
        } else {
            cookie = mmcore.GetCookie('AYSC', true);
        }
        arr = cookie.split('_');
        for (i = 0, len = arr.length; i < len; i++) {
            elem = arr[i];
            if (elem.charAt(0) === '2' &&
                elem.charAt(1) === '7' &&
                elem.indexOf(corporationID) > -1) {
                return true;
            }
        }
        return false;
    };

    MyHelpers.prototype.check = function () {
        if (FT && FT.DRM && FT.DRM.url &&
            FT.DRM.url.indexOf( '//www.ft.com/m/registration.ft.com/corporate/ns/cb/' ) > -1) {
            return false;
        }
        if (this.$.trim(this.$('#ftLogin-user').text()).length > 0) {
            return false;
        }
        if (document.querySelector('meta[property="og:type"][content="article"]') &&
            this.checkReferrers() &&
            (!global.Hurdletype || global.Hurdletype !== 'H15') &&
            document.getElementById('footer')) {
            if (document.getElementById('corppop_overlay') ||
                document.getElementById('assanka_mockingbird') ||
                document.getElementById('assanka_mockingbird_overlay')) {
                this.props.isDefaultBarrierPresent = true;
            }
            return true;
        }
        return false;
    };

    MyHelpers.prototype.generate = function () {
        var name;
        var that;

        that = this;
        name = 'T3B2B';
        mmcore._async = true;
        mmcore.SetPageID(name + '_pageID');
        mmcore.CGRequest(function () {
            that.show();
            that.trackiJento();
        });
    };

    MyHelpers.prototype.fail = function () {
        this.show();
        this.trackArticleViewWithNoBarrierMaybe();
    };

    MyHelpers.prototype.trackArticleViewWithNoBarrierMaybe = function () {
        var checkB2B,
            checkArticle,
            checkNoCorpBarrier;

        checkB2B = function () {
            return !!mmcore.GetCookie('AYSC', 1).match(/PVT_27[A-Za-z0-9]{13}/);
        };
        checkArticle = function () {
            return !!document.querySelector('meta[property="og:type"][content="article"]');
        };
        checkNoCorpBarrier = function () {
            return !document.getElementById('corppop_overlay');
        };
        if (checkB2B() && checkArticle() && checkNoCorpBarrier()) {
            if (!(FT && FT.DRM && FT.DRM.url && FT.DRM.url.indexOf( '//www.ft.com/m/registration.ft.com/corporate/ns/cb/' ) > -1)) {
                this.trackAsyncAction({
                    name: 'T3B2BArticles'
                });
            }
        }
    };

    MyHelpers.prototype.clearCookie = function () {
        if (!window.location.pathname.match(/(\/corporate\/signup\/*)|(\/signup\/register*)/)) {
            mmcore.SetCookie('mm_T3B2BRegistrations', '', -1, true);
        }
    };

    MyHelpers.prototype.trackiJento = function () {
        var variant,
            a;

        if (mmcore.GenInfo &&
            mmcore.GenInfo.T3B2BFirstClickFree &&
            mmcore.GenInfo.T3B2BFirstClickFree.t3fcfpage &&
            FT && FT.analytics && FT.analytics.siteIntelligence &&
            FT.analytics.siteIntelligence.sendAdditionalTracer) {
            variant = mmcore.GenInfo.T3B2BFirstClickFree.t3fcfpage.toLowerCase();
            a = variant === 'default' ? 1 : 2;
            FT.analytics.siteIntelligence.sendAdditionalTracer('/MVT','creativeID=T3B2B|A' + a);
        }
    };
    /* MyHelpers end */

    helpers = mmcore[campaignPrefix] = new MyHelpers(campaignPrefix);
    helpers.clearCookie();
    helpers.wait({
        freq: 100,
        check: function () {
            return window.jQuery;
        },
        success: function () {
            helpers.$ = window.jQuery;
            // helpers.checkPage({
            //     isEmulation: true,
            //     location: 'JPN'
            // });
            helpers.checkPage({
                isEmulation: false
            });
        }
    });
    helpers.wait({
        freq: 100,
        reset: helpers.ms.seconds(8),
        check: function () {
            if (mmcore.GenInfo &&
                mmcore.GenInfo.T3B2BFirstClickFree &&
                mmcore.GenInfo.T3B2BFirstClickFree.t3fcfpage &&
                mmcore.GenInfo.T3B2BFirstClickFree.t3fcfpage === 'Default') {
                return true;
            }
            return false;
        },
        success: helpers.trackArticleViewWithNoBarrierMaybe
    });
})(window, window.mmcore, 'T3B2B');
}catch(err){mmcore.EH(err);}
try{
(function (mmcore) {
	'use strict';

	var cookie = mmcore.GetCookie('mm_t9_clean', true);
	if (!cookie || cookie !== '18072014') {
		mmcore.SetCookie('mm_t9_clean', '18072014', 365, true);
		mmcore.SetCookie('mm_t9_free_trial', '', -1, true);
		mmcore.SetCookie('mm_t9_one_pound', '', -1, true);
		mmcore.SetCookie('mm_t9_reg_date', '', -1, true);
		mmcore.SetCookie('mm_t9_track_registration', '', -1, true);
		mmcore.SetCookie('mm_t9_allow_subscription', '', -1, true);
		mmcore.SetCookie('mm_t9_serving_start', '', -1, true);
		mmcore.SetCookie('mm_t9_slider_shown', '', -1, true);
		mmcore.SetCookie('mm_t9_prevent_slider', '', -1, true);
		mmcore.SetCookie('mm_T9WasRender', '', -1, true);
	}
}(window.mmcore));

}catch(err){mmcore.EH(err);}
try{
/**
 * 11.09.2014
 * Track all campaigns automatically
 * A. Tytskiy
 *
 * Dependencies: [EssentialPlugins.js:mmcore.waitFor,
 * 				  Helpers.js:mmcore.helpers]
 */
(function (mmcore) {
	'use strict';

	var TIMEOUT = 2000;
	var track = function () {
		mmcore.ijento = mmcore.ijento || {};

		mmcore.AddDocLoadHandler(function () {
			if (!mmcore.GenInfo || !mmcore.waitFor) {
				return;
			}

			if (mmcore.helpers && window.si && window.si.sendAdditionalTracer) {
				mmcore.helpers.iJentoTag();
			} else {
				mmcore
					.waitFor(function () {
						return mmcore.helpers && window.si && window.si.sendAdditionalTracer;
					}, { isNotStoppedOnDocumentReadiness: true, timeout: TIMEOUT })
					.done(function () {
						mmcore.helpers.iJentoTag();
					});
			}
		});
	};

	track();
	track = null;
}(window.mmcore));

}catch(err){mmcore.EH(err);}
try{
;(function (m) {  
    'use strict';  
  
    function Campaign(config) {  
        this._objStyle = {};  
        this._config = config;  
        this.name = config.name;  
        this.mmPath = config.mmPath;  
    }  
    Campaign.prototype.addStyle = (function () {  
        var cg1 = document.getElementById(m.cprefix + '1'), st;  
        return function (css, name) {  
            st = this._objStyle[name];  
            name = name || "mm_style";  
            if (!st) {  
                st = document.createElement("style");  
                st.type = "text/css";  
                cg1.parentNode.insertBefore(st, cg1);  
                this._objStyle[name] = st;  
            }  
            if (st.styleSheet) {  
                st.styleSheet.cssText += css;  
            } else {  
                st.innerHTML += css;  
            }  
        };  
    }());  
    Campaign.prototype.removeStyle = function (name) {  
        var st = this._objStyle[name];  
        name = name || "mm_style";  
        if (st) {  
            st.parentNode.removeChild(st);  
        }  
        delete this._objStyle[name];  
    };  
    Campaign.prototype.preloadImages= function (tc) {  
        if (!tc) {  
            return false;  
        }  
        var self = this, mb, con, v, tcc, src, i, gi = m.GenInfo[self._config.name];  
        self.mb = {};  
        self._rmb = [];  
        for (mb in tc) {  
            if (tc.hasOwnProperty(mb)) {  
                v = gi[mb.toLowerCase()];  
                self.mb[mb] = v;  
                if (!/undefined|default/i.test(v)) {  
                    self._rmb.push(mb);  
                    if (!self._config.mmPath) {  
                        continue;  
                    }  
                    for (con in tc[mb]) {  
                        if (tc[mb].hasOwnProperty(con)) {  
                            tcc = tc[mb][con];  
                            i = tcc.length;  
                            while (i--) {  
                                tc[mb][con][i] = tcc[i].replace(/\[mm_path\]([^)'"]+)/g, function (m, img) {  
                                    src = (new Image()).src = self._config.mmPath + img;  
                                    return src;  
                                });  
                            }  
                        }  
                    }  
                }  
            }  
        }  
        return self._rmb.length;  
    };  
    Campaign.prototype.render = function () {  
        var self = this,  
            isAsync = !!self._config.pageID,  
            content = {  
                show: function () {  
                    self.removeStyle(self._config.name);  
                },  
                hide: function () {  
                    self.addStyle(self._config.hide + '{position: relative; left:-10000px}', self._config.name);  
                }  
            },  
            checker = (function () {  
                var is_checker_set = typeof self._config.checker === 'function',  
                    exit = (isAsync) ? false : m._docEnd;  
                return function () {  
                    return is_checker_set ? (self._config.checker() || exit) : m._docEnd;  
                };  
            }()),  
            stopChecker = (function () {  
                var is_checker_set = typeof self._config.stopChecker === 'function',  
                    exit = m._docEnd;  
                if (isAsync) {  
                    exit = false;  
                    setTimeout(function () { exit = true; }, self._config.checkerTimeout || 5000);  
                }  
                return function () {  
                    return is_checker_set ? (self._config.stopChecker() || exit) : exit;  
                };  
            }());  
        if (isAsync || self.preloadImages(tc || null)) {  
            content.hide();  
        } else {  
            return;  
        }  
        (function waiter() {  
            if (checker()) {  
                if (isAsync) {  
                    m._async = true;  
                    m.SetPageID(self._config.pageID);  
                    if (typeof self._config.beforeCGRequest === 'function') {  
                        self._config.beforeCGRequest();  
                    }  
                    m.AddDocLoadHandler(function () {});  
                    m.CGRequest(function () {  
                        m.AddDocLoadHandler(function () {  
                            if (typeof self._config.afterCGRequest === 'function') {  
                                self._config.afterCGRequest();  
                            }  
                            content.show();  
                        });  
                    });  
                    m.HideMaxyboxes = function () {};  
                    setTimeout(content.show, self._config.emergencyOpenTimeout || 3000);  
                } else if (self._rmb.length) {  
                    m.RenderMaxyboxes(self._rmb);  
                    content.show();  
                }  
            } else if (!stopChecker()) {  
                setTimeout(waiter, 50);  
            } else {  
                content.show();  
            }  
        }());  
    };  
    m.initCampaign = function (config) {  
        return new Campaign(config);  
    };  
}(window.mmcore));  
}catch(err){mmcore.EH(err);}
try{
(function ( m ) {
	m.initCampaignForUser = function(){};

	var FT_User = m.GetCookie('FT_User', 1) || '';
	if(!m.GetCookie('mm_exclude_anonymous', 1) && FT_User && FT_User.match(/_P1_|_P2_|_P3_/g)){
		m.SetCookie('mm_exclude_anonymous', '1', 128, 1);
	}

	var cookie, usr, S;

	cookie = m.GetCookie( 'AYSC', 1 );

	if(!cookie || cookie === "\"\"" || !cookie.match(/\S*/)){
		return;
	}

	usr = cookie.match( /PVT_27[A-Za-z0-9]{4,13}/ )? 'B' :'C';

	S = (function () {
		var style, isStyle, mmcoreFR;
		mmcoreFR = document.getElementById( 'mmcore.1' );
		isStyle = function ( style ) { return style && style.nodeType === 1 && style.nodeName.toLowerCase() === 'style'; };
		return {
			attachStyle: function ( text, styleOut ) {
				if ( !text || typeof text !== 'string' || text === '' ) { return false; }
				if ( isStyle( styleOut ) ) { style = styleOut; } else {
					style = document.createElement( 'style' );
					style.type = 'text/css';
				}
				if ( style.styleSheet ) { style.styleSheet.cssText += text; } else { style.innerHTML += text;}
				mmcoreFR.parentNode.insertBefore( style, mmcoreFR );
				return style;
			},
			removeStyle: function ( styleOut ) {
				if ( !styleOut ) { styleOut = style; }
				if ( isStyle( styleOut ) && styleOut.parentNode ) { styleOut.parentNode.removeChild( styleOut ); } else { return false; }
				return true;
			}
		};
	}());

	/**
	 * Init campaign for need ustype of user
	 *
	 * @param {String}          user                        User type, may be B - business or C - customer
	 * @param {String}          testname                    Test name as per admin UI (used for pageID setting)
	 * @param {String|Function} [cssSelectorOrCustomRender] Css 2 selector to hide until rendered OR custom render function
	 * @param {Function}        [onWrongUser]
	 *
	 * Examples:
		// standard rendering, compatible with legacy camapigns
		mmcore.initCampaignForUser('B', 'T1B2B_CorpAM_Overlay', '#content');

		// custom rendering, useful with Essential plugins
		var campaign = new mmcore.Campaign('T12_EconomyProduct', ['A_T12EcoProd'], 't12-hider');

		campaign.hideContent('#DRMUpsell');

		var initCampaign = function () {
			mmcore.initCampaignForUser('C', 'T12_EconomyProduct', function () {
				mmcore.request('T12_EconomyProduct')
					.done(function () {
						campaign.renderMaxyboxes();
						campaign.showContent();
					})
					.fail(function () {
						campaign.showContent();
					});
			}, function () {
				campaign.showContent();
			});
		};

		mmcore.waitFor(function () {
			return window.jQuery;
		}, {isNotStoppedOnDocumentReadiness: true, timeout: 2000})
		.done(function () { initCampaign(); })
		.fail(function () { campaign.showContent(); });
	 */
	m.initCampaignForUser = function ( user, testname, cssSelectorOrCustomRender, onWrongUser ) {
		var style, cssSelector, customRenderer;

		if ( user.toUpperCase() !== usr ) {
			if ( typeof onWrongUser === 'function' ) {
				onWrongUser.call(null, user, testname);
			}
			return;
		}

		if ( cssSelectorOrCustomRender ) {
			if ( typeof cssSelectorOrCustomRender === 'function' ) {
				customRenderer = cssSelectorOrCustomRender;
			} else {
				cssSelector = cssSelectorOrCustomRender;
				style = S.attachStyle( cssSelector + '{ position: relative !important; left: -9999px !important; }' );

				setTimeout( function () {
					S.removeStyle( style );
				}, 5000 );
			}
		}

		if ( typeof customRenderer === 'function' ) {
			customRenderer.call(null, user, testname);
		} else {
			m._async = true;
			m.HideMaxyboxes = function () {};
			m.SetPageID( testname + '_pageID' );
			m.CGRequest( function () {
				if ( cssSelector ) {
					m.AddDocLoadHandler( function () {
						setTimeout( function () {
							S.removeStyle( style );
						} );
					} );
				}
			} );
		}
	};

}( window.mmcore ));

}catch(err){mmcore.EH(err);}
try{
(function (global, mmcore, undefined) {
	'use strict';

	var Helpers;

	/**
	 * Common FT helpers
	 * API:
	 * - mmcore.helpers.getAYSCfield(field)
	 * - mmcore.helpers.setAYSCfield(field, value)
	 * - mmcore.helpers.getPrice(type, level, [isEmulation])
	 * - mmcore.helpers.objectForEach(object, callback)
	 * - mmcore.helpers.arrayIndexOf(arra, element)
	 * - mmcore.helpers.iJentoTag()
	 * - debuggind:
	 *   - mmcore.helpers.printPrice([countryAbbreviation])
	 */
	Helpers = function () {
		this.props = {
			price: {
				monthly: {
					newspaper: {
						europe: '&euro;98.15',
						GBR: '&pound;76.05',
						USA: '$64.68',
						AUS: 'N/A',
						HKG: '$552.50',
						SGP: '$96.96',
						JPN: '&yen;13,520.00',
						CHE: 'CHF 157.19',
						other: 'N/A'
					},
					premium: {
						europe: '&euro;47.19',
						GBR: '&pound;40.95',
						USA: '$51.52',
						AUS: '$48.30',
						HKG: '$388.50',
						SGP: '$63.05',
						JPN: '&yen;6,088.00',
						CHE: 'CHF 52.65',
						other: '$51.52'
					},
					standard: {
						europe: '&euro;33.00',
						GBR: '&pound;29.00',
						USA: '$35.00',
						AUS: '$33.00',
						HKG: '$270.00',
						SGP: '$43.00',
						JPN: '&yen;4,800.00',
						CHE: 'CHF 36.00',
						other: '$35.00'
					},
					trial: {
						europe: '&euro;1',
						GBR: '&pound;1',
						USA: '$1',
						AUS: '$1',
						HKG: '$10',
						SGP: '$1',
						JPN: '&yen;100',
						CHE: 'CHF 1',
						other: '$1'
					}
				},
				annual: {
					newspaper: {
						europe: '&euro;17.42',
						GBR: '&pound;13.50',
						USA: '$11.48',
						AUS: 'N/A',
						HKG: '$98.08',
						SGP: '$17.21',
						JPN: '&yen;2,400.00',
						CHE: 'CHF 27.90',
						other: 'N/A'
					},
					premium: {
						europe: '&euro;8.39',
						GBR: '&pound;7.15',
						USA: '$8.99',
						AUS: '$8.59',
						HKG: '$68.99',
						SGP: '$11.15',
						JPN: '&yen;1,090.00',
						CHE: 'CHF 9.25',
						other: '$8.99'
					},
					standard: {
						europe: '&euro;5.75',
						GBR: '&pound;5.19',
						USA: '$6.25',
						AUS: '$5.99',
						HKG: '$47.99',
						SGP: '$7.69',
						JPN: '&yen;849.00',
						CHE: 'CHF 6.39',
						other: '$6.25'
					},
					trial: {
						europe: '&euro;1',
						GBR: '&pound;1',
						USA: '$1',
						AUS: '$1',
						HKG: '$10',
						SGP: '$1',
						JPN: '&yen;100',
						CHE: 'CHF 1',
						other: '$1'
					}
				}
			},
			europe: [
				'ALB',
				'AUT',
				'BEL',
				'BGR',
				'CYP',
				'CZE',
				'DNK',
				'EST',
				'FIN',
				'FRA',
				'PYF',
				'DEU',
				'GRC',
				'HUN',
				'IRL',
				'ITA',
				'LVA',
				'LIE',
				'LTU',
				'LUX',
				'MLT',
				'MDA',
				'MCO',
				'MNE',
				'NLD',
				'NLD',
				'NOR',
				'POL',
				'PRT',
				'ROU',
				'SRB',
				'SVK',
				'SVN',
				'ESP',
				'SWE',
				'CHE',
				'TUR'
			]
		};
	};

	/**
	 * @param {Number|String}    field Number of field in the `AYSC` cookie
	 * @returns {String|Boolean} Value if success or false if field doesn't exist
	 *
	 * @note:
	 *    If field was set to empty string like so `_22_` function returns an empty string ''
	 *    Else if cookie hasn't field inside then function returns `false`
	 */
	Helpers.prototype.getAYSCfield = function (field) {
		var aysc;
		var match;

		field = String(field);
		if (field.length < 2) {
			field = '0' + field;
		}
		aysc = mmcore.GetCookie('AYSC', true);
		match = (aysc.match(new RegExp('_' + field + '(.*?)_')) || [null, null])[1];
		if (!match) {
			match = (aysc.match(new RegExp('_' + field + '_')) ? ['', ''] : [null, null])[0];
		}
		if (!field || !aysc || match === null) {
			return false;
		}
		return match;
	};

	/**
	 * @param {Number|String}    field Number of field in `AYSC` cookie
	 * @param {Number|String|Null}    value New value to be assigned in `field` field of `AYSC`
	 * @returns {String|Boolean} `AYSC` if success or false if field doesn't exist
	 *
	 * @example:
	 *     mmcore.helpers.setAYSCfield(27)       - do nothing
	 *     mmcore.helpers.setAYSCfield(27, 45)   - set 27th field to 45, like so: _2745_
	 *     mmcore.helpers.setAYSCfield(27, '')   - set 27th field to be empty, like so: _27_
	 *     mmcore.helpers.setAYSCfield(27, null) - erease completely 27th field from cookie
	 */
	Helpers.prototype.setAYSCfield = function (field, value) {
		var aysc;
		var rex;
		var rexEmpty;
		var match;

		field = String(field);
		value = String(value);
		/** trim value */
		value = value.replace(/^\s+|\s+$/g, '');
		if (!field || value === 'undefined') {
			return false;
		}
		if (field.length < 2) {
			field = '0' + field;
		}
		aysc = mmcore.GetCookie('AYSC', true);
		rex = new RegExp('_' + field + '.+?_');
		rexEmpty = new RegExp('_' + field + '_');
		if (value === 'null') {
			value = aysc.replace(rex, '_');
			value = value.replace(rexEmpty, '_');
		} else if (value === '') {
			value = field + '_';
			match = (aysc.match(rex) || aysc.match(rexEmpty) || [null])[0];
			value = match ? aysc.replace(rex, '_' + field + '_').replace(rexEmpty, '_' + field + '_') : aysc + value;
		} else {
			value = field + value + '_';
			match = (aysc.match(rex) || aysc.match(rexEmpty) || [null])[0];
			value = match ? aysc.replace(rex, '_' + value).replace(rexEmpty, '_' + value) : aysc + value;
		}
		mmcore.SetCookie('AYSC', value, 2 * 365, true);
		return mmcore.GetCookie('AYSC', true);
	};

	/**
	 * @param   {String}         type                           Type by duration `m`, `monthly` or `a`, `annual`
	 * @param   {String}         level                          Type by cost `newspaper`, `standard`, `premium`, `trial`
	 * @param   {Boolean|String} [emulationFlagOrTargetCountry] Debugging flag or target
	 * @returns {String}                                        Price
	 */
	Helpers.prototype.getPrice = function (type, level, emulationFlagOrTargetCountry) {
		var i,
			field14;

		type = type.toLowerCase();
		if (type === 'm') {
			type = 'monthly';
		}
		if (type === 'a') {
			type = 'annual';
		}
		i = this.props.europe.length;
		if (typeof emulationFlagOrTargetCountry === 'boolean') {
			field14 = (this.props.AYSC.match(/_14(.*?)_/) || [null, null])[1];
		} else if (typeof emulationFlagOrTargetCountry === 'string') {
			field14 = emulationFlagOrTargetCountry;
		} else {
			field14 = (mmcore.GetCookie('AYSC', true).match(/_14(.*?)_/) || [null, null])[1];
		}
		if (!field14) {
			return false;
		}
		if (this.props.price[type][level][field14]) {
			return this.props.price[type][level][field14];
		} else {
			while (i--) {
				if (this.props.europe[i] === field14) {
					return this.props.price[type][level].europe;
				}
			}
		}
		return this.props.price[type][level].other;
	};

	/**
	 * Function for debugging purpose only don't let it to be in production
	 * @param {String} abbr           Abbreviation of country according to the FT spec
	 * @param {Boolean} [isEmulation] Variable for debugging
	 */
	Helpers.prototype.setFakeLocation = function (abbr, isEmulation) {
		var cookie;

		if (!abbr || abbr.length !== 3) {
			return false;
		}
		if (isEmulation) {
			cookie = (this.props.AYSC || mmcore.GetCookie('AYSC', true))
				.replace(/_14.*?_/, '_14' + abbr.toUpperCase() + '_');
		} else {
			cookie = mmcore
				.GetCookie('AYSC', true)
				.replace(/_14.*?_/, '_14' + abbr.toUpperCase() + '_');
		}
		if (!cookie) {
			return false;
		}
		if (isEmulation) {
			this.props.AYSC = cookie;
		} else {
			mmcore.SetCookie('AYSC', cookie, 1, true);
		}
		return cookie;
	};

	/**
	 * Function for price debugging
	 *
	 * Usage example:
	 * mmcore.helpers.printPrice()
	 * mmcore.helpers.printPrice('JPN')
	 * mmcore.helpers.printPrice('CHE')
	 */
	Helpers.prototype.printPrice = function () {
		var abbr;
		var isEmulation;

		abbr = arguments[0] || '';
		abbr = abbr.toUpperCase();
		if (abbr) {
			this.setFakeLocation(abbr, true);
			isEmulation = true;
		} else {
			abbr = (mmcore.GetCookie('AYSC', true).match(/_14(.*?)_/) || [null, null])[1];
			isEmulation = false;
		}
		/* jshint ignore:start */
		if (console && console['log'] && typeof console['log'] === 'function') {
			console['log']([
				abbr,
				'    Monthly',
				'        Newspaper ' + this.getPrice('m', 'newspaper', isEmulation),
				'        Premium   ' + this.getPrice('m', 'premium', isEmulation),
				'        Standard  ' + this.getPrice('m', 'standard', isEmulation),
				'        Trial     ' + this.getPrice('m', 'trial', isEmulation),
				'    Annual',
				'        Newspaper ' + this.getPrice('a', 'newspaper', isEmulation),
				'        Premium   ' + this.getPrice('a', 'premium', isEmulation),
				'        Standard  ' + this.getPrice('a', 'standard', isEmulation)
			].join('\n'));
		}
		/* jshint ignore:end */
	};

	/**
	 * Track iJento as per specification
	 * @param  {String}  campaignName
	 * @param  {prefix}  prefix
	 * @param  {Object}  mapping
	 * @param  {Boolean} isDebug
	 *
	 * @example:
			// don't track, just print to console for QA
			mmcore.helpers.iJento('T9TrialsVsRegistrati', 'T9', {
				"A T9Registrati": {
					"FreeTrial": 2,
					"OnePound": 3
				}
			}, true);
	 *
			// track without printing
			mmcore.helpers.iJento('T9TrialsVsRegistrati', 'T9', {
				"A T9Registrati": {
					"FreeTrial": 2,
					"OnePound": 3
				}
			});
	 */
	Helpers.prototype.iJento = function (campaignName, prefix, mapping, isDebug) {
		var genInfo;
		var campaign;
		var log;
		var variantLower;
		var splitten;
		var elemLetter;
		var elemName;
		var _error;
		var isConsoleError;
		var isConsoleLog;
		var isDebugError;
		var _log;

		_error = 'error';
		_log = 'log';
		isConsoleError = window.console && typeof window.console[_error] === 'function';
		isConsoleLog = window.console && typeof window.console[_log] === 'function';
		isDebugError = isConsoleError && isDebug;
		genInfo = window.mmcore.GenInfo;
		log = 'creativeID=';
		mmcore.waitFor(function () {
			var si = window.si;
			return si && si.sendAdditionalTracer;
		}).done(function () {
			var elem;
			var variant;
			if (!genInfo) {
				if (isDebugError) {
					window.console[_error]('iJento: (' + campaignName + ') Please wait mmcore.GenInfo');
				}
				return;
			}
			if (!campaignName) {
				if (isDebugError) {
					window.console[_error]('iJento: (' + (campaignName || 'undefined') + ') Please set campaign name as per admin UI for iJento tracking');
				}
				return;
			}
			if (!prefix || !Object.prototype.toString.call(prefix).toLowerCase().match(' string')) {
				if (isDebugError) {
					window.console[_error]('iJento: (' + campaignName + ') Please set campaign prefix for iJento tracking');
				}
				return;
			}
			if (!mapping || !Object.prototype.toString.call(mapping).toLowerCase().match(' object')) {
				if (isDebugError) {
					window.console[_error]('iJento: (' + campaignName + ') Please set variants mapping for iJento tracking');
				}
				return;
			}
			campaign = genInfo[campaignName];
			if (!campaign) {
				if (isDebugError) {
					window.console[_error]('iJento: (' + campaignName + ') Campaign wasn\'t generated');
				}
				return;
			}
			log += prefix.toUpperCase();
			for (elem in mapping) {
				if (mapping.hasOwnProperty(elem)) {
					splitten = elem.split(' ');
					elemLetter = splitten[0].toUpperCase();
					elemName = splitten[1].toLowerCase();
					if (campaign[elemName]) {
						for (variant in mapping[elem]) {
							if (mapping[elem].hasOwnProperty(variant)) {
								variantLower = variant.toLowerCase();
								if (campaign[elemName] === 'Default') {
									log = log + '|' + elemLetter + 1;
									break;
								} else if (campaign[elemName] === variantLower) {
									log = log + '|' + elemLetter + mapping[elem][variant];
									break;
								}
							}
						}
					}
				}
			}

			if (isDebug && isConsoleLog) {
				if (log === 'creativeID=' + prefix.toUpperCase()) {
					if (isDebugError) {
						window.console[_error]('iJento: (' + campaignName + ') Something is wrong with variants mapping\n' + JSON.stringify(mapping));
					}
				} else {
					window.console[_log]('/MVT, ' + log);
				}
			} else {
				window.si.sendAdditionalTracer('/MVT', log);
				return '/MVT, ' + log;
			}
		});
	};

	Helpers.prototype.objectForEach = function (obj, callback) {
		for (var prop in obj) {
			if (obj.hasOwnProperty(prop) && typeof callback === 'function') {
				callback(obj[prop], prop, obj);
			}
		}
	};

	Helpers.prototype.arrayIndexOf = (function () {
		var NEGATIVE = -1;
		var func = Array.prototype.indexOf || function (term) {
			for (var i = 0, len = this.length; i < len; i++) {
				if (this[i] === term) {
					return i;
				}
			}
			return NEGATIVE;
		};

		return function (arr, element) {
			return func.call(arr, element);
		};
	}());

	Helpers.prototype.iJentoTag = function () {
		var that = this;
		mmcore.ijento.buffer = mmcore.ijento.buffer || [];

		this.objectForEach(mmcore.GenInfo, function (generation, campaign) {
			if (that.arrayIndexOf(mmcore.ijento.buffer, campaign) > -1) {
				return;
			}

			var tag = 'creativeID=' + campaign;

			that.objectForEach(generation, function (variant, element) {
				tag = tag + '|' + element + ' ' + variant;
			});

			window.si.sendAdditionalTracer('/MVT', tag);
			mmcore.ijento.buffer.push(campaign);
		});
	};

	mmcore.helpers = new Helpers();
})(window, window.mmcore);

}catch(err){mmcore.EH(err);}
try{
// common
(function (global, mmcore, undefined) {
    'use strict';

    var Helpers;

    /**
     * Helpers for specific campaign
     */
    Helpers = function (testNumber) {
        this.testNumber = testNumber;
        if (!testNumber) {
            throw 'Please set Maxymiser Test number';
        }
        this.isFirefox = this.detectFirefox();
        this.data = {};
    };

    Helpers.prototype.makeDispatcher = function() {
        var dispatcher;

        dispatcher = this.$({});
        dispatcher.subscribe = function() {
            if (dispatcher.on) {
                return dispatcher.on.apply(dispatcher, arguments);
            } else {
                return dispatcher.bind.apply(dispatcher, arguments);
            }
        };
        dispatcher.unsubscribe = function() {
            if (dispatcher.off) {
                return dispatcher.off.apply(dispatcher, arguments);
            } else {
                return dispatcher.unbind.apply(dispatcher, arguments);
            }
        };
        dispatcher.publish = function() {
            return dispatcher.trigger.apply(dispatcher, arguments);
        };
        this.dispatcher = dispatcher;
    };

    Helpers.prototype.setCssNamespace = function () {
        var testNumber;

        testNumber = this.testNumber.toLowerCase();
        this.$('body').addClass('mm-' + testNumber);
    };

    Helpers.prototype.detectFirefox = function () {
        var browser;

        browser = navigator.userAgent;
        if (browser && browser.toLowerCase().indexOf('firefox') > -1) {
            return true;
        } else {
            return false;
        }
    };

    Helpers.prototype.fixFirefoxHistory = function () {
        var hash;

        if (this.isFirefox) {
            hash = location.hash;
            hash = hash.length ? '' + hash + '-mm' : 'mm';
            location.hash = hash;
        }
    };

    Helpers.prototype.redirect = function (url) {
        if (url) {
            this.fixFirefoxHistory();
            if (location.assign) {
                location.assign(url);
            } else {
                location = url;
            }
        }
    };

    Helpers.prototype.delegateEvent = function (eventType, selOrObj, callback) {
        if (!selOrObj || !eventType || !callback) {
            throw '' + this.testNumber + ' delegateEvent: invalid arguments';
        }
        if (this.$.fn.on) {
            this.$(document).on(eventType, selOrObj, callback);
        } else if (this.$.fn.live) {
            this.$(selOrObj).live(eventType, callback);
        }
    };

    Helpers.prototype.undelegateEvent = function (eventType, selOrObj, callback) {
        if (!eventType) {
            throw '' + this.testNumber + ' undelegateEvent: invalid arguments';
        }
        if (this.$.fn.off) {
            this.$(document).off(eventType, selOrObj, callback);
        } else if (this.$.fn.die) {
            this.$(selOrObj).die(eventType, callback);
        }
    };

    Helpers.prototype.injectStyle = function (styleString) {
        var style;

        style = document.createElement('style');
        style.type = 'text/css';
        if (style.styleSheet) {
            style.styleSheet.cssText = styleString;
        } else {
            style.appendChild(document.createTextNode(styleString));
        }
        document.getElementsByTagName('head')[0].appendChild(style);
        return style;
    };

    Helpers.prototype.trackAsyncAction = function (data) {
        mmcore._async = true;
        mmcore.SetPageID('events');
        mmcore.SetAction(data.name, data.val || 1, data.attr || '');
        mmcore.CGRequest(data.then || function () {});
    };

    Helpers.prototype.stripScripts = function (html) {
        return html.replace(/<script.*?>(.|\n)*?<\/script>/gim, '');
    };

    Helpers.prototype.wait = function (data) {
        var check,
            context,
            fail,
            freq,
            isResetFunction,
            reset,
            resetAllTimers,
            success,
            timers,
            waitInner;
        timers = {};
        resetAllTimers = function () {
            clearTimeout(timers.timer);
            clearTimeout(timers.resetTimer);
        };
        check = data.check || null;
        freq = data.frequency || data.freq || 0;
        reset = data.reset || null;
        context = data.context || global || window.top;
        if (typeof data.success === 'function') {
            success = function () {
                resetAllTimers();
                data.success();
                if (typeof data.always === 'function') {
                    data.always();
                }
            };
        } else {
            success = function () {
                resetAllTimers();
                if (typeof data.always === 'function') {
                    data.always();
                }
            };
        }
        if (typeof data.fail === 'function') {
            fail = function () {
                resetAllTimers();
                data.fail();
                if (typeof data.always === 'function') {
                    data.always();
                }
            };
        } else {
            fail = function () {
                resetAllTimers();
                if (typeof data.always === 'function') {
                    data.always();
                }
            };
        }
        isResetFunction = typeof reset === 'function' ? true : false;
        if (!isResetFunction) {
            reset = parseInt(reset, 10);
            reset = reset > -1 ? reset : null;
        }
        if (!check) {
            if (data.id) {
                check = function () {
                    return context.document.getElementById(data.id);
                };
            } else if (data.selector) {
                check = function () {
                    return context.document.querySelector(data.selector);
                };
            } else {
                throw 'wait(): no condition specified';
            }
        }
        if (check()) {
            success();
        } else if (isResetFunction && reset()) {
            fail();
        } else {
            waitInner = function (data) {
                timers.timer = setTimeout(function () {
                    if (check()) {
                        success();
                    } else {
                        if (isResetFunction && reset()) {
                            fail();
                        } else {
                            waitInner(data);
                        }
                    }
                }, freq);
            };
            if (reset && !isResetFunction) {
                timers.resetTimer = setTimeout(function () {
                    return fail();
                }, reset);
            }
            waitInner(data);
        }
    };

    Helpers.prototype.imgReplacer = function (path, img_to_replace, options) {
        var src = path,
            img_replaced = img_to_replace.cloneNode(false);

        img_replaced.src = src;
        img_to_replace.parentNode.replaceChild(img_replaced, img_to_replace);

        if (options) {
            img_replaced.title = options.title;
            img_replaced.alt = options.alt;
        }
    };

    Helpers.prototype.extend = function () {
        return Helpers.extend.apply(arguments);
    };

    Helpers.extend = function (child, parent) {
        var own,
            Ctor;

        own = {}.hasOwnProperty;
        for (var key in parent) {
            if (own.call(parent, key)) {
                child[key] = parent[key];
            }
        }
        Ctor = function () {
            this.constructor = child;
        };
        Ctor.prototype = parent.prototype;
        child.prototype = new Ctor();
        child.__super__ = parent.prototype;
        return child;
    };
    /* Helpers end */

    // export
    mmcore.T5 = Helpers;
})(window, window.mmcore);

// specific
(function (global, mmcore, Helpers, FT, undefined) {
    'use strict';

    var MyHelpers,
        helpers;

    /**
     * MyHelpers for specific campaign
     */
    MyHelpers = function () {
        MyHelpers.__super__.constructor.apply(this, arguments);
        this.test = 'aaa';
    };
    Helpers.extend(MyHelpers, Helpers);

    MyHelpers.prototype.hide = function () {
        var style;

        style = helpers.injectStyle([
            '#iaiMain {',
            '    position: absolute;',
            '    left: -9999999px;',
            '}'
        ].join('\n'));
        style.id = 'mm-t5-hider';
    };

    MyHelpers.prototype.show = function () {
        var style;

        style = document.getElementById('mm-t5-hider');
        if (style) {
            style.parentNode.removeChild(style);
        }
    };

    MyHelpers.prototype.checkDefaultGenerated = function () {
        var geninfo;

        geninfo = mmcore.GenInfo;
        if (geninfo && geninfo.T5PremiumBarrier &&
            geninfo.T5PremiumBarrier.t5barrier === 'Default') {
            return true;
        }
        return false;
    };

    MyHelpers.prototype.check = function () {
        var type,
            cookie;

        type = global.HurdleType;
        cookie = mmcore.GetCookie('FT_User', true);
        if (type === 'h3' && cookie.indexOf('_P2_') < 0 &&
            window.jQuery && mmcore.initCampaignForUser &&
            typeof mmcore.initCampaignForUser === 'function') {
            return true;
        }
        return false;
    };

    MyHelpers.prototype.generate = function () {
        var type,
            name;

        type = 'C';
        name = 'T5PremiumBarrier';
        mmcore.initCampaignForUser(type, name);
        helpers.wait({
            freq: 100,
            reset: 7000,
            check: function () {
                var isAllForFTanalitycs = mmcore.GenInfo.T5PremiumBarrier &&
                    FT && FT.analytics && FT.analytics.siteIntelligence &&
                    FT.analytics.siteIntelligence.sendAdditionalTracer;
                return isAllForFTanalitycs;
            },
            success: helpers.trackFTanalitycs
        });
        helpers.wait({
            freq: 100,
            reset: 5000,
            check: helpers.checkDefaultGenerated,
            success: helpers.show
        });
        helpers.wait({
            freq: 100,
            reset: 8000,
            check: function () {
                return helpers.data.isBarrierVariantShown;
            },
            fail: helpers.show
        });
    };

    MyHelpers.prototype.clearCookie = function () {
        mmcore.SetCookie('mm_t5_banner_clicked', '', -1, true);
    };

    MyHelpers.prototype.preload = function () {
        this.data.cta = '//service.maxymiser.net/cm/images-eu/1/1/1/FD05E394B6F8D813736CE24B4E8309F25BCE6B976FC74CBCD76EA1D80BAE19CF/ft-com/T5PremiumBarrier/cta-button.png';

        (new Image()).src = this.data.cta;
    };

    MyHelpers.prototype.checkLoggedInAsNonPremium = function () {
        var userCookie;

        userCookie = mmcore.GetCookie('FT_User', true);
        if (!userCookie) {
            return false;
        }
        if (userCookie.indexOf('_P2_') < 0) {
            return true;
        }
        return false;
    };

    MyHelpers.prototype.trackFTanalitycs = function () {
        var geninfo,
            test,
            barrierMaxyBox,
            a;

        a = 1;
        geninfo = mmcore.GenInfo;
        test = geninfo.T5PremiumBarrier;
        barrierMaxyBox = test.t5barrier;
        if (barrierMaxyBox === 'oldwinner') {
            a = 2;
        } else if (barrierMaxyBox === 'newbarrier') {
            a = 3;
        }
        FT.analytics.siteIntelligence.sendAdditionalTracer('/MVT', 'creativeID=T5|A' + a);
    };

    MyHelpers.prototype.redirect = function (url) {
        if (url) {
            if (location.hash) {
                location.hash = '';
            }
            this.fixFirefoxHistory();
            if (location.assign) {
                location.assign(url);
            } else {
                location = url;
            }
        }
    };
    /* MyHelpers end */

    helpers = mmcore.T5 = new MyHelpers('t5');
    helpers.wait({
        freq: 100,
        check: function () {
            return window.jQuery;
        },
        success: function () {
            helpers.$ = window.jQuery;
        }
    });
})(window, window.mmcore, window.mmcore.T5, window.FT);
}catch(err){mmcore.EH(err);}
try{
/**
 * 26.08.2014
 * Check for page
 * A. Tytskiy
 */
(function (mmcore, $, undefined) {
	'use strict';

	if (mmcore.GetCookie('mm_T9WasRender', true)) {
		/** don't allow users from T9 enter to this test */
		return;
	}

	var country       = mmcore.helpers.getAYSCfield(14);
	var name          = 'T12_EconomyProduct';
	var campaign      = new mmcore.Campaign(name, ['A_T12EcoProd'], 't12-hider');
	var countries     = ['GBR', 'USA'];
	var timeouts      = {};
	var europeRegion1 = [
		'AUT',
		'BEL',
		'CZE',
		'DNK',
		'FRA',
		'DEU',
		'ITA',
		'LUX',
		'MCO',
		'NLD',
		'PRT',
		'ESP',
		'SWE'
	];

	var select = function (selector, root) {
		root = root || document;
		return root.querySelectorAll(selector);
	};

	var preload = function () {
		(new Image()).src = '//service.maxymiser.net/cm/images-eu/1/1/1/9B1D7564807899CA0F3A6BA75433107426888C301FF8E1A121FCF7703CCBD46F/ft-com/T12-EconomyProduct/close-cross.png';
	};

	var checkIsArticleBarrier = function () {
		if (select('meta[content="article"]').length &&
			select('#iaiMain.h1').length &&
			select('th.registration-s').length &&
			select('#iai-headline').length &&
			typeof window.updatePrice === 'function' &&
			/** checking heading color tells us that styles rendered */
			$('#matrix th > a').css('color') === 'rgb(255, 255, 255)') {
			return true;
		}
		return false;
	};

	var checkIsPSPpageBarrier = function () {
		var selectedCountry = $('#userCountry').val();
		var isContainerLoaded = !!select('.container').length;
		var isPremiumSubscriptionLoaded = !!select('.product.twoThird.floatLeft .tickList');

		if (selectedCountry) {
			selectedCountry = selectedCountry.toUpperCase();
		}

		if (!!~location.href.indexOf('http://registration.ft.com/registration/subscription-service/bpsp') &&
			~$.inArray(selectedCountry, countries) &&
			select('.product.third.floatRight') &&
			isContainerLoaded &&
			isPremiumSubscriptionLoaded) {
			return true;
		}
		return false;
	};

	var initCampaign = function () {
		mmcore.initCampaignForUser('C', name, function () {
			mmcore.request(name)
				.done(function () {
					campaign.renderMaxyboxes();
					campaign.showContent();
				})
				.fail(function () {
					campaign.showContent();
				});
		}, function () {
			campaign.showContent();
		});
	};

	timeouts.PSP_PAGE = 500;
	timeouts.ARTICLE_PAGE = 6000;
	countries = countries.concat(europeRegion1);
	campaign.hideContent('#DRMUpsell, #packages, #control, #productSelection h1', 'left: -33554430px; position: relative; top: -33554430px;');

	/** Article page checker */
	mmcore
		.waitFor(function () {
			if ($ &&
				checkIsArticleBarrier() &&
				~$.inArray(country, countries)) {
				return true;
			}
			return false;
		}, { isNotStoppedOnDocumentReadiness: true, timeout: timeouts.ARTICLE_PAGE })
		.done(function () { initCampaign(); })
		.fail(function () { campaign.showContent(); });

	/** PSP page checker */
	mmcore
		.waitFor(function () {
			if ($ &&
				checkIsPSPpageBarrier() &&
				~$.inArray(country, countries)) {
				preload();
				return true;
			}
			return false;
		}, { isNotStoppedOnDocumentReadiness: true, timeout: timeouts.PSP_PAGE })
		.done(function () { initCampaign(); })
		.fail(function () {
			if (~window.location.hostname.indexOf('registration.ft.com')) {
				campaign.showContent();
			}
		});

}(window.mmcore, window.jQuery));

}catch(err){mmcore.EH(err);}
try{
(function (global, mmcore, undefined) {
    'use strict';

    if (window.location.href && window.location.href.toLowerCase().indexOf('//registration.ft.com/') > - 1) {
        return;
    }
    mmcore.SetCookie('mm_t3_barrier_clicked', '', -1, true);
})(window, window.mmcore);
}catch(err){mmcore.EH(err);}
try{
(function (global, undefined) {
	'use strict';

	var href;

	href = global.location.href;
	if (href.indexOf('//registration.ft.com/corporate/signup/BrvCG2zYBUKPo?segid=0100582') < 0 &&
		href.indexOf('//registration.ft.com/corporate/signup/BrvCG2zYBUKPo') < 0 &&
		href.indexOf('//registration.ft.com/signup/premium?cpgid=0597&segid=0100586') < 0 &&
		href.indexOf('//registration.ft.com/signup/premium?cpgid=0597&term=monthly&segid=0100586') < 0 &&
		href.indexOf('//registration.ft.com/signup/premium?cpgid=0597') < 0 &&
		href.indexOf('//registration.ft.com/signup/premium?cpgid=0597&term=monthly') < 0 &&
		(href.indexOf('//registration.ft.com/') < 0 || (href.indexOf('//registration.ft.com/') > -1 && href.indexOf('cpgid=0597&segid=0100586') < 0)) &&
		(href.indexOf('//registration.ft.com/') < 0 || (href.indexOf('//registration.ft.com/') > -1 && href.indexOf('cpgid=0597&term=monthly&segid=0100586') < 0)) &&
		href.indexOf('//registration.ft.com/signup/register') < 0) {
		mmcore.SetCookie('mm_t9_track_registration', '', -1, true);
	}
	if (href.indexOf('//registration.ft.com/') < 0) {
		mmcore.SetCookie('mm_t9_allow_subscription', '', -1, true);
	}
}(window));

}catch(err){mmcore.EH(err);}
try{
/**
 * 08.09.2014
 * Reset subs cookies of campaign
 * A. Tytskiy
 */
(function (global, mmcore, undefined) {
	'use strict';

	/** form detection taken from global script  */
	var urlName = location.hostname + location.pathname;
	var isFormType1 = urlName.indexOf('registration.ft.com/signup') + 1;
	var isFormType2 = urlName.indexOf('sub.ft.com/sub/') + 1;
	var isFormType3 = urlName.indexOf('sub.ft.com/ftbuksubform/') + 1 ||
					  urlName.indexOf('sub.ft.com/ftnuksubform/') + 1 ||
					  urlName.indexOf('sub.ft.com/agftnusagubform/') + 1;

    if (!isFormType1 && !isFormType2 && !isFormType3) {
    	mmcore.SetCookie('mm_t12_new_option', '', -1, true);
    	mmcore.SetCookie('mm_t12_route', '', -1, true);
    }
})(window, window.mmcore);

}catch(err){mmcore.EH(err);}
try{
;(function (mmcore) {
   var lh = location.href;
   var isBarrier = lh.indexOf('Authorised=false.html') > -1;

   if (lh.indexOf('registration/subscription-service/bpsp') > -1 ||
	  lh.indexOf('registration/subscription-service/signuppsp') > -1 ||
	  isBarrier) {
	  mmcore.SetCookie('mm_T11_v3_visitedPages', '1', 1, 1);
   }

   if (lh.indexOf('registration.ft.com/signup/newspaper') > -1 ||
	  lh.indexOf('registration.ft.com/signup/premium') > -1 ||
	  lh.indexOf('registration.ft.com/signup/standard') > -1 ||
	  lh.indexOf('registration.ft.com/signup/register') > -1
	  ) {
	   if(document.referrer.indexOf('Authorised=false.html') + 1){
		   mmcore.SetCookie('mm_T11_v3_visitedPagesPSP2', '1', 1, 1);
	   }
   }
    if (lh.indexOf('registration.ft.com/registration/subscription-service/bpsp') > -1 ||
        lh.indexOf('registration.ft.com/registration/subscription-service/signuppsp') > -1) {
        mmcore.SetCookie('mm_T11_v3_visitedPagesPSP2', '1', 1, 1);
    }
}(window.mmcore));
}catch(err){mmcore.EH(err);}
try{
/*
	Campaign checker
	14.05.2014
	Edward Shveday
*/

;(function(m){

	if(!document.querySelector('meta[content="article"]')){
		return;
	}

	var ref = document.referrer;
	var lh = location.href;
	var validReferrer = false;
	var refArray = ['199.30.80.0/21',
		'abnormalreturns',
		'ask',
		'bing',
		'ca.finance.yahoo.com',
		'ca.search.yahoo.com',
		'community.nasdaq.com',
		'dailyfinance.co.uk',
		'dailyfinance.com',
		'drudgereport',
		'edition.cnn.com',
		'epcvs.osb.ft.com',
		'execsense.com/',
		'finance.aol.co.uk',
		'finance.aol.com',
		'finance.yahoo.com',
		'home.bt.yahoo.com',
		'http://2424actu.fr',
		'http://pfweb-qa3.test.aol.com/',
		'http://www.indiabusinessbrief.com',
		'http://www.indiafinancebrief.com',
		'http://www.indiafoodbrief.com',
		'http://www.indiaretailnews.com',
		'http://www.indiasoftwarebrief.com',
		'http://www.indiatelecombrief.com',
		'http://www.walletpop.com/',
		'huffingtonpost',
		'money.aol.com',
		'money.cnn.com',
		'morningstar.com',
		'nasdaq',
		'nasdaq.com',
		'news.in.msn.com',
		'nyif.com',
		'paid.outbrain.com',
		'qa2.finance.yahoo.com',
		'quotes.nasdaq.com',
		'samachar.com',
		'search.news.yahoo.com',
		'taboola.com',
		'thestreet.com',
		'theweek.com',
		'uat-www.nyif.com',
		'uk.betastreaming.finance.yahoo.com',
		'uk.biz.yahoo.com',
		'uk.finance.yahoo.com',
		'uk.search.news.yahoo.com',
		'uk.search.yahoo.com',
		'uk.search.yahoo.com/search',
		'us.rd.yahoo.com',
		'www-qc.nasdaq.com',
		'www.2424actu.fr',
		'www.dailyfinance.co.uk',
		'www.dailyfinance.com',
		'www.liasset.com/',
		'www.liasset.com/wp-v3/2013/06/accelerate-your-career-with-the-financial-times/',
		'www.liasset.com/wp-v3/2013/06/mbas-expert-advice-to-progress-your-career/',
		'www.linkedin.com',
		'www.nasdaq.com',
		'www.nyif.com',
		'www.reddit.com',
		'www.samachar.com',
		'www.stumbleupon.com',
		'www.thestreet.com',
		'www.tumblr.com',
		'yahoo.co.uk',
		'yahoo.com',
		'yahoo.finance.com'];


	var _onunload = window.onunload;
	window.onunload = function () {
		m.SetCookie('mm_refresh_t6', 1, 3 / 86400, 1);
		if (typeof _onunload == 'function') {
			return _onunload.apply(this, arguments)
		}
	};


	var i = refArray.length;
	while(i--){
		if(ref.indexOf(refArray[i])>-1){
			validReferrer = true;
			break;
		}
	}

	if((validReferrer || isSegid) && !m.GetCookie('mm_refresh_t6', 1)){
		m.SetCookie('mm_t6_close', '', -1, 1);
	}

	var isClosed = m.GetCookie('mm_t6_close', 1);
	var isGoogleRef = (ref.indexOf('google.')>-1) ? true : false;
	var isSegid = lh.indexOf('segid=0100320')>-1;
	var FT_User = m.GetCookie('FT_User', 1) || '';

	/* 27-08-2014 */
	function non_mobile() {
		var userAgent = navigator.userAgent;
		function contains(where, what) {
			return where.toLowerCase().indexOf(what.toLowerCase()) !== -1;
		}

		/* Nexus*/
		if (contains(userAgent, 'AppleWebKit')) {
			if (screen.width > 1000 || screen.height > 1000) return true;
			else return false;
		}

		/* Android */
		if (contains(userAgent, 'android')) {
			if (!(contains(userAgent, 'mobile')) && (screen.width > 1000 || screen.height > 1000)) return true;
			else return false;
		}

		/* iPhone OS */
		if (contains(userAgent, 'ipad')) return true;
		else if (contains(userAgent, 'iphone') || contains(userAgent, 'ipod')) return false;

		/* RIM OS */
		if (contains(userAgent, 'rim tablet')) return true;
		else if (contains(userAgent, 'rim os') || contains(userAgent, 'blackberry')) return false;

		/* desktop */
		return true;
	}

	if( (isSegid || validReferrer) &&
		!isClosed &&
		!isGoogleRef &&
		!FT_User &&
		typeof m.initCampaignForUser === 'function' &&

		/* 27-08-2014 */
		non_mobile()
		){

			var userType = 'C';
			var campaignName = 'T6';

			m.T6 = {};

			m.T6.generationRules = {
				validReferrer: validReferrer,
				isSegid: isSegid
			};

			m.initCampaignForUser(userType, campaignName);
	}


}(window.mmcore));
}catch(err){mmcore.EH(err);}
try{
/*
	Campaign checker
	15.05.2014
	Edward Shveday
*/

mmcore.AddDocLoadHandler(function(){
	var m = window.mmcore;

	var href = location.href;
	var cutHref = href.replace(/(,Authorised|#).+/, '');
	var viewCounts = m.GetCookie('mm_t7_viewCounts', 1);
	var lastPage = m.GetCookie('mm_t7_lastPage', 1);
	m.SetCookie('mm_t7_lastPage', cutHref, 128, 1);

	viewCounts = viewCounts ? parseInt(viewCounts, 10) : 0;
	if( (viewCounts > 2 && href.indexOf(m.GetCookie('mm_t7_saw3rdAt', 1)) < 0 ) ||
		m.GetCookie('mm_t7_dontShowAgain', 1) ||
		!document.querySelector('meta[content="article"]') ||
		!$('.nav-ftcom').length){
			return;
	}


	if(href.indexOf(lastPage) < 0){
		viewCounts += 1;
	}

	var arr = m.GetCookie('AYSC', 1).split('_');
	var i = arr.length;
	var AYSC = {};
	var sub = '';
	while(i--){
		if(arr[i]){
			sub = arr[i].substr(0, 2);
			AYSC[sub] = arr[i].replace(/(\d+){2}/, '');
		}
	}
	var is54Field = AYSC['53'] && AYSC['53'] === 'Yes';

	if(is54Field && typeof m.initCampaignForUser === 'function'){

		m.SetCookie('mm_t7_viewCounts', viewCounts, 128, 1);
		if (viewCounts === 3) {
			m.SetCookie('mm_t7_saw3rdAt', cutHref, 128, 1);
		}

		var userType = 'C';
		var campaignName = 'T7';

		m.T7 = {
			AYSC: AYSC
		};

		m.initCampaignForUser(userType, campaignName);
	}
});
}catch(err){mmcore.EH(err);}
try{
(function(mmcore){
		var campaign = new mmcore.Campaign('T4B2BThreeMonthFreeTrial', ['T4TrialOver'], 'mt4');
		var renderCampaign = false;
		mmcore.AttachStyle('#popup_cont,#mmLogo {z-index:2000000000!important;}');
		campaign.hideContent('#iaiMain.h1');
		mmcore.waitFor(function(){
			var $ = window.jQuery;

			return $ && $('#iaiMain') && $('#iaiMain').attr('class') && $('#iaiMain').attr('class') !== '';
		}, { isNotStoppedOnDocumentReadiness: true, timeout: 2000}).then(function(){
				if( $('#iaiMain').attr('class').indexOf("H15")  + 1 && mmcore.helpers.getAYSCfield(27) === "LLFHDcnyeAINq" ){
					renderCampaign = true;
					return mmcore.request('t4');
				}

		}).done(function() {
				if(!renderCampaign){
					return;
				}
				campaign.renderMaxyboxes();
		}).always(function() {
				campaign.showContent();
		});
}(window.mmcore));
}catch(err){mmcore.EH(err);}
try{
(function(mmcore){
	mmcore.waitFor(function(){
		var $ = window.jQuery;
		return $ && $('meta[content="article"]').length;
	}).done(function(){
			$(function(){
				if(window.HurdleType === undefined){
					mmcore.SetAction('T4B2BArticles',1);
					mmcore.request();
				}
			});
		});
}(window.mmcore));

}catch(err){mmcore.EH(err);}
try{
;(function(m){
	if(location.href.indexOf('Authorised=false.html')>-1){
		$(document).on('click', '.signupLink', function(){
			m.SetCookie('mm_t11_v3_barrierClicked', '1', 1 ,1);
		})
	} else {
		m.SetCookie('mm_t11_v3_barrierClicked', '', -1 ,1);
	}
}(window.mmcore));
}catch(err){mmcore.EH(err);}
try{
/*
	Campaign checker
	15.05.2014
	Edward Shveday
*/

mmcore.AddDocLoadHandler(function(){
	var m = window.mmcore;

	var href = location.href;
	var cutHref = href.replace(/(,Authorised|#).+/, '');
	var viewCounts = m.GetCookie('mm_t7_viewCounts', 1);
	var lastPage = m.GetCookie('mm_t7_lastPage', 1);
	m.SetCookie('mm_t7_lastPage', cutHref, 128, 1);

	viewCounts = viewCounts ? parseInt(viewCounts, 10) : 0;
	if( (viewCounts > 2 && href.indexOf(m.GetCookie('mm_t7_saw3rdAt', 1)) < 0 ) ||
		m.GetCookie('mm_t7_dontShowAgain', 1) ||
		!document.querySelector('meta[content="article"]') ||
		!$('.nav-ftcom').length){
			return;
	}


	if(href.indexOf(lastPage) < 0){
		viewCounts += 1;
	}

	var arr = m.GetCookie('AYSC', 1).split('_');
	var i = arr.length;
	var AYSC = {};
	var sub = '';
	while(i--){
		if(arr[i]){
			sub = arr[i].substr(0, 2);
			AYSC[sub] = arr[i].replace(/(\d+){2}/, '');
		}
	}
	var is54Field = AYSC['53'] && AYSC['53'] === 'Yes';

	if(is54Field && typeof m.initCampaignForUser === 'function'){

		m.SetCookie('mm_t7_viewCounts', viewCounts, 128, 1);
		if (viewCounts === 3) {
			m.SetCookie('mm_t7_saw3rdAt', cutHref, 128, 1);
		}

		var userType = 'C';
		var campaignName = 'T7';

		m.T7 = {
			AYSC: AYSC
		};

		m.initCampaignForUser(userType, campaignName);
	}
});
}catch(err){mmcore.EH(err);}
try{
/* Campaign rendering */

(function ( m, $ ) {
	if ( !$ || !$.fn || m.GetCookie( 'mm_T9WasRender', 1 ) ) { return; }

	m.T8 = mmcore.initCampaign( {
		name: 'T8MyActRedir',
		pageID: 'T8',
		afterCGRequest: function () {
			m.SetCookie( 'mm_T8WasRender', 1, 365 * 2, 1 );
			if ( m.GenInfo.T8MyActRedir.a_myactdis === 'Default' ) {
				location.assign( 'http://registration.ft.com/registration/selfcare/' );
			}
		}
	} );

	$( function () {
		$( '#ftLogin-yourAccount' ).click( function ( e ) {
			var isGo = (function () {
				var r = true;

				$.each( mmcore.GetCookie( 'AYSC', 1 ).split( '_' ), function ( idx, val ) {
					if ( !/^22.*/.test( val ) ) { return; }
					if ( /P1|P2|P3/.test( val ) ) { r = false; }
					return false;
				} );

				return r;
			}());

			if ( isGo ) {
				m.T8.isYourAccountClicked = true;
				m.T8.render();
				e.preventDefault();

				setTimeout( function () {
					location.assign( 'http://registration.ft.com/registration/selfcare/' );
				}, 3000 );
			}
		} );
	} );

	if ( location.href.indexOf( '//registration.ft.com/youraccount/subscriptions' ) + 1 ) {
		(function () {
			var isGo = (function () {
				var r = true;

				$.each( mmcore.GetCookie( 'AYSC', 1 ).split( '_' ), function ( idx, val ) {
					if ( !/^22.*/.test( val ) ) { return; }
					if ( /P1|P2|P3/.test( val ) ) { r = false; }
					return false;
				} );

				return r;
			}());

			if ( m.GetCookie( 'mm_T8WasRender', 1 ) && isGo ) {
				m._async = false;
				m.SetPageID( 'T8' );
				m.CGRequest();
			}
		}());
	}


}( window.mmcore, window.jQuery ));

}catch(err){mmcore.EH(err);}
try{
(function (global, mmcore, helpers, undefined) {
    'use strict';

    helpers.preload();
    helpers.hide();
    helpers.wait({
        freq: 100,
        reset: 7 * 1000,
        check: helpers.check,
        success: helpers.generate,
        fail: helpers.show
    });
})(window, window.mmcore, window.mmcore.T5);
}catch(err){mmcore.EH(err);}
try{
(function (global, mmcore, helpers, undefined) {
    'use strict';
    
    helpers.wait({
        freq: 100,
        check: function () {
            return helpers.$ && document.getElementById('footer');
        }, 
        success: function () {
            var loginCookie,
                $loggedIn,
                $link;

            loginCookie = mmcore.GetCookie('mm_T3B2BLogin', true);
            $loggedIn = helpers.$('.ftLogin-loggedIn');
            $link = $loggedIn.find('a');
            if (loginCookie && $loggedIn.filter(':visible').length && $link.text()) {
                helpers.trackAsyncAction({
                    name: 'T3B2BLogin',
                    then: function () {
                        mmcore.SetCookie('mm_T3B2BLogin', '', -1, true);
                    }
                });
            }
        }
    });
})(window, window.mmcore, window.mmcore.T3B2B);
}catch(err){mmcore.EH(err);}
try{
/* jshint ignore:start */
/* Version 0.3.1, get uncompressed https://github.com/tytskiy/Helpers.js */
!function(a){"use strict";var b,c=window,d=window.mmcore;b=function(a){if(!a)throw"Please set campaign prefix";this.prefix=a.toLowerCase(),this.props={}},b.prototype.version="0.3.0",b.prototype.extend=function(){return b.extend.apply(arguments)},b.extend=function(a,b){var c,d;c={}.hasOwnProperty;for(var e in b)c.call(b,e)&&(a[e]=b[e]);return d=function(){this.constructor=a},d.prototype=b.prototype,a.prototype=new d,a.__super__=b.prototype,a},b.prototype.setCssNamespace=function(){this.$("body").addClass("mm-"+this.prefix)},b.prototype.delegate=function(a){var b;return b=this,function(c,d){if(!a||!c||!d)throw""+b.prefix+" delegate: invalid arguments";return b.$.fn.on?(b.$(document).on(c,a,d),!0):b.$.fn.live?(b.$(a).live(c,d),!0):!1}},b.prototype.undelegate=function(a){var b;return b=this,function(c,d){if(!c)throw""+b.prefix+" undelegate: invalid arguments";return b.$.fn.off?(b.$(document).off(c,a,d),!0):b.$.fn.die?(b.$(a).die(c,d),!0):!1}},b.prototype.smartbind=function(a){var b,c;return b=this,c=this.$(a),c.length?function(a,d,e,f){return d?c.bind(a,b.debounce(d,e,f)):c.trigger(a),!0}:!1},b.prototype.makeDispatcher=function(){var a;a=this.$({}),a.subscribe=function(){return a.on?a.on.apply(a,arguments):a.bind.apply(a,arguments)},a.unsubscribe=function(){return a.off?a.off.apply(a,arguments):a.unbind.apply(a,arguments)},a.publish=function(){return a.trigger.apply(a,arguments)},this.dispatcher=a},b.prototype.detectFirefox=function(){var a;return a=navigator.userAgent,a&&a.toLowerCase().indexOf("firefox")>-1?!0:!1},b.prototype.fixFirefoxHistory=function(){var a,b;b=this.isFirefox===!1?!1:this.isFirefox=this.detectFirefox(),this.isFirefox&&(a=location.hash,a=a.length?""+a+"-mm":"mm",location.hash=a)},b.prototype.redirect=function(a){a&&(this.fixFirefoxHistory(),location.assign?location.assign(a):location=a)},b.prototype.request=function(a,b){var c,e;c=!1,e=a&&"function"==typeof a?!0:!1,d.CGRequest(function(){c=!0,e&&a()}),e&&setTimeout(function(){c||a()},b||6e3)},b.prototype.trackAsyncAction=function(a){d._async=!0,d.SetPageID("events"),d.SetAction(a.name,a.val||1,a.attr||""),this.request(a.then||function(){},a.time||null)},b.prototype.wait=function(a){var b,d,e,f,g,h,i,j,k,l,m;if(b=this,l={},j=function(){clearTimeout(l.timer),clearTimeout(l.resetTimer)},d=a.check||null,g=a.frequency||a.freq||0,i=a.reset||null,e=a.context||c||window.top,k="function"==typeof a.success?function(){j(),a.success.call(b),"function"==typeof a.always&&a.always.call(b)}:function(){j(),"function"==typeof a.always&&a.always.call(b)},f="function"==typeof a.fail?function(){j(),a.fail.call(b),"function"==typeof a.always&&a.always.call(b)}:function(){j(),"function"==typeof a.always&&a.always.call(b)},h="function"==typeof i?!0:!1,h||(i=parseInt(i,10),i=i>-1?i:null),!d)if(a.id)d=function(){return e.document.getElementById(a.id)};else{if(!a.selector)throw"wait(): no condition specified";d=function(){return e.document.querySelector(a.selector)}}d.call(b)?k():h&&i.call(b)?f():(m=function(a){l.timer=setTimeout(function(){d.call(b)?k():h&&i.call(b)?f():m(a)},g)},i&&!h&&(l.resetTimer=setTimeout(function(){return f()},i)),m(a))},b.prototype.injectStyle=function(a){var b;return b=document.createElement("style"),b.type="text/css",b.styleSheet?b.styleSheet.cssText=a:b.appendChild(document.createTextNode(a)),document.getElementsByTagName("head")[0].appendChild(b),b},b.prototype.replaceImg=function(a,b,c){var d=a,e=b.cloneNode(!1);e.src=d,b.parentNode.replaceChild(e,b),c&&"function"==typeof c&&c(e)},b.prototype.debounce=function(a,b,c){var d;return d=null,function(){var e,f,g;if(e=1<=arguments.length?[].slice.call(arguments,0):[],f=function(){a.apply(g,e)},g=this,d)clearTimeout(d);else if(c)return void a.apply(g,e);d=setTimeout(f,b||200)}},b.prototype.stripScripts=function(a){return a.replace(/<script.*?>(.|\n)*?<\/script>/gim,"")},b.prototype.time=function(){var a;return a=function(a){return function(b){return Math.round(b*a)}},{seconds:a(1e3),minutes:a(6e4),hours:a(36e5),days:a(864e5),weeks:a(6048e5),months:a(26298e5),years:a(315576e5)}}(),d[a]=b}("T9");
/* jshint ignore:end */

(function (global, mmcore, prefix, undefined) {
	'use strict';

	var Helpers;
	var Campaign;
	var campaign;
	var globalHelpers;
	var stop;

	stop = false;
	mmcore.AddDocLoadHandler(function () {
		setTimeout(function () {
			stop = true;
		}, 2 * 1000);
	});

	Helpers = mmcore[prefix];
	globalHelpers = mmcore.helpers;

	Campaign = function () {
		Campaign.__super__.constructor.apply(this, arguments);
		this.props.EMAIL_PARAM = /EMAIL=(.*?)(:|$)/;
	};

	Helpers.extend(Campaign, Helpers);

	/**
	 * Initialize the main campaign checker
	 */
	Campaign.prototype.initMain = function () {
		var that;

		that = this;
		this.hideMy();
		this.hideOriginBarrierMain();
		this.wait({
			freq: 100,
			reset: function () {
				if ((mmcore._docEnd && stop) ||
					this.checkIsUserAfter10September2014() ||
					this.props.stop) {
					return true;
				}
				return false;
			},
			check: this.checkMain,
			success: this.generateMain,
			fail: function () {
				if (!that.props.stop) {
					if (typeof window.presentData === 'function') {
						if (jQuery('[id="iai-headline"]').find('span').length) {
							injectHeadline = function () {};
						}
						window.presentData();
					}
				}
				that.showTopLinks2();
				that.unhideContentMain();
				that.showOriginBarrierMain();
			}
		});
	};

	/**
	 * Initialize the helper campaign checker
	 * All checker subfunctions is written inline
	 * Handle just 1 case
	 * When user was subscibed to trial
	 *     and trial is expired
	 *     and user is logged in
	 */
	Campaign.prototype.initHelper = function () {
		var that;

		that = this;
		this.hideMy();
		this.hideOriginBarrierHelper();
		this.wait({
			freq: 100,
			reset: function () {
				if (stop ||
					this.props.stop) {
					return true;
				}
				return false;
			},
			check: function () {
				if (!mmcore.helpers.getAYSCfield(54) ||
					mmcore.helpers.getAYSCfield(22).match('P1') ||
					this.checkUserInTest8() ||
					this.checkIsSubscribedAfterTrial()) {
					return false;
				}
				if (document.getElementsByTagName('body') &&
					!this.checkLoggedOut() &&
					this.checkIsArticlePage() &&
					this.checkTrialDate() &&
					this.checkTrialExpired() &&
					mmcore.GetCookie('mm_t9_free_trial', true) &&
					(window.HurdleType && window.HurdleType === 'h2' || !window.HurdleType)) {
					return true;
				}
				return false;
			},
			success: function () {
				var type;
				var name;
				var cssSelectorToHide;

				this.props.stop = true;
				type = 'C';
				name = 'T9Helper';
				cssSelectorToHide = '#DRMUpsell';
				setTimeout(function() {
					that.showOriginBarrierHelper();
					that.unhideContentHelper();
				}, 0);
				mmcore.initCampaignForUser(type, name, cssSelectorToHide);
			},
			fail: function () {
				that.showOriginBarrierHelper();
				that.unhideContentHelper();
			}
		});
	};

	Campaign.prototype.checkMain = function () {
		if (this.checkIsUserAfter10September2014() ||
		    this.checkUserInTest8() ||
			this.checkIsSubscribedAfterTrial() ||
			this.checkAYSCinvalid() ||
			window.location.href.indexOf('//registration.ft.com') > -1) {
			return false;
		}
		if (document.getElementsByTagName('body') &&
			window.HurdleType === 'h1' &&
			this.checkNotRegisteredFromTest()/* &&
			window.hideNewspaperFields*/) {
			this.props.isMainCampaign = true;
			return true;
		}
		return false;
	};

	Campaign.prototype.checkLoggedOut = function () {
		if (this.props.FT_Remember === undefined) {
			this.props.FT_Remember = mmcore.GetCookie('FT_Remember', true);
		}
		if (this.props.FT_User === undefined) {
			this.props.FT_User = mmcore.GetCookie('FT_User', true);
		}
		if ((this.props.FT_Remember.match(this.props.EMAIL_PARAM) || [null, null])[1] ||
			(this.props.FT_User.match(this.props.EMAIL_PARAM) || [null, null])[1]) {
			return false;
		}
		return true;
	};

	Campaign.prototype.checkNotRegisteredFromTest = function () {
		if (mmcore.T9.checkLoggedOut() && !this.checkTrialDate()) {
			return true;
		}
		return false;
	};

	Campaign.prototype.checkNonRegesignCookie = function () {
		if (mmcore.GetCookie('mm_t9_free_trial', true) ||
			mmcore.GetCookie('mm_t9_one_pound', true)) {
			return true;
		}
		return false;
	};

	Campaign.prototype.checkBarrier = function () {
		return document.querySelector('#iaiMain.h1');
	};

	Campaign.prototype.checkHurdletype = function () {
		if (global.HurdleType) {
			return global.HurdleType === 'h1';
		}
		return false;
	};

	Campaign.prototype.checkTrialDate = function () {
		return !!(globalHelpers.getAYSCfield(54) || mmcore.GetCookie('mm_t9_reg_date', true));
	};

	Campaign.prototype.checkTrialExpired = function () {
		return this.getDaysRemains() < 1;
	};

	Campaign.prototype.checkHeadingInserted = function () {
		var getTitle = function () {
			if (jQuery('div.fullstoryHeader h1')) {
				return jQuery('div.fullstoryHeader h1').text();
			} else {
				if (this.$('.primary-content').find('.entry-title')) {
					return this.$('.primary-content').find('.entry-title').text();
				}
			}
			return false;
		};
		return this.$.trim(getTitle()) === this.$.trim(this.$('#iai-headline span').text());
	};

	Campaign.prototype.checkAYSCinvalid = function () {
		var cookie;

		cookie = mmcore.GetCookie('AYSC', true);
		if (!cookie || cookie === '""') {
			return true;
		}
		return false;
	};

	Campaign.prototype.checkIsArticlePage = function () {
		var $author;

		/** exclude some domains */
		if (location.href.match(/https*:\/\/video\.ft\.com/) ||
			location.href.match(/https*:\/\/markets\.ft\.com/) ||
			location.href.match(/https*:\/\/blogs\.ft\.com/)) {
			return false;
		}
		/** exclude authour's blog posts */
		$author = this.$('.primary-content .entry-guest-author:eq(0)');
		if ($author.length && !$author.children('a').length || this.$('.page-title').text().indexOf('The A-list') > -1) {
			return false;
		}
		return !!document.querySelector('meta[property="og:type"][content="article"]');
	};

	Campaign.prototype.updateLeading = function () {
		var $heading;
		var title;
		var getTitle;

		getTitle = function () {
			if (jQuery('div.fullstoryHeader h1')) {
				return jQuery('div.fullstoryHeader h1').text();
			} else {
				if (this.$('.primary-content').find('.entry-title')) {
					return this.$('.primary-content').find('.entry-title').text();
				}
			}
			return false;
		};
		title = getTitle();
		if (title) {
			jQuery('.mm-t9-barrier__article-title').text(title);
		}
	};

	Campaign.prototype.generateMain = function () {
		var that;
		var type;
		var name;
		var cssSelectorToHide;

		this.props.stop = true;
		this.props.isAllowBarrierAction = true;
		that = this;
		type = 'C';
		name = 'T9';
		cssSelectorToHide = '#DRMUpsell';
		setTimeout(function () {
			that.showOriginBarrierMain();
			that.unhideContentMain();
		}, 0);
		mmcore.initCampaignForUser(type, name, cssSelectorToHide);
	};

	Campaign.prototype.showPriceByType = function(type) {
		if (type === "annually") {
			jQuery("#mm_t9_monthly_price_sub").addClass("hide");
			jQuery("#mm_t9_monthly_price_prem_row").addClass("hide");
			jQuery("#mm_t9_monthly_price_news_prem_row").addClass("hide");
			jQuery("#mm_t9_yearly_price_sub").removeClass("hide");
			jQuery("#mm_t9_yearly_price_prem_row").removeClass("hide");
			jQuery("#mm_t9_yearly_price_news_prem_row").removeClass("hide");
		} else {
			jQuery("#mm_t9_monthly_price_sub").removeClass("hide");
			jQuery("#mm_t9_monthly_price_prem_row").removeClass("hide");
			jQuery("#mm_t9_monthly_price_news_prem_row").removeClass("hide");
			jQuery("#mm_t9_yearly_price_sub").addClass("hide");
			jQuery("#mm_t9_yearly_price_prem_row").addClass("hide");
			jQuery("#mm_t9_yearly_price_news_prem_row").addClass("hide");
		}
	};

	Campaign.prototype.hideT4 = function () {
		var id;
		var style;

		id = 'mm-' + this.prefix + '-t4-hider-main';
		style = document.getElementById(id);
		if (!style) {
			style = this.injectStyle([
				'#optimostOverlay {',
				'    display: none !important;',
				'}'
			].join('\n'));
			style.id = id;
		}
	};

	Campaign.prototype.hideContentMain = function () {
		var id;
		var style;

		id = 'mm-' + this.prefix + '-content-hider-main';
		style = document.getElementById(id);
		if (!style) {
			style = this.injectStyle([
				'.fullstory.fullstoryBody, .master-row.railSection, .entry-content, #ft-article-comments {',
				'    position: relative !important;',
				'    left: -999999999px !important;',
				'}',
				'#opOverlay {',
				'    display: none !important;',
				'}'
			].join('\n'));
			style.id = id;
		}
	};

	Campaign.prototype.unhideContentMain = function () {
		// var style;

		// style = document.getElementById('mm-' + this.prefix + '-content-hider-main');
		// if (style) {
		//     style.parentNode.removeChild(style);
		// }
	};

	Campaign.prototype.hideContentHelper = function () {
		var id;
		var style;

		id = 'mm-' + this.prefix + '-content-hider-helper';
		style = document.getElementById(id);
		if (!style) {
			style = this.injectStyle([
				'.fullstory.fullstoryBody, .master-row.railSection, .entry-content, #ft-article-comments {',
				'    display: none !important;',
				'}'
			].join('\n'));
			style.id = id;
		}
	};

	Campaign.prototype.unhideContentHelper = function () {
		// var style;

		// style = document.getElementById('mm-' + this.prefix + '-content-hider-helper');
		// if (style) {
		//     style.parentNode.removeChild(style);
		// }
	};

	Campaign.prototype.hideOriginBarrierMain = function () {
		var id;
		var style;

		id = 'mm-' + this.prefix + '-origin-barrier-main-hider';
		style = document.getElementById(id);
		if (!style) {
			style = this.injectStyle([
				'#DRMUpsell {',
				'    position: relative !important;',
				'    left: -99999999px !important;',
				'}',
				'#opOverlay {',
				'    display: none !important;',
				'}'
			].join('\n'));
			style.id = id;
		}
	};

	Campaign.prototype.showOriginBarrierMain = function () {
		var style;

		style = document.getElementById('mm-' + this.prefix + '-origin-barrier-main-hider');
		if (style) {
			style.parentNode.removeChild(style);
		}
	};

	Campaign.prototype.hideOriginBarrierHelper = function () {
		var id;
		var style;

		id = 'mm-' + this.prefix + '-origin-barrierh-helper-hider';
		style = document.getElementById(id);
		if (!style) {
			style = this.injectStyle([
				'#DRMUpsell {',
				'    position: relative !important;',
				'    left: -99999999px !important;',
				'}'
			].join('\n'));
			style.id = id;
		}
	};

	Campaign.prototype.showOriginBarrierHelper = function () {
		var style;

		style = document.getElementById('mm-' + this.prefix + '-origin-barrierh-helper-hider');
		if (style) {
			style.parentNode.removeChild(style);
		}
	};

	Campaign.prototype.hideMy = function () {
		var id;
		var style;

		id = 'mm-' + this.prefix + '-my-hider';
		style = document.getElementById(id);
		if (!style) {
			style = this.injectStyle([
				'.mm-t9-barrier {',
				'    left: -99999999px;',
				'}'
			].join('\n'));
			style.id = id;
		}
	};

	Campaign.prototype.showMy = function () {
		var style;

		style = document.getElementById('mm-' + this.prefix + '-my-hider');
		if (style) {
			style.parentNode.removeChild(style);
		}
	};

	Campaign.prototype.hideRegisterLink = function () {
		var id;
		var style;

		id = 'mm-' + this.prefix + '-register-link-hider';
		style = document.getElementById(id);
		if (!style) {
			style = this.injectStyle([
				'.ftLogin-loggedOut > a:nth-child(2), #opOLMiddle {',
				'    display: none;',
				'}'
			].join('\n'));
			style.id = id;
		}
	};

	Campaign.prototype.showRegisterLink = function () {
		var style;

		style = document.getElementById('mm-' + this.prefix + '-register-link-hider');
		if (style) {
			style.parentNode.removeChild(style);
		}
	};

	Campaign.prototype.hideTopLinks = function () {
		var style;

		style = this.injectStyle([
			'.ftLogin-loggedOut {',
			'    position: relative;',
			'    left: -9999999px;',
			'}'
		].join('\n'));
		style.id = 'mm-' + this.prefix + '-toplinks-hider';
	};

	Campaign.prototype.hideTopLinks2 = function () {
		var style;

		style = this.injectStyle([
			'.ftLogin-loggedOut {',
			'    position: relative;',
			'    left: -9999999px;',
			'}'
		].join('\n'));
		style.id = 'mm-' + this.prefix + '-toplinks-2-hider';
	};

	Campaign.prototype.showTopLinks2 = function () {
		var style;

		style = document.getElementById('mm-' + this.prefix + '-toplinks-2-hider');
		if (style) {
			style.parentNode.removeChild(style);
		}
	};

	Campaign.prototype.showTopLinks = function () {
		var style;

		style = document.getElementById('mm-' + this.prefix + '-toplinks-hider');
		if (style) {
			style.parentNode.removeChild(style);
		}
	};

	Campaign.prototype.preload = function () {
		(new Image()).src = '//service.maxymiser.net/cm/images-eu/1/1/1/91FBC525115DC1C37C1A04F870E8D41FCBF86DBB0629D5616AC71EC37EFAF922/ft-com/T9TrialsVsRegistrati/mm-t9-sprite.png';
		(new Image()).src = '//service.maxymiser.net/cm/images-eu/1/1/1/32696B3239E02E4DDB143CC1F115740EA2AFD0F70BA4C29C4EB6C962A14B56AB/ft-com/T9TrialsVsRegistrati/mm-t9-grey-check.png';
		(new Image()).src = '//service.maxymiser.net/cm/images-eu/1/1/1/B199F17558269A4CFD80BF33EEC77F63C7BC7880E9C0674AB10D42835CDDF7D5/ft-com/T9TrialsVsRegistrati/mm-t9-bubble.png';
	};

	Campaign.prototype.getDaysRemains = function () {
		var format;
		var field54;
		var date;
		var diff;

		format = 'YYYYMMDD';
		field54 = globalHelpers.getAYSCfield(54);
		if (!field54) {
			field54 = mmcore.GetCookie('mm_t9_reg_date', true);
			format = null;
		}
		if (!field54) {
			return false;
		}
		date = this.parseDateInCustomFormat(field54, format);
		if (!date) {
			return false;
		}
		/** actually plus 30 days, but 1 per remaining during today */
		date = date.setDate(date.getDate() + 31);
		date = new Date(date);
		diff = this.compareDatesInDays(date);
		if (diff === false || diff === null) {
			return false;
		}
		return diff;
	};

	Campaign.prototype.printDaysRemains = function () {
		/* jshint ignore:start */
		if (window.console && typeof window.console['log'] === 'function') {
			window.console['log'](this.getDaysRemains());
		}
		/* jshint ignore:end */
	};

	Campaign.prototype.updatePrice = function () {
		var mn;
		var mp;
		var ms;
		var yn;
		var yp;
		var ys;
		var $mn;
		var $mp;
		var $ms;
		var $yn;
		var $yp;
		var $ys;
		var $mno;
		var $mpo;
		var $mso;
		var $yno;
		var $ypo;
		var $yso;
		var $matrix;

		$matrix = this.$('[id="matrix"]');
		$matrix.find('.bundle').show();
		$matrix.find('.p-bundle').show();

		$mn = jQuery('#mm_t9_monthly_price_news_prem');
		$mno = jQuery('#monthly_price_news_prem');
		$mp = jQuery('#mm_t9_monthly_price_prem');
		$mpo = jQuery('#monthly_price_prem');
		$ms = jQuery('#mm_t9_monthly_price_sub');
		$mso = jQuery('#monthly_price_sub');
		$yn = jQuery('#mm_t9_yearly_price_news_prem');
		$yno = jQuery('#yearly_price_news_prem');
		$yp = jQuery('#mm_t9_yearly_price_prem');
		$ypo = jQuery('#yearly_price_prem');
		$ys = jQuery('#mm_t9_yearly_price_sub');
		$yso = jQuery('#yearly_price_sub');
		// try {
			mn = mmcore.helpers.getPrice('m', 'newspaper');
			mp = mmcore.helpers.getPrice('m', 'premium');
			ms = mmcore.helpers.getPrice('m', 'standard');
			yn = mmcore.helpers.getPrice('a', 'newspaper');
			yp = mmcore.helpers.getPrice('a', 'premium');
			ys = mmcore.helpers.getPrice('a', 'standard');
		// } catch (err) {}
		/* jshint ignore:start */
		if (mn === 'N/A') {
			$matrix.find('.bundle').hide();
			$matrix.find('.p-bundle').hide();
			$matrix.addClass('three');
		} else {
			mn && $mn.html(mn);
			mn && $mno.html(mn);
			$matrix.find('.bundle').show();
			$matrix.find('.p-bundle').show();
		}
		mp && $mp.html(mp);
		mp && $mpo.html(mp);
		ms && $ms.html(ms);
		ms && $mso.html(ms);
		if (yn === 'N/A') {
			$matrix.find('.bundle').hide();
			$matrix.find('.p-bundle').hide();
			$matrix.addClass('three');
		} else {
			yn && $yn.html(yn + ' per week');
			yn && $yno.html(yn + ' per week');
			$matrix.find('.bundle').show();
			$matrix.find('.p-bundle').show();
		}
		yp && $yp.html(yp + ' per week');
		yp && $ypo.html(yp + ' per week');
		ys && $ys.html(ys + ' per week');
		ys && $yso.html(ys + ' per week');
		/* jshint ignore:end */
	};

	Campaign.prototype.redirect = function (url) {
		if (url) {
			global.location.hash = '';
			this.fixFirefoxHistory();
			if (location.assign) {
				location.assign(url);
			} else {
				/* jshint ignore:start */
				location = url;
				/* jshint ignore:end */
			}
		}
	};

	Campaign.prototype.fixEmailSubmission = function (url) {
		this.delegate('.mm-t9-barrier table[id="matrix"]')('mousedown', function (event) {
			if (event.which === 1) {
				if (jQuery("#mm-t9-field-barEmail").val() != "") {
					var d = jQuery("#mm-t9-field-barEmail").val();
					createCookie("barrierEmail", d, 1);
				}
			}
		});
	};

	Campaign.prototype.checkUserInTest8 = function () {
		return !!mmcore.GetCookie('mm_T8WasRender', true);
	};

	Campaign.prototype.getTodayInSimpleFormat = function () {
		var today;
		var day;
		var month;
		var year;
		var date;

		today = new Date();
		day = today.getDate();
		if (String(day).length < 2) {
			day = '0' + day;
		}
		month = today.getMonth() + 1;
		if (String(month).length < 2) {
			month = '0' + month;
		}
		year = today.getFullYear();
		date = '' + day + month + year;

		return date;
	};

	Campaign.prototype.checkIsSubscribedAfterTrial = function () {
		if (this.props.isSubscribedAfterTrial === undefined) {
			if (mmcore.GetCookie('mm_t9_subscribed_after_free_trial', true) ||
				mmcore.GetCookie('mm_t9_subscribed_after_one_pound', true)) {
				this.props.isSubscribedAfterTrial = true;
			} else {
				this.props.isSubscribedAfterTrial = false;
			}
		}
		return this.props.isSubscribedAfterTrial;
	};

	/**
	 * @param {String} input    Date in custom format like `13062014`
	 * @param {String} [format] Custom format like `DDMMYYYY`
	 * @returns {Date|False}
	 * Note: format inspired by Moment.js library
	 * See http://momentjs.com/docs/#/parsing/string-format/
	 */
	Campaign.prototype.parseDateInCustomFormat = function (input, format) {
		var i;
		var day;
		var month;
		var year;
		var date;

		date = false;
		if (!input || Object.prototype.toString.call(input).indexOf('String') < 0) {
			return false;
		}
		i = input;
		if (!format || format === 'DDMMYYYY') {
			day = i[0] + i[1];
			day = parseInt(day, 10);
			month = i[2] + i[3];
			month = parseInt(month, 10);
			month -= 1;
			year = i[4] + i[5] + i[6] + i[7];
			year = parseInt(year, 10);
			try {
				date = new Date(year, month, day);
			} catch (err) {
				date = false;
			}
		} else if (format === 'YYYYMMDD') {
			year = i[0] + i[1] + i[2] + i[3];
			year = parseInt(year, 10);
			month = i[4] + i[5];
			month = parseInt(month, 10);
			month -= 1;
			day = i[6] + i[7];
			day = parseInt(day, 10);
			try {
				date = new Date(year, month, day);
			} catch (err) {
				date = false;
			}
		} else if (window.console && typeof window.console.error === 'function') {
			window.console.error('Please implement date format specified `' + format + '`');
			return false;
		}
		return date;
	};

	/**
	 * Get difference between two dates
	 * @param {Date} future
	 * @param {Date} [date] Date or today
	 * @returns {Number}    Positive or negative difference in days
	 *
	 * Usage example:
	 * var field47 = mmcore.helpers.getAYSCfield(47);
	 * var date = campaign.parseDateInCustomFormat(field47);
	 * campaign.compareDatesInDays(date, new Date());
	 */
	Campaign.prototype.compareDatesInDays = function (future, date) {
		var day;
		var days;

		if (!future && !(future instanceof Date)) {
			return false;
		}
		if (!date && !(date instanceof Date)) {
			date = new Date();
		}
		future = future.setHours(0, 0, 0, 0);
		date = date.setHours(0, 0, 0, 0);
		day = 24 * 60 * 60 * 1000;
		days = (future - date) / day;
		return days;
	};

	Campaign.prototype.checkIsUserAfter10September2014 = function () {
		var dates = {
		    '10.09.2014': new Date(2014, 8, 10)
		}
		var today = new Date(new Date().setHours(0, 0, 0, 0));

		if (!mmcore.GetCookie('mm_T9WasRender', true) &&
		    this.compareDatesInDays(dates['10.09.2014'], today) < 1) {
			return true;
		}
		return false;
	};
	/* Campaign end */

	campaign = mmcore[prefix] = new Campaign(prefix);
	campaign.preload();
	campaign.hideTopLinks();
	campaign.hideTopLinks2();
})(window, window.mmcore, 'T9');

}catch(err){mmcore.EH(err);}
try{
(function (global, undefined) {
	'use strict';

	var mmcore;
	var campaign;
	var $;
	var Handler;
	var handler;

	mmcore = global.mmcore;
	campaign = mmcore.T9;
	$ = campaign.$;
	if (!campaign) {
		return;
	}

	Handler = function () {
		var that = this;
		/**
		 * Refactor client function to show correct number in table
		 */
		var old = window.hideNewspaperFields;
		window.hideNewspaperFields = function () {
			old();
			if (mmcore.T9) {
				mmcore.T9.updatePrice();
			}
		};
		this.hideSelf();
		this.props = {};
		campaign.setCssNamespace();
		this.props.loginFormHTML = [
			'<div class="mm-t9-barrier__hidden-login">',
			'    <div class="mm-t9-barrier__login-invitation">',
			'        Already registered? <a class="mm-t9-barrier__hidden-login-toggle" href=',
			'        "https:\/\/registration.ft.com\/registration\/barrier">Sign in<\/a>',
			'    <\/div>',
			'',
			'    <form action="https:\/\/registration.ft.com\/registration\/barrier\/login" class="mm-t9-barrier__login-form" id=',
			'    "mm-t9-barrier__login-form" method="post" name="loginForm" target="_top">',
			'        <div id="mm-t9-barrier__login-form__innert">',
			'            <input name="location" type="hidden" value=',
			'            "http%3A%2F%2Fwww.ft.com%2F"> <input name=',
			'            "referer" type="hidden" value=""> <input name="cpgid" type="hidden" value=""> <input name="segid" type="hidden" value=',
			'            "70000"> <label class="ieLabel" for="username">Email address<\/label> <input class="text" id="username" name="username"',
			'            type="text"> <label class="ieLabel" for="password">Password<\/label> <input checked="checked" class="text" id="password"',
			'            name="password" type="password">',
			'',
			'            <fieldset>',
			'                <div class="mm-t9-barrier__login-form__remember">',
			'                    <input checked="checked" class="checkbox" id="rememberme" name="rememberme" type="checkbox"> <label for=',
			'                    "rememberme">Remember me<\/label>',
			'                <\/div>',
			'            <\/fieldset><button type="submit">Sign in<\/button> <a class="mm-t9-barrier__login__forgot" href=',
			'            "https:\/\/registration.ft.com\/youraccount\/forgotten-password">Forgot password?<\/a>',
			'',
			'            <div class="mm-t9-barrier__or">',
			'                or',
			'            <\/div>',
			'',
			'            <div class="mm-t9-barrier__social-login">',
			'                <a href="javascript:void(0);" id="mmT9loginTwitterButton" style=',
			'                "cursor: pointer; color: #ffffff; background: #77c4e0 url(\'https:\/\/registration.ft.com\/social\/assets\/images\/logo-twitter.png\') no-repeat 10px; -moz-border-radius: 3px; border-radius: 3px; display: block; width: 229px; height: 36px; line-height: 36px; font-size: 14px; text-align: left; text-indent: 50px; margin: auto; margin-top: 1em;"',
			'                title="Twitter">Sign in with Twitter<\/a>',
			'            <\/div>',
			'        <\/div>',
			'    <\/form>',
			'<\/div>'
		].join('\n');
		this.props.loginFormCss = [
			'.mm-t9 .mm-t9-barrier__hidden-login {',
			'    position: absolute;',
			'    top: 55px;',
			'    right: 38px;',
			'    font-size: 14px;',
			'    z-index: 50;',
			'}',
			'',
			'.mm-t9 .mm-t9-barrier__login-invitation {',
			'    text-align: right;',
			'}',
			'',
			'.mm-t9 .mm-t9-barrier__hidden-login-toggle:after {',
			'    content: " \\25BC";',
			'}',
			'',
			'.mm-t9 .mm-t9-barrier__hidden-login_open .mm-t9-barrier__hidden-login-toggle:after {',
			'    content: " \\25B2";',
			'}',
			'',
			'.mm-t9 .mm-t9-barrier__login-form {',
			'    display: none;',
			'    padding: 0 18px;',
			'    width: 242px;',
			'    border-left: solid 1px #dfded8;',
			'    margin: 0 0 30px 0;',
			'    float: right;',
			'    background-color: #fff;',
			'    height: auto;',
			'    border: solid 1px #dfded8;',
			'    padding-top: 14px;',
			'    padding-bottom: 14px;',
			'    margin-top: 11px;',
			'}',
			'',
			'.mm-t9 .mm-t9-barrier__login-form__remember {',
			'    line-height: 30px;',
			'}',
			'',
			'.mm-t9 .mm-t9-barrier__hidden-login_open .mm-t9-barrier__login-form {',
			'    display: block;',
			'}',
			'',
			'.mm-t9 .mm-t9-barrier__login-form .ieLabel {',
			'    display: block;',
			'    font-size: 16px;',
			'    color: #696969;',
			'    margin: 0;',
			'    line-height: 30px;',
			'}',
			'',
			'.mm-t9 .mm-t9-barrier__login-form input.text {',
			'    width: 231px;',
			'    height: 27px;',
			'    line-height: 27px;',
			'    margin: 7px 0 22px;',
			'    padding: 3px;',
			'    border: solid 1px #a7a59b;',
			'    font-size: 16px;',
			'}',
			'.mm-t9 .mm-t9-barrier__login-form #password {',
			'    margin-bottom: 4px;',
			'}',
			'',
			'.mm-t9 .mm-t9-barrier__login-form fieldset {',
			'    border: 0;',
			'    padding: 0;',
			'    clear: both;',
			'    margin: 10px 0;',
			'    float: left;',
			'}',
			'',
			'.mm-t9 .mm-t9-barrier__login-form input.checkbox {',
			'    margin: 0 14px 0 0;',
			'    padding: 0;',
			'}',
			'',
			'.mm-t9 .mm-t9-barrier__login-form button {',
			'    position: relative !important;',
			'    display: inline-block !important;',
			'    height: 30px !important;',
			'    width: auto !important;',
			'    margin: 0 5px !important;',
			'    padding: 0 .7em !important;',
			'    border-width: 0 !important;',
			'    -webkit-border-radius: .3em !important;',
			'    -moz-border-radius: .3em !important;',
			'    border-radius: .3em !important;',
			'    clear: both !important;',
			'    background: #4e8fbd !important;',
			'    background: -webkit-gradient(linear,left top,left bottom,from(#549ccf),to(#4782ab)) !important;',
			'    background: -moz-linear-gradient(#549ccf,#4782ab) !important;',
			'    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#549ccf,endColorstr=#4782ab) !important;',
			'    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#549ccf, endColorstr=#4782ab)" !important;',
			'    zoom: 1 !important;',
			'    box-shadow: inset 0 1px 0 #90bfe0 !important;',
			'    -moz-box-shadow: inset 0 1px 0 #90bfe0 !important;',
			'    -webkit-box-shadow: inset 0 1px 0 #90bfe0 !important;',
			'    font-family: Arial,Helvetica,sans-serif !important;',
			'    color: #fff !important;',
			'    font-size: 16px !important;',
			'    text-shadow: 0 0 0 #FFF !important;',
			'    line-height: 30px !important;',
			'    text-decoration: none !important;',
			'    cursor: pointer !important;',
			'    float: right !important;',
			'    margin: 10px 0 !important;',
			'    clear: none !important;',
			'}',
			'',
			'.mm-t9 .mm-t9-barrier__login-form button:hover {',
			'    color: #ddd;',
			'}',
			'',
			'.mm-t9 .mm-t9-barrier__login__forgot {',
			'    color: #4781aa;',
			'    clear: both;',
			'    padding-top: 0;',
			'    font-size: 12px;',
			'    display: block;',
			'    line-height: 30px;',
			'}',
			'',
			'.mm-t9 .mm-t9-barrier__or {',
			'    text-align: center;',
			'    clear: both;',
			'    font-size: 16px;',
			'    display: block;',
			'    color: #a7a59b;',
			'    line-height: 30px;',
			'}'
		].join('\n');
		this.style();
		this.fixBarrier();
		this.bindEvents();
		if (window.presentData) {
			if (jQuery('[id="iai-headline"]').find('span').length) {
				injectHeadline = function () {};
			}
			window.presentData();
		}
		campaign.updatePrice();
		setTimeout(function () {

			that.unhideSelf();
		}, 100);
	};

	Handler.prototype.style = function () {
		var style;

		style = campaign.injectStyle([
			'.mm-t9 .mm-t9-bubble {',
			'    font-size: 20px;',
			'    text-align: left;',
			'    padding: 30px 0 60px;',
			'}'
		].join('\n'));
		style.id = 'mm-' + campaign.prefix + '-handler-style';
	};

	Handler.prototype.hide = function () {
		var style;

		style = campaign.injectStyle([
			'.mm-t9 .mm-t9-display-none {',
			'    display: none !important;',
			'}',

			'.mm-t9 #matrix.mm-t9-fix-table {',
			'    table-layout: fixed;',
			'    width: 100%;',
			'}',

			'.mm-t9 #matrix.mm-t9-fix-table thead th,',
			'.mm-t9 #matrix.mm-t9-fix-table td {',
			'    width: auto;',
			'}',

			'.mm-t9 #iai-headline,',
			'.mm-t9 #hiddenLogin,',
			'.mm-t9 #step1,',
			'.mm-t9 #step2 {',
			'    display: none;',
			'}',

			'.mm-t9 .mm-t9-iai-headline {',
			'    color: #000;',
			'    font-size: 20px;',
			'    line-height: 20px;',
			'    font-weight: normal;',
			'    margin: 0;',
			'    padding: 0;',
			'    text-align: left;',
			'    position: absolute;',
			'    top: 50px;',
			'}',

			'.mm-t9 .mm-t9-bubble {',
			'    margin-bottom: -44px;',
			'}',

			'.mm-t9 #iaiWrapperAnon #iaiBody {',
			'    padding-top: 0;',
			'}'
		].join('\n'));
		style.id = 'mm-' + campaign.prefix + '-handler-hider';
	};

	Handler.prototype.hideSelf = function () {
		var style;

		style = campaign.injectStyle([
			'#matrix {',
			'    position: relative !important;',
			'    left: -99999999px !important;',
			'}'
		].join('\n'));
		style.id = 'mm-' + campaign.prefix + '-matrix-hider';
	};

	Handler.prototype.unhideSelf = function () {
		var style;

		style = document.getElementById('mm-' + campaign.prefix + '-matrix-hider');
		if (style) {
			style.parentNode.removeChild(style);
		}
	};

	Handler.prototype.fixBarrier = function () {
		var $wrapperAnon;
		var $wrapperReg;
		var $popup;
		var $matrix;

		$wrapperAnon = $('#iaiWrapperAnon');
		$wrapperReg = $('#iaiWrapperReg');
		if ($wrapperAnon.length) {
			this.props.$popup = $wrapperAnon;
		} else if ($wrapperReg.length) {
			this.props.$popup = $wrapperReg;
		}
		$popup = this.props.$popup;
		if (!$popup.length) {
			return;
		}
		this.hide();
		$matrix = $popup.find('#matrix');
		$matrix.find('th:last-child, td:last-child').remove();
		if (mmcore.helpers.getPrice('m', 'newspaper') === 'N/A') {
			$matrix.removeClass('three').addClass('two');
		} else {
			$("#matrix .bundle").show();
			$("#matrix .p-bundle").show();
			$matrix.removeClass('two').addClass('three');
		}
		$popup.find('#iai-headline')
			.before('<div class="mm-t9-bubble">For quick access to a weath of global business news, <b>subscribe now.</b></div>');
		this.implementLoginForm();
	};

	Handler.prototype.implementLoginForm = function () {
		campaign.injectStyle(this.props.loginFormCss).id = 'mm-t9-login-form-css';
		this.props.$popup.find('.iai-fullWidth').prepend(this.props.loginFormHTML);
		this.fixLocationRedirect();
	};

	Handler.prototype.fixLocationRedirect = function () {
		var rightUrl;

		rightUrl = (location.href.match(/_i_location=(.+)&siteedition.+/) || [null, null])[1];
		if (rightUrl) {
			$('.mm-t9-barrier__login-form').find('input[name="location"]').val(rightUrl);
		}
	};

	Handler.prototype.bindEvents = function () {
		campaign.delegate('.mm-t9-barrier__hidden-login-toggle')('click', function (event) {
			var openClass;
			var $link;
			var $container;

			event.preventDefault();
			openClass = 'mm-t9-barrier__hidden-login_open';
			$link = $(event.target);
			$container = $link.closest('.mm-t9-barrier__hidden-login');
			if ($container.hasClass(openClass)) {
				$container.removeClass(openClass);
			} else {
				$container.addClass(openClass);
			}
		});

		$('#mmT9loginTwitterButton')[0].onclick = function (e) {
			janrain.engage.signin.triggerFlow("twitter");
		};
	};

	campaign.wait({
		freq: 200,
		check: function () {
			if (campaign.checkUserInTest8() ||
				campaign.checkIsSubscribedAfterTrial() ||
				campaign.props.isMainCampaign) {
				return false;
			}
			if (document.getElementsByTagName('body') &&
				campaign.$ &&
				campaign.checkLoggedOut() &&
				campaign.checkBarrier()) {
				$ = campaign.$;
				if (campaign.checkTrialDate() && window.hideNewspaperFields &&
					(mmcore.GetCookie('mm_t9_free_trial', true) || mmcore.GetCookie('mm_t9_one_pound', true))) {
					campaign.props.stop = true;
					return true;
				}
				return false;
			}
			return false;
		},
		success: function () {
			handler = new Handler();
		},
		fail: function () {
			if (typeof presentData === 'function') {
				if (jQuery('[id="iai-headline"]').find('span').length) {
					injectHeadline = function () {};
				}
				presentData();
			}
		}
	});
}(window));

}catch(err){mmcore.EH(err);}
try{
(function (campaign) {
	'use strict';

	if (!campaign) {
		return;
	}
	if (campaign.checkNonRegesignCookie()) {
		campaign.hideRegisterLink();
		campaign.hideT4();
	} else {
		campaign.showRegisterLink();
	}
	campaign.showTopLinks();
}(mmcore.T9));

}catch(err){mmcore.EH(err);}
try{
(function (global, mmcore, campaign, undefined) {
	'use strict';

	var $;
	var Slider;
	var slider;

	$ = campaign.$;
	Slider = function () {
		this.props = {};
		this.build();
		this.appearDummy();
		this.bindEvents();
		this.style();
		this.show();
	};

	Slider.prototype.build = function () {
		$('body').append([
			'<div class="mm-t9-footer-slider" id="mm-t9-footer-slider">',
			'    <div class="mm-t9-footer-slider-inner" id="mm-t9-footer-slider-inner">',
			'        <div class="mm-t9-footer-slider-dummy" id="mm-t9-footer-slider-dummy"></div>',
			'        <div class="mm-t9-footer-slider-counter" id="mm-t9-footer-counter"></div>',
			'        <div class="mm-t9-footer-slider-main"></div>',
			'        <div class="mm-t9-footer-slider-close" id="mm-t9-footer-slider-close"></div>',
			'        <a class="mm-t9-footer-slider-cta" id="mm-t9-footer-slider-cta" href="http://registration.ft.com/registration/subscription-service/bpsp?segid=0100583"></a>',
			'    </div>',
			'</div>'
		].join('\n'));
		$('#mm-t9-footer-counter').text(campaign.getDaysRemains());
	};

	Slider.prototype.appearDummy = function () {
		var daysRemains;

		daysRemains = campaign.getDaysRemains();
		if (daysRemains === 1) {
			$('#mm-t9-footer-slider-dummy').addClass('mm-t9-display-dummy');
		}
	};

	Slider.prototype.bindEvents = function () {
		campaign.delegate('#mm-t9-footer-slider-close')('click', this.hide);
	};

	Slider.prototype.style = function () {
		var style;

		style = campaign.injectStyle([
			'.mm-t9-footer-slider {',
			'    width: 1004px;',
			'    height: 0;',
			'    position: fixed;',
			'    bottom: 0;',
			'    z-index: 99999;',
			'    left: 50%;',
			'    margin-left: -502px;',
			'}',
			'',
			'.mm-t9-footer-slider-inner {',
			'    height: 100px;',
			'    background: #fff;',
			'    border: 2px solid #bbb;',
			'    border-bottom: 0;',
			'    -webkit-border-top-left-radius: 17px;',
			'    -moz-border-top-left-radius: 17px;',
			'    -ms-border-top-left-radius: 17px;',
			'    border-top-left-radius: 17px;',
			'    -webkit-border-top-right-radius: 17px;',
			'    -moz-border-top-right-radius: 17px;',
			'    -ms-border-top-right-radius: 17px;',
			'    border-top-right-radius: 17px;',
			'}',
			'',
			'.mm-t9-footer-slider-main {',
			'    height: 200px;',
			'    background: url(//service.maxymiser.net/cm/images-eu/1/1/1/91FBC525115DC1C37C1A04F870E8D41FCBF86DBB0629D5616AC71EC37EFAF922/ft-com/T9TrialsVsRegistrati/mm-t9-sprite.png) 0 0 no-repeat;',
			'    position: absolute;',
			'    left: 29px;',
			'    top: 15px;',
			'    width: 720px;',
			'}',
			'',
			'.mm-t9-footer-slider-close {',
			'    cursor: pointer;',
			'    background: url(//service.maxymiser.net/cm/images-eu/1/1/1/91FBC525115DC1C37C1A04F870E8D41FCBF86DBB0629D5616AC71EC37EFAF922/ft-com/T9TrialsVsRegistrati/mm-t9-sprite.png) -912px 0px no-repeat;',
			'    width: 32px;',
			'    height: 32px;',
			'    position: absolute;',
			'    right: 15px;',
			'    top: 12px;',
			'}',
			'',
			'.mm-t9-footer-slider-cta {',
			'    cursor: pointer;',
			'    display: block;',
			'    position: absolute;',
			'    right: 63px;',
			'    top: 17px;',
			'    background: url(//service.maxymiser.net/cm/images-eu/1/1/1/91FBC525115DC1C37C1A04F870E8D41FCBF86DBB0629D5616AC71EC37EFAF922/ft-com/T9TrialsVsRegistrati/mm-t9-sprite.png) -728px 0px no-repeat;',
			'    width: 180px;',
			'    height: 65px;',
			'}',
			'',
			'.mm-t9-footer-slider-cta:hover,',
			'.mm-t9-footer-slider-cta:focus {',
			'    background-position: -728px -65px;',
			'}',
			'',
			'.mm-t9-footer-slider-dummy {',
			'    display: none;',
			'    background: #fff;',
			'    width: 14px;',
			'    height: 18px;',
			'    position: absolute;',
			'    left: 227px;',
			'    top: 29px;',
			'    z-index: 100;',
			'}',
			'',
			'.mm-t9-footer-slider-dummy.mm-t9-display-dummy {',
			'    display: block;',
			'}',
			'',
			'.mm-t9-footer-slider-counter {',
			'    position: absolute;',
			'    left: 116px;',
			'    top: 39px;',
			'    width: 50px;',
			'    height: 33px;',
			'    text-align: center;',
			'    font-size: 28px;',
			'    font-weight: bold;',
			'    line-height: 33px;',
			'    color: #A9264D;',
			'}'
		].join('\n'));
		style.id = 'mm-' + campaign.prefix + '-footer-sliders-style';
	};

	Slider.prototype.show = function () {
		var isDone;
		var animate;

		isDone = false;
		animate = function () {
			$('#mm-t9-footer-slider').animate({
				height: 98
			}, 500, function () {
				var today;
				var day;
				var month;
				var year;
				var dateString;

				today = new Date();
				day = today.getDate();
				if (String(day).length < 2) {
					day = '0' + day;
				}
				month = today.getMonth() + 1;
				if (String(month).length < 2) {
					month = '0' + month;
				}
				year = today.getFullYear();
				dateString = '' + day + month + year;
				mmcore.SetCookie('mm_t9_slider_shown', dateString, 2, true);
				$(document).trigger('mm_t9_slider_views');
			});
		};
		setTimeout(function() {
			if (!isDone) {
				isDone = true;
				animate();
			}
		}, 6 * 1000);
		$(window).load(function () {
			if (!isDone) {
				isDone = true;
				animate();
			}
		});
	};

	Slider.prototype.hide = function () {
		mmcore.SetCookie('mm_t9_prevent_slider', 'true', 365 * 2, true);
		$('#mm-t9-footer-slider').animate({
			height: 0
		});
	};

	campaign.wait({
		freq: 200,
		reset: function () {
			return campaign.props.stop || !mmcore.helpers.getAYSCfield(54) || mmcore.helpers.getAYSCfield(22).match('P1');
		},
		check: function () {
			var isPreventSlider;
			var cookieSliderShown;
			var timestampSliderShown;
			var cleanToday;
			var daysRemains;

			isPreventSlider = !!mmcore.GetCookie('mm_t9_prevent_slider', true);
			cookieSliderShown = mmcore.GetCookie('mm_t9_slider_shown', true);
			if (!mmcore.helpers.getAYSCfield(54) ||
				mmcore.helpers.getAYSCfield(22).match('P1') ||
				campaign.checkUserInTest8() ||
				campaign.checkIsSubscribedAfterTrial() ||
				location.hostname.toLowerCase().indexOf('registration.ft.com') > -1) {
				return false;
			}
			if (campaign.$) {
				$ = campaign.$;
				if (mmcore.T9.checkLoggedOut()) {
					return false;
				}
				if (cookieSliderShown) {
					timestampSliderShown = campaign.parseDateInCustomFormat(cookieSliderShown).setHours(0, 0, 0, 0);
					cleanToday = (new Date()).setHours(0, 0, 0, 0);
					/** today user already saw it */
					if (timestampSliderShown === cleanToday) {
						return false;
					}
				}
				daysRemains = campaign.getDaysRemains();
				if (!isPreventSlider &&
					daysRemains !== false && daysRemains > 0 && daysRemains < 8 &&
					mmcore.GetCookie('mm_t9_free_trial', true) &&
					campaign.$('body').length) {
					return true;
				}
				return false;
			}
			return false;
		},
		success: function () {
			slider = new Slider();
		}
	});
})(window, window.mmcore, window.mmcore.T9);

}catch(err){mmcore.EH(err);}
try{
(function (global, mmcore, prefix, undefined) {
	'use strict';

	var campaign;

	campaign = mmcore[prefix];
	if (!campaign) {
		return;
	}
	campaign.wait({
		freq: 200,
		reset: function () {
			return this.props.stop;
		},
		check: function () {
			return campaign.$;
		},
		success: campaign.initHelper
	});
})(window, window.mmcore, 'T9');

}catch(err){mmcore.EH(err);}
try{
(function (global, mmcore, prefix, undefined) {
	'use strict';

	var campaign;

	campaign = mmcore[prefix];
	if (!campaign) {
		return;
	}
	campaign.wait({
		freq: 100,
		check: function () {
			return window.jQuery;
		},
		success: function () {
			window.jQuery(window).load(function () {
				window.jQuery('#assanka_mockingbird_overlay').css('height', window.jQuery(document).height()+'px');
			});
			campaign.$ = window.jQuery;
			campaign.initMain();
		}
	});
	campaign.wait({
		freq: 300,
		check: function () {
			if (mmcore.GenInfo &&
				mmcore.GenInfo.T9TrialsVsRegistrati &&
				mmcore.GenInfo.T9TrialsVsRegistrati.t9registrati) {
				return true;
			}
			return false;
		},
		success: function () {
			mmcore.SetCookie('mm_T9WasRender', 1, 365 * 2, 1);
			if (mmcore.GenInfo.T9TrialsVsRegistrati.t9registrati === 'Default') {
				campaign.props.isAllowBarrierAction = true;
				mmcore.SetCookie('mm_t9_free_trial', '', -1, true);
				mmcore.SetCookie('mm_t9_one_pound', '', -1, true);
				campaign.unhideContentMain();
				campaign.showTopLinks2();
				campaign.showRegisterLink();
				if (typeof window.presentData === 'function') {
					if (jQuery('[id="iai-headline"]').find('span').length) {
						injectHeadline = function () {};
					}
					window.presentData();
				}
			}
		}
	});
	campaign.wait({
		freq: 100,
		check: function () {
			if (mmcore.GenInfo &&
				mmcore.GenInfo.T9TrialsVsRegistrati &&
				mmcore.GenInfo.T9TrialsVsRegistrati.t9registrati) {
				return true;
			}
			return false;
		},
		success: function () {
			mmcore.helpers.iJento('T9TrialsVsRegistrati', 'T9', {
				"A T9Registrati": {
					"FreeTrial": 2,
					"OnePound": 3
				}
			});
		}
	});
	campaign.wait({
		freq: 400,
		reset: function () {
			return campaign.props.stop;
		},
		check: function () {
			return mmcore.GetCookie('AYSC', 1).match(/PVT_27[A-Za-z0-9]{13}/);
		},
		success: campaign.showTopLinks2
	});
})(window, window.mmcore, 'T9');

}catch(err){mmcore.EH(err);}
try{
(function (global, mmcore, campaign, undefined) {
	'use strict';

	var $;
	var stop;
	var actions;
	var Actions;

	$ = campaign.$;
	stop = false;
	mmcore.AddDocLoadHandler(function () {
		setTimeout(function () {
			stop = true;
		}, 2 * 1000);
	});

	Actions = function () {
		this.T9BarrierClicks();
		this.T9BarrierTriggers();
		this.T9FormArrivals();
		this.T9ArticleViews();
		this.T9SliderViews();
		this.T9SliderClicks();
		this.T9SignUps();
		this.T9Subscriptions();
	};

	Actions.prototype.T9BarrierClicks = function () {
		var handleMousedown;
		var handleCoprorate;

		handleMousedown = function (event, attr) {
			var $link;
			var isPrevent;

			$link = $(event.target).closest('a');
			if (event.which === 1 &&
				!$link[0].isPrevent &&
				window.HurdleType &&
				window.HurdleType === 'h1' &&
				campaign.props.isAllowBarrierAction) {
				$link[0].isPrevent = true;
				mmcore.$Action('T9BarrierClicks', 1, attr);
			}
		};
		handleCoprorate = function (event) {
			var $link;
			var url;

			event.preventDefault();
			$link = $(event.target).closest('a');
			url = $link.attr('href');
			if (window.HurdleType &&
				window.HurdleType === 'h1' &&
				campaign.props.isAllowBarrierAction) {
				campaign.trackAsyncAction({
					name: 'T9BarrierClicks',
					attr: 'Corporate',
					then: function () {
						campaign.redirect(url);
					},
					time: 12 * 1000
				});
			} else {
				campaign.redirect(url);
			}
		};

		campaign.delegate('#matrix .p-bundle a')('mousedown', function (event) {
			handleMousedown(event, 'Bundle');
		});

		campaign.delegate('#matrix .p-prem a')('mousedown', function (event) {
			handleMousedown(event, 'Premium');
		});

		campaign.delegate('#matrix .p-stan a')('mousedown', function (event) {
			handleMousedown(event, 'Standard');
		});

		campaign.delegate('#matrix .p-reg:not(.mm-t9-redesign) a')('mousedown', function (event) {
			handleMousedown(event, 'Registration');
		});

		campaign.delegate('#matrix td.mm-t9-free-trial a')('mousedown', function (event) {
			handleMousedown(event, 'FreeTrial');
		});

		campaign.delegate('#matrix td.mm-t9-one-pound a')('mousedown', function (event) {
			handleMousedown(event, '1PoundTrial');
		});

		// bad selector but fast
		campaign.delegate('#iai-barrier a[href*="www.ftsub.com/"]')('mousedown', function (event) {
			handleMousedown(event, 'Newspaper');
		});
		campaign.delegate('.mm-t9-barrier a[href*="www.ftsub.com/"]')('mousedown', function (event) {
			handleMousedown(event, 'Newspaper');
		});

		// corporate has no mmcore on the page
		campaign.delegate('#iaiBody a[href*="ftcorporate.ft.com"]')('click', function (event) {
			handleCoprorate(event);
		});

		campaign.delegate('.mm-t9-barrier a[href*="ftcorporate.ft.com"]')('click', function (event) {
			handleCoprorate(event);
		});
	};

	Actions.prototype.T9BarrierTriggers = function () {
		mmcore.AddDocLoadHandler(function () {
			campaign.wait({
				freq: 200,
				reset: 15 * 1000,
				check: function () {
					if (window.HurdleType === 'h1' &&
						mmcore.T9.checkBarrier() &&
						campaign.props.isAllowBarrierAction) {
						return true;
					}
					return false;
				},
				success: function () {
					campaign.trackAsyncAction({
						name: 'T9BarrierTriggers'
					});
				}
			});
		});
	};

	Actions.prototype.T9FormArrivals = function () {
		var href;
		var trialCookie;
		var poundCookie;

		href = location.href;
		trialCookie = mmcore.GetCookie('mm_t9_free_trial', true);
		poundCookie = mmcore.GetCookie('mm_t9_one_pound', true);
		if (href.indexOf('//registration.ft.com/') < 0) {
			return;
		}
		if (href.indexOf('//registration.ft.com/corporate/signup/BrvCG2zYBUKPo?segid=0100582') < 0 &&
			href.indexOf('//registration.ft.com/signup/premium?cpgid=0597&segid=0100586') < 0 &&
			href.indexOf('//registration.ft.com/signup/premium?cpgid=0597&term=monthly&segid=0100586') < 0 &&
			href.indexOf('cpgid=0597&segid=0100586') < 0 &&
			href.indexOf('cpgid=0597&term=monthly&segid=0100586') < 0 &&
			href.indexOf('//registration.ft.com/signup/register') < 0) {
			return;
		}
		if (!trialCookie &&
			(href.indexOf('//registration.ft.com/corporate/signup/BrvCG2zYBUKPo?segid=0100582') > -1 ||
			href.indexOf('//registration.ft.com/corporate/signup/BrvCG2zYBUKPo') > -1)) {
			return;
		}
		if (!poundCookie &&
			(href.indexOf('//registration.ft.com/signup/premium?cpgid=0597&segid=0100586') > -1 ||
			href.indexOf('//registration.ft.com/signup/premium?cpgid=0597&term=monthly&segid=0100586') > -1 ||
			(href.indexOf('//registration.ft.com/') > -1 && href.indexOf('cpgid=0597&segid=0100586') > -1) ||
			(href.indexOf('//registration.ft.com/') > -1 && href.indexOf('cpgid=0597&term=monthly&segid=0100586') > -1) ||
			href.indexOf('//registration.ft.com/signup/premium?cpgid=0597') > -1 ||
			href.indexOf('//registration.ft.com/signup/premium?cpgid=0597&term=monthly') > -1)) {
			return;
		}
		if (trialCookie && poundCookie &&
			href.indexOf('//registration.ft.com/signup/register') > -1) {
			return;
		}
		if (!mmcore.GetCookie('mm_t9_refresh', true)) {
			mmcore.SetAction('T9FormArrivals', 1);
			mmcore._async = true;
			mmcore.SetPageID('events');
			mmcore.CGRequest();
		}
		window.onunload = (function (func) {
			return function () {
				mmcore.SetCookie('mm_t9_refresh', 'yes', 5 / (24 * 60 * 60), 1);
				if (func) { return func.apply(this, arguments); }
			};
		}(window.onunload));
	};

	Actions.prototype.T9ArticleViews = function () {
		campaign.wait({
			freq: 100,
			check: function () {
				// if (document.getElementById('footer') &&
				if (document.getElementsByTagName('body') &&
					mmcore._docEnd &&
					stop) {
					return true;
				}
				return false;
			},
			success: function () {
				var checkStandartBarrier;
				var checkFreeTrialSubs;

				checkStandartBarrier = function () {
					if (window.HurdleType &&
						(window.HurdleType === 'h1' || window.HurdleType === 'h2')) {
						return true;
					}
					return false;
				};
				checkFreeTrialSubs = function () {
					if (!campaign.checkLoggedOut() &&
						campaign.checkTrialDate() &&
						campaign.checkTrialExpired() &&
						mmcore.GetCookie('mm_t9_free_trial', true)) {
						return true;
					}
					return false;
				};
				if (!campaign.checkIsArticlePage() ||
					checkStandartBarrier() ||
					checkFreeTrialSubs()) {
					return;
				}
				campaign.trackAsyncAction({
					name: 'T9ArticleViews'
				});
			}
		});
	};

	Actions.prototype.T9SliderClicks = function () {
		campaign.delegate('#mm-t9-footer-slider-cta')('mousedown', function (event) {
			if (event.which === 1) {
				mmcore.$Action('T9SliderClicks', 1, campaign.getDaysRemains());
			}
		});
	};

	Actions.prototype.T9SliderViews = function () {
		var that;
		var trackView;
		var $document;

		that = this;
		trackView = function () {
			campaign.trackAsyncAction({
				name: 'T9SliderViews',
				attr: campaign.getDaysRemains()
			});
		};
		$document = $(document);
		if ($document.on) {
			$document.on('mm_t9_slider_views', trackView);
		} else if ($document.bind) {
			$document.bind('mm_t9_slider_views', trackView);
		}
	};

	Actions.prototype.T9SignUps = function () {
		this.T9SignUps_collectAttribute();
		this.T9SignUps_default();
		this.T9SignUps_redesign();
	};

	Actions.prototype.T9SignUps_collectAttribute = function () {
		var stop;
		var trialCookie;
		var poundCookie;
		var href;

		href = location.href;
		mmcore.AddDocLoadHandler(function () {
			setTimeout(function () {
				stop = true;
			}, 4 * 1000);
		});
		trialCookie = mmcore.GetCookie('mm_t9_free_trial', true);
		poundCookie = mmcore.GetCookie('mm_t9_one_pound', true);

		campaign.wait({
			freq: 100,
			reset: function () {
				return stop;
			},
			check: function () {
				if (!trialCookie && !poundCookie &&
					href.indexOf('//registration.ft.com/signup/register') > -1) {
					return true;
				} else if (global.sPageNumber === '1') {
					if (trialCookie &&
						(href.indexOf('//registration.ft.com/corporate/signup/BrvCG2zYBUKPo?segid=0100582') > -1 ||
						href.indexOf('//registration.ft.com/corporate/signup/BrvCG2zYBUKPo') > -1)) {
						return true;
					} else if (poundCookie &&
						(href.indexOf('//registration.ft.com/signup/premium?cpgid=0597&segid=0100586') > -1 ||
						href.indexOf('//registration.ft.com/signup/premium?cpgid=0597&term=monthly&segid=0100586') > -1 ||
						(href.indexOf('//registration.ft.com/') > -1 && href.indexOf('cpgid=0597&segid=0100586') > -1) ||
						(href.indexOf('//registration.ft.com/') > -1 && href.indexOf('cpgid=0597&term=monthly&segid=0100586') > -1) ||
						href.indexOf('//registration.ft.com/signup/premium?cpgid=0597') > -1 ||
						href.indexOf('//registration.ft.com/signup/premium?cpgid=0597&term=monthly') > -1)) {
						return true;
					}
				}
				return false;
			},
			success: function () {
				mmcore.SetCookie('mm_t9_track_registration', 'true', 1, true);
			}
		});
	};

	Actions.prototype.T9SignUps_default = function () {
		var isCookieExists;

		isCookieExists = !!mmcore.GetCookie('mm_t9_track_registration', true);
		campaign.wait({
			freq: 100,
			reset: function () {
				return !isCookieExists && mmcore._docEnd;
			},
			check: function () {
				if ($('#module-order > h2').text().indexOf('Order confirmation') > -1 &&
					isCookieExists) {
					return true;
				}
				return false;
			},
			success: this.successRegistration
		});
	};

	Actions.prototype.T9SignUps_redesign = function () {
		var isCookieExists;

		isCookieExists = !!mmcore.GetCookie('mm_t9_track_registration', true);
		campaign.wait({
			freq: 100,
			reset: function () {
				return !isCookieExists && mmcore._docEnd;
			},
			check: function () {
				var isCorrectPage;

				isCorrectPage = global.sPageNumber === '3' && isCookieExists;
				if (isCorrectPage &&
					($('li.current:contains(Confirmation)').length && $('#module-thankyou h2:contains(Confirmation)').length) ||
					($('#thank_you_header:contains(Thank You)').length && $('.pagename:contains(sign up)').length)) {
					return true;
				}
				return false;
			},
			success: this.successRegistration
		});
	};

	Actions.prototype.successRegistration = function () {
		campaign.trackAsyncAction({
			name: 'T9SignUps',
			time: 30 * 1000,
			then: function () {
				mmcore.SetCookie('mm_t9_track_registration', '', -1, true);
				if (mmcore.GetCookie('mm_t9_free_trial', true) || mmcore.GetCookie('mm_t9_one_pound', true)) {
					mmcore.SetCookie('mm_t9_reg_date', campaign.getTodayInSimpleFormat(), 365, true);
				}
			}
		});
	};

	Actions.prototype.T9Subscriptions = function () {
		campaign.delegate('table[id="matrix"] a')('mousedown', function (event) {
			if (event.which === 1) {
				if (!mmcore.T9.checkLoggedOut()) {
					mmcore.SetCookie('mm_t9_allow_subscription', 'Registered', 1, true);
				} else {
					mmcore.SetCookie('mm_t9_allow_subscription', 'true', 1, true);
				}
			}
		});

		campaign.delegate('#mm-t9-footer-slider-cta')('mousedown', function (event) {
			if (event.which === 1) {
				if (!mmcore.T9.checkLoggedOut()) {
					mmcore.SetCookie('mm_t9_allow_subscription', 'Registered', 1, true);
				} else {
					mmcore.SetCookie('mm_t9_allow_subscription', 'true', 1, true);
				}
			}
		});
	};

	campaign.wait({
		freq: 100,
		check: function () {
			return campaign.$ && campaign.$(document).length;
		},
		success: function () {
			$ = campaign.$;
			actions = new Actions();
		}
	});
})(window, window.mmcore, window.mmcore.T9);

}catch(err){mmcore.EH(err);}
if(typeof mmcore._callback=='object'&&typeof mmcore._callback[1]=='function'){try{mmcore._callback[1]();}catch(err){mmcore.EH(err);}
finally{mmcore._callback[1]=null;}}
})();