1
|
{"version":3,"sources":["webpack:///./node_modules/core-js/modules/es.function.name.js","webpack:///./node_modules/core-js/modules/es.string.trim.js","webpack:///./node_modules/core-js/internals/forced-string-trim-method.js","webpack:///./node_modules/core-js/modules/es.number.constructor.js","webpack:///./node_modules/core-js/modules/es.array.map.js","webpack:///./node_modules/core-js/modules/es.array.for-each.js","webpack:///./node_modules/core-js/modules/es.array.splice.js","webpack:///./node_modules/@nextcloud/vue/dist/Components/Modal.js","webpack:///./node_modules/@nextcloud/l10n/dist/gettext.js","webpack:///./node_modules/node-gettext/lib/gettext.js","webpack:///./node_modules/lodash.get/index.js","webpack:///./node_modules/node-gettext/lib/plurals.js","webpack:///./node_modules/@nextcloud/l10n/dist/index.js","webpack:///./node_modules/hammerjs/hammer.js"],"names":["DESCRIPTORS","defineProperty","f","FunctionPrototype","Function","prototype","FunctionPrototypeToString","toString","nameRE","configurable","get","call","this","match","error","$","$trim","trim","target","proto","forced","forcedStringTrimMethod","fails","whitespaces","module","exports","METHOD_NAME","name","global","isForced","redefine","has","classof","inheritIfRequired","toPrimitive","create","getOwnPropertyNames","getOwnPropertyDescriptor","NativeNumber","NumberPrototype","BROKEN_CLASSOF","toNumber","argument","first","third","radix","maxCode","digits","length","index","code","it","charCodeAt","NaN","slice","parseInt","key","NumberWrapper","value","arguments","dummy","valueOf","keys","split","j","constructor","$map","map","HAS_SPECIES_SUPPORT","arrayMethodHasSpeciesSupport","USES_TO_LENGTH","0","callbackfn","undefined","forEach","toAbsoluteIndex","toInteger","toLength","toObject","arraySpeciesCreate","createProperty","max","Math","min","splice","start","deleteCount","insertCount","actualDeleteCount","A","k","from","to","O","len","actualStart","argumentsLength","TypeError","window","e","t","s","n","i","l","m","c","d","o","Object","enumerable","r","Symbol","toStringTag","__esModule","bind","default","hasOwnProperty","p","a","options","render","staticRenderFns","_compiled","functional","_scopeId","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","beforeCreate","concat","btoa","unescape","encodeURIComponent","JSON","stringify","sources","sourceRoot","join","push","id","css","media","sourceMap","parts","u","document","DEBUG","Error","head","getElementsByTagName","g","navigator","test","userAgent","toLowerCase","refs","createElement","type","appendChild","querySelector","parentNode","removeChild","M","w","v","h","filter","Boolean","styleSheet","cssText","createTextNode","childNodes","insertBefore","setAttribute","ssrId","firstChild","hash","needQuotes","replace","VTooltip","defaultTemplate","defaultHtml","getGettextBuilder","detectLocale","locale","json","charset","headers","Language","translations","msgid","comments","translator","msgstr","reference","Choose","Close","Next","Previous","Settings","addTranslation","build","ngettext","gettext","before","$slots","text","util","warn","$destroy","$el","remove","beforeUpdate","getText","data","computed","isLongText","methods","random","substr","$parent","mixins","props","icon","String","title","closeAfterClick","isIconUrl","URL","onClick","$emit","closeMenu","b","locals","mounted","Array","isArray","getBoundingClientRect","documentElement","clientHeight","clientWidth","assign","top","left","bottom","right","any","all","offsetY","offsetX","componentOptions","tag","indexOf","directives","ClickOutside","directive","tooltip","open","forceMenu","menuAlign","validator","defaultIcon","actions","opened","focusIndex","randomId","offsetYArrow","rotateArrow","children","$children","hasMultipleActions","isValidSingleAction","firstActionElement","firstActionVNode","firstAction","firstActionBinding","is","href","exact","firstActionEvent","listeners","click","firstActionEventBinding","firstActionClass","staticClass","class","watch","$nextTick","onOpen","beforeMount","initActions","toggleMenu","focusFirstAction","$refs","menu","round","onMouseFocusAction","activeElement","closest","querySelectorAll","focusAction","removeCurrentActive","classList","focus","focusPreviousAction","focusNextAction","focusLastAction","execFirstAction","$createElement","_self","_c","_b","rawName","expression","modifiers","auto","attrs","rel","on","_d","hidden","_t","keydown","_k","keyCode","ctrlKey","shiftKey","altKey","metaKey","preventDefault","_v","ref","style","marginRight","marginTop","tabindex","mousemove","transform","_e","disabled","isFocusable","focusable","backgroundImage","_s","domProps","textContent","Date","setTimeout","pause","clearTimeout","clear","getTimeLeft","getStateRunning","components","Actions","ActionButton","hasPrevious","hasNext","outTransition","enableSlideshow","clearViewDelay","Number","slideshowDelay","slideshowPaused","enableSwipe","spreadNavigation","size","canClose","dark","mc","showModal","clearView","clearViewTimeout","playing","slideshowTimeout","modalTransitionName","playPauseTitle","addEventListener","handleKeydown","beforeDestroy","removeEventListener","handleMouseMove","mask","handleSwipe","body","lastChild","unmounted","off","destroy","previous","resetSlideshow","next","close","togglePlayPause","handleSlideshow","clearSlideshowTimeout","touchmove","invisible","height","width","stroke","fill","cx","cy","currentTarget","GettextBuilder","obj","_nodeGettext","_","_classCallCheck","instance","Constructor","_defineProperties","descriptor","writable","_createClass","protoProps","staticProps","language","setLanguage","getLanguage","GettextWrapper","gt","addTranslations","setLocale","translated","vars","original","placeholders","subtitudePlaceholders","singular","plural","count","plurals","Gettext","catalogs","domain","debug","process","env","eventName","callback","listener","emit","eventData","message","console","setTextDomain","dnpgettext","dgettext","msgidPlural","dngettext","pgettext","msgctxt","dpgettext","npgettext","translation","defaultTranslation","isNaN","_getTranslation","pluralsFunc","getLanguageCode","getComment","textdomain","setlocale","setLomain","addTextdomain","reIsDeepProp","reIsPlainProp","reLeadingDot","rePropName","reEscapeChar","reIsHostCtor","freeGlobal","freeSelf","self","root","uid","arrayProto","funcProto","objectProto","coreJsData","maskSrcKey","exec","IE_PROTO","funcToString","objectToString","reIsNative","RegExp","Map","getNative","nativeCreate","symbolProto","symbolToString","Hash","entries","entry","set","ListCache","MapCache","assocIndexOf","array","other","baseGet","object","path","isSymbol","isKey","stringToPath","toKey","baseIsNative","isObject","func","isFunction","result","isHostObject","toSource","getMapData","__data__","getValue","pop","memoize","string","baseToString","number","quote","resolver","memoized","args","apply","cache","Cache","isObjectLike","defaultValue","ach","examples","sample","nplurals","pluralsText","af","ak","am","an","ar","arn","ast","ay","az","be","bg","bn","bo","br","brx","bs","ca","cgg","cs","csb","da","de","doi","dz","el","en","eo","es","et","eu","fa","ff","fi","fil","fo","fr","fur","fy","ga","gd","gl","gu","gun","ha","he","hi","hne","hr","hu","hy","ja","jbo","jv","ka","kk","km","kn","ko","ku","kw","ky","lb","ln","lo","lt","lv","mai","mfe","mg","mi","mk","ml","mn","mni","mnk","mr","ms","mt","my","nah","nap","nb","ne","nl","nn","no","nso","oc","or","pa","pap","pl","pms","ps","pt","rm","ro","ru","rw","sah","sat","sco","sd","se","si","sk","sl","so","son","sq","sr","su","sv","sw","ta","te","tg","th","ti","tk","tr","tt","ug","uk","ur","uz","vi","wa","wo","yo","zh","getLocale","OC","translate","app","L10N","translatePlural","textSingular","textPlural","getFirstDay","firstDay","getDayNames","dayNames","getDayNamesShort","dayNamesShort","getDayNamesMin","dayNamesMin","getMonthNames","monthNames","getMonthNamesShort","monthNamesShort","exportName","VENDOR_PREFIXES","TEST_ELEMENT","abs","now","setTimeoutContext","fn","timeout","context","bindFn","invokeArrayArg","arg","each","iterator","deprecate","method","deprecationMessage","stack","log","output","source","nextKey","extend","dest","src","merge","inherit","child","base","properties","childP","baseP","_super","boolOrFn","val","ifUndefined","val1","val2","addEventListeners","types","handler","splitStr","removeEventListeners","hasParent","node","inStr","str","find","inArray","findByKey","toArray","uniqueArray","sort","results","values","prefixed","property","prefix","prop","camelProp","toUpperCase","_uniqueId","getWindowForElement","element","doc","ownerDocument","defaultView","parentWindow","SUPPORT_TOUCH","SUPPORT_POINTER_EVENTS","SUPPORT_ONLY_TOUCH","PROPS_XY","PROPS_CLIENT_XY","Input","manager","inputTarget","domHandler","ev","enable","init","inputHandler","eventType","input","pointersLen","pointers","changedPointersLen","changedPointers","isFirst","isFinal","session","pointersLength","firstInput","simpleCloneInputData","firstMultiple","offsetCenter","center","getCenter","timeStamp","deltaTime","angle","getAngle","distance","getDistance","offset","offsetDelta","prevDelta","prevInput","x","deltaX","y","deltaY","computeDeltaXY","offsetDirection","getDirection","overallVelocity","getVelocity","overallVelocityX","overallVelocityY","scale","end","rotation","getRotation","maxPointers","velocity","velocityX","velocityY","direction","last","lastInterval","computeIntervalInputData","srcEvent","computeInputData","recognize","clientX","clientY","p1","p2","sqrt","atan2","PI","evEl","evTarget","evWin","MOUSE_INPUT_MAP","mousedown","mouseup","MouseInput","pressed","button","which","pointerType","POINTER_INPUT_MAP","pointerdown","pointermove","pointerup","pointercancel","pointerout","IE10_POINTER_TYPE_ENUM","2","3","4","5","POINTER_ELEMENT_EVENTS","POINTER_WINDOW_EVENTS","PointerEventInput","store","pointerEvents","MSPointerEvent","PointerEvent","removePointer","eventTypeNormalized","isTouch","storeIndex","pointerId","SINGLE_TOUCH_INPUT_MAP","touchstart","touchend","touchcancel","SingleTouchInput","started","normalizeSingleTouches","touches","changed","changedTouches","TOUCH_INPUT_MAP","TouchInput","targetIds","getTouches","allTouches","identifier","targetTouches","changedTargetTouches","touch","TouchMouseInput","mouse","primaryTouch","lastTouches","recordTouches","setLastTouch","lastTouch","lts","isSyntheticEvent","dx","dy","inputEvent","inputData","isMouse","sourceCapabilities","firesTouchEvents","PREFIXED_TOUCH_ACTION","NATIVE_TOUCH_ACTION","TOUCH_ACTION_MAP","touchMap","cssSupports","CSS","supports","getTouchActionProps","TouchAction","compute","update","touchAction","recognizers","recognizer","getTouchAction","hasPanX","hasPanY","cleanTouchActions","preventDefaults","prevented","hasNone","isTapPointer","isTapMovement","isTapTouchTime","DIRECTION_LEFT","DIRECTION_UP","preventSrc","Recognizer","defaults","state","simultaneous","requireFail","stateStr","directionStr","getRecognizerByNameIfManager","otherRecognizer","AttrRecognizer","PanRecognizer","pX","pY","PinchRecognizer","PressRecognizer","_timer","_input","RotateRecognizer","SwipeRecognizer","TapRecognizer","pTime","pCenter","Hammer","preset","Manager","recognizeWith","dropRecognizeWith","requireFailure","dropRequireFailure","hasRequireFailures","canRecognizeWith","event","additionalEvent","tryEmit","canEmit","inputDataClone","reset","attrTest","optionPointers","isRecognized","isValid","threshold","DIRECTION_HORIZONTAL","directionTest","hasMoved","inOut","time","validPointers","validMovement","validTime","taps","interval","posThreshold","validTouchTime","failTimeout","validInterval","validMultiTap","tapCount","VERSION","domEvents","inputClass","cssProps","userSelect","touchSelect","touchCallout","contentZooming","userDrag","tapHighlightColor","handlers","oldCssProps","toggleCssProps","item","stop","force","stopped","curRecognizer","existing","events","gestureEvent","createEvent","initEvent","gesture","dispatchEvent","triggerDomEvent","INPUT_START","INPUT_MOVE","INPUT_END","INPUT_CANCEL","STATE_POSSIBLE","STATE_BEGAN","STATE_CHANGED","STATE_ENDED","STATE_RECOGNIZED","STATE_CANCELLED","STATE_FAILED","DIRECTION_NONE","DIRECTION_RIGHT","DIRECTION_DOWN","DIRECTION_VERTICAL","DIRECTION_ALL","Tap","Pan","Swipe","Pinch","Rotate","Press"],"mappings":"uFAAA,IAAIA,EAAc,EAAQ,GACtBC,EAAiB,EAAQ,GAAuCC,EAEhEC,EAAoBC,SAASC,UAC7BC,EAA4BH,EAAkBI,SAC9CC,EAAS,yBAKTR,GAJO,SAIkBG,GAC3BF,EAAeE,EALN,OAK+B,CACtCM,cAAc,EACdC,IAAK,WACH,IACE,OAAOJ,EAA0BK,KAAKC,MAAMC,MAAML,GAAQ,GAC1D,MAAOM,GACP,MAAO,Q,iCChBf,IAAIC,EAAI,EAAQ,IACZC,EAAQ,EAAQ,KAA4BC,KAKhDF,EAAE,CAAEG,OAAQ,SAAUC,OAAO,EAAMC,OAJN,EAAQ,IAIMC,CAAuB,SAAW,CAC3EJ,KAAM,WACJ,OAAOD,EAAMJ,U,oBCTjB,IAAIU,EAAQ,EAAQ,GAChBC,EAAc,EAAQ,KAM1BC,EAAOC,QAAU,SAAUC,GACzB,OAAOJ,GAAM,WACX,QAASC,EAAYG,MANf,aAMqCA,MAAyBH,EAAYG,GAAaC,OAASD,O,iCCR1G,IAAI1B,EAAc,EAAQ,GACtB4B,EAAS,EAAQ,GACjBC,EAAW,EAAQ,IACnBC,EAAW,EAAQ,IACnBC,EAAM,EAAQ,GACdC,EAAU,EAAQ,IAClBC,EAAoB,EAAQ,KAC5BC,EAAc,EAAQ,IACtBZ,EAAQ,EAAQ,GAChBa,EAAS,EAAQ,IACjBC,EAAsB,EAAQ,IAA8ClC,EAC5EmC,EAA2B,EAAQ,IAAmDnC,EACtFD,EAAiB,EAAQ,GAAuCC,EAChEe,EAAO,EAAQ,KAA4BA,KAG3CqB,EAAeV,EAAa,OAC5BW,EAAkBD,EAAajC,UAG/BmC,EALS,UAKQR,EAAQG,EAAOI,IAIhCE,EAAW,SAAUC,GACvB,IACIC,EAAOC,EAAOC,EAAOC,EAASC,EAAQC,EAAQC,EAAOC,EADrDC,EAAKjB,EAAYQ,GAAU,GAE/B,GAAiB,iBAANS,GAAkBA,EAAGH,OAAS,EAGvC,GAAc,MADdL,GADAQ,EAAKlC,EAAKkC,IACCC,WAAW,KACQ,KAAVT,GAElB,GAAc,MADdC,EAAQO,EAAGC,WAAW,KACQ,MAAVR,EAAe,OAAOS,SACrC,GAAc,KAAVV,EAAc,CACvB,OAAQQ,EAAGC,WAAW,IACpB,KAAK,GAAI,KAAK,GAAIP,EAAQ,EAAGC,EAAU,GAAI,MAC3C,KAAK,GAAI,KAAK,IAAKD,EAAQ,EAAGC,EAAU,GAAI,MAC5C,QAAS,OAAQK,EAInB,IADAH,GADAD,EAASI,EAAGG,MAAM,IACFN,OACXC,EAAQ,EAAGA,EAAQD,EAAQC,IAI9B,IAHAC,EAAOH,EAAOK,WAAWH,IAGd,IAAMC,EAAOJ,EAAS,OAAOO,IACxC,OAAOE,SAASR,EAAQF,GAE5B,OAAQM,GAKZ,GAAItB,EAtCS,UAsCSS,EAAa,UAAYA,EAAa,QAAUA,EAAa,SAAU,CAS3F,IARA,IAcqBkB,EAdjBC,EAAgB,SAAgBC,GAClC,IAAIP,EAAKQ,UAAUX,OAAS,EAAI,EAAIU,EAChCE,EAAQhD,KACZ,OAAOgD,aAAiBH,IAElBjB,EAAiBlB,GAAM,WAAciB,EAAgBsB,QAAQlD,KAAKiD,MA5C/D,UA4C4E5B,EAAQ4B,IACvF3B,EAAkB,IAAIK,EAAaG,EAASU,IAAMS,EAAOH,GAAiBhB,EAASU,IAElFW,EAAO9D,EAAcoC,EAAoBE,GAAgB,6KAMhEyB,MAAM,KAAMC,EAAI,EAAQF,EAAKd,OAASgB,EAAGA,IACrCjC,EAAIO,EAAckB,EAAMM,EAAKE,MAAQjC,EAAI0B,EAAeD,IAC1DvD,EAAewD,EAAeD,EAAKnB,EAAyBC,EAAckB,IAG9EC,EAAcpD,UAAYkC,EAC1BA,EAAgB0B,YAAcR,EAC9B3B,EAASF,EA5DE,SA4Dc6B,K,iCC3E3B,IAAI1C,EAAI,EAAQ,IACZmD,EAAO,EAAQ,IAAgCC,IAC/C7C,EAAQ,EAAQ,GAGhB8C,EAF+B,EAAQ,GAEjBC,CAA6B,OAEnDC,EAAiBF,IAAwB9C,GAAM,WACjD,GAAG6C,IAAIxD,KAAK,CAAEqC,QAAS,EAAGuB,EAAG,IAAK,SAAUpB,GAAM,MAAMA,QAM1DpC,EAAE,CAAEG,OAAQ,QAASC,OAAO,EAAMC,QAASgD,IAAwBE,GAAkB,CACnFH,IAAK,SAAaK,GAChB,OAAON,EAAKtD,KAAM4D,EAAYb,UAAUX,OAAS,EAAIW,UAAU,QAAKc,O,iCChBxE,IAAI1D,EAAI,EAAQ,IACZ2D,EAAU,EAAQ,KAItB3D,EAAE,CAAEG,OAAQ,QAASC,OAAO,EAAMC,OAAQ,GAAGsD,SAAWA,GAAW,CACjEA,QAASA,K,iCCNX,IAAI3D,EAAI,EAAQ,IACZ4D,EAAkB,EAAQ,IAC1BC,EAAY,EAAQ,IACpBC,EAAW,EAAQ,IACnBC,EAAW,EAAQ,IACnBC,EAAqB,EAAQ,IAC7BC,EAAiB,EAAQ,IACzBX,EAA+B,EAAQ,IAEvCY,EAAMC,KAAKD,IACXE,EAAMD,KAAKC,IAOfpE,EAAE,CAAEG,OAAQ,QAASC,OAAO,EAAMC,QAASiD,EAA6B,WAAa,CACnFe,OAAQ,SAAgBC,EAAOC,GAC7B,IAIIC,EAAaC,EAAmBC,EAAGC,EAAGC,EAAMC,EAJ5CC,EAAIf,EAASlE,MACbkF,EAAMjB,EAASgB,EAAE7C,QACjB+C,EAAcpB,EAAgBU,EAAOS,GACrCE,EAAkBrC,UAAUX,OAWhC,GATwB,IAApBgD,EACFT,EAAcC,EAAoB,EACL,IAApBQ,GACTT,EAAc,EACdC,EAAoBM,EAAMC,IAE1BR,EAAcS,EAAkB,EAChCR,EAAoBL,EAAIF,EAAIL,EAAUU,GAAc,GAAIQ,EAAMC,IAE5DD,EAAMP,EAAcC,EAtBL,iBAuBjB,MAAMS,UAtB0B,mCAyBlC,IADAR,EAAIV,EAAmBc,EAAGL,GACrBE,EAAI,EAAGA,EAAIF,EAAmBE,KACjCC,EAAOI,EAAcL,KACTG,GAAGb,EAAeS,EAAGC,EAAGG,EAAEF,IAGxC,GADAF,EAAEzC,OAASwC,EACPD,EAAcC,EAAmB,CACnC,IAAKE,EAAIK,EAAaL,EAAII,EAAMN,EAAmBE,IAEjDE,EAAKF,EAAIH,GADTI,EAAOD,EAAIF,KAECK,EAAGA,EAAED,GAAMC,EAAEF,UACbE,EAAED,GAEhB,IAAKF,EAAII,EAAKJ,EAAII,EAAMN,EAAoBD,EAAaG,WAAYG,EAAEH,EAAI,QACtE,GAAIH,EAAcC,EACvB,IAAKE,EAAII,EAAMN,EAAmBE,EAAIK,EAAaL,IAEjDE,EAAKF,EAAIH,EAAc,GADvBI,EAAOD,EAAIF,EAAoB,KAEnBK,EAAGA,EAAED,GAAMC,EAAEF,UACbE,EAAED,GAGlB,IAAKF,EAAI,EAAGA,EAAIH,EAAaG,IAC3BG,EAAEH,EAAIK,GAAepC,UAAU+B,EAAI,GAGrC,OADAG,EAAE7C,OAAS8C,EAAMN,EAAoBD,EAC9BE,M,oBC/DoRS,OAA9N1E,EAAOC,QAAiP,SAAS0E,GAAG,IAAIC,EAAE,GAAG,SAASX,EAAEY,GAAG,GAAGD,EAAEC,GAAG,OAAOD,EAAEC,GAAG5E,QAAQ,IAAI6E,EAAEF,EAAEC,GAAG,CAACE,EAAEF,EAAEG,GAAE,EAAG/E,QAAQ,IAAI,OAAO0E,EAAEE,GAAG1F,KAAK2F,EAAE7E,QAAQ6E,EAAEA,EAAE7E,QAAQgE,GAAGa,EAAEE,GAAE,EAAGF,EAAE7E,QAAQ,OAAOgE,EAAEgB,EAAEN,EAAEV,EAAEiB,EAAEN,EAAEX,EAAEkB,EAAE,SAASR,EAAEC,EAAEC,GAAGZ,EAAEmB,EAAET,EAAEC,IAAIS,OAAO5G,eAAekG,EAAEC,EAAE,CAACU,YAAW,EAAGpG,IAAI2F,KAAKZ,EAAEsB,EAAE,SAASZ,GAAG,oBAAoBa,QAAQA,OAAOC,aAAaJ,OAAO5G,eAAekG,EAAEa,OAAOC,YAAY,CAACvD,MAAM,WAAWmD,OAAO5G,eAAekG,EAAE,aAAa,CAACzC,OAAM,KAAM+B,EAAEW,EAAE,SAASD,EAAEC,GAAG,GAAG,EAAEA,IAAID,EAAEV,EAAEU,IAAI,EAAEC,EAAE,OAAOD,EAAE,GAAG,EAAEC,GAAG,iBAAiBD,GAAGA,GAAGA,EAAEe,WAAW,OAAOf,EAAE,IAAIE,EAAEQ,OAAO1E,OAAO,MAAM,GAAGsD,EAAEsB,EAAEV,GAAGQ,OAAO5G,eAAeoG,EAAE,UAAU,CAACS,YAAW,EAAGpD,MAAMyC,IAAI,EAAEC,GAAG,iBAAiBD,EAAE,IAAI,IAAIG,KAAKH,EAAEV,EAAEkB,EAAEN,EAAEC,EAAE,SAASF,GAAG,OAAOD,EAAEC,IAAIe,KAAK,KAAKb,IAAI,OAAOD,GAAGZ,EAAEa,EAAE,SAASH,GAAG,IAAIC,EAAED,GAAGA,EAAEe,WAAW,WAAW,OAAOf,EAAEiB,SAAS,WAAW,OAAOjB,GAAG,OAAOV,EAAEkB,EAAEP,EAAE,IAAIA,GAAGA,GAAGX,EAAEmB,EAAE,SAAST,EAAEC,GAAG,OAAOS,OAAOxG,UAAUgH,eAAe1G,KAAKwF,EAAEC,IAAIX,EAAE6B,EAAE,SAAS7B,EAAEA,EAAEY,EAAE,KAAv5B,CAA65B,CAAC,SAASF,EAAEC,EAAEX,GAAG,aAAa,SAASY,EAAEF,EAAEC,EAAEX,EAAEY,EAAEC,EAAEM,EAAEW,EAAEhB,GAAG,IAAIQ,EAAEL,EAAE,mBAAmBP,EAAEA,EAAEqB,QAAQrB,EAAE,GAAGC,IAAIM,EAAEe,OAAOrB,EAAEM,EAAEgB,gBAAgBjC,EAAEiB,EAAEiB,WAAU,GAAItB,IAAIK,EAAEkB,YAAW,GAAIhB,IAAIF,EAAEmB,SAAS,UAAUjB,GAAGW,GAAGR,EAAE,SAASZ,IAAIA,EAAEA,GAAGvF,KAAKkH,QAAQlH,KAAKkH,OAAOC,YAAYnH,KAAKoH,QAAQpH,KAAKoH,OAAOF,QAAQlH,KAAKoH,OAAOF,OAAOC,aAAa,oBAAoBE,sBAAsB9B,EAAE8B,qBAAqB3B,GAAGA,EAAE3F,KAAKC,KAAKuF,GAAGA,GAAGA,EAAE+B,uBAAuB/B,EAAE+B,sBAAsBC,IAAIZ,IAAIb,EAAE0B,aAAarB,GAAGT,IAAIS,EAAER,EAAE,WAAWD,EAAE3F,KAAKC,KAAKA,KAAKyH,MAAMC,SAASC,aAAajC,GAAGS,EAAE,GAAGL,EAAEkB,WAAW,CAAClB,EAAE8B,cAAczB,EAAE,IAAIP,EAAEE,EAAEe,OAAOf,EAAEe,OAAO,SAAStB,EAAEC,GAAG,OAAOW,EAAEpG,KAAKyF,GAAGI,EAAEL,EAAEC,QAAQ,CAAC,IAAIK,EAAEC,EAAE+B,aAAa/B,EAAE+B,aAAahC,EAAE,GAAGiC,OAAOjC,EAAEM,GAAG,CAACA,GAAG,MAAM,CAACtF,QAAQ0E,EAAEqB,QAAQd,GAAGjB,EAAEkB,EAAEP,EAAE,KAAI,WAAY,OAAOC,MAAM,SAASF,EAAEC,EAAEX,GAAG,aAAaU,EAAE1E,QAAQ,SAAS0E,GAAG,IAAIC,EAAE,GAAG,OAAOA,EAAE7F,SAAS,WAAW,OAAOK,KAAKuD,KAAI,SAAUiC,GAAG,IAAIX,EAAE,SAASU,EAAEC,GAAG,IAAyXmB,EAAEhB,EAAEQ,EAAzXtB,EAAEU,EAAE,IAAI,GAAGE,EAAEF,EAAE,GAAG,IAAIE,EAAE,OAAOZ,EAAE,GAAGW,GAAG,mBAAmBuC,KAAK,CAAC,IAAIrC,GAAGiB,EAAElB,EAAEE,EAAEoC,KAAKC,SAASC,mBAAmBC,KAAKC,UAAUxB,MAAMR,EAAE,+DAA+D2B,OAAOnC,GAAG,OAAOmC,OAAO3B,EAAE,QAAQH,EAAEP,EAAE2C,QAAQ7E,KAAI,SAAUgC,GAAG,MAAM,iBAAiBuC,OAAOrC,EAAE4C,YAAY,IAAIP,OAAOvC,EAAE,UAAU,MAAM,CAACV,GAAGiD,OAAO9B,GAAG8B,OAAO,CAACpC,IAAI4C,KAAK,MAAgB,MAAM,CAACzD,GAAGyD,KAAK,MAA5Z,CAAma9C,EAAED,GAAG,OAAOC,EAAE,GAAG,UAAUsC,OAAOtC,EAAE,GAAG,MAAMsC,OAAOjD,EAAE,KAAKA,KAAKyD,KAAK,KAAK9C,EAAEG,EAAE,SAASJ,EAAEV,EAAEY,GAAG,iBAAiBF,IAAIA,EAAE,CAAC,CAAC,KAAKA,EAAE,MAAM,IAAIG,EAAE,GAAG,GAAGD,EAAE,IAAI,IAAIO,EAAE,EAAEA,EAAEhG,KAAKoC,OAAO4D,IAAI,CAAC,IAAIW,EAAE3G,KAAKgG,GAAG,GAAG,MAAMW,IAAIjB,EAAEiB,IAAG,GAAI,IAAI,IAAIhB,EAAE,EAAEA,EAAEJ,EAAEnD,OAAOuD,IAAI,CAAC,IAAIQ,EAAE,GAAG2B,OAAOvC,EAAEI,IAAIF,GAAGC,EAAES,EAAE,MAAMtB,IAAIsB,EAAE,GAAGA,EAAE,GAAG,GAAG2B,OAAOjD,EAAE,SAASiD,OAAO3B,EAAE,IAAIA,EAAE,GAAGtB,GAAGW,EAAE+C,KAAKpC,MAAMX,IAAI,SAASD,EAAEC,EAAEX,GAAG,aAAa,SAASY,EAAEF,EAAEC,GAAG,IAAI,IAAIX,EAAE,GAAGY,EAAE,GAAGC,EAAE,EAAEA,EAAEF,EAAEpD,OAAOsD,IAAI,CAAC,IAAIM,EAAER,EAAEE,GAAGiB,EAAEX,EAAE,GAAGL,EAAE,CAAC6C,GAAGjD,EAAE,IAAIG,EAAE+C,IAAIzC,EAAE,GAAG0C,MAAM1C,EAAE,GAAG2C,UAAU3C,EAAE,IAAIP,EAAEkB,GAAGlB,EAAEkB,GAAGiC,MAAML,KAAK5C,GAAGd,EAAE0D,KAAK9C,EAAEkB,GAAG,CAAC6B,GAAG7B,EAAEiC,MAAM,CAACjD,KAAK,OAAOd,EAAEA,EAAEsB,EAAEX,GAAGX,EAAEkB,EAAEP,EAAE,WAAU,WAAY,OAAOqD,KAAK,IAAInD,EAAE,oBAAoBoD,SAAS,GAAG,oBAAoBC,OAAOA,QAAQrD,EAAE,MAAM,IAAIsD,MAAM,2JAA2J,IAAIhD,EAAE,GAAGW,EAAEjB,IAAIoD,SAASG,MAAMH,SAASI,qBAAqB,QAAQ,IAAIvD,EAAE,KAAKQ,EAAE,EAAEL,GAAE,EAAGF,EAAE,aAAaC,EAAE,KAAKsD,EAAE,oBAAoBC,WAAW,eAAeC,KAAKD,UAAUE,UAAUC,eAAe,SAASV,EAAEtD,EAAEC,EAAEX,EAAEa,GAAGI,EAAEjB,EAAEgB,EAAEH,GAAG,GAAG,IAAIiB,EAAElB,EAAEF,EAAEC,GAAG,OAAOO,EAAEY,GAAG,SAASnB,GAAG,IAAI,IAAIX,EAAE,GAAGa,EAAE,EAAEA,EAAEiB,EAAEvE,OAAOsD,IAAI,CAAC,IAAIC,EAAEgB,EAAEjB,IAAIS,EAAEH,EAAEL,EAAE6C,KAAKgB,OAAO3E,EAAE0D,KAAKpC,GAAsB,IAAnBX,EAAEO,EAAEY,EAAElB,EAAEF,EAAEC,IAAImB,EAAE,GAAOjB,EAAE,EAAEA,EAAEb,EAAEzC,OAAOsD,IAAI,CAAC,IAAIS,EAAE,GAAG,KAAKA,EAAEtB,EAAEa,IAAI8D,KAAK,CAAC,IAAI,IAAI1D,EAAE,EAAEA,EAAEK,EAAEyC,MAAMxG,OAAO0D,IAAIK,EAAEyC,MAAM9C,YAAYE,EAAEG,EAAEqC,OAAO,SAASzC,EAAER,GAAG,IAAI,IAAIC,EAAE,EAAEA,EAAED,EAAEnD,OAAOoD,IAAI,CAAC,IAAIX,EAAEU,EAAEC,GAAGC,EAAEO,EAAEnB,EAAE2D,IAAI,GAAG/C,EAAE,CAACA,EAAE+D,OAAO,IAAI,IAAI9D,EAAE,EAAEA,EAAED,EAAEmD,MAAMxG,OAAOsD,IAAID,EAAEmD,MAAMlD,GAAGb,EAAE+D,MAAMlD,IAAI,KAAKA,EAAEb,EAAE+D,MAAMxG,OAAOsD,IAAID,EAAEmD,MAAML,KAAKjJ,EAAEuF,EAAE+D,MAAMlD,KAAKD,EAAEmD,MAAMxG,OAAOyC,EAAE+D,MAAMxG,SAASqD,EAAEmD,MAAMxG,OAAOyC,EAAE+D,MAAMxG,YAAY,CAAC,IAAIuE,EAAE,GAAG,IAAIjB,EAAE,EAAEA,EAAEb,EAAE+D,MAAMxG,OAAOsD,IAAIiB,EAAE4B,KAAKjJ,EAAEuF,EAAE+D,MAAMlD,KAAKM,EAAEnB,EAAE2D,IAAI,CAACA,GAAG3D,EAAE2D,GAAGgB,KAAK,EAAEZ,MAAMjC,KAAK,SAASD,IAAI,IAAInB,EAAEuD,SAASW,cAAc,SAAS,OAAOlE,EAAEmE,KAAK,WAAW/C,EAAEgD,YAAYpE,GAAGA,EAAE,SAASjG,EAAEiG,GAAG,IAAIC,EAAEX,EAAEY,EAAEqD,SAASc,cAAc,2BAA2BrE,EAAEiD,GAAG,MAAM,GAAG/C,EAAE,CAAC,GAAGK,EAAE,OAAOF,EAAEH,EAAEoE,WAAWC,YAAYrE,GAAG,GAAG0D,EAAE,CAAC,IAAIzD,EAAES,IAAIV,EAAEE,IAAIA,EAAEe,KAAKlB,EAAEuE,EAAExD,KAAK,KAAKd,EAAEC,GAAE,GAAIb,EAAEkF,EAAExD,KAAK,KAAKd,EAAEC,GAAE,QAASD,EAAEiB,IAAIlB,EAAEwE,EAAEzD,KAAK,KAAKd,GAAGZ,EAAE,WAAWY,EAAEoE,WAAWC,YAAYrE,IAAI,OAAOD,EAAED,GAAG,SAASE,GAAG,GAAGA,EAAE,CAAC,GAAGA,EAAEgD,MAAMlD,EAAEkD,KAAKhD,EAAEiD,QAAQnD,EAAEmD,OAAOjD,EAAEkD,YAAYpD,EAAEoD,UAAU,OAAOnD,EAAED,EAAEE,QAAQZ,KAAK,IAAIoF,EAAEC,GAAGD,EAAE,GAAG,SAAS1E,EAAEC,GAAG,OAAOyE,EAAE1E,GAAGC,EAAEyE,EAAEE,OAAOC,SAAS9B,KAAK,QAAQ,SAASyB,EAAExE,EAAEC,EAAEX,EAAEY,GAAG,IAAIC,EAAEb,EAAE,GAAGY,EAAEgD,IAAI,GAAGlD,EAAE8E,WAAW9E,EAAE8E,WAAWC,QAAQJ,EAAE1E,EAAEE,OAAO,CAAC,IAAIM,EAAE8C,SAASyB,eAAe7E,GAAGiB,EAAEpB,EAAEiF,WAAW7D,EAAEnB,IAAID,EAAEuE,YAAYnD,EAAEnB,IAAImB,EAAEvE,OAAOmD,EAAEkF,aAAazE,EAAEW,EAAEnB,IAAID,EAAEoE,YAAY3D,IAAI,SAASgE,EAAEzE,EAAEC,GAAG,IAAIX,EAAEW,EAAEiD,IAAIhD,EAAED,EAAEkD,MAAMhD,EAAEF,EAAEmD,UAAU,GAAGlD,GAAGF,EAAEmF,aAAa,QAAQjF,GAAGI,EAAE8E,OAAOpF,EAAEmF,aAAa,kBAAkBlF,EAAEgD,IAAI9C,IAAIb,GAAG,mBAAmBa,EAAE0C,QAAQ,GAAG,MAAMvD,GAAG,uDAAuDkD,KAAKC,SAASC,mBAAmBC,KAAKC,UAAUzC,MAAM,OAAOH,EAAE8E,WAAW9E,EAAE8E,WAAWC,QAAQzF,MAAM,CAAC,KAAKU,EAAEqF,YAAYrF,EAAEuE,YAAYvE,EAAEqF,YAAYrF,EAAEoE,YAAYb,SAASyB,eAAe1F,OAAO,SAASU,EAAEC,GAAGD,EAAE1E,QAAQ,EAAQ,KAAwC,SAAS0E,EAAEC,GAAGD,EAAE1E,QAAQ,EAAQ,MAAc,SAAS0E,EAAEC,GAAGD,EAAE1E,QAAQ,EAAQ,KAAQ,SAAS0E,EAAEC,GAAGD,EAAE1E,QAAQ,EAAQ,MAAqC,SAAS0E,EAAEC,EAAEX,GAAG,aAAaU,EAAE1E,QAAQ,SAAS0E,EAAEC,GAAG,OAAOA,IAAIA,EAAE,IAAI,iBAAiBD,EAAEA,GAAGA,EAAEe,WAAWf,EAAEiB,QAAQjB,GAAGA,GAAG,eAAe8D,KAAK9D,KAAKA,EAAEA,EAAE7C,MAAM,GAAG,IAAI8C,EAAEqF,OAAOtF,GAAGC,EAAEqF,MAAM,cAAcxB,KAAK9D,IAAIC,EAAEsF,WAAW,IAAIhD,OAAOvC,EAAEwF,QAAQ,KAAK,OAAOA,QAAQ,MAAM,OAAO,KAAKxF,KAAK,SAASA,EAAEC,EAAEX,GAAG,aAAaA,EAAEsB,EAAEX,GAAGA,EAAEgB,QAAQ,smHAAsmH,SAASjB,EAAEC,EAAEX,GAAG,aAAaA,EAAEsB,EAAEX,GAAGA,EAAEgB,QAAQ,s6GAAs6G,SAASjB,EAAEC,EAAEX,GAAG,aAAaA,EAAEsB,EAAEX,GAAGA,EAAEgB,QAAQ,q0GAAq0G,SAASjB,EAAEC,EAAEX,GAAG,aAAaA,EAAEsB,EAAEX,GAAGA,EAAEgB,QAAQ,s4JAAs4J,SAASjB,EAAEC,EAAEX,GAAG,aAAaA,EAAEsB,EAAEX,GAAG,IAAIC,EAAEZ,EAAE,GAAGA,EAAE;;;;;;;;;;;;;;;;;;;;;;;AAuBjwqBY,EAAEuF,SAASpE,QAAQqE,gBAAgB,kDAAkDnD,OAAO,UAAU,6EAA6ErC,EAAEuF,SAASpE,QAAQsE,aAAY,EAAG1F,EAAEgB,QAAQf,EAAEuF,UAAU,SAASzF,EAAEC,EAAEX,GAAG,aAAaA,EAAEkB,EAAEP,EAAE,KAAI,WAAY,OAAOmB,KAAK9B,EAAEkB,EAAEP,EAAE,KAAI,WAAY,OAAOG,KAAKd,EAAE,IAAI,IAAIY,EAAEZ,EAAE,IAAIa,EAAEO,OAAOR,EAAE0F,kBAATlF,GAA8BmF,eAAe,CAAC,CAACC,OAAO,QAAQC,KAAK,CAACC,QAAQ,QAAQC,QAAQ,CAAC,kBAAkB,gDAAgD,gBAAgB,kFAAkF,eAAe,4BAA4BC,SAAS,QAAQ,eAAe,gHAAgHC,aAAa,CAAC,GAAG,CAAC,GAAG,CAACC,MAAM,GAAGC,SAAS,CAACC,WAAW,iEAAiEC,OAAO,CAAC,2VAA2V,oBAAoB,CAACH,MAAM,oBAAoBC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,wBAAwB,qBAAqB,CAACH,MAAM,qBAAqBC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,oBAAoBE,OAAO,CAACL,MAAM,SAASC,SAAS,CAACG,UAAU,kDAAkDD,OAAO,CAAC,WAAWG,MAAM,CAACN,MAAM,QAAQC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,WAAWI,KAAK,CAACP,MAAM,OAAOC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,gBAAgB,aAAa,CAACH,MAAM,aAAaC,SAAS,CAACG,UAAU,yGAAyGD,OAAO,CAAC,mBAAmB,kBAAkB,CAACH,MAAM,kBAAkBC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,0BAA0BK,SAAS,CAACR,MAAM,WAAWC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,cAAc,eAAe,CAACH,MAAM,eAAeC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,kBAAkBM,SAAS,CAACT,MAAM,WAAWC,SAAS,CAACG,UAAU,qEAAqED,OAAO,CAAC,cAAc,kBAAkB,CAACH,MAAM,kBAAkBC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,2BAA2B,CAACT,OAAO,KAAKC,KAAK,CAACC,QAAQ,QAAQC,QAAQ,CAAC,kBAAkB,sDAAsD,gBAAgB,+DAA+D,eAAe,4BAA4BC,SAAS,KAAK,eAAe,gCAAgCC,aAAa,CAAC,GAAG,CAAC,GAAG,CAACC,MAAM,GAAGC,SAAS,CAACC,WAAW,wHAAwHC,OAAO,CAAC,2PAA2P,oBAAoB,CAACH,MAAM,oBAAoBC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,uBAAuB,qBAAqB,CAACH,MAAM,qBAAqBC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,0BAA0BE,OAAO,CAACL,MAAM,SAASC,SAAS,CAACG,UAAU,kDAAkDD,OAAO,CAAC,cAAcG,MAAM,CAACN,MAAM,QAAQC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,cAAcI,KAAK,CAACP,MAAM,OAAOC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,WAAW,aAAa,CAACH,MAAM,aAAaC,SAAS,CAACG,UAAU,yGAAyGD,OAAO,CAAC,qBAAqB,kBAAkB,CAACH,MAAM,kBAAkBC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,sBAAsBK,SAAS,CAACR,MAAM,WAAWC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,cAAc,eAAe,CAACH,MAAM,eAAeC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,yBAAyBM,SAAS,CAACT,MAAM,WAAWC,SAAS,CAACG,UAAU,qEAAqED,OAAO,CAAC,kBAAkB,kBAAkB,CAACH,MAAM,kBAAkBC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,wBAAwB,CAACT,OAAO,QAAQC,KAAK,CAACC,QAAQ,QAAQC,QAAQ,CAAC,kBAAkB,sDAAsD,gBAAgB,4EAA4E,eAAe,4BAA4BC,SAAS,QAAQ,eAAe,gCAAgCC,aAAa,CAAC,GAAG,CAAC,GAAG,CAACC,MAAM,GAAGC,SAAS,CAACC,WAAW,wHAAwHC,OAAO,CAAC,2QAA2Q,oBAAoB,CAACH,MAAM,oBAAoBC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,uBAAuB,qBAAqB,CAACH,MAAM,qBAAqBC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,0BAA0BE,OAAO,CAACL,MAAM,SAASC,SAAS,CAACG,UAAU,kDAAkDD,OAAO,CAAC,cAAcG,MAAM,CAACN,MAAM,QAAQC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,cAAcI,KAAK,CAACP,MAAM,OAAOC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,WAAW,aAAa,CAACH,MAAM,aAAaC,SAAS,CAACG,UAAU,yGAAyGD,OAAO,CAAC,qBAAqB,kBAAkB,CAACH,MAAM,kBAAkBC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,sBAAsBK,SAAS,CAACR,MAAM,WAAWC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,cAAc,eAAe,CAACH,MAAM,eAAeC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,yBAAyBM,SAAS,CAACT,MAAM,WAAWC,SAAS,CAACG,UAAU,qEAAqED,OAAO,CAAC,kBAAkB,kBAAkB,CAACH,MAAM,kBAAkBC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,wBAAwB,CAACT,OAAO,KAAKC,KAAK,CAACC,QAAQ,QAAQC,QAAQ,CAAC,kBAAkB,qDAAqD,gBAAgB,8DAA8D,eAAe,4BAA4BC,SAAS,KAAK,eAAe,gCAAgCC,aAAa,CAAC,GAAG,CAAC,GAAG,CAACC,MAAM,GAAGC,SAAS,CAACC,WAAW,sEAAsEC,OAAO,CAAC,yPAAyP,oBAAoB,CAACH,MAAM,oBAAoBC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,mBAAmB,qBAAqB,CAACH,MAAM,qBAAqBC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,yBAAyBE,OAAO,CAACL,MAAM,SAASC,SAAS,CAACG,UAAU,kDAAkDD,OAAO,CAAC,YAAYG,MAAM,CAACN,MAAM,QAAQC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,aAAaI,KAAK,CAACP,MAAM,OAAOC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,YAAY,aAAa,CAACH,MAAM,aAAaC,SAAS,CAACG,UAAU,yGAAyGD,OAAO,CAAC,sBAAsB,kBAAkB,CAACH,MAAM,kBAAkBC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,8BAA8BK,SAAS,CAACR,MAAM,WAAWC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,gBAAgB,eAAe,CAACH,MAAM,eAAeC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,qBAAqBM,SAAS,CAACT,MAAM,WAAWC,SAAS,CAACG,UAAU,qEAAqED,OAAO,CAAC,cAAc,kBAAkB,CAACH,MAAM,kBAAkBC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,mCAAmC,CAACT,OAAO,KAAKC,KAAK,CAACC,QAAQ,QAAQC,QAAQ,CAAC,kBAAkB,6DAA6D,gBAAgB,+DAA+D,eAAe,4BAA4BC,SAAS,KAAK,eAAe,gCAAgCC,aAAa,CAAC,GAAG,CAAC,GAAG,CAACC,MAAM,GAAGC,SAAS,CAACC,WAAW,8EAA8EC,OAAO,CAAC,kQAAkQ,oBAAoB,CAACH,MAAM,oBAAoBC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,sBAAsB,qBAAqB,CAACH,MAAM,qBAAqBC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,oBAAoBE,OAAO,CAACL,MAAM,SAASC,SAAS,CAACG,UAAU,kDAAkDD,OAAO,CAAC,aAAaG,MAAM,CAACN,MAAM,QAAQC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,SAASI,KAAK,CAACP,MAAM,OAAOC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,cAAc,aAAa,CAACH,MAAM,aAAaC,SAAS,CAACG,UAAU,yGAAyGD,OAAO,CAAC,kBAAkB,kBAAkB,CAACH,MAAM,kBAAkBC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,sBAAsBK,SAAS,CAACR,MAAM,WAAWC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,aAAa,eAAe,CAACH,MAAM,eAAeC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,wBAAwBM,SAAS,CAACT,MAAM,WAAWC,SAAS,CAACG,UAAU,qEAAqED,OAAO,CAAC,cAAc,kBAAkB,CAACH,MAAM,kBAAkBC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,uBAAuB,CAACT,OAAO,KAAKC,KAAK,CAACC,QAAQ,QAAQC,QAAQ,CAAC,kBAAkB,wCAAwC,gBAAgB,+DAA+D,eAAe,4BAA4BC,SAAS,KAAK,eAAe,+BAA+BC,aAAa,CAAC,GAAG,CAAC,GAAG,CAACC,MAAM,GAAGC,SAAS,CAACC,WAAW,mHAAmHC,OAAO,CAAC,4OAA4O,oBAAoB,CAACH,MAAM,oBAAoBC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,sBAAsB,qBAAqB,CAACH,MAAM,qBAAqBC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,sBAAsBE,OAAO,CAACL,MAAM,SAASC,SAAS,CAACG,UAAU,kDAAkDD,OAAO,CAAC,YAAYG,MAAM,CAACN,MAAM,QAAQC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,WAAWI,KAAK,CAACP,MAAM,OAAOC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,YAAY,aAAa,CAACH,MAAM,aAAaC,SAAS,CAACG,UAAU,yGAAyGD,OAAO,CAAC,mBAAmB,kBAAkB,CAACH,MAAM,kBAAkBC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,iCAAiCK,SAAS,CAACR,MAAM,WAAWC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,cAAc,eAAe,CAACH,MAAM,eAAeC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,4BAA4BM,SAAS,CAACT,MAAM,WAAWC,SAAS,CAACG,UAAU,qEAAqED,OAAO,CAAC,eAAe,kBAAkB,CAACH,MAAM,kBAAkBC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,8BAA8B,CAACT,OAAO,KAAKC,KAAK,CAACC,QAAQ,QAAQC,QAAQ,CAAC,kBAAkB,iDAAiD,gBAAgB,iEAAiE,eAAe,4BAA4BC,SAAS,KAAK,eAAe,gCAAgCC,aAAa,CAAC,GAAG,CAAC,GAAG,CAACC,MAAM,GAAGC,SAAS,CAACC,WAAW,kEAAkEC,OAAO,CAAC,wPAAwP,oBAAoB,CAACH,MAAM,oBAAoBC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,sBAAsB,qBAAqB,CAACH,MAAM,qBAAqBC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,wBAAwBE,OAAO,CAACL,MAAM,SAASC,SAAS,CAACG,UAAU,kDAAkDD,OAAO,CAAC,aAAaG,MAAM,CAACN,MAAM,QAAQC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,WAAWI,KAAK,CAACP,MAAM,OAAOC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,aAAa,aAAa,CAACH,MAAM,aAAaC,SAAS,CAACG,UAAU,yGAAyGD,OAAO,CAAC,mBAAmB,kBAAkB,CAACH,MAAM,kBAAkBC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,uBAAuBK,SAAS,CAACR,MAAM,WAAWC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,YAAY,eAAe,CAACH,MAAM,eAAeC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,6BAA6BM,SAAS,CAACT,MAAM,WAAWC,SAAS,CAACG,UAAU,qEAAqED,OAAO,CAAC,YAAY,kBAAkB,CAACH,MAAM,kBAAkBC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,4BAA4B,CAACT,OAAO,KAAKC,KAAK,CAACC,QAAQ,QAAQC,QAAQ,CAAC,kBAAkB,8CAA8C,gBAAgB,+DAA+D,eAAe,4BAA4BC,SAAS,KAAK,eAAe,8HAA8HC,aAAa,CAAC,GAAG,CAAC,GAAG,CAACC,MAAM,GAAGC,SAAS,CAACC,WAAW,+DAA+DC,OAAO,CAAC,iVAAiV,oBAAoB,CAACH,MAAM,oBAAoBC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,iBAAiB,qBAAqB,CAACH,MAAM,qBAAqBC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,kBAAkBE,OAAO,CAACL,MAAM,SAASC,SAAS,CAACG,UAAU,kDAAkDD,OAAO,CAAC,UAAUG,MAAM,CAACN,MAAM,QAAQC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,UAAUI,KAAK,CAACP,MAAM,OAAOC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,QAAQ,aAAa,CAACH,MAAM,aAAaC,SAAS,CAACG,UAAU,yGAAyGD,OAAO,CAAC,eAAe,kBAAkB,CAACH,MAAM,kBAAkBC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,gBAAgBK,SAAS,CAACR,MAAM,WAAWC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,UAAU,eAAe,CAACH,MAAM,eAAeC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,eAAeM,SAAS,CAACT,MAAM,WAAWC,SAAS,CAACG,UAAU,qEAAqED,OAAO,CAAC,WAAW,kBAAkB,CAACH,MAAM,kBAAkBC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,oBAAoB,CAACT,OAAO,KAAKC,KAAK,CAACC,QAAQ,QAAQC,QAAQ,CAAC,kBAAkB,iBAAiB,gBAAgB,gEAAgE,eAAe,4BAA4BC,SAAS,KAAK,eAAe,gCAAgCC,aAAa,CAAC,GAAG,CAAC,GAAG,CAACC,MAAM,GAAGC,SAAS,CAACC,WAAW,kCAAkCC,OAAO,CAAC,uNAAuN,oBAAoB,CAACH,MAAM,oBAAoBC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,uBAAuB,qBAAqB,CAACH,MAAM,qBAAqBC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,qBAAqBE,OAAO,CAACL,MAAM,SAASC,SAAS,CAACG,UAAU,kDAAkDD,OAAO,CAAC,WAAWG,MAAM,CAACN,MAAM,QAAQC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,WAAWI,KAAK,CAACP,MAAM,OAAOC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,eAAe,aAAa,CAACH,MAAM,aAAaC,SAAS,CAACG,UAAU,yGAAyGD,OAAO,CAAC,qBAAqB,kBAAkB,CAACH,MAAM,kBAAkBC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,2BAA2BK,SAAS,CAACR,MAAM,WAAWC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,eAAe,eAAe,CAACH,MAAM,eAAeC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,2BAA2BM,SAAS,CAACT,MAAM,WAAWC,SAAS,CAACG,UAAU,qEAAqED,OAAO,CAAC,iBAAiB,kBAAkB,CAACH,MAAM,kBAAkBC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,4BAA4B,CAACT,OAAO,KAAKC,KAAK,CAACC,QAAQ,QAAQC,QAAQ,CAAC,kBAAkB,mCAAmC,gBAAgB,gEAAgE,eAAe,4BAA4BC,SAAS,KAAK,eAAe,mEAAmEC,aAAa,CAAC,GAAG,CAAC,GAAG,CAACC,MAAM,GAAGC,SAAS,CAACC,WAAW,oDAAoDC,OAAO,CAAC,4QAA4Q,oBAAoB,CAACH,MAAM,oBAAoBC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,sBAAsB,qBAAqB,CAACH,MAAM,qBAAqBC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,uBAAuBE,OAAO,CAACL,MAAM,SAASC,SAAS,CAACG,UAAU,kDAAkDD,OAAO,CAAC,eAAeG,MAAM,CAACN,MAAM,QAAQC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,YAAYI,KAAK,CAACP,MAAM,OAAOC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,aAAa,aAAa,CAACH,MAAM,aAAaC,SAAS,CAACG,UAAU,yGAAyGD,OAAO,CAAC,kBAAkB,kBAAkB,CAACH,MAAM,kBAAkBC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,qBAAqBK,SAAS,CAACR,MAAM,WAAWC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,kBAAkB,eAAe,CAACH,MAAM,eAAeC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,qBAAqBM,SAAS,CAACT,MAAM,WAAWC,SAAS,CAACG,UAAU,qEAAqED,OAAO,CAAC,gBAAgB,kBAAkB,CAACH,MAAM,kBAAkBC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,uBAAuB,CAACT,OAAO,KAAKC,KAAK,CAACC,QAAQ,QAAQC,QAAQ,CAAC,kBAAkB,iDAAiD,gBAAgB,8DAA8D,eAAe,4BAA4BC,SAAS,KAAK,eAAe,gCAAgCC,aAAa,CAAC,GAAG,CAAC,GAAG,CAACC,MAAM,GAAGC,SAAS,CAACC,WAAW,kEAAkEC,OAAO,CAAC,qPAAqP,oBAAoB,CAACH,MAAM,oBAAoBC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,wBAAwB,qBAAqB,CAACH,MAAM,qBAAqBC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,oBAAoBE,OAAO,CAACL,MAAM,SAASC,SAAS,CAACG,UAAU,kDAAkDD,OAAO,CAAC,SAASG,MAAM,CAACN,MAAM,QAAQC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,YAAYI,KAAK,CAACP,MAAM,OAAOC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,aAAa,aAAa,CAACH,MAAM,aAAaC,SAAS,CAACG,UAAU,yGAAyGD,OAAO,CAAC,oBAAoB,kBAAkB,CAACH,MAAM,kBAAkBC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,4BAA4BK,SAAS,CAACR,MAAM,WAAWC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,WAAW,eAAe,CAACH,MAAM,eAAeC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,wBAAwBM,SAAS,CAACT,MAAM,WAAWC,SAAS,CAACG,UAAU,qEAAqED,OAAO,CAAC,iBAAiB,kBAAkB,CAACH,MAAM,kBAAkBC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,8BAA8B,CAACT,OAAO,KAAKC,KAAK,CAACC,QAAQ,QAAQC,QAAQ,CAAC,kBAAkB,wBAAwB,gBAAgB,+DAA+D,eAAe,4BAA4BC,SAAS,KAAK,eAAe,kLAAkLC,aAAa,CAAC,GAAG,CAAC,GAAG,CAACC,MAAM,GAAGC,SAAS,CAACC,WAAW,yCAAyCC,OAAO,CAAC,+WAA+W,oBAAoB,CAACH,MAAM,oBAAoBC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,wBAAwB,qBAAqB,CAACH,MAAM,qBAAqBC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,wBAAwBE,OAAO,CAACL,MAAM,SAASC,SAAS,CAACG,UAAU,kDAAkDD,OAAO,CAAC,YAAYG,MAAM,CAACN,MAAM,QAAQC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,YAAYI,KAAK,CAACP,MAAM,OAAOC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,aAAa,aAAa,CAACH,MAAM,aAAaC,SAAS,CAACG,UAAU,yGAAyGD,OAAO,CAAC,iBAAiB,kBAAkB,CAACH,MAAM,kBAAkBC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,4BAA4BK,SAAS,CAACR,MAAM,WAAWC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,cAAc,eAAe,CAACH,MAAM,eAAeC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,qBAAqBM,SAAS,CAACT,MAAM,WAAWC,SAAS,CAACG,UAAU,qEAAqED,OAAO,CAAC,eAAe,kBAAkB,CAACH,MAAM,kBAAkBC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,iCAAiC,CAACT,OAAO,QAAQC,KAAK,CAACC,QAAQ,QAAQC,QAAQ,CAAC,kBAAkB,wDAAwD,gBAAgB,+EAA+E,eAAe,4BAA4BC,SAAS,QAAQ,eAAe,+BAA+BC,aAAa,CAAC,GAAG,CAAC,GAAG,CAACC,MAAM,GAAGC,SAAS,CAACC,WAAW,yEAAyEC,OAAO,CAAC,+QAA+Q,oBAAoB,CAACH,MAAM,oBAAoBC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,sBAAsB,qBAAqB,CAACH,MAAM,qBAAqBC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,sBAAsBE,OAAO,CAACL,MAAM,SAASC,SAAS,CAACG,UAAU,kDAAkDD,OAAO,CAAC,aAAaG,MAAM,CAACN,MAAM,QAAQC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,WAAWI,KAAK,CAACP,MAAM,OAAOC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,YAAY,aAAa,CAACH,MAAM,aAAaC,SAAS,CAACG,UAAU,yGAAyGD,OAAO,CAAC,mBAAmB,kBAAkB,CAACH,MAAM,kBAAkBC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,kCAAkCK,SAAS,CAACR,MAAM,WAAWC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,aAAa,eAAe,CAACH,MAAM,eAAeC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,uBAAuBM,SAAS,CAACT,MAAM,WAAWC,SAAS,CAACG,UAAU,qEAAqED,OAAO,CAAC,kBAAkB,kBAAkB,CAACH,MAAM,kBAAkBC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,uCAAuC,CAACT,OAAO,KAAKC,KAAK,CAACC,QAAQ,QAAQC,QAAQ,CAAC,kBAAkB,iCAAiC,gBAAgB,gEAAgE,eAAe,4BAA4BC,SAAS,KAAK,eAAe,0KAA0KC,aAAa,CAAC,GAAG,CAAC,GAAG,CAACC,MAAM,GAAGC,SAAS,CAACC,WAAW,kDAAkDC,OAAO,CAAC,iXAAiX,oBAAoB,CAACH,MAAM,oBAAoBC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,sBAAsB,qBAAqB,CAACH,MAAM,qBAAqBC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,yBAAyBE,OAAO,CAACL,MAAM,SAASC,SAAS,CAACG,UAAU,kDAAkDD,OAAO,CAAC,aAAaG,MAAM,CAACN,MAAM,QAAQC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,YAAYI,KAAK,CAACP,MAAM,OAAOC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,cAAc,aAAa,CAACH,MAAM,aAAaC,SAAS,CAACG,UAAU,yGAAyGD,OAAO,CAAC,0BAA0B,kBAAkB,CAACH,MAAM,kBAAkBC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,+BAA+BK,SAAS,CAACR,MAAM,WAAWC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,eAAe,eAAe,CAACH,MAAM,eAAeC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,mBAAmBM,SAAS,CAACT,MAAM,WAAWC,SAAS,CAACG,UAAU,qEAAqED,OAAO,CAAC,cAAc,kBAAkB,CAACH,MAAM,kBAAkBC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,6BAA6B,CAACT,OAAO,KAAKC,KAAK,CAACC,QAAQ,QAAQC,QAAQ,CAAC,kBAAkB,yBAAyB,gBAAgB,gEAAgE,eAAe,4BAA4BC,SAAS,KAAK,eAAe,gCAAgCC,aAAa,CAAC,GAAG,CAAC,GAAG,CAACC,MAAM,GAAGC,SAAS,CAACC,WAAW,+FAA+FC,OAAO,CAAC,+NAA+N,oBAAoB,CAACH,MAAM,oBAAoBC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,oBAAoB,qBAAqB,CAACH,MAAM,qBAAqBC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,sBAAsBE,OAAO,CAACL,MAAM,SAASC,SAAS,CAACG,UAAU,kDAAkDD,OAAO,CAAC,SAASG,MAAM,CAACN,MAAM,QAAQC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,UAAUI,KAAK,CAACP,MAAM,OAAOC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,UAAU,aAAa,CAACH,MAAM,aAAaC,SAAS,CAACG,UAAU,yGAAyGD,OAAO,CAAC,kBAAkB,kBAAkB,CAACH,MAAM,kBAAkBC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,mBAAmBK,SAAS,CAACR,MAAM,WAAWC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,eAAe,eAAe,CAACH,MAAM,eAAeC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,gBAAgBM,SAAS,CAACT,MAAM,WAAWC,SAAS,CAACG,UAAU,qEAAqED,OAAO,CAAC,kBAAkB,kBAAkB,CAACH,MAAM,kBAAkBC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,wBAAwB,CAACT,OAAO,KAAKC,KAAK,CAACC,QAAQ,QAAQC,QAAQ,CAAC,kBAAkB,qDAAqD,gBAAgB,gEAAgE,eAAe,4BAA4BC,SAAS,KAAK,eAAe,+BAA+BC,aAAa,CAAC,GAAG,CAAC,GAAG,CAACC,MAAM,GAAGC,SAAS,CAACC,WAAW,sEAAsEC,OAAO,CAAC,0PAA0P,oBAAoB,CAACH,MAAM,oBAAoBC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,qBAAqB,qBAAqB,CAACH,MAAM,qBAAqBC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,oBAAoBE,OAAO,CAACL,MAAM,SAASC,SAAS,CAACG,UAAU,kDAAkDD,OAAO,CAAC,QAAQG,MAAM,CAACN,MAAM,QAAQC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,UAAUI,KAAK,CAACP,MAAM,OAAOC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,UAAU,aAAa,CAACH,MAAM,aAAaC,SAAS,CAACG,UAAU,yGAAyGD,OAAO,CAAC,cAAc,kBAAkB,CAACH,MAAM,kBAAkBC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,+BAA+BK,SAAS,CAACR,MAAM,WAAWC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,WAAW,eAAe,CAACH,MAAM,eAAeC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,qBAAqBM,SAAS,CAACT,MAAM,WAAWC,SAAS,CAACG,UAAU,qEAAqED,OAAO,CAAC,YAAY,kBAAkB,CAACH,MAAM,kBAAkBC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,iCAAiC,CAACT,OAAO,QAAQC,KAAK,CAACC,QAAQ,QAAQC,QAAQ,CAAC,kBAAkB,iDAAiD,gBAAgB,4EAA4E,eAAe,4BAA4BC,SAAS,QAAQ,eAAe,yBAAyBC,aAAa,CAAC,GAAG,CAAC,GAAG,CAACC,MAAM,GAAGC,SAAS,CAACC,WAAW,kEAAkEC,OAAO,CAAC,+PAA+P,oBAAoB,CAACH,MAAM,oBAAoBC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,eAAe,qBAAqB,CAACH,MAAM,qBAAqBC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,eAAeE,OAAO,CAACL,MAAM,SAASC,SAAS,CAACG,UAAU,kDAAkDD,OAAO,CAAC,OAAOG,MAAM,CAACN,MAAM,QAAQC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,OAAOI,KAAK,CAACP,MAAM,OAAOC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,QAAQ,aAAa,CAACH,MAAM,aAAaC,SAAS,CAACG,UAAU,yGAAyGD,OAAO,CAAC,QAAQ,kBAAkB,CAACH,MAAM,kBAAkBC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,UAAUK,SAAS,CAACR,MAAM,WAAWC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,QAAQ,eAAe,CAACH,MAAM,eAAeC,SAAS,CAACG,UAAU,0DAA0DD,OAAO,CAAC,SAASM,SAAS,CAACT,MAAM,WAAWC,SAAS,CAACG,UAAU,qEAAqED,OAAO,CAAC,OAAO,kBAAkB,CAACH,MAAM,kBAAkBC,SAAS,CAACG,UAAU,sCAAsCD,OAAO,CAAC,eAAevI,KAAI,SAAUgC,GAAG,OAAOG,EAAE2G,eAAe9G,EAAE8F,OAAO9F,EAAE+F,SAAS,IAAItF,EAAEN,EAAE4G,QAAQ3F,EAAEX,EAAEuG,SAAShG,KAAKP,GAAGL,EAAEK,EAAEwG,QAAQjG,KAAKP,IAAI,SAAST,EAAEC,EAAEX,GAAG,aAAaA,EAAE,GAAGA,EAAE,IAAI,IAAIY,EAAEZ,EAAE,GAAGa,EAAEb,EAAEa,EAAED;;;;;;;;;;;;;;;;;;;;;GAqB/9pCD,EAAEmB,EAAE,CAAC8F,OAAO,WAAWzM,KAAK0M,OAAOlG,SAAS,KAAKxG,KAAK2M,KAAKtM,SAASqF,EAAEiB,EAAEiG,KAAKC,KAAK,GAAG/E,OAAO9H,KAAK0H,SAAS3G,KAAK,2DAA2Df,MAAMA,KAAK8M,WAAW9M,KAAK+M,IAAIC,WAAWC,aAAa,WAAWjN,KAAK2M,KAAK3M,KAAKkN,WAAWC,KAAK,WAAW,MAAM,CAACR,KAAK3M,KAAKkN,YAAYE,SAAS,CAACC,WAAW,WAAW,OAAOrN,KAAK2M,MAAM3M,KAAK2M,KAAKtM,OAAO+B,OAAO,KAAKkL,QAAQ,CAACJ,QAAQ,WAAW,OAAOlN,KAAK0M,OAAOlG,QAAQxG,KAAK0M,OAAOlG,QAAQ,GAAGmG,KAAKtM,OAAO,OAAO,SAASkF,EAAEC,GAAGD,EAAE1E,QAAQ,EAAQ,MAAoB,SAAS0E,EAAEC,GAAGD,EAAE1E,QAAQ,EAAQ,KAAsC,SAAS0E,EAAEC,GAAGD,EAAE1E,QAAQ,EAAQ,KAAuC,SAAS0E,EAAEC,GAAGD,EAAE1E,QAAQ,EAAQ,KAAiD,SAAS0E,EAAEC,GAAGD,EAAE1E,QAAQ,EAAQ,MAAmC,SAAS0E,EAAEC,GAAGD,EAAE1E,QAAQ,EAAQ,KAAsC,SAAS0E,EAAEC,GAAGD,EAAE1E,QAAQ,EAAQ,KAAwC,SAAS0E,EAAEC,EAAEX,GAAG,aAAaA,EAAE,GAAGA,EAAE,IAAIA,EAAE,IAAIA,EAAE,IAAIW,EAAEmB,EAAE,SAASpB,GAAG,OAAOjB,KAAKiJ,SAAS5N,SAAS,IAAIoL,QAAQ,WAAW,IAAIyC,OAAO,EAAEjI,GAAG,KAAK,SAASA,EAAEC,GAAGD,EAAE1E,QAAQ,EAAQ,MAA4B,SAAS0E,EAAEC,GAAGD,EAAE1E,QAAQ,EAAQ,MAAmC,SAAS0E,EAAEC,GAAGD,EAAE1E,QAAQ,EAAQ,MAA0C,SAAS0E,EAAEC,EAAEX,GAAG,aAAaA,EAAE,IAAIA,EAAE,GAAGA,EAAE,IAAIA,EAAE,IAAIA,EAAE,IAAI,IAAIY,EAAEZ,EAAE,IAAIa,GAAGb,EAAE,GAAG,SAASU,EAAEC,GAAG,IAAI,IAAIX,EAAEU,EAAEkI,QAAQ5I,GAAG,CAAC,GAAGA,EAAE6C,SAAS3G,OAAOyE,EAAE,OAAOX,EAAEA,EAAEA,EAAE4I,WAAWjI,EAAEmB,EAAE,CAAC+G,OAAO,CAACjI,EAAEkB,GAAGgH,MAAM,CAACC,KAAK,CAAClE,KAAKmE,OAAOrH,QAAQ,IAAIsH,MAAM,CAACpE,KAAKmE,OAAOrH,QAAQ,IAAIuH,gBAAgB,CAACrE,KAAKU,QAAQ5D,SAAQ,IAAK4G,SAAS,CAACY,UAAU,WAAW,IAAI,OAAO,IAAIC,IAAIjO,KAAK4N,MAAM,MAAMrI,GAAG,OAAM,KAAM+H,QAAQ,CAACY,QAAQ,SAAS3I,GAAG,GAAGvF,KAAKmO,MAAM,QAAQ5I,GAAGvF,KAAK+N,gBAAgB,CAAC,IAAIvI,EAAEE,EAAE1F,KAAK,WAAWwF,GAAGA,EAAE4I,WAAW5I,EAAE4I,iBAAiB,SAAS7I,EAAEC,GAAGD,EAAE1E,QAAQ,EAAQ,KAAoC,SAAS0E,EAAEC,GAAGD,EAAE1E,QAAQ,EAAQ,KAAsC,CAAC,CAAC,CAAC,SAAS0E,EAAEC,GAAGD,EAAE1E,QAAQ,EAAQ,MAAiC,SAAS0E,EAAEC,EAAEX,GAAG,aAAa,IAAIY,EAAEZ,EAAE,IAAIW,EAAEmB,EAAE,CAAC2G,QAAQ,CAAC5H,EAAED,EAAE4I,EAAE7I,EAAEC,EAAEK,KAAK,SAASP,EAAEC,EAAEX,GAAG,IAAIY,EAAEZ,EAAE,IAAI,iBAAiBY,IAAIA,EAAE,CAAC,CAACF,EAAEI,EAAEF,EAAE,MAAMA,EAAE6I,SAAS/I,EAAE1E,QAAQ4E,EAAE6I,SAAQ,EAAGzJ,EAAE,GAAG2B,SAAS,WAAWf,GAAE,EAAG,KAAK,CAAC,CAAC,SAASF,EAAEC,EAAEX,GAAG;;;;;;;;;;;;;;;;;;;;;GAqBtsEW,EAAEmB,EAAE,SAASpB,GAAGA,EAAEgJ,QAAQC,MAAMC,QAAQlJ,EAAEgJ,WAAWhJ,EAAEgJ,QAAQ,CAAChJ,EAAEgJ,UAAUhJ,EAAEgJ,QAAQ,GAAGhJ,EAAEgJ,QAAQhG,MAAK,WAAYvI,KAAK+M,IAAIrC,aAAa,UAAU5C,OAAO,WAAW,SAAS,SAASvC,EAAEC,EAAEX,GAAG,aAAaA,EAAE,IAAIA,EAAE,IAAIA,EAAE,IAAI,IAAIY,EAAEZ,EAAE,IAAIa,EAAEb,EAAE,IAAImB,EAAEnB,EAAE,IAAI8B,GAAG9B,EAAE,IAAI,SAASU,GAAG,IAAIC,EAAED,EAAEmJ,wBAAwB7J,EAAEiE,SAAS6F,gBAAgBC,aAAanJ,EAAEqD,SAAS6F,gBAAgBE,YAAYnJ,EAAEO,OAAO6I,OAAO,IAAI,OAAOpJ,EAAEqJ,IAAIvJ,EAAEuJ,IAAI,EAAErJ,EAAEsJ,KAAKxJ,EAAEwJ,KAAK,EAAEtJ,EAAEuJ,OAAOzJ,EAAEyJ,OAAOpK,EAAEa,EAAEwJ,MAAM1J,EAAE0J,MAAMzJ,EAAEC,EAAEyJ,IAAIzJ,EAAEqJ,KAAKrJ,EAAEsJ,MAAMtJ,EAAEuJ,QAAQvJ,EAAEwJ,MAAMxJ,EAAE0J,IAAI1J,EAAEqJ,KAAKrJ,EAAEsJ,MAAMtJ,EAAEuJ,QAAQvJ,EAAEwJ,MAAMxJ,EAAE2J,QAAQ3J,EAAEqJ,IAAIvJ,EAAEuJ,IAAIrJ,EAAEuJ,OAAOzJ,EAAEyJ,OAAOpK,EAAE,EAAEa,EAAE4J,QAAQ5J,EAAEsJ,KAAKxJ,EAAEwJ,KAAKtJ,EAAEwJ,MAAM1J,EAAE0J,MAAMzJ,EAAE,EAAEC,IAAIC,GAAGd,EAAE,IAAIA,EAAE,IAAIA,EAAE,GAAGA,EAAE,IAAIA,EAAE,IAAIsB,EAAEtB,EAAEa,EAAEC,GAAGG,EAAE,SAASP,EAAEC,EAAEX,QAAG,IAASU,GAAGA,EAAEzB,SAAQ,SAAU2B,EAAEC,GAAG,IAAIM,GAAGP,EAAE8J,kBAAkB9J,EAAE+J,MAAM,IAAIhK,EAAEiK,QAAQhK,EAAE+J,KAAK7I,IAAIlB,EAAE8J,kBAAkB,iBAAiB9J,EAAE8J,iBAAiBC,MAAM,IAAIhK,EAAEiK,QAAQhK,EAAE8J,iBAAiBC,MAAMxJ,GAAGW,KAAKR,EAAEQ,EAAEiG,KAAKC,KAAK,GAAG/E,OAAO9B,EAAEP,EAAE+J,IAAI/J,EAAE8J,iBAAiBC,IAAI,+BAA+B1H,OAAOjD,EAAE6C,SAAS3G,KAAK,cAAc8D,GAAGU,EAAEf,OAAOkB,EAAE,QAAQE,EAAE,CAAC,eAAe,iBAAiB,cAAc,aAAa,cAAc,eAAe,kBAAkB,aAAa,sBAAsBC,EAAE,CAAC9E,KAAK,UAAU2O,WAAW,CAACC,aAAalK,EAAEmK,UAAUC,QAAQnK,EAAEc,SAASmH,MAAM,CAACmC,KAAK,CAACpG,KAAKU,QAAQ5D,SAAQ,GAAIuJ,UAAU,CAACrG,KAAKU,QAAQ5D,SAAQ,GAAIwJ,UAAU,CAACtG,KAAKmE,OAAOrH,QAAQ,SAASyJ,UAAU,SAAS1K,GAAG,MAAM,CAAC,OAAO,SAAS,SAASkK,QAAQlK,IAAI,IAAI2K,YAAY,CAACxG,KAAKmE,OAAOrH,QAAQ,0CAA0C2G,KAAK,WAAW,MAAM,CAACgD,QAAQ,GAAGC,OAAOpQ,KAAK8P,KAAKO,WAAW,EAAEC,SAAS,QAAQrK,OAAOD,EAAEW,EAATV,GAAcqJ,QAAQ,EAAED,QAAQ,EAAEkB,aAAa,EAAEC,aAAY,EAAGC,SAASzQ,KAAK0Q,YAAYtD,SAAS,CAACuD,mBAAmB,WAAW,OAAO3Q,KAAKmQ,QAAQ/N,OAAO,GAAGwO,oBAAoB,WAAW,OAAO,IAAI5Q,KAAKmQ,QAAQ/N,QAAQ,OAAOpC,KAAK6Q,oBAAoBC,iBAAiB,WAAW,OAAO9Q,KAAKmQ,QAAQ,IAAIY,YAAY,WAAW,OAAO/Q,KAAKyQ,SAAS,GAAGzQ,KAAKyQ,SAAS,GAAG,IAAIO,mBAAmB,WAAW,GAAGhR,KAAK8Q,kBAAkB9Q,KAAK8Q,iBAAiBvB,iBAAiB,CAAC,IAAIhK,EAAEvF,KAAK8Q,iBAAiBvB,iBAAiBC,IAAI,GAAG,eAAejK,EAAE,MAAM,CAAC0L,GAAG,IAAIC,KAAKlR,KAAK+Q,YAAYG,KAAK5Q,OAAON,KAAK+Q,YAAYzQ,QAAQ,GAAG,iBAAiBiF,EAAE,MAAM,CAAC0L,GAAG,cAAcjM,GAAGhF,KAAK+Q,YAAY/L,GAAGmM,MAAMnR,KAAK+Q,YAAYI,OAAO,GAAG,iBAAiB5L,EAAE,MAAM,CAAC0L,GAAG,UAAU,OAAO,MAAMG,iBAAiB,WAAW,OAAOpR,KAAK8Q,kBAAkB9Q,KAAK8Q,iBAAiBvB,kBAAkBvP,KAAK8Q,iBAAiBvB,iBAAiB8B,WAAWrR,KAAK8Q,iBAAiBvB,iBAAiB8B,UAAUC,OAAOC,wBAAwB,WAAW,OAAOvR,KAAKoR,iBAAiB,QAAQ,MAAMI,iBAAiB,WAAW,IAAIjM,EAAEvF,KAAK8Q,kBAAkB9Q,KAAK8Q,iBAAiB3D,KAAKsE,YAAYjM,EAAExF,KAAK8Q,kBAAkB9Q,KAAK8Q,iBAAiB3D,KAAKuE,MAAM,MAAM,GAAG5J,OAAOvC,EAAE,KAAKuC,OAAOtC,KAAKmM,MAAM,CAAC7B,KAAK,SAASvK,GAAG,IAAIC,EAAExF,KAAKA,KAAKoQ,OAAO7K,EAAEvF,KAAKoQ,QAAQpQ,KAAK4R,WAAU,WAAYpM,EAAEqM,cAAcC,YAAY,WAAW9R,KAAK+R,cAAcjM,EAAE9F,KAAK0M,OAAOlG,QAAQZ,EAAE5F,OAAOiN,aAAa,WAAWjN,KAAK+R,cAAcjM,EAAE9F,KAAK0M,OAAOlG,QAAQZ,EAAE5F,OAAOsN,QAAQ,CAAC0E,WAAW,SAASzM,GAAG,IAAIC,EAAExF,KAAKA,KAAKoQ,QAAQpQ,KAAKoQ,OAAOpQ,KAAKoQ,QAAQpQ,KAAK4R,WAAU,WAAYpM,EAAEqM,SAASrM,EAAEyM,sBAAsBjS,KAAKmO,MAAM,OAAO5I,KAAKvF,KAAKsP,QAAQ,EAAEtP,KAAKqP,QAAQ,EAAErP,KAAKuQ,aAAa,EAAEvQ,KAAKwQ,aAAY,GAAIxQ,KAAKmO,MAAM,cAAcnO,KAAKoQ,SAAShC,UAAU,SAAS7I,GAAGvF,KAAKoQ,SAASpQ,KAAKmO,MAAM,eAAc,GAAInO,KAAKmO,MAAM,QAAQ5I,IAAIvF,KAAKoQ,QAAO,EAAGpQ,KAAKsP,QAAQ,EAAEtP,KAAKqP,QAAQ,EAAErP,KAAKuQ,aAAa,EAAEvQ,KAAKwQ,aAAY,GAAIqB,OAAO,WAAW,GAAG7R,KAAKsP,QAAQ,EAAEtP,KAAKqP,QAAQ,EAAErP,KAAKuQ,aAAa,EAAEvQ,KAAKwQ,aAAY,EAAG,WAAWxQ,KAAKgQ,UAAU,CAAC,IAAIzK,EAAEoB,EAAE3G,KAAKkS,MAAMC,OAAO5M,EAAEyJ,MAAMzJ,EAAE2J,SAASlP,KAAKsP,QAAQ/J,EAAE+J,QAAQ,EAAEhL,KAAK8N,MAAM7M,EAAE+J,SAAS,EAAEhL,KAAK8N,MAAM7M,EAAE+J,SAAS,GAAG/J,EAAE0J,SAASjP,KAAKqP,QAAQ,EAAE/K,KAAK8N,MAAMpS,KAAKkS,MAAMC,KAAKvD,cAAc,GAAG5O,KAAKuQ,aAAajM,KAAK8N,MAAMpS,KAAKkS,MAAMC,KAAKvD,cAAc,GAAG5O,KAAKwQ,aAAY,KAAM6B,mBAAmB,SAAS9M,GAAG,GAAGuD,SAASwJ,gBAAgB/M,EAAEjF,OAAO,CAAC,IAAIkF,EAAED,EAAEjF,OAAOiS,QAAQ,MAAM,GAAG/M,EAAE,CAAC,IAAIX,EAAEW,EAAEoE,cAAc,cAAc,GAAG/E,EAAE,CAAC,IAAIY,EAAEzF,KAAKkS,MAAMC,KAAKK,iBAAiB,cAAc9M,EAAE8I,MAAM/O,UAAUgQ,QAAQ1P,KAAK0F,EAAEZ,GAAGa,GAAG,IAAI1F,KAAKqQ,WAAW3K,EAAE1F,KAAKyS,mBAAmBC,oBAAoB,WAAW,IAAInN,EAAEvF,KAAKkS,MAAMC,KAAKvI,cAAc,aAAarE,GAAGA,EAAEoN,UAAU3F,OAAO,WAAWyF,YAAY,WAAW,IAAIlN,EAAEvF,KAAKkS,MAAMC,KAAKK,iBAAiB,cAAcxS,KAAKqQ,YAAY,GAAG9K,EAAE,CAAC,IAAIC,EAAED,EAAEgN,QAAQ,MAAMhN,EAAEqN,QAAQpN,IAAIxF,KAAK0S,sBAAsBlN,EAAEmN,UAAUpL,IAAI,aAAasL,oBAAoB,WAAW7S,KAAKqQ,WAAW/L,KAAKD,IAAIrE,KAAKqQ,WAAW,EAAE,GAAGrQ,KAAKyS,eAAeK,gBAAgB,WAAW9S,KAAKqQ,WAAW/L,KAAKC,IAAIvE,KAAKqQ,WAAW,EAAErQ,KAAKkS,MAAMC,KAAKK,iBAAiB,cAAcpQ,OAAO,GAAGpC,KAAKyS,eAAeR,iBAAiB,WAAWjS,KAAKqQ,WAAW,EAAErQ,KAAKyS,eAAeM,gBAAgB,WAAW/S,KAAKqQ,WAAWrQ,KAAK+M,IAAIyF,iBAAiB,cAAcpQ,OAAO,EAAEpC,KAAKyS,eAAeO,gBAAgB,SAASzN,GAAGvF,KAAKoR,kBAAkBpR,KAAKoR,iBAAiB7L,IAAIwM,YAAY,WAAW/R,KAAKmQ,SAASnQ,KAAK0M,OAAOlG,SAAS,IAAI2D,QAAO,SAAU5E,GAAG,QAAQA,KAAKA,EAAEgK,uBAAuBpG,GAAGtE,EAAE,IAAIA,EAAE,IAAIgE,EAAEhE,EAAE,IAAIkB,EAAElB,EAAEa,EAAEmD,GAAGnC,EAAET,OAAOkD,EAAExC,EAATV,CAAYJ,GAAE,WAAY,IAAIN,EAAEvF,KAAKwF,EAAED,EAAE0N,eAAepO,EAAEU,EAAE2N,MAAMC,IAAI3N,EAAE,OAAOD,EAAEqL,sBAAsBrL,EAAEwK,UAAUlL,EAAE,UAAUU,EAAE6N,GAAG,CAAC1D,WAAW,CAAC,CAAC3O,KAAK,UAAUsS,QAAQ,iBAAiBvQ,MAAMyC,EAAEwL,YAAYpE,KAAK2G,WAAW,mBAAmBC,UAAU,CAACC,MAAK,KAAM/B,YAAY,kCAAkCC,MAAM,CAACnM,EAAEwL,YAAYnD,KAAKrI,EAAEiM,kBAAkBiC,MAAM,CAAC,aAAalO,EAAEwL,YAAYpE,KAAK+G,IAAI,uBAAuBC,GAAGpO,EAAEqO,GAAG,GAAG,CAACrO,EAAEgM,wBAAwBhM,EAAEyN,mBAAmB,UAAUzN,EAAEyL,oBAAmB,GAAI,CAACnM,EAAE,OAAO,CAAC4O,MAAM,CAAC,eAAc,EAAGI,OAAO,KAAK,CAACtO,EAAEuO,GAAG,YAAY,KAAKjP,EAAE,MAAM,CAAC6K,WAAW,CAAC,CAAC3O,KAAK,OAAOsS,QAAQ,SAASvQ,MAAMyC,EAAEoL,oBAAoBpL,EAAEwK,UAAUuD,WAAW,oCAAoC7B,YAAY,cAAcC,MAAM,CAAC,oBAAoBnM,EAAE6K,QAAQuD,GAAG,CAACI,QAAQ,CAAC,SAASvO,GAAG,OAAOA,EAAEkE,KAAK+F,QAAQ,QAAQlK,EAAEyO,GAAGxO,EAAEyO,QAAQ,KAAK,GAAGzO,EAAE5C,IAAI,CAAC,KAAK,aAAiB4C,EAAE0O,SAAS1O,EAAE2O,UAAU3O,EAAE4O,QAAQ5O,EAAE6O,QAAxC,MAAsD7O,EAAE8O,iBAAiB/O,EAAEsN,oBAAoBrN,KAAK,SAASA,GAAG,OAAOA,EAAEkE,KAAK+F,QAAQ,QAAQlK,EAAEyO,GAAGxO,EAAEyO,QAAQ,OAAO,GAAGzO,EAAE5C,IAAI,CAAC,OAAO,eAAmB4C,EAAE0O,SAAS1O,EAAE2O,UAAU3O,EAAE4O,QAAQ5O,EAAE6O,QAAxC,MAAsD7O,EAAE8O,iBAAiB/O,EAAEuN,gBAAgBtN,KAAK,SAASA,GAAG,OAAOA,EAAEkE,KAAK+F,QAAQ,QAAQlK,EAAEyO,GAAGxO,EAAEyO,QAAQ,MAAM,EAAEzO,EAAE5C,IAAI,OAAO,KAAK4C,EAAE2O,UAAU3O,EAAE8O,iBAAiB/O,EAAEsN,oBAAoBrN,IAAI,MAAM,SAASA,GAAG,OAAOA,EAAEkE,KAAK+F,QAAQ,QAAQlK,EAAEyO,GAAGxO,EAAEyO,QAAQ,eAAU,EAAOzO,EAAE5C,SAAI,IAAa4C,EAAE0O,SAAS1O,EAAE2O,UAAU3O,EAAE4O,QAAQ5O,EAAE6O,QAAxC,MAAsD7O,EAAE8O,iBAAiB/O,EAAE0M,iBAAiBzM,KAAK,SAASA,GAAG,OAAOA,EAAEkE,KAAK+F,QAAQ,QAAQlK,EAAEyO,GAAGxO,EAAEyO,QAAQ,iBAAY,EAAOzO,EAAE5C,SAAI,IAAa4C,EAAE0O,SAAS1O,EAAE2O,UAAU3O,EAAE4O,QAAQ5O,EAAE6O,QAAxC,MAAsD7O,EAAE8O,iBAAiB/O,EAAEwN,gBAAgBvN,KAAK,SAASA,GAAG,OAAOA,EAAEkE,KAAK+F,QAAQ,QAAQlK,EAAEyO,GAAGxO,EAAEyO,QAAQ,MAAM,GAAGzO,EAAE5C,IAAI,CAAC,MAAM,YAAgB4C,EAAE0O,SAAS1O,EAAE2O,UAAU3O,EAAE4O,QAAQ5O,EAAE6O,QAAxC,MAAsD7O,EAAE8O,iBAAiB/O,EAAE6I,UAAU5I,QAAQ,CAACX,EAAE,IAAI,CAAC4M,YAAY,+BAA+BC,MAAMnM,EAAE2K,YAAYuD,MAAM,CAACvC,KAAK,IAAI,gBAAgB,OAAO,gBAAgB3L,EAAE+K,SAAS,gBAAgB/K,EAAE6K,QAAQuD,GAAG,CAACrC,MAAM,SAAS9L,GAAG,OAAOA,EAAE8O,iBAAiB/O,EAAEyM,WAAWxM,IAAIuO,QAAQ,SAASvO,GAAG,OAAOA,EAAEkE,KAAK+F,QAAQ,QAAQlK,EAAEyO,GAAGxO,EAAEyO,QAAQ,QAAQ,GAAGzO,EAAE5C,IAAI,CAAC,IAAI,cAAkB4C,EAAE0O,SAAS1O,EAAE2O,UAAU3O,EAAE4O,QAAQ5O,EAAE6O,QAAxC,MAAsD7O,EAAE8O,iBAAiB/O,EAAEyM,WAAWxM,QAAQD,EAAEgP,GAAG,KAAKhP,EAAE6K,OAAOvL,EAAE,MAAM,CAAC6K,WAAW,CAAC,CAAC3O,KAAK,gBAAgBsS,QAAQ,kBAAkBvQ,MAAMyC,EAAE6I,UAAUkF,WAAW,cAAckB,IAAI,OAAO/C,YAAY,oBAAoBC,MAAM,CAAC,QAAQnM,EAAEyK,UAAU,CAACF,KAAKvK,EAAE6K,SAASqE,MAAM,CAACC,YAAYnP,EAAE+J,QAAQ,KAAKqF,UAAUpP,EAAE8J,QAAQ,MAAMoE,MAAM,CAACmB,SAAS,MAAMjB,GAAG,CAACkB,UAAUtP,EAAE8M,qBAAqB,CAACxN,EAAE,MAAM,CAAC4M,YAAY,0BAA0BgD,MAAM,CAACK,UAAU,cAAcvP,EAAE+J,QAAQ,kBAAkB/J,EAAEgL,aAAa,QAAQhL,EAAEiL,YAAY,kBAAkB,OAAOjL,EAAEgP,GAAG,KAAK1P,EAAE,KAAK,CAAC4O,MAAM,CAACjL,GAAGjD,EAAE+K,SAASsE,SAAS,OAAO,CAACrP,EAAEuO,GAAG,YAAY,KAAKvO,EAAEwP,SAAS,IAAG,EAAG,KAAK,WAAW,MAAM,mBAAmBhP,EAAEY,GAAGZ,IAAIW,GAAGlB,EAAEmB,EAAED,EAAE7F,SAAS,SAAS0E,EAAEC,GAAGD,EAAE1E,QAAQ,EAAQ,MAAiC,CAAC,SAAS0E,EAAEC,EAAEX,GAAG,IAAIY,EAAEZ,EAAE,IAAI,iBAAiBY,IAAIA,EAAE,CAAC,CAACF,EAAEI,EAAEF,EAAE,MAAMA,EAAE6I,SAAS/I,EAAE1E,QAAQ4E,EAAE6I,SAAQ,EAAGzJ,EAAE,GAAG2B,SAAS,WAAWf,GAAE,EAAG,KAAK,SAASF,EAAEC,EAAEX,IAAIW,EAAEX,EAAE,EAAFA,EAAK,IAAK0D,KAAK,CAAChD,EAAEI,EAAE,igEAAigE,KAAKJ,EAAE1E,QAAQ2E,GAAG,SAASD,EAAEC,EAAEX,GAAG,IAAIY,EAAEZ,EAAE,KAAK,iBAAiBY,IAAIA,EAAE,CAAC,CAACF,EAAEI,EAAEF,EAAE,MAAMA,EAAE6I,SAAS/I,EAAE1E,QAAQ4E,EAAE6I,SAAQ,EAAGzJ,EAAE,GAAG2B,SAAS,WAAWf,GAAE,EAAG,KAAK,CAAC,CAAC,SAASF,EAAEC,KAAK,CAAC,CAAC,CAAC,CAAC,SAASD,EAAEC,EAAEX,GAAG,aAAa,IAAIY,EAAE,CAAC1E,KAAK,eAAe2M,OAAO,CAAC7I,EAAE,IAAI8B,GAAGgH,MAAM,CAACqH,SAAS,CAACtL,KAAKU,QAAQ5D,SAAQ,IAAK4G,SAAS,CAAC6H,YAAY,WAAW,OAAOjV,KAAKgV,YAAYtP,GAAGb,EAAE,KAAKA,EAAE,IAAImB,EAAEnB,EAAE,IAAI8B,EAAE9B,EAAEa,EAAEM,GAAGL,EAAEM,OAAOP,EAAEiB,EAATV,CAAYR,GAAE,WAAY,IAAIF,EAAEvF,KAAKwF,EAAED,EAAE0N,eAAepO,EAAEU,EAAE2N,MAAMC,IAAI3N,EAAE,OAAOX,EAAE,KAAK,CAAC6M,MAAM,CAAC,mBAAmBnM,EAAEyP,WAAW,CAACnQ,EAAE,SAAS,CAAC4M,YAAY,gBAAgBC,MAAM,CAACwD,UAAU3P,EAAE0P,aAAatB,GAAG,CAACrC,MAAM/L,EAAE2I,UAAU,CAACrJ,EAAE,OAAO,CAAC4M,YAAY,sBAAsBC,MAAM,CAACnM,EAAEyI,UAAU,2BAA2BzI,EAAEqI,MAAM6G,MAAM,CAACU,gBAAgB5P,EAAEyI,UAAU,OAAOzI,EAAEqI,KAAK,IAAI,QAAQrI,EAAEgP,GAAG,KAAKhP,EAAEuI,MAAMjJ,EAAE,IAAI,CAACA,EAAE,SAAS,CAAC4M,YAAY,wBAAwB,CAAClM,EAAEgP,GAAG,aAAahP,EAAE6P,GAAG7P,EAAEuI,OAAO,cAAcvI,EAAEgP,GAAG,KAAK1P,EAAE,MAAMU,EAAEgP,GAAG,KAAK1P,EAAE,OAAO,CAAC4M,YAAY,0BAA0B4D,SAAS,CAACC,YAAY/P,EAAE6P,GAAG7P,EAAEoH,WAAWpH,EAAE8H,WAAWxI,EAAE,IAAI,CAAC4M,YAAY,0BAA0B4D,SAAS,CAACC,YAAY/P,EAAE6P,GAAG7P,EAAEoH,SAAS9H,EAAE,OAAO,CAAC4M,YAAY,uBAAuB,CAAClM,EAAEgP,GAAGhP,EAAE6P,GAAG7P,EAAEoH,SAASpH,EAAEgP,GAAG,KAAKhP,EAAEwP,MAAM,OAAO,IAAG,EAAG,KAAK,WAAW,MAAM,mBAAmBpO,EAAEA,GAAGA,IAAIhB,GAAGH,EAAEmB,EAAEhB,EAAE9E,SAAS,SAAS0E,EAAEC,GAAGD,EAAE1E,QAAQ,EAAQ,MAAoC,SAAS0E,EAAEC,KAAK,CAAC,CAAC,CAAC,CAAC,SAASD,EAAEC,EAAEX,GAAG,aAAaA,EAAEsB,EAAEX,GAAG,IAAIC,EAAEZ,EAAE,IAAIA,EAAEkB,EAAEP,EAAE,WAAU,WAAY,OAAOC,EAAEkB;;;;;;;;;;;;;;;;;;;;;;AAqBzmXnB,EAAEgB,QAAQf,EAAEkB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAASpB,EAAEC,GAAGD,EAAE1E,QAAQ,EAAQ,MAAsC,SAAS0E,EAAEC,GAAGD,EAAE1E,QAAQ,EAAQ,MAAiD,SAAS0E,EAAEC,GAAGD,EAAE1E,QAAQ,EAAQ,MAAa,SAAS0E,EAAEC,GAAGD,EAAE1E,QAAQ,EAAQ,KAAqC,SAAS0E,EAAEC,GAAGD,EAAE1E,QAAQ,EAAQ,MAAoC,SAAS0E,EAAEC,EAAEX,GAAG,aAAa,IAAIY,EAAEZ,EAAE,IAAIA,EAAEa,EAAED,GAAGkB,GAAG,SAASpB,EAAEC,EAAEX,GAAG,IAAIY,EAAEZ,EAAE,GAAGa,EAAEb,EAAE,GAAGmB,EAAEnB,EAAE,GAAG8B,EAAE9B,EAAE,GAAGc,EAAEd,EAAE,IAAIsB,EAAEtB,EAAE,IAAIW,EAAEC,GAAE,GAAI,IAAIK,EAAEJ,EAAEM,GAAGJ,EAAEF,EAAEiB,GAAGd,EAAEH,EAAEC,GAAGwD,EAAEzD,EAAES,GAAGX,EAAE+C,KAAK,CAAChD,EAAEI,EAAE,yDAAyDG,EAAE,aAAaA,EAAE,qCAAqCF,EAAE,wBAAwBC,EAAE,4BAA4BsD,EAAE,mzHAAmzH,KAAK5D,EAAE1E,QAAQ2E,GAAG,CAAC,CAAC,CAAC,SAASD,EAAEC,EAAEX,GAAG,aAAaA,EAAEsB,EAAEX,GAAG,IAAIC,EAAEZ,EAAE,IAAIA,EAAEkB,EAAEP,EAAE,gBAAe,WAAY,OAAOC,EAAEkB;;;;;;;;;;;;;;;;;;;;;;AAqB7lJnB,EAAEgB,QAAQf,EAAEkB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAASpB,EAAEC,EAAEX,GAAG,IAAIY,EAAEZ,EAAE,KAAK,iBAAiBY,IAAIA,EAAE,CAAC,CAACF,EAAEI,EAAEF,EAAE,MAAMA,EAAE6I,SAAS/I,EAAE1E,QAAQ4E,EAAE6I,SAAQ,EAAGzJ,EAAE,GAAG2B,SAAS,WAAWf,GAAE,EAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAASF,EAAEC,EAAEX,GAAG,aAAa,IAAIY,EAAEZ,EAAE,IAAIA,EAAEa,EAAED,GAAGkB,GAAG,SAASpB,EAAEC,EAAEX,IAAIW,EAAEX,EAAE,EAAFA,EAAK,IAAK0D,KAAK,CAAChD,EAAEI,EAAE,ioCAAioC,KAAKJ,EAAE1E,QAAQ2E,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAASD,EAAEC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAASD,EAAEC,EAAEX,GAAG,aAAaA,EAAEsB,EAAEX,GAAG,IAAIC,EAAEZ,EAAE,IAAIa,GAAGb,EAAE,IAAIA,EAAE,IAAIA,EAAE,KAAKmB,EAAEnB,EAAEa,EAAEA,GAAGiB,EAAE9B,EAAE,IAAIc,EAAEd,EAAE,IAAIsB,EAAEtB,EAAE,IAAIiB,EAAEjB,EAAE,IAAIe,EAAEf,EAAE;;;;;;;;;;;;;;;;;;;;;GAsB1kD,SAASgB,EAAEN,EAAEC,GAAG,IAAIX,EAAEY,EAAEC,EAAEM,EAAER,EAAExF,KAAKyE,MAAM,WAAWiB,GAAE,EAAGD,EAAE,IAAI8P,KAAK1Q,EAAE2Q,WAAWjQ,EAAES,IAAIhG,KAAKyV,MAAM,WAAW/P,GAAE,EAAGgQ,aAAa7Q,GAAGmB,GAAG,IAAIuP,KAAK9P,GAAGzF,KAAK2V,MAAM,WAAWjQ,GAAE,EAAGgQ,aAAa7Q,GAAGmB,EAAE,GAAGhG,KAAK4V,YAAY,WAAW,OAAOlQ,IAAI1F,KAAKyV,QAAQzV,KAAKyE,SAASuB,GAAGhG,KAAK6V,gBAAgB,WAAW,OAAOnQ,GAAG1F,KAAKyE,QAAQ,IAAI0E,EAAE,CAACpI,KAAK,QAAQ+U,WAAW,CAACC,QAAQpP,EAAEH,QAAQwP,aAAarQ,EAAEa,SAASkJ,WAAW,CAACG,QAAQjK,EAAEY,SAASkH,OAAO,CAACvH,EAAEQ,GAAGgH,MAAM,CAACG,MAAM,CAACpE,KAAKmE,OAAOrH,QAAQ,IAAIyP,YAAY,CAACvM,KAAKU,QAAQ5D,SAAQ,GAAI0P,QAAQ,CAACxM,KAAKU,QAAQ5D,SAAQ,GAAI2P,cAAc,CAACzM,KAAKU,QAAQ5D,SAAQ,GAAI4P,gBAAgB,CAAC1M,KAAKU,QAAQ5D,SAAQ,GAAI6P,eAAe,CAAC3M,KAAK4M,OAAO9P,QAAQ,KAAK+P,eAAe,CAAC7M,KAAK4M,OAAO9P,QAAQ,KAAKgQ,gBAAgB,CAAC9M,KAAKU,QAAQ5D,SAAQ,GAAIiQ,YAAY,CAAC/M,KAAKU,QAAQ5D,SAAQ,GAAIkQ,iBAAiB,CAAChN,KAAKU,QAAQ5D,SAAQ,GAAImQ,KAAK,CAACjN,KAAKmE,OAAOrH,QAAQ,SAASyJ,UAAU,SAAS1K,GAAG,OAAO,IAAI,CAAC,SAAS,QAAQ,QAAQkK,QAAQlK,KAAKqR,SAAS,CAAClN,KAAKU,QAAQ5D,SAAQ,GAAIqQ,KAAK,CAACnN,KAAKU,QAAQ5D,SAAQ,IAAK2G,KAAK,WAAW,MAAM,CAAC2J,GAAG,KAAKC,WAAU,EAAGC,WAAU,EAAGC,iBAAiB,KAAKC,SAAQ,EAAGC,iBAAiB,OAAO/J,SAAS,CAACgK,oBAAoB,WAAW,MAAM,SAAStP,OAAO9H,KAAKmW,cAAc,MAAM,OAAOkB,eAAe,WAAW,OAAOrX,KAAKkX,QAAQjR,OAAOH,EAAEU,QAATP,CAAkB,mBAAmBA,OAAOH,EAAEU,QAATP,CAAkB,qBAAqB0L,MAAM,CAAC6E,gBAAgB,SAASjR,GAAGvF,KAAKmX,mBAAmB5R,EAAEvF,KAAKmX,iBAAiB1B,QAAQzV,KAAKmX,iBAAiB1S,WAAWqN,YAAY,WAAWxM,OAAOgS,iBAAiB,UAAUtX,KAAKuX,gBAAgBC,cAAc,WAAWlS,OAAOmS,oBAAoB,UAAUzX,KAAKuX,gBAAgBhJ,QAAQ,WAAW,IAAIhJ,EAAEvF,KAAKA,KAAK+W,WAAU,EAAG/W,KAAK0X,kBAAkB1X,KAAK8W,GAAG,IAAI9Q,EAAEW,EAAE3G,KAAKkS,MAAMyF,MAAM3X,KAAK8W,GAAGnD,GAAG,wBAAuB,SAAUnO,GAAGD,EAAEqS,YAAYpS,MAAMsD,SAAS+O,KAAKpN,aAAazK,KAAK+M,IAAIjE,SAAS+O,KAAKC,YAAYC,UAAU,WAAW/X,KAAK8W,GAAGkB,IAAI,wBAAwBhY,KAAK8W,GAAGmB,WAAW3K,QAAQ,CAAC4K,SAAS,SAAS3S,GAAGvF,KAAKiW,cAAc1Q,GAAGvF,KAAKmY,iBAAiBnY,KAAKmO,MAAM,WAAW5I,KAAK6S,KAAK,SAAS7S,GAAGvF,KAAKkW,UAAU3Q,GAAGvF,KAAKmY,iBAAiBnY,KAAKmO,MAAM,OAAO5I,KAAK8S,MAAM,SAAS9S,GAAG,IAAIC,EAAExF,KAAKA,KAAK4W,WAAW5W,KAAK+W,WAAU,EAAGvB,YAAW,WAAYhQ,EAAE2I,MAAM,QAAQ5I,KAAK,OAAOgS,cAAc,SAAShS,GAAG,OAAOA,EAAE0O,SAAS,KAAK,GAAGjU,KAAKkY,SAAS3S,GAAG,MAAM,KAAK,GAAG,KAAK,GAAGvF,KAAKoY,KAAK7S,GAAG,MAAM,KAAK,GAAGvF,KAAKqY,MAAM9S,KAAKqS,YAAY,SAASrS,GAAGvF,KAAKyW,cAAc,cAAclR,EAAEmE,KAAK1J,KAAKoY,KAAK7S,GAAG,eAAeA,EAAEmE,MAAM1J,KAAKkY,SAAS3S,KAAKmS,gBAAgB,WAAW,IAAInS,EAAEvF,KAAKA,KAAKqW,eAAe,IAAIrW,KAAKgX,WAAU,EAAGtB,aAAa1V,KAAKiX,kBAAkBjX,KAAKiX,iBAAiBzB,YAAW,WAAYjQ,EAAEyR,WAAU,IAAKhX,KAAKqW,kBAAkBiC,gBAAgB,WAAWtY,KAAKkX,SAASlX,KAAKkX,QAAQlX,KAAKkX,QAAQlX,KAAKuY,kBAAkBvY,KAAKwY,yBAAyBL,eAAe,WAAWnY,KAAKkX,SAASlX,KAAKkX,QAAQlX,KAAKwY,wBAAwBxY,KAAK4R,WAAU,WAAY5R,KAAKsY,sBAAsBC,gBAAgB,WAAW,IAAIhT,EAAEvF,KAAKA,KAAKkX,SAAQ,EAAGlX,KAAKkW,QAAQlW,KAAKmX,iBAAiB,IAAItR,GAAE,WAAYN,EAAE6S,OAAO7S,EAAEgT,oBAAoBvY,KAAKuW,iBAAiBvW,KAAKkX,SAAQ,EAAGlX,KAAKwY,0BAA0BA,sBAAsB,WAAWxY,KAAKmX,kBAAkBnX,KAAKmX,iBAAiBxB,WAAW9M,GAAGhE,EAAE,KAAKA,EAAE,IAAIkB,EAAElB,EAAE,KAAK6B,EAAE7B,EAAEa,EAAEK,GAAGzG,EAAE2G,OAAO4C,EAAElC,EAATV,CAAYkD,GAAE,WAAY,IAAI5D,EAAEvF,KAAKwF,EAAED,EAAE0N,eAAepO,EAAEU,EAAE2N,MAAMC,IAAI3N,EAAE,OAAOX,EAAE,aAAa,CAAC4O,MAAM,CAAC1S,KAAK,SAAS,CAAC8D,EAAE,MAAM,CAAC2P,IAAI,OAAO/C,YAAY,aAAaC,MAAM,CAAC,mBAAmBnM,EAAEsR,MAAMlD,GAAG,CAACrC,MAAM/L,EAAEmS,gBAAgB7C,UAAUtP,EAAEmS,gBAAgBe,UAAUlT,EAAEmS,kBAAkB,CAAC7S,EAAE,aAAa,CAAC4O,MAAM,CAAC1S,KAAK,oBAAoB,CAAC8D,EAAE,MAAM,CAAC6K,WAAW,CAAC,CAAC3O,KAAK,OAAOsS,QAAQ,SAASvQ,OAAOyC,EAAEyR,UAAU1D,WAAW,eAAe7B,YAAY,eAAeC,MAAM,CAACgH,UAAUnT,EAAEyR,YAAY,CAAC,KAAKzR,EAAEuI,MAAMzN,OAAOwE,EAAE,MAAM,CAAC4M,YAAY,eAAe,CAAClM,EAAEgP,GAAG,eAAehP,EAAE6P,GAAG7P,EAAEuI,OAAO,gBAAgBvI,EAAEwP,KAAKxP,EAAEgP,GAAG,KAAK1P,EAAE,MAAM,CAAC4M,YAAY,cAAc,CAAClM,EAAE2Q,SAAS3Q,EAAE6Q,gBAAgBvR,EAAE,SAAS,CAAC6K,WAAW,CAAC,CAAC3O,KAAK,UAAUsS,QAAQ,iBAAiBvQ,MAAMyC,EAAE8R,eAAe/D,WAAW,iBAAiBC,UAAU,CAACC,MAAK,KAAM/B,YAAY,aAAaC,MAAM,CAAC,qBAAqBnM,EAAEiR,iBAAiB7C,GAAG,CAACrC,MAAM/L,EAAE+S,kBAAkB,CAACzT,EAAE,MAAM,CAAC6M,MAAM,CAACnM,EAAE2R,QAAQ,aAAa,cAAc,CAACrS,EAAE,OAAO,CAAC4M,YAAY,mBAAmB,CAAClM,EAAEgP,GAAG,qBAAqBhP,EAAE6P,GAAG7P,EAAE8R,gBAAgB,wBAAwB9R,EAAEgP,GAAG,KAAKhP,EAAE2R,QAAQrS,EAAE,MAAM,CAAC4M,YAAY,gBAAgBgC,MAAM,CAACkF,OAAO,KAAKC,MAAM,OAAO,CAAC/T,EAAE,SAAS,CAAC4M,YAAY,wBAAwBgC,MAAM,CAACoF,OAAO,QAAQ,eAAe,IAAIC,KAAK,cAAc3S,EAAE,KAAK4S,GAAG,KAAKC,GAAG,UAAUzT,EAAEwP,OAAOxP,EAAEwP,KAAKxP,EAAEgP,GAAG,KAAK1P,EAAE,UAAU,CAAC4M,YAAY,kBAAkB,CAAClM,EAAEuO,GAAG,YAAY,GAAGvO,EAAEgP,GAAG,KAAKhP,EAAEqR,SAAS/R,EAAE,UAAU,CAAC4M,YAAY,gBAAgB,CAAC5M,EAAE,eAAe,CAAC4O,MAAM,CAAC7F,KAAK,cAAc+F,GAAG,CAACrC,MAAM/L,EAAE8S,QAAQ,CAAC9S,EAAEgP,GAAG,mBAAmBhP,EAAE6P,GAAG7P,EAAEC,EAAE,UAAU,qBAAqB,GAAGD,EAAEwP,MAAM,OAAOxP,EAAEgP,GAAG,KAAK1P,EAAE,aAAa,CAAC4O,MAAM,CAAC1S,KAAKwE,EAAE6R,sBAAsB,CAACvS,EAAE,MAAM,CAAC6K,WAAW,CAAC,CAAC3O,KAAK,OAAOsS,QAAQ,SAASvQ,MAAMyC,EAAEwR,UAAUzD,WAAW,cAAc7B,YAAY,gBAAgBC,MAAM,CAAC,kBAAkBnM,EAAEoR,KAAKpR,EAAEmR,iBAAiB,mCAAmC,IAAI/C,GAAG,CAACrC,MAAM,SAAS9L,GAAG,OAAOA,EAAElF,SAASkF,EAAEyT,cAAc,KAAK1T,EAAE8S,MAAM7S,MAAM,CAACX,EAAE,aAAa,CAAC4O,MAAM,CAAC1S,KAAK,oBAAoB,CAAC8D,EAAE,IAAI,CAAC6K,WAAW,CAAC,CAAC3O,KAAK,OAAOsS,QAAQ,SAASvQ,MAAMyC,EAAE0Q,cAAc1Q,EAAEyR,UAAU1D,WAAW,8BAA8B7B,YAAY,OAAOC,MAAM,CAACgH,UAAUnT,EAAEyR,YAAYzR,EAAE0Q,aAAatC,GAAG,CAACrC,MAAM/L,EAAE2S,WAAW,CAACrT,EAAE,MAAM,CAAC4M,YAAY,sBAAsB,CAAC5M,EAAE,OAAO,CAAC4M,YAAY,mBAAmB,CAAClM,EAAEgP,GAAG,qBAAqBhP,EAAE6P,GAAG7P,EAAEC,EAAE,aAAa,4BAA4BD,EAAEgP,GAAG,KAAK1P,EAAE,MAAM,CAAC4M,YAAY,mBAAmB,CAAClM,EAAEuO,GAAG,YAAY,GAAGvO,EAAEgP,GAAG,KAAK1P,EAAE,aAAa,CAAC4O,MAAM,CAAC1S,KAAK,oBAAoB,CAAC8D,EAAE,IAAI,CAAC6K,WAAW,CAAC,CAAC3O,KAAK,OAAOsS,QAAQ,SAASvQ,MAAMyC,EAAE2Q,UAAU3Q,EAAEyR,UAAU1D,WAAW,0BAA0B7B,YAAY,OAAOC,MAAM,CAACgH,UAAUnT,EAAEyR,YAAYzR,EAAE2Q,SAASvC,GAAG,CAACrC,MAAM/L,EAAE6S,OAAO,CAACvT,EAAE,MAAM,CAAC4M,YAAY,kBAAkB,CAAC5M,EAAE,OAAO,CAAC4M,YAAY,mBAAmB,CAAClM,EAAEgP,GAAG,qBAAqBhP,EAAE6P,GAAG7P,EAAEC,EAAE,SAAS,6BAA6B,MAAM,OAAO,IAAG,EAAG,KAAK,WAAW,MAAM,mBAAmBkB,EAAEC,GAAGD,IAAIpH,GAAG,IAAI2K,EAAE3K,EAAEuB,QAAQgE,EAAEkB,EAAEP,EAAE,SAAQ,WAAY,OAAOyE;;;;;;;;;;;;;;;;;;;;;;AAsBlnMhE,OAAOR,EAAEkB,EAATV,CAAYgE,GAAGzE,EAAEgB,QAAQyD,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS1E,EAAEC,EAAEX,GAAG,aAAa,IAAIY,EAAEZ,EAAE,KAAKA,EAAEa,EAAED,GAAGkB,GAAG,SAASpB,EAAEC,EAAEX,GAAG,IAAIY,EAAEZ,EAAE,GAAGa,EAAEb,EAAE,GAAGmB,EAAEnB,EAAE,GAAG8B,EAAE9B,EAAE,GAAGc,EAAEd,EAAE,IAAIsB,EAAEtB,EAAE,IAAIW,EAAEC,GAAE,GAAI,IAAIK,EAAEJ,EAAEM,GAAGJ,EAAEF,EAAEiB,GAAGd,EAAEH,EAAEC,GAAGwD,EAAEzD,EAAES,GAAGX,EAAE+C,KAAK,CAAChD,EAAEI,EAAE,yDAAyDG,EAAE,aAAaA,EAAE,qCAAqCF,EAAE,wBAAwBC,EAAE,4BAA4BsD,EAAE,q3PAAq3P,KAAK5D,EAAE1E,QAAQ2E,M,iCCrJnzQ,EAAQ,IAER,EAAQ,KAER,EAAQ,IAER,EAAQ,IAERS,OAAO5G,eAAewB,EAAS,aAAc,CAC3CiC,OAAO,IAETjC,EAAQsK,kBA+FR,WACE,OAAO,IAAI+N,GA9Fb,IAIgCC,EAJ5BC,GAI4BD,EAJU,EAAQ,OAIGA,EAAI7S,WAAa6S,EAAM,CAAE3S,QAAS2S,GAFnFE,EAAI,EAAQ,KAIhB,SAASC,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAInU,UAAU,qCAEhH,SAASoU,EAAkBnZ,EAAQqN,GAAS,IAAK,IAAIhI,EAAI,EAAGA,EAAIgI,EAAMvL,OAAQuD,IAAK,CAAE,IAAI+T,EAAa/L,EAAMhI,GAAI+T,EAAWxT,WAAawT,EAAWxT,aAAc,EAAOwT,EAAW7Z,cAAe,EAAU,UAAW6Z,IAAYA,EAAWC,UAAW,GAAM1T,OAAO5G,eAAeiB,EAAQoZ,EAAW9W,IAAK8W,IAE7S,SAASE,EAAaJ,EAAaK,EAAYC,GAAmJ,OAAhID,GAAYJ,EAAkBD,EAAY/Z,UAAWoa,GAAiBC,GAAaL,EAAkBD,EAAaM,GAAqBN,EAEzM,IAAIN,EAEJ,WACE,SAASA,IACPI,EAAgBtZ,KAAMkZ,GAEtBlZ,KAAK0L,aAAe,GA2BtB,OAxBAkO,EAAaV,EAAgB,CAAC,CAC5BtW,IAAK,cACLE,MAAO,SAAqBiX,GAE1B,OADA/Z,KAAKqL,OAAS0O,EACP/Z,OAER,CACD4C,IAAK,eACLE,MAAO,WACL,OAAO9C,KAAKga,aAAY,EAAIX,EAAEY,kBAE/B,CACDrX,IAAK,iBACLE,MAAO,SAAwBiX,EAAU5M,GAEvC,OADAnN,KAAK0L,aAAaqO,GAAY5M,EACvBnN,OAER,CACD4C,IAAK,QACLE,MAAO,WACL,OAAO,IAAIoX,EAAela,KAAKqL,QAAU,KAAMrL,KAAK0L,kBAIjDwN,EA/BT,GAkCIgB,EAEJ,WACE,SAASA,EAAe7O,EAAQ8B,GAK9B,IAAK,IAAIvK,KAJT0W,EAAgBtZ,KAAMka,GAEtBla,KAAKma,GAAK,IAAIf,EAAa5S,QAEX2G,EACdnN,KAAKma,GAAGC,gBAAgBxX,EAAK,WAAYuK,EAAKvK,IAGhD5C,KAAKma,GAAGE,UAAUhP,GA8BpB,OA3BAuO,EAAaM,EAAgB,CAAC,CAC5BtX,IAAK,wBACLE,MAAO,SAA+BwX,EAAYC,GAChD,OAAOD,EAAWvP,QAAQ,eAAe,SAAUpE,EAAG0H,GACpD,IAAIlI,EAAIoU,EAAKlM,GAEb,MAAiB,iBAANlI,GAA+B,iBAANA,EAC3BA,EAAExG,WAEFgH,OAIZ,CACD/D,IAAK,UACLE,MAAO,SAAiB0X,GACtB,IAAIC,EAAe1X,UAAUX,OAAS,QAAsByB,IAAjBd,UAAU,GAAmBA,UAAU,GAAK,GACvF,OAAO/C,KAAK0a,sBAAsB1a,KAAKma,GAAG3N,QAAQgO,GAAWC,KAE9D,CACD7X,IAAK,WACLE,MAAO,SAAkB6X,EAAUC,EAAQC,GACzC,IAAIJ,EAAe1X,UAAUX,OAAS,QAAsByB,IAAjBd,UAAU,GAAmBA,UAAU,GAAK,GACvF,OAAO/C,KAAK0a,sBAAsB1a,KAAKma,GAAG5N,SAASoO,EAAUC,EAAQC,GAAO9P,QAAQ,MAAO8P,EAAMlb,YAAa8a,OAI3GP,EAxCT,I,kCCjEA,YAEA,IAAIpa,EAAM,EAAQ,KACdgb,EAAU,EAAQ,KAatB,SAASC,EAAQnU,GACbA,EAAUA,GAAW,GAErB5G,KAAKgb,SAAW,GAChBhb,KAAKqL,OAAS,GACdrL,KAAKib,OAAS,WAEdjb,KAAKqR,UAAY,GAGb,UAAWzK,EACX5G,KAAKkb,OAA0B,IAAlBtU,EAAQsU,YAEG,IAAZC,GAA2BA,EAAQC,IAC/Cpb,KAAKkb,OAAQ,GAzBrBta,EAAOC,QAAUka,EAsCjBA,EAAQtb,UAAUkU,GAAK,SAAS0H,EAAWC,GACvCtb,KAAKqR,UAAU9I,KAAK,CAChB8S,UAAWA,EACXC,SAAUA,KAUlBP,EAAQtb,UAAUuY,IAAM,SAASqD,EAAWC,GACxCtb,KAAKqR,UAAYrR,KAAKqR,UAAUlH,QAAO,SAASoR,GAC5C,OAGM,IAFFA,EAASF,YAAcA,GACvBE,EAASD,WAAaA,OAYlCP,EAAQtb,UAAU+b,KAAO,SAASH,EAAWI,GACzC,IAAK,IAAI9V,EAAI,EAAGA,EAAI3F,KAAKqR,UAAUjP,OAAQuD,IAAK,CAC5C,IAAI4V,EAAWvb,KAAKqR,UAAU1L,GAC1B4V,EAASF,YAAcA,GACvBE,EAASD,SAASG,KAW9BV,EAAQtb,UAAUoN,KAAO,SAAS6O,GAC1B1b,KAAKkb,OACLS,QAAQ9O,KAAK6O,GAGjB1b,KAAKwb,KAAK,QAASE,IAcvBX,EAAQtb,UAAU2a,gBAAkB,SAAS/O,EAAQ4P,EAAQvP,GACpD1L,KAAKgb,SAAS3P,KACfrL,KAAKgb,SAAS3P,GAAU,IAG5BrL,KAAKgb,SAAS3P,GAAQ4P,GAAUvP,GAWpCqP,EAAQtb,UAAU4a,UAAY,SAAShP,GACb,iBAAXA,GAQW,KAAlBA,EAAOhL,QACPL,KAAK6M,KAAK,yEAGT7M,KAAKgb,SAAS3P,IACfrL,KAAK6M,KAAK,gCAAkCxB,EAAS,0DAGzDrL,KAAKqL,OAASA,GAfVrL,KAAK6M,KACD,0DAA6DxB,EAAU,mCAyBnF0P,EAAQtb,UAAUmc,cAAgB,SAASX,GACjB,iBAAXA,GAQW,KAAlBA,EAAO5a,QACPL,KAAK6M,KAAK,4DAGd7M,KAAKib,OAASA,GAXVjb,KAAK6M,KACD,8DAAiEoO,EAAU,mCAsBvFF,EAAQtb,UAAU+M,QAAU,SAASb,GACjC,OAAO3L,KAAK6b,WAAW7b,KAAKib,OAAQ,GAAItP,IAa5CoP,EAAQtb,UAAUqc,SAAW,SAASb,EAAQtP,GAC1C,OAAO3L,KAAK6b,WAAWZ,EAAQ,GAAItP,IAcvCoP,EAAQtb,UAAU8M,SAAW,SAASZ,EAAOoQ,EAAalB,GACtD,OAAO7a,KAAK6b,WAAW7b,KAAKib,OAAQ,GAAItP,EAAOoQ,EAAalB,IAehEE,EAAQtb,UAAUuc,UAAY,SAASf,EAAQtP,EAAOoQ,EAAalB,GAC/D,OAAO7a,KAAK6b,WAAWZ,EAAQ,GAAItP,EAAOoQ,EAAalB,IAa3DE,EAAQtb,UAAUwc,SAAW,SAASC,EAASvQ,GAC3C,OAAO3L,KAAK6b,WAAW7b,KAAKib,OAAQiB,EAASvQ,IAcjDoP,EAAQtb,UAAU0c,UAAY,SAASlB,EAAQiB,EAASvQ,GACpD,OAAO3L,KAAK6b,WAAWZ,EAAQiB,EAASvQ,IAe5CoP,EAAQtb,UAAU2c,UAAY,SAASF,EAASvQ,EAAOoQ,EAAalB,GAChE,OAAO7a,KAAK6b,WAAW7b,KAAKib,OAAQiB,EAASvQ,EAAOoQ,EAAalB,IAgBrEE,EAAQtb,UAAUoc,WAAa,SAASZ,EAAQiB,EAASvQ,EAAOoQ,EAAalB,GACzE,IACIwB,EACAha,EAFAia,EAAqB3Q,EAYzB,GARAuQ,EAAUA,GAAW,GAEhBK,MAAM1B,IAAoB,IAAVA,IACjByB,EAAqBP,GAAepQ,GAGxC0Q,EAAcrc,KAAKwc,gBAAgBvB,EAAQiB,EAASvQ,GAEnC,CACb,GAAqB,iBAAVkP,EAGc,kBADrBxY,GAAQoa,EADU3B,EAAQC,EAAQ2B,gBAAgB1c,KAAKqL,SAASoR,aAC5C5B,MAEhBxY,EAAQA,EAAQ,EAAI,QAGxBA,EAAQ,EAGZ,OAAOga,EAAYvQ,OAAOzJ,IAAUia,EAMxC,OAHItc,KAAK6M,KAAK,uCAAyClB,EAAQ,iBAAmBuQ,EAAU,iBAAmBjB,EAAS,KAGjHqB,GAgBXvB,EAAQtb,UAAUkd,WAAa,SAAS1B,EAAQiB,EAASvQ,GACrD,IAAI0Q,EAGJ,OADAA,EAAcrc,KAAKwc,gBAAgBvB,EAAQiB,EAASvQ,KAEzC0Q,EAAYzQ,UAGhB,IAYXmP,EAAQtb,UAAU+c,gBAAkB,SAASvB,EAAQiB,EAASvQ,GAG1D,OAFAuQ,EAAUA,GAAW,GAEdpc,EAAIE,KAAKgb,SAAU,CAAChb,KAAKqL,OAAQ4P,EAAQ,eAAgBiB,EAASvQ,KAc7EoP,EAAQ2B,gBAAkB,SAASrR,GAC/B,OAAOA,EAAOlI,MAAM,SAAS,GAAGoG,eAUpCwR,EAAQtb,UAAUmd,WAAa,SAAS3B,GAChCjb,KAAKkb,OACLS,QAAQ9O,KAAK,2VAOjB7M,KAAK4b,cAAcX,IAQvBF,EAAQtb,UAAUod,UAAY,SAASxR,GACnCrL,KAAK8c,UAAUzR,IAUnB0P,EAAQtb,UAAUsd,cAAgB,WAC9BpB,QAAQzb,MAAM,gT,uCCrZlB,YAUA,IAcI8c,EAAe,mDACfC,EAAgB,QAChBC,EAAe,MACfC,EAAa,mGASbC,EAAe,WAGfC,EAAe,8BAGfC,EAA8B,iBAAVtc,GAAsBA,GAAUA,EAAOiF,SAAWA,QAAUjF,EAGhFuc,EAA0B,iBAARC,MAAoBA,MAAQA,KAAKvX,SAAWA,QAAUuX,KAGxEC,EAAOH,GAAcC,GAAY/d,SAAS,cAATA,GAkCrC,IASMke,EATFC,EAAanP,MAAM/O,UACnBme,EAAYpe,SAASC,UACrBoe,EAAc5X,OAAOxG,UAGrBqe,EAAaL,EAAK,sBAGlBM,GACEL,EAAM,SAASM,KAAKF,GAAcA,EAAW5a,MAAQ4a,EAAW5a,KAAK+a,UAAY,KACvE,iBAAmBP,EAAO,GAItCQ,EAAeN,EAAUje,SAGzB8G,EAAiBoX,EAAYpX,eAO7B0X,EAAiBN,EAAYle,SAG7Bye,EAAaC,OAAO,IACtBH,EAAane,KAAK0G,GAAgBsE,QA7EjB,sBA6EuC,QACvDA,QAAQ,yDAA0D,SAAW,KAI5E3E,EAASqX,EAAKrX,OACd5B,EAASmZ,EAAWnZ,OAGpB8Z,EAAMC,EAAUd,EAAM,OACtBe,EAAeD,EAAUtY,OAAQ,UAGjCwY,EAAcrY,EAASA,EAAO3G,eAAYoE,EAC1C6a,EAAiBD,EAAcA,EAAY9e,cAAWkE,EAS1D,SAAS8a,EAAKC,GACZ,IAAIvc,GAAS,EACTD,EAASwc,EAAUA,EAAQxc,OAAS,EAGxC,IADApC,KAAK2V,UACItT,EAAQD,GAAQ,CACvB,IAAIyc,EAAQD,EAAQvc,GACpBrC,KAAK8e,IAAID,EAAM,GAAIA,EAAM,KA2F7B,SAASE,EAAUH,GACjB,IAAIvc,GAAS,EACTD,EAASwc,EAAUA,EAAQxc,OAAS,EAGxC,IADApC,KAAK2V,UACItT,EAAQD,GAAQ,CACvB,IAAIyc,EAAQD,EAAQvc,GACpBrC,KAAK8e,IAAID,EAAM,GAAIA,EAAM,KAyG7B,SAASG,EAASJ,GAChB,IAAIvc,GAAS,EACTD,EAASwc,EAAUA,EAAQxc,OAAS,EAGxC,IADApC,KAAK2V,UACItT,EAAQD,GAAQ,CACvB,IAAIyc,EAAQD,EAAQvc,GACpBrC,KAAK8e,IAAID,EAAM,GAAIA,EAAM,KAwF7B,SAASI,EAAaC,EAAOtc,GAE3B,IADA,IA+SUE,EAAOqc,EA/Sb/c,EAAS8c,EAAM9c,OACZA,KACL,IA6SQU,EA7SDoc,EAAM9c,GAAQ,OA6SN+c,EA7SUvc,IA8SAE,GAAUA,GAASqc,GAAUA,EA7SpD,OAAO/c,EAGX,OAAQ,EAWV,SAASgd,EAAQC,EAAQC,GAMvB,IAiDF,IAAkBxc,EApDZT,EAAQ,EACRD,GAHJkd,EA8FF,SAAexc,EAAOuc,GACpB,GAAI5Q,EAAQ3L,GACV,OAAO,EAET,IAAI4G,SAAc5G,EAClB,GAAY,UAAR4G,GAA4B,UAARA,GAA4B,WAARA,GAC/B,MAAT5G,GAAiByc,EAASzc,GAC5B,OAAO,EAET,OAAOma,EAAc5T,KAAKvG,KAAWka,EAAa3T,KAAKvG,IAC1C,MAAVuc,GAAkBvc,KAASmD,OAAOoZ,GAxG9BG,CAAMF,EAAMD,GAAU,CAACC,GAuDvB7Q,EADS3L,EAtD+Bwc,GAuDvBxc,EAAQ2c,EAAa3c,IApD3BV,OAED,MAAVid,GAAkBhd,EAAQD,GAC/Bid,EAASA,EAAOK,EAAMJ,EAAKjd,OAE7B,OAAQA,GAASA,GAASD,EAAUid,OAASxb,EAW/C,SAAS8b,EAAa7c,GACpB,SAAK8c,EAAS9c,KA4GE+c,EA5GiB/c,EA6GxBib,GAAeA,KAAc8B,MA0MxC,SAAoB/c,GAGlB,IAAI0M,EAAMoQ,EAAS9c,GAASqb,EAAepe,KAAK+C,GAAS,GACzD,MArwBY,qBAqwBL0M,GApwBI,8BAowBcA,EAxTVsQ,CAAWhd,IA3Z5B,SAAsBA,GAGpB,IAAIid,GAAS,EACb,GAAa,MAATjd,GAA0C,mBAAlBA,EAAMnD,SAChC,IACEogB,KAAYjd,EAAQ,IACpB,MAAOyC,IAEX,OAAOwa,EAkZ6BC,CAAald,GAAUsb,EAAaf,GACzDhU,KAsJjB,SAAkBwW,GAChB,GAAY,MAARA,EAAc,CAChB,IACE,OAAO3B,EAAane,KAAK8f,GACzB,MAAOta,IACT,IACE,OAAQsa,EAAO,GACf,MAAOta,KAEX,MAAO,GA/Ja0a,CAASnd,IAwG/B,IAAkB+c,EA9DlB,SAASK,EAAW3c,EAAKX,GACvB,IA+CiBE,EACb4G,EAhDAyD,EAAO5J,EAAI4c,SACf,OAgDgB,WADZzW,SADa5G,EA9CAF,KAgDmB,UAAR8G,GAA4B,UAARA,GAA4B,WAARA,EACrD,cAAV5G,EACU,OAAVA,GAjDDqK,EAAmB,iBAAPvK,EAAkB,SAAW,QACzCuK,EAAK5J,IAWX,SAASgb,EAAUc,EAAQzc,GACzB,IAAIE,EAjeN,SAAkBuc,EAAQzc,GACxB,OAAiB,MAAVyc,OAAiBxb,EAAYwb,EAAOzc,GAge/Bwd,CAASf,EAAQzc,GAC7B,OAAO+c,EAAa7c,GAASA,OAAQe,EAlUvC8a,EAAKlf,UAAUkW,MAnEf,WACE3V,KAAKmgB,SAAW3B,EAAeA,EAAa,MAAQ,IAmEtDG,EAAKlf,UAAkB,OAtDvB,SAAoBmD,GAClB,OAAO5C,KAAKmB,IAAIyB,WAAe5C,KAAKmgB,SAASvd,IAsD/C+b,EAAKlf,UAAUK,IA1Cf,SAAiB8C,GACf,IAAIuK,EAAOnN,KAAKmgB,SAChB,GAAI3B,EAAc,CAChB,IAAIuB,EAAS5S,EAAKvK,GAClB,MAzKiB,8BAyKVmd,OAA4Blc,EAAYkc,EAEjD,OAAOtZ,EAAe1G,KAAKoN,EAAMvK,GAAOuK,EAAKvK,QAAOiB,GAqCtD8a,EAAKlf,UAAU0B,IAzBf,SAAiByB,GACf,IAAIuK,EAAOnN,KAAKmgB,SAChB,OAAO3B,OAA6B3a,IAAdsJ,EAAKvK,GAAqB6D,EAAe1G,KAAKoN,EAAMvK,IAwB5E+b,EAAKlf,UAAUqf,IAXf,SAAiBlc,EAAKE,GAGpB,OAFW9C,KAAKmgB,SACXvd,GAAQ4b,QAA0B3a,IAAVf,EAxMV,4BAwMkDA,EAC9D9C,MAoHT+e,EAAUtf,UAAUkW,MAjFpB,WACE3V,KAAKmgB,SAAW,IAiFlBpB,EAAUtf,UAAkB,OArE5B,SAAyBmD,GACvB,IAAIuK,EAAOnN,KAAKmgB,SACZ9d,EAAQ4c,EAAa9R,EAAMvK,GAE/B,QAAIP,EAAQ,KAIRA,GADY8K,EAAK/K,OAAS,EAE5B+K,EAAKkT,MAEL7b,EAAOzE,KAAKoN,EAAM9K,EAAO,IAEpB,IAyDT0c,EAAUtf,UAAUK,IA7CpB,SAAsB8C,GACpB,IAAIuK,EAAOnN,KAAKmgB,SACZ9d,EAAQ4c,EAAa9R,EAAMvK,GAE/B,OAAOP,EAAQ,OAAIwB,EAAYsJ,EAAK9K,GAAO,IA0C7C0c,EAAUtf,UAAU0B,IA9BpB,SAAsByB,GACpB,OAAOqc,EAAajf,KAAKmgB,SAAUvd,IAAQ,GA8B7Cmc,EAAUtf,UAAUqf,IAjBpB,SAAsBlc,EAAKE,GACzB,IAAIqK,EAAOnN,KAAKmgB,SACZ9d,EAAQ4c,EAAa9R,EAAMvK,GAO/B,OALIP,EAAQ,EACV8K,EAAK5E,KAAK,CAAC3F,EAAKE,IAEhBqK,EAAK9K,GAAO,GAAKS,EAEZ9C,MAkGTgf,EAASvf,UAAUkW,MA/DnB,WACE3V,KAAKmgB,SAAW,CACd,KAAQ,IAAIxB,EACZ,IAAO,IAAKL,GAAOS,GACnB,OAAU,IAAIJ,IA4DlBK,EAASvf,UAAkB,OA/C3B,SAAwBmD,GACtB,OAAOsd,EAAWlgB,KAAM4C,GAAa,OAAEA,IA+CzCoc,EAASvf,UAAUK,IAnCnB,SAAqB8C,GACnB,OAAOsd,EAAWlgB,KAAM4C,GAAK9C,IAAI8C,IAmCnCoc,EAASvf,UAAU0B,IAvBnB,SAAqByB,GACnB,OAAOsd,EAAWlgB,KAAM4C,GAAKzB,IAAIyB,IAuBnCoc,EAASvf,UAAUqf,IAVnB,SAAqBlc,EAAKE,GAExB,OADAod,EAAWlgB,KAAM4C,GAAKkc,IAAIlc,EAAKE,GACxB9C,MAgLT,IAAIyf,EAAea,GAAQ,SAASC,GA4SpC,IAAkBzd,EA3ShByd,EA4SgB,OADAzd,EA3SEyd,GA4SK,GArZzB,SAAsBzd,GAEpB,GAAoB,iBAATA,EACT,OAAOA,EAET,GAAIyc,EAASzc,GACX,OAAO4b,EAAiBA,EAAe3e,KAAK+C,GAAS,GAEvD,IAAIid,EAAUjd,EAAQ,GACtB,MAAkB,KAAVid,GAAkB,EAAIjd,IAAU,IAAa,KAAOid,EA4YhCS,CAAa1d,GA1SzC,IAAIid,EAAS,GAOb,OANI7C,EAAa7T,KAAKkX,IACpBR,EAAOxX,KAAK,IAEdgY,EAAOxV,QAAQoS,GAAY,SAASld,EAAOwgB,EAAQC,EAAOH,GACxDR,EAAOxX,KAAKmY,EAAQH,EAAOxV,QAAQqS,EAAc,MAASqD,GAAUxgB,MAE/D8f,KAUT,SAASL,EAAM5c,GACb,GAAoB,iBAATA,GAAqByc,EAASzc,GACvC,OAAOA,EAET,IAAIid,EAAUjd,EAAQ,GACtB,MAAkB,KAAVid,GAAkB,EAAIjd,IA7lBjB,IA6lBwC,KAAOid,EAkE9D,SAASO,EAAQT,EAAMc,GACrB,GAAmB,mBAARd,GAAuBc,GAA+B,mBAAZA,EACnD,MAAM,IAAItb,UAvqBQ,uBAyqBpB,IAAIub,EAAW,WACb,IAAIC,EAAO9d,UACPH,EAAM+d,EAAWA,EAASG,MAAM9gB,KAAM6gB,GAAQA,EAAK,GACnDE,EAAQH,EAASG,MAErB,GAAIA,EAAM5f,IAAIyB,GACZ,OAAOme,EAAMjhB,IAAI8C,GAEnB,IAAImd,EAASF,EAAKiB,MAAM9gB,KAAM6gB,GAE9B,OADAD,EAASG,MAAQA,EAAMjC,IAAIlc,EAAKmd,GACzBA,GAGT,OADAa,EAASG,MAAQ,IAAKT,EAAQU,OAAShC,GAChC4B,EAITN,EAAQU,MAAQhC,EA6DhB,IAAIvQ,EAAUD,MAAMC,QAmDpB,SAASmR,EAAS9c,GAChB,IAAI4G,SAAc5G,EAClB,QAASA,IAAkB,UAAR4G,GAA4B,YAARA,GAgDzC,SAAS6V,EAASzc,GAChB,MAAuB,iBAATA,GAtBhB,SAAsBA,GACpB,QAASA,GAAyB,iBAATA,EAsBtBme,CAAane,IAn1BF,mBAm1BYqb,EAAepe,KAAK+C,GA0DhDlC,EAAOC,QALP,SAAawe,EAAQC,EAAM4B,GACzB,IAAInB,EAAmB,MAAVV,OAAiBxb,EAAYub,EAAQC,EAAQC,GAC1D,YAAkBzb,IAAXkc,EAAuBmB,EAAenB,K,mDC75B/Cnf,EAAOC,QAAU,CACbsgB,IAAK,CACDpgB,KAAM,SACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,iCACb9E,YAAa,SAAS/W,GAClB,OAAQA,EAAI,IAGpB8b,GAAI,CACAzgB,KAAM,YACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhB+b,GAAI,CACA1gB,KAAM,OACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,iCACb9E,YAAa,SAAS/W,GAClB,OAAQA,EAAI,IAGpBgc,GAAI,CACA3gB,KAAM,UACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,iCACb9E,YAAa,SAAS/W,GAClB,OAAQA,EAAI,IAGpBic,GAAI,CACA5gB,KAAM,YACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhBkc,GAAI,CACA7gB,KAAM,SACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IACT,CACCzG,OAAQ,EACRyG,OAAQ,MAEZC,SAAU,EACVC,YAAa,+HACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,EAAU,EAAU,IAANA,EAAU,EAAU,IAANA,EAAU,EAAIA,EAAI,KAAO,GAAKA,EAAI,KAAO,GAAK,EAAIA,EAAI,KAAO,GAAK,EAAI,IAGlHmc,IAAK,CACD9gB,KAAM,aACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,iCACb9E,YAAa,SAAS/W,GAClB,OAAQA,EAAI,IAGpBoc,IAAK,CACD/gB,KAAM,WACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhBqc,GAAI,CACAhhB,KAAM,SACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,2BACb9E,YAAa,WACT,OAAO,IAGfuF,GAAI,CACAjhB,KAAM,cACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhBuc,GAAI,CACAlhB,KAAM,aACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,sIACb9E,YAAa,SAAS/W,GAClB,OAAQA,EAAI,IAAO,GAAKA,EAAI,KAAQ,GAAK,EAAIA,EAAI,IAAM,GAAKA,EAAI,IAAM,IAAMA,EAAI,IAAM,IAAMA,EAAI,KAAO,IAAM,EAAI,IAGzHwc,GAAI,CACAnhB,KAAM,YACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhByc,GAAI,CACAphB,KAAM,UACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhB0c,GAAI,CACArhB,KAAM,UACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,2BACb9E,YAAa,WACT,OAAO,IAGf4F,GAAI,CACAthB,KAAM,SACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,iCACb9E,YAAa,SAAS/W,GAClB,OAAQA,EAAI,IAGpB4c,IAAK,CACDvhB,KAAM,OACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhB6c,GAAI,CACAxhB,KAAM,UACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,sIACb9E,YAAa,SAAS/W,GAClB,OAAQA,EAAI,IAAO,GAAKA,EAAI,KAAQ,GAAK,EAAIA,EAAI,IAAM,GAAKA,EAAI,IAAM,IAAMA,EAAI,IAAM,IAAMA,EAAI,KAAO,IAAM,EAAI,IAGzH8c,GAAI,CACAzhB,KAAM,UACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhB+c,IAAK,CACD1hB,KAAM,QACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,2BACb9E,YAAa,WACT,OAAO,IAGfiG,GAAI,CACA3hB,KAAM,QACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,oEACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,EAAU,EAAKA,GAAK,GAAKA,GAAK,EAAK,EAAI,IAGvDid,IAAK,CACD5hB,KAAM,YACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,+GACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,EAAU,EAAIA,EAAI,IAAM,GAAKA,EAAI,IAAM,IAAMA,EAAI,IAAM,IAAMA,EAAI,KAAO,IAAM,EAAI,IAGlGsT,GAAI,CACAjY,KAAM,QACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,qFACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,EAAU,EAAU,IAANA,EAAU,EAAW,IAANA,GAAiB,KAANA,EAAY,EAAI,IAGxEkd,GAAI,CACA7hB,KAAM,SACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhBmd,GAAI,CACA9hB,KAAM,SACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhBod,IAAK,CACD/hB,KAAM,QACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhBqd,GAAI,CACAhiB,KAAM,WACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,2BACb9E,YAAa,WACT,OAAO,IAGfuG,GAAI,CACAjiB,KAAM,QACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhBud,GAAI,CACAliB,KAAM,UACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhBwd,GAAI,CACAniB,KAAM,YACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhByd,GAAI,CACApiB,KAAM,UACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhB0d,GAAI,CACAriB,KAAM,WACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhB2d,GAAI,CACAtiB,KAAM,SACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhB4d,GAAI,CACAviB,KAAM,UACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,2BACb9E,YAAa,WACT,OAAO,IAGf8G,GAAI,CACAxiB,KAAM,QACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhB8d,GAAI,CACAziB,KAAM,UACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhB+d,IAAK,CACD1iB,KAAM,WACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,iCACb9E,YAAa,SAAS/W,GAClB,OAAQA,EAAI,IAGpBge,GAAI,CACA3iB,KAAM,UACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhBie,GAAI,CACA5iB,KAAM,SACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,iCACb9E,YAAa,SAAS/W,GAClB,OAAQA,EAAI,IAGpBke,IAAK,CACD7iB,KAAM,WACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhBme,GAAI,CACA9iB,KAAM,UACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhBoe,GAAI,CACA/iB,KAAM,QACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,KAEZC,SAAU,EACVC,YAAa,kFACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,EAAU,EAAU,IAANA,EAAU,EAAIA,EAAI,EAAI,EAAIA,EAAI,GAAK,EAAI,IAGrEqe,GAAI,CACAhjB,KAAM,kBACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,KAEZC,SAAU,EACVC,YAAa,6GACb9E,YAAa,SAAS/W,GAClB,OAAe,IAANA,GAAiB,KAANA,EAAY,EAAW,IAANA,GAAiB,KAANA,EAAY,EAAKA,EAAI,GAAKA,EAAI,GAAM,EAAI,IAGhGse,GAAI,CACAjjB,KAAM,WACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhBue,GAAI,CACAljB,KAAM,WACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhBwe,IAAK,CACDnjB,KAAM,MACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,iCACb9E,YAAa,SAAS/W,GAClB,OAAQA,EAAI,IAGpBye,GAAI,CACApjB,KAAM,QACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhB0e,GAAI,CACArjB,KAAM,SACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhB2e,GAAI,CACAtjB,KAAM,QACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhB4e,IAAK,CACDvjB,KAAM,gBACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhB6e,GAAI,CACAxjB,KAAM,WACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,sIACb9E,YAAa,SAAS/W,GAClB,OAAQA,EAAI,IAAO,GAAKA,EAAI,KAAQ,GAAK,EAAIA,EAAI,IAAM,GAAKA,EAAI,IAAM,IAAMA,EAAI,IAAM,IAAMA,EAAI,KAAO,IAAM,EAAI,IAGzH8e,GAAI,CACAzjB,KAAM,YACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhB+e,GAAI,CACA1jB,KAAM,WACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhB8C,GAAI,CACAzH,KAAM,aACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,2BACb9E,YAAa,WACT,OAAO,IAGfxL,GAAI,CACAlQ,KAAM,YACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,0DACb9E,YAAa,SAAS/W,GAClB,OAAQA,EAAI,IAAO,GAAKA,EAAI,KAAQ,KAG5CnD,GAAI,CACAxB,KAAM,UACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhBgf,GAAI,CACA3jB,KAAM,WACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,2BACb9E,YAAa,WACT,OAAO,IAGfkI,IAAK,CACD5jB,KAAM,SACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,2BACb9E,YAAa,WACT,OAAO,IAGfmI,GAAI,CACA7jB,KAAM,WACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhBmf,GAAI,CACA9jB,KAAM,WACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,2BACb9E,YAAa,WACT,OAAO,IAGfqI,GAAI,CACA/jB,KAAM,SACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,2BACb9E,YAAa,WACT,OAAO,IAGfsI,GAAI,CACAhkB,KAAM,QACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,2BACb9E,YAAa,WACT,OAAO,IAGfuI,GAAI,CACAjkB,KAAM,UACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhBuf,GAAI,CACAlkB,KAAM,SACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,2BACb9E,YAAa,WACT,OAAO,IAGfyI,GAAI,CACAnkB,KAAM,UACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhByf,GAAI,CACApkB,KAAM,UACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,uEACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,EAAU,EAAU,IAANA,EAAU,EAAU,IAANA,EAAU,EAAI,IAG1D0f,GAAI,CACArkB,KAAM,SACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,2BACb9E,YAAa,WACT,OAAO,IAGf4I,GAAI,CACAtkB,KAAM,gBACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhB4f,GAAI,CACAvkB,KAAM,UACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,iCACb9E,YAAa,SAAS/W,GAClB,OAAQA,EAAI,IAGpB6f,GAAI,CACAxkB,KAAM,MACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,2BACb9E,YAAa,WACT,OAAO,IAGf+I,GAAI,CACAzkB,KAAM,aACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,KAEZC,SAAU,EACVC,YAAa,uHACb9E,YAAa,SAAS/W,GAClB,OAAQA,EAAI,IAAO,GAAKA,EAAI,KAAQ,GAAK,EAAIA,EAAI,IAAM,IAAMA,EAAI,IAAM,IAAMA,EAAI,KAAO,IAAM,EAAI,IAG1G+f,GAAI,CACA1kB,KAAM,UACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,gFACb9E,YAAa,SAAS/W,GAClB,OAAQA,EAAI,IAAO,GAAKA,EAAI,KAAQ,GAAK,EAAU,IAANA,EAAU,EAAI,IAGnEggB,IAAK,CACD3kB,KAAM,WACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhBigB,IAAK,CACD5kB,KAAM,mBACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,iCACb9E,YAAa,SAAS/W,GAClB,OAAQA,EAAI,IAGpBkgB,GAAI,CACA7kB,KAAM,WACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,iCACb9E,YAAa,SAAS/W,GAClB,OAAQA,EAAI,IAGpBmgB,GAAI,CACA9kB,KAAM,QACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,iCACb9E,YAAa,SAAS/W,GAClB,OAAQA,EAAI,IAGpBogB,GAAI,CACA/kB,KAAM,aACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,2DACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,GAAWA,EAAI,IAAO,EAAI,EAAI,IAG9CqgB,GAAI,CACAhlB,KAAM,YACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhBsgB,GAAI,CACAjlB,KAAM,YACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhBugB,IAAK,CACDllB,KAAM,WACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhBwgB,IAAK,CACDnlB,KAAM,WACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,yDACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,EAAU,EAAU,IAANA,EAAU,EAAI,IAG5CygB,GAAI,CACAplB,KAAM,UACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhB0gB,GAAI,CACArlB,KAAM,QACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,2BACb9E,YAAa,WACT,OAAO,IAGf4J,GAAI,CACAtlB,KAAM,UACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IACT,CACCzG,OAAQ,EACRyG,OAAQ,KAEZC,SAAU,EACVC,YAAa,iIACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,EAAU,EAAU,IAANA,GAAYA,EAAI,IAAM,GAAKA,EAAI,IAAM,GAAM,EAAKA,EAAI,IAAM,IAAMA,EAAI,IAAM,GAAM,EAAI,IAGlH4gB,GAAI,CACAvlB,KAAM,UACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,2BACb9E,YAAa,WACT,OAAO,IAGf8J,IAAK,CACDxlB,KAAM,UACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhB8gB,IAAK,CACDzlB,KAAM,aACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhB+gB,GAAI,CACA1lB,KAAM,mBACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhBghB,GAAI,CACA3lB,KAAM,SACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhBihB,GAAI,CACA5lB,KAAM,QACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhBkhB,GAAI,CACA7lB,KAAM,oBACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhBmhB,GAAI,CACA9lB,KAAM,YACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhBohB,IAAK,CACD/lB,KAAM,iBACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhBqhB,GAAI,CACAhmB,KAAM,UACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,iCACb9E,YAAa,SAAS/W,GAClB,OAAQA,EAAI,IAGpBshB,GAAI,CACAjmB,KAAM,QACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhBuhB,GAAI,CACAlmB,KAAM,UACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhBwhB,IAAK,CACDnmB,KAAM,aACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhByhB,GAAI,CACApmB,KAAM,SACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,+GACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,EAAU,EAAIA,EAAI,IAAM,GAAKA,EAAI,IAAM,IAAMA,EAAI,IAAM,IAAMA,EAAI,KAAO,IAAM,EAAI,IAGlG0hB,IAAK,CACDrmB,KAAM,aACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhB2hB,GAAI,CACAtmB,KAAM,SACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhB4hB,GAAI,CACAvmB,KAAM,aACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhB6hB,GAAI,CACAxmB,KAAM,UACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhB8hB,GAAI,CACAzmB,KAAM,WACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,KAEZC,SAAU,EACVC,YAAa,4FACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,EAAU,EAAW,IAANA,GAAYA,EAAI,IAAM,GAAKA,EAAI,IAAM,GAAO,EAAI,IAG/E+hB,GAAI,CACA1mB,KAAM,UACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,sIACb9E,YAAa,SAAS/W,GAClB,OAAQA,EAAI,IAAO,GAAKA,EAAI,KAAQ,GAAK,EAAIA,EAAI,IAAM,GAAKA,EAAI,IAAM,IAAMA,EAAI,IAAM,IAAMA,EAAI,KAAO,IAAM,EAAI,IAGzHgiB,GAAI,CACA3mB,KAAM,cACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhBiiB,IAAK,CACD5mB,KAAM,QACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,2BACb9E,YAAa,WACT,OAAO,IAGfmL,IAAK,CACD7mB,KAAM,UACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhBmiB,IAAK,CACD9mB,KAAM,QACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhBoiB,GAAI,CACA/mB,KAAM,SACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhBqiB,GAAI,CACAhnB,KAAM,gBACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhBsiB,GAAI,CACAjnB,KAAM,UACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhBuiB,GAAI,CACAlnB,KAAM,SACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,oEACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,EAAU,EAAKA,GAAK,GAAKA,GAAK,EAAK,EAAI,IAGvDwiB,GAAI,CACAnnB,KAAM,YACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,0GACb9E,YAAa,SAAS/W,GAClB,OAAQA,EAAI,KAAQ,EAAI,EAAIA,EAAI,KAAQ,EAAI,EAAIA,EAAI,KAAQ,GAAKA,EAAI,KAAQ,EAAI,EAAI,IAG7FyiB,GAAI,CACApnB,KAAM,SACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhB0iB,IAAK,CACDrnB,KAAM,UACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhB2iB,GAAI,CACAtnB,KAAM,WACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhB4iB,GAAI,CACAvnB,KAAM,UACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,sIACb9E,YAAa,SAAS/W,GAClB,OAAQA,EAAI,IAAO,GAAKA,EAAI,KAAQ,GAAK,EAAIA,EAAI,IAAM,GAAKA,EAAI,IAAM,IAAMA,EAAI,IAAM,IAAMA,EAAI,KAAO,IAAM,EAAI,IAGzH6iB,GAAI,CACAxnB,KAAM,YACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,2BACb9E,YAAa,WACT,OAAO,IAGf+L,GAAI,CACAznB,KAAM,UACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhB+iB,GAAI,CACA1nB,KAAM,UACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhBgjB,GAAI,CACA3nB,KAAM,QACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhBijB,GAAI,CACA5nB,KAAM,SACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhBkjB,GAAI,CACA7nB,KAAM,QACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,iCACb9E,YAAa,SAAS/W,GAClB,OAAQA,EAAI,IAGpBmjB,GAAI,CACA9nB,KAAM,OACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,2BACb9E,YAAa,WACT,OAAO,IAGfqM,GAAI,CACA/nB,KAAM,WACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,iCACb9E,YAAa,SAAS/W,GAClB,OAAQA,EAAI,IAGpBqjB,GAAI,CACAhoB,KAAM,UACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhBsjB,GAAI,CACAjoB,KAAM,UACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,iCACb9E,YAAa,SAAS/W,GAClB,OAAQA,EAAI,IAGpBujB,GAAI,CACAloB,KAAM,QACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,2BACb9E,YAAa,WACT,OAAO,IAGfyM,GAAI,CACAnoB,KAAM,SACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,2BACb9E,YAAa,WACT,OAAO,IAGf0M,GAAI,CACApoB,KAAM,YACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,sIACb9E,YAAa,SAAS/W,GAClB,OAAQA,EAAI,IAAO,GAAKA,EAAI,KAAQ,GAAK,EAAIA,EAAI,IAAM,GAAKA,EAAI,IAAM,IAAMA,EAAI,IAAM,IAAMA,EAAI,KAAO,IAAM,EAAI,IAGzH0jB,GAAI,CACAroB,KAAM,OACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhB2jB,GAAI,CACAtoB,KAAM,QACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,iCACb9E,YAAa,SAAS/W,GAClB,OAAQA,EAAI,IAGpB4jB,GAAI,CACAvoB,KAAM,aACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,2BACb9E,YAAa,WACT,OAAO,IAGf8M,GAAI,CACAxoB,KAAM,UACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,iCACb9E,YAAa,SAAS/W,GAClB,OAAQA,EAAI,IAGpB8jB,GAAI,CACAzoB,KAAM,QACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,2BACb9E,YAAa,WACT,OAAO,IAGfgN,GAAI,CACA1oB,KAAM,SACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,GACT,CACCzG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,mCACb9E,YAAa,SAAS/W,GAClB,OAAc,IAANA,IAGhBgkB,GAAI,CACA3oB,KAAM,UACNqgB,SAAU,CAAC,CACPxG,OAAQ,EACRyG,OAAQ,IAEZC,SAAU,EACVC,YAAa,2BACb9E,YAAa,WACT,OAAO,M,iCC3gEnBxW,OAAO5G,eAAewB,EAAS,aAAc,CAC3CiC,OAAO,IAETjC,EAAQ8oB,UAgBR,WACE,GAAkB,oBAAPC,GAET,OADAjO,QAAQ9O,KAAK,eACN,KAGT,OAAO+c,GAAGD,aArBZ9oB,EAAQoZ,YA4BR,WACE,GAAkB,oBAAP2P,GAET,OADAjO,QAAQ9O,KAAK,eACN,KAGT,OAAO+c,GAAG3P,eAjCZpZ,EAAQgpB,UA8CR,SAAmBC,EAAKnd,EAAM4N,EAAMM,EAAOjU,GACzC,GAAkB,oBAAPgjB,GAET,OADAjO,QAAQ9O,KAAK,eACNF,EAGT,OAAOid,GAAGG,KAAKF,UAAUC,EAAKnd,EAAM4N,EAAMM,EAAOjU,IAnDnD/F,EAAQmpB,gBAkER,SAAyBF,EAAKG,EAAcC,EAAYrP,EAAON,EAAM3T,GACnE,GAAkB,oBAAPgjB,GAET,OADAjO,QAAQ9O,KAAK,eACNod,EAGT,OAAOL,GAAGG,KAAKC,gBAAgBF,EAAKG,EAAcC,EAAYrP,EAAON,EAAM3T,IAvE7E/F,EAAQspB,YAgFR,WACE,QAA+B,IAApB7kB,OAAO8kB,SAEhB,OADAzO,QAAQ9O,KAAK,qBACN,EAGT,OAAOvH,OAAO8kB,UArFhBvpB,EAAQwpB,YA8FR,WACE,QAA+B,IAApB/kB,OAAOglB,SAEhB,OADA3O,QAAQ9O,KAAK,qBACN,CAAC,SAAU,SAAU,UAAW,YAAa,WAAY,SAAU,YAG5E,OAAOvH,OAAOglB,UAnGhBzpB,EAAQ0pB,iBA4GR,WACE,QAAoC,IAAzBjlB,OAAOklB,cAEhB,OADA7O,QAAQ9O,KAAK,0BACN,CAAC,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,QAG1D,OAAOvH,OAAOklB,eAjHhB3pB,EAAQ4pB,eA0HR,WACE,QAAkC,IAAvBnlB,OAAOolB,YAEhB,OADA/O,QAAQ9O,KAAK,wBACN,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAG9C,OAAOvH,OAAOolB,aA/HhB7pB,EAAQ8pB,cAwIR,WACE,QAAiC,IAAtBrlB,OAAOslB,WAEhB,OADAjP,QAAQ9O,KAAK,uBACN,CAAC,UAAW,WAAY,QAAS,QAAS,MAAO,OAAQ,OAAQ,SAAU,YAAa,UAAW,WAAY,YAGxH,OAAOvH,OAAOslB,YA7IhB/pB,EAAQgqB,mBAsJR,WACE,QAAsC,IAA3BvlB,OAAOwlB,gBAEhB,OADAnP,QAAQ9O,KAAK,4BACN,CAAC,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,QAGlG,OAAOvH,OAAOwlB,kB,oBC1KhB;;;;;qCAKA,SAAUxlB,EAAQwD,EAAUiiB,EAAYlnB,GACtC,aAEF,IA+FIiL,EA/FAkc,EAAkB,CAAC,GAAI,SAAU,MAAO,KAAM,KAAM,KACpDC,EAAeniB,EAASW,cAAc,OAItC2I,EAAQ9N,KAAK8N,MACb8Y,EAAM5mB,KAAK4mB,IACXC,EAAM5V,KAAK4V,IASf,SAASC,EAAkBC,EAAIC,EAASC,GACpC,OAAO/V,WAAWgW,EAAOH,EAAIE,GAAUD,GAY3C,SAASG,EAAeC,EAAKL,EAAIE,GAC7B,QAAI/c,MAAMC,QAAQid,KACdC,EAAKD,EAAKH,EAAQF,GAAKE,IAChB,GAWf,SAASI,EAAKxS,EAAKyS,EAAUL,GACzB,IAAI5lB,EAEJ,GAAKwT,EAIL,GAAIA,EAAIrV,QACJqV,EAAIrV,QAAQ8nB,EAAUL,QACnB,QAvDX,IAuDepS,EAAI/W,OAEX,IADAuD,EAAI,EACGA,EAAIwT,EAAI/W,QACXwpB,EAAS7rB,KAAKwrB,EAASpS,EAAIxT,GAAIA,EAAGwT,GAClCxT,SAGJ,IAAKA,KAAKwT,EACNA,EAAI1S,eAAed,IAAMimB,EAAS7rB,KAAKwrB,EAASpS,EAAIxT,GAAIA,EAAGwT,GAYvE,SAAS0S,EAAUC,EAAQ/qB,EAAM2a,GAC7B,IAAIqQ,EAAqB,sBAAwBhrB,EAAO,KAAO2a,EAAU,SACzE,OAAO,WACH,IAAInW,EAAI,IAAIyD,MAAM,mBACdgjB,EAAQzmB,GAAKA,EAAEymB,MAAQzmB,EAAEymB,MAAMjhB,QAAQ,kBAAmB,IACzDA,QAAQ,cAAe,IACvBA,QAAQ,6BAA8B,kBAAoB,sBAE3DkhB,EAAM3mB,EAAOqW,UAAYrW,EAAOqW,QAAQ9O,MAAQvH,EAAOqW,QAAQsQ,KAInE,OAHIA,GACAA,EAAIlsB,KAAKuF,EAAOqW,QAASoQ,EAAoBC,GAE1CF,EAAOhL,MAAM9gB,KAAM+C,YAa9B+L,EADyB,mBAAlB7I,OAAO6I,OACL,SAAgBxO,GACrB,GAAIA,QACA,MAAM,IAAI+E,UAAU,8CAIxB,IADA,IAAI6mB,EAASjmB,OAAO3F,GACX+B,EAAQ,EAAGA,EAAQU,UAAUX,OAAQC,IAAS,CACnD,IAAI8pB,EAASppB,UAAUV,GACvB,GAAI8pB,QACA,IAAK,IAAIC,KAAWD,EACZA,EAAO1lB,eAAe2lB,KACtBF,EAAOE,GAAWD,EAAOC,IAKzC,OAAOF,GAGFjmB,OAAO6I,OAWpB,IAAIud,EAASR,GAAU,SAAgBS,EAAMC,EAAKC,GAG9C,IAFA,IAAItpB,EAAO+C,OAAO/C,KAAKqpB,GACnB5mB,EAAI,EACDA,EAAIzC,EAAKd,UACPoqB,GAAUA,QAtIvB,IAsIgCF,EAAKppB,EAAKyC,OAC9B2mB,EAAKppB,EAAKyC,IAAM4mB,EAAIrpB,EAAKyC,KAE7BA,IAEJ,OAAO2mB,IACR,SAAU,iBASTE,EAAQX,GAAU,SAAeS,EAAMC,GACvC,OAAOF,EAAOC,EAAMC,GAAK,KAC1B,QAAS,iBAQZ,SAASE,EAAQC,EAAOC,EAAMC,GAC1B,IACIC,EADAC,EAAQH,EAAKltB,WAGjBotB,EAASH,EAAMjtB,UAAYwG,OAAO1E,OAAOurB,IAClCzpB,YAAcqpB,EACrBG,EAAOE,OAASD,EAEZF,GACA9d,EAAO+d,EAAQD,GAUvB,SAASpB,EAAOH,EAAIE,GAChB,OAAO,WACH,OAAOF,EAAGvK,MAAMyK,EAASxoB,YAWjC,SAASiqB,EAASC,EAAKpM,GACnB,MA1LgB,mBA0LLoM,EACAA,EAAInM,MAAMD,GAAOA,EAAK,SAjMrC,EAiMkEA,GAEvDoM,EASX,SAASC,EAAYC,EAAMC,GACvB,YA7MJ,IA6MYD,EAAsBC,EAAOD,EASzC,SAASE,EAAkB/sB,EAAQgtB,EAAOC,GACtC5B,EAAK6B,EAASF,IAAQ,SAAS5jB,GAC3BpJ,EAAOgX,iBAAiB5N,EAAM6jB,GAAS,MAU/C,SAASE,EAAqBntB,EAAQgtB,EAAOC,GACzC5B,EAAK6B,EAASF,IAAQ,SAAS5jB,GAC3BpJ,EAAOmX,oBAAoB/N,EAAM6jB,GAAS,MAWlD,SAASG,EAAUC,EAAMvmB,GACrB,KAAOumB,GAAM,CACT,GAAIA,GAAQvmB,EACR,OAAO,EAEXumB,EAAOA,EAAK9jB,WAEhB,OAAO,EASX,SAAS+jB,EAAMC,EAAKC,GAChB,OAAOD,EAAIpe,QAAQqe,IAAS,EAQhC,SAASN,EAASK,GACd,OAAOA,EAAIxtB,OAAO8C,MAAM,QAU5B,SAAS4qB,EAAQxB,EAAKuB,EAAME,GACxB,GAAIzB,EAAI9c,UAAYue,EAChB,OAAOzB,EAAI9c,QAAQqe,GAGnB,IADA,IAAInoB,EAAI,EACDA,EAAI4mB,EAAInqB,QAAQ,CACnB,GAAK4rB,GAAazB,EAAI5mB,GAAGqoB,IAAcF,IAAWE,GAAazB,EAAI5mB,KAAOmoB,EACtE,OAAOnoB,EAEXA,IAEJ,OAAQ,EAShB,SAASsoB,EAAQ9U,GACb,OAAO3K,MAAM/O,UAAUiD,MAAM3C,KAAKoZ,EAAK,GAU3C,SAAS+U,EAAY3B,EAAK3pB,EAAKurB,GAK3B,IAJA,IAAIC,EAAU,GACVC,EAAS,GACT1oB,EAAI,EAEDA,EAAI4mB,EAAInqB,QAAQ,CACnB,IAAI6qB,EAAMrqB,EAAM2pB,EAAI5mB,GAAG/C,GAAO2pB,EAAI5mB,GAC9BooB,EAAQM,EAAQpB,GAAO,GACvBmB,EAAQ7lB,KAAKgkB,EAAI5mB,IAErB0oB,EAAO1oB,GAAKsnB,EACZtnB,IAaJ,OAVIwoB,IAIIC,EAHCxrB,EAGSwrB,EAAQD,MAAK,SAAyBxnB,EAAG0H,GAC/C,OAAO1H,EAAE/D,GAAOyL,EAAEzL,MAHZwrB,EAAQD,QAQnBC,EASX,SAASE,EAASnV,EAAKoV,GAKnB,IAJA,IAAIC,EAAQC,EACRC,EAAYH,EAAS,GAAGI,cAAgBJ,EAAS7rB,MAAM,GAEvDiD,EAAI,EACDA,EAAIqlB,EAAgB5oB,QAAQ,CAI/B,IAFAqsB,GADAD,EAASxD,EAAgBrlB,IACP6oB,EAASE,EAAYH,KAE3BpV,EACR,OAAOsV,EAEX9oB,KASR,IAAIipB,EAAY,EAUhB,SAASC,EAAoBC,GACzB,IAAIC,EAAMD,EAAQE,eAAiBF,EACnC,OAAQC,EAAIE,aAAeF,EAAIG,cAAgB5pB,EAGnD,IAEI6pB,EAAiB,iBAAkB7pB,EACnC8pB,OA1XJ,IA0X6Bd,EAAShpB,EAAQ,gBAC1C+pB,EAAqBF,GAJN,wCAIoC9lB,KAAKD,UAAUE,WAwBlEgmB,EAAW,CAAC,IAAK,KACjBC,EAAkB,CAAC,UAAW,WASlC,SAASC,EAAMC,EAASnU,GACpB,IAAIkC,EAAOxd,KACXA,KAAKyvB,QAAUA,EACfzvB,KAAKsb,SAAWA,EAChBtb,KAAK8uB,QAAUW,EAAQX,QACvB9uB,KAAKM,OAASmvB,EAAQ7oB,QAAQ8oB,YAI9B1vB,KAAK2vB,WAAa,SAASC,GACnB5C,EAASyC,EAAQ7oB,QAAQipB,OAAQ,CAACJ,KAClCjS,EAAK+P,QAAQqC,IAIrB5vB,KAAK8vB,OA4DT,SAASC,EAAaN,EAASO,EAAWC,GACtC,IAAIC,EAAcD,EAAME,SAAS/tB,OAC7BguB,EAAqBH,EAAMI,gBAAgBjuB,OAC3CkuB,EAvGU,EAuGCN,GAA4BE,EAAcE,GAAuB,EAC5EG,EAAuB,GAAZP,GAA2CE,EAAcE,GAAuB,EAE/FH,EAAMK,UAAYA,EAClBL,EAAMM,UAAYA,EAEdD,IACAb,EAAQe,QAAU,IAKtBP,EAAMD,UAAYA,EAiBtB,SAA0BP,EAASQ,GAC/B,IAAIO,EAAUf,EAAQe,QAClBL,EAAWF,EAAME,SACjBM,EAAiBN,EAAS/tB,OAGzBouB,EAAQE,aACTF,EAAQE,WAAaC,EAAqBV,IAI1CQ,EAAiB,IAAMD,EAAQI,cAC/BJ,EAAQI,cAAgBD,EAAqBV,GACnB,IAAnBQ,IACPD,EAAQI,eAAgB,GAG5B,IAAIF,EAAaF,EAAQE,WACrBE,EAAgBJ,EAAQI,cACxBC,EAAeD,EAAgBA,EAAcE,OAASJ,EAAWI,OAEjEA,EAASb,EAAMa,OAASC,EAAUZ,GACtCF,EAAMe,UAAY7F,IAClB8E,EAAMgB,UAAYhB,EAAMe,UAAYN,EAAWM,UAE/Cf,EAAMiB,MAAQC,EAASN,EAAcC,GACrCb,EAAMmB,SAAWC,EAAYR,EAAcC,GA0B/C,SAAwBN,EAASP,GAC7B,IAAIa,EAASb,EAAMa,OACfQ,EAASd,EAAQe,aAAe,GAChCC,EAAYhB,EAAQgB,WAAa,GACjCC,EAAYjB,EAAQiB,WAAa,GA5LvB,IA8LVxB,EAAMD,WA5LE,IA4L2ByB,EAAUzB,YAC7CwB,EAAYhB,EAAQgB,UAAY,CAC5BE,EAAGD,EAAUE,QAAU,EACvBC,EAAGH,EAAUI,QAAU,GAG3BP,EAASd,EAAQe,YAAc,CAC3BG,EAAGZ,EAAOY,EACVE,EAAGd,EAAOc,IAIlB3B,EAAM0B,OAASH,EAAUE,GAAKZ,EAAOY,EAAIJ,EAAOI,GAChDzB,EAAM4B,OAASL,EAAUI,GAAKd,EAAOc,EAAIN,EAAOM,GA3ChDE,CAAetB,EAASP,GACxBA,EAAM8B,gBAAkBC,EAAa/B,EAAM0B,OAAQ1B,EAAM4B,QAEzD,IAAII,EAAkBC,EAAYjC,EAAMgB,UAAWhB,EAAM0B,OAAQ1B,EAAM4B,QACvE5B,EAAMkC,iBAAmBF,EAAgBP,EACzCzB,EAAMmC,iBAAmBH,EAAgBL,EACzC3B,EAAMgC,gBAAmB/G,EAAI+G,EAAgBP,GAAKxG,EAAI+G,EAAgBL,GAAMK,EAAgBP,EAAIO,EAAgBL,EAEhH3B,EAAMoC,MAAQzB,GAkNAnsB,EAlNyBmsB,EAAcT,SAkNhCmC,EAlN0CnC,EAmNxDkB,EAAYiB,EAAI,GAAIA,EAAI,GAAI/C,GAAmB8B,EAAY5sB,EAAM,GAAIA,EAAM,GAAI8qB,IAnNX,EAC3EU,EAAMsC,SAAW3B,EAsMrB,SAAqBnsB,EAAO6tB,GACxB,OAAOnB,EAASmB,EAAI,GAAIA,EAAI,GAAI/C,GAAmB4B,EAAS1sB,EAAM,GAAIA,EAAM,GAAI8qB,GAvM/CiD,CAAY5B,EAAcT,SAAUA,GAAY,EAEjFF,EAAMwC,YAAejC,EAAQiB,UAAsCxB,EAAME,SAAS/tB,OAC9EouB,EAAQiB,UAAUgB,YAAexC,EAAME,SAAS/tB,OAASouB,EAAQiB,UAAUgB,YADtCxC,EAAME,SAAS/tB,OAwC5D,SAAkCouB,EAASP,GACvC,IAEIyC,EAAUC,EAAWC,EAAWC,EAFhCC,EAAOtC,EAAQuC,cAAgB9C,EAC/BgB,EAAYhB,EAAMe,UAAY8B,EAAK9B,UAGvC,GArNe,GAqNXf,EAAMD,YAA8BiB,EA1NrB,SAlYvB,IA4lB4E6B,EAAKJ,UAAyB,CAClG,IAAIf,EAAS1B,EAAM0B,OAASmB,EAAKnB,OAC7BE,EAAS5B,EAAM4B,OAASiB,EAAKjB,OAE7B5nB,EAAIioB,EAAYjB,EAAWU,EAAQE,GACvCc,EAAY1oB,EAAEynB,EACdkB,EAAY3oB,EAAE2nB,EACdc,EAAYxH,EAAIjhB,EAAEynB,GAAKxG,EAAIjhB,EAAE2nB,GAAM3nB,EAAEynB,EAAIznB,EAAE2nB,EAC3CiB,EAAYb,EAAaL,EAAQE,GAEjCrB,EAAQuC,aAAe9C,OAGvByC,EAAWI,EAAKJ,SAChBC,EAAYG,EAAKH,UACjBC,EAAYE,EAAKF,UACjBC,EAAYC,EAAKD,UAGrB5C,EAAMyC,SAAWA,EACjBzC,EAAM0C,UAAYA,EAClB1C,EAAM2C,UAAYA,EAClB3C,EAAM4C,UAAYA,EAhElBG,CAAyBxC,EAASP,GA4MtC,IAAkBxrB,EAAO6tB,EAzMrB,IAAIhyB,EAASmvB,EAAQX,QACjBpB,EAAUuC,EAAMgD,SAAS3yB,OAAQA,KACjCA,EAAS2vB,EAAMgD,SAAS3yB,QAE5B2vB,EAAM3vB,OAASA,EA/Df4yB,CAAiBzD,EAASQ,GAG1BR,EAAQjU,KAAK,eAAgByU,GAE7BR,EAAQ0D,UAAUlD,GAClBR,EAAQe,QAAQiB,UAAYxB,EA0HhC,SAASU,EAAqBV,GAK1B,IAFA,IAAIE,EAAW,GACXxqB,EAAI,EACDA,EAAIsqB,EAAME,SAAS/tB,QACtB+tB,EAASxqB,GAAK,CACVytB,QAAShhB,EAAM6d,EAAME,SAASxqB,GAAGytB,SACjCC,QAASjhB,EAAM6d,EAAME,SAASxqB,GAAG0tB,UAErC1tB,IAGJ,MAAO,CACHqrB,UAAW7F,IACXgF,SAAUA,EACVW,OAAQC,EAAUZ,GAClBwB,OAAQ1B,EAAM0B,OACdE,OAAQ5B,EAAM4B,QAStB,SAASd,EAAUZ,GACf,IAAIM,EAAiBN,EAAS/tB,OAG9B,GAAuB,IAAnBquB,EACA,MAAO,CACHiB,EAAGtf,EAAM+d,EAAS,GAAGiD,SACrBxB,EAAGxf,EAAM+d,EAAS,GAAGkD,UAK7B,IADA,IAAI3B,EAAI,EAAGE,EAAI,EAAGjsB,EAAI,EACfA,EAAI8qB,GACPiB,GAAKvB,EAASxqB,GAAGytB,QACjBxB,GAAKzB,EAASxqB,GAAG0tB,QACjB1tB,IAGJ,MAAO,CACH+rB,EAAGtf,EAAMsf,EAAIjB,GACbmB,EAAGxf,EAAMwf,EAAInB,IAWrB,SAASyB,EAAYjB,EAAWS,EAAGE,GAC/B,MAAO,CACHF,EAAGA,EAAIT,GAAa,EACpBW,EAAGA,EAAIX,GAAa,GAU5B,SAASe,EAAaN,EAAGE,GACrB,OAAIF,IAAME,EAzTO,EA6Tb1G,EAAIwG,IAAMxG,EAAI0G,GACPF,EAAI,EA7TE,EACC,EA8TXE,EAAI,EA7TI,EACE,GAsUrB,SAASP,EAAYiC,EAAIC,EAAI5lB,GACpBA,IACDA,EAAQ2hB,GAEZ,IAAIoC,EAAI6B,EAAG5lB,EAAM,IAAM2lB,EAAG3lB,EAAM,IAC5BikB,EAAI2B,EAAG5lB,EAAM,IAAM2lB,EAAG3lB,EAAM,IAEhC,OAAOrJ,KAAKkvB,KAAM9B,EAAIA,EAAME,EAAIA,GAUpC,SAAST,EAASmC,EAAIC,EAAI5lB,GACjBA,IACDA,EAAQ2hB,GAEZ,IAAIoC,EAAI6B,EAAG5lB,EAAM,IAAM2lB,EAAG3lB,EAAM,IAC5BikB,EAAI2B,EAAG5lB,EAAM,IAAM2lB,EAAG3lB,EAAM,IAChC,OAA0B,IAAnBrJ,KAAKmvB,MAAM7B,EAAGF,GAAWptB,KAAKovB,GA1TzClE,EAAM/vB,UAAY,CAKd8tB,QAAS,aAKTuC,KAAM,WACF9vB,KAAK2zB,MAAQtG,EAAkBrtB,KAAK8uB,QAAS9uB,KAAK2zB,KAAM3zB,KAAK2vB,YAC7D3vB,KAAK4zB,UAAYvG,EAAkBrtB,KAAKM,OAAQN,KAAK4zB,SAAU5zB,KAAK2vB,YACpE3vB,KAAK6zB,OAASxG,EAAkBwB,EAAoB7uB,KAAK8uB,SAAU9uB,KAAK6zB,MAAO7zB,KAAK2vB,aAMxF1X,QAAS,WACLjY,KAAK2zB,MAAQlG,EAAqBztB,KAAK8uB,QAAS9uB,KAAK2zB,KAAM3zB,KAAK2vB,YAChE3vB,KAAK4zB,UAAYnG,EAAqBztB,KAAKM,OAAQN,KAAK4zB,SAAU5zB,KAAK2vB,YACvE3vB,KAAK6zB,OAASpG,EAAqBoB,EAAoB7uB,KAAK8uB,SAAU9uB,KAAK6zB,MAAO7zB,KAAK2vB,cA4T/F,IAAImE,EAAkB,CAClBC,UA/Xc,EAgYdlf,UA/Xa,EAgYbmf,QA/XY,GA0YhB,SAASC,IACLj0B,KAAK2zB,KATkB,YAUvB3zB,KAAK6zB,MATiB,oBAWtB7zB,KAAKk0B,SAAU,EAEf1E,EAAM1O,MAAM9gB,KAAM+C,WAGtB0pB,EAAQwH,EAAYzE,EAAO,CAKvBjC,QAAS,SAAmBqC,GACxB,IAAII,EAAY8D,EAAgBlE,EAAGlmB,MA3ZzB,EA8ZNsmB,GAAyC,IAAdJ,EAAGuE,SAC9Bn0B,KAAKk0B,SAAU,GA9ZV,EAiaLlE,GAAuC,IAAbJ,EAAGwE,QAC7BpE,EAjaI,GAqaHhwB,KAAKk0B,UAraF,EAyaJlE,IACAhwB,KAAKk0B,SAAU,GAGnBl0B,KAAKsb,SAAStb,KAAKyvB,QAASO,EAAW,CACnCG,SAAU,CAACP,GACXS,gBAAiB,CAACT,GAClByE,YAvbW,QAwbXpB,SAAUrD,QAKtB,IAAI0E,EAAoB,CACpBC,YAzbc,EA0bdC,YAzba,EA0bbC,UAzbY,EA0bZC,cAzbe,EA0bfC,WA1be,GA8bfC,EAAyB,CACzBC,EAzcmB,QA0cnBC,EAzciB,MA0cjBC,EAzcmB,QA0cnBC,EAzcoB,UA4cpBC,EAAyB,cACzBC,EAAwB,sCAa5B,SAASC,KACLn1B,KAAK2zB,KAAOsB,EACZj1B,KAAK6zB,MAAQqB,EAEb1F,EAAM1O,MAAM9gB,KAAM+C,WAElB/C,KAAKo1B,MAASp1B,KAAKyvB,QAAQe,QAAQ6E,cAAgB,GAhBnD/vB,EAAOgwB,iBAAmBhwB,EAAOiwB,eACjCN,EAAyB,gBACzBC,EAAwB,6CAiB5BzI,EAAQ0I,GAAmB3F,EAAO,CAK9BjC,QAAS,SAAmBqC,GACxB,IAAIwF,EAAQp1B,KAAKo1B,MACbI,GAAgB,EAEhBC,EAAsB7F,EAAGlmB,KAAKH,cAAcwB,QAAQ,KAAM,IAC1DilB,EAAYsE,EAAkBmB,GAC9BpB,EAAcO,EAAuBhF,EAAGyE,cAAgBzE,EAAGyE,YAE3DqB,EAnfW,SAmfArB,EAGXsB,EAAa5H,EAAQqH,EAAOxF,EAAGgG,UAAW,aA/epC,EAkfN5F,IAA0C,IAAdJ,EAAGuE,QAAgBuB,GAC3CC,EAAa,IACbP,EAAM7sB,KAAKqnB,GACX+F,EAAaP,EAAMhzB,OAAS,GAEb,GAAZ4tB,IACPwF,GAAgB,GAIhBG,EAAa,IAKjBP,EAAMO,GAAc/F,EAEpB5vB,KAAKsb,SAAStb,KAAKyvB,QAASO,EAAW,CACnCG,SAAUiF,EACV/E,gBAAiB,CAACT,GAClByE,YAAaA,EACbpB,SAAUrD,IAGV4F,GAEAJ,EAAM5wB,OAAOmxB,EAAY,OAKrC,IAAIE,GAAyB,CACzBC,WAlhBc,EAmhBdrd,UAlhBa,EAmhBbsd,SAlhBY,EAmhBZC,YAlhBe,GA6hBnB,SAASC,KACLj2B,KAAK4zB,SATwB,aAU7B5zB,KAAK6zB,MATwB,4CAU7B7zB,KAAKk2B,SAAU,EAEf1G,EAAM1O,MAAM9gB,KAAM+C,WAsCtB,SAASozB,GAAuBvG,EAAIlmB,GAChC,IAAI0F,EAAM6e,EAAQ2B,EAAGwG,SACjBC,EAAUpI,EAAQ2B,EAAG0G,gBAMzB,OAJW,GAAP5sB,IACA0F,EAAM8e,EAAY9e,EAAItH,OAAOuuB,GAAU,cAAc,IAGlD,CAACjnB,EAAKinB,GA3CjB5J,EAAQwJ,GAAkBzG,EAAO,CAC7BjC,QAAS,SAAmBqC,GACxB,IAAIlmB,EAAOmsB,GAAuBjG,EAAGlmB,MAOrC,GAjjBU,IA6iBNA,IACA1J,KAAKk2B,SAAU,GAGdl2B,KAAKk2B,QAAV,CAIA,IAAIE,EAAUD,GAAuBp2B,KAAKC,KAAM4vB,EAAIlmB,GAGzC,GAAPA,GAAqC0sB,EAAQ,GAAGh0B,OAASg0B,EAAQ,GAAGh0B,QAAW,IAC/EpC,KAAKk2B,SAAU,GAGnBl2B,KAAKsb,SAAStb,KAAKyvB,QAAS/lB,EAAM,CAC9BymB,SAAUiG,EAAQ,GAClB/F,gBAAiB+F,EAAQ,GACzB/B,YAtkBW,QAukBXpB,SAAUrD,QAsBtB,IAAI2G,GAAkB,CAClBT,WAvlBc,EAwlBdrd,UAvlBa,EAwlBbsd,SAvlBY,EAwlBZC,YAvlBe,GAimBnB,SAASQ,KACLx2B,KAAK4zB,SARiB,4CAStB5zB,KAAKy2B,UAAY,GAEjBjH,EAAM1O,MAAM9gB,KAAM+C,WA0BtB,SAAS2zB,GAAW9G,EAAIlmB,GACpB,IAAIitB,EAAa1I,EAAQ2B,EAAGwG,SACxBK,EAAYz2B,KAAKy2B,UAGrB,GAAW,EAAP/sB,GAA2D,IAAtBitB,EAAWv0B,OAEhD,OADAq0B,EAAUE,EAAW,GAAGC,aAAc,EAC/B,CAACD,EAAYA,GAGxB,IAAIhxB,EACAkxB,EACAP,EAAiBrI,EAAQ2B,EAAG0G,gBAC5BQ,EAAuB,GACvBx2B,EAASN,KAAKM,OAQlB,GALAu2B,EAAgBF,EAAWxsB,QAAO,SAAS4sB,GACvC,OAAOrJ,EAAUqJ,EAAMz2B,OAAQA,MAppBrB,IAwpBVoJ,EAEA,IADA/D,EAAI,EACGA,EAAIkxB,EAAcz0B,QACrBq0B,EAAUI,EAAclxB,GAAGixB,aAAc,EACzCjxB,IAMR,IADAA,EAAI,EACGA,EAAI2wB,EAAel0B,QAClBq0B,EAAUH,EAAe3wB,GAAGixB,aAC5BE,EAAqBvuB,KAAK+tB,EAAe3wB,IAIlC,GAAP+D,UACO+sB,EAAUH,EAAe3wB,GAAGixB,YAEvCjxB,IAGJ,OAAKmxB,EAAqB10B,OAInB,CAEH8rB,EAAY2I,EAAc/uB,OAAOgvB,GAAuB,cAAc,GACtEA,QAPJ,EAnEJrK,EAAQ+J,GAAYhH,EAAO,CACvBjC,QAAS,SAAoBqC,GACzB,IAAIlmB,EAAO6sB,GAAgB3G,EAAGlmB,MAC1B0sB,EAAUM,GAAW32B,KAAKC,KAAM4vB,EAAIlmB,GACnC0sB,GAILp2B,KAAKsb,SAAStb,KAAKyvB,QAAS/lB,EAAM,CAC9BymB,SAAUiG,EAAQ,GAClB/F,gBAAiB+F,EAAQ,GACzB/B,YA7nBW,QA8nBXpB,SAAUrD,OA+EtB,SAASoH,KACLxH,EAAM1O,MAAM9gB,KAAM+C,WAElB,IAAIwqB,EAAU/B,EAAOxrB,KAAKutB,QAASvtB,MACnCA,KAAK+2B,MAAQ,IAAIP,GAAWx2B,KAAKyvB,QAASlC,GAC1CvtB,KAAKi3B,MAAQ,IAAIhD,EAAWj0B,KAAKyvB,QAASlC,GAE1CvtB,KAAKk3B,aAAe,KACpBl3B,KAAKm3B,YAAc,GAqCvB,SAASC,GAAcpH,EAAWvU,GAnvBhB,EAovBVuU,GACAhwB,KAAKk3B,aAAezb,EAAU4U,gBAAgB,GAAGuG,WACjDS,GAAat3B,KAAKC,KAAMyb,IACL,GAAZuU,GACPqH,GAAat3B,KAAKC,KAAMyb,GAIhC,SAAS4b,GAAa5b,GAClB,IAAIsb,EAAQtb,EAAU4U,gBAAgB,GAEtC,GAAI0G,EAAMH,aAAe52B,KAAKk3B,aAAc,CACxC,IAAII,EAAY,CAAC5F,EAAGqF,EAAM3D,QAASxB,EAAGmF,EAAM1D,SAC5CrzB,KAAKm3B,YAAY5uB,KAAK+uB,GACtB,IAAIC,EAAMv3B,KAAKm3B,YAOf3hB,YANsB,WAClB,IAAI7P,EAAI4xB,EAAI9nB,QAAQ6nB,GAChB3xB,GAAK,GACL4xB,EAAI/yB,OAAOmB,EAAG,KAnEV,OA0EpB,SAAS6xB,GAAiB/b,GAEtB,IADA,IAAIiW,EAAIjW,EAAUwX,SAASG,QAASxB,EAAInW,EAAUwX,SAASI,QAClD1tB,EAAI,EAAGA,EAAI3F,KAAKm3B,YAAY/0B,OAAQuD,IAAK,CAC9C,IAAIH,EAAIxF,KAAKm3B,YAAYxxB,GACrB8xB,EAAKnzB,KAAK4mB,IAAIwG,EAAIlsB,EAAEksB,GAAIgG,EAAKpzB,KAAK4mB,IAAI0G,EAAIpsB,EAAEosB,GAChD,GAAI6F,GA9ES,IA8EeC,GA9Ef,GA+ET,OAAO,EAGf,OAAO,EArEXjL,EAAQuK,GAAiBxH,EAAO,CAO5BjC,QAAS,SAAoBkC,EAASkI,EAAYC,GAC9C,IAAIlC,EAhuBW,SAguBAkC,EAAUvD,YACrBwD,EA/tBW,SA+tBAD,EAAUvD,YAEzB,KAAIwD,GAAWD,EAAUE,oBAAsBF,EAAUE,mBAAmBC,kBAA5E,CAKA,GAAIrC,EACA0B,GAAcr3B,KAAKC,KAAM23B,EAAYC,QAClC,GAAIC,GAAWL,GAAiBz3B,KAAKC,KAAM43B,GAC9C,OAGJ53B,KAAKsb,SAASmU,EAASkI,EAAYC,KAMvC3f,QAAS,WACLjY,KAAK+2B,MAAM9e,UACXjY,KAAKi3B,MAAMhf,aA0CnB,IAAI+f,GAAwB1J,EAASrD,EAAaxW,MAAO,eACrDwjB,QA9pCJ,IA8pC0BD,GAStBE,GA4IJ,WACI,IAAKD,GACD,OAAO,EAEX,IAAIE,EAAW,GACXC,EAAc9yB,EAAO+yB,KAAO/yB,EAAO+yB,IAAIC,SAO3C,MANA,CAAC,OAAQ,eAAgB,QAAS,QAAS,cAAe,QAAQx0B,SAAQ,SAASmpB,GAI/EkL,EAASlL,IAAOmL,GAAc9yB,EAAO+yB,IAAIC,SAAS,eAAgBrL,MAE/DkL,EAxJYI,GASvB,SAASC,GAAY/I,EAAS3sB,GAC1B9C,KAAKyvB,QAAUA,EACfzvB,KAAK8e,IAAIhc,GAGb01B,GAAY/4B,UAAY,CAKpBqf,IAAK,SAAShc,GAzBS,WA2BfA,IACAA,EAAQ9C,KAAKy4B,WAGbR,IAAuBj4B,KAAKyvB,QAAQX,QAAQra,OAASyjB,GAAiBp1B,KACtE9C,KAAKyvB,QAAQX,QAAQra,MAAMujB,IAAyBl1B,GAExD9C,KAAKmQ,QAAUrN,EAAMyG,cAAclJ,QAMvCq4B,OAAQ,WACJ14B,KAAK8e,IAAI9e,KAAKyvB,QAAQ7oB,QAAQ+xB,cAOlCF,QAAS,WACL,IAAItoB,EAAU,GAMd,OALAwb,EAAK3rB,KAAKyvB,QAAQmJ,aAAa,SAASC,GAChC7L,EAAS6L,EAAWjyB,QAAQipB,OAAQ,CAACgJ,MACrC1oB,EAAUA,EAAQrI,OAAO+wB,EAAWC,sBAgEpD,SAA2B3oB,GAEvB,GAAIyd,EAAMzd,EAnHU,QAoHhB,MApHgB,OAuHpB,IAAI4oB,EAAUnL,EAAMzd,EAtHC,SAuHjB6oB,EAAUpL,EAAMzd,EAtHC,SA4HrB,GAAI4oB,GAAWC,EACX,MA/HgB,OAmIpB,GAAID,GAAWC,EACX,OAAOD,EAnIU,QACA,QAsIrB,GAAInL,EAAMzd,EAzIkB,gBA0IxB,MA1IwB,eA6I5B,MA9IoB,OAsDT8oB,CAAkB9oB,EAAQ7H,KAAK,OAO1C4wB,gBAAiB,SAASjJ,GACtB,IAAIgD,EAAWhD,EAAMgD,SACjBJ,EAAY5C,EAAM8B,gBAGtB,GAAI/xB,KAAKyvB,QAAQe,QAAQ2I,UACrBlG,EAAS3e,qBADb,CAKA,IAAInE,EAAUnQ,KAAKmQ,QACfipB,EAAUxL,EAAMzd,EAtEJ,UAsEoC+nB,GAAkC,KAClFc,EAAUpL,EAAMzd,EArEH,WAqEoC+nB,GArEpC,SAsEba,EAAUnL,EAAMzd,EAvEH,WAuEoC+nB,GAvEpC,SAyEjB,GAAIkB,EAAS,CAGT,IAAIC,EAAyC,IAA1BpJ,EAAME,SAAS/tB,OAC9Bk3B,EAAgBrJ,EAAMmB,SAAW,EACjCmI,EAAiBtJ,EAAMgB,UAAY,IAEvC,GAAIoI,GAAgBC,GAAiBC,EACjC,OAIR,IAAIR,IAAWC,EAKf,OAAII,GACCJ,GAj3BcQ,EAi3BH3G,GACXkG,GAj3BYU,GAi3BD5G,EACL7yB,KAAK05B,WAAWzG,QAH3B,IAWJyG,WAAY,SAASzG,GACjBjzB,KAAKyvB,QAAQe,QAAQ2I,WAAY,EACjClG,EAAS3e,mBA+FjB,SAASqlB,GAAW/yB,GAChB5G,KAAK4G,QAAUkI,EAAO,GAAI9O,KAAK45B,SAAUhzB,GAAW,IAEpD5G,KAAKwI,GApgCEomB,IAsgCP5uB,KAAKyvB,QAAU,KAGfzvB,KAAK4G,QAAQipB,OAAS3C,EAAYltB,KAAK4G,QAAQipB,QAAQ,GAEvD7vB,KAAK65B,MAxBY,EA0BjB75B,KAAK85B,aAAe,GACpB95B,KAAK+5B,YAAc,GAqOvB,SAASC,GAASH,GACd,OA5PkB,GA4PdA,EACO,SA/PG,EAgQHA,EACA,MAlQK,EAmQLA,EACA,OArQG,EAsQHA,EACA,QAEJ,GAQX,SAASI,GAAapH,GAClB,OAnuCiB,IAmuCbA,EACO,OAruCI,GAsuCJA,EACA,KAzuCM,GA0uCNA,EACA,OA1uCO,GA2uCPA,EACA,QAEJ,GASX,SAASqH,GAA6BC,EAAiBtB,GACnD,IAAIpJ,EAAUoJ,EAAWpJ,QACzB,OAAIA,EACOA,EAAQ3vB,IAAIq6B,GAEhBA,EAQX,SAASC,KACLT,GAAW7Y,MAAM9gB,KAAM+C,WA6D3B,SAASs3B,KACLD,GAAetZ,MAAM9gB,KAAM+C,WAE3B/C,KAAKs6B,GAAK,KACVt6B,KAAKu6B,GAAK,KA4Ed,SAASC,KACLJ,GAAetZ,MAAM9gB,KAAM+C,WAsC/B,SAAS03B,KACLd,GAAW7Y,MAAM9gB,KAAM+C,WAEvB/C,KAAK06B,OAAS,KACd16B,KAAK26B,OAAS,KAmElB,SAASC,KACLR,GAAetZ,MAAM9gB,KAAM+C,WA8B/B,SAAS83B,KACLT,GAAetZ,MAAM9gB,KAAM+C,WA2D/B,SAAS+3B,KACLnB,GAAW7Y,MAAM9gB,KAAM+C,WAIvB/C,KAAK+6B,OAAQ,EACb/6B,KAAKg7B,SAAU,EAEfh7B,KAAK06B,OAAS,KACd16B,KAAK26B,OAAS,KACd36B,KAAK6a,MAAQ,EAqGjB,SAASogB,GAAOnM,EAASloB,GAGrB,OAFAA,EAAUA,GAAW,IACbgyB,YAAc1L,EAAYtmB,EAAQgyB,YAAaqC,GAAOrB,SAASsB,QAChE,IAAIC,GAAQrM,EAASloB,GA7tBhC+yB,GAAWl6B,UAAY,CAKnBm6B,SAAU,GAOV9a,IAAK,SAASlY,GAKV,OAJAkI,EAAO9O,KAAK4G,QAASA,GAGrB5G,KAAKyvB,SAAWzvB,KAAKyvB,QAAQkJ,YAAYD,SAClC14B,MAQXo7B,cAAe,SAASjB,GACpB,GAAI1O,EAAe0O,EAAiB,gBAAiBn6B,MACjD,OAAOA,KAGX,IAAI85B,EAAe95B,KAAK85B,aAMxB,OAJKA,GADLK,EAAkBD,GAA6BC,EAAiBn6B,OAC9BwI,MAC9BsxB,EAAaK,EAAgB3xB,IAAM2xB,EACnCA,EAAgBiB,cAAcp7B,OAE3BA,MAQXq7B,kBAAmB,SAASlB,GACxB,OAAI1O,EAAe0O,EAAiB,oBAAqBn6B,QAIzDm6B,EAAkBD,GAA6BC,EAAiBn6B,aACzDA,KAAK85B,aAAaK,EAAgB3xB,KAJ9BxI,MAafs7B,eAAgB,SAASnB,GACrB,GAAI1O,EAAe0O,EAAiB,iBAAkBn6B,MAClD,OAAOA,KAGX,IAAI+5B,EAAc/5B,KAAK+5B,YAMvB,OAJ+C,IAA3ChM,EAAQgM,EADZI,EAAkBD,GAA6BC,EAAiBn6B,SAE5D+5B,EAAYxxB,KAAK4xB,GACjBA,EAAgBmB,eAAet7B,OAE5BA,MAQXu7B,mBAAoB,SAASpB,GACzB,GAAI1O,EAAe0O,EAAiB,qBAAsBn6B,MACtD,OAAOA,KAGXm6B,EAAkBD,GAA6BC,EAAiBn6B,MAChE,IAAIqC,EAAQ0rB,EAAQ/tB,KAAK+5B,YAAaI,GAItC,OAHI93B,GAAS,GACTrC,KAAK+5B,YAAYv1B,OAAOnC,EAAO,GAE5BrC,MAOXw7B,mBAAoB,WAChB,OAAOx7B,KAAK+5B,YAAY33B,OAAS,GAQrCq5B,iBAAkB,SAAStB,GACvB,QAASn6B,KAAK85B,aAAaK,EAAgB3xB,KAQ/CgT,KAAM,SAASyU,GACX,IAAIzS,EAAOxd,KACP65B,EAAQ75B,KAAK65B,MAEjB,SAASre,EAAKkgB,GACVle,EAAKiS,QAAQjU,KAAKkgB,EAAOzL,GAIzB4J,EArJM,GAsJNre,EAAKgC,EAAK5W,QAAQ80B,MAAQ1B,GAASH,IAGvCre,EAAKgC,EAAK5W,QAAQ80B,OAEdzL,EAAM0L,iBACNngB,EAAKyU,EAAM0L,iBAIX9B,GAhKM,GAiKNre,EAAKgC,EAAK5W,QAAQ80B,MAAQ1B,GAASH,KAU3C+B,QAAS,SAAS3L,GACd,GAAIjwB,KAAK67B,UACL,OAAO77B,KAAKwb,KAAKyU,GAGrBjwB,KAAK65B,MA7KM,IAoLfgC,QAAS,WAEL,IADA,IAAIl2B,EAAI,EACDA,EAAI3F,KAAK+5B,YAAY33B,QAAQ,CAChC,KAAkC,GAA5BpC,KAAK+5B,YAAYp0B,GAAGk0B,OACtB,OAAO,EAEXl0B,IAEJ,OAAO,GAOXwtB,UAAW,SAASyE,GAGhB,IAAIkE,EAAiBhtB,EAAO,GAAI8oB,GAGhC,IAAK5K,EAAShtB,KAAK4G,QAAQipB,OAAQ,CAAC7vB,KAAM87B,IAGtC,OAFA97B,KAAK+7B,aACL/7B,KAAK65B,MA3ME,IAgNM,GAAb75B,KAAK65B,QACL75B,KAAK65B,MAvNI,GA0Nb75B,KAAK65B,MAAQ75B,KAAKmb,QAAQ2gB,GAIT,GAAb97B,KAAK65B,OACL75B,KAAK47B,QAAQE,IAWrB3gB,QAAS,SAASyc,KAOlBkB,eAAgB,aAOhBiD,MAAO,cA8DXtP,EAAQ2N,GAAgBT,GAAY,CAKhCC,SAAU,CAKNzJ,SAAU,GASd6L,SAAU,SAAS/L,GACf,IAAIgM,EAAiBj8B,KAAK4G,QAAQupB,SAClC,OAA0B,IAAnB8L,GAAwBhM,EAAME,SAAS/tB,SAAW65B,GAS7D9gB,QAAS,SAAS8U,GACd,IAAI4J,EAAQ75B,KAAK65B,MACb7J,EAAYC,EAAMD,UAElBkM,EAAuB,EAARrC,EACfsC,EAAUn8B,KAAKg8B,SAAS/L,GAG5B,OAAIiM,IAlzCO,EAkzCUlM,IAA6BmM,GAvVpC,GAwVHtC,EACAqC,GAAgBC,EArzCnB,EAszCAnM,EA5VE,EA6VK6J,EA/VL,EAgWOA,EA/VL,EAkWDA,EAnWD,EAKC,MAiXnBpN,EAAQ4N,GAAeD,GAAgB,CAKnCR,SAAU,CACN8B,MAAO,MACPU,UAAW,GACXjM,SAAU,EACV0C,UA50CYwJ,IA+0ChBvD,eAAgB,WACZ,IAAIjG,EAAY7yB,KAAK4G,QAAQisB,UACzB1iB,EAAU,GAOd,OA11CmBqpB,EAo1Cf3G,GACA1iB,EAAQ5H,KA9jBK,SAtxBAkxB,GAs1Cb5G,GACA1iB,EAAQ5H,KAlkBK,SAokBV4H,GAGXmsB,cAAe,SAASrM,GACpB,IAAIrpB,EAAU5G,KAAK4G,QACf21B,GAAW,EACXnL,EAAWnB,EAAMmB,SACjByB,EAAY5C,EAAM4C,UAClBnB,EAAIzB,EAAM0B,OACVC,EAAI3B,EAAM4B,OAed,OAZMgB,EAAYjsB,EAAQisB,YAt2CP2G,EAu2CX5yB,EAAQisB,WACRA,EAAmB,IAANnB,EA92CR,EA82CqCA,EAAI,EA72CzC,EACC,EA62CN6K,EAAW7K,GAAK1xB,KAAKs6B,GACrBlJ,EAAW9sB,KAAK4mB,IAAI+E,EAAM0B,UAE1BkB,EAAmB,IAANjB,EAl3CR,EAk3CqCA,EAAI,EA/2C3C,EACE,GA+2CL2K,EAAW3K,GAAK5xB,KAAKu6B,GACrBnJ,EAAW9sB,KAAK4mB,IAAI+E,EAAM4B,UAGlC5B,EAAM4C,UAAYA,EACX0J,GAAYnL,EAAWxqB,EAAQw1B,WAAavJ,EAAYjsB,EAAQisB,WAG3EmJ,SAAU,SAAS/L,GACf,OAAOmK,GAAe36B,UAAUu8B,SAASj8B,KAAKC,KAAMiwB,KAva1C,EAwaLjwB,KAAK65B,SAxaA,EAwa0B75B,KAAK65B,QAAwB75B,KAAKs8B,cAAcrM,KAGxFzU,KAAM,SAASyU,GAEXjwB,KAAKs6B,GAAKrK,EAAM0B,OAChB3xB,KAAKu6B,GAAKtK,EAAM4B,OAEhB,IAAIgB,EAAYoH,GAAahK,EAAM4C,WAE/BA,IACA5C,EAAM0L,gBAAkB37B,KAAK4G,QAAQ80B,MAAQ7I,GAEjD7yB,KAAK+sB,OAAOvR,KAAKzb,KAAKC,KAAMiwB,MAcpCxD,EAAQ+N,GAAiBJ,GAAgB,CAKrCR,SAAU,CACN8B,MAAO,QACPU,UAAW,EACXjM,SAAU,GAGd2I,eAAgB,WACZ,MAAO,CAzoBS,SA4oBpBkD,SAAU,SAAS/L,GACf,OAAOjwB,KAAK+sB,OAAOiP,SAASj8B,KAAKC,KAAMiwB,KAClC3rB,KAAK4mB,IAAI+E,EAAMoC,MAAQ,GAAKryB,KAAK4G,QAAQw1B,WApdpC,EAodiDp8B,KAAK65B,QAGpEre,KAAM,SAASyU,GACX,GAAoB,IAAhBA,EAAMoC,MAAa,CACnB,IAAImK,EAAQvM,EAAMoC,MAAQ,EAAI,KAAO,MACrCpC,EAAM0L,gBAAkB37B,KAAK4G,QAAQ80B,MAAQc,EAEjDx8B,KAAK+sB,OAAOvR,KAAKzb,KAAKC,KAAMiwB,MAiBpCxD,EAAQgO,GAAiBd,GAAY,CAKjCC,SAAU,CACN8B,MAAO,QACPvL,SAAU,EACVsM,KAAM,IACNL,UAAW,GAGftD,eAAgB,WACZ,MAAO,CAtrBS,SAyrBpB3d,QAAS,SAAS8U,GACd,IAAIrpB,EAAU5G,KAAK4G,QACf81B,EAAgBzM,EAAME,SAAS/tB,SAAWwE,EAAQupB,SAClDwM,EAAgB1M,EAAMmB,SAAWxqB,EAAQw1B,UACzCQ,EAAY3M,EAAMgB,UAAYrqB,EAAQ61B,KAM1C,GAJAz8B,KAAK26B,OAAS1K,GAIT0M,IAAkBD,GAAoC,GAAlBzM,EAAMD,YAA2C4M,EACtF58B,KAAK+7B,aACF,GAn+CG,EAm+CC9L,EAAMD,UACbhwB,KAAK+7B,QACL/7B,KAAK06B,OAAStP,GAAkB,WAC5BprB,KAAK65B,MA1gBH,EA2gBF75B,KAAK47B,YACNh1B,EAAQ61B,KAAMz8B,WACd,GAv+CC,EAu+CGiwB,EAAMD,UACb,OA9gBM,EAghBV,OA7gBW,IAghBf+L,MAAO,WACHrmB,aAAa1V,KAAK06B,SAGtBlf,KAAM,SAASyU,GAvhBD,IAwhBNjwB,KAAK65B,QAIL5J,GAt/CI,EAs/CMA,EAAMD,UAChBhwB,KAAKyvB,QAAQjU,KAAKxb,KAAK4G,QAAQ80B,MAAQ,KAAMzL,IAE7CjwB,KAAK26B,OAAO3J,UAAY7F,IACxBnrB,KAAKyvB,QAAQjU,KAAKxb,KAAK4G,QAAQ80B,MAAO17B,KAAK26B,aAevDlO,EAAQmO,GAAkBR,GAAgB,CAKtCR,SAAU,CACN8B,MAAO,SACPU,UAAW,EACXjM,SAAU,GAGd2I,eAAgB,WACZ,MAAO,CAvvBS,SA0vBpBkD,SAAU,SAAS/L,GACf,OAAOjwB,KAAK+sB,OAAOiP,SAASj8B,KAAKC,KAAMiwB,KAClC3rB,KAAK4mB,IAAI+E,EAAMsC,UAAYvyB,KAAK4G,QAAQw1B,WAlkBnC,EAkkBgDp8B,KAAK65B,UAcvEpN,EAAQoO,GAAiBT,GAAgB,CAKrCR,SAAU,CACN8B,MAAO,QACPU,UAAW,GACX1J,SAAU,GACVG,UAAWwJ,GACXlM,SAAU,GAGd2I,eAAgB,WACZ,OAAOuB,GAAc56B,UAAUq5B,eAAe/4B,KAAKC,OAGvDg8B,SAAU,SAAS/L,GACf,IACIyC,EADAG,EAAY7yB,KAAK4G,QAAQisB,UAW7B,OARgB,GAAZA,EACAH,EAAWzC,EAAMgC,gBArjDFuH,EAsjDR3G,EACPH,EAAWzC,EAAMkC,iBAtjDJsH,GAujDN5G,IACPH,EAAWzC,EAAMmC,kBAGdpyB,KAAK+sB,OAAOiP,SAASj8B,KAAKC,KAAMiwB,IACnC4C,EAAY5C,EAAM8B,iBAClB9B,EAAMmB,SAAWpxB,KAAK4G,QAAQw1B,WAC9BnM,EAAMwC,aAAezyB,KAAK4G,QAAQupB,UAClCjF,EAAIwH,GAAY1yB,KAAK4G,QAAQ8rB,UAzkDzB,EAykDqCzC,EAAMD,WAGvDxU,KAAM,SAASyU,GACX,IAAI4C,EAAYoH,GAAahK,EAAM8B,iBAC/Bc,GACA7yB,KAAKyvB,QAAQjU,KAAKxb,KAAK4G,QAAQ80B,MAAQ7I,EAAW5C,GAGtDjwB,KAAKyvB,QAAQjU,KAAKxb,KAAK4G,QAAQ80B,MAAOzL,MA2B9CxD,EAAQqO,GAAenB,GAAY,CAK/BC,SAAU,CACN8B,MAAO,MACPvL,SAAU,EACV0M,KAAM,EACNC,SAAU,IACVL,KAAM,IACNL,UAAW,EACXW,aAAc,IAGlBjE,eAAgB,WACZ,MAAO,CAh2BiB,iBAm2B5B3d,QAAS,SAAS8U,GACd,IAAIrpB,EAAU5G,KAAK4G,QAEf81B,EAAgBzM,EAAME,SAAS/tB,SAAWwE,EAAQupB,SAClDwM,EAAgB1M,EAAMmB,SAAWxqB,EAAQw1B,UACzCY,EAAiB/M,EAAMgB,UAAYrqB,EAAQ61B,KAI/C,GAFAz8B,KAAK+7B,QAzoDK,EA2oDL9L,EAAMD,WAA4C,IAAfhwB,KAAK6a,MACzC,OAAO7a,KAAKi9B,cAKhB,GAAIN,GAAiBK,GAAkBN,EAAe,CAClD,GAhpDI,GAgpDAzM,EAAMD,UACN,OAAOhwB,KAAKi9B,cAGhB,IAAIC,GAAgBl9B,KAAK+6B,OAAS9K,EAAMe,UAAYhxB,KAAK+6B,MAAQn0B,EAAQk2B,SACrEK,GAAiBn9B,KAAKg7B,SAAW3J,EAAYrxB,KAAKg7B,QAAS/K,EAAMa,QAAUlqB,EAAQm2B,aAgBvF,GAdA/8B,KAAK+6B,MAAQ9K,EAAMe,UACnBhxB,KAAKg7B,QAAU/K,EAAMa,OAEhBqM,GAAkBD,EAGnBl9B,KAAK6a,OAAS,EAFd7a,KAAK6a,MAAQ,EAKjB7a,KAAK26B,OAAS1K,EAKG,IADFjwB,KAAK6a,MAAQjU,EAAQi2B,KAIhC,OAAK78B,KAAKw7B,sBAGNx7B,KAAK06B,OAAStP,GAAkB,WAC5BprB,KAAK65B,MAltBX,EAmtBM75B,KAAK47B,YACNh1B,EAAQk2B,SAAU98B,MAttBvB,GAEA,EAytBV,OAttBW,IAytBfi9B,YAAa,WAIT,OAHAj9B,KAAK06B,OAAStP,GAAkB,WAC5BprB,KAAK65B,MA3tBE,KA4tBR75B,KAAK4G,QAAQk2B,SAAU98B,MA5tBf,IAguBf+7B,MAAO,WACHrmB,aAAa1V,KAAK06B,SAGtBlf,KAAM,WAvuBQ,GAwuBNxb,KAAK65B,QACL75B,KAAK26B,OAAOyC,SAAWp9B,KAAK6a,MAC5B7a,KAAKyvB,QAAQjU,KAAKxb,KAAK4G,QAAQ80B,MAAO17B,KAAK26B,YAoBvDM,GAAOoC,QAAU,QAMjBpC,GAAOrB,SAAW,CAOd0D,WAAW,EAQX3E,YAl9BuB,UAw9BvB9I,QAAQ,EASRH,YAAa,KAOb6N,WAAY,KAOZrC,OAAQ,CAEJ,CAACN,GAAkB,CAAC/K,QAAQ,IAC5B,CAAC2K,GAAiB,CAAC3K,QAAQ,GAAQ,CAAC,WACpC,CAACgL,GAAiB,CAAChI,UArwDA2G,IAswDnB,CAACa,GAAe,CAACxH,UAtwDE2G,GAswDgC,CAAC,UACpD,CAACsB,IACD,CAACA,GAAe,CAACY,MAAO,YAAamB,KAAM,GAAI,CAAC,QAChD,CAACpC,KAQL+C,SAAU,CAMNC,WAAY,OAOZC,YAAa,OASbC,aAAc,OAOdC,eAAgB,OAOhBC,SAAU,OAQVC,kBAAmB,kBAa3B,SAAS3C,GAAQrM,EAASloB,GAzwD1B,IAA6B6oB,EA0wDzBzvB,KAAK4G,QAAUkI,EAAO,GAAImsB,GAAOrB,SAAUhzB,GAAW,IAEtD5G,KAAK4G,QAAQ8oB,YAAc1vB,KAAK4G,QAAQ8oB,aAAeZ,EAEvD9uB,KAAK+9B,SAAW,GAChB/9B,KAAKwwB,QAAU,GACfxwB,KAAK44B,YAAc,GACnB54B,KAAKg+B,YAAc,GAEnBh+B,KAAK8uB,QAAUA,EACf9uB,KAAKiwB,MArwDE,KAfkBR,EAoxDQzvB,MAlxDR4G,QAAQ22B,aAItBnO,EACA+F,GACA9F,EACAmH,GACCrH,EAGD6H,GAFA/C,IAIOxE,EAASM,GAswD3B/vB,KAAK24B,YAAc,IAAIH,GAAYx4B,KAAMA,KAAK4G,QAAQ+xB,aAEtDsF,GAAej+B,MAAM,GAErB2rB,EAAK3rB,KAAK4G,QAAQgyB,aAAa,SAASsF,GACpC,IAAIrF,EAAa74B,KAAKuH,IAAI,IAAK22B,EAAK,GAAIA,EAAK,KAC7CA,EAAK,IAAMrF,EAAWuC,cAAc8C,EAAK,IACzCA,EAAK,IAAMrF,EAAWyC,eAAe4C,EAAK,MAC3Cl+B,MA4PP,SAASi+B,GAAexO,EAASloB,GAC7B,IAIIknB,EAJAK,EAAUW,EAAQX,QACjBA,EAAQra,QAIbkX,EAAK8D,EAAQ7oB,QAAQ42B,UAAU,SAAS16B,EAAO/B,GAC3C0tB,EAAOH,EAASQ,EAAQra,MAAO1T,GAC3BwG,GACAkoB,EAAQuO,YAAYvP,GAAQK,EAAQra,MAAMga,GAC1CK,EAAQra,MAAMga,GAAQ3rB,GAEtBgsB,EAAQra,MAAMga,GAAQgB,EAAQuO,YAAYvP,IAAS,MAGtDlnB,IACDkoB,EAAQuO,YAAc,KAzQ9B7C,GAAQ17B,UAAY,CAMhBqf,IAAK,SAASlY,GAaV,OAZAkI,EAAO9O,KAAK4G,QAASA,GAGjBA,EAAQ+xB,aACR34B,KAAK24B,YAAYD,SAEjB9xB,EAAQ8oB,cAER1vB,KAAKiwB,MAAMhY,UACXjY,KAAKiwB,MAAM3vB,OAASsG,EAAQ8oB,YAC5B1vB,KAAKiwB,MAAMH,QAER9vB,MASXm+B,KAAM,SAASC,GACXp+B,KAAKwwB,QAAQ6N,QAAUD,EA5Db,EADP,GAsEPjL,UAAW,SAASyE,GAChB,IAAIpH,EAAUxwB,KAAKwwB,QACnB,IAAIA,EAAQ6N,QAAZ,CAOA,IAAIxF,EAFJ74B,KAAK24B,YAAYO,gBAAgBtB,GAGjC,IAAIgB,EAAc54B,KAAK44B,YAKnB0F,EAAgB9N,EAAQ8N,gBAIvBA,GAAkBA,GAz8Bb,EAy8B8BA,EAAczE,SAClDyE,EAAgB9N,EAAQ8N,cAAgB,MAI5C,IADA,IAAI34B,EAAI,EACDA,EAAIizB,EAAYx2B,QACnBy2B,EAAaD,EAAYjzB,GA9FnB,IAsGF6qB,EAAQ6N,SACHC,GAAiBzF,GAAcyF,IAChCzF,EAAW4C,iBAAiB6C,GAGhCzF,EAAWkD,QAFXlD,EAAW1F,UAAUyE,IAOpB0G,GAAoC,GAAnBzF,EAAWgB,QAC7ByE,EAAgB9N,EAAQ8N,cAAgBzF,GAE5ClzB,MASR7F,IAAK,SAAS+4B,GACV,GAAIA,aAAsBc,GACtB,OAAOd,EAIX,IADA,IAAID,EAAc54B,KAAK44B,YACdjzB,EAAI,EAAGA,EAAIizB,EAAYx2B,OAAQuD,IACpC,GAAIizB,EAAYjzB,GAAGiB,QAAQ80B,OAAS7C,EAChC,OAAOD,EAAYjzB,GAG3B,OAAO,MASX4B,IAAK,SAASsxB,GACV,GAAIpN,EAAeoN,EAAY,MAAO74B,MAClC,OAAOA,KAIX,IAAIu+B,EAAWv+B,KAAKF,IAAI+4B,EAAWjyB,QAAQ80B,OAS3C,OARI6C,GACAv+B,KAAKgN,OAAOuxB,GAGhBv+B,KAAK44B,YAAYrwB,KAAKswB,GACtBA,EAAWpJ,QAAUzvB,KAErBA,KAAK24B,YAAYD,SACVG,GAQX7rB,OAAQ,SAAS6rB,GACb,GAAIpN,EAAeoN,EAAY,SAAU74B,MACrC,OAAOA,KAMX,GAHA64B,EAAa74B,KAAKF,IAAI+4B,GAGN,CACZ,IAAID,EAAc54B,KAAK44B,YACnBv2B,EAAQ0rB,EAAQ6K,EAAaC,IAElB,IAAXx2B,IACAu2B,EAAYp0B,OAAOnC,EAAO,GAC1BrC,KAAK24B,YAAYD,UAIzB,OAAO14B,MASX2T,GAAI,SAAS6qB,EAAQjR,GACjB,QAp5ER,IAo5EYiR,QAp5EZ,IAu5EYjR,EAAJ,CAIA,IAAIwQ,EAAW/9B,KAAK+9B,SAKpB,OAJApS,EAAK6B,EAASgR,IAAS,SAAS9C,GAC5BqC,EAASrC,GAASqC,EAASrC,IAAU,GACrCqC,EAASrC,GAAOnzB,KAAKglB,MAElBvtB,OASXgY,IAAK,SAASwmB,EAAQjR,GAClB,QA16ER,IA06EYiR,EAAJ,CAIA,IAAIT,EAAW/9B,KAAK+9B,SAQpB,OAPApS,EAAK6B,EAASgR,IAAS,SAAS9C,GACvBnO,EAGDwQ,EAASrC,IAAUqC,EAASrC,GAAOl3B,OAAOupB,EAAQgQ,EAASrC,GAAQnO,GAAU,UAFtEwQ,EAASrC,MAKjB17B,OAQXwb,KAAM,SAASkgB,EAAOvuB,GAEdnN,KAAK4G,QAAQ02B,WAkEzB,SAAyB5B,EAAOvuB,GAC5B,IAAIsxB,EAAe31B,EAAS41B,YAAY,SACxCD,EAAaE,UAAUjD,GAAO,GAAM,GACpC+C,EAAaG,QAAUzxB,EACvBA,EAAK7M,OAAOu+B,cAAcJ,GArElBK,CAAgBpD,EAAOvuB,GAI3B,IAAI4wB,EAAW/9B,KAAK+9B,SAASrC,IAAU17B,KAAK+9B,SAASrC,GAAOh5B,QAC5D,GAAKq7B,GAAaA,EAAS37B,OAA3B,CAIA+K,EAAKzD,KAAOgyB,EACZvuB,EAAKmH,eAAiB,WAClBnH,EAAK8lB,SAAS3e,kBAIlB,IADA,IAAI3O,EAAI,EACDA,EAAIo4B,EAAS37B,QAChB27B,EAASp4B,GAAGwH,GACZxH,MAQRsS,QAAS,WACLjY,KAAK8uB,SAAWmP,GAAej+B,MAAM,GAErCA,KAAK+9B,SAAW,GAChB/9B,KAAKwwB,QAAU,GACfxwB,KAAKiwB,MAAMhY,UACXjY,KAAK8uB,QAAU,OAyCvBhgB,EAAOmsB,GAAQ,CACX8D,YAtoEc,EAuoEdC,WAtoEa,EAuoEbC,UAtoEY,EAuoEZC,aAtoEe,EAwoEfC,eAlrCiB,EAmrCjBC,YAlrCc,EAmrCdC,cAlrCgB,EAmrChBC,YAlrCc,EAmrCdC,iBAnrCc,EAorCdC,gBAlrCkB,GAmrClBC,aAlrCe,GAorCfC,eA9oEiB,EA+oEjBlG,eA9oEiB,EA+oEjBmG,gBA9oEkB,EA+oElBlG,aA9oEe,EA+oEfmG,eA9oEiB,GA+oEjBvD,qBA7oEuB7C,EA8oEvBqG,mBA7oEqBpG,GA8oErBqG,cA7oEgBzD,GA+oEhBlB,QAASA,GACT3L,MAAOA,EACPgJ,YAAaA,GAEbhC,WAAYA,GACZvC,WAAYA,EACZkB,kBAAmBA,GACnB6B,gBAAiBA,GACjBf,iBAAkBA,GAElB0D,WAAYA,GACZS,eAAgBA,GAChB2F,IAAKjF,GACLkF,IAAK3F,GACL4F,MAAOpF,GACPqF,MAAO1F,GACP2F,OAAQvF,GACRwF,MAAO3F,GAEP9mB,GAAI0Z,EACJrV,IAAKyV,EACL9B,KAAMA,EACNa,MAAOA,EACPH,OAAQA,EACRvd,OAAQA,EACR2d,QAASA,EACTjB,OAAQA,EACR8C,SAAUA,UAKsB,IAAXhpB,EAAyBA,EAA0B,oBAATkY,KAAuBA,KAAO,IACtFyd,OAASA,QAjkFpB,KAokFI,aACI,OAAOA,IACV,8BAtkFL,CA6kFG31B,OAAQwD","file":"vendors~files-modal.js?v=bb62722b89a44e283fc0","sourcesContent":["var DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.github.io/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return FunctionPrototypeToString.call(this).match(nameRE)[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/forced-string-trim-method');\n\n// `String.prototype.trim` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof-raw');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.github.io/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n var first, third, radix, maxCode, digits, length, index, code;\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = it.charCodeAt(0);\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = it.slice(2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = digits.charCodeAt(index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.github.io/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var dummy = this;\n return dummy instanceof NumberWrapper\n // check on 1..constructor(foo) case\n && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)\n ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar fails = require('../internals/fails');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n// FF49- issue\nvar USES_TO_LENGTH = HAS_SPECIES_SUPPORT && !fails(function () {\n [].map.call({ length: -1, 0: 1 }, function (it) { throw it; });\n});\n\n// `Array.prototype.map` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar forEach = require('../internals/array-for-each');\n\n// `Array.prototype.forEach` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {\n forEach: forEach\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toObject = require('../internals/to-object');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar max = Math.max;\nvar min = Math.min;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';\n\n// `Array.prototype.splice` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.splice\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !arrayMethodHasSpeciesSupport('splice') }, {\n splice: function splice(start, deleteCount /* , ...items */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var insertCount, actualDeleteCount, A, k, from, to;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart);\n }\n if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {\n throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);\n }\n A = arraySpeciesCreate(O, actualDeleteCount);\n for (k = 0; k < actualDeleteCount; k++) {\n from = actualStart + k;\n if (from in O) createProperty(A, k, O[from]);\n }\n A.length = actualDeleteCount;\n if (insertCount < actualDeleteCount) {\n for (k = actualStart; k < len - actualDeleteCount; k++) {\n from = k + actualDeleteCount;\n to = k + insertCount;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];\n } else if (insertCount > actualDeleteCount) {\n for (k = len - actualDeleteCount; k > actualStart; k--) {\n from = k + actualDeleteCount - 1;\n to = k + insertCount - 1;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n }\n for (k = 0; k < insertCount; k++) {\n O[k + actualStart] = arguments[k + 2];\n }\n O.length = len - actualDeleteCount + insertCount;\n return A;\n }\n});\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(\"Components/Modal\",[],t):\"object\"==typeof exports?exports[\"Components/Modal\"]=t():(e.NextcloudVue=e.NextcloudVue||{},e.NextcloudVue[\"Components/Modal\"]=t())}(window,(function(){return function(e){var t={};function A(s){if(t[s])return t[s].exports;var n=t[s]={i:s,l:!1,exports:{}};return e[s].call(n.exports,n,n.exports,A),n.l=!0,n.exports}return A.m=e,A.c=t,A.d=function(e,t,s){A.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:s})},A.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},A.t=function(e,t){if(1&t&&(e=A(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var s=Object.create(null);if(A.r(s),Object.defineProperty(s,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var n in e)A.d(s,n,function(t){return e[t]}.bind(null,n));return s},A.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return A.d(t,\"a\",t),t},A.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},A.p=\"/dist/\",A(A.s=154)}([function(e,t,A){\"use strict\";function s(e,t,A,s,n,o,a,i){var r,c=\"function\"==typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=A,c._compiled=!0),s&&(c.functional=!0),o&&(c._scopeId=\"data-v-\"+o),a?(r=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),n&&n.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},c._ssrRegister=r):n&&(r=i?function(){n.call(this,this.$root.$options.shadowRoot)}:n),r)if(c.functional){c._injectStyles=r;var l=c.render;c.render=function(e,t){return r.call(t),l(e,t)}}else{var m=c.beforeCreate;c.beforeCreate=m?[].concat(m,r):[r]}return{exports:e,options:c}}A.d(t,\"a\",(function(){return s}))},function(e,t,A){\"use strict\";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var A=function(e,t){var A=e[1]||\"\",s=e[3];if(!s)return A;if(t&&\"function\"==typeof btoa){var n=(a=s,i=btoa(unescape(encodeURIComponent(JSON.stringify(a)))),r=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(i),\"/*# \".concat(r,\" */\")),o=s.sources.map((function(e){return\"/*# sourceURL=\".concat(s.sourceRoot||\"\").concat(e,\" */\")}));return[A].concat(o).concat([n]).join(\"\\n\")}var a,i,r;return[A].join(\"\\n\")}(t,e);return t[2]?\"@media \".concat(t[2],\" {\").concat(A,\"}\"):A})).join(\"\")},t.i=function(e,A,s){\"string\"==typeof e&&(e=[[null,e,\"\"]]);var n={};if(s)for(var o=0;o<this.length;o++){var a=this[o][0];null!=a&&(n[a]=!0)}for(var i=0;i<e.length;i++){var r=[].concat(e[i]);s&&n[r[0]]||(A&&(r[2]?r[2]=\"\".concat(A,\" and \").concat(r[2]):r[2]=A),t.push(r))}},t}},function(e,t,A){\"use strict\";function s(e,t){for(var A=[],s={},n=0;n<t.length;n++){var o=t[n],a=o[0],i={id:e+\":\"+n,css:o[1],media:o[2],sourceMap:o[3]};s[a]?s[a].parts.push(i):A.push(s[a]={id:a,parts:[i]})}return A}A.r(t),A.d(t,\"default\",(function(){return u}));var n=\"undefined\"!=typeof document;if(\"undefined\"!=typeof DEBUG&&DEBUG&&!n)throw new Error(\"vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\");var o={},a=n&&(document.head||document.getElementsByTagName(\"head\")[0]),i=null,r=0,c=!1,l=function(){},m=null,g=\"undefined\"!=typeof navigator&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());function u(e,t,A,n){c=A,m=n||{};var a=s(e,t);return d(a),function(t){for(var A=[],n=0;n<a.length;n++){var i=a[n];(r=o[i.id]).refs--,A.push(r)}t?d(a=s(e,t)):a=[];for(n=0;n<A.length;n++){var r;if(0===(r=A[n]).refs){for(var c=0;c<r.parts.length;c++)r.parts[c]();delete o[r.id]}}}}function d(e){for(var t=0;t<e.length;t++){var A=e[t],s=o[A.id];if(s){s.refs++;for(var n=0;n<s.parts.length;n++)s.parts[n](A.parts[n]);for(;n<A.parts.length;n++)s.parts.push(f(A.parts[n]));s.parts.length>A.parts.length&&(s.parts.length=A.parts.length)}else{var a=[];for(n=0;n<A.parts.length;n++)a.push(f(A.parts[n]));o[A.id]={id:A.id,refs:1,parts:a}}}}function p(){var e=document.createElement(\"style\");return e.type=\"text/css\",a.appendChild(e),e}function f(e){var t,A,s=document.querySelector('style[data-vue-ssr-id~=\"'+e.id+'\"]');if(s){if(c)return l;s.parentNode.removeChild(s)}if(g){var n=r++;s=i||(i=p()),t=M.bind(null,s,n,!1),A=M.bind(null,s,n,!0)}else s=p(),t=w.bind(null,s),A=function(){s.parentNode.removeChild(s)};return t(e),function(s){if(s){if(s.css===e.css&&s.media===e.media&&s.sourceMap===e.sourceMap)return;t(e=s)}else A()}}var v,h=(v=[],function(e,t){return v[e]=t,v.filter(Boolean).join(\"\\n\")});function M(e,t,A,s){var n=A?\"\":s.css;if(e.styleSheet)e.styleSheet.cssText=h(t,n);else{var o=document.createTextNode(n),a=e.childNodes;a[t]&&e.removeChild(a[t]),a.length?e.insertBefore(o,a[t]):e.appendChild(o)}}function w(e,t){var A=t.css,s=t.media,n=t.sourceMap;if(s&&e.setAttribute(\"media\",s),m.ssrId&&e.setAttribute(\"data-vue-ssr-id\",t.id),n&&(A+=\"\\n/*# sourceURL=\"+n.sources[0]+\" */\",A+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(n))))+\" */\"),e.styleSheet)e.styleSheet.cssText=A;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(A))}}},function(e,t){e.exports=require(\"core-js/modules/es.object.to-string\")},function(e,t){e.exports=require(\"v-tooltip\")},function(e,t){e.exports=require(\"vue\")},function(e,t){e.exports=require(\"core-js/modules/es.function.name\")},function(e,t,A){\"use strict\";e.exports=function(e,t){return t||(t={}),\"string\"!=typeof(e=e&&e.__esModule?e.default:e)?e:(/^['\"].*['\"]$/.test(e)&&(e=e.slice(1,-1)),t.hash&&(e+=t.hash),/[\"'() \\t\\n]/.test(e)||t.needQuotes?'\"'.concat(e.replace(/\"/g,'\\\\\"').replace(/\\n/g,\"\\\\n\"),'\"'):e)}},function(e,t,A){\"use strict\";A.r(t),t.default=\"data:application/vnd.ms-fontobject;base64,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\"},function(e,t,A){\"use strict\";A.r(t),t.default=\"data:font/woff;base64,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\"},function(e,t,A){\"use strict\";A.r(t),t.default=\"data:font/ttf;base64,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\"},function(e,t,A){\"use strict\";A.r(t),t.default=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCIgPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48bWV0YWRhdGE+PC9tZXRhZGF0YT48ZGVmcz48Zm9udCBpZD0iaWNvbmZvbnQtdnVlLTc3MDJlNWYiIGhvcml6LWFkdi14PSI1MDAwIj48Zm9udC1mYWNlIGZvbnQtZmFtaWx5PSJpY29uZm9udC12dWUtNzcwMmU1ZiIgZm9udC13ZWlnaHQ9IjQwMCIgZm9udC1zdHJldGNoPSJub3JtYWwiIHVuaXRzLXBlci1lbT0iNTAwMCIgcGFub3NlLTE9IjIgMCA1IDMgMCAwIDAgMCAwIDAiIGFzY2VudD0iNTAwMCIgZGVzY2VudD0iMCIgeC1oZWlnaHQ9IjAiIGJib3g9Ii0xIDAgNTAxMSA0ODQ0IiB1bmRlcmxpbmUtdGhpY2tuZXNzPSIwIiB1bmRlcmxpbmUtcG9zaXRpb249IjUwIiB1bmljb2RlLXJhbmdlPSJVK2VhMDEtZWEwYyIgLz48bWlzc2luZy1nbHlwaCBob3Jpei1hZHYteD0iMCIgIC8+PGdseXBoIGdseXBoLW5hbWU9ImFycm93LWxlZnQtZG91YmxlIiB1bmljb2RlPSImI3hlYTAxOyIgZD0iTTM3NTAgMzkwNiBsLTE0MDYgLTE0MDYgbDE0MDYgLTE0MDYgbDAgMzEyIGwtMTA5NCAxMDk0IGwxMDk0IDEwOTQgbDAgMzEyIFpNMjM0NCAzOTA2IGwtMTQwNiAtMTQwNiBsMTQwNiAtMTQwNiBsMCAzMTIgbC0xMDk0IDEwOTQgbDEwOTQgMTA5NCBsMCAzMTIgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iYXJyb3ctbGVmdCIgdW5pY29kZT0iJiN4ZWEwMjsiIGQ9Ik0xNTYzIDI1MDAgbDE4NzUgLTE4NzUgbDAgLTMxMiBsLTIxODggMjE4NyBsMjE4OCAyMTg4IGwwIC0zMTMgbC0xODc1IC0xODc1IFoiIC8+PGdseXBoIGdseXBoLW5hbWU9ImFycm93LXJpZ2h0LWRvdWJsZSIgdW5pY29kZT0iJiN4ZWEwMzsiIGQ9Ik0xMjUwIDEwOTQgbDE0MDYgMTQwNiBsLTE0MDYgMTQwNiBsMCAtMzEyIGwxMDk0IC0xMDk0IGwtMTA5NCAtMTA5NCBsMCAtMzEyIFpNMjY1NiAxMDk0IGwxNDA3IDE0MDYgbC0xNDA3IDE0MDYgbDAgLTMxMiBsMTA5NCAtMTA5NCBsLTEwOTQgLTEwOTQgbDAgLTMxMiBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJhcnJvdy1yaWdodCIgdW5pY29kZT0iJiN4ZWEwNDsiIGQ9Ik0zNDM4IDI1MDAgbC0xODc1IDE4NzUgbDAgMzEzIGwyMTg3IC0yMTg4IGwtMjE4NyAtMjE4NyBsMCAzMTIgbDE4NzUgMTg3NSBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJjaGVja21hcmsiIHVuaWNvZGU9IiYjeGVhMDU7IiBkPSJNNDA0NSAzOTcxIGwtMjA2MSAtMjA2MSBsLTEwMjkgMTAyOSBsLTQ0MiAtNDQxIGwxNDcxIC0xNDcxIGwyNTAzIDI1MDIgbC00NDIgNDQyIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9ImNsb3NlIiB1bmljb2RlPSImI3hlYTA2OyIgZD0iTTQzNzUgMTE1NiBsLTUzMSAtNTMxIGwtMTM0NCAxMzQ0IGwtMTM0NCAtMTM0NCBsLTUzMSA1MzEgbDEzNDQgMTM0NCBsLTEzNDQgMTM0NCBsNTMxIDUzMSBsMTM0NCAtMTM0NCBsMTM0NCAxMzQ0IGw1MzEgLTUzMSBsLTEzNDQgLTEzNDQgbDEzNDQgLTEzNDQgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iY29uZmlybSIgdW5pY29kZT0iJiN4ZWEwNzsiIGQ9Ik0yNjU2IDQ4NDQgcS0xMDEgMCAtMTgwIC01NyBxLTc0IC01MiAtMTA5IC0xMzggcS0zNSAtODYgLTE5IC0xNzUgcTE4IC05NiA5MCAtMTY3IGwxNDk1IC0xNDk0IGwtMzYxNiAwIHEtNzcgMSAtMTM5IC0yNiBxLTU4IC0yNCAtOTkgLTcwIHEtMzkgLTQ0IC01OSAtMTAxIHEtMjAgLTU2IC0yMCAtMTE2IHEwIC02MCAyMCAtMTE2IHEyMCAtNTcgNTkgLTEwMSBxNDEgLTQ2IDk5IC03MCBxNjIgLTI3IDEzOSAtMjUgbDM2MTYgMCBsLTE0OTUgLTE0OTUgcS01NSAtNTMgLTgxIC0xMTYgcS0yNCAtNTkgLTIxIC0xMjEgcTMgLTU4IDMwIC0xMTMgcTI1IC01NCA2OCAtOTcgcTQzIC00MyA5NiAtNjggcTU1IC0yNiAxMTQgLTI5IHE2MiAtMyAxMjAgMjEgcTYzIDI1IDExNiA4MSBsMjAyOSAyMDI4IHE1OSA2MCA4MCAxNDEgcTIxIDgwIDEgMTU5IHEtMjEgODIgLTgxIDE0MiBsLTIwMjkgMjAyOCBxLTQ0IDQ1IC0xMDIgNzAgcS01OCAyNSAtMTIyIDI1IFoiIC8+PGdseXBoIGdseXBoLW5hbWU9Im1lbnUiIHVuaWNvZGU9IiYjeGVhMDg7IiBkPSJNNjI1IDQzNzUgbDAgLTYyNSBsMzc1MCAwIGwwIDYyNSBsLTM3NTAgMCBaTTYyNSAyODEzIGwwIC02MjUgbDM3NTAgMCBsMCA2MjUgbC0zNzUwIDAgWk02MjUgMTI1MCBsMCAtNjI1IGwzNzUwIDAgbDAgNjI1IGwtMzc1MCAwIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9Im1vcmUiIHVuaWNvZGU9IiYjeGVhMDk7IiBkPSJNOTM4IDMxMjUgcS0xMjggMCAtMjQ0IC00OSBxLTExMiAtNDggLTE5OC41IC0xMzQuNSBxLTg2LjUgLTg2LjUgLTEzMy41IC0xOTguNSBxLTUwIC0xMTYgLTQ5LjUgLTI0MyBxMC41IC0xMjcgNDkuNSAtMjQzIHE0NyAtMTEyIDEzMy41IC0xOTguNSBxODYuNSAtODYuNSAxOTguNSAtMTM0LjUgcTExNiAtNDkgMjQzLjUgLTQ5IHExMjcuNSAwIDI0My41IDQ5IHExMTIgNDggMTk4LjUgMTM0LjUgcTg2LjUgODYuNSAxMzMuNSAxOTguNSBxNTAgMTE2IDUwIDI0MyBxMCAxMjcgLTUwIDI0MyBxLTQ3IDExMiAtMTMzLjUgMTk4LjUgcS04Ni41IDg2LjUgLTE5OC41IDEzNC41IHEtMTE2IDQ5IC0yNDMgNDkgWk0yNTAwIDMxMjUgcS0xMjcgMCAtMjQzIC00OSBxLTExMiAtNDggLTE5OC41IC0xMzQuNSBxLTg2LjUgLTg2LjUgLTEzNC41IC0xOTguNSBxLTQ5IC0xMTYgLTQ5IC0yNDMgcTAgLTEyNyA0OSAtMjQzIHE0OCAtMTEyIDEzNC41IC0xOTguNSBxODYuNSAtODYuNSAxOTguNSAtMTM0LjUgcTExNiAtNDkgMjQzIC00OSBxMTI3IDAgMjQzIDQ5IHExMTIgNDggMTk4LjUgMTM0LjUgcTg2LjUgODYuNSAxMzQuNSAxOTguNSBxNDkgMTE2IDQ5IDI0MyBxMCAxMjcgLTQ5IDI0MyBxLTQ4IDExMiAtMTM0LjUgMTk4LjUgcS04Ni41IDg2LjUgLTE5OC41IDEzNC41IHEtMTE2IDQ5IC0yNDMgNDkgWk00MDYzIDMxMjUgcS0xMjggMCAtMjQ0IC00OSBxLTExMiAtNDggLTE5OC41IC0xMzQuNSBxLTg2LjUgLTg2LjUgLTEzMy41IC0xOTguNSBxLTQ5IC0xMTYgLTQ5IC0yNDMgcTAgLTEyNyA0OSAtMjQzIHE0NyAtMTEyIDEzMy41IC0xOTguNSBxODYuNSAtODYuNSAxOTguNSAtMTM0LjUgcTExNiAtNDkgMjQzLjUgLTQ5IHExMjcuNSAwIDI0My41IDQ5IHExMTIgNDggMTk4LjUgMTM0LjUgcTg2LjUgODYuNSAxMzMuNSAxOTguNSBxNTAgMTE2IDUwIDI0MyBxMCAxMjcgLTUwIDI0MyBxLTQ3IDExMiAtMTMzLjUgMTk4LjUgcS04Ni41IDg2LjUgLTE5OC41IDEzNC41IHEtMTE2IDQ5IC0yNDMgNDkgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0icGF1c2UiIHVuaWNvZGU9IiYjeGVhMGE7IiBkPSJNOTM4IDQwNjMgbDAgLTMxMjUgbDEyNTAgMCBsMCAzMTI1IGwtMTI1MCAwIFpNMjgxMyA0MDYzIGwwIC0zMTI1IGwxMjUwIDAgbDAgMzEyNSBsLTEyNTAgMCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJwbGF5IiB1bmljb2RlPSImI3hlYTBiOyIgZD0iTTYyNSA0Mzc1IGwzNzUwIC0xODc1IGwtMzc1MCAtMTg3NSBsMCAzNzUwIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InRyaWFuZ2xlLXMiIHVuaWNvZGU9IiYjeGVhMGM7IiBkPSJNMTI1MCAzMTI1IGwxMjUwIC0xMjUwIGwxMjUwIDEyNDggbC0yNTAwIDIgWiIgLz48L2ZvbnQ+PC9kZWZzPjwvc3ZnPg==\"},function(e,t,A){\"use strict\";A.r(t);var s=A(4);A(41);\n/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\ns.VTooltip.options.defaultTemplate='<div class=\"vue-tooltip\" role=\"tooltip\" data-v-'.concat(\"7702e5f\",'><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>'),s.VTooltip.options.defaultHtml=!1,t.default=s.VTooltip},function(e,t,A){\"use strict\";A.d(t,\"b\",(function(){return a})),A.d(t,\"c\",(function(){return i}));A(32);var s=A(39),n=Object(s.getGettextBuilder)().detectLocale();[{locale:\"cs_CZ\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"Pavel Borecki <pavel.borecki@gmail.com>, 2020\",\"Language-Team\":\"Czech (Czech Republic) (https://www.transifex.com/nextcloud/teams/64236/cs_CZ/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"cs_CZ\",\"Plural-Forms\":\"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nPavel Borecki <pavel.borecki@gmail.com>, 2020\\n\"},msgstr:[\"Last-Translator: Pavel Borecki <pavel.borecki@gmail.com>, 2020\\nLanguage-Team: Czech (Czech Republic) (https://www.transifex.com/nextcloud/teams/64236/cs_CZ/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: cs_CZ\\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\\n\"]},\"{tag} (invisible)\":{msgid:\"{tag} (invisible)\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:169\"},msgstr:[\"{tag} (neviditelný)\"]},\"{tag} (restricted)\":{msgid:\"{tag} (restricted)\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:172\"},msgstr:[\"{tag} (omezený)\"]},Choose:{msgid:\"Choose\",comments:{reference:\"src/components/ColorPicker/ColorPicker.vue:145\"},msgstr:[\"Zvolit\"]},Close:{msgid:\"Close\",comments:{reference:\"src/components/Modal/Modal.vue:109\"},msgstr:[\"Zavřít\"]},Next:{msgid:\"Next\",comments:{reference:\"src/components/Modal/Modal.vue:154\"},msgstr:[\"Následující\"]},\"No results\":{msgid:\"No results\",comments:{reference:\"src/components/Multiselect/Multiselect.vue:169\\nsrc/components/MultiselectTags/MultiselectTags.vue:78\"},msgstr:[\"Žádné výsledky\"]},\"Pause slideshow\":{msgid:\"Pause slideshow\",comments:{reference:\"src/components/Modal/Modal.vue:290\"},msgstr:[\"Pozastavit prezentaci\"]},Previous:{msgid:\"Previous\",comments:{reference:\"src/components/Modal/Modal.vue:134\"},msgstr:[\"Předchozí\"]},\"Select a tag\":{msgid:\"Select a tag\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:100\"},msgstr:[\"Vybrat štítek\"]},Settings:{msgid:\"Settings\",comments:{reference:\"src/components/AppNavigationSettings/AppNavigationSettings.vue:53\"},msgstr:[\"Nastavení\"]},\"Start slideshow\":{msgid:\"Start slideshow\",comments:{reference:\"src/components/Modal/Modal.vue:290\"},msgstr:[\"Spustit prezentaci\"]}}}}},{locale:\"de\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"Philipp Fischbeck <pfischbeck@googlemail.com>, 2020\",\"Language-Team\":\"German (https://www.transifex.com/nextcloud/teams/64236/de/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"de\",\"Plural-Forms\":\"nplurals=2; plural=(n != 1);\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nMark Ziegler <mark.ziegler@rakekniven.de>, 2020\\nPhilipp Fischbeck <pfischbeck@googlemail.com>, 2020\\n\"},msgstr:[\"Last-Translator: Philipp Fischbeck <pfischbeck@googlemail.com>, 2020\\nLanguage-Team: German (https://www.transifex.com/nextcloud/teams/64236/de/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: de\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"]},\"{tag} (invisible)\":{msgid:\"{tag} (invisible)\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:169\"},msgstr:[\"{tag} (unsichtbar)\"]},\"{tag} (restricted)\":{msgid:\"{tag} (restricted)\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:172\"},msgstr:[\"{tag} (eingeschränkt)\"]},Choose:{msgid:\"Choose\",comments:{reference:\"src/components/ColorPicker/ColorPicker.vue:145\"},msgstr:[\"Auswählen\"]},Close:{msgid:\"Close\",comments:{reference:\"src/components/Modal/Modal.vue:109\"},msgstr:[\"Schließen\"]},Next:{msgid:\"Next\",comments:{reference:\"src/components/Modal/Modal.vue:154\"},msgstr:[\"Weiter\"]},\"No results\":{msgid:\"No results\",comments:{reference:\"src/components/Multiselect/Multiselect.vue:169\\nsrc/components/MultiselectTags/MultiselectTags.vue:78\"},msgstr:[\"Keine Ergebnisse\"]},\"Pause slideshow\":{msgid:\"Pause slideshow\",comments:{reference:\"src/components/Modal/Modal.vue:290\"},msgstr:[\"Diashow pausieren\"]},Previous:{msgid:\"Previous\",comments:{reference:\"src/components/Modal/Modal.vue:134\"},msgstr:[\"Vorherige\"]},\"Select a tag\":{msgid:\"Select a tag\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:100\"},msgstr:[\"Schlagwort auswählen\"]},Settings:{msgid:\"Settings\",comments:{reference:\"src/components/AppNavigationSettings/AppNavigationSettings.vue:53\"},msgstr:[\"Einstellungen\"]},\"Start slideshow\":{msgid:\"Start slideshow\",comments:{reference:\"src/components/Modal/Modal.vue:290\"},msgstr:[\"Diashow starten\"]}}}}},{locale:\"de_DE\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"Philipp Fischbeck <pfischbeck@googlemail.com>, 2020\",\"Language-Team\":\"German (Germany) (https://www.transifex.com/nextcloud/teams/64236/de_DE/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"de_DE\",\"Plural-Forms\":\"nplurals=2; plural=(n != 1);\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nMark Ziegler <mark.ziegler@rakekniven.de>, 2020\\nPhilipp Fischbeck <pfischbeck@googlemail.com>, 2020\\n\"},msgstr:[\"Last-Translator: Philipp Fischbeck <pfischbeck@googlemail.com>, 2020\\nLanguage-Team: German (Germany) (https://www.transifex.com/nextcloud/teams/64236/de_DE/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: de_DE\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"]},\"{tag} (invisible)\":{msgid:\"{tag} (invisible)\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:169\"},msgstr:[\"{tag} (unsichtbar)\"]},\"{tag} (restricted)\":{msgid:\"{tag} (restricted)\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:172\"},msgstr:[\"{tag} (eingeschränkt)\"]},Choose:{msgid:\"Choose\",comments:{reference:\"src/components/ColorPicker/ColorPicker.vue:145\"},msgstr:[\"Auswählen\"]},Close:{msgid:\"Close\",comments:{reference:\"src/components/Modal/Modal.vue:109\"},msgstr:[\"Schließen\"]},Next:{msgid:\"Next\",comments:{reference:\"src/components/Modal/Modal.vue:154\"},msgstr:[\"Weiter\"]},\"No results\":{msgid:\"No results\",comments:{reference:\"src/components/Multiselect/Multiselect.vue:169\\nsrc/components/MultiselectTags/MultiselectTags.vue:78\"},msgstr:[\"Keine Ergebnisse\"]},\"Pause slideshow\":{msgid:\"Pause slideshow\",comments:{reference:\"src/components/Modal/Modal.vue:290\"},msgstr:[\"Diashow pausieren\"]},Previous:{msgid:\"Previous\",comments:{reference:\"src/components/Modal/Modal.vue:134\"},msgstr:[\"Vorherige\"]},\"Select a tag\":{msgid:\"Select a tag\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:100\"},msgstr:[\"Schlagwort auswählen\"]},Settings:{msgid:\"Settings\",comments:{reference:\"src/components/AppNavigationSettings/AppNavigationSettings.vue:53\"},msgstr:[\"Einstellungen\"]},\"Start slideshow\":{msgid:\"Start slideshow\",comments:{reference:\"src/components/Modal/Modal.vue:290\"},msgstr:[\"Diashow starten\"]}}}}},{locale:\"el\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"Efstathios Iosifidis <iefstathios@gmail.com>, 2020\",\"Language-Team\":\"Greek (https://www.transifex.com/nextcloud/teams/64236/el/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"el\",\"Plural-Forms\":\"nplurals=2; plural=(n != 1);\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nEfstathios Iosifidis <iefstathios@gmail.com>, 2020\\n\"},msgstr:[\"Last-Translator: Efstathios Iosifidis <iefstathios@gmail.com>, 2020\\nLanguage-Team: Greek (https://www.transifex.com/nextcloud/teams/64236/el/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: el\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"]},\"{tag} (invisible)\":{msgid:\"{tag} (invisible)\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:169\"},msgstr:[\"{tag} (αόρατο)\"]},\"{tag} (restricted)\":{msgid:\"{tag} (restricted)\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:172\"},msgstr:[\"{tag} (περιορισμένο)\"]},Choose:{msgid:\"Choose\",comments:{reference:\"src/components/ColorPicker/ColorPicker.vue:145\"},msgstr:[\"Επιλογή\"]},Close:{msgid:\"Close\",comments:{reference:\"src/components/Modal/Modal.vue:109\"},msgstr:[\"Κλείσιμο\"]},Next:{msgid:\"Next\",comments:{reference:\"src/components/Modal/Modal.vue:154\"},msgstr:[\"Επόμενο\"]},\"No results\":{msgid:\"No results\",comments:{reference:\"src/components/Multiselect/Multiselect.vue:169\\nsrc/components/MultiselectTags/MultiselectTags.vue:78\"},msgstr:[\"Κανένα αποτέλεσμα\"]},\"Pause slideshow\":{msgid:\"Pause slideshow\",comments:{reference:\"src/components/Modal/Modal.vue:290\"},msgstr:[\"Παύση προβολής διαφανειών\"]},Previous:{msgid:\"Previous\",comments:{reference:\"src/components/Modal/Modal.vue:134\"},msgstr:[\"Προηγούμενο\"]},\"Select a tag\":{msgid:\"Select a tag\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:100\"},msgstr:[\"Επιλογή ετικέτας\"]},Settings:{msgid:\"Settings\",comments:{reference:\"src/components/AppNavigationSettings/AppNavigationSettings.vue:53\"},msgstr:[\"Ρυθμίσεις\"]},\"Start slideshow\":{msgid:\"Start slideshow\",comments:{reference:\"src/components/Modal/Modal.vue:290\"},msgstr:[\"Έναρξη προβολής διαφανειών\"]}}}}},{locale:\"eu\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"Asier Iturralde Sarasola <asier.iturralde@gmail.com>, 2020\",\"Language-Team\":\"Basque (https://www.transifex.com/nextcloud/teams/64236/eu/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"eu\",\"Plural-Forms\":\"nplurals=2; plural=(n != 1);\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nAsier Iturralde Sarasola <asier.iturralde@gmail.com>, 2020\\n\"},msgstr:[\"Last-Translator: Asier Iturralde Sarasola <asier.iturralde@gmail.com>, 2020\\nLanguage-Team: Basque (https://www.transifex.com/nextcloud/teams/64236/eu/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: eu\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"]},\"{tag} (invisible)\":{msgid:\"{tag} (invisible)\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:169\"},msgstr:[\"{tag} (ikusezina)\"]},\"{tag} (restricted)\":{msgid:\"{tag} (restricted)\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:172\"},msgstr:[\"{tag} (mugatua)\"]},Choose:{msgid:\"Choose\",comments:{reference:\"src/components/ColorPicker/ColorPicker.vue:145\"},msgstr:[\"Aukeratu\"]},Close:{msgid:\"Close\",comments:{reference:\"src/components/Modal/Modal.vue:109\"},msgstr:[\"Itxi\"]},Next:{msgid:\"Next\",comments:{reference:\"src/components/Modal/Modal.vue:154\"},msgstr:[\"Hurrengoa\"]},\"No results\":{msgid:\"No results\",comments:{reference:\"src/components/Multiselect/Multiselect.vue:169\\nsrc/components/MultiselectTags/MultiselectTags.vue:78\"},msgstr:[\"Emaitzarik ez\"]},\"Pause slideshow\":{msgid:\"Pause slideshow\",comments:{reference:\"src/components/Modal/Modal.vue:290\"},msgstr:[\"Pausatu diaporama\"]},Previous:{msgid:\"Previous\",comments:{reference:\"src/components/Modal/Modal.vue:134\"},msgstr:[\"Aurrekoa\"]},\"Select a tag\":{msgid:\"Select a tag\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:100\"},msgstr:[\"Hautatu etiketa bat\"]},Settings:{msgid:\"Settings\",comments:{reference:\"src/components/AppNavigationSettings/AppNavigationSettings.vue:53\"},msgstr:[\"Ezarpenak\"]},\"Start slideshow\":{msgid:\"Start slideshow\",comments:{reference:\"src/components/Modal/Modal.vue:290\"},msgstr:[\"Hasi diaporama\"]}}}}},{locale:\"fr\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"gud bes <gudbes@protonmail.com>, 2020\",\"Language-Team\":\"French (https://www.transifex.com/nextcloud/teams/64236/fr/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"fr\",\"Plural-Forms\":\"nplurals=2; plural=(n > 1);\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nBrendan Abolivier <transifex@brendanabolivier.com>, 2020\\ngud bes <gudbes@protonmail.com>, 2020\\n\"},msgstr:[\"Last-Translator: gud bes <gudbes@protonmail.com>, 2020\\nLanguage-Team: French (https://www.transifex.com/nextcloud/teams/64236/fr/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: fr\\nPlural-Forms: nplurals=2; plural=(n > 1);\\n\"]},\"{tag} (invisible)\":{msgid:\"{tag} (invisible)\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:169\"},msgstr:[\"{tag} (invisible)\"]},\"{tag} (restricted)\":{msgid:\"{tag} (restricted)\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:172\"},msgstr:[\"{tag} (restreint)\"]},Choose:{msgid:\"Choose\",comments:{reference:\"src/components/ColorPicker/ColorPicker.vue:145\"},msgstr:[\"Choisir\"]},Close:{msgid:\"Close\",comments:{reference:\"src/components/Modal/Modal.vue:109\"},msgstr:[\"Fermer\"]},Next:{msgid:\"Next\",comments:{reference:\"src/components/Modal/Modal.vue:154\"},msgstr:[\"Suivant\"]},\"No results\":{msgid:\"No results\",comments:{reference:\"src/components/Multiselect/Multiselect.vue:169\\nsrc/components/MultiselectTags/MultiselectTags.vue:78\"},msgstr:[\"Aucun résultat\"]},\"Pause slideshow\":{msgid:\"Pause slideshow\",comments:{reference:\"src/components/Modal/Modal.vue:290\"},msgstr:[\"Mettre le diaporama en pause\"]},Previous:{msgid:\"Previous\",comments:{reference:\"src/components/Modal/Modal.vue:134\"},msgstr:[\"Précédent\"]},\"Select a tag\":{msgid:\"Select a tag\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:100\"},msgstr:[\"Sélectionnez une balise\"]},Settings:{msgid:\"Settings\",comments:{reference:\"src/components/AppNavigationSettings/AppNavigationSettings.vue:53\"},msgstr:[\"Paramètres\"]},\"Start slideshow\":{msgid:\"Start slideshow\",comments:{reference:\"src/components/Modal/Modal.vue:290\"},msgstr:[\"Démarrer le diaporama\"]}}}}},{locale:\"gl\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"Miguel Anxo Bouzada <mbouzada@gmail.com>, 2020\",\"Language-Team\":\"Galician (https://www.transifex.com/nextcloud/teams/64236/gl/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"gl\",\"Plural-Forms\":\"nplurals=2; plural=(n != 1);\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nMiguel Anxo Bouzada <mbouzada@gmail.com>, 2020\\n\"},msgstr:[\"Last-Translator: Miguel Anxo Bouzada <mbouzada@gmail.com>, 2020\\nLanguage-Team: Galician (https://www.transifex.com/nextcloud/teams/64236/gl/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: gl\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"]},\"{tag} (invisible)\":{msgid:\"{tag} (invisible)\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:169\"},msgstr:[\"{tag} (invisíbel)\"]},\"{tag} (restricted)\":{msgid:\"{tag} (restricted)\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:172\"},msgstr:[\"{tag} (restrinxido)\"]},Choose:{msgid:\"Choose\",comments:{reference:\"src/components/ColorPicker/ColorPicker.vue:145\"},msgstr:[\"Escoller\"]},Close:{msgid:\"Close\",comments:{reference:\"src/components/Modal/Modal.vue:109\"},msgstr:[\"Pechar\"]},Next:{msgid:\"Next\",comments:{reference:\"src/components/Modal/Modal.vue:154\"},msgstr:[\"Seguinte\"]},\"No results\":{msgid:\"No results\",comments:{reference:\"src/components/Multiselect/Multiselect.vue:169\\nsrc/components/MultiselectTags/MultiselectTags.vue:78\"},msgstr:[\"Sen resultados\"]},\"Pause slideshow\":{msgid:\"Pause slideshow\",comments:{reference:\"src/components/Modal/Modal.vue:290\"},msgstr:[\"Pausar o diaporama\"]},Previous:{msgid:\"Previous\",comments:{reference:\"src/components/Modal/Modal.vue:134\"},msgstr:[\"Anterir\"]},\"Select a tag\":{msgid:\"Select a tag\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:100\"},msgstr:[\"Seleccione unha etiqueta\"]},Settings:{msgid:\"Settings\",comments:{reference:\"src/components/AppNavigationSettings/AppNavigationSettings.vue:53\"},msgstr:[\"Axustes\"]},\"Start slideshow\":{msgid:\"Start slideshow\",comments:{reference:\"src/components/Modal/Modal.vue:290\"},msgstr:[\"Iniciar o diaporama\"]}}}}},{locale:\"he\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"Yaron Shahrabani <sh.yaron@gmail.com>, 2020\",\"Language-Team\":\"Hebrew (https://www.transifex.com/nextcloud/teams/64236/he/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"he\",\"Plural-Forms\":\"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nYaron Shahrabani <sh.yaron@gmail.com>, 2020\\n\"},msgstr:[\"Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>, 2020\\nLanguage-Team: Hebrew (https://www.transifex.com/nextcloud/teams/64236/he/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: he\\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\\n\"]},\"{tag} (invisible)\":{msgid:\"{tag} (invisible)\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:169\"},msgstr:[\"{tag} (נסתר)\"]},\"{tag} (restricted)\":{msgid:\"{tag} (restricted)\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:172\"},msgstr:[\"{tag} (מוגבל)\"]},Choose:{msgid:\"Choose\",comments:{reference:\"src/components/ColorPicker/ColorPicker.vue:145\"},msgstr:[\"בחירה\"]},Close:{msgid:\"Close\",comments:{reference:\"src/components/Modal/Modal.vue:109\"},msgstr:[\"סגירה\"]},Next:{msgid:\"Next\",comments:{reference:\"src/components/Modal/Modal.vue:154\"},msgstr:[\"הבא\"]},\"No results\":{msgid:\"No results\",comments:{reference:\"src/components/Multiselect/Multiselect.vue:169\\nsrc/components/MultiselectTags/MultiselectTags.vue:78\"},msgstr:[\"אין תוצאות\"]},\"Pause slideshow\":{msgid:\"Pause slideshow\",comments:{reference:\"src/components/Modal/Modal.vue:290\"},msgstr:[\"השהיית מצגת\"]},Previous:{msgid:\"Previous\",comments:{reference:\"src/components/Modal/Modal.vue:134\"},msgstr:[\"הקודם\"]},\"Select a tag\":{msgid:\"Select a tag\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:100\"},msgstr:[\"בחירת תגית\"]},Settings:{msgid:\"Settings\",comments:{reference:\"src/components/AppNavigationSettings/AppNavigationSettings.vue:53\"},msgstr:[\"הגדרות\"]},\"Start slideshow\":{msgid:\"Start slideshow\",comments:{reference:\"src/components/Modal/Modal.vue:290\"},msgstr:[\"התחלת המצגת\"]}}}}},{locale:\"it\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"Random_R, 2020\",\"Language-Team\":\"Italian (https://www.transifex.com/nextcloud/teams/64236/it/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"it\",\"Plural-Forms\":\"nplurals=2; plural=(n != 1);\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nRandom_R, 2020\\n\"},msgstr:[\"Last-Translator: Random_R, 2020\\nLanguage-Team: Italian (https://www.transifex.com/nextcloud/teams/64236/it/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: it\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"]},\"{tag} (invisible)\":{msgid:\"{tag} (invisible)\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:169\"},msgstr:[\"{tag} (invisibile)\"]},\"{tag} (restricted)\":{msgid:\"{tag} (restricted)\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:172\"},msgstr:[\"{tag} (limitato)\"]},Choose:{msgid:\"Choose\",comments:{reference:\"src/components/ColorPicker/ColorPicker.vue:145\"},msgstr:[\"Scegli\"]},Close:{msgid:\"Close\",comments:{reference:\"src/components/Modal/Modal.vue:109\"},msgstr:[\"Chiudi\"]},Next:{msgid:\"Next\",comments:{reference:\"src/components/Modal/Modal.vue:154\"},msgstr:[\"Successivo\"]},\"No results\":{msgid:\"No results\",comments:{reference:\"src/components/Multiselect/Multiselect.vue:169\\nsrc/components/MultiselectTags/MultiselectTags.vue:78\"},msgstr:[\"Nessun risultato\"]},\"Pause slideshow\":{msgid:\"Pause slideshow\",comments:{reference:\"src/components/Modal/Modal.vue:290\"},msgstr:[\"Presentazione in pausa\"]},Previous:{msgid:\"Previous\",comments:{reference:\"src/components/Modal/Modal.vue:134\"},msgstr:[\"Precedente\"]},\"Select a tag\":{msgid:\"Select a tag\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:100\"},msgstr:[\"Seleziona un'etichetta\"]},Settings:{msgid:\"Settings\",comments:{reference:\"src/components/AppNavigationSettings/AppNavigationSettings.vue:53\"},msgstr:[\"Impostazioni\"]},\"Start slideshow\":{msgid:\"Start slideshow\",comments:{reference:\"src/components/Modal/Modal.vue:290\"},msgstr:[\"Avvia presentazione\"]}}}}},{locale:\"lv\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"stendec <stendec@inbox.lv>, 2020\",\"Language-Team\":\"Latvian (https://www.transifex.com/nextcloud/teams/64236/lv/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"lv\",\"Plural-Forms\":\"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nstendec <stendec@inbox.lv>, 2020\\n\"},msgstr:[\"Last-Translator: stendec <stendec@inbox.lv>, 2020\\nLanguage-Team: Latvian (https://www.transifex.com/nextcloud/teams/64236/lv/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: lv\\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\\n\"]},\"{tag} (invisible)\":{msgid:\"{tag} (invisible)\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:169\"},msgstr:[\"{tag} (neredzams)\"]},\"{tag} (restricted)\":{msgid:\"{tag} (restricted)\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:172\"},msgstr:[\"{tag} (ierobežots)\"]},Choose:{msgid:\"Choose\",comments:{reference:\"src/components/ColorPicker/ColorPicker.vue:145\"},msgstr:[\"Izvēlēties\"]},Close:{msgid:\"Close\",comments:{reference:\"src/components/Modal/Modal.vue:109\"},msgstr:[\"Aizvērt\"]},Next:{msgid:\"Next\",comments:{reference:\"src/components/Modal/Modal.vue:154\"},msgstr:[\"Nākamais\"]},\"No results\":{msgid:\"No results\",comments:{reference:\"src/components/Multiselect/Multiselect.vue:169\\nsrc/components/MultiselectTags/MultiselectTags.vue:78\"},msgstr:[\"Nav rezultātu\"]},\"Pause slideshow\":{msgid:\"Pause slideshow\",comments:{reference:\"src/components/Modal/Modal.vue:290\"},msgstr:[\"Pauzēt slaidrādi\"]},Previous:{msgid:\"Previous\",comments:{reference:\"src/components/Modal/Modal.vue:134\"},msgstr:[\"Iepriekšējais\"]},\"Select a tag\":{msgid:\"Select a tag\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:100\"},msgstr:[\"Izvēlēties birku\"]},Settings:{msgid:\"Settings\",comments:{reference:\"src/components/AppNavigationSettings/AppNavigationSettings.vue:53\"},msgstr:[\"Iestatījumi\"]},\"Start slideshow\":{msgid:\"Start slideshow\",comments:{reference:\"src/components/Modal/Modal.vue:290\"},msgstr:[\"Sākt slaidrādi\"]}}}}},{locale:\"nl\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"Roeland Jago Douma <roeland@famdouma.nl>, 2020\",\"Language-Team\":\"Dutch (https://www.transifex.com/nextcloud/teams/64236/nl/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"nl\",\"Plural-Forms\":\"nplurals=2; plural=(n != 1);\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nRoeland Jago Douma <roeland@famdouma.nl>, 2020\\n\"},msgstr:[\"Last-Translator: Roeland Jago Douma <roeland@famdouma.nl>, 2020\\nLanguage-Team: Dutch (https://www.transifex.com/nextcloud/teams/64236/nl/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: nl\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"]},\"{tag} (invisible)\":{msgid:\"{tag} (invisible)\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:169\"},msgstr:[\"{tag} (onzichtbaar)\"]},\"{tag} (restricted)\":{msgid:\"{tag} (restricted)\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:172\"},msgstr:[\"{tag} (beperkt)\"]},Choose:{msgid:\"Choose\",comments:{reference:\"src/components/ColorPicker/ColorPicker.vue:145\"},msgstr:[\"Kies\"]},Close:{msgid:\"Close\",comments:{reference:\"src/components/Modal/Modal.vue:109\"},msgstr:[\"Sluiten\"]},Next:{msgid:\"Next\",comments:{reference:\"src/components/Modal/Modal.vue:154\"},msgstr:[\"Volgende\"]},\"No results\":{msgid:\"No results\",comments:{reference:\"src/components/Multiselect/Multiselect.vue:169\\nsrc/components/MultiselectTags/MultiselectTags.vue:78\"},msgstr:[\"Geen resultaten\"]},\"Pause slideshow\":{msgid:\"Pause slideshow\",comments:{reference:\"src/components/Modal/Modal.vue:290\"},msgstr:[\"Pauzeer diavoorstelling\"]},Previous:{msgid:\"Previous\",comments:{reference:\"src/components/Modal/Modal.vue:134\"},msgstr:[\"Vorige\"]},\"Select a tag\":{msgid:\"Select a tag\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:100\"},msgstr:[\"Selecteer een label\"]},Settings:{msgid:\"Settings\",comments:{reference:\"src/components/AppNavigationSettings/AppNavigationSettings.vue:53\"},msgstr:[\"Instellingen\"]},\"Start slideshow\":{msgid:\"Start slideshow\",comments:{reference:\"src/components/Modal/Modal.vue:290\"},msgstr:[\"Start diavoorstelling\"]}}}}},{locale:\"pl\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"Valdnet Valdnet, 2020\",\"Language-Team\":\"Polish (https://www.transifex.com/nextcloud/teams/64236/pl/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"pl\",\"Plural-Forms\":\"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nValdnet Valdnet, 2020\\n\"},msgstr:[\"Last-Translator: Valdnet Valdnet, 2020\\nLanguage-Team: Polish (https://www.transifex.com/nextcloud/teams/64236/pl/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: pl\\nPlural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\\n\"]},\"{tag} (invisible)\":{msgid:\"{tag} (invisible)\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:169\"},msgstr:[\"{tag} (niewidoczna)\"]},\"{tag} (restricted)\":{msgid:\"{tag} (restricted)\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:172\"},msgstr:[\"{tag} (ograniczona)\"]},Choose:{msgid:\"Choose\",comments:{reference:\"src/components/ColorPicker/ColorPicker.vue:145\"},msgstr:[\"Wybierz\"]},Close:{msgid:\"Close\",comments:{reference:\"src/components/Modal/Modal.vue:109\"},msgstr:[\"Zamknij\"]},Next:{msgid:\"Next\",comments:{reference:\"src/components/Modal/Modal.vue:154\"},msgstr:[\"Następny\"]},\"No results\":{msgid:\"No results\",comments:{reference:\"src/components/Multiselect/Multiselect.vue:169\\nsrc/components/MultiselectTags/MultiselectTags.vue:78\"},msgstr:[\"Brak wyników\"]},\"Pause slideshow\":{msgid:\"Pause slideshow\",comments:{reference:\"src/components/Modal/Modal.vue:290\"},msgstr:[\"Wstrzymaj pokaz slajdów\"]},Previous:{msgid:\"Previous\",comments:{reference:\"src/components/Modal/Modal.vue:134\"},msgstr:[\"Poprzedni\"]},\"Select a tag\":{msgid:\"Select a tag\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:100\"},msgstr:[\"Wybierz etykietę\"]},Settings:{msgid:\"Settings\",comments:{reference:\"src/components/AppNavigationSettings/AppNavigationSettings.vue:53\"},msgstr:[\"Ustawienia\"]},\"Start slideshow\":{msgid:\"Start slideshow\",comments:{reference:\"src/components/Modal/Modal.vue:290\"},msgstr:[\"Rozpocznij pokaz slajdów\"]}}}}},{locale:\"pt_BR\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"Maurício Gardini <accounts@mauriciogardini.com>, 2020\",\"Language-Team\":\"Portuguese (Brazil) (https://www.transifex.com/nextcloud/teams/64236/pt_BR/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"pt_BR\",\"Plural-Forms\":\"nplurals=2; plural=(n > 1);\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nMaurício Gardini <accounts@mauriciogardini.com>, 2020\\n\"},msgstr:[\"Last-Translator: Maurício Gardini <accounts@mauriciogardini.com>, 2020\\nLanguage-Team: Portuguese (Brazil) (https://www.transifex.com/nextcloud/teams/64236/pt_BR/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: pt_BR\\nPlural-Forms: nplurals=2; plural=(n > 1);\\n\"]},\"{tag} (invisible)\":{msgid:\"{tag} (invisible)\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:169\"},msgstr:[\"{tag} (invisível)\"]},\"{tag} (restricted)\":{msgid:\"{tag} (restricted)\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:172\"},msgstr:[\"{tag} (restrito) \"]},Choose:{msgid:\"Choose\",comments:{reference:\"src/components/ColorPicker/ColorPicker.vue:145\"},msgstr:[\"Escolher\"]},Close:{msgid:\"Close\",comments:{reference:\"src/components/Modal/Modal.vue:109\"},msgstr:[\"Fechar\"]},Next:{msgid:\"Next\",comments:{reference:\"src/components/Modal/Modal.vue:154\"},msgstr:[\"Próximo\"]},\"No results\":{msgid:\"No results\",comments:{reference:\"src/components/Multiselect/Multiselect.vue:169\\nsrc/components/MultiselectTags/MultiselectTags.vue:78\"},msgstr:[\"Sem resultados\"]},\"Pause slideshow\":{msgid:\"Pause slideshow\",comments:{reference:\"src/components/Modal/Modal.vue:290\"},msgstr:[\"Pausar apresentação de slides\"]},Previous:{msgid:\"Previous\",comments:{reference:\"src/components/Modal/Modal.vue:134\"},msgstr:[\"Anterior\"]},\"Select a tag\":{msgid:\"Select a tag\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:100\"},msgstr:[\"Selecionar uma tag\"]},Settings:{msgid:\"Settings\",comments:{reference:\"src/components/AppNavigationSettings/AppNavigationSettings.vue:53\"},msgstr:[\"Configurações\"]},\"Start slideshow\":{msgid:\"Start slideshow\",comments:{reference:\"src/components/Modal/Modal.vue:290\"},msgstr:[\"Iniciar apresentação de slides\"]}}}}},{locale:\"ru\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"Alex <kekcuha@gmail.com>, 2020\",\"Language-Team\":\"Russian (https://www.transifex.com/nextcloud/teams/64236/ru/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"ru\",\"Plural-Forms\":\"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nAlex <kekcuha@gmail.com>, 2020\\n\"},msgstr:[\"Last-Translator: Alex <kekcuha@gmail.com>, 2020\\nLanguage-Team: Russian (https://www.transifex.com/nextcloud/teams/64236/ru/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ru\\nPlural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\\n\"]},\"{tag} (invisible)\":{msgid:\"{tag} (invisible)\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:169\"},msgstr:[\"{tag} (невидимое)\"]},\"{tag} (restricted)\":{msgid:\"{tag} (restricted)\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:172\"},msgstr:[\"{tag} (ограниченное)\"]},Choose:{msgid:\"Choose\",comments:{reference:\"src/components/ColorPicker/ColorPicker.vue:145\"},msgstr:[\"Выберите\"]},Close:{msgid:\"Close\",comments:{reference:\"src/components/Modal/Modal.vue:109\"},msgstr:[\"Закрыть\"]},Next:{msgid:\"Next\",comments:{reference:\"src/components/Modal/Modal.vue:154\"},msgstr:[\"Следующее\"]},\"No results\":{msgid:\"No results\",comments:{reference:\"src/components/Multiselect/Multiselect.vue:169\\nsrc/components/MultiselectTags/MultiselectTags.vue:78\"},msgstr:[\"Результаты отсуствуют\"]},\"Pause slideshow\":{msgid:\"Pause slideshow\",comments:{reference:\"src/components/Modal/Modal.vue:290\"},msgstr:[\"Приостановить показ слйдов\"]},Previous:{msgid:\"Previous\",comments:{reference:\"src/components/Modal/Modal.vue:134\"},msgstr:[\"Предыдущее\"]},\"Select a tag\":{msgid:\"Select a tag\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:100\"},msgstr:[\"Выберите метку\"]},Settings:{msgid:\"Settings\",comments:{reference:\"src/components/AppNavigationSettings/AppNavigationSettings.vue:53\"},msgstr:[\"Параметры\"]},\"Start slideshow\":{msgid:\"Start slideshow\",comments:{reference:\"src/components/Modal/Modal.vue:290\"},msgstr:[\"Начать показ слайдов\"]}}}}},{locale:\"sv\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"Erik Lennartsson, 2020\",\"Language-Team\":\"Swedish (https://www.transifex.com/nextcloud/teams/64236/sv/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"sv\",\"Plural-Forms\":\"nplurals=2; plural=(n != 1);\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nGabriel Ekström <gabriel.ekstrom06@gmail.com>, 2020\\nErik Lennartsson, 2020\\n\"},msgstr:[\"Last-Translator: Erik Lennartsson, 2020\\nLanguage-Team: Swedish (https://www.transifex.com/nextcloud/teams/64236/sv/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: sv\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"]},\"{tag} (invisible)\":{msgid:\"{tag} (invisible)\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:169\"},msgstr:[\"{tag} (osynlig)\"]},\"{tag} (restricted)\":{msgid:\"{tag} (restricted)\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:172\"},msgstr:[\"{tag} (begränsad)\"]},Choose:{msgid:\"Choose\",comments:{reference:\"src/components/ColorPicker/ColorPicker.vue:145\"},msgstr:[\"Välj\"]},Close:{msgid:\"Close\",comments:{reference:\"src/components/Modal/Modal.vue:109\"},msgstr:[\"Stäng\"]},Next:{msgid:\"Next\",comments:{reference:\"src/components/Modal/Modal.vue:154\"},msgstr:[\"Nästa\"]},\"No results\":{msgid:\"No results\",comments:{reference:\"src/components/Multiselect/Multiselect.vue:169\\nsrc/components/MultiselectTags/MultiselectTags.vue:78\"},msgstr:[\"Inga resultat\"]},\"Pause slideshow\":{msgid:\"Pause slideshow\",comments:{reference:\"src/components/Modal/Modal.vue:290\"},msgstr:[\"Pausa bildspel\"]},Previous:{msgid:\"Previous\",comments:{reference:\"src/components/Modal/Modal.vue:134\"},msgstr:[\"Föregående\"]},\"Select a tag\":{msgid:\"Select a tag\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:100\"},msgstr:[\"Välj en tag\"]},Settings:{msgid:\"Settings\",comments:{reference:\"src/components/AppNavigationSettings/AppNavigationSettings.vue:53\"},msgstr:[\"Inställningar\"]},\"Start slideshow\":{msgid:\"Start slideshow\",comments:{reference:\"src/components/Modal/Modal.vue:290\"},msgstr:[\"Starta bildspel\"]}}}}},{locale:\"tr\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"Kemal Oktay Aktoğan <oktayaktogan@gmail.com>, 2020\",\"Language-Team\":\"Turkish (https://www.transifex.com/nextcloud/teams/64236/tr/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"tr\",\"Plural-Forms\":\"nplurals=2; plural=(n > 1);\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nKemal Oktay Aktoğan <oktayaktogan@gmail.com>, 2020\\n\"},msgstr:[\"Last-Translator: Kemal Oktay Aktoğan <oktayaktogan@gmail.com>, 2020\\nLanguage-Team: Turkish (https://www.transifex.com/nextcloud/teams/64236/tr/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: tr\\nPlural-Forms: nplurals=2; plural=(n > 1);\\n\"]},\"{tag} (invisible)\":{msgid:\"{tag} (invisible)\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:169\"},msgstr:[\"{tag} (görünmez)\"]},\"{tag} (restricted)\":{msgid:\"{tag} (restricted)\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:172\"},msgstr:[\"{tag} (kısıtlı)\"]},Choose:{msgid:\"Choose\",comments:{reference:\"src/components/ColorPicker/ColorPicker.vue:145\"},msgstr:[\"Seç\"]},Close:{msgid:\"Close\",comments:{reference:\"src/components/Modal/Modal.vue:109\"},msgstr:[\"Kapat\"]},Next:{msgid:\"Next\",comments:{reference:\"src/components/Modal/Modal.vue:154\"},msgstr:[\"İleri\"]},\"No results\":{msgid:\"No results\",comments:{reference:\"src/components/Multiselect/Multiselect.vue:169\\nsrc/components/MultiselectTags/MultiselectTags.vue:78\"},msgstr:[\"Sonuç yok\"]},\"Pause slideshow\":{msgid:\"Pause slideshow\",comments:{reference:\"src/components/Modal/Modal.vue:290\"},msgstr:[\"Slayt gösterisini duraklat\"]},Previous:{msgid:\"Previous\",comments:{reference:\"src/components/Modal/Modal.vue:134\"},msgstr:[\"Önceki\"]},\"Select a tag\":{msgid:\"Select a tag\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:100\"},msgstr:[\"Bir etiket seçin\"]},Settings:{msgid:\"Settings\",comments:{reference:\"src/components/AppNavigationSettings/AppNavigationSettings.vue:53\"},msgstr:[\"Ayarlar\"]},\"Start slideshow\":{msgid:\"Start slideshow\",comments:{reference:\"src/components/Modal/Modal.vue:290\"},msgstr:[\"Slayt gösterisini başlat\"]}}}}},{locale:\"zh_TW\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"byStarTW (pan93412) <pan93412@gmail.com>, 2020\",\"Language-Team\":\"Chinese (Taiwan) (https://www.transifex.com/nextcloud/teams/64236/zh_TW/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"zh_TW\",\"Plural-Forms\":\"nplurals=1; plural=0;\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nbyStarTW (pan93412) <pan93412@gmail.com>, 2020\\n\"},msgstr:[\"Last-Translator: byStarTW (pan93412) <pan93412@gmail.com>, 2020\\nLanguage-Team: Chinese (Taiwan) (https://www.transifex.com/nextcloud/teams/64236/zh_TW/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: zh_TW\\nPlural-Forms: nplurals=1; plural=0;\\n\"]},\"{tag} (invisible)\":{msgid:\"{tag} (invisible)\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:169\"},msgstr:[\"{tag} (隱藏)\"]},\"{tag} (restricted)\":{msgid:\"{tag} (restricted)\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:172\"},msgstr:[\"{tag} (受限)\"]},Choose:{msgid:\"Choose\",comments:{reference:\"src/components/ColorPicker/ColorPicker.vue:145\"},msgstr:[\"選擇\"]},Close:{msgid:\"Close\",comments:{reference:\"src/components/Modal/Modal.vue:109\"},msgstr:[\"關閉\"]},Next:{msgid:\"Next\",comments:{reference:\"src/components/Modal/Modal.vue:154\"},msgstr:[\"下一個\"]},\"No results\":{msgid:\"No results\",comments:{reference:\"src/components/Multiselect/Multiselect.vue:169\\nsrc/components/MultiselectTags/MultiselectTags.vue:78\"},msgstr:[\"無結果\"]},\"Pause slideshow\":{msgid:\"Pause slideshow\",comments:{reference:\"src/components/Modal/Modal.vue:290\"},msgstr:[\"暫停幻燈片\"]},Previous:{msgid:\"Previous\",comments:{reference:\"src/components/Modal/Modal.vue:134\"},msgstr:[\"上一個\"]},\"Select a tag\":{msgid:\"Select a tag\",comments:{reference:\"src/components/MultiselectTags/MultiselectTags.vue:100\"},msgstr:[\"選擇標籤\"]},Settings:{msgid:\"Settings\",comments:{reference:\"src/components/AppNavigationSettings/AppNavigationSettings.vue:53\"},msgstr:[\"設定\"]},\"Start slideshow\":{msgid:\"Start slideshow\",comments:{reference:\"src/components/Modal/Modal.vue:290\"},msgstr:[\"開始幻燈片\"]}}}}}].map((function(e){return n.addTranslation(e.locale,e.json)}));var o=n.build(),a=o.ngettext.bind(o),i=o.gettext.bind(o)},function(e,t,A){\"use strict\";A(6),A(24);var s=A(5),n=A.n(s);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */t.a={before:function(){this.$slots.default&&\"\"!==this.text.trim()||(n.a.util.warn(\"\".concat(this.$options.name,\" cannot be empty and requires a meaningful text content\"),this),this.$destroy(),this.$el.remove())},beforeUpdate:function(){this.text=this.getText()},data:function(){return{text:this.getText()}},computed:{isLongText:function(){return this.text&&this.text.trim().length>20}},methods:{getText:function(){return this.$slots.default?this.$slots.default[0].text.trim():\"\"}}}},function(e,t){e.exports=require(\"v-click-outside\")},function(e,t){e.exports=require(\"core-js/modules/es.array.iterator\")},function(e,t){e.exports=require(\"core-js/modules/es.string.iterator\")},function(e,t){e.exports=require(\"core-js/modules/web.dom-collections.iterator\")},function(e,t){e.exports=require(\"core-js/modules/es.regexp.exec\")},function(e,t){e.exports=require(\"core-js/modules/es.array.index-of\")},function(e,t){e.exports=require(\"core-js/modules/es.regexp.to-string\")},function(e,t,A){\"use strict\";A(3),A(19),A(21),A(28);t.a=function(e){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,e||5)}},function(e,t){e.exports=require(\"core-js/modules/web.url\")},function(e,t){e.exports=require(\"core-js/modules/es.string.trim\")},function(e,t){e.exports=require(\"core-js/modules/es.number.constructor\")},function(e,t,A){\"use strict\";A(16),A(3),A(17),A(18),A(23);var s=A(14),n=(A(6),function(e,t){for(var A=e.$parent;A;){if(A.$options.name===t)return A;A=A.$parent}});t.a={mixins:[s.a],props:{icon:{type:String,default:\"\"},title:{type:String,default:\"\"},closeAfterClick:{type:Boolean,default:!1}},computed:{isIconUrl:function(){try{return new URL(this.icon)}catch(e){return!1}}},methods:{onClick:function(e){if(this.$emit(\"click\",e),this.closeAfterClick){var t=n(this,\"Actions\");t&&t.closeMenu&&t.closeMenu()}}}}},function(e,t){e.exports=require(\"core-js/modules/es.array.concat\")},function(e,t){e.exports=require(\"core-js/modules/es.string.replace\")},,,,function(e,t){e.exports=require(\"core-js/modules/es.array.map\")},function(e,t,A){\"use strict\";var s=A(13);t.a={methods:{n:s.b,t:s.c}}},function(e,t,A){var s=A(80);\"string\"==typeof s&&(s=[[e.i,s,\"\"]]),s.locals&&(e.exports=s.locals);(0,A(2).default)(\"0a304400\",s,!0,{})},,,function(e,t,A){\"use strict\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */t.a=function(e){e.mounted?Array.isArray(e.mounted)||(e.mounted=[e.mounted]):e.mounted=[],e.mounted.push((function(){this.$el.setAttribute(\"data-v-\".concat(\"7702e5f\"),\"\")}))}},function(e,t,A){\"use strict\";A(27),A(52),A(20);var s=A(15),n=A(12),o=A(22),a=(A(77),function(e){var t=e.getBoundingClientRect(),A=document.documentElement.clientHeight,s=document.documentElement.clientWidth,n=Object.assign({});return n.top=t.top<0,n.left=t.left<0,n.bottom=t.bottom>A,n.right=t.right>s,n.any=n.top||n.left||n.bottom||n.right,n.all=n.top&&n.left&&n.bottom&&n.right,n.offsetY=n.top?t.top:n.bottom?t.bottom-A:0,n.offsetX=n.left?t.left:n.right?t.right-s:0,n}),i=(A(74),A(78),A(6),A(75),A(5)),r=A.n(i),c=function(e,t,A){void 0!==e&&e.forEach((function(s,n){var o=!s.componentOptions&&s.tag&&-1===t.indexOf(s.tag),a=!!s.componentOptions&&\"string\"==typeof s.componentOptions.tag&&-1===t.indexOf(s.componentOptions.tag);(o||a)&&(r.a.util.warn(\"\".concat(o?s.tag:s.componentOptions.tag,\" is not allowed inside the \").concat(A.$options.name,\" component\"),A),e.splice(n,1))}))},l=[\"ActionButton\",\"ActionCheckbox\",\"ActionInput\",\"ActionLink\",\"ActionRadio\",\"ActionRouter\",\"ActionSeparator\",\"ActionText\",\"ActionTextEditable\"],m={name:\"Actions\",directives:{ClickOutside:s.directive,tooltip:n.default},props:{open:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},menuAlign:{type:String,default:\"center\",validator:function(e){return[\"left\",\"center\",\"right\"].indexOf(e)>-1}},defaultIcon:{type:String,default:\"action-item__menutoggle--default-icon\"}},data:function(){return{actions:[],opened:this.open,focusIndex:0,randomId:\"menu-\"+Object(o.a)(),offsetX:0,offsetY:0,offsetYArrow:0,rotateArrow:!1,children:this.$children}},computed:{hasMultipleActions:function(){return this.actions.length>1},isValidSingleAction:function(){return 1===this.actions.length&&null!==this.firstActionElement},firstActionVNode:function(){return this.actions[0]},firstAction:function(){return this.children[0]?this.children[0]:{}},firstActionBinding:function(){if(this.firstActionVNode&&this.firstActionVNode.componentOptions){var e=this.firstActionVNode.componentOptions.tag;if(\"ActionLink\"===e)return{is:\"a\",href:this.firstAction.href,target:this.firstAction.target};if(\"ActionRouter\"===e)return{is:\"router-link\",to:this.firstAction.to,exact:this.firstAction.exact};if(\"ActionButton\"===e)return{is:\"button\"}}return null},firstActionEvent:function(){return this.firstActionVNode&&this.firstActionVNode.componentOptions&&this.firstActionVNode.componentOptions.listeners&&this.firstActionVNode.componentOptions.listeners.click},firstActionEventBinding:function(){return this.firstActionEvent?\"click\":null},firstActionClass:function(){var e=this.firstActionVNode&&this.firstActionVNode.data.staticClass,t=this.firstActionVNode&&this.firstActionVNode.data.class;return\"\".concat(e,\" \").concat(t)}},watch:{open:function(e){var t=this;this.opened=e,this.opened&&this.$nextTick((function(){t.onOpen()}))}},beforeMount:function(){this.initActions(),c(this.$slots.default,l,this)},beforeUpdate:function(){this.initActions(),c(this.$slots.default,l,this)},methods:{toggleMenu:function(e){var t=this;this.opened=!this.opened,this.opened?(this.$nextTick((function(){t.onOpen(),t.focusFirstAction()})),this.$emit(\"open\",e)):(this.offsetX=0,this.offsetY=0,this.offsetYArrow=0,this.rotateArrow=!1),this.$emit(\"update:open\",this.opened)},closeMenu:function(e){this.opened&&(this.$emit(\"update:open\",!1),this.$emit(\"close\",e)),this.opened=!1,this.offsetX=0,this.offsetY=0,this.offsetYArrow=0,this.rotateArrow=!1},onOpen:function(){if(this.offsetX=0,this.offsetY=0,this.offsetYArrow=0,this.rotateArrow=!1,\"center\"===this.menuAlign){var e=a(this.$refs.menu);(e.left||e.right)&&(this.offsetX=e.offsetX>0?Math.round(e.offsetX)+5:Math.round(e.offsetX)-5),e.bottom&&(this.offsetY=0-Math.round(this.$refs.menu.clientHeight)-42,this.offsetYArrow=Math.round(this.$refs.menu.clientHeight)+18,this.rotateArrow=!0)}},onMouseFocusAction:function(e){if(document.activeElement!==e.target){var t=e.target.closest(\"li\");if(t){var A=t.querySelector(\".focusable\");if(A){var s=this.$refs.menu.querySelectorAll(\".focusable\"),n=Array.prototype.indexOf.call(s,A);n>-1&&(this.focusIndex=n,this.focusAction())}}}},removeCurrentActive:function(){var e=this.$refs.menu.querySelector(\"li.active\");e&&e.classList.remove(\"active\")},focusAction:function(){var e=this.$refs.menu.querySelectorAll(\".focusable\")[this.focusIndex];if(e){var t=e.closest(\"li\");e.focus(),t&&(this.removeCurrentActive(),t.classList.add(\"active\"))}},focusPreviousAction:function(){this.focusIndex=Math.max(this.focusIndex-1,0),this.focusAction()},focusNextAction:function(){this.focusIndex=Math.min(this.focusIndex+1,this.$refs.menu.querySelectorAll(\".focusable\").length-1),this.focusAction()},focusFirstAction:function(){this.focusIndex=0,this.focusAction()},focusLastAction:function(){this.focusIndex=this.$el.querySelectorAll(\".focusable\").length-1,this.focusAction()},execFirstAction:function(e){this.firstActionEvent&&this.firstActionEvent(e)},initActions:function(){this.actions=(this.$slots.default||[]).filter((function(e){return!!e&&!!e.componentOptions}))}}},g=(A(79),A(0)),u=A(46),d=A.n(u),p=Object(g.a)(m,(function(){var e=this,t=e.$createElement,A=e._self._c||t;return e.isValidSingleAction&&!e.forceMenu?A(\"element\",e._b({directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:e.firstAction.text,expression:\"firstAction.text\",modifiers:{auto:!0}}],staticClass:\"action-item action-item--single\",class:[e.firstAction.icon,e.firstActionClass],attrs:{\"aria-label\":e.firstAction.text,rel:\"noreferrer noopener\"},on:e._d({},[e.firstActionEventBinding,e.execFirstAction])},\"element\",e.firstActionBinding,!1),[A(\"span\",{attrs:{\"aria-hidden\":!0,hidden:\"\"}},[e._t(\"default\")],2)]):A(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.hasMultipleActions||e.forceMenu,expression:\"hasMultipleActions || forceMenu\"}],staticClass:\"action-item\",class:{\"action-item--open\":e.opened},on:{keydown:[function(t){return!t.type.indexOf(\"key\")&&e._k(t.keyCode,\"up\",38,t.key,[\"Up\",\"ArrowUp\"])?null:t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),e.focusPreviousAction(t))},function(t){return!t.type.indexOf(\"key\")&&e._k(t.keyCode,\"down\",40,t.key,[\"Down\",\"ArrowDown\"])?null:t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),e.focusNextAction(t))},function(t){return!t.type.indexOf(\"key\")&&e._k(t.keyCode,\"tab\",9,t.key,\"Tab\")?null:t.shiftKey?(t.preventDefault(),e.focusPreviousAction(t)):null},function(t){return!t.type.indexOf(\"key\")&&e._k(t.keyCode,\"page-up\",void 0,t.key,void 0)?null:t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),e.focusFirstAction(t))},function(t){return!t.type.indexOf(\"key\")&&e._k(t.keyCode,\"page-down\",void 0,t.key,void 0)?null:t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),e.focusLastAction(t))},function(t){return!t.type.indexOf(\"key\")&&e._k(t.keyCode,\"esc\",27,t.key,[\"Esc\",\"Escape\"])?null:t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),e.closeMenu(t))}]}},[A(\"a\",{staticClass:\"icon action-item__menutoggle\",class:e.defaultIcon,attrs:{href:\"#\",\"aria-haspopup\":\"true\",\"aria-controls\":e.randomId,\"aria-expanded\":e.opened},on:{click:function(t){return t.preventDefault(),e.toggleMenu(t)},keydown:function(t){return!t.type.indexOf(\"key\")&&e._k(t.keyCode,\"space\",32,t.key,[\" \",\"Spacebar\"])?null:t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),e.toggleMenu(t))}}}),e._v(\" \"),e.opened?A(\"div\",{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:e.closeMenu,expression:\"closeMenu\"}],ref:\"menu\",staticClass:\"action-item__menu\",class:[\"menu-\"+e.menuAlign,{open:e.opened}],style:{marginRight:e.offsetX+\"px\",marginTop:e.offsetY+\"px\"},attrs:{tabindex:\"-1\"},on:{mousemove:e.onMouseFocusAction}},[A(\"div\",{staticClass:\"action-item__menu_arrow\",style:{transform:\"translateX(\"+e.offsetX+\"px) translateY(\"+e.offsetYArrow+\"px) \"+(e.rotateArrow?\" rotate(180deg)\":\"\")}}),e._v(\" \"),A(\"ul\",{attrs:{id:e.randomId,tabindex:\"-1\"}},[e._t(\"default\")],2)]):e._e()])}),[],!1,null,\"5acb084b\",null);\"function\"==typeof d.a&&d()(p);t.a=p.exports},function(e,t){e.exports=require(\"@nextcloud/l10n/dist/gettext\")},,function(e,t,A){var s=A(42);\"string\"==typeof s&&(s=[[e.i,s,\"\"]]),s.locals&&(e.exports=s.locals);(0,A(2).default)(\"941c791e\",s,!0,{})},function(e,t,A){(t=A(1)(!1)).push([e.i,\".vue-tooltip[data-v-7702e5f]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;white-space:normal;text-decoration:none;letter-spacing:normal;word-spacing:normal;text-transform:none;word-wrap:normal;word-break:normal;opacity:0;text-shadow:none;font-family:'Nunito', 'Open Sans', Frutiger, Calibri, 'Myriad Pro', Myriad, sans-serif;font-size:12px;font-weight:normal;font-style:normal;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-7702e5f][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-7702e5f][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-7702e5f][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-7702e5f][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-7702e5f][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-7702e5f][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-7702e5f] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-7702e5f] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\\n\",\"\"]),e.exports=t},function(e,t,A){var s=A(116);\"string\"==typeof s&&(s=[[e.i,s,\"\"]]),s.locals&&(e.exports=s.locals);(0,A(2).default)(\"4a580912\",s,!0,{})},,,function(e,t){},,,,,function(e,t,A){\"use strict\";var s={name:\"ActionButton\",mixins:[A(26).a],props:{disabled:{type:Boolean,default:!1}},computed:{isFocusable:function(){return!this.disabled}}},n=(A(115),A(0)),o=A(53),a=A.n(o),i=Object(n.a)(s,(function(){var e=this,t=e.$createElement,A=e._self._c||t;return A(\"li\",{class:{\"action--disabled\":e.disabled}},[A(\"button\",{staticClass:\"action-button\",class:{focusable:e.isFocusable},on:{click:e.onClick}},[A(\"span\",{staticClass:\"action-button__icon\",class:[e.isIconUrl?\"action-button__icon--url\":e.icon],style:{backgroundImage:e.isIconUrl?\"url(\"+e.icon+\")\":null}}),e._v(\" \"),e.title?A(\"p\",[A(\"strong\",{staticClass:\"action-button__title\"},[e._v(\"\\n\\t\\t\\t\\t\"+e._s(e.title)+\"\\n\\t\\t\\t\")]),e._v(\" \"),A(\"br\"),e._v(\" \"),A(\"span\",{staticClass:\"action-button__longtext\",domProps:{textContent:e._s(e.text)}})]):e.isLongText?A(\"p\",{staticClass:\"action-button__longtext\",domProps:{textContent:e._s(e.text)}}):A(\"span\",{staticClass:\"action-button__text\"},[e._v(e._s(e.text))]),e._v(\" \"),e._e()],2)])}),[],!1,null,\"42604de1\",null);\"function\"==typeof a.a&&a()(i);t.a=i.exports},function(e,t){e.exports=require(\"core-js/modules/es.array.filter\")},function(e,t){},,,,,function(e,t,A){\"use strict\";A.r(t);var s=A(38);A.d(t,\"Actions\",(function(){return s.a})),\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */t.default=s.a},,,,,,,,,,,,,,,,function(e,t){e.exports=require(\"core-js/modules/es.array.for-each\")},function(e,t){e.exports=require(\"core-js/modules/web.dom-collections.for-each\")},function(e,t){e.exports=require(\"hammerjs\")},function(e,t){e.exports=require(\"core-js/modules/es.object.assign\")},function(e,t){e.exports=require(\"core-js/modules/es.array.splice\")},function(e,t,A){\"use strict\";var s=A(34);A.n(s).a},function(e,t,A){var s=A(1),n=A(7),o=A(8),a=A(9),i=A(10),r=A(11);t=s(!1);var c=n(o),l=n(a),m=n(i),g=n(r);t.push([e.i,'@font-face{font-family:\"iconfont-vue-7702e5f\";src:url('+c+\");src:url(\"+c+') format(\"embedded-opentype\"),url('+l+') format(\"woff\"),url('+m+') format(\"truetype\"),url('+g+') format(\"svg\")}.icon[data-v-5acb084b]{font-style:normal;font-weight:400}.icon.arrow-left-double[data-v-5acb084b]:before{font-family:\"iconfont-vue-7702e5f\";content:\"\"}.icon.arrow-left[data-v-5acb084b]:before{font-family:\"iconfont-vue-7702e5f\";content:\"\"}.icon.arrow-right-double[data-v-5acb084b]:before{font-family:\"iconfont-vue-7702e5f\";content:\"\"}.icon.arrow-right[data-v-5acb084b]:before{font-family:\"iconfont-vue-7702e5f\";content:\"\"}.icon.checkmark[data-v-5acb084b]:before{font-family:\"iconfont-vue-7702e5f\";content:\"\"}.icon.close[data-v-5acb084b]:before{font-family:\"iconfont-vue-7702e5f\";content:\"\"}.icon.confirm[data-v-5acb084b]:before{font-family:\"iconfont-vue-7702e5f\";content:\"\"}.icon.menu[data-v-5acb084b]:before{font-family:\"iconfont-vue-7702e5f\";content:\"\"}.icon.more[data-v-5acb084b]:before{font-family:\"iconfont-vue-7702e5f\";content:\"\"}.icon.pause[data-v-5acb084b]:before{font-family:\"iconfont-vue-7702e5f\";content:\"\"}.icon.play[data-v-5acb084b]:before{font-family:\"iconfont-vue-7702e5f\";content:\"\"}.icon.triangle-s[data-v-5acb084b]:before{font-family:\"iconfont-vue-7702e5f\";content:\"\"}.action-item[data-v-5acb084b]{position:relative;display:inline-block}.action-item--single[data-v-5acb084b]:hover,.action-item--single[data-v-5acb084b]:focus,.action-item--single[data-v-5acb084b]:active,.action-item__menutoggle[data-v-5acb084b]:hover,.action-item__menutoggle[data-v-5acb084b]:focus,.action-item__menutoggle[data-v-5acb084b]:active{border-radius:22px;background-color:rgba(127,127,127,0.25) !important;opacity:1}.action-item.action-item--open .action-item__menutoggle[data-v-5acb084b]{opacity:1;border-radius:22px;background-color:rgba(127,127,127,0.25)}.action-item--single[data-v-5acb084b],.action-item__menutoggle[data-v-5acb084b]{box-sizing:border-box;width:44px;height:44px;margin:0;padding:14px;cursor:pointer;border:none;background-color:transparent}.action-item__menutoggle[data-v-5acb084b]{display:flex;align-items:center;justify-content:center;opacity:.7}.action-item__menutoggle[data-v-5acb084b]:before{content:\\'\\'}.action-item__menutoggle--default-icon[data-v-5acb084b]{font-size:16px}.action-item__menutoggle--default-icon[data-v-5acb084b]:before{font-family:\"iconfont-vue-7702e5f\";font-style:normal;font-weight:400;content:\"\"}.action-item--single[data-v-5acb084b]{opacity:.7}.action-item--single[data-v-5acb084b]:hover,.action-item--single[data-v-5acb084b]:focus,.action-item--single[data-v-5acb084b]:active{opacity:1}.action-item--single>[hidden][data-v-5acb084b]{display:none}.action-item--multiple[data-v-5acb084b]{position:relative}.action-item__menu[data-v-5acb084b]{position:absolute;z-index:110;right:50%;display:none;margin-bottom:10px;margin-top:-5px;transform:translateX(50%);color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background);filter:drop-shadow(0 1px 3px var(--color-box-shadow))}.action-item__menu ul[data-v-5acb084b]>:not(li){display:none}.action-item__menu.open[data-v-5acb084b]{display:block}.action-item__menu .action-item__menu_arrow[data-v-5acb084b]{position:absolute;right:50%;bottom:100%;width:0;height:0;margin-right:-9px;content:\\' \\';pointer-events:none;border:solid transparent;border-width:9px;border-bottom-color:var(--color-main-background)}.action-item__menu.menu-right[data-v-5acb084b]{right:0;left:auto;transform:none}.action-item__menu.menu-right .action-item__menu_arrow[data-v-5acb084b]{right:13px;margin-right:0}.action-item__menu.menu-left[data-v-5acb084b]{right:auto;left:0;transform:none}.action-item__menu.menu-left .action-item__menu_arrow[data-v-5acb084b]{right:auto;left:13px;margin-right:0}.ie .action-item__menu[data-v-5acb084b],.ie .action-item__menu .action-item__menu_arrow[data-v-5acb084b],.edge .action-item__menu[data-v-5acb084b],.edge .action-item__menu .action-item__menu_arrow[data-v-5acb084b]{border:1px solid var(--color-border)}\\n',\"\"]),e.exports=t},,,,function(e,t,A){\"use strict\";A.r(t);var s=A(51);A.d(t,\"ActionButton\",(function(){return s.a})),\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */t.default=s.a},,,,,,,,,,,,,,,,,,,,,,,function(e,t,A){var s=A(222);\"string\"==typeof s&&(s=[[e.i,s,\"\"]]),s.locals&&(e.exports=s.locals);(0,A(2).default)(\"29ae4cc3\",s,!0,{})},,,,,,,,function(e,t,A){\"use strict\";var s=A(43);A.n(s).a},function(e,t,A){(t=A(1)(!1)).push([e.i,\"li.active[data-v-42604de1]{box-shadow:inset 4px 0 var(--color-primary)}.action--disabled[data-v-42604de1]{pointer-events:none;opacity:.5}.action--disabled[data-v-42604de1]:hover,.action--disabled[data-v-42604de1]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-42604de1]{opacity:1 !important}.action-button[data-v-42604de1]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;cursor:pointer;white-space:nowrap;opacity:.7;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;line-height:44px}.action-button[data-v-42604de1]:hover,.action-button[data-v-42604de1]:focus{opacity:1}.action-button>span[data-v-42604de1]{cursor:pointer;white-space:nowrap}.action-button__icon[data-v-42604de1]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px}.action-button p[data-v-42604de1]{width:150px;padding:7px 0;margin:auto;cursor:pointer;text-align:left;line-height:1.6em}.action-button__longtext[data-v-42604de1]{cursor:pointer;white-space:pre-wrap}.action-button__title[data-v-42604de1]{font-weight:bold}\\n\",\"\"]),e.exports=t},,,,,,,,,,,,,function(e,t){},,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,A){\"use strict\";A.r(t);var s=A(37),n=(A(20),A(25),A(76)),o=A.n(n),a=A(58),i=A(84),r=A(33),c=A(13),l=A(12);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nfunction m(e,t){var A,s,n,o=t;this.start=function(){n=!0,s=new Date,A=setTimeout(e,o)},this.pause=function(){n=!1,clearTimeout(A),o-=new Date-s},this.clear=function(){n=!1,clearTimeout(A),o=0},this.getTimeLeft=function(){return n&&(this.pause(),this.start()),o},this.getStateRunning=function(){return n},this.start()}var g={name:\"Modal\",components:{Actions:a.default,ActionButton:i.default},directives:{tooltip:l.default},mixins:[r.a],props:{title:{type:String,default:\"\"},hasPrevious:{type:Boolean,default:!1},hasNext:{type:Boolean,default:!1},outTransition:{type:Boolean,default:!1},enableSlideshow:{type:Boolean,default:!1},clearViewDelay:{type:Number,default:5e3},slideshowDelay:{type:Number,default:3e3},slideshowPaused:{type:Boolean,default:!1},enableSwipe:{type:Boolean,default:!0},spreadNavigation:{type:Boolean,default:!1},size:{type:String,default:\"normal\",validator:function(e){return-1!==[\"normal\",\"large\",\"full\"].indexOf(e)}},canClose:{type:Boolean,default:!0},dark:{type:Boolean,default:!1}},data:function(){return{mc:null,showModal:!1,clearView:!1,clearViewTimeout:null,playing:!1,slideshowTimeout:null}},computed:{modalTransitionName:function(){return\"modal-\".concat(this.outTransition?\"out\":\"in\")},playPauseTitle:function(){return this.playing?Object(c.default)(\"Pause slideshow\"):Object(c.default)(\"Start slideshow\")}},watch:{slideshowPaused:function(e){this.slideshowTimeout&&(e?this.slideshowTimeout.pause():this.slideshowTimeout.start())}},beforeMount:function(){window.addEventListener(\"keydown\",this.handleKeydown)},beforeDestroy:function(){window.removeEventListener(\"keydown\",this.handleKeydown)},mounted:function(){var e=this;this.showModal=!0,this.handleMouseMove(),this.mc=new o.a(this.$refs.mask),this.mc.on(\"swipeleft swiperight\",(function(t){e.handleSwipe(t)})),document.body.insertBefore(this.$el,document.body.lastChild)},unmounted:function(){this.mc.off(\"swipeleft swiperight\"),this.mc.destroy()},methods:{previous:function(e){this.hasPrevious&&(e&&this.resetSlideshow(),this.$emit(\"previous\",e))},next:function(e){this.hasNext&&(e&&this.resetSlideshow(),this.$emit(\"next\",e))},close:function(e){var t=this;this.canClose&&(this.showModal=!1,setTimeout((function(){t.$emit(\"close\",e)}),300))},handleKeydown:function(e){switch(e.keyCode){case 37:this.previous(e);break;case 13:case 39:this.next(e);break;case 27:this.close(e)}},handleSwipe:function(e){this.enableSwipe&&(\"swipeleft\"===e.type?this.next(e):\"swiperight\"===e.type&&this.previous(e))},handleMouseMove:function(){var e=this;this.clearViewDelay>0&&(this.clearView=!1,clearTimeout(this.clearViewTimeout),this.clearViewTimeout=setTimeout((function(){e.clearView=!0}),this.clearViewDelay))},togglePlayPause:function(){this.playing=!this.playing,this.playing?this.handleSlideshow():this.clearSlideshowTimeout()},resetSlideshow:function(){this.playing=!this.playing,this.clearSlideshowTimeout(),this.$nextTick((function(){this.togglePlayPause()}))},handleSlideshow:function(){var e=this;this.playing=!0,this.hasNext?this.slideshowTimeout=new m((function(){e.next(),e.handleSlideshow()}),this.slideshowDelay):(this.playing=!1,this.clearSlideshowTimeout())},clearSlideshowTimeout:function(){this.slideshowTimeout&&this.slideshowTimeout.clear()}}},u=(A(221),A(0)),d=A(129),p=A.n(d),f=Object(u.a)(g,(function(){var e=this,t=e.$createElement,A=e._self._c||t;return A(\"transition\",{attrs:{name:\"fade\"}},[A(\"div\",{ref:\"mask\",staticClass:\"modal-mask\",class:{\"modal-mask--dark\":e.dark},on:{click:e.handleMouseMove,mousemove:e.handleMouseMove,touchmove:e.handleMouseMove}},[A(\"transition\",{attrs:{name:\"fade-visibility\"}},[A(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:!e.clearView,expression:\"!clearView\"}],staticClass:\"modal-header\",class:{invisible:e.clearView}},[\"\"!==e.title.trim()?A(\"div\",{staticClass:\"modal-title\"},[e._v(\"\\n\\t\\t\\t\\t\\t\"+e._s(e.title)+\"\\n\\t\\t\\t\\t\")]):e._e(),e._v(\" \"),A(\"div\",{staticClass:\"icons-menu\"},[e.hasNext&&e.enableSlideshow?A(\"button\",{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:e.playPauseTitle,expression:\"playPauseTitle\",modifiers:{auto:!0}}],staticClass:\"play-pause\",class:{\"play-pause--paused\":e.slideshowPaused},on:{click:e.togglePlayPause}},[A(\"div\",{class:[e.playing?\"icon-pause\":\"icon-play\"]},[A(\"span\",{staticClass:\"hidden-visually\"},[e._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+e._s(e.playPauseTitle)+\"\\n\\t\\t\\t\\t\\t\\t\\t\")])]),e._v(\" \"),e.playing?A(\"svg\",{staticClass:\"progress-ring\",attrs:{height:\"50\",width:\"50\"}},[A(\"circle\",{staticClass:\"progress-ring__circle\",attrs:{stroke:\"white\",\"stroke-width\":\"2\",fill:\"transparent\",r:\"15\",cx:\"25\",cy:\"25\"}})]):e._e()]):e._e(),e._v(\" \"),A(\"Actions\",{staticClass:\"header-actions\"},[e._t(\"actions\")],2),e._v(\" \"),e.canClose?A(\"Actions\",{staticClass:\"header-close\"},[A(\"ActionButton\",{attrs:{icon:\"icon-close\"},on:{click:e.close}},[e._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+e._s(e.t(\"Close\"))+\"\\n\\t\\t\\t\\t\\t\\t\")])],1):e._e()],1)])]),e._v(\" \"),A(\"transition\",{attrs:{name:e.modalTransitionName}},[A(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.showModal,expression:\"showModal\"}],staticClass:\"modal-wrapper\",class:[\"modal-wrapper--\"+e.size,e.spreadNavigation?\"modal-wrapper--spread-navigation\":\"\"],on:{click:function(t){return t.target!==t.currentTarget?null:e.close(t)}}},[A(\"transition\",{attrs:{name:\"fade-visibility\"}},[A(\"a\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.hasPrevious&&!e.clearView,expression:\"hasPrevious && !clearView\"}],staticClass:\"prev\",class:{invisible:e.clearView||!e.hasPrevious},on:{click:e.previous}},[A(\"div\",{staticClass:\"icon icon-previous\"},[A(\"span\",{staticClass:\"hidden-visually\"},[e._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+e._s(e.t(\"Previous\"))+\"\\n\\t\\t\\t\\t\\t\\t\\t\")])])])]),e._v(\" \"),A(\"div\",{staticClass:\"modal-container\"},[e._t(\"default\")],2),e._v(\" \"),A(\"transition\",{attrs:{name:\"fade-visibility\"}},[A(\"a\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.hasNext&&!e.clearView,expression:\"hasNext && !clearView\"}],staticClass:\"next\",class:{invisible:e.clearView||!e.hasNext},on:{click:e.next}},[A(\"div\",{staticClass:\"icon icon-next\"},[A(\"span\",{staticClass:\"hidden-visually\"},[e._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+e._s(e.t(\"Next\"))+\"\\n\\t\\t\\t\\t\\t\\t\\t\")])])])])],1)])],1)])}),[],!1,null,\"6d05ea16\",null);\"function\"==typeof p.a&&p()(f);var v=f.exports;A.d(t,\"Modal\",(function(){return v})),\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nObject(s.a)(v);t.default=v},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,A){\"use strict\";var s=A(107);A.n(s).a},function(e,t,A){var s=A(1),n=A(7),o=A(8),a=A(9),i=A(10),r=A(11);t=s(!1);var c=n(o),l=n(a),m=n(i),g=n(r);t.push([e.i,'@font-face{font-family:\"iconfont-vue-7702e5f\";src:url('+c+\");src:url(\"+c+') format(\"embedded-opentype\"),url('+l+') format(\"woff\"),url('+m+') format(\"truetype\"),url('+g+') format(\"svg\")}.icon[data-v-6d05ea16]{font-style:normal;font-weight:400}.icon.arrow-left-double[data-v-6d05ea16]:before{font-family:\"iconfont-vue-7702e5f\";content:\"\"}.icon.arrow-left[data-v-6d05ea16]:before{font-family:\"iconfont-vue-7702e5f\";content:\"\"}.icon.arrow-right-double[data-v-6d05ea16]:before{font-family:\"iconfont-vue-7702e5f\";content:\"\"}.icon.arrow-right[data-v-6d05ea16]:before{font-family:\"iconfont-vue-7702e5f\";content:\"\"}.icon.checkmark[data-v-6d05ea16]:before{font-family:\"iconfont-vue-7702e5f\";content:\"\"}.icon.close[data-v-6d05ea16]:before{font-family:\"iconfont-vue-7702e5f\";content:\"\"}.icon.confirm[data-v-6d05ea16]:before{font-family:\"iconfont-vue-7702e5f\";content:\"\"}.icon.menu[data-v-6d05ea16]:before{font-family:\"iconfont-vue-7702e5f\";content:\"\"}.icon.more[data-v-6d05ea16]:before{font-family:\"iconfont-vue-7702e5f\";content:\"\"}.icon.pause[data-v-6d05ea16]:before{font-family:\"iconfont-vue-7702e5f\";content:\"\"}.icon.play[data-v-6d05ea16]:before{font-family:\"iconfont-vue-7702e5f\";content:\"\"}.icon.triangle-s[data-v-6d05ea16]:before{font-family:\"iconfont-vue-7702e5f\";content:\"\"}.modal-mask[data-v-6d05ea16]{position:fixed;z-index:9998;top:0;left:0;display:block;width:100%;height:100%;background-color:rgba(0,0,0,0.5)}.modal-mask--dark[data-v-6d05ea16]{background-color:rgba(0,0,0,0.92)}.modal-header[data-v-6d05ea16]{position:absolute;z-index:10001;top:0;right:0;left:0;display:flex !important;align-items:center;justify-content:center;width:100%;height:50px;transition:opacity 250ms, visibility 250ms}.modal-header.invisible[style*=\\'display:none\\'][data-v-6d05ea16],.modal-header.invisible[style*=\\'display: none\\'][data-v-6d05ea16]{visibility:hidden}.modal-header .modal-title[data-v-6d05ea16]{overflow-x:hidden;box-sizing:border-box;width:100%;padding:0 132px 0 12px;transition:padding ease 100ms;white-space:nowrap;text-overflow:ellipsis;color:#fff;font-size:14px}@media only screen and (min-width: 512px){.modal-header .modal-title[data-v-6d05ea16]{text-align:center;padding-left:132px}}.modal-header .icons-menu[data-v-6d05ea16]{position:absolute;right:0;display:flex;align-items:center;justify-content:flex-end}.modal-header .icons-menu .icon-close[data-v-6d05ea16]{box-sizing:border-box;margin:3px;padding:10px 11px;color:#fff;background-image:none;font-size:23px}.modal-header .icons-menu .icon-close[data-v-6d05ea16]:before{font-family:\"iconfont-vue-7702e5f\";font-style:normal;font-weight:400;content:\"\"}.modal-header .icons-menu .play-pause[data-v-6d05ea16]{position:relative;width:50px;height:50px;margin:0;padding:0;cursor:pointer;color:white;border:none;background-color:transparent;font-size:22px}.modal-header .icons-menu .play-pause:hover .icon-play[data-v-6d05ea16],.modal-header .icons-menu .play-pause:hover .icon-pause[data-v-6d05ea16],.modal-header .icons-menu .play-pause:focus .icon-play[data-v-6d05ea16],.modal-header .icons-menu .play-pause:focus .icon-pause[data-v-6d05ea16]{opacity:1;border-radius:22px;background-color:rgba(127,127,127,0.25)}.modal-header .icons-menu .play-pause .icon-play[data-v-6d05ea16],.modal-header .icons-menu .play-pause .icon-pause[data-v-6d05ea16]{box-sizing:border-box;width:44px;height:44px;margin:3px;opacity:.7;background-image:none;cursor:pointer}.modal-header .icons-menu .play-pause .icon-play[data-v-6d05ea16]{padding:11px 13px}.modal-header .icons-menu .play-pause .icon-play[data-v-6d05ea16]:before{font-family:\"iconfont-vue-7702e5f\";font-style:normal;font-weight:400;content:\"\"}.modal-header .icons-menu .play-pause .icon-pause[data-v-6d05ea16]{padding:12px;font-size:19.5px}.modal-header .icons-menu .play-pause .icon-pause[data-v-6d05ea16]:before{font-family:\"iconfont-vue-7702e5f\";font-style:normal;font-weight:400;content:\"\"}.modal-header .icons-menu .header-actions[data-v-6d05ea16]{margin:3px;color:white}.modal-header .icons-menu .action-item--single[data-v-6d05ea16]{box-sizing:border-box;width:44px;height:44px;cursor:pointer;background-position:center;background-size:22px}.modal-header .icons-menu[data-v-6d05ea16] .action-item__menutoggle{padding:13px 11px;color:#fff;font-size:22px}.modal-wrapper[data-v-6d05ea16]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%}.modal-wrapper .prev[data-v-6d05ea16],.modal-wrapper .next[data-v-6d05ea16]{z-index:10000;display:flex !important;align-items:center;justify-content:center;width:15%;min-width:60px;height:100%;transition:opacity 250ms, visibility 250ms}.modal-wrapper .prev.invisible[style*=\\'display:none\\'][data-v-6d05ea16],.modal-wrapper .prev.invisible[style*=\\'display: none\\'][data-v-6d05ea16],.modal-wrapper .next.invisible[style*=\\'display:none\\'][data-v-6d05ea16],.modal-wrapper .next.invisible[style*=\\'display: none\\'][data-v-6d05ea16]{visibility:hidden}.modal-wrapper .icon-next[data-v-6d05ea16],.modal-wrapper .icon-previous[data-v-6d05ea16]{box-sizing:border-box;width:44px;height:44px;padding:12px 11px;color:white;border-radius:22px;background-image:none;font-size:24px}.modal-wrapper .icon-previous[data-v-6d05ea16]:before{font-family:\"iconfont-vue-7702e5f\";font-style:normal;font-weight:400;content:\"\"}.modal-wrapper .icon-next[data-v-6d05ea16]:before{font-family:\"iconfont-vue-7702e5f\";font-style:normal;font-weight:400;content:\"\"}.modal-wrapper .modal-container[data-v-6d05ea16]{display:block;overflow:hidden;padding:0;transition:transform 300ms ease;border-radius:var(--border-radius-large);background-color:var(--color-main-background);box-shadow:0 0 40px rgba(0,0,0,0.2)}.modal-wrapper:not(.modal-wrapper--large):not(.modal-wrapper--full) .modal-container[data-v-6d05ea16]{max-width:900px;max-height:80%}.modal-wrapper--full .modal-container[data-v-6d05ea16]{max-width:100%;max-height:100%;border-radius:0}.modal-wrapper--full .prev[data-v-6d05ea16],.modal-wrapper--full .next[data-v-6d05ea16],.modal-wrapper--spread-navigation .prev[data-v-6d05ea16],.modal-wrapper--spread-navigation .next[data-v-6d05ea16]{position:absolute;width:10%}.modal-wrapper--full .prev[data-v-6d05ea16],.modal-wrapper--spread-navigation .prev[data-v-6d05ea16]{left:0}.modal-wrapper--full .next[data-v-6d05ea16],.modal-wrapper--spread-navigation .next[data-v-6d05ea16]{right:0}.modal-wrapper--large .modal-container[data-v-6d05ea16]{max-width:70%;max-height:90%}.modal-wrapper--large .prev[data-v-6d05ea16],.modal-wrapper--large .next[data-v-6d05ea16]{width:10%}.fade-enter-active[data-v-6d05ea16],.fade-leave-active[data-v-6d05ea16]{transition:opacity 250ms}.fade-enter[data-v-6d05ea16],.fade-leave-to[data-v-6d05ea16]{opacity:0}.fade-visibility-enter[data-v-6d05ea16],.fade-visibility-leave-to[data-v-6d05ea16]{visibility:hidden;opacity:0}.modal-in-enter-active[data-v-6d05ea16],.modal-in-leave-active[data-v-6d05ea16],.modal-out-enter-active[data-v-6d05ea16],.modal-out-leave-active[data-v-6d05ea16]{transition:opacity 250ms}.modal-in-enter[data-v-6d05ea16],.modal-in-leave-to[data-v-6d05ea16],.modal-out-enter[data-v-6d05ea16],.modal-out-leave-to[data-v-6d05ea16]{opacity:0}.modal-in-enter .modal-container[data-v-6d05ea16],.modal-in-leave-to .modal-container[data-v-6d05ea16]{transform:scale(0.9)}.modal-out-enter .modal-container[data-v-6d05ea16],.modal-out-leave-to .modal-container[data-v-6d05ea16]{transform:scale(1.1)}.modal-mask .play-pause .progress-ring[data-v-6d05ea16]{position:absolute;top:0;left:0;transform:rotate(-90deg)}.modal-mask .play-pause .progress-ring .progress-ring__circle[data-v-6d05ea16]{transition:100ms stroke-dashoffset;transform-origin:50% 50%;animation:progressring-data-v-6d05ea16 linear 3s infinite;stroke-linecap:round;stroke-dashoffset:94.24778;stroke-dasharray:94.24778}.modal-mask .play-pause--paused .icon-pause[data-v-6d05ea16]{animation:breath-data-v-6d05ea16 2s cubic-bezier(0.4, 0, 0.2, 1) infinite}.modal-mask .play-pause--paused .progress-ring__circle[data-v-6d05ea16]{animation-play-state:paused !important}@keyframes progressring-data-v-6d05ea16{from{stroke-dashoffset:94.24778}to{stroke-dashoffset:0}}@keyframes breath-data-v-6d05ea16{0%{opacity:1}50%{opacity:0}100%{opacity:1}}\\n',\"\"]),e.exports=t}])}));\n//# sourceMappingURL=Modal.js.map","\"use strict\";\n\nrequire(\"core-js/modules/es.object.to-string\");\n\nrequire(\"core-js/modules/es.regexp.exec\");\n\nrequire(\"core-js/modules/es.regexp.to-string\");\n\nrequire(\"core-js/modules/es.string.replace\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getGettextBuilder = getGettextBuilder;\n\nvar _nodeGettext = _interopRequireDefault(require(\"node-gettext\"));\n\nvar _ = require(\".\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar GettextBuilder =\n/*#__PURE__*/\nfunction () {\n function GettextBuilder() {\n _classCallCheck(this, GettextBuilder);\n\n this.translations = {};\n }\n\n _createClass(GettextBuilder, [{\n key: \"setLanguage\",\n value: function setLanguage(language) {\n this.locale = language;\n return this;\n }\n }, {\n key: \"detectLocale\",\n value: function detectLocale() {\n return this.setLanguage((0, _.getLanguage)());\n }\n }, {\n key: \"addTranslation\",\n value: function addTranslation(language, data) {\n this.translations[language] = data;\n return this;\n }\n }, {\n key: \"build\",\n value: function build() {\n return new GettextWrapper(this.locale || 'en', this.translations);\n }\n }]);\n\n return GettextBuilder;\n}();\n\nvar GettextWrapper =\n/*#__PURE__*/\nfunction () {\n function GettextWrapper(locale, data) {\n _classCallCheck(this, GettextWrapper);\n\n this.gt = new _nodeGettext.default();\n\n for (var key in data) {\n this.gt.addTranslations(key, 'messages', data[key]);\n }\n\n this.gt.setLocale(locale);\n }\n\n _createClass(GettextWrapper, [{\n key: \"subtitudePlaceholders\",\n value: function subtitudePlaceholders(translated, vars) {\n return translated.replace(/{([^{}]*)}/g, function (a, b) {\n var r = vars[b];\n\n if (typeof r === 'string' || typeof r === 'number') {\n return r.toString();\n } else {\n return a;\n }\n });\n }\n }, {\n key: \"gettext\",\n value: function gettext(original) {\n var placeholders = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return this.subtitudePlaceholders(this.gt.gettext(original), placeholders);\n }\n }, {\n key: \"ngettext\",\n value: function ngettext(singular, plural, count) {\n var placeholders = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n return this.subtitudePlaceholders(this.gt.ngettext(singular, plural, count).replace(/%n/g, count.toString()), placeholders);\n }\n }]);\n\n return GettextWrapper;\n}();\n\nfunction getGettextBuilder() {\n return new GettextBuilder();\n}\n//# sourceMappingURL=gettext.js.map","'use strict';\n\nvar get = require('lodash.get');\nvar plurals = require('./plurals');\n\nmodule.exports = Gettext;\n\n/**\n * Creates and returns a new Gettext instance.\n *\n * @constructor\n * @param {Object} [options] A set of options\n * @param {Boolean} options.debug Whether to output debug info into the\n * console.\n * @return {Object} A Gettext instance\n */\nfunction Gettext(options) {\n options = options || {};\n\n this.catalogs = {};\n this.locale = '';\n this.domain = 'messages';\n\n this.listeners = [];\n\n // Set debug flag\n if ('debug' in options) {\n this.debug = options.debug === true;\n }\n else if (typeof process !== 'undefined' && process.env && process.env.NODE_ENV) {\n this.debug = process.env.NODE_ENV !== 'production';\n }\n else {\n this.debug = false;\n }\n}\n\n/**\n * Adds an event listener.\n *\n * @param {String} eventName An event name\n * @param {Function} callback An event handler function\n */\nGettext.prototype.on = function(eventName, callback) {\n this.listeners.push({\n eventName: eventName,\n callback: callback\n });\n};\n\n/**\n * Removes an event listener.\n *\n * @param {String} eventName An event name\n * @param {Function} callback A previously registered event handler function\n */\nGettext.prototype.off = function(eventName, callback) {\n this.listeners = this.listeners.filter(function(listener) {\n return (\n listener.eventName === eventName &&\n listener.callback === callback\n ) === false;\n });\n};\n\n/**\n * Emits an event to all registered event listener.\n *\n * @private\n * @param {String} eventName An event name\n * @param {any} eventData Data to pass to event listeners\n */\nGettext.prototype.emit = function(eventName, eventData) {\n for (var i = 0; i < this.listeners.length; i++) {\n var listener = this.listeners[i];\n if (listener.eventName === eventName) {\n listener.callback(eventData);\n }\n }\n};\n\n/**\n * Logs a warning to the console if debug mode is enabled.\n *\n * @ignore\n * @param {String} message A warning message\n */\nGettext.prototype.warn = function(message) {\n if (this.debug) {\n console.warn(message);\n }\n\n this.emit('error', message);\n};\n\n/**\n * Stores a set of translations in the set of gettext\n * catalogs.\n *\n * @example\n * gt.addTranslations('sv-SE', 'messages', translationsObject)\n *\n * @param {String} locale A locale string\n * @param {String} domain A domain name\n * @param {Object} translations An object of gettext-parser JSON shape\n */\nGettext.prototype.addTranslations = function(locale, domain, translations) {\n if (!this.catalogs[locale]) {\n this.catalogs[locale] = {};\n }\n\n this.catalogs[locale][domain] = translations;\n};\n\n/**\n * Sets the locale to get translated messages for.\n *\n * @example\n * gt.setLocale('sv-SE')\n *\n * @param {String} locale A locale\n */\nGettext.prototype.setLocale = function(locale) {\n if (typeof locale !== 'string') {\n this.warn(\n 'You called setLocale() with an argument of type ' + (typeof locale) + '. ' +\n 'The locale must be a string.'\n );\n return;\n }\n\n if (locale.trim() === '') {\n this.warn('You called setLocale() with an empty value, which makes little sense.');\n }\n\n if (!this.catalogs[locale]) {\n this.warn('You called setLocale() with \"' + locale + '\", but no translations for that locale has been added.');\n }\n\n this.locale = locale;\n};\n\n/**\n * Sets the default gettext domain.\n *\n * @example\n * gt.setTextDomain('domainname')\n *\n * @param {String} domain A gettext domain name\n */\nGettext.prototype.setTextDomain = function(domain) {\n if (typeof domain !== 'string') {\n this.warn(\n 'You called setTextDomain() with an argument of type ' + (typeof domain) + '. ' +\n 'The domain must be a string.'\n );\n return;\n }\n\n if (domain.trim() === '') {\n this.warn('You called setTextDomain() with an empty `domain` value.');\n }\n\n this.domain = domain;\n};\n\n/**\n * Translates a string using the default textdomain\n *\n * @example\n * gt.gettext('Some text')\n *\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.gettext = function(msgid) {\n return this.dnpgettext(this.domain, '', msgid);\n};\n\n/**\n * Translates a string using a specific domain\n *\n * @example\n * gt.dgettext('domainname', 'Some text')\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dgettext = function(domain, msgid) {\n return this.dnpgettext(domain, '', msgid);\n};\n\n/**\n * Translates a plural string using the default textdomain\n *\n * @example\n * gt.ngettext('One thing', 'Many things', numberOfThings)\n *\n * @param {String} msgid String to be translated when count is not plural\n * @param {String} msgidPlural String to be translated when count is plural\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.ngettext = function(msgid, msgidPlural, count) {\n return this.dnpgettext(this.domain, '', msgid, msgidPlural, count);\n};\n\n/**\n * Translates a plural string using a specific textdomain\n *\n * @example\n * gt.dngettext('domainname', 'One thing', 'Many things', numberOfThings)\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgid String to be translated when count is not plural\n * @param {String} msgidPlural String to be translated when count is plural\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dngettext = function(domain, msgid, msgidPlural, count) {\n return this.dnpgettext(domain, '', msgid, msgidPlural, count);\n};\n\n/**\n * Translates a string from a specific context using the default textdomain\n *\n * @example\n * gt.pgettext('sports', 'Back')\n *\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.pgettext = function(msgctxt, msgid) {\n return this.dnpgettext(this.domain, msgctxt, msgid);\n};\n\n/**\n * Translates a string from a specific context using s specific textdomain\n *\n * @example\n * gt.dpgettext('domainname', 'sports', 'Back')\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dpgettext = function(domain, msgctxt, msgid) {\n return this.dnpgettext(domain, msgctxt, msgid);\n};\n\n/**\n * Translates a plural string from a specific context using the default textdomain\n *\n * @example\n * gt.npgettext('sports', 'Back', '%d backs', numberOfBacks)\n *\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated when count is not plural\n * @param {String} msgidPlural String to be translated when count is plural\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.npgettext = function(msgctxt, msgid, msgidPlural, count) {\n return this.dnpgettext(this.domain, msgctxt, msgid, msgidPlural, count);\n};\n\n/**\n * Translates a plural string from a specifi context using a specific textdomain\n *\n * @example\n * gt.dnpgettext('domainname', 'sports', 'Back', '%d backs', numberOfBacks)\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @param {String} msgidPlural If no translation was found, return this on count!=1\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dnpgettext = function(domain, msgctxt, msgid, msgidPlural, count) {\n var defaultTranslation = msgid;\n var translation;\n var index;\n\n msgctxt = msgctxt || '';\n\n if (!isNaN(count) && count !== 1) {\n defaultTranslation = msgidPlural || msgid;\n }\n\n translation = this._getTranslation(domain, msgctxt, msgid);\n\n if (translation) {\n if (typeof count === 'number') {\n var pluralsFunc = plurals[Gettext.getLanguageCode(this.locale)].pluralsFunc;\n index = pluralsFunc(count);\n if (typeof index === 'boolean') {\n index = index ? 1 : 0;\n }\n } else {\n index = 0;\n }\n\n return translation.msgstr[index] || defaultTranslation;\n }\n else {\n this.warn('No translation was found for msgid \"' + msgid + '\" in msgctxt \"' + msgctxt + '\" and domain \"' + domain + '\"');\n }\n\n return defaultTranslation;\n};\n\n/**\n * Retrieves comments object for a translation. The comments object\n * has the shape `{ translator, extracted, reference, flag, previous }`.\n *\n * @example\n * const comment = gt.getComment('domainname', 'sports', 'Backs')\n *\n * @private\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {Object} Comments object or false if not found\n */\nGettext.prototype.getComment = function(domain, msgctxt, msgid) {\n var translation;\n\n translation = this._getTranslation(domain, msgctxt, msgid);\n if (translation) {\n return translation.comments || {};\n }\n\n return {};\n};\n\n/**\n * Retrieves translation object from the domain and context\n *\n * @private\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {Object} Translation object or false if not found\n */\nGettext.prototype._getTranslation = function(domain, msgctxt, msgid) {\n msgctxt = msgctxt || '';\n\n return get(this.catalogs, [this.locale, domain, 'translations', msgctxt, msgid]);\n};\n\n/**\n * Returns the language code part of a locale\n *\n * @example\n * Gettext.getLanguageCode('sv-SE')\n * // -> \"sv\"\n *\n * @private\n * @param {String} locale A case-insensitive locale string\n * @returns {String} A language code\n */\nGettext.getLanguageCode = function(locale) {\n return locale.split(/[\\-_]/)[0].toLowerCase();\n};\n\n/* C-style aliases */\n\n/**\n * C-style alias for [setTextDomain](#gettextsettextdomaindomain)\n *\n * @see Gettext#setTextDomain\n */\nGettext.prototype.textdomain = function(domain) {\n if (this.debug) {\n console.warn('textdomain(domain) was used to set locales in node-gettext v1. ' +\n 'Make sure you are using it for domains, and switch to setLocale(locale) if you are not.\\n\\n ' +\n 'To read more about the migration from node-gettext v1 to v2, ' +\n 'see https://github.com/alexanderwallin/node-gettext/#migrating-from-1x-to-2x\\n\\n' +\n 'This warning will be removed in the final 2.0.0');\n }\n\n this.setTextDomain(domain);\n};\n\n/**\n * C-style alias for [setLocale](#gettextsetlocalelocale)\n *\n * @see Gettext#setLocale\n */\nGettext.prototype.setlocale = function(locale) {\n this.setLomain(locale);\n};\n\n/* Deprecated functions */\n\n/**\n * This function will be removed in the final 2.0.0 release.\n *\n * @deprecated\n */\nGettext.prototype.addTextdomain = function() {\n console.error('addTextdomain() is deprecated.\\n\\n' +\n '* To add translations, use addTranslations()\\n' +\n '* To set the default domain, use setTextDomain() (or its alias textdomain())\\n' +\n '\\n' +\n 'To read more about the migration from node-gettext v1 to v2, ' +\n 'see https://github.com/alexanderwallin/node-gettext/#migrating-from-1x-to-2x');\n};\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n symbolTag = '[object Symbol]';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n reLeadingDot = /^\\./,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\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 match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\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\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\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\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/** 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/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\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/** Built-in value references. */\nvar Symbol = root.Symbol,\n splice = arrayProto.splice;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\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 ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\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}\n\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 return this.has(key) && delete this.__data__[key];\n}\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\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\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 data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\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\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 ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\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}\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 return true;\n}\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\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\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 data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\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\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 ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\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.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\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 return getMapData(this, key)['delete'](key);\n}\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\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\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 getMapData(this, key).set(key, value);\n return this;\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\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\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\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) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n return isArray(value) ? value : stringToPath(value);\n}\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\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\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\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\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\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoize(function(string) {\n string = toString(string);\n\n var result = [];\n if (reLeadingDot.test(string)) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, string) {\n result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\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\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\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\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\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 // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\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 && (type == 'object' || type == 'function');\n}\n\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 && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or 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 a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","'use strict';\n\nmodule.exports = {\n ach: {\n name: 'Acholi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n af: {\n name: 'Afrikaans',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ak: {\n name: 'Akan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n am: {\n name: 'Amharic',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n an: {\n name: 'Aragonese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ar: {\n name: 'Arabic',\n examples: [{\n plural: 0,\n sample: 0\n }, {\n plural: 1,\n sample: 1\n }, {\n plural: 2,\n sample: 2\n }, {\n plural: 3,\n sample: 3\n }, {\n plural: 4,\n sample: 11\n }, {\n plural: 5,\n sample: 100\n }],\n nplurals: 6,\n pluralsText: 'nplurals = 6; plural = (n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5)',\n pluralsFunc: function(n) {\n return (n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n }\n },\n arn: {\n name: 'Mapudungun',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n ast: {\n name: 'Asturian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ay: {\n name: 'Aymará',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n az: {\n name: 'Azerbaijani',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n be: {\n name: 'Belarusian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n bg: {\n name: 'Bulgarian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n bn: {\n name: 'Bengali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n bo: {\n name: 'Tibetan',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n br: {\n name: 'Breton',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n brx: {\n name: 'Bodo',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n bs: {\n name: 'Bosnian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n ca: {\n name: 'Catalan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n cgg: {\n name: 'Chiga',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n cs: {\n name: 'Czech',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2);\n }\n },\n csb: {\n name: 'Kashubian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n cy: {\n name: 'Welsh',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 8\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 2 ? 1 : (n !== 8 && n !== 11) ? 2 : 3)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 2 ? 1 : (n !== 8 && n !== 11) ? 2 : 3);\n }\n },\n da: {\n name: 'Danish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n de: {\n name: 'German',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n doi: {\n name: 'Dogri',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n dz: {\n name: 'Dzongkha',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n el: {\n name: 'Greek',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n en: {\n name: 'English',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n eo: {\n name: 'Esperanto',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n es: {\n name: 'Spanish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n et: {\n name: 'Estonian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n eu: {\n name: 'Basque',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fa: {\n name: 'Persian',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ff: {\n name: 'Fulah',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fi: {\n name: 'Finnish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fil: {\n name: 'Filipino',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n fo: {\n name: 'Faroese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fr: {\n name: 'French',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n fur: {\n name: 'Friulian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fy: {\n name: 'Frisian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ga: {\n name: 'Irish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 7\n }, {\n plural: 4,\n sample: 11\n }],\n nplurals: 5,\n pluralsText: 'nplurals = 5; plural = (n === 1 ? 0 : n === 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n }\n },\n gd: {\n name: 'Scottish Gaelic',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 20\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = ((n === 1 || n === 11) ? 0 : (n === 2 || n === 12) ? 1 : (n > 2 && n < 20) ? 2 : 3)',\n pluralsFunc: function(n) {\n return ((n === 1 || n === 11) ? 0 : (n === 2 || n === 12) ? 1 : (n > 2 && n < 20) ? 2 : 3);\n }\n },\n gl: {\n name: 'Galician',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n gu: {\n name: 'Gujarati',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n gun: {\n name: 'Gun',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n ha: {\n name: 'Hausa',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n he: {\n name: 'Hebrew',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hi: {\n name: 'Hindi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hne: {\n name: 'Chhattisgarhi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hr: {\n name: 'Croatian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n hu: {\n name: 'Hungarian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hy: {\n name: 'Armenian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n id: {\n name: 'Indonesian',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n is: {\n name: 'Icelandic',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n % 10 !== 1 || n % 100 === 11)',\n pluralsFunc: function(n) {\n return (n % 10 !== 1 || n % 100 === 11);\n }\n },\n it: {\n name: 'Italian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ja: {\n name: 'Japanese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n jbo: {\n name: 'Lojban',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n jv: {\n name: 'Javanese',\n examples: [{\n plural: 0,\n sample: 0\n }, {\n plural: 1,\n sample: 1\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 0)',\n pluralsFunc: function(n) {\n return (n !== 0);\n }\n },\n ka: {\n name: 'Georgian',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n kk: {\n name: 'Kazakh',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n km: {\n name: 'Khmer',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n kn: {\n name: 'Kannada',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ko: {\n name: 'Korean',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ku: {\n name: 'Kurdish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n kw: {\n name: 'Cornish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 4\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 2 ? 1 : n === 3 ? 2 : 3)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 2 ? 1 : n === 3 ? 2 : 3);\n }\n },\n ky: {\n name: 'Kyrgyz',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n lb: {\n name: 'Letzeburgesch',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ln: {\n name: 'Lingala',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n lo: {\n name: 'Lao',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n lt: {\n name: 'Lithuanian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 10\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n lv: {\n name: 'Latvian',\n examples: [{\n plural: 2,\n sample: 0\n }, {\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n !== 0 ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n !== 0 ? 1 : 2);\n }\n },\n mai: {\n name: 'Maithili',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mfe: {\n name: 'Mauritian Creole',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n mg: {\n name: 'Malagasy',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n mi: {\n name: 'Maori',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n mk: {\n name: 'Macedonian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n === 1 || n % 10 === 1 ? 0 : 1)',\n pluralsFunc: function(n) {\n return (n === 1 || n % 10 === 1 ? 0 : 1);\n }\n },\n ml: {\n name: 'Malayalam',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mn: {\n name: 'Mongolian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mni: {\n name: 'Manipuri',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mnk: {\n name: 'Mandinka',\n examples: [{\n plural: 0,\n sample: 0\n }, {\n plural: 1,\n sample: 1\n }, {\n plural: 2,\n sample: 2\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 0 ? 0 : n === 1 ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 0 ? 0 : n === 1 ? 1 : 2);\n }\n },\n mr: {\n name: 'Marathi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ms: {\n name: 'Malay',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n mt: {\n name: 'Maltese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 11\n }, {\n plural: 3,\n sample: 20\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 0 || ( n % 100 > 1 && n % 100 < 11) ? 1 : (n % 100 > 10 && n % 100 < 20 ) ? 2 : 3)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 0 || (n % 100 > 1 && n % 100 < 11) ? 1 : (n % 100 > 10 && n % 100 < 20) ? 2 : 3);\n }\n },\n my: {\n name: 'Burmese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n nah: {\n name: 'Nahuatl',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nap: {\n name: 'Neapolitan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nb: {\n name: 'Norwegian Bokmal',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ne: {\n name: 'Nepali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nl: {\n name: 'Dutch',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nn: {\n name: 'Norwegian Nynorsk',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n no: {\n name: 'Norwegian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nso: {\n name: 'Northern Sotho',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n oc: {\n name: 'Occitan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n or: {\n name: 'Oriya',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pa: {\n name: 'Punjabi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pap: {\n name: 'Papiamento',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pl: {\n name: 'Polish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n pms: {\n name: 'Piemontese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ps: {\n name: 'Pashto',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pt: {\n name: 'Portuguese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n rm: {\n name: 'Romansh',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ro: {\n name: 'Romanian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 20\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n === 0 || (n % 100 > 0 && n % 100 < 20)) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : (n === 0 || (n % 100 > 0 && n % 100 < 20)) ? 1 : 2);\n }\n },\n ru: {\n name: 'Russian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n rw: {\n name: 'Kinyarwanda',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sah: {\n name: 'Yakut',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n sat: {\n name: 'Santali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sco: {\n name: 'Scots',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sd: {\n name: 'Sindhi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n se: {\n name: 'Northern Sami',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n si: {\n name: 'Sinhala',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sk: {\n name: 'Slovak',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2);\n }\n },\n sl: {\n name: 'Slovenian',\n examples: [{\n plural: 1,\n sample: 1\n }, {\n plural: 2,\n sample: 2\n }, {\n plural: 3,\n sample: 3\n }, {\n plural: 0,\n sample: 5\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n % 100 === 1 ? 1 : n % 100 === 2 ? 2 : n % 100 === 3 || n % 100 === 4 ? 3 : 0)',\n pluralsFunc: function(n) {\n return (n % 100 === 1 ? 1 : n % 100 === 2 ? 2 : n % 100 === 3 || n % 100 === 4 ? 3 : 0);\n }\n },\n so: {\n name: 'Somali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n son: {\n name: 'Songhay',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sq: {\n name: 'Albanian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sr: {\n name: 'Serbian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n su: {\n name: 'Sundanese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n sv: {\n name: 'Swedish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sw: {\n name: 'Swahili',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ta: {\n name: 'Tamil',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n te: {\n name: 'Telugu',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n tg: {\n name: 'Tajik',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n th: {\n name: 'Thai',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ti: {\n name: 'Tigrinya',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n tk: {\n name: 'Turkmen',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n tr: {\n name: 'Turkish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n tt: {\n name: 'Tatar',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ug: {\n name: 'Uyghur',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n uk: {\n name: 'Ukrainian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n ur: {\n name: 'Urdu',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n uz: {\n name: 'Uzbek',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n vi: {\n name: 'Vietnamese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n wa: {\n name: 'Walloon',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n wo: {\n name: 'Wolof',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n yo: {\n name: 'Yoruba',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n zh: {\n name: 'Chinese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getLocale = getLocale;\nexports.getLanguage = getLanguage;\nexports.translate = translate;\nexports.translatePlural = translatePlural;\nexports.getFirstDay = getFirstDay;\nexports.getDayNames = getDayNames;\nexports.getDayNamesShort = getDayNamesShort;\nexports.getDayNamesMin = getDayNamesMin;\nexports.getMonthNames = getMonthNames;\nexports.getMonthNamesShort = getMonthNamesShort;\n\n/// <reference types=\"@nextcloud/typings\" />\n\n/**\n * Returns the user's locale\n */\nfunction getLocale() {\n if (typeof OC === 'undefined') {\n console.warn('No OC found');\n return 'en';\n }\n\n return OC.getLocale();\n}\n/**\n * Returns the user's language\n */\n\n\nfunction getLanguage() {\n if (typeof OC === 'undefined') {\n console.warn('No OC found');\n return 'en';\n }\n\n return OC.getLanguage();\n}\n\n/**\n * Translate a string\n *\n * @param {string} app the id of the app for which to translate the string\n * @param {string} text the string to translate\n * @param {object} vars map of placeholder key to value\n * @param {number} number to replace %n with\n * @param {object} [options] options object\n * @return {string}\n */\nfunction translate(app, text, vars, count, options) {\n if (typeof OC === 'undefined') {\n console.warn('No OC found');\n return text;\n }\n\n return OC.L10N.translate(app, text, vars, count, options);\n}\n/**\n * Translate a plural string\n *\n * @param {string} app the id of the app for which to translate the string\n * @param {string} textSingular the string to translate for exactly one object\n * @param {string} textPlural the string to translate for n objects\n * @param {number} count number to determine whether to use singular or plural\n * @param {Object} vars of placeholder key to value\n * @param {object} options options object\n * @return {string}\n */\n\n\nfunction translatePlural(app, textSingular, textPlural, count, vars, options) {\n if (typeof OC === 'undefined') {\n console.warn('No OC found');\n return textSingular;\n }\n\n return OC.L10N.translatePlural(app, textSingular, textPlural, count, vars, options);\n}\n/**\n * Get the first day of the week\n *\n * @return {number}\n */\n\n\nfunction getFirstDay() {\n if (typeof window.firstDay === 'undefined') {\n console.warn('No firstDay found');\n return 1;\n }\n\n return window.firstDay;\n}\n/**\n * Get a list of day names (full names)\n *\n * @return {string[]}\n */\n\n\nfunction getDayNames() {\n if (typeof window.dayNames === 'undefined') {\n console.warn('No dayNames found');\n return ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];\n }\n\n return window.dayNames;\n}\n/**\n * Get a list of day names (short names)\n *\n * @return {string[]}\n */\n\n\nfunction getDayNamesShort() {\n if (typeof window.dayNamesShort === 'undefined') {\n console.warn('No dayNamesShort found');\n return ['Sun.', 'Mon.', 'Tue.', 'Wed.', 'Thu.', 'Fri.', 'Sat.'];\n }\n\n return window.dayNamesShort;\n}\n/**\n * Get a list of day names (minified names)\n *\n * @return {string[]}\n */\n\n\nfunction getDayNamesMin() {\n if (typeof window.dayNamesMin === 'undefined') {\n console.warn('No dayNamesMin found');\n return ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'];\n }\n\n return window.dayNamesMin;\n}\n/**\n * Get a list of month names (full names)\n *\n * @return {string[]}\n */\n\n\nfunction getMonthNames() {\n if (typeof window.monthNames === 'undefined') {\n console.warn('No monthNames found');\n return ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\n }\n\n return window.monthNames;\n}\n/**\n * Get a list of month names (short names)\n *\n * @return {string[]}\n */\n\n\nfunction getMonthNamesShort() {\n if (typeof window.monthNamesShort === 'undefined') {\n console.warn('No monthNamesShort found');\n return ['Jan.', 'Feb.', 'Mar.', 'Apr.', 'May.', 'Jun.', 'Jul.', 'Aug.', 'Sep.', 'Oct.', 'Nov.', 'Dec.'];\n }\n\n return window.monthNamesShort;\n}\n//# sourceMappingURL=index.js.map","/*! Hammer.JS - v2.0.7 - 2016-04-22\n * http://hammerjs.github.io/\n *\n * Copyright (c) 2016 Jorik Tangelder;\n * Licensed under the MIT license */\n(function(window, document, exportName, undefined) {\n 'use strict';\n\nvar VENDOR_PREFIXES = ['', 'webkit', 'Moz', 'MS', 'ms', 'o'];\nvar TEST_ELEMENT = document.createElement('div');\n\nvar TYPE_FUNCTION = 'function';\n\nvar round = Math.round;\nvar abs = Math.abs;\nvar now = Date.now;\n\n/**\n * set a timeout with a given scope\n * @param {Function} fn\n * @param {Number} timeout\n * @param {Object} context\n * @returns {number}\n */\nfunction setTimeoutContext(fn, timeout, context) {\n return setTimeout(bindFn(fn, context), timeout);\n}\n\n/**\n * if the argument is an array, we want to execute the fn on each entry\n * if it aint an array we don't want to do a thing.\n * this is used by all the methods that accept a single and array argument.\n * @param {*|Array} arg\n * @param {String} fn\n * @param {Object} [context]\n * @returns {Boolean}\n */\nfunction invokeArrayArg(arg, fn, context) {\n if (Array.isArray(arg)) {\n each(arg, context[fn], context);\n return true;\n }\n return false;\n}\n\n/**\n * walk objects and arrays\n * @param {Object} obj\n * @param {Function} iterator\n * @param {Object} context\n */\nfunction each(obj, iterator, context) {\n var i;\n\n if (!obj) {\n return;\n }\n\n if (obj.forEach) {\n obj.forEach(iterator, context);\n } else if (obj.length !== undefined) {\n i = 0;\n while (i < obj.length) {\n iterator.call(context, obj[i], i, obj);\n i++;\n }\n } else {\n for (i in obj) {\n obj.hasOwnProperty(i) && iterator.call(context, obj[i], i, obj);\n }\n }\n}\n\n/**\n * wrap a method with a deprecation warning and stack trace\n * @param {Function} method\n * @param {String} name\n * @param {String} message\n * @returns {Function} A new function wrapping the supplied method.\n */\nfunction deprecate(method, name, message) {\n var deprecationMessage = 'DEPRECATED METHOD: ' + name + '\\n' + message + ' AT \\n';\n return function() {\n var e = new Error('get-stack-trace');\n var stack = e && e.stack ? e.stack.replace(/^[^\\(]+?[\\n$]/gm, '')\n .replace(/^\\s+at\\s+/gm, '')\n .replace(/^Object.<anonymous>\\s*\\(/gm, '{anonymous}()@') : 'Unknown Stack Trace';\n\n var log = window.console && (window.console.warn || window.console.log);\n if (log) {\n log.call(window.console, deprecationMessage, stack);\n }\n return method.apply(this, arguments);\n };\n}\n\n/**\n * extend object.\n * means that properties in dest will be overwritten by the ones in src.\n * @param {Object} target\n * @param {...Object} objects_to_assign\n * @returns {Object} target\n */\nvar assign;\nif (typeof Object.assign !== 'function') {\n assign = function assign(target) {\n if (target === undefined || target === null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n\n var output = Object(target);\n for (var index = 1; index < arguments.length; index++) {\n var source = arguments[index];\n if (source !== undefined && source !== null) {\n for (var nextKey in source) {\n if (source.hasOwnProperty(nextKey)) {\n output[nextKey] = source[nextKey];\n }\n }\n }\n }\n return output;\n };\n} else {\n assign = Object.assign;\n}\n\n/**\n * extend object.\n * means that properties in dest will be overwritten by the ones in src.\n * @param {Object} dest\n * @param {Object} src\n * @param {Boolean} [merge=false]\n * @returns {Object} dest\n */\nvar extend = deprecate(function extend(dest, src, merge) {\n var keys = Object.keys(src);\n var i = 0;\n while (i < keys.length) {\n if (!merge || (merge && dest[keys[i]] === undefined)) {\n dest[keys[i]] = src[keys[i]];\n }\n i++;\n }\n return dest;\n}, 'extend', 'Use `assign`.');\n\n/**\n * merge the values from src in the dest.\n * means that properties that exist in dest will not be overwritten by src\n * @param {Object} dest\n * @param {Object} src\n * @returns {Object} dest\n */\nvar merge = deprecate(function merge(dest, src) {\n return extend(dest, src, true);\n}, 'merge', 'Use `assign`.');\n\n/**\n * simple class inheritance\n * @param {Function} child\n * @param {Function} base\n * @param {Object} [properties]\n */\nfunction inherit(child, base, properties) {\n var baseP = base.prototype,\n childP;\n\n childP = child.prototype = Object.create(baseP);\n childP.constructor = child;\n childP._super = baseP;\n\n if (properties) {\n assign(childP, properties);\n }\n}\n\n/**\n * simple function bind\n * @param {Function} fn\n * @param {Object} context\n * @returns {Function}\n */\nfunction bindFn(fn, context) {\n return function boundFn() {\n return fn.apply(context, arguments);\n };\n}\n\n/**\n * let a boolean value also be a function that must return a boolean\n * this first item in args will be used as the context\n * @param {Boolean|Function} val\n * @param {Array} [args]\n * @returns {Boolean}\n */\nfunction boolOrFn(val, args) {\n if (typeof val == TYPE_FUNCTION) {\n return val.apply(args ? args[0] || undefined : undefined, args);\n }\n return val;\n}\n\n/**\n * use the val2 when val1 is undefined\n * @param {*} val1\n * @param {*} val2\n * @returns {*}\n */\nfunction ifUndefined(val1, val2) {\n return (val1 === undefined) ? val2 : val1;\n}\n\n/**\n * addEventListener with multiple events at once\n * @param {EventTarget} target\n * @param {String} types\n * @param {Function} handler\n */\nfunction addEventListeners(target, types, handler) {\n each(splitStr(types), function(type) {\n target.addEventListener(type, handler, false);\n });\n}\n\n/**\n * removeEventListener with multiple events at once\n * @param {EventTarget} target\n * @param {String} types\n * @param {Function} handler\n */\nfunction removeEventListeners(target, types, handler) {\n each(splitStr(types), function(type) {\n target.removeEventListener(type, handler, false);\n });\n}\n\n/**\n * find if a node is in the given parent\n * @method hasParent\n * @param {HTMLElement} node\n * @param {HTMLElement} parent\n * @return {Boolean} found\n */\nfunction hasParent(node, parent) {\n while (node) {\n if (node == parent) {\n return true;\n }\n node = node.parentNode;\n }\n return false;\n}\n\n/**\n * small indexOf wrapper\n * @param {String} str\n * @param {String} find\n * @returns {Boolean} found\n */\nfunction inStr(str, find) {\n return str.indexOf(find) > -1;\n}\n\n/**\n * split string on whitespace\n * @param {String} str\n * @returns {Array} words\n */\nfunction splitStr(str) {\n return str.trim().split(/\\s+/g);\n}\n\n/**\n * find if a array contains the object using indexOf or a simple polyFill\n * @param {Array} src\n * @param {String} find\n * @param {String} [findByKey]\n * @return {Boolean|Number} false when not found, or the index\n */\nfunction inArray(src, find, findByKey) {\n if (src.indexOf && !findByKey) {\n return src.indexOf(find);\n } else {\n var i = 0;\n while (i < src.length) {\n if ((findByKey && src[i][findByKey] == find) || (!findByKey && src[i] === find)) {\n return i;\n }\n i++;\n }\n return -1;\n }\n}\n\n/**\n * convert array-like objects to real arrays\n * @param {Object} obj\n * @returns {Array}\n */\nfunction toArray(obj) {\n return Array.prototype.slice.call(obj, 0);\n}\n\n/**\n * unique array with objects based on a key (like 'id') or just by the array's value\n * @param {Array} src [{id:1},{id:2},{id:1}]\n * @param {String} [key]\n * @param {Boolean} [sort=False]\n * @returns {Array} [{id:1},{id:2}]\n */\nfunction uniqueArray(src, key, sort) {\n var results = [];\n var values = [];\n var i = 0;\n\n while (i < src.length) {\n var val = key ? src[i][key] : src[i];\n if (inArray(values, val) < 0) {\n results.push(src[i]);\n }\n values[i] = val;\n i++;\n }\n\n if (sort) {\n if (!key) {\n results = results.sort();\n } else {\n results = results.sort(function sortUniqueArray(a, b) {\n return a[key] > b[key];\n });\n }\n }\n\n return results;\n}\n\n/**\n * get the prefixed property\n * @param {Object} obj\n * @param {String} property\n * @returns {String|Undefined} prefixed\n */\nfunction prefixed(obj, property) {\n var prefix, prop;\n var camelProp = property[0].toUpperCase() + property.slice(1);\n\n var i = 0;\n while (i < VENDOR_PREFIXES.length) {\n prefix = VENDOR_PREFIXES[i];\n prop = (prefix) ? prefix + camelProp : property;\n\n if (prop in obj) {\n return prop;\n }\n i++;\n }\n return undefined;\n}\n\n/**\n * get a unique id\n * @returns {number} uniqueId\n */\nvar _uniqueId = 1;\nfunction uniqueId() {\n return _uniqueId++;\n}\n\n/**\n * get the window object of an element\n * @param {HTMLElement} element\n * @returns {DocumentView|Window}\n */\nfunction getWindowForElement(element) {\n var doc = element.ownerDocument || element;\n return (doc.defaultView || doc.parentWindow || window);\n}\n\nvar MOBILE_REGEX = /mobile|tablet|ip(ad|hone|od)|android/i;\n\nvar SUPPORT_TOUCH = ('ontouchstart' in window);\nvar SUPPORT_POINTER_EVENTS = prefixed(window, 'PointerEvent') !== undefined;\nvar SUPPORT_ONLY_TOUCH = SUPPORT_TOUCH && MOBILE_REGEX.test(navigator.userAgent);\n\nvar INPUT_TYPE_TOUCH = 'touch';\nvar INPUT_TYPE_PEN = 'pen';\nvar INPUT_TYPE_MOUSE = 'mouse';\nvar INPUT_TYPE_KINECT = 'kinect';\n\nvar COMPUTE_INTERVAL = 25;\n\nvar INPUT_START = 1;\nvar INPUT_MOVE = 2;\nvar INPUT_END = 4;\nvar INPUT_CANCEL = 8;\n\nvar DIRECTION_NONE = 1;\nvar DIRECTION_LEFT = 2;\nvar DIRECTION_RIGHT = 4;\nvar DIRECTION_UP = 8;\nvar DIRECTION_DOWN = 16;\n\nvar DIRECTION_HORIZONTAL = DIRECTION_LEFT | DIRECTION_RIGHT;\nvar DIRECTION_VERTICAL = DIRECTION_UP | DIRECTION_DOWN;\nvar DIRECTION_ALL = DIRECTION_HORIZONTAL | DIRECTION_VERTICAL;\n\nvar PROPS_XY = ['x', 'y'];\nvar PROPS_CLIENT_XY = ['clientX', 'clientY'];\n\n/**\n * create new input type manager\n * @param {Manager} manager\n * @param {Function} callback\n * @returns {Input}\n * @constructor\n */\nfunction Input(manager, callback) {\n var self = this;\n this.manager = manager;\n this.callback = callback;\n this.element = manager.element;\n this.target = manager.options.inputTarget;\n\n // smaller wrapper around the handler, for the scope and the enabled state of the manager,\n // so when disabled the input events are completely bypassed.\n this.domHandler = function(ev) {\n if (boolOrFn(manager.options.enable, [manager])) {\n self.handler(ev);\n }\n };\n\n this.init();\n\n}\n\nInput.prototype = {\n /**\n * should handle the inputEvent data and trigger the callback\n * @virtual\n */\n handler: function() { },\n\n /**\n * bind the events\n */\n init: function() {\n this.evEl && addEventListeners(this.element, this.evEl, this.domHandler);\n this.evTarget && addEventListeners(this.target, this.evTarget, this.domHandler);\n this.evWin && addEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);\n },\n\n /**\n * unbind the events\n */\n destroy: function() {\n this.evEl && removeEventListeners(this.element, this.evEl, this.domHandler);\n this.evTarget && removeEventListeners(this.target, this.evTarget, this.domHandler);\n this.evWin && removeEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);\n }\n};\n\n/**\n * create new input type manager\n * called by the Manager constructor\n * @param {Hammer} manager\n * @returns {Input}\n */\nfunction createInputInstance(manager) {\n var Type;\n var inputClass = manager.options.inputClass;\n\n if (inputClass) {\n Type = inputClass;\n } else if (SUPPORT_POINTER_EVENTS) {\n Type = PointerEventInput;\n } else if (SUPPORT_ONLY_TOUCH) {\n Type = TouchInput;\n } else if (!SUPPORT_TOUCH) {\n Type = MouseInput;\n } else {\n Type = TouchMouseInput;\n }\n return new (Type)(manager, inputHandler);\n}\n\n/**\n * handle input events\n * @param {Manager} manager\n * @param {String} eventType\n * @param {Object} input\n */\nfunction inputHandler(manager, eventType, input) {\n var pointersLen = input.pointers.length;\n var changedPointersLen = input.changedPointers.length;\n var isFirst = (eventType & INPUT_START && (pointersLen - changedPointersLen === 0));\n var isFinal = (eventType & (INPUT_END | INPUT_CANCEL) && (pointersLen - changedPointersLen === 0));\n\n input.isFirst = !!isFirst;\n input.isFinal = !!isFinal;\n\n if (isFirst) {\n manager.session = {};\n }\n\n // source event is the normalized value of the domEvents\n // like 'touchstart, mouseup, pointerdown'\n input.eventType = eventType;\n\n // compute scale, rotation etc\n computeInputData(manager, input);\n\n // emit secret event\n manager.emit('hammer.input', input);\n\n manager.recognize(input);\n manager.session.prevInput = input;\n}\n\n/**\n * extend the data with some usable properties like scale, rotate, velocity etc\n * @param {Object} manager\n * @param {Object} input\n */\nfunction computeInputData(manager, input) {\n var session = manager.session;\n var pointers = input.pointers;\n var pointersLength = pointers.length;\n\n // store the first input to calculate the distance and direction\n if (!session.firstInput) {\n session.firstInput = simpleCloneInputData(input);\n }\n\n // to compute scale and rotation we need to store the multiple touches\n if (pointersLength > 1 && !session.firstMultiple) {\n session.firstMultiple = simpleCloneInputData(input);\n } else if (pointersLength === 1) {\n session.firstMultiple = false;\n }\n\n var firstInput = session.firstInput;\n var firstMultiple = session.firstMultiple;\n var offsetCenter = firstMultiple ? firstMultiple.center : firstInput.center;\n\n var center = input.center = getCenter(pointers);\n input.timeStamp = now();\n input.deltaTime = input.timeStamp - firstInput.timeStamp;\n\n input.angle = getAngle(offsetCenter, center);\n input.distance = getDistance(offsetCenter, center);\n\n computeDeltaXY(session, input);\n input.offsetDirection = getDirection(input.deltaX, input.deltaY);\n\n var overallVelocity = getVelocity(input.deltaTime, input.deltaX, input.deltaY);\n input.overallVelocityX = overallVelocity.x;\n input.overallVelocityY = overallVelocity.y;\n input.overallVelocity = (abs(overallVelocity.x) > abs(overallVelocity.y)) ? overallVelocity.x : overallVelocity.y;\n\n input.scale = firstMultiple ? getScale(firstMultiple.pointers, pointers) : 1;\n input.rotation = firstMultiple ? getRotation(firstMultiple.pointers, pointers) : 0;\n\n input.maxPointers = !session.prevInput ? input.pointers.length : ((input.pointers.length >\n session.prevInput.maxPointers) ? input.pointers.length : session.prevInput.maxPointers);\n\n computeIntervalInputData(session, input);\n\n // find the correct target\n var target = manager.element;\n if (hasParent(input.srcEvent.target, target)) {\n target = input.srcEvent.target;\n }\n input.target = target;\n}\n\nfunction computeDeltaXY(session, input) {\n var center = input.center;\n var offset = session.offsetDelta || {};\n var prevDelta = session.prevDelta || {};\n var prevInput = session.prevInput || {};\n\n if (input.eventType === INPUT_START || prevInput.eventType === INPUT_END) {\n prevDelta = session.prevDelta = {\n x: prevInput.deltaX || 0,\n y: prevInput.deltaY || 0\n };\n\n offset = session.offsetDelta = {\n x: center.x,\n y: center.y\n };\n }\n\n input.deltaX = prevDelta.x + (center.x - offset.x);\n input.deltaY = prevDelta.y + (center.y - offset.y);\n}\n\n/**\n * velocity is calculated every x ms\n * @param {Object} session\n * @param {Object} input\n */\nfunction computeIntervalInputData(session, input) {\n var last = session.lastInterval || input,\n deltaTime = input.timeStamp - last.timeStamp,\n velocity, velocityX, velocityY, direction;\n\n if (input.eventType != INPUT_CANCEL && (deltaTime > COMPUTE_INTERVAL || last.velocity === undefined)) {\n var deltaX = input.deltaX - last.deltaX;\n var deltaY = input.deltaY - last.deltaY;\n\n var v = getVelocity(deltaTime, deltaX, deltaY);\n velocityX = v.x;\n velocityY = v.y;\n velocity = (abs(v.x) > abs(v.y)) ? v.x : v.y;\n direction = getDirection(deltaX, deltaY);\n\n session.lastInterval = input;\n } else {\n // use latest velocity info if it doesn't overtake a minimum period\n velocity = last.velocity;\n velocityX = last.velocityX;\n velocityY = last.velocityY;\n direction = last.direction;\n }\n\n input.velocity = velocity;\n input.velocityX = velocityX;\n input.velocityY = velocityY;\n input.direction = direction;\n}\n\n/**\n * create a simple clone from the input used for storage of firstInput and firstMultiple\n * @param {Object} input\n * @returns {Object} clonedInputData\n */\nfunction simpleCloneInputData(input) {\n // make a simple copy of the pointers because we will get a reference if we don't\n // we only need clientXY for the calculations\n var pointers = [];\n var i = 0;\n while (i < input.pointers.length) {\n pointers[i] = {\n clientX: round(input.pointers[i].clientX),\n clientY: round(input.pointers[i].clientY)\n };\n i++;\n }\n\n return {\n timeStamp: now(),\n pointers: pointers,\n center: getCenter(pointers),\n deltaX: input.deltaX,\n deltaY: input.deltaY\n };\n}\n\n/**\n * get the center of all the pointers\n * @param {Array} pointers\n * @return {Object} center contains `x` and `y` properties\n */\nfunction getCenter(pointers) {\n var pointersLength = pointers.length;\n\n // no need to loop when only one touch\n if (pointersLength === 1) {\n return {\n x: round(pointers[0].clientX),\n y: round(pointers[0].clientY)\n };\n }\n\n var x = 0, y = 0, i = 0;\n while (i < pointersLength) {\n x += pointers[i].clientX;\n y += pointers[i].clientY;\n i++;\n }\n\n return {\n x: round(x / pointersLength),\n y: round(y / pointersLength)\n };\n}\n\n/**\n * calculate the velocity between two points. unit is in px per ms.\n * @param {Number} deltaTime\n * @param {Number} x\n * @param {Number} y\n * @return {Object} velocity `x` and `y`\n */\nfunction getVelocity(deltaTime, x, y) {\n return {\n x: x / deltaTime || 0,\n y: y / deltaTime || 0\n };\n}\n\n/**\n * get the direction between two points\n * @param {Number} x\n * @param {Number} y\n * @return {Number} direction\n */\nfunction getDirection(x, y) {\n if (x === y) {\n return DIRECTION_NONE;\n }\n\n if (abs(x) >= abs(y)) {\n return x < 0 ? DIRECTION_LEFT : DIRECTION_RIGHT;\n }\n return y < 0 ? DIRECTION_UP : DIRECTION_DOWN;\n}\n\n/**\n * calculate the absolute distance between two points\n * @param {Object} p1 {x, y}\n * @param {Object} p2 {x, y}\n * @param {Array} [props] containing x and y keys\n * @return {Number} distance\n */\nfunction getDistance(p1, p2, props) {\n if (!props) {\n props = PROPS_XY;\n }\n var x = p2[props[0]] - p1[props[0]],\n y = p2[props[1]] - p1[props[1]];\n\n return Math.sqrt((x * x) + (y * y));\n}\n\n/**\n * calculate the angle between two coordinates\n * @param {Object} p1\n * @param {Object} p2\n * @param {Array} [props] containing x and y keys\n * @return {Number} angle\n */\nfunction getAngle(p1, p2, props) {\n if (!props) {\n props = PROPS_XY;\n }\n var x = p2[props[0]] - p1[props[0]],\n y = p2[props[1]] - p1[props[1]];\n return Math.atan2(y, x) * 180 / Math.PI;\n}\n\n/**\n * calculate the rotation degrees between two pointersets\n * @param {Array} start array of pointers\n * @param {Array} end array of pointers\n * @return {Number} rotation\n */\nfunction getRotation(start, end) {\n return getAngle(end[1], end[0], PROPS_CLIENT_XY) + getAngle(start[1], start[0], PROPS_CLIENT_XY);\n}\n\n/**\n * calculate the scale factor between two pointersets\n * no scale is 1, and goes down to 0 when pinched together, and bigger when pinched out\n * @param {Array} start array of pointers\n * @param {Array} end array of pointers\n * @return {Number} scale\n */\nfunction getScale(start, end) {\n return getDistance(end[0], end[1], PROPS_CLIENT_XY) / getDistance(start[0], start[1], PROPS_CLIENT_XY);\n}\n\nvar MOUSE_INPUT_MAP = {\n mousedown: INPUT_START,\n mousemove: INPUT_MOVE,\n mouseup: INPUT_END\n};\n\nvar MOUSE_ELEMENT_EVENTS = 'mousedown';\nvar MOUSE_WINDOW_EVENTS = 'mousemove mouseup';\n\n/**\n * Mouse events input\n * @constructor\n * @extends Input\n */\nfunction MouseInput() {\n this.evEl = MOUSE_ELEMENT_EVENTS;\n this.evWin = MOUSE_WINDOW_EVENTS;\n\n this.pressed = false; // mousedown state\n\n Input.apply(this, arguments);\n}\n\ninherit(MouseInput, Input, {\n /**\n * handle mouse events\n * @param {Object} ev\n */\n handler: function MEhandler(ev) {\n var eventType = MOUSE_INPUT_MAP[ev.type];\n\n // on start we want to have the left mouse button down\n if (eventType & INPUT_START && ev.button === 0) {\n this.pressed = true;\n }\n\n if (eventType & INPUT_MOVE && ev.which !== 1) {\n eventType = INPUT_END;\n }\n\n // mouse must be down\n if (!this.pressed) {\n return;\n }\n\n if (eventType & INPUT_END) {\n this.pressed = false;\n }\n\n this.callback(this.manager, eventType, {\n pointers: [ev],\n changedPointers: [ev],\n pointerType: INPUT_TYPE_MOUSE,\n srcEvent: ev\n });\n }\n});\n\nvar POINTER_INPUT_MAP = {\n pointerdown: INPUT_START,\n pointermove: INPUT_MOVE,\n pointerup: INPUT_END,\n pointercancel: INPUT_CANCEL,\n pointerout: INPUT_CANCEL\n};\n\n// in IE10 the pointer types is defined as an enum\nvar IE10_POINTER_TYPE_ENUM = {\n 2: INPUT_TYPE_TOUCH,\n 3: INPUT_TYPE_PEN,\n 4: INPUT_TYPE_MOUSE,\n 5: INPUT_TYPE_KINECT // see https://twitter.com/jacobrossi/status/480596438489890816\n};\n\nvar POINTER_ELEMENT_EVENTS = 'pointerdown';\nvar POINTER_WINDOW_EVENTS = 'pointermove pointerup pointercancel';\n\n// IE10 has prefixed support, and case-sensitive\nif (window.MSPointerEvent && !window.PointerEvent) {\n POINTER_ELEMENT_EVENTS = 'MSPointerDown';\n POINTER_WINDOW_EVENTS = 'MSPointerMove MSPointerUp MSPointerCancel';\n}\n\n/**\n * Pointer events input\n * @constructor\n * @extends Input\n */\nfunction PointerEventInput() {\n this.evEl = POINTER_ELEMENT_EVENTS;\n this.evWin = POINTER_WINDOW_EVENTS;\n\n Input.apply(this, arguments);\n\n this.store = (this.manager.session.pointerEvents = []);\n}\n\ninherit(PointerEventInput, Input, {\n /**\n * handle mouse events\n * @param {Object} ev\n */\n handler: function PEhandler(ev) {\n var store = this.store;\n var removePointer = false;\n\n var eventTypeNormalized = ev.type.toLowerCase().replace('ms', '');\n var eventType = POINTER_INPUT_MAP[eventTypeNormalized];\n var pointerType = IE10_POINTER_TYPE_ENUM[ev.pointerType] || ev.pointerType;\n\n var isTouch = (pointerType == INPUT_TYPE_TOUCH);\n\n // get index of the event in the store\n var storeIndex = inArray(store, ev.pointerId, 'pointerId');\n\n // start and mouse must be down\n if (eventType & INPUT_START && (ev.button === 0 || isTouch)) {\n if (storeIndex < 0) {\n store.push(ev);\n storeIndex = store.length - 1;\n }\n } else if (eventType & (INPUT_END | INPUT_CANCEL)) {\n removePointer = true;\n }\n\n // it not found, so the pointer hasn't been down (so it's probably a hover)\n if (storeIndex < 0) {\n return;\n }\n\n // update the event in the store\n store[storeIndex] = ev;\n\n this.callback(this.manager, eventType, {\n pointers: store,\n changedPointers: [ev],\n pointerType: pointerType,\n srcEvent: ev\n });\n\n if (removePointer) {\n // remove from the store\n store.splice(storeIndex, 1);\n }\n }\n});\n\nvar SINGLE_TOUCH_INPUT_MAP = {\n touchstart: INPUT_START,\n touchmove: INPUT_MOVE,\n touchend: INPUT_END,\n touchcancel: INPUT_CANCEL\n};\n\nvar SINGLE_TOUCH_TARGET_EVENTS = 'touchstart';\nvar SINGLE_TOUCH_WINDOW_EVENTS = 'touchstart touchmove touchend touchcancel';\n\n/**\n * Touch events input\n * @constructor\n * @extends Input\n */\nfunction SingleTouchInput() {\n this.evTarget = SINGLE_TOUCH_TARGET_EVENTS;\n this.evWin = SINGLE_TOUCH_WINDOW_EVENTS;\n this.started = false;\n\n Input.apply(this, arguments);\n}\n\ninherit(SingleTouchInput, Input, {\n handler: function TEhandler(ev) {\n var type = SINGLE_TOUCH_INPUT_MAP[ev.type];\n\n // should we handle the touch events?\n if (type === INPUT_START) {\n this.started = true;\n }\n\n if (!this.started) {\n return;\n }\n\n var touches = normalizeSingleTouches.call(this, ev, type);\n\n // when done, reset the started state\n if (type & (INPUT_END | INPUT_CANCEL) && touches[0].length - touches[1].length === 0) {\n this.started = false;\n }\n\n this.callback(this.manager, type, {\n pointers: touches[0],\n changedPointers: touches[1],\n pointerType: INPUT_TYPE_TOUCH,\n srcEvent: ev\n });\n }\n});\n\n/**\n * @this {TouchInput}\n * @param {Object} ev\n * @param {Number} type flag\n * @returns {undefined|Array} [all, changed]\n */\nfunction normalizeSingleTouches(ev, type) {\n var all = toArray(ev.touches);\n var changed = toArray(ev.changedTouches);\n\n if (type & (INPUT_END | INPUT_CANCEL)) {\n all = uniqueArray(all.concat(changed), 'identifier', true);\n }\n\n return [all, changed];\n}\n\nvar TOUCH_INPUT_MAP = {\n touchstart: INPUT_START,\n touchmove: INPUT_MOVE,\n touchend: INPUT_END,\n touchcancel: INPUT_CANCEL\n};\n\nvar TOUCH_TARGET_EVENTS = 'touchstart touchmove touchend touchcancel';\n\n/**\n * Multi-user touch events input\n * @constructor\n * @extends Input\n */\nfunction TouchInput() {\n this.evTarget = TOUCH_TARGET_EVENTS;\n this.targetIds = {};\n\n Input.apply(this, arguments);\n}\n\ninherit(TouchInput, Input, {\n handler: function MTEhandler(ev) {\n var type = TOUCH_INPUT_MAP[ev.type];\n var touches = getTouches.call(this, ev, type);\n if (!touches) {\n return;\n }\n\n this.callback(this.manager, type, {\n pointers: touches[0],\n changedPointers: touches[1],\n pointerType: INPUT_TYPE_TOUCH,\n srcEvent: ev\n });\n }\n});\n\n/**\n * @this {TouchInput}\n * @param {Object} ev\n * @param {Number} type flag\n * @returns {undefined|Array} [all, changed]\n */\nfunction getTouches(ev, type) {\n var allTouches = toArray(ev.touches);\n var targetIds = this.targetIds;\n\n // when there is only one touch, the process can be simplified\n if (type & (INPUT_START | INPUT_MOVE) && allTouches.length === 1) {\n targetIds[allTouches[0].identifier] = true;\n return [allTouches, allTouches];\n }\n\n var i,\n targetTouches,\n changedTouches = toArray(ev.changedTouches),\n changedTargetTouches = [],\n target = this.target;\n\n // get target touches from touches\n targetTouches = allTouches.filter(function(touch) {\n return hasParent(touch.target, target);\n });\n\n // collect touches\n if (type === INPUT_START) {\n i = 0;\n while (i < targetTouches.length) {\n targetIds[targetTouches[i].identifier] = true;\n i++;\n }\n }\n\n // filter changed touches to only contain touches that exist in the collected target ids\n i = 0;\n while (i < changedTouches.length) {\n if (targetIds[changedTouches[i].identifier]) {\n changedTargetTouches.push(changedTouches[i]);\n }\n\n // cleanup removed touches\n if (type & (INPUT_END | INPUT_CANCEL)) {\n delete targetIds[changedTouches[i].identifier];\n }\n i++;\n }\n\n if (!changedTargetTouches.length) {\n return;\n }\n\n return [\n // merge targetTouches with changedTargetTouches so it contains ALL touches, including 'end' and 'cancel'\n uniqueArray(targetTouches.concat(changedTargetTouches), 'identifier', true),\n changedTargetTouches\n ];\n}\n\n/**\n * Combined touch and mouse input\n *\n * Touch has a higher priority then mouse, and while touching no mouse events are allowed.\n * This because touch devices also emit mouse events while doing a touch.\n *\n * @constructor\n * @extends Input\n */\n\nvar DEDUP_TIMEOUT = 2500;\nvar DEDUP_DISTANCE = 25;\n\nfunction TouchMouseInput() {\n Input.apply(this, arguments);\n\n var handler = bindFn(this.handler, this);\n this.touch = new TouchInput(this.manager, handler);\n this.mouse = new MouseInput(this.manager, handler);\n\n this.primaryTouch = null;\n this.lastTouches = [];\n}\n\ninherit(TouchMouseInput, Input, {\n /**\n * handle mouse and touch events\n * @param {Hammer} manager\n * @param {String} inputEvent\n * @param {Object} inputData\n */\n handler: function TMEhandler(manager, inputEvent, inputData) {\n var isTouch = (inputData.pointerType == INPUT_TYPE_TOUCH),\n isMouse = (inputData.pointerType == INPUT_TYPE_MOUSE);\n\n if (isMouse && inputData.sourceCapabilities && inputData.sourceCapabilities.firesTouchEvents) {\n return;\n }\n\n // when we're in a touch event, record touches to de-dupe synthetic mouse event\n if (isTouch) {\n recordTouches.call(this, inputEvent, inputData);\n } else if (isMouse && isSyntheticEvent.call(this, inputData)) {\n return;\n }\n\n this.callback(manager, inputEvent, inputData);\n },\n\n /**\n * remove the event listeners\n */\n destroy: function destroy() {\n this.touch.destroy();\n this.mouse.destroy();\n }\n});\n\nfunction recordTouches(eventType, eventData) {\n if (eventType & INPUT_START) {\n this.primaryTouch = eventData.changedPointers[0].identifier;\n setLastTouch.call(this, eventData);\n } else if (eventType & (INPUT_END | INPUT_CANCEL)) {\n setLastTouch.call(this, eventData);\n }\n}\n\nfunction setLastTouch(eventData) {\n var touch = eventData.changedPointers[0];\n\n if (touch.identifier === this.primaryTouch) {\n var lastTouch = {x: touch.clientX, y: touch.clientY};\n this.lastTouches.push(lastTouch);\n var lts = this.lastTouches;\n var removeLastTouch = function() {\n var i = lts.indexOf(lastTouch);\n if (i > -1) {\n lts.splice(i, 1);\n }\n };\n setTimeout(removeLastTouch, DEDUP_TIMEOUT);\n }\n}\n\nfunction isSyntheticEvent(eventData) {\n var x = eventData.srcEvent.clientX, y = eventData.srcEvent.clientY;\n for (var i = 0; i < this.lastTouches.length; i++) {\n var t = this.lastTouches[i];\n var dx = Math.abs(x - t.x), dy = Math.abs(y - t.y);\n if (dx <= DEDUP_DISTANCE && dy <= DEDUP_DISTANCE) {\n return true;\n }\n }\n return false;\n}\n\nvar PREFIXED_TOUCH_ACTION = prefixed(TEST_ELEMENT.style, 'touchAction');\nvar NATIVE_TOUCH_ACTION = PREFIXED_TOUCH_ACTION !== undefined;\n\n// magical touchAction value\nvar TOUCH_ACTION_COMPUTE = 'compute';\nvar TOUCH_ACTION_AUTO = 'auto';\nvar TOUCH_ACTION_MANIPULATION = 'manipulation'; // not implemented\nvar TOUCH_ACTION_NONE = 'none';\nvar TOUCH_ACTION_PAN_X = 'pan-x';\nvar TOUCH_ACTION_PAN_Y = 'pan-y';\nvar TOUCH_ACTION_MAP = getTouchActionProps();\n\n/**\n * Touch Action\n * sets the touchAction property or uses the js alternative\n * @param {Manager} manager\n * @param {String} value\n * @constructor\n */\nfunction TouchAction(manager, value) {\n this.manager = manager;\n this.set(value);\n}\n\nTouchAction.prototype = {\n /**\n * set the touchAction value on the element or enable the polyfill\n * @param {String} value\n */\n set: function(value) {\n // find out the touch-action by the event handlers\n if (value == TOUCH_ACTION_COMPUTE) {\n value = this.compute();\n }\n\n if (NATIVE_TOUCH_ACTION && this.manager.element.style && TOUCH_ACTION_MAP[value]) {\n this.manager.element.style[PREFIXED_TOUCH_ACTION] = value;\n }\n this.actions = value.toLowerCase().trim();\n },\n\n /**\n * just re-set the touchAction value\n */\n update: function() {\n this.set(this.manager.options.touchAction);\n },\n\n /**\n * compute the value for the touchAction property based on the recognizer's settings\n * @returns {String} value\n */\n compute: function() {\n var actions = [];\n each(this.manager.recognizers, function(recognizer) {\n if (boolOrFn(recognizer.options.enable, [recognizer])) {\n actions = actions.concat(recognizer.getTouchAction());\n }\n });\n return cleanTouchActions(actions.join(' '));\n },\n\n /**\n * this method is called on each input cycle and provides the preventing of the browser behavior\n * @param {Object} input\n */\n preventDefaults: function(input) {\n var srcEvent = input.srcEvent;\n var direction = input.offsetDirection;\n\n // if the touch action did prevented once this session\n if (this.manager.session.prevented) {\n srcEvent.preventDefault();\n return;\n }\n\n var actions = this.actions;\n var hasNone = inStr(actions, TOUCH_ACTION_NONE) && !TOUCH_ACTION_MAP[TOUCH_ACTION_NONE];\n var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_Y];\n var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_X];\n\n if (hasNone) {\n //do not prevent defaults if this is a tap gesture\n\n var isTapPointer = input.pointers.length === 1;\n var isTapMovement = input.distance < 2;\n var isTapTouchTime = input.deltaTime < 250;\n\n if (isTapPointer && isTapMovement && isTapTouchTime) {\n return;\n }\n }\n\n if (hasPanX && hasPanY) {\n // `pan-x pan-y` means browser handles all scrolling/panning, do not prevent\n return;\n }\n\n if (hasNone ||\n (hasPanY && direction & DIRECTION_HORIZONTAL) ||\n (hasPanX && direction & DIRECTION_VERTICAL)) {\n return this.preventSrc(srcEvent);\n }\n },\n\n /**\n * call preventDefault to prevent the browser's default behavior (scrolling in most cases)\n * @param {Object} srcEvent\n */\n preventSrc: function(srcEvent) {\n this.manager.session.prevented = true;\n srcEvent.preventDefault();\n }\n};\n\n/**\n * when the touchActions are collected they are not a valid value, so we need to clean things up. *\n * @param {String} actions\n * @returns {*}\n */\nfunction cleanTouchActions(actions) {\n // none\n if (inStr(actions, TOUCH_ACTION_NONE)) {\n return TOUCH_ACTION_NONE;\n }\n\n var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X);\n var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y);\n\n // if both pan-x and pan-y are set (different recognizers\n // for different directions, e.g. horizontal pan but vertical swipe?)\n // we need none (as otherwise with pan-x pan-y combined none of these\n // recognizers will work, since the browser would handle all panning\n if (hasPanX && hasPanY) {\n return TOUCH_ACTION_NONE;\n }\n\n // pan-x OR pan-y\n if (hasPanX || hasPanY) {\n return hasPanX ? TOUCH_ACTION_PAN_X : TOUCH_ACTION_PAN_Y;\n }\n\n // manipulation\n if (inStr(actions, TOUCH_ACTION_MANIPULATION)) {\n return TOUCH_ACTION_MANIPULATION;\n }\n\n return TOUCH_ACTION_AUTO;\n}\n\nfunction getTouchActionProps() {\n if (!NATIVE_TOUCH_ACTION) {\n return false;\n }\n var touchMap = {};\n var cssSupports = window.CSS && window.CSS.supports;\n ['auto', 'manipulation', 'pan-y', 'pan-x', 'pan-x pan-y', 'none'].forEach(function(val) {\n\n // If css.supports is not supported but there is native touch-action assume it supports\n // all values. This is the case for IE 10 and 11.\n touchMap[val] = cssSupports ? window.CSS.supports('touch-action', val) : true;\n });\n return touchMap;\n}\n\n/**\n * Recognizer flow explained; *\n * All recognizers have the initial state of POSSIBLE when a input session starts.\n * The definition of a input session is from the first input until the last input, with all it's movement in it. *\n * Example session for mouse-input: mousedown -> mousemove -> mouseup\n *\n * On each recognizing cycle (see Manager.recognize) the .recognize() method is executed\n * which determines with state it should be.\n *\n * If the recognizer has the state FAILED, CANCELLED or RECOGNIZED (equals ENDED), it is reset to\n * POSSIBLE to give it another change on the next cycle.\n *\n * Possible\n * |\n * +-----+---------------+\n * | |\n * +-----+-----+ |\n * | | |\n * Failed Cancelled |\n * +-------+------+\n * | |\n * Recognized Began\n * |\n * Changed\n * |\n * Ended/Recognized\n */\nvar STATE_POSSIBLE = 1;\nvar STATE_BEGAN = 2;\nvar STATE_CHANGED = 4;\nvar STATE_ENDED = 8;\nvar STATE_RECOGNIZED = STATE_ENDED;\nvar STATE_CANCELLED = 16;\nvar STATE_FAILED = 32;\n\n/**\n * Recognizer\n * Every recognizer needs to extend from this class.\n * @constructor\n * @param {Object} options\n */\nfunction Recognizer(options) {\n this.options = assign({}, this.defaults, options || {});\n\n this.id = uniqueId();\n\n this.manager = null;\n\n // default is enable true\n this.options.enable = ifUndefined(this.options.enable, true);\n\n this.state = STATE_POSSIBLE;\n\n this.simultaneous = {};\n this.requireFail = [];\n}\n\nRecognizer.prototype = {\n /**\n * @virtual\n * @type {Object}\n */\n defaults: {},\n\n /**\n * set options\n * @param {Object} options\n * @return {Recognizer}\n */\n set: function(options) {\n assign(this.options, options);\n\n // also update the touchAction, in case something changed about the directions/enabled state\n this.manager && this.manager.touchAction.update();\n return this;\n },\n\n /**\n * recognize simultaneous with an other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n recognizeWith: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'recognizeWith', this)) {\n return this;\n }\n\n var simultaneous = this.simultaneous;\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n if (!simultaneous[otherRecognizer.id]) {\n simultaneous[otherRecognizer.id] = otherRecognizer;\n otherRecognizer.recognizeWith(this);\n }\n return this;\n },\n\n /**\n * drop the simultaneous link. it doesnt remove the link on the other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n dropRecognizeWith: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'dropRecognizeWith', this)) {\n return this;\n }\n\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n delete this.simultaneous[otherRecognizer.id];\n return this;\n },\n\n /**\n * recognizer can only run when an other is failing\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n requireFailure: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'requireFailure', this)) {\n return this;\n }\n\n var requireFail = this.requireFail;\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n if (inArray(requireFail, otherRecognizer) === -1) {\n requireFail.push(otherRecognizer);\n otherRecognizer.requireFailure(this);\n }\n return this;\n },\n\n /**\n * drop the requireFailure link. it does not remove the link on the other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n dropRequireFailure: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'dropRequireFailure', this)) {\n return this;\n }\n\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n var index = inArray(this.requireFail, otherRecognizer);\n if (index > -1) {\n this.requireFail.splice(index, 1);\n }\n return this;\n },\n\n /**\n * has require failures boolean\n * @returns {boolean}\n */\n hasRequireFailures: function() {\n return this.requireFail.length > 0;\n },\n\n /**\n * if the recognizer can recognize simultaneous with an other recognizer\n * @param {Recognizer} otherRecognizer\n * @returns {Boolean}\n */\n canRecognizeWith: function(otherRecognizer) {\n return !!this.simultaneous[otherRecognizer.id];\n },\n\n /**\n * You should use `tryEmit` instead of `emit` directly to check\n * that all the needed recognizers has failed before emitting.\n * @param {Object} input\n */\n emit: function(input) {\n var self = this;\n var state = this.state;\n\n function emit(event) {\n self.manager.emit(event, input);\n }\n\n // 'panstart' and 'panmove'\n if (state < STATE_ENDED) {\n emit(self.options.event + stateStr(state));\n }\n\n emit(self.options.event); // simple 'eventName' events\n\n if (input.additionalEvent) { // additional event(panleft, panright, pinchin, pinchout...)\n emit(input.additionalEvent);\n }\n\n // panend and pancancel\n if (state >= STATE_ENDED) {\n emit(self.options.event + stateStr(state));\n }\n },\n\n /**\n * Check that all the require failure recognizers has failed,\n * if true, it emits a gesture event,\n * otherwise, setup the state to FAILED.\n * @param {Object} input\n */\n tryEmit: function(input) {\n if (this.canEmit()) {\n return this.emit(input);\n }\n // it's failing anyway\n this.state = STATE_FAILED;\n },\n\n /**\n * can we emit?\n * @returns {boolean}\n */\n canEmit: function() {\n var i = 0;\n while (i < this.requireFail.length) {\n if (!(this.requireFail[i].state & (STATE_FAILED | STATE_POSSIBLE))) {\n return false;\n }\n i++;\n }\n return true;\n },\n\n /**\n * update the recognizer\n * @param {Object} inputData\n */\n recognize: function(inputData) {\n // make a new copy of the inputData\n // so we can change the inputData without messing up the other recognizers\n var inputDataClone = assign({}, inputData);\n\n // is is enabled and allow recognizing?\n if (!boolOrFn(this.options.enable, [this, inputDataClone])) {\n this.reset();\n this.state = STATE_FAILED;\n return;\n }\n\n // reset when we've reached the end\n if (this.state & (STATE_RECOGNIZED | STATE_CANCELLED | STATE_FAILED)) {\n this.state = STATE_POSSIBLE;\n }\n\n this.state = this.process(inputDataClone);\n\n // the recognizer has recognized a gesture\n // so trigger an event\n if (this.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED | STATE_CANCELLED)) {\n this.tryEmit(inputDataClone);\n }\n },\n\n /**\n * return the state of the recognizer\n * the actual recognizing happens in this method\n * @virtual\n * @param {Object} inputData\n * @returns {Const} STATE\n */\n process: function(inputData) { }, // jshint ignore:line\n\n /**\n * return the preferred touch-action\n * @virtual\n * @returns {Array}\n */\n getTouchAction: function() { },\n\n /**\n * called when the gesture isn't allowed to recognize\n * like when another is being recognized or it is disabled\n * @virtual\n */\n reset: function() { }\n};\n\n/**\n * get a usable string, used as event postfix\n * @param {Const} state\n * @returns {String} state\n */\nfunction stateStr(state) {\n if (state & STATE_CANCELLED) {\n return 'cancel';\n } else if (state & STATE_ENDED) {\n return 'end';\n } else if (state & STATE_CHANGED) {\n return 'move';\n } else if (state & STATE_BEGAN) {\n return 'start';\n }\n return '';\n}\n\n/**\n * direction cons to string\n * @param {Const} direction\n * @returns {String}\n */\nfunction directionStr(direction) {\n if (direction == DIRECTION_DOWN) {\n return 'down';\n } else if (direction == DIRECTION_UP) {\n return 'up';\n } else if (direction == DIRECTION_LEFT) {\n return 'left';\n } else if (direction == DIRECTION_RIGHT) {\n return 'right';\n }\n return '';\n}\n\n/**\n * get a recognizer by name if it is bound to a manager\n * @param {Recognizer|String} otherRecognizer\n * @param {Recognizer} recognizer\n * @returns {Recognizer}\n */\nfunction getRecognizerByNameIfManager(otherRecognizer, recognizer) {\n var manager = recognizer.manager;\n if (manager) {\n return manager.get(otherRecognizer);\n }\n return otherRecognizer;\n}\n\n/**\n * This recognizer is just used as a base for the simple attribute recognizers.\n * @constructor\n * @extends Recognizer\n */\nfunction AttrRecognizer() {\n Recognizer.apply(this, arguments);\n}\n\ninherit(AttrRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof AttrRecognizer\n */\n defaults: {\n /**\n * @type {Number}\n * @default 1\n */\n pointers: 1\n },\n\n /**\n * Used to check if it the recognizer receives valid input, like input.distance > 10.\n * @memberof AttrRecognizer\n * @param {Object} input\n * @returns {Boolean} recognized\n */\n attrTest: function(input) {\n var optionPointers = this.options.pointers;\n return optionPointers === 0 || input.pointers.length === optionPointers;\n },\n\n /**\n * Process the input and return the state for the recognizer\n * @memberof AttrRecognizer\n * @param {Object} input\n * @returns {*} State\n */\n process: function(input) {\n var state = this.state;\n var eventType = input.eventType;\n\n var isRecognized = state & (STATE_BEGAN | STATE_CHANGED);\n var isValid = this.attrTest(input);\n\n // on cancel input and we've recognized before, return STATE_CANCELLED\n if (isRecognized && (eventType & INPUT_CANCEL || !isValid)) {\n return state | STATE_CANCELLED;\n } else if (isRecognized || isValid) {\n if (eventType & INPUT_END) {\n return state | STATE_ENDED;\n } else if (!(state & STATE_BEGAN)) {\n return STATE_BEGAN;\n }\n return state | STATE_CHANGED;\n }\n return STATE_FAILED;\n }\n});\n\n/**\n * Pan\n * Recognized when the pointer is down and moved in the allowed direction.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction PanRecognizer() {\n AttrRecognizer.apply(this, arguments);\n\n this.pX = null;\n this.pY = null;\n}\n\ninherit(PanRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof PanRecognizer\n */\n defaults: {\n event: 'pan',\n threshold: 10,\n pointers: 1,\n direction: DIRECTION_ALL\n },\n\n getTouchAction: function() {\n var direction = this.options.direction;\n var actions = [];\n if (direction & DIRECTION_HORIZONTAL) {\n actions.push(TOUCH_ACTION_PAN_Y);\n }\n if (direction & DIRECTION_VERTICAL) {\n actions.push(TOUCH_ACTION_PAN_X);\n }\n return actions;\n },\n\n directionTest: function(input) {\n var options = this.options;\n var hasMoved = true;\n var distance = input.distance;\n var direction = input.direction;\n var x = input.deltaX;\n var y = input.deltaY;\n\n // lock to axis?\n if (!(direction & options.direction)) {\n if (options.direction & DIRECTION_HORIZONTAL) {\n direction = (x === 0) ? DIRECTION_NONE : (x < 0) ? DIRECTION_LEFT : DIRECTION_RIGHT;\n hasMoved = x != this.pX;\n distance = Math.abs(input.deltaX);\n } else {\n direction = (y === 0) ? DIRECTION_NONE : (y < 0) ? DIRECTION_UP : DIRECTION_DOWN;\n hasMoved = y != this.pY;\n distance = Math.abs(input.deltaY);\n }\n }\n input.direction = direction;\n return hasMoved && distance > options.threshold && direction & options.direction;\n },\n\n attrTest: function(input) {\n return AttrRecognizer.prototype.attrTest.call(this, input) &&\n (this.state & STATE_BEGAN || (!(this.state & STATE_BEGAN) && this.directionTest(input)));\n },\n\n emit: function(input) {\n\n this.pX = input.deltaX;\n this.pY = input.deltaY;\n\n var direction = directionStr(input.direction);\n\n if (direction) {\n input.additionalEvent = this.options.event + direction;\n }\n this._super.emit.call(this, input);\n }\n});\n\n/**\n * Pinch\n * Recognized when two or more pointers are moving toward (zoom-in) or away from each other (zoom-out).\n * @constructor\n * @extends AttrRecognizer\n */\nfunction PinchRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(PinchRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof PinchRecognizer\n */\n defaults: {\n event: 'pinch',\n threshold: 0,\n pointers: 2\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_NONE];\n },\n\n attrTest: function(input) {\n return this._super.attrTest.call(this, input) &&\n (Math.abs(input.scale - 1) > this.options.threshold || this.state & STATE_BEGAN);\n },\n\n emit: function(input) {\n if (input.scale !== 1) {\n var inOut = input.scale < 1 ? 'in' : 'out';\n input.additionalEvent = this.options.event + inOut;\n }\n this._super.emit.call(this, input);\n }\n});\n\n/**\n * Press\n * Recognized when the pointer is down for x ms without any movement.\n * @constructor\n * @extends Recognizer\n */\nfunction PressRecognizer() {\n Recognizer.apply(this, arguments);\n\n this._timer = null;\n this._input = null;\n}\n\ninherit(PressRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof PressRecognizer\n */\n defaults: {\n event: 'press',\n pointers: 1,\n time: 251, // minimal time of the pointer to be pressed\n threshold: 9 // a minimal movement is ok, but keep it low\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_AUTO];\n },\n\n process: function(input) {\n var options = this.options;\n var validPointers = input.pointers.length === options.pointers;\n var validMovement = input.distance < options.threshold;\n var validTime = input.deltaTime > options.time;\n\n this._input = input;\n\n // we only allow little movement\n // and we've reached an end event, so a tap is possible\n if (!validMovement || !validPointers || (input.eventType & (INPUT_END | INPUT_CANCEL) && !validTime)) {\n this.reset();\n } else if (input.eventType & INPUT_START) {\n this.reset();\n this._timer = setTimeoutContext(function() {\n this.state = STATE_RECOGNIZED;\n this.tryEmit();\n }, options.time, this);\n } else if (input.eventType & INPUT_END) {\n return STATE_RECOGNIZED;\n }\n return STATE_FAILED;\n },\n\n reset: function() {\n clearTimeout(this._timer);\n },\n\n emit: function(input) {\n if (this.state !== STATE_RECOGNIZED) {\n return;\n }\n\n if (input && (input.eventType & INPUT_END)) {\n this.manager.emit(this.options.event + 'up', input);\n } else {\n this._input.timeStamp = now();\n this.manager.emit(this.options.event, this._input);\n }\n }\n});\n\n/**\n * Rotate\n * Recognized when two or more pointer are moving in a circular motion.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction RotateRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(RotateRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof RotateRecognizer\n */\n defaults: {\n event: 'rotate',\n threshold: 0,\n pointers: 2\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_NONE];\n },\n\n attrTest: function(input) {\n return this._super.attrTest.call(this, input) &&\n (Math.abs(input.rotation) > this.options.threshold || this.state & STATE_BEGAN);\n }\n});\n\n/**\n * Swipe\n * Recognized when the pointer is moving fast (velocity), with enough distance in the allowed direction.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction SwipeRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(SwipeRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof SwipeRecognizer\n */\n defaults: {\n event: 'swipe',\n threshold: 10,\n velocity: 0.3,\n direction: DIRECTION_HORIZONTAL | DIRECTION_VERTICAL,\n pointers: 1\n },\n\n getTouchAction: function() {\n return PanRecognizer.prototype.getTouchAction.call(this);\n },\n\n attrTest: function(input) {\n var direction = this.options.direction;\n var velocity;\n\n if (direction & (DIRECTION_HORIZONTAL | DIRECTION_VERTICAL)) {\n velocity = input.overallVelocity;\n } else if (direction & DIRECTION_HORIZONTAL) {\n velocity = input.overallVelocityX;\n } else if (direction & DIRECTION_VERTICAL) {\n velocity = input.overallVelocityY;\n }\n\n return this._super.attrTest.call(this, input) &&\n direction & input.offsetDirection &&\n input.distance > this.options.threshold &&\n input.maxPointers == this.options.pointers &&\n abs(velocity) > this.options.velocity && input.eventType & INPUT_END;\n },\n\n emit: function(input) {\n var direction = directionStr(input.offsetDirection);\n if (direction) {\n this.manager.emit(this.options.event + direction, input);\n }\n\n this.manager.emit(this.options.event, input);\n }\n});\n\n/**\n * A tap is ecognized when the pointer is doing a small tap/click. Multiple taps are recognized if they occur\n * between the given interval and position. The delay option can be used to recognize multi-taps without firing\n * a single tap.\n *\n * The eventData from the emitted event contains the property `tapCount`, which contains the amount of\n * multi-taps being recognized.\n * @constructor\n * @extends Recognizer\n */\nfunction TapRecognizer() {\n Recognizer.apply(this, arguments);\n\n // previous time and center,\n // used for tap counting\n this.pTime = false;\n this.pCenter = false;\n\n this._timer = null;\n this._input = null;\n this.count = 0;\n}\n\ninherit(TapRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof PinchRecognizer\n */\n defaults: {\n event: 'tap',\n pointers: 1,\n taps: 1,\n interval: 300, // max time between the multi-tap taps\n time: 250, // max time of the pointer to be down (like finger on the screen)\n threshold: 9, // a minimal movement is ok, but keep it low\n posThreshold: 10 // a multi-tap can be a bit off the initial position\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_MANIPULATION];\n },\n\n process: function(input) {\n var options = this.options;\n\n var validPointers = input.pointers.length === options.pointers;\n var validMovement = input.distance < options.threshold;\n var validTouchTime = input.deltaTime < options.time;\n\n this.reset();\n\n if ((input.eventType & INPUT_START) && (this.count === 0)) {\n return this.failTimeout();\n }\n\n // we only allow little movement\n // and we've reached an end event, so a tap is possible\n if (validMovement && validTouchTime && validPointers) {\n if (input.eventType != INPUT_END) {\n return this.failTimeout();\n }\n\n var validInterval = this.pTime ? (input.timeStamp - this.pTime < options.interval) : true;\n var validMultiTap = !this.pCenter || getDistance(this.pCenter, input.center) < options.posThreshold;\n\n this.pTime = input.timeStamp;\n this.pCenter = input.center;\n\n if (!validMultiTap || !validInterval) {\n this.count = 1;\n } else {\n this.count += 1;\n }\n\n this._input = input;\n\n // if tap count matches we have recognized it,\n // else it has began recognizing...\n var tapCount = this.count % options.taps;\n if (tapCount === 0) {\n // no failing requirements, immediately trigger the tap event\n // or wait as long as the multitap interval to trigger\n if (!this.hasRequireFailures()) {\n return STATE_RECOGNIZED;\n } else {\n this._timer = setTimeoutContext(function() {\n this.state = STATE_RECOGNIZED;\n this.tryEmit();\n }, options.interval, this);\n return STATE_BEGAN;\n }\n }\n }\n return STATE_FAILED;\n },\n\n failTimeout: function() {\n this._timer = setTimeoutContext(function() {\n this.state = STATE_FAILED;\n }, this.options.interval, this);\n return STATE_FAILED;\n },\n\n reset: function() {\n clearTimeout(this._timer);\n },\n\n emit: function() {\n if (this.state == STATE_RECOGNIZED) {\n this._input.tapCount = this.count;\n this.manager.emit(this.options.event, this._input);\n }\n }\n});\n\n/**\n * Simple way to create a manager with a default set of recognizers.\n * @param {HTMLElement} element\n * @param {Object} [options]\n * @constructor\n */\nfunction Hammer(element, options) {\n options = options || {};\n options.recognizers = ifUndefined(options.recognizers, Hammer.defaults.preset);\n return new Manager(element, options);\n}\n\n/**\n * @const {string}\n */\nHammer.VERSION = '2.0.7';\n\n/**\n * default settings\n * @namespace\n */\nHammer.defaults = {\n /**\n * set if DOM events are being triggered.\n * But this is slower and unused by simple implementations, so disabled by default.\n * @type {Boolean}\n * @default false\n */\n domEvents: false,\n\n /**\n * The value for the touchAction property/fallback.\n * When set to `compute` it will magically set the correct value based on the added recognizers.\n * @type {String}\n * @default compute\n */\n touchAction: TOUCH_ACTION_COMPUTE,\n\n /**\n * @type {Boolean}\n * @default true\n */\n enable: true,\n\n /**\n * EXPERIMENTAL FEATURE -- can be removed/changed\n * Change the parent input target element.\n * If Null, then it is being set the to main element.\n * @type {Null|EventTarget}\n * @default null\n */\n inputTarget: null,\n\n /**\n * force an input class\n * @type {Null|Function}\n * @default null\n */\n inputClass: null,\n\n /**\n * Default recognizer setup when calling `Hammer()`\n * When creating a new Manager these will be skipped.\n * @type {Array}\n */\n preset: [\n // RecognizerClass, options, [recognizeWith, ...], [requireFailure, ...]\n [RotateRecognizer, {enable: false}],\n [PinchRecognizer, {enable: false}, ['rotate']],\n [SwipeRecognizer, {direction: DIRECTION_HORIZONTAL}],\n [PanRecognizer, {direction: DIRECTION_HORIZONTAL}, ['swipe']],\n [TapRecognizer],\n [TapRecognizer, {event: 'doubletap', taps: 2}, ['tap']],\n [PressRecognizer]\n ],\n\n /**\n * Some CSS properties can be used to improve the working of Hammer.\n * Add them to this method and they will be set when creating a new Manager.\n * @namespace\n */\n cssProps: {\n /**\n * Disables text selection to improve the dragging gesture. Mainly for desktop browsers.\n * @type {String}\n * @default 'none'\n */\n userSelect: 'none',\n\n /**\n * Disable the Windows Phone grippers when pressing an element.\n * @type {String}\n * @default 'none'\n */\n touchSelect: 'none',\n\n /**\n * Disables the default callout shown when you touch and hold a touch target.\n * On iOS, when you touch and hold a touch target such as a link, Safari displays\n * a callout containing information about the link. This property allows you to disable that callout.\n * @type {String}\n * @default 'none'\n */\n touchCallout: 'none',\n\n /**\n * Specifies whether zooming is enabled. Used by IE10>\n * @type {String}\n * @default 'none'\n */\n contentZooming: 'none',\n\n /**\n * Specifies that an entire element should be draggable instead of its contents. Mainly for desktop browsers.\n * @type {String}\n * @default 'none'\n */\n userDrag: 'none',\n\n /**\n * Overrides the highlight color shown when the user taps a link or a JavaScript\n * clickable element in iOS. This property obeys the alpha value, if specified.\n * @type {String}\n * @default 'rgba(0,0,0,0)'\n */\n tapHighlightColor: 'rgba(0,0,0,0)'\n }\n};\n\nvar STOP = 1;\nvar FORCED_STOP = 2;\n\n/**\n * Manager\n * @param {HTMLElement} element\n * @param {Object} [options]\n * @constructor\n */\nfunction Manager(element, options) {\n this.options = assign({}, Hammer.defaults, options || {});\n\n this.options.inputTarget = this.options.inputTarget || element;\n\n this.handlers = {};\n this.session = {};\n this.recognizers = [];\n this.oldCssProps = {};\n\n this.element = element;\n this.input = createInputInstance(this);\n this.touchAction = new TouchAction(this, this.options.touchAction);\n\n toggleCssProps(this, true);\n\n each(this.options.recognizers, function(item) {\n var recognizer = this.add(new (item[0])(item[1]));\n item[2] && recognizer.recognizeWith(item[2]);\n item[3] && recognizer.requireFailure(item[3]);\n }, this);\n}\n\nManager.prototype = {\n /**\n * set options\n * @param {Object} options\n * @returns {Manager}\n */\n set: function(options) {\n assign(this.options, options);\n\n // Options that need a little more setup\n if (options.touchAction) {\n this.touchAction.update();\n }\n if (options.inputTarget) {\n // Clean up existing event listeners and reinitialize\n this.input.destroy();\n this.input.target = options.inputTarget;\n this.input.init();\n }\n return this;\n },\n\n /**\n * stop recognizing for this session.\n * This session will be discarded, when a new [input]start event is fired.\n * When forced, the recognizer cycle is stopped immediately.\n * @param {Boolean} [force]\n */\n stop: function(force) {\n this.session.stopped = force ? FORCED_STOP : STOP;\n },\n\n /**\n * run the recognizers!\n * called by the inputHandler function on every movement of the pointers (touches)\n * it walks through all the recognizers and tries to detect the gesture that is being made\n * @param {Object} inputData\n */\n recognize: function(inputData) {\n var session = this.session;\n if (session.stopped) {\n return;\n }\n\n // run the touch-action polyfill\n this.touchAction.preventDefaults(inputData);\n\n var recognizer;\n var recognizers = this.recognizers;\n\n // this holds the recognizer that is being recognized.\n // so the recognizer's state needs to be BEGAN, CHANGED, ENDED or RECOGNIZED\n // if no recognizer is detecting a thing, it is set to `null`\n var curRecognizer = session.curRecognizer;\n\n // reset when the last recognizer is recognized\n // or when we're in a new session\n if (!curRecognizer || (curRecognizer && curRecognizer.state & STATE_RECOGNIZED)) {\n curRecognizer = session.curRecognizer = null;\n }\n\n var i = 0;\n while (i < recognizers.length) {\n recognizer = recognizers[i];\n\n // find out if we are allowed try to recognize the input for this one.\n // 1. allow if the session is NOT forced stopped (see the .stop() method)\n // 2. allow if we still haven't recognized a gesture in this session, or the this recognizer is the one\n // that is being recognized.\n // 3. allow if the recognizer is allowed to run simultaneous with the current recognized recognizer.\n // this can be setup with the `recognizeWith()` method on the recognizer.\n if (session.stopped !== FORCED_STOP && ( // 1\n !curRecognizer || recognizer == curRecognizer || // 2\n recognizer.canRecognizeWith(curRecognizer))) { // 3\n recognizer.recognize(inputData);\n } else {\n recognizer.reset();\n }\n\n // if the recognizer has been recognizing the input as a valid gesture, we want to store this one as the\n // current active recognizer. but only if we don't already have an active recognizer\n if (!curRecognizer && recognizer.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED)) {\n curRecognizer = session.curRecognizer = recognizer;\n }\n i++;\n }\n },\n\n /**\n * get a recognizer by its event name.\n * @param {Recognizer|String} recognizer\n * @returns {Recognizer|Null}\n */\n get: function(recognizer) {\n if (recognizer instanceof Recognizer) {\n return recognizer;\n }\n\n var recognizers = this.recognizers;\n for (var i = 0; i < recognizers.length; i++) {\n if (recognizers[i].options.event == recognizer) {\n return recognizers[i];\n }\n }\n return null;\n },\n\n /**\n * add a recognizer to the manager\n * existing recognizers with the same event name will be removed\n * @param {Recognizer} recognizer\n * @returns {Recognizer|Manager}\n */\n add: function(recognizer) {\n if (invokeArrayArg(recognizer, 'add', this)) {\n return this;\n }\n\n // remove existing\n var existing = this.get(recognizer.options.event);\n if (existing) {\n this.remove(existing);\n }\n\n this.recognizers.push(recognizer);\n recognizer.manager = this;\n\n this.touchAction.update();\n return recognizer;\n },\n\n /**\n * remove a recognizer by name or instance\n * @param {Recognizer|String} recognizer\n * @returns {Manager}\n */\n remove: function(recognizer) {\n if (invokeArrayArg(recognizer, 'remove', this)) {\n return this;\n }\n\n recognizer = this.get(recognizer);\n\n // let's make sure this recognizer exists\n if (recognizer) {\n var recognizers = this.recognizers;\n var index = inArray(recognizers, recognizer);\n\n if (index !== -1) {\n recognizers.splice(index, 1);\n this.touchAction.update();\n }\n }\n\n return this;\n },\n\n /**\n * bind event\n * @param {String} events\n * @param {Function} handler\n * @returns {EventEmitter} this\n */\n on: function(events, handler) {\n if (events === undefined) {\n return;\n }\n if (handler === undefined) {\n return;\n }\n\n var handlers = this.handlers;\n each(splitStr(events), function(event) {\n handlers[event] = handlers[event] || [];\n handlers[event].push(handler);\n });\n return this;\n },\n\n /**\n * unbind event, leave emit blank to remove all handlers\n * @param {String} events\n * @param {Function} [handler]\n * @returns {EventEmitter} this\n */\n off: function(events, handler) {\n if (events === undefined) {\n return;\n }\n\n var handlers = this.handlers;\n each(splitStr(events), function(event) {\n if (!handler) {\n delete handlers[event];\n } else {\n handlers[event] && handlers[event].splice(inArray(handlers[event], handler), 1);\n }\n });\n return this;\n },\n\n /**\n * emit event to the listeners\n * @param {String} event\n * @param {Object} data\n */\n emit: function(event, data) {\n // we also want to trigger dom events\n if (this.options.domEvents) {\n triggerDomEvent(event, data);\n }\n\n // no handlers, so skip it all\n var handlers = this.handlers[event] && this.handlers[event].slice();\n if (!handlers || !handlers.length) {\n return;\n }\n\n data.type = event;\n data.preventDefault = function() {\n data.srcEvent.preventDefault();\n };\n\n var i = 0;\n while (i < handlers.length) {\n handlers[i](data);\n i++;\n }\n },\n\n /**\n * destroy the manager and unbinds all events\n * it doesn't unbind dom events, that is the user own responsibility\n */\n destroy: function() {\n this.element && toggleCssProps(this, false);\n\n this.handlers = {};\n this.session = {};\n this.input.destroy();\n this.element = null;\n }\n};\n\n/**\n * add/remove the css properties as defined in manager.options.cssProps\n * @param {Manager} manager\n * @param {Boolean} add\n */\nfunction toggleCssProps(manager, add) {\n var element = manager.element;\n if (!element.style) {\n return;\n }\n var prop;\n each(manager.options.cssProps, function(value, name) {\n prop = prefixed(element.style, name);\n if (add) {\n manager.oldCssProps[prop] = element.style[prop];\n element.style[prop] = value;\n } else {\n element.style[prop] = manager.oldCssProps[prop] || '';\n }\n });\n if (!add) {\n manager.oldCssProps = {};\n }\n}\n\n/**\n * trigger dom event\n * @param {String} event\n * @param {Object} data\n */\nfunction triggerDomEvent(event, data) {\n var gestureEvent = document.createEvent('Event');\n gestureEvent.initEvent(event, true, true);\n gestureEvent.gesture = data;\n data.target.dispatchEvent(gestureEvent);\n}\n\nassign(Hammer, {\n INPUT_START: INPUT_START,\n INPUT_MOVE: INPUT_MOVE,\n INPUT_END: INPUT_END,\n INPUT_CANCEL: INPUT_CANCEL,\n\n STATE_POSSIBLE: STATE_POSSIBLE,\n STATE_BEGAN: STATE_BEGAN,\n STATE_CHANGED: STATE_CHANGED,\n STATE_ENDED: STATE_ENDED,\n STATE_RECOGNIZED: STATE_RECOGNIZED,\n STATE_CANCELLED: STATE_CANCELLED,\n STATE_FAILED: STATE_FAILED,\n\n DIRECTION_NONE: DIRECTION_NONE,\n DIRECTION_LEFT: DIRECTION_LEFT,\n DIRECTION_RIGHT: DIRECTION_RIGHT,\n DIRECTION_UP: DIRECTION_UP,\n DIRECTION_DOWN: DIRECTION_DOWN,\n DIRECTION_HORIZONTAL: DIRECTION_HORIZONTAL,\n DIRECTION_VERTICAL: DIRECTION_VERTICAL,\n DIRECTION_ALL: DIRECTION_ALL,\n\n Manager: Manager,\n Input: Input,\n TouchAction: TouchAction,\n\n TouchInput: TouchInput,\n MouseInput: MouseInput,\n PointerEventInput: PointerEventInput,\n TouchMouseInput: TouchMouseInput,\n SingleTouchInput: SingleTouchInput,\n\n Recognizer: Recognizer,\n AttrRecognizer: AttrRecognizer,\n Tap: TapRecognizer,\n Pan: PanRecognizer,\n Swipe: SwipeRecognizer,\n Pinch: PinchRecognizer,\n Rotate: RotateRecognizer,\n Press: PressRecognizer,\n\n on: addEventListeners,\n off: removeEventListeners,\n each: each,\n merge: merge,\n extend: extend,\n assign: assign,\n inherit: inherit,\n bindFn: bindFn,\n prefixed: prefixed\n});\n\n// this prevents errors when Hammer is loaded in the presence of an AMD\n// style loader but by script tag, not by the loader.\nvar freeGlobal = (typeof window !== 'undefined' ? window : (typeof self !== 'undefined' ? self : {})); // jshint ignore:line\nfreeGlobal.Hammer = Hammer;\n\nif (typeof define === 'function' && define.amd) {\n define(function() {\n return Hammer;\n });\n} else if (typeof module != 'undefined' && module.exports) {\n module.exports = Hammer;\n} else {\n window[exportName] = Hammer;\n}\n\n})(window, document, 'Hammer');\n"],"sourceRoot":""}
|