diff --git a/build/cookieconsent.map b/build/cookieconsent.map index 0b4865e..4707ba1 100644 --- a/build/cookieconsent.map +++ b/build/cookieconsent.map @@ -1 +1 @@ -{"version":3,"sources":["../node_modules/core-js/modules/_global.js","../node_modules/core-js/modules/_has.js","../node_modules/core-js/modules/_fails.js","../node_modules/core-js/modules/_descriptors.js","../node_modules/core-js/modules/_core.js","../node_modules/core-js/modules/_is-object.js","../node_modules/core-js/modules/_an-object.js","../node_modules/core-js/modules/_dom-create.js","../node_modules/core-js/modules/_ie8-dom-define.js","../node_modules/core-js/modules/_to-primitive.js","../node_modules/core-js/modules/_object-dp.js","../node_modules/core-js/modules/_property-desc.js","../node_modules/core-js/modules/_hide.js","../node_modules/core-js/modules/_uid.js","../node_modules/core-js/modules/_library.js","../node_modules/core-js/modules/_shared.js","../node_modules/core-js/modules/_function-to-string.js","../node_modules/core-js/modules/_redefine.js","../node_modules/core-js/modules/_a-function.js","../node_modules/core-js/modules/_ctx.js","../node_modules/core-js/modules/_export.js","../node_modules/core-js/modules/_meta.js","../node_modules/core-js/modules/_wks.js","../node_modules/core-js/modules/_set-to-string-tag.js","../node_modules/core-js/modules/_wks-ext.js","../node_modules/core-js/modules/_wks-define.js","../node_modules/core-js/modules/_cof.js","../node_modules/core-js/modules/_iobject.js","../node_modules/core-js/modules/_defined.js","../node_modules/core-js/modules/_to-iobject.js","../node_modules/core-js/modules/_to-integer.js","../node_modules/core-js/modules/_to-length.js","../node_modules/core-js/modules/_to-absolute-index.js","../node_modules/core-js/modules/_array-includes.js","../node_modules/core-js/modules/_shared-key.js","../node_modules/core-js/modules/_object-keys-internal.js","../node_modules/core-js/modules/_enum-bug-keys.js","../node_modules/core-js/modules/_object-keys.js","../node_modules/core-js/modules/_object-gops.js","../node_modules/core-js/modules/_object-pie.js","../node_modules/core-js/modules/_enum-keys.js","../node_modules/core-js/modules/_is-array.js","../node_modules/core-js/modules/_object-dps.js","../node_modules/core-js/modules/_html.js","../node_modules/core-js/modules/_object-create.js","../node_modules/core-js/modules/_object-gopn.js","../node_modules/core-js/modules/_object-gopn-ext.js","../node_modules/core-js/modules/_object-gopd.js","../node_modules/core-js/modules/es6.symbol.js","../node_modules/core-js/modules/_classof.js","../node_modules/core-js/modules/es6.object.to-string.js","../node_modules/core-js/es6/symbol.js","../node_modules/core-js/modules/_string-at.js","../node_modules/core-js/modules/_iterators.js","../node_modules/core-js/modules/_iter-create.js","../node_modules/core-js/modules/_to-object.js","../node_modules/core-js/modules/_object-gpo.js","../node_modules/core-js/modules/_iter-define.js","../node_modules/core-js/modules/es6.string.iterator.js","../node_modules/core-js/modules/_add-to-unscopables.js","../node_modules/core-js/modules/_iter-step.js","../node_modules/core-js/modules/es6.array.iterator.js","../node_modules/core-js/modules/web.dom.iterable.js","../node_modules/core-js/fn/symbol/iterator.js","lib/Utilities.js","lib/Filter.js","lib/InsertScriptFilter.js","lib/ScriptTagFilter.js","lib/WrapperFilter.js","lib/LocalCookieFilter.js","../node_modules/redom/dist/redom.es.js","lib/Language.js","lib/Interface.js","../node_modules/lodash/_listCacheClear.js","../node_modules/lodash/eq.js","../node_modules/lodash/_assocIndexOf.js","../node_modules/lodash/_listCacheDelete.js","../node_modules/lodash/_listCacheGet.js","../node_modules/lodash/_listCacheHas.js","../node_modules/lodash/_listCacheSet.js","../node_modules/lodash/_ListCache.js","../node_modules/lodash/_stackClear.js","../node_modules/lodash/_stackDelete.js","../node_modules/lodash/_stackGet.js","../node_modules/lodash/_stackHas.js","../node_modules/lodash/_freeGlobal.js","../node_modules/lodash/_root.js","../node_modules/lodash/_Symbol.js","../node_modules/lodash/_getRawTag.js","../node_modules/lodash/_objectToString.js","../node_modules/lodash/_baseGetTag.js","../node_modules/lodash/isObject.js","../node_modules/lodash/isFunction.js","../node_modules/lodash/_coreJsData.js","../node_modules/lodash/_isMasked.js","../node_modules/lodash/_toSource.js","../node_modules/lodash/_baseIsNative.js","../node_modules/lodash/_getValue.js","../node_modules/lodash/_getNative.js","../node_modules/lodash/_Map.js","../node_modules/lodash/_nativeCreate.js","../node_modules/lodash/_hashClear.js","../node_modules/lodash/_hashDelete.js","../node_modules/lodash/_hashGet.js","../node_modules/lodash/_hashHas.js","../node_modules/lodash/_hashSet.js","../node_modules/lodash/_Hash.js","../node_modules/lodash/_mapCacheClear.js","../node_modules/lodash/_isKeyable.js","../node_modules/lodash/_getMapData.js","../node_modules/lodash/_mapCacheDelete.js","../node_modules/lodash/_mapCacheGet.js","../node_modules/lodash/_mapCacheHas.js","../node_modules/lodash/_mapCacheSet.js","../node_modules/lodash/_MapCache.js","../node_modules/lodash/_stackSet.js","../node_modules/lodash/_Stack.js","../node_modules/lodash/_defineProperty.js","../node_modules/lodash/_baseAssignValue.js","../node_modules/lodash/_assignMergeValue.js","../node_modules/lodash/_createBaseFor.js","../node_modules/lodash/_baseFor.js","../node_modules/lodash/_cloneBuffer.js","../node_modules/lodash/_Uint8Array.js","../node_modules/lodash/_cloneArrayBuffer.js","../node_modules/lodash/_cloneTypedArray.js","../node_modules/lodash/_copyArray.js","../node_modules/lodash/_baseCreate.js","../node_modules/lodash/_overArg.js","../node_modules/lodash/_getPrototype.js","../node_modules/lodash/_isPrototype.js","../node_modules/lodash/_initCloneObject.js","../node_modules/lodash/isObjectLike.js","../node_modules/lodash/_baseIsArguments.js","../node_modules/lodash/isArguments.js","../node_modules/lodash/isArray.js","../node_modules/lodash/isLength.js","../node_modules/lodash/isArrayLike.js","../node_modules/lodash/isArrayLikeObject.js","../node_modules/lodash/stubFalse.js","../node_modules/lodash/isBuffer.js","../node_modules/lodash/isPlainObject.js","../node_modules/lodash/_baseIsTypedArray.js","../node_modules/lodash/_baseUnary.js","../node_modules/lodash/_nodeUtil.js","../node_modules/lodash/isTypedArray.js","../node_modules/lodash/_safeGet.js","../node_modules/lodash/_assignValue.js","../node_modules/lodash/_copyObject.js","../node_modules/lodash/_baseTimes.js","../node_modules/lodash/_isIndex.js","../node_modules/lodash/_arrayLikeKeys.js","../node_modules/lodash/_nativeKeysIn.js","../node_modules/lodash/_baseKeysIn.js","../node_modules/lodash/keysIn.js","../node_modules/lodash/toPlainObject.js","../node_modules/lodash/_baseMergeDeep.js","../node_modules/lodash/_baseMerge.js","../node_modules/lodash/identity.js","../node_modules/lodash/_apply.js","../node_modules/lodash/_overRest.js","../node_modules/lodash/constant.js","../node_modules/lodash/_baseSetToString.js","../node_modules/lodash/_shortOut.js","../node_modules/lodash/_setToString.js","../node_modules/lodash/_baseRest.js","../node_modules/lodash/_isIterateeCall.js","../node_modules/lodash/_createAssigner.js","../node_modules/lodash/merge.js","lib/Configuration.js","lib/RemoveCookies.js","lib/CookieConsent.js","index.js"],"names":["Utilities","fn","document","attachEvent","readyState","addEventListener","obj","Object","prototype","toString","call","slice","col","amt","usePound","num","parseInt","r","b","g","cookie","category","categories","window","CookieConsent","key","config","services","push","elem","event","Event","createEvent","initEvent","dispatchEvent","Filter","type","service","needed","wanted","blacklist","objectType","search","i","length","InsertScriptFilter","overrideAppendChild","overrideInsertBefore","Element","appendChild","arguments","tagName","outerHTML","indexOf","buffer","undefined","Node","apply","insertBefore","ScriptTagFilter","filterTags","ready","scriptTags","querySelectorAll","scriptTag","dataset","consent","newtag","createElement","parentNode","attributes","attribute","setAttribute","nodeName","nodeValue","innerHTML","removeChild","WrapperFilter","filterWrappers","wrapper","name","callback","LocalCookieFilter","filterlocalCookies","cookieDescriptor","getOwnPropertyDescriptor","HTMLDocument","get","__lookupGetter__","set","__lookupSetter__","getCookieDescriptor","defineProperty","configurable","cookieArguments","cookieName","split","Array","forEach","blacklistItem","HASH","charCodeAt","DOT","TAG_NAME","ID","CLASS_NAME","parseQuery","query","tag","id","className","mode","offset","char","isHash","isDot","isEnd","substring","ns","ref","element","createElementNS","unmount","parent","child","parentEl","getEl","childEl","__redom_view","doUnmount","hooks","__redom_lifecycle","hooksAreEmpty","__redom_mounted","traverse","trigger","parentHooks","hook","hookNames","shadowRootAvailable","mount","before","replace","wasMounted","oldParent","replaceChild","doMount","remount","hooksFound","list","hookName","triggered","ShadowRoot","el","eventName","view","hookCount","firstChild","next","nextSibling","setStyle","arg1","arg2","style","xlinkns","setAttr","isSVG","SVGElement","isFunc","setData","setXlink","setAttributeNS","text","str","createTextNode","parseArguments","args","arg","isNode","ensureEl","html","nodeType","a","htmlCache","memoizeHTML","len","cloneNode","Query","Function","bind","concat","Error","extend","clone","h","setChildren","children","current","_current","childEls","i$1","exists","__redom_index","propKey","item","listPool","View","initData","ListPool","oldLookup","lookup","oldViews","views","update","data","context","keySet","newLookup","newViews","__redom_id","List","__redom_list","pool","ref$1","oldView","place","Place","visible","_placeholder","_el","_View","_initData","placeholder","router","Views","Router","route","svgCache","memoizeSVG","svg","s","Language","locale","language","object","currentLocale","hasOwnProperty","Interface","elements","theme","barColor","barTextColor","barMainButtonTextColor","barMainButtonColor","modalMainButtonColor","modalMainButtonTextColor","lightenDarkenColor","getTranslation","listCookies","listItems","modalTabGroups","contentItems","checked","version","preserveAspectRatio","viewBox","class","d","modalMainTextMoreLink","href","target","rel","tabGroups","tabGroup","classList","contains","add","querySelector","remove","insertedElem","body","that","render","buildStyle","buildBar","bar","cookieExists","setTimeout","barTimeout","buildModal","buttonConsentGive","button","writeBufferToDOM","buildCookie","setCookie","modalRedrawIcons","getElementsByClassName","edit","getDlParent","eventTarget","parentDl","dt","getElementById","switchElements","switchElement","action","this","lastChild","cookieVersion","listGlobalServices","expires_in","Date","now","toUTCString","JSON","stringify","Configuration","configObject","setConfiguration","active","en","barMainText","barLinkSetting","barBtnAcceptAll","modalMainTitle","modalMainText","modalBtnSave","modalBtnAcceptAll","modalAffectedSolutions","learnMore","on","off","hu","cookieToConfig","removeReload","removeCookie","location","reload","filter","cookieData","parse","RemoveCookies","removeUnwantedCookies","cookieList","map","cookies","cookieDef","c","match","domain","removeCookies","insertScriptFilter","scriptTagFilter","wrapperFilter","localCookieFilter","init","UI","buildInterface","addEventListeners","cookieConsent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;;ACFA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1OA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1DA;AACA;AACA;AACA;;;;;;;;;;;;;;;ICHqBA;;;;;;;;;0BAENC,IAAI;AACf,UAAIC,QAAQ,CAACC,WAAT,GAAuBD,QAAQ,CAACE,UAAT,KAAwB,UAA/C,GAA4DF,QAAQ,CAACE,UAAT,KAAwB,SAAxF,EAAkG;AAChGH,QAAAA,EAAE;AACH,OAFD,MAEO;AACLC,QAAAA,QAAQ,CAACG,gBAAT,CAA0B,kBAA1B,EAA8CJ,EAA9C;AACD;AACF;;;+BAEiBK,KAAI;AACpB,aAAOC,MAAM,CAACC,SAAP,CAAiBC,QAAjB,CAA0BC,IAA1B,CAA+BJ,GAA/B,EAAoCK,KAApC,CAA0C,CAA1C,EAA6C,CAAC,CAA9C,CAAP;AACD;;;uCAEyBC,KAAKC,KAAK;AAElC,UAAIC,QAAQ,GAAG,KAAf;;AAEA,UAAIF,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P,GAAkB3B,mBAAUqT,kBAAV,EAAlB;AAEA,UAAIpO,QAAJ,EAAcA,QAAQ,CAAC7D,MAAD,CAAR;AACd,aAAOA,MAAP;AACD;;;8BAESA,QAAQ6D,UAAU;AAC1B,UAAMqO,UAAU,GAAG,IAAIC,IAAJ,CAASA,IAAI,CAACC,GAAL,KAAa,MAAM,EAAN,GAAW,EAAX,GAAgB,EAAhB,GAAqB,IAA3C,EAAiDC,WAAjD,EAAnB;AAEAvT,MAAAA,QAAQ,CAACkB,MAAT,sBAA8BsS,IAAI,CAACC,SAAL,CAAevS,MAAf,CAA9B,uBAAiEkS,UAAjE;AACA,UAAIrO,QAAJ,EAAcA,QAAQ;AACvB;;;;;;;;AC1XH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACvCA;;AACA;;;;;;;;;;IAEqB2O;;;AAEnB,yBAAYC,YAAZ,EAA0B;AAAA;;AAExBtS,IAAAA,MAAM,CAACC,aAAP,CAAqB8B,MAArB,GA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","file":"cookieconsent.map","sourceRoot":"..\\src","sourcesContent":["// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var core = module.exports = { version: '2.6.5' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","module.exports = false;\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar $toString = require('./_function-to-string');\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","exports.f = require('./_wks');\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","exports.f = {}.propertyIsEnumerable;\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof');\nvar test = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif (test + '' != '[object z]') {\n require('./_redefine')(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n","require('../modules/es6.symbol');\nrequire('../modules/es6.object.to-string');\nmodule.exports = require('../modules/_core').Symbol;\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","module.exports = {};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var $iterators = require('./es6.array.iterator');\nvar getKeys = require('./_object-keys');\nvar redefine = require('./_redefine');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar wks = require('./_wks');\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n CSSRuleList: true, // TODO: Not spec compliant, should be false.\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true, // TODO: Not spec compliant, should be false.\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true, // TODO: Not spec compliant, should be false.\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n}\n","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n","export default class Utilities {\r\n\r\n static ready(fn) {\r\n if (document.attachEvent ? document.readyState === \"complete\" : document.readyState !== \"loading\"){\r\n fn();\r\n } else {\r\n document.addEventListener('DOMContentLoaded', fn);\r\n }\r\n }\r\n \r\n static objectType(obj){\r\n return Object.prototype.toString.call(obj).slice(8, -1);\r\n }\r\n\r\n static lightenDarkenColor(col, amt) {\r\n\r\n var usePound = false;\r\n \r\n if (col[0] == \"#\") {\r\n col = col.slice(1);\r\n usePound = true;\r\n }\r\n \r\n var num = parseInt(col, 16);\r\n \r\n var r = (num >> 16) + amt;\r\n \r\n if (r > 255) {\r\n r = 255;\r\n } else if (r < 0) {\r\n r = 0;\r\n }\r\n \r\n var b = ((num >> 8) & 0x00FF) + amt;\r\n \r\n if (b > 255) {\r\n b = 255;\r\n } else if (b < 0) {\r\n b = 0;\r\n }\r\n \r\n var g = (num & 0x0000FF) + amt;\r\n \r\n if (g > 255) {\r\n g = 255;\r\n } else if (g < 0) {\r\n g = 0;\r\n }\r\n \r\n return (usePound ? \"#\" : \"\") + (g | (b << 8) | (r << 16)).toString(16);\r\n \r\n }\r\n\r\n static removeCookie() {\r\n document.cookie = `cconsent=; expires=Thu, 01 Jan 1980 00:00:00 UTC; path=/;`;\r\n }\r\n\r\n // Create an array of services from Cookieconsent global object\r\n // Filter based on category or leave empty is all is wanted\r\n static listGlobalServices(category) {\r\n let categories = [];\r\n\r\n // Global config objectnot set\r\n if (typeof window.CookieConsent === 'undefined') return categories;\r\n\r\n // Category is not specified or opposite\r\n if (typeof category === 'undefined') {\r\n for (let key in window.CookieConsent.config.services) {\r\n categories.push(key);\r\n }\r\n } else {\r\n for (let key in window.CookieConsent.config.services) {\r\n if (window.CookieConsent.config.services[key].category === category) categories.push(key);\r\n }\r\n }\r\n\r\n return categories;\r\n }\r\n\r\n static dispatchEvent(elem, event) {\r\n var event;\r\n\r\n if (typeof(Event) === 'function') {\r\n event = new Event(event);\r\n } else {\r\n event = document.createEvent('Event');\r\n event.initEvent(event, true, true);\r\n }\r\n \r\n elem.dispatchEvent(event);\r\n }\r\n\r\n}\r\n","import Utilities from \"./Utilities\";\r\n\r\nexport default class Filter {\r\n\r\n createBlacklist(type) {\r\n var services = {};\r\n for(var service in window.CookieConsent.config.services) {\r\n if (window.CookieConsent.config.services[service].type === type) {\r\n if(window.CookieConsent.config.categories[window.CookieConsent.config.services[service].category].needed === false) {\r\n if (window.CookieConsent.config.categories[window.CookieConsent.config.services[service].category].wanted === false) {\r\n services[service] = window.CookieConsent.config.services[service];\r\n }\r\n }\r\n }\r\n }\r\n\r\n var blacklist = [];\r\n\r\n for(var service in services) {\r\n var type = Utilities.objectType(services[service].search);\r\n if (type === 'String') {\r\n blacklist.push(services[service].search);\r\n } else if(type === 'Array') {\r\n for (let i = 0; i < services[service].search.length; i++) {\r\n blacklist.push(services[service].search[i]);\r\n }\r\n }\r\n }\r\n\r\n return blacklist;\r\n }\r\n\r\n}","import Filter from './Filter';\r\n\r\nexport default class InsertScriptFilter extends Filter {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n init() {\r\n this.overrideAppendChild();\r\n this.overrideInsertBefore();\r\n }\r\n\r\n overrideAppendChild() {\r\n\r\n Element.prototype.appendChild = function(elem) {\r\n if(arguments[0].tagName === 'SCRIPT') {\r\n //console.log('Appending:', arguments);\r\n for (let key in window.CookieConsent.config.services) {\r\n // Did user opt-in?\r\n if(window.CookieConsent.config.services[key].type === 'dynamic-script') {\r\n if(arguments[0].outerHTML.indexOf(window.CookieConsent.config.services[key].search) >= 0) {\r\n if(window.CookieConsent.config.categories[window.CookieConsent.config.services[key].category].wanted === false) {\r\n window.CookieConsent.buffer.appendChild.push({'this': this, 'category': window.CookieConsent.config.services[key].category, arguments: arguments});\r\n return undefined;\r\n }\r\n }\r\n }\r\n }\r\n } \r\n \r\n return Node.prototype.appendChild.apply(this, arguments);\r\n }\r\n\r\n }\r\n\r\n overrideInsertBefore() {\r\n\r\n Element.prototype.insertBefore = function(elem) {\r\n \r\n if(arguments[0].tagName === 'SCRIPT') {\r\n //console.log('Inserting:', arguments);\r\n for (let key in window.CookieConsent.config.services) {\r\n // Did user opt-in?\r\n if(window.CookieConsent.config.services[key].type === 'dynamic-script') {\r\n if(arguments[0].outerHTML.indexOf(window.CookieConsent.config.services[key].search) >= 0) {\r\n if(window.CookieConsent.config.categories[window.CookieConsent.config.services[key].category].wanted === false) {\r\n window.CookieConsent.buffer.insertBefore.push({'this': this, 'category': window.CookieConsent.config.services[key].category, arguments: arguments});\r\n return undefined;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n \r\n return Node.prototype.insertBefore.apply(this, arguments);\r\n }\r\n }\r\n\r\n}","import Utilities from \"./Utilities\";\r\nimport Filter from './Filter';\r\n\r\nexport default class ScriptTagFilter extends Filter {\r\n \r\n constructor() {\r\n super();\r\n }\r\n\r\n init() {\r\n this.filterTags();\r\n }\r\n\r\n filterTags() {\r\n Utilities.ready(() => {\r\n var blacklist = super.createBlacklist('script-tag');\r\n var scriptTags = document.querySelectorAll('script[type=\"text/plain\"]');\r\n \r\n for (var scriptTag of scriptTags) {\r\n if (blacklist.indexOf(scriptTag.dataset.consent) < 0) {\r\n var newtag = document.createElement('script');\r\n var parentNode = scriptTag.parentNode;\r\n \r\n scriptTag.type = 'text/javascript';\r\n\r\n for(var attribute of scriptTag.attributes) {\r\n newtag.setAttribute(attribute.nodeName, attribute.nodeValue);\r\n }\r\n\r\n newtag.innerHTML = scriptTag.innerHTML;\r\n parentNode.insertBefore(newtag,scriptTag);\r\n parentNode.removeChild(scriptTag);\r\n }\r\n }\r\n });\r\n }\r\n}","import Filter from './Filter';\r\n\r\nexport default class WrapperFilter extends Filter {\r\n \r\n constructor() {\r\n super();\r\n }\r\n\r\n init() {\r\n this.filterWrappers();\r\n }\r\n\r\n filterWrappers() {\r\n var blacklist = super.createBlacklist('wrapped');\r\n\r\n function wrapper(name='', callback) {\r\n if (blacklist.indexOf(name) < 0) {\r\n callback();\r\n }\r\n }\r\n\r\n window.CookieConsent.wrapper = wrapper;\r\n }\r\n}","import Filter from './Filter';\r\n\r\nexport default class LocalCookieFilter extends Filter {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n init() {\r\n this.filterlocalCookies();\r\n }\r\n\r\n getCookieDescriptor() {\r\n var cookieDescriptor;\r\n\r\n cookieDescriptor = Object.getOwnPropertyDescriptor(document, 'cookie') ||\r\n Object.getOwnPropertyDescriptor(HTMLDocument.prototype, 'cookie');\r\n\r\n if (! cookieDescriptor) {\r\n\r\n cookieDescriptor = {};\r\n cookieDescriptor.get = HTMLDocument.prototype.__lookupGetter__(\"cookie\");\r\n cookieDescriptor.set = HTMLDocument.prototype.__lookupSetter__(\"cookie\");\r\n\r\n }\r\n\r\n return cookieDescriptor;\r\n }\r\n\r\n filterlocalCookies() {\r\n\r\n // TODO - implement buffer\r\n var blacklist = super.createBlacklist('localcookie');\r\n var cookieDescriptor = this.getCookieDescriptor();\r\n\r\n Object.defineProperty(document, \"cookie\", {\r\n configurable: true,\r\n get: function () {\r\n return cookieDescriptor.get.apply(document);\r\n },\r\n set: function () {\r\n var cookieArguments = arguments;\r\n\r\n if(blacklist.length) {\r\n var cookieName = arguments[0].split('=')[0];\r\n Array.prototype.forEach.call(blacklist, function(blacklistItem){\r\n if (cookieName.indexOf(blacklistItem) < 0) cookieDescriptor.set.apply(document, cookieArguments);\r\n });\r\n } else {\r\n cookieDescriptor.set.apply(document, cookieArguments);\r\n }\r\n }\r\n });\r\n }\r\n}","var HASH = '#'.charCodeAt(0);\nvar DOT = '.'.charCodeAt(0);\n\nvar TAG_NAME = 0;\nvar ID = 1;\nvar CLASS_NAME = 2;\n\nvar parseQuery = function (query) {\n var tag = null;\n var id = null;\n var className = null;\n var mode = TAG_NAME;\n var offset = 0;\n\n for (var i = 0; i <= query.length; i++) {\n var char = query.charCodeAt(i);\n var isHash = char === HASH;\n var isDot = char === DOT;\n var isEnd = !char;\n\n if (isHash || isDot || isEnd) {\n if (mode === TAG_NAME) {\n if (i === 0) {\n tag = 'div';\n } else {\n tag = query.substring(offset, i);\n }\n } else if (mode === ID) {\n id = query.substring(offset, i);\n } else {\n if (className) {\n className += ' ' + query.substring(offset, i);\n } else {\n className = query.substring(offset, i);\n }\n }\n\n if (isHash) {\n mode = ID;\n } else if (isDot) {\n mode = CLASS_NAME;\n }\n\n offset = i + 1;\n }\n }\n\n return { tag: tag, id: id, className: className };\n};\n\nvar createElement = function (query, ns) {\n var ref = parseQuery(query);\n var tag = ref.tag;\n var id = ref.id;\n var className = ref.className;\n var element = ns ? document.createElementNS(ns, tag) : document.createElement(tag);\n\n if (id) {\n element.id = id;\n }\n\n if (className) {\n if (ns) {\n element.setAttribute('class', className);\n } else {\n element.className = className;\n }\n }\n\n return element;\n};\n\nvar unmount = function (parent, child) {\n var parentEl = getEl(parent);\n var childEl = getEl(child);\n\n if (child === childEl && childEl.__redom_view) {\n // try to look up the view if not provided\n child = childEl.__redom_view;\n }\n\n if (childEl.parentNode) {\n doUnmount(child, childEl, parentEl);\n\n parentEl.removeChild(childEl);\n }\n\n return child;\n};\n\nvar doUnmount = function (child, childEl, parentEl) {\n var hooks = childEl.__redom_lifecycle;\n\n if (hooksAreEmpty(hooks)) {\n childEl.__redom_mounted = false;\n return;\n }\n\n var traverse = parentEl;\n\n if (childEl.__redom_mounted) {\n trigger(childEl, 'onunmount');\n }\n\n while (traverse) {\n var parentHooks = traverse.__redom_lifecycle || {};\n\n for (var hook in hooks) {\n if (parentHooks[hook]) {\n parentHooks[hook] -= hooks[hook];\n }\n }\n\n if (hooksAreEmpty(parentHooks)) {\n traverse.__redom_lifecycle = null;\n }\n\n traverse = traverse.parentNode;\n }\n};\n\nvar hooksAreEmpty = function (hooks) {\n if (hooks == null) {\n return true;\n }\n for (var key in hooks) {\n if (hooks[key]) {\n return false;\n }\n }\n return true;\n};\n\nvar hookNames = ['onmount', 'onremount', 'onunmount'];\nvar shadowRootAvailable = typeof window !== 'undefined' && 'ShadowRoot' in window;\n\nvar mount = function (parent, child, before, replace) {\n var parentEl = getEl(parent);\n var childEl = getEl(child);\n\n if (child === childEl && childEl.__redom_view) {\n // try to look up the view if not provided\n child = childEl.__redom_view;\n }\n\n if (child !== childEl) {\n childEl.__redom_view = child;\n }\n\n var wasMounted = childEl.__redom_mounted;\n var oldParent = childEl.parentNode;\n\n if (wasMounted && (oldParent !== parentEl)) {\n doUnmount(child, childEl, oldParent);\n }\n\n if (before != null) {\n if (replace) {\n parentEl.replaceChild(childEl, getEl(before));\n } else {\n parentEl.insertBefore(childEl, getEl(before));\n }\n } else {\n parentEl.appendChild(childEl);\n }\n\n doMount(child, childEl, parentEl, oldParent);\n\n return child;\n};\n\nvar doMount = function (child, childEl, parentEl, oldParent) {\n var hooks = childEl.__redom_lifecycle || (childEl.__redom_lifecycle = {});\n var remount = (parentEl === oldParent);\n var hooksFound = false;\n\n for (var i = 0, list = hookNames; i < list.length; i += 1) {\n var hookName = list[i];\n\n if (!remount) { // if already mounted, skip this phase\n if (child !== childEl) { // only Views can have lifecycle events\n if (hookName in child) {\n hooks[hookName] = (hooks[hookName] || 0) + 1;\n }\n }\n }\n if (hooks[hookName]) {\n hooksFound = true;\n }\n }\n\n if (!hooksFound) {\n childEl.__redom_mounted = true;\n return;\n }\n\n var traverse = parentEl;\n var triggered = false;\n\n if (remount || (traverse && traverse.__redom_mounted)) {\n trigger(childEl, remount ? 'onremount' : 'onmount');\n triggered = true;\n }\n\n while (traverse) {\n var parent = traverse.parentNode;\n var parentHooks = traverse.__redom_lifecycle || (traverse.__redom_lifecycle = {});\n\n for (var hook in hooks) {\n parentHooks[hook] = (parentHooks[hook] || 0) + hooks[hook];\n }\n\n if (triggered) {\n break;\n } else {\n if (traverse === document ||\n (shadowRootAvailable && (traverse instanceof window.ShadowRoot)) ||\n (parent && parent.__redom_mounted)\n ) {\n trigger(traverse, remount ? 'onremount' : 'onmount');\n triggered = true;\n }\n traverse = parent;\n }\n }\n};\n\nvar trigger = function (el, eventName) {\n if (eventName === 'onmount' || eventName === 'onremount') {\n el.__redom_mounted = true;\n } else if (eventName === 'onunmount') {\n el.__redom_mounted = false;\n }\n\n var hooks = el.__redom_lifecycle;\n\n if (!hooks) {\n return;\n }\n\n var view = el.__redom_view;\n var hookCount = 0;\n\n view && view[eventName] && view[eventName]();\n\n for (var hook in hooks) {\n if (hook) {\n hookCount++;\n }\n }\n\n if (hookCount) {\n var traverse = el.firstChild;\n\n while (traverse) {\n var next = traverse.nextSibling;\n\n trigger(traverse, eventName);\n\n traverse = next;\n }\n }\n};\n\nvar setStyle = function (view, arg1, arg2) {\n var el = getEl(view);\n\n if (arg2 !== undefined) {\n el.style[arg1] = arg2;\n } else if (typeof arg1 === 'string') {\n el.setAttribute('style', arg1);\n } else {\n for (var key in arg1) {\n setStyle(el, key, arg1[key]);\n }\n }\n};\n\n/* global SVGElement */\n\nvar xlinkns = 'http://www.w3.org/1999/xlink';\n\nvar setAttr = function (view, arg1, arg2) {\n var el = getEl(view);\n var isSVG = el instanceof SVGElement;\n\n var isFunc = typeof arg2 === 'function';\n\n if (arg2 !== undefined) {\n if (arg1 === 'style') {\n setStyle(el, arg2);\n } else if (isSVG && isFunc) {\n el[arg1] = arg2;\n } else if (arg1 === 'dataset') {\n setData(el, arg2);\n } else if (!isSVG && (arg1 in el || isFunc)) {\n el[arg1] = arg2;\n } else {\n if (isSVG && (arg1 === 'xlink')) {\n setXlink(el, arg2);\n return;\n }\n el.setAttribute(arg1, arg2);\n }\n } else {\n for (var key in arg1) {\n setAttr(el, key, arg1[key]);\n }\n }\n};\n\nfunction setXlink (el, obj) {\n for (var key in obj) {\n el.setAttributeNS(xlinkns, key, obj[key]);\n }\n}\n\nfunction setData (el, obj) {\n for (var key in obj) {\n el.dataset[key] = obj[key];\n }\n}\n\nvar text = function (str) { return document.createTextNode((str != null) ? str : ''); };\n\nvar parseArguments = function (element, args) {\n for (var i = 0, list = args; i < list.length; i += 1) {\n var arg = list[i];\n\n if (arg !== 0 && !arg) {\n continue;\n }\n\n var type = typeof arg;\n\n // support middleware\n if (type === 'function') {\n arg(element);\n } else if (type === 'string' || type === 'number') {\n element.appendChild(text(arg));\n } else if (isNode(getEl(arg))) {\n mount(element, arg);\n } else if (arg.length) {\n parseArguments(element, arg);\n } else if (type === 'object') {\n setAttr(element, arg);\n }\n }\n};\n\nvar ensureEl = function (parent) { return typeof parent === 'string' ? html(parent) : getEl(parent); };\nvar getEl = function (parent) { return (parent.nodeType && parent) || (!parent.el && parent) || getEl(parent.el); };\nvar isNode = function (a) { return a && a.nodeType; };\n\nvar htmlCache = {};\n\nvar memoizeHTML = function (query) { return htmlCache[query] || (htmlCache[query] = createElement(query)); };\n\nvar html = function (query) {\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n var element;\n\n var type = typeof query;\n\n if (type === 'string') {\n element = memoizeHTML(query).cloneNode(false);\n } else if (isNode(query)) {\n element = query.cloneNode(false);\n } else if (type === 'function') {\n var Query = query;\n element = new (Function.prototype.bind.apply( Query, [ null ].concat( args) ));\n } else {\n throw new Error('At least one argument required');\n }\n\n parseArguments(getEl(element), args);\n\n return element;\n};\n\nhtml.extend = function (query) {\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n var clone = memoizeHTML(query);\n\n return html.bind.apply(html, [ this, clone ].concat( args ));\n};\n\nvar el = html;\nvar h = html;\n\nvar setChildren = function (parent) {\n var children = [], len = arguments.length - 1;\n while ( len-- > 0 ) children[ len ] = arguments[ len + 1 ];\n\n var parentEl = getEl(parent);\n var current = traverse(parent, children, parentEl.firstChild);\n\n while (current) {\n var next = current.nextSibling;\n\n unmount(parent, current);\n\n current = next;\n }\n};\n\nfunction traverse (parent, children, _current) {\n var current = _current;\n\n var childEls = new Array(children.length);\n\n for (var i = 0; i < children.length; i++) {\n childEls[i] = children[i] && getEl(children[i]);\n }\n\n for (var i$1 = 0; i$1 < children.length; i$1++) {\n var child = children[i$1];\n\n if (!child) {\n continue;\n }\n\n var childEl = childEls[i$1];\n\n if (childEl === current) {\n current = current.nextSibling;\n continue;\n }\n\n if (isNode(childEl)) {\n var next = current && current.nextSibling;\n var exists = child.__redom_index != null;\n var replace = exists && next === childEls[i$1 + 1];\n\n mount(parent, child, current, replace);\n\n if (replace) {\n current = next;\n }\n\n continue;\n }\n\n if (child.length != null) {\n current = traverse(parent, child, current);\n }\n }\n\n return current;\n}\n\nvar propKey = function (key) { return function (item) { return item[key]; }; };\n\nvar listPool = function (View, key, initData) {\n return new ListPool(View, key, initData);\n};\n\nvar ListPool = function ListPool (View, key, initData) {\n this.View = View;\n this.initData = initData;\n this.oldLookup = {};\n this.lookup = {};\n this.oldViews = [];\n this.views = [];\n\n if (key != null) {\n this.key = typeof key === 'function' ? key : propKey(key);\n }\n};\nListPool.prototype.update = function update (data, context) {\n var ref = this;\n var View = ref.View;\n var key = ref.key;\n var initData = ref.initData;\n var keySet = key != null;\n\n var oldLookup = this.lookup;\n var newLookup = {};\n\n var newViews = new Array(data.length);\n var oldViews = this.views;\n\n for (var i = 0; i < data.length; i++) {\n var item = data[i];\n var view = (void 0);\n\n if (keySet) {\n var id = key(item);\n\n view = oldLookup[id] || new View(initData, item, i, data);\n newLookup[id] = view;\n view.__redom_id = id;\n } else {\n view = oldViews[i] || new View(initData, item, i, data);\n }\n view.update && view.update(item, i, data, context);\n\n var el = getEl(view.el);\n\n el.__redom_view = view;\n newViews[i] = view;\n }\n\n this.oldViews = oldViews;\n this.views = newViews;\n\n this.oldLookup = oldLookup;\n this.lookup = newLookup;\n};\n\nvar list = function (parent, View, key, initData) {\n return new List(parent, View, key, initData);\n};\n\nvar List = function List (parent, View, key, initData) {\n this.__redom_list = true;\n this.View = View;\n this.initData = initData;\n this.views = [];\n this.pool = new ListPool(View, key, initData);\n this.el = ensureEl(parent);\n this.keySet = key != null;\n};\nList.prototype.update = function update (data, context) {\n if ( data === void 0 ) data = [];\n\n var ref = this;\n var keySet = ref.keySet;\n var oldViews = this.views;\n\n this.pool.update(data, context);\n\n var ref$1 = this.pool;\n var views = ref$1.views;\n var lookup = ref$1.lookup;\n\n if (keySet) {\n for (var i = 0; i < oldViews.length; i++) {\n var oldView = oldViews[i];\n var id = oldView.__redom_id;\n\n if (lookup[id] == null) {\n oldView.__redom_index = null;\n unmount(this, oldView);\n }\n }\n }\n\n for (var i$1 = 0; i$1 < views.length; i$1++) {\n var view = views[i$1];\n\n view.__redom_index = i$1;\n }\n\n setChildren(this, views);\n\n if (keySet) {\n this.lookup = lookup;\n }\n this.views = views;\n};\n\nList.extend = function (parent, View, key, initData) {\n return List.bind(List, parent, View, key, initData);\n};\n\nlist.extend = List.extend;\n\n/* global Node */\n\nvar place = function (View, initData) {\n return new Place(View, initData);\n};\n\nvar Place = function Place (View, initData) {\n this.el = text('');\n this.visible = false;\n this.view = null;\n this._placeholder = this.el;\n\n if (View instanceof Node) {\n this._el = View;\n } else {\n this._View = View;\n }\n\n this._initData = initData;\n};\nPlace.prototype.update = function update (visible, data) {\n var placeholder = this._placeholder;\n var parentNode = this.el.parentNode;\n\n if (visible) {\n if (!this.visible) {\n if (this._el) {\n mount(parentNode, this._el, placeholder);\n unmount(parentNode, placeholder);\n\n this.el = this._el;\n this.visible = visible;\n\n return;\n }\n var View = this._View;\n var view = new View(this._initData);\n\n this.el = getEl(view);\n this.view = view;\n\n mount(parentNode, view, placeholder);\n unmount(parentNode, placeholder);\n }\n this.view && this.view.update && this.view.update(data);\n } else {\n if (this.visible) {\n if (this._el) {\n mount(parentNode, placeholder, this._el);\n unmount(parentNode, this._el);\n\n this.el = placeholder;\n this.visible = visible;\n\n return;\n }\n mount(parentNode, placeholder, this.view);\n unmount(parentNode, this.view);\n\n this.el = placeholder;\n this.view = null;\n }\n }\n this.visible = visible;\n};\n\nvar router = function (parent, Views, initData) {\n return new Router(parent, Views, initData);\n};\n\nvar Router = function Router (parent, Views, initData) {\n this.el = ensureEl(parent);\n this.Views = Views;\n this.initData = initData;\n};\nRouter.prototype.update = function update (route, data) {\n if (route !== this.route) {\n var Views = this.Views;\n var View = Views[route];\n\n this.route = route;\n this.view = View && new View(this.initData, data);\n\n setChildren(this.el, [ this.view ]);\n }\n this.view && this.view.update && this.view.update(data, route);\n};\n\nvar ns = 'http://www.w3.org/2000/svg';\n\nvar svgCache = {};\n\nvar memoizeSVG = function (query) { return svgCache[query] || (svgCache[query] = createElement(query, ns)); };\n\nvar svg = function (query) {\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n var element;\n\n var type = typeof query;\n\n if (type === 'string') {\n element = memoizeSVG(query).cloneNode(false);\n } else if (isNode(query)) {\n element = query.cloneNode(false);\n } else if (type === 'function') {\n var Query = query;\n element = new (Function.prototype.bind.apply( Query, [ null ].concat( args) ));\n } else {\n throw new Error('At least one argument required');\n }\n\n parseArguments(getEl(element), args);\n\n return element;\n};\n\nsvg.extend = function (query) {\n var clone = memoizeSVG(query);\n\n return svg.bind(this, clone);\n};\n\nsvg.ns = ns;\n\nvar s = svg;\n\nexport { el, h, html, list, List, listPool, ListPool, mount, unmount, place, Place, router, Router, setAttr, setStyle, setChildren, s, svg, text };\n","export default class Language {\r\n\r\n setLocale(locale) {\r\n window.CookieConsent.config.language.current = locale;\r\n }\r\n \r\n static getTranslation(object, locale, key) {\r\n var currentLocale;\r\n\r\n if(!object.hasOwnProperty('language')) return '[Missing language object]';\r\n if(!object.language.hasOwnProperty('locale')) return '[Missing locale object]'\r\n \r\n currentLocale = (object.language.locale.hasOwnProperty(locale)) ? locale : 'en';\r\n\r\n return (object.language.locale[currentLocale].hasOwnProperty(key)) ? object.language.locale[currentLocale][key] : '[Missing translation]';\r\n }\r\n\r\n}","import { el, mount } from 'redom';\r\nimport Language from './Language';\r\nimport Utilities from \"./Utilities\";\r\n\r\nexport default class Interface {\r\n\r\n constructor() {\r\n this.elements = {};\r\n }\r\n\r\n\r\n buildStyle() {\r\n return el('style',\r\n '#cconsent-bar, #cconsent-bar * { box-sizing:border-box }', \r\n '#cconsent-bar { background-color:' + window.CookieConsent.config.theme.barColor + '; color:' + window.CookieConsent.config.theme.barTextColor + '; padding:15px; text-align:right; font-family:sans-serif; font-size:14px; line-height:18px; position:fixed; bottom:0; left:0; width:100%; z-index:9998; transform: translateY(0); transition: transform .6s ease-in-out; transition-delay: .3s;}', \r\n '#cconsent-bar.ccb--hidden {transform: translateY(100%); display:block;}', \r\n '#cconsent-bar .ccb__wrapper { display:flex; flex-wrap:wrap; justify-content:space-between; max-width:1800px; margin:0 auto;}',\r\n '#cconsent-bar .ccb__left { align-self:center; text-align:left; margin: 15px 0;}',\r\n '#cconsent-bar .ccb__right { align-self:center; white-space: nowrap;}',\r\n '#cconsent-bar .ccb__right > div {display:inline-block; color:#FFF;}',\r\n '#cconsent-bar a { text-decoration:underline; color:' + window.CookieConsent.config.theme.barTextColor + '; }',\r\n '#cconsent-bar button { line-height:normal; font-size:14px; border:none; padding:10px 10px; color:' + window.CookieConsent.config.theme.barMainButtonTextColor + '; background-color:' + window.CookieConsent.config.theme.barMainButtonColor + ';}',\r\n '#cconsent-bar a.ccb__edit { margin-right:15px }',\r\n '#cconsent-bar a:hover, #cconsent-bar button:hover { cursor:pointer; }',\r\n '#cconsent-modal { display:none; font-size:14px; line-height:18px; color:#666; width: 100vw; height: 100vh; position:fixed; left:0; top:0; right:0; bottom:0; font-family:sans-serif; font-size:14px; background-color:rgba(0,0,0,0.6); z-index:9999; align-items:center; justify-content:center;}',\r\n '@media (max-width: 600px) { #cconsent-modal { height: 100% } }',\r\n '#cconsent-modal h2, #cconsent-modal h3 {color:#333}',\r\n '#cconsent-modal.ccm--visible {display:flex}',\r\n '#cconsent-modal .ccm__content { max-width:600px; min-height:500px; max-height:600px; overflow-Y:auto; background-color:#EFEFEF; }',\r\n '@media (max-width: 600px) { #cconsent-modal .ccm__content { max-width:100vw; height:100%; max-height:initial; }}',\r\n '#cconsent-modal .ccm__content > .ccm__content__heading { border-bottom:1px solid #D8D8D8; padding:35px 35px 20px; background-color:#EFEFEF; position:relative;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__heading h2 { font-size:21px; font-weight:600; color:#333; margin:0 }',\r\n '#cconsent-modal .ccm__content > .ccm__content__heading .ccm__cheading__close {font-weight:600; color:#888; cursor:pointer; font-size:26px; position: absolute; right:15px; top: 15px;}',\r\n '#cconsent-modal h2, #cconsent-modal h3 {margin-top:0}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body { background-color:#FFF;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup {margin:0; border-bottom: 1px solid #D8D8D8; }',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup .ccm__tab-head::before { position:absolute; left:35px; font-size:1.4em; font-weight: 600; color:#E56385; content:\"×\"; display:inline-block; margin-right: 20px;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.checked-5jhk .ccm__tab-head::before {font-size:1em; content:\"✔\"; color:#28A834}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup .ccm__tab-head .ccm__tab-head__icon-wedge { transition: transform .3s ease-out; transform-origin: 16px 6px 0; position:absolute;right:25px; top:50%; transform:rotate(0deg); transform:translateY(-50%)}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup .ccm__tab-head .ccm__tab-head__icon-wedge > svg { pointer-events: none; }',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.ccm__tabgroup--open .ccm__tab-head .ccm__tab-head__icon-wedge {transform:rotate(-180deg)}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head {color:#333; padding:17px 35px 17px 56px; margin:0}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content {padding:25px 35px; margin:0}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head { transition: background-color .5s ease-out }',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head:hover { background-color:#F9F9F9 }',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head {font-weight:600; cursor:pointer; position:relative;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup .ccm__tab-content {display:none;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.ccm__tabgroup--open .ccm__tab-head { background-color:#F9F9F9 }',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.ccm__tabgroup--open .ccm__tab-content {display:flex;}',\r\n '@media (max-width: 600px) { #cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.ccm__tabgroup--open .ccm__tab-content {flex-direction:column} }',\r\n '@media (max-width: 600px) { #cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left { margin-bottom:20px; } }',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch-component {display:flex; margin-right:35px; align-items:center;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch-component > div {font-weight:600;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch-group {width:40px; height:20px; margin:0 10px; position:relative;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch {position: absolute; top:0; right:0; display: inline-block; width: 40px; height: 20px;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch input {display:none;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch .ccm__switch__slider {position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #ccc; border-radius:10px; -webkit-transition: .4s; transition: .4s;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch .ccm__switch__slider:before {position: absolute; content: \"\"; height: 12px; width: 12px; left: 4px; bottom: 4px; background-color: white; border-radius:50%; -webkit-transition: .4s; transition: .4s;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch input:checked + .ccm__switch__slider {background-color: #28A834;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch input:focus + .ccm__switch__slider {box-shadow: 0 0 1px #28A834;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch input:checked + .ccm__switch__slider:before {-webkit-transform: translateX(20px); -ms-transform: translateX(20px); transform: translateX(20px);}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content h3 {font-size:18px; margin-bottom:10px; line-height:1;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content p {color:#444; margin-bottom:0}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__list:not(:empty) {margin-top:30px;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__list .ccm__list__title {color:#333; font-weight:600;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__list ul { margin:15px 0; padding-left:15px }',\r\n '#cconsent-modal .ccm__footer { padding:35px; background-color:#EFEFEF; text-align:center; display: flex; align-items:center; justify-content:flex-end; }',\r\n '#cconsent-modal .ccm__footer button { line-height:normal; font-size:14px; transition: background-color .5s ease-out; background-color:' + window.CookieConsent.config.theme.modalMainButtonColor + '; color:' + window.CookieConsent.config.theme.modalMainButtonTextColor + '; border:none; padding:13px; min-width:110px; border-radius: 2px; cursor:pointer; }',\r\n '#cconsent-modal .ccm__footer button:hover { background-color:' + Utilities.lightenDarkenColor(window.CookieConsent.config.theme.modalMainButtonColor, -20) + '; }',\r\n '#cconsent-modal .ccm__footer button#ccm__footer__consent-modal-submit { margin-right:10px; }'\r\n );\r\n }\r\n\r\n buildBar() {\r\n return el('div#cconsent-bar.ccb--hidden',\r\n el(`div.ccb__wrapper`,\r\n el('div.ccb__left',\r\n el('div.cc-text', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'barMainText'))\r\n ),\r\n el('div.ccb__right',\r\n el('div.ccb__button',\r\n el('a.ccb__edit', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'barLinkSetting')),\r\n el('button.consent-give', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'barBtnAcceptAll'))\r\n )\r\n )\r\n ),\r\n );\r\n }\r\n\r\n buildModal() {\r\n\r\n // Cookie names list middleware\r\n var listCookies = function(category) {\r\n var list = [];\r\n\r\n for(let service in window.CookieConsent.config.services) {\r\n (window.CookieConsent.config.services[service].category === category) && list.push(window.CookieConsent.config.services[service]);\r\n }\r\n \r\n if(list.length) {\r\n \r\n var listItems = [];\r\n \r\n for(let item in list) {\r\n listItems.push(el('li', Language.getTranslation(list[item], window.CookieConsent.config.language.current, 'name')));\r\n }\r\n\r\n return [el('div.ccm__list', el('span.ccm__list__title', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'modalAffectedSolutions')), el('ul', listItems))];\r\n }\r\n }\r\n \r\n function modalTabGroups() {\r\n\r\n let contentItems = [];\r\n\r\n let i = 0;\r\n for (let key in window.CookieConsent.config.categories) {\r\n\r\n contentItems.push(el('dl.ccm__tabgroup' + '.' + key + ((window.CookieConsent.config.categories[key].checked) ? '.checked-5jhk' : ''), {'data-category':key},\r\n el('dt.ccm__tab-head', Language.getTranslation(window.CookieConsent.config.categories[key], window.CookieConsent.config.language.current, 'name'),\r\n el('a.ccm__tab-head__icon-wedge', \r\n el(document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\"), { version: \"1.2\", preserveAspectRatio: \"none\", viewBox: \"0 0 24 24\", class: \"icon-wedge-svg\", \"data-id\": \"e9b3c566e8c14cfea38af128759b91a3\", style: \"opacity: 1; mix-blend-mode: normal; fill: rgb(51, 51, 51); width: 32px; height: 32px;\"},\r\n el(document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\"), { 'xmlns:default': \"http://www.w3.org/2000/svg\", class: \"icon-wedge-angle-down\", d: \"M17.2,9.84c0-0.09-0.04-0.18-0.1-0.24l-0.52-0.52c-0.13-0.13-0.33-0.14-0.47-0.01c0,0-0.01,0.01-0.01,0.01 l-4.1,4.1l-4.09-4.1C7.78,8.94,7.57,8.94,7.44,9.06c0,0-0.01,0.01-0.01,0.01L6.91,9.6c-0.13,0.13-0.14,0.33-0.01,0.47 c0,0,0.01,0.01,0.01,0.01l4.85,4.85c0.13,0.13,0.33,0.14,0.47,0.01c0,0,0.01-0.01,0.01-0.01l4.85-4.85c0.06-0.06,0.1-0.15,0.1-0.24 l0,0H17.2z\", style: \"fill: rgb(51, 51, 51);\" })\r\n )\r\n ),\r\n ),\r\n el('dd.ccm__tab-content',\r\n el('div.ccm__tab-content__left', \r\n ( ! window.CookieConsent.config.categories[key].needed) && el('div.ccm__switch-component', el('div.status-off', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'off')),\r\n el('div.ccm__switch-group',\r\n el('label.ccm__switch',\r\n el('input.category-onoff', {type:'checkbox', 'data-category': key, 'checked': window.CookieConsent.config.categories[key].checked}),\r\n el('span.ccm__switch__slider')\r\n )\r\n ),\r\n el('div.status-on', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'on')))\r\n ),\r\n el('div.right',\r\n el('h3', Language.getTranslation(window.CookieConsent.config.categories[key], window.CookieConsent.config.language.current, 'name')),\r\n el('p', Language.getTranslation(window.CookieConsent.config.categories[key], window.CookieConsent.config.language.current, 'description')),\r\n el('div.ccm__list',\r\n listCookies(key)\r\n )\r\n )\r\n )\r\n )\r\n );\r\n\r\n i++;\r\n }\r\n\r\n return contentItems;\r\n }\r\n\r\n return el('div#cconsent-modal',\r\n el('div.ccm__content',\r\n el('div.ccm__content__heading',\r\n el('h2', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'modalMainTitle')),\r\n el('p',\r\n Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'modalMainText'),\r\n (window.CookieConsent.config.modalMainTextMoreLink) ? el('a', { href: window.CookieConsent.config.modalMainTextMoreLink, target: '_blank', rel: 'noopener noreferrer' }, Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'learnMore')) : null\r\n ),\r\n el('div.ccm__cheading__close', '×')\r\n ),\r\n el('div.ccm__content__body',\r\n el('div.ccm__tabs',\r\n modalTabGroups()\r\n )\r\n ),\r\n el('div.ccm__footer',\r\n el('button#ccm__footer__consent-modal-submit', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'modalBtnSave')),\r\n el('button.consent-give', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'modalBtnAcceptAll'))\r\n )\r\n )\r\n );\r\n }\r\n\r\n modalRedrawIcons() {\r\n var tabGroups = this.elements['modal'].querySelectorAll('.ccm__tabgroup');\r\n\r\n for(let tabGroup of tabGroups) {\r\n if(window.CookieConsent.config.categories[tabGroup.dataset.category].checked) {\r\n if( ! tabGroup.classList.contains('checked-5jhk')) {\r\n tabGroup.classList.add('checked-5jhk');\r\n tabGroup.querySelector('input.category-onoff').checked = true;\r\n };\r\n } else {\r\n if(tabGroup.classList.contains('checked-5jhk')) tabGroup.classList.remove('checked-5jhk');\r\n tabGroup.querySelector('input.category-onoff').checked = false;\r\n }\r\n }\r\n }\r\n\r\n render(name, elem, callback) {\r\n if (typeof callback === 'undefined') callback = function(){};\r\n if (typeof this.elements[name] !== 'undefined') {\r\n this.elements[name].parentNode.replaceChild(elem, this.elements[name]);\r\n this.elements[name] = elem;\r\n callback(elem);\r\n return elem;\r\n } else {\r\n var insertedElem = mount(document.body, elem);\r\n if (insertedElem) {\r\n this.elements[name] = insertedElem;\r\n }\r\n callback(insertedElem);\r\n return insertedElem;\r\n }\r\n }\r\n\r\n buildInterface(callback) {\r\n\r\n if (typeof callback === 'undefined') callback = function(){};\r\n var that = this;\r\n\r\n Utilities.ready(function() {\r\n\r\n that.render('style', that.buildStyle());\r\n\r\n that.render('bar', that.buildBar(), (bar) => {\r\n\r\n // Show the bar after a while\r\n if ( ! window.CookieConsent.config.cookieExists) {\r\n setTimeout(() => {\r\n bar.classList.remove('ccb--hidden');\r\n }, window.CookieConsent.config.barTimeout);\r\n }\r\n });\r\n\r\n that.render('modal', that.buildModal());\r\n\r\n callback();\r\n });\r\n }\r\n\r\n addEventListeners(elements) {\r\n\r\n // If you click Accept all cookies\r\n var buttonConsentGive = document.querySelectorAll('.consent-give');\r\n\r\n for(let button of buttonConsentGive) {\r\n button.addEventListener('click', () => {\r\n \r\n // We set config to full consent\r\n for(let key in window.CookieConsent.config.categories) {\r\n window.CookieConsent.config.categories[key].wanted =\r\n window.CookieConsent.config.categories[key].checked = true;\r\n }\r\n \r\n this.writeBufferToDOM();\r\n \r\n this.buildCookie((cookie) => {\r\n this.setCookie(cookie);\r\n });\r\n \r\n this.elements['bar'].classList.add('ccb--hidden');\r\n this.elements['modal'].classList.remove('ccm--visible');\r\n\r\n this.modalRedrawIcons();\r\n \r\n });\r\n }\r\n\r\n\r\n // If you click Cookie settings and open modal\r\n Array.prototype.forEach.call(document.getElementsByClassName('ccb__edit'), (edit) => {\r\n edit.addEventListener('click', () => {\r\n this.elements['modal'].classList.add('ccm--visible');\r\n });\r\n });\r\n\r\n // If you click trough the tabs on Cookie settings\r\n // If you click on/off switch\r\n this.elements['modal'].querySelector('.ccm__tabs').addEventListener('click', (event) => {\r\n\r\n // If you click trough the tabs on Cookie settings\r\n if (event.target.classList.contains('ccm__tab-head') || event.target.classList.contains('ccm__tab-head__icon-wedge')) {\r\n\r\n function getDlParent(eventTarget) {\r\n var parent = eventTarget.parentNode;\r\n if(parent.nodeName !== 'DL') {\r\n return getDlParent(parent);\r\n } else {\r\n return parent;\r\n }\r\n }\r\n \r\n var parentDl = getDlParent(event.target);\r\n \r\n if(parentDl.classList.contains('ccm__tabgroup--open')) {\r\n parentDl.classList.remove('ccm__tabgroup--open');\r\n } else {\r\n parentDl.classList.add('ccm__tabgroup--open');\r\n }\r\n }\r\n\r\n // If you click on/off switch\r\n if (event.target.classList.contains('category-onoff')) {\r\n window.CookieConsent.config.categories[event.target.dataset.category].wanted =\r\n window.CookieConsent.config.categories[event.target.dataset.category].checked = (event.target.checked === true) ? true : false;\r\n\r\n var dt = document.querySelector('.ccm__tabgroup.' + event.target.dataset.category);\r\n if(event.target.checked === false && dt.classList.contains('checked-5jhk')) {\r\n dt.classList.remove('checked-5jhk');\r\n } else {\r\n dt.classList.add('checked-5jhk');\r\n }\r\n }\r\n });\r\n\r\n\r\n\r\n // If you click close on open modal\r\n this.elements['modal'].querySelector('.ccm__cheading__close').addEventListener('click', (event) => {\r\n this.elements['modal'].classList.remove('ccm--visible');\r\n });\r\n\r\n // If you click submit on cookie settings\r\n document.getElementById('ccm__footer__consent-modal-submit').addEventListener('click', () => {\r\n\r\n let switchElements = this.elements['modal'].querySelectorAll('.ccm__switch input');\r\n\r\n Array.prototype.forEach.call(switchElements, (switchElement) => {\r\n window.CookieConsent.config.categories[switchElement.dataset.category].wanted = switchElement.checked;\r\n });\r\n\r\n this.buildCookie((cookie) => {\r\n this.setCookie(cookie, () => {\r\n this.elements['modal'].classList.remove('ccm--visible');\r\n this.elements['bar'].classList.add('ccb--hidden');\r\n });\r\n });\r\n\r\n this.writeBufferToDOM();\r\n\r\n });\r\n }\r\n\r\n writeBufferToDOM() {\r\n\r\n for(let action of window.CookieConsent.buffer.appendChild) {\r\n if (window.CookieConsent.config.categories[action.category].wanted === true) {\r\n Node.prototype.appendChild.apply(action.this, action.arguments);\r\n }\r\n }\r\n\r\n for(let action of window.CookieConsent.buffer.insertBefore) {\r\n if (window.CookieConsent.config.categories[action.category].wanted === true) {\r\n action.arguments[1] = (action.arguments[0].parentNode === null) ? action.this.lastChild : action.arguments[1];\r\n Node.prototype.insertBefore.apply(action.this, action.arguments);\r\n }\r\n }\r\n }\r\n\r\n buildCookie(callback) {\r\n let cookie = {\r\n version: window.CookieConsent.config.cookieVersion,\r\n categories: {},\r\n services: []\r\n };\r\n \r\n for(let key in window.CookieConsent.config.categories) {\r\n cookie.categories[key] = {\r\n wanted: window.CookieConsent.config.categories[key].wanted,\r\n };\r\n }\r\n\r\n cookie.services = Utilities.listGlobalServices();\r\n \r\n if (callback) callback(cookie);\r\n return cookie;\r\n }\r\n \r\n setCookie(cookie, callback) {\r\n const expires_in = new Date(Date.now() + 365 * 24 * 60 * 60 * 1000).toUTCString();\r\n\r\n document.cookie = `cconsent=${JSON.stringify(cookie)}; expires=${expires_in}; path=/;`;\r\n if (callback) callback();\r\n }\r\n}\r\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignMergeValue;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","/**\n * Gets the value at `key`, unless `key` is \"__proto__\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nmodule.exports = safeGet;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n","var assignMergeValue = require('./_assignMergeValue'),\n cloneBuffer = require('./_cloneBuffer'),\n cloneTypedArray = require('./_cloneTypedArray'),\n copyArray = require('./_copyArray'),\n initCloneObject = require('./_initCloneObject'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n isBuffer = require('./isBuffer'),\n isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isPlainObject = require('./isPlainObject'),\n isTypedArray = require('./isTypedArray'),\n safeGet = require('./_safeGet'),\n toPlainObject = require('./toPlainObject');\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n","var Stack = require('./_Stack'),\n assignMergeValue = require('./_assignMergeValue'),\n baseFor = require('./_baseFor'),\n baseMergeDeep = require('./_baseMergeDeep'),\n isObject = require('./isObject'),\n keysIn = require('./keysIn'),\n safeGet = require('./_safeGet');\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n if (isObject(srcValue)) {\n stack || (stack = new Stack);\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nmodule.exports = baseMerge;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nmodule.exports = merge;\n","import Utilities from \"./Utilities\";\r\nimport loMerge from 'lodash/merge';\r\n\r\nexport default class Configuration {\r\n \r\n constructor(configObject) {\r\n\r\n window.CookieConsent.buffer = {\r\n appendChild: [],\r\n insertBefore: []\r\n }\r\n\r\n // Wrapper filter function\r\n window.CookieConsent.wrapper = function() {};\r\n\r\n // Settings injector for users\r\n window.CookieConsent.setConfiguration = this.setConfiguration.bind(this);\r\n\r\n window.CookieConsent.config = {\r\n active: true,\r\n cookieExists: false,\r\n cookieVersion: 1,\r\n modalMainTextMoreLink: null,\r\n barTimeout: 1000,\r\n theme: {\r\n barColor: '#2C7CBF',\r\n barTextColor: '#FFF',\r\n barMainButtonColor: '#FFF',\r\n barMainButtonTextColor: '#2C7CBF',\r\n modalMainButtonColor: '#4285F4',\r\n modalMainButtonTextColor: '#FFF',\r\n },\r\n language: {\r\n current: 'en',\r\n locale: {\r\n en: {\r\n barMainText: 'This website uses cookies to ensure you get the best experience on our website.',\r\n barLinkSetting: 'Cookie Settings',\r\n barBtnAcceptAll: 'Accept all cookies',\r\n modalMainTitle: 'Cookie settings',\r\n modalMainText: 'Cookies are small piece of data sent from a website and stored on the user\\'s computer by the user\\'s web browser while the user is browsing. Your browser stores each message in a small file, called cookie. When you request another page from the server, your browser sends the cookie back to the server. Cookies were designed to be a reliable mechanism for websites to remember information or to record the user\\'s browsing activity.',\r\n modalBtnSave: 'Save current settings',\r\n modalBtnAcceptAll: 'Accept all cookies and close',\r\n modalAffectedSolutions: 'Affected solutions:',\r\n learnMore: 'Learn More',\r\n on: 'On',\r\n off: 'Off',\r\n },\r\n hu: {\r\n barMainText: 'Ez a weboldal Sütiket használ a jobb felhasználói élmény érdekében.',\r\n barLinkSetting: 'Süti beállítások',\r\n barBtnAcceptAll: 'Minden süti elfogadása',\r\n modalMainTitle: 'Süti beállítások',\r\n modalMainText: 'A HTTP-süti (általában egyszerűen süti, illetve angolul cookie) egy információcsomag, amelyet a szerver küld a webböngészőnek, majd a böngésző visszaküld a szervernek minden, a szerver felé irányított kérés alkalmával. Amikor egy weboldalt kérünk le a szervertől, akkor a böngésző elküldi a számára elérhető sütiket. A süti-ket úgy tervezték, hogy megbízható mechanizmust biztosítsanak a webhelyek számára az információk megőrzésére vagy a felhasználók böngészési tevékenységének rögzítésére.',\r\n modalBtnSave: 'Beállítások mentése',\r\n modalBtnAcceptAll: 'Minden Süti elfogadása',\r\n modalAffectedSolutions: 'Mire lesz ez hatással:',\r\n learnMore: 'Tudj meg többet',\r\n on: 'Be',\r\n off: 'Ki',\r\n }\r\n }\r\n },\r\n categories: {},\r\n services: {}\r\n }\r\n\r\n this.setConfiguration(configObject);\r\n\r\n }\r\n\r\n setConfiguration(configObject) {\r\n // The user overrides the default config\r\n loMerge(window.CookieConsent.config, configObject);\r\n\r\n // The cookie overrides the default and user config\r\n this.cookieToConfig();\r\n\r\n // We tell the world we did this\r\n Utilities.dispatchEvent(document, 'CCConfigSet');\r\n }\r\n\r\n cookieToConfig() {\r\n\r\n function removeReload() {\r\n Utilities.removeCookie();\r\n location.reload();\r\n return false;\r\n }\r\n\r\n document.cookie.split(';').filter((item) => {\r\n\r\n if (item.indexOf('cconsent') >= 0) {\r\n var cookieData = JSON.parse(item.split('=')[1]);\r\n\r\n // We check cookie version. If older we need to renew cookie.\r\n if (typeof cookieData.version === 'undefined') {\r\n return removeReload();\r\n } else {\r\n if (cookieData.version !== window.CookieConsent.config.cookieVersion) {\r\n return removeReload();\r\n }\r\n }\r\n\r\n // We check if cookie data categories also exist in user config\r\n for (let key in cookieData.categories) {\r\n\r\n // The cookie contains category not present in user config so we invalidate cookie\r\n if(typeof window.CookieConsent.config.categories[key] === 'undefined') {\r\n return removeReload();\r\n }\r\n }\r\n\r\n // We check if cookie data services also exist in user config\r\n cookieData.services.forEach(function(service){\r\n\r\n // The cookie contains service not present in user config so we invalidate cookie\r\n if(typeof window.CookieConsent.config.services[service] === 'undefined') {\r\n return removeReload();\r\n } \r\n });\r\n\r\n // We we integrate cookie data into the global config object\r\n for (let key in cookieData.categories) {\r\n window.CookieConsent.config.categories[key].checked = window.CookieConsent.config.categories[key].wanted = (cookieData.categories[key].wanted === true) ? true : false;\r\n }\r\n\r\n window.CookieConsent.config.cookieExists = true;\r\n return true;\r\n }\r\n });\r\n \r\n return false;\r\n }\r\n\r\n}\r\n","import Utilities from \"./Utilities\";\r\n\r\nexport default class RemoveCookies {\r\n\r\n init() {\r\n this.removeUnwantedCookies();\r\n }\r\n\r\n removeUnwantedCookies() {\r\n let cookieList = [];\r\n let config = window.CookieConsent.config;\r\n\r\n document.cookie.split(';').map(function(a){\r\n cookieList.push(a.split('=')[0].replace(/(^\\s*)|(\\s*&)/, ''));\r\n });\r\n\r\n for(let service in config.services) {\r\n if (Utilities.objectType(config.services[service].cookies) === 'Array') {\r\n // Remove cookies if they are not wanted by user\r\n if (! config.categories[config.services[service].category].wanted) {\r\n for(let i in config.services[service].cookies) {\r\n let type = Utilities.objectType(config.services[service].cookies[i].name);\r\n if (type === 'String') {\r\n if (cookieList.indexOf(config.services[service].cookies[i].name) > -1) {\r\n this.removeCookie(config.services[service].cookies[i]);\r\n }\r\n } else if (type === 'RegExp') {\r\n // Searching cookie list for cookies matching specified RegExp\r\n let cookieDef = config.services[service].cookies[i];\r\n for (let c in cookieList) {\r\n if (cookieList[c].match(cookieDef.name)) {\r\n this.removeCookie({\r\n name: cookieList[c],\r\n domain: Utilities.objectType(cookieDef.domain) === 'String' ? cookieDef.domain : null\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n removeCookie(cookie) {\r\n // Removing cookies from domain and .domain\r\n let domain = Utilities.objectType(cookie.domain) === 'String' ? `domain=${cookie.domain};` : '';\r\n document.cookie = `${cookie.name}=; expires=Thu, 01 Jan 1980 00:00:00 UTC; ${domain} path=/;`;\r\n }\r\n}\r\n","import InsertScriptFilter from './InsertScriptFilter';\r\nimport ScriptTagFilter from './ScriptTagFilter';\r\nimport WrapperFilter from './WrapperFilter';\r\nimport LocalCookieFilter from './LocalCookieFilter';\r\nimport Interface from './Interface';\r\nimport Configuration from './Configuration';\r\nimport RemoveCookies from './RemoveCookies';\r\n\r\nexport default class CookieConsent {\r\n\r\n init(configObject) {\r\n new Configuration(configObject);\r\n\r\n const removeCookies = new RemoveCookies();\r\n const insertScriptFilter = new InsertScriptFilter();\r\n const scriptTagFilter = new ScriptTagFilter();\r\n const wrapperFilter = new WrapperFilter();\r\n const localCookieFilter = new LocalCookieFilter();\r\n\r\n removeCookies.init();\r\n insertScriptFilter.init();\r\n scriptTagFilter.init();\r\n wrapperFilter.init();\r\n localCookieFilter.init();\r\n\r\n const UI = new Interface();\r\n\r\n UI.buildInterface(() => {\r\n UI.addEventListeners();\r\n });\r\n }\r\n\r\n}","import 'core-js/es6/symbol';\r\nimport 'core-js/fn/symbol/iterator';\r\nimport CookieConsent from './lib/CookieConsent';\r\n\r\nconst cookieConsent = new CookieConsent();\r\n\r\nwindow.CookieConsent = window.CookieConsent || {};\r\nwindow.CookieConsent.init = cookieConsent.init;\r\n\r\n"]} \ No newline at end of file +{"version":3,"sources":["../node_modules/core-js/modules/_global.js","../node_modules/core-js/modules/_has.js","../node_modules/core-js/modules/_fails.js","../node_modules/core-js/modules/_descriptors.js","../node_modules/core-js/modules/_core.js","../node_modules/core-js/modules/_is-object.js","../node_modules/core-js/modules/_an-object.js","../node_modules/core-js/modules/_dom-create.js","../node_modules/core-js/modules/_ie8-dom-define.js","../node_modules/core-js/modules/_to-primitive.js","../node_modules/core-js/modules/_object-dp.js","../node_modules/core-js/modules/_property-desc.js","../node_modules/core-js/modules/_hide.js","../node_modules/core-js/modules/_uid.js","../node_modules/core-js/modules/_library.js","../node_modules/core-js/modules/_shared.js","../node_modules/core-js/modules/_function-to-string.js","../node_modules/core-js/modules/_redefine.js","../node_modules/core-js/modules/_a-function.js","../node_modules/core-js/modules/_ctx.js","../node_modules/core-js/modules/_export.js","../node_modules/core-js/modules/_meta.js","../node_modules/core-js/modules/_wks.js","../node_modules/core-js/modules/_set-to-string-tag.js","../node_modules/core-js/modules/_wks-ext.js","../node_modules/core-js/modules/_wks-define.js","../node_modules/core-js/modules/_cof.js","../node_modules/core-js/modules/_iobject.js","../node_modules/core-js/modules/_defined.js","../node_modules/core-js/modules/_to-iobject.js","../node_modules/core-js/modules/_to-integer.js","../node_modules/core-js/modules/_to-length.js","../node_modules/core-js/modules/_to-absolute-index.js","../node_modules/core-js/modules/_array-includes.js","../node_modules/core-js/modules/_shared-key.js","../node_modules/core-js/modules/_object-keys-internal.js","../node_modules/core-js/modules/_enum-bug-keys.js","../node_modules/core-js/modules/_object-keys.js","../node_modules/core-js/modules/_object-gops.js","../node_modules/core-js/modules/_object-pie.js","../node_modules/core-js/modules/_enum-keys.js","../node_modules/core-js/modules/_is-array.js","../node_modules/core-js/modules/_object-dps.js","../node_modules/core-js/modules/_html.js","../node_modules/core-js/modules/_object-create.js","../node_modules/core-js/modules/_object-gopn.js","../node_modules/core-js/modules/_object-gopn-ext.js","../node_modules/core-js/modules/_object-gopd.js","../node_modules/core-js/modules/es6.symbol.js","../node_modules/core-js/modules/_classof.js","../node_modules/core-js/modules/es6.object.to-string.js","../node_modules/core-js/es6/symbol.js","../node_modules/core-js/modules/_string-at.js","../node_modules/core-js/modules/_iterators.js","../node_modules/core-js/modules/_iter-create.js","../node_modules/core-js/modules/_to-object.js","../node_modules/core-js/modules/_object-gpo.js","../node_modules/core-js/modules/_iter-define.js","../node_modules/core-js/modules/es6.string.iterator.js","../node_modules/core-js/modules/_add-to-unscopables.js","../node_modules/core-js/modules/_iter-step.js","../node_modules/core-js/modules/es6.array.iterator.js","../node_modules/core-js/modules/web.dom.iterable.js","../node_modules/core-js/fn/symbol/iterator.js","lib/Utilities.js","lib/Filter.js","lib/InsertScriptFilter.js","lib/ScriptTagFilter.js","lib/WrapperFilter.js","lib/LocalCookieFilter.js","../node_modules/redom/dist/redom.es.js","lib/Language.js","lib/Interface.js","lib/Configuration.js","lib/RemoveCookies.js","lib/CookieConsent.js","index.js"],"names":["Utilities","fn","document","attachEvent","readyState","addEventListener","obj","Object","prototype","toString","call","slice","col","amt","usePound","num","parseInt","r","b","g","cookie","category","categories","window","CookieConsent","key","config","services","push","elem","event","Event","createEvent","initEvent","dispatchEvent","Filter","type","service","needed","wanted","blacklist","objectType","search","i","length","InsertScriptFilter","overrideAppendChild","overrideInsertBefore","Element","appendChild","arguments","tagName","outerHTML","indexOf","buffer","undefined","Node","apply","insertBefore","ScriptTagFilter","filterTags","ready","scriptTags","querySelectorAll","scriptTag","dataset","consent","newtag","createElement","parentNode","attributes","attribute","setAttribute","nodeName","nodeValue","innerHTML","removeChild","WrapperFilter","filterWrappers","wrapper","name","callback","LocalCookieFilter","filterlocalCookies","cookieDescriptor","getOwnPropertyDescriptor","HTMLDocument","get","__lookupGetter__","set","__lookupSetter__","getCookieDescriptor","defineProperty","configurable","cookieArguments","cookieName","split","Array","forEach","blacklistItem","HASH","charCodeAt","DOT","TAG_NAME","ID","CLASS_NAME","parseQuery","query","tag","id","className","mode","offset","char","isHash","isDot","isEnd","substring","ns","ref","element","createElementNS","unmount","parent","child","parentEl","getEl","childEl","__redom_view","doUnmount","hooks","__redom_lifecycle","hooksAreEmpty","__redom_mounted","traverse","trigger","parentHooks","hook","hookNames","shadowRootAvailable","mount","before","replace","wasMounted","oldParent","replaceChild","doMount","remount","hooksFound","list","hookName","triggered","ShadowRoot","el","eventName","view","hookCount","firstChild","next","nextSibling","setStyle","arg1","arg2","style","xlinkns","setAttr","isSVG","SVGElement","isFunc","setData","setXlink","setAttributeNS","text","str","createTextNode","parseArguments","args","arg","isNode","ensureEl","html","nodeType","a","htmlCache","memoizeHTML","len","cloneNode","Query","Function","bind","concat","Error","extend","clone","h","setChildren","children","current","_current","childEls","i$1","exists","__redom_index","propKey","item","listPool","View","initData","ListPool","oldLookup","lookup","oldViews","views","update","data","context","keySet","newLookup","newViews","__redom_id","List","__redom_list","pool","ref$1","oldView","place","Place","visible","_placeholder","_el","_View","_initData","placeholder","router","Views","Router","route","svgCache","memoizeSVG","svg","s","Language","locale","language","object","currentLocale","hasOwnProperty","Interface","elements","theme","barColor","barTextColor","barMainButtonTextColor","barMainButtonColor","modalMainButtonColor","modalMainButtonTextColor","lightenDarkenColor","getTranslation","listCookies","listItems","modalTabGroups","contentItems","checked","version","preserveAspectRatio","viewBox","class","d","modalMainTextMoreLink","href","target","rel","tabGroups","tabGroup","classList","contains","add","querySelector","remove","insertedElem","body","that","render","buildStyle","buildBar","bar","cookieExists","setTimeout","barTimeout","buildModal","buttonConsentGive","button","writeBufferToDOM","buildCookie","setCookie","modalRedrawIcons","getElementsByClassName","edit","getDlParent","eventTarget","parentDl","dt","getElementById","switchElements","switchElement","action","this","lastChild","cookieVersion","listGlobalServices","expires_in","Date","now","toUTCString","JSON","stringify","Configuration","configObject","setConfiguration","active","en","barMainText","barLinkSetting","barBtnAcceptAll","modalMainTitle","modalMainText","modalBtnSave","modalBtnAcceptAll","modalAffectedSolutions","learnMore","on","off","hu","console","log","mergeDeep","cookieToConfig","removeReload","removeCookie","location","reload","filter","cookieData","parse","isArray","sources","source","shift","isObject","assign","RemoveCookies","removeUnwantedCookies","cookieList","map","cookies","cookieDef","c","match","domain","removeCookies","insertScriptFilter","scriptTagFilter","wrapperFilter","localCookieFilter","init","UI","buildInterface","addEventListeners","cookieConsent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;;ACFA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1OA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1DA;AACA;AACA;AACA;;;;;;;;;;;;;;;ICHqBA;;;;;;;;;0BAENC,IAAI;AACf,UAAIC,QAAQ,CAACC,WAAT,GAAuBD,QAAQ,CAACE,UAAT,KAAwB,UAA/C,GAA4DF,QAAQ,CAACE,UAAT,KAAwB,SAAxF,EAAkG;AAChGH,QAAAA,EAAE;AACH,OAFD,MAEO;AACLC,QAAAA,QAAQ,CAACG,gBAAT,CAA0B,kBAA1B,EAA8CJ,EAA9C;AACD;AACF;;;+BAEiBK,KAAI;AACpB,aAAOC,MAAM,CAACC,SAAP,CAAiBC,QAAjB,CAA0BC,IAA1B,CAA+BJ,GAA/B,EAAoCK,KAApC,CAA0C,CAA1C,EAA6C,CAAC,CAA9C,CAAP;AACD;;;uCAEyBC,KAAKC,KAAK;AAElC,UAAIC,QAAQ,GAAG,KAAf;;AAEA,UAAIF,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","file":"cookieconsent.map","sourceRoot":"..\\src","sourcesContent":["// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var core = module.exports = { version: '2.6.5' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","module.exports = false;\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar $toString = require('./_function-to-string');\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","exports.f = require('./_wks');\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","exports.f = {}.propertyIsEnumerable;\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof');\nvar test = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif (test + '' != '[object z]') {\n require('./_redefine')(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n","require('../modules/es6.symbol');\nrequire('../modules/es6.object.to-string');\nmodule.exports = require('../modules/_core').Symbol;\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","module.exports = {};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var $iterators = require('./es6.array.iterator');\nvar getKeys = require('./_object-keys');\nvar redefine = require('./_redefine');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar wks = require('./_wks');\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n CSSRuleList: true, // TODO: Not spec compliant, should be false.\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true, // TODO: Not spec compliant, should be false.\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true, // TODO: Not spec compliant, should be false.\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n}\n","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n","export default class Utilities {\r\n\r\n static ready(fn) {\r\n if (document.attachEvent ? document.readyState === \"complete\" : document.readyState !== \"loading\"){\r\n fn();\r\n } else {\r\n document.addEventListener('DOMContentLoaded', fn);\r\n }\r\n }\r\n \r\n static objectType(obj){\r\n return Object.prototype.toString.call(obj).slice(8, -1);\r\n }\r\n\r\n static lightenDarkenColor(col, amt) {\r\n\r\n var usePound = false;\r\n \r\n if (col[0] == \"#\") {\r\n col = col.slice(1);\r\n usePound = true;\r\n }\r\n \r\n var num = parseInt(col, 16);\r\n \r\n var r = (num >> 16) + amt;\r\n \r\n if (r > 255) {\r\n r = 255;\r\n } else if (r < 0) {\r\n r = 0;\r\n }\r\n \r\n var b = ((num >> 8) & 0x00FF) + amt;\r\n \r\n if (b > 255) {\r\n b = 255;\r\n } else if (b < 0) {\r\n b = 0;\r\n }\r\n \r\n var g = (num & 0x0000FF) + amt;\r\n \r\n if (g > 255) {\r\n g = 255;\r\n } else if (g < 0) {\r\n g = 0;\r\n }\r\n \r\n return (usePound ? \"#\" : \"\") + (g | (b << 8) | (r << 16)).toString(16);\r\n \r\n }\r\n\r\n static removeCookie() {\r\n document.cookie = `cconsent=; expires=Thu, 01 Jan 1980 00:00:00 UTC; path=/;`;\r\n }\r\n\r\n // Create an array of services from Cookieconsent global object\r\n // Filter based on category or leave empty is all is wanted\r\n static listGlobalServices(category) {\r\n let categories = [];\r\n\r\n // Global config objectnot set\r\n if (typeof window.CookieConsent === 'undefined') return categories;\r\n\r\n // Category is not specified or opposite\r\n if (typeof category === 'undefined') {\r\n for (let key in window.CookieConsent.config.services) {\r\n categories.push(key);\r\n }\r\n } else {\r\n for (let key in window.CookieConsent.config.services) {\r\n if (window.CookieConsent.config.services[key].category === category) categories.push(key);\r\n }\r\n }\r\n\r\n return categories;\r\n }\r\n\r\n static dispatchEvent(elem, event) {\r\n var event;\r\n\r\n if (typeof(Event) === 'function') {\r\n event = new Event(event);\r\n } else {\r\n event = document.createEvent('Event');\r\n event.initEvent(event, true, true);\r\n }\r\n \r\n elem.dispatchEvent(event);\r\n }\r\n\r\n}\r\n","import Utilities from \"./Utilities\";\r\n\r\nexport default class Filter {\r\n\r\n createBlacklist(type) {\r\n var services = {};\r\n for(var service in window.CookieConsent.config.services) {\r\n if (window.CookieConsent.config.services[service].type === type) {\r\n if(window.CookieConsent.config.categories[window.CookieConsent.config.services[service].category].needed === false) {\r\n if (window.CookieConsent.config.categories[window.CookieConsent.config.services[service].category].wanted === false) {\r\n services[service] = window.CookieConsent.config.services[service];\r\n }\r\n }\r\n }\r\n }\r\n\r\n var blacklist = [];\r\n\r\n for(var service in services) {\r\n var type = Utilities.objectType(services[service].search);\r\n if (type === 'String') {\r\n blacklist.push(services[service].search);\r\n } else if(type === 'Array') {\r\n for (let i = 0; i < services[service].search.length; i++) {\r\n blacklist.push(services[service].search[i]);\r\n }\r\n }\r\n }\r\n\r\n return blacklist;\r\n }\r\n\r\n}","import Filter from './Filter';\r\n\r\nexport default class InsertScriptFilter extends Filter {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n init() {\r\n this.overrideAppendChild();\r\n this.overrideInsertBefore();\r\n }\r\n\r\n overrideAppendChild() {\r\n\r\n Element.prototype.appendChild = function(elem) {\r\n if(arguments[0].tagName === 'SCRIPT') {\r\n //console.log('Appending:', arguments);\r\n for (let key in window.CookieConsent.config.services) {\r\n // Did user opt-in?\r\n if(window.CookieConsent.config.services[key].type === 'dynamic-script') {\r\n if(arguments[0].outerHTML.indexOf(window.CookieConsent.config.services[key].search) >= 0) {\r\n if(window.CookieConsent.config.categories[window.CookieConsent.config.services[key].category].wanted === false) {\r\n window.CookieConsent.buffer.appendChild.push({'this': this, 'category': window.CookieConsent.config.services[key].category, arguments: arguments});\r\n return undefined;\r\n }\r\n }\r\n }\r\n }\r\n } \r\n \r\n return Node.prototype.appendChild.apply(this, arguments);\r\n }\r\n\r\n }\r\n\r\n overrideInsertBefore() {\r\n\r\n Element.prototype.insertBefore = function(elem) {\r\n \r\n if(arguments[0].tagName === 'SCRIPT') {\r\n //console.log('Inserting:', arguments);\r\n for (let key in window.CookieConsent.config.services) {\r\n // Did user opt-in?\r\n if(window.CookieConsent.config.services[key].type === 'dynamic-script') {\r\n if(arguments[0].outerHTML.indexOf(window.CookieConsent.config.services[key].search) >= 0) {\r\n if(window.CookieConsent.config.categories[window.CookieConsent.config.services[key].category].wanted === false) {\r\n window.CookieConsent.buffer.insertBefore.push({'this': this, 'category': window.CookieConsent.config.services[key].category, arguments: arguments});\r\n return undefined;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n \r\n return Node.prototype.insertBefore.apply(this, arguments);\r\n }\r\n }\r\n\r\n}","import Utilities from \"./Utilities\";\r\nimport Filter from './Filter';\r\n\r\nexport default class ScriptTagFilter extends Filter {\r\n \r\n constructor() {\r\n super();\r\n }\r\n\r\n init() {\r\n this.filterTags();\r\n }\r\n\r\n filterTags() {\r\n Utilities.ready(() => {\r\n var blacklist = super.createBlacklist('script-tag');\r\n var scriptTags = document.querySelectorAll('script[type=\"text/plain\"]');\r\n \r\n for (var scriptTag of scriptTags) {\r\n if (blacklist.indexOf(scriptTag.dataset.consent) < 0) {\r\n var newtag = document.createElement('script');\r\n var parentNode = scriptTag.parentNode;\r\n \r\n scriptTag.type = 'text/javascript';\r\n\r\n for(var attribute of scriptTag.attributes) {\r\n newtag.setAttribute(attribute.nodeName, attribute.nodeValue);\r\n }\r\n\r\n newtag.innerHTML = scriptTag.innerHTML;\r\n parentNode.insertBefore(newtag,scriptTag);\r\n parentNode.removeChild(scriptTag);\r\n }\r\n }\r\n });\r\n }\r\n}","import Filter from './Filter';\r\n\r\nexport default class WrapperFilter extends Filter {\r\n \r\n constructor() {\r\n super();\r\n }\r\n\r\n init() {\r\n this.filterWrappers();\r\n }\r\n\r\n filterWrappers() {\r\n var blacklist = super.createBlacklist('wrapped');\r\n\r\n function wrapper(name='', callback) {\r\n if (blacklist.indexOf(name) < 0) {\r\n callback();\r\n }\r\n }\r\n\r\n window.CookieConsent.wrapper = wrapper;\r\n }\r\n}","import Filter from './Filter';\r\n\r\nexport default class LocalCookieFilter extends Filter {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n init() {\r\n this.filterlocalCookies();\r\n }\r\n\r\n getCookieDescriptor() {\r\n var cookieDescriptor;\r\n\r\n cookieDescriptor = Object.getOwnPropertyDescriptor(document, 'cookie') ||\r\n Object.getOwnPropertyDescriptor(HTMLDocument.prototype, 'cookie');\r\n\r\n if (! cookieDescriptor) {\r\n\r\n cookieDescriptor = {};\r\n cookieDescriptor.get = HTMLDocument.prototype.__lookupGetter__(\"cookie\");\r\n cookieDescriptor.set = HTMLDocument.prototype.__lookupSetter__(\"cookie\");\r\n\r\n }\r\n\r\n return cookieDescriptor;\r\n }\r\n\r\n filterlocalCookies() {\r\n\r\n // TODO - implement buffer\r\n var blacklist = super.createBlacklist('localcookie');\r\n var cookieDescriptor = this.getCookieDescriptor();\r\n\r\n Object.defineProperty(document, \"cookie\", {\r\n configurable: true,\r\n get: function () {\r\n return cookieDescriptor.get.apply(document);\r\n },\r\n set: function () {\r\n var cookieArguments = arguments;\r\n\r\n if(blacklist.length) {\r\n var cookieName = arguments[0].split('=')[0];\r\n Array.prototype.forEach.call(blacklist, function(blacklistItem){\r\n if (cookieName.indexOf(blacklistItem) < 0) cookieDescriptor.set.apply(document, cookieArguments);\r\n });\r\n } else {\r\n cookieDescriptor.set.apply(document, cookieArguments);\r\n }\r\n }\r\n });\r\n }\r\n}","var HASH = '#'.charCodeAt(0);\nvar DOT = '.'.charCodeAt(0);\n\nvar TAG_NAME = 0;\nvar ID = 1;\nvar CLASS_NAME = 2;\n\nvar parseQuery = function (query) {\n var tag = null;\n var id = null;\n var className = null;\n var mode = TAG_NAME;\n var offset = 0;\n\n for (var i = 0; i <= query.length; i++) {\n var char = query.charCodeAt(i);\n var isHash = char === HASH;\n var isDot = char === DOT;\n var isEnd = !char;\n\n if (isHash || isDot || isEnd) {\n if (mode === TAG_NAME) {\n if (i === 0) {\n tag = 'div';\n } else {\n tag = query.substring(offset, i);\n }\n } else if (mode === ID) {\n id = query.substring(offset, i);\n } else {\n if (className) {\n className += ' ' + query.substring(offset, i);\n } else {\n className = query.substring(offset, i);\n }\n }\n\n if (isHash) {\n mode = ID;\n } else if (isDot) {\n mode = CLASS_NAME;\n }\n\n offset = i + 1;\n }\n }\n\n return { tag: tag, id: id, className: className };\n};\n\nvar createElement = function (query, ns) {\n var ref = parseQuery(query);\n var tag = ref.tag;\n var id = ref.id;\n var className = ref.className;\n var element = ns ? document.createElementNS(ns, tag) : document.createElement(tag);\n\n if (id) {\n element.id = id;\n }\n\n if (className) {\n if (ns) {\n element.setAttribute('class', className);\n } else {\n element.className = className;\n }\n }\n\n return element;\n};\n\nvar unmount = function (parent, child) {\n var parentEl = getEl(parent);\n var childEl = getEl(child);\n\n if (child === childEl && childEl.__redom_view) {\n // try to look up the view if not provided\n child = childEl.__redom_view;\n }\n\n if (childEl.parentNode) {\n doUnmount(child, childEl, parentEl);\n\n parentEl.removeChild(childEl);\n }\n\n return child;\n};\n\nvar doUnmount = function (child, childEl, parentEl) {\n var hooks = childEl.__redom_lifecycle;\n\n if (hooksAreEmpty(hooks)) {\n childEl.__redom_mounted = false;\n return;\n }\n\n var traverse = parentEl;\n\n if (childEl.__redom_mounted) {\n trigger(childEl, 'onunmount');\n }\n\n while (traverse) {\n var parentHooks = traverse.__redom_lifecycle || {};\n\n for (var hook in hooks) {\n if (parentHooks[hook]) {\n parentHooks[hook] -= hooks[hook];\n }\n }\n\n if (hooksAreEmpty(parentHooks)) {\n traverse.__redom_lifecycle = null;\n }\n\n traverse = traverse.parentNode;\n }\n};\n\nvar hooksAreEmpty = function (hooks) {\n if (hooks == null) {\n return true;\n }\n for (var key in hooks) {\n if (hooks[key]) {\n return false;\n }\n }\n return true;\n};\n\nvar hookNames = ['onmount', 'onremount', 'onunmount'];\nvar shadowRootAvailable = typeof window !== 'undefined' && 'ShadowRoot' in window;\n\nvar mount = function (parent, child, before, replace) {\n var parentEl = getEl(parent);\n var childEl = getEl(child);\n\n if (child === childEl && childEl.__redom_view) {\n // try to look up the view if not provided\n child = childEl.__redom_view;\n }\n\n if (child !== childEl) {\n childEl.__redom_view = child;\n }\n\n var wasMounted = childEl.__redom_mounted;\n var oldParent = childEl.parentNode;\n\n if (wasMounted && (oldParent !== parentEl)) {\n doUnmount(child, childEl, oldParent);\n }\n\n if (before != null) {\n if (replace) {\n parentEl.replaceChild(childEl, getEl(before));\n } else {\n parentEl.insertBefore(childEl, getEl(before));\n }\n } else {\n parentEl.appendChild(childEl);\n }\n\n doMount(child, childEl, parentEl, oldParent);\n\n return child;\n};\n\nvar doMount = function (child, childEl, parentEl, oldParent) {\n var hooks = childEl.__redom_lifecycle || (childEl.__redom_lifecycle = {});\n var remount = (parentEl === oldParent);\n var hooksFound = false;\n\n for (var i = 0, list = hookNames; i < list.length; i += 1) {\n var hookName = list[i];\n\n if (!remount) { // if already mounted, skip this phase\n if (child !== childEl) { // only Views can have lifecycle events\n if (hookName in child) {\n hooks[hookName] = (hooks[hookName] || 0) + 1;\n }\n }\n }\n if (hooks[hookName]) {\n hooksFound = true;\n }\n }\n\n if (!hooksFound) {\n childEl.__redom_mounted = true;\n return;\n }\n\n var traverse = parentEl;\n var triggered = false;\n\n if (remount || (traverse && traverse.__redom_mounted)) {\n trigger(childEl, remount ? 'onremount' : 'onmount');\n triggered = true;\n }\n\n while (traverse) {\n var parent = traverse.parentNode;\n var parentHooks = traverse.__redom_lifecycle || (traverse.__redom_lifecycle = {});\n\n for (var hook in hooks) {\n parentHooks[hook] = (parentHooks[hook] || 0) + hooks[hook];\n }\n\n if (triggered) {\n break;\n } else {\n if (traverse === document ||\n (shadowRootAvailable && (traverse instanceof window.ShadowRoot)) ||\n (parent && parent.__redom_mounted)\n ) {\n trigger(traverse, remount ? 'onremount' : 'onmount');\n triggered = true;\n }\n traverse = parent;\n }\n }\n};\n\nvar trigger = function (el, eventName) {\n if (eventName === 'onmount' || eventName === 'onremount') {\n el.__redom_mounted = true;\n } else if (eventName === 'onunmount') {\n el.__redom_mounted = false;\n }\n\n var hooks = el.__redom_lifecycle;\n\n if (!hooks) {\n return;\n }\n\n var view = el.__redom_view;\n var hookCount = 0;\n\n view && view[eventName] && view[eventName]();\n\n for (var hook in hooks) {\n if (hook) {\n hookCount++;\n }\n }\n\n if (hookCount) {\n var traverse = el.firstChild;\n\n while (traverse) {\n var next = traverse.nextSibling;\n\n trigger(traverse, eventName);\n\n traverse = next;\n }\n }\n};\n\nvar setStyle = function (view, arg1, arg2) {\n var el = getEl(view);\n\n if (arg2 !== undefined) {\n el.style[arg1] = arg2;\n } else if (typeof arg1 === 'string') {\n el.setAttribute('style', arg1);\n } else {\n for (var key in arg1) {\n setStyle(el, key, arg1[key]);\n }\n }\n};\n\n/* global SVGElement */\n\nvar xlinkns = 'http://www.w3.org/1999/xlink';\n\nvar setAttr = function (view, arg1, arg2) {\n var el = getEl(view);\n var isSVG = el instanceof SVGElement;\n\n var isFunc = typeof arg2 === 'function';\n\n if (arg2 !== undefined) {\n if (arg1 === 'style') {\n setStyle(el, arg2);\n } else if (isSVG && isFunc) {\n el[arg1] = arg2;\n } else if (arg1 === 'dataset') {\n setData(el, arg2);\n } else if (!isSVG && (arg1 in el || isFunc)) {\n el[arg1] = arg2;\n } else {\n if (isSVG && (arg1 === 'xlink')) {\n setXlink(el, arg2);\n return;\n }\n el.setAttribute(arg1, arg2);\n }\n } else {\n for (var key in arg1) {\n setAttr(el, key, arg1[key]);\n }\n }\n};\n\nfunction setXlink (el, obj) {\n for (var key in obj) {\n el.setAttributeNS(xlinkns, key, obj[key]);\n }\n}\n\nfunction setData (el, obj) {\n for (var key in obj) {\n el.dataset[key] = obj[key];\n }\n}\n\nvar text = function (str) { return document.createTextNode((str != null) ? str : ''); };\n\nvar parseArguments = function (element, args) {\n for (var i = 0, list = args; i < list.length; i += 1) {\n var arg = list[i];\n\n if (arg !== 0 && !arg) {\n continue;\n }\n\n var type = typeof arg;\n\n // support middleware\n if (type === 'function') {\n arg(element);\n } else if (type === 'string' || type === 'number') {\n element.appendChild(text(arg));\n } else if (isNode(getEl(arg))) {\n mount(element, arg);\n } else if (arg.length) {\n parseArguments(element, arg);\n } else if (type === 'object') {\n setAttr(element, arg);\n }\n }\n};\n\nvar ensureEl = function (parent) { return typeof parent === 'string' ? html(parent) : getEl(parent); };\nvar getEl = function (parent) { return (parent.nodeType && parent) || (!parent.el && parent) || getEl(parent.el); };\nvar isNode = function (a) { return a && a.nodeType; };\n\nvar htmlCache = {};\n\nvar memoizeHTML = function (query) { return htmlCache[query] || (htmlCache[query] = createElement(query)); };\n\nvar html = function (query) {\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n var element;\n\n var type = typeof query;\n\n if (type === 'string') {\n element = memoizeHTML(query).cloneNode(false);\n } else if (isNode(query)) {\n element = query.cloneNode(false);\n } else if (type === 'function') {\n var Query = query;\n element = new (Function.prototype.bind.apply( Query, [ null ].concat( args) ));\n } else {\n throw new Error('At least one argument required');\n }\n\n parseArguments(getEl(element), args);\n\n return element;\n};\n\nhtml.extend = function (query) {\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n var clone = memoizeHTML(query);\n\n return html.bind.apply(html, [ this, clone ].concat( args ));\n};\n\nvar el = html;\nvar h = html;\n\nvar setChildren = function (parent) {\n var children = [], len = arguments.length - 1;\n while ( len-- > 0 ) children[ len ] = arguments[ len + 1 ];\n\n var parentEl = getEl(parent);\n var current = traverse(parent, children, parentEl.firstChild);\n\n while (current) {\n var next = current.nextSibling;\n\n unmount(parent, current);\n\n current = next;\n }\n};\n\nfunction traverse (parent, children, _current) {\n var current = _current;\n\n var childEls = new Array(children.length);\n\n for (var i = 0; i < children.length; i++) {\n childEls[i] = children[i] && getEl(children[i]);\n }\n\n for (var i$1 = 0; i$1 < children.length; i$1++) {\n var child = children[i$1];\n\n if (!child) {\n continue;\n }\n\n var childEl = childEls[i$1];\n\n if (childEl === current) {\n current = current.nextSibling;\n continue;\n }\n\n if (isNode(childEl)) {\n var next = current && current.nextSibling;\n var exists = child.__redom_index != null;\n var replace = exists && next === childEls[i$1 + 1];\n\n mount(parent, child, current, replace);\n\n if (replace) {\n current = next;\n }\n\n continue;\n }\n\n if (child.length != null) {\n current = traverse(parent, child, current);\n }\n }\n\n return current;\n}\n\nvar propKey = function (key) { return function (item) { return item[key]; }; };\n\nvar listPool = function (View, key, initData) {\n return new ListPool(View, key, initData);\n};\n\nvar ListPool = function ListPool (View, key, initData) {\n this.View = View;\n this.initData = initData;\n this.oldLookup = {};\n this.lookup = {};\n this.oldViews = [];\n this.views = [];\n\n if (key != null) {\n this.key = typeof key === 'function' ? key : propKey(key);\n }\n};\nListPool.prototype.update = function update (data, context) {\n var ref = this;\n var View = ref.View;\n var key = ref.key;\n var initData = ref.initData;\n var keySet = key != null;\n\n var oldLookup = this.lookup;\n var newLookup = {};\n\n var newViews = new Array(data.length);\n var oldViews = this.views;\n\n for (var i = 0; i < data.length; i++) {\n var item = data[i];\n var view = (void 0);\n\n if (keySet) {\n var id = key(item);\n\n view = oldLookup[id] || new View(initData, item, i, data);\n newLookup[id] = view;\n view.__redom_id = id;\n } else {\n view = oldViews[i] || new View(initData, item, i, data);\n }\n view.update && view.update(item, i, data, context);\n\n var el = getEl(view.el);\n\n el.__redom_view = view;\n newViews[i] = view;\n }\n\n this.oldViews = oldViews;\n this.views = newViews;\n\n this.oldLookup = oldLookup;\n this.lookup = newLookup;\n};\n\nvar list = function (parent, View, key, initData) {\n return new List(parent, View, key, initData);\n};\n\nvar List = function List (parent, View, key, initData) {\n this.__redom_list = true;\n this.View = View;\n this.initData = initData;\n this.views = [];\n this.pool = new ListPool(View, key, initData);\n this.el = ensureEl(parent);\n this.keySet = key != null;\n};\nList.prototype.update = function update (data, context) {\n if ( data === void 0 ) data = [];\n\n var ref = this;\n var keySet = ref.keySet;\n var oldViews = this.views;\n\n this.pool.update(data, context);\n\n var ref$1 = this.pool;\n var views = ref$1.views;\n var lookup = ref$1.lookup;\n\n if (keySet) {\n for (var i = 0; i < oldViews.length; i++) {\n var oldView = oldViews[i];\n var id = oldView.__redom_id;\n\n if (lookup[id] == null) {\n oldView.__redom_index = null;\n unmount(this, oldView);\n }\n }\n }\n\n for (var i$1 = 0; i$1 < views.length; i$1++) {\n var view = views[i$1];\n\n view.__redom_index = i$1;\n }\n\n setChildren(this, views);\n\n if (keySet) {\n this.lookup = lookup;\n }\n this.views = views;\n};\n\nList.extend = function (parent, View, key, initData) {\n return List.bind(List, parent, View, key, initData);\n};\n\nlist.extend = List.extend;\n\n/* global Node */\n\nvar place = function (View, initData) {\n return new Place(View, initData);\n};\n\nvar Place = function Place (View, initData) {\n this.el = text('');\n this.visible = false;\n this.view = null;\n this._placeholder = this.el;\n\n if (View instanceof Node) {\n this._el = View;\n } else {\n this._View = View;\n }\n\n this._initData = initData;\n};\nPlace.prototype.update = function update (visible, data) {\n var placeholder = this._placeholder;\n var parentNode = this.el.parentNode;\n\n if (visible) {\n if (!this.visible) {\n if (this._el) {\n mount(parentNode, this._el, placeholder);\n unmount(parentNode, placeholder);\n\n this.el = this._el;\n this.visible = visible;\n\n return;\n }\n var View = this._View;\n var view = new View(this._initData);\n\n this.el = getEl(view);\n this.view = view;\n\n mount(parentNode, view, placeholder);\n unmount(parentNode, placeholder);\n }\n this.view && this.view.update && this.view.update(data);\n } else {\n if (this.visible) {\n if (this._el) {\n mount(parentNode, placeholder, this._el);\n unmount(parentNode, this._el);\n\n this.el = placeholder;\n this.visible = visible;\n\n return;\n }\n mount(parentNode, placeholder, this.view);\n unmount(parentNode, this.view);\n\n this.el = placeholder;\n this.view = null;\n }\n }\n this.visible = visible;\n};\n\nvar router = function (parent, Views, initData) {\n return new Router(parent, Views, initData);\n};\n\nvar Router = function Router (parent, Views, initData) {\n this.el = ensureEl(parent);\n this.Views = Views;\n this.initData = initData;\n};\nRouter.prototype.update = function update (route, data) {\n if (route !== this.route) {\n var Views = this.Views;\n var View = Views[route];\n\n this.route = route;\n this.view = View && new View(this.initData, data);\n\n setChildren(this.el, [ this.view ]);\n }\n this.view && this.view.update && this.view.update(data, route);\n};\n\nvar ns = 'http://www.w3.org/2000/svg';\n\nvar svgCache = {};\n\nvar memoizeSVG = function (query) { return svgCache[query] || (svgCache[query] = createElement(query, ns)); };\n\nvar svg = function (query) {\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n var element;\n\n var type = typeof query;\n\n if (type === 'string') {\n element = memoizeSVG(query).cloneNode(false);\n } else if (isNode(query)) {\n element = query.cloneNode(false);\n } else if (type === 'function') {\n var Query = query;\n element = new (Function.prototype.bind.apply( Query, [ null ].concat( args) ));\n } else {\n throw new Error('At least one argument required');\n }\n\n parseArguments(getEl(element), args);\n\n return element;\n};\n\nsvg.extend = function (query) {\n var clone = memoizeSVG(query);\n\n return svg.bind(this, clone);\n};\n\nsvg.ns = ns;\n\nvar s = svg;\n\nexport { el, h, html, list, List, listPool, ListPool, mount, unmount, place, Place, router, Router, setAttr, setStyle, setChildren, s, svg, text };\n","export default class Language {\r\n\r\n setLocale(locale) {\r\n window.CookieConsent.config.language.current = locale;\r\n }\r\n \r\n static getTranslation(object, locale, key) {\r\n var currentLocale;\r\n\r\n if(!object.hasOwnProperty('language')) return '[Missing language object]';\r\n if(!object.language.hasOwnProperty('locale')) return '[Missing locale object]'\r\n \r\n currentLocale = (object.language.locale.hasOwnProperty(locale)) ? locale : 'en';\r\n\r\n return (object.language.locale[currentLocale].hasOwnProperty(key)) ? object.language.locale[currentLocale][key] : '[Missing translation]';\r\n }\r\n\r\n}","import { el, mount } from 'redom';\r\nimport Language from './Language';\r\nimport Utilities from \"./Utilities\";\r\n\r\nexport default class Interface {\r\n\r\n constructor() {\r\n this.elements = {};\r\n }\r\n\r\n\r\n buildStyle() {\r\n return el('style',\r\n '#cconsent-bar, #cconsent-bar * { box-sizing:border-box }', \r\n '#cconsent-bar { background-color:' + window.CookieConsent.config.theme.barColor + '; color:' + window.CookieConsent.config.theme.barTextColor + '; padding:15px; text-align:right; font-family:sans-serif; font-size:14px; line-height:18px; position:fixed; bottom:0; left:0; width:100%; z-index:9998; transform: translateY(0); transition: transform .6s ease-in-out; transition-delay: .3s;}', \r\n '#cconsent-bar.ccb--hidden {transform: translateY(100%); display:block;}', \r\n '#cconsent-bar .ccb__wrapper { display:flex; flex-wrap:wrap; justify-content:space-between; max-width:1800px; margin:0 auto;}',\r\n '#cconsent-bar .ccb__left { align-self:center; text-align:left; margin: 15px 0;}',\r\n '#cconsent-bar .ccb__right { align-self:center; white-space: nowrap;}',\r\n '#cconsent-bar .ccb__right > div {display:inline-block; color:#FFF;}',\r\n '#cconsent-bar a { text-decoration:underline; color:' + window.CookieConsent.config.theme.barTextColor + '; }',\r\n '#cconsent-bar button { line-height:normal; font-size:14px; border:none; padding:10px 10px; color:' + window.CookieConsent.config.theme.barMainButtonTextColor + '; background-color:' + window.CookieConsent.config.theme.barMainButtonColor + ';}',\r\n '#cconsent-bar a.ccb__edit { margin-right:15px }',\r\n '#cconsent-bar a:hover, #cconsent-bar button:hover { cursor:pointer; }',\r\n '#cconsent-modal { display:none; font-size:14px; line-height:18px; color:#666; width: 100vw; height: 100vh; position:fixed; left:0; top:0; right:0; bottom:0; font-family:sans-serif; font-size:14px; background-color:rgba(0,0,0,0.6); z-index:9999; align-items:center; justify-content:center;}',\r\n '@media (max-width: 600px) { #cconsent-modal { height: 100% } }',\r\n '#cconsent-modal h2, #cconsent-modal h3 {color:#333}',\r\n '#cconsent-modal.ccm--visible {display:flex}',\r\n '#cconsent-modal .ccm__content { max-width:600px; min-height:500px; max-height:600px; overflow-Y:auto; background-color:#EFEFEF; }',\r\n '@media (max-width: 600px) { #cconsent-modal .ccm__content { max-width:100vw; height:100%; max-height:initial; }}',\r\n '#cconsent-modal .ccm__content > .ccm__content__heading { border-bottom:1px solid #D8D8D8; padding:35px 35px 20px; background-color:#EFEFEF; position:relative;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__heading h2 { font-size:21px; font-weight:600; color:#333; margin:0 }',\r\n '#cconsent-modal .ccm__content > .ccm__content__heading .ccm__cheading__close {font-weight:600; color:#888; cursor:pointer; font-size:26px; position: absolute; right:15px; top: 15px;}',\r\n '#cconsent-modal h2, #cconsent-modal h3 {margin-top:0}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body { background-color:#FFF;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup {margin:0; border-bottom: 1px solid #D8D8D8; }',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup .ccm__tab-head::before { position:absolute; left:35px; font-size:1.4em; font-weight: 600; color:#E56385; content:\"×\"; display:inline-block; margin-right: 20px;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.checked-5jhk .ccm__tab-head::before {font-size:1em; content:\"✔\"; color:#28A834}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup .ccm__tab-head .ccm__tab-head__icon-wedge { transition: transform .3s ease-out; transform-origin: 16px 6px 0; position:absolute;right:25px; top:50%; transform:rotate(0deg); transform:translateY(-50%)}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup .ccm__tab-head .ccm__tab-head__icon-wedge > svg { pointer-events: none; }',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.ccm__tabgroup--open .ccm__tab-head .ccm__tab-head__icon-wedge {transform:rotate(-180deg)}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head {color:#333; padding:17px 35px 17px 56px; margin:0}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content {padding:25px 35px; margin:0}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head { transition: background-color .5s ease-out }',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head:hover { background-color:#F9F9F9 }',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head {font-weight:600; cursor:pointer; position:relative;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup .ccm__tab-content {display:none;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.ccm__tabgroup--open .ccm__tab-head { background-color:#F9F9F9 }',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.ccm__tabgroup--open .ccm__tab-content {display:flex;}',\r\n '@media (max-width: 600px) { #cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.ccm__tabgroup--open .ccm__tab-content {flex-direction:column} }',\r\n '@media (max-width: 600px) { #cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left { margin-bottom:20px; } }',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch-component {display:flex; margin-right:35px; align-items:center;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch-component > div {font-weight:600;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch-group {width:40px; height:20px; margin:0 10px; position:relative;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch {position: absolute; top:0; right:0; display: inline-block; width: 40px; height: 20px;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch input {display:none;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch .ccm__switch__slider {position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #ccc; border-radius:10px; -webkit-transition: .4s; transition: .4s;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch .ccm__switch__slider:before {position: absolute; content: \"\"; height: 12px; width: 12px; left: 4px; bottom: 4px; background-color: white; border-radius:50%; -webkit-transition: .4s; transition: .4s;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch input:checked + .ccm__switch__slider {background-color: #28A834;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch input:focus + .ccm__switch__slider {box-shadow: 0 0 1px #28A834;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch input:checked + .ccm__switch__slider:before {-webkit-transform: translateX(20px); -ms-transform: translateX(20px); transform: translateX(20px);}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content h3 {font-size:18px; margin-bottom:10px; line-height:1;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content p {color:#444; margin-bottom:0}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__list:not(:empty) {margin-top:30px;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__list .ccm__list__title {color:#333; font-weight:600;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__list ul { margin:15px 0; padding-left:15px }',\r\n '#cconsent-modal .ccm__footer { padding:35px; background-color:#EFEFEF; text-align:center; display: flex; align-items:center; justify-content:flex-end; }',\r\n '#cconsent-modal .ccm__footer button { line-height:normal; font-size:14px; transition: background-color .5s ease-out; background-color:' + window.CookieConsent.config.theme.modalMainButtonColor + '; color:' + window.CookieConsent.config.theme.modalMainButtonTextColor + '; border:none; padding:13px; min-width:110px; border-radius: 2px; cursor:pointer; }',\r\n '#cconsent-modal .ccm__footer button:hover { background-color:' + Utilities.lightenDarkenColor(window.CookieConsent.config.theme.modalMainButtonColor, -20) + '; }',\r\n '#cconsent-modal .ccm__footer button#ccm__footer__consent-modal-submit { margin-right:10px; }'\r\n );\r\n }\r\n\r\n buildBar() {\r\n return el('div#cconsent-bar.ccb--hidden',\r\n el(`div.ccb__wrapper`,\r\n el('div.ccb__left',\r\n el('div.cc-text', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'barMainText'))\r\n ),\r\n el('div.ccb__right',\r\n el('div.ccb__button',\r\n el('a.ccb__edit', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'barLinkSetting')),\r\n el('button.consent-give', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'barBtnAcceptAll'))\r\n )\r\n )\r\n ),\r\n );\r\n }\r\n\r\n buildModal() {\r\n\r\n // Cookie names list middleware\r\n var listCookies = function(category) {\r\n var list = [];\r\n\r\n for(let service in window.CookieConsent.config.services) {\r\n (window.CookieConsent.config.services[service].category === category) && list.push(window.CookieConsent.config.services[service]);\r\n }\r\n \r\n if(list.length) {\r\n \r\n var listItems = [];\r\n \r\n for(let item in list) {\r\n listItems.push(el('li', Language.getTranslation(list[item], window.CookieConsent.config.language.current, 'name')));\r\n }\r\n\r\n return [el('div.ccm__list', el('span.ccm__list__title', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'modalAffectedSolutions')), el('ul', listItems))];\r\n }\r\n }\r\n \r\n function modalTabGroups() {\r\n\r\n let contentItems = [];\r\n\r\n let i = 0;\r\n for (let key in window.CookieConsent.config.categories) {\r\n\r\n contentItems.push(el('dl.ccm__tabgroup' + '.' + key + ((window.CookieConsent.config.categories[key].checked) ? '.checked-5jhk' : ''), {'data-category':key},\r\n el('dt.ccm__tab-head', Language.getTranslation(window.CookieConsent.config.categories[key], window.CookieConsent.config.language.current, 'name'),\r\n el('a.ccm__tab-head__icon-wedge', \r\n el(document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\"), { version: \"1.2\", preserveAspectRatio: \"none\", viewBox: \"0 0 24 24\", class: \"icon-wedge-svg\", \"data-id\": \"e9b3c566e8c14cfea38af128759b91a3\", style: \"opacity: 1; mix-blend-mode: normal; fill: rgb(51, 51, 51); width: 32px; height: 32px;\"},\r\n el(document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\"), { 'xmlns:default': \"http://www.w3.org/2000/svg\", class: \"icon-wedge-angle-down\", d: \"M17.2,9.84c0-0.09-0.04-0.18-0.1-0.24l-0.52-0.52c-0.13-0.13-0.33-0.14-0.47-0.01c0,0-0.01,0.01-0.01,0.01 l-4.1,4.1l-4.09-4.1C7.78,8.94,7.57,8.94,7.44,9.06c0,0-0.01,0.01-0.01,0.01L6.91,9.6c-0.13,0.13-0.14,0.33-0.01,0.47 c0,0,0.01,0.01,0.01,0.01l4.85,4.85c0.13,0.13,0.33,0.14,0.47,0.01c0,0,0.01-0.01,0.01-0.01l4.85-4.85c0.06-0.06,0.1-0.15,0.1-0.24 l0,0H17.2z\", style: \"fill: rgb(51, 51, 51);\" })\r\n )\r\n ),\r\n ),\r\n el('dd.ccm__tab-content',\r\n el('div.ccm__tab-content__left', \r\n ( ! window.CookieConsent.config.categories[key].needed) && el('div.ccm__switch-component', el('div.status-off', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'off')),\r\n el('div.ccm__switch-group',\r\n el('label.ccm__switch',\r\n el('input.category-onoff', {type:'checkbox', 'data-category': key, 'checked': window.CookieConsent.config.categories[key].checked}),\r\n el('span.ccm__switch__slider')\r\n )\r\n ),\r\n el('div.status-on', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'on')))\r\n ),\r\n el('div.right',\r\n el('h3', Language.getTranslation(window.CookieConsent.config.categories[key], window.CookieConsent.config.language.current, 'name')),\r\n el('p', Language.getTranslation(window.CookieConsent.config.categories[key], window.CookieConsent.config.language.current, 'description')),\r\n el('div.ccm__list',\r\n listCookies(key)\r\n )\r\n )\r\n )\r\n )\r\n );\r\n\r\n i++;\r\n }\r\n\r\n return contentItems;\r\n }\r\n\r\n return el('div#cconsent-modal',\r\n el('div.ccm__content',\r\n el('div.ccm__content__heading',\r\n el('h2', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'modalMainTitle')),\r\n el('p',\r\n Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'modalMainText'),\r\n (window.CookieConsent.config.modalMainTextMoreLink) ? el('a', { href: window.CookieConsent.config.modalMainTextMoreLink, target: '_blank', rel: 'noopener noreferrer' }, Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'learnMore')) : null\r\n ),\r\n el('div.ccm__cheading__close', '×')\r\n ),\r\n el('div.ccm__content__body',\r\n el('div.ccm__tabs',\r\n modalTabGroups()\r\n )\r\n ),\r\n el('div.ccm__footer',\r\n el('button#ccm__footer__consent-modal-submit', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'modalBtnSave')),\r\n el('button.consent-give', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'modalBtnAcceptAll'))\r\n )\r\n )\r\n );\r\n }\r\n\r\n modalRedrawIcons() {\r\n var tabGroups = this.elements['modal'].querySelectorAll('.ccm__tabgroup');\r\n\r\n for(let tabGroup of tabGroups) {\r\n if(window.CookieConsent.config.categories[tabGroup.dataset.category].checked) {\r\n if( ! tabGroup.classList.contains('checked-5jhk')) {\r\n tabGroup.classList.add('checked-5jhk');\r\n tabGroup.querySelector('input.category-onoff').checked = true;\r\n };\r\n } else {\r\n if(tabGroup.classList.contains('checked-5jhk')) tabGroup.classList.remove('checked-5jhk');\r\n tabGroup.querySelector('input.category-onoff').checked = false;\r\n }\r\n }\r\n }\r\n\r\n render(name, elem, callback) {\r\n if (typeof callback === 'undefined') callback = function(){};\r\n if (typeof this.elements[name] !== 'undefined') {\r\n this.elements[name].parentNode.replaceChild(elem, this.elements[name]);\r\n this.elements[name] = elem;\r\n callback(elem);\r\n return elem;\r\n } else {\r\n var insertedElem = mount(document.body, elem);\r\n if (insertedElem) {\r\n this.elements[name] = insertedElem;\r\n }\r\n callback(insertedElem);\r\n return insertedElem;\r\n }\r\n }\r\n\r\n buildInterface(callback) {\r\n\r\n if (typeof callback === 'undefined') callback = function(){};\r\n var that = this;\r\n\r\n Utilities.ready(function() {\r\n\r\n that.render('style', that.buildStyle());\r\n\r\n that.render('bar', that.buildBar(), (bar) => {\r\n\r\n // Show the bar after a while\r\n if ( ! window.CookieConsent.config.cookieExists) {\r\n setTimeout(() => {\r\n bar.classList.remove('ccb--hidden');\r\n }, window.CookieConsent.config.barTimeout);\r\n }\r\n });\r\n\r\n that.render('modal', that.buildModal());\r\n\r\n callback();\r\n });\r\n }\r\n\r\n addEventListeners(elements) {\r\n\r\n // If you click Accept all cookies\r\n var buttonConsentGive = document.querySelectorAll('.consent-give');\r\n\r\n for(let button of buttonConsentGive) {\r\n button.addEventListener('click', () => {\r\n \r\n // We set config to full consent\r\n for(let key in window.CookieConsent.config.categories) {\r\n window.CookieConsent.config.categories[key].wanted =\r\n window.CookieConsent.config.categories[key].checked = true;\r\n }\r\n \r\n this.writeBufferToDOM();\r\n \r\n this.buildCookie((cookie) => {\r\n this.setCookie(cookie);\r\n });\r\n \r\n this.elements['bar'].classList.add('ccb--hidden');\r\n this.elements['modal'].classList.remove('ccm--visible');\r\n\r\n this.modalRedrawIcons();\r\n \r\n });\r\n }\r\n\r\n\r\n // If you click Cookie settings and open modal\r\n Array.prototype.forEach.call(document.getElementsByClassName('ccb__edit'), (edit) => {\r\n edit.addEventListener('click', () => {\r\n this.elements['modal'].classList.add('ccm--visible');\r\n });\r\n });\r\n\r\n // If you click trough the tabs on Cookie settings\r\n // If you click on/off switch\r\n this.elements['modal'].querySelector('.ccm__tabs').addEventListener('click', (event) => {\r\n\r\n // If you click trough the tabs on Cookie settings\r\n if (event.target.classList.contains('ccm__tab-head') || event.target.classList.contains('ccm__tab-head__icon-wedge')) {\r\n\r\n function getDlParent(eventTarget) {\r\n var parent = eventTarget.parentNode;\r\n if(parent.nodeName !== 'DL') {\r\n return getDlParent(parent);\r\n } else {\r\n return parent;\r\n }\r\n }\r\n \r\n var parentDl = getDlParent(event.target);\r\n \r\n if(parentDl.classList.contains('ccm__tabgroup--open')) {\r\n parentDl.classList.remove('ccm__tabgroup--open');\r\n } else {\r\n parentDl.classList.add('ccm__tabgroup--open');\r\n }\r\n }\r\n\r\n // If you click on/off switch\r\n if (event.target.classList.contains('category-onoff')) {\r\n window.CookieConsent.config.categories[event.target.dataset.category].wanted =\r\n window.CookieConsent.config.categories[event.target.dataset.category].checked = (event.target.checked === true) ? true : false;\r\n\r\n var dt = document.querySelector('.ccm__tabgroup.' + event.target.dataset.category);\r\n if(event.target.checked === false && dt.classList.contains('checked-5jhk')) {\r\n dt.classList.remove('checked-5jhk');\r\n } else {\r\n dt.classList.add('checked-5jhk');\r\n }\r\n }\r\n });\r\n\r\n\r\n\r\n // If you click close on open modal\r\n this.elements['modal'].querySelector('.ccm__cheading__close').addEventListener('click', (event) => {\r\n this.elements['modal'].classList.remove('ccm--visible');\r\n });\r\n\r\n // If you click submit on cookie settings\r\n document.getElementById('ccm__footer__consent-modal-submit').addEventListener('click', () => {\r\n\r\n let switchElements = this.elements['modal'].querySelectorAll('.ccm__switch input');\r\n\r\n Array.prototype.forEach.call(switchElements, (switchElement) => {\r\n window.CookieConsent.config.categories[switchElement.dataset.category].wanted = switchElement.checked;\r\n });\r\n\r\n this.buildCookie((cookie) => {\r\n this.setCookie(cookie, () => {\r\n this.elements['modal'].classList.remove('ccm--visible');\r\n this.elements['bar'].classList.add('ccb--hidden');\r\n });\r\n });\r\n\r\n this.writeBufferToDOM();\r\n\r\n });\r\n }\r\n\r\n writeBufferToDOM() {\r\n\r\n for(let action of window.CookieConsent.buffer.appendChild) {\r\n if (window.CookieConsent.config.categories[action.category].wanted === true) {\r\n Node.prototype.appendChild.apply(action.this, action.arguments);\r\n }\r\n }\r\n\r\n for(let action of window.CookieConsent.buffer.insertBefore) {\r\n if (window.CookieConsent.config.categories[action.category].wanted === true) {\r\n action.arguments[1] = (action.arguments[0].parentNode === null) ? action.this.lastChild : action.arguments[1];\r\n Node.prototype.insertBefore.apply(action.this, action.arguments);\r\n }\r\n }\r\n }\r\n\r\n buildCookie(callback) {\r\n let cookie = {\r\n version: window.CookieConsent.config.cookieVersion,\r\n categories: {},\r\n services: []\r\n };\r\n \r\n for(let key in window.CookieConsent.config.categories) {\r\n cookie.categories[key] = {\r\n wanted: window.CookieConsent.config.categories[key].wanted,\r\n };\r\n }\r\n\r\n cookie.services = Utilities.listGlobalServices();\r\n \r\n if (callback) callback(cookie);\r\n return cookie;\r\n }\r\n \r\n setCookie(cookie, callback) {\r\n const expires_in = new Date(Date.now() + 365 * 24 * 60 * 60 * 1000).toUTCString();\r\n\r\n document.cookie = `cconsent=${JSON.stringify(cookie)}; expires=${expires_in}; path=/;`;\r\n if (callback) callback();\r\n }\r\n}\r\n","import Utilities from \"./Utilities\";\r\n\r\nexport default class Configuration {\r\n\r\n constructor(configObject) {\r\n\r\n window.CookieConsent.buffer = {\r\n appendChild: [],\r\n insertBefore: []\r\n }\r\n\r\n // Wrapper filter function\r\n window.CookieConsent.wrapper = function () { };\r\n\r\n // Settings injector for users\r\n window.CookieConsent.setConfiguration = this.setConfiguration.bind(this);\r\n\r\n window.CookieConsent.config = {\r\n active: true,\r\n cookieExists: false,\r\n cookieVersion: 1,\r\n modalMainTextMoreLink: null,\r\n barTimeout: 1000,\r\n theme: {\r\n barColor: '#2C7CBF',\r\n barTextColor: '#FFF',\r\n barMainButtonColor: '#FFF',\r\n barMainButtonTextColor: '#2C7CBF',\r\n modalMainButtonColor: '#4285F4',\r\n modalMainButtonTextColor: '#FFF',\r\n },\r\n language: {\r\n current: 'en',\r\n locale: {\r\n en: {\r\n barMainText: 'This website uses cookies to ensure you get the best experience on our website.',\r\n barLinkSetting: 'Cookie Settings',\r\n barBtnAcceptAll: 'Accept all cookies',\r\n modalMainTitle: 'Cookie settings',\r\n modalMainText: 'Cookies are small piece of data sent from a website and stored on the user\\'s computer by the user\\'s web browser while the user is browsing. Your browser stores each message in a small file, called cookie. When you request another page from the server, your browser sends the cookie back to the server. Cookies were designed to be a reliable mechanism for websites to remember information or to record the user\\'s browsing activity.',\r\n modalBtnSave: 'Save current settings',\r\n modalBtnAcceptAll: 'Accept all cookies and close',\r\n modalAffectedSolutions: 'Affected solutions:',\r\n learnMore: 'Learn More',\r\n on: 'On',\r\n off: 'Off',\r\n },\r\n hu: {\r\n barMainText: 'Ez a weboldal Sütiket használ a jobb felhasználói élmény érdekében.',\r\n barLinkSetting: 'Süti beállítások',\r\n barBtnAcceptAll: 'Minden süti elfogadása',\r\n modalMainTitle: 'Süti beállítások',\r\n modalMainText: 'A HTTP-süti (általában egyszerűen süti, illetve angolul cookie) egy információcsomag, amelyet a szerver küld a webböngészőnek, majd a böngésző visszaküld a szervernek minden, a szerver felé irányított kérés alkalmával. Amikor egy weboldalt kérünk le a szervertől, akkor a böngésző elküldi a számára elérhető sütiket. A süti-ket úgy tervezték, hogy megbízható mechanizmust biztosítsanak a webhelyek számára az információk megőrzésére vagy a felhasználók böngészési tevékenységének rögzítésére.',\r\n modalBtnSave: 'Beállítások mentése',\r\n modalBtnAcceptAll: 'Minden Süti elfogadása',\r\n modalAffectedSolutions: 'Mire lesz ez hatással:',\r\n learnMore: 'Tudj meg többet',\r\n on: 'Be',\r\n off: 'Ki',\r\n }\r\n }\r\n },\r\n categories: {},\r\n services: {}\r\n }\r\n\r\n this.setConfiguration(configObject);\r\n\r\n }\r\n\r\n setConfiguration(configObject) {\r\n // The user overrides the default config\r\n console.log(window.CookieConsent.config, configObject, { ...window.CookieConsent.config, ...configObject });\r\n\r\n this.mergeDeep(window.CookieConsent.config, configObject)\r\n //loMerge(window.CookieConsent.config, configObject);\r\n // The cookie overrides the default and user config\r\n this.cookieToConfig();\r\n\r\n // We tell the world we did this\r\n Utilities.dispatchEvent(document, 'CCConfigSet');\r\n }\r\n\r\n cookieToConfig() {\r\n\r\n function removeReload() {\r\n Utilities.removeCookie();\r\n location.reload();\r\n return false;\r\n }\r\n\r\n document.cookie.split(';').filter((item) => {\r\n\r\n if (item.indexOf('cconsent') >= 0) {\r\n var cookieData = JSON.parse(item.split('=')[1]);\r\n\r\n // We check cookie version. If older we need to renew cookie.\r\n if (typeof cookieData.version === 'undefined') {\r\n return removeReload();\r\n } else {\r\n if (cookieData.version !== window.CookieConsent.config.cookieVersion) {\r\n return removeReload();\r\n }\r\n }\r\n\r\n // We check if cookie data categories also exist in user config\r\n for (let key in cookieData.categories) {\r\n\r\n // The cookie contains category not present in user config so we invalidate cookie\r\n if (typeof window.CookieConsent.config.categories[key] === 'undefined') {\r\n return removeReload();\r\n }\r\n }\r\n\r\n // We check if cookie data services also exist in user config\r\n cookieData.services.forEach(function (service) {\r\n\r\n // The cookie contains service not present in user config so we invalidate cookie\r\n if (typeof window.CookieConsent.config.services[service] === 'undefined') {\r\n return removeReload();\r\n }\r\n });\r\n\r\n // We we integrate cookie data into the global config object\r\n for (let key in cookieData.categories) {\r\n window.CookieConsent.config.categories[key].checked = window.CookieConsent.config.categories[key].wanted = (cookieData.categories[key].wanted === true) ? true : false;\r\n }\r\n\r\n window.CookieConsent.config.cookieExists = true;\r\n return true;\r\n }\r\n });\r\n\r\n return false;\r\n }\r\n\r\n\r\n // Simple object check.\r\n isObject(item) {\r\n return (item && typeof item === 'object' && !Array.isArray(item));\r\n }\r\n\r\n //Deep merge two objects.\r\n mergeDeep(target, ...sources) {\r\n if (!sources.length) return target;\r\n const source = sources.shift();\r\n\r\n if (this.isObject(target) && this.isObject(source)) {\r\n for (const key in source) {\r\n if (this.isObject(source[key])) {\r\n if (!target[key]) Object.assign(target, { [key]: {} });\r\n this.mergeDeep(target[key], source[key]);\r\n } else {\r\n Object.assign(target, { [key]: source[key] });\r\n }\r\n }\r\n }\r\n\r\n return this.mergeDeep(target, ...sources);\r\n }\r\n}\r\n","import Utilities from \"./Utilities\";\r\n\r\nexport default class RemoveCookies {\r\n\r\n init() {\r\n this.removeUnwantedCookies();\r\n }\r\n\r\n removeUnwantedCookies() {\r\n let cookieList = [];\r\n let config = window.CookieConsent.config;\r\n\r\n document.cookie.split(';').map(function(a){\r\n cookieList.push(a.split('=')[0].replace(/(^\\s*)|(\\s*&)/, ''));\r\n });\r\n\r\n for(let service in config.services) {\r\n if (Utilities.objectType(config.services[service].cookies) === 'Array') {\r\n // Remove cookies if they are not wanted by user\r\n if (! config.categories[config.services[service].category].wanted) {\r\n for(let i in config.services[service].cookies) {\r\n let type = Utilities.objectType(config.services[service].cookies[i].name);\r\n if (type === 'String') {\r\n if (cookieList.indexOf(config.services[service].cookies[i].name) > -1) {\r\n this.removeCookie(config.services[service].cookies[i]);\r\n }\r\n } else if (type === 'RegExp') {\r\n // Searching cookie list for cookies matching specified RegExp\r\n let cookieDef = config.services[service].cookies[i];\r\n for (let c in cookieList) {\r\n if (cookieList[c].match(cookieDef.name)) {\r\n this.removeCookie({\r\n name: cookieList[c],\r\n domain: Utilities.objectType(cookieDef.domain) === 'String' ? cookieDef.domain : null\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n removeCookie(cookie) {\r\n // Removing cookies from domain and .domain\r\n let domain = Utilities.objectType(cookie.domain) === 'String' ? `domain=${cookie.domain};` : '';\r\n document.cookie = `${cookie.name}=; expires=Thu, 01 Jan 1980 00:00:00 UTC; ${domain} path=/;`;\r\n }\r\n}\r\n","import InsertScriptFilter from './InsertScriptFilter';\r\nimport ScriptTagFilter from './ScriptTagFilter';\r\nimport WrapperFilter from './WrapperFilter';\r\nimport LocalCookieFilter from './LocalCookieFilter';\r\nimport Interface from './Interface';\r\nimport Configuration from './Configuration';\r\nimport RemoveCookies from './RemoveCookies';\r\n\r\nexport default class CookieConsent {\r\n\r\n init(configObject) {\r\n new Configuration(configObject);\r\n\r\n const removeCookies = new RemoveCookies();\r\n const insertScriptFilter = new InsertScriptFilter();\r\n const scriptTagFilter = new ScriptTagFilter();\r\n const wrapperFilter = new WrapperFilter();\r\n const localCookieFilter = new LocalCookieFilter();\r\n\r\n removeCookies.init();\r\n insertScriptFilter.init();\r\n scriptTagFilter.init();\r\n wrapperFilter.init();\r\n localCookieFilter.init();\r\n\r\n const UI = new Interface();\r\n\r\n UI.buildInterface(() => {\r\n UI.addEventListeners();\r\n });\r\n }\r\n\r\n}","import 'core-js/es6/symbol';\r\nimport 'core-js/fn/symbol/iterator';\r\nimport CookieConsent from './lib/CookieConsent';\r\n\r\nconst cookieConsent = new CookieConsent();\r\n\r\nwindow.CookieConsent = window.CookieConsent || {};\r\nwindow.CookieConsent.init = cookieConsent.init;\r\n\r\n"]} \ No newline at end of file diff --git a/build/cookieconsent.min.js b/build/cookieconsent.min.js index e9fe447..6539943 100644 --- a/build/cookieconsent.min.js +++ b/build/cookieconsent.min.js @@ -151,204 +151,9 @@ require("../../modules/es6.string.iterator"),require("../../modules/web.dom.iter "use strict";function e(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function n(e,n){for(var a=0;a div {display:inline-block; color:#FFF;}","#cconsent-bar a { text-decoration:underline; color:"+window.CookieConsent.config.theme.barTextColor+"; }","#cconsent-bar button { line-height:normal; font-size:14px; border:none; padding:10px 10px; color:"+window.CookieConsent.config.theme.barMainButtonTextColor+"; background-color:"+window.CookieConsent.config.theme.barMainButtonColor+";}","#cconsent-bar a.ccb__edit { margin-right:15px }","#cconsent-bar a:hover, #cconsent-bar button:hover { cursor:pointer; }","#cconsent-modal { display:none; font-size:14px; line-height:18px; color:#666; width: 100vw; height: 100vh; position:fixed; left:0; top:0; right:0; bottom:0; font-family:sans-serif; font-size:14px; background-color:rgba(0,0,0,0.6); z-index:9999; align-items:center; justify-content:center;}","@media (max-width: 600px) { #cconsent-modal { height: 100% } }","#cconsent-modal h2, #cconsent-modal h3 {color:#333}","#cconsent-modal.ccm--visible {display:flex}","#cconsent-modal .ccm__content { max-width:600px; min-height:500px; max-height:600px; overflow-Y:auto; background-color:#EFEFEF; }","@media (max-width: 600px) { #cconsent-modal .ccm__content { max-width:100vw; height:100%; max-height:initial; }}","#cconsent-modal .ccm__content > .ccm__content__heading { border-bottom:1px solid #D8D8D8; padding:35px 35px 20px; background-color:#EFEFEF; position:relative;}","#cconsent-modal .ccm__content > .ccm__content__heading h2 { font-size:21px; font-weight:600; color:#333; margin:0 }","#cconsent-modal .ccm__content > .ccm__content__heading .ccm__cheading__close {font-weight:600; color:#888; cursor:pointer; font-size:26px; position: absolute; right:15px; top: 15px;}","#cconsent-modal h2, #cconsent-modal h3 {margin-top:0}","#cconsent-modal .ccm__content > .ccm__content__body { background-color:#FFF;}","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup {margin:0; border-bottom: 1px solid #D8D8D8; }",'#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup .ccm__tab-head::before { position:absolute; left:35px; font-size:1.4em; font-weight: 600; color:#E56385; content:"×"; display:inline-block; margin-right: 20px;}','#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.checked-5jhk .ccm__tab-head::before {font-size:1em; content:"✔"; color:#28A834}',"#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup .ccm__tab-head .ccm__tab-head__icon-wedge { transition: transform .3s ease-out; transform-origin: 16px 6px 0; position:absolute;right:25px; top:50%; transform:rotate(0deg); transform:translateY(-50%)}","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup .ccm__tab-head .ccm__tab-head__icon-wedge > svg { pointer-events: none; }","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.ccm__tabgroup--open .ccm__tab-head .ccm__tab-head__icon-wedge {transform:rotate(-180deg)}","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head {color:#333; padding:17px 35px 17px 56px; margin:0}","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content {padding:25px 35px; margin:0}","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head { transition: background-color .5s ease-out }","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head:hover { background-color:#F9F9F9 }","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head {font-weight:600; cursor:pointer; position:relative;}","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup .ccm__tab-content {display:none;}","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.ccm__tabgroup--open .ccm__tab-head { background-color:#F9F9F9 }","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.ccm__tabgroup--open .ccm__tab-content {display:flex;}","@media (max-width: 600px) { #cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.ccm__tabgroup--open .ccm__tab-content {flex-direction:column} }","@media (max-width: 600px) { #cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left { margin-bottom:20px; } }","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch-component {display:flex; margin-right:35px; align-items:center;}","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch-component > div {font-weight:600;}","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch-group {width:40px; height:20px; margin:0 10px; position:relative;}","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch {position: absolute; top:0; right:0; display: inline-block; width: 40px; height: 20px;}","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch input {display:none;}","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch .ccm__switch__slider {position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #ccc; border-radius:10px; -webkit-transition: .4s; transition: .4s;}",'#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch .ccm__switch__slider:before {position: absolute; content: ""; height: 12px; width: 12px; left: 4px; bottom: 4px; background-color: white; border-radius:50%; -webkit-transition: .4s; transition: .4s;}',"#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch input:checked + .ccm__switch__slider {background-color: #28A834;}","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch input:focus + .ccm__switch__slider {box-shadow: 0 0 1px #28A834;}","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch input:checked + .ccm__switch__slider:before {-webkit-transform: translateX(20px); -ms-transform: translateX(20px); transform: translateX(20px);}","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content h3 {font-size:18px; margin-bottom:10px; line-height:1;}","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content p {color:#444; margin-bottom:0}","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__list:not(:empty) {margin-top:30px;}","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__list .ccm__list__title {color:#333; font-weight:600;}","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__list ul { margin:15px 0; padding-left:15px }","#cconsent-modal .ccm__footer { padding:35px; background-color:#EFEFEF; text-align:center; display: flex; align-items:center; justify-content:flex-end; }","#cconsent-modal .ccm__footer button { line-height:normal; font-size:14px; transition: background-color .5s ease-out; background-color:"+window.CookieConsent.config.theme.modalMainButtonColor+"; color:"+window.CookieConsent.config.theme.modalMainButtonTextColor+"; border:none; padding:13px; min-width:110px; border-radius: 2px; cursor:pointer; }","#cconsent-modal .ccm__footer button:hover { background-color:"+t.default.lightenDarkenColor(window.CookieConsent.config.theme.modalMainButtonColor,-20)+"; }","#cconsent-modal .ccm__footer button#ccm__footer__consent-modal-submit { margin-right:10px; }")}},{key:"buildBar",value:function(){return(0,e.el)("div#cconsent-bar.ccb--hidden",(0,e.el)("div.ccb__wrapper",(0,e.el)("div.ccb__left",(0,e.el)("div.cc-text",o.default.getTranslation(window.CookieConsent.config,window.CookieConsent.config.language.current,"barMainText"))),(0,e.el)("div.ccb__right",(0,e.el)("div.ccb__button",(0,e.el)("a.ccb__edit",o.default.getTranslation(window.CookieConsent.config,window.CookieConsent.config.language.current,"barLinkSetting")),(0,e.el)("button.consent-give",o.default.getTranslation(window.CookieConsent.config,window.CookieConsent.config.language.current,"barBtnAcceptAll"))))))}},{key:"buildModal",value:function(){var t=function(t){var n=[];for(var c in window.CookieConsent.config.services)window.CookieConsent.config.services[c].category===t&&n.push(window.CookieConsent.config.services[c]);if(n.length){var i=[];for(var a in n)i.push((0,e.el)("li",o.default.getTranslation(n[a],window.CookieConsent.config.language.current,"name")));return[(0,e.el)("div.ccm__list",(0,e.el)("span.ccm__list__title",o.default.getTranslation(window.CookieConsent.config,window.CookieConsent.config.language.current,"modalAffectedSolutions")),(0,e.el)("ul",i))]}};return(0,e.el)("div#cconsent-modal",(0,e.el)("div.ccm__content",(0,e.el)("div.ccm__content__heading",(0,e.el)("h2",o.default.getTranslation(window.CookieConsent.config,window.CookieConsent.config.language.current,"modalMainTitle")),(0,e.el)("p",o.default.getTranslation(window.CookieConsent.config,window.CookieConsent.config.language.current,"modalMainText"),window.CookieConsent.config.modalMainTextMoreLink?(0,e.el)("a",{href:window.CookieConsent.config.modalMainTextMoreLink,target:"_blank",rel:"noopener noreferrer"},o.default.getTranslation(window.CookieConsent.config,window.CookieConsent.config.language.current,"learnMore")):null),(0,e.el)("div.ccm__cheading__close","×")),(0,e.el)("div.ccm__content__body",(0,e.el)("div.ccm__tabs",function(){var n=[];for(var c in window.CookieConsent.config.categories)n.push((0,e.el)("dl.ccm__tabgroup."+c+(window.CookieConsent.config.categories[c].checked?".checked-5jhk":""),{"data-category":c},(0,e.el)("dt.ccm__tab-head",o.default.getTranslation(window.CookieConsent.config.categories[c],window.CookieConsent.config.language.current,"name"),(0,e.el)("a.ccm__tab-head__icon-wedge",(0,e.el)(document.createElementNS("http://www.w3.org/2000/svg","svg"),{version:"1.2",preserveAspectRatio:"none",viewBox:"0 0 24 24",class:"icon-wedge-svg","data-id":"e9b3c566e8c14cfea38af128759b91a3",style:"opacity: 1; mix-blend-mode: normal; fill: rgb(51, 51, 51); width: 32px; height: 32px;"},(0,e.el)(document.createElementNS("http://www.w3.org/2000/svg","path"),{"xmlns:default":"http://www.w3.org/2000/svg",class:"icon-wedge-angle-down",d:"M17.2,9.84c0-0.09-0.04-0.18-0.1-0.24l-0.52-0.52c-0.13-0.13-0.33-0.14-0.47-0.01c0,0-0.01,0.01-0.01,0.01 l-4.1,4.1l-4.09-4.1C7.78,8.94,7.57,8.94,7.44,9.06c0,0-0.01,0.01-0.01,0.01L6.91,9.6c-0.13,0.13-0.14,0.33-0.01,0.47 c0,0,0.01,0.01,0.01,0.01l4.85,4.85c0.13,0.13,0.33,0.14,0.47,0.01c0,0,0.01-0.01,0.01-0.01l4.85-4.85c0.06-0.06,0.1-0.15,0.1-0.24 l0,0H17.2z",style:"fill: rgb(51, 51, 51);"})))),(0,e.el)("dd.ccm__tab-content",(0,e.el)("div.ccm__tab-content__left",!window.CookieConsent.config.categories[c].needed&&(0,e.el)("div.ccm__switch-component",(0,e.el)("div.status-off",o.default.getTranslation(window.CookieConsent.config,window.CookieConsent.config.language.current,"off")),(0,e.el)("div.ccm__switch-group",(0,e.el)("label.ccm__switch",(0,e.el)("input.category-onoff",{type:"checkbox","data-category":c,checked:window.CookieConsent.config.categories[c].checked}),(0,e.el)("span.ccm__switch__slider"))),(0,e.el)("div.status-on",o.default.getTranslation(window.CookieConsent.config,window.CookieConsent.config.language.current,"on")))),(0,e.el)("div.right",(0,e.el)("h3",o.default.getTranslation(window.CookieConsent.config.categories[c],window.CookieConsent.config.language.current,"name")),(0,e.el)("p",o.default.getTranslation(window.CookieConsent.config.categories[c],window.CookieConsent.config.language.current,"description")),(0,e.el)("div.ccm__list",t(c))))));return n}())),(0,e.el)("div.ccm__footer",(0,e.el)("button#ccm__footer__consent-modal-submit",o.default.getTranslation(window.CookieConsent.config,window.CookieConsent.config.language.current,"modalBtnSave")),(0,e.el)("button.consent-give",o.default.getTranslation(window.CookieConsent.config,window.CookieConsent.config.language.current,"modalBtnAcceptAll")))))}},{key:"modalRedrawIcons",value:function(){var e=this.elements.modal.querySelectorAll(".ccm__tabgroup"),o=!0,t=!1,n=void 0;try{for(var c,i=e[Symbol.iterator]();!(o=(c=i.next()).done);o=!0){var a=c.value;window.CookieConsent.config.categories[a.dataset.category].checked?a.classList.contains("checked-5jhk")||(a.classList.add("checked-5jhk"),a.querySelector("input.category-onoff").checked=!0):(a.classList.contains("checked-5jhk")&&a.classList.remove("checked-5jhk"),a.querySelector("input.category-onoff").checked=!1)}}catch(r){t=!0,n=r}finally{try{o||null==i.return||i.return()}finally{if(t)throw n}}}},{key:"render",value:function(o,t,n){if(void 0===n&&(n=function(){}),void 0!==this.elements[o])return this.elements[o].parentNode.replaceChild(t,this.elements[o]),this.elements[o]=t,n(t),t;var c=(0,e.mount)(document.body,t);return c&&(this.elements[o]=c),n(c),c}},{key:"buildInterface",value:function(e){void 0===e&&(e=function(){});var o=this;t.default.ready(function(){o.render("style",o.buildStyle()),o.render("bar",o.buildBar(),function(e){window.CookieConsent.config.cookieExists||setTimeout(function(){e.classList.remove("ccb--hidden")},window.CookieConsent.config.barTimeout)}),o.render("modal",o.buildModal()),e()})}},{key:"addEventListeners",value:function(e){var o=this,t=document.querySelectorAll(".consent-give"),n=!0,c=!1,i=void 0;try{for(var a,r=t[Symbol.iterator]();!(n=(a=r.next()).done);n=!0){a.value.addEventListener("click",function(){for(var e in window.CookieConsent.config.categories)window.CookieConsent.config.categories[e].wanted=window.CookieConsent.config.categories[e].checked=!0;o.writeBufferToDOM(),o.buildCookie(function(e){o.setCookie(e)}),o.elements.bar.classList.add("ccb--hidden"),o.elements.modal.classList.remove("ccm--visible"),o.modalRedrawIcons()})}}catch(_){c=!0,i=_}finally{try{n||null==r.return||r.return()}finally{if(c)throw i}}Array.prototype.forEach.call(document.getElementsByClassName("ccb__edit"),function(e){e.addEventListener("click",function(){o.elements.modal.classList.add("ccm--visible")})}),this.elements.modal.querySelector(".ccm__tabs").addEventListener("click",function(e){if(e.target.classList.contains("ccm__tab-head")||e.target.classList.contains("ccm__tab-head__icon-wedge")){var o=function e(o){var t=o.parentNode;return"DL"!==t.nodeName?e(t):t}(e.target);o.classList.contains("ccm__tabgroup--open")?o.classList.remove("ccm__tabgroup--open"):o.classList.add("ccm__tabgroup--open")}if(e.target.classList.contains("category-onoff")){window.CookieConsent.config.categories[e.target.dataset.category].wanted=window.CookieConsent.config.categories[e.target.dataset.category].checked=!0===e.target.checked;var t=document.querySelector(".ccm__tabgroup."+e.target.dataset.category);!1===e.target.checked&&t.classList.contains("checked-5jhk")?t.classList.remove("checked-5jhk"):t.classList.add("checked-5jhk")}}),this.elements.modal.querySelector(".ccm__cheading__close").addEventListener("click",function(e){o.elements.modal.classList.remove("ccm--visible")}),document.getElementById("ccm__footer__consent-modal-submit").addEventListener("click",function(){var e=o.elements.modal.querySelectorAll(".ccm__switch input");Array.prototype.forEach.call(e,function(e){window.CookieConsent.config.categories[e.dataset.category].wanted=e.checked}),o.buildCookie(function(e){o.setCookie(e,function(){o.elements.modal.classList.remove("ccm--visible"),o.elements.bar.classList.add("ccb--hidden")})}),o.writeBufferToDOM()})}},{key:"writeBufferToDOM",value:function(){var e=!0,o=!1,t=void 0;try{for(var n,c=window.CookieConsent.buffer.appendChild[Symbol.iterator]();!(e=(n=c.next()).done);e=!0){var i=n.value;!0===window.CookieConsent.config.categories[i.category].wanted&&Node.prototype.appendChild.apply(i.this,i.arguments)}}catch(m){o=!0,t=m}finally{try{e||null==c.return||c.return()}finally{if(o)throw t}}var a=!0,r=!1,_=void 0;try{for(var s,l=window.CookieConsent.buffer.insertBefore[Symbol.iterator]();!(a=(s=l.next()).done);a=!0){var d=s.value;!0===window.CookieConsent.config.categories[d.category].wanted&&(d.arguments[1]=null===d.arguments[0].parentNode?d.this.lastChild:d.arguments[1],Node.prototype.insertBefore.apply(d.this,d.arguments))}}catch(m){r=!0,_=m}finally{try{a||null==l.return||l.return()}finally{if(r)throw _}}}},{key:"buildCookie",value:function(e){var o={version:window.CookieConsent.config.cookieVersion,categories:{},services:[]};for(var n in window.CookieConsent.config.categories)o.categories[n]={wanted:window.CookieConsent.config.categories[n].wanted};return o.services=t.default.listGlobalServices(),e&&e(o),o}},{key:"setCookie",value:function(e,o){var t=new Date(Date.now()+31536e6).toUTCString();document.cookie="cconsent=".concat(JSON.stringify(e),"; expires=").concat(t,"; path=/;"),o&&o()}}]),n}();exports.default=r; -},{"redom":"GuEK","./Language":"4LWe","./Utilities":"/6wJ"}],"s9iF":[function(require,module,exports) { -function t(){this.__data__=[],this.size=0}module.exports=t; -},{}],"LIpy":[function(require,module,exports) { -function e(e,n){return e===n||e!=e&&n!=n}module.exports=e; -},{}],"yEjJ":[function(require,module,exports) { -var r=require("./eq");function e(e,n){for(var t=e.length;t--;)if(r(e[t][0],n))return t;return-1}module.exports=e; -},{"./eq":"LIpy"}],"+bWy":[function(require,module,exports) { -var e=require("./_assocIndexOf"),r=Array.prototype,t=r.splice;function a(r){var a=this.__data__,o=e(a,r);return!(o<0)&&(o==a.length-1?a.pop():t.call(a,o,1),--this.size,!0)}module.exports=a; -},{"./_assocIndexOf":"yEjJ"}],"Ewuv":[function(require,module,exports) { -var r=require("./_assocIndexOf");function e(e){var a=this.__data__,o=r(a,e);return o<0?void 0:a[o][1]}module.exports=e; -},{"./_assocIndexOf":"yEjJ"}],"xDQX":[function(require,module,exports) { -var e=require("./_assocIndexOf");function r(r){return e(this.__data__,r)>-1}module.exports=r; -},{"./_assocIndexOf":"yEjJ"}],"h0zV":[function(require,module,exports) { -var s=require("./_assocIndexOf");function e(e,r){var t=this.__data__,i=s(t,e);return i<0?(++this.size,t.push([e,r])):t[i][1]=r,this}module.exports=e; -},{"./_assocIndexOf":"yEjJ"}],"Xk23":[function(require,module,exports) { -var e=require("./_listCacheClear"),t=require("./_listCacheDelete"),r=require("./_listCacheGet"),l=require("./_listCacheHas"),o=require("./_listCacheSet");function a(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t-1&&r%1==0&&r<=e}module.exports=r; -},{}],"LN6c":[function(require,module,exports) { -var e=require("./isFunction"),n=require("./isLength");function r(r){return null!=r&&n(r.length)&&!e(r)}module.exports=r; -},{"./isFunction":"dRuq","./isLength":"GmNU"}],"FwQQ":[function(require,module,exports) { -var e=require("./isArrayLike"),r=require("./isObjectLike");function i(i){return r(i)&&e(i)}module.exports=i; -},{"./isArrayLike":"LN6c","./isObjectLike":"OuyB"}],"PYZb":[function(require,module,exports) { -function e(){return!1}module.exports=e; -},{}],"iyC2":[function(require,module,exports) { - -var e=require("./_root"),o=require("./stubFalse"),r="object"==typeof exports&&exports&&!exports.nodeType&&exports,t=r&&"object"==typeof module&&module&&!module.nodeType&&module,p=t&&t.exports===r,u=p?e.Buffer:void 0,d=u?u.isBuffer:void 0,s=d||o;module.exports=s; -},{"./_root":"MIhM","./stubFalse":"PYZb"}],"ES04":[function(require,module,exports) { -var t=require("./_baseGetTag"),e=require("./_getPrototype"),r=require("./isObjectLike"),o="[object Object]",c=Function.prototype,n=Object.prototype,u=c.toString,i=n.hasOwnProperty,a=u.call(Object);function l(c){if(!r(c)||t(c)!=o)return!1;var n=e(c);if(null===n)return!0;var l=i.call(n,"constructor")&&n.constructor;return"function"==typeof l&&l instanceof l&&u.call(l)==a}module.exports=l; -},{"./_baseGetTag":"e5TX","./_getPrototype":"CXf5","./isObjectLike":"OuyB"}],"2L2L":[function(require,module,exports) { -var e=require("./_baseGetTag"),t=require("./isLength"),r=require("./isObjectLike"),o="[object Arguments]",b="[object Array]",c="[object Boolean]",j="[object Date]",a="[object Error]",n="[object Function]",i="[object Map]",A="[object Number]",y="[object Object]",u="[object RegExp]",g="[object Set]",l="[object String]",p="[object WeakMap]",s="[object ArrayBuffer]",m="[object DataView]",U="[object Float32Array]",f="[object Float64Array]",q="[object Int8Array]",F="[object Int16Array]",I="[object Int32Array]",d="[object Uint8Array]",h="[object Uint8ClampedArray]",k="[object Uint16Array]",x="[object Uint32Array]",B={};function D(o){return r(o)&&t(o.length)&&!!B[e(o)]}B[U]=B[f]=B[q]=B[F]=B[I]=B[d]=B[h]=B[k]=B[x]=!0,B[o]=B[b]=B[s]=B[c]=B[m]=B[j]=B[a]=B[n]=B[i]=B[A]=B[y]=B[u]=B[g]=B[l]=B[p]=!1,module.exports=D; -},{"./_baseGetTag":"e5TX","./isLength":"GmNU","./isObjectLike":"OuyB"}],"PnXa":[function(require,module,exports) { -function n(n){return function(r){return n(r)}}module.exports=n; -},{}],"PBPf":[function(require,module,exports) { -var e=require("./_freeGlobal"),o="object"==typeof exports&&exports&&!exports.nodeType&&exports,r=o&&"object"==typeof module&&module&&!module.nodeType&&module,t=r&&r.exports===o,p=t&&e.process,u=function(){try{var e=r&&r.require&&r.require("util").types;return e||p&&p.binding&&p.binding("util")}catch(o){}}();module.exports=u; -},{"./_freeGlobal":"j3D9"}],"kwIb":[function(require,module,exports) { -var e=require("./_baseIsTypedArray"),r=require("./_baseUnary"),a=require("./_nodeUtil"),i=a&&a.isTypedArray,s=i?r(i):e;module.exports=s; -},{"./_baseIsTypedArray":"2L2L","./_baseUnary":"PnXa","./_nodeUtil":"PBPf"}],"vW3g":[function(require,module,exports) { -function o(o,r){if("__proto__"!=r)return o[r]}module.exports=o; -},{}],"p/s9":[function(require,module,exports) { -var e=require("./_baseAssignValue"),r=require("./eq"),o=Object.prototype,a=o.hasOwnProperty;function i(o,i,t){var n=o[i];a.call(o,i)&&r(n,t)&&(void 0!==t||i in o)||e(o,i,t)}module.exports=i; -},{"./_baseAssignValue":"d05+","./eq":"LIpy"}],"dtkN":[function(require,module,exports) { -var r=require("./_assignValue"),e=require("./_baseAssignValue");function a(a,i,u,n){var o=!u;u||(u={});for(var s=-1,v=i.length;++s-1&&t%1==0&&t0){if(++o>=r)return arguments[0]}else o=0;return t.apply(void 0,arguments)}}module.exports=t; -},{}],"KRxT":[function(require,module,exports) { -var e=require("./_baseSetToString"),r=require("./_shortOut"),t=r(e);module.exports=t; -},{"./_baseSetToString":"UJWv","./_shortOut":"2NNl"}],"f4Fl":[function(require,module,exports) { -var e=require("./identity"),r=require("./_overRest"),t=require("./_setToString");function i(i,u){return t(r(i,u,e),i+"")}module.exports=i; -},{"./identity":"Jpv1","./_overRest":"qXFa","./_setToString":"KRxT"}],"R62e":[function(require,module,exports) { -var e=require("./eq"),r=require("./isArrayLike"),i=require("./_isIndex"),n=require("./isObject");function u(u,t,q){if(!n(q))return!1;var s=typeof t;return!!("number"==s?r(q)&&i(t,q.length):"string"==s&&t in q)&&e(q[t],u)}module.exports=u; -},{"./eq":"LIpy","./isArrayLike":"LN6c","./_isIndex":"A+gr","./isObject":"u9vI"}],"gmQJ":[function(require,module,exports) { -var e=require("./_baseRest"),r=require("./_isIterateeCall");function t(t){return e(function(e,o){var i=-1,n=o.length,u=n>1?o[n-1]:void 0,v=n>2?o[2]:void 0;for(u=t.length>3&&"function"==typeof u?(n--,u):void 0,v&&r(o[0],o[1],v)&&(u=n<3?void 0:u,n=1),e=Object(e);++i=0){var t=JSON.parse(e.split("=")[1]);if(void 0===t.version)return o();if(t.version!==window.CookieConsent.config.cookieVersion)return o();for(var n in t.categories)if(void 0===window.CookieConsent.config.categories[n])return o();for(var i in t.services.forEach(function(e){if(void 0===window.CookieConsent.config.services[e])return o()}),t.categories)window.CookieConsent.config.categories[i].checked=window.CookieConsent.config.categories[i].wanted=!0===t.categories[i].wanted;return window.CookieConsent.config.cookieExists=!0,!0}}),!1}}]),t}();exports.default=a; -},{"./Utilities":"/6wJ","lodash/merge":"yubd"}],"xR4A":[function(require,module,exports) { +},{"redom":"GuEK","./Language":"4LWe","./Utilities":"/6wJ"}],"duLQ":[function(require,module,exports) { +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=o(require("./Utilities"));function o(e){return e&&e.__esModule?e:{default:e}}function t(e){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function n(e){for(var o=1;o=0){var t=JSON.parse(e.split("=")[1]);if(void 0===t.version)return o();if(t.version!==window.CookieConsent.config.cookieVersion)return o();for(var n in t.categories)if(void 0===window.CookieConsent.config.categories[n])return o();for(var i in t.services.forEach(function(e){if(void 0===window.CookieConsent.config.services[e])return o()}),t.categories)window.CookieConsent.config.categories[i].checked=window.CookieConsent.config.categories[i].wanted=!0===t.categories[i].wanted;return window.CookieConsent.config.cookieExists=!0,!0}}),!1}},{key:"isObject",value:function(e){return e&&"object"===t(e)&&!Array.isArray(e)}},{key:"mergeDeep",value:function(e){for(var o=arguments.length,t=new Array(o>1?o-1:0),n=1;n-1&&this.removeCookie(i.services[n].cookies[t]);else if("RegExp"===r){var a=i.services[n].cookies[t];for(var c in o)o[c].match(a.name)&&this.removeCookie({name:o[c],domain:"String"===e.default.objectType(a.domain)?a.domain:null})}}}},{key:"removeCookie",value:function(o){var i="String"===e.default.objectType(o.domain)?"domain=".concat(o.domain,";"):"";document.cookie="".concat(o.name,"=; expires=Thu, 01 Jan 1980 00:00:00 UTC; ").concat(i," path=/;")}}]),o}();exports.default=r; },{"./Utilities":"/6wJ"}],"ylk/":[function(require,module,exports) { "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=o(require("./InsertScriptFilter")),r=o(require("./ScriptTagFilter")),t=o(require("./WrapperFilter")),n=o(require("./LocalCookieFilter")),i=o(require("./Interface")),u=o(require("./Configuration")),a=o(require("./RemoveCookies"));function o(e){return e&&e.__esModule?e:{default:e}}function l(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}function f(e,r){for(var t=0;t 0 ? floor : ceil)(it);\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","exports.f = {}.propertyIsEnumerable;\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof');\nvar test = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif (test + '' != '[object z]') {\n require('./_redefine')(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n","require('../modules/es6.symbol');\nrequire('../modules/es6.object.to-string');\nmodule.exports = require('../modules/_core').Symbol;\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","module.exports = {};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var $iterators = require('./es6.array.iterator');\nvar getKeys = require('./_object-keys');\nvar redefine = require('./_redefine');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar wks = require('./_wks');\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n CSSRuleList: true, // TODO: Not spec compliant, should be false.\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true, // TODO: Not spec compliant, should be false.\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true, // TODO: Not spec compliant, should be false.\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n}\n","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n","export default class Utilities {\r\n\r\n static ready(fn) {\r\n if (document.attachEvent ? document.readyState === \"complete\" : document.readyState !== \"loading\"){\r\n fn();\r\n } else {\r\n document.addEventListener('DOMContentLoaded', fn);\r\n }\r\n }\r\n \r\n static objectType(obj){\r\n return Object.prototype.toString.call(obj).slice(8, -1);\r\n }\r\n\r\n static lightenDarkenColor(col, amt) {\r\n\r\n var usePound = false;\r\n \r\n if (col[0] == \"#\") {\r\n col = col.slice(1);\r\n usePound = true;\r\n }\r\n \r\n var num = parseInt(col, 16);\r\n \r\n var r = (num >> 16) + amt;\r\n \r\n if (r > 255) {\r\n r = 255;\r\n } else if (r < 0) {\r\n r = 0;\r\n }\r\n \r\n var b = ((num >> 8) & 0x00FF) + amt;\r\n \r\n if (b > 255) {\r\n b = 255;\r\n } else if (b < 0) {\r\n b = 0;\r\n }\r\n \r\n var g = (num & 0x0000FF) + amt;\r\n \r\n if (g > 255) {\r\n g = 255;\r\n } else if (g < 0) {\r\n g = 0;\r\n }\r\n \r\n return (usePound ? \"#\" : \"\") + (g | (b << 8) | (r << 16)).toString(16);\r\n \r\n }\r\n\r\n static removeCookie() {\r\n document.cookie = `cconsent=; expires=Thu, 01 Jan 1980 00:00:00 UTC; path=/;`;\r\n }\r\n\r\n // Create an array of services from Cookieconsent global object\r\n // Filter based on category or leave empty is all is wanted\r\n static listGlobalServices(category) {\r\n let categories = [];\r\n\r\n // Global config objectnot set\r\n if (typeof window.CookieConsent === 'undefined') return categories;\r\n\r\n // Category is not specified or opposite\r\n if (typeof category === 'undefined') {\r\n for (let key in window.CookieConsent.config.services) {\r\n categories.push(key);\r\n }\r\n } else {\r\n for (let key in window.CookieConsent.config.services) {\r\n if (window.CookieConsent.config.services[key].category === category) categories.push(key);\r\n }\r\n }\r\n\r\n return categories;\r\n }\r\n\r\n static dispatchEvent(elem, event) {\r\n var event;\r\n\r\n if (typeof(Event) === 'function') {\r\n event = new Event(event);\r\n } else {\r\n event = document.createEvent('Event');\r\n event.initEvent(event, true, true);\r\n }\r\n \r\n elem.dispatchEvent(event);\r\n }\r\n\r\n}\r\n","import Utilities from \"./Utilities\";\r\n\r\nexport default class Filter {\r\n\r\n createBlacklist(type) {\r\n var services = {};\r\n for(var service in window.CookieConsent.config.services) {\r\n if (window.CookieConsent.config.services[service].type === type) {\r\n if(window.CookieConsent.config.categories[window.CookieConsent.config.services[service].category].needed === false) {\r\n if (window.CookieConsent.config.categories[window.CookieConsent.config.services[service].category].wanted === false) {\r\n services[service] = window.CookieConsent.config.services[service];\r\n }\r\n }\r\n }\r\n }\r\n\r\n var blacklist = [];\r\n\r\n for(var service in services) {\r\n var type = Utilities.objectType(services[service].search);\r\n if (type === 'String') {\r\n blacklist.push(services[service].search);\r\n } else if(type === 'Array') {\r\n for (let i = 0; i < services[service].search.length; i++) {\r\n blacklist.push(services[service].search[i]);\r\n }\r\n }\r\n }\r\n\r\n return blacklist;\r\n }\r\n\r\n}","import Filter from './Filter';\r\n\r\nexport default class InsertScriptFilter extends Filter {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n init() {\r\n this.overrideAppendChild();\r\n this.overrideInsertBefore();\r\n }\r\n\r\n overrideAppendChild() {\r\n\r\n Element.prototype.appendChild = function(elem) {\r\n if(arguments[0].tagName === 'SCRIPT') {\r\n //console.log('Appending:', arguments);\r\n for (let key in window.CookieConsent.config.services) {\r\n // Did user opt-in?\r\n if(window.CookieConsent.config.services[key].type === 'dynamic-script') {\r\n if(arguments[0].outerHTML.indexOf(window.CookieConsent.config.services[key].search) >= 0) {\r\n if(window.CookieConsent.config.categories[window.CookieConsent.config.services[key].category].wanted === false) {\r\n window.CookieConsent.buffer.appendChild.push({'this': this, 'category': window.CookieConsent.config.services[key].category, arguments: arguments});\r\n return undefined;\r\n }\r\n }\r\n }\r\n }\r\n } \r\n \r\n return Node.prototype.appendChild.apply(this, arguments);\r\n }\r\n\r\n }\r\n\r\n overrideInsertBefore() {\r\n\r\n Element.prototype.insertBefore = function(elem) {\r\n \r\n if(arguments[0].tagName === 'SCRIPT') {\r\n //console.log('Inserting:', arguments);\r\n for (let key in window.CookieConsent.config.services) {\r\n // Did user opt-in?\r\n if(window.CookieConsent.config.services[key].type === 'dynamic-script') {\r\n if(arguments[0].outerHTML.indexOf(window.CookieConsent.config.services[key].search) >= 0) {\r\n if(window.CookieConsent.config.categories[window.CookieConsent.config.services[key].category].wanted === false) {\r\n window.CookieConsent.buffer.insertBefore.push({'this': this, 'category': window.CookieConsent.config.services[key].category, arguments: arguments});\r\n return undefined;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n \r\n return Node.prototype.insertBefore.apply(this, arguments);\r\n }\r\n }\r\n\r\n}","import Utilities from \"./Utilities\";\r\nimport Filter from './Filter';\r\n\r\nexport default class ScriptTagFilter extends Filter {\r\n \r\n constructor() {\r\n super();\r\n }\r\n\r\n init() {\r\n this.filterTags();\r\n }\r\n\r\n filterTags() {\r\n Utilities.ready(() => {\r\n var blacklist = super.createBlacklist('script-tag');\r\n var scriptTags = document.querySelectorAll('script[type=\"text/plain\"]');\r\n \r\n for (var scriptTag of scriptTags) {\r\n if (blacklist.indexOf(scriptTag.dataset.consent) < 0) {\r\n var newtag = document.createElement('script');\r\n var parentNode = scriptTag.parentNode;\r\n \r\n scriptTag.type = 'text/javascript';\r\n\r\n for(var attribute of scriptTag.attributes) {\r\n newtag.setAttribute(attribute.nodeName, attribute.nodeValue);\r\n }\r\n\r\n newtag.innerHTML = scriptTag.innerHTML;\r\n parentNode.insertBefore(newtag,scriptTag);\r\n parentNode.removeChild(scriptTag);\r\n }\r\n }\r\n });\r\n }\r\n}","import Filter from './Filter';\r\n\r\nexport default class WrapperFilter extends Filter {\r\n \r\n constructor() {\r\n super();\r\n }\r\n\r\n init() {\r\n this.filterWrappers();\r\n }\r\n\r\n filterWrappers() {\r\n var blacklist = super.createBlacklist('wrapped');\r\n\r\n function wrapper(name='', callback) {\r\n if (blacklist.indexOf(name) < 0) {\r\n callback();\r\n }\r\n }\r\n\r\n window.CookieConsent.wrapper = wrapper;\r\n }\r\n}","import Filter from './Filter';\r\n\r\nexport default class LocalCookieFilter extends Filter {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n init() {\r\n this.filterlocalCookies();\r\n }\r\n\r\n getCookieDescriptor() {\r\n var cookieDescriptor;\r\n\r\n cookieDescriptor = Object.getOwnPropertyDescriptor(document, 'cookie') ||\r\n Object.getOwnPropertyDescriptor(HTMLDocument.prototype, 'cookie');\r\n\r\n if (! cookieDescriptor) {\r\n\r\n cookieDescriptor = {};\r\n cookieDescriptor.get = HTMLDocument.prototype.__lookupGetter__(\"cookie\");\r\n cookieDescriptor.set = HTMLDocument.prototype.__lookupSetter__(\"cookie\");\r\n\r\n }\r\n\r\n return cookieDescriptor;\r\n }\r\n\r\n filterlocalCookies() {\r\n\r\n // TODO - implement buffer\r\n var blacklist = super.createBlacklist('localcookie');\r\n var cookieDescriptor = this.getCookieDescriptor();\r\n\r\n Object.defineProperty(document, \"cookie\", {\r\n configurable: true,\r\n get: function () {\r\n return cookieDescriptor.get.apply(document);\r\n },\r\n set: function () {\r\n var cookieArguments = arguments;\r\n\r\n if(blacklist.length) {\r\n var cookieName = arguments[0].split('=')[0];\r\n Array.prototype.forEach.call(blacklist, function(blacklistItem){\r\n if (cookieName.indexOf(blacklistItem) < 0) cookieDescriptor.set.apply(document, cookieArguments);\r\n });\r\n } else {\r\n cookieDescriptor.set.apply(document, cookieArguments);\r\n }\r\n }\r\n });\r\n }\r\n}","var HASH = '#'.charCodeAt(0);\nvar DOT = '.'.charCodeAt(0);\n\nvar TAG_NAME = 0;\nvar ID = 1;\nvar CLASS_NAME = 2;\n\nvar parseQuery = function (query) {\n var tag = null;\n var id = null;\n var className = null;\n var mode = TAG_NAME;\n var offset = 0;\n\n for (var i = 0; i <= query.length; i++) {\n var char = query.charCodeAt(i);\n var isHash = char === HASH;\n var isDot = char === DOT;\n var isEnd = !char;\n\n if (isHash || isDot || isEnd) {\n if (mode === TAG_NAME) {\n if (i === 0) {\n tag = 'div';\n } else {\n tag = query.substring(offset, i);\n }\n } else if (mode === ID) {\n id = query.substring(offset, i);\n } else {\n if (className) {\n className += ' ' + query.substring(offset, i);\n } else {\n className = query.substring(offset, i);\n }\n }\n\n if (isHash) {\n mode = ID;\n } else if (isDot) {\n mode = CLASS_NAME;\n }\n\n offset = i + 1;\n }\n }\n\n return { tag: tag, id: id, className: className };\n};\n\nvar createElement = function (query, ns) {\n var ref = parseQuery(query);\n var tag = ref.tag;\n var id = ref.id;\n var className = ref.className;\n var element = ns ? document.createElementNS(ns, tag) : document.createElement(tag);\n\n if (id) {\n element.id = id;\n }\n\n if (className) {\n if (ns) {\n element.setAttribute('class', className);\n } else {\n element.className = className;\n }\n }\n\n return element;\n};\n\nvar unmount = function (parent, child) {\n var parentEl = getEl(parent);\n var childEl = getEl(child);\n\n if (child === childEl && childEl.__redom_view) {\n // try to look up the view if not provided\n child = childEl.__redom_view;\n }\n\n if (childEl.parentNode) {\n doUnmount(child, childEl, parentEl);\n\n parentEl.removeChild(childEl);\n }\n\n return child;\n};\n\nvar doUnmount = function (child, childEl, parentEl) {\n var hooks = childEl.__redom_lifecycle;\n\n if (hooksAreEmpty(hooks)) {\n childEl.__redom_mounted = false;\n return;\n }\n\n var traverse = parentEl;\n\n if (childEl.__redom_mounted) {\n trigger(childEl, 'onunmount');\n }\n\n while (traverse) {\n var parentHooks = traverse.__redom_lifecycle || {};\n\n for (var hook in hooks) {\n if (parentHooks[hook]) {\n parentHooks[hook] -= hooks[hook];\n }\n }\n\n if (hooksAreEmpty(parentHooks)) {\n traverse.__redom_lifecycle = null;\n }\n\n traverse = traverse.parentNode;\n }\n};\n\nvar hooksAreEmpty = function (hooks) {\n if (hooks == null) {\n return true;\n }\n for (var key in hooks) {\n if (hooks[key]) {\n return false;\n }\n }\n return true;\n};\n\nvar hookNames = ['onmount', 'onremount', 'onunmount'];\nvar shadowRootAvailable = typeof window !== 'undefined' && 'ShadowRoot' in window;\n\nvar mount = function (parent, child, before, replace) {\n var parentEl = getEl(parent);\n var childEl = getEl(child);\n\n if (child === childEl && childEl.__redom_view) {\n // try to look up the view if not provided\n child = childEl.__redom_view;\n }\n\n if (child !== childEl) {\n childEl.__redom_view = child;\n }\n\n var wasMounted = childEl.__redom_mounted;\n var oldParent = childEl.parentNode;\n\n if (wasMounted && (oldParent !== parentEl)) {\n doUnmount(child, childEl, oldParent);\n }\n\n if (before != null) {\n if (replace) {\n parentEl.replaceChild(childEl, getEl(before));\n } else {\n parentEl.insertBefore(childEl, getEl(before));\n }\n } else {\n parentEl.appendChild(childEl);\n }\n\n doMount(child, childEl, parentEl, oldParent);\n\n return child;\n};\n\nvar doMount = function (child, childEl, parentEl, oldParent) {\n var hooks = childEl.__redom_lifecycle || (childEl.__redom_lifecycle = {});\n var remount = (parentEl === oldParent);\n var hooksFound = false;\n\n for (var i = 0, list = hookNames; i < list.length; i += 1) {\n var hookName = list[i];\n\n if (!remount) { // if already mounted, skip this phase\n if (child !== childEl) { // only Views can have lifecycle events\n if (hookName in child) {\n hooks[hookName] = (hooks[hookName] || 0) + 1;\n }\n }\n }\n if (hooks[hookName]) {\n hooksFound = true;\n }\n }\n\n if (!hooksFound) {\n childEl.__redom_mounted = true;\n return;\n }\n\n var traverse = parentEl;\n var triggered = false;\n\n if (remount || (traverse && traverse.__redom_mounted)) {\n trigger(childEl, remount ? 'onremount' : 'onmount');\n triggered = true;\n }\n\n while (traverse) {\n var parent = traverse.parentNode;\n var parentHooks = traverse.__redom_lifecycle || (traverse.__redom_lifecycle = {});\n\n for (var hook in hooks) {\n parentHooks[hook] = (parentHooks[hook] || 0) + hooks[hook];\n }\n\n if (triggered) {\n break;\n } else {\n if (traverse === document ||\n (shadowRootAvailable && (traverse instanceof window.ShadowRoot)) ||\n (parent && parent.__redom_mounted)\n ) {\n trigger(traverse, remount ? 'onremount' : 'onmount');\n triggered = true;\n }\n traverse = parent;\n }\n }\n};\n\nvar trigger = function (el, eventName) {\n if (eventName === 'onmount' || eventName === 'onremount') {\n el.__redom_mounted = true;\n } else if (eventName === 'onunmount') {\n el.__redom_mounted = false;\n }\n\n var hooks = el.__redom_lifecycle;\n\n if (!hooks) {\n return;\n }\n\n var view = el.__redom_view;\n var hookCount = 0;\n\n view && view[eventName] && view[eventName]();\n\n for (var hook in hooks) {\n if (hook) {\n hookCount++;\n }\n }\n\n if (hookCount) {\n var traverse = el.firstChild;\n\n while (traverse) {\n var next = traverse.nextSibling;\n\n trigger(traverse, eventName);\n\n traverse = next;\n }\n }\n};\n\nvar setStyle = function (view, arg1, arg2) {\n var el = getEl(view);\n\n if (arg2 !== undefined) {\n el.style[arg1] = arg2;\n } else if (typeof arg1 === 'string') {\n el.setAttribute('style', arg1);\n } else {\n for (var key in arg1) {\n setStyle(el, key, arg1[key]);\n }\n }\n};\n\n/* global SVGElement */\n\nvar xlinkns = 'http://www.w3.org/1999/xlink';\n\nvar setAttr = function (view, arg1, arg2) {\n var el = getEl(view);\n var isSVG = el instanceof SVGElement;\n\n var isFunc = typeof arg2 === 'function';\n\n if (arg2 !== undefined) {\n if (arg1 === 'style') {\n setStyle(el, arg2);\n } else if (isSVG && isFunc) {\n el[arg1] = arg2;\n } else if (arg1 === 'dataset') {\n setData(el, arg2);\n } else if (!isSVG && (arg1 in el || isFunc)) {\n el[arg1] = arg2;\n } else {\n if (isSVG && (arg1 === 'xlink')) {\n setXlink(el, arg2);\n return;\n }\n el.setAttribute(arg1, arg2);\n }\n } else {\n for (var key in arg1) {\n setAttr(el, key, arg1[key]);\n }\n }\n};\n\nfunction setXlink (el, obj) {\n for (var key in obj) {\n el.setAttributeNS(xlinkns, key, obj[key]);\n }\n}\n\nfunction setData (el, obj) {\n for (var key in obj) {\n el.dataset[key] = obj[key];\n }\n}\n\nvar text = function (str) { return document.createTextNode((str != null) ? str : ''); };\n\nvar parseArguments = function (element, args) {\n for (var i = 0, list = args; i < list.length; i += 1) {\n var arg = list[i];\n\n if (arg !== 0 && !arg) {\n continue;\n }\n\n var type = typeof arg;\n\n // support middleware\n if (type === 'function') {\n arg(element);\n } else if (type === 'string' || type === 'number') {\n element.appendChild(text(arg));\n } else if (isNode(getEl(arg))) {\n mount(element, arg);\n } else if (arg.length) {\n parseArguments(element, arg);\n } else if (type === 'object') {\n setAttr(element, arg);\n }\n }\n};\n\nvar ensureEl = function (parent) { return typeof parent === 'string' ? html(parent) : getEl(parent); };\nvar getEl = function (parent) { return (parent.nodeType && parent) || (!parent.el && parent) || getEl(parent.el); };\nvar isNode = function (a) { return a && a.nodeType; };\n\nvar htmlCache = {};\n\nvar memoizeHTML = function (query) { return htmlCache[query] || (htmlCache[query] = createElement(query)); };\n\nvar html = function (query) {\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n var element;\n\n var type = typeof query;\n\n if (type === 'string') {\n element = memoizeHTML(query).cloneNode(false);\n } else if (isNode(query)) {\n element = query.cloneNode(false);\n } else if (type === 'function') {\n var Query = query;\n element = new (Function.prototype.bind.apply( Query, [ null ].concat( args) ));\n } else {\n throw new Error('At least one argument required');\n }\n\n parseArguments(getEl(element), args);\n\n return element;\n};\n\nhtml.extend = function (query) {\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n var clone = memoizeHTML(query);\n\n return html.bind.apply(html, [ this, clone ].concat( args ));\n};\n\nvar el = html;\nvar h = html;\n\nvar setChildren = function (parent) {\n var children = [], len = arguments.length - 1;\n while ( len-- > 0 ) children[ len ] = arguments[ len + 1 ];\n\n var parentEl = getEl(parent);\n var current = traverse(parent, children, parentEl.firstChild);\n\n while (current) {\n var next = current.nextSibling;\n\n unmount(parent, current);\n\n current = next;\n }\n};\n\nfunction traverse (parent, children, _current) {\n var current = _current;\n\n var childEls = new Array(children.length);\n\n for (var i = 0; i < children.length; i++) {\n childEls[i] = children[i] && getEl(children[i]);\n }\n\n for (var i$1 = 0; i$1 < children.length; i$1++) {\n var child = children[i$1];\n\n if (!child) {\n continue;\n }\n\n var childEl = childEls[i$1];\n\n if (childEl === current) {\n current = current.nextSibling;\n continue;\n }\n\n if (isNode(childEl)) {\n var next = current && current.nextSibling;\n var exists = child.__redom_index != null;\n var replace = exists && next === childEls[i$1 + 1];\n\n mount(parent, child, current, replace);\n\n if (replace) {\n current = next;\n }\n\n continue;\n }\n\n if (child.length != null) {\n current = traverse(parent, child, current);\n }\n }\n\n return current;\n}\n\nvar propKey = function (key) { return function (item) { return item[key]; }; };\n\nvar listPool = function (View, key, initData) {\n return new ListPool(View, key, initData);\n};\n\nvar ListPool = function ListPool (View, key, initData) {\n this.View = View;\n this.initData = initData;\n this.oldLookup = {};\n this.lookup = {};\n this.oldViews = [];\n this.views = [];\n\n if (key != null) {\n this.key = typeof key === 'function' ? key : propKey(key);\n }\n};\nListPool.prototype.update = function update (data, context) {\n var ref = this;\n var View = ref.View;\n var key = ref.key;\n var initData = ref.initData;\n var keySet = key != null;\n\n var oldLookup = this.lookup;\n var newLookup = {};\n\n var newViews = new Array(data.length);\n var oldViews = this.views;\n\n for (var i = 0; i < data.length; i++) {\n var item = data[i];\n var view = (void 0);\n\n if (keySet) {\n var id = key(item);\n\n view = oldLookup[id] || new View(initData, item, i, data);\n newLookup[id] = view;\n view.__redom_id = id;\n } else {\n view = oldViews[i] || new View(initData, item, i, data);\n }\n view.update && view.update(item, i, data, context);\n\n var el = getEl(view.el);\n\n el.__redom_view = view;\n newViews[i] = view;\n }\n\n this.oldViews = oldViews;\n this.views = newViews;\n\n this.oldLookup = oldLookup;\n this.lookup = newLookup;\n};\n\nvar list = function (parent, View, key, initData) {\n return new List(parent, View, key, initData);\n};\n\nvar List = function List (parent, View, key, initData) {\n this.__redom_list = true;\n this.View = View;\n this.initData = initData;\n this.views = [];\n this.pool = new ListPool(View, key, initData);\n this.el = ensureEl(parent);\n this.keySet = key != null;\n};\nList.prototype.update = function update (data, context) {\n if ( data === void 0 ) data = [];\n\n var ref = this;\n var keySet = ref.keySet;\n var oldViews = this.views;\n\n this.pool.update(data, context);\n\n var ref$1 = this.pool;\n var views = ref$1.views;\n var lookup = ref$1.lookup;\n\n if (keySet) {\n for (var i = 0; i < oldViews.length; i++) {\n var oldView = oldViews[i];\n var id = oldView.__redom_id;\n\n if (lookup[id] == null) {\n oldView.__redom_index = null;\n unmount(this, oldView);\n }\n }\n }\n\n for (var i$1 = 0; i$1 < views.length; i$1++) {\n var view = views[i$1];\n\n view.__redom_index = i$1;\n }\n\n setChildren(this, views);\n\n if (keySet) {\n this.lookup = lookup;\n }\n this.views = views;\n};\n\nList.extend = function (parent, View, key, initData) {\n return List.bind(List, parent, View, key, initData);\n};\n\nlist.extend = List.extend;\n\n/* global Node */\n\nvar place = function (View, initData) {\n return new Place(View, initData);\n};\n\nvar Place = function Place (View, initData) {\n this.el = text('');\n this.visible = false;\n this.view = null;\n this._placeholder = this.el;\n\n if (View instanceof Node) {\n this._el = View;\n } else {\n this._View = View;\n }\n\n this._initData = initData;\n};\nPlace.prototype.update = function update (visible, data) {\n var placeholder = this._placeholder;\n var parentNode = this.el.parentNode;\n\n if (visible) {\n if (!this.visible) {\n if (this._el) {\n mount(parentNode, this._el, placeholder);\n unmount(parentNode, placeholder);\n\n this.el = this._el;\n this.visible = visible;\n\n return;\n }\n var View = this._View;\n var view = new View(this._initData);\n\n this.el = getEl(view);\n this.view = view;\n\n mount(parentNode, view, placeholder);\n unmount(parentNode, placeholder);\n }\n this.view && this.view.update && this.view.update(data);\n } else {\n if (this.visible) {\n if (this._el) {\n mount(parentNode, placeholder, this._el);\n unmount(parentNode, this._el);\n\n this.el = placeholder;\n this.visible = visible;\n\n return;\n }\n mount(parentNode, placeholder, this.view);\n unmount(parentNode, this.view);\n\n this.el = placeholder;\n this.view = null;\n }\n }\n this.visible = visible;\n};\n\nvar router = function (parent, Views, initData) {\n return new Router(parent, Views, initData);\n};\n\nvar Router = function Router (parent, Views, initData) {\n this.el = ensureEl(parent);\n this.Views = Views;\n this.initData = initData;\n};\nRouter.prototype.update = function update (route, data) {\n if (route !== this.route) {\n var Views = this.Views;\n var View = Views[route];\n\n this.route = route;\n this.view = View && new View(this.initData, data);\n\n setChildren(this.el, [ this.view ]);\n }\n this.view && this.view.update && this.view.update(data, route);\n};\n\nvar ns = 'http://www.w3.org/2000/svg';\n\nvar svgCache = {};\n\nvar memoizeSVG = function (query) { return svgCache[query] || (svgCache[query] = createElement(query, ns)); };\n\nvar svg = function (query) {\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n var element;\n\n var type = typeof query;\n\n if (type === 'string') {\n element = memoizeSVG(query).cloneNode(false);\n } else if (isNode(query)) {\n element = query.cloneNode(false);\n } else if (type === 'function') {\n var Query = query;\n element = new (Function.prototype.bind.apply( Query, [ null ].concat( args) ));\n } else {\n throw new Error('At least one argument required');\n }\n\n parseArguments(getEl(element), args);\n\n return element;\n};\n\nsvg.extend = function (query) {\n var clone = memoizeSVG(query);\n\n return svg.bind(this, clone);\n};\n\nsvg.ns = ns;\n\nvar s = svg;\n\nexport { el, h, html, list, List, listPool, ListPool, mount, unmount, place, Place, router, Router, setAttr, setStyle, setChildren, s, svg, text };\n","export default class Language {\r\n\r\n setLocale(locale) {\r\n window.CookieConsent.config.language.current = locale;\r\n }\r\n \r\n static getTranslation(object, locale, key) {\r\n var currentLocale;\r\n\r\n if(!object.hasOwnProperty('language')) return '[Missing language object]';\r\n if(!object.language.hasOwnProperty('locale')) return '[Missing locale object]'\r\n \r\n currentLocale = (object.language.locale.hasOwnProperty(locale)) ? locale : 'en';\r\n\r\n return (object.language.locale[currentLocale].hasOwnProperty(key)) ? object.language.locale[currentLocale][key] : '[Missing translation]';\r\n }\r\n\r\n}","import { el, mount } from 'redom';\r\nimport Language from './Language';\r\nimport Utilities from \"./Utilities\";\r\n\r\nexport default class Interface {\r\n\r\n constructor() {\r\n this.elements = {};\r\n }\r\n\r\n\r\n buildStyle() {\r\n return el('style',\r\n '#cconsent-bar, #cconsent-bar * { box-sizing:border-box }', \r\n '#cconsent-bar { background-color:' + window.CookieConsent.config.theme.barColor + '; color:' + window.CookieConsent.config.theme.barTextColor + '; padding:15px; text-align:right; font-family:sans-serif; font-size:14px; line-height:18px; position:fixed; bottom:0; left:0; width:100%; z-index:9998; transform: translateY(0); transition: transform .6s ease-in-out; transition-delay: .3s;}', \r\n '#cconsent-bar.ccb--hidden {transform: translateY(100%); display:block;}', \r\n '#cconsent-bar .ccb__wrapper { display:flex; flex-wrap:wrap; justify-content:space-between; max-width:1800px; margin:0 auto;}',\r\n '#cconsent-bar .ccb__left { align-self:center; text-align:left; margin: 15px 0;}',\r\n '#cconsent-bar .ccb__right { align-self:center; white-space: nowrap;}',\r\n '#cconsent-bar .ccb__right > div {display:inline-block; color:#FFF;}',\r\n '#cconsent-bar a { text-decoration:underline; color:' + window.CookieConsent.config.theme.barTextColor + '; }',\r\n '#cconsent-bar button { line-height:normal; font-size:14px; border:none; padding:10px 10px; color:' + window.CookieConsent.config.theme.barMainButtonTextColor + '; background-color:' + window.CookieConsent.config.theme.barMainButtonColor + ';}',\r\n '#cconsent-bar a.ccb__edit { margin-right:15px }',\r\n '#cconsent-bar a:hover, #cconsent-bar button:hover { cursor:pointer; }',\r\n '#cconsent-modal { display:none; font-size:14px; line-height:18px; color:#666; width: 100vw; height: 100vh; position:fixed; left:0; top:0; right:0; bottom:0; font-family:sans-serif; font-size:14px; background-color:rgba(0,0,0,0.6); z-index:9999; align-items:center; justify-content:center;}',\r\n '@media (max-width: 600px) { #cconsent-modal { height: 100% } }',\r\n '#cconsent-modal h2, #cconsent-modal h3 {color:#333}',\r\n '#cconsent-modal.ccm--visible {display:flex}',\r\n '#cconsent-modal .ccm__content { max-width:600px; min-height:500px; max-height:600px; overflow-Y:auto; background-color:#EFEFEF; }',\r\n '@media (max-width: 600px) { #cconsent-modal .ccm__content { max-width:100vw; height:100%; max-height:initial; }}',\r\n '#cconsent-modal .ccm__content > .ccm__content__heading { border-bottom:1px solid #D8D8D8; padding:35px 35px 20px; background-color:#EFEFEF; position:relative;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__heading h2 { font-size:21px; font-weight:600; color:#333; margin:0 }',\r\n '#cconsent-modal .ccm__content > .ccm__content__heading .ccm__cheading__close {font-weight:600; color:#888; cursor:pointer; font-size:26px; position: absolute; right:15px; top: 15px;}',\r\n '#cconsent-modal h2, #cconsent-modal h3 {margin-top:0}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body { background-color:#FFF;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup {margin:0; border-bottom: 1px solid #D8D8D8; }',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup .ccm__tab-head::before { position:absolute; left:35px; font-size:1.4em; font-weight: 600; color:#E56385; content:\"×\"; display:inline-block; margin-right: 20px;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.checked-5jhk .ccm__tab-head::before {font-size:1em; content:\"✔\"; color:#28A834}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup .ccm__tab-head .ccm__tab-head__icon-wedge { transition: transform .3s ease-out; transform-origin: 16px 6px 0; position:absolute;right:25px; top:50%; transform:rotate(0deg); transform:translateY(-50%)}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup .ccm__tab-head .ccm__tab-head__icon-wedge > svg { pointer-events: none; }',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.ccm__tabgroup--open .ccm__tab-head .ccm__tab-head__icon-wedge {transform:rotate(-180deg)}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head {color:#333; padding:17px 35px 17px 56px; margin:0}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content {padding:25px 35px; margin:0}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head { transition: background-color .5s ease-out }',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head:hover { background-color:#F9F9F9 }',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head {font-weight:600; cursor:pointer; position:relative;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup .ccm__tab-content {display:none;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.ccm__tabgroup--open .ccm__tab-head { background-color:#F9F9F9 }',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.ccm__tabgroup--open .ccm__tab-content {display:flex;}',\r\n '@media (max-width: 600px) { #cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.ccm__tabgroup--open .ccm__tab-content {flex-direction:column} }',\r\n '@media (max-width: 600px) { #cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left { margin-bottom:20px; } }',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch-component {display:flex; margin-right:35px; align-items:center;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch-component > div {font-weight:600;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch-group {width:40px; height:20px; margin:0 10px; position:relative;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch {position: absolute; top:0; right:0; display: inline-block; width: 40px; height: 20px;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch input {display:none;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch .ccm__switch__slider {position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #ccc; border-radius:10px; -webkit-transition: .4s; transition: .4s;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch .ccm__switch__slider:before {position: absolute; content: \"\"; height: 12px; width: 12px; left: 4px; bottom: 4px; background-color: white; border-radius:50%; -webkit-transition: .4s; transition: .4s;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch input:checked + .ccm__switch__slider {background-color: #28A834;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch input:focus + .ccm__switch__slider {box-shadow: 0 0 1px #28A834;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch input:checked + .ccm__switch__slider:before {-webkit-transform: translateX(20px); -ms-transform: translateX(20px); transform: translateX(20px);}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content h3 {font-size:18px; margin-bottom:10px; line-height:1;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content p {color:#444; margin-bottom:0}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__list:not(:empty) {margin-top:30px;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__list .ccm__list__title {color:#333; font-weight:600;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__list ul { margin:15px 0; padding-left:15px }',\r\n '#cconsent-modal .ccm__footer { padding:35px; background-color:#EFEFEF; text-align:center; display: flex; align-items:center; justify-content:flex-end; }',\r\n '#cconsent-modal .ccm__footer button { line-height:normal; font-size:14px; transition: background-color .5s ease-out; background-color:' + window.CookieConsent.config.theme.modalMainButtonColor + '; color:' + window.CookieConsent.config.theme.modalMainButtonTextColor + '; border:none; padding:13px; min-width:110px; border-radius: 2px; cursor:pointer; }',\r\n '#cconsent-modal .ccm__footer button:hover { background-color:' + Utilities.lightenDarkenColor(window.CookieConsent.config.theme.modalMainButtonColor, -20) + '; }',\r\n '#cconsent-modal .ccm__footer button#ccm__footer__consent-modal-submit { margin-right:10px; }'\r\n );\r\n }\r\n\r\n buildBar() {\r\n return el('div#cconsent-bar.ccb--hidden',\r\n el(`div.ccb__wrapper`,\r\n el('div.ccb__left',\r\n el('div.cc-text', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'barMainText'))\r\n ),\r\n el('div.ccb__right',\r\n el('div.ccb__button',\r\n el('a.ccb__edit', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'barLinkSetting')),\r\n el('button.consent-give', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'barBtnAcceptAll'))\r\n )\r\n )\r\n ),\r\n );\r\n }\r\n\r\n buildModal() {\r\n\r\n // Cookie names list middleware\r\n var listCookies = function(category) {\r\n var list = [];\r\n\r\n for(let service in window.CookieConsent.config.services) {\r\n (window.CookieConsent.config.services[service].category === category) && list.push(window.CookieConsent.config.services[service]);\r\n }\r\n \r\n if(list.length) {\r\n \r\n var listItems = [];\r\n \r\n for(let item in list) {\r\n listItems.push(el('li', Language.getTranslation(list[item], window.CookieConsent.config.language.current, 'name')));\r\n }\r\n\r\n return [el('div.ccm__list', el('span.ccm__list__title', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'modalAffectedSolutions')), el('ul', listItems))];\r\n }\r\n }\r\n \r\n function modalTabGroups() {\r\n\r\n let contentItems = [];\r\n\r\n let i = 0;\r\n for (let key in window.CookieConsent.config.categories) {\r\n\r\n contentItems.push(el('dl.ccm__tabgroup' + '.' + key + ((window.CookieConsent.config.categories[key].checked) ? '.checked-5jhk' : ''), {'data-category':key},\r\n el('dt.ccm__tab-head', Language.getTranslation(window.CookieConsent.config.categories[key], window.CookieConsent.config.language.current, 'name'),\r\n el('a.ccm__tab-head__icon-wedge', \r\n el(document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\"), { version: \"1.2\", preserveAspectRatio: \"none\", viewBox: \"0 0 24 24\", class: \"icon-wedge-svg\", \"data-id\": \"e9b3c566e8c14cfea38af128759b91a3\", style: \"opacity: 1; mix-blend-mode: normal; fill: rgb(51, 51, 51); width: 32px; height: 32px;\"},\r\n el(document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\"), { 'xmlns:default': \"http://www.w3.org/2000/svg\", class: \"icon-wedge-angle-down\", d: \"M17.2,9.84c0-0.09-0.04-0.18-0.1-0.24l-0.52-0.52c-0.13-0.13-0.33-0.14-0.47-0.01c0,0-0.01,0.01-0.01,0.01 l-4.1,4.1l-4.09-4.1C7.78,8.94,7.57,8.94,7.44,9.06c0,0-0.01,0.01-0.01,0.01L6.91,9.6c-0.13,0.13-0.14,0.33-0.01,0.47 c0,0,0.01,0.01,0.01,0.01l4.85,4.85c0.13,0.13,0.33,0.14,0.47,0.01c0,0,0.01-0.01,0.01-0.01l4.85-4.85c0.06-0.06,0.1-0.15,0.1-0.24 l0,0H17.2z\", style: \"fill: rgb(51, 51, 51);\" })\r\n )\r\n ),\r\n ),\r\n el('dd.ccm__tab-content',\r\n el('div.ccm__tab-content__left', \r\n ( ! window.CookieConsent.config.categories[key].needed) && el('div.ccm__switch-component', el('div.status-off', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'off')),\r\n el('div.ccm__switch-group',\r\n el('label.ccm__switch',\r\n el('input.category-onoff', {type:'checkbox', 'data-category': key, 'checked': window.CookieConsent.config.categories[key].checked}),\r\n el('span.ccm__switch__slider')\r\n )\r\n ),\r\n el('div.status-on', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'on')))\r\n ),\r\n el('div.right',\r\n el('h3', Language.getTranslation(window.CookieConsent.config.categories[key], window.CookieConsent.config.language.current, 'name')),\r\n el('p', Language.getTranslation(window.CookieConsent.config.categories[key], window.CookieConsent.config.language.current, 'description')),\r\n el('div.ccm__list',\r\n listCookies(key)\r\n )\r\n )\r\n )\r\n )\r\n );\r\n\r\n i++;\r\n }\r\n\r\n return contentItems;\r\n }\r\n\r\n return el('div#cconsent-modal',\r\n el('div.ccm__content',\r\n el('div.ccm__content__heading',\r\n el('h2', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'modalMainTitle')),\r\n el('p',\r\n Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'modalMainText'),\r\n (window.CookieConsent.config.modalMainTextMoreLink) ? el('a', { href: window.CookieConsent.config.modalMainTextMoreLink, target: '_blank', rel: 'noopener noreferrer' }, Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'learnMore')) : null\r\n ),\r\n el('div.ccm__cheading__close', '×')\r\n ),\r\n el('div.ccm__content__body',\r\n el('div.ccm__tabs',\r\n modalTabGroups()\r\n )\r\n ),\r\n el('div.ccm__footer',\r\n el('button#ccm__footer__consent-modal-submit', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'modalBtnSave')),\r\n el('button.consent-give', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'modalBtnAcceptAll'))\r\n )\r\n )\r\n );\r\n }\r\n\r\n modalRedrawIcons() {\r\n var tabGroups = this.elements['modal'].querySelectorAll('.ccm__tabgroup');\r\n\r\n for(let tabGroup of tabGroups) {\r\n if(window.CookieConsent.config.categories[tabGroup.dataset.category].checked) {\r\n if( ! tabGroup.classList.contains('checked-5jhk')) {\r\n tabGroup.classList.add('checked-5jhk');\r\n tabGroup.querySelector('input.category-onoff').checked = true;\r\n };\r\n } else {\r\n if(tabGroup.classList.contains('checked-5jhk')) tabGroup.classList.remove('checked-5jhk');\r\n tabGroup.querySelector('input.category-onoff').checked = false;\r\n }\r\n }\r\n }\r\n\r\n render(name, elem, callback) {\r\n if (typeof callback === 'undefined') callback = function(){};\r\n if (typeof this.elements[name] !== 'undefined') {\r\n this.elements[name].parentNode.replaceChild(elem, this.elements[name]);\r\n this.elements[name] = elem;\r\n callback(elem);\r\n return elem;\r\n } else {\r\n var insertedElem = mount(document.body, elem);\r\n if (insertedElem) {\r\n this.elements[name] = insertedElem;\r\n }\r\n callback(insertedElem);\r\n return insertedElem;\r\n }\r\n }\r\n\r\n buildInterface(callback) {\r\n\r\n if (typeof callback === 'undefined') callback = function(){};\r\n var that = this;\r\n\r\n Utilities.ready(function() {\r\n\r\n that.render('style', that.buildStyle());\r\n\r\n that.render('bar', that.buildBar(), (bar) => {\r\n\r\n // Show the bar after a while\r\n if ( ! window.CookieConsent.config.cookieExists) {\r\n setTimeout(() => {\r\n bar.classList.remove('ccb--hidden');\r\n }, window.CookieConsent.config.barTimeout);\r\n }\r\n });\r\n\r\n that.render('modal', that.buildModal());\r\n\r\n callback();\r\n });\r\n }\r\n\r\n addEventListeners(elements) {\r\n\r\n // If you click Accept all cookies\r\n var buttonConsentGive = document.querySelectorAll('.consent-give');\r\n\r\n for(let button of buttonConsentGive) {\r\n button.addEventListener('click', () => {\r\n \r\n // We set config to full consent\r\n for(let key in window.CookieConsent.config.categories) {\r\n window.CookieConsent.config.categories[key].wanted =\r\n window.CookieConsent.config.categories[key].checked = true;\r\n }\r\n \r\n this.writeBufferToDOM();\r\n \r\n this.buildCookie((cookie) => {\r\n this.setCookie(cookie);\r\n });\r\n \r\n this.elements['bar'].classList.add('ccb--hidden');\r\n this.elements['modal'].classList.remove('ccm--visible');\r\n\r\n this.modalRedrawIcons();\r\n \r\n });\r\n }\r\n\r\n\r\n // If you click Cookie settings and open modal\r\n Array.prototype.forEach.call(document.getElementsByClassName('ccb__edit'), (edit) => {\r\n edit.addEventListener('click', () => {\r\n this.elements['modal'].classList.add('ccm--visible');\r\n });\r\n });\r\n\r\n // If you click trough the tabs on Cookie settings\r\n // If you click on/off switch\r\n this.elements['modal'].querySelector('.ccm__tabs').addEventListener('click', (event) => {\r\n\r\n // If you click trough the tabs on Cookie settings\r\n if (event.target.classList.contains('ccm__tab-head') || event.target.classList.contains('ccm__tab-head__icon-wedge')) {\r\n\r\n function getDlParent(eventTarget) {\r\n var parent = eventTarget.parentNode;\r\n if(parent.nodeName !== 'DL') {\r\n return getDlParent(parent);\r\n } else {\r\n return parent;\r\n }\r\n }\r\n \r\n var parentDl = getDlParent(event.target);\r\n \r\n if(parentDl.classList.contains('ccm__tabgroup--open')) {\r\n parentDl.classList.remove('ccm__tabgroup--open');\r\n } else {\r\n parentDl.classList.add('ccm__tabgroup--open');\r\n }\r\n }\r\n\r\n // If you click on/off switch\r\n if (event.target.classList.contains('category-onoff')) {\r\n window.CookieConsent.config.categories[event.target.dataset.category].wanted =\r\n window.CookieConsent.config.categories[event.target.dataset.category].checked = (event.target.checked === true) ? true : false;\r\n\r\n var dt = document.querySelector('.ccm__tabgroup.' + event.target.dataset.category);\r\n if(event.target.checked === false && dt.classList.contains('checked-5jhk')) {\r\n dt.classList.remove('checked-5jhk');\r\n } else {\r\n dt.classList.add('checked-5jhk');\r\n }\r\n }\r\n });\r\n\r\n\r\n\r\n // If you click close on open modal\r\n this.elements['modal'].querySelector('.ccm__cheading__close').addEventListener('click', (event) => {\r\n this.elements['modal'].classList.remove('ccm--visible');\r\n });\r\n\r\n // If you click submit on cookie settings\r\n document.getElementById('ccm__footer__consent-modal-submit').addEventListener('click', () => {\r\n\r\n let switchElements = this.elements['modal'].querySelectorAll('.ccm__switch input');\r\n\r\n Array.prototype.forEach.call(switchElements, (switchElement) => {\r\n window.CookieConsent.config.categories[switchElement.dataset.category].wanted = switchElement.checked;\r\n });\r\n\r\n this.buildCookie((cookie) => {\r\n this.setCookie(cookie, () => {\r\n this.elements['modal'].classList.remove('ccm--visible');\r\n this.elements['bar'].classList.add('ccb--hidden');\r\n });\r\n });\r\n\r\n this.writeBufferToDOM();\r\n\r\n });\r\n }\r\n\r\n writeBufferToDOM() {\r\n\r\n for(let action of window.CookieConsent.buffer.appendChild) {\r\n if (window.CookieConsent.config.categories[action.category].wanted === true) {\r\n Node.prototype.appendChild.apply(action.this, action.arguments);\r\n }\r\n }\r\n\r\n for(let action of window.CookieConsent.buffer.insertBefore) {\r\n if (window.CookieConsent.config.categories[action.category].wanted === true) {\r\n action.arguments[1] = (action.arguments[0].parentNode === null) ? action.this.lastChild : action.arguments[1];\r\n Node.prototype.insertBefore.apply(action.this, action.arguments);\r\n }\r\n }\r\n }\r\n\r\n buildCookie(callback) {\r\n let cookie = {\r\n version: window.CookieConsent.config.cookieVersion,\r\n categories: {},\r\n services: []\r\n };\r\n \r\n for(let key in window.CookieConsent.config.categories) {\r\n cookie.categories[key] = {\r\n wanted: window.CookieConsent.config.categories[key].wanted,\r\n };\r\n }\r\n\r\n cookie.services = Utilities.listGlobalServices();\r\n \r\n if (callback) callback(cookie);\r\n return cookie;\r\n }\r\n \r\n setCookie(cookie, callback) {\r\n const expires_in = new Date(Date.now() + 365 * 24 * 60 * 60 * 1000).toUTCString();\r\n\r\n document.cookie = `cconsent=${JSON.stringify(cookie)}; expires=${expires_in}; path=/;`;\r\n if (callback) callback();\r\n }\r\n}\r\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignMergeValue;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","/**\n * Gets the value at `key`, unless `key` is \"__proto__\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nmodule.exports = safeGet;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n","var assignMergeValue = require('./_assignMergeValue'),\n cloneBuffer = require('./_cloneBuffer'),\n cloneTypedArray = require('./_cloneTypedArray'),\n copyArray = require('./_copyArray'),\n initCloneObject = require('./_initCloneObject'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n isBuffer = require('./isBuffer'),\n isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isPlainObject = require('./isPlainObject'),\n isTypedArray = require('./isTypedArray'),\n safeGet = require('./_safeGet'),\n toPlainObject = require('./toPlainObject');\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n","var Stack = require('./_Stack'),\n assignMergeValue = require('./_assignMergeValue'),\n baseFor = require('./_baseFor'),\n baseMergeDeep = require('./_baseMergeDeep'),\n isObject = require('./isObject'),\n keysIn = require('./keysIn'),\n safeGet = require('./_safeGet');\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n if (isObject(srcValue)) {\n stack || (stack = new Stack);\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nmodule.exports = baseMerge;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nmodule.exports = merge;\n","import Utilities from \"./Utilities\";\r\nimport loMerge from 'lodash/merge';\r\n\r\nexport default class Configuration {\r\n \r\n constructor(configObject) {\r\n\r\n window.CookieConsent.buffer = {\r\n appendChild: [],\r\n insertBefore: []\r\n }\r\n\r\n // Wrapper filter function\r\n window.CookieConsent.wrapper = function() {};\r\n\r\n // Settings injector for users\r\n window.CookieConsent.setConfiguration = this.setConfiguration.bind(this);\r\n\r\n window.CookieConsent.config = {\r\n active: true,\r\n cookieExists: false,\r\n cookieVersion: 1,\r\n modalMainTextMoreLink: null,\r\n barTimeout: 1000,\r\n theme: {\r\n barColor: '#2C7CBF',\r\n barTextColor: '#FFF',\r\n barMainButtonColor: '#FFF',\r\n barMainButtonTextColor: '#2C7CBF',\r\n modalMainButtonColor: '#4285F4',\r\n modalMainButtonTextColor: '#FFF',\r\n },\r\n language: {\r\n current: 'en',\r\n locale: {\r\n en: {\r\n barMainText: 'This website uses cookies to ensure you get the best experience on our website.',\r\n barLinkSetting: 'Cookie Settings',\r\n barBtnAcceptAll: 'Accept all cookies',\r\n modalMainTitle: 'Cookie settings',\r\n modalMainText: 'Cookies are small piece of data sent from a website and stored on the user\\'s computer by the user\\'s web browser while the user is browsing. Your browser stores each message in a small file, called cookie. When you request another page from the server, your browser sends the cookie back to the server. Cookies were designed to be a reliable mechanism for websites to remember information or to record the user\\'s browsing activity.',\r\n modalBtnSave: 'Save current settings',\r\n modalBtnAcceptAll: 'Accept all cookies and close',\r\n modalAffectedSolutions: 'Affected solutions:',\r\n learnMore: 'Learn More',\r\n on: 'On',\r\n off: 'Off',\r\n },\r\n hu: {\r\n barMainText: 'Ez a weboldal Sütiket használ a jobb felhasználói élmény érdekében.',\r\n barLinkSetting: 'Süti beállítások',\r\n barBtnAcceptAll: 'Minden süti elfogadása',\r\n modalMainTitle: 'Süti beállítások',\r\n modalMainText: 'A HTTP-süti (általában egyszerűen süti, illetve angolul cookie) egy információcsomag, amelyet a szerver küld a webböngészőnek, majd a böngésző visszaküld a szervernek minden, a szerver felé irányított kérés alkalmával. Amikor egy weboldalt kérünk le a szervertől, akkor a böngésző elküldi a számára elérhető sütiket. A süti-ket úgy tervezték, hogy megbízható mechanizmust biztosítsanak a webhelyek számára az információk megőrzésére vagy a felhasználók böngészési tevékenységének rögzítésére.',\r\n modalBtnSave: 'Beállítások mentése',\r\n modalBtnAcceptAll: 'Minden Süti elfogadása',\r\n modalAffectedSolutions: 'Mire lesz ez hatással:',\r\n learnMore: 'Tudj meg többet',\r\n on: 'Be',\r\n off: 'Ki',\r\n }\r\n }\r\n },\r\n categories: {},\r\n services: {}\r\n }\r\n\r\n this.setConfiguration(configObject);\r\n\r\n }\r\n\r\n setConfiguration(configObject) {\r\n // The user overrides the default config\r\n loMerge(window.CookieConsent.config, configObject);\r\n\r\n // The cookie overrides the default and user config\r\n this.cookieToConfig();\r\n\r\n // We tell the world we did this\r\n Utilities.dispatchEvent(document, 'CCConfigSet');\r\n }\r\n\r\n cookieToConfig() {\r\n\r\n function removeReload() {\r\n Utilities.removeCookie();\r\n location.reload();\r\n return false;\r\n }\r\n\r\n document.cookie.split(';').filter((item) => {\r\n\r\n if (item.indexOf('cconsent') >= 0) {\r\n var cookieData = JSON.parse(item.split('=')[1]);\r\n\r\n // We check cookie version. If older we need to renew cookie.\r\n if (typeof cookieData.version === 'undefined') {\r\n return removeReload();\r\n } else {\r\n if (cookieData.version !== window.CookieConsent.config.cookieVersion) {\r\n return removeReload();\r\n }\r\n }\r\n\r\n // We check if cookie data categories also exist in user config\r\n for (let key in cookieData.categories) {\r\n\r\n // The cookie contains category not present in user config so we invalidate cookie\r\n if(typeof window.CookieConsent.config.categories[key] === 'undefined') {\r\n return removeReload();\r\n }\r\n }\r\n\r\n // We check if cookie data services also exist in user config\r\n cookieData.services.forEach(function(service){\r\n\r\n // The cookie contains service not present in user config so we invalidate cookie\r\n if(typeof window.CookieConsent.config.services[service] === 'undefined') {\r\n return removeReload();\r\n } \r\n });\r\n\r\n // We we integrate cookie data into the global config object\r\n for (let key in cookieData.categories) {\r\n window.CookieConsent.config.categories[key].checked = window.CookieConsent.config.categories[key].wanted = (cookieData.categories[key].wanted === true) ? true : false;\r\n }\r\n\r\n window.CookieConsent.config.cookieExists = true;\r\n return true;\r\n }\r\n });\r\n \r\n return false;\r\n }\r\n\r\n}\r\n","import Utilities from \"./Utilities\";\r\n\r\nexport default class RemoveCookies {\r\n\r\n init() {\r\n this.removeUnwantedCookies();\r\n }\r\n\r\n removeUnwantedCookies() {\r\n let cookieList = [];\r\n let config = window.CookieConsent.config;\r\n\r\n document.cookie.split(';').map(function(a){\r\n cookieList.push(a.split('=')[0].replace(/(^\\s*)|(\\s*&)/, ''));\r\n });\r\n\r\n for(let service in config.services) {\r\n if (Utilities.objectType(config.services[service].cookies) === 'Array') {\r\n // Remove cookies if they are not wanted by user\r\n if (! config.categories[config.services[service].category].wanted) {\r\n for(let i in config.services[service].cookies) {\r\n let type = Utilities.objectType(config.services[service].cookies[i].name);\r\n if (type === 'String') {\r\n if (cookieList.indexOf(config.services[service].cookies[i].name) > -1) {\r\n this.removeCookie(config.services[service].cookies[i]);\r\n }\r\n } else if (type === 'RegExp') {\r\n // Searching cookie list for cookies matching specified RegExp\r\n let cookieDef = config.services[service].cookies[i];\r\n for (let c in cookieList) {\r\n if (cookieList[c].match(cookieDef.name)) {\r\n this.removeCookie({\r\n name: cookieList[c],\r\n domain: Utilities.objectType(cookieDef.domain) === 'String' ? cookieDef.domain : null\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n removeCookie(cookie) {\r\n // Removing cookies from domain and .domain\r\n let domain = Utilities.objectType(cookie.domain) === 'String' ? `domain=${cookie.domain};` : '';\r\n document.cookie = `${cookie.name}=; expires=Thu, 01 Jan 1980 00:00:00 UTC; ${domain} path=/;`;\r\n }\r\n}\r\n","import InsertScriptFilter from './InsertScriptFilter';\r\nimport ScriptTagFilter from './ScriptTagFilter';\r\nimport WrapperFilter from './WrapperFilter';\r\nimport LocalCookieFilter from './LocalCookieFilter';\r\nimport Interface from './Interface';\r\nimport Configuration from './Configuration';\r\nimport RemoveCookies from './RemoveCookies';\r\n\r\nexport default class CookieConsent {\r\n\r\n init(configObject) {\r\n new Configuration(configObject);\r\n\r\n const removeCookies = new RemoveCookies();\r\n const insertScriptFilter = new InsertScriptFilter();\r\n const scriptTagFilter = new ScriptTagFilter();\r\n const wrapperFilter = new WrapperFilter();\r\n const localCookieFilter = new LocalCookieFilter();\r\n\r\n removeCookies.init();\r\n insertScriptFilter.init();\r\n scriptTagFilter.init();\r\n wrapperFilter.init();\r\n localCookieFilter.init();\r\n\r\n const UI = new Interface();\r\n\r\n UI.buildInterface(() => {\r\n UI.addEventListeners();\r\n });\r\n }\r\n\r\n}","import 'core-js/es6/symbol';\r\nimport 'core-js/fn/symbol/iterator';\r\nimport CookieConsent from './lib/CookieConsent';\r\n\r\nconst cookieConsent = new CookieConsent();\r\n\r\nwindow.CookieConsent = window.CookieConsent || {};\r\nwindow.CookieConsent.init = cookieConsent.init;\r\n\r\n"]} \ No newline at end of file +{"version":3,"sources":["../node_modules/core-js/modules/_global.js","../node_modules/core-js/modules/_has.js","../node_modules/core-js/modules/_fails.js","../node_modules/core-js/modules/_descriptors.js","../node_modules/core-js/modules/_core.js","../node_modules/core-js/modules/_is-object.js","../node_modules/core-js/modules/_an-object.js","../node_modules/core-js/modules/_dom-create.js","../node_modules/core-js/modules/_ie8-dom-define.js","../node_modules/core-js/modules/_to-primitive.js","../node_modules/core-js/modules/_object-dp.js","../node_modules/core-js/modules/_property-desc.js","../node_modules/core-js/modules/_hide.js","../node_modules/core-js/modules/_uid.js","../node_modules/core-js/modules/_library.js","../node_modules/core-js/modules/_shared.js","../node_modules/core-js/modules/_function-to-string.js","../node_modules/core-js/modules/_redefine.js","../node_modules/core-js/modules/_a-function.js","../node_modules/core-js/modules/_ctx.js","../node_modules/core-js/modules/_export.js","../node_modules/core-js/modules/_meta.js","../node_modules/core-js/modules/_wks.js","../node_modules/core-js/modules/_set-to-string-tag.js","../node_modules/core-js/modules/_wks-ext.js","../node_modules/core-js/modules/_wks-define.js","../node_modules/core-js/modules/_cof.js","../node_modules/core-js/modules/_iobject.js","../node_modules/core-js/modules/_defined.js","../node_modules/core-js/modules/_to-iobject.js","../node_modules/core-js/modules/_to-integer.js","../node_modules/core-js/modules/_to-length.js","../node_modules/core-js/modules/_to-absolute-index.js","../node_modules/core-js/modules/_array-includes.js","../node_modules/core-js/modules/_shared-key.js","../node_modules/core-js/modules/_object-keys-internal.js","../node_modules/core-js/modules/_enum-bug-keys.js","../node_modules/core-js/modules/_object-keys.js","../node_modules/core-js/modules/_object-gops.js","../node_modules/core-js/modules/_object-pie.js","../node_modules/core-js/modules/_enum-keys.js","../node_modules/core-js/modules/_is-array.js","../node_modules/core-js/modules/_object-dps.js","../node_modules/core-js/modules/_html.js","../node_modules/core-js/modules/_object-create.js","../node_modules/core-js/modules/_object-gopn.js","../node_modules/core-js/modules/_object-gopn-ext.js","../node_modules/core-js/modules/_object-gopd.js","../node_modules/core-js/modules/es6.symbol.js","../node_modules/core-js/modules/_classof.js","../node_modules/core-js/modules/es6.object.to-string.js","../node_modules/core-js/es6/symbol.js","../node_modules/core-js/modules/_string-at.js","../node_modules/core-js/modules/_iterators.js","../node_modules/core-js/modules/_iter-create.js","../node_modules/core-js/modules/_to-object.js","../node_modules/core-js/modules/_object-gpo.js","../node_modules/core-js/modules/_iter-define.js","../node_modules/core-js/modules/es6.string.iterator.js","../node_modules/core-js/modules/_add-to-unscopables.js","../node_modules/core-js/modules/_iter-step.js","../node_modules/core-js/modules/es6.array.iterator.js","../node_modules/core-js/modules/web.dom.iterable.js","../node_modules/core-js/fn/symbol/iterator.js","lib/Utilities.js","lib/Filter.js","lib/InsertScriptFilter.js","lib/ScriptTagFilter.js","lib/WrapperFilter.js","lib/LocalCookieFilter.js","../node_modules/redom/dist/redom.es.js","lib/Language.js","lib/Interface.js","lib/Configuration.js","lib/RemoveCookies.js","lib/CookieConsent.js","index.js"],"names":["Utilities","fn","document","attachEvent","readyState","addEventListener","obj","Object","prototype","toString","call","slice","col","amt","usePound","num","parseInt","r","b","g","cookie","category","categories","window","CookieConsent","key","config","services","push","elem","event","Event","createEvent","initEvent","dispatchEvent","Filter","type","service","needed","wanted","blacklist","objectType","search","i","length","InsertScriptFilter","overrideAppendChild","overrideInsertBefore","Element","appendChild","arguments","tagName","outerHTML","indexOf","undefined","buffer","Node","apply","insertBefore","ScriptTagFilter","filterTags","ready","scriptTags","querySelectorAll","scriptTag","dataset","consent","newtag","createElement","parentNode","attributes","attribute","setAttribute","nodeName","nodeValue","innerHTML","removeChild","WrapperFilter","filterWrappers","wrapper","name","callback","LocalCookieFilter","filterlocalCookies","cookieDescriptor","getOwnPropertyDescriptor","HTMLDocument","get","__lookupGetter__","set","__lookupSetter__","getCookieDescriptor","defineProperty","configurable","cookieArguments","cookieName","split","Array","forEach","blacklistItem","HASH","charCodeAt","DOT","TAG_NAME","ID","CLASS_NAME","parseQuery","query","tag","id","className","mode","offset","char","isHash","isDot","substring","ns","ref","element","createElementNS","unmount","parent","child","parentEl","getEl","childEl","__redom_view","doUnmount","hooks","__redom_lifecycle","hooksAreEmpty","__redom_mounted","traverse","trigger","parentHooks","hook","hookNames","shadowRootAvailable","mount","before","replace","wasMounted","oldParent","replaceChild","doMount","remount","hooksFound","list","hookName","triggered","ShadowRoot","el","eventName","view","hookCount","firstChild","next","nextSibling","setStyle","arg1","arg2","style","xlinkns","setAttr","isSVG","SVGElement","isFunc","setData","setXlink","setAttributeNS","text","str","createTextNode","parseArguments","args","arg","isNode","ensureEl","html","nodeType","a","htmlCache","memoizeHTML","len","cloneNode","Error","Query","Function","bind","concat","extend","clone","h","setChildren","children","current","_current","childEls","i$1","__redom_index","propKey","item","listPool","View","initData","ListPool","oldLookup","lookup","oldViews","views","update","data","context","keySet","newLookup","newViews","__redom_id","List","__redom_list","pool","ref$1","oldView","place","Place","visible","_placeholder","_el","_View","_initData","placeholder","router","Views","Router","route","svgCache","memoizeSVG","svg","s","Language","locale","language","object","currentLocale","hasOwnProperty","Interface","elements","theme","barColor","barTextColor","barMainButtonTextColor","barMainButtonColor","modalMainButtonColor","modalMainButtonTextColor","lightenDarkenColor","getTranslation","listCookies","listItems","modalMainTextMoreLink","href","target","rel","modalTabGroups","contentItems","checked","version","preserveAspectRatio","viewBox","class","d","tabGroups","tabGroup","classList","contains","add","querySelector","remove","insertedElem","body","that","render","buildStyle","buildBar","bar","cookieExists","setTimeout","barTimeout","buildModal","buttonConsentGive","writeBufferToDOM","buildCookie","setCookie","modalRedrawIcons","getElementsByClassName","edit","getDlParent","parentDl","eventTarget","dt","getElementById","switchElements","switchElement","action","this","lastChild","cookieVersion","listGlobalServices","expires_in","Date","now","toUTCString","JSON","stringify","Configuration","configObject","setConfiguration","active","en","barMainText","barLinkSetting","barBtnAcceptAll","modalMainTitle","modalMainText","modalBtnSave","modalBtnAcceptAll","modalAffectedSolutions","learnMore","on","off","hu","console","log","mergeDeep","cookieToConfig","removeReload","removeCookie","location","reload","filter","cookieData","parse","isArray","sources","source","shift","isObject","assign","RemoveCookies","removeUnwantedCookies","cookieList","map","cookies","cookieDef","c","match","domain","removeCookies","insertScriptFilter","scriptTagFilter","wrapperFilter","localCookieFilter","init","UI","buildInterface","addEventListeners","cookieConsent"],"mappings":"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","file":"cookieconsent.min.map","sourceRoot":"..\\src","sourcesContent":["// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var core = module.exports = { version: '2.6.5' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","module.exports = false;\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar $toString = require('./_function-to-string');\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","exports.f = require('./_wks');\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","exports.f = {}.propertyIsEnumerable;\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof');\nvar test = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif (test + '' != '[object z]') {\n require('./_redefine')(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n","require('../modules/es6.symbol');\nrequire('../modules/es6.object.to-string');\nmodule.exports = require('../modules/_core').Symbol;\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","module.exports = {};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var $iterators = require('./es6.array.iterator');\nvar getKeys = require('./_object-keys');\nvar redefine = require('./_redefine');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar wks = require('./_wks');\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n CSSRuleList: true, // TODO: Not spec compliant, should be false.\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true, // TODO: Not spec compliant, should be false.\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true, // TODO: Not spec compliant, should be false.\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n}\n","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n","export default class Utilities {\r\n\r\n static ready(fn) {\r\n if (document.attachEvent ? document.readyState === \"complete\" : document.readyState !== \"loading\"){\r\n fn();\r\n } else {\r\n document.addEventListener('DOMContentLoaded', fn);\r\n }\r\n }\r\n \r\n static objectType(obj){\r\n return Object.prototype.toString.call(obj).slice(8, -1);\r\n }\r\n\r\n static lightenDarkenColor(col, amt) {\r\n\r\n var usePound = false;\r\n \r\n if (col[0] == \"#\") {\r\n col = col.slice(1);\r\n usePound = true;\r\n }\r\n \r\n var num = parseInt(col, 16);\r\n \r\n var r = (num >> 16) + amt;\r\n \r\n if (r > 255) {\r\n r = 255;\r\n } else if (r < 0) {\r\n r = 0;\r\n }\r\n \r\n var b = ((num >> 8) & 0x00FF) + amt;\r\n \r\n if (b > 255) {\r\n b = 255;\r\n } else if (b < 0) {\r\n b = 0;\r\n }\r\n \r\n var g = (num & 0x0000FF) + amt;\r\n \r\n if (g > 255) {\r\n g = 255;\r\n } else if (g < 0) {\r\n g = 0;\r\n }\r\n \r\n return (usePound ? \"#\" : \"\") + (g | (b << 8) | (r << 16)).toString(16);\r\n \r\n }\r\n\r\n static removeCookie() {\r\n document.cookie = `cconsent=; expires=Thu, 01 Jan 1980 00:00:00 UTC; path=/;`;\r\n }\r\n\r\n // Create an array of services from Cookieconsent global object\r\n // Filter based on category or leave empty is all is wanted\r\n static listGlobalServices(category) {\r\n let categories = [];\r\n\r\n // Global config objectnot set\r\n if (typeof window.CookieConsent === 'undefined') return categories;\r\n\r\n // Category is not specified or opposite\r\n if (typeof category === 'undefined') {\r\n for (let key in window.CookieConsent.config.services) {\r\n categories.push(key);\r\n }\r\n } else {\r\n for (let key in window.CookieConsent.config.services) {\r\n if (window.CookieConsent.config.services[key].category === category) categories.push(key);\r\n }\r\n }\r\n\r\n return categories;\r\n }\r\n\r\n static dispatchEvent(elem, event) {\r\n var event;\r\n\r\n if (typeof(Event) === 'function') {\r\n event = new Event(event);\r\n } else {\r\n event = document.createEvent('Event');\r\n event.initEvent(event, true, true);\r\n }\r\n \r\n elem.dispatchEvent(event);\r\n }\r\n\r\n}\r\n","import Utilities from \"./Utilities\";\r\n\r\nexport default class Filter {\r\n\r\n createBlacklist(type) {\r\n var services = {};\r\n for(var service in window.CookieConsent.config.services) {\r\n if (window.CookieConsent.config.services[service].type === type) {\r\n if(window.CookieConsent.config.categories[window.CookieConsent.config.services[service].category].needed === false) {\r\n if (window.CookieConsent.config.categories[window.CookieConsent.config.services[service].category].wanted === false) {\r\n services[service] = window.CookieConsent.config.services[service];\r\n }\r\n }\r\n }\r\n }\r\n\r\n var blacklist = [];\r\n\r\n for(var service in services) {\r\n var type = Utilities.objectType(services[service].search);\r\n if (type === 'String') {\r\n blacklist.push(services[service].search);\r\n } else if(type === 'Array') {\r\n for (let i = 0; i < services[service].search.length; i++) {\r\n blacklist.push(services[service].search[i]);\r\n }\r\n }\r\n }\r\n\r\n return blacklist;\r\n }\r\n\r\n}","import Filter from './Filter';\r\n\r\nexport default class InsertScriptFilter extends Filter {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n init() {\r\n this.overrideAppendChild();\r\n this.overrideInsertBefore();\r\n }\r\n\r\n overrideAppendChild() {\r\n\r\n Element.prototype.appendChild = function(elem) {\r\n if(arguments[0].tagName === 'SCRIPT') {\r\n //console.log('Appending:', arguments);\r\n for (let key in window.CookieConsent.config.services) {\r\n // Did user opt-in?\r\n if(window.CookieConsent.config.services[key].type === 'dynamic-script') {\r\n if(arguments[0].outerHTML.indexOf(window.CookieConsent.config.services[key].search) >= 0) {\r\n if(window.CookieConsent.config.categories[window.CookieConsent.config.services[key].category].wanted === false) {\r\n window.CookieConsent.buffer.appendChild.push({'this': this, 'category': window.CookieConsent.config.services[key].category, arguments: arguments});\r\n return undefined;\r\n }\r\n }\r\n }\r\n }\r\n } \r\n \r\n return Node.prototype.appendChild.apply(this, arguments);\r\n }\r\n\r\n }\r\n\r\n overrideInsertBefore() {\r\n\r\n Element.prototype.insertBefore = function(elem) {\r\n \r\n if(arguments[0].tagName === 'SCRIPT') {\r\n //console.log('Inserting:', arguments);\r\n for (let key in window.CookieConsent.config.services) {\r\n // Did user opt-in?\r\n if(window.CookieConsent.config.services[key].type === 'dynamic-script') {\r\n if(arguments[0].outerHTML.indexOf(window.CookieConsent.config.services[key].search) >= 0) {\r\n if(window.CookieConsent.config.categories[window.CookieConsent.config.services[key].category].wanted === false) {\r\n window.CookieConsent.buffer.insertBefore.push({'this': this, 'category': window.CookieConsent.config.services[key].category, arguments: arguments});\r\n return undefined;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n \r\n return Node.prototype.insertBefore.apply(this, arguments);\r\n }\r\n }\r\n\r\n}","import Utilities from \"./Utilities\";\r\nimport Filter from './Filter';\r\n\r\nexport default class ScriptTagFilter extends Filter {\r\n \r\n constructor() {\r\n super();\r\n }\r\n\r\n init() {\r\n this.filterTags();\r\n }\r\n\r\n filterTags() {\r\n Utilities.ready(() => {\r\n var blacklist = super.createBlacklist('script-tag');\r\n var scriptTags = document.querySelectorAll('script[type=\"text/plain\"]');\r\n \r\n for (var scriptTag of scriptTags) {\r\n if (blacklist.indexOf(scriptTag.dataset.consent) < 0) {\r\n var newtag = document.createElement('script');\r\n var parentNode = scriptTag.parentNode;\r\n \r\n scriptTag.type = 'text/javascript';\r\n\r\n for(var attribute of scriptTag.attributes) {\r\n newtag.setAttribute(attribute.nodeName, attribute.nodeValue);\r\n }\r\n\r\n newtag.innerHTML = scriptTag.innerHTML;\r\n parentNode.insertBefore(newtag,scriptTag);\r\n parentNode.removeChild(scriptTag);\r\n }\r\n }\r\n });\r\n }\r\n}","import Filter from './Filter';\r\n\r\nexport default class WrapperFilter extends Filter {\r\n \r\n constructor() {\r\n super();\r\n }\r\n\r\n init() {\r\n this.filterWrappers();\r\n }\r\n\r\n filterWrappers() {\r\n var blacklist = super.createBlacklist('wrapped');\r\n\r\n function wrapper(name='', callback) {\r\n if (blacklist.indexOf(name) < 0) {\r\n callback();\r\n }\r\n }\r\n\r\n window.CookieConsent.wrapper = wrapper;\r\n }\r\n}","import Filter from './Filter';\r\n\r\nexport default class LocalCookieFilter extends Filter {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n init() {\r\n this.filterlocalCookies();\r\n }\r\n\r\n getCookieDescriptor() {\r\n var cookieDescriptor;\r\n\r\n cookieDescriptor = Object.getOwnPropertyDescriptor(document, 'cookie') ||\r\n Object.getOwnPropertyDescriptor(HTMLDocument.prototype, 'cookie');\r\n\r\n if (! cookieDescriptor) {\r\n\r\n cookieDescriptor = {};\r\n cookieDescriptor.get = HTMLDocument.prototype.__lookupGetter__(\"cookie\");\r\n cookieDescriptor.set = HTMLDocument.prototype.__lookupSetter__(\"cookie\");\r\n\r\n }\r\n\r\n return cookieDescriptor;\r\n }\r\n\r\n filterlocalCookies() {\r\n\r\n // TODO - implement buffer\r\n var blacklist = super.createBlacklist('localcookie');\r\n var cookieDescriptor = this.getCookieDescriptor();\r\n\r\n Object.defineProperty(document, \"cookie\", {\r\n configurable: true,\r\n get: function () {\r\n return cookieDescriptor.get.apply(document);\r\n },\r\n set: function () {\r\n var cookieArguments = arguments;\r\n\r\n if(blacklist.length) {\r\n var cookieName = arguments[0].split('=')[0];\r\n Array.prototype.forEach.call(blacklist, function(blacklistItem){\r\n if (cookieName.indexOf(blacklistItem) < 0) cookieDescriptor.set.apply(document, cookieArguments);\r\n });\r\n } else {\r\n cookieDescriptor.set.apply(document, cookieArguments);\r\n }\r\n }\r\n });\r\n }\r\n}","var HASH = '#'.charCodeAt(0);\nvar DOT = '.'.charCodeAt(0);\n\nvar TAG_NAME = 0;\nvar ID = 1;\nvar CLASS_NAME = 2;\n\nvar parseQuery = function (query) {\n var tag = null;\n var id = null;\n var className = null;\n var mode = TAG_NAME;\n var offset = 0;\n\n for (var i = 0; i <= query.length; i++) {\n var char = query.charCodeAt(i);\n var isHash = char === HASH;\n var isDot = char === DOT;\n var isEnd = !char;\n\n if (isHash || isDot || isEnd) {\n if (mode === TAG_NAME) {\n if (i === 0) {\n tag = 'div';\n } else {\n tag = query.substring(offset, i);\n }\n } else if (mode === ID) {\n id = query.substring(offset, i);\n } else {\n if (className) {\n className += ' ' + query.substring(offset, i);\n } else {\n className = query.substring(offset, i);\n }\n }\n\n if (isHash) {\n mode = ID;\n } else if (isDot) {\n mode = CLASS_NAME;\n }\n\n offset = i + 1;\n }\n }\n\n return { tag: tag, id: id, className: className };\n};\n\nvar createElement = function (query, ns) {\n var ref = parseQuery(query);\n var tag = ref.tag;\n var id = ref.id;\n var className = ref.className;\n var element = ns ? document.createElementNS(ns, tag) : document.createElement(tag);\n\n if (id) {\n element.id = id;\n }\n\n if (className) {\n if (ns) {\n element.setAttribute('class', className);\n } else {\n element.className = className;\n }\n }\n\n return element;\n};\n\nvar unmount = function (parent, child) {\n var parentEl = getEl(parent);\n var childEl = getEl(child);\n\n if (child === childEl && childEl.__redom_view) {\n // try to look up the view if not provided\n child = childEl.__redom_view;\n }\n\n if (childEl.parentNode) {\n doUnmount(child, childEl, parentEl);\n\n parentEl.removeChild(childEl);\n }\n\n return child;\n};\n\nvar doUnmount = function (child, childEl, parentEl) {\n var hooks = childEl.__redom_lifecycle;\n\n if (hooksAreEmpty(hooks)) {\n childEl.__redom_mounted = false;\n return;\n }\n\n var traverse = parentEl;\n\n if (childEl.__redom_mounted) {\n trigger(childEl, 'onunmount');\n }\n\n while (traverse) {\n var parentHooks = traverse.__redom_lifecycle || {};\n\n for (var hook in hooks) {\n if (parentHooks[hook]) {\n parentHooks[hook] -= hooks[hook];\n }\n }\n\n if (hooksAreEmpty(parentHooks)) {\n traverse.__redom_lifecycle = null;\n }\n\n traverse = traverse.parentNode;\n }\n};\n\nvar hooksAreEmpty = function (hooks) {\n if (hooks == null) {\n return true;\n }\n for (var key in hooks) {\n if (hooks[key]) {\n return false;\n }\n }\n return true;\n};\n\nvar hookNames = ['onmount', 'onremount', 'onunmount'];\nvar shadowRootAvailable = typeof window !== 'undefined' && 'ShadowRoot' in window;\n\nvar mount = function (parent, child, before, replace) {\n var parentEl = getEl(parent);\n var childEl = getEl(child);\n\n if (child === childEl && childEl.__redom_view) {\n // try to look up the view if not provided\n child = childEl.__redom_view;\n }\n\n if (child !== childEl) {\n childEl.__redom_view = child;\n }\n\n var wasMounted = childEl.__redom_mounted;\n var oldParent = childEl.parentNode;\n\n if (wasMounted && (oldParent !== parentEl)) {\n doUnmount(child, childEl, oldParent);\n }\n\n if (before != null) {\n if (replace) {\n parentEl.replaceChild(childEl, getEl(before));\n } else {\n parentEl.insertBefore(childEl, getEl(before));\n }\n } else {\n parentEl.appendChild(childEl);\n }\n\n doMount(child, childEl, parentEl, oldParent);\n\n return child;\n};\n\nvar doMount = function (child, childEl, parentEl, oldParent) {\n var hooks = childEl.__redom_lifecycle || (childEl.__redom_lifecycle = {});\n var remount = (parentEl === oldParent);\n var hooksFound = false;\n\n for (var i = 0, list = hookNames; i < list.length; i += 1) {\n var hookName = list[i];\n\n if (!remount) { // if already mounted, skip this phase\n if (child !== childEl) { // only Views can have lifecycle events\n if (hookName in child) {\n hooks[hookName] = (hooks[hookName] || 0) + 1;\n }\n }\n }\n if (hooks[hookName]) {\n hooksFound = true;\n }\n }\n\n if (!hooksFound) {\n childEl.__redom_mounted = true;\n return;\n }\n\n var traverse = parentEl;\n var triggered = false;\n\n if (remount || (traverse && traverse.__redom_mounted)) {\n trigger(childEl, remount ? 'onremount' : 'onmount');\n triggered = true;\n }\n\n while (traverse) {\n var parent = traverse.parentNode;\n var parentHooks = traverse.__redom_lifecycle || (traverse.__redom_lifecycle = {});\n\n for (var hook in hooks) {\n parentHooks[hook] = (parentHooks[hook] || 0) + hooks[hook];\n }\n\n if (triggered) {\n break;\n } else {\n if (traverse === document ||\n (shadowRootAvailable && (traverse instanceof window.ShadowRoot)) ||\n (parent && parent.__redom_mounted)\n ) {\n trigger(traverse, remount ? 'onremount' : 'onmount');\n triggered = true;\n }\n traverse = parent;\n }\n }\n};\n\nvar trigger = function (el, eventName) {\n if (eventName === 'onmount' || eventName === 'onremount') {\n el.__redom_mounted = true;\n } else if (eventName === 'onunmount') {\n el.__redom_mounted = false;\n }\n\n var hooks = el.__redom_lifecycle;\n\n if (!hooks) {\n return;\n }\n\n var view = el.__redom_view;\n var hookCount = 0;\n\n view && view[eventName] && view[eventName]();\n\n for (var hook in hooks) {\n if (hook) {\n hookCount++;\n }\n }\n\n if (hookCount) {\n var traverse = el.firstChild;\n\n while (traverse) {\n var next = traverse.nextSibling;\n\n trigger(traverse, eventName);\n\n traverse = next;\n }\n }\n};\n\nvar setStyle = function (view, arg1, arg2) {\n var el = getEl(view);\n\n if (arg2 !== undefined) {\n el.style[arg1] = arg2;\n } else if (typeof arg1 === 'string') {\n el.setAttribute('style', arg1);\n } else {\n for (var key in arg1) {\n setStyle(el, key, arg1[key]);\n }\n }\n};\n\n/* global SVGElement */\n\nvar xlinkns = 'http://www.w3.org/1999/xlink';\n\nvar setAttr = function (view, arg1, arg2) {\n var el = getEl(view);\n var isSVG = el instanceof SVGElement;\n\n var isFunc = typeof arg2 === 'function';\n\n if (arg2 !== undefined) {\n if (arg1 === 'style') {\n setStyle(el, arg2);\n } else if (isSVG && isFunc) {\n el[arg1] = arg2;\n } else if (arg1 === 'dataset') {\n setData(el, arg2);\n } else if (!isSVG && (arg1 in el || isFunc)) {\n el[arg1] = arg2;\n } else {\n if (isSVG && (arg1 === 'xlink')) {\n setXlink(el, arg2);\n return;\n }\n el.setAttribute(arg1, arg2);\n }\n } else {\n for (var key in arg1) {\n setAttr(el, key, arg1[key]);\n }\n }\n};\n\nfunction setXlink (el, obj) {\n for (var key in obj) {\n el.setAttributeNS(xlinkns, key, obj[key]);\n }\n}\n\nfunction setData (el, obj) {\n for (var key in obj) {\n el.dataset[key] = obj[key];\n }\n}\n\nvar text = function (str) { return document.createTextNode((str != null) ? str : ''); };\n\nvar parseArguments = function (element, args) {\n for (var i = 0, list = args; i < list.length; i += 1) {\n var arg = list[i];\n\n if (arg !== 0 && !arg) {\n continue;\n }\n\n var type = typeof arg;\n\n // support middleware\n if (type === 'function') {\n arg(element);\n } else if (type === 'string' || type === 'number') {\n element.appendChild(text(arg));\n } else if (isNode(getEl(arg))) {\n mount(element, arg);\n } else if (arg.length) {\n parseArguments(element, arg);\n } else if (type === 'object') {\n setAttr(element, arg);\n }\n }\n};\n\nvar ensureEl = function (parent) { return typeof parent === 'string' ? html(parent) : getEl(parent); };\nvar getEl = function (parent) { return (parent.nodeType && parent) || (!parent.el && parent) || getEl(parent.el); };\nvar isNode = function (a) { return a && a.nodeType; };\n\nvar htmlCache = {};\n\nvar memoizeHTML = function (query) { return htmlCache[query] || (htmlCache[query] = createElement(query)); };\n\nvar html = function (query) {\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n var element;\n\n var type = typeof query;\n\n if (type === 'string') {\n element = memoizeHTML(query).cloneNode(false);\n } else if (isNode(query)) {\n element = query.cloneNode(false);\n } else if (type === 'function') {\n var Query = query;\n element = new (Function.prototype.bind.apply( Query, [ null ].concat( args) ));\n } else {\n throw new Error('At least one argument required');\n }\n\n parseArguments(getEl(element), args);\n\n return element;\n};\n\nhtml.extend = function (query) {\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n var clone = memoizeHTML(query);\n\n return html.bind.apply(html, [ this, clone ].concat( args ));\n};\n\nvar el = html;\nvar h = html;\n\nvar setChildren = function (parent) {\n var children = [], len = arguments.length - 1;\n while ( len-- > 0 ) children[ len ] = arguments[ len + 1 ];\n\n var parentEl = getEl(parent);\n var current = traverse(parent, children, parentEl.firstChild);\n\n while (current) {\n var next = current.nextSibling;\n\n unmount(parent, current);\n\n current = next;\n }\n};\n\nfunction traverse (parent, children, _current) {\n var current = _current;\n\n var childEls = new Array(children.length);\n\n for (var i = 0; i < children.length; i++) {\n childEls[i] = children[i] && getEl(children[i]);\n }\n\n for (var i$1 = 0; i$1 < children.length; i$1++) {\n var child = children[i$1];\n\n if (!child) {\n continue;\n }\n\n var childEl = childEls[i$1];\n\n if (childEl === current) {\n current = current.nextSibling;\n continue;\n }\n\n if (isNode(childEl)) {\n var next = current && current.nextSibling;\n var exists = child.__redom_index != null;\n var replace = exists && next === childEls[i$1 + 1];\n\n mount(parent, child, current, replace);\n\n if (replace) {\n current = next;\n }\n\n continue;\n }\n\n if (child.length != null) {\n current = traverse(parent, child, current);\n }\n }\n\n return current;\n}\n\nvar propKey = function (key) { return function (item) { return item[key]; }; };\n\nvar listPool = function (View, key, initData) {\n return new ListPool(View, key, initData);\n};\n\nvar ListPool = function ListPool (View, key, initData) {\n this.View = View;\n this.initData = initData;\n this.oldLookup = {};\n this.lookup = {};\n this.oldViews = [];\n this.views = [];\n\n if (key != null) {\n this.key = typeof key === 'function' ? key : propKey(key);\n }\n};\nListPool.prototype.update = function update (data, context) {\n var ref = this;\n var View = ref.View;\n var key = ref.key;\n var initData = ref.initData;\n var keySet = key != null;\n\n var oldLookup = this.lookup;\n var newLookup = {};\n\n var newViews = new Array(data.length);\n var oldViews = this.views;\n\n for (var i = 0; i < data.length; i++) {\n var item = data[i];\n var view = (void 0);\n\n if (keySet) {\n var id = key(item);\n\n view = oldLookup[id] || new View(initData, item, i, data);\n newLookup[id] = view;\n view.__redom_id = id;\n } else {\n view = oldViews[i] || new View(initData, item, i, data);\n }\n view.update && view.update(item, i, data, context);\n\n var el = getEl(view.el);\n\n el.__redom_view = view;\n newViews[i] = view;\n }\n\n this.oldViews = oldViews;\n this.views = newViews;\n\n this.oldLookup = oldLookup;\n this.lookup = newLookup;\n};\n\nvar list = function (parent, View, key, initData) {\n return new List(parent, View, key, initData);\n};\n\nvar List = function List (parent, View, key, initData) {\n this.__redom_list = true;\n this.View = View;\n this.initData = initData;\n this.views = [];\n this.pool = new ListPool(View, key, initData);\n this.el = ensureEl(parent);\n this.keySet = key != null;\n};\nList.prototype.update = function update (data, context) {\n if ( data === void 0 ) data = [];\n\n var ref = this;\n var keySet = ref.keySet;\n var oldViews = this.views;\n\n this.pool.update(data, context);\n\n var ref$1 = this.pool;\n var views = ref$1.views;\n var lookup = ref$1.lookup;\n\n if (keySet) {\n for (var i = 0; i < oldViews.length; i++) {\n var oldView = oldViews[i];\n var id = oldView.__redom_id;\n\n if (lookup[id] == null) {\n oldView.__redom_index = null;\n unmount(this, oldView);\n }\n }\n }\n\n for (var i$1 = 0; i$1 < views.length; i$1++) {\n var view = views[i$1];\n\n view.__redom_index = i$1;\n }\n\n setChildren(this, views);\n\n if (keySet) {\n this.lookup = lookup;\n }\n this.views = views;\n};\n\nList.extend = function (parent, View, key, initData) {\n return List.bind(List, parent, View, key, initData);\n};\n\nlist.extend = List.extend;\n\n/* global Node */\n\nvar place = function (View, initData) {\n return new Place(View, initData);\n};\n\nvar Place = function Place (View, initData) {\n this.el = text('');\n this.visible = false;\n this.view = null;\n this._placeholder = this.el;\n\n if (View instanceof Node) {\n this._el = View;\n } else {\n this._View = View;\n }\n\n this._initData = initData;\n};\nPlace.prototype.update = function update (visible, data) {\n var placeholder = this._placeholder;\n var parentNode = this.el.parentNode;\n\n if (visible) {\n if (!this.visible) {\n if (this._el) {\n mount(parentNode, this._el, placeholder);\n unmount(parentNode, placeholder);\n\n this.el = this._el;\n this.visible = visible;\n\n return;\n }\n var View = this._View;\n var view = new View(this._initData);\n\n this.el = getEl(view);\n this.view = view;\n\n mount(parentNode, view, placeholder);\n unmount(parentNode, placeholder);\n }\n this.view && this.view.update && this.view.update(data);\n } else {\n if (this.visible) {\n if (this._el) {\n mount(parentNode, placeholder, this._el);\n unmount(parentNode, this._el);\n\n this.el = placeholder;\n this.visible = visible;\n\n return;\n }\n mount(parentNode, placeholder, this.view);\n unmount(parentNode, this.view);\n\n this.el = placeholder;\n this.view = null;\n }\n }\n this.visible = visible;\n};\n\nvar router = function (parent, Views, initData) {\n return new Router(parent, Views, initData);\n};\n\nvar Router = function Router (parent, Views, initData) {\n this.el = ensureEl(parent);\n this.Views = Views;\n this.initData = initData;\n};\nRouter.prototype.update = function update (route, data) {\n if (route !== this.route) {\n var Views = this.Views;\n var View = Views[route];\n\n this.route = route;\n this.view = View && new View(this.initData, data);\n\n setChildren(this.el, [ this.view ]);\n }\n this.view && this.view.update && this.view.update(data, route);\n};\n\nvar ns = 'http://www.w3.org/2000/svg';\n\nvar svgCache = {};\n\nvar memoizeSVG = function (query) { return svgCache[query] || (svgCache[query] = createElement(query, ns)); };\n\nvar svg = function (query) {\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n var element;\n\n var type = typeof query;\n\n if (type === 'string') {\n element = memoizeSVG(query).cloneNode(false);\n } else if (isNode(query)) {\n element = query.cloneNode(false);\n } else if (type === 'function') {\n var Query = query;\n element = new (Function.prototype.bind.apply( Query, [ null ].concat( args) ));\n } else {\n throw new Error('At least one argument required');\n }\n\n parseArguments(getEl(element), args);\n\n return element;\n};\n\nsvg.extend = function (query) {\n var clone = memoizeSVG(query);\n\n return svg.bind(this, clone);\n};\n\nsvg.ns = ns;\n\nvar s = svg;\n\nexport { el, h, html, list, List, listPool, ListPool, mount, unmount, place, Place, router, Router, setAttr, setStyle, setChildren, s, svg, text };\n","export default class Language {\r\n\r\n setLocale(locale) {\r\n window.CookieConsent.config.language.current = locale;\r\n }\r\n \r\n static getTranslation(object, locale, key) {\r\n var currentLocale;\r\n\r\n if(!object.hasOwnProperty('language')) return '[Missing language object]';\r\n if(!object.language.hasOwnProperty('locale')) return '[Missing locale object]'\r\n \r\n currentLocale = (object.language.locale.hasOwnProperty(locale)) ? locale : 'en';\r\n\r\n return (object.language.locale[currentLocale].hasOwnProperty(key)) ? object.language.locale[currentLocale][key] : '[Missing translation]';\r\n }\r\n\r\n}","import { el, mount } from 'redom';\r\nimport Language from './Language';\r\nimport Utilities from \"./Utilities\";\r\n\r\nexport default class Interface {\r\n\r\n constructor() {\r\n this.elements = {};\r\n }\r\n\r\n\r\n buildStyle() {\r\n return el('style',\r\n '#cconsent-bar, #cconsent-bar * { box-sizing:border-box }', \r\n '#cconsent-bar { background-color:' + window.CookieConsent.config.theme.barColor + '; color:' + window.CookieConsent.config.theme.barTextColor + '; padding:15px; text-align:right; font-family:sans-serif; font-size:14px; line-height:18px; position:fixed; bottom:0; left:0; width:100%; z-index:9998; transform: translateY(0); transition: transform .6s ease-in-out; transition-delay: .3s;}', \r\n '#cconsent-bar.ccb--hidden {transform: translateY(100%); display:block;}', \r\n '#cconsent-bar .ccb__wrapper { display:flex; flex-wrap:wrap; justify-content:space-between; max-width:1800px; margin:0 auto;}',\r\n '#cconsent-bar .ccb__left { align-self:center; text-align:left; margin: 15px 0;}',\r\n '#cconsent-bar .ccb__right { align-self:center; white-space: nowrap;}',\r\n '#cconsent-bar .ccb__right > div {display:inline-block; color:#FFF;}',\r\n '#cconsent-bar a { text-decoration:underline; color:' + window.CookieConsent.config.theme.barTextColor + '; }',\r\n '#cconsent-bar button { line-height:normal; font-size:14px; border:none; padding:10px 10px; color:' + window.CookieConsent.config.theme.barMainButtonTextColor + '; background-color:' + window.CookieConsent.config.theme.barMainButtonColor + ';}',\r\n '#cconsent-bar a.ccb__edit { margin-right:15px }',\r\n '#cconsent-bar a:hover, #cconsent-bar button:hover { cursor:pointer; }',\r\n '#cconsent-modal { display:none; font-size:14px; line-height:18px; color:#666; width: 100vw; height: 100vh; position:fixed; left:0; top:0; right:0; bottom:0; font-family:sans-serif; font-size:14px; background-color:rgba(0,0,0,0.6); z-index:9999; align-items:center; justify-content:center;}',\r\n '@media (max-width: 600px) { #cconsent-modal { height: 100% } }',\r\n '#cconsent-modal h2, #cconsent-modal h3 {color:#333}',\r\n '#cconsent-modal.ccm--visible {display:flex}',\r\n '#cconsent-modal .ccm__content { max-width:600px; min-height:500px; max-height:600px; overflow-Y:auto; background-color:#EFEFEF; }',\r\n '@media (max-width: 600px) { #cconsent-modal .ccm__content { max-width:100vw; height:100%; max-height:initial; }}',\r\n '#cconsent-modal .ccm__content > .ccm__content__heading { border-bottom:1px solid #D8D8D8; padding:35px 35px 20px; background-color:#EFEFEF; position:relative;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__heading h2 { font-size:21px; font-weight:600; color:#333; margin:0 }',\r\n '#cconsent-modal .ccm__content > .ccm__content__heading .ccm__cheading__close {font-weight:600; color:#888; cursor:pointer; font-size:26px; position: absolute; right:15px; top: 15px;}',\r\n '#cconsent-modal h2, #cconsent-modal h3 {margin-top:0}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body { background-color:#FFF;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup {margin:0; border-bottom: 1px solid #D8D8D8; }',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup .ccm__tab-head::before { position:absolute; left:35px; font-size:1.4em; font-weight: 600; color:#E56385; content:\"×\"; display:inline-block; margin-right: 20px;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.checked-5jhk .ccm__tab-head::before {font-size:1em; content:\"✔\"; color:#28A834}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup .ccm__tab-head .ccm__tab-head__icon-wedge { transition: transform .3s ease-out; transform-origin: 16px 6px 0; position:absolute;right:25px; top:50%; transform:rotate(0deg); transform:translateY(-50%)}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup .ccm__tab-head .ccm__tab-head__icon-wedge > svg { pointer-events: none; }',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.ccm__tabgroup--open .ccm__tab-head .ccm__tab-head__icon-wedge {transform:rotate(-180deg)}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head {color:#333; padding:17px 35px 17px 56px; margin:0}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content {padding:25px 35px; margin:0}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head { transition: background-color .5s ease-out }',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head:hover { background-color:#F9F9F9 }',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head {font-weight:600; cursor:pointer; position:relative;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup .ccm__tab-content {display:none;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.ccm__tabgroup--open .ccm__tab-head { background-color:#F9F9F9 }',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.ccm__tabgroup--open .ccm__tab-content {display:flex;}',\r\n '@media (max-width: 600px) { #cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.ccm__tabgroup--open .ccm__tab-content {flex-direction:column} }',\r\n '@media (max-width: 600px) { #cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left { margin-bottom:20px; } }',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch-component {display:flex; margin-right:35px; align-items:center;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch-component > div {font-weight:600;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch-group {width:40px; height:20px; margin:0 10px; position:relative;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch {position: absolute; top:0; right:0; display: inline-block; width: 40px; height: 20px;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch input {display:none;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch .ccm__switch__slider {position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #ccc; border-radius:10px; -webkit-transition: .4s; transition: .4s;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch .ccm__switch__slider:before {position: absolute; content: \"\"; height: 12px; width: 12px; left: 4px; bottom: 4px; background-color: white; border-radius:50%; -webkit-transition: .4s; transition: .4s;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch input:checked + .ccm__switch__slider {background-color: #28A834;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch input:focus + .ccm__switch__slider {box-shadow: 0 0 1px #28A834;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch input:checked + .ccm__switch__slider:before {-webkit-transform: translateX(20px); -ms-transform: translateX(20px); transform: translateX(20px);}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content h3 {font-size:18px; margin-bottom:10px; line-height:1;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content p {color:#444; margin-bottom:0}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__list:not(:empty) {margin-top:30px;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__list .ccm__list__title {color:#333; font-weight:600;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__list ul { margin:15px 0; padding-left:15px }',\r\n '#cconsent-modal .ccm__footer { padding:35px; background-color:#EFEFEF; text-align:center; display: flex; align-items:center; justify-content:flex-end; }',\r\n '#cconsent-modal .ccm__footer button { line-height:normal; font-size:14px; transition: background-color .5s ease-out; background-color:' + window.CookieConsent.config.theme.modalMainButtonColor + '; color:' + window.CookieConsent.config.theme.modalMainButtonTextColor + '; border:none; padding:13px; min-width:110px; border-radius: 2px; cursor:pointer; }',\r\n '#cconsent-modal .ccm__footer button:hover { background-color:' + Utilities.lightenDarkenColor(window.CookieConsent.config.theme.modalMainButtonColor, -20) + '; }',\r\n '#cconsent-modal .ccm__footer button#ccm__footer__consent-modal-submit { margin-right:10px; }'\r\n );\r\n }\r\n\r\n buildBar() {\r\n return el('div#cconsent-bar.ccb--hidden',\r\n el(`div.ccb__wrapper`,\r\n el('div.ccb__left',\r\n el('div.cc-text', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'barMainText'))\r\n ),\r\n el('div.ccb__right',\r\n el('div.ccb__button',\r\n el('a.ccb__edit', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'barLinkSetting')),\r\n el('button.consent-give', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'barBtnAcceptAll'))\r\n )\r\n )\r\n ),\r\n );\r\n }\r\n\r\n buildModal() {\r\n\r\n // Cookie names list middleware\r\n var listCookies = function(category) {\r\n var list = [];\r\n\r\n for(let service in window.CookieConsent.config.services) {\r\n (window.CookieConsent.config.services[service].category === category) && list.push(window.CookieConsent.config.services[service]);\r\n }\r\n \r\n if(list.length) {\r\n \r\n var listItems = [];\r\n \r\n for(let item in list) {\r\n listItems.push(el('li', Language.getTranslation(list[item], window.CookieConsent.config.language.current, 'name')));\r\n }\r\n\r\n return [el('div.ccm__list', el('span.ccm__list__title', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'modalAffectedSolutions')), el('ul', listItems))];\r\n }\r\n }\r\n \r\n function modalTabGroups() {\r\n\r\n let contentItems = [];\r\n\r\n let i = 0;\r\n for (let key in window.CookieConsent.config.categories) {\r\n\r\n contentItems.push(el('dl.ccm__tabgroup' + '.' + key + ((window.CookieConsent.config.categories[key].checked) ? '.checked-5jhk' : ''), {'data-category':key},\r\n el('dt.ccm__tab-head', Language.getTranslation(window.CookieConsent.config.categories[key], window.CookieConsent.config.language.current, 'name'),\r\n el('a.ccm__tab-head__icon-wedge', \r\n el(document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\"), { version: \"1.2\", preserveAspectRatio: \"none\", viewBox: \"0 0 24 24\", class: \"icon-wedge-svg\", \"data-id\": \"e9b3c566e8c14cfea38af128759b91a3\", style: \"opacity: 1; mix-blend-mode: normal; fill: rgb(51, 51, 51); width: 32px; height: 32px;\"},\r\n el(document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\"), { 'xmlns:default': \"http://www.w3.org/2000/svg\", class: \"icon-wedge-angle-down\", d: \"M17.2,9.84c0-0.09-0.04-0.18-0.1-0.24l-0.52-0.52c-0.13-0.13-0.33-0.14-0.47-0.01c0,0-0.01,0.01-0.01,0.01 l-4.1,4.1l-4.09-4.1C7.78,8.94,7.57,8.94,7.44,9.06c0,0-0.01,0.01-0.01,0.01L6.91,9.6c-0.13,0.13-0.14,0.33-0.01,0.47 c0,0,0.01,0.01,0.01,0.01l4.85,4.85c0.13,0.13,0.33,0.14,0.47,0.01c0,0,0.01-0.01,0.01-0.01l4.85-4.85c0.06-0.06,0.1-0.15,0.1-0.24 l0,0H17.2z\", style: \"fill: rgb(51, 51, 51);\" })\r\n )\r\n ),\r\n ),\r\n el('dd.ccm__tab-content',\r\n el('div.ccm__tab-content__left', \r\n ( ! window.CookieConsent.config.categories[key].needed) && el('div.ccm__switch-component', el('div.status-off', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'off')),\r\n el('div.ccm__switch-group',\r\n el('label.ccm__switch',\r\n el('input.category-onoff', {type:'checkbox', 'data-category': key, 'checked': window.CookieConsent.config.categories[key].checked}),\r\n el('span.ccm__switch__slider')\r\n )\r\n ),\r\n el('div.status-on', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'on')))\r\n ),\r\n el('div.right',\r\n el('h3', Language.getTranslation(window.CookieConsent.config.categories[key], window.CookieConsent.config.language.current, 'name')),\r\n el('p', Language.getTranslation(window.CookieConsent.config.categories[key], window.CookieConsent.config.language.current, 'description')),\r\n el('div.ccm__list',\r\n listCookies(key)\r\n )\r\n )\r\n )\r\n )\r\n );\r\n\r\n i++;\r\n }\r\n\r\n return contentItems;\r\n }\r\n\r\n return el('div#cconsent-modal',\r\n el('div.ccm__content',\r\n el('div.ccm__content__heading',\r\n el('h2', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'modalMainTitle')),\r\n el('p',\r\n Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'modalMainText'),\r\n (window.CookieConsent.config.modalMainTextMoreLink) ? el('a', { href: window.CookieConsent.config.modalMainTextMoreLink, target: '_blank', rel: 'noopener noreferrer' }, Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'learnMore')) : null\r\n ),\r\n el('div.ccm__cheading__close', '×')\r\n ),\r\n el('div.ccm__content__body',\r\n el('div.ccm__tabs',\r\n modalTabGroups()\r\n )\r\n ),\r\n el('div.ccm__footer',\r\n el('button#ccm__footer__consent-modal-submit', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'modalBtnSave')),\r\n el('button.consent-give', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'modalBtnAcceptAll'))\r\n )\r\n )\r\n );\r\n }\r\n\r\n modalRedrawIcons() {\r\n var tabGroups = this.elements['modal'].querySelectorAll('.ccm__tabgroup');\r\n\r\n for(let tabGroup of tabGroups) {\r\n if(window.CookieConsent.config.categories[tabGroup.dataset.category].checked) {\r\n if( ! tabGroup.classList.contains('checked-5jhk')) {\r\n tabGroup.classList.add('checked-5jhk');\r\n tabGroup.querySelector('input.category-onoff').checked = true;\r\n };\r\n } else {\r\n if(tabGroup.classList.contains('checked-5jhk')) tabGroup.classList.remove('checked-5jhk');\r\n tabGroup.querySelector('input.category-onoff').checked = false;\r\n }\r\n }\r\n }\r\n\r\n render(name, elem, callback) {\r\n if (typeof callback === 'undefined') callback = function(){};\r\n if (typeof this.elements[name] !== 'undefined') {\r\n this.elements[name].parentNode.replaceChild(elem, this.elements[name]);\r\n this.elements[name] = elem;\r\n callback(elem);\r\n return elem;\r\n } else {\r\n var insertedElem = mount(document.body, elem);\r\n if (insertedElem) {\r\n this.elements[name] = insertedElem;\r\n }\r\n callback(insertedElem);\r\n return insertedElem;\r\n }\r\n }\r\n\r\n buildInterface(callback) {\r\n\r\n if (typeof callback === 'undefined') callback = function(){};\r\n var that = this;\r\n\r\n Utilities.ready(function() {\r\n\r\n that.render('style', that.buildStyle());\r\n\r\n that.render('bar', that.buildBar(), (bar) => {\r\n\r\n // Show the bar after a while\r\n if ( ! window.CookieConsent.config.cookieExists) {\r\n setTimeout(() => {\r\n bar.classList.remove('ccb--hidden');\r\n }, window.CookieConsent.config.barTimeout);\r\n }\r\n });\r\n\r\n that.render('modal', that.buildModal());\r\n\r\n callback();\r\n });\r\n }\r\n\r\n addEventListeners(elements) {\r\n\r\n // If you click Accept all cookies\r\n var buttonConsentGive = document.querySelectorAll('.consent-give');\r\n\r\n for(let button of buttonConsentGive) {\r\n button.addEventListener('click', () => {\r\n \r\n // We set config to full consent\r\n for(let key in window.CookieConsent.config.categories) {\r\n window.CookieConsent.config.categories[key].wanted =\r\n window.CookieConsent.config.categories[key].checked = true;\r\n }\r\n \r\n this.writeBufferToDOM();\r\n \r\n this.buildCookie((cookie) => {\r\n this.setCookie(cookie);\r\n });\r\n \r\n this.elements['bar'].classList.add('ccb--hidden');\r\n this.elements['modal'].classList.remove('ccm--visible');\r\n\r\n this.modalRedrawIcons();\r\n \r\n });\r\n }\r\n\r\n\r\n // If you click Cookie settings and open modal\r\n Array.prototype.forEach.call(document.getElementsByClassName('ccb__edit'), (edit) => {\r\n edit.addEventListener('click', () => {\r\n this.elements['modal'].classList.add('ccm--visible');\r\n });\r\n });\r\n\r\n // If you click trough the tabs on Cookie settings\r\n // If you click on/off switch\r\n this.elements['modal'].querySelector('.ccm__tabs').addEventListener('click', (event) => {\r\n\r\n // If you click trough the tabs on Cookie settings\r\n if (event.target.classList.contains('ccm__tab-head') || event.target.classList.contains('ccm__tab-head__icon-wedge')) {\r\n\r\n function getDlParent(eventTarget) {\r\n var parent = eventTarget.parentNode;\r\n if(parent.nodeName !== 'DL') {\r\n return getDlParent(parent);\r\n } else {\r\n return parent;\r\n }\r\n }\r\n \r\n var parentDl = getDlParent(event.target);\r\n \r\n if(parentDl.classList.contains('ccm__tabgroup--open')) {\r\n parentDl.classList.remove('ccm__tabgroup--open');\r\n } else {\r\n parentDl.classList.add('ccm__tabgroup--open');\r\n }\r\n }\r\n\r\n // If you click on/off switch\r\n if (event.target.classList.contains('category-onoff')) {\r\n window.CookieConsent.config.categories[event.target.dataset.category].wanted =\r\n window.CookieConsent.config.categories[event.target.dataset.category].checked = (event.target.checked === true) ? true : false;\r\n\r\n var dt = document.querySelector('.ccm__tabgroup.' + event.target.dataset.category);\r\n if(event.target.checked === false && dt.classList.contains('checked-5jhk')) {\r\n dt.classList.remove('checked-5jhk');\r\n } else {\r\n dt.classList.add('checked-5jhk');\r\n }\r\n }\r\n });\r\n\r\n\r\n\r\n // If you click close on open modal\r\n this.elements['modal'].querySelector('.ccm__cheading__close').addEventListener('click', (event) => {\r\n this.elements['modal'].classList.remove('ccm--visible');\r\n });\r\n\r\n // If you click submit on cookie settings\r\n document.getElementById('ccm__footer__consent-modal-submit').addEventListener('click', () => {\r\n\r\n let switchElements = this.elements['modal'].querySelectorAll('.ccm__switch input');\r\n\r\n Array.prototype.forEach.call(switchElements, (switchElement) => {\r\n window.CookieConsent.config.categories[switchElement.dataset.category].wanted = switchElement.checked;\r\n });\r\n\r\n this.buildCookie((cookie) => {\r\n this.setCookie(cookie, () => {\r\n this.elements['modal'].classList.remove('ccm--visible');\r\n this.elements['bar'].classList.add('ccb--hidden');\r\n });\r\n });\r\n\r\n this.writeBufferToDOM();\r\n\r\n });\r\n }\r\n\r\n writeBufferToDOM() {\r\n\r\n for(let action of window.CookieConsent.buffer.appendChild) {\r\n if (window.CookieConsent.config.categories[action.category].wanted === true) {\r\n Node.prototype.appendChild.apply(action.this, action.arguments);\r\n }\r\n }\r\n\r\n for(let action of window.CookieConsent.buffer.insertBefore) {\r\n if (window.CookieConsent.config.categories[action.category].wanted === true) {\r\n action.arguments[1] = (action.arguments[0].parentNode === null) ? action.this.lastChild : action.arguments[1];\r\n Node.prototype.insertBefore.apply(action.this, action.arguments);\r\n }\r\n }\r\n }\r\n\r\n buildCookie(callback) {\r\n let cookie = {\r\n version: window.CookieConsent.config.cookieVersion,\r\n categories: {},\r\n services: []\r\n };\r\n \r\n for(let key in window.CookieConsent.config.categories) {\r\n cookie.categories[key] = {\r\n wanted: window.CookieConsent.config.categories[key].wanted,\r\n };\r\n }\r\n\r\n cookie.services = Utilities.listGlobalServices();\r\n \r\n if (callback) callback(cookie);\r\n return cookie;\r\n }\r\n \r\n setCookie(cookie, callback) {\r\n const expires_in = new Date(Date.now() + 365 * 24 * 60 * 60 * 1000).toUTCString();\r\n\r\n document.cookie = `cconsent=${JSON.stringify(cookie)}; expires=${expires_in}; path=/;`;\r\n if (callback) callback();\r\n }\r\n}\r\n","import Utilities from \"./Utilities\";\r\n\r\nexport default class Configuration {\r\n\r\n constructor(configObject) {\r\n\r\n window.CookieConsent.buffer = {\r\n appendChild: [],\r\n insertBefore: []\r\n }\r\n\r\n // Wrapper filter function\r\n window.CookieConsent.wrapper = function () { };\r\n\r\n // Settings injector for users\r\n window.CookieConsent.setConfiguration = this.setConfiguration.bind(this);\r\n\r\n window.CookieConsent.config = {\r\n active: true,\r\n cookieExists: false,\r\n cookieVersion: 1,\r\n modalMainTextMoreLink: null,\r\n barTimeout: 1000,\r\n theme: {\r\n barColor: '#2C7CBF',\r\n barTextColor: '#FFF',\r\n barMainButtonColor: '#FFF',\r\n barMainButtonTextColor: '#2C7CBF',\r\n modalMainButtonColor: '#4285F4',\r\n modalMainButtonTextColor: '#FFF',\r\n },\r\n language: {\r\n current: 'en',\r\n locale: {\r\n en: {\r\n barMainText: 'This website uses cookies to ensure you get the best experience on our website.',\r\n barLinkSetting: 'Cookie Settings',\r\n barBtnAcceptAll: 'Accept all cookies',\r\n modalMainTitle: 'Cookie settings',\r\n modalMainText: 'Cookies are small piece of data sent from a website and stored on the user\\'s computer by the user\\'s web browser while the user is browsing. Your browser stores each message in a small file, called cookie. When you request another page from the server, your browser sends the cookie back to the server. Cookies were designed to be a reliable mechanism for websites to remember information or to record the user\\'s browsing activity.',\r\n modalBtnSave: 'Save current settings',\r\n modalBtnAcceptAll: 'Accept all cookies and close',\r\n modalAffectedSolutions: 'Affected solutions:',\r\n learnMore: 'Learn More',\r\n on: 'On',\r\n off: 'Off',\r\n },\r\n hu: {\r\n barMainText: 'Ez a weboldal Sütiket használ a jobb felhasználói élmény érdekében.',\r\n barLinkSetting: 'Süti beállítások',\r\n barBtnAcceptAll: 'Minden süti elfogadása',\r\n modalMainTitle: 'Süti beállítások',\r\n modalMainText: 'A HTTP-süti (általában egyszerűen süti, illetve angolul cookie) egy információcsomag, amelyet a szerver küld a webböngészőnek, majd a böngésző visszaküld a szervernek minden, a szerver felé irányított kérés alkalmával. Amikor egy weboldalt kérünk le a szervertől, akkor a böngésző elküldi a számára elérhető sütiket. A süti-ket úgy tervezték, hogy megbízható mechanizmust biztosítsanak a webhelyek számára az információk megőrzésére vagy a felhasználók böngészési tevékenységének rögzítésére.',\r\n modalBtnSave: 'Beállítások mentése',\r\n modalBtnAcceptAll: 'Minden Süti elfogadása',\r\n modalAffectedSolutions: 'Mire lesz ez hatással:',\r\n learnMore: 'Tudj meg többet',\r\n on: 'Be',\r\n off: 'Ki',\r\n }\r\n }\r\n },\r\n categories: {},\r\n services: {}\r\n }\r\n\r\n this.setConfiguration(configObject);\r\n\r\n }\r\n\r\n setConfiguration(configObject) {\r\n // The user overrides the default config\r\n console.log(window.CookieConsent.config, configObject, { ...window.CookieConsent.config, ...configObject });\r\n\r\n this.mergeDeep(window.CookieConsent.config, configObject)\r\n //loMerge(window.CookieConsent.config, configObject);\r\n // The cookie overrides the default and user config\r\n this.cookieToConfig();\r\n\r\n // We tell the world we did this\r\n Utilities.dispatchEvent(document, 'CCConfigSet');\r\n }\r\n\r\n cookieToConfig() {\r\n\r\n function removeReload() {\r\n Utilities.removeCookie();\r\n location.reload();\r\n return false;\r\n }\r\n\r\n document.cookie.split(';').filter((item) => {\r\n\r\n if (item.indexOf('cconsent') >= 0) {\r\n var cookieData = JSON.parse(item.split('=')[1]);\r\n\r\n // We check cookie version. If older we need to renew cookie.\r\n if (typeof cookieData.version === 'undefined') {\r\n return removeReload();\r\n } else {\r\n if (cookieData.version !== window.CookieConsent.config.cookieVersion) {\r\n return removeReload();\r\n }\r\n }\r\n\r\n // We check if cookie data categories also exist in user config\r\n for (let key in cookieData.categories) {\r\n\r\n // The cookie contains category not present in user config so we invalidate cookie\r\n if (typeof window.CookieConsent.config.categories[key] === 'undefined') {\r\n return removeReload();\r\n }\r\n }\r\n\r\n // We check if cookie data services also exist in user config\r\n cookieData.services.forEach(function (service) {\r\n\r\n // The cookie contains service not present in user config so we invalidate cookie\r\n if (typeof window.CookieConsent.config.services[service] === 'undefined') {\r\n return removeReload();\r\n }\r\n });\r\n\r\n // We we integrate cookie data into the global config object\r\n for (let key in cookieData.categories) {\r\n window.CookieConsent.config.categories[key].checked = window.CookieConsent.config.categories[key].wanted = (cookieData.categories[key].wanted === true) ? true : false;\r\n }\r\n\r\n window.CookieConsent.config.cookieExists = true;\r\n return true;\r\n }\r\n });\r\n\r\n return false;\r\n }\r\n\r\n\r\n // Simple object check.\r\n isObject(item) {\r\n return (item && typeof item === 'object' && !Array.isArray(item));\r\n }\r\n\r\n //Deep merge two objects.\r\n mergeDeep(target, ...sources) {\r\n if (!sources.length) return target;\r\n const source = sources.shift();\r\n\r\n if (this.isObject(target) && this.isObject(source)) {\r\n for (const key in source) {\r\n if (this.isObject(source[key])) {\r\n if (!target[key]) Object.assign(target, { [key]: {} });\r\n this.mergeDeep(target[key], source[key]);\r\n } else {\r\n Object.assign(target, { [key]: source[key] });\r\n }\r\n }\r\n }\r\n\r\n return this.mergeDeep(target, ...sources);\r\n }\r\n}\r\n","import Utilities from \"./Utilities\";\r\n\r\nexport default class RemoveCookies {\r\n\r\n init() {\r\n this.removeUnwantedCookies();\r\n }\r\n\r\n removeUnwantedCookies() {\r\n let cookieList = [];\r\n let config = window.CookieConsent.config;\r\n\r\n document.cookie.split(';').map(function(a){\r\n cookieList.push(a.split('=')[0].replace(/(^\\s*)|(\\s*&)/, ''));\r\n });\r\n\r\n for(let service in config.services) {\r\n if (Utilities.objectType(config.services[service].cookies) === 'Array') {\r\n // Remove cookies if they are not wanted by user\r\n if (! config.categories[config.services[service].category].wanted) {\r\n for(let i in config.services[service].cookies) {\r\n let type = Utilities.objectType(config.services[service].cookies[i].name);\r\n if (type === 'String') {\r\n if (cookieList.indexOf(config.services[service].cookies[i].name) > -1) {\r\n this.removeCookie(config.services[service].cookies[i]);\r\n }\r\n } else if (type === 'RegExp') {\r\n // Searching cookie list for cookies matching specified RegExp\r\n let cookieDef = config.services[service].cookies[i];\r\n for (let c in cookieList) {\r\n if (cookieList[c].match(cookieDef.name)) {\r\n this.removeCookie({\r\n name: cookieList[c],\r\n domain: Utilities.objectType(cookieDef.domain) === 'String' ? cookieDef.domain : null\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n removeCookie(cookie) {\r\n // Removing cookies from domain and .domain\r\n let domain = Utilities.objectType(cookie.domain) === 'String' ? `domain=${cookie.domain};` : '';\r\n document.cookie = `${cookie.name}=; expires=Thu, 01 Jan 1980 00:00:00 UTC; ${domain} path=/;`;\r\n }\r\n}\r\n","import InsertScriptFilter from './InsertScriptFilter';\r\nimport ScriptTagFilter from './ScriptTagFilter';\r\nimport WrapperFilter from './WrapperFilter';\r\nimport LocalCookieFilter from './LocalCookieFilter';\r\nimport Interface from './Interface';\r\nimport Configuration from './Configuration';\r\nimport RemoveCookies from './RemoveCookies';\r\n\r\nexport default class CookieConsent {\r\n\r\n init(configObject) {\r\n new Configuration(configObject);\r\n\r\n const removeCookies = new RemoveCookies();\r\n const insertScriptFilter = new InsertScriptFilter();\r\n const scriptTagFilter = new ScriptTagFilter();\r\n const wrapperFilter = new WrapperFilter();\r\n const localCookieFilter = new LocalCookieFilter();\r\n\r\n removeCookies.init();\r\n insertScriptFilter.init();\r\n scriptTagFilter.init();\r\n wrapperFilter.init();\r\n localCookieFilter.init();\r\n\r\n const UI = new Interface();\r\n\r\n UI.buildInterface(() => {\r\n UI.addEventListeners();\r\n });\r\n }\r\n\r\n}","import 'core-js/es6/symbol';\r\nimport 'core-js/fn/symbol/iterator';\r\nimport CookieConsent from './lib/CookieConsent';\r\n\r\nconst cookieConsent = new CookieConsent();\r\n\r\nwindow.CookieConsent = window.CookieConsent || {};\r\nwindow.CookieConsent.init = cookieConsent.init;\r\n\r\n"]} \ No newline at end of file diff --git a/docs_src/src/assets/js/cookieconsent.min.js b/docs_src/src/assets/js/cookieconsent.min.js index e9fe447..6539943 100644 --- a/docs_src/src/assets/js/cookieconsent.min.js +++ b/docs_src/src/assets/js/cookieconsent.min.js @@ -151,204 +151,9 @@ require("../../modules/es6.string.iterator"),require("../../modules/web.dom.iter "use strict";function e(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function n(e,n){for(var a=0;a div {display:inline-block; color:#FFF;}","#cconsent-bar a { text-decoration:underline; color:"+window.CookieConsent.config.theme.barTextColor+"; }","#cconsent-bar button { line-height:normal; font-size:14px; border:none; padding:10px 10px; color:"+window.CookieConsent.config.theme.barMainButtonTextColor+"; background-color:"+window.CookieConsent.config.theme.barMainButtonColor+";}","#cconsent-bar a.ccb__edit { margin-right:15px }","#cconsent-bar a:hover, #cconsent-bar button:hover { cursor:pointer; }","#cconsent-modal { display:none; font-size:14px; line-height:18px; color:#666; width: 100vw; height: 100vh; position:fixed; left:0; top:0; right:0; bottom:0; font-family:sans-serif; font-size:14px; background-color:rgba(0,0,0,0.6); z-index:9999; align-items:center; justify-content:center;}","@media (max-width: 600px) { #cconsent-modal { height: 100% } }","#cconsent-modal h2, #cconsent-modal h3 {color:#333}","#cconsent-modal.ccm--visible {display:flex}","#cconsent-modal .ccm__content { max-width:600px; min-height:500px; max-height:600px; overflow-Y:auto; background-color:#EFEFEF; }","@media (max-width: 600px) { #cconsent-modal .ccm__content { max-width:100vw; height:100%; max-height:initial; }}","#cconsent-modal .ccm__content > .ccm__content__heading { border-bottom:1px solid #D8D8D8; padding:35px 35px 20px; background-color:#EFEFEF; position:relative;}","#cconsent-modal .ccm__content > .ccm__content__heading h2 { font-size:21px; font-weight:600; color:#333; margin:0 }","#cconsent-modal .ccm__content > .ccm__content__heading .ccm__cheading__close {font-weight:600; color:#888; cursor:pointer; font-size:26px; position: absolute; right:15px; top: 15px;}","#cconsent-modal h2, #cconsent-modal h3 {margin-top:0}","#cconsent-modal .ccm__content > .ccm__content__body { background-color:#FFF;}","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup {margin:0; border-bottom: 1px solid #D8D8D8; }",'#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup .ccm__tab-head::before { position:absolute; left:35px; font-size:1.4em; font-weight: 600; color:#E56385; content:"×"; display:inline-block; margin-right: 20px;}','#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.checked-5jhk .ccm__tab-head::before {font-size:1em; content:"✔"; color:#28A834}',"#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup .ccm__tab-head .ccm__tab-head__icon-wedge { transition: transform .3s ease-out; transform-origin: 16px 6px 0; position:absolute;right:25px; top:50%; transform:rotate(0deg); transform:translateY(-50%)}","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup .ccm__tab-head .ccm__tab-head__icon-wedge > svg { pointer-events: none; }","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.ccm__tabgroup--open .ccm__tab-head .ccm__tab-head__icon-wedge {transform:rotate(-180deg)}","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head {color:#333; padding:17px 35px 17px 56px; margin:0}","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content {padding:25px 35px; margin:0}","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head { transition: background-color .5s ease-out }","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head:hover { background-color:#F9F9F9 }","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head {font-weight:600; cursor:pointer; position:relative;}","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup .ccm__tab-content {display:none;}","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.ccm__tabgroup--open .ccm__tab-head { background-color:#F9F9F9 }","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.ccm__tabgroup--open .ccm__tab-content {display:flex;}","@media (max-width: 600px) { #cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.ccm__tabgroup--open .ccm__tab-content {flex-direction:column} }","@media (max-width: 600px) { #cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left { margin-bottom:20px; } }","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch-component {display:flex; margin-right:35px; align-items:center;}","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch-component > div {font-weight:600;}","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch-group {width:40px; height:20px; margin:0 10px; position:relative;}","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch {position: absolute; top:0; right:0; display: inline-block; width: 40px; height: 20px;}","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch input {display:none;}","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch .ccm__switch__slider {position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #ccc; border-radius:10px; -webkit-transition: .4s; transition: .4s;}",'#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch .ccm__switch__slider:before {position: absolute; content: ""; height: 12px; width: 12px; left: 4px; bottom: 4px; background-color: white; border-radius:50%; -webkit-transition: .4s; transition: .4s;}',"#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch input:checked + .ccm__switch__slider {background-color: #28A834;}","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch input:focus + .ccm__switch__slider {box-shadow: 0 0 1px #28A834;}","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch input:checked + .ccm__switch__slider:before {-webkit-transform: translateX(20px); -ms-transform: translateX(20px); transform: translateX(20px);}","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content h3 {font-size:18px; margin-bottom:10px; line-height:1;}","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content p {color:#444; margin-bottom:0}","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__list:not(:empty) {margin-top:30px;}","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__list .ccm__list__title {color:#333; font-weight:600;}","#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__list ul { margin:15px 0; padding-left:15px }","#cconsent-modal .ccm__footer { padding:35px; background-color:#EFEFEF; text-align:center; display: flex; align-items:center; justify-content:flex-end; }","#cconsent-modal .ccm__footer button { line-height:normal; font-size:14px; transition: background-color .5s ease-out; background-color:"+window.CookieConsent.config.theme.modalMainButtonColor+"; color:"+window.CookieConsent.config.theme.modalMainButtonTextColor+"; border:none; padding:13px; min-width:110px; border-radius: 2px; cursor:pointer; }","#cconsent-modal .ccm__footer button:hover { background-color:"+t.default.lightenDarkenColor(window.CookieConsent.config.theme.modalMainButtonColor,-20)+"; }","#cconsent-modal .ccm__footer button#ccm__footer__consent-modal-submit { margin-right:10px; }")}},{key:"buildBar",value:function(){return(0,e.el)("div#cconsent-bar.ccb--hidden",(0,e.el)("div.ccb__wrapper",(0,e.el)("div.ccb__left",(0,e.el)("div.cc-text",o.default.getTranslation(window.CookieConsent.config,window.CookieConsent.config.language.current,"barMainText"))),(0,e.el)("div.ccb__right",(0,e.el)("div.ccb__button",(0,e.el)("a.ccb__edit",o.default.getTranslation(window.CookieConsent.config,window.CookieConsent.config.language.current,"barLinkSetting")),(0,e.el)("button.consent-give",o.default.getTranslation(window.CookieConsent.config,window.CookieConsent.config.language.current,"barBtnAcceptAll"))))))}},{key:"buildModal",value:function(){var t=function(t){var n=[];for(var c in window.CookieConsent.config.services)window.CookieConsent.config.services[c].category===t&&n.push(window.CookieConsent.config.services[c]);if(n.length){var i=[];for(var a in n)i.push((0,e.el)("li",o.default.getTranslation(n[a],window.CookieConsent.config.language.current,"name")));return[(0,e.el)("div.ccm__list",(0,e.el)("span.ccm__list__title",o.default.getTranslation(window.CookieConsent.config,window.CookieConsent.config.language.current,"modalAffectedSolutions")),(0,e.el)("ul",i))]}};return(0,e.el)("div#cconsent-modal",(0,e.el)("div.ccm__content",(0,e.el)("div.ccm__content__heading",(0,e.el)("h2",o.default.getTranslation(window.CookieConsent.config,window.CookieConsent.config.language.current,"modalMainTitle")),(0,e.el)("p",o.default.getTranslation(window.CookieConsent.config,window.CookieConsent.config.language.current,"modalMainText"),window.CookieConsent.config.modalMainTextMoreLink?(0,e.el)("a",{href:window.CookieConsent.config.modalMainTextMoreLink,target:"_blank",rel:"noopener noreferrer"},o.default.getTranslation(window.CookieConsent.config,window.CookieConsent.config.language.current,"learnMore")):null),(0,e.el)("div.ccm__cheading__close","×")),(0,e.el)("div.ccm__content__body",(0,e.el)("div.ccm__tabs",function(){var n=[];for(var c in window.CookieConsent.config.categories)n.push((0,e.el)("dl.ccm__tabgroup."+c+(window.CookieConsent.config.categories[c].checked?".checked-5jhk":""),{"data-category":c},(0,e.el)("dt.ccm__tab-head",o.default.getTranslation(window.CookieConsent.config.categories[c],window.CookieConsent.config.language.current,"name"),(0,e.el)("a.ccm__tab-head__icon-wedge",(0,e.el)(document.createElementNS("http://www.w3.org/2000/svg","svg"),{version:"1.2",preserveAspectRatio:"none",viewBox:"0 0 24 24",class:"icon-wedge-svg","data-id":"e9b3c566e8c14cfea38af128759b91a3",style:"opacity: 1; mix-blend-mode: normal; fill: rgb(51, 51, 51); width: 32px; height: 32px;"},(0,e.el)(document.createElementNS("http://www.w3.org/2000/svg","path"),{"xmlns:default":"http://www.w3.org/2000/svg",class:"icon-wedge-angle-down",d:"M17.2,9.84c0-0.09-0.04-0.18-0.1-0.24l-0.52-0.52c-0.13-0.13-0.33-0.14-0.47-0.01c0,0-0.01,0.01-0.01,0.01 l-4.1,4.1l-4.09-4.1C7.78,8.94,7.57,8.94,7.44,9.06c0,0-0.01,0.01-0.01,0.01L6.91,9.6c-0.13,0.13-0.14,0.33-0.01,0.47 c0,0,0.01,0.01,0.01,0.01l4.85,4.85c0.13,0.13,0.33,0.14,0.47,0.01c0,0,0.01-0.01,0.01-0.01l4.85-4.85c0.06-0.06,0.1-0.15,0.1-0.24 l0,0H17.2z",style:"fill: rgb(51, 51, 51);"})))),(0,e.el)("dd.ccm__tab-content",(0,e.el)("div.ccm__tab-content__left",!window.CookieConsent.config.categories[c].needed&&(0,e.el)("div.ccm__switch-component",(0,e.el)("div.status-off",o.default.getTranslation(window.CookieConsent.config,window.CookieConsent.config.language.current,"off")),(0,e.el)("div.ccm__switch-group",(0,e.el)("label.ccm__switch",(0,e.el)("input.category-onoff",{type:"checkbox","data-category":c,checked:window.CookieConsent.config.categories[c].checked}),(0,e.el)("span.ccm__switch__slider"))),(0,e.el)("div.status-on",o.default.getTranslation(window.CookieConsent.config,window.CookieConsent.config.language.current,"on")))),(0,e.el)("div.right",(0,e.el)("h3",o.default.getTranslation(window.CookieConsent.config.categories[c],window.CookieConsent.config.language.current,"name")),(0,e.el)("p",o.default.getTranslation(window.CookieConsent.config.categories[c],window.CookieConsent.config.language.current,"description")),(0,e.el)("div.ccm__list",t(c))))));return n}())),(0,e.el)("div.ccm__footer",(0,e.el)("button#ccm__footer__consent-modal-submit",o.default.getTranslation(window.CookieConsent.config,window.CookieConsent.config.language.current,"modalBtnSave")),(0,e.el)("button.consent-give",o.default.getTranslation(window.CookieConsent.config,window.CookieConsent.config.language.current,"modalBtnAcceptAll")))))}},{key:"modalRedrawIcons",value:function(){var e=this.elements.modal.querySelectorAll(".ccm__tabgroup"),o=!0,t=!1,n=void 0;try{for(var c,i=e[Symbol.iterator]();!(o=(c=i.next()).done);o=!0){var a=c.value;window.CookieConsent.config.categories[a.dataset.category].checked?a.classList.contains("checked-5jhk")||(a.classList.add("checked-5jhk"),a.querySelector("input.category-onoff").checked=!0):(a.classList.contains("checked-5jhk")&&a.classList.remove("checked-5jhk"),a.querySelector("input.category-onoff").checked=!1)}}catch(r){t=!0,n=r}finally{try{o||null==i.return||i.return()}finally{if(t)throw n}}}},{key:"render",value:function(o,t,n){if(void 0===n&&(n=function(){}),void 0!==this.elements[o])return this.elements[o].parentNode.replaceChild(t,this.elements[o]),this.elements[o]=t,n(t),t;var c=(0,e.mount)(document.body,t);return c&&(this.elements[o]=c),n(c),c}},{key:"buildInterface",value:function(e){void 0===e&&(e=function(){});var o=this;t.default.ready(function(){o.render("style",o.buildStyle()),o.render("bar",o.buildBar(),function(e){window.CookieConsent.config.cookieExists||setTimeout(function(){e.classList.remove("ccb--hidden")},window.CookieConsent.config.barTimeout)}),o.render("modal",o.buildModal()),e()})}},{key:"addEventListeners",value:function(e){var o=this,t=document.querySelectorAll(".consent-give"),n=!0,c=!1,i=void 0;try{for(var a,r=t[Symbol.iterator]();!(n=(a=r.next()).done);n=!0){a.value.addEventListener("click",function(){for(var e in window.CookieConsent.config.categories)window.CookieConsent.config.categories[e].wanted=window.CookieConsent.config.categories[e].checked=!0;o.writeBufferToDOM(),o.buildCookie(function(e){o.setCookie(e)}),o.elements.bar.classList.add("ccb--hidden"),o.elements.modal.classList.remove("ccm--visible"),o.modalRedrawIcons()})}}catch(_){c=!0,i=_}finally{try{n||null==r.return||r.return()}finally{if(c)throw i}}Array.prototype.forEach.call(document.getElementsByClassName("ccb__edit"),function(e){e.addEventListener("click",function(){o.elements.modal.classList.add("ccm--visible")})}),this.elements.modal.querySelector(".ccm__tabs").addEventListener("click",function(e){if(e.target.classList.contains("ccm__tab-head")||e.target.classList.contains("ccm__tab-head__icon-wedge")){var o=function e(o){var t=o.parentNode;return"DL"!==t.nodeName?e(t):t}(e.target);o.classList.contains("ccm__tabgroup--open")?o.classList.remove("ccm__tabgroup--open"):o.classList.add("ccm__tabgroup--open")}if(e.target.classList.contains("category-onoff")){window.CookieConsent.config.categories[e.target.dataset.category].wanted=window.CookieConsent.config.categories[e.target.dataset.category].checked=!0===e.target.checked;var t=document.querySelector(".ccm__tabgroup."+e.target.dataset.category);!1===e.target.checked&&t.classList.contains("checked-5jhk")?t.classList.remove("checked-5jhk"):t.classList.add("checked-5jhk")}}),this.elements.modal.querySelector(".ccm__cheading__close").addEventListener("click",function(e){o.elements.modal.classList.remove("ccm--visible")}),document.getElementById("ccm__footer__consent-modal-submit").addEventListener("click",function(){var e=o.elements.modal.querySelectorAll(".ccm__switch input");Array.prototype.forEach.call(e,function(e){window.CookieConsent.config.categories[e.dataset.category].wanted=e.checked}),o.buildCookie(function(e){o.setCookie(e,function(){o.elements.modal.classList.remove("ccm--visible"),o.elements.bar.classList.add("ccb--hidden")})}),o.writeBufferToDOM()})}},{key:"writeBufferToDOM",value:function(){var e=!0,o=!1,t=void 0;try{for(var n,c=window.CookieConsent.buffer.appendChild[Symbol.iterator]();!(e=(n=c.next()).done);e=!0){var i=n.value;!0===window.CookieConsent.config.categories[i.category].wanted&&Node.prototype.appendChild.apply(i.this,i.arguments)}}catch(m){o=!0,t=m}finally{try{e||null==c.return||c.return()}finally{if(o)throw t}}var a=!0,r=!1,_=void 0;try{for(var s,l=window.CookieConsent.buffer.insertBefore[Symbol.iterator]();!(a=(s=l.next()).done);a=!0){var d=s.value;!0===window.CookieConsent.config.categories[d.category].wanted&&(d.arguments[1]=null===d.arguments[0].parentNode?d.this.lastChild:d.arguments[1],Node.prototype.insertBefore.apply(d.this,d.arguments))}}catch(m){r=!0,_=m}finally{try{a||null==l.return||l.return()}finally{if(r)throw _}}}},{key:"buildCookie",value:function(e){var o={version:window.CookieConsent.config.cookieVersion,categories:{},services:[]};for(var n in window.CookieConsent.config.categories)o.categories[n]={wanted:window.CookieConsent.config.categories[n].wanted};return o.services=t.default.listGlobalServices(),e&&e(o),o}},{key:"setCookie",value:function(e,o){var t=new Date(Date.now()+31536e6).toUTCString();document.cookie="cconsent=".concat(JSON.stringify(e),"; expires=").concat(t,"; path=/;"),o&&o()}}]),n}();exports.default=r; -},{"redom":"GuEK","./Language":"4LWe","./Utilities":"/6wJ"}],"s9iF":[function(require,module,exports) { -function t(){this.__data__=[],this.size=0}module.exports=t; -},{}],"LIpy":[function(require,module,exports) { -function e(e,n){return e===n||e!=e&&n!=n}module.exports=e; -},{}],"yEjJ":[function(require,module,exports) { -var r=require("./eq");function e(e,n){for(var t=e.length;t--;)if(r(e[t][0],n))return t;return-1}module.exports=e; -},{"./eq":"LIpy"}],"+bWy":[function(require,module,exports) { -var e=require("./_assocIndexOf"),r=Array.prototype,t=r.splice;function a(r){var a=this.__data__,o=e(a,r);return!(o<0)&&(o==a.length-1?a.pop():t.call(a,o,1),--this.size,!0)}module.exports=a; -},{"./_assocIndexOf":"yEjJ"}],"Ewuv":[function(require,module,exports) { -var r=require("./_assocIndexOf");function e(e){var a=this.__data__,o=r(a,e);return o<0?void 0:a[o][1]}module.exports=e; -},{"./_assocIndexOf":"yEjJ"}],"xDQX":[function(require,module,exports) { -var e=require("./_assocIndexOf");function r(r){return e(this.__data__,r)>-1}module.exports=r; -},{"./_assocIndexOf":"yEjJ"}],"h0zV":[function(require,module,exports) { -var s=require("./_assocIndexOf");function e(e,r){var t=this.__data__,i=s(t,e);return i<0?(++this.size,t.push([e,r])):t[i][1]=r,this}module.exports=e; -},{"./_assocIndexOf":"yEjJ"}],"Xk23":[function(require,module,exports) { -var e=require("./_listCacheClear"),t=require("./_listCacheDelete"),r=require("./_listCacheGet"),l=require("./_listCacheHas"),o=require("./_listCacheSet");function a(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t-1&&r%1==0&&r<=e}module.exports=r; -},{}],"LN6c":[function(require,module,exports) { -var e=require("./isFunction"),n=require("./isLength");function r(r){return null!=r&&n(r.length)&&!e(r)}module.exports=r; -},{"./isFunction":"dRuq","./isLength":"GmNU"}],"FwQQ":[function(require,module,exports) { -var e=require("./isArrayLike"),r=require("./isObjectLike");function i(i){return r(i)&&e(i)}module.exports=i; -},{"./isArrayLike":"LN6c","./isObjectLike":"OuyB"}],"PYZb":[function(require,module,exports) { -function e(){return!1}module.exports=e; -},{}],"iyC2":[function(require,module,exports) { - -var e=require("./_root"),o=require("./stubFalse"),r="object"==typeof exports&&exports&&!exports.nodeType&&exports,t=r&&"object"==typeof module&&module&&!module.nodeType&&module,p=t&&t.exports===r,u=p?e.Buffer:void 0,d=u?u.isBuffer:void 0,s=d||o;module.exports=s; -},{"./_root":"MIhM","./stubFalse":"PYZb"}],"ES04":[function(require,module,exports) { -var t=require("./_baseGetTag"),e=require("./_getPrototype"),r=require("./isObjectLike"),o="[object Object]",c=Function.prototype,n=Object.prototype,u=c.toString,i=n.hasOwnProperty,a=u.call(Object);function l(c){if(!r(c)||t(c)!=o)return!1;var n=e(c);if(null===n)return!0;var l=i.call(n,"constructor")&&n.constructor;return"function"==typeof l&&l instanceof l&&u.call(l)==a}module.exports=l; -},{"./_baseGetTag":"e5TX","./_getPrototype":"CXf5","./isObjectLike":"OuyB"}],"2L2L":[function(require,module,exports) { -var e=require("./_baseGetTag"),t=require("./isLength"),r=require("./isObjectLike"),o="[object Arguments]",b="[object Array]",c="[object Boolean]",j="[object Date]",a="[object Error]",n="[object Function]",i="[object Map]",A="[object Number]",y="[object Object]",u="[object RegExp]",g="[object Set]",l="[object String]",p="[object WeakMap]",s="[object ArrayBuffer]",m="[object DataView]",U="[object Float32Array]",f="[object Float64Array]",q="[object Int8Array]",F="[object Int16Array]",I="[object Int32Array]",d="[object Uint8Array]",h="[object Uint8ClampedArray]",k="[object Uint16Array]",x="[object Uint32Array]",B={};function D(o){return r(o)&&t(o.length)&&!!B[e(o)]}B[U]=B[f]=B[q]=B[F]=B[I]=B[d]=B[h]=B[k]=B[x]=!0,B[o]=B[b]=B[s]=B[c]=B[m]=B[j]=B[a]=B[n]=B[i]=B[A]=B[y]=B[u]=B[g]=B[l]=B[p]=!1,module.exports=D; -},{"./_baseGetTag":"e5TX","./isLength":"GmNU","./isObjectLike":"OuyB"}],"PnXa":[function(require,module,exports) { -function n(n){return function(r){return n(r)}}module.exports=n; -},{}],"PBPf":[function(require,module,exports) { -var e=require("./_freeGlobal"),o="object"==typeof exports&&exports&&!exports.nodeType&&exports,r=o&&"object"==typeof module&&module&&!module.nodeType&&module,t=r&&r.exports===o,p=t&&e.process,u=function(){try{var e=r&&r.require&&r.require("util").types;return e||p&&p.binding&&p.binding("util")}catch(o){}}();module.exports=u; -},{"./_freeGlobal":"j3D9"}],"kwIb":[function(require,module,exports) { -var e=require("./_baseIsTypedArray"),r=require("./_baseUnary"),a=require("./_nodeUtil"),i=a&&a.isTypedArray,s=i?r(i):e;module.exports=s; -},{"./_baseIsTypedArray":"2L2L","./_baseUnary":"PnXa","./_nodeUtil":"PBPf"}],"vW3g":[function(require,module,exports) { -function o(o,r){if("__proto__"!=r)return o[r]}module.exports=o; -},{}],"p/s9":[function(require,module,exports) { -var e=require("./_baseAssignValue"),r=require("./eq"),o=Object.prototype,a=o.hasOwnProperty;function i(o,i,t){var n=o[i];a.call(o,i)&&r(n,t)&&(void 0!==t||i in o)||e(o,i,t)}module.exports=i; -},{"./_baseAssignValue":"d05+","./eq":"LIpy"}],"dtkN":[function(require,module,exports) { -var r=require("./_assignValue"),e=require("./_baseAssignValue");function a(a,i,u,n){var o=!u;u||(u={});for(var s=-1,v=i.length;++s-1&&t%1==0&&t0){if(++o>=r)return arguments[0]}else o=0;return t.apply(void 0,arguments)}}module.exports=t; -},{}],"KRxT":[function(require,module,exports) { -var e=require("./_baseSetToString"),r=require("./_shortOut"),t=r(e);module.exports=t; -},{"./_baseSetToString":"UJWv","./_shortOut":"2NNl"}],"f4Fl":[function(require,module,exports) { -var e=require("./identity"),r=require("./_overRest"),t=require("./_setToString");function i(i,u){return t(r(i,u,e),i+"")}module.exports=i; -},{"./identity":"Jpv1","./_overRest":"qXFa","./_setToString":"KRxT"}],"R62e":[function(require,module,exports) { -var e=require("./eq"),r=require("./isArrayLike"),i=require("./_isIndex"),n=require("./isObject");function u(u,t,q){if(!n(q))return!1;var s=typeof t;return!!("number"==s?r(q)&&i(t,q.length):"string"==s&&t in q)&&e(q[t],u)}module.exports=u; -},{"./eq":"LIpy","./isArrayLike":"LN6c","./_isIndex":"A+gr","./isObject":"u9vI"}],"gmQJ":[function(require,module,exports) { -var e=require("./_baseRest"),r=require("./_isIterateeCall");function t(t){return e(function(e,o){var i=-1,n=o.length,u=n>1?o[n-1]:void 0,v=n>2?o[2]:void 0;for(u=t.length>3&&"function"==typeof u?(n--,u):void 0,v&&r(o[0],o[1],v)&&(u=n<3?void 0:u,n=1),e=Object(e);++i=0){var t=JSON.parse(e.split("=")[1]);if(void 0===t.version)return o();if(t.version!==window.CookieConsent.config.cookieVersion)return o();for(var n in t.categories)if(void 0===window.CookieConsent.config.categories[n])return o();for(var i in t.services.forEach(function(e){if(void 0===window.CookieConsent.config.services[e])return o()}),t.categories)window.CookieConsent.config.categories[i].checked=window.CookieConsent.config.categories[i].wanted=!0===t.categories[i].wanted;return window.CookieConsent.config.cookieExists=!0,!0}}),!1}}]),t}();exports.default=a; -},{"./Utilities":"/6wJ","lodash/merge":"yubd"}],"xR4A":[function(require,module,exports) { +},{"redom":"GuEK","./Language":"4LWe","./Utilities":"/6wJ"}],"duLQ":[function(require,module,exports) { +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=o(require("./Utilities"));function o(e){return e&&e.__esModule?e:{default:e}}function t(e){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function n(e){for(var o=1;o=0){var t=JSON.parse(e.split("=")[1]);if(void 0===t.version)return o();if(t.version!==window.CookieConsent.config.cookieVersion)return o();for(var n in t.categories)if(void 0===window.CookieConsent.config.categories[n])return o();for(var i in t.services.forEach(function(e){if(void 0===window.CookieConsent.config.services[e])return o()}),t.categories)window.CookieConsent.config.categories[i].checked=window.CookieConsent.config.categories[i].wanted=!0===t.categories[i].wanted;return window.CookieConsent.config.cookieExists=!0,!0}}),!1}},{key:"isObject",value:function(e){return e&&"object"===t(e)&&!Array.isArray(e)}},{key:"mergeDeep",value:function(e){for(var o=arguments.length,t=new Array(o>1?o-1:0),n=1;n-1&&this.removeCookie(i.services[n].cookies[t]);else if("RegExp"===r){var a=i.services[n].cookies[t];for(var c in o)o[c].match(a.name)&&this.removeCookie({name:o[c],domain:"String"===e.default.objectType(a.domain)?a.domain:null})}}}},{key:"removeCookie",value:function(o){var i="String"===e.default.objectType(o.domain)?"domain=".concat(o.domain,";"):"";document.cookie="".concat(o.name,"=; expires=Thu, 01 Jan 1980 00:00:00 UTC; ").concat(i," path=/;")}}]),o}();exports.default=r; },{"./Utilities":"/6wJ"}],"ylk/":[function(require,module,exports) { "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=o(require("./InsertScriptFilter")),r=o(require("./ScriptTagFilter")),t=o(require("./WrapperFilter")),n=o(require("./LocalCookieFilter")),i=o(require("./Interface")),u=o(require("./Configuration")),a=o(require("./RemoveCookies"));function o(e){return e&&e.__esModule?e:{default:e}}function l(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}function f(e,r){for(var t=0;t 0 ? floor : ceil)(it);\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","exports.f = {}.propertyIsEnumerable;\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof');\nvar test = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif (test + '' != '[object z]') {\n require('./_redefine')(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n","require('../modules/es6.symbol');\nrequire('../modules/es6.object.to-string');\nmodule.exports = require('../modules/_core').Symbol;\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","module.exports = {};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var $iterators = require('./es6.array.iterator');\nvar getKeys = require('./_object-keys');\nvar redefine = require('./_redefine');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar wks = require('./_wks');\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n CSSRuleList: true, // TODO: Not spec compliant, should be false.\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true, // TODO: Not spec compliant, should be false.\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true, // TODO: Not spec compliant, should be false.\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n}\n","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n","export default class Utilities {\r\n\r\n static ready(fn) {\r\n if (document.attachEvent ? document.readyState === \"complete\" : document.readyState !== \"loading\"){\r\n fn();\r\n } else {\r\n document.addEventListener('DOMContentLoaded', fn);\r\n }\r\n }\r\n \r\n static objectType(obj){\r\n return Object.prototype.toString.call(obj).slice(8, -1);\r\n }\r\n\r\n static lightenDarkenColor(col, amt) {\r\n\r\n var usePound = false;\r\n \r\n if (col[0] == \"#\") {\r\n col = col.slice(1);\r\n usePound = true;\r\n }\r\n \r\n var num = parseInt(col, 16);\r\n \r\n var r = (num >> 16) + amt;\r\n \r\n if (r > 255) {\r\n r = 255;\r\n } else if (r < 0) {\r\n r = 0;\r\n }\r\n \r\n var b = ((num >> 8) & 0x00FF) + amt;\r\n \r\n if (b > 255) {\r\n b = 255;\r\n } else if (b < 0) {\r\n b = 0;\r\n }\r\n \r\n var g = (num & 0x0000FF) + amt;\r\n \r\n if (g > 255) {\r\n g = 255;\r\n } else if (g < 0) {\r\n g = 0;\r\n }\r\n \r\n return (usePound ? \"#\" : \"\") + (g | (b << 8) | (r << 16)).toString(16);\r\n \r\n }\r\n\r\n static removeCookie() {\r\n document.cookie = `cconsent=; expires=Thu, 01 Jan 1980 00:00:00 UTC; path=/;`;\r\n }\r\n\r\n // Create an array of services from Cookieconsent global object\r\n // Filter based on category or leave empty is all is wanted\r\n static listGlobalServices(category) {\r\n let categories = [];\r\n\r\n // Global config objectnot set\r\n if (typeof window.CookieConsent === 'undefined') return categories;\r\n\r\n // Category is not specified or opposite\r\n if (typeof category === 'undefined') {\r\n for (let key in window.CookieConsent.config.services) {\r\n categories.push(key);\r\n }\r\n } else {\r\n for (let key in window.CookieConsent.config.services) {\r\n if (window.CookieConsent.config.services[key].category === category) categories.push(key);\r\n }\r\n }\r\n\r\n return categories;\r\n }\r\n\r\n static dispatchEvent(elem, event) {\r\n var event;\r\n\r\n if (typeof(Event) === 'function') {\r\n event = new Event(event);\r\n } else {\r\n event = document.createEvent('Event');\r\n event.initEvent(event, true, true);\r\n }\r\n \r\n elem.dispatchEvent(event);\r\n }\r\n\r\n}\r\n","import Utilities from \"./Utilities\";\r\n\r\nexport default class Filter {\r\n\r\n createBlacklist(type) {\r\n var services = {};\r\n for(var service in window.CookieConsent.config.services) {\r\n if (window.CookieConsent.config.services[service].type === type) {\r\n if(window.CookieConsent.config.categories[window.CookieConsent.config.services[service].category].needed === false) {\r\n if (window.CookieConsent.config.categories[window.CookieConsent.config.services[service].category].wanted === false) {\r\n services[service] = window.CookieConsent.config.services[service];\r\n }\r\n }\r\n }\r\n }\r\n\r\n var blacklist = [];\r\n\r\n for(var service in services) {\r\n var type = Utilities.objectType(services[service].search);\r\n if (type === 'String') {\r\n blacklist.push(services[service].search);\r\n } else if(type === 'Array') {\r\n for (let i = 0; i < services[service].search.length; i++) {\r\n blacklist.push(services[service].search[i]);\r\n }\r\n }\r\n }\r\n\r\n return blacklist;\r\n }\r\n\r\n}","import Filter from './Filter';\r\n\r\nexport default class InsertScriptFilter extends Filter {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n init() {\r\n this.overrideAppendChild();\r\n this.overrideInsertBefore();\r\n }\r\n\r\n overrideAppendChild() {\r\n\r\n Element.prototype.appendChild = function(elem) {\r\n if(arguments[0].tagName === 'SCRIPT') {\r\n //console.log('Appending:', arguments);\r\n for (let key in window.CookieConsent.config.services) {\r\n // Did user opt-in?\r\n if(window.CookieConsent.config.services[key].type === 'dynamic-script') {\r\n if(arguments[0].outerHTML.indexOf(window.CookieConsent.config.services[key].search) >= 0) {\r\n if(window.CookieConsent.config.categories[window.CookieConsent.config.services[key].category].wanted === false) {\r\n window.CookieConsent.buffer.appendChild.push({'this': this, 'category': window.CookieConsent.config.services[key].category, arguments: arguments});\r\n return undefined;\r\n }\r\n }\r\n }\r\n }\r\n } \r\n \r\n return Node.prototype.appendChild.apply(this, arguments);\r\n }\r\n\r\n }\r\n\r\n overrideInsertBefore() {\r\n\r\n Element.prototype.insertBefore = function(elem) {\r\n \r\n if(arguments[0].tagName === 'SCRIPT') {\r\n //console.log('Inserting:', arguments);\r\n for (let key in window.CookieConsent.config.services) {\r\n // Did user opt-in?\r\n if(window.CookieConsent.config.services[key].type === 'dynamic-script') {\r\n if(arguments[0].outerHTML.indexOf(window.CookieConsent.config.services[key].search) >= 0) {\r\n if(window.CookieConsent.config.categories[window.CookieConsent.config.services[key].category].wanted === false) {\r\n window.CookieConsent.buffer.insertBefore.push({'this': this, 'category': window.CookieConsent.config.services[key].category, arguments: arguments});\r\n return undefined;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n \r\n return Node.prototype.insertBefore.apply(this, arguments);\r\n }\r\n }\r\n\r\n}","import Utilities from \"./Utilities\";\r\nimport Filter from './Filter';\r\n\r\nexport default class ScriptTagFilter extends Filter {\r\n \r\n constructor() {\r\n super();\r\n }\r\n\r\n init() {\r\n this.filterTags();\r\n }\r\n\r\n filterTags() {\r\n Utilities.ready(() => {\r\n var blacklist = super.createBlacklist('script-tag');\r\n var scriptTags = document.querySelectorAll('script[type=\"text/plain\"]');\r\n \r\n for (var scriptTag of scriptTags) {\r\n if (blacklist.indexOf(scriptTag.dataset.consent) < 0) {\r\n var newtag = document.createElement('script');\r\n var parentNode = scriptTag.parentNode;\r\n \r\n scriptTag.type = 'text/javascript';\r\n\r\n for(var attribute of scriptTag.attributes) {\r\n newtag.setAttribute(attribute.nodeName, attribute.nodeValue);\r\n }\r\n\r\n newtag.innerHTML = scriptTag.innerHTML;\r\n parentNode.insertBefore(newtag,scriptTag);\r\n parentNode.removeChild(scriptTag);\r\n }\r\n }\r\n });\r\n }\r\n}","import Filter from './Filter';\r\n\r\nexport default class WrapperFilter extends Filter {\r\n \r\n constructor() {\r\n super();\r\n }\r\n\r\n init() {\r\n this.filterWrappers();\r\n }\r\n\r\n filterWrappers() {\r\n var blacklist = super.createBlacklist('wrapped');\r\n\r\n function wrapper(name='', callback) {\r\n if (blacklist.indexOf(name) < 0) {\r\n callback();\r\n }\r\n }\r\n\r\n window.CookieConsent.wrapper = wrapper;\r\n }\r\n}","import Filter from './Filter';\r\n\r\nexport default class LocalCookieFilter extends Filter {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n init() {\r\n this.filterlocalCookies();\r\n }\r\n\r\n getCookieDescriptor() {\r\n var cookieDescriptor;\r\n\r\n cookieDescriptor = Object.getOwnPropertyDescriptor(document, 'cookie') ||\r\n Object.getOwnPropertyDescriptor(HTMLDocument.prototype, 'cookie');\r\n\r\n if (! cookieDescriptor) {\r\n\r\n cookieDescriptor = {};\r\n cookieDescriptor.get = HTMLDocument.prototype.__lookupGetter__(\"cookie\");\r\n cookieDescriptor.set = HTMLDocument.prototype.__lookupSetter__(\"cookie\");\r\n\r\n }\r\n\r\n return cookieDescriptor;\r\n }\r\n\r\n filterlocalCookies() {\r\n\r\n // TODO - implement buffer\r\n var blacklist = super.createBlacklist('localcookie');\r\n var cookieDescriptor = this.getCookieDescriptor();\r\n\r\n Object.defineProperty(document, \"cookie\", {\r\n configurable: true,\r\n get: function () {\r\n return cookieDescriptor.get.apply(document);\r\n },\r\n set: function () {\r\n var cookieArguments = arguments;\r\n\r\n if(blacklist.length) {\r\n var cookieName = arguments[0].split('=')[0];\r\n Array.prototype.forEach.call(blacklist, function(blacklistItem){\r\n if (cookieName.indexOf(blacklistItem) < 0) cookieDescriptor.set.apply(document, cookieArguments);\r\n });\r\n } else {\r\n cookieDescriptor.set.apply(document, cookieArguments);\r\n }\r\n }\r\n });\r\n }\r\n}","var HASH = '#'.charCodeAt(0);\nvar DOT = '.'.charCodeAt(0);\n\nvar TAG_NAME = 0;\nvar ID = 1;\nvar CLASS_NAME = 2;\n\nvar parseQuery = function (query) {\n var tag = null;\n var id = null;\n var className = null;\n var mode = TAG_NAME;\n var offset = 0;\n\n for (var i = 0; i <= query.length; i++) {\n var char = query.charCodeAt(i);\n var isHash = char === HASH;\n var isDot = char === DOT;\n var isEnd = !char;\n\n if (isHash || isDot || isEnd) {\n if (mode === TAG_NAME) {\n if (i === 0) {\n tag = 'div';\n } else {\n tag = query.substring(offset, i);\n }\n } else if (mode === ID) {\n id = query.substring(offset, i);\n } else {\n if (className) {\n className += ' ' + query.substring(offset, i);\n } else {\n className = query.substring(offset, i);\n }\n }\n\n if (isHash) {\n mode = ID;\n } else if (isDot) {\n mode = CLASS_NAME;\n }\n\n offset = i + 1;\n }\n }\n\n return { tag: tag, id: id, className: className };\n};\n\nvar createElement = function (query, ns) {\n var ref = parseQuery(query);\n var tag = ref.tag;\n var id = ref.id;\n var className = ref.className;\n var element = ns ? document.createElementNS(ns, tag) : document.createElement(tag);\n\n if (id) {\n element.id = id;\n }\n\n if (className) {\n if (ns) {\n element.setAttribute('class', className);\n } else {\n element.className = className;\n }\n }\n\n return element;\n};\n\nvar unmount = function (parent, child) {\n var parentEl = getEl(parent);\n var childEl = getEl(child);\n\n if (child === childEl && childEl.__redom_view) {\n // try to look up the view if not provided\n child = childEl.__redom_view;\n }\n\n if (childEl.parentNode) {\n doUnmount(child, childEl, parentEl);\n\n parentEl.removeChild(childEl);\n }\n\n return child;\n};\n\nvar doUnmount = function (child, childEl, parentEl) {\n var hooks = childEl.__redom_lifecycle;\n\n if (hooksAreEmpty(hooks)) {\n childEl.__redom_mounted = false;\n return;\n }\n\n var traverse = parentEl;\n\n if (childEl.__redom_mounted) {\n trigger(childEl, 'onunmount');\n }\n\n while (traverse) {\n var parentHooks = traverse.__redom_lifecycle || {};\n\n for (var hook in hooks) {\n if (parentHooks[hook]) {\n parentHooks[hook] -= hooks[hook];\n }\n }\n\n if (hooksAreEmpty(parentHooks)) {\n traverse.__redom_lifecycle = null;\n }\n\n traverse = traverse.parentNode;\n }\n};\n\nvar hooksAreEmpty = function (hooks) {\n if (hooks == null) {\n return true;\n }\n for (var key in hooks) {\n if (hooks[key]) {\n return false;\n }\n }\n return true;\n};\n\nvar hookNames = ['onmount', 'onremount', 'onunmount'];\nvar shadowRootAvailable = typeof window !== 'undefined' && 'ShadowRoot' in window;\n\nvar mount = function (parent, child, before, replace) {\n var parentEl = getEl(parent);\n var childEl = getEl(child);\n\n if (child === childEl && childEl.__redom_view) {\n // try to look up the view if not provided\n child = childEl.__redom_view;\n }\n\n if (child !== childEl) {\n childEl.__redom_view = child;\n }\n\n var wasMounted = childEl.__redom_mounted;\n var oldParent = childEl.parentNode;\n\n if (wasMounted && (oldParent !== parentEl)) {\n doUnmount(child, childEl, oldParent);\n }\n\n if (before != null) {\n if (replace) {\n parentEl.replaceChild(childEl, getEl(before));\n } else {\n parentEl.insertBefore(childEl, getEl(before));\n }\n } else {\n parentEl.appendChild(childEl);\n }\n\n doMount(child, childEl, parentEl, oldParent);\n\n return child;\n};\n\nvar doMount = function (child, childEl, parentEl, oldParent) {\n var hooks = childEl.__redom_lifecycle || (childEl.__redom_lifecycle = {});\n var remount = (parentEl === oldParent);\n var hooksFound = false;\n\n for (var i = 0, list = hookNames; i < list.length; i += 1) {\n var hookName = list[i];\n\n if (!remount) { // if already mounted, skip this phase\n if (child !== childEl) { // only Views can have lifecycle events\n if (hookName in child) {\n hooks[hookName] = (hooks[hookName] || 0) + 1;\n }\n }\n }\n if (hooks[hookName]) {\n hooksFound = true;\n }\n }\n\n if (!hooksFound) {\n childEl.__redom_mounted = true;\n return;\n }\n\n var traverse = parentEl;\n var triggered = false;\n\n if (remount || (traverse && traverse.__redom_mounted)) {\n trigger(childEl, remount ? 'onremount' : 'onmount');\n triggered = true;\n }\n\n while (traverse) {\n var parent = traverse.parentNode;\n var parentHooks = traverse.__redom_lifecycle || (traverse.__redom_lifecycle = {});\n\n for (var hook in hooks) {\n parentHooks[hook] = (parentHooks[hook] || 0) + hooks[hook];\n }\n\n if (triggered) {\n break;\n } else {\n if (traverse === document ||\n (shadowRootAvailable && (traverse instanceof window.ShadowRoot)) ||\n (parent && parent.__redom_mounted)\n ) {\n trigger(traverse, remount ? 'onremount' : 'onmount');\n triggered = true;\n }\n traverse = parent;\n }\n }\n};\n\nvar trigger = function (el, eventName) {\n if (eventName === 'onmount' || eventName === 'onremount') {\n el.__redom_mounted = true;\n } else if (eventName === 'onunmount') {\n el.__redom_mounted = false;\n }\n\n var hooks = el.__redom_lifecycle;\n\n if (!hooks) {\n return;\n }\n\n var view = el.__redom_view;\n var hookCount = 0;\n\n view && view[eventName] && view[eventName]();\n\n for (var hook in hooks) {\n if (hook) {\n hookCount++;\n }\n }\n\n if (hookCount) {\n var traverse = el.firstChild;\n\n while (traverse) {\n var next = traverse.nextSibling;\n\n trigger(traverse, eventName);\n\n traverse = next;\n }\n }\n};\n\nvar setStyle = function (view, arg1, arg2) {\n var el = getEl(view);\n\n if (arg2 !== undefined) {\n el.style[arg1] = arg2;\n } else if (typeof arg1 === 'string') {\n el.setAttribute('style', arg1);\n } else {\n for (var key in arg1) {\n setStyle(el, key, arg1[key]);\n }\n }\n};\n\n/* global SVGElement */\n\nvar xlinkns = 'http://www.w3.org/1999/xlink';\n\nvar setAttr = function (view, arg1, arg2) {\n var el = getEl(view);\n var isSVG = el instanceof SVGElement;\n\n var isFunc = typeof arg2 === 'function';\n\n if (arg2 !== undefined) {\n if (arg1 === 'style') {\n setStyle(el, arg2);\n } else if (isSVG && isFunc) {\n el[arg1] = arg2;\n } else if (arg1 === 'dataset') {\n setData(el, arg2);\n } else if (!isSVG && (arg1 in el || isFunc)) {\n el[arg1] = arg2;\n } else {\n if (isSVG && (arg1 === 'xlink')) {\n setXlink(el, arg2);\n return;\n }\n el.setAttribute(arg1, arg2);\n }\n } else {\n for (var key in arg1) {\n setAttr(el, key, arg1[key]);\n }\n }\n};\n\nfunction setXlink (el, obj) {\n for (var key in obj) {\n el.setAttributeNS(xlinkns, key, obj[key]);\n }\n}\n\nfunction setData (el, obj) {\n for (var key in obj) {\n el.dataset[key] = obj[key];\n }\n}\n\nvar text = function (str) { return document.createTextNode((str != null) ? str : ''); };\n\nvar parseArguments = function (element, args) {\n for (var i = 0, list = args; i < list.length; i += 1) {\n var arg = list[i];\n\n if (arg !== 0 && !arg) {\n continue;\n }\n\n var type = typeof arg;\n\n // support middleware\n if (type === 'function') {\n arg(element);\n } else if (type === 'string' || type === 'number') {\n element.appendChild(text(arg));\n } else if (isNode(getEl(arg))) {\n mount(element, arg);\n } else if (arg.length) {\n parseArguments(element, arg);\n } else if (type === 'object') {\n setAttr(element, arg);\n }\n }\n};\n\nvar ensureEl = function (parent) { return typeof parent === 'string' ? html(parent) : getEl(parent); };\nvar getEl = function (parent) { return (parent.nodeType && parent) || (!parent.el && parent) || getEl(parent.el); };\nvar isNode = function (a) { return a && a.nodeType; };\n\nvar htmlCache = {};\n\nvar memoizeHTML = function (query) { return htmlCache[query] || (htmlCache[query] = createElement(query)); };\n\nvar html = function (query) {\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n var element;\n\n var type = typeof query;\n\n if (type === 'string') {\n element = memoizeHTML(query).cloneNode(false);\n } else if (isNode(query)) {\n element = query.cloneNode(false);\n } else if (type === 'function') {\n var Query = query;\n element = new (Function.prototype.bind.apply( Query, [ null ].concat( args) ));\n } else {\n throw new Error('At least one argument required');\n }\n\n parseArguments(getEl(element), args);\n\n return element;\n};\n\nhtml.extend = function (query) {\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n var clone = memoizeHTML(query);\n\n return html.bind.apply(html, [ this, clone ].concat( args ));\n};\n\nvar el = html;\nvar h = html;\n\nvar setChildren = function (parent) {\n var children = [], len = arguments.length - 1;\n while ( len-- > 0 ) children[ len ] = arguments[ len + 1 ];\n\n var parentEl = getEl(parent);\n var current = traverse(parent, children, parentEl.firstChild);\n\n while (current) {\n var next = current.nextSibling;\n\n unmount(parent, current);\n\n current = next;\n }\n};\n\nfunction traverse (parent, children, _current) {\n var current = _current;\n\n var childEls = new Array(children.length);\n\n for (var i = 0; i < children.length; i++) {\n childEls[i] = children[i] && getEl(children[i]);\n }\n\n for (var i$1 = 0; i$1 < children.length; i$1++) {\n var child = children[i$1];\n\n if (!child) {\n continue;\n }\n\n var childEl = childEls[i$1];\n\n if (childEl === current) {\n current = current.nextSibling;\n continue;\n }\n\n if (isNode(childEl)) {\n var next = current && current.nextSibling;\n var exists = child.__redom_index != null;\n var replace = exists && next === childEls[i$1 + 1];\n\n mount(parent, child, current, replace);\n\n if (replace) {\n current = next;\n }\n\n continue;\n }\n\n if (child.length != null) {\n current = traverse(parent, child, current);\n }\n }\n\n return current;\n}\n\nvar propKey = function (key) { return function (item) { return item[key]; }; };\n\nvar listPool = function (View, key, initData) {\n return new ListPool(View, key, initData);\n};\n\nvar ListPool = function ListPool (View, key, initData) {\n this.View = View;\n this.initData = initData;\n this.oldLookup = {};\n this.lookup = {};\n this.oldViews = [];\n this.views = [];\n\n if (key != null) {\n this.key = typeof key === 'function' ? key : propKey(key);\n }\n};\nListPool.prototype.update = function update (data, context) {\n var ref = this;\n var View = ref.View;\n var key = ref.key;\n var initData = ref.initData;\n var keySet = key != null;\n\n var oldLookup = this.lookup;\n var newLookup = {};\n\n var newViews = new Array(data.length);\n var oldViews = this.views;\n\n for (var i = 0; i < data.length; i++) {\n var item = data[i];\n var view = (void 0);\n\n if (keySet) {\n var id = key(item);\n\n view = oldLookup[id] || new View(initData, item, i, data);\n newLookup[id] = view;\n view.__redom_id = id;\n } else {\n view = oldViews[i] || new View(initData, item, i, data);\n }\n view.update && view.update(item, i, data, context);\n\n var el = getEl(view.el);\n\n el.__redom_view = view;\n newViews[i] = view;\n }\n\n this.oldViews = oldViews;\n this.views = newViews;\n\n this.oldLookup = oldLookup;\n this.lookup = newLookup;\n};\n\nvar list = function (parent, View, key, initData) {\n return new List(parent, View, key, initData);\n};\n\nvar List = function List (parent, View, key, initData) {\n this.__redom_list = true;\n this.View = View;\n this.initData = initData;\n this.views = [];\n this.pool = new ListPool(View, key, initData);\n this.el = ensureEl(parent);\n this.keySet = key != null;\n};\nList.prototype.update = function update (data, context) {\n if ( data === void 0 ) data = [];\n\n var ref = this;\n var keySet = ref.keySet;\n var oldViews = this.views;\n\n this.pool.update(data, context);\n\n var ref$1 = this.pool;\n var views = ref$1.views;\n var lookup = ref$1.lookup;\n\n if (keySet) {\n for (var i = 0; i < oldViews.length; i++) {\n var oldView = oldViews[i];\n var id = oldView.__redom_id;\n\n if (lookup[id] == null) {\n oldView.__redom_index = null;\n unmount(this, oldView);\n }\n }\n }\n\n for (var i$1 = 0; i$1 < views.length; i$1++) {\n var view = views[i$1];\n\n view.__redom_index = i$1;\n }\n\n setChildren(this, views);\n\n if (keySet) {\n this.lookup = lookup;\n }\n this.views = views;\n};\n\nList.extend = function (parent, View, key, initData) {\n return List.bind(List, parent, View, key, initData);\n};\n\nlist.extend = List.extend;\n\n/* global Node */\n\nvar place = function (View, initData) {\n return new Place(View, initData);\n};\n\nvar Place = function Place (View, initData) {\n this.el = text('');\n this.visible = false;\n this.view = null;\n this._placeholder = this.el;\n\n if (View instanceof Node) {\n this._el = View;\n } else {\n this._View = View;\n }\n\n this._initData = initData;\n};\nPlace.prototype.update = function update (visible, data) {\n var placeholder = this._placeholder;\n var parentNode = this.el.parentNode;\n\n if (visible) {\n if (!this.visible) {\n if (this._el) {\n mount(parentNode, this._el, placeholder);\n unmount(parentNode, placeholder);\n\n this.el = this._el;\n this.visible = visible;\n\n return;\n }\n var View = this._View;\n var view = new View(this._initData);\n\n this.el = getEl(view);\n this.view = view;\n\n mount(parentNode, view, placeholder);\n unmount(parentNode, placeholder);\n }\n this.view && this.view.update && this.view.update(data);\n } else {\n if (this.visible) {\n if (this._el) {\n mount(parentNode, placeholder, this._el);\n unmount(parentNode, this._el);\n\n this.el = placeholder;\n this.visible = visible;\n\n return;\n }\n mount(parentNode, placeholder, this.view);\n unmount(parentNode, this.view);\n\n this.el = placeholder;\n this.view = null;\n }\n }\n this.visible = visible;\n};\n\nvar router = function (parent, Views, initData) {\n return new Router(parent, Views, initData);\n};\n\nvar Router = function Router (parent, Views, initData) {\n this.el = ensureEl(parent);\n this.Views = Views;\n this.initData = initData;\n};\nRouter.prototype.update = function update (route, data) {\n if (route !== this.route) {\n var Views = this.Views;\n var View = Views[route];\n\n this.route = route;\n this.view = View && new View(this.initData, data);\n\n setChildren(this.el, [ this.view ]);\n }\n this.view && this.view.update && this.view.update(data, route);\n};\n\nvar ns = 'http://www.w3.org/2000/svg';\n\nvar svgCache = {};\n\nvar memoizeSVG = function (query) { return svgCache[query] || (svgCache[query] = createElement(query, ns)); };\n\nvar svg = function (query) {\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n var element;\n\n var type = typeof query;\n\n if (type === 'string') {\n element = memoizeSVG(query).cloneNode(false);\n } else if (isNode(query)) {\n element = query.cloneNode(false);\n } else if (type === 'function') {\n var Query = query;\n element = new (Function.prototype.bind.apply( Query, [ null ].concat( args) ));\n } else {\n throw new Error('At least one argument required');\n }\n\n parseArguments(getEl(element), args);\n\n return element;\n};\n\nsvg.extend = function (query) {\n var clone = memoizeSVG(query);\n\n return svg.bind(this, clone);\n};\n\nsvg.ns = ns;\n\nvar s = svg;\n\nexport { el, h, html, list, List, listPool, ListPool, mount, unmount, place, Place, router, Router, setAttr, setStyle, setChildren, s, svg, text };\n","export default class Language {\r\n\r\n setLocale(locale) {\r\n window.CookieConsent.config.language.current = locale;\r\n }\r\n \r\n static getTranslation(object, locale, key) {\r\n var currentLocale;\r\n\r\n if(!object.hasOwnProperty('language')) return '[Missing language object]';\r\n if(!object.language.hasOwnProperty('locale')) return '[Missing locale object]'\r\n \r\n currentLocale = (object.language.locale.hasOwnProperty(locale)) ? locale : 'en';\r\n\r\n return (object.language.locale[currentLocale].hasOwnProperty(key)) ? object.language.locale[currentLocale][key] : '[Missing translation]';\r\n }\r\n\r\n}","import { el, mount } from 'redom';\r\nimport Language from './Language';\r\nimport Utilities from \"./Utilities\";\r\n\r\nexport default class Interface {\r\n\r\n constructor() {\r\n this.elements = {};\r\n }\r\n\r\n\r\n buildStyle() {\r\n return el('style',\r\n '#cconsent-bar, #cconsent-bar * { box-sizing:border-box }', \r\n '#cconsent-bar { background-color:' + window.CookieConsent.config.theme.barColor + '; color:' + window.CookieConsent.config.theme.barTextColor + '; padding:15px; text-align:right; font-family:sans-serif; font-size:14px; line-height:18px; position:fixed; bottom:0; left:0; width:100%; z-index:9998; transform: translateY(0); transition: transform .6s ease-in-out; transition-delay: .3s;}', \r\n '#cconsent-bar.ccb--hidden {transform: translateY(100%); display:block;}', \r\n '#cconsent-bar .ccb__wrapper { display:flex; flex-wrap:wrap; justify-content:space-between; max-width:1800px; margin:0 auto;}',\r\n '#cconsent-bar .ccb__left { align-self:center; text-align:left; margin: 15px 0;}',\r\n '#cconsent-bar .ccb__right { align-self:center; white-space: nowrap;}',\r\n '#cconsent-bar .ccb__right > div {display:inline-block; color:#FFF;}',\r\n '#cconsent-bar a { text-decoration:underline; color:' + window.CookieConsent.config.theme.barTextColor + '; }',\r\n '#cconsent-bar button { line-height:normal; font-size:14px; border:none; padding:10px 10px; color:' + window.CookieConsent.config.theme.barMainButtonTextColor + '; background-color:' + window.CookieConsent.config.theme.barMainButtonColor + ';}',\r\n '#cconsent-bar a.ccb__edit { margin-right:15px }',\r\n '#cconsent-bar a:hover, #cconsent-bar button:hover { cursor:pointer; }',\r\n '#cconsent-modal { display:none; font-size:14px; line-height:18px; color:#666; width: 100vw; height: 100vh; position:fixed; left:0; top:0; right:0; bottom:0; font-family:sans-serif; font-size:14px; background-color:rgba(0,0,0,0.6); z-index:9999; align-items:center; justify-content:center;}',\r\n '@media (max-width: 600px) { #cconsent-modal { height: 100% } }',\r\n '#cconsent-modal h2, #cconsent-modal h3 {color:#333}',\r\n '#cconsent-modal.ccm--visible {display:flex}',\r\n '#cconsent-modal .ccm__content { max-width:600px; min-height:500px; max-height:600px; overflow-Y:auto; background-color:#EFEFEF; }',\r\n '@media (max-width: 600px) { #cconsent-modal .ccm__content { max-width:100vw; height:100%; max-height:initial; }}',\r\n '#cconsent-modal .ccm__content > .ccm__content__heading { border-bottom:1px solid #D8D8D8; padding:35px 35px 20px; background-color:#EFEFEF; position:relative;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__heading h2 { font-size:21px; font-weight:600; color:#333; margin:0 }',\r\n '#cconsent-modal .ccm__content > .ccm__content__heading .ccm__cheading__close {font-weight:600; color:#888; cursor:pointer; font-size:26px; position: absolute; right:15px; top: 15px;}',\r\n '#cconsent-modal h2, #cconsent-modal h3 {margin-top:0}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body { background-color:#FFF;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup {margin:0; border-bottom: 1px solid #D8D8D8; }',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup .ccm__tab-head::before { position:absolute; left:35px; font-size:1.4em; font-weight: 600; color:#E56385; content:\"×\"; display:inline-block; margin-right: 20px;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.checked-5jhk .ccm__tab-head::before {font-size:1em; content:\"✔\"; color:#28A834}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup .ccm__tab-head .ccm__tab-head__icon-wedge { transition: transform .3s ease-out; transform-origin: 16px 6px 0; position:absolute;right:25px; top:50%; transform:rotate(0deg); transform:translateY(-50%)}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup .ccm__tab-head .ccm__tab-head__icon-wedge > svg { pointer-events: none; }',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.ccm__tabgroup--open .ccm__tab-head .ccm__tab-head__icon-wedge {transform:rotate(-180deg)}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head {color:#333; padding:17px 35px 17px 56px; margin:0}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content {padding:25px 35px; margin:0}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head { transition: background-color .5s ease-out }',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head:hover { background-color:#F9F9F9 }',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head {font-weight:600; cursor:pointer; position:relative;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup .ccm__tab-content {display:none;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.ccm__tabgroup--open .ccm__tab-head { background-color:#F9F9F9 }',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.ccm__tabgroup--open .ccm__tab-content {display:flex;}',\r\n '@media (max-width: 600px) { #cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.ccm__tabgroup--open .ccm__tab-content {flex-direction:column} }',\r\n '@media (max-width: 600px) { #cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left { margin-bottom:20px; } }',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch-component {display:flex; margin-right:35px; align-items:center;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch-component > div {font-weight:600;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch-group {width:40px; height:20px; margin:0 10px; position:relative;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch {position: absolute; top:0; right:0; display: inline-block; width: 40px; height: 20px;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch input {display:none;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch .ccm__switch__slider {position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #ccc; border-radius:10px; -webkit-transition: .4s; transition: .4s;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch .ccm__switch__slider:before {position: absolute; content: \"\"; height: 12px; width: 12px; left: 4px; bottom: 4px; background-color: white; border-radius:50%; -webkit-transition: .4s; transition: .4s;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch input:checked + .ccm__switch__slider {background-color: #28A834;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch input:focus + .ccm__switch__slider {box-shadow: 0 0 1px #28A834;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch input:checked + .ccm__switch__slider:before {-webkit-transform: translateX(20px); -ms-transform: translateX(20px); transform: translateX(20px);}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content h3 {font-size:18px; margin-bottom:10px; line-height:1;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content p {color:#444; margin-bottom:0}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__list:not(:empty) {margin-top:30px;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__list .ccm__list__title {color:#333; font-weight:600;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__list ul { margin:15px 0; padding-left:15px }',\r\n '#cconsent-modal .ccm__footer { padding:35px; background-color:#EFEFEF; text-align:center; display: flex; align-items:center; justify-content:flex-end; }',\r\n '#cconsent-modal .ccm__footer button { line-height:normal; font-size:14px; transition: background-color .5s ease-out; background-color:' + window.CookieConsent.config.theme.modalMainButtonColor + '; color:' + window.CookieConsent.config.theme.modalMainButtonTextColor + '; border:none; padding:13px; min-width:110px; border-radius: 2px; cursor:pointer; }',\r\n '#cconsent-modal .ccm__footer button:hover { background-color:' + Utilities.lightenDarkenColor(window.CookieConsent.config.theme.modalMainButtonColor, -20) + '; }',\r\n '#cconsent-modal .ccm__footer button#ccm__footer__consent-modal-submit { margin-right:10px; }'\r\n );\r\n }\r\n\r\n buildBar() {\r\n return el('div#cconsent-bar.ccb--hidden',\r\n el(`div.ccb__wrapper`,\r\n el('div.ccb__left',\r\n el('div.cc-text', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'barMainText'))\r\n ),\r\n el('div.ccb__right',\r\n el('div.ccb__button',\r\n el('a.ccb__edit', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'barLinkSetting')),\r\n el('button.consent-give', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'barBtnAcceptAll'))\r\n )\r\n )\r\n ),\r\n );\r\n }\r\n\r\n buildModal() {\r\n\r\n // Cookie names list middleware\r\n var listCookies = function(category) {\r\n var list = [];\r\n\r\n for(let service in window.CookieConsent.config.services) {\r\n (window.CookieConsent.config.services[service].category === category) && list.push(window.CookieConsent.config.services[service]);\r\n }\r\n \r\n if(list.length) {\r\n \r\n var listItems = [];\r\n \r\n for(let item in list) {\r\n listItems.push(el('li', Language.getTranslation(list[item], window.CookieConsent.config.language.current, 'name')));\r\n }\r\n\r\n return [el('div.ccm__list', el('span.ccm__list__title', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'modalAffectedSolutions')), el('ul', listItems))];\r\n }\r\n }\r\n \r\n function modalTabGroups() {\r\n\r\n let contentItems = [];\r\n\r\n let i = 0;\r\n for (let key in window.CookieConsent.config.categories) {\r\n\r\n contentItems.push(el('dl.ccm__tabgroup' + '.' + key + ((window.CookieConsent.config.categories[key].checked) ? '.checked-5jhk' : ''), {'data-category':key},\r\n el('dt.ccm__tab-head', Language.getTranslation(window.CookieConsent.config.categories[key], window.CookieConsent.config.language.current, 'name'),\r\n el('a.ccm__tab-head__icon-wedge', \r\n el(document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\"), { version: \"1.2\", preserveAspectRatio: \"none\", viewBox: \"0 0 24 24\", class: \"icon-wedge-svg\", \"data-id\": \"e9b3c566e8c14cfea38af128759b91a3\", style: \"opacity: 1; mix-blend-mode: normal; fill: rgb(51, 51, 51); width: 32px; height: 32px;\"},\r\n el(document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\"), { 'xmlns:default': \"http://www.w3.org/2000/svg\", class: \"icon-wedge-angle-down\", d: \"M17.2,9.84c0-0.09-0.04-0.18-0.1-0.24l-0.52-0.52c-0.13-0.13-0.33-0.14-0.47-0.01c0,0-0.01,0.01-0.01,0.01 l-4.1,4.1l-4.09-4.1C7.78,8.94,7.57,8.94,7.44,9.06c0,0-0.01,0.01-0.01,0.01L6.91,9.6c-0.13,0.13-0.14,0.33-0.01,0.47 c0,0,0.01,0.01,0.01,0.01l4.85,4.85c0.13,0.13,0.33,0.14,0.47,0.01c0,0,0.01-0.01,0.01-0.01l4.85-4.85c0.06-0.06,0.1-0.15,0.1-0.24 l0,0H17.2z\", style: \"fill: rgb(51, 51, 51);\" })\r\n )\r\n ),\r\n ),\r\n el('dd.ccm__tab-content',\r\n el('div.ccm__tab-content__left', \r\n ( ! window.CookieConsent.config.categories[key].needed) && el('div.ccm__switch-component', el('div.status-off', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'off')),\r\n el('div.ccm__switch-group',\r\n el('label.ccm__switch',\r\n el('input.category-onoff', {type:'checkbox', 'data-category': key, 'checked': window.CookieConsent.config.categories[key].checked}),\r\n el('span.ccm__switch__slider')\r\n )\r\n ),\r\n el('div.status-on', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'on')))\r\n ),\r\n el('div.right',\r\n el('h3', Language.getTranslation(window.CookieConsent.config.categories[key], window.CookieConsent.config.language.current, 'name')),\r\n el('p', Language.getTranslation(window.CookieConsent.config.categories[key], window.CookieConsent.config.language.current, 'description')),\r\n el('div.ccm__list',\r\n listCookies(key)\r\n )\r\n )\r\n )\r\n )\r\n );\r\n\r\n i++;\r\n }\r\n\r\n return contentItems;\r\n }\r\n\r\n return el('div#cconsent-modal',\r\n el('div.ccm__content',\r\n el('div.ccm__content__heading',\r\n el('h2', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'modalMainTitle')),\r\n el('p',\r\n Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'modalMainText'),\r\n (window.CookieConsent.config.modalMainTextMoreLink) ? el('a', { href: window.CookieConsent.config.modalMainTextMoreLink, target: '_blank', rel: 'noopener noreferrer' }, Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'learnMore')) : null\r\n ),\r\n el('div.ccm__cheading__close', '×')\r\n ),\r\n el('div.ccm__content__body',\r\n el('div.ccm__tabs',\r\n modalTabGroups()\r\n )\r\n ),\r\n el('div.ccm__footer',\r\n el('button#ccm__footer__consent-modal-submit', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'modalBtnSave')),\r\n el('button.consent-give', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'modalBtnAcceptAll'))\r\n )\r\n )\r\n );\r\n }\r\n\r\n modalRedrawIcons() {\r\n var tabGroups = this.elements['modal'].querySelectorAll('.ccm__tabgroup');\r\n\r\n for(let tabGroup of tabGroups) {\r\n if(window.CookieConsent.config.categories[tabGroup.dataset.category].checked) {\r\n if( ! tabGroup.classList.contains('checked-5jhk')) {\r\n tabGroup.classList.add('checked-5jhk');\r\n tabGroup.querySelector('input.category-onoff').checked = true;\r\n };\r\n } else {\r\n if(tabGroup.classList.contains('checked-5jhk')) tabGroup.classList.remove('checked-5jhk');\r\n tabGroup.querySelector('input.category-onoff').checked = false;\r\n }\r\n }\r\n }\r\n\r\n render(name, elem, callback) {\r\n if (typeof callback === 'undefined') callback = function(){};\r\n if (typeof this.elements[name] !== 'undefined') {\r\n this.elements[name].parentNode.replaceChild(elem, this.elements[name]);\r\n this.elements[name] = elem;\r\n callback(elem);\r\n return elem;\r\n } else {\r\n var insertedElem = mount(document.body, elem);\r\n if (insertedElem) {\r\n this.elements[name] = insertedElem;\r\n }\r\n callback(insertedElem);\r\n return insertedElem;\r\n }\r\n }\r\n\r\n buildInterface(callback) {\r\n\r\n if (typeof callback === 'undefined') callback = function(){};\r\n var that = this;\r\n\r\n Utilities.ready(function() {\r\n\r\n that.render('style', that.buildStyle());\r\n\r\n that.render('bar', that.buildBar(), (bar) => {\r\n\r\n // Show the bar after a while\r\n if ( ! window.CookieConsent.config.cookieExists) {\r\n setTimeout(() => {\r\n bar.classList.remove('ccb--hidden');\r\n }, window.CookieConsent.config.barTimeout);\r\n }\r\n });\r\n\r\n that.render('modal', that.buildModal());\r\n\r\n callback();\r\n });\r\n }\r\n\r\n addEventListeners(elements) {\r\n\r\n // If you click Accept all cookies\r\n var buttonConsentGive = document.querySelectorAll('.consent-give');\r\n\r\n for(let button of buttonConsentGive) {\r\n button.addEventListener('click', () => {\r\n \r\n // We set config to full consent\r\n for(let key in window.CookieConsent.config.categories) {\r\n window.CookieConsent.config.categories[key].wanted =\r\n window.CookieConsent.config.categories[key].checked = true;\r\n }\r\n \r\n this.writeBufferToDOM();\r\n \r\n this.buildCookie((cookie) => {\r\n this.setCookie(cookie);\r\n });\r\n \r\n this.elements['bar'].classList.add('ccb--hidden');\r\n this.elements['modal'].classList.remove('ccm--visible');\r\n\r\n this.modalRedrawIcons();\r\n \r\n });\r\n }\r\n\r\n\r\n // If you click Cookie settings and open modal\r\n Array.prototype.forEach.call(document.getElementsByClassName('ccb__edit'), (edit) => {\r\n edit.addEventListener('click', () => {\r\n this.elements['modal'].classList.add('ccm--visible');\r\n });\r\n });\r\n\r\n // If you click trough the tabs on Cookie settings\r\n // If you click on/off switch\r\n this.elements['modal'].querySelector('.ccm__tabs').addEventListener('click', (event) => {\r\n\r\n // If you click trough the tabs on Cookie settings\r\n if (event.target.classList.contains('ccm__tab-head') || event.target.classList.contains('ccm__tab-head__icon-wedge')) {\r\n\r\n function getDlParent(eventTarget) {\r\n var parent = eventTarget.parentNode;\r\n if(parent.nodeName !== 'DL') {\r\n return getDlParent(parent);\r\n } else {\r\n return parent;\r\n }\r\n }\r\n \r\n var parentDl = getDlParent(event.target);\r\n \r\n if(parentDl.classList.contains('ccm__tabgroup--open')) {\r\n parentDl.classList.remove('ccm__tabgroup--open');\r\n } else {\r\n parentDl.classList.add('ccm__tabgroup--open');\r\n }\r\n }\r\n\r\n // If you click on/off switch\r\n if (event.target.classList.contains('category-onoff')) {\r\n window.CookieConsent.config.categories[event.target.dataset.category].wanted =\r\n window.CookieConsent.config.categories[event.target.dataset.category].checked = (event.target.checked === true) ? true : false;\r\n\r\n var dt = document.querySelector('.ccm__tabgroup.' + event.target.dataset.category);\r\n if(event.target.checked === false && dt.classList.contains('checked-5jhk')) {\r\n dt.classList.remove('checked-5jhk');\r\n } else {\r\n dt.classList.add('checked-5jhk');\r\n }\r\n }\r\n });\r\n\r\n\r\n\r\n // If you click close on open modal\r\n this.elements['modal'].querySelector('.ccm__cheading__close').addEventListener('click', (event) => {\r\n this.elements['modal'].classList.remove('ccm--visible');\r\n });\r\n\r\n // If you click submit on cookie settings\r\n document.getElementById('ccm__footer__consent-modal-submit').addEventListener('click', () => {\r\n\r\n let switchElements = this.elements['modal'].querySelectorAll('.ccm__switch input');\r\n\r\n Array.prototype.forEach.call(switchElements, (switchElement) => {\r\n window.CookieConsent.config.categories[switchElement.dataset.category].wanted = switchElement.checked;\r\n });\r\n\r\n this.buildCookie((cookie) => {\r\n this.setCookie(cookie, () => {\r\n this.elements['modal'].classList.remove('ccm--visible');\r\n this.elements['bar'].classList.add('ccb--hidden');\r\n });\r\n });\r\n\r\n this.writeBufferToDOM();\r\n\r\n });\r\n }\r\n\r\n writeBufferToDOM() {\r\n\r\n for(let action of window.CookieConsent.buffer.appendChild) {\r\n if (window.CookieConsent.config.categories[action.category].wanted === true) {\r\n Node.prototype.appendChild.apply(action.this, action.arguments);\r\n }\r\n }\r\n\r\n for(let action of window.CookieConsent.buffer.insertBefore) {\r\n if (window.CookieConsent.config.categories[action.category].wanted === true) {\r\n action.arguments[1] = (action.arguments[0].parentNode === null) ? action.this.lastChild : action.arguments[1];\r\n Node.prototype.insertBefore.apply(action.this, action.arguments);\r\n }\r\n }\r\n }\r\n\r\n buildCookie(callback) {\r\n let cookie = {\r\n version: window.CookieConsent.config.cookieVersion,\r\n categories: {},\r\n services: []\r\n };\r\n \r\n for(let key in window.CookieConsent.config.categories) {\r\n cookie.categories[key] = {\r\n wanted: window.CookieConsent.config.categories[key].wanted,\r\n };\r\n }\r\n\r\n cookie.services = Utilities.listGlobalServices();\r\n \r\n if (callback) callback(cookie);\r\n return cookie;\r\n }\r\n \r\n setCookie(cookie, callback) {\r\n const expires_in = new Date(Date.now() + 365 * 24 * 60 * 60 * 1000).toUTCString();\r\n\r\n document.cookie = `cconsent=${JSON.stringify(cookie)}; expires=${expires_in}; path=/;`;\r\n if (callback) callback();\r\n }\r\n}\r\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignMergeValue;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","/**\n * Gets the value at `key`, unless `key` is \"__proto__\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nmodule.exports = safeGet;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n","var assignMergeValue = require('./_assignMergeValue'),\n cloneBuffer = require('./_cloneBuffer'),\n cloneTypedArray = require('./_cloneTypedArray'),\n copyArray = require('./_copyArray'),\n initCloneObject = require('./_initCloneObject'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n isBuffer = require('./isBuffer'),\n isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isPlainObject = require('./isPlainObject'),\n isTypedArray = require('./isTypedArray'),\n safeGet = require('./_safeGet'),\n toPlainObject = require('./toPlainObject');\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n","var Stack = require('./_Stack'),\n assignMergeValue = require('./_assignMergeValue'),\n baseFor = require('./_baseFor'),\n baseMergeDeep = require('./_baseMergeDeep'),\n isObject = require('./isObject'),\n keysIn = require('./keysIn'),\n safeGet = require('./_safeGet');\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n if (isObject(srcValue)) {\n stack || (stack = new Stack);\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nmodule.exports = baseMerge;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nmodule.exports = merge;\n","import Utilities from \"./Utilities\";\r\nimport loMerge from 'lodash/merge';\r\n\r\nexport default class Configuration {\r\n \r\n constructor(configObject) {\r\n\r\n window.CookieConsent.buffer = {\r\n appendChild: [],\r\n insertBefore: []\r\n }\r\n\r\n // Wrapper filter function\r\n window.CookieConsent.wrapper = function() {};\r\n\r\n // Settings injector for users\r\n window.CookieConsent.setConfiguration = this.setConfiguration.bind(this);\r\n\r\n window.CookieConsent.config = {\r\n active: true,\r\n cookieExists: false,\r\n cookieVersion: 1,\r\n modalMainTextMoreLink: null,\r\n barTimeout: 1000,\r\n theme: {\r\n barColor: '#2C7CBF',\r\n barTextColor: '#FFF',\r\n barMainButtonColor: '#FFF',\r\n barMainButtonTextColor: '#2C7CBF',\r\n modalMainButtonColor: '#4285F4',\r\n modalMainButtonTextColor: '#FFF',\r\n },\r\n language: {\r\n current: 'en',\r\n locale: {\r\n en: {\r\n barMainText: 'This website uses cookies to ensure you get the best experience on our website.',\r\n barLinkSetting: 'Cookie Settings',\r\n barBtnAcceptAll: 'Accept all cookies',\r\n modalMainTitle: 'Cookie settings',\r\n modalMainText: 'Cookies are small piece of data sent from a website and stored on the user\\'s computer by the user\\'s web browser while the user is browsing. Your browser stores each message in a small file, called cookie. When you request another page from the server, your browser sends the cookie back to the server. Cookies were designed to be a reliable mechanism for websites to remember information or to record the user\\'s browsing activity.',\r\n modalBtnSave: 'Save current settings',\r\n modalBtnAcceptAll: 'Accept all cookies and close',\r\n modalAffectedSolutions: 'Affected solutions:',\r\n learnMore: 'Learn More',\r\n on: 'On',\r\n off: 'Off',\r\n },\r\n hu: {\r\n barMainText: 'Ez a weboldal Sütiket használ a jobb felhasználói élmény érdekében.',\r\n barLinkSetting: 'Süti beállítások',\r\n barBtnAcceptAll: 'Minden süti elfogadása',\r\n modalMainTitle: 'Süti beállítások',\r\n modalMainText: 'A HTTP-süti (általában egyszerűen süti, illetve angolul cookie) egy információcsomag, amelyet a szerver küld a webböngészőnek, majd a böngésző visszaküld a szervernek minden, a szerver felé irányított kérés alkalmával. Amikor egy weboldalt kérünk le a szervertől, akkor a böngésző elküldi a számára elérhető sütiket. A süti-ket úgy tervezték, hogy megbízható mechanizmust biztosítsanak a webhelyek számára az információk megőrzésére vagy a felhasználók böngészési tevékenységének rögzítésére.',\r\n modalBtnSave: 'Beállítások mentése',\r\n modalBtnAcceptAll: 'Minden Süti elfogadása',\r\n modalAffectedSolutions: 'Mire lesz ez hatással:',\r\n learnMore: 'Tudj meg többet',\r\n on: 'Be',\r\n off: 'Ki',\r\n }\r\n }\r\n },\r\n categories: {},\r\n services: {}\r\n }\r\n\r\n this.setConfiguration(configObject);\r\n\r\n }\r\n\r\n setConfiguration(configObject) {\r\n // The user overrides the default config\r\n loMerge(window.CookieConsent.config, configObject);\r\n\r\n // The cookie overrides the default and user config\r\n this.cookieToConfig();\r\n\r\n // We tell the world we did this\r\n Utilities.dispatchEvent(document, 'CCConfigSet');\r\n }\r\n\r\n cookieToConfig() {\r\n\r\n function removeReload() {\r\n Utilities.removeCookie();\r\n location.reload();\r\n return false;\r\n }\r\n\r\n document.cookie.split(';').filter((item) => {\r\n\r\n if (item.indexOf('cconsent') >= 0) {\r\n var cookieData = JSON.parse(item.split('=')[1]);\r\n\r\n // We check cookie version. If older we need to renew cookie.\r\n if (typeof cookieData.version === 'undefined') {\r\n return removeReload();\r\n } else {\r\n if (cookieData.version !== window.CookieConsent.config.cookieVersion) {\r\n return removeReload();\r\n }\r\n }\r\n\r\n // We check if cookie data categories also exist in user config\r\n for (let key in cookieData.categories) {\r\n\r\n // The cookie contains category not present in user config so we invalidate cookie\r\n if(typeof window.CookieConsent.config.categories[key] === 'undefined') {\r\n return removeReload();\r\n }\r\n }\r\n\r\n // We check if cookie data services also exist in user config\r\n cookieData.services.forEach(function(service){\r\n\r\n // The cookie contains service not present in user config so we invalidate cookie\r\n if(typeof window.CookieConsent.config.services[service] === 'undefined') {\r\n return removeReload();\r\n } \r\n });\r\n\r\n // We we integrate cookie data into the global config object\r\n for (let key in cookieData.categories) {\r\n window.CookieConsent.config.categories[key].checked = window.CookieConsent.config.categories[key].wanted = (cookieData.categories[key].wanted === true) ? true : false;\r\n }\r\n\r\n window.CookieConsent.config.cookieExists = true;\r\n return true;\r\n }\r\n });\r\n \r\n return false;\r\n }\r\n\r\n}\r\n","import Utilities from \"./Utilities\";\r\n\r\nexport default class RemoveCookies {\r\n\r\n init() {\r\n this.removeUnwantedCookies();\r\n }\r\n\r\n removeUnwantedCookies() {\r\n let cookieList = [];\r\n let config = window.CookieConsent.config;\r\n\r\n document.cookie.split(';').map(function(a){\r\n cookieList.push(a.split('=')[0].replace(/(^\\s*)|(\\s*&)/, ''));\r\n });\r\n\r\n for(let service in config.services) {\r\n if (Utilities.objectType(config.services[service].cookies) === 'Array') {\r\n // Remove cookies if they are not wanted by user\r\n if (! config.categories[config.services[service].category].wanted) {\r\n for(let i in config.services[service].cookies) {\r\n let type = Utilities.objectType(config.services[service].cookies[i].name);\r\n if (type === 'String') {\r\n if (cookieList.indexOf(config.services[service].cookies[i].name) > -1) {\r\n this.removeCookie(config.services[service].cookies[i]);\r\n }\r\n } else if (type === 'RegExp') {\r\n // Searching cookie list for cookies matching specified RegExp\r\n let cookieDef = config.services[service].cookies[i];\r\n for (let c in cookieList) {\r\n if (cookieList[c].match(cookieDef.name)) {\r\n this.removeCookie({\r\n name: cookieList[c],\r\n domain: Utilities.objectType(cookieDef.domain) === 'String' ? cookieDef.domain : null\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n removeCookie(cookie) {\r\n // Removing cookies from domain and .domain\r\n let domain = Utilities.objectType(cookie.domain) === 'String' ? `domain=${cookie.domain};` : '';\r\n document.cookie = `${cookie.name}=; expires=Thu, 01 Jan 1980 00:00:00 UTC; ${domain} path=/;`;\r\n }\r\n}\r\n","import InsertScriptFilter from './InsertScriptFilter';\r\nimport ScriptTagFilter from './ScriptTagFilter';\r\nimport WrapperFilter from './WrapperFilter';\r\nimport LocalCookieFilter from './LocalCookieFilter';\r\nimport Interface from './Interface';\r\nimport Configuration from './Configuration';\r\nimport RemoveCookies from './RemoveCookies';\r\n\r\nexport default class CookieConsent {\r\n\r\n init(configObject) {\r\n new Configuration(configObject);\r\n\r\n const removeCookies = new RemoveCookies();\r\n const insertScriptFilter = new InsertScriptFilter();\r\n const scriptTagFilter = new ScriptTagFilter();\r\n const wrapperFilter = new WrapperFilter();\r\n const localCookieFilter = new LocalCookieFilter();\r\n\r\n removeCookies.init();\r\n insertScriptFilter.init();\r\n scriptTagFilter.init();\r\n wrapperFilter.init();\r\n localCookieFilter.init();\r\n\r\n const UI = new Interface();\r\n\r\n UI.buildInterface(() => {\r\n UI.addEventListeners();\r\n });\r\n }\r\n\r\n}","import 'core-js/es6/symbol';\r\nimport 'core-js/fn/symbol/iterator';\r\nimport CookieConsent from './lib/CookieConsent';\r\n\r\nconst cookieConsent = new CookieConsent();\r\n\r\nwindow.CookieConsent = window.CookieConsent || {};\r\nwindow.CookieConsent.init = cookieConsent.init;\r\n\r\n"]} \ No newline at end of file +{"version":3,"sources":["../node_modules/core-js/modules/_global.js","../node_modules/core-js/modules/_has.js","../node_modules/core-js/modules/_fails.js","../node_modules/core-js/modules/_descriptors.js","../node_modules/core-js/modules/_core.js","../node_modules/core-js/modules/_is-object.js","../node_modules/core-js/modules/_an-object.js","../node_modules/core-js/modules/_dom-create.js","../node_modules/core-js/modules/_ie8-dom-define.js","../node_modules/core-js/modules/_to-primitive.js","../node_modules/core-js/modules/_object-dp.js","../node_modules/core-js/modules/_property-desc.js","../node_modules/core-js/modules/_hide.js","../node_modules/core-js/modules/_uid.js","../node_modules/core-js/modules/_library.js","../node_modules/core-js/modules/_shared.js","../node_modules/core-js/modules/_function-to-string.js","../node_modules/core-js/modules/_redefine.js","../node_modules/core-js/modules/_a-function.js","../node_modules/core-js/modules/_ctx.js","../node_modules/core-js/modules/_export.js","../node_modules/core-js/modules/_meta.js","../node_modules/core-js/modules/_wks.js","../node_modules/core-js/modules/_set-to-string-tag.js","../node_modules/core-js/modules/_wks-ext.js","../node_modules/core-js/modules/_wks-define.js","../node_modules/core-js/modules/_cof.js","../node_modules/core-js/modules/_iobject.js","../node_modules/core-js/modules/_defined.js","../node_modules/core-js/modules/_to-iobject.js","../node_modules/core-js/modules/_to-integer.js","../node_modules/core-js/modules/_to-length.js","../node_modules/core-js/modules/_to-absolute-index.js","../node_modules/core-js/modules/_array-includes.js","../node_modules/core-js/modules/_shared-key.js","../node_modules/core-js/modules/_object-keys-internal.js","../node_modules/core-js/modules/_enum-bug-keys.js","../node_modules/core-js/modules/_object-keys.js","../node_modules/core-js/modules/_object-gops.js","../node_modules/core-js/modules/_object-pie.js","../node_modules/core-js/modules/_enum-keys.js","../node_modules/core-js/modules/_is-array.js","../node_modules/core-js/modules/_object-dps.js","../node_modules/core-js/modules/_html.js","../node_modules/core-js/modules/_object-create.js","../node_modules/core-js/modules/_object-gopn.js","../node_modules/core-js/modules/_object-gopn-ext.js","../node_modules/core-js/modules/_object-gopd.js","../node_modules/core-js/modules/es6.symbol.js","../node_modules/core-js/modules/_classof.js","../node_modules/core-js/modules/es6.object.to-string.js","../node_modules/core-js/es6/symbol.js","../node_modules/core-js/modules/_string-at.js","../node_modules/core-js/modules/_iterators.js","../node_modules/core-js/modules/_iter-create.js","../node_modules/core-js/modules/_to-object.js","../node_modules/core-js/modules/_object-gpo.js","../node_modules/core-js/modules/_iter-define.js","../node_modules/core-js/modules/es6.string.iterator.js","../node_modules/core-js/modules/_add-to-unscopables.js","../node_modules/core-js/modules/_iter-step.js","../node_modules/core-js/modules/es6.array.iterator.js","../node_modules/core-js/modules/web.dom.iterable.js","../node_modules/core-js/fn/symbol/iterator.js","lib/Utilities.js","lib/Filter.js","lib/InsertScriptFilter.js","lib/ScriptTagFilter.js","lib/WrapperFilter.js","lib/LocalCookieFilter.js","../node_modules/redom/dist/redom.es.js","lib/Language.js","lib/Interface.js","lib/Configuration.js","lib/RemoveCookies.js","lib/CookieConsent.js","index.js"],"names":["Utilities","fn","document","attachEvent","readyState","addEventListener","obj","Object","prototype","toString","call","slice","col","amt","usePound","num","parseInt","r","b","g","cookie","category","categories","window","CookieConsent","key","config","services","push","elem","event","Event","createEvent","initEvent","dispatchEvent","Filter","type","service","needed","wanted","blacklist","objectType","search","i","length","InsertScriptFilter","overrideAppendChild","overrideInsertBefore","Element","appendChild","arguments","tagName","outerHTML","indexOf","undefined","buffer","Node","apply","insertBefore","ScriptTagFilter","filterTags","ready","scriptTags","querySelectorAll","scriptTag","dataset","consent","newtag","createElement","parentNode","attributes","attribute","setAttribute","nodeName","nodeValue","innerHTML","removeChild","WrapperFilter","filterWrappers","wrapper","name","callback","LocalCookieFilter","filterlocalCookies","cookieDescriptor","getOwnPropertyDescriptor","HTMLDocument","get","__lookupGetter__","set","__lookupSetter__","getCookieDescriptor","defineProperty","configurable","cookieArguments","cookieName","split","Array","forEach","blacklistItem","HASH","charCodeAt","DOT","TAG_NAME","ID","CLASS_NAME","parseQuery","query","tag","id","className","mode","offset","char","isHash","isDot","substring","ns","ref","element","createElementNS","unmount","parent","child","parentEl","getEl","childEl","__redom_view","doUnmount","hooks","__redom_lifecycle","hooksAreEmpty","__redom_mounted","traverse","trigger","parentHooks","hook","hookNames","shadowRootAvailable","mount","before","replace","wasMounted","oldParent","replaceChild","doMount","remount","hooksFound","list","hookName","triggered","ShadowRoot","el","eventName","view","hookCount","firstChild","next","nextSibling","setStyle","arg1","arg2","style","xlinkns","setAttr","isSVG","SVGElement","isFunc","setData","setXlink","setAttributeNS","text","str","createTextNode","parseArguments","args","arg","isNode","ensureEl","html","nodeType","a","htmlCache","memoizeHTML","len","cloneNode","Error","Query","Function","bind","concat","extend","clone","h","setChildren","children","current","_current","childEls","i$1","__redom_index","propKey","item","listPool","View","initData","ListPool","oldLookup","lookup","oldViews","views","update","data","context","keySet","newLookup","newViews","__redom_id","List","__redom_list","pool","ref$1","oldView","place","Place","visible","_placeholder","_el","_View","_initData","placeholder","router","Views","Router","route","svgCache","memoizeSVG","svg","s","Language","locale","language","object","currentLocale","hasOwnProperty","Interface","elements","theme","barColor","barTextColor","barMainButtonTextColor","barMainButtonColor","modalMainButtonColor","modalMainButtonTextColor","lightenDarkenColor","getTranslation","listCookies","listItems","modalMainTextMoreLink","href","target","rel","modalTabGroups","contentItems","checked","version","preserveAspectRatio","viewBox","class","d","tabGroups","tabGroup","classList","contains","add","querySelector","remove","insertedElem","body","that","render","buildStyle","buildBar","bar","cookieExists","setTimeout","barTimeout","buildModal","buttonConsentGive","writeBufferToDOM","buildCookie","setCookie","modalRedrawIcons","getElementsByClassName","edit","getDlParent","parentDl","eventTarget","dt","getElementById","switchElements","switchElement","action","this","lastChild","cookieVersion","listGlobalServices","expires_in","Date","now","toUTCString","JSON","stringify","Configuration","configObject","setConfiguration","active","en","barMainText","barLinkSetting","barBtnAcceptAll","modalMainTitle","modalMainText","modalBtnSave","modalBtnAcceptAll","modalAffectedSolutions","learnMore","on","off","hu","console","log","mergeDeep","cookieToConfig","removeReload","removeCookie","location","reload","filter","cookieData","parse","isArray","sources","source","shift","isObject","assign","RemoveCookies","removeUnwantedCookies","cookieList","map","cookies","cookieDef","c","match","domain","removeCookies","insertScriptFilter","scriptTagFilter","wrapperFilter","localCookieFilter","init","UI","buildInterface","addEventListeners","cookieConsent"],"mappings":"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","file":"cookieconsent.min.map","sourceRoot":"..\\..\\..\\..\\src","sourcesContent":["// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var core = module.exports = { version: '2.6.5' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","module.exports = false;\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar $toString = require('./_function-to-string');\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","exports.f = require('./_wks');\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","exports.f = {}.propertyIsEnumerable;\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof');\nvar test = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif (test + '' != '[object z]') {\n require('./_redefine')(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n","require('../modules/es6.symbol');\nrequire('../modules/es6.object.to-string');\nmodule.exports = require('../modules/_core').Symbol;\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","module.exports = {};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var $iterators = require('./es6.array.iterator');\nvar getKeys = require('./_object-keys');\nvar redefine = require('./_redefine');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar wks = require('./_wks');\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n CSSRuleList: true, // TODO: Not spec compliant, should be false.\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true, // TODO: Not spec compliant, should be false.\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true, // TODO: Not spec compliant, should be false.\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n}\n","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n","export default class Utilities {\r\n\r\n static ready(fn) {\r\n if (document.attachEvent ? document.readyState === \"complete\" : document.readyState !== \"loading\"){\r\n fn();\r\n } else {\r\n document.addEventListener('DOMContentLoaded', fn);\r\n }\r\n }\r\n \r\n static objectType(obj){\r\n return Object.prototype.toString.call(obj).slice(8, -1);\r\n }\r\n\r\n static lightenDarkenColor(col, amt) {\r\n\r\n var usePound = false;\r\n \r\n if (col[0] == \"#\") {\r\n col = col.slice(1);\r\n usePound = true;\r\n }\r\n \r\n var num = parseInt(col, 16);\r\n \r\n var r = (num >> 16) + amt;\r\n \r\n if (r > 255) {\r\n r = 255;\r\n } else if (r < 0) {\r\n r = 0;\r\n }\r\n \r\n var b = ((num >> 8) & 0x00FF) + amt;\r\n \r\n if (b > 255) {\r\n b = 255;\r\n } else if (b < 0) {\r\n b = 0;\r\n }\r\n \r\n var g = (num & 0x0000FF) + amt;\r\n \r\n if (g > 255) {\r\n g = 255;\r\n } else if (g < 0) {\r\n g = 0;\r\n }\r\n \r\n return (usePound ? \"#\" : \"\") + (g | (b << 8) | (r << 16)).toString(16);\r\n \r\n }\r\n\r\n static removeCookie() {\r\n document.cookie = `cconsent=; expires=Thu, 01 Jan 1980 00:00:00 UTC; path=/;`;\r\n }\r\n\r\n // Create an array of services from Cookieconsent global object\r\n // Filter based on category or leave empty is all is wanted\r\n static listGlobalServices(category) {\r\n let categories = [];\r\n\r\n // Global config objectnot set\r\n if (typeof window.CookieConsent === 'undefined') return categories;\r\n\r\n // Category is not specified or opposite\r\n if (typeof category === 'undefined') {\r\n for (let key in window.CookieConsent.config.services) {\r\n categories.push(key);\r\n }\r\n } else {\r\n for (let key in window.CookieConsent.config.services) {\r\n if (window.CookieConsent.config.services[key].category === category) categories.push(key);\r\n }\r\n }\r\n\r\n return categories;\r\n }\r\n\r\n static dispatchEvent(elem, event) {\r\n var event;\r\n\r\n if (typeof(Event) === 'function') {\r\n event = new Event(event);\r\n } else {\r\n event = document.createEvent('Event');\r\n event.initEvent(event, true, true);\r\n }\r\n \r\n elem.dispatchEvent(event);\r\n }\r\n\r\n}\r\n","import Utilities from \"./Utilities\";\r\n\r\nexport default class Filter {\r\n\r\n createBlacklist(type) {\r\n var services = {};\r\n for(var service in window.CookieConsent.config.services) {\r\n if (window.CookieConsent.config.services[service].type === type) {\r\n if(window.CookieConsent.config.categories[window.CookieConsent.config.services[service].category].needed === false) {\r\n if (window.CookieConsent.config.categories[window.CookieConsent.config.services[service].category].wanted === false) {\r\n services[service] = window.CookieConsent.config.services[service];\r\n }\r\n }\r\n }\r\n }\r\n\r\n var blacklist = [];\r\n\r\n for(var service in services) {\r\n var type = Utilities.objectType(services[service].search);\r\n if (type === 'String') {\r\n blacklist.push(services[service].search);\r\n } else if(type === 'Array') {\r\n for (let i = 0; i < services[service].search.length; i++) {\r\n blacklist.push(services[service].search[i]);\r\n }\r\n }\r\n }\r\n\r\n return blacklist;\r\n }\r\n\r\n}","import Filter from './Filter';\r\n\r\nexport default class InsertScriptFilter extends Filter {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n init() {\r\n this.overrideAppendChild();\r\n this.overrideInsertBefore();\r\n }\r\n\r\n overrideAppendChild() {\r\n\r\n Element.prototype.appendChild = function(elem) {\r\n if(arguments[0].tagName === 'SCRIPT') {\r\n //console.log('Appending:', arguments);\r\n for (let key in window.CookieConsent.config.services) {\r\n // Did user opt-in?\r\n if(window.CookieConsent.config.services[key].type === 'dynamic-script') {\r\n if(arguments[0].outerHTML.indexOf(window.CookieConsent.config.services[key].search) >= 0) {\r\n if(window.CookieConsent.config.categories[window.CookieConsent.config.services[key].category].wanted === false) {\r\n window.CookieConsent.buffer.appendChild.push({'this': this, 'category': window.CookieConsent.config.services[key].category, arguments: arguments});\r\n return undefined;\r\n }\r\n }\r\n }\r\n }\r\n } \r\n \r\n return Node.prototype.appendChild.apply(this, arguments);\r\n }\r\n\r\n }\r\n\r\n overrideInsertBefore() {\r\n\r\n Element.prototype.insertBefore = function(elem) {\r\n \r\n if(arguments[0].tagName === 'SCRIPT') {\r\n //console.log('Inserting:', arguments);\r\n for (let key in window.CookieConsent.config.services) {\r\n // Did user opt-in?\r\n if(window.CookieConsent.config.services[key].type === 'dynamic-script') {\r\n if(arguments[0].outerHTML.indexOf(window.CookieConsent.config.services[key].search) >= 0) {\r\n if(window.CookieConsent.config.categories[window.CookieConsent.config.services[key].category].wanted === false) {\r\n window.CookieConsent.buffer.insertBefore.push({'this': this, 'category': window.CookieConsent.config.services[key].category, arguments: arguments});\r\n return undefined;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n \r\n return Node.prototype.insertBefore.apply(this, arguments);\r\n }\r\n }\r\n\r\n}","import Utilities from \"./Utilities\";\r\nimport Filter from './Filter';\r\n\r\nexport default class ScriptTagFilter extends Filter {\r\n \r\n constructor() {\r\n super();\r\n }\r\n\r\n init() {\r\n this.filterTags();\r\n }\r\n\r\n filterTags() {\r\n Utilities.ready(() => {\r\n var blacklist = super.createBlacklist('script-tag');\r\n var scriptTags = document.querySelectorAll('script[type=\"text/plain\"]');\r\n \r\n for (var scriptTag of scriptTags) {\r\n if (blacklist.indexOf(scriptTag.dataset.consent) < 0) {\r\n var newtag = document.createElement('script');\r\n var parentNode = scriptTag.parentNode;\r\n \r\n scriptTag.type = 'text/javascript';\r\n\r\n for(var attribute of scriptTag.attributes) {\r\n newtag.setAttribute(attribute.nodeName, attribute.nodeValue);\r\n }\r\n\r\n newtag.innerHTML = scriptTag.innerHTML;\r\n parentNode.insertBefore(newtag,scriptTag);\r\n parentNode.removeChild(scriptTag);\r\n }\r\n }\r\n });\r\n }\r\n}","import Filter from './Filter';\r\n\r\nexport default class WrapperFilter extends Filter {\r\n \r\n constructor() {\r\n super();\r\n }\r\n\r\n init() {\r\n this.filterWrappers();\r\n }\r\n\r\n filterWrappers() {\r\n var blacklist = super.createBlacklist('wrapped');\r\n\r\n function wrapper(name='', callback) {\r\n if (blacklist.indexOf(name) < 0) {\r\n callback();\r\n }\r\n }\r\n\r\n window.CookieConsent.wrapper = wrapper;\r\n }\r\n}","import Filter from './Filter';\r\n\r\nexport default class LocalCookieFilter extends Filter {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n init() {\r\n this.filterlocalCookies();\r\n }\r\n\r\n getCookieDescriptor() {\r\n var cookieDescriptor;\r\n\r\n cookieDescriptor = Object.getOwnPropertyDescriptor(document, 'cookie') ||\r\n Object.getOwnPropertyDescriptor(HTMLDocument.prototype, 'cookie');\r\n\r\n if (! cookieDescriptor) {\r\n\r\n cookieDescriptor = {};\r\n cookieDescriptor.get = HTMLDocument.prototype.__lookupGetter__(\"cookie\");\r\n cookieDescriptor.set = HTMLDocument.prototype.__lookupSetter__(\"cookie\");\r\n\r\n }\r\n\r\n return cookieDescriptor;\r\n }\r\n\r\n filterlocalCookies() {\r\n\r\n // TODO - implement buffer\r\n var blacklist = super.createBlacklist('localcookie');\r\n var cookieDescriptor = this.getCookieDescriptor();\r\n\r\n Object.defineProperty(document, \"cookie\", {\r\n configurable: true,\r\n get: function () {\r\n return cookieDescriptor.get.apply(document);\r\n },\r\n set: function () {\r\n var cookieArguments = arguments;\r\n\r\n if(blacklist.length) {\r\n var cookieName = arguments[0].split('=')[0];\r\n Array.prototype.forEach.call(blacklist, function(blacklistItem){\r\n if (cookieName.indexOf(blacklistItem) < 0) cookieDescriptor.set.apply(document, cookieArguments);\r\n });\r\n } else {\r\n cookieDescriptor.set.apply(document, cookieArguments);\r\n }\r\n }\r\n });\r\n }\r\n}","var HASH = '#'.charCodeAt(0);\nvar DOT = '.'.charCodeAt(0);\n\nvar TAG_NAME = 0;\nvar ID = 1;\nvar CLASS_NAME = 2;\n\nvar parseQuery = function (query) {\n var tag = null;\n var id = null;\n var className = null;\n var mode = TAG_NAME;\n var offset = 0;\n\n for (var i = 0; i <= query.length; i++) {\n var char = query.charCodeAt(i);\n var isHash = char === HASH;\n var isDot = char === DOT;\n var isEnd = !char;\n\n if (isHash || isDot || isEnd) {\n if (mode === TAG_NAME) {\n if (i === 0) {\n tag = 'div';\n } else {\n tag = query.substring(offset, i);\n }\n } else if (mode === ID) {\n id = query.substring(offset, i);\n } else {\n if (className) {\n className += ' ' + query.substring(offset, i);\n } else {\n className = query.substring(offset, i);\n }\n }\n\n if (isHash) {\n mode = ID;\n } else if (isDot) {\n mode = CLASS_NAME;\n }\n\n offset = i + 1;\n }\n }\n\n return { tag: tag, id: id, className: className };\n};\n\nvar createElement = function (query, ns) {\n var ref = parseQuery(query);\n var tag = ref.tag;\n var id = ref.id;\n var className = ref.className;\n var element = ns ? document.createElementNS(ns, tag) : document.createElement(tag);\n\n if (id) {\n element.id = id;\n }\n\n if (className) {\n if (ns) {\n element.setAttribute('class', className);\n } else {\n element.className = className;\n }\n }\n\n return element;\n};\n\nvar unmount = function (parent, child) {\n var parentEl = getEl(parent);\n var childEl = getEl(child);\n\n if (child === childEl && childEl.__redom_view) {\n // try to look up the view if not provided\n child = childEl.__redom_view;\n }\n\n if (childEl.parentNode) {\n doUnmount(child, childEl, parentEl);\n\n parentEl.removeChild(childEl);\n }\n\n return child;\n};\n\nvar doUnmount = function (child, childEl, parentEl) {\n var hooks = childEl.__redom_lifecycle;\n\n if (hooksAreEmpty(hooks)) {\n childEl.__redom_mounted = false;\n return;\n }\n\n var traverse = parentEl;\n\n if (childEl.__redom_mounted) {\n trigger(childEl, 'onunmount');\n }\n\n while (traverse) {\n var parentHooks = traverse.__redom_lifecycle || {};\n\n for (var hook in hooks) {\n if (parentHooks[hook]) {\n parentHooks[hook] -= hooks[hook];\n }\n }\n\n if (hooksAreEmpty(parentHooks)) {\n traverse.__redom_lifecycle = null;\n }\n\n traverse = traverse.parentNode;\n }\n};\n\nvar hooksAreEmpty = function (hooks) {\n if (hooks == null) {\n return true;\n }\n for (var key in hooks) {\n if (hooks[key]) {\n return false;\n }\n }\n return true;\n};\n\nvar hookNames = ['onmount', 'onremount', 'onunmount'];\nvar shadowRootAvailable = typeof window !== 'undefined' && 'ShadowRoot' in window;\n\nvar mount = function (parent, child, before, replace) {\n var parentEl = getEl(parent);\n var childEl = getEl(child);\n\n if (child === childEl && childEl.__redom_view) {\n // try to look up the view if not provided\n child = childEl.__redom_view;\n }\n\n if (child !== childEl) {\n childEl.__redom_view = child;\n }\n\n var wasMounted = childEl.__redom_mounted;\n var oldParent = childEl.parentNode;\n\n if (wasMounted && (oldParent !== parentEl)) {\n doUnmount(child, childEl, oldParent);\n }\n\n if (before != null) {\n if (replace) {\n parentEl.replaceChild(childEl, getEl(before));\n } else {\n parentEl.insertBefore(childEl, getEl(before));\n }\n } else {\n parentEl.appendChild(childEl);\n }\n\n doMount(child, childEl, parentEl, oldParent);\n\n return child;\n};\n\nvar doMount = function (child, childEl, parentEl, oldParent) {\n var hooks = childEl.__redom_lifecycle || (childEl.__redom_lifecycle = {});\n var remount = (parentEl === oldParent);\n var hooksFound = false;\n\n for (var i = 0, list = hookNames; i < list.length; i += 1) {\n var hookName = list[i];\n\n if (!remount) { // if already mounted, skip this phase\n if (child !== childEl) { // only Views can have lifecycle events\n if (hookName in child) {\n hooks[hookName] = (hooks[hookName] || 0) + 1;\n }\n }\n }\n if (hooks[hookName]) {\n hooksFound = true;\n }\n }\n\n if (!hooksFound) {\n childEl.__redom_mounted = true;\n return;\n }\n\n var traverse = parentEl;\n var triggered = false;\n\n if (remount || (traverse && traverse.__redom_mounted)) {\n trigger(childEl, remount ? 'onremount' : 'onmount');\n triggered = true;\n }\n\n while (traverse) {\n var parent = traverse.parentNode;\n var parentHooks = traverse.__redom_lifecycle || (traverse.__redom_lifecycle = {});\n\n for (var hook in hooks) {\n parentHooks[hook] = (parentHooks[hook] || 0) + hooks[hook];\n }\n\n if (triggered) {\n break;\n } else {\n if (traverse === document ||\n (shadowRootAvailable && (traverse instanceof window.ShadowRoot)) ||\n (parent && parent.__redom_mounted)\n ) {\n trigger(traverse, remount ? 'onremount' : 'onmount');\n triggered = true;\n }\n traverse = parent;\n }\n }\n};\n\nvar trigger = function (el, eventName) {\n if (eventName === 'onmount' || eventName === 'onremount') {\n el.__redom_mounted = true;\n } else if (eventName === 'onunmount') {\n el.__redom_mounted = false;\n }\n\n var hooks = el.__redom_lifecycle;\n\n if (!hooks) {\n return;\n }\n\n var view = el.__redom_view;\n var hookCount = 0;\n\n view && view[eventName] && view[eventName]();\n\n for (var hook in hooks) {\n if (hook) {\n hookCount++;\n }\n }\n\n if (hookCount) {\n var traverse = el.firstChild;\n\n while (traverse) {\n var next = traverse.nextSibling;\n\n trigger(traverse, eventName);\n\n traverse = next;\n }\n }\n};\n\nvar setStyle = function (view, arg1, arg2) {\n var el = getEl(view);\n\n if (arg2 !== undefined) {\n el.style[arg1] = arg2;\n } else if (typeof arg1 === 'string') {\n el.setAttribute('style', arg1);\n } else {\n for (var key in arg1) {\n setStyle(el, key, arg1[key]);\n }\n }\n};\n\n/* global SVGElement */\n\nvar xlinkns = 'http://www.w3.org/1999/xlink';\n\nvar setAttr = function (view, arg1, arg2) {\n var el = getEl(view);\n var isSVG = el instanceof SVGElement;\n\n var isFunc = typeof arg2 === 'function';\n\n if (arg2 !== undefined) {\n if (arg1 === 'style') {\n setStyle(el, arg2);\n } else if (isSVG && isFunc) {\n el[arg1] = arg2;\n } else if (arg1 === 'dataset') {\n setData(el, arg2);\n } else if (!isSVG && (arg1 in el || isFunc)) {\n el[arg1] = arg2;\n } else {\n if (isSVG && (arg1 === 'xlink')) {\n setXlink(el, arg2);\n return;\n }\n el.setAttribute(arg1, arg2);\n }\n } else {\n for (var key in arg1) {\n setAttr(el, key, arg1[key]);\n }\n }\n};\n\nfunction setXlink (el, obj) {\n for (var key in obj) {\n el.setAttributeNS(xlinkns, key, obj[key]);\n }\n}\n\nfunction setData (el, obj) {\n for (var key in obj) {\n el.dataset[key] = obj[key];\n }\n}\n\nvar text = function (str) { return document.createTextNode((str != null) ? str : ''); };\n\nvar parseArguments = function (element, args) {\n for (var i = 0, list = args; i < list.length; i += 1) {\n var arg = list[i];\n\n if (arg !== 0 && !arg) {\n continue;\n }\n\n var type = typeof arg;\n\n // support middleware\n if (type === 'function') {\n arg(element);\n } else if (type === 'string' || type === 'number') {\n element.appendChild(text(arg));\n } else if (isNode(getEl(arg))) {\n mount(element, arg);\n } else if (arg.length) {\n parseArguments(element, arg);\n } else if (type === 'object') {\n setAttr(element, arg);\n }\n }\n};\n\nvar ensureEl = function (parent) { return typeof parent === 'string' ? html(parent) : getEl(parent); };\nvar getEl = function (parent) { return (parent.nodeType && parent) || (!parent.el && parent) || getEl(parent.el); };\nvar isNode = function (a) { return a && a.nodeType; };\n\nvar htmlCache = {};\n\nvar memoizeHTML = function (query) { return htmlCache[query] || (htmlCache[query] = createElement(query)); };\n\nvar html = function (query) {\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n var element;\n\n var type = typeof query;\n\n if (type === 'string') {\n element = memoizeHTML(query).cloneNode(false);\n } else if (isNode(query)) {\n element = query.cloneNode(false);\n } else if (type === 'function') {\n var Query = query;\n element = new (Function.prototype.bind.apply( Query, [ null ].concat( args) ));\n } else {\n throw new Error('At least one argument required');\n }\n\n parseArguments(getEl(element), args);\n\n return element;\n};\n\nhtml.extend = function (query) {\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n var clone = memoizeHTML(query);\n\n return html.bind.apply(html, [ this, clone ].concat( args ));\n};\n\nvar el = html;\nvar h = html;\n\nvar setChildren = function (parent) {\n var children = [], len = arguments.length - 1;\n while ( len-- > 0 ) children[ len ] = arguments[ len + 1 ];\n\n var parentEl = getEl(parent);\n var current = traverse(parent, children, parentEl.firstChild);\n\n while (current) {\n var next = current.nextSibling;\n\n unmount(parent, current);\n\n current = next;\n }\n};\n\nfunction traverse (parent, children, _current) {\n var current = _current;\n\n var childEls = new Array(children.length);\n\n for (var i = 0; i < children.length; i++) {\n childEls[i] = children[i] && getEl(children[i]);\n }\n\n for (var i$1 = 0; i$1 < children.length; i$1++) {\n var child = children[i$1];\n\n if (!child) {\n continue;\n }\n\n var childEl = childEls[i$1];\n\n if (childEl === current) {\n current = current.nextSibling;\n continue;\n }\n\n if (isNode(childEl)) {\n var next = current && current.nextSibling;\n var exists = child.__redom_index != null;\n var replace = exists && next === childEls[i$1 + 1];\n\n mount(parent, child, current, replace);\n\n if (replace) {\n current = next;\n }\n\n continue;\n }\n\n if (child.length != null) {\n current = traverse(parent, child, current);\n }\n }\n\n return current;\n}\n\nvar propKey = function (key) { return function (item) { return item[key]; }; };\n\nvar listPool = function (View, key, initData) {\n return new ListPool(View, key, initData);\n};\n\nvar ListPool = function ListPool (View, key, initData) {\n this.View = View;\n this.initData = initData;\n this.oldLookup = {};\n this.lookup = {};\n this.oldViews = [];\n this.views = [];\n\n if (key != null) {\n this.key = typeof key === 'function' ? key : propKey(key);\n }\n};\nListPool.prototype.update = function update (data, context) {\n var ref = this;\n var View = ref.View;\n var key = ref.key;\n var initData = ref.initData;\n var keySet = key != null;\n\n var oldLookup = this.lookup;\n var newLookup = {};\n\n var newViews = new Array(data.length);\n var oldViews = this.views;\n\n for (var i = 0; i < data.length; i++) {\n var item = data[i];\n var view = (void 0);\n\n if (keySet) {\n var id = key(item);\n\n view = oldLookup[id] || new View(initData, item, i, data);\n newLookup[id] = view;\n view.__redom_id = id;\n } else {\n view = oldViews[i] || new View(initData, item, i, data);\n }\n view.update && view.update(item, i, data, context);\n\n var el = getEl(view.el);\n\n el.__redom_view = view;\n newViews[i] = view;\n }\n\n this.oldViews = oldViews;\n this.views = newViews;\n\n this.oldLookup = oldLookup;\n this.lookup = newLookup;\n};\n\nvar list = function (parent, View, key, initData) {\n return new List(parent, View, key, initData);\n};\n\nvar List = function List (parent, View, key, initData) {\n this.__redom_list = true;\n this.View = View;\n this.initData = initData;\n this.views = [];\n this.pool = new ListPool(View, key, initData);\n this.el = ensureEl(parent);\n this.keySet = key != null;\n};\nList.prototype.update = function update (data, context) {\n if ( data === void 0 ) data = [];\n\n var ref = this;\n var keySet = ref.keySet;\n var oldViews = this.views;\n\n this.pool.update(data, context);\n\n var ref$1 = this.pool;\n var views = ref$1.views;\n var lookup = ref$1.lookup;\n\n if (keySet) {\n for (var i = 0; i < oldViews.length; i++) {\n var oldView = oldViews[i];\n var id = oldView.__redom_id;\n\n if (lookup[id] == null) {\n oldView.__redom_index = null;\n unmount(this, oldView);\n }\n }\n }\n\n for (var i$1 = 0; i$1 < views.length; i$1++) {\n var view = views[i$1];\n\n view.__redom_index = i$1;\n }\n\n setChildren(this, views);\n\n if (keySet) {\n this.lookup = lookup;\n }\n this.views = views;\n};\n\nList.extend = function (parent, View, key, initData) {\n return List.bind(List, parent, View, key, initData);\n};\n\nlist.extend = List.extend;\n\n/* global Node */\n\nvar place = function (View, initData) {\n return new Place(View, initData);\n};\n\nvar Place = function Place (View, initData) {\n this.el = text('');\n this.visible = false;\n this.view = null;\n this._placeholder = this.el;\n\n if (View instanceof Node) {\n this._el = View;\n } else {\n this._View = View;\n }\n\n this._initData = initData;\n};\nPlace.prototype.update = function update (visible, data) {\n var placeholder = this._placeholder;\n var parentNode = this.el.parentNode;\n\n if (visible) {\n if (!this.visible) {\n if (this._el) {\n mount(parentNode, this._el, placeholder);\n unmount(parentNode, placeholder);\n\n this.el = this._el;\n this.visible = visible;\n\n return;\n }\n var View = this._View;\n var view = new View(this._initData);\n\n this.el = getEl(view);\n this.view = view;\n\n mount(parentNode, view, placeholder);\n unmount(parentNode, placeholder);\n }\n this.view && this.view.update && this.view.update(data);\n } else {\n if (this.visible) {\n if (this._el) {\n mount(parentNode, placeholder, this._el);\n unmount(parentNode, this._el);\n\n this.el = placeholder;\n this.visible = visible;\n\n return;\n }\n mount(parentNode, placeholder, this.view);\n unmount(parentNode, this.view);\n\n this.el = placeholder;\n this.view = null;\n }\n }\n this.visible = visible;\n};\n\nvar router = function (parent, Views, initData) {\n return new Router(parent, Views, initData);\n};\n\nvar Router = function Router (parent, Views, initData) {\n this.el = ensureEl(parent);\n this.Views = Views;\n this.initData = initData;\n};\nRouter.prototype.update = function update (route, data) {\n if (route !== this.route) {\n var Views = this.Views;\n var View = Views[route];\n\n this.route = route;\n this.view = View && new View(this.initData, data);\n\n setChildren(this.el, [ this.view ]);\n }\n this.view && this.view.update && this.view.update(data, route);\n};\n\nvar ns = 'http://www.w3.org/2000/svg';\n\nvar svgCache = {};\n\nvar memoizeSVG = function (query) { return svgCache[query] || (svgCache[query] = createElement(query, ns)); };\n\nvar svg = function (query) {\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n var element;\n\n var type = typeof query;\n\n if (type === 'string') {\n element = memoizeSVG(query).cloneNode(false);\n } else if (isNode(query)) {\n element = query.cloneNode(false);\n } else if (type === 'function') {\n var Query = query;\n element = new (Function.prototype.bind.apply( Query, [ null ].concat( args) ));\n } else {\n throw new Error('At least one argument required');\n }\n\n parseArguments(getEl(element), args);\n\n return element;\n};\n\nsvg.extend = function (query) {\n var clone = memoizeSVG(query);\n\n return svg.bind(this, clone);\n};\n\nsvg.ns = ns;\n\nvar s = svg;\n\nexport { el, h, html, list, List, listPool, ListPool, mount, unmount, place, Place, router, Router, setAttr, setStyle, setChildren, s, svg, text };\n","export default class Language {\r\n\r\n setLocale(locale) {\r\n window.CookieConsent.config.language.current = locale;\r\n }\r\n \r\n static getTranslation(object, locale, key) {\r\n var currentLocale;\r\n\r\n if(!object.hasOwnProperty('language')) return '[Missing language object]';\r\n if(!object.language.hasOwnProperty('locale')) return '[Missing locale object]'\r\n \r\n currentLocale = (object.language.locale.hasOwnProperty(locale)) ? locale : 'en';\r\n\r\n return (object.language.locale[currentLocale].hasOwnProperty(key)) ? object.language.locale[currentLocale][key] : '[Missing translation]';\r\n }\r\n\r\n}","import { el, mount } from 'redom';\r\nimport Language from './Language';\r\nimport Utilities from \"./Utilities\";\r\n\r\nexport default class Interface {\r\n\r\n constructor() {\r\n this.elements = {};\r\n }\r\n\r\n\r\n buildStyle() {\r\n return el('style',\r\n '#cconsent-bar, #cconsent-bar * { box-sizing:border-box }', \r\n '#cconsent-bar { background-color:' + window.CookieConsent.config.theme.barColor + '; color:' + window.CookieConsent.config.theme.barTextColor + '; padding:15px; text-align:right; font-family:sans-serif; font-size:14px; line-height:18px; position:fixed; bottom:0; left:0; width:100%; z-index:9998; transform: translateY(0); transition: transform .6s ease-in-out; transition-delay: .3s;}', \r\n '#cconsent-bar.ccb--hidden {transform: translateY(100%); display:block;}', \r\n '#cconsent-bar .ccb__wrapper { display:flex; flex-wrap:wrap; justify-content:space-between; max-width:1800px; margin:0 auto;}',\r\n '#cconsent-bar .ccb__left { align-self:center; text-align:left; margin: 15px 0;}',\r\n '#cconsent-bar .ccb__right { align-self:center; white-space: nowrap;}',\r\n '#cconsent-bar .ccb__right > div {display:inline-block; color:#FFF;}',\r\n '#cconsent-bar a { text-decoration:underline; color:' + window.CookieConsent.config.theme.barTextColor + '; }',\r\n '#cconsent-bar button { line-height:normal; font-size:14px; border:none; padding:10px 10px; color:' + window.CookieConsent.config.theme.barMainButtonTextColor + '; background-color:' + window.CookieConsent.config.theme.barMainButtonColor + ';}',\r\n '#cconsent-bar a.ccb__edit { margin-right:15px }',\r\n '#cconsent-bar a:hover, #cconsent-bar button:hover { cursor:pointer; }',\r\n '#cconsent-modal { display:none; font-size:14px; line-height:18px; color:#666; width: 100vw; height: 100vh; position:fixed; left:0; top:0; right:0; bottom:0; font-family:sans-serif; font-size:14px; background-color:rgba(0,0,0,0.6); z-index:9999; align-items:center; justify-content:center;}',\r\n '@media (max-width: 600px) { #cconsent-modal { height: 100% } }',\r\n '#cconsent-modal h2, #cconsent-modal h3 {color:#333}',\r\n '#cconsent-modal.ccm--visible {display:flex}',\r\n '#cconsent-modal .ccm__content { max-width:600px; min-height:500px; max-height:600px; overflow-Y:auto; background-color:#EFEFEF; }',\r\n '@media (max-width: 600px) { #cconsent-modal .ccm__content { max-width:100vw; height:100%; max-height:initial; }}',\r\n '#cconsent-modal .ccm__content > .ccm__content__heading { border-bottom:1px solid #D8D8D8; padding:35px 35px 20px; background-color:#EFEFEF; position:relative;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__heading h2 { font-size:21px; font-weight:600; color:#333; margin:0 }',\r\n '#cconsent-modal .ccm__content > .ccm__content__heading .ccm__cheading__close {font-weight:600; color:#888; cursor:pointer; font-size:26px; position: absolute; right:15px; top: 15px;}',\r\n '#cconsent-modal h2, #cconsent-modal h3 {margin-top:0}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body { background-color:#FFF;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup {margin:0; border-bottom: 1px solid #D8D8D8; }',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup .ccm__tab-head::before { position:absolute; left:35px; font-size:1.4em; font-weight: 600; color:#E56385; content:\"×\"; display:inline-block; margin-right: 20px;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.checked-5jhk .ccm__tab-head::before {font-size:1em; content:\"✔\"; color:#28A834}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup .ccm__tab-head .ccm__tab-head__icon-wedge { transition: transform .3s ease-out; transform-origin: 16px 6px 0; position:absolute;right:25px; top:50%; transform:rotate(0deg); transform:translateY(-50%)}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup .ccm__tab-head .ccm__tab-head__icon-wedge > svg { pointer-events: none; }',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.ccm__tabgroup--open .ccm__tab-head .ccm__tab-head__icon-wedge {transform:rotate(-180deg)}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head {color:#333; padding:17px 35px 17px 56px; margin:0}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content {padding:25px 35px; margin:0}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head { transition: background-color .5s ease-out }',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head:hover { background-color:#F9F9F9 }',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head {font-weight:600; cursor:pointer; position:relative;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup .ccm__tab-content {display:none;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.ccm__tabgroup--open .ccm__tab-head { background-color:#F9F9F9 }',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.ccm__tabgroup--open .ccm__tab-content {display:flex;}',\r\n '@media (max-width: 600px) { #cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.ccm__tabgroup--open .ccm__tab-content {flex-direction:column} }',\r\n '@media (max-width: 600px) { #cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left { margin-bottom:20px; } }',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch-component {display:flex; margin-right:35px; align-items:center;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch-component > div {font-weight:600;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch-group {width:40px; height:20px; margin:0 10px; position:relative;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch {position: absolute; top:0; right:0; display: inline-block; width: 40px; height: 20px;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch input {display:none;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch .ccm__switch__slider {position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #ccc; border-radius:10px; -webkit-transition: .4s; transition: .4s;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch .ccm__switch__slider:before {position: absolute; content: \"\"; height: 12px; width: 12px; left: 4px; bottom: 4px; background-color: white; border-radius:50%; -webkit-transition: .4s; transition: .4s;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch input:checked + .ccm__switch__slider {background-color: #28A834;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch input:focus + .ccm__switch__slider {box-shadow: 0 0 1px #28A834;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__tab-content__left .ccm__switch input:checked + .ccm__switch__slider:before {-webkit-transform: translateX(20px); -ms-transform: translateX(20px); transform: translateX(20px);}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content h3 {font-size:18px; margin-bottom:10px; line-height:1;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content p {color:#444; margin-bottom:0}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__list:not(:empty) {margin-top:30px;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__list .ccm__list__title {color:#333; font-weight:600;}',\r\n '#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content .ccm__list ul { margin:15px 0; padding-left:15px }',\r\n '#cconsent-modal .ccm__footer { padding:35px; background-color:#EFEFEF; text-align:center; display: flex; align-items:center; justify-content:flex-end; }',\r\n '#cconsent-modal .ccm__footer button { line-height:normal; font-size:14px; transition: background-color .5s ease-out; background-color:' + window.CookieConsent.config.theme.modalMainButtonColor + '; color:' + window.CookieConsent.config.theme.modalMainButtonTextColor + '; border:none; padding:13px; min-width:110px; border-radius: 2px; cursor:pointer; }',\r\n '#cconsent-modal .ccm__footer button:hover { background-color:' + Utilities.lightenDarkenColor(window.CookieConsent.config.theme.modalMainButtonColor, -20) + '; }',\r\n '#cconsent-modal .ccm__footer button#ccm__footer__consent-modal-submit { margin-right:10px; }'\r\n );\r\n }\r\n\r\n buildBar() {\r\n return el('div#cconsent-bar.ccb--hidden',\r\n el(`div.ccb__wrapper`,\r\n el('div.ccb__left',\r\n el('div.cc-text', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'barMainText'))\r\n ),\r\n el('div.ccb__right',\r\n el('div.ccb__button',\r\n el('a.ccb__edit', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'barLinkSetting')),\r\n el('button.consent-give', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'barBtnAcceptAll'))\r\n )\r\n )\r\n ),\r\n );\r\n }\r\n\r\n buildModal() {\r\n\r\n // Cookie names list middleware\r\n var listCookies = function(category) {\r\n var list = [];\r\n\r\n for(let service in window.CookieConsent.config.services) {\r\n (window.CookieConsent.config.services[service].category === category) && list.push(window.CookieConsent.config.services[service]);\r\n }\r\n \r\n if(list.length) {\r\n \r\n var listItems = [];\r\n \r\n for(let item in list) {\r\n listItems.push(el('li', Language.getTranslation(list[item], window.CookieConsent.config.language.current, 'name')));\r\n }\r\n\r\n return [el('div.ccm__list', el('span.ccm__list__title', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'modalAffectedSolutions')), el('ul', listItems))];\r\n }\r\n }\r\n \r\n function modalTabGroups() {\r\n\r\n let contentItems = [];\r\n\r\n let i = 0;\r\n for (let key in window.CookieConsent.config.categories) {\r\n\r\n contentItems.push(el('dl.ccm__tabgroup' + '.' + key + ((window.CookieConsent.config.categories[key].checked) ? '.checked-5jhk' : ''), {'data-category':key},\r\n el('dt.ccm__tab-head', Language.getTranslation(window.CookieConsent.config.categories[key], window.CookieConsent.config.language.current, 'name'),\r\n el('a.ccm__tab-head__icon-wedge', \r\n el(document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\"), { version: \"1.2\", preserveAspectRatio: \"none\", viewBox: \"0 0 24 24\", class: \"icon-wedge-svg\", \"data-id\": \"e9b3c566e8c14cfea38af128759b91a3\", style: \"opacity: 1; mix-blend-mode: normal; fill: rgb(51, 51, 51); width: 32px; height: 32px;\"},\r\n el(document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\"), { 'xmlns:default': \"http://www.w3.org/2000/svg\", class: \"icon-wedge-angle-down\", d: \"M17.2,9.84c0-0.09-0.04-0.18-0.1-0.24l-0.52-0.52c-0.13-0.13-0.33-0.14-0.47-0.01c0,0-0.01,0.01-0.01,0.01 l-4.1,4.1l-4.09-4.1C7.78,8.94,7.57,8.94,7.44,9.06c0,0-0.01,0.01-0.01,0.01L6.91,9.6c-0.13,0.13-0.14,0.33-0.01,0.47 c0,0,0.01,0.01,0.01,0.01l4.85,4.85c0.13,0.13,0.33,0.14,0.47,0.01c0,0,0.01-0.01,0.01-0.01l4.85-4.85c0.06-0.06,0.1-0.15,0.1-0.24 l0,0H17.2z\", style: \"fill: rgb(51, 51, 51);\" })\r\n )\r\n ),\r\n ),\r\n el('dd.ccm__tab-content',\r\n el('div.ccm__tab-content__left', \r\n ( ! window.CookieConsent.config.categories[key].needed) && el('div.ccm__switch-component', el('div.status-off', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'off')),\r\n el('div.ccm__switch-group',\r\n el('label.ccm__switch',\r\n el('input.category-onoff', {type:'checkbox', 'data-category': key, 'checked': window.CookieConsent.config.categories[key].checked}),\r\n el('span.ccm__switch__slider')\r\n )\r\n ),\r\n el('div.status-on', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'on')))\r\n ),\r\n el('div.right',\r\n el('h3', Language.getTranslation(window.CookieConsent.config.categories[key], window.CookieConsent.config.language.current, 'name')),\r\n el('p', Language.getTranslation(window.CookieConsent.config.categories[key], window.CookieConsent.config.language.current, 'description')),\r\n el('div.ccm__list',\r\n listCookies(key)\r\n )\r\n )\r\n )\r\n )\r\n );\r\n\r\n i++;\r\n }\r\n\r\n return contentItems;\r\n }\r\n\r\n return el('div#cconsent-modal',\r\n el('div.ccm__content',\r\n el('div.ccm__content__heading',\r\n el('h2', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'modalMainTitle')),\r\n el('p',\r\n Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'modalMainText'),\r\n (window.CookieConsent.config.modalMainTextMoreLink) ? el('a', { href: window.CookieConsent.config.modalMainTextMoreLink, target: '_blank', rel: 'noopener noreferrer' }, Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'learnMore')) : null\r\n ),\r\n el('div.ccm__cheading__close', '×')\r\n ),\r\n el('div.ccm__content__body',\r\n el('div.ccm__tabs',\r\n modalTabGroups()\r\n )\r\n ),\r\n el('div.ccm__footer',\r\n el('button#ccm__footer__consent-modal-submit', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'modalBtnSave')),\r\n el('button.consent-give', Language.getTranslation(window.CookieConsent.config, window.CookieConsent.config.language.current, 'modalBtnAcceptAll'))\r\n )\r\n )\r\n );\r\n }\r\n\r\n modalRedrawIcons() {\r\n var tabGroups = this.elements['modal'].querySelectorAll('.ccm__tabgroup');\r\n\r\n for(let tabGroup of tabGroups) {\r\n if(window.CookieConsent.config.categories[tabGroup.dataset.category].checked) {\r\n if( ! tabGroup.classList.contains('checked-5jhk')) {\r\n tabGroup.classList.add('checked-5jhk');\r\n tabGroup.querySelector('input.category-onoff').checked = true;\r\n };\r\n } else {\r\n if(tabGroup.classList.contains('checked-5jhk')) tabGroup.classList.remove('checked-5jhk');\r\n tabGroup.querySelector('input.category-onoff').checked = false;\r\n }\r\n }\r\n }\r\n\r\n render(name, elem, callback) {\r\n if (typeof callback === 'undefined') callback = function(){};\r\n if (typeof this.elements[name] !== 'undefined') {\r\n this.elements[name].parentNode.replaceChild(elem, this.elements[name]);\r\n this.elements[name] = elem;\r\n callback(elem);\r\n return elem;\r\n } else {\r\n var insertedElem = mount(document.body, elem);\r\n if (insertedElem) {\r\n this.elements[name] = insertedElem;\r\n }\r\n callback(insertedElem);\r\n return insertedElem;\r\n }\r\n }\r\n\r\n buildInterface(callback) {\r\n\r\n if (typeof callback === 'undefined') callback = function(){};\r\n var that = this;\r\n\r\n Utilities.ready(function() {\r\n\r\n that.render('style', that.buildStyle());\r\n\r\n that.render('bar', that.buildBar(), (bar) => {\r\n\r\n // Show the bar after a while\r\n if ( ! window.CookieConsent.config.cookieExists) {\r\n setTimeout(() => {\r\n bar.classList.remove('ccb--hidden');\r\n }, window.CookieConsent.config.barTimeout);\r\n }\r\n });\r\n\r\n that.render('modal', that.buildModal());\r\n\r\n callback();\r\n });\r\n }\r\n\r\n addEventListeners(elements) {\r\n\r\n // If you click Accept all cookies\r\n var buttonConsentGive = document.querySelectorAll('.consent-give');\r\n\r\n for(let button of buttonConsentGive) {\r\n button.addEventListener('click', () => {\r\n \r\n // We set config to full consent\r\n for(let key in window.CookieConsent.config.categories) {\r\n window.CookieConsent.config.categories[key].wanted =\r\n window.CookieConsent.config.categories[key].checked = true;\r\n }\r\n \r\n this.writeBufferToDOM();\r\n \r\n this.buildCookie((cookie) => {\r\n this.setCookie(cookie);\r\n });\r\n \r\n this.elements['bar'].classList.add('ccb--hidden');\r\n this.elements['modal'].classList.remove('ccm--visible');\r\n\r\n this.modalRedrawIcons();\r\n \r\n });\r\n }\r\n\r\n\r\n // If you click Cookie settings and open modal\r\n Array.prototype.forEach.call(document.getElementsByClassName('ccb__edit'), (edit) => {\r\n edit.addEventListener('click', () => {\r\n this.elements['modal'].classList.add('ccm--visible');\r\n });\r\n });\r\n\r\n // If you click trough the tabs on Cookie settings\r\n // If you click on/off switch\r\n this.elements['modal'].querySelector('.ccm__tabs').addEventListener('click', (event) => {\r\n\r\n // If you click trough the tabs on Cookie settings\r\n if (event.target.classList.contains('ccm__tab-head') || event.target.classList.contains('ccm__tab-head__icon-wedge')) {\r\n\r\n function getDlParent(eventTarget) {\r\n var parent = eventTarget.parentNode;\r\n if(parent.nodeName !== 'DL') {\r\n return getDlParent(parent);\r\n } else {\r\n return parent;\r\n }\r\n }\r\n \r\n var parentDl = getDlParent(event.target);\r\n \r\n if(parentDl.classList.contains('ccm__tabgroup--open')) {\r\n parentDl.classList.remove('ccm__tabgroup--open');\r\n } else {\r\n parentDl.classList.add('ccm__tabgroup--open');\r\n }\r\n }\r\n\r\n // If you click on/off switch\r\n if (event.target.classList.contains('category-onoff')) {\r\n window.CookieConsent.config.categories[event.target.dataset.category].wanted =\r\n window.CookieConsent.config.categories[event.target.dataset.category].checked = (event.target.checked === true) ? true : false;\r\n\r\n var dt = document.querySelector('.ccm__tabgroup.' + event.target.dataset.category);\r\n if(event.target.checked === false && dt.classList.contains('checked-5jhk')) {\r\n dt.classList.remove('checked-5jhk');\r\n } else {\r\n dt.classList.add('checked-5jhk');\r\n }\r\n }\r\n });\r\n\r\n\r\n\r\n // If you click close on open modal\r\n this.elements['modal'].querySelector('.ccm__cheading__close').addEventListener('click', (event) => {\r\n this.elements['modal'].classList.remove('ccm--visible');\r\n });\r\n\r\n // If you click submit on cookie settings\r\n document.getElementById('ccm__footer__consent-modal-submit').addEventListener('click', () => {\r\n\r\n let switchElements = this.elements['modal'].querySelectorAll('.ccm__switch input');\r\n\r\n Array.prototype.forEach.call(switchElements, (switchElement) => {\r\n window.CookieConsent.config.categories[switchElement.dataset.category].wanted = switchElement.checked;\r\n });\r\n\r\n this.buildCookie((cookie) => {\r\n this.setCookie(cookie, () => {\r\n this.elements['modal'].classList.remove('ccm--visible');\r\n this.elements['bar'].classList.add('ccb--hidden');\r\n });\r\n });\r\n\r\n this.writeBufferToDOM();\r\n\r\n });\r\n }\r\n\r\n writeBufferToDOM() {\r\n\r\n for(let action of window.CookieConsent.buffer.appendChild) {\r\n if (window.CookieConsent.config.categories[action.category].wanted === true) {\r\n Node.prototype.appendChild.apply(action.this, action.arguments);\r\n }\r\n }\r\n\r\n for(let action of window.CookieConsent.buffer.insertBefore) {\r\n if (window.CookieConsent.config.categories[action.category].wanted === true) {\r\n action.arguments[1] = (action.arguments[0].parentNode === null) ? action.this.lastChild : action.arguments[1];\r\n Node.prototype.insertBefore.apply(action.this, action.arguments);\r\n }\r\n }\r\n }\r\n\r\n buildCookie(callback) {\r\n let cookie = {\r\n version: window.CookieConsent.config.cookieVersion,\r\n categories: {},\r\n services: []\r\n };\r\n \r\n for(let key in window.CookieConsent.config.categories) {\r\n cookie.categories[key] = {\r\n wanted: window.CookieConsent.config.categories[key].wanted,\r\n };\r\n }\r\n\r\n cookie.services = Utilities.listGlobalServices();\r\n \r\n if (callback) callback(cookie);\r\n return cookie;\r\n }\r\n \r\n setCookie(cookie, callback) {\r\n const expires_in = new Date(Date.now() + 365 * 24 * 60 * 60 * 1000).toUTCString();\r\n\r\n document.cookie = `cconsent=${JSON.stringify(cookie)}; expires=${expires_in}; path=/;`;\r\n if (callback) callback();\r\n }\r\n}\r\n","import Utilities from \"./Utilities\";\r\n\r\nexport default class Configuration {\r\n\r\n constructor(configObject) {\r\n\r\n window.CookieConsent.buffer = {\r\n appendChild: [],\r\n insertBefore: []\r\n }\r\n\r\n // Wrapper filter function\r\n window.CookieConsent.wrapper = function () { };\r\n\r\n // Settings injector for users\r\n window.CookieConsent.setConfiguration = this.setConfiguration.bind(this);\r\n\r\n window.CookieConsent.config = {\r\n active: true,\r\n cookieExists: false,\r\n cookieVersion: 1,\r\n modalMainTextMoreLink: null,\r\n barTimeout: 1000,\r\n theme: {\r\n barColor: '#2C7CBF',\r\n barTextColor: '#FFF',\r\n barMainButtonColor: '#FFF',\r\n barMainButtonTextColor: '#2C7CBF',\r\n modalMainButtonColor: '#4285F4',\r\n modalMainButtonTextColor: '#FFF',\r\n },\r\n language: {\r\n current: 'en',\r\n locale: {\r\n en: {\r\n barMainText: 'This website uses cookies to ensure you get the best experience on our website.',\r\n barLinkSetting: 'Cookie Settings',\r\n barBtnAcceptAll: 'Accept all cookies',\r\n modalMainTitle: 'Cookie settings',\r\n modalMainText: 'Cookies are small piece of data sent from a website and stored on the user\\'s computer by the user\\'s web browser while the user is browsing. Your browser stores each message in a small file, called cookie. When you request another page from the server, your browser sends the cookie back to the server. Cookies were designed to be a reliable mechanism for websites to remember information or to record the user\\'s browsing activity.',\r\n modalBtnSave: 'Save current settings',\r\n modalBtnAcceptAll: 'Accept all cookies and close',\r\n modalAffectedSolutions: 'Affected solutions:',\r\n learnMore: 'Learn More',\r\n on: 'On',\r\n off: 'Off',\r\n },\r\n hu: {\r\n barMainText: 'Ez a weboldal Sütiket használ a jobb felhasználói élmény érdekében.',\r\n barLinkSetting: 'Süti beállítások',\r\n barBtnAcceptAll: 'Minden süti elfogadása',\r\n modalMainTitle: 'Süti beállítások',\r\n modalMainText: 'A HTTP-süti (általában egyszerűen süti, illetve angolul cookie) egy információcsomag, amelyet a szerver küld a webböngészőnek, majd a böngésző visszaküld a szervernek minden, a szerver felé irányított kérés alkalmával. Amikor egy weboldalt kérünk le a szervertől, akkor a böngésző elküldi a számára elérhető sütiket. A süti-ket úgy tervezték, hogy megbízható mechanizmust biztosítsanak a webhelyek számára az információk megőrzésére vagy a felhasználók böngészési tevékenységének rögzítésére.',\r\n modalBtnSave: 'Beállítások mentése',\r\n modalBtnAcceptAll: 'Minden Süti elfogadása',\r\n modalAffectedSolutions: 'Mire lesz ez hatással:',\r\n learnMore: 'Tudj meg többet',\r\n on: 'Be',\r\n off: 'Ki',\r\n }\r\n }\r\n },\r\n categories: {},\r\n services: {}\r\n }\r\n\r\n this.setConfiguration(configObject);\r\n\r\n }\r\n\r\n setConfiguration(configObject) {\r\n // The user overrides the default config\r\n console.log(window.CookieConsent.config, configObject, { ...window.CookieConsent.config, ...configObject });\r\n\r\n this.mergeDeep(window.CookieConsent.config, configObject)\r\n //loMerge(window.CookieConsent.config, configObject);\r\n // The cookie overrides the default and user config\r\n this.cookieToConfig();\r\n\r\n // We tell the world we did this\r\n Utilities.dispatchEvent(document, 'CCConfigSet');\r\n }\r\n\r\n cookieToConfig() {\r\n\r\n function removeReload() {\r\n Utilities.removeCookie();\r\n location.reload();\r\n return false;\r\n }\r\n\r\n document.cookie.split(';').filter((item) => {\r\n\r\n if (item.indexOf('cconsent') >= 0) {\r\n var cookieData = JSON.parse(item.split('=')[1]);\r\n\r\n // We check cookie version. If older we need to renew cookie.\r\n if (typeof cookieData.version === 'undefined') {\r\n return removeReload();\r\n } else {\r\n if (cookieData.version !== window.CookieConsent.config.cookieVersion) {\r\n return removeReload();\r\n }\r\n }\r\n\r\n // We check if cookie data categories also exist in user config\r\n for (let key in cookieData.categories) {\r\n\r\n // The cookie contains category not present in user config so we invalidate cookie\r\n if (typeof window.CookieConsent.config.categories[key] === 'undefined') {\r\n return removeReload();\r\n }\r\n }\r\n\r\n // We check if cookie data services also exist in user config\r\n cookieData.services.forEach(function (service) {\r\n\r\n // The cookie contains service not present in user config so we invalidate cookie\r\n if (typeof window.CookieConsent.config.services[service] === 'undefined') {\r\n return removeReload();\r\n }\r\n });\r\n\r\n // We we integrate cookie data into the global config object\r\n for (let key in cookieData.categories) {\r\n window.CookieConsent.config.categories[key].checked = window.CookieConsent.config.categories[key].wanted = (cookieData.categories[key].wanted === true) ? true : false;\r\n }\r\n\r\n window.CookieConsent.config.cookieExists = true;\r\n return true;\r\n }\r\n });\r\n\r\n return false;\r\n }\r\n\r\n\r\n // Simple object check.\r\n isObject(item) {\r\n return (item && typeof item === 'object' && !Array.isArray(item));\r\n }\r\n\r\n //Deep merge two objects.\r\n mergeDeep(target, ...sources) {\r\n if (!sources.length) return target;\r\n const source = sources.shift();\r\n\r\n if (this.isObject(target) && this.isObject(source)) {\r\n for (const key in source) {\r\n if (this.isObject(source[key])) {\r\n if (!target[key]) Object.assign(target, { [key]: {} });\r\n this.mergeDeep(target[key], source[key]);\r\n } else {\r\n Object.assign(target, { [key]: source[key] });\r\n }\r\n }\r\n }\r\n\r\n return this.mergeDeep(target, ...sources);\r\n }\r\n}\r\n","import Utilities from \"./Utilities\";\r\n\r\nexport default class RemoveCookies {\r\n\r\n init() {\r\n this.removeUnwantedCookies();\r\n }\r\n\r\n removeUnwantedCookies() {\r\n let cookieList = [];\r\n let config = window.CookieConsent.config;\r\n\r\n document.cookie.split(';').map(function(a){\r\n cookieList.push(a.split('=')[0].replace(/(^\\s*)|(\\s*&)/, ''));\r\n });\r\n\r\n for(let service in config.services) {\r\n if (Utilities.objectType(config.services[service].cookies) === 'Array') {\r\n // Remove cookies if they are not wanted by user\r\n if (! config.categories[config.services[service].category].wanted) {\r\n for(let i in config.services[service].cookies) {\r\n let type = Utilities.objectType(config.services[service].cookies[i].name);\r\n if (type === 'String') {\r\n if (cookieList.indexOf(config.services[service].cookies[i].name) > -1) {\r\n this.removeCookie(config.services[service].cookies[i]);\r\n }\r\n } else if (type === 'RegExp') {\r\n // Searching cookie list for cookies matching specified RegExp\r\n let cookieDef = config.services[service].cookies[i];\r\n for (let c in cookieList) {\r\n if (cookieList[c].match(cookieDef.name)) {\r\n this.removeCookie({\r\n name: cookieList[c],\r\n domain: Utilities.objectType(cookieDef.domain) === 'String' ? cookieDef.domain : null\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n removeCookie(cookie) {\r\n // Removing cookies from domain and .domain\r\n let domain = Utilities.objectType(cookie.domain) === 'String' ? `domain=${cookie.domain};` : '';\r\n document.cookie = `${cookie.name}=; expires=Thu, 01 Jan 1980 00:00:00 UTC; ${domain} path=/;`;\r\n }\r\n}\r\n","import InsertScriptFilter from './InsertScriptFilter';\r\nimport ScriptTagFilter from './ScriptTagFilter';\r\nimport WrapperFilter from './WrapperFilter';\r\nimport LocalCookieFilter from './LocalCookieFilter';\r\nimport Interface from './Interface';\r\nimport Configuration from './Configuration';\r\nimport RemoveCookies from './RemoveCookies';\r\n\r\nexport default class CookieConsent {\r\n\r\n init(configObject) {\r\n new Configuration(configObject);\r\n\r\n const removeCookies = new RemoveCookies();\r\n const insertScriptFilter = new InsertScriptFilter();\r\n const scriptTagFilter = new ScriptTagFilter();\r\n const wrapperFilter = new WrapperFilter();\r\n const localCookieFilter = new LocalCookieFilter();\r\n\r\n removeCookies.init();\r\n insertScriptFilter.init();\r\n scriptTagFilter.init();\r\n wrapperFilter.init();\r\n localCookieFilter.init();\r\n\r\n const UI = new Interface();\r\n\r\n UI.buildInterface(() => {\r\n UI.addEventListeners();\r\n });\r\n }\r\n\r\n}","import 'core-js/es6/symbol';\r\nimport 'core-js/fn/symbol/iterator';\r\nimport CookieConsent from './lib/CookieConsent';\r\n\r\nconst cookieConsent = new CookieConsent();\r\n\r\nwindow.CookieConsent = window.CookieConsent || {};\r\nwindow.CookieConsent.init = cookieConsent.init;\r\n\r\n"]} \ No newline at end of file