mmRequestCallbacks[1]({"Scripts":[{"Name":"Plugin_StoreCookie","Type":"script","Attrs":{"type":"text/javascript"},"Data":"/**\n * @summary Cross-domain cookie storing interface\n * @usage Must be mapped site wide with order -100\n */\n\n;(function Plugin_StoreCookie(){\n\tvar saveCookiesCrossDomain = function() {\n\n\t\tvar arrayOfCookiesToSave = site.scope.arrayOfCookiesToSave || [],\n\t\t\ti = arrayOfCookiesToSave.length,\n\t\t\tcookieName, cookieValue, cookieExpiration,\n\t\t\tserializedCrossDomainData = '',\n\t\t\tescapeSequence = 'mmCookies',\n\t\t\tserialize = function(a){\n\t\t\t\tvar i = 0, l = a.length;\n\t\t\t\tfor (; i < l; i += 1)a[i] = escape(a[i]);\n\t\t\t\treturn '<' + escape([].join.call(a, ',')) + '>';\n\t\t\t},\n\t\t\tprocessingRegExp = new RegExp('\\\\|\\\\*' + escapeSequence + '(.*)' + escapeSequence + '\\\\*\\\\|');\n\n\t\tif( i ){\n\t\t\tfor (; i--;) {\n\n\t\t\t\t// Name of cookie\n\t\t\t\tcookieName = arrayOfCookiesToSave[i];\n\n\t\t\t\t// Expiry date of cookie\n\t\t\t\tif (cookieName.indexOf('[s]') === 0) {\n\t\t\t\t\tcookieExpiration = 0;\n\t\t\t\t\tcookieName = cookieName.replace(/^\\[s\\]/, '');\n\t\t\t\t} else {\n\t\t\t\t\tcookieExpiration = 365;\n\t\t\t\t}\n\n\t\t\t\t// Value of cookie\n\t\t\t\tcookieValue = cookies.get(cookieName);\n\n\t\t\t\tif (cookieValue) {\n\t\t\t\t\tserializedCrossDomainData += serialize([cookieName, escape(cookieValue), cookieExpiration]);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\twindow.name = window.name.replace(processingRegExp, '');\n\t\t\twindow.name += ('|*' + escapeSequence + serializedCrossDomainData + escapeSequence + '*|');\n\t\t}\n\t};\n\n\t/**\n\t * @name arrayOfCookiesToSave\n\t * @summary List of cookies to be transferred to another domain\n\t * @usage Push a cookie name to the array. By the default expiration is 1 year. Add [s] prefix to the name to define session expiration.\n\t * @examples site.scope.arrayOfCookiesToSave.push(\"mm_t01_data\");\n\t */\n\n\tsite.scope.arrayOfCookiesToSave = ['mm_BusinessSeg', 'mm_B2xCart', 'mm_t11_generated', 'mm_t12_generated', 'mm_lastAddedProduct'];\n\n\twindow.addEventListener('beforeunload', function() {\n\t\tsaveCookiesCrossDomain();\n\t}, false);\n\n\twindow.addEventListener('pagehide', function() {\n\t\tsaveCookiesCrossDomain();\n\t}, false);\n})();\n","Order":-100,"HighLevelApiVersion":"1.12"},{"Name":"Plugin_ExtractPrices","Type":"script","Attrs":{"type":"text/javascript"},"Data":"site.scope.extractPrices = function (priceString) {\n\tvar clearPrices = [];\n\n\t(priceString || '').toString().replace(/(\\d{1,3}(?:\\D?\\d{3})*(?:\\D(\\d{0,2})|))(?:\\D|$)/gm, function () {\n\t\tvar d = arguments[2];\n\t\tvar zeros = !d ? \"00\" : (d.length == 1 ? \"0\" : \"\");\n\n\t\tclearPrices.push((arguments[1].replace(/\\D/g, \"\") + zeros) * 1);\n\t});\n\n\treturn clearPrices;\n};\n","Order":-100,"HighLevelApiVersion":"1.12"},{"Name":"Module_Refreshed","Type":"script","Attrs":{"type":"text/javascript"},"Data":"/**\n * Detect page refreshes to prevent multiple false action tracking\n * mmAPI module\n *\n * @author Rafal‚ Maksymiuk (rafal.maksymiuk@gmail.com)\n * @date 23.11.2015\n */\n\n\nmodules.define('Refreshed', {autoDefine: false, singleton: true}, function () {\n\n    var sec = 5;\n    var cookie = 'pageRefreshed';\n    var initialised = false;\n\n    var savedURL = location.href;\n\n    /**\n     * Simple hashing function, to prevent storing to large strings in cookie\n     *\n     * @param {String} input hashed string\n     * @returns {String} hash\n     */\n    function hashCode(input) {\n        var hash = 0;\n        var char;\n        var i;\n\n        if (input.length == 0) return hash;\n\n        for (i = 0; i < input.length; i++) {\n            char = input.charCodeAt(i);\n            hash = ( ( hash << 5 ) - hash ) + char;\n            hash = hash & hash; // Convert to 32bit integer\n        }\n\n        return hash.toString();\n    }\n\n\n    /**\n     * Function for patching unload callbacks\n     */\n    function exitEvent() {\n        cookies.set('mm_' + cookie, hashCode(encodeURI(savedURL)), {expires: sec / (24 * 60 * 60)});\n    }\n\n    /**\n     * Init refreshed\n     */\n    function init() {\n        window.addEventListener('beforeunload', exitEvent);\n        window.addEventListener('unload', exitEvent);\n        window.addEventListener('pagehide', exitEvent);\n\n        initialised = true;\n    };\n\n    /**\n     * Change default timeout\n     *\n     * @param {Number} [timeout] timeout to treat page load as refresh\n     */\n    this.setRefreshTimeout = function (timeout) {\n        if (timeout) {\n            sec = timeout;\n        }\n    };\n\n    this.setCustomURL = function (url) {\n        if (url) {\n            savedURL = url;\n        }\n    };\n\n    /**\n     * Return refreshed page state\n     *\n     * @return {boolean} was page refreshed\n     */\n    this.isRegularLoad = function () {\n        //it can be only initialised once on current page\n        if (!initialised) {\n            init();\n        }\n        return ( cookies.get('mm_' + cookie) !== hashCode(encodeURI(savedURL)));\n\n    };\n\n});","Order":-100,"HighLevelApiVersion":"1.12"},{"Name":"PC_LRCProduct","Type":"script","Attrs":{"type":"text/javascript"},"Data":"events.domReady(function () {\n    //window.kaspersky.pageName is defined successfully\n    var attrs = {\n        'kaspersky endpoint security for business advanced': 'LRC_KESB_Adv',\n        'kaspersky endpoint security cloud': 'LRC_KESB_Cloud',\n        'kaspersky endpoint security for business select': 'LRC_KESB_Select',\n        'kaspersky internet security': 'LRC_KIS',\n        'kaspersky internet security for android': 'LRC_KIS_Android',\n        'kaspersky internet security for mac': 'LRC_KIS_Mac',\n        'kaspersky password manager': 'LRC_KPM',\n        'kaspersky small office security': 'LRC_KSOS',\n        'kaspersky total security': 'LRC_KTS',\n        'kaspersky anti-virus': 'LRC_KAV'\n    };\n    var pageMask = ['lrc', 'renewal-center/home'];\n    var isPcPage = new RegExp('^/(' + pageMask.join('|') + ')/?$').test(location.pathname);\n    var setPC = function () {\n        var isTimeOut = false;\n        setTimeout(function () {\n            isTimeOut = true;\n        }, 10000);\n\n        when(function () {\n            return window.kaspersky &&\n                window.kaspersky.pageName &&\n                window.kaspersky.pageName.toLowerCase().indexOf('lrc') > -1;\n        }, function () {\n            return isTimeOut;\n        }).done(function () {\n            //check for empty product name\n            var isTimeOut = false;\n            setTimeout(function () {\n                isTimeOut = true;\n            }, 4000);\n\n            when(function () {\n                return window.kaspersky.verdictProduct\n            }, function(){\n                return  isTimeOut;\n            }).done(function () {\n                var obj = window.kaspersky;\n                var PCValue = (obj.verdictProduct && attrs[obj.verdictProduct.toLowerCase()]) || 'Other';\n                visitor.storeAttr('LRC Product', PCValue);\n            }).fail(function(){\n                visitor.storeAttr('LRC Product', 'Other');\n            });\n\n        });\n    };\n    var isPCEmpty = !visitor.getAttr('LRC Product');\n\n    if (isPcPage && isPCEmpty) {\n        setPC();\n\n        XMLHttpRequest.prototype.open = (function (origin) {\n            return function () {\n                if (arguments[1] && arguments[1].indexOf('licenseinfo?serial=') > -1) {\n                    this.addEventListener('readystatechange', function (e) {\n                        var evt = e.target;\n                        if (evt.readyState === 4) {\n                            setTimeout(setPC, 0);\n                        }\n                    }, false);\n                }\n\n                return origin.apply(this, arguments);\n            }\n        })(XMLHttpRequest.prototype.open);\n    }\n});","Order":-100,"HighLevelApiVersion":"1.12"},{"Name":"PC_LRCChannel","Type":"script","Attrs":{"type":"text/javascript"},"Data":"events.domReady(function () {\n    //window.kaspersky.pageName is defined successfully\n    var attrs = ['chadir', 'online', 'oem'];\n    var pageMask = ['lrc', 'renewal-center/home'];\n    var isPcPage = new RegExp('^/(' + pageMask.join('|') + ')/?$').test(location.pathname);\n    var setPC = function(){\n        var isTimeOut = false;\n        setTimeout(function () {\n            isTimeOut = true;\n        }, 10000);\n\n        when(function () {\n            return window.kaspersky &&\n                window.kaspersky.pageName &&\n                window.kaspersky.verdictChannel &&\n                window.kaspersky.pageName.toLowerCase().indexOf('lrc') > -1;\n        }, function () {\n            return isTimeOut;\n        }).done(function () {\n            var obj = window.kaspersky;\n            var PCValue = 'other';\n            var verdictVal = obj.verdictChannel.toLowerCase();\n\n            if (attrs.indexOf(verdictVal) > -1) {\n                PCValue = verdictVal;\n            } else if(verdictVal){\n                PCValue = 'name';\n            }\n\n            visitor.storeAttr('LRC Channel', PCValue);\n        });\n    };\n    var isPCEmpty = !visitor.getAttr('LRC Channel');\n\n    if (isPcPage && isPCEmpty) {\n        setPC();\n\n        XMLHttpRequest.prototype.open = (function (origin) {\n            return function () {\n                if (arguments[1] && arguments[1].indexOf('licenseinfo?serial=') > -1) {\n                    this.addEventListener('readystatechange', function (e) {\n                        var evt = e.target;\n                        if (evt.readyState === 4) {\n                            setPC();\n                        }\n                    }, false);\n                }\n\n                return origin.apply(this, arguments);\n            }\n        })(XMLHttpRequest.prototype.open);\n    }\n\n});","Order":-90,"HighLevelApiVersion":"1.12"},{"Name":"Plugin_ProductData","Type":"script","Attrs":{"type":"text/javascript"},"Data":"site.scope.productData = {\n\t'KTSMD': ['Kaspersky Total Security'],\n\t'KIS': ['Kaspersky Internet Security'],\n\t'Mac': ['Kaspersky Internet Security for Mac', 'Kaspersky Internet Security for MAC', 'Kaspersky Internet Security For Mac'],\n\t'Android': ['Kaspersky Internet Security for Android', 'Kaspersky Internet Security para Android'],\n\t'KAV': ['Kaspersky Anti-Virus'],\n\t'PM': ['Kaspersky Password Manager'],\n\t'Ext DWL': ['Extended Download Service', 'Erweiterter Download-Service'],\n\t'BackUp Disc': ['Backup Disc', 'Backup Disk', 'Order a Backup Disk', 'Backup-Lösung', 'Ihre Bestellung auf CD']\n};\n","Order":-80,"HighLevelApiVersion":"1.12"},{"Name":"Event_PageName","Type":"script","Attrs":{"type":"text/javascript"},"Data":"(function Event_PageName() {\n    var isTimeOut = false;\n    setTimeout(function () {\n        isTimeOut = true;\n    }, 10000);\n\n    var B2CPages = /Home > Home Products >|Startseite > Produkte für Privatanwender >|Home > Consumenten producten >|Página inicial > Produtos domésticos >|Hjem > Produkter til hjemmet >|Hem > Hemprodukter >/;\n\n    when(function () {\n        return window.kaspersky && window.kaspersky.pageName && window.kaspersky.pageName !== \"[NULL]\";\n    }, function () {\n        return isTimeOut;\n    }).done(function () {\n        var name = window.kaspersky.pageName;\n        events.trigger('pageNameDefined', {\n            pageName: name,\n            isB2C: B2CPages.test(name)\n        });\n    });\n})();","Order":-80,"HighLevelApiVersion":"1.12"},{"Name":"Plugin_jQueryBind","Type":"script","Attrs":{"type":"text/javascript"},"Data":"site.scope.jQueryBind = function (type, selector, handler, _jQuery_) {\n\tif (_jQuery_.fn.on) {\n\t\t_jQuery_(document).on(type, selector, handler);\n\t} else {\n\t\t_jQuery_(selector).live(type, handler);\n\t}\n};","Order":-80,"HighLevelApiVersion":"1.12"},{"Name":"Act_PDP","Type":"script","Attrs":{"type":"text/javascript"},"Data":"events.on('pdp_Arrival', function(data) {\n\tactions.set('PDP', 1, data.attr);\n});","Order":10,"HighLevelApiVersion":"1.12"},{"Name":"Act_TrialDWL","Type":"script","Attrs":{"type":"text/javascript"},"Data":"events.on('TrialDWL_Initiate', function(data) {\n\tactions.set('TrialDWL', 1, data.attr);\n});","Order":10,"HighLevelApiVersion":"1.12"},{"Name":"Event_PDP","Type":"script","Attrs":{"type":"text/javascript"},"Data":"(function Event_PDP() {\n    var attrByName = site.scope.productData;\n    var excludedPdpPageName = /> Downloads|> Renewal & Upgrade Center|> Center für Lizenzverlängerungen und Upgrades|> Verlengen en Upgrade Center|> Central de renovação e upgrade|> Fornyelses- og opgraderingscenter|> Hämtningar|> Förnyelse- & uppgraderingscenter/;\n\n    events.on('pageNameDefined', function (data) {\n        //var pageName = data.pageName.replace(/ \\d+$/, '');\n        var pageName = data.pageName.split(' – ').shift().replace(/ \\d+$/,'');\n        var attribute = 'Others';\n        if (data.isB2C && !excludedPdpPageName.test(pageName)) {\n            for (var key in attrByName) {\n                if (attrByName.hasOwnProperty(key)) {\n                    if (attrByName[key].indexOf(pageName.split(' > ').pop()) !== -1) {\n                        attribute = key;\n                    }\n                }\n            }\n\n            events.trigger('pdp_Arrival', {\n                attr: attribute\n            }, function () {\n                actions.send();\n            })\n        }\n    });\n\n})();","Order":100,"HighLevelApiVersion":"1.12"},{"Name":"Event_TrialDWL","Type":"script","Attrs":{"type":"text/javascript"},"Data":"(function Event_TrialDWL() {\n    var attrByName = site.scope.productData;\n    var downloadBtnNames = /download|baixar|hämta|prova nu|get it on google play|adquira no google play|hent den på google play|hämta från google play|free trial|avaliação gratuita|gratis prøveversion|prova utan kostnad|try for 30 days|herunterladen|download \\(auf google play\\)|download in google play|kostenlose testversion|30 tage kostenlos testen|teste por 30 dias|testa i 30 dagar|prøv produktet i 30 dage/;\n\n    var isTimeOut = false;\n    setTimeout(function () {\n        isTimeOut = true;\n    }, 10000);\n\n\n\n    events.on('pageNameDefined', function (data) {\n        var pageName = data.pageName.replace(/ \\d+$/, '');\n        var attribute = 'Others';\n        \n        if(!data.isB2C) {\n            return;\n        }\n\n        when(function () {\n            var downloadBtn = 0;\n            if (window.jQuery) {\n                downloadBtn = window.jQuery('.button:visible').filter(function () {\n                    return downloadBtnNames.test(this.innerHTML.toLowerCase());\n                }).length;\n            }\n            return window.jQuery && downloadBtn;\n        }, function () {\n            return isTimeOut;\n        }).done(function () {\n            var $ = window.jQuery;\n\t\t\tvar downloadBtn = '[resource=\"tools-section\"] .slick-slide a.button.green, .products-section .product-item.product-small .button.green, .products-section .product-item.product-small .button.transparent, .buy-block a:not(a.more), .buy-block a.button.transparent, .product-header .download-section a.button, .big-list-section a.button.red, .thankyou-section .button.red';\n\n\t\t\t$(document).on('click', downloadBtn, function (e) {\n\t\t\t\tvar buttonsOnDwdPageWithAutoDownloading = $(this).closest('[resource=\"tools-section\"]').length;\n\t\t\t\tvar androidDownloadingInitiateBtn = $(this).closest('.product-item.product-small').length\n\t\t\t\t\t&& ($(this).closest('.product-item.product-small').find('.product-title').text().toLowerCase().indexOf('android') !== -1 || $(this).text().toLowerCase().indexOf('app store') !== -1);\n                var $thisTextArr = ['download', 'update', 'aktualisieren', 'gratis proefversie','avaliação gratuita', 'atualizar', 'opdatering', 'uppdatera', 'gerenciamento on-line'];\n                var $thisTryBtnTextDoNotTrackArr = ['try for 30 days', '30 tage kostenlos testen', 'probeer 30 dagen uit', 'teste por 30 dias', 'prøv produktet i 30 dage', 'Testa i 30 dagar', 'jetzt testen', 'get free version', 'probeer nu', 'teste agora', 'prova nu', 'få gratis version', 'obtenha a versão gratuita', 'gratis download', 'hämta kostnadsfri version'];\n\t\t\t\tvar $thisPcMacBtnTextDoNotTrackArr = ['download for pc', 'download for mac', 'für pc herunterladen', 'für mac herunterladen', 'downloaden voor pc', 'downloaden voor mac', 'fazer download no pc', 'fazer download no mac', 'download til pc', 'download til mac', 'hämta för pc', 'hämta för mac'];\n                var kasPageNameArr = ['Home > Home Products > Downloads', 'Startseite > Produkte für Privatanwender > Downloads', 'Home > Consumenten producten > Downloads', 'Página inicial > Produtos domésticos > Downloads', 'Hjem > Produkter til hjemmet > Downloads', 'Hem > Hemprodukter > Hämtningar'];\n\n                function checkKasPageName(nameOfPage) {\n\t\t\t\t\treturn nameOfPage === window.kaspersky.pageName;\n\t\t\t\t}\n\n\t\t\t\tif ( ($(this).closest('.buy-block').length && !!~$thisTextArr.indexOf($(this).text().toLowerCase().trim())) ){\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( location.pathname === '/downloads' && !~kasPageNameArr.indexOf(checkKasPageName) ) {\n\t\t\t\t\tif ( !(buttonsOnDwdPageWithAutoDownloading || androidDownloadingInitiateBtn) ){\n\t\t\t\t\t\treturn;\n\t\t\t\t\t} else if ( !downloadBtnNames.test($(this).text().toLowerCase()) && !(location.pathname === '/downloads') ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t} else if ( ($thisTryBtnTextDoNotTrackArr.indexOf($(this).text().toLowerCase()) !== -1 && !(pageName.indexOf('Android') !== -1))\n                            || ( ($thisPcMacBtnTextDoNotTrackArr.indexOf($(this).text().toLowerCase()) !== -1)\n                                    && !(location.pathname.indexOf('/downloads/thank-you') !== -1)\n                                    && !$(this).closest('.text-center').find('p:contains(\"Secure Connection\")').length && (!$(this).closest('.buy-block').length) && (!$(this).closest('.big-list-section').length))) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n                var t = $(this);\n\n                if (!t.hasClass('mm_sending_actions')) {\n                    e.preventDefault();\n\n                    t.addClass('mm_sending_actions');\n\n                    var linkDataProductName = t.attr('data-omniture-product-name') || '';\n                    var carouselDataProductName = t.closest('.product-item.product-small').find('.product-title').text().replace(/\\s+|\\n/g,' ').trim();\n                    var compareVal = linkDataProductName || carouselDataProductName || pageName ;\n\n                    for (var key in attrByName) {\n                        if (attrByName.hasOwnProperty(key)) {\n                            if (attrByName[key].indexOf(compareVal.split(' > ').pop().replace(/ \\d+$/,'')) !== -1) {\n                                attribute = key;\n                            }\n                        }\n                    }\n                    events.trigger('TrialDWL_Initiate', {\n                        attr: attribute\n                    }, function () {\n                        actions\n                            .send()\n                            .done(function () {\n                                t[0].click();\n                                setTimeout(function () {\n                                    t.removeClass('mm_sending_actions');\n\t\t\t\t\t\t\t\t\tattribute = 'Others';\n                                }, 0);\n                            });\n                    });\n                }\n            });\n        });\n\n    });\n})();\n","Order":100,"HighLevelApiVersion":"1.12"},{"Name":"Event_Cart_Addition","Type":"script","Attrs":{"type":"text/javascript"},"Data":"(function Event_Cart_Addition() {\n    var attrByName = site.scope.productData;\n    var fireAction = function () {\n        var attribute = 'Others';\n        for (var key in attrByName) {\n            if (attrByName.hasOwnProperty(key)) {\n                if (attrByName[key].indexOf(cookies.get('mm_lastAddedProduct')) !== -1) {\n                    attribute = key;\n                    break;\n                }\n            }\n        }\n\n        events.trigger('Cart_Addition_event', {\n            attr: attribute\n        }, function () {\n            actions.send();\n        });\n        cookies.remove('mm_lastAddedProduct');\n    };\n\n    if (location.pathname === '/store' && cookies.get('mm_lastAddedProduct')) {\n        fireAction();\n    }\n\n    var isTimeOut = false;\n\n    setTimeout(function () {\n        isTimeOut = true;\n    }, 10000);\n\n    when(function () {\n        return window.jQuery\n            && (window.jQuery('.dr_button, a.button, a[href*=\"https://store.kaspersky.com/store/kasper/\"]').length\n            || window.jQuery('.dr_button').length || window.jQuery('a.button').length);\n    }, function () {\n        return isTimeOut;\n    }).done(function () {\n        var $ = window.jQuery;\n\n        var addToCartBtns = 'a[href*=\"https://store.kaspersky.com/store/kasper/\"], a.dr_button, a.button';\n        site.scope.jQueryBind('click', addToCartBtns, function () {\n            var t = $(this);\n            var attrCookie = t.attr('data-omniture-product-name') || '';\n\n            if (!attrCookie\n                && (t.hasClass('dr_button') || t.hasClass('button'))\n                && /hinzufügen|add to cart|jetzt bestellen/.test(t.text().toLowerCase())) {\n                attrCookie = t.parents('.kl_lineItem').find('span.AddOnName').text().trim().split(' - ').shift().replace(/ \\d+$/,'')\n                    || t.parents('.prodContainer').find('img').attr('title').trim().split(' - ').shift().replace(/ \\d+$/,'');\n            }\n\n            if (attrCookie) {\n                cookies.set('mm_lastAddedProduct', attrCookie.replace(/ \\d+$/,''));\n            }\n        }, $);\n\n\n        site.scope.jQueryBind('click', '.switchButton', function () {\n            if ($(this).hasClass('switchActive') && $(this).next('input').length) {\n                events.trigger('Cart_Addition_event', {\n                    attr: 'AR'\n                }, function () {\n                    actions.send();\n                });\n            }\n        }, $);\n\n    });\n})();\n","Order":100,"HighLevelApiVersion":"1.12"}],"Campaigns":[],"MRRules":[],"PersistData":[{"Name":"srv","IsGlobal":false,"Value":"nycvwcgeu01","Expiration":365},{"Name":"pd","IsGlobal":false,"Value":"-292526428|AQAAAApVAgBOJfUbQw8AAREAAUL0sQJ7AQCcPbuX8fnUSJw9u5fx+dRIAAAAAP//////////AAZEaXJlY3QBQw8BAAAAAAAAAAAA////////////////AAAAAAAAAAFF","Expiration":365}],"SiteInfo":[{"Url":"kaspersky.com","ID":481}],"SystemData":[{"Version":"1.0","RequestId":1,"ResponseId":1}],"GenInfo":{},"ServerAttributes":{},"Iteration":"GPxc1zLaHSYsR15gngNsUAP7--Q","Packages":["mmpackage-1.12.js"]});