{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/jquery/src/core.js","webpack:///./node_modules/jquery/src/var/isFunction.js","webpack:///./node_modules/jquery/src/var/document.js","webpack:///./node_modules/jquery/src/selector.js","webpack:///./node_modules/jquery/src/core/init.js","webpack:///./node_modules/jquery/src/data/var/dataPriv.js","webpack:///./node_modules/party-js/lib/components/index.js","webpack:///./node_modules/jquery/src/var/rnothtmlwhite.js","webpack:///./node_modules/party-js/lib/systems/math.js","webpack:///./node_modules/jquery/src/var/support.js","webpack:///./node_modules/jquery/src/core/nodeName.js","webpack:///./node_modules/jquery/src/core/access.js","webpack:///./node_modules/party-js/lib/index.js","webpack:///./node_modules/party-js/lib/util/index.js","webpack:///./node_modules/jquery/src/core/toType.js","webpack:///./node_modules/jquery/src/traversing.js","webpack:///./node_modules/jquery/src/deferred.js","webpack:///./node_modules/jquery/src/event.js","webpack:///./node_modules/jquery/src/ajax.js","webpack:///./node_modules/party-js/lib/systems/variation.js","webpack:///./node_modules/party-js/lib/systems/random.js","webpack:///./node_modules/jquery/src/var/arr.js","webpack:///./node_modules/jquery/src/var/isWindow.js","webpack:///./node_modules/jquery/src/core/camelCase.js","webpack:///./node_modules/jquery/src/css.js","webpack:///./node_modules/party-js/lib/settings.js","webpack:///./node_modules/party-js/lib/systems/sources.js","webpack:///./node_modules/jquery/src/var/slice.js","webpack:///./node_modules/jquery/src/var/class2type.js","webpack:///./node_modules/jquery/src/core/isAttached.js","webpack:///./node_modules/jquery/src/var/documentElement.js","webpack:///./node_modules/jquery/src/manipulation.js","webpack:///./node_modules/trix/dist/trix.js","webpack:///./node_modules/party-js/lib/util/config.js","webpack:///./node_modules/party-js/lib/components/vector.js","webpack:///./node_modules/party-js/lib/systems/modules.js","webpack:///./node_modules/jquery/src/var/indexOf.js","webpack:///./node_modules/jquery/src/var/hasOwn.js","webpack:///./node_modules/jquery/src/callbacks.js","webpack:///./node_modules/jquery/src/data/var/acceptData.js","webpack:///./node_modules/jquery/src/queue.js","webpack:///./node_modules/jquery/src/effects.js","webpack:///./node_modules/jquery/src/var/rcssNum.js","webpack:///./node_modules/jquery/src/css/var/cssExpand.js","webpack:///./node_modules/jquery/src/var/rcheckableType.js","webpack:///./node_modules/jquery/src/css/var/rnumnonpx.js","webpack:///./node_modules/jquery/src/css/support.js","webpack:///./node_modules/jquery/src/attributes/support.js","webpack:///./node_modules/jquery/src/core/stripAndCollapse.js","webpack:///./node_modules/jquery/src/event/trigger.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/@rails/ujs/lib/assets/compiled/rails-ujs.js","webpack:///./node_modules/party-js/lib/containers.js","webpack:///./node_modules/party-js/lib/components/spline.js","webpack:///./node_modules/party-js/lib/util/rules.js","webpack:///./node_modules/party-js/lib/particles/emitter.js","webpack:///./node_modules/party-js/lib/particles/particle.js","webpack:///./node_modules/party-js/lib/systems/shapes.js","webpack:///./node_modules/jquery/src/jquery.js","webpack:///./node_modules/jquery/src/var/concat.js","webpack:///./node_modules/jquery/src/var/push.js","webpack:///./node_modules/jquery/src/var/toString.js","webpack:///./node_modules/jquery/src/var/fnToString.js","webpack:///./node_modules/jquery/src/core/DOMEval.js","webpack:///./node_modules/jquery/src/traversing/var/rneedsContext.js","webpack:///./node_modules/jquery/src/core/var/rsingleTag.js","webpack:///./node_modules/jquery/src/traversing/findFilter.js","webpack:///./node_modules/jquery/src/core/ready.js","webpack:///./node_modules/jquery/src/data/Data.js","webpack:///./node_modules/jquery/src/data/var/dataUser.js","webpack:///./node_modules/jquery/src/var/pnum.js","webpack:///./node_modules/jquery/src/css/var/isHiddenWithinTree.js","webpack:///./node_modules/jquery/src/css/var/swap.js","webpack:///./node_modules/jquery/src/css/adjustCSS.js","webpack:///./node_modules/jquery/src/manipulation/var/rtagName.js","webpack:///./node_modules/jquery/src/manipulation/var/rscriptType.js","webpack:///./node_modules/jquery/src/manipulation/wrapMap.js","webpack:///./node_modules/jquery/src/manipulation/getAll.js","webpack:///./node_modules/jquery/src/manipulation/setGlobalEval.js","webpack:///./node_modules/jquery/src/manipulation/buildFragment.js","webpack:///./node_modules/jquery/src/css/var/getStyles.js","webpack:///./node_modules/jquery/src/css/curCSS.js","webpack:///./node_modules/jquery/src/css/addGetHookIf.js","webpack:///./node_modules/jquery/src/css/finalPropName.js","webpack:///./node_modules/jquery/src/attributes/prop.js","webpack:///./node_modules/jquery/src/ajax/var/nonce.js","webpack:///./node_modules/jquery/src/ajax/var/rquery.js","webpack:///./node_modules/jquery/src/serialize.js","webpack:///./node_modules/sweetalert2/dist/sweetalert2.all.js","webpack:///./app/javascript/packs/achievements.js","webpack:///./node_modules/party-js/lib/scene.js","webpack:///./node_modules/party-js/lib/debug.js","webpack:///./node_modules/party-js/lib/util/rotation.js","webpack:///./node_modules/party-js/lib/components/circle.js","webpack:///./node_modules/party-js/lib/components/color.js","webpack:///./node_modules/party-js/lib/components/gradient.js","webpack:///./node_modules/party-js/lib/components/numericSpline.js","webpack:///./node_modules/party-js/lib/components/rect.js","webpack:///./node_modules/party-js/lib/util/lazy.js","webpack:///./node_modules/party-js/lib/particles/options/index.js","webpack:///./node_modules/party-js/lib/particles/options/emitterOptions.js","webpack:///./node_modules/party-js/lib/particles/options/emissionOptions.js","webpack:///./node_modules/party-js/lib/particles/options/renderOptions.js","webpack:///./node_modules/party-js/lib/particles/renderer.js","webpack:///./node_modules/party-js/lib/templates/index.js","webpack:///./node_modules/party-js/lib/templates/confetti.js","webpack:///./node_modules/party-js/lib/templates/sparkles.js","webpack:///./node_modules/jquery/src/var/getProto.js","webpack:///./node_modules/jquery/src/var/ObjectFunctionString.js","webpack:///./node_modules/jquery/src/selector-sizzle.js","webpack:///./node_modules/jquery/external/sizzle/dist/sizzle.js","webpack:///./node_modules/jquery/src/traversing/var/dir.js","webpack:///./node_modules/jquery/src/traversing/var/siblings.js","webpack:///./node_modules/jquery/src/deferred/exceptionHook.js","webpack:///./node_modules/jquery/src/core/readyException.js","webpack:///./node_modules/jquery/src/data.js","webpack:///./node_modules/jquery/src/queue/delay.js","webpack:///./node_modules/jquery/src/css/showHide.js","webpack:///./node_modules/jquery/src/manipulation/support.js","webpack:///./node_modules/jquery/src/css/var/rboxStyle.js","webpack:///./node_modules/jquery/src/effects/Tween.js","webpack:///./node_modules/jquery/src/attributes.js","webpack:///./node_modules/jquery/src/attributes/attr.js","webpack:///./node_modules/jquery/src/attributes/classes.js","webpack:///./node_modules/jquery/src/attributes/val.js","webpack:///./node_modules/jquery/src/event/focusin.js","webpack:///./node_modules/jquery/src/event/support.js","webpack:///./node_modules/jquery/src/manipulation/_evalUrl.js","webpack:///./node_modules/jquery/src/ajax/var/location.js","webpack:///./node_modules/jquery/src/ajax/parseXML.js","webpack:///./node_modules/jquery/src/wrap.js","webpack:///./node_modules/jquery/src/css/hiddenVisibleSelectors.js","webpack:///./node_modules/jquery/src/ajax/xhr.js","webpack:///./node_modules/jquery/src/ajax/script.js","webpack:///./node_modules/jquery/src/ajax/jsonp.js","webpack:///./node_modules/jquery/src/ajax/load.js","webpack:///./node_modules/jquery/src/core/parseHTML.js","webpack:///./node_modules/jquery/src/core/support.js","webpack:///./node_modules/jquery/src/event/ajax.js","webpack:///./node_modules/jquery/src/effects/animatedSelector.js","webpack:///./node_modules/jquery/src/offset.js","webpack:///./node_modules/jquery/src/dimensions.js","webpack:///./node_modules/jquery/src/deprecated.js","webpack:///./node_modules/jquery/src/event/alias.js","webpack:///./node_modules/jquery/src/exports/amd.js","webpack:///./node_modules/jquery/src/exports/global.js","webpack:///./app/javascript/packs/trix_embed.js","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/@rails/activestorage/app/assets/javascripts/activestorage.js","webpack:///./node_modules/jquery/dist/jquery.js","webpack:///./app/javascript/packs/application.js","webpack:///./node_modules/turbolinks/dist/turbolinks.js","webpack:///./node_modules/bootstrap/dist/js/bootstrap.js","webpack:///./node_modules/popper.js/dist/esm/popper.js","webpack:///./node_modules/cocoon-js-vanilla/index.js","webpack:///./node_modules/@rails/actiontext/app/javascript/actiontext/attachment_upload.js","webpack:///./node_modules/@rails/actiontext/app/javascript/actiontext/index.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","arr","document","getProto","slice","concat","push","indexOf","class2type","toString","hasOwn","fnToString","ObjectFunctionString","support","isFunction","isWindow","DOMEval","toType","version","jQuery","selector","context","fn","init","rtrim","isArrayLike","obj","length","type","jquery","constructor","toArray","this","num","pushStack","elems","ret","merge","prevObject","each","callback","map","elem","apply","arguments","first","eq","last","len","j","end","sort","splice","extend","options","src","copy","copyIsArray","clone","target","deep","isPlainObject","Array","isArray","undefined","expando","Math","random","replace","isReady","error","msg","Error","noop","proto","Ctor","isEmptyObject","globalEval","code","nonce","trim","text","makeArray","results","inArray","second","grep","invert","matches","callbackExpect","arg","guid","iterator","split","toLowerCase","nodeType","window","rsingleTag","rootjQuery","rquickExpr","root","match","exec","find","parseHTML","ownerDocument","test","attr","getElementById","ready","Data","__createBinding","k","k2","__exportStar","lerp","a","b","approximately","clamp","invlerp","slerp","epsilon","rad2deg","deg2rad","PI","cos","v","min","max","abs","nodeName","access","chainable","emptyGet","raw","bulk","default","forceInit","util","math","sources","variation","Emitter","Particle","settings","scene","scene_1","util_1","Lazy","Scene","settings_1","particle_1","emitter_1","current","dir","siblings","rneedsContext","rparentsprev","guaranteedUnique","children","contents","next","prev","sibling","cur","has","targets","filter","contains","closest","selectors","matched","parentNode","index","matchesSelector","uniqueSort","prevAll","add","addBack","parent","parents","parentsUntil","until","nextAll","nextUntil","prevUntil","firstChild","contentDocument","content","childNodes","reverse","Identity","Thrower","ex","adoptValue","resolve","reject","noValue","method","promise","done","fail","then","Deferred","func","tuples","Callbacks","state","always","deferred","pipe","fns","newDefer","tuple","returned","progress","notify","onFulfilled","onRejected","onProgress","maxDepth","depth","handler","special","that","args","mightThrow","TypeError","notifyWith","resolveWith","process","e","exceptionHook","stackTrace","rejectWith","getStackHook","setTimeout","list","stateString","disable","lock","fire","fireWith","when","singleValue","remaining","resolveContexts","resolveValues","master","updateFunc","documentElement","rnothtmlwhite","rcheckableType","dataPriv","rkeyEvent","rmouseEvent","rtypenamespace","returnTrue","returnFalse","expectSync","activeElement","err","safeActiveElement","on","types","data","one","origFn","event","off","leverageNative","el","set","namespace","notAsync","result","saved","isTrigger","delegateType","stopPropagation","stopImmediatePropagation","preventDefault","trigger","Event","global","handleObjIn","eventHandle","tmp","events","handleObj","handlers","namespaces","origType","elemData","handle","triggered","dispatch","bindType","needsContext","expr","join","delegateCount","setup","addEventListener","remove","mappedTypes","origCount","hasData","RegExp","teardown","removeEvent","nativeEvent","handlerQueue","fix","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","postDispatch","sel","matchedHandlers","matchedSelectors","button","disabled","addProp","hook","configurable","originalEvent","writable","load","noBubble","click","_default","beforeunload","returnValue","removeEventListener","props","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","Date","now","isSimulated","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","view","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","focus","blur","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","location","rquery","r20","rhash","rantiCache","rheaders","rnoContent","rprotocol","prefilters","transports","allTypes","originAnchor","createElement","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","unshift","inspectPrefiltersOrTransports","originalOptions","jqXHR","inspected","seekingTransport","inspect","selected","_","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","href","active","lastModified","etag","url","isLocal","protocol","processData","async","contentType","accepts","html","xml","json","responseFields","converters","String","JSON","parse","parseXML","ajaxSetup","ajaxPrefilter","ajaxTransport","ajax","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","urlAnchor","completed","fireGlobals","uncached","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","readyState","getResponseHeader","getAllResponseHeaders","setRequestHeader","overrideMimeType","mimeType","status","abort","statusText","finalText","crossDomain","host","param","traditional","toUpperCase","hasContent","cache","ifModified","headers","beforeSend","complete","success","timeout","send","nativeStatusText","responses","isSuccess","response","modified","clearTimeout","ct","finalDataType","firstDataType","shift","ajaxHandleResponses","conv2","conv","dataFilter","throws","ajaxConvert","getJSON","getScript","gradientSample","splineSample","skewRelative","skew","range","evaluateVariation","random_1","spline","evaluate","pick","randomRange","amount","percentage","gradient","randomInsideCircle","randomInsideRect","randomUnitVector","components_1","math_1","floor","theta","z","Vector","sqrt","sin","rect","x","width","y","height","circle","radius","rmsPrefix","rdashAlpha","fcamelCase","all","letter","string","camelCase","rcssNum","rnumnonpx","cssExpand","getStyles","swap","curCSS","adjustCSS","addGetHookIf","finalPropName","rdisplayswap","rcustomProp","cssShow","position","visibility","display","cssNormalTransform","letterSpacing","fontWeight","setPositiveNumber","subtract","boxModelAdjustment","dimension","box","isBorderBox","styles","computedVal","extra","delta","css","ceil","getWidthOrHeight","boxSizingReliable","valueIsBorderBox","val","offsetProp","parseFloat","getClientRects","cssHooks","opacity","computed","cssNumber","cssProps","style","hooks","origName","isCustomProp","clearCloneStyle","setProperty","isFinite","getBoundingClientRect","scrollboxSizeBuggy","scrollboxSize","marginLeft","reliableMarginLeft","left","margin","padding","border","prefix","suffix","expand","expanded","parts","debug","gravity","zIndex","respectReducedMotion","circleSource","rectSource","mouseSource","elementSource","dynamicSource","source","Rect","fromElement","scrollX","scrollY","HTMLElement","Circle","MouseEvent","isAttached","composed","getRootNode","rtagName","rscriptType","wrapMap","getAll","setGlobalEval","buildFragment","dataUser","acceptData","rxhtmlTag","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","getAttribute","restoreScript","removeAttribute","cloneCopyEvent","dest","pdataOld","pdataCur","udataOld","udataCur","fixInput","checked","defaultValue","domManip","collection","ignored","fragment","scripts","hasScripts","node","doc","iNoClone","valueIsFunction","checkClone","self","_evalUrl","noModule","textContent","keepData","nodes","cleanData","removeChild","htmlPrefilter","dataAndEvents","deepDataAndEvents","srcElements","destElements","cloneNode","inPage","noCloneChecked","isXMLDoc","detach","empty","append","appendChild","prepend","insertBefore","before","after","nextSibling","innerHTML","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","original","insert","Set","clear","values","forEach","_state","_handled","_value","_deferreds","h","u","setImmediate","console","warn","race","_setImmediateFn","_setUnhandledRejectionFn","Promise","customElements","registerElement","WeakMap","A","g","uid_","takeRecords","nodes_","observer","removeTransientObservers","callback_","subtree","enqueue","records_","C","addedNodes","removedNodes","previousSibling","attributeName","attributeNamespace","oldValue","w","f","transientObservedNodes","JsMutationObserver","navigator","userAgent","postMessage","observe","ShadowDOMPolyfill","wrapIfNeeded","childList","attributes","characterData","attributeOldValue","attributeFilter","characterDataOldValue","SyntaxError","removeListeners","addListeners","disconnect","addListeners_","removeListeners_","addTransientObserver","handleEvent","attrName","relatedNode","namespaceURI","attrChange","MutationEvent","ADDITION","prevValue","MutationObserver","_isPolyfilled","performance","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","createEvent","initEvent","CustomEvent","initCustomEvent","Boolean","WebComponents","CustomElements","flags","addModule","initializeModules","hasNative","isIE","useNative","register","HTMLImports","firstElementChild","Node","ELEMENT_NODE","nextElementSibling","shadowRoot","olderShadowRoot","wrap","querySelectorAll","import","IMPORT_LINK_TYPE","forDocumentTree","forSubtree","upgrade","__upgraded__","__attached","attachedCallback","detachedCallback","dom","URL","_URL","localName","pop","group","DOCUMENT_FRAGMENT_NODE","E","groupEnd","__observer","baseURI","hasPolyfillMutations","hasThrottledAttached","S","Element","createShadowRoot","watchShadow","__watched","log","upgradeDocumentTree","upgradeDocument","upgradeSubtree","upgradeAll","attached","is","setAttribute","createdCallback","__proto__","getOwnPropertyNames","getOwnPropertyDescriptor","getPrototypeOf","native","HTMLTemplateElement","decorate","getRegisteredDefinition","tag","extends","upgradeWithDefinition","implementPrototype","_polyfilled","attributeChangedCallback","ctor","createElementNS","__name","lifecycle","ancestry","registry","instanceof","reservedTagList","readyTime","elapsed","dispatchEvent","unwrap","unwrapIfNeeded","__importsParsingHook","eager","attachEvent","Trix","VERSION","ZERO_WIDTH_SPACE","NON_BREAKING_SPACE","OBJECT_REPLACEMENT_CHARACTER","browser","composesExistingText","forcesObjectResizing","supportsInputEvents","InputEvent","config","BasicObject","proxyMethod","toMethod","toProperty","optional","Function","__super__","id","fromJSONString","fromJSON","hasSameConstructorAs","isEqualTo","contentsForInspection","toJSONString","stringify","toUTF16String","UTF16String","getCacheKey","defer","normalizeSpaces","normalizeNewlines","breakableWhitespacePattern","squishBreakableWhitespace","summarizeStringChange","added","removed","utf16String","offset","codepoints","fromCodepoints","charAt","copyObject","objectsAreEqual","keys","arraysAreEqual","arrayStartsWith","spliceArray","summarizeArrayChange","getAllAttributeNames","getTextAttributeNames","getBlockAttributeNames","getBlockConfig","blockAttributes","getTextConfig","textAttributes","getListAttributeNames","listAttribute","webkitMatchesSelector","msMatchesSelector","mozMatchesSelector","onElement","matchingSelector","withCallback","inPhase","times","destroy","findClosestElementFromNode","handleEventOnce","triggerEvent","elementMatchesSelector","untilNode","findInnerElement","innerElementIsActive","elementContainsNode","findNodeFromContainerAndOffset","TEXT_NODE","item","findElementFromContainerAndOffset","findChildIndexOfNode","removeNode","walkTree","onlyNodesOfType","usingFilter","expandEntityReferences","NodeFilter","SHOW_ELEMENT","SHOW_TEXT","SHOW_COMMENT","SHOW_ALL","createTreeWalker","tagName","makeElement","editable","contenteditable","dataset","className","classList","getBlockTagNames","blockTagNames","nodeIsBlockContainer","nodeIsBlockStartComment","nodeProbablyIsBlockContainer","nodeIsBlockStart","strict","nodeIsCommentNode","COMMENT_NODE","nodeIsCursorTarget","nodeIsTextNode","trixCursorTarget","nodeIsAttachmentElement","AttachmentView","attachmentSelector","nodeIsEmptyTextNode","normalizeRange","rangeIsCollapsed","rangesAreEqual","defaultCSS","head","querySelector","initialize","connect","initialized","connectedCallback","disconnectedCallback","Reflect","construct","setPrototypeOf","defineProperties","define","getDOMSelection","getSelection","rangeCount","getDOMRange","getRangeAt","setDOMRange","removeAllRanges","addRange","selectionChangeObserver","update","startContainer","endContainer","dataTransferIsPlainText","getData","DOMParser","parseFromString","body","dataTransferIsWritable","setData","keyEventIsKeyboardCommand","platform","RTL_PATTERN","getDirection","dirName","FormData","Hash","fromCommonAttributesOfObjects","getKeys","getKeysCommonToHash","isEmpty","array","toObject","toJSON","ObjectGroup","objects","asTree","groupObjects","canBeGrouped","canBeGroupedWith","getObjects","getDepth","ObjectMap","ElementStore","reset","elements","trixStoreKey","Operation","isPerforming","performing","hasPerformed","performed","hasSucceeded","succeeded","hasFailed","getPromise","perform","release","cancel","ucs2String","ucs2Length","fromUCS2String","offsetToUCS2Offset","offsetFromUCS2Offset","from","codePointAt","fromCodePoint","charCodeAt","fromCharCode","lang","attachFiles","bold","bullets","bytes","captionPlaceholder","heading1","indent","italic","link","numbers","outdent","quote","redo","strike","undo","unlink","urlPlaceholder","GB","KB","MB","PB","TB","attachment","attachmentCaption","attachmentCaptionEditor","attachmentMetadata","attachmentMetadataContainer","attachmentName","attachmentProgress","attachmentSize","attachmentToolbar","attachmentGallery","nestable","terminal","breakOnReturn","plaintext","bulletList","bullet","numberList","number","exclusive","fileSize","precision","formatter","byte","pow","toFixed","inheritable","parser","getComputedStyle","fontStyle","groupTagName","frozen","backgroundColor","serializers","Document","fromHTML","toSerializableDocument","DocumentView","render","deserializers","serializeToContentType","deserializeFromContentType","toolbar","getDefaultHTML","undoInterval","attachments","preview","presentation","caption","size","file","keyNames","input","level2Enabled","getLevel","pickFiles","multiple","hidden","fileInputId","files","ObjectView","childViews","rootView","getNodes","createNodes","invalidate","parentView","invalidateViewForObject","findViewForObject","findOrCreateCachedChildView","getCachedViewForObject","recordChildView","createChildView","cacheViewForObject","viewClass","ObjectGroupView","getAllChildViews","findElement","findElementForObject","element","getViewCache","isViewCachingEnabled","viewCache","shouldCacheViews","enableViewCaching","disableViewCaching","garbageCollectCachedViews","objectGroup","getChildViews","createContainerElement","Controller","didMutate","start","stop","mutations","findSignificantMutations","delegate","elementDidMutate","getMutationSummary","mutationIsSignificant","nodeIsMutable","nodesModifiedByMutation","nodeIsSignificant","getTextMutationSummary","getTextChangesFromCharacterData","additions","deletions","getTextChangesFromChildList","textAdded","textDeleted","getMutationsByType","FileVerificationOperation","FileReader","onerror","onload","readAsArrayBuffer","InputController","mutationObserver","handlerFor","editorWillSyncDocumentView","editorDidSyncDocumentView","requestRender","inputControllerDidRequestRender","requestReparse","inputControllerDidRequestReparse","handleInput","inputControllerWillAttachFiles","responder","insertFiles","eventName","inputControllerWillHandleInput","inputControllerDidHandleInput","createLinkHTML","outerHTML","Level0InputController","resetInputSummary","setInputSummary","inputSummary","isComposing","inputControllerDidAllowUnhandledInput","mutationIsExpected","preferDocument","didDelete","getSelectedRange","positionIsBlockBreak","compositionInput","getEndData","keydown","didInput","keyName","inputControllerDidReceiveKeyboardCommand","keypress","inputControllerWillPerformTyping","insertString","selectionIsExpanded","textInput","setSelectedRange","dragenter","dragstart","serializeSelectionToDataTransfer","dataTransfer","draggedRange","inputControllerDidStartDrag","dragover","canAcceptDataTransfer","draggingPoint","inputControllerDidReceiveDragOverPoint","dragend","inputControllerDidCancelDrag","drop","setLocationRangeFromPointRange","inputControllerWillMoveText","moveTextFromRange","insertDocument","cut","clipboardData","inputControllerWillCutText","deleteInDirection","paste","R","D","L","testClipboardData","clipboard","getPastedHTMLUsingHiddenElement","inputControllerWillPaste","insertHTML","inputControllerDidPaste","items","getAsFile","insertFile","compositionstart","getCompositionInput","compositionupdate","compositionend","beforeinput","backspace","insertLineBreak","tab","canIncreaseNestingLevel","increaseNestingLevel","selectionIsInCursorTarget","moveCursorInDirection","right","control","updatePosition","canDecreaseNestingLevel","decreaseNestingLevel","expandSelectionInDirection","alt","meta","isEnded","getSelectedDocument","Files","pageXOffset","top","pageYOffset","inputController","isSignificant","insertPlaceholder","selectPlaceholder","forgetPlaceholder","canApplyToDocument","Level2InputController","scheduledRender","composing","reparse","scheduleRender","afterRender","withEvent","inputTypes","inputType","selectionContainsAttachments","dragging","point","ArrowLeft","shouldManageMovingCursorInDirection","ArrowRight","Backspace","shouldManageDeletingInDirection","Tab","deleteByComposition","recordUndoEntry","deleteByCut","deleteByDrag","withTargetDOMRange","deleteByDragRange","deleteCompositionText","deleteContent","deleteContentBackward","deleteContentForward","deleteEntireSoftLine","deleteHardLineBackward","deleteHardLineForward","deleteSoftLineBackward","deleteSoftLineForward","deleteWordBackward","deleteWordForward","formatBackColor","activateAttributeIfSupported","formatBold","toggleAttributeIfSupported","formatFontColor","formatFontName","formatIndent","formatItalic","formatJustifyCenter","formatJustifyFull","formatJustifyLeft","formatJustifyRight","formatOutdent","formatRemove","getCurrentAttributes","removeCurrentAttribute","formatSetBlockTextDirection","formatSetInlineTextDirection","formatStrikeThrough","formatSubscript","formatSuperscript","formatUnderline","historyRedo","inputControllerWillPerformRedo","historyUndo","inputControllerWillPerformUndo","insertCompositionText","insertFromComposition","insertFromDrop","insertFromPaste","insertFromYank","insertLink","insertOrderedList","insertParagraph","insertReplacementText","insertText","insertTranspose","insertUnorderedList","inputControllerWillPerformFormatting","toggleCurrentAttribute","setCurrentAttribute","getTargetDOMRange","minLength","getTargetRanges","createRange","setStart","startOffset","setEnd","endOffset","AttachmentEditorController","attachmentPiece","container","didBlurCaption","didChangeCaption","didInputCaption","didKeyDownCaption","didClickActionButton","didClickToolbar","install","undos","makeElementMutable","addToolbar","isPreviewable","installCaptionEditor","uninstall","savePendingCaption","didUninstallAttachmentEditor","pendingCaption","attachmentEditorDidRequestUpdatingAttributesForAttachment","attachmentEditorDidRequestRemovingAttributeForAttachment","trixMutable","title","trixAction","getFilename","getFormattedFilesize","placeholder","getCaption","tabIndex","scrollHeight","parentElement","editCaption","attachmentEditorDidRequestRemovalOfAttachment","attachmentEditorDidRequestDeselectingAttachment","uploadProgressDelegate","piece","createContentNodes","getClassName","getHref","tabindex","getContent","createCaptionElement","isPending","progressElement","getUploadProgress","getCaptionConfig","createTextNode","getType","getExtension","trixAttachment","trixContentType","getContentType","trixId","trixAttributes","trixSerialize","findProgressElement","attachmentDidChangeUploadProgress","PreviewableAttachmentView","previewDelegate","image","refresh","updateAttributesForImage","getURL","getPreviewURL","getWidth","getHeight","attachmentDidChangeAttributes","PieceView","getAttributes","textConfig","createAttachmentNodes","createStringNodes","preserveSpaces","styleProperty","isLast","isFirst","followsWhitespace","TextView","getPieces","hasAttribute","BlockView","block","createComment","getLastAttribute","shouldAddExtraNewlineElement","isRTL","getBlockBreakPosition","elementStore","setDocument","sync","shadowElement","getBlocks","isSynced","createDocumentFragmentForSync","lastChild","didSync","createDocumentFragment","CompositionController","composition","didClickAttachment","didBlur","didFocus","documentView","focused","compositionControllerDidFocus","blurPromise","compositionControllerDidBlur","findAttachmentForElement","compositionControllerDidSelectAttachment","getSerializableElement","isEditingAttachment","revision","canSyncDocumentView","compositionControllerWillSyncDocumentView","compositionControllerDidSyncDocumentView","compositionControllerDidRender","rerenderViewForObject","refreshViewCache","attachmentEditor","installAttachmentEditorForAttachment","uninstallAttachmentEditor","getAttachmentPieceForAttachment","compositionControllerWillUpdateAttachment","updateAttributesForAttachment","removeAttributeForAttachment","compositionControllerDidRequestRemovalOfAttachment","compositionControllerDidRequestDeselectingAttachment","getAttachmentById","parseInt","ToolbarController","didKeyDownDialogInput","didClickDialogButton","didClickAttributeButton","actions","resetDialogInputs","toolbarDidClickButton","getDialog","toggleDialog","toolbarDidInvokeAction","toolbarDidToggleAttribute","refreshAttributeButtons","hideDialog","updateActions","refreshActionButtons","eachActionButton","updateAttributes","eachAttributeButton","dialogIsVisible","applyKeyboardCommand","showDialog","toolbarWillShowDialog","select","toolbarDidShowDialog","willValidate","checkValidity","toolbarDidUpdateAttribute","toolbarDidRemoveAttribute","toolbarDidHideDialog","ImagePreloadOperation","Image","naturalWidth","naturalHeight","Attachment","releaseFile","didChangeAttributes","previewablePattern","attachmentForFile","attributesForFile","setFile","filename","filesize","setAttributes","preloadURL","getFilesize","getFile","preloadFile","releasePreloadedFile","uploadProgress","setUploadProgress","previewURL","preloadingURL","setPreviewURL","attachmentDidChangePreviewURL","preload","fileObjectURL","createObjectURL","revokeObjectURL","Piece","registerType","copyWithAttributes","getValue","copyWithAdditionalAttributes","copyWithoutAttribute","getAttributesHash","getCommonAttributes","pieceList","getPieceAtIndex","eachPiece","hasSameStringValueAsPiece","hasSameAttributesAsPiece","isBlockBreak","isSerializable","getLength","canBeConsolidatedWith","AttachmentPiece","ensureAttachmentExclusivelyHasAttribute","removeProhibitedAttributes","permittedAttributes","toConsole","StringPiece","consolidateWith","splitAtOffset","SplittableList","eachObject","insertObjectAtIndex","insertSplittableListAtIndex","insertSplittableListAtPosition","splitObjectAtPosition","editObjectAtIndex","replaceObjectAtIndex","removeObjectAtIndex","getObjectAtIndex","getSplittableListInRange","splitObjectsAtRange","selectSplittableList","removeObjectsInRange","transformObjectsInRange","getObjectAtPosition","findIndexAndOffsetAtPosition","consolidate","consolidateFromIndexToIndex","findPositionAtIndexAndOffset","getEndPosition","endPosition","Text","textForAttachmentWithAttributes","textForStringWithAttributes","copyWithPieceList","copyUsingObjectMap","appendText","insertTextAtPosition","removeTextAtRange","replaceTextAtRange","moveTextFromRangeToPosition","getTextAtRange","addAttributeAtRange","addAttributesAtRange","removeAttributeAtRange","setAttributesAtRange","getAttributesAtPosition","getCommonAttributesAtRange","getExpandedRangeForAttributeAtOffset","getStringAtRange","getStringAtPosition","startsWithString","endsWithString","getAttachmentPieces","getAttachments","getAttachmentAndPositionById","getRangeOfAttachment","getPieceAtPosition","toSerializableText","Block","copyWithText","copyWithoutText","copyWithoutAttributes","addAttribute","removeLastAttribute","getAttributeLevel","getAttributeAtLevel","hasAttributes","getLastNestableAttribute","getNestableAttributes","getNestingLevel","lastIndexOf","getListItemAttributes","isListItem","isTerminalBlock","breaksOnReturn","findLineBreakInDirectionFromPosition","getTextWithoutBlockBreak","blockBreak","HTMLSanitizer","allowedAttributes","forbiddenProtocols","forbiddenElements","sanitize","sanitizeElements","normalizeListElementNesting","getHTML","getBody","nextNode","currentNode","elementIsRemovable","sanitizeElement","previousElementSibling","elementIsForbidden","elementIsntSerializable","implementation","createHTMLDocument","HTMLParser","referenceElement","blocks","blockElements","processedElements","getDocument","createHiddenContainer","containerElement","processNode","translateBlockElementMarginsToNewlines","removeHiddenContainer","FILTER_REJECT","FILTER_ACCEPT","isInsignificantTextNode","appendBlockForTextNode","processTextNode","appendBlockForElement","processElement","currentBlockElement","isBlockElement","appendStringWithAttributes","getBlockAttributes","currentBlock","appendBlockForAttributesWithElement","findParentBlockElement","appendEmptyBlock","getTextAttributes","appendAttachmentWithAttributes","isExtraBR","appendPiece","appendStringToTextAtIndex","prependStringToTextAtIndex","findBlockElementAncestors","whiteSpace","getMarginOfDefaultBlockElement","getMarginOfBlockElementAtIndex","bottom","marginTop","marginBottom","blockList","fromString","getBlockAtIndex","consolidateBlocks","copyUsingObjectsFromDocument","copyWithBaseBlockAttributes","replaceBlock","insertDocumentAtRange","locationFromPosition","getBlockAtPosition","mergeDocumentAtRange","getBaseBlockAttributes","getBlockCount","insertTextAtRange","locationRangeFromRange","getDocumentAtRange","eachBlockAtRange","eachBlock","getTextAtIndex","insertBlockBreakAtRange","applyBlockAttributeAtRange","expandRangeToLineBreaksAndSplitBlocks","removeLastListAttributeAtRange","exceptAttributeName","convertLineBreaksToBlockBreaksInRange","removeBlockAttributesAtRange","removeLastTerminalAttributeAtRange","consolidateBlocksAtRange","positionFromLocation","getTextAtPosition","getCharacterAtPosition","getEditCount","editCount","getCommonAttributesAtPosition","getRangeOfCommonAttributeAtPosition","getLocationRangeOfAttachment","findRangesForBlockAttribute","findRangesForTextAttribute","withValue","locationRangeFromPosition","rangeFromLocationRange","getTexts","LineBreakInsertion","startPosition","startLocation","endLocation","previousCharacter","nextCharacter","shouldInsertBlockBreak","shouldBreakFormattedBlock","shouldDecreaseListLevel","shouldPrependListItem","shouldRemoveLastBlockAttribute","Composition","currentAttributes","refreshAttachments","compositionDidChangeDocument","getSnapshot","selectedRange","loadSnapshot","compositionWillLoadSnapshot","setSelection","compositionDidLoadSnapshot","notifyDelegateOfInsertionAtRange","insertBlock","getCurrentTextAttributes","insertBlockBreak","decreaseListLevel","removeLastBlockAttribute","breakFormattedBlock","replaceHTML","getLocationRange","compositionShouldAcceptFile","insertAttachments","insertAttachment","canDecreaseBlockAttributeLevel","getBlock","decreaseBlockAttributeLevel","getExpandedRangeInDirection","getAttachmentAtRange","editAttachment","removeAttachment","stopEditingAttachment","placeholderPosition","getPosition","hasCurrentAttribute","canSetCurrentAttribute","canSetCurrentBlockAttribute","canSetCurrentTextAttribute","setBlockAttribute","setTextAttribute","notifyDelegateOfCurrentAttributesChange","removeBlockAttribute","updateCurrentAttributes","removeTextAttribute","getPreviousBlock","ignoreLock","freezeSelection","thawSelection","hasFrozenSelection","compositionDidRequestChangingSelectionToLocationRange","getSelectionManager","setLocationRange","targetLocationRange","withTargetLocationRange","withTargetRange","createLocationRangeFromDOMRange","translateUTF16PositionFromOffset","editingAttachment","expandSelectionForEditing","expandSelectionAroundCommonAttribute","getSelectedAttachments","positionIsCursorTarget","locationIsCursorTarget","compositionDidRemoveAttachment","compositionDidAddAttachment","compositionDidEditAttachment","compositionDidChangeAttachmentPreviewURL","compositionDidStartEditingAttachment","compositionDidStopEditingAttachment","compositionDidChangeCurrentAttributes","compositionDidPerformInsertionAtRange","UndoManager","undoEntries","redoEntries","consolidatable","createEntry","description","snapshot","canUndo","canRedo","attachmentGalleryFilter","applyBlockAttribute","findRangesOfBlocks","findRangesOfPieces","moveSelectedRangeForward","Editor","selectionManager","undoManager","filters","loadDocument","loadHTML","loadJSON","getClientRectAtPosition","getClientRectAtLocationRange","activateAttribute","attributeIsActive","canActivateAttribute","deactivateAttribute","ManagedAttachment","attachmentManager","requestRemovalOfAttachment","AttachmentManager","managedAttachments","manageAttachment","attachmentIsManaged","attachmentManagerDidRequestRemovalOfAttachment","unmanageAttachment","LocationMapper","findLocationFromContainerAndOffset","findAttachmentElementParentForNode","findContainerAndOffsetFromLocation","findNodeAndOffsetFromLocation","getSignificantNodesForIndex","PointMapper","createDOMRangeFromPoint","caretPositionFromPoint","offsetNode","caretRangeFromPoint","createTextRange","moveToPoint","getClientRectsForDOMRange","SelectionChangeObserver","run","selectionManagers","started","registerSelectionManager","unregisterSelectionManager","notifySelectionManagersOfSelectionChange","selectionDidChange","domRange","SelectionManager","didMouseDown","locationMapper","pointMapper","lockCount","currentLocationRange","lockedLocationRange","createDOMRangeFromLocationRange","updateCurrentLocationRange","getLocationAtPoint","unlock","clearSelection","selectionIsCollapsed","collapsed","domRangeWithinElement","pauseTemporarily","paused","locationRangeDidChange","EditorController","editorElement","compositionController","toolbarController","toolbarElement","editor","notifyEditorElement","handlingInput","updateCurrentActions","pasting","pastedRange","attachmentLocationRange","loadingSnapshot","isFocused","requestedLocationRange","compositionRevisionWhenLocationRangeRequested","renderedCompositionRevision","runEditorFilters","isFocusedInvisibly","requestedRender","recordTypingUndoEntry","recordFormattingUndoEntry","locationRangeBeforeDrag","invokeAction","selectionFrozen","dialogName","canInvokeAction","actionIsExternal","actionName","getCurrentActions","currentActions","updateInputElement","setInputElementValue","documentChangedSinceLastRender","getUndoContext","getLocationContext","getTimeContext","getTime","queryCommandSupported","execCommand","labels","inputElement","editorController","registerResetListener","registerClickListener","unregisterResetListener","unregisterClickListener","resetListener","resetBubbled","clickListener","clickBubbled","form","overrideDefaults","defaults","overrides","assign","__spreadArray","to","il","Float32Array","xyz","magnitude","sqrMagnitude","vector","scale","scalar","normalized","angle","acos","cross","dot","from2dAngle","zero","up","forward","ModuleBuilder","factor","isRelative","drive","driverKey","through","by","driver","driverValue","relative","build","_this","particle","updateDrivenProperty","evaluateModuleDriver","initialLifetime","lifetime","calculateModuleFactor","initial","substr","flag","createOptions","firing","memory","fired","locked","queue","firingIndex","once","stopOnFalse","unique","owner","dequeue","startLength","_queueHooks","setter","clearQueue","count","isHiddenWithinTree","showHide","fxNow","inProgress","rfxtypes","rrun","schedule","fx","interval","tick","createFxNow","genFx","includeWidth","attrs","createTween","prop","animation","tween","Animation","tweeners","properties","stopped","currentTime","startTime","duration","percent","tweens","opts","specialEasing","easing","originalProperties","Tween","gotoEnd","propFilter","timer","anim","tweener","toggle","oldfire","propTween","restoreDisplay","isBox","dataShow","unqueued","overflow","overflowX","overflowY","prefilter","speed","opt","speeds","old","fadeTo","show","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","pnum","computeStyleTests","div","cssText","divStyle","pixelPositionVal","reliableMarginLeftVal","roundPixelMeasures","pixelBoxStylesVal","boxSizingReliableVal","scrollboxSizeVal","offsetWidth","measure","round","backgroundClip","pixelBoxStyles","pixelPosition","checkOn","optSelected","radioValue","rfocusMorph","stopPropagationCallback","onlyHandlers","bubbleType","ontype","lastElement","eventPath","defaultView","parentWindow","simulate","triggerHandler","Rails","linkClickSelector","buttonClickSelector","exclude","inputChangeSelector","formSubmitSelector","formInputClickSelector","formDisableSelector","formEnableSelector","fileInputSelector","linkDisableSelector","buttonDisableSelector","loadCSPNonce","ref","cspNonce","oMatchesSelector","$","csrfParam","csrfToken","CSRFProtection","xhr","token","refreshCSRFTokens","params","evt","stopEverything","eventType","AcceptHeaders","createXHR","prepareOptions","processResponse","script","responseText","XMLHttpRequest","OPENED","accept","open","withCredentials","onreadystatechange","DONE","isCrossDomain","serializeElement","additionalParam","inputs","option","encodeURIComponent","formElements","allowAction","handleConfirm","confirm","message","answer","disableFormElement","disableFormElements","disableLinkElement","enableFormElement","enableFormElements","enableLinkElement","isXhrRedirect","handleDisabledElement","enableElement","disableElement","replacement","originalText","handleMethod","formContent","action","isRemote","handleRemote","enctype","formSubmitButtonClick","formNoValidate","preventInsignificantClick","insignificantMetaClick","rails","_rails_loaded","particleContainer","debugContainer","rootContainer","isContainerActive","isConnected","makeContainer","pointerEvents","userSelect","background","color","fontFamily","perspective","Spline","_i","time","ascendingKeys","upperKeyIndex","findIndex","lowerKey","upperKey","containedTime","interpolate","despawningRules","bounds","vector_1","variation_1","config_1","options_1","particles","currentLoop","durationTimer","emissionTimer","attemptedBurstIndices","getDefaultEmitterOptions","emitterOptions","emission","getDefaultEmissionOptions","emissionOptions","renderer","getDefaultRendererOptions","rendererOptions","loops","clearParticles","isExpired","burstIndex","_a","bursts","burst","includes","emitParticle","delay","rate","_loop_1","this_1","tickParticle","some","rule","useGravity","velocity","moduleFunction","sourceSampler","initialSpeed","initialSize","rotation","initialRotation","initialColor","maxParticles","populatedOptions","Color","white","resolveShapeFactory","resolvableShapes","square","rectangle","roundedSquare","roundedRectangle","star","factory","shape","resolved","dummy","preservedScriptAttributes","winnow","qualifier","not","readyList","catch","readyException","readyWait","wait","doScroll","uid","valueParts","adjusted","maxIterations","currentValue","unit","initialInUnit","thead","col","tr","td","optgroup","tbody","tfoot","colgroup","th","getElementsByTagName","refElements","rhtml","selection","opener","rboxStyle","minWidth","maxWidth","getPropertyValue","conditionFn","hookFn","cssPrefixes","emptyStyle","vendorProps","final","capName","vendorPropName","rfocusable","rclickable","removeProp","propFix","nType","propHooks","selectedIndex","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","valueOrFunction","serialize","serializeArray","RESTORE_FOCUS_TIMEOUT","globalState","focusPreviousActiveElement","previousActiveElement","restoreActiveElement","returnFocus","restoreFocusTimeout","scrollTo","privateProps","innerParams","domCache","swalPrefix","swalClasses","reduce","acc","iconTypes","icon","consolePrefix","capitalizeFirstLetter","str","previousWarnOnceMessages","warnOnce","warnAboutDeprecation","deprecatedParam","useInstead","callIfFunction","hasToPromiseFn","toPromise","asPromise","isPromise","getContainer","elementBySelector","selectorString","elementByClass","getPopup","popup","getIcon","getIconContent","getTitle","getHtmlContainer","getImage","getProgressSteps","getValidationMessage","getConfirmButton","getCancelButton","getDenyButton","deny","getInputLabel","getLoader","loader","getActions","getFooter","footer","getTimerProgressBar","getCloseButton","close","focusable","getFocusableElements","focusableElementsWithTabindex","focusableElementsWithTabindexSorted","tabindexA","tabindexB","otherFocusableElements","otherFocusableElementsFiltered","isVisible$1","isModal","hasClass","shown","isToast","toast","isLoading","setInnerHtml","parsed","child","HTMLVideoElement","HTMLAudioElement","removeCustomClasses","showClass","applyCustomClass","customClass","addClass","getInput$1","inputClass","checkbox","radio","focusInput","toggleClass","condition","removeClass","getDirectChildByClass","applyNumericalStyle","removeProperty","hide","setStyle","offsetHeight","allButtonsAreHidden","isScrollable","clientHeight","hasCssAnimation","animDuration","transDuration","animateTimerProgressBar","timerProgressBar","transition","stopTimerProgressBar","timerProgressBarWidth","timerProgressBarPercent","isNodeEnv","sweetHTML","label","textarea","resetOldContainer","oldContainer","resetValidationMessage$1","currentInstance","resetValidationMessage","addInputChangeListeners","rangeOutput","oninput","onchange","getTarget","setupAccessibility","setupRTL","targetElement","direction","rtl","oldContainerExisted","parseHtmlToContainer","handleObject","handleJqueryElem","animationEndEvent","testEl","transEndEventNames","WebkitAnimation","renderActions","instance","showConfirmButton","showDenyButton","showCancelButton","renderButtons","loaderHtml","confirmButton","denyButton","cancelButton","renderButton","handleButtonsStyling","reverseButtons","buttonsStyling","styled","confirmButtonColor","denyButtonColor","cancelButtonColor","buttonType","renderCloseButton","closeButton","closeButtonHtml","showCloseButton","closeButtonAriaLabel","renderContainer","handleBackdropParam","backdrop","handlePositionParam","handleGrowParam","grow","center","growClass","inputClasses","renderInput","rerender","inputContainer","inputAttributes","showInput","setCustomClass","renderInputType","getInputContainer","inputAutoFocus","removeAttributes","setInputPlaceholder","inputPlaceholder","setInputLabel","inputLabel","labelClass","innerText","insertAdjacentElement","checkAndSetInputValue","inputValue","email","password","tel","rangeInput","checkboxContainer","getMargin","marginRight","initialPopupWidth","textareaWidth","renderContent","htmlContainer","renderFooter","renderIcon","setContent","applyStyles","iconHtml","iconType","setColor","adjustSuccessIconBackgroundColor","popupBackgroundColor","successIconParts","successIconHtml","errorIconHtml","newContent","oldContent","iconContent","question","warning","info","iconColor","borderColor","renderImage","imageUrl","imageAlt","imageWidth","imageHeight","renderPopup","addClasses$1","modal","renderProgressSteps","progressStepsContainer","progressSteps","currentProgressStep","step","stepEl","createStepElement","lineEl","createLineElement","progressStepsDistance","renderTitle","titleText","didRender","isVisible","clickConfirm","clickDeny","clickCancel","DismissReason","freeze","esc","removeKeydownHandler","keydownTarget","keydownHandlerAdded","keydownHandler","capture","keydownListenerCapture","addKeydownHandler","dismissWith","setFocus","increment","focusableElements","arrowKeysNextButton","arrowKeysPreviousButton","stopKeydownPropagation","handleEnter","handleTab","handleArrows","handleEsc","allowEnterKey","getInput","btnIndex","buttonToFocus","HTMLButtonElement","allowEscapeKey","privateMethods","swalPromiseResolve","swalPromiseReject","setAriaHidden","unsetAriaHidden","iOSfix","MSStream","maxTouchPoints","iosfix","scrollTop","lockBodyScroll","addBottomPaddingForTallPopups","ua","iOS","webkit","bottomPanelHeight","innerHeight","paddingBottom","preventTouchMove","ontouchstart","shouldPreventTouchMove","ontouchmove","isStylus","isZoom","touchType","undoIOSfix","measureScrollbar","scrollDiv","scrollbarWidth","clientWidth","previousBodyPadding","fixScrollbar","paddingRight","undoScrollbar","removePopupAndResetState","didClose","triggerDidCloseAndDispose","removeBodyClasses","resolveValue","prepareResolveValue","triggerClosePopup","isAwaitingPromise","isDismissed","handleAwaitingPromise","hideClass","handlePopupAnimation","rejectPromise","_destroy","isConfirmed","isDenied","animationIsSupported","willClose","animatePopup","swalCloseEventFinishedCallback","showLoading","buttonToReplace","Swal","replaceButton","loading","handleInputOptionsAndValue","handleInputOptions","handleInputValue","getInputValue","getCheckboxValue","getRadioValue","getFileValue","inputAutoTrim","processInputOptions","inputOptions","populateInputOptions","formatInputOptions","hideLoading","renderOption","optionLabel","optionValue","isSelected","inputOption","radioLabel","radioInput","radioLabelElement","radios","Map","valueFormatted","handleConfirmButtonClick","disableButtons","handleConfirmOrDenyWithInput","handleDenyButtonClick","returnInputValueOnDeny","handleCancelButtonClick","inputValidator","handleInputValidator","enableButtons","showValidationMessage","validationMessage","disableInput","enableInput","showLoaderOnDeny","preDeny","preDenyValue","succeedWith","showLoaderOnConfirm","preConfirm","preConfirmValue","showRelatedButton","getElementsByClassName","setButtonsDisabled","setInputDisabled","inputerror","defaultParams","template","heightAuto","allowOutsideClick","confirmButtonText","confirmButtonAriaLabel","denyButtonText","denyButtonAriaLabel","cancelButtonText","cancelButtonAriaLabel","focusConfirm","focusDeny","focusCancel","willOpen","didOpen","didDestroy","scrollbarPadding","updatableParams","deprecatedParams","toastIncompatibleParams","isValidParameter","paramName","isUpdatableParameter","isDeprecatedParameter","checkIfParamIsValid","checkIfToastParamIsValid","checkIfParamIsDeprecated","isDeprecated","showWarningsForParams","validUpdatableParams","filterValidParams","updatedParams","disposeSwal","disposeWeakMaps","unsetWeakMaps","disableLoading","closePopup","closeModal","closeToast","delete","instanceMethods","handlePopupClick","handleToastClick","handleModalMousedown","handleContainerMousedown","handleModalClick","onclick","isAnyButtonShown","ignoreOutsideClick","onmousedown","onmouseup","isJqueryElement","isElement","argsToParams","_len","_key","mixin","mixinParams","MixinSwal","_main","priorityMixinParams","super","getTimerLeft","stopTimer","resumeTimer","toggleTimer","running","increaseTimer","increase","isTimerRunning","isRunning","bodyClickListenerAdded","clickHandlers","bindClickHandler","bodyClickListener","staticMethods","enableLoading","Timer","swalStringParams","getTemplateParams","templateContent","showWarningsForElements","getSwalParams","getSwalFunctionParams","getSwalButtons","getSwalImage","getSwalIcon","getSwalInput","getSwalStringParams","showWarningsForAttributes","optionName","paramNames","allowedElements","attribute","SHOW_CLASS_TIMEOUT","openPopup","initialBodyOverflow","addClasses","setScrollingVisibility","fixScrollContainer","swalOpenAnimationFinished","defaultInputValidators","setDefaultInputValidators","validateCustomTargetElement","setParameters","SweetAlert","outerParams","userParams","prepareParams","populateDomCache","swalPromise","finally","onFinally","dismiss","setupTimer","initFocus","templateParams","focusButton","blurActiveElement","language","initiationDate","localStorage","getItem","ukrainianAnthem","loop","play","setItem","Sweetalert2","swal","sweetAlert","styleSheet","showAchievementNotification","party","confetti","debug_1","renderer_1","emitters","Debug","Renderer","scheduledTickId","lastTickTimestamp","scheduleTick","createEmitter","emitter","clearEmitters","sum","cancelTick","timestamp","canRemove","begin","_b","_c","renderParticle","containers_1","refreshRate","refreshTimer","displayStyle","getDebugInformation","infos","emitterInfos","rotationToNormal","alpha","beta","rgb","mix","weight","toHex","hex","padStart","fromHex","startsWith","fromHsl","hue2rgb","q","to255","black","extendStatics","__extends","__","Gradient","_super","solid","simple","colors","NumericSpline","fromScreen","innerWidth","exists","defaultExists","rules_1","sources_1","defaultApplyColor","fill","defaultApplyOpacity","defaultApplyLighting","lighting","defaultApplyTransform","transform","shapeFactory","applyColor","applyOpacity","applyLighting","applyTransform","__1","shapes_1","light","enabled","matchMedia","renderedParticles","it","createParticleElement","lightingCoefficient","modules_1","populated","spread","shapes","sparkles","Sizzle","pseudos","getText","isXML","escapeSelector","escape","Expr","tokenize","compile","outermostContext","sortInput","hasDuplicate","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","preferredDoc","dirruns","classCache","createCache","tokenCache","compilerCache","nonnativeSelectorCache","sortOrder","push_native","booleans","whitespace","identifier","rwhitespace","rcomma","rcombinators","rdescend","rpseudo","ridentifier","matchExpr","rinputs","rheader","rnative","rsibling","runescape","funescape","escaped","escapedWhitespace","high","rcssescape","fcssescape","ch","asCodePoint","unloadHandler","inDisabledFieldset","addCombinator","els","seed","nid","groups","newSelector","newContext","qsa","toSelector","testContext","qsaError","cacheLength","markFunction","assert","addHandle","attrHandle","siblingCheck","diff","sourceIndex","createInputPseudo","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","argument","matchIndexes","hasCompare","subWindow","getById","getElementsByName","attrId","getAttributeNode","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","specified","duplicates","detectDuplicates","sortStable","nodeValue","createPseudo","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","what","ofType","uniqueCache","outerCache","nodeIndex","useCache","uniqueID","pseudo","setFilters","idx","matcher","unmatched","elemLang","hash","hasFocus","submit","tokens","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","contexts","multipleContexts","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","parseOnly","soFar","preFilters","cached","setMatchers","elementMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","matcherFromGroupMatchers","compiled","_sizzle","noConflict","truncate","rerrorNames","stack","rbrace","rmultiDash","dataAttr","removeData","_data","_removeData","defaultDisplayMap","getDefaultDisplay","eased","pos","scrollLeft","linear","swing","boolHook","removeAttr","attrHooks","bool","attrNames","lowercaseName","stripAndCollapse","getClass","classesToArray","classes","curValue","clazz","finalValue","stateVal","isValidValue","classNames","rreturn","valHooks","optionSet","focusin","attaches","wrapAll","wrapInner","htmlIsFunction","visible","xhrSuccessStatus","xhrSupported","cors","errorCallback","username","xhrFields","onabort","ontimeout","responseType","binary","scriptAttrs","charset","scriptCharset","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","keepScripts","animated","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","curElem","using","win","offsetParent","parentOffset","Height","Width","defaultExtra","funcName","unbind","undelegate","proxy","holdReady","hold","parseJSON","isNumeric","isNaN","hover","fnOver","fnOut","noGlobal","_jQuery","_$","EmbedController","hrefElement","embedContainerElement","embedElement","installEventHandlers","embed","fetch","showEmbed","currentEmbed","Timeout","clearFn","_id","_clearFn","scope","setInterval","clearInterval","unref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","_onTimeout","clearImmediate","registerImmediate","channel","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","attachTo","nextTick","runIfPresent","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","canUsePostMessage","MessageChannel","port1","port2","task","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","marker","runClearTimeout","Item","env","argv","versions","addListener","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","umask","createCommonjsModule","sparkMd5","hex_chr","md5cycle","md5blk","md5blks","md5blk_array","md51","tail","lo","hi","substring","md51_array","subarray","Uint8Array","rhex","toUtf8","unescape","utf8Str2ArrayBuffer","returnUInt8Array","buff","ArrayBuffer","arrayBuffer2Utf8Str","concatenateArrayBuffers","byteLength","buffer","hexToBinaryString","SparkMD5","targetArray","sourceArray","appendBinary","_buff","_length","_hash","_finish","getState","setState","hashBinary","classCallCheck","Constructor","createClass","descriptor","protoProps","staticProps","fileSlice","File","mozSlice","webkitSlice","FileChecksum","chunkSize","chunkCount","chunkIndex","md5Buffer","fileReader","fileReaderDidLoad","fileReaderDidError","readNextChunk","binaryDigest","base64digest","btoa","getMetaValue","findElements","toArray$1","eventInit","BlobRecord","checksum","content_type","byte_size","requestDidLoad","requestDidError","blob","direct_upload","directUploadData","_xhr","BlobUpload","_blob$directUploadDat","DirectUpload","upload","methodName","messages","DirectUploadController","directUpload","hiddenInput","dispatchError","signed_id","loaded","total","alert","_this2","uploadRequestDidProgress","inputSelector","DirectUploadsController","controllers","createDirectUploadControllers","startNextController","controller","processingAttribute","submitButtonsByForm","didClick","didSubmitForm","didSubmitRemoteElement","handleFormSubmissionEvent","enable","submitForm","autostart","ActiveStorage","require","Turbolinks","supported","history","pushState","visit","clearCache","setProgressBarDelay","throttle","uuid","Location","absoluteURL","requestURL","anchor","getOrigin","getPath","getPathComponents","getLastPathComponent","isHTML","isPrefixedBy","toCacheKey","valueOf","HttpRequest","requestCanceled","requestTimedOut","requestFailed","requestLoaded","requestProgressed","referrer","NETWORK_FAILURE","TIMEOUT_FAILURE","sent","notifyApplicationBeforeRequestStart","setProgress","requestStarted","lengthComputable","endRequest","requestCompletedWithResponse","failed","requestFailedWithStatusCode","notifyApplicationAfterRequestEnd","onprogress","requestFinished","ProgressBar","trickle","stylesheetElement","createStylesheetElement","createProgressElement","installStylesheetElement","installProgressElement","startTrickling","hiding","fadeProgressElement","uninstallProgressElement","stopTrickling","setValue","trickleInterval","BrowserAdapter","showProgressBar","progressBar","visitProposedToLocationWithAction","startVisitToLocationWithAction","visitStarted","issueRequest","changeHistory","loadCachedSnapshot","visitRequestStarted","hasCachedSnapshot","showProgressBarAfterDelay","visitRequestProgressed","visitRequestCompleted","loadResponse","visitRequestFailedWithStatusCode","reload","visitRequestFinished","hideProgressBar","visitCompleted","followRedirect","pageInvalidated","progressBarTimeout","progressBarDelay","History","onPageLoad","onPopState","shouldHandlePopState","turbolinks","restorationIdentifier","historyPoppedToLocationWithRestorationIdentifier","pageLoaded","pageIsLoaded","HeadDetails","tracked","fromHeadElement","hasElementWithKey","getTrackedElementSignature","getScriptElementsNotInDetails","getElementsMatchingTypeNotInDetails","getStylesheetElementsNotInDetails","getProvisionalElements","findMetaElementByName","Snapshot","headDetails","bodyElement","fromHTMLString","fromHTMLElement","getRootLocation","getSetting","getCacheControlValue","getElementForAnchor","getPermanentElements","getPermanentElementById","getPermanentElementsPresentInSnapshot","findFirstAutofocusableElement","hasAnchor","isCacheable","isVisitable","renderView","viewWillRender","newBody","viewRendered","invalidateView","viewInvalidated","createScriptElement","SnapshotRenderer","currentSnapshot","newSnapshot","isPreview","currentHeadDetails","newHeadDetails","currentBody","shouldRender","mergeHead","replaceBody","focusFirstAutofocusableElement","copyNewHeadStylesheetElements","copyNewHeadScriptElements","removeCurrentHeadProvisionalElements","copyNewHeadProvisionalElements","relocateCurrentBodyPermanentElements","activateNewBodyScriptElements","assignNewBody","replacePlaceholderElementsWithClonedPermanentElements","trackedElementsAreIdentical","getNewHeadStylesheetElements","getNewHeadScriptElements","getCurrentHeadProvisionalElements","getNewHeadProvisionalElements","getCurrentBodyPermanentElements","permanentElement","getNewBodyScriptElements","ErrorRenderer","newHead","replaceHeadAndBody","activateBodyScriptElements","getScriptElements","View","htmlElement","markAsPreview","renderSnapshot","renderError","ScrollManager","onScroll","scrollToElement","scrollIntoView","scrollToPosition","scrollPositionChanged","SnapshotCache","snapshots","read","touch","put","write","Visit","performScroll","adapter","timingMetrics","recordTimingMetric","request","cancelRender","visitFailed","historyChanged","shouldIssueRequest","getCachedSnapshot","getCachedSnapshotForLocation","cacheSnapshot","visitRendered","redirectedToLocation","followedRedirect","replaceHistoryWithLocationAndRestorationIdentifier","scrolled","scrollToRestoredPosition","scrollToTop","scrollToAnchor","restorationData","scrollPosition","getTimingMetrics","snapshotCached","frame","clickCaptured","scrollManager","startHistory","stopHistory","applicationAllowsVisitingLocation","locationIsVisitable","getRestorationDataForIdentifier","startVisit","pushHistoryWithLocationAndRestorationIdentifier","shouldCacheSnapshot","notifyApplicationBeforeCachingSnapshot","lastRenderedLocation","getCurrentRestorationData","notifyApplicationBeforeRender","currentVisit","notifyApplicationAfterRender","notifyApplicationAfterPageLoad","clickEventIsSignificant","getVisitableLinkForNode","getVisitableLocationForLink","applicationAllowsFollowingLinkToLocation","getActionForLink","notifyApplicationAfterClickingLinkToLocation","notifyApplicationBeforeVisitingLocation","notifyApplicationAfterVisitingLocation","timing","createVisit","isContentEditable","nodeIsVisitable","currentScript","Popper","_defineProperties","_createClass","_defineProperty","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","sym","_objectSpread2","getOwnPropertyDescriptors","_inheritsLoose","subClass","superClass","TRANSITION_END","MAX_UID","MILLISECONDS_MULTIPLIER","getSpecialTransitionEndEvent","transitionEndEmulator","called","Util","triggerTransitionEnd","setTransitionEndSupport","emulateTransitionEnd","getUID","getSelectorFromElement","hrefAttr","getTransitionDurationFromElement","transitionDuration","transitionDelay","floatTransitionDuration","floatTransitionDelay","reflow","supportsTransitionEnd","typeCheckConfig","componentName","configTypes","expectedTypes","valueType","findShadowRoot","attachShadow","ShadowRoot","jQueryDetection","minMajor","ltMajor","minMinor","minPatch","maxMajor","NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","Selector","DISMISS","CLOSE","CLOSED","CLICK_DATA_API","ClassName","ALERT","FADE","SHOW","Alert","_element","_proto","rootElement","_getRootElement","_triggerCloseEvent","_removeElement","dispose","closeEvent","_destroyElement","_jQueryInterface","$element","_handleDismiss","alertInstance","NAME$1","VERSION$1","DATA_KEY$1","EVENT_KEY$1","DATA_API_KEY$1","JQUERY_NO_CONFLICT$1","ClassName$1","ACTIVE","BUTTON","FOCUS","Selector$1","DATA_TOGGLE_CARROT","DATA_TOGGLES","DATA_TOGGLE","DATA_TOGGLES_BUTTONS","INPUT","Event$1","FOCUS_BLUR_DATA_API","LOAD_DATA_API","Button","triggerChangeEvent","addAriaPressed","inputBtn","_button","NAME$2","VERSION$2","DATA_KEY$2","EVENT_KEY$2","DATA_API_KEY$2","JQUERY_NO_CONFLICT$2","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","keyboard","slide","pause","DefaultType","Direction","NEXT","PREV","LEFT","RIGHT","Event$2","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERUP","DRAG_START","ClassName$2","CAROUSEL","ITEM","POINTER_EVENT","Selector$2","ACTIVE_ITEM","ITEM_IMG","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","_slide","nextWhenVisible","cycle","visibilityState","activeIndex","_getItemIndex","_handleSwipe","absDeltax","_keydown","_addTouchEventListeners","_this3","move","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","eventDirectionName","targetIndex","fromIndex","slideEvent","_setActiveIndicatorElement","indicators","nextIndicator","directionalClassName","orderClassName","_this4","activeElementIndex","nextElement","nextElementIndex","isCycling","slidEvent","nextElementInterval","defaultInterval","ride","_dataApiClickHandler","slideIndex","carousels","$carousel","NAME$3","VERSION$3","DATA_KEY$3","EVENT_KEY$3","DATA_API_KEY$3","JQUERY_NO_CONFLICT$3","Default$1","DefaultType$1","Event$3","SHOWN","HIDE","HIDDEN","ClassName$3","COLLAPSE","COLLAPSING","COLLAPSED","Dimension","WIDTH","HEIGHT","Selector$3","ACTIVES","Collapse","_isTransitioning","_triggerArray","toggleList","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","actives","activesData","startEvent","_getDimension","setTransitioning","scrollSize","triggerArrayLength","isTransitioning","_getTargetFromElement","triggerArray","isOpen","$this","$trigger","$target","NAME$4","VERSION$4","DATA_KEY$4","EVENT_KEY$4","DATA_API_KEY$4","JQUERY_NO_CONFLICT$4","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","Event$4","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","ClassName$4","DISABLED","DROPUP","DROPRIGHT","DROPLEFT","MENURIGHT","MENULEFT","POSITION_STATIC","Selector$4","FORM_CHILD","MENU","NAVBAR_NAV","VISIBLE_ITEMS","AttachmentMap","TOP","TOPEND","BOTTOM","BOTTOMEND","RIGHTEND","LEFTEND","Default$2","flip","boundary","reference","popperConfig","DefaultType$2","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","isActive","_clearMenus","usePopper","showEvent","_getParentFromElement","_getPopperConfig","hideEvent","scheduleUpdate","_getPlacement","$parentDropdown","placement","_getOffset","offsets","modifiers","preventOverflow","boundariesElement","applyStyle","toggles","clickEvent","dropdownMenu","_dataApiKeydownHandler","NAME$5","VERSION$5","DATA_KEY$5","EVENT_KEY$5","DATA_API_KEY$5","JQUERY_NO_CONFLICT$5","ESCAPE_KEYCODE$1","Default$3","DefaultType$3","Event$5","HIDE_PREVENTED","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","ClassName$5","SCROLLABLE","SCROLLBAR_MEASURER","BACKDROP","OPEN","STATIC","Selector$5","DIALOG","MODAL_BODY","DATA_DISMISS","FIXED_CONTENT","STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","_hideModal","handleUpdate","_triggerBackdropTransition","hideEventPrevented","modalTransitionDuration","modalBody","_enforceFocus","shownEvent","transitionComplete","_this5","_this6","_this7","_this8","_resetAdjustments","_resetScrollbar","_removeBackdrop","_this9","backdropTransitionDuration","callbackRemove","_backdropTransitionDuration","isModalOverflowing","paddingLeft","_getScrollbarWidth","_this10","fixedContent","stickyContent","actualPadding","calculatedPadding","actualMargin","calculatedMargin","_this11","uriAttrs","DefaultWhitelist","area","br","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","pre","small","span","sub","sup","strong","ul","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","allowedAttributeList","regExp","attrRegex","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","createdDocument","whitelistKeys","_loop","elName","attributeList","whitelistedAttributes","NAME$6","VERSION$6","DATA_KEY$6","EVENT_KEY$6","JQUERY_NO_CONFLICT$6","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","DefaultType$4","fallbackPlacement","AttachmentMap$1","AUTO","Default$4","HoverState","OUT","Event$6","INSERTED","FOCUSOUT","ClassName$6","Selector$6","TOOLTIP","TOOLTIP_INNER","ARROW","Trigger","HOVER","MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","toggleEnabled","dataKey","_getDelegateConfig","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","isInTheDom","tipId","_getAttachment","addAttachmentClass","_getContainer","_fixTransition","prevHoverState","_cleanTipClass","setElementContent","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","eventIn","eventOut","_fixTitle","titleType","dataAttributes","$tip","tabClass","popperData","popperInstance","popper","initConfigAnimation","NAME$7","VERSION$7","DATA_KEY$7","EVENT_KEY$7","JQUERY_NO_CONFLICT$7","CLASS_PREFIX$1","BSCLS_PREFIX_REGEX$1","Default$5","DefaultType$5","ClassName$7","Selector$7","TITLE","CONTENT","Event$7","Popover","_Tooltip","_getContent","NAME$8","VERSION$8","DATA_KEY$8","EVENT_KEY$8","DATA_API_KEY$6","JQUERY_NO_CONFLICT$8","Default$6","DefaultType$6","Event$8","ACTIVATE","SCROLL","ClassName$8","DROPDOWN_ITEM","DROPDOWN_MENU","Selector$8","DATA_SPY","NAV_LIST_GROUP","NAV_LINKS","NAV_ITEMS","LIST_ITEMS","DROPDOWN","DROPDOWN_ITEMS","DROPDOWN_TOGGLE","OffsetMethod","OFFSET","POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","_getOffsetHeight","maxScroll","_activate","_clear","queries","$link","scrollSpys","$spy","NAME$9","VERSION$9","DATA_KEY$9","EVENT_KEY$9","DATA_API_KEY$7","JQUERY_NO_CONFLICT$9","Event$9","ClassName$9","Selector$9","ACTIVE_UL","DROPDOWN_ACTIVE_CHILD","previous","listElement","itemSelector","hiddenEvent","_transitionComplete","dropdownChild","dropdownElement","dropdownToggleList","NAME$a","VERSION$a","DATA_KEY$a","EVENT_KEY$a","JQUERY_NO_CONFLICT$a","Event$a","ClassName$a","SHOWING","DefaultType$7","autohide","Default$7","Selector$a","Toast","_close","Scrollspy","isBrowser","timeoutDuration","longerTimeoutBrowsers","debounce","scheduled","functionToCheck","getStyleComputedProperty","getParentNode","getScrollParent","_getStyleComputedProp","getReferenceNode","referenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","getOffsetParent","noOffsetParent","getRoot","findCommonOffsetParent","element1","element2","order","DOCUMENT_POSITION_FOLLOWING","commonAncestorContainer","element1root","getScroll","side","upperSide","scrollingElement","includeScroll","modifier","getBordersSize","axis","sideA","sideB","getSize","computedStyle","getWindowSizes","_extends","getClientRect","sizes","horizScrollbar","vertScrollbar","getOffsetRectRelativeToArbitraryNode","fixedPosition","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","isFixed","getFixedPositionOffsetParent","getBoundaries","boundaries","boundariesNode","_getWindowSizes","isPaddingNumber","getArea","_ref","computeAutoPlacement","refRect","rects","sortedAreas","filteredAreas","_ref2","computedPlacement","getReferenceOffsets","commonOffsetParent","getOuterSizes","getOppositePlacement","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","runModifiers","ends","isDestroyed","arrowStyles","flipped","positionFixed","isCreated","isModifierEnabled","modifierName","getSupportedPropertyName","prefixes","upperProp","toCheck","willChange","disableEventListeners","removeOnDestroy","getWindow","attachToScrollParents","scrollParents","isBody","passive","setupEventListeners","updateBound","scrollElement","eventsEnabled","enableEventListeners","setStyles","isFirefox","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","placements","validPlacements","clockwise","counter","BEHAVIORS","parseOffset","basePlacement","useHeight","fragments","frag","divider","search","splitRegex","ops","op","mergeWithPrevious","toValue","index2","shiftvariation","_data$offsets","isVertical","shiftOffsets","transformProp","popperStyles","priority","primary","escapeWithReference","secondary","keepTogether","opSide","_data$offsets$arrow","arrowElement","sideCapitalized","altSide","arrowElementSize","popperMarginSide","popperBorderSide","sideValue","placementOpposite","flipOrder","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","inner","subtractLength","bound","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","shouldRound","noRound","referenceWidth","popperWidth","isVariation","horizontalToInteger","verticalToInteger","getRoundedOffsets","devicePixelRatio","prefixedProperty","invertTop","invertLeft","onLoad","modifierOptions","Defaults","Utils","PopperUtils","cocoonElementCounter","createNewID","newcontentBraced","newcontentUnderscored","cocoonAddFields","thisNode","assoc","assocs","insertionMethod","insertionNode","insertionTraversal","regexpBraced","regexpUnderscored","newId","newContents","insertionNodeElem","getInsertionNodeElem","contentNode","beforeInsert","htmlMethod","addedContent","insertAdjacentHTML","afterInsert","cocoonRemoveFields","wrapperClass","nodeToDelete","triggerNode","beforeRemove","cocoonGetPreviousSibling","afterRemove","directUploadUrl","directUploadDidComplete","directUploadWillStoreFileWithXHR","sgid","attachable_sgid","createBlobUrl","signedId","blobUrlTemplate"],"mappings":"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","file":"js/application-f0306fd03217be58a433.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/packs/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 152);\n","/* global Symbol */\n// Defining this global in .eslintrc.json would create a danger of using the global\n// unguarded in another place, it seems safer to define global only for this module\ndefine([\"./var/arr\", \"./var/document\", \"./var/getProto\", \"./var/slice\", \"./var/concat\", \"./var/push\", \"./var/indexOf\", \"./var/class2type\", \"./var/toString\", \"./var/hasOwn\", \"./var/fnToString\", \"./var/ObjectFunctionString\", \"./var/support\", \"./var/isFunction\", \"./var/isWindow\", \"./core/DOMEval\", \"./core/toType\"], function (arr, document, getProto, slice, concat, push, indexOf, class2type, toString, hasOwn, fnToString, ObjectFunctionString, support, isFunction, isWindow, DOMEval, toType) {\n \"use strict\";\n\n var version = \"3.4.1\",\n // Define a local copy of jQuery\n jQuery = function (selector, context) {\n // The jQuery object is actually just the init constructor 'enhanced'\n // Need init if jQuery is called (just allow error to be thrown if not included)\n return new jQuery.fn.init(selector, context);\n },\n // Support: Android <=4.0 only\n // Make sure we trim BOM and NBSP\n rtrim = /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g;\n\n jQuery.fn = jQuery.prototype = {\n // The current version of jQuery being used\n jquery: version,\n constructor: jQuery,\n // The default length of a jQuery object is 0\n length: 0,\n toArray: function () {\n return slice.call(this);\n },\n // Get the Nth element in the matched element set OR\n // Get the whole matched element set as a clean array\n get: function (num) {\n // Return all the elements in a clean array\n if (num == null) {\n return slice.call(this);\n } // Return just the one element from the set\n\n\n return num < 0 ? this[num + this.length] : this[num];\n },\n // Take an array of elements and push it onto the stack\n // (returning the new matched element set)\n pushStack: function (elems) {\n // Build a new jQuery matched element set\n var ret = jQuery.merge(this.constructor(), elems); // Add the old object onto the stack (as a reference)\n\n ret.prevObject = this; // Return the newly-formed element set\n\n return ret;\n },\n // Execute a callback for every element in the matched set.\n each: function (callback) {\n return jQuery.each(this, callback);\n },\n map: function (callback) {\n return this.pushStack(jQuery.map(this, function (elem, i) {\n return callback.call(elem, i, elem);\n }));\n },\n slice: function () {\n return this.pushStack(slice.apply(this, arguments));\n },\n first: function () {\n return this.eq(0);\n },\n last: function () {\n return this.eq(-1);\n },\n eq: function (i) {\n var len = this.length,\n j = +i + (i < 0 ? len : 0);\n return this.pushStack(j >= 0 && j < len ? [this[j]] : []);\n },\n end: function () {\n return this.prevObject || this.constructor();\n },\n // For internal use only.\n // Behaves like an Array's method, not like a jQuery method.\n push: push,\n sort: arr.sort,\n splice: arr.splice\n };\n\n jQuery.extend = jQuery.fn.extend = function () {\n var options,\n name,\n src,\n copy,\n copyIsArray,\n clone,\n target = arguments[0] || {},\n i = 1,\n length = arguments.length,\n deep = false; // Handle a deep copy situation\n\n if (typeof target === \"boolean\") {\n deep = target; // Skip the boolean and the target\n\n target = arguments[i] || {};\n i++;\n } // Handle case when target is a string or something (possible in deep copy)\n\n\n if (typeof target !== \"object\" && !isFunction(target)) {\n target = {};\n } // Extend jQuery itself if only one argument is passed\n\n\n if (i === length) {\n target = this;\n i--;\n }\n\n for (; i < length; i++) {\n // Only deal with non-null/undefined values\n if ((options = arguments[i]) != null) {\n // Extend the base object\n for (name in options) {\n copy = options[name]; // Prevent Object.prototype pollution\n // Prevent never-ending loop\n\n if (name === \"__proto__\" || target === copy) {\n continue;\n } // Recurse if we're merging plain objects or arrays\n\n\n if (deep && copy && (jQuery.isPlainObject(copy) || (copyIsArray = Array.isArray(copy)))) {\n src = target[name]; // Ensure proper type for the source value\n\n if (copyIsArray && !Array.isArray(src)) {\n clone = [];\n } else if (!copyIsArray && !jQuery.isPlainObject(src)) {\n clone = {};\n } else {\n clone = src;\n }\n\n copyIsArray = false; // Never move original objects, clone them\n\n target[name] = jQuery.extend(deep, clone, copy); // Don't bring in undefined values\n } else if (copy !== undefined) {\n target[name] = copy;\n }\n }\n }\n } // Return the modified object\n\n\n return target;\n };\n\n jQuery.extend({\n // Unique for each copy of jQuery on the page\n expando: \"jQuery\" + (version + Math.random()).replace(/\\D/g, \"\"),\n // Assume jQuery is ready without the ready module\n isReady: true,\n error: function (msg) {\n throw new Error(msg);\n },\n noop: function () {},\n isPlainObject: function (obj) {\n var proto, Ctor; // Detect obvious negatives\n // Use toString instead of jQuery.type to catch host objects\n\n if (!obj || toString.call(obj) !== \"[object Object]\") {\n return false;\n }\n\n proto = getProto(obj); // Objects with no prototype (e.g., `Object.create( null )`) are plain\n\n if (!proto) {\n return true;\n } // Objects with prototype are plain iff they were constructed by a global Object function\n\n\n Ctor = hasOwn.call(proto, \"constructor\") && proto.constructor;\n return typeof Ctor === \"function\" && fnToString.call(Ctor) === ObjectFunctionString;\n },\n isEmptyObject: function (obj) {\n var name;\n\n for (name in obj) {\n return false;\n }\n\n return true;\n },\n // Evaluates a script in a global context\n globalEval: function (code, options) {\n DOMEval(code, {\n nonce: options && options.nonce\n });\n },\n each: function (obj, callback) {\n var length,\n i = 0;\n\n if (isArrayLike(obj)) {\n length = obj.length;\n\n for (; i < length; i++) {\n if (callback.call(obj[i], i, obj[i]) === false) {\n break;\n }\n }\n } else {\n for (i in obj) {\n if (callback.call(obj[i], i, obj[i]) === false) {\n break;\n }\n }\n }\n\n return obj;\n },\n // Support: Android <=4.0 only\n trim: function (text) {\n return text == null ? \"\" : (text + \"\").replace(rtrim, \"\");\n },\n // results is for internal usage only\n makeArray: function (arr, results) {\n var ret = results || [];\n\n if (arr != null) {\n if (isArrayLike(Object(arr))) {\n jQuery.merge(ret, typeof arr === \"string\" ? [arr] : arr);\n } else {\n push.call(ret, arr);\n }\n }\n\n return ret;\n },\n inArray: function (elem, arr, i) {\n return arr == null ? -1 : indexOf.call(arr, elem, i);\n },\n // Support: Android <=4.0 only, PhantomJS 1 only\n // push.apply(_, arraylike) throws on ancient WebKit\n merge: function (first, second) {\n var len = +second.length,\n j = 0,\n i = first.length;\n\n for (; j < len; j++) {\n first[i++] = second[j];\n }\n\n first.length = i;\n return first;\n },\n grep: function (elems, callback, invert) {\n var callbackInverse,\n matches = [],\n i = 0,\n length = elems.length,\n callbackExpect = !invert; // Go through the array, only saving the items\n // that pass the validator function\n\n for (; i < length; i++) {\n callbackInverse = !callback(elems[i], i);\n\n if (callbackInverse !== callbackExpect) {\n matches.push(elems[i]);\n }\n }\n\n return matches;\n },\n // arg is for internal usage only\n map: function (elems, callback, arg) {\n var length,\n value,\n i = 0,\n ret = []; // Go through the array, translating each of the items to their new values\n\n if (isArrayLike(elems)) {\n length = elems.length;\n\n for (; i < length; i++) {\n value = callback(elems[i], i, arg);\n\n if (value != null) {\n ret.push(value);\n }\n } // Go through every key on the object,\n\n } else {\n for (i in elems) {\n value = callback(elems[i], i, arg);\n\n if (value != null) {\n ret.push(value);\n }\n }\n } // Flatten any nested arrays\n\n\n return concat.apply([], ret);\n },\n // A global GUID counter for objects\n guid: 1,\n // jQuery.support is not used in Core but other projects attach their\n // properties to it so it needs to exist.\n support: support\n });\n\n if (typeof Symbol === \"function\") {\n jQuery.fn[Symbol.iterator] = arr[Symbol.iterator];\n } // Populate the class2type map\n\n\n jQuery.each(\"Boolean Number String Function Array Date RegExp Object Error Symbol\".split(\" \"), function (i, name) {\n class2type[\"[object \" + name + \"]\"] = name.toLowerCase();\n });\n\n function isArrayLike(obj) {\n // Support: real iOS 8.2 only (not reproducible in simulator)\n // `in` check used to prevent JIT error (gh-2145)\n // hasOwn isn't used here due to false negatives\n // regarding Nodelist length in IE\n var length = !!obj && \"length\" in obj && obj.length,\n type = toType(obj);\n\n if (isFunction(obj) || isWindow(obj)) {\n return false;\n }\n\n return type === \"array\" || length === 0 || typeof length === \"number\" && length > 0 && length - 1 in obj;\n }\n\n return jQuery;\n});","define(function () {\n \"use strict\";\n\n return function isFunction(obj) {\n // Support: Chrome <=57, Firefox <=52\n // In some browsers, typeof returns \"function\" for HTML elements\n // (i.e., `typeof document.createElement( \"object\" ) === \"function\"`).\n // We don't want to classify *any* DOM node as a function.\n return typeof obj === \"function\" && typeof obj.nodeType !== \"number\";\n };\n});","define(function () {\n \"use strict\";\n\n return window.document;\n});","define([\"./selector-sizzle\"], function () {\n \"use strict\";\n});","// Initialize a jQuery object\ndefine([\"../core\", \"../var/document\", \"../var/isFunction\", \"./var/rsingleTag\", \"../traversing/findFilter\"], function (jQuery, document, isFunction, rsingleTag) {\n \"use strict\"; // A central reference to the root jQuery(document)\n\n var rootjQuery,\n // A simple way to check for HTML strings\n // Prioritize #id over to avoid XSS via location.hash (#9521)\n // Strict HTML recognition (#11290: must start with <)\n // Shortcut simple #id case for speed\n rquickExpr = /^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]+))$/,\n init = jQuery.fn.init = function (selector, context, root) {\n var match, elem; // HANDLE: $(\"\"), $(null), $(undefined), $(false)\n\n if (!selector) {\n return this;\n } // Method init() accepts an alternate rootjQuery\n // so migrate can support jQuery.sub (gh-2101)\n\n\n root = root || rootjQuery; // Handle HTML strings\n\n if (typeof selector === \"string\") {\n if (selector[0] === \"<\" && selector[selector.length - 1] === \">\" && selector.length >= 3) {\n // Assume that strings that start and end with <> are HTML and skip the regex check\n match = [null, selector, null];\n } else {\n match = rquickExpr.exec(selector);\n } // Match html or make sure no context is specified for #id\n\n\n if (match && (match[1] || !context)) {\n // HANDLE: $(html) -> $(array)\n if (match[1]) {\n context = context instanceof jQuery ? context[0] : context; // Option to run scripts is true for back-compat\n // Intentionally let the error be thrown if parseHTML is not present\n\n jQuery.merge(this, jQuery.parseHTML(match[1], context && context.nodeType ? context.ownerDocument || context : document, true)); // HANDLE: $(html, props)\n\n if (rsingleTag.test(match[1]) && jQuery.isPlainObject(context)) {\n for (match in context) {\n // Properties of context are called as methods if possible\n if (isFunction(this[match])) {\n this[match](context[match]); // ...and otherwise set as attributes\n } else {\n this.attr(match, context[match]);\n }\n }\n }\n\n return this; // HANDLE: $(#id)\n } else {\n elem = document.getElementById(match[2]);\n\n if (elem) {\n // Inject the element directly into the jQuery object\n this[0] = elem;\n this.length = 1;\n }\n\n return this;\n } // HANDLE: $(expr, $(...))\n\n } else if (!context || context.jquery) {\n return (context || root).find(selector); // HANDLE: $(expr, context)\n // (which is just equivalent to: $(context).find(expr)\n } else {\n return this.constructor(context).find(selector);\n } // HANDLE: $(DOMElement)\n\n } else if (selector.nodeType) {\n this[0] = selector;\n this.length = 1;\n return this; // HANDLE: $(function)\n // Shortcut for document ready\n } else if (isFunction(selector)) {\n return root.ready !== undefined ? root.ready(selector) : // Execute immediately if ready is not present\n selector(jQuery);\n }\n\n return jQuery.makeArray(selector, this);\n }; // Give the init function the jQuery prototype for later instantiation\n\n\n init.prototype = jQuery.fn; // Initialize central reference\n\n rootjQuery = jQuery(document);\n return init;\n});","define([\"../Data\"], function (Data) {\n \"use strict\";\n\n return new Data();\n});","\"use strict\";\n\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function () {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nvar __exportStar = this && this.__exportStar || function (m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n__exportStar(require(\"./circle\"), exports);\n\n__exportStar(require(\"./color\"), exports);\n\n__exportStar(require(\"./gradient\"), exports);\n\n__exportStar(require(\"./numericSpline\"), exports);\n\n__exportStar(require(\"./rect\"), exports);\n\n__exportStar(require(\"./vector\"), exports);","define(function () {\n \"use strict\"; // Only count HTML whitespace\n // Other whitespace should count in values\n // https://infra.spec.whatwg.org/#ascii-whitespace\n\n return /[^\\x20\\t\\r\\n\\f]+/g;\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.approximately = exports.clamp = exports.invlerp = exports.slerp = exports.lerp = exports.epsilon = exports.rad2deg = exports.deg2rad = void 0;\n/**\r\n * Constant coefficient to convert degrees to radians.\r\n */\n\nexports.deg2rad = Math.PI / 180;\n/**\r\n * Constant coefficient to convert radians to degrees.\r\n */\n\nexports.rad2deg = 180 / Math.PI;\n/**\r\n * A small value to approximately compare values.\r\n */\n\nexports.epsilon = 0.000001;\n/**\r\n * Linearly interpolates between a and b by t.\r\n */\n\nfunction lerp(a, b, t) {\n return (1 - t) * a + t * b;\n}\n\nexports.lerp = lerp;\n/**\r\n * Smoothly interpolates between a and b by t (using cosine interpolation).\r\n */\n\nfunction slerp(a, b, t) {\n return lerp(a, b, (1 - Math.cos(t * Math.PI)) / 2);\n}\n\nexports.slerp = slerp;\n/**\r\n * Inversely lerps v between a and b to find t.\r\n */\n\nfunction invlerp(a, b, v) {\n return (v - a) / (b - a);\n}\n\nexports.invlerp = invlerp;\n/**\r\n * Clamps the specified value between a minimum and a maximum.\r\n */\n\nfunction clamp(value, min, max) {\n return Math.min(max, Math.max(min, value));\n}\n\nexports.clamp = clamp;\n/**\r\n * Checks if a is approximately equal to b.\r\n */\n\nfunction approximately(a, b) {\n return Math.abs(a - b) < exports.epsilon;\n}\n\nexports.approximately = approximately;","define(function () {\n \"use strict\"; // All support tests are defined in their respective modules.\n\n return {};\n});","define(function () {\n \"use strict\";\n\n function nodeName(elem, name) {\n return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();\n }\n\n ;\n return nodeName;\n});","define([\"../core\", \"../core/toType\", \"../var/isFunction\"], function (jQuery, toType, isFunction) {\n \"use strict\"; // Multifunctional method to get and set values of a collection\n // The value/s can optionally be executed if it's a function\n\n var access = function (elems, fn, key, value, chainable, emptyGet, raw) {\n var i = 0,\n len = elems.length,\n bulk = key == null; // Sets many values\n\n if (toType(key) === \"object\") {\n chainable = true;\n\n for (i in key) {\n access(elems, fn, i, key[i], true, emptyGet, raw);\n } // Sets one value\n\n } else if (value !== undefined) {\n chainable = true;\n\n if (!isFunction(value)) {\n raw = true;\n }\n\n if (bulk) {\n // Bulk operations run against the entire set\n if (raw) {\n fn.call(elems, value);\n fn = null; // ...except when executing function values\n } else {\n bulk = fn;\n\n fn = function (elem, key, value) {\n return bulk.call(jQuery(elem), value);\n };\n }\n }\n\n if (fn) {\n for (; i < len; i++) {\n fn(elems[i], key, raw ? value : value.call(elems[i], i, fn(elems[i], key)));\n }\n }\n }\n\n if (chainable) {\n return elems;\n } // Gets\n\n\n if (bulk) {\n return fn.call(elems);\n }\n\n return len ? fn(elems[0], key) : emptyGet;\n };\n\n return access;\n});","\"use strict\";\n\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function () {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nvar __exportStar = this && this.__exportStar || function (m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.forceInit = exports.util = exports.math = exports.random = exports.sources = exports.variation = exports.Emitter = exports.Particle = exports.settings = exports.scene = void 0;\n\nvar scene_1 = require(\"./scene\");\n\nvar util_1 = require(\"./util\");\n\n__exportStar(require(\"./components\"), exports);\n\n__exportStar(require(\"./templates\"), exports);\n\n__exportStar(require(\"./systems/shapes\"), exports);\n\n__exportStar(require(\"./systems/modules\"), exports); // Create the lazy-initializing scene.\n\n\nexports.scene = new util_1.Lazy(function () {\n // The library requires the use of the DOM, hence it cannot run in non-browser environments.\n if (typeof document === \"undefined\" || typeof window === \"undefined\") {\n throw new Error(\"It seems like you are trying to run party.js in a non-browser-like environment, which is not supported.\");\n }\n\n return new scene_1.Scene();\n});\n\nvar settings_1 = require(\"./settings\");\n\nObject.defineProperty(exports, \"settings\", {\n enumerable: true,\n get: function () {\n return settings_1.settings;\n }\n});\n\nvar particle_1 = require(\"./particles/particle\");\n\nObject.defineProperty(exports, \"Particle\", {\n enumerable: true,\n get: function () {\n return particle_1.Particle;\n }\n});\n\nvar emitter_1 = require(\"./particles/emitter\");\n\nObject.defineProperty(exports, \"Emitter\", {\n enumerable: true,\n get: function () {\n return emitter_1.Emitter;\n }\n});\nexports.variation = require(\"./systems/variation\");\nexports.sources = require(\"./systems/sources\");\nexports.random = require(\"./systems/random\");\nexports.math = require(\"./systems/math\");\nexports.util = require(\"./util\");\n/**\r\n * Forces the initialization of the otherwise lazy scene.\r\n */\n\nfunction forceInit() {\n exports.scene.current;\n}\n\nexports.forceInit = forceInit;\nexports.default = require(\"./\");","\"use strict\";\n\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function () {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nvar __exportStar = this && this.__exportStar || function (m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n__exportStar(require(\"./config\"), exports);\n\n__exportStar(require(\"./rotation\"), exports);\n\n__exportStar(require(\"./rules\"), exports);\n\n__exportStar(require(\"./lazy\"), exports);","define([\"../var/class2type\", \"../var/toString\"], function (class2type, toString) {\n \"use strict\";\n\n function toType(obj) {\n if (obj == null) {\n return obj + \"\";\n } // Support: Android <=2.3 only (functionish RegExp)\n\n\n return typeof obj === \"object\" || typeof obj === \"function\" ? class2type[toString.call(obj)] || \"object\" : typeof obj;\n }\n\n return toType;\n});","define([\"./core\", \"./var/indexOf\", \"./traversing/var/dir\", \"./traversing/var/siblings\", \"./traversing/var/rneedsContext\", \"./core/nodeName\", \"./core/init\", \"./traversing/findFilter\", \"./selector\"], function (jQuery, indexOf, dir, siblings, rneedsContext, nodeName) {\n \"use strict\";\n\n var rparentsprev = /^(?:parents|prev(?:Until|All))/,\n // Methods guaranteed to produce a unique set when starting from a unique set\n guaranteedUnique = {\n children: true,\n contents: true,\n next: true,\n prev: true\n };\n jQuery.fn.extend({\n has: function (target) {\n var targets = jQuery(target, this),\n l = targets.length;\n return this.filter(function () {\n var i = 0;\n\n for (; i < l; i++) {\n if (jQuery.contains(this, targets[i])) {\n return true;\n }\n }\n });\n },\n closest: function (selectors, context) {\n var cur,\n i = 0,\n l = this.length,\n matched = [],\n targets = typeof selectors !== \"string\" && jQuery(selectors); // Positional selectors never match, since there's no _selection_ context\n\n if (!rneedsContext.test(selectors)) {\n for (; i < l; i++) {\n for (cur = this[i]; cur && cur !== context; cur = cur.parentNode) {\n // Always skip document fragments\n if (cur.nodeType < 11 && (targets ? targets.index(cur) > -1 : // Don't pass non-elements to Sizzle\n cur.nodeType === 1 && jQuery.find.matchesSelector(cur, selectors))) {\n matched.push(cur);\n break;\n }\n }\n }\n }\n\n return this.pushStack(matched.length > 1 ? jQuery.uniqueSort(matched) : matched);\n },\n // Determine the position of an element within the set\n index: function (elem) {\n // No argument, return index in parent\n if (!elem) {\n return this[0] && this[0].parentNode ? this.first().prevAll().length : -1;\n } // Index in selector\n\n\n if (typeof elem === \"string\") {\n return indexOf.call(jQuery(elem), this[0]);\n } // Locate the position of the desired element\n\n\n return indexOf.call(this, // If it receives a jQuery object, the first element is used\n elem.jquery ? elem[0] : elem);\n },\n add: function (selector, context) {\n return this.pushStack(jQuery.uniqueSort(jQuery.merge(this.get(), jQuery(selector, context))));\n },\n addBack: function (selector) {\n return this.add(selector == null ? this.prevObject : this.prevObject.filter(selector));\n }\n });\n\n function sibling(cur, dir) {\n while ((cur = cur[dir]) && cur.nodeType !== 1) {}\n\n return cur;\n }\n\n jQuery.each({\n parent: function (elem) {\n var parent = elem.parentNode;\n return parent && parent.nodeType !== 11 ? parent : null;\n },\n parents: function (elem) {\n return dir(elem, \"parentNode\");\n },\n parentsUntil: function (elem, i, until) {\n return dir(elem, \"parentNode\", until);\n },\n next: function (elem) {\n return sibling(elem, \"nextSibling\");\n },\n prev: function (elem) {\n return sibling(elem, \"previousSibling\");\n },\n nextAll: function (elem) {\n return dir(elem, \"nextSibling\");\n },\n prevAll: function (elem) {\n return dir(elem, \"previousSibling\");\n },\n nextUntil: function (elem, i, until) {\n return dir(elem, \"nextSibling\", until);\n },\n prevUntil: function (elem, i, until) {\n return dir(elem, \"previousSibling\", until);\n },\n siblings: function (elem) {\n return siblings((elem.parentNode || {}).firstChild, elem);\n },\n children: function (elem) {\n return siblings(elem.firstChild);\n },\n contents: function (elem) {\n if (typeof elem.contentDocument !== \"undefined\") {\n return elem.contentDocument;\n } // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only\n // Treat the template element as a regular one in browsers that\n // don't support it.\n\n\n if (nodeName(elem, \"template\")) {\n elem = elem.content || elem;\n }\n\n return jQuery.merge([], elem.childNodes);\n }\n }, function (name, fn) {\n jQuery.fn[name] = function (until, selector) {\n var matched = jQuery.map(this, fn, until);\n\n if (name.slice(-5) !== \"Until\") {\n selector = until;\n }\n\n if (selector && typeof selector === \"string\") {\n matched = jQuery.filter(selector, matched);\n }\n\n if (this.length > 1) {\n // Remove duplicates\n if (!guaranteedUnique[name]) {\n jQuery.uniqueSort(matched);\n } // Reverse order for parents* and prev-derivatives\n\n\n if (rparentsprev.test(name)) {\n matched.reverse();\n }\n }\n\n return this.pushStack(matched);\n };\n });\n return jQuery;\n});","define([\"./core\", \"./var/isFunction\", \"./var/slice\", \"./callbacks\"], function (jQuery, isFunction, slice) {\n \"use strict\";\n\n function Identity(v) {\n return v;\n }\n\n function Thrower(ex) {\n throw ex;\n }\n\n function adoptValue(value, resolve, reject, noValue) {\n var method;\n\n try {\n // Check for promise aspect first to privilege synchronous behavior\n if (value && isFunction(method = value.promise)) {\n method.call(value).done(resolve).fail(reject); // Other thenables\n } else if (value && isFunction(method = value.then)) {\n method.call(value, resolve, reject); // Other non-thenables\n } else {\n // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:\n // * false: [ value ].slice( 0 ) => resolve( value )\n // * true: [ value ].slice( 1 ) => resolve()\n resolve.apply(undefined, [value].slice(noValue));\n } // For Promises/A+, convert exceptions into rejections\n // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in\n // Deferred#then to conditionally suppress rejection.\n\n } catch (value) {\n // Support: Android 4.0 only\n // Strict mode functions invoked without .call/.apply get global-object context\n reject.apply(undefined, [value]);\n }\n }\n\n jQuery.extend({\n Deferred: function (func) {\n var tuples = [// action, add listener, callbacks,\n // ... .then handlers, argument index, [final state]\n [\"notify\", \"progress\", jQuery.Callbacks(\"memory\"), jQuery.Callbacks(\"memory\"), 2], [\"resolve\", \"done\", jQuery.Callbacks(\"once memory\"), jQuery.Callbacks(\"once memory\"), 0, \"resolved\"], [\"reject\", \"fail\", jQuery.Callbacks(\"once memory\"), jQuery.Callbacks(\"once memory\"), 1, \"rejected\"]],\n state = \"pending\",\n promise = {\n state: function () {\n return state;\n },\n always: function () {\n deferred.done(arguments).fail(arguments);\n return this;\n },\n \"catch\": function (fn) {\n return promise.then(null, fn);\n },\n // Keep pipe for back-compat\n pipe: function\n /* fnDone, fnFail, fnProgress */\n () {\n var fns = arguments;\n return jQuery.Deferred(function (newDefer) {\n jQuery.each(tuples, function (i, tuple) {\n // Map tuples (progress, done, fail) to arguments (done, fail, progress)\n var fn = isFunction(fns[tuple[4]]) && fns[tuple[4]]; // deferred.progress(function() { bind to newDefer or newDefer.notify })\n // deferred.done(function() { bind to newDefer or newDefer.resolve })\n // deferred.fail(function() { bind to newDefer or newDefer.reject })\n\n deferred[tuple[1]](function () {\n var returned = fn && fn.apply(this, arguments);\n\n if (returned && isFunction(returned.promise)) {\n returned.promise().progress(newDefer.notify).done(newDefer.resolve).fail(newDefer.reject);\n } else {\n newDefer[tuple[0] + \"With\"](this, fn ? [returned] : arguments);\n }\n });\n });\n fns = null;\n }).promise();\n },\n then: function (onFulfilled, onRejected, onProgress) {\n var maxDepth = 0;\n\n function resolve(depth, deferred, handler, special) {\n return function () {\n var that = this,\n args = arguments,\n mightThrow = function () {\n var returned, then; // Support: Promises/A+ section 2.3.3.3.3\n // https://promisesaplus.com/#point-59\n // Ignore double-resolution attempts\n\n if (depth < maxDepth) {\n return;\n }\n\n returned = handler.apply(that, args); // Support: Promises/A+ section 2.3.1\n // https://promisesaplus.com/#point-48\n\n if (returned === deferred.promise()) {\n throw new TypeError(\"Thenable self-resolution\");\n } // Support: Promises/A+ sections 2.3.3.1, 3.5\n // https://promisesaplus.com/#point-54\n // https://promisesaplus.com/#point-75\n // Retrieve `then` only once\n\n\n then = returned && ( // Support: Promises/A+ section 2.3.4\n // https://promisesaplus.com/#point-64\n // Only check objects and functions for thenability\n typeof returned === \"object\" || typeof returned === \"function\") && returned.then; // Handle a returned thenable\n\n if (isFunction(then)) {\n // Special processors (notify) just wait for resolution\n if (special) {\n then.call(returned, resolve(maxDepth, deferred, Identity, special), resolve(maxDepth, deferred, Thrower, special)); // Normal processors (resolve) also hook into progress\n } else {\n // ...and disregard older resolution values\n maxDepth++;\n then.call(returned, resolve(maxDepth, deferred, Identity, special), resolve(maxDepth, deferred, Thrower, special), resolve(maxDepth, deferred, Identity, deferred.notifyWith));\n } // Handle all other returned values\n\n } else {\n // Only substitute handlers pass on context\n // and multiple values (non-spec behavior)\n if (handler !== Identity) {\n that = undefined;\n args = [returned];\n } // Process the value(s)\n // Default process is resolve\n\n\n (special || deferred.resolveWith)(that, args);\n }\n },\n // Only normal processors (resolve) catch and reject exceptions\n process = special ? mightThrow : function () {\n try {\n mightThrow();\n } catch (e) {\n if (jQuery.Deferred.exceptionHook) {\n jQuery.Deferred.exceptionHook(e, process.stackTrace);\n } // Support: Promises/A+ section 2.3.3.3.4.1\n // https://promisesaplus.com/#point-61\n // Ignore post-resolution exceptions\n\n\n if (depth + 1 >= maxDepth) {\n // Only substitute handlers pass on context\n // and multiple values (non-spec behavior)\n if (handler !== Thrower) {\n that = undefined;\n args = [e];\n }\n\n deferred.rejectWith(that, args);\n }\n }\n }; // Support: Promises/A+ section 2.3.3.3.1\n // https://promisesaplus.com/#point-57\n // Re-resolve promises immediately to dodge false rejection from\n // subsequent errors\n\n\n if (depth) {\n process();\n } else {\n // Call an optional hook to record the stack, in case of exception\n // since it's otherwise lost when execution goes async\n if (jQuery.Deferred.getStackHook) {\n process.stackTrace = jQuery.Deferred.getStackHook();\n }\n\n window.setTimeout(process);\n }\n };\n }\n\n return jQuery.Deferred(function (newDefer) {\n // progress_handlers.add( ... )\n tuples[0][3].add(resolve(0, newDefer, isFunction(onProgress) ? onProgress : Identity, newDefer.notifyWith)); // fulfilled_handlers.add( ... )\n\n tuples[1][3].add(resolve(0, newDefer, isFunction(onFulfilled) ? onFulfilled : Identity)); // rejected_handlers.add( ... )\n\n tuples[2][3].add(resolve(0, newDefer, isFunction(onRejected) ? onRejected : Thrower));\n }).promise();\n },\n // Get a promise for this deferred\n // If obj is provided, the promise aspect is added to the object\n promise: function (obj) {\n return obj != null ? jQuery.extend(obj, promise) : promise;\n }\n },\n deferred = {}; // Add list-specific methods\n\n jQuery.each(tuples, function (i, tuple) {\n var list = tuple[2],\n stateString = tuple[5]; // promise.progress = list.add\n // promise.done = list.add\n // promise.fail = list.add\n\n promise[tuple[1]] = list.add; // Handle state\n\n if (stateString) {\n list.add(function () {\n // state = \"resolved\" (i.e., fulfilled)\n // state = \"rejected\"\n state = stateString;\n }, // rejected_callbacks.disable\n // fulfilled_callbacks.disable\n tuples[3 - i][2].disable, // rejected_handlers.disable\n // fulfilled_handlers.disable\n tuples[3 - i][3].disable, // progress_callbacks.lock\n tuples[0][2].lock, // progress_handlers.lock\n tuples[0][3].lock);\n } // progress_handlers.fire\n // fulfilled_handlers.fire\n // rejected_handlers.fire\n\n\n list.add(tuple[3].fire); // deferred.notify = function() { deferred.notifyWith(...) }\n // deferred.resolve = function() { deferred.resolveWith(...) }\n // deferred.reject = function() { deferred.rejectWith(...) }\n\n deferred[tuple[0]] = function () {\n deferred[tuple[0] + \"With\"](this === deferred ? undefined : this, arguments);\n return this;\n }; // deferred.notifyWith = list.fireWith\n // deferred.resolveWith = list.fireWith\n // deferred.rejectWith = list.fireWith\n\n\n deferred[tuple[0] + \"With\"] = list.fireWith;\n }); // Make the deferred a promise\n\n promise.promise(deferred); // Call given func if any\n\n if (func) {\n func.call(deferred, deferred);\n } // All done!\n\n\n return deferred;\n },\n // Deferred helper\n when: function (singleValue) {\n var // count of uncompleted subordinates\n remaining = arguments.length,\n // count of unprocessed arguments\n i = remaining,\n // subordinate fulfillment data\n resolveContexts = Array(i),\n resolveValues = slice.call(arguments),\n // the master Deferred\n master = jQuery.Deferred(),\n // subordinate callback factory\n updateFunc = function (i) {\n return function (value) {\n resolveContexts[i] = this;\n resolveValues[i] = arguments.length > 1 ? slice.call(arguments) : value;\n\n if (! --remaining) {\n master.resolveWith(resolveContexts, resolveValues);\n }\n };\n }; // Single- and empty arguments are adopted like Promise.resolve\n\n\n if (remaining <= 1) {\n adoptValue(singleValue, master.done(updateFunc(i)).resolve, master.reject, !remaining); // Use .then() to unwrap secondary thenables (cf. gh-3000)\n\n if (master.state() === \"pending\" || isFunction(resolveValues[i] && resolveValues[i].then)) {\n return master.then();\n }\n } // Multiple arguments are aggregated like Promise.all array elements\n\n\n while (i--) {\n adoptValue(resolveValues[i], updateFunc(i), master.reject);\n }\n\n return master.promise();\n }\n });\n return jQuery;\n});","define([\"./core\", \"./var/document\", \"./var/documentElement\", \"./var/isFunction\", \"./var/rnothtmlwhite\", \"./var/rcheckableType\", \"./var/slice\", \"./data/var/dataPriv\", \"./core/nodeName\", \"./core/init\", \"./selector\"], function (jQuery, document, documentElement, isFunction, rnothtmlwhite, rcheckableType, slice, dataPriv, nodeName) {\n \"use strict\";\n\n var rkeyEvent = /^key/,\n rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,\n rtypenamespace = /^([^.]*)(?:\\.(.+)|)/;\n\n function returnTrue() {\n return true;\n }\n\n function returnFalse() {\n return false;\n } // Support: IE <=9 - 11+\n // focus() and blur() are asynchronous, except when they are no-op.\n // So expect focus to be synchronous when the element is already active,\n // and blur to be synchronous when the element is not already active.\n // (focus and blur are always synchronous in other supported browsers,\n // this just defines when we can count on it).\n\n\n function expectSync(elem, type) {\n return elem === safeActiveElement() === (type === \"focus\");\n } // Support: IE <=9 only\n // Accessing document.activeElement can throw unexpectedly\n // https://bugs.jquery.com/ticket/13393\n\n\n function safeActiveElement() {\n try {\n return document.activeElement;\n } catch (err) {}\n }\n\n function on(elem, types, selector, data, fn, one) {\n var origFn, type; // Types can be a map of types/handlers\n\n if (typeof types === \"object\") {\n // ( types-Object, selector, data )\n if (typeof selector !== \"string\") {\n // ( types-Object, data )\n data = data || selector;\n selector = undefined;\n }\n\n for (type in types) {\n on(elem, type, selector, data, types[type], one);\n }\n\n return elem;\n }\n\n if (data == null && fn == null) {\n // ( types, fn )\n fn = selector;\n data = selector = undefined;\n } else if (fn == null) {\n if (typeof selector === \"string\") {\n // ( types, selector, fn )\n fn = data;\n data = undefined;\n } else {\n // ( types, data, fn )\n fn = data;\n data = selector;\n selector = undefined;\n }\n }\n\n if (fn === false) {\n fn = returnFalse;\n } else if (!fn) {\n return elem;\n }\n\n if (one === 1) {\n origFn = fn;\n\n fn = function (event) {\n // Can use an empty set, since event contains the info\n jQuery().off(event);\n return origFn.apply(this, arguments);\n }; // Use same guid so caller can remove using origFn\n\n\n fn.guid = origFn.guid || (origFn.guid = jQuery.guid++);\n }\n\n return elem.each(function () {\n jQuery.event.add(this, types, fn, data, selector);\n });\n }\n /*\n * Helper functions for managing events -- not part of the public interface.\n * Props to Dean Edwards' addEvent library for many of the ideas.\n */\n\n\n jQuery.event = {\n global: {},\n add: function (elem, types, handler, data, selector) {\n var handleObjIn,\n eventHandle,\n tmp,\n events,\n t,\n handleObj,\n special,\n handlers,\n type,\n namespaces,\n origType,\n elemData = dataPriv.get(elem); // Don't attach events to noData or text/comment nodes (but allow plain objects)\n\n if (!elemData) {\n return;\n } // Caller can pass in an object of custom data in lieu of the handler\n\n\n if (handler.handler) {\n handleObjIn = handler;\n handler = handleObjIn.handler;\n selector = handleObjIn.selector;\n } // Ensure that invalid selectors throw exceptions at attach time\n // Evaluate against documentElement in case elem is a non-element node (e.g., document)\n\n\n if (selector) {\n jQuery.find.matchesSelector(documentElement, selector);\n } // Make sure that the handler has a unique ID, used to find/remove it later\n\n\n if (!handler.guid) {\n handler.guid = jQuery.guid++;\n } // Init the element's event structure and main handler, if this is the first\n\n\n if (!(events = elemData.events)) {\n events = elemData.events = {};\n }\n\n if (!(eventHandle = elemData.handle)) {\n eventHandle = elemData.handle = function (e) {\n // Discard the second event of a jQuery.event.trigger() and\n // when an event is called after a page has unloaded\n return typeof jQuery !== \"undefined\" && jQuery.event.triggered !== e.type ? jQuery.event.dispatch.apply(elem, arguments) : undefined;\n };\n } // Handle multiple events separated by a space\n\n\n types = (types || \"\").match(rnothtmlwhite) || [\"\"];\n t = types.length;\n\n while (t--) {\n tmp = rtypenamespace.exec(types[t]) || [];\n type = origType = tmp[1];\n namespaces = (tmp[2] || \"\").split(\".\").sort(); // There *must* be a type, no attaching namespace-only handlers\n\n if (!type) {\n continue;\n } // If event changes its type, use the special event handlers for the changed type\n\n\n special = jQuery.event.special[type] || {}; // If selector defined, determine special event api type, otherwise given type\n\n type = (selector ? special.delegateType : special.bindType) || type; // Update special based on newly reset type\n\n special = jQuery.event.special[type] || {}; // handleObj is passed to all event handlers\n\n handleObj = jQuery.extend({\n type: type,\n origType: origType,\n data: data,\n handler: handler,\n guid: handler.guid,\n selector: selector,\n needsContext: selector && jQuery.expr.match.needsContext.test(selector),\n namespace: namespaces.join(\".\")\n }, handleObjIn); // Init the event handler queue if we're the first\n\n if (!(handlers = events[type])) {\n handlers = events[type] = [];\n handlers.delegateCount = 0; // Only use addEventListener if the special events handler returns false\n\n if (!special.setup || special.setup.call(elem, data, namespaces, eventHandle) === false) {\n if (elem.addEventListener) {\n elem.addEventListener(type, eventHandle);\n }\n }\n }\n\n if (special.add) {\n special.add.call(elem, handleObj);\n\n if (!handleObj.handler.guid) {\n handleObj.handler.guid = handler.guid;\n }\n } // Add to the element's handler list, delegates in front\n\n\n if (selector) {\n handlers.splice(handlers.delegateCount++, 0, handleObj);\n } else {\n handlers.push(handleObj);\n } // Keep track of which events have ever been used, for event optimization\n\n\n jQuery.event.global[type] = true;\n }\n },\n // Detach an event or set of events from an element\n remove: function (elem, types, handler, selector, mappedTypes) {\n var j,\n origCount,\n tmp,\n events,\n t,\n handleObj,\n special,\n handlers,\n type,\n namespaces,\n origType,\n elemData = dataPriv.hasData(elem) && dataPriv.get(elem);\n\n if (!elemData || !(events = elemData.events)) {\n return;\n } // Once for each type.namespace in types; type may be omitted\n\n\n types = (types || \"\").match(rnothtmlwhite) || [\"\"];\n t = types.length;\n\n while (t--) {\n tmp = rtypenamespace.exec(types[t]) || [];\n type = origType = tmp[1];\n namespaces = (tmp[2] || \"\").split(\".\").sort(); // Unbind all events (on this namespace, if provided) for the element\n\n if (!type) {\n for (type in events) {\n jQuery.event.remove(elem, type + types[t], handler, selector, true);\n }\n\n continue;\n }\n\n special = jQuery.event.special[type] || {};\n type = (selector ? special.delegateType : special.bindType) || type;\n handlers = events[type] || [];\n tmp = tmp[2] && new RegExp(\"(^|\\\\.)\" + namespaces.join(\"\\\\.(?:.*\\\\.|)\") + \"(\\\\.|$)\"); // Remove matching events\n\n origCount = j = handlers.length;\n\n while (j--) {\n handleObj = handlers[j];\n\n if ((mappedTypes || origType === handleObj.origType) && (!handler || handler.guid === handleObj.guid) && (!tmp || tmp.test(handleObj.namespace)) && (!selector || selector === handleObj.selector || selector === \"**\" && handleObj.selector)) {\n handlers.splice(j, 1);\n\n if (handleObj.selector) {\n handlers.delegateCount--;\n }\n\n if (special.remove) {\n special.remove.call(elem, handleObj);\n }\n }\n } // Remove generic event handler if we removed something and no more handlers exist\n // (avoids potential for endless recursion during removal of special event handlers)\n\n\n if (origCount && !handlers.length) {\n if (!special.teardown || special.teardown.call(elem, namespaces, elemData.handle) === false) {\n jQuery.removeEvent(elem, type, elemData.handle);\n }\n\n delete events[type];\n }\n } // Remove data and the expando if it's no longer used\n\n\n if (jQuery.isEmptyObject(events)) {\n dataPriv.remove(elem, \"handle events\");\n }\n },\n dispatch: function (nativeEvent) {\n // Make a writable jQuery.Event from the native event object\n var event = jQuery.event.fix(nativeEvent);\n var i,\n j,\n ret,\n matched,\n handleObj,\n handlerQueue,\n args = new Array(arguments.length),\n handlers = (dataPriv.get(this, \"events\") || {})[event.type] || [],\n special = jQuery.event.special[event.type] || {}; // Use the fix-ed jQuery.Event rather than the (read-only) native event\n\n args[0] = event;\n\n for (i = 1; i < arguments.length; i++) {\n args[i] = arguments[i];\n }\n\n event.delegateTarget = this; // Call the preDispatch hook for the mapped type, and let it bail if desired\n\n if (special.preDispatch && special.preDispatch.call(this, event) === false) {\n return;\n } // Determine handlers\n\n\n handlerQueue = jQuery.event.handlers.call(this, event, handlers); // Run delegates first; they may want to stop propagation beneath us\n\n i = 0;\n\n while ((matched = handlerQueue[i++]) && !event.isPropagationStopped()) {\n event.currentTarget = matched.elem;\n j = 0;\n\n while ((handleObj = matched.handlers[j++]) && !event.isImmediatePropagationStopped()) {\n // If the event is namespaced, then each handler is only invoked if it is\n // specially universal or its namespaces are a superset of the event's.\n if (!event.rnamespace || handleObj.namespace === false || event.rnamespace.test(handleObj.namespace)) {\n event.handleObj = handleObj;\n event.data = handleObj.data;\n ret = ((jQuery.event.special[handleObj.origType] || {}).handle || handleObj.handler).apply(matched.elem, args);\n\n if (ret !== undefined) {\n if ((event.result = ret) === false) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n }\n }\n } // Call the postDispatch hook for the mapped type\n\n\n if (special.postDispatch) {\n special.postDispatch.call(this, event);\n }\n\n return event.result;\n },\n handlers: function (event, handlers) {\n var i,\n handleObj,\n sel,\n matchedHandlers,\n matchedSelectors,\n handlerQueue = [],\n delegateCount = handlers.delegateCount,\n cur = event.target; // Find delegate handlers\n\n if (delegateCount && // Support: IE <=9\n // Black-hole SVG instance trees (trac-13180)\n cur.nodeType && // Support: Firefox <=42\n // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)\n // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click\n // Support: IE 11 only\n // ...but not arrow key \"clicks\" of radio inputs, which can have `button` -1 (gh-2343)\n !(event.type === \"click\" && event.button >= 1)) {\n for (; cur !== this; cur = cur.parentNode || this) {\n // Don't check non-elements (#13208)\n // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)\n if (cur.nodeType === 1 && !(event.type === \"click\" && cur.disabled === true)) {\n matchedHandlers = [];\n matchedSelectors = {};\n\n for (i = 0; i < delegateCount; i++) {\n handleObj = handlers[i]; // Don't conflict with Object.prototype properties (#13203)\n\n sel = handleObj.selector + \" \";\n\n if (matchedSelectors[sel] === undefined) {\n matchedSelectors[sel] = handleObj.needsContext ? jQuery(sel, this).index(cur) > -1 : jQuery.find(sel, this, null, [cur]).length;\n }\n\n if (matchedSelectors[sel]) {\n matchedHandlers.push(handleObj);\n }\n }\n\n if (matchedHandlers.length) {\n handlerQueue.push({\n elem: cur,\n handlers: matchedHandlers\n });\n }\n }\n }\n } // Add the remaining (directly-bound) handlers\n\n\n cur = this;\n\n if (delegateCount < handlers.length) {\n handlerQueue.push({\n elem: cur,\n handlers: handlers.slice(delegateCount)\n });\n }\n\n return handlerQueue;\n },\n addProp: function (name, hook) {\n Object.defineProperty(jQuery.Event.prototype, name, {\n enumerable: true,\n configurable: true,\n get: isFunction(hook) ? function () {\n if (this.originalEvent) {\n return hook(this.originalEvent);\n }\n } : function () {\n if (this.originalEvent) {\n return this.originalEvent[name];\n }\n },\n set: function (value) {\n Object.defineProperty(this, name, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: value\n });\n }\n });\n },\n fix: function (originalEvent) {\n return originalEvent[jQuery.expando] ? originalEvent : new jQuery.Event(originalEvent);\n },\n special: {\n load: {\n // Prevent triggered image.load events from bubbling to window.load\n noBubble: true\n },\n click: {\n // Utilize native event to ensure correct state for checkable inputs\n setup: function (data) {\n // For mutual compressibility with _default, replace `this` access with a local var.\n // `|| data` is dead code meant only to preserve the variable through minification.\n var el = this || data; // Claim the first handler\n\n if (rcheckableType.test(el.type) && el.click && nodeName(el, \"input\")) {\n // dataPriv.set( el, \"click\", ... )\n leverageNative(el, \"click\", returnTrue);\n } // Return false to allow normal processing in the caller\n\n\n return false;\n },\n trigger: function (data) {\n // For mutual compressibility with _default, replace `this` access with a local var.\n // `|| data` is dead code meant only to preserve the variable through minification.\n var el = this || data; // Force setup before triggering a click\n\n if (rcheckableType.test(el.type) && el.click && nodeName(el, \"input\")) {\n leverageNative(el, \"click\");\n } // Return non-false to allow normal event-path propagation\n\n\n return true;\n },\n // For cross-browser consistency, suppress native .click() on links\n // Also prevent it if we're currently inside a leveraged native-event stack\n _default: function (event) {\n var target = event.target;\n return rcheckableType.test(target.type) && target.click && nodeName(target, \"input\") && dataPriv.get(target, \"click\") || nodeName(target, \"a\");\n }\n },\n beforeunload: {\n postDispatch: function (event) {\n // Support: Firefox 20+\n // Firefox doesn't alert if the returnValue field is not set.\n if (event.result !== undefined && event.originalEvent) {\n event.originalEvent.returnValue = event.result;\n }\n }\n }\n }\n }; // Ensure the presence of an event listener that handles manually-triggered\n // synthetic events by interrupting progress until reinvoked in response to\n // *native* events that it fires directly, ensuring that state changes have\n // already occurred before other listeners are invoked.\n\n function leverageNative(el, type, expectSync) {\n // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add\n if (!expectSync) {\n if (dataPriv.get(el, type) === undefined) {\n jQuery.event.add(el, type, returnTrue);\n }\n\n return;\n } // Register the controller as a special universal handler for all event namespaces\n\n\n dataPriv.set(el, type, false);\n jQuery.event.add(el, type, {\n namespace: false,\n handler: function (event) {\n var notAsync,\n result,\n saved = dataPriv.get(this, type);\n\n if (event.isTrigger & 1 && this[type]) {\n // Interrupt processing of the outer synthetic .trigger()ed event\n // Saved data should be false in such cases, but might be a leftover capture object\n // from an async native handler (gh-4350)\n if (!saved.length) {\n // Store arguments for use when handling the inner native event\n // There will always be at least one argument (an event object), so this array\n // will not be confused with a leftover capture object.\n saved = slice.call(arguments);\n dataPriv.set(this, type, saved); // Trigger the native event and capture its result\n // Support: IE <=9 - 11+\n // focus() and blur() are asynchronous\n\n notAsync = expectSync(this, type);\n this[type]();\n result = dataPriv.get(this, type);\n\n if (saved !== result || notAsync) {\n dataPriv.set(this, type, false);\n } else {\n result = {};\n }\n\n if (saved !== result) {\n // Cancel the outer synthetic event\n event.stopImmediatePropagation();\n event.preventDefault();\n return result.value;\n } // If this is an inner synthetic event for an event with a bubbling surrogate\n // (focus or blur), assume that the surrogate already propagated from triggering the\n // native event and prevent that from happening again here.\n // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the\n // bubbling surrogate propagates *after* the non-bubbling base), but that seems\n // less bad than duplication.\n\n } else if ((jQuery.event.special[type] || {}).delegateType) {\n event.stopPropagation();\n } // If this is a native event triggered above, everything is now in order\n // Fire an inner synthetic event with the original arguments\n\n } else if (saved.length) {\n // ...and capture the result\n dataPriv.set(this, type, {\n value: jQuery.event.trigger( // Support: IE <=9 - 11+\n // Extend with the prototype to reset the above stopImmediatePropagation()\n jQuery.extend(saved[0], jQuery.Event.prototype), saved.slice(1), this)\n }); // Abort handling of the native event\n\n event.stopImmediatePropagation();\n }\n }\n });\n }\n\n jQuery.removeEvent = function (elem, type, handle) {\n // This \"if\" is needed for plain objects\n if (elem.removeEventListener) {\n elem.removeEventListener(type, handle);\n }\n };\n\n jQuery.Event = function (src, props) {\n // Allow instantiation without the 'new' keyword\n if (!(this instanceof jQuery.Event)) {\n return new jQuery.Event(src, props);\n } // Event object\n\n\n if (src && src.type) {\n this.originalEvent = src;\n this.type = src.type; // Events bubbling up the document may have been marked as prevented\n // by a handler lower down the tree; reflect the correct value.\n\n this.isDefaultPrevented = src.defaultPrevented || src.defaultPrevented === undefined && // Support: Android <=2.3 only\n src.returnValue === false ? returnTrue : returnFalse; // Create target properties\n // Support: Safari <=6 - 7 only\n // Target should not be a text node (#504, #13143)\n\n this.target = src.target && src.target.nodeType === 3 ? src.target.parentNode : src.target;\n this.currentTarget = src.currentTarget;\n this.relatedTarget = src.relatedTarget; // Event type\n } else {\n this.type = src;\n } // Put explicitly provided properties onto the event object\n\n\n if (props) {\n jQuery.extend(this, props);\n } // Create a timestamp if incoming event doesn't have one\n\n\n this.timeStamp = src && src.timeStamp || Date.now(); // Mark it as fixed\n\n this[jQuery.expando] = true;\n }; // jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding\n // https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html\n\n\n jQuery.Event.prototype = {\n constructor: jQuery.Event,\n isDefaultPrevented: returnFalse,\n isPropagationStopped: returnFalse,\n isImmediatePropagationStopped: returnFalse,\n isSimulated: false,\n preventDefault: function () {\n var e = this.originalEvent;\n this.isDefaultPrevented = returnTrue;\n\n if (e && !this.isSimulated) {\n e.preventDefault();\n }\n },\n stopPropagation: function () {\n var e = this.originalEvent;\n this.isPropagationStopped = returnTrue;\n\n if (e && !this.isSimulated) {\n e.stopPropagation();\n }\n },\n stopImmediatePropagation: function () {\n var e = this.originalEvent;\n this.isImmediatePropagationStopped = returnTrue;\n\n if (e && !this.isSimulated) {\n e.stopImmediatePropagation();\n }\n\n this.stopPropagation();\n }\n }; // Includes all common event props including KeyEvent and MouseEvent specific props\n\n jQuery.each({\n altKey: true,\n bubbles: true,\n cancelable: true,\n changedTouches: true,\n ctrlKey: true,\n detail: true,\n eventPhase: true,\n metaKey: true,\n pageX: true,\n pageY: true,\n shiftKey: true,\n view: true,\n \"char\": true,\n code: true,\n charCode: true,\n key: true,\n keyCode: true,\n button: true,\n buttons: true,\n clientX: true,\n clientY: true,\n offsetX: true,\n offsetY: true,\n pointerId: true,\n pointerType: true,\n screenX: true,\n screenY: true,\n targetTouches: true,\n toElement: true,\n touches: true,\n which: function (event) {\n var button = event.button; // Add which for key events\n\n if (event.which == null && rkeyEvent.test(event.type)) {\n return event.charCode != null ? event.charCode : event.keyCode;\n } // Add which for click: 1 === left; 2 === middle; 3 === right\n\n\n if (!event.which && button !== undefined && rmouseEvent.test(event.type)) {\n if (button & 1) {\n return 1;\n }\n\n if (button & 2) {\n return 3;\n }\n\n if (button & 4) {\n return 2;\n }\n\n return 0;\n }\n\n return event.which;\n }\n }, jQuery.event.addProp);\n jQuery.each({\n focus: \"focusin\",\n blur: \"focusout\"\n }, function (type, delegateType) {\n jQuery.event.special[type] = {\n // Utilize native event if possible so blur/focus sequence is correct\n setup: function () {\n // Claim the first handler\n // dataPriv.set( this, \"focus\", ... )\n // dataPriv.set( this, \"blur\", ... )\n leverageNative(this, type, expectSync); // Return false to allow normal processing in the caller\n\n return false;\n },\n trigger: function () {\n // Force setup before trigger\n leverageNative(this, type); // Return non-false to allow normal event-path propagation\n\n return true;\n },\n delegateType: delegateType\n };\n }); // Create mouseenter/leave events using mouseover/out and event-time checks\n // so that event delegation works in jQuery.\n // Do the same for pointerenter/pointerleave and pointerover/pointerout\n //\n // Support: Safari 7 only\n // Safari sends mouseenter too often; see:\n // https://bugs.chromium.org/p/chromium/issues/detail?id=470258\n // for the description of the bug (it existed in older Chrome versions as well).\n\n jQuery.each({\n mouseenter: \"mouseover\",\n mouseleave: \"mouseout\",\n pointerenter: \"pointerover\",\n pointerleave: \"pointerout\"\n }, function (orig, fix) {\n jQuery.event.special[orig] = {\n delegateType: fix,\n bindType: fix,\n handle: function (event) {\n var ret,\n target = this,\n related = event.relatedTarget,\n handleObj = event.handleObj; // For mouseenter/leave call the handler if related is outside the target.\n // NB: No relatedTarget if the mouse left/entered the browser window\n\n if (!related || related !== target && !jQuery.contains(target, related)) {\n event.type = handleObj.origType;\n ret = handleObj.handler.apply(this, arguments);\n event.type = fix;\n }\n\n return ret;\n }\n };\n });\n jQuery.fn.extend({\n on: function (types, selector, data, fn) {\n return on(this, types, selector, data, fn);\n },\n one: function (types, selector, data, fn) {\n return on(this, types, selector, data, fn, 1);\n },\n off: function (types, selector, fn) {\n var handleObj, type;\n\n if (types && types.preventDefault && types.handleObj) {\n // ( event ) dispatched jQuery.Event\n handleObj = types.handleObj;\n jQuery(types.delegateTarget).off(handleObj.namespace ? handleObj.origType + \".\" + handleObj.namespace : handleObj.origType, handleObj.selector, handleObj.handler);\n return this;\n }\n\n if (typeof types === \"object\") {\n // ( types-object [, selector] )\n for (type in types) {\n this.off(type, selector, types[type]);\n }\n\n return this;\n }\n\n if (selector === false || typeof selector === \"function\") {\n // ( types [, fn] )\n fn = selector;\n selector = undefined;\n }\n\n if (fn === false) {\n fn = returnFalse;\n }\n\n return this.each(function () {\n jQuery.event.remove(this, types, fn, selector);\n });\n }\n });\n return jQuery;\n});","define([\"./core\", \"./var/document\", \"./var/isFunction\", \"./var/rnothtmlwhite\", \"./ajax/var/location\", \"./ajax/var/nonce\", \"./ajax/var/rquery\", \"./core/init\", \"./ajax/parseXML\", \"./event/trigger\", \"./deferred\", \"./serialize\" // jQuery.param\n], function (jQuery, document, isFunction, rnothtmlwhite, location, nonce, rquery) {\n \"use strict\";\n\n var r20 = /%20/g,\n rhash = /#.*$/,\n rantiCache = /([?&])_=[^&]*/,\n rheaders = /^(.*?):[ \\t]*([^\\r\\n]*)$/mg,\n // #7653, #8125, #8152: local protocol detection\n rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,\n rnoContent = /^(?:GET|HEAD)$/,\n rprotocol = /^\\/\\//,\n\n /* Prefilters\n * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)\n * 2) These are called:\n * - BEFORE asking for a transport\n * - AFTER param serialization (s.data is a string if s.processData is true)\n * 3) key is the dataType\n * 4) the catchall symbol \"*\" can be used\n * 5) execution will start with transport dataType and THEN continue down to \"*\" if needed\n */\n prefilters = {},\n\n /* Transports bindings\n * 1) key is the dataType\n * 2) the catchall symbol \"*\" can be used\n * 3) selection will start with transport dataType and THEN go to \"*\" if needed\n */\n transports = {},\n // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression\n allTypes = \"*/\".concat(\"*\"),\n // Anchor tag for parsing the document origin\n originAnchor = document.createElement(\"a\");\n originAnchor.href = location.href; // Base \"constructor\" for jQuery.ajaxPrefilter and jQuery.ajaxTransport\n\n function addToPrefiltersOrTransports(structure) {\n // dataTypeExpression is optional and defaults to \"*\"\n return function (dataTypeExpression, func) {\n if (typeof dataTypeExpression !== \"string\") {\n func = dataTypeExpression;\n dataTypeExpression = \"*\";\n }\n\n var dataType,\n i = 0,\n dataTypes = dataTypeExpression.toLowerCase().match(rnothtmlwhite) || [];\n\n if (isFunction(func)) {\n // For each dataType in the dataTypeExpression\n while (dataType = dataTypes[i++]) {\n // Prepend if requested\n if (dataType[0] === \"+\") {\n dataType = dataType.slice(1) || \"*\";\n (structure[dataType] = structure[dataType] || []).unshift(func); // Otherwise append\n } else {\n (structure[dataType] = structure[dataType] || []).push(func);\n }\n }\n }\n };\n } // Base inspection function for prefilters and transports\n\n\n function inspectPrefiltersOrTransports(structure, options, originalOptions, jqXHR) {\n var inspected = {},\n seekingTransport = structure === transports;\n\n function inspect(dataType) {\n var selected;\n inspected[dataType] = true;\n jQuery.each(structure[dataType] || [], function (_, prefilterOrFactory) {\n var dataTypeOrTransport = prefilterOrFactory(options, originalOptions, jqXHR);\n\n if (typeof dataTypeOrTransport === \"string\" && !seekingTransport && !inspected[dataTypeOrTransport]) {\n options.dataTypes.unshift(dataTypeOrTransport);\n inspect(dataTypeOrTransport);\n return false;\n } else if (seekingTransport) {\n return !(selected = dataTypeOrTransport);\n }\n });\n return selected;\n }\n\n return inspect(options.dataTypes[0]) || !inspected[\"*\"] && inspect(\"*\");\n } // A special extend for ajax options\n // that takes \"flat\" options (not to be deep extended)\n // Fixes #9887\n\n\n function ajaxExtend(target, src) {\n var key,\n deep,\n flatOptions = jQuery.ajaxSettings.flatOptions || {};\n\n for (key in src) {\n if (src[key] !== undefined) {\n (flatOptions[key] ? target : deep || (deep = {}))[key] = src[key];\n }\n }\n\n if (deep) {\n jQuery.extend(true, target, deep);\n }\n\n return target;\n }\n /* Handles responses to an ajax request:\n * - finds the right dataType (mediates between content-type and expected dataType)\n * - returns the corresponding response\n */\n\n\n function ajaxHandleResponses(s, jqXHR, responses) {\n var ct,\n type,\n finalDataType,\n firstDataType,\n contents = s.contents,\n dataTypes = s.dataTypes; // Remove auto dataType and get content-type in the process\n\n while (dataTypes[0] === \"*\") {\n dataTypes.shift();\n\n if (ct === undefined) {\n ct = s.mimeType || jqXHR.getResponseHeader(\"Content-Type\");\n }\n } // Check if we're dealing with a known content-type\n\n\n if (ct) {\n for (type in contents) {\n if (contents[type] && contents[type].test(ct)) {\n dataTypes.unshift(type);\n break;\n }\n }\n } // Check to see if we have a response for the expected dataType\n\n\n if (dataTypes[0] in responses) {\n finalDataType = dataTypes[0];\n } else {\n // Try convertible dataTypes\n for (type in responses) {\n if (!dataTypes[0] || s.converters[type + \" \" + dataTypes[0]]) {\n finalDataType = type;\n break;\n }\n\n if (!firstDataType) {\n firstDataType = type;\n }\n } // Or just use first one\n\n\n finalDataType = finalDataType || firstDataType;\n } // If we found a dataType\n // We add the dataType to the list if needed\n // and return the corresponding response\n\n\n if (finalDataType) {\n if (finalDataType !== dataTypes[0]) {\n dataTypes.unshift(finalDataType);\n }\n\n return responses[finalDataType];\n }\n }\n /* Chain conversions given the request and the original response\n * Also sets the responseXXX fields on the jqXHR instance\n */\n\n\n function ajaxConvert(s, response, jqXHR, isSuccess) {\n var conv2,\n current,\n conv,\n tmp,\n prev,\n converters = {},\n // Work with a copy of dataTypes in case we need to modify it for conversion\n dataTypes = s.dataTypes.slice(); // Create converters map with lowercased keys\n\n if (dataTypes[1]) {\n for (conv in s.converters) {\n converters[conv.toLowerCase()] = s.converters[conv];\n }\n }\n\n current = dataTypes.shift(); // Convert to each sequential dataType\n\n while (current) {\n if (s.responseFields[current]) {\n jqXHR[s.responseFields[current]] = response;\n } // Apply the dataFilter if provided\n\n\n if (!prev && isSuccess && s.dataFilter) {\n response = s.dataFilter(response, s.dataType);\n }\n\n prev = current;\n current = dataTypes.shift();\n\n if (current) {\n // There's only work to do if current dataType is non-auto\n if (current === \"*\") {\n current = prev; // Convert response if prev dataType is non-auto and differs from current\n } else if (prev !== \"*\" && prev !== current) {\n // Seek a direct converter\n conv = converters[prev + \" \" + current] || converters[\"* \" + current]; // If none found, seek a pair\n\n if (!conv) {\n for (conv2 in converters) {\n // If conv2 outputs current\n tmp = conv2.split(\" \");\n\n if (tmp[1] === current) {\n // If prev can be converted to accepted input\n conv = converters[prev + \" \" + tmp[0]] || converters[\"* \" + tmp[0]];\n\n if (conv) {\n // Condense equivalence converters\n if (conv === true) {\n conv = converters[conv2]; // Otherwise, insert the intermediate dataType\n } else if (converters[conv2] !== true) {\n current = tmp[0];\n dataTypes.unshift(tmp[1]);\n }\n\n break;\n }\n }\n }\n } // Apply converter (if not an equivalence)\n\n\n if (conv !== true) {\n // Unless errors are allowed to bubble, catch and return them\n if (conv && s.throws) {\n response = conv(response);\n } else {\n try {\n response = conv(response);\n } catch (e) {\n return {\n state: \"parsererror\",\n error: conv ? e : \"No conversion from \" + prev + \" to \" + current\n };\n }\n }\n }\n }\n }\n }\n\n return {\n state: \"success\",\n data: response\n };\n }\n\n jQuery.extend({\n // Counter for holding the number of active queries\n active: 0,\n // Last-Modified header cache for next request\n lastModified: {},\n etag: {},\n ajaxSettings: {\n url: location.href,\n type: \"GET\",\n isLocal: rlocalProtocol.test(location.protocol),\n global: true,\n processData: true,\n async: true,\n contentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\n\n /*\n timeout: 0,\n data: null,\n dataType: null,\n username: null,\n password: null,\n cache: null,\n throws: false,\n traditional: false,\n headers: {},\n */\n accepts: {\n \"*\": allTypes,\n text: \"text/plain\",\n html: \"text/html\",\n xml: \"application/xml, text/xml\",\n json: \"application/json, text/javascript\"\n },\n contents: {\n xml: /\\bxml\\b/,\n html: /\\bhtml/,\n json: /\\bjson\\b/\n },\n responseFields: {\n xml: \"responseXML\",\n text: \"responseText\",\n json: \"responseJSON\"\n },\n // Data converters\n // Keys separate source (or catchall \"*\") and destination types with a single space\n converters: {\n // Convert anything to text\n \"* text\": String,\n // Text to html (true = no transformation)\n \"text html\": true,\n // Evaluate text as a json expression\n \"text json\": JSON.parse,\n // Parse text as xml\n \"text xml\": jQuery.parseXML\n },\n // For options that shouldn't be deep extended:\n // you can add your own custom options here if\n // and when you create one that shouldn't be\n // deep extended (see ajaxExtend)\n flatOptions: {\n url: true,\n context: true\n }\n },\n // Creates a full fledged settings object into target\n // with both ajaxSettings and settings fields.\n // If target is omitted, writes into ajaxSettings.\n ajaxSetup: function (target, settings) {\n return settings ? // Building a settings object\n ajaxExtend(ajaxExtend(target, jQuery.ajaxSettings), settings) : // Extending ajaxSettings\n ajaxExtend(jQuery.ajaxSettings, target);\n },\n ajaxPrefilter: addToPrefiltersOrTransports(prefilters),\n ajaxTransport: addToPrefiltersOrTransports(transports),\n // Main method\n ajax: function (url, options) {\n // If url is an object, simulate pre-1.5 signature\n if (typeof url === \"object\") {\n options = url;\n url = undefined;\n } // Force options to be an object\n\n\n options = options || {};\n var transport,\n // URL without anti-cache param\n cacheURL,\n // Response headers\n responseHeadersString,\n responseHeaders,\n // timeout handle\n timeoutTimer,\n // Url cleanup var\n urlAnchor,\n // Request state (becomes false upon send and true upon completion)\n completed,\n // To know if global events are to be dispatched\n fireGlobals,\n // Loop variable\n i,\n // uncached part of the url\n uncached,\n // Create the final options object\n s = jQuery.ajaxSetup({}, options),\n // Callbacks context\n callbackContext = s.context || s,\n // Context for global events is callbackContext if it is a DOM node or jQuery collection\n globalEventContext = s.context && (callbackContext.nodeType || callbackContext.jquery) ? jQuery(callbackContext) : jQuery.event,\n // Deferreds\n deferred = jQuery.Deferred(),\n completeDeferred = jQuery.Callbacks(\"once memory\"),\n // Status-dependent callbacks\n statusCode = s.statusCode || {},\n // Headers (they are sent all at once)\n requestHeaders = {},\n requestHeadersNames = {},\n // Default abort message\n strAbort = \"canceled\",\n // Fake xhr\n jqXHR = {\n readyState: 0,\n // Builds headers hashtable if needed\n getResponseHeader: function (key) {\n var match;\n\n if (completed) {\n if (!responseHeaders) {\n responseHeaders = {};\n\n while (match = rheaders.exec(responseHeadersString)) {\n responseHeaders[match[1].toLowerCase() + \" \"] = (responseHeaders[match[1].toLowerCase() + \" \"] || []).concat(match[2]);\n }\n }\n\n match = responseHeaders[key.toLowerCase() + \" \"];\n }\n\n return match == null ? null : match.join(\", \");\n },\n // Raw string\n getAllResponseHeaders: function () {\n return completed ? responseHeadersString : null;\n },\n // Caches the header\n setRequestHeader: function (name, value) {\n if (completed == null) {\n name = requestHeadersNames[name.toLowerCase()] = requestHeadersNames[name.toLowerCase()] || name;\n requestHeaders[name] = value;\n }\n\n return this;\n },\n // Overrides response content-type header\n overrideMimeType: function (type) {\n if (completed == null) {\n s.mimeType = type;\n }\n\n return this;\n },\n // Status-dependent callbacks\n statusCode: function (map) {\n var code;\n\n if (map) {\n if (completed) {\n // Execute the appropriate callbacks\n jqXHR.always(map[jqXHR.status]);\n } else {\n // Lazy-add the new callbacks in a way that preserves old ones\n for (code in map) {\n statusCode[code] = [statusCode[code], map[code]];\n }\n }\n }\n\n return this;\n },\n // Cancel the request\n abort: function (statusText) {\n var finalText = statusText || strAbort;\n\n if (transport) {\n transport.abort(finalText);\n }\n\n done(0, finalText);\n return this;\n }\n }; // Attach deferreds\n\n deferred.promise(jqXHR); // Add protocol if not provided (prefilters might expect it)\n // Handle falsy url in the settings object (#10093: consistency with old signature)\n // We also use the url parameter if available\n\n s.url = ((url || s.url || location.href) + \"\").replace(rprotocol, location.protocol + \"//\"); // Alias method option to type as per ticket #12004\n\n s.type = options.method || options.type || s.method || s.type; // Extract dataTypes list\n\n s.dataTypes = (s.dataType || \"*\").toLowerCase().match(rnothtmlwhite) || [\"\"]; // A cross-domain request is in order when the origin doesn't match the current origin.\n\n if (s.crossDomain == null) {\n urlAnchor = document.createElement(\"a\"); // Support: IE <=8 - 11, Edge 12 - 15\n // IE throws exception on accessing the href property if url is malformed,\n // e.g. http://example.com:80x/\n\n try {\n urlAnchor.href = s.url; // Support: IE <=8 - 11 only\n // Anchor's host property isn't correctly set when s.url is relative\n\n urlAnchor.href = urlAnchor.href;\n s.crossDomain = originAnchor.protocol + \"//\" + originAnchor.host !== urlAnchor.protocol + \"//\" + urlAnchor.host;\n } catch (e) {\n // If there is an error parsing the URL, assume it is crossDomain,\n // it can be rejected by the transport if it is invalid\n s.crossDomain = true;\n }\n } // Convert data if not already a string\n\n\n if (s.data && s.processData && typeof s.data !== \"string\") {\n s.data = jQuery.param(s.data, s.traditional);\n } // Apply prefilters\n\n\n inspectPrefiltersOrTransports(prefilters, s, options, jqXHR); // If request was aborted inside a prefilter, stop there\n\n if (completed) {\n return jqXHR;\n } // We can fire global events as of now if asked to\n // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)\n\n\n fireGlobals = jQuery.event && s.global; // Watch for a new set of requests\n\n if (fireGlobals && jQuery.active++ === 0) {\n jQuery.event.trigger(\"ajaxStart\");\n } // Uppercase the type\n\n\n s.type = s.type.toUpperCase(); // Determine if request has content\n\n s.hasContent = !rnoContent.test(s.type); // Save the URL in case we're toying with the If-Modified-Since\n // and/or If-None-Match header later on\n // Remove hash to simplify url manipulation\n\n cacheURL = s.url.replace(rhash, \"\"); // More options handling for requests with no content\n\n if (!s.hasContent) {\n // Remember the hash so we can put it back\n uncached = s.url.slice(cacheURL.length); // If data is available and should be processed, append data to url\n\n if (s.data && (s.processData || typeof s.data === \"string\")) {\n cacheURL += (rquery.test(cacheURL) ? \"&\" : \"?\") + s.data; // #9682: remove data so that it's not used in an eventual retry\n\n delete s.data;\n } // Add or update anti-cache param if needed\n\n\n if (s.cache === false) {\n cacheURL = cacheURL.replace(rantiCache, \"$1\");\n uncached = (rquery.test(cacheURL) ? \"&\" : \"?\") + \"_=\" + nonce++ + uncached;\n } // Put hash and anti-cache on the URL that will be requested (gh-1732)\n\n\n s.url = cacheURL + uncached; // Change '%20' to '+' if this is encoded form body content (gh-2658)\n } else if (s.data && s.processData && (s.contentType || \"\").indexOf(\"application/x-www-form-urlencoded\") === 0) {\n s.data = s.data.replace(r20, \"+\");\n } // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\n\n if (s.ifModified) {\n if (jQuery.lastModified[cacheURL]) {\n jqXHR.setRequestHeader(\"If-Modified-Since\", jQuery.lastModified[cacheURL]);\n }\n\n if (jQuery.etag[cacheURL]) {\n jqXHR.setRequestHeader(\"If-None-Match\", jQuery.etag[cacheURL]);\n }\n } // Set the correct header, if data is being sent\n\n\n if (s.data && s.hasContent && s.contentType !== false || options.contentType) {\n jqXHR.setRequestHeader(\"Content-Type\", s.contentType);\n } // Set the Accepts header for the server, depending on the dataType\n\n\n jqXHR.setRequestHeader(\"Accept\", s.dataTypes[0] && s.accepts[s.dataTypes[0]] ? s.accepts[s.dataTypes[0]] + (s.dataTypes[0] !== \"*\" ? \", \" + allTypes + \"; q=0.01\" : \"\") : s.accepts[\"*\"]); // Check for headers option\n\n for (i in s.headers) {\n jqXHR.setRequestHeader(i, s.headers[i]);\n } // Allow custom headers/mimetypes and early abort\n\n\n if (s.beforeSend && (s.beforeSend.call(callbackContext, jqXHR, s) === false || completed)) {\n // Abort if not done already and return\n return jqXHR.abort();\n } // Aborting is no longer a cancellation\n\n\n strAbort = \"abort\"; // Install callbacks on deferreds\n\n completeDeferred.add(s.complete);\n jqXHR.done(s.success);\n jqXHR.fail(s.error); // Get transport\n\n transport = inspectPrefiltersOrTransports(transports, s, options, jqXHR); // If no transport, we auto-abort\n\n if (!transport) {\n done(-1, \"No Transport\");\n } else {\n jqXHR.readyState = 1; // Send global event\n\n if (fireGlobals) {\n globalEventContext.trigger(\"ajaxSend\", [jqXHR, s]);\n } // If request was aborted inside ajaxSend, stop there\n\n\n if (completed) {\n return jqXHR;\n } // Timeout\n\n\n if (s.async && s.timeout > 0) {\n timeoutTimer = window.setTimeout(function () {\n jqXHR.abort(\"timeout\");\n }, s.timeout);\n }\n\n try {\n completed = false;\n transport.send(requestHeaders, done);\n } catch (e) {\n // Rethrow post-completion exceptions\n if (completed) {\n throw e;\n } // Propagate others as results\n\n\n done(-1, e);\n }\n } // Callback for when everything is done\n\n\n function done(status, nativeStatusText, responses, headers) {\n var isSuccess,\n success,\n error,\n response,\n modified,\n statusText = nativeStatusText; // Ignore repeat invocations\n\n if (completed) {\n return;\n }\n\n completed = true; // Clear timeout if it exists\n\n if (timeoutTimer) {\n window.clearTimeout(timeoutTimer);\n } // Dereference transport for early garbage collection\n // (no matter how long the jqXHR object will be used)\n\n\n transport = undefined; // Cache response headers\n\n responseHeadersString = headers || \"\"; // Set readyState\n\n jqXHR.readyState = status > 0 ? 4 : 0; // Determine if successful\n\n isSuccess = status >= 200 && status < 300 || status === 304; // Get response data\n\n if (responses) {\n response = ajaxHandleResponses(s, jqXHR, responses);\n } // Convert no matter what (that way responseXXX fields are always set)\n\n\n response = ajaxConvert(s, response, jqXHR, isSuccess); // If successful, handle type chaining\n\n if (isSuccess) {\n // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n if (s.ifModified) {\n modified = jqXHR.getResponseHeader(\"Last-Modified\");\n\n if (modified) {\n jQuery.lastModified[cacheURL] = modified;\n }\n\n modified = jqXHR.getResponseHeader(\"etag\");\n\n if (modified) {\n jQuery.etag[cacheURL] = modified;\n }\n } // if no content\n\n\n if (status === 204 || s.type === \"HEAD\") {\n statusText = \"nocontent\"; // if not modified\n } else if (status === 304) {\n statusText = \"notmodified\"; // If we have data, let's convert it\n } else {\n statusText = response.state;\n success = response.data;\n error = response.error;\n isSuccess = !error;\n }\n } else {\n // Extract error from statusText and normalize for non-aborts\n error = statusText;\n\n if (status || !statusText) {\n statusText = \"error\";\n\n if (status < 0) {\n status = 0;\n }\n }\n } // Set data for the fake xhr object\n\n\n jqXHR.status = status;\n jqXHR.statusText = (nativeStatusText || statusText) + \"\"; // Success/Error\n\n if (isSuccess) {\n deferred.resolveWith(callbackContext, [success, statusText, jqXHR]);\n } else {\n deferred.rejectWith(callbackContext, [jqXHR, statusText, error]);\n } // Status-dependent callbacks\n\n\n jqXHR.statusCode(statusCode);\n statusCode = undefined;\n\n if (fireGlobals) {\n globalEventContext.trigger(isSuccess ? \"ajaxSuccess\" : \"ajaxError\", [jqXHR, s, isSuccess ? success : error]);\n } // Complete\n\n\n completeDeferred.fireWith(callbackContext, [jqXHR, statusText]);\n\n if (fireGlobals) {\n globalEventContext.trigger(\"ajaxComplete\", [jqXHR, s]); // Handle the global AJAX counter\n\n if (! --jQuery.active) {\n jQuery.event.trigger(\"ajaxStop\");\n }\n }\n }\n\n return jqXHR;\n },\n getJSON: function (url, data, callback) {\n return jQuery.get(url, data, callback, \"json\");\n },\n getScript: function (url, callback) {\n return jQuery.get(url, undefined, callback, \"script\");\n }\n });\n jQuery.each([\"get\", \"post\"], function (i, method) {\n jQuery[method] = function (url, data, callback, type) {\n // Shift arguments if data argument was omitted\n if (isFunction(data)) {\n type = type || callback;\n callback = data;\n data = undefined;\n } // The url can be an options object (which then must have .url)\n\n\n return jQuery.ajax(jQuery.extend({\n url: url,\n type: method,\n dataType: type,\n data: data,\n success: callback\n }, jQuery.isPlainObject(url) && url));\n };\n });\n return jQuery;\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.gradientSample = exports.splineSample = exports.skewRelative = exports.skew = exports.range = exports.evaluateVariation = void 0;\n\nvar random_1 = require(\"./random\");\n/**\r\n * Returns a value instance of a variation.\r\n */\n\n\nfunction evaluateVariation(variation) {\n if (Array.isArray(variation)) return random_1.pick(variation);\n if (typeof variation === \"function\") return variation();\n return variation;\n}\n\nexports.evaluateVariation = evaluateVariation;\n/**\r\n * Creates a variation function that returns a random number from min to max.\r\n */\n\nfunction range(min, max) {\n return function () {\n return random_1.randomRange(min, max);\n };\n}\n\nexports.range = range;\n/**\r\n * Creates a variation function that skews the specified value by a specified, absolute\r\n * amount. This means that instead of the value itself, a random number that deviates\r\n * at most by the specified amount is returned.\r\n *\r\n * @remarks\r\n * If you want to skew by a percentage instead, use `skewRelative`.\r\n */\n\nfunction skew(value, amount) {\n return function () {\n return value + random_1.randomRange(-amount, amount);\n };\n}\n\nexports.skew = skew;\n/**\r\n * Creates a variation function that skews the specified value by a specified percentage.\r\n * This means that instead of the value itself, a random number that deviates by a maximum\r\n * of the specified percentage is returned.\r\n */\n\nfunction skewRelative(value, percentage) {\n return function () {\n return value * (1 + random_1.randomRange(-percentage, percentage));\n };\n}\n\nexports.skewRelative = skewRelative;\n/**\r\n * Creates a variation function that returns a random sample from the given spline.\r\n *\r\n * @param spline The spline to sample from.\r\n */\n\nfunction splineSample(spline) {\n return function () {\n return spline.evaluate(Math.random());\n };\n}\n\nexports.splineSample = splineSample;\n/**\r\n * Creates a variation function that returns a random sample from the given gradient.\r\n *\r\n * @remarks\r\n * This function is an alias for the spline variation, since a gradient is just\r\n * a spline under the hood.\r\n *\r\n * @param gradient The gradient to sample from.\r\n */\n\nfunction gradientSample(gradient) {\n return splineSample(gradient);\n}\n\nexports.gradientSample = gradientSample;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.randomInsideCircle = exports.randomInsideRect = exports.randomUnitVector = exports.pick = exports.randomRange = void 0;\n\nvar components_1 = require(\"../components\");\n\nvar math_1 = require(\"./math\");\n/**\r\n * Returns a random value from min to max.\r\n */\n\n\nfunction randomRange(min, max) {\n if (min === void 0) {\n min = 0;\n }\n\n if (max === void 0) {\n max = 1;\n }\n\n return math_1.lerp(min, max, Math.random());\n}\n\nexports.randomRange = randomRange;\n/**\r\n * Picks a random element from the specified array. Returns undefined if the array is empty.\r\n */\n\nfunction pick(arr) {\n return arr.length === 0 ? undefined : arr[Math.floor(Math.random() * arr.length)];\n}\n\nexports.pick = pick;\n/**\r\n * Returns a random unit vector.\r\n */\n\nfunction randomUnitVector() {\n var theta = randomRange(0, 2 * Math.PI);\n var z = randomRange(-1, 1);\n return new components_1.Vector(Math.sqrt(1 - z * z) * Math.cos(theta), Math.sqrt(1 - z * z) * Math.sin(theta), z);\n}\n\nexports.randomUnitVector = randomUnitVector;\n/**\r\n * Returns a random point inside the given rect.\r\n */\n\nfunction randomInsideRect(rect) {\n return new components_1.Vector(rect.x + randomRange(0, rect.width), rect.y + randomRange(0, rect.height));\n}\n\nexports.randomInsideRect = randomInsideRect;\n\nfunction randomInsideCircle(circle) {\n var theta = randomRange(0, 2 * Math.PI);\n var radius = randomRange(0, circle.radius);\n return new components_1.Vector(circle.x + Math.cos(theta) * radius, circle.y + Math.sin(theta) * radius);\n}\n\nexports.randomInsideCircle = randomInsideCircle;","define(function () {\n \"use strict\";\n\n return [];\n});","define(function () {\n \"use strict\";\n\n return function isWindow(obj) {\n return obj != null && obj === obj.window;\n };\n});","define([], function () {\n \"use strict\"; // Matches dashed string for camelizing\n\n var rmsPrefix = /^-ms-/,\n rdashAlpha = /-([a-z])/g; // Used by camelCase as callback to replace()\n\n function fcamelCase(all, letter) {\n return letter.toUpperCase();\n } // Convert dashed to camelCase; used by the css and data modules\n // Support: IE <=9 - 11, Edge 12 - 15\n // Microsoft forgot to hump their vendor prefix (#9572)\n\n\n function camelCase(string) {\n return string.replace(rmsPrefix, \"ms-\").replace(rdashAlpha, fcamelCase);\n }\n\n return camelCase;\n});","define([\"./core\", \"./core/access\", \"./core/camelCase\", \"./var/rcssNum\", \"./css/var/rnumnonpx\", \"./css/var/cssExpand\", \"./css/var/getStyles\", \"./css/var/swap\", \"./css/curCSS\", \"./css/adjustCSS\", \"./css/addGetHookIf\", \"./css/support\", \"./css/finalPropName\", \"./core/init\", \"./core/ready\", \"./selector\" // contains\n], function (jQuery, access, camelCase, rcssNum, rnumnonpx, cssExpand, getStyles, swap, curCSS, adjustCSS, addGetHookIf, support, finalPropName) {\n \"use strict\";\n\n var // Swappable if display is none or starts with table\n // except \"table\", \"table-cell\", or \"table-caption\"\n // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display\n rdisplayswap = /^(none|table(?!-c[ea]).+)/,\n rcustomProp = /^--/,\n cssShow = {\n position: \"absolute\",\n visibility: \"hidden\",\n display: \"block\"\n },\n cssNormalTransform = {\n letterSpacing: \"0\",\n fontWeight: \"400\"\n };\n\n function setPositiveNumber(elem, value, subtract) {\n // Any relative (+/-) values have already been\n // normalized at this point\n var matches = rcssNum.exec(value);\n return matches ? // Guard against undefined \"subtract\", e.g., when used as in cssHooks\n Math.max(0, matches[2] - (subtract || 0)) + (matches[3] || \"px\") : value;\n }\n\n function boxModelAdjustment(elem, dimension, box, isBorderBox, styles, computedVal) {\n var i = dimension === \"width\" ? 1 : 0,\n extra = 0,\n delta = 0; // Adjustment may not be necessary\n\n if (box === (isBorderBox ? \"border\" : \"content\")) {\n return 0;\n }\n\n for (; i < 4; i += 2) {\n // Both box models exclude margin\n if (box === \"margin\") {\n delta += jQuery.css(elem, box + cssExpand[i], true, styles);\n } // If we get here with a content-box, we're seeking \"padding\" or \"border\" or \"margin\"\n\n\n if (!isBorderBox) {\n // Add padding\n delta += jQuery.css(elem, \"padding\" + cssExpand[i], true, styles); // For \"border\" or \"margin\", add border\n\n if (box !== \"padding\") {\n delta += jQuery.css(elem, \"border\" + cssExpand[i] + \"Width\", true, styles); // But still keep track of it otherwise\n } else {\n extra += jQuery.css(elem, \"border\" + cssExpand[i] + \"Width\", true, styles);\n } // If we get here with a border-box (content + padding + border), we're seeking \"content\" or\n // \"padding\" or \"margin\"\n\n } else {\n // For \"content\", subtract padding\n if (box === \"content\") {\n delta -= jQuery.css(elem, \"padding\" + cssExpand[i], true, styles);\n } // For \"content\" or \"padding\", subtract border\n\n\n if (box !== \"margin\") {\n delta -= jQuery.css(elem, \"border\" + cssExpand[i] + \"Width\", true, styles);\n }\n }\n } // Account for positive content-box scroll gutter when requested by providing computedVal\n\n\n if (!isBorderBox && computedVal >= 0) {\n // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border\n // Assuming integer scroll gutter, subtract the rest and round down\n delta += Math.max(0, Math.ceil(elem[\"offset\" + dimension[0].toUpperCase() + dimension.slice(1)] - computedVal - delta - extra - 0.5 // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter\n // Use an explicit zero to avoid NaN (gh-3964)\n )) || 0;\n }\n\n return delta;\n }\n\n function getWidthOrHeight(elem, dimension, extra) {\n // Start with computed style\n var styles = getStyles(elem),\n // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322).\n // Fake content-box until we know it's needed to know the true value.\n boxSizingNeeded = !support.boxSizingReliable() || extra,\n isBorderBox = boxSizingNeeded && jQuery.css(elem, \"boxSizing\", false, styles) === \"border-box\",\n valueIsBorderBox = isBorderBox,\n val = curCSS(elem, dimension, styles),\n offsetProp = \"offset\" + dimension[0].toUpperCase() + dimension.slice(1); // Support: Firefox <=54\n // Return a confounding non-pixel value or feign ignorance, as appropriate.\n\n if (rnumnonpx.test(val)) {\n if (!extra) {\n return val;\n }\n\n val = \"auto\";\n } // Fall back to offsetWidth/offsetHeight when value is \"auto\"\n // This happens for inline elements with no explicit setting (gh-3571)\n // Support: Android <=4.1 - 4.3 only\n // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)\n // Support: IE 9-11 only\n // Also use offsetWidth/offsetHeight for when box sizing is unreliable\n // We use getClientRects() to check for hidden/disconnected.\n // In those cases, the computed value can be trusted to be border-box\n\n\n if ((!support.boxSizingReliable() && isBorderBox || val === \"auto\" || !parseFloat(val) && jQuery.css(elem, \"display\", false, styles) === \"inline\") && elem.getClientRects().length) {\n isBorderBox = jQuery.css(elem, \"boxSizing\", false, styles) === \"border-box\"; // Where available, offsetWidth/offsetHeight approximate border box dimensions.\n // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the\n // retrieved value as a content box dimension.\n\n valueIsBorderBox = offsetProp in elem;\n\n if (valueIsBorderBox) {\n val = elem[offsetProp];\n }\n } // Normalize \"\" and auto\n\n\n val = parseFloat(val) || 0; // Adjust for the element's box model\n\n return val + boxModelAdjustment(elem, dimension, extra || (isBorderBox ? \"border\" : \"content\"), valueIsBorderBox, styles, // Provide the current computed size to request scroll gutter calculation (gh-3589)\n val) + \"px\";\n }\n\n jQuery.extend({\n // Add in style property hooks for overriding the default\n // behavior of getting and setting a style property\n cssHooks: {\n opacity: {\n get: function (elem, computed) {\n if (computed) {\n // We should always get a number back from opacity\n var ret = curCSS(elem, \"opacity\");\n return ret === \"\" ? \"1\" : ret;\n }\n }\n }\n },\n // Don't automatically add \"px\" to these possibly-unitless properties\n cssNumber: {\n \"animationIterationCount\": true,\n \"columnCount\": true,\n \"fillOpacity\": true,\n \"flexGrow\": true,\n \"flexShrink\": true,\n \"fontWeight\": true,\n \"gridArea\": true,\n \"gridColumn\": true,\n \"gridColumnEnd\": true,\n \"gridColumnStart\": true,\n \"gridRow\": true,\n \"gridRowEnd\": true,\n \"gridRowStart\": true,\n \"lineHeight\": true,\n \"opacity\": true,\n \"order\": true,\n \"orphans\": true,\n \"widows\": true,\n \"zIndex\": true,\n \"zoom\": true\n },\n // Add in properties whose names you wish to fix before\n // setting or getting the value\n cssProps: {},\n // Get and set the style property on a DOM Node\n style: function (elem, name, value, extra) {\n // Don't set styles on text and comment nodes\n if (!elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style) {\n return;\n } // Make sure that we're working with the right name\n\n\n var ret,\n type,\n hooks,\n origName = camelCase(name),\n isCustomProp = rcustomProp.test(name),\n style = elem.style; // Make sure that we're working with the right name. We don't\n // want to query the value if it is a CSS custom property\n // since they are user-defined.\n\n if (!isCustomProp) {\n name = finalPropName(origName);\n } // Gets hook for the prefixed version, then unprefixed version\n\n\n hooks = jQuery.cssHooks[name] || jQuery.cssHooks[origName]; // Check if we're setting a value\n\n if (value !== undefined) {\n type = typeof value; // Convert \"+=\" or \"-=\" to relative numbers (#7345)\n\n if (type === \"string\" && (ret = rcssNum.exec(value)) && ret[1]) {\n value = adjustCSS(elem, name, ret); // Fixes bug #9237\n\n type = \"number\";\n } // Make sure that null and NaN values aren't set (#7116)\n\n\n if (value == null || value !== value) {\n return;\n } // If a number was passed in, add the unit (except for certain CSS properties)\n // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append\n // \"px\" to a few hardcoded values.\n\n\n if (type === \"number\" && !isCustomProp) {\n value += ret && ret[3] || (jQuery.cssNumber[origName] ? \"\" : \"px\");\n } // background-* props affect original clone's values\n\n\n if (!support.clearCloneStyle && value === \"\" && name.indexOf(\"background\") === 0) {\n style[name] = \"inherit\";\n } // If a hook was provided, use that value, otherwise just set the specified value\n\n\n if (!hooks || !(\"set\" in hooks) || (value = hooks.set(elem, value, extra)) !== undefined) {\n if (isCustomProp) {\n style.setProperty(name, value);\n } else {\n style[name] = value;\n }\n }\n } else {\n // If a hook was provided get the non-computed value from there\n if (hooks && \"get\" in hooks && (ret = hooks.get(elem, false, extra)) !== undefined) {\n return ret;\n } // Otherwise just get the value from the style object\n\n\n return style[name];\n }\n },\n css: function (elem, name, extra, styles) {\n var val,\n num,\n hooks,\n origName = camelCase(name),\n isCustomProp = rcustomProp.test(name); // Make sure that we're working with the right name. We don't\n // want to modify the value if it is a CSS custom property\n // since they are user-defined.\n\n if (!isCustomProp) {\n name = finalPropName(origName);\n } // Try prefixed name followed by the unprefixed name\n\n\n hooks = jQuery.cssHooks[name] || jQuery.cssHooks[origName]; // If a hook was provided get the computed value from there\n\n if (hooks && \"get\" in hooks) {\n val = hooks.get(elem, true, extra);\n } // Otherwise, if a way to get the computed value exists, use that\n\n\n if (val === undefined) {\n val = curCSS(elem, name, styles);\n } // Convert \"normal\" to computed value\n\n\n if (val === \"normal\" && name in cssNormalTransform) {\n val = cssNormalTransform[name];\n } // Make numeric if forced or a qualifier was provided and val looks numeric\n\n\n if (extra === \"\" || extra) {\n num = parseFloat(val);\n return extra === true || isFinite(num) ? num || 0 : val;\n }\n\n return val;\n }\n });\n jQuery.each([\"height\", \"width\"], function (i, dimension) {\n jQuery.cssHooks[dimension] = {\n get: function (elem, computed, extra) {\n if (computed) {\n // Certain elements can have dimension info if we invisibly show them\n // but it must have a current display style that would benefit\n return rdisplayswap.test(jQuery.css(elem, \"display\")) && ( // Support: Safari 8+\n // Table columns in Safari have non-zero offsetWidth & zero\n // getBoundingClientRect().width unless display is changed.\n // Support: IE <=11 only\n // Running getBoundingClientRect on a disconnected node\n // in IE throws an error.\n !elem.getClientRects().length || !elem.getBoundingClientRect().width) ? swap(elem, cssShow, function () {\n return getWidthOrHeight(elem, dimension, extra);\n }) : getWidthOrHeight(elem, dimension, extra);\n }\n },\n set: function (elem, value, extra) {\n var matches,\n styles = getStyles(elem),\n // Only read styles.position if the test has a chance to fail\n // to avoid forcing a reflow.\n scrollboxSizeBuggy = !support.scrollboxSize() && styles.position === \"absolute\",\n // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991)\n boxSizingNeeded = scrollboxSizeBuggy || extra,\n isBorderBox = boxSizingNeeded && jQuery.css(elem, \"boxSizing\", false, styles) === \"border-box\",\n subtract = extra ? boxModelAdjustment(elem, dimension, extra, isBorderBox, styles) : 0; // Account for unreliable border-box dimensions by comparing offset* to computed and\n // faking a content-box to get border and padding (gh-3699)\n\n if (isBorderBox && scrollboxSizeBuggy) {\n subtract -= Math.ceil(elem[\"offset\" + dimension[0].toUpperCase() + dimension.slice(1)] - parseFloat(styles[dimension]) - boxModelAdjustment(elem, dimension, \"border\", false, styles) - 0.5);\n } // Convert to pixels if value adjustment is needed\n\n\n if (subtract && (matches = rcssNum.exec(value)) && (matches[3] || \"px\") !== \"px\") {\n elem.style[dimension] = value;\n value = jQuery.css(elem, dimension);\n }\n\n return setPositiveNumber(elem, value, subtract);\n }\n };\n });\n jQuery.cssHooks.marginLeft = addGetHookIf(support.reliableMarginLeft, function (elem, computed) {\n if (computed) {\n return (parseFloat(curCSS(elem, \"marginLeft\")) || elem.getBoundingClientRect().left - swap(elem, {\n marginLeft: 0\n }, function () {\n return elem.getBoundingClientRect().left;\n })) + \"px\";\n }\n }); // These hooks are used by animate to expand properties\n\n jQuery.each({\n margin: \"\",\n padding: \"\",\n border: \"Width\"\n }, function (prefix, suffix) {\n jQuery.cssHooks[prefix + suffix] = {\n expand: function (value) {\n var i = 0,\n expanded = {},\n // Assumes a single number if not a string\n parts = typeof value === \"string\" ? value.split(\" \") : [value];\n\n for (; i < 4; i++) {\n expanded[prefix + cssExpand[i] + suffix] = parts[i] || parts[i - 2] || parts[0];\n }\n\n return expanded;\n }\n };\n\n if (prefix !== \"margin\") {\n jQuery.cssHooks[prefix + suffix].set = setPositiveNumber;\n }\n });\n jQuery.fn.extend({\n css: function (name, value) {\n return access(this, function (elem, name, value) {\n var styles,\n len,\n map = {},\n i = 0;\n\n if (Array.isArray(name)) {\n styles = getStyles(elem);\n len = name.length;\n\n for (; i < len; i++) {\n map[name[i]] = jQuery.css(elem, name[i], false, styles);\n }\n\n return map;\n }\n\n return value !== undefined ? jQuery.style(elem, name, value) : jQuery.css(elem, name);\n }, name, value, arguments.length > 1);\n }\n });\n return jQuery;\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.settings = void 0;\nexports.settings = {\n debug: false,\n gravity: 800,\n zIndex: 99999,\n respectReducedMotion: true\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.circleSource = exports.rectSource = exports.mouseSource = exports.elementSource = exports.dynamicSource = void 0;\n\nvar components_1 = require(\"../components\");\n\nvar random_1 = require(\"./random\");\n/**\r\n * Dynamically infers a source sampler for the specified source type.\r\n */\n\n\nfunction dynamicSource(source) {\n if (source instanceof HTMLElement) {\n return elementSource(source);\n }\n\n if (source instanceof components_1.Circle) {\n return circleSource(source);\n }\n\n if (source instanceof components_1.Rect) {\n return rectSource(source);\n }\n\n if (source instanceof MouseEvent) {\n return mouseSource(source);\n }\n\n throw new Error(\"Cannot infer the source type of '\" + source + \"'.\");\n}\n\nexports.dynamicSource = dynamicSource;\n/**\r\n * Creates a sampler to retrieve random points inside a specified HTMLElement.\r\n */\n\nfunction elementSource(source) {\n return function () {\n return random_1.randomInsideRect(components_1.Rect.fromElement(source));\n };\n}\n\nexports.elementSource = elementSource;\n/**\r\n * Creates a sampler to retrieve the position of a mouse event.\r\n */\n\nfunction mouseSource(source) {\n return function () {\n return new components_1.Vector(window.scrollX + source.clientX, window.scrollY + source.clientY);\n };\n}\n\nexports.mouseSource = mouseSource;\n/**\r\n * Creates a sampler to retrieve random points inside a specified rectangle.\r\n */\n\nfunction rectSource(source) {\n return function () {\n return random_1.randomInsideRect(source);\n };\n}\n\nexports.rectSource = rectSource;\n/**\r\n * Creates a sampler to retrieve random points inside a specified circle.\r\n */\n\nfunction circleSource(source) {\n return function () {\n return random_1.randomInsideCircle(source);\n };\n}\n\nexports.circleSource = circleSource;","define([\"./arr\"], function (arr) {\n \"use strict\";\n\n return arr.slice;\n});","define(function () {\n \"use strict\"; // [[Class]] -> type pairs\n\n return {};\n});","define([\"../core\", \"../var/documentElement\", \"../selector\" // jQuery.contains\n], function (jQuery, documentElement) {\n \"use strict\";\n\n var isAttached = function (elem) {\n return jQuery.contains(elem.ownerDocument, elem);\n },\n composed = {\n composed: true\n }; // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only\n // Check attachment across shadow DOM boundaries when possible (gh-3504)\n // Support: iOS 10.0-10.2 only\n // Early iOS 10 versions support `attachShadow` but not `getRootNode`,\n // leading to errors. We need to check for `getRootNode`.\n\n\n if (documentElement.getRootNode) {\n isAttached = function (elem) {\n return jQuery.contains(elem.ownerDocument, elem) || elem.getRootNode(composed) === elem.ownerDocument;\n };\n }\n\n return isAttached;\n});","define([\"./document\"], function (document) {\n \"use strict\";\n\n return document.documentElement;\n});","define([\"./core\", \"./core/isAttached\", \"./var/concat\", \"./var/isFunction\", \"./var/push\", \"./var/rcheckableType\", \"./core/access\", \"./manipulation/var/rtagName\", \"./manipulation/var/rscriptType\", \"./manipulation/wrapMap\", \"./manipulation/getAll\", \"./manipulation/setGlobalEval\", \"./manipulation/buildFragment\", \"./manipulation/support\", \"./data/var/dataPriv\", \"./data/var/dataUser\", \"./data/var/acceptData\", \"./core/DOMEval\", \"./core/nodeName\", \"./core/init\", \"./traversing\", \"./selector\", \"./event\"], function (jQuery, isAttached, concat, isFunction, push, rcheckableType, access, rtagName, rscriptType, wrapMap, getAll, setGlobalEval, buildFragment, support, dataPriv, dataUser, acceptData, DOMEval, nodeName) {\n \"use strict\";\n\n var\n /* eslint-disable max-len */\n // See https://github.com/eslint/eslint/issues/3229\n rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]*)[^>]*)\\/>/gi,\n\n /* eslint-enable */\n // Support: IE <=10 - 11, Edge 12 - 13 only\n // In IE/Edge using regex groups here causes severe slowdowns.\n // See https://connect.microsoft.com/IE/feedback/details/1736512/\n rnoInnerhtml = /\\s*$/g; // Prefer a tbody over its parent table for containing new rows\n\n function manipulationTarget(elem, content) {\n if (nodeName(elem, \"table\") && nodeName(content.nodeType !== 11 ? content : content.firstChild, \"tr\")) {\n return jQuery(elem).children(\"tbody\")[0] || elem;\n }\n\n return elem;\n } // Replace/restore the type attribute of script elements for safe DOM manipulation\n\n\n function disableScript(elem) {\n elem.type = (elem.getAttribute(\"type\") !== null) + \"/\" + elem.type;\n return elem;\n }\n\n function restoreScript(elem) {\n if ((elem.type || \"\").slice(0, 5) === \"true/\") {\n elem.type = elem.type.slice(5);\n } else {\n elem.removeAttribute(\"type\");\n }\n\n return elem;\n }\n\n function cloneCopyEvent(src, dest) {\n var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;\n\n if (dest.nodeType !== 1) {\n return;\n } // 1. Copy private data: events, handlers, etc.\n\n\n if (dataPriv.hasData(src)) {\n pdataOld = dataPriv.access(src);\n pdataCur = dataPriv.set(dest, pdataOld);\n events = pdataOld.events;\n\n if (events) {\n delete pdataCur.handle;\n pdataCur.events = {};\n\n for (type in events) {\n for (i = 0, l = events[type].length; i < l; i++) {\n jQuery.event.add(dest, type, events[type][i]);\n }\n }\n }\n } // 2. Copy user data\n\n\n if (dataUser.hasData(src)) {\n udataOld = dataUser.access(src);\n udataCur = jQuery.extend({}, udataOld);\n dataUser.set(dest, udataCur);\n }\n } // Fix IE bugs, see support tests\n\n\n function fixInput(src, dest) {\n var nodeName = dest.nodeName.toLowerCase(); // Fails to persist the checked state of a cloned checkbox or radio button.\n\n if (nodeName === \"input\" && rcheckableType.test(src.type)) {\n dest.checked = src.checked; // Fails to return the selected option to the default selected state when cloning options\n } else if (nodeName === \"input\" || nodeName === \"textarea\") {\n dest.defaultValue = src.defaultValue;\n }\n }\n\n function domManip(collection, args, callback, ignored) {\n // Flatten any nested arrays\n args = concat.apply([], args);\n var fragment,\n first,\n scripts,\n hasScripts,\n node,\n doc,\n i = 0,\n l = collection.length,\n iNoClone = l - 1,\n value = args[0],\n valueIsFunction = isFunction(value); // We can't cloneNode fragments that contain checked, in WebKit\n\n if (valueIsFunction || l > 1 && typeof value === \"string\" && !support.checkClone && rchecked.test(value)) {\n return collection.each(function (index) {\n var self = collection.eq(index);\n\n if (valueIsFunction) {\n args[0] = value.call(this, index, self.html());\n }\n\n domManip(self, args, callback, ignored);\n });\n }\n\n if (l) {\n fragment = buildFragment(args, collection[0].ownerDocument, false, collection, ignored);\n first = fragment.firstChild;\n\n if (fragment.childNodes.length === 1) {\n fragment = first;\n } // Require either new content or an interest in ignored elements to invoke the callback\n\n\n if (first || ignored) {\n scripts = jQuery.map(getAll(fragment, \"script\"), disableScript);\n hasScripts = scripts.length; // Use the original fragment for the last item\n // instead of the first because it can end up\n // being emptied incorrectly in certain situations (#8070).\n\n for (; i < l; i++) {\n node = fragment;\n\n if (i !== iNoClone) {\n node = jQuery.clone(node, true, true); // Keep references to cloned scripts for later restoration\n\n if (hasScripts) {\n // Support: Android <=4.0 only, PhantomJS 1 only\n // push.apply(_, arraylike) throws on ancient WebKit\n jQuery.merge(scripts, getAll(node, \"script\"));\n }\n }\n\n callback.call(collection[i], node, i);\n }\n\n if (hasScripts) {\n doc = scripts[scripts.length - 1].ownerDocument; // Reenable scripts\n\n jQuery.map(scripts, restoreScript); // Evaluate executable scripts on first document insertion\n\n for (i = 0; i < hasScripts; i++) {\n node = scripts[i];\n\n if (rscriptType.test(node.type || \"\") && !dataPriv.access(node, \"globalEval\") && jQuery.contains(doc, node)) {\n if (node.src && (node.type || \"\").toLowerCase() !== \"module\") {\n // Optional AJAX dependency, but won't run scripts if not present\n if (jQuery._evalUrl && !node.noModule) {\n jQuery._evalUrl(node.src, {\n nonce: node.nonce || node.getAttribute(\"nonce\")\n });\n }\n } else {\n DOMEval(node.textContent.replace(rcleanScript, \"\"), node, doc);\n }\n }\n }\n }\n }\n }\n\n return collection;\n }\n\n function remove(elem, selector, keepData) {\n var node,\n nodes = selector ? jQuery.filter(selector, elem) : elem,\n i = 0;\n\n for (; (node = nodes[i]) != null; i++) {\n if (!keepData && node.nodeType === 1) {\n jQuery.cleanData(getAll(node));\n }\n\n if (node.parentNode) {\n if (keepData && isAttached(node)) {\n setGlobalEval(getAll(node, \"script\"));\n }\n\n node.parentNode.removeChild(node);\n }\n }\n\n return elem;\n }\n\n jQuery.extend({\n htmlPrefilter: function (html) {\n return html.replace(rxhtmlTag, \"<$1>\");\n },\n clone: function (elem, dataAndEvents, deepDataAndEvents) {\n var i,\n l,\n srcElements,\n destElements,\n clone = elem.cloneNode(true),\n inPage = isAttached(elem); // Fix IE cloning issues\n\n if (!support.noCloneChecked && (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem)) {\n // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2\n destElements = getAll(clone);\n srcElements = getAll(elem);\n\n for (i = 0, l = srcElements.length; i < l; i++) {\n fixInput(srcElements[i], destElements[i]);\n }\n } // Copy the events from the original to the clone\n\n\n if (dataAndEvents) {\n if (deepDataAndEvents) {\n srcElements = srcElements || getAll(elem);\n destElements = destElements || getAll(clone);\n\n for (i = 0, l = srcElements.length; i < l; i++) {\n cloneCopyEvent(srcElements[i], destElements[i]);\n }\n } else {\n cloneCopyEvent(elem, clone);\n }\n } // Preserve script evaluation history\n\n\n destElements = getAll(clone, \"script\");\n\n if (destElements.length > 0) {\n setGlobalEval(destElements, !inPage && getAll(elem, \"script\"));\n } // Return the cloned set\n\n\n return clone;\n },\n cleanData: function (elems) {\n var data,\n elem,\n type,\n special = jQuery.event.special,\n i = 0;\n\n for (; (elem = elems[i]) !== undefined; i++) {\n if (acceptData(elem)) {\n if (data = elem[dataPriv.expando]) {\n if (data.events) {\n for (type in data.events) {\n if (special[type]) {\n jQuery.event.remove(elem, type); // This is a shortcut to avoid jQuery.event.remove's overhead\n } else {\n jQuery.removeEvent(elem, type, data.handle);\n }\n }\n } // Support: Chrome <=35 - 45+\n // Assign undefined instead of using delete, see Data#remove\n\n\n elem[dataPriv.expando] = undefined;\n }\n\n if (elem[dataUser.expando]) {\n // Support: Chrome <=35 - 45+\n // Assign undefined instead of using delete, see Data#remove\n elem[dataUser.expando] = undefined;\n }\n }\n }\n }\n });\n jQuery.fn.extend({\n detach: function (selector) {\n return remove(this, selector, true);\n },\n remove: function (selector) {\n return remove(this, selector);\n },\n text: function (value) {\n return access(this, function (value) {\n return value === undefined ? jQuery.text(this) : this.empty().each(function () {\n if (this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9) {\n this.textContent = value;\n }\n });\n }, null, value, arguments.length);\n },\n append: function () {\n return domManip(this, arguments, function (elem) {\n if (this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9) {\n var target = manipulationTarget(this, elem);\n target.appendChild(elem);\n }\n });\n },\n prepend: function () {\n return domManip(this, arguments, function (elem) {\n if (this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9) {\n var target = manipulationTarget(this, elem);\n target.insertBefore(elem, target.firstChild);\n }\n });\n },\n before: function () {\n return domManip(this, arguments, function (elem) {\n if (this.parentNode) {\n this.parentNode.insertBefore(elem, this);\n }\n });\n },\n after: function () {\n return domManip(this, arguments, function (elem) {\n if (this.parentNode) {\n this.parentNode.insertBefore(elem, this.nextSibling);\n }\n });\n },\n empty: function () {\n var elem,\n i = 0;\n\n for (; (elem = this[i]) != null; i++) {\n if (elem.nodeType === 1) {\n // Prevent memory leaks\n jQuery.cleanData(getAll(elem, false)); // Remove any remaining nodes\n\n elem.textContent = \"\";\n }\n }\n\n return this;\n },\n clone: function (dataAndEvents, deepDataAndEvents) {\n dataAndEvents = dataAndEvents == null ? false : dataAndEvents;\n deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;\n return this.map(function () {\n return jQuery.clone(this, dataAndEvents, deepDataAndEvents);\n });\n },\n html: function (value) {\n return access(this, function (value) {\n var elem = this[0] || {},\n i = 0,\n l = this.length;\n\n if (value === undefined && elem.nodeType === 1) {\n return elem.innerHTML;\n } // See if we can take a shortcut and just use innerHTML\n\n\n if (typeof value === \"string\" && !rnoInnerhtml.test(value) && !wrapMap[(rtagName.exec(value) || [\"\", \"\"])[1].toLowerCase()]) {\n value = jQuery.htmlPrefilter(value);\n\n try {\n for (; i < l; i++) {\n elem = this[i] || {}; // Remove element nodes and prevent memory leaks\n\n if (elem.nodeType === 1) {\n jQuery.cleanData(getAll(elem, false));\n elem.innerHTML = value;\n }\n }\n\n elem = 0; // If using innerHTML throws an exception, use the fallback method\n } catch (e) {}\n }\n\n if (elem) {\n this.empty().append(value);\n }\n }, null, value, arguments.length);\n },\n replaceWith: function () {\n var ignored = []; // Make the changes, replacing each non-ignored context element with the new content\n\n return domManip(this, arguments, function (elem) {\n var parent = this.parentNode;\n\n if (jQuery.inArray(this, ignored) < 0) {\n jQuery.cleanData(getAll(this));\n\n if (parent) {\n parent.replaceChild(elem, this);\n }\n } // Force callback invocation\n\n }, ignored);\n }\n });\n jQuery.each({\n appendTo: \"append\",\n prependTo: \"prepend\",\n insertBefore: \"before\",\n insertAfter: \"after\",\n replaceAll: \"replaceWith\"\n }, function (name, original) {\n jQuery.fn[name] = function (selector) {\n var elems,\n ret = [],\n insert = jQuery(selector),\n last = insert.length - 1,\n i = 0;\n\n for (; i <= last; i++) {\n elems = i === last ? this : this.clone(true);\n jQuery(insert[i])[original](elems); // Support: Android <=4.0 only, PhantomJS 1 only\n // .get() because push.apply(_, arraylike) throws on ancient WebKit\n\n push.apply(ret, elems.get());\n }\n\n return this.pushStack(ret);\n };\n });\n return jQuery;\n});","/*\nTrix 1.3.1\nCopyright © 2020 Basecamp, LLC\nhttp://trix-editor.org/\n */\n(function () {}).call(this), function () {\n var t;\n null == window.Set && (window.Set = t = function () {\n function t() {\n this.clear();\n }\n\n return t.prototype.clear = function () {\n return this.values = [];\n }, t.prototype.has = function (t) {\n return -1 !== this.values.indexOf(t);\n }, t.prototype.add = function (t) {\n return this.has(t) || this.values.push(t), this;\n }, t.prototype[\"delete\"] = function (t) {\n var e;\n return -1 === (e = this.values.indexOf(t)) ? !1 : (this.values.splice(e, 1), !0);\n }, t.prototype.forEach = function () {\n var t;\n return (t = this.values).forEach.apply(t, arguments);\n }, t;\n }());\n}.call(this), function (t) {\n function e() {}\n\n function n(t, e) {\n return function () {\n t.apply(e, arguments);\n };\n }\n\n function i(t) {\n if (\"object\" != typeof this) throw new TypeError(\"Promises must be constructed via new\");\n if (\"function\" != typeof t) throw new TypeError(\"not a function\");\n this._state = 0, this._handled = !1, this._value = void 0, this._deferreds = [], c(t, this);\n }\n\n function o(t, e) {\n for (; 3 === t._state;) t = t._value;\n\n return 0 === t._state ? void t._deferreds.push(e) : (t._handled = !0, void h(function () {\n var n = 1 === t._state ? e.onFulfilled : e.onRejected;\n if (null === n) return void (1 === t._state ? r : s)(e.promise, t._value);\n var i;\n\n try {\n i = n(t._value);\n } catch (o) {\n return void s(e.promise, o);\n }\n\n r(e.promise, i);\n }));\n }\n\n function r(t, e) {\n try {\n if (e === t) throw new TypeError(\"A promise cannot be resolved with itself.\");\n\n if (e && (\"object\" == typeof e || \"function\" == typeof e)) {\n var o = e.then;\n if (e instanceof i) return t._state = 3, t._value = e, void a(t);\n if (\"function\" == typeof o) return void c(n(o, e), t);\n }\n\n t._state = 1, t._value = e, a(t);\n } catch (r) {\n s(t, r);\n }\n }\n\n function s(t, e) {\n t._state = 2, t._value = e, a(t);\n }\n\n function a(t) {\n 2 === t._state && 0 === t._deferreds.length && setTimeout(function () {\n t._handled || p(t._value);\n }, 1);\n\n for (var e = 0, n = t._deferreds.length; n > e; e++) o(t, t._deferreds[e]);\n\n t._deferreds = null;\n }\n\n function u(t, e, n) {\n this.onFulfilled = \"function\" == typeof t ? t : null, this.onRejected = \"function\" == typeof e ? e : null, this.promise = n;\n }\n\n function c(t, e) {\n var n = !1;\n\n try {\n t(function (t) {\n n || (n = !0, r(e, t));\n }, function (t) {\n n || (n = !0, s(e, t));\n });\n } catch (i) {\n if (n) return;\n n = !0, s(e, i);\n }\n }\n\n var l = setTimeout,\n h = \"function\" == typeof setImmediate && setImmediate || function (t) {\n l(t, 1);\n },\n p = function (t) {\n \"undefined\" != typeof console && console && console.warn(\"Possible Unhandled Promise Rejection:\", t);\n };\n\n i.prototype[\"catch\"] = function (t) {\n return this.then(null, t);\n }, i.prototype.then = function (t, n) {\n var r = new i(e);\n return o(this, new u(t, n, r)), r;\n }, i.all = function (t) {\n var e = Array.prototype.slice.call(t);\n return new i(function (t, n) {\n function i(r, s) {\n try {\n if (s && (\"object\" == typeof s || \"function\" == typeof s)) {\n var a = s.then;\n if (\"function\" == typeof a) return void a.call(s, function (t) {\n i(r, t);\n }, n);\n }\n\n e[r] = s, 0 === --o && t(e);\n } catch (u) {\n n(u);\n }\n }\n\n if (0 === e.length) return t([]);\n\n for (var o = e.length, r = 0; r < e.length; r++) i(r, e[r]);\n });\n }, i.resolve = function (t) {\n return t && \"object\" == typeof t && t.constructor === i ? t : new i(function (e) {\n e(t);\n });\n }, i.reject = function (t) {\n return new i(function (e, n) {\n n(t);\n });\n }, i.race = function (t) {\n return new i(function (e, n) {\n for (var i = 0, o = t.length; o > i; i++) t[i].then(e, n);\n });\n }, i._setImmediateFn = function (t) {\n h = t;\n }, i._setUnhandledRejectionFn = function (t) {\n p = t;\n }, \"undefined\" != typeof module && module.exports ? module.exports = i : t.Promise || (t.Promise = i);\n}(this), function () {\n var t = \"object\" == typeof window.customElements,\n e = \"function\" == typeof document.registerElement,\n n = t || e;\n n || (\n /**\n * @license\n * Copyright (c) 2014 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt\n */\n \"undefined\" == typeof WeakMap && !function () {\n var t = Object.defineProperty,\n e = Date.now() % 1e9,\n n = function () {\n this.name = \"__st\" + (1e9 * Math.random() >>> 0) + (e++ + \"__\");\n };\n\n n.prototype = {\n set: function (e, n) {\n var i = e[this.name];\n return i && i[0] === e ? i[1] = n : t(e, this.name, {\n value: [e, n],\n writable: !0\n }), this;\n },\n get: function (t) {\n var e;\n return (e = t[this.name]) && e[0] === t ? e[1] : void 0;\n },\n \"delete\": function (t) {\n var e = t[this.name];\n return e && e[0] === t ? (e[0] = e[1] = void 0, !0) : !1;\n },\n has: function (t) {\n var e = t[this.name];\n return e ? e[0] === t : !1;\n }\n }, window.WeakMap = n;\n }(), function (t) {\n function e(t) {\n A.push(t), b || (b = !0, g(i));\n }\n\n function n(t) {\n return window.ShadowDOMPolyfill && window.ShadowDOMPolyfill.wrapIfNeeded(t) || t;\n }\n\n function i() {\n b = !1;\n var t = A;\n A = [], t.sort(function (t, e) {\n return t.uid_ - e.uid_;\n });\n var e = !1;\n t.forEach(function (t) {\n var n = t.takeRecords();\n o(t), n.length && (t.callback_(n, t), e = !0);\n }), e && i();\n }\n\n function o(t) {\n t.nodes_.forEach(function (e) {\n var n = m.get(e);\n n && n.forEach(function (e) {\n e.observer === t && e.removeTransientObservers();\n });\n });\n }\n\n function r(t, e) {\n for (var n = t; n; n = n.parentNode) {\n var i = m.get(n);\n if (i) for (var o = 0; o < i.length; o++) {\n var r = i[o],\n s = r.options;\n\n if (n === t || s.subtree) {\n var a = e(s);\n a && r.enqueue(a);\n }\n }\n }\n }\n\n function s(t) {\n this.callback_ = t, this.nodes_ = [], this.records_ = [], this.uid_ = ++C;\n }\n\n function a(t, e) {\n this.type = t, this.target = e, this.addedNodes = [], this.removedNodes = [], this.previousSibling = null, this.nextSibling = null, this.attributeName = null, this.attributeNamespace = null, this.oldValue = null;\n }\n\n function u(t) {\n var e = new a(t.type, t.target);\n return e.addedNodes = t.addedNodes.slice(), e.removedNodes = t.removedNodes.slice(), e.previousSibling = t.previousSibling, e.nextSibling = t.nextSibling, e.attributeName = t.attributeName, e.attributeNamespace = t.attributeNamespace, e.oldValue = t.oldValue, e;\n }\n\n function c(t, e) {\n return x = new a(t, e);\n }\n\n function l(t) {\n return w ? w : (w = u(x), w.oldValue = t, w);\n }\n\n function h() {\n x = w = void 0;\n }\n\n function p(t) {\n return t === w || t === x;\n }\n\n function d(t, e) {\n return t === e ? t : w && p(t) ? w : null;\n }\n\n function f(t, e, n) {\n this.observer = t, this.target = e, this.options = n, this.transientObservedNodes = [];\n }\n\n if (!t.JsMutationObserver) {\n var g,\n m = new WeakMap();\n if (/Trident|Edge/.test(navigator.userAgent)) g = setTimeout;else if (window.setImmediate) g = window.setImmediate;else {\n var v = [],\n y = String(Math.random());\n window.addEventListener(\"message\", function (t) {\n if (t.data === y) {\n var e = v;\n v = [], e.forEach(function (t) {\n t();\n });\n }\n }), g = function (t) {\n v.push(t), window.postMessage(y, \"*\");\n };\n }\n var b = !1,\n A = [],\n C = 0;\n s.prototype = {\n observe: function (t, e) {\n if (t = n(t), !e.childList && !e.attributes && !e.characterData || e.attributeOldValue && !e.attributes || e.attributeFilter && e.attributeFilter.length && !e.attributes || e.characterDataOldValue && !e.characterData) throw new SyntaxError();\n var i = m.get(t);\n i || m.set(t, i = []);\n\n for (var o, r = 0; r < i.length; r++) if (i[r].observer === this) {\n o = i[r], o.removeListeners(), o.options = e;\n break;\n }\n\n o || (o = new f(this, t, e), i.push(o), this.nodes_.push(t)), o.addListeners();\n },\n disconnect: function () {\n this.nodes_.forEach(function (t) {\n for (var e = m.get(t), n = 0; n < e.length; n++) {\n var i = e[n];\n\n if (i.observer === this) {\n i.removeListeners(), e.splice(n, 1);\n break;\n }\n }\n }, this), this.records_ = [];\n },\n takeRecords: function () {\n var t = this.records_;\n return this.records_ = [], t;\n }\n };\n var x, w;\n f.prototype = {\n enqueue: function (t) {\n var n = this.observer.records_,\n i = n.length;\n\n if (n.length > 0) {\n var o = n[i - 1],\n r = d(o, t);\n if (r) return void (n[i - 1] = r);\n } else e(this.observer);\n\n n[i] = t;\n },\n addListeners: function () {\n this.addListeners_(this.target);\n },\n addListeners_: function (t) {\n var e = this.options;\n e.attributes && t.addEventListener(\"DOMAttrModified\", this, !0), e.characterData && t.addEventListener(\"DOMCharacterDataModified\", this, !0), e.childList && t.addEventListener(\"DOMNodeInserted\", this, !0), (e.childList || e.subtree) && t.addEventListener(\"DOMNodeRemoved\", this, !0);\n },\n removeListeners: function () {\n this.removeListeners_(this.target);\n },\n removeListeners_: function (t) {\n var e = this.options;\n e.attributes && t.removeEventListener(\"DOMAttrModified\", this, !0), e.characterData && t.removeEventListener(\"DOMCharacterDataModified\", this, !0), e.childList && t.removeEventListener(\"DOMNodeInserted\", this, !0), (e.childList || e.subtree) && t.removeEventListener(\"DOMNodeRemoved\", this, !0);\n },\n addTransientObserver: function (t) {\n if (t !== this.target) {\n this.addListeners_(t), this.transientObservedNodes.push(t);\n var e = m.get(t);\n e || m.set(t, e = []), e.push(this);\n }\n },\n removeTransientObservers: function () {\n var t = this.transientObservedNodes;\n this.transientObservedNodes = [], t.forEach(function (t) {\n this.removeListeners_(t);\n\n for (var e = m.get(t), n = 0; n < e.length; n++) if (e[n] === this) {\n e.splice(n, 1);\n break;\n }\n }, this);\n },\n handleEvent: function (t) {\n switch (t.stopImmediatePropagation(), t.type) {\n case \"DOMAttrModified\":\n var e = t.attrName,\n n = t.relatedNode.namespaceURI,\n i = t.target,\n o = new c(\"attributes\", i);\n o.attributeName = e, o.attributeNamespace = n;\n var s = t.attrChange === MutationEvent.ADDITION ? null : t.prevValue;\n r(i, function (t) {\n return !t.attributes || t.attributeFilter && t.attributeFilter.length && -1 === t.attributeFilter.indexOf(e) && -1 === t.attributeFilter.indexOf(n) ? void 0 : t.attributeOldValue ? l(s) : o;\n });\n break;\n\n case \"DOMCharacterDataModified\":\n var i = t.target,\n o = c(\"characterData\", i),\n s = t.prevValue;\n r(i, function (t) {\n return t.characterData ? t.characterDataOldValue ? l(s) : o : void 0;\n });\n break;\n\n case \"DOMNodeRemoved\":\n this.addTransientObserver(t.target);\n\n case \"DOMNodeInserted\":\n var a,\n u,\n p = t.target;\n \"DOMNodeInserted\" === t.type ? (a = [p], u = []) : (a = [], u = [p]);\n var d = p.previousSibling,\n f = p.nextSibling,\n o = c(\"childList\", t.target.parentNode);\n o.addedNodes = a, o.removedNodes = u, o.previousSibling = d, o.nextSibling = f, r(t.relatedNode, function (t) {\n return t.childList ? o : void 0;\n });\n }\n\n h();\n }\n }, t.JsMutationObserver = s, t.MutationObserver || (t.MutationObserver = s, s._isPolyfilled = !0);\n }\n }(self), function () {\n \"use strict\";\n\n if (!window.performance || !window.performance.now) {\n var t = Date.now();\n window.performance = {\n now: function () {\n return Date.now() - t;\n }\n };\n }\n\n window.requestAnimationFrame || (window.requestAnimationFrame = function () {\n var t = window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame;\n return t ? function (e) {\n return t(function () {\n e(performance.now());\n });\n } : function (t) {\n return window.setTimeout(t, 1e3 / 60);\n };\n }()), window.cancelAnimationFrame || (window.cancelAnimationFrame = function () {\n return window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || function (t) {\n clearTimeout(t);\n };\n }());\n\n var e = function () {\n var t = document.createEvent(\"Event\");\n return t.initEvent(\"foo\", !0, !0), t.preventDefault(), t.defaultPrevented;\n }();\n\n if (!e) {\n var n = Event.prototype.preventDefault;\n\n Event.prototype.preventDefault = function () {\n this.cancelable && (n.call(this), Object.defineProperty(this, \"defaultPrevented\", {\n get: function () {\n return !0;\n },\n configurable: !0\n }));\n };\n }\n\n var i = /Trident/.test(navigator.userAgent);\n\n if ((!window.CustomEvent || i && \"function\" != typeof window.CustomEvent) && (window.CustomEvent = function (t, e) {\n e = e || {};\n var n = document.createEvent(\"CustomEvent\");\n return n.initCustomEvent(t, Boolean(e.bubbles), Boolean(e.cancelable), e.detail), n;\n }, window.CustomEvent.prototype = window.Event.prototype), !window.Event || i && \"function\" != typeof window.Event) {\n var o = window.Event;\n window.Event = function (t, e) {\n e = e || {};\n var n = document.createEvent(\"Event\");\n return n.initEvent(t, Boolean(e.bubbles), Boolean(e.cancelable)), n;\n }, window.Event.prototype = o.prototype;\n }\n }(window.WebComponents), window.CustomElements = window.CustomElements || {\n flags: {}\n }, function (t) {\n var e = t.flags,\n n = [],\n i = function (t) {\n n.push(t);\n },\n o = function () {\n n.forEach(function (e) {\n e(t);\n });\n };\n\n t.addModule = i, t.initializeModules = o, t.hasNative = Boolean(document.registerElement), t.isIE = /Trident/.test(navigator.userAgent), t.useNative = !e.register && t.hasNative && !window.ShadowDOMPolyfill && (!window.HTMLImports || window.HTMLImports.useNative);\n }(window.CustomElements), window.CustomElements.addModule(function (t) {\n function e(t, e) {\n n(t, function (t) {\n return e(t) ? !0 : void i(t, e);\n }), i(t, e);\n }\n\n function n(t, e, i) {\n var o = t.firstElementChild;\n if (!o) for (o = t.firstChild; o && o.nodeType !== Node.ELEMENT_NODE;) o = o.nextSibling;\n\n for (; o;) e(o, i) !== !0 && n(o, e, i), o = o.nextElementSibling;\n\n return null;\n }\n\n function i(t, n) {\n for (var i = t.shadowRoot; i;) e(i, n), i = i.olderShadowRoot;\n }\n\n function o(t, e) {\n r(t, e, []);\n }\n\n function r(t, e, n) {\n if (t = window.wrap(t), !(n.indexOf(t) >= 0)) {\n n.push(t);\n\n for (var i, o = t.querySelectorAll(\"link[rel=\" + s + \"]\"), a = 0, u = o.length; u > a && (i = o[a]); a++) i.import && r(i.import, e, n);\n\n e(t);\n }\n }\n\n var s = window.HTMLImports ? window.HTMLImports.IMPORT_LINK_TYPE : \"none\";\n t.forDocumentTree = o, t.forSubtree = e;\n }), window.CustomElements.addModule(function (t) {\n function e(t, e) {\n return n(t, e) || i(t, e);\n }\n\n function n(e, n) {\n return t.upgrade(e, n) ? !0 : void (n && s(e));\n }\n\n function i(t, e) {\n b(t, function (t) {\n return n(t, e) ? !0 : void 0;\n });\n }\n\n function o(t) {\n w.push(t), x || (x = !0, setTimeout(r));\n }\n\n function r() {\n x = !1;\n\n for (var t, e = w, n = 0, i = e.length; i > n && (t = e[n]); n++) t();\n\n w = [];\n }\n\n function s(t) {\n C ? o(function () {\n a(t);\n }) : a(t);\n }\n\n function a(t) {\n t.__upgraded__ && !t.__attached && (t.__attached = !0, t.attachedCallback && t.attachedCallback());\n }\n\n function u(t) {\n c(t), b(t, function (t) {\n c(t);\n });\n }\n\n function c(t) {\n C ? o(function () {\n l(t);\n }) : l(t);\n }\n\n function l(t) {\n t.__upgraded__ && t.__attached && (t.__attached = !1, t.detachedCallback && t.detachedCallback());\n }\n\n function h(t) {\n for (var e = t, n = window.wrap(document); e;) {\n if (e == n) return !0;\n e = e.parentNode || e.nodeType === Node.DOCUMENT_FRAGMENT_NODE && e.host;\n }\n }\n\n function p(t) {\n if (t.shadowRoot && !t.shadowRoot.__watched) {\n y.dom && console.log(\"watching shadow-root for: \", t.localName);\n\n for (var e = t.shadowRoot; e;) g(e), e = e.olderShadowRoot;\n }\n }\n\n function d(t, n) {\n if (y.dom) {\n var i = n[0];\n\n if (i && \"childList\" === i.type && i.addedNodes && i.addedNodes) {\n for (var o = i.addedNodes[0]; o && o !== document && !o.host;) o = o.parentNode;\n\n var r = o && (o.URL || o._URL || o.host && o.host.localName) || \"\";\n r = r.split(\"/?\").shift().split(\"/\").pop();\n }\n\n console.group(\"mutations (%d) [%s]\", n.length, r || \"\");\n }\n\n var s = h(t);\n n.forEach(function (t) {\n \"childList\" === t.type && (E(t.addedNodes, function (t) {\n t.localName && e(t, s);\n }), E(t.removedNodes, function (t) {\n t.localName && u(t);\n }));\n }), y.dom && console.groupEnd();\n }\n\n function f(t) {\n for (t = window.wrap(t), t || (t = window.wrap(document)); t.parentNode;) t = t.parentNode;\n\n var e = t.__observer;\n e && (d(t, e.takeRecords()), r());\n }\n\n function g(t) {\n if (!t.__observer) {\n var e = new MutationObserver(d.bind(this, t));\n e.observe(t, {\n childList: !0,\n subtree: !0\n }), t.__observer = e;\n }\n }\n\n function m(t) {\n t = window.wrap(t), y.dom && console.group(\"upgradeDocument: \", t.baseURI.split(\"/\").pop());\n var n = t === window.wrap(document);\n e(t, n), g(t), y.dom && console.groupEnd();\n }\n\n function v(t) {\n A(t, m);\n }\n\n var y = t.flags,\n b = t.forSubtree,\n A = t.forDocumentTree,\n C = window.MutationObserver._isPolyfilled && y[\"throttle-attached\"];\n t.hasPolyfillMutations = C, t.hasThrottledAttached = C;\n var x = !1,\n w = [],\n E = Array.prototype.forEach.call.bind(Array.prototype.forEach),\n S = Element.prototype.createShadowRoot;\n S && (Element.prototype.createShadowRoot = function () {\n var t = S.call(this);\n return window.CustomElements.watchShadow(this), t;\n }), t.watchShadow = p, t.upgradeDocumentTree = v, t.upgradeDocument = m, t.upgradeSubtree = i, t.upgradeAll = e, t.attached = s, t.takeRecords = f;\n }), window.CustomElements.addModule(function (t) {\n function e(e, i) {\n if (\"template\" === e.localName && window.HTMLTemplateElement && HTMLTemplateElement.decorate && HTMLTemplateElement.decorate(e), !e.__upgraded__ && e.nodeType === Node.ELEMENT_NODE) {\n var o = e.getAttribute(\"is\"),\n r = t.getRegisteredDefinition(e.localName) || t.getRegisteredDefinition(o);\n if (r && (o && r.tag == e.localName || !o && !r.extends)) return n(e, r, i);\n }\n }\n\n function n(e, n, o) {\n return s.upgrade && console.group(\"upgrade:\", e.localName), n.is && e.setAttribute(\"is\", n.is), i(e, n), e.__upgraded__ = !0, r(e), o && t.attached(e), t.upgradeSubtree(e, o), s.upgrade && console.groupEnd(), e;\n }\n\n function i(t, e) {\n Object.__proto__ ? t.__proto__ = e.prototype : (o(t, e.prototype, e.native), t.__proto__ = e.prototype);\n }\n\n function o(t, e, n) {\n for (var i = {}, o = e; o !== n && o !== HTMLElement.prototype;) {\n for (var r, s = Object.getOwnPropertyNames(o), a = 0; r = s[a]; a++) i[r] || (Object.defineProperty(t, r, Object.getOwnPropertyDescriptor(o, r)), i[r] = 1);\n\n o = Object.getPrototypeOf(o);\n }\n }\n\n function r(t) {\n t.createdCallback && t.createdCallback();\n }\n\n var s = t.flags;\n t.upgrade = e, t.upgradeWithDefinition = n, t.implementPrototype = i;\n }), window.CustomElements.addModule(function (t) {\n function e(e, i) {\n var u = i || {};\n if (!e) throw new Error(\"document.registerElement: first argument `name` must not be empty\");\n if (e.indexOf(\"-\") < 0) throw new Error(\"document.registerElement: first argument ('name') must contain a dash ('-'). Argument provided was '\" + String(e) + \"'.\");\n if (o(e)) throw new Error(\"Failed to execute 'registerElement' on 'Document': Registration failed for type '\" + String(e) + \"'. The type name is invalid.\");\n if (c(e)) throw new Error(\"DuplicateDefinitionError: a type with name '\" + String(e) + \"' is already registered\");\n return u.prototype || (u.prototype = Object.create(HTMLElement.prototype)), u.__name = e.toLowerCase(), u.extends && (u.extends = u.extends.toLowerCase()), u.lifecycle = u.lifecycle || {}, u.ancestry = r(u.extends), s(u), a(u), n(u.prototype), l(u.__name, u), u.ctor = h(u), u.ctor.prototype = u.prototype, u.prototype.constructor = u.ctor, t.ready && m(document), u.ctor;\n }\n\n function n(t) {\n if (!t.setAttribute._polyfilled) {\n var e = t.setAttribute;\n\n t.setAttribute = function (t, n) {\n i.call(this, t, n, e);\n };\n\n var n = t.removeAttribute;\n t.removeAttribute = function (t) {\n i.call(this, t, null, n);\n }, t.setAttribute._polyfilled = !0;\n }\n }\n\n function i(t, e, n) {\n t = t.toLowerCase();\n var i = this.getAttribute(t);\n n.apply(this, arguments);\n var o = this.getAttribute(t);\n this.attributeChangedCallback && o !== i && this.attributeChangedCallback(t, i, o);\n }\n\n function o(t) {\n for (var e = 0; e < C.length; e++) if (t === C[e]) return !0;\n }\n\n function r(t) {\n var e = c(t);\n return e ? r(e.extends).concat([e]) : [];\n }\n\n function s(t) {\n for (var e, n = t.extends, i = 0; e = t.ancestry[i]; i++) n = e.is && e.tag;\n\n t.tag = n || t.__name, n && (t.is = t.__name);\n }\n\n function a(t) {\n if (!Object.__proto__) {\n var e = HTMLElement.prototype;\n\n if (t.is) {\n var n = document.createElement(t.tag);\n e = Object.getPrototypeOf(n);\n }\n\n for (var i, o = t.prototype, r = !1; o;) o == e && (r = !0), i = Object.getPrototypeOf(o), i && (o.__proto__ = i), o = i;\n\n r || console.warn(t.tag + \" prototype not found in prototype chain for \" + t.is), t.native = e;\n }\n }\n\n function u(t) {\n return y(E(t.tag), t);\n }\n\n function c(t) {\n return t ? x[t.toLowerCase()] : void 0;\n }\n\n function l(t, e) {\n x[t] = e;\n }\n\n function h(t) {\n return function () {\n return u(t);\n };\n }\n\n function p(t, e, n) {\n return t === w ? d(e, n) : S(t, e);\n }\n\n function d(t, e) {\n t && (t = t.toLowerCase()), e && (e = e.toLowerCase());\n var n = c(e || t);\n\n if (n) {\n if (t == n.tag && e == n.is) return new n.ctor();\n if (!e && !n.is) return new n.ctor();\n }\n\n var i;\n return e ? (i = d(t), i.setAttribute(\"is\", e), i) : (i = E(t), t.indexOf(\"-\") >= 0 && b(i, HTMLElement), i);\n }\n\n function f(t, e) {\n var n = t[e];\n\n t[e] = function () {\n var t = n.apply(this, arguments);\n return v(t), t;\n };\n }\n\n var g,\n m = (t.isIE, t.upgradeDocumentTree),\n v = t.upgradeAll,\n y = t.upgradeWithDefinition,\n b = t.implementPrototype,\n A = t.useNative,\n C = [\"annotation-xml\", \"color-profile\", \"font-face\", \"font-face-src\", \"font-face-uri\", \"font-face-format\", \"font-face-name\", \"missing-glyph\"],\n x = {},\n w = \"http://www.w3.org/1999/xhtml\",\n E = document.createElement.bind(document),\n S = document.createElementNS.bind(document);\n g = Object.__proto__ || A ? function (t, e) {\n return t instanceof e;\n } : function (t, e) {\n if (t instanceof e) return !0;\n\n for (var n = t; n;) {\n if (n === e.prototype) return !0;\n n = n.__proto__;\n }\n\n return !1;\n }, f(Node.prototype, \"cloneNode\"), f(document, \"importNode\"), document.registerElement = e, document.createElement = d, document.createElementNS = p, t.registry = x, t.instanceof = g, t.reservedTagList = C, t.getRegisteredDefinition = c, document.register = document.registerElement;\n }), function (t) {\n function e() {\n r(window.wrap(document)), window.CustomElements.ready = !0;\n\n var t = window.requestAnimationFrame || function (t) {\n setTimeout(t, 16);\n };\n\n t(function () {\n setTimeout(function () {\n window.CustomElements.readyTime = Date.now(), window.HTMLImports && (window.CustomElements.elapsed = window.CustomElements.readyTime - window.HTMLImports.readyTime), document.dispatchEvent(new CustomEvent(\"WebComponentsReady\", {\n bubbles: !0\n }));\n });\n });\n }\n\n var n = t.useNative,\n i = t.initializeModules;\n\n if (t.isIE, n) {\n var o = function () {};\n\n t.watchShadow = o, t.upgrade = o, t.upgradeAll = o, t.upgradeDocumentTree = o, t.upgradeSubtree = o, t.takeRecords = o, t.instanceof = function (t, e) {\n return t instanceof e;\n };\n } else i();\n\n var r = t.upgradeDocumentTree,\n s = t.upgradeDocument;\n if (window.wrap || (window.ShadowDOMPolyfill ? (window.wrap = window.ShadowDOMPolyfill.wrapIfNeeded, window.unwrap = window.ShadowDOMPolyfill.unwrapIfNeeded) : window.wrap = window.unwrap = function (t) {\n return t;\n }), window.HTMLImports && (window.HTMLImports.__importsParsingHook = function (t) {\n t.import && s(wrap(t.import));\n }), \"complete\" === document.readyState || t.flags.eager) e();else if (\"interactive\" !== document.readyState || window.attachEvent || window.HTMLImports && !window.HTMLImports.ready) {\n var a = window.HTMLImports && !window.HTMLImports.ready ? \"HTMLImportsLoaded\" : \"DOMContentLoaded\";\n window.addEventListener(a, e);\n } else e();\n }(window.CustomElements));\n}.call(this), function () {}.call(this), function () {\n var t = this;\n (function () {\n (function () {\n this.Trix = {\n VERSION: \"1.3.1\",\n ZERO_WIDTH_SPACE: \"\\ufeff\",\n NON_BREAKING_SPACE: \"\\xa0\",\n OBJECT_REPLACEMENT_CHARACTER: \"\\ufffc\",\n browser: {\n composesExistingText: /Android.*Chrome/.test(navigator.userAgent),\n forcesObjectResizing: /Trident.*rv:11/.test(navigator.userAgent),\n supportsInputEvents: function () {\n var t, e, n, i;\n if (\"undefined\" == typeof InputEvent) return !1;\n\n for (i = [\"data\", \"getTargetRanges\", \"inputType\"], t = 0, e = i.length; e > t; t++) if (n = i[t], !(n in InputEvent.prototype)) return !1;\n\n return !0;\n }()\n },\n config: {}\n };\n }).call(this);\n }).call(t);\n var e = t.Trix;\n (function () {\n (function () {\n e.BasicObject = function () {\n function t() {}\n\n var e, n, i;\n return t.proxyMethod = function (t) {\n var i, o, r, s, a;\n return r = n(t), i = r.name, s = r.toMethod, a = r.toProperty, o = r.optional, this.prototype[i] = function () {\n var t, n;\n return t = null != s ? o ? \"function\" == typeof this[s] ? this[s]() : void 0 : this[s]() : null != a ? this[a] : void 0, o ? (n = null != t ? t[i] : void 0, null != n ? e.call(n, t, arguments) : void 0) : (n = t[i], e.call(n, t, arguments));\n };\n }, n = function (t) {\n var e, n;\n if (!(n = t.match(i))) throw new Error(\"can't parse @proxyMethod expression: \" + t);\n return e = {\n name: n[4]\n }, null != n[2] ? e.toMethod = n[1] : e.toProperty = n[1], null != n[3] && (e.optional = !0), e;\n }, e = Function.prototype.apply, i = /^(.+?)(\\(\\))?(\\?)?\\.(.+?)$/, t;\n }();\n }).call(this), function () {\n var t = function (t, e) {\n function i() {\n this.constructor = t;\n }\n\n for (var o in e) n.call(e, o) && (t[o] = e[o]);\n\n return i.prototype = e.prototype, t.prototype = new i(), t.__super__ = e.prototype, t;\n },\n n = {}.hasOwnProperty;\n\n e.Object = function (n) {\n function i() {\n this.id = ++o;\n }\n\n var o;\n return t(i, n), o = 0, i.fromJSONString = function (t) {\n return this.fromJSON(JSON.parse(t));\n }, i.prototype.hasSameConstructorAs = function (t) {\n return this.constructor === (null != t ? t.constructor : void 0);\n }, i.prototype.isEqualTo = function (t) {\n return this === t;\n }, i.prototype.inspect = function () {\n var t, e, n;\n return t = function () {\n var t, i, o;\n i = null != (t = this.contentsForInspection()) ? t : {}, o = [];\n\n for (e in i) n = i[e], o.push(e + \"=\" + n);\n\n return o;\n }.call(this), \"#<\" + this.constructor.name + \":\" + this.id + (t.length ? \" \" + t.join(\", \") : \"\") + \">\";\n }, i.prototype.contentsForInspection = function () {}, i.prototype.toJSONString = function () {\n return JSON.stringify(this);\n }, i.prototype.toUTF16String = function () {\n return e.UTF16String.box(this);\n }, i.prototype.getCacheKey = function () {\n return this.id.toString();\n }, i;\n }(e.BasicObject);\n }.call(this), function () {\n e.extend = function (t) {\n var e, n;\n\n for (e in t) n = t[e], this[e] = n;\n\n return this;\n };\n }.call(this), function () {\n e.extend({\n defer: function (t) {\n return setTimeout(t, 1);\n }\n });\n }.call(this), function () {\n var t, n;\n e.extend({\n normalizeSpaces: function (t) {\n return t.replace(RegExp(\"\" + e.ZERO_WIDTH_SPACE, \"g\"), \"\").replace(RegExp(\"\" + e.NON_BREAKING_SPACE, \"g\"), \" \");\n },\n normalizeNewlines: function (t) {\n return t.replace(/\\r\\n/g, \"\\n\");\n },\n breakableWhitespacePattern: RegExp(\"[^\\\\S\" + e.NON_BREAKING_SPACE + \"]\"),\n squishBreakableWhitespace: function (t) {\n return t.replace(RegExp(\"\" + e.breakableWhitespacePattern.source, \"g\"), \" \").replace(/\\ {2,}/g, \" \");\n },\n summarizeStringChange: function (t, i) {\n var o, r, s, a;\n return t = e.UTF16String.box(t), i = e.UTF16String.box(i), i.length < t.length ? (r = n(t, i), a = r[0], o = r[1]) : (s = n(i, t), o = s[0], a = s[1]), {\n added: o,\n removed: a\n };\n }\n }), n = function (n, i) {\n var o, r, s, a, u;\n return n.isEqualTo(i) ? [\"\", \"\"] : (r = t(n, i), a = r.utf16String.length, s = a ? (u = r.offset, r, o = n.codepoints.slice(0, u).concat(n.codepoints.slice(u + a)), t(i, e.UTF16String.fromCodepoints(o))) : t(i, n), [r.utf16String.toString(), s.utf16String.toString()]);\n }, t = function (t, e) {\n var n, i, o;\n\n for (n = 0, i = t.length, o = e.length; i > n && t.charAt(n).isEqualTo(e.charAt(n));) n++;\n\n for (; i > n + 1 && t.charAt(i - 1).isEqualTo(e.charAt(o - 1));) i--, o--;\n\n return {\n utf16String: t.slice(n, i),\n offset: n\n };\n };\n }.call(this), function () {\n e.extend({\n copyObject: function (t) {\n var e, n, i;\n null == t && (t = {}), n = {};\n\n for (e in t) i = t[e], n[e] = i;\n\n return n;\n },\n objectsAreEqual: function (t, e) {\n var n, i;\n if (null == t && (t = {}), null == e && (e = {}), Object.keys(t).length !== Object.keys(e).length) return !1;\n\n for (n in t) if (i = t[n], i !== e[n]) return !1;\n\n return !0;\n }\n });\n }.call(this), function () {\n var t = [].slice;\n e.extend({\n arraysAreEqual: function (t, e) {\n var n, i, o, r;\n if (null == t && (t = []), null == e && (e = []), t.length !== e.length) return !1;\n\n for (i = n = 0, o = t.length; o > n; i = ++n) if (r = t[i], r !== e[i]) return !1;\n\n return !0;\n },\n arrayStartsWith: function (t, n) {\n return null == t && (t = []), null == n && (n = []), e.arraysAreEqual(t.slice(0, n.length), n);\n },\n spliceArray: function () {\n var e, n, i;\n return n = arguments[0], e = 2 <= arguments.length ? t.call(arguments, 1) : [], i = n.slice(0), i.splice.apply(i, e), i;\n },\n summarizeArrayChange: function (t, e) {\n var n, i, o, r, s, a, u, c, l, h, p;\n\n for (null == t && (t = []), null == e && (e = []), n = [], h = [], o = new Set(), r = 0, u = t.length; u > r; r++) p = t[r], o.add(p);\n\n for (i = new Set(), s = 0, c = e.length; c > s; s++) p = e[s], i.add(p), o.has(p) || n.push(p);\n\n for (a = 0, l = t.length; l > a; a++) p = t[a], i.has(p) || h.push(p);\n\n return {\n added: n,\n removed: h\n };\n }\n });\n }.call(this), function () {\n var t, n, i, o;\n t = null, n = null, o = null, i = null, e.extend({\n getAllAttributeNames: function () {\n return null != t ? t : t = e.getTextAttributeNames().concat(e.getBlockAttributeNames());\n },\n getBlockConfig: function (t) {\n return e.config.blockAttributes[t];\n },\n getBlockAttributeNames: function () {\n return null != n ? n : n = Object.keys(e.config.blockAttributes);\n },\n getTextConfig: function (t) {\n return e.config.textAttributes[t];\n },\n getTextAttributeNames: function () {\n return null != o ? o : o = Object.keys(e.config.textAttributes);\n },\n getListAttributeNames: function () {\n var t, n;\n return null != i ? i : i = function () {\n var i, o;\n i = e.config.blockAttributes, o = [];\n\n for (t in i) n = i[t].listAttribute, null != n && o.push(n);\n\n return o;\n }();\n }\n });\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) if (e in this && this[e] === t) return e;\n\n return -1;\n };\n\n t = document.documentElement, n = null != (i = null != (o = null != (r = t.matchesSelector) ? r : t.webkitMatchesSelector) ? o : t.msMatchesSelector) ? i : t.mozMatchesSelector, e.extend({\n handleEvent: function (n, i) {\n var o, r, s, a, u, c, l, h, p, d, f, g;\n return h = null != i ? i : {}, c = h.onElement, u = h.matchingSelector, g = h.withCallback, a = h.inPhase, l = h.preventDefault, d = h.times, r = null != c ? c : t, p = u, o = g, f = \"capturing\" === a, s = function (t) {\n var n;\n return null != d && 0 === --d && s.destroy(), n = e.findClosestElementFromNode(t.target, {\n matchingSelector: p\n }), null != n && (null != g && g.call(n, t, n), l) ? t.preventDefault() : void 0;\n }, s.destroy = function () {\n return r.removeEventListener(n, s, f);\n }, r.addEventListener(n, s, f), s;\n },\n handleEventOnce: function (t, n) {\n return null == n && (n = {}), n.times = 1, e.handleEvent(t, n);\n },\n triggerEvent: function (n, i) {\n var o, r, s, a, u, c, l;\n return l = null != i ? i : {}, c = l.onElement, r = l.bubbles, s = l.cancelable, o = l.attributes, a = null != c ? c : t, r = r !== !1, s = s !== !1, u = document.createEvent(\"Events\"), u.initEvent(n, r, s), null != o && e.extend.call(u, o), a.dispatchEvent(u);\n },\n elementMatchesSelector: function (t, e) {\n return 1 === (null != t ? t.nodeType : void 0) ? n.call(t, e) : void 0;\n },\n findClosestElementFromNode: function (t, n) {\n var i, o, r;\n\n for (o = null != n ? n : {}, i = o.matchingSelector, r = o.untilNode; null != t && t.nodeType !== Node.ELEMENT_NODE;) t = t.parentNode;\n\n if (null != t) {\n if (null == i) return t;\n if (t.closest && null == r) return t.closest(i);\n\n for (; t && t !== r;) {\n if (e.elementMatchesSelector(t, i)) return t;\n t = t.parentNode;\n }\n }\n },\n findInnerElement: function (t) {\n for (; null != t ? t.firstElementChild : void 0;) t = t.firstElementChild;\n\n return t;\n },\n innerElementIsActive: function (t) {\n return document.activeElement !== t && e.elementContainsNode(t, document.activeElement);\n },\n elementContainsNode: function (t, e) {\n if (t && e) for (; e;) {\n if (e === t) return !0;\n e = e.parentNode;\n }\n },\n findNodeFromContainerAndOffset: function (t, e) {\n var n;\n if (t) return t.nodeType === Node.TEXT_NODE ? t : 0 === e ? null != (n = t.firstChild) ? n : t : t.childNodes.item(e - 1);\n },\n findElementFromContainerAndOffset: function (t, n) {\n var i;\n return i = e.findNodeFromContainerAndOffset(t, n), e.findClosestElementFromNode(i);\n },\n findChildIndexOfNode: function (t) {\n var e;\n\n if (null != t ? t.parentNode : void 0) {\n for (e = 0; t = t.previousSibling;) e++;\n\n return e;\n }\n },\n removeNode: function (t) {\n var e;\n return null != t && null != (e = t.parentNode) ? e.removeChild(t) : void 0;\n },\n walkTree: function (t, e) {\n var n, i, o, r, s;\n return o = null != e ? e : {}, i = o.onlyNodesOfType, r = o.usingFilter, n = o.expandEntityReferences, s = function () {\n switch (i) {\n case \"element\":\n return NodeFilter.SHOW_ELEMENT;\n\n case \"text\":\n return NodeFilter.SHOW_TEXT;\n\n case \"comment\":\n return NodeFilter.SHOW_COMMENT;\n\n default:\n return NodeFilter.SHOW_ALL;\n }\n }(), document.createTreeWalker(t, s, null != r ? r : null, n === !0);\n },\n tagName: function (t) {\n var e;\n return null != t && null != (e = t.tagName) ? e.toLowerCase() : void 0;\n },\n makeElement: function (t, e) {\n var n, i, o, r, s, a, u, c, l, h, p, d, f, g;\n\n if (null == e && (e = {}), \"object\" == typeof t ? (e = t, t = e.tagName) : e = {\n attributes: e\n }, o = document.createElement(t), null != e.editable && (null == e.attributes && (e.attributes = {}), e.attributes.contenteditable = e.editable), e.attributes) {\n l = e.attributes;\n\n for (a in l) g = l[a], o.setAttribute(a, g);\n }\n\n if (e.style) {\n h = e.style;\n\n for (a in h) g = h[a], o.style[a] = g;\n }\n\n if (e.data) {\n p = e.data;\n\n for (a in p) g = p[a], o.dataset[a] = g;\n }\n\n if (e.className) for (d = e.className.split(\" \"), r = 0, u = d.length; u > r; r++) i = d[r], o.classList.add(i);\n if (e.textContent && (o.textContent = e.textContent), e.childNodes) for (f = [].concat(e.childNodes), s = 0, c = f.length; c > s; s++) n = f[s], o.appendChild(n);\n return o;\n },\n getBlockTagNames: function () {\n var t, n;\n return null != e.blockTagNames ? e.blockTagNames : e.blockTagNames = function () {\n var i, o;\n i = e.config.blockAttributes, o = [];\n\n for (t in i) n = i[t].tagName, n && o.push(n);\n\n return o;\n }();\n },\n nodeIsBlockContainer: function (t) {\n return e.nodeIsBlockStartComment(null != t ? t.firstChild : void 0);\n },\n nodeProbablyIsBlockContainer: function (t) {\n var n, i;\n return n = e.tagName(t), s.call(e.getBlockTagNames(), n) >= 0 && (i = e.tagName(t.firstChild), s.call(e.getBlockTagNames(), i) < 0);\n },\n nodeIsBlockStart: function (t, n) {\n var i;\n return i = (null != n ? n : {\n strict: !0\n }).strict, i ? e.nodeIsBlockStartComment(t) : e.nodeIsBlockStartComment(t) || !e.nodeIsBlockStartComment(t.firstChild) && e.nodeProbablyIsBlockContainer(t);\n },\n nodeIsBlockStartComment: function (t) {\n return e.nodeIsCommentNode(t) && \"block\" === (null != t ? t.data : void 0);\n },\n nodeIsCommentNode: function (t) {\n return (null != t ? t.nodeType : void 0) === Node.COMMENT_NODE;\n },\n nodeIsCursorTarget: function (t, n) {\n var i;\n return i = (null != n ? n : {}).name, t ? e.nodeIsTextNode(t) ? t.data === e.ZERO_WIDTH_SPACE ? i ? t.parentNode.dataset.trixCursorTarget === i : !0 : void 0 : e.nodeIsCursorTarget(t.firstChild) : void 0;\n },\n nodeIsAttachmentElement: function (t) {\n return e.elementMatchesSelector(t, e.AttachmentView.attachmentSelector);\n },\n nodeIsEmptyTextNode: function (t) {\n return e.nodeIsTextNode(t) && \"\" === (null != t ? t.data : void 0);\n },\n nodeIsTextNode: function (t) {\n return (null != t ? t.nodeType : void 0) === Node.TEXT_NODE;\n }\n });\n }.call(this), function () {\n var t, n, i, o, r;\n t = e.copyObject, o = e.objectsAreEqual, e.extend({\n normalizeRange: i = function (t) {\n var e;\n if (null != t) return Array.isArray(t) || (t = [t, t]), [n(t[0]), n(null != (e = t[1]) ? e : t[0])];\n },\n rangeIsCollapsed: function (t) {\n var e, n, o;\n if (null != t) return n = i(t), o = n[0], e = n[1], r(o, e);\n },\n rangesAreEqual: function (t, e) {\n var n, o, s, a, u, c;\n if (null != t && null != e) return s = i(t), o = s[0], n = s[1], a = i(e), c = a[0], u = a[1], r(o, c) && r(n, u);\n }\n }), n = function (e) {\n return \"number\" == typeof e ? e : t(e);\n }, r = function (t, e) {\n return \"number\" == typeof t ? t === e : o(t, e);\n };\n }.call(this), function () {\n var t, n, i, o, r, s, a;\n e.registerElement = function (t, e) {\n var n, i;\n return null == e && (e = {}), t = t.toLowerCase(), e = a(e), i = s(e), (n = i.defaultCSS) && (delete i.defaultCSS, o(n, t)), r(t, i);\n }, o = function (t, e) {\n var n;\n return n = i(e), n.textContent = t.replace(/%t/g, e);\n }, i = function (e) {\n var n, i;\n return n = document.createElement(\"style\"), n.setAttribute(\"type\", \"text/css\"), n.setAttribute(\"data-tag-name\", e.toLowerCase()), (i = t()) && n.setAttribute(\"nonce\", i), document.head.insertBefore(n, document.head.firstChild), n;\n }, t = function () {\n var t;\n return (t = n(\"trix-csp-nonce\") || n(\"csp-nonce\")) ? t.getAttribute(\"content\") : void 0;\n }, n = function (t) {\n return document.head.querySelector(\"meta[name=\" + t + \"]\");\n }, s = function (t) {\n var e, n, i;\n n = {};\n\n for (e in t) i = t[e], n[e] = \"function\" == typeof i ? {\n value: i\n } : i;\n\n return n;\n }, a = function () {\n var t;\n return t = function (t) {\n var e, n, i, o, r;\n\n for (e = {}, r = [\"initialize\", \"connect\", \"disconnect\"], n = 0, o = r.length; o > n; n++) i = r[n], e[i] = t[i], delete t[i];\n\n return e;\n }, window.customElements ? function (e) {\n var n, i, o, r, s;\n return s = t(e), o = s.initialize, n = s.connect, i = s.disconnect, o && (r = n, n = function () {\n return this.initialized || (this.initialized = !0, o.call(this)), null != r ? r.call(this) : void 0;\n }), n && (e.connectedCallback = n), i && (e.disconnectedCallback = i), e;\n } : function (e) {\n var n, i, o, r;\n return r = t(e), o = r.initialize, n = r.connect, i = r.disconnect, o && (e.createdCallback = o), n && (e.attachedCallback = n), i && (e.detachedCallback = i), e;\n };\n }(), r = function () {\n return window.customElements ? function (t, e) {\n var n;\n return n = function () {\n return \"object\" == typeof Reflect ? Reflect.construct(HTMLElement, [], n) : HTMLElement.apply(this);\n }, Object.setPrototypeOf(n.prototype, HTMLElement.prototype), Object.setPrototypeOf(n, HTMLElement), Object.defineProperties(n.prototype, e), window.customElements.define(t, n), n;\n } : function (t, e) {\n var n, i;\n return i = Object.create(HTMLElement.prototype, e), n = document.registerElement(t, {\n prototype: i\n }), Object.defineProperty(i, \"constructor\", {\n value: n\n }), n;\n };\n }();\n }.call(this), function () {\n var t, n;\n e.extend({\n getDOMSelection: function () {\n var t;\n return t = window.getSelection(), t.rangeCount > 0 ? t : void 0;\n },\n getDOMRange: function () {\n var n, i;\n return (n = null != (i = e.getDOMSelection()) ? i.getRangeAt(0) : void 0) && !t(n) ? n : void 0;\n },\n setDOMRange: function (t) {\n var n;\n return n = window.getSelection(), n.removeAllRanges(), n.addRange(t), e.selectionChangeObserver.update();\n }\n }), t = function (t) {\n return n(t.startContainer) || n(t.endContainer);\n }, n = function (t) {\n return !Object.getPrototypeOf(t);\n };\n }.call(this), function () {\n var t;\n t = {\n \"application/x-trix-feature-detection\": \"test\"\n }, e.extend({\n dataTransferIsPlainText: function (t) {\n var e, n, i;\n return i = t.getData(\"text/plain\"), n = t.getData(\"text/html\"), i && n ? (e = new DOMParser().parseFromString(n, \"text/html\").body, e.textContent === i ? !e.querySelector(\"*\") : void 0) : null != i ? i.length : void 0;\n },\n dataTransferIsWritable: function (e) {\n var n, i;\n\n if (null != (null != e ? e.setData : void 0)) {\n for (n in t) if (i = t[n], !function () {\n try {\n return e.setData(n, i), e.getData(n) === i;\n } catch (t) {}\n }()) return;\n\n return !0;\n }\n },\n keyEventIsKeyboardCommand: function () {\n return /Mac|^iP/.test(navigator.platform) ? function (t) {\n return t.metaKey;\n } : function (t) {\n return t.ctrlKey;\n };\n }()\n });\n }.call(this), function () {\n e.extend({\n RTL_PATTERN: /[\\u05BE\\u05C0\\u05C3\\u05D0-\\u05EA\\u05F0-\\u05F4\\u061B\\u061F\\u0621-\\u063A\\u0640-\\u064A\\u066D\\u0671-\\u06B7\\u06BA-\\u06BE\\u06C0-\\u06CE\\u06D0-\\u06D5\\u06E5\\u06E6\\u200F\\u202B\\u202E\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE72\\uFE74\\uFE76-\\uFEFC]/,\n getDirection: function () {\n var t, n, i, o;\n return n = e.makeElement(\"input\", {\n dir: \"auto\",\n name: \"x\",\n dirName: \"x.dir\"\n }), t = e.makeElement(\"form\"), t.appendChild(n), i = function () {\n try {\n return new FormData(t).has(n.dirName);\n } catch (e) {}\n }(), o = function () {\n try {\n return n.matches(\":dir(ltr),:dir(rtl)\");\n } catch (t) {}\n }(), i ? function (e) {\n return n.value = e, new FormData(t).get(n.dirName);\n } : o ? function (t) {\n return n.value = t, n.matches(\":dir(rtl)\") ? \"rtl\" : \"ltr\";\n } : function (t) {\n var n;\n return n = t.trim().charAt(0), e.RTL_PATTERN.test(n) ? \"rtl\" : \"ltr\";\n };\n }()\n });\n }.call(this), function () {}.call(this), function () {\n var t,\n n = function (t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var o in e) i.call(e, o) && (t[o] = e[o]);\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n i = {}.hasOwnProperty;\n\n t = e.arraysAreEqual, e.Hash = function (i) {\n function o(t) {\n null == t && (t = {}), this.values = s(t), o.__super__.constructor.apply(this, arguments);\n }\n\n var r, s, a, u, c;\n return n(o, i), o.fromCommonAttributesOfObjects = function (t) {\n var e, n, i, o, s, a;\n if (null == t && (t = []), !t.length) return new this();\n\n for (e = r(t[0]), i = e.getKeys(), a = t.slice(1), n = 0, o = a.length; o > n; n++) s = a[n], i = e.getKeysCommonToHash(r(s)), e = e.slice(i);\n\n return e;\n }, o.box = function (t) {\n return r(t);\n }, o.prototype.add = function (t, e) {\n return this.merge(u(t, e));\n }, o.prototype.remove = function (t) {\n return new e.Hash(s(this.values, t));\n }, o.prototype.get = function (t) {\n return this.values[t];\n }, o.prototype.has = function (t) {\n return t in this.values;\n }, o.prototype.merge = function (t) {\n return new e.Hash(a(this.values, c(t)));\n }, o.prototype.slice = function (t) {\n var n, i, o, r;\n\n for (r = {}, n = 0, o = t.length; o > n; n++) i = t[n], this.has(i) && (r[i] = this.values[i]);\n\n return new e.Hash(r);\n }, o.prototype.getKeys = function () {\n return Object.keys(this.values);\n }, o.prototype.getKeysCommonToHash = function (t) {\n var e, n, i, o, s;\n\n for (t = r(t), o = this.getKeys(), s = [], e = 0, i = o.length; i > e; e++) n = o[e], this.values[n] === t.values[n] && s.push(n);\n\n return s;\n }, o.prototype.isEqualTo = function (e) {\n return t(this.toArray(), r(e).toArray());\n }, o.prototype.isEmpty = function () {\n return 0 === this.getKeys().length;\n }, o.prototype.toArray = function () {\n var t, e, n;\n return (null != this.array ? this.array : this.array = function () {\n var i;\n e = [], i = this.values;\n\n for (t in i) n = i[t], e.push(t, n);\n\n return e;\n }.call(this)).slice(0);\n }, o.prototype.toObject = function () {\n return s(this.values);\n }, o.prototype.toJSON = function () {\n return this.toObject();\n }, o.prototype.contentsForInspection = function () {\n return {\n values: JSON.stringify(this.values)\n };\n }, u = function (t, e) {\n var n;\n return n = {}, n[t] = e, n;\n }, a = function (t, e) {\n var n, i, o;\n i = s(t);\n\n for (n in e) o = e[n], i[n] = o;\n\n return i;\n }, s = function (t, e) {\n var n, i, o, r, s;\n\n for (r = {}, s = Object.keys(t).sort(), n = 0, o = s.length; o > n; n++) i = s[n], i !== e && (r[i] = t[i]);\n\n return r;\n }, r = function (t) {\n return t instanceof e.Hash ? t : new e.Hash(t);\n }, c = function (t) {\n return t instanceof e.Hash ? t.values : t;\n }, o;\n }(e.Object);\n }.call(this), function () {\n e.ObjectGroup = function () {\n function t(t, e) {\n var n, i;\n this.objects = null != t ? t : [], i = e.depth, n = e.asTree, n && (this.depth = i, this.objects = this.constructor.groupObjects(this.objects, {\n asTree: n,\n depth: this.depth + 1\n }));\n }\n\n return t.groupObjects = function (t, e) {\n var n, i, o, r, s, a, u, c, l;\n\n for (null == t && (t = []), l = null != e ? e : {}, o = l.depth, n = l.asTree, n && null == o && (o = 0), c = [], s = 0, a = t.length; a > s; s++) {\n if (u = t[s], r) {\n if ((\"function\" == typeof u.canBeGrouped ? u.canBeGrouped(o) : void 0) && (\"function\" == typeof (i = r[r.length - 1]).canBeGroupedWith ? i.canBeGroupedWith(u, o) : void 0)) {\n r.push(u);\n continue;\n }\n\n c.push(new this(r, {\n depth: o,\n asTree: n\n })), r = null;\n }\n\n (\"function\" == typeof u.canBeGrouped ? u.canBeGrouped(o) : void 0) ? r = [u] : c.push(u);\n }\n\n return r && c.push(new this(r, {\n depth: o,\n asTree: n\n })), c;\n }, t.prototype.getObjects = function () {\n return this.objects;\n }, t.prototype.getDepth = function () {\n return this.depth;\n }, t.prototype.getCacheKey = function () {\n var t, e, n, i, o;\n\n for (e = [\"objectGroup\"], o = this.getObjects(), t = 0, n = o.length; n > t; t++) i = o[t], e.push(i.getCacheKey());\n\n return e.join(\"/\");\n }, t;\n }();\n }.call(this), function () {\n var t = function (t, e) {\n function i() {\n this.constructor = t;\n }\n\n for (var o in e) n.call(e, o) && (t[o] = e[o]);\n\n return i.prototype = e.prototype, t.prototype = new i(), t.__super__ = e.prototype, t;\n },\n n = {}.hasOwnProperty;\n\n e.ObjectMap = function (e) {\n function n(t) {\n var e, n, i, o, r;\n\n for (null == t && (t = []), this.objects = {}, i = 0, o = t.length; o > i; i++) r = t[i], n = JSON.stringify(r), null == (e = this.objects)[n] && (e[n] = r);\n }\n\n return t(n, e), n.prototype.find = function (t) {\n var e;\n return e = JSON.stringify(t), this.objects[e];\n }, n;\n }(e.BasicObject);\n }.call(this), function () {\n e.ElementStore = function () {\n function t(t) {\n this.reset(t);\n }\n\n var e;\n return t.prototype.add = function (t) {\n var n;\n return n = e(t), this.elements[n] = t;\n }, t.prototype.remove = function (t) {\n var n, i;\n return n = e(t), (i = this.elements[n]) ? (delete this.elements[n], i) : void 0;\n }, t.prototype.reset = function (t) {\n var e, n, i;\n\n for (null == t && (t = []), this.elements = {}, n = 0, i = t.length; i > n; n++) e = t[n], this.add(e);\n\n return t;\n }, e = function (t) {\n return t.dataset.trixStoreKey;\n }, t;\n }();\n }.call(this), function () {}.call(this), function () {\n var t = function (t, e) {\n function i() {\n this.constructor = t;\n }\n\n for (var o in e) n.call(e, o) && (t[o] = e[o]);\n\n return i.prototype = e.prototype, t.prototype = new i(), t.__super__ = e.prototype, t;\n },\n n = {}.hasOwnProperty;\n\n e.Operation = function (e) {\n function n() {\n return n.__super__.constructor.apply(this, arguments);\n }\n\n return t(n, e), n.prototype.isPerforming = function () {\n return this.performing === !0;\n }, n.prototype.hasPerformed = function () {\n return this.performed === !0;\n }, n.prototype.hasSucceeded = function () {\n return this.performed && this.succeeded;\n }, n.prototype.hasFailed = function () {\n return this.performed && !this.succeeded;\n }, n.prototype.getPromise = function () {\n return null != this.promise ? this.promise : this.promise = new Promise(function (t) {\n return function (e, n) {\n return t.performing = !0, t.perform(function (i, o) {\n return t.succeeded = i, t.performing = !1, t.performed = !0, t.succeeded ? e(o) : n(o);\n });\n };\n }(this));\n }, n.prototype.perform = function (t) {\n return t(!1);\n }, n.prototype.release = function () {\n var t;\n return null != (t = this.promise) && \"function\" == typeof t.cancel && t.cancel(), this.promise = null, this.performing = null, this.performed = null, this.succeeded = null;\n }, n.proxyMethod(\"getPromise().then\"), n.proxyMethod(\"getPromise().catch\"), n;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s = function (t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) a.call(e, i) && (t[i] = e[i]);\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n a = {}.hasOwnProperty;\n\n e.UTF16String = function (t) {\n function e(t, e) {\n this.ucs2String = t, this.codepoints = e, this.length = this.codepoints.length, this.ucs2Length = this.ucs2String.length;\n }\n\n return s(e, t), e.box = function (t) {\n return null == t && (t = \"\"), t instanceof this ? t : this.fromUCS2String(null != t ? t.toString() : void 0);\n }, e.fromUCS2String = function (t) {\n return new this(t, o(t));\n }, e.fromCodepoints = function (t) {\n return new this(r(t), t);\n }, e.prototype.offsetToUCS2Offset = function (t) {\n return r(this.codepoints.slice(0, Math.max(0, t))).length;\n }, e.prototype.offsetFromUCS2Offset = function (t) {\n return o(this.ucs2String.slice(0, Math.max(0, t))).length;\n }, e.prototype.slice = function () {\n var t;\n return this.constructor.fromCodepoints((t = this.codepoints).slice.apply(t, arguments));\n }, e.prototype.charAt = function (t) {\n return this.slice(t, t + 1);\n }, e.prototype.isEqualTo = function (t) {\n return this.constructor.box(t).ucs2String === this.ucs2String;\n }, e.prototype.toJSON = function () {\n return this.ucs2String;\n }, e.prototype.getCacheKey = function () {\n return this.ucs2String;\n }, e.prototype.toString = function () {\n return this.ucs2String;\n }, e;\n }(e.BasicObject), t = 1 === (\"function\" == typeof Array.from ? Array.from(\"\\ud83d\\udc7c\").length : void 0), n = null != (\"function\" == typeof \" \".codePointAt ? \" \".codePointAt(0) : void 0), i = \" \\ud83d\\udc7c\" === (\"function\" == typeof String.fromCodePoint ? String.fromCodePoint(32, 128124) : void 0), o = t && n ? function (t) {\n return Array.from(t).map(function (t) {\n return t.codePointAt(0);\n });\n } : function (t) {\n var e, n, i, o, r;\n\n for (o = [], e = 0, i = t.length; i > e;) r = t.charCodeAt(e++), r >= 55296 && 56319 >= r && i > e && (n = t.charCodeAt(e++), 56320 === (64512 & n) ? r = ((1023 & r) << 10) + (1023 & n) + 65536 : e--), o.push(r);\n\n return o;\n }, r = i ? function (t) {\n return String.fromCodePoint.apply(String, t);\n } : function (t) {\n var e, n, i;\n return e = function () {\n var e, o, r;\n\n for (r = [], e = 0, o = t.length; o > e; e++) i = t[e], n = \"\", i > 65535 && (i -= 65536, n += String.fromCharCode(i >>> 10 & 1023 | 55296), i = 56320 | 1023 & i), r.push(n + String.fromCharCode(i));\n\n return r;\n }(), e.join(\"\");\n };\n }.call(this), function () {}.call(this), function () {}.call(this), function () {\n e.config.lang = {\n attachFiles: \"Attach Files\",\n bold: \"Bold\",\n bullets: \"Bullets\",\n \"byte\": \"Byte\",\n bytes: \"Bytes\",\n captionPlaceholder: \"Add a caption\\u2026\",\n code: \"Code\",\n heading1: \"Heading\",\n indent: \"Increase Level\",\n italic: \"Italic\",\n link: \"Link\",\n numbers: \"Numbers\",\n outdent: \"Decrease Level\",\n quote: \"Quote\",\n redo: \"Redo\",\n remove: \"Remove\",\n strike: \"Strikethrough\",\n undo: \"Undo\",\n unlink: \"Unlink\",\n url: \"URL\",\n urlPlaceholder: \"Enter a URL\\u2026\",\n GB: \"GB\",\n KB: \"KB\",\n MB: \"MB\",\n PB: \"PB\",\n TB: \"TB\"\n };\n }.call(this), function () {\n e.config.css = {\n attachment: \"attachment\",\n attachmentCaption: \"attachment__caption\",\n attachmentCaptionEditor: \"attachment__caption-editor\",\n attachmentMetadata: \"attachment__metadata\",\n attachmentMetadataContainer: \"attachment__metadata-container\",\n attachmentName: \"attachment__name\",\n attachmentProgress: \"attachment__progress\",\n attachmentSize: \"attachment__size\",\n attachmentToolbar: \"attachment__toolbar\",\n attachmentGallery: \"attachment-gallery\"\n };\n }.call(this), function () {\n var t;\n e.config.blockAttributes = t = {\n \"default\": {\n tagName: \"div\",\n parse: !1\n },\n quote: {\n tagName: \"blockquote\",\n nestable: !0\n },\n heading1: {\n tagName: \"h1\",\n terminal: !0,\n breakOnReturn: !0,\n group: !1\n },\n code: {\n tagName: \"pre\",\n terminal: !0,\n text: {\n plaintext: !0\n }\n },\n bulletList: {\n tagName: \"ul\",\n parse: !1\n },\n bullet: {\n tagName: \"li\",\n listAttribute: \"bulletList\",\n group: !1,\n nestable: !0,\n test: function (n) {\n return e.tagName(n.parentNode) === t[this.listAttribute].tagName;\n }\n },\n numberList: {\n tagName: \"ol\",\n parse: !1\n },\n number: {\n tagName: \"li\",\n listAttribute: \"numberList\",\n group: !1,\n nestable: !0,\n test: function (n) {\n return e.tagName(n.parentNode) === t[this.listAttribute].tagName;\n }\n },\n attachmentGallery: {\n tagName: \"div\",\n exclusive: !0,\n terminal: !0,\n parse: !1,\n group: !1\n }\n };\n }.call(this), function () {\n var t, n;\n t = e.config.lang, n = [t.bytes, t.KB, t.MB, t.GB, t.TB, t.PB], e.config.fileSize = {\n prefix: \"IEC\",\n precision: 2,\n formatter: function (e) {\n var i, o, r, s, a;\n\n switch (e) {\n case 0:\n return \"0 \" + t.bytes;\n\n case 1:\n return \"1 \" + t.byte;\n\n default:\n return i = function () {\n switch (this.prefix) {\n case \"SI\":\n return 1e3;\n\n case \"IEC\":\n return 1024;\n }\n }.call(this), o = Math.floor(Math.log(e) / Math.log(i)), r = e / Math.pow(i, o), s = r.toFixed(this.precision), a = s.replace(/0*$/, \"\").replace(/\\.$/, \"\"), a + \" \" + n[o];\n }\n }\n };\n }.call(this), function () {\n e.config.textAttributes = {\n bold: {\n tagName: \"strong\",\n inheritable: !0,\n parser: function (t) {\n var e;\n return e = window.getComputedStyle(t), \"bold\" === e.fontWeight || e.fontWeight >= 600;\n }\n },\n italic: {\n tagName: \"em\",\n inheritable: !0,\n parser: function (t) {\n var e;\n return e = window.getComputedStyle(t), \"italic\" === e.fontStyle;\n }\n },\n href: {\n groupTagName: \"a\",\n parser: function (t) {\n var n, i, o;\n return n = e.AttachmentView.attachmentSelector, o = \"a:not(\" + n + \")\", (i = e.findClosestElementFromNode(t, {\n matchingSelector: o\n })) ? i.getAttribute(\"href\") : void 0;\n }\n },\n strike: {\n tagName: \"del\",\n inheritable: !0\n },\n frozen: {\n style: {\n backgroundColor: \"highlight\"\n }\n }\n };\n }.call(this), function () {\n var t, n, i, o, r;\n r = \"[data-trix-serialize=false]\", o = [\"contenteditable\", \"data-trix-id\", \"data-trix-store-key\", \"data-trix-mutable\", \"data-trix-placeholder\", \"tabindex\"], n = \"data-trix-serialized-attributes\", i = \"[\" + n + \"]\", t = new RegExp(\"\", \"g\"), e.extend({\n serializers: {\n \"application/json\": function (t) {\n var n;\n if (t instanceof e.Document) n = t;else {\n if (!(t instanceof HTMLElement)) throw new Error(\"unserializable object\");\n n = e.Document.fromHTML(t.innerHTML);\n }\n return n.toSerializableDocument().toJSONString();\n },\n \"text/html\": function (s) {\n var a, u, c, l, h, p, d, f, g, m, v, y, b, A, C, x, w;\n if (s instanceof e.Document) l = e.DocumentView.render(s);else {\n if (!(s instanceof HTMLElement)) throw new Error(\"unserializable object\");\n l = s.cloneNode(!0);\n }\n\n for (A = l.querySelectorAll(r), h = 0, g = A.length; g > h; h++) c = A[h], e.removeNode(c);\n\n for (p = 0, m = o.length; m > p; p++) for (a = o[p], C = l.querySelectorAll(\"[\" + a + \"]\"), d = 0, v = C.length; v > d; d++) c = C[d], c.removeAttribute(a);\n\n for (x = l.querySelectorAll(i), f = 0, y = x.length; y > f; f++) {\n c = x[f];\n\n try {\n u = JSON.parse(c.getAttribute(n)), c.removeAttribute(n);\n\n for (b in u) w = u[b], c.setAttribute(b, w);\n } catch (E) {}\n }\n\n return l.innerHTML.replace(t, \"\");\n }\n },\n deserializers: {\n \"application/json\": function (t) {\n return e.Document.fromJSONString(t);\n },\n \"text/html\": function (t) {\n return e.Document.fromHTML(t);\n }\n },\n serializeToContentType: function (t, n) {\n var i;\n if (i = e.serializers[n]) return i(t);\n throw new Error(\"unknown content type: \" + n);\n },\n deserializeFromContentType: function (t, n) {\n var i;\n if (i = e.deserializers[n]) return i(t);\n throw new Error(\"unknown content type: \" + n);\n }\n });\n }.call(this), function () {\n var t;\n t = e.config.lang, e.config.toolbar = {\n getDefaultHTML: function () {\n return '
\\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n\\n \\n\\n \\n \\n \\n \\n
\\n\\n
\\n
\\n \\n
\\n
';\n }\n };\n }.call(this), function () {\n e.config.undoInterval = 5e3;\n }.call(this), function () {\n e.config.attachments = {\n preview: {\n presentation: \"gallery\",\n caption: {\n name: !0,\n size: !0\n }\n },\n file: {\n caption: {\n size: !0\n }\n }\n };\n }.call(this), function () {\n e.config.keyNames = {\n 8: \"backspace\",\n 9: \"tab\",\n 13: \"return\",\n 27: \"escape\",\n 37: \"left\",\n 39: \"right\",\n 46: \"delete\",\n 68: \"d\",\n 72: \"h\",\n 79: \"o\"\n };\n }.call(this), function () {\n e.config.input = {\n level2Enabled: !0,\n getLevel: function () {\n return this.level2Enabled && e.browser.supportsInputEvents ? 2 : 0;\n },\n pickFiles: function (t) {\n var n;\n return n = e.makeElement(\"input\", {\n type: \"file\",\n multiple: !0,\n hidden: !0,\n id: this.fileInputId\n }), n.addEventListener(\"change\", function () {\n return t(n.files), e.removeNode(n);\n }), e.removeNode(document.getElementById(this.fileInputId)), document.body.appendChild(n), n.click();\n },\n fileInputId: \"trix-file-input-\" + Date.now().toString(16)\n };\n }.call(this), function () {}.call(this), function () {\n e.registerElement(\"trix-toolbar\", {\n defaultCSS: \"%t {\\n display: block;\\n}\\n\\n%t {\\n white-space: nowrap;\\n}\\n\\n%t [data-trix-dialog] {\\n display: none;\\n}\\n\\n%t [data-trix-dialog][data-trix-active] {\\n display: block;\\n}\\n\\n%t [data-trix-dialog] [data-trix-validate]:invalid {\\n background-color: #ffdddd;\\n}\",\n initialize: function () {\n return \"\" === this.innerHTML ? this.innerHTML = e.config.toolbar.getDefaultHTML() : void 0;\n }\n });\n }.call(this), function () {\n var t = function (t, e) {\n function i() {\n this.constructor = t;\n }\n\n for (var o in e) n.call(e, o) && (t[o] = e[o]);\n\n return i.prototype = e.prototype, t.prototype = new i(), t.__super__ = e.prototype, t;\n },\n n = {}.hasOwnProperty,\n i = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) if (e in this && this[e] === t) return e;\n\n return -1;\n };\n\n e.ObjectView = function (n) {\n function o(t, e) {\n this.object = t, this.options = null != e ? e : {}, this.childViews = [], this.rootView = this;\n }\n\n return t(o, n), o.prototype.getNodes = function () {\n var t, e, n, i, o;\n\n for (null == this.nodes && (this.nodes = this.createNodes()), i = this.nodes, o = [], t = 0, e = i.length; e > t; t++) n = i[t], o.push(n.cloneNode(!0));\n\n return o;\n }, o.prototype.invalidate = function () {\n var t;\n return this.nodes = null, this.childViews = [], null != (t = this.parentView) ? t.invalidate() : void 0;\n }, o.prototype.invalidateViewForObject = function (t) {\n var e;\n return null != (e = this.findViewForObject(t)) ? e.invalidate() : void 0;\n }, o.prototype.findOrCreateCachedChildView = function (t, e) {\n var n;\n return (n = this.getCachedViewForObject(e)) ? this.recordChildView(n) : (n = this.createChildView.apply(this, arguments), this.cacheViewForObject(n, e)), n;\n }, o.prototype.createChildView = function (t, n, i) {\n var o;\n return null == i && (i = {}), n instanceof e.ObjectGroup && (i.viewClass = t, t = e.ObjectGroupView), o = new t(n, i), this.recordChildView(o);\n }, o.prototype.recordChildView = function (t) {\n return t.parentView = this, t.rootView = this.rootView, this.childViews.push(t), t;\n }, o.prototype.getAllChildViews = function () {\n var t, e, n, i, o;\n\n for (o = [], i = this.childViews, e = 0, n = i.length; n > e; e++) t = i[e], o.push(t), o = o.concat(t.getAllChildViews());\n\n return o;\n }, o.prototype.findElement = function () {\n return this.findElementForObject(this.object);\n }, o.prototype.findElementForObject = function (t) {\n var e;\n return (e = null != t ? t.id : void 0) ? this.rootView.element.querySelector(\"[data-trix-id='\" + e + \"']\") : void 0;\n }, o.prototype.findViewForObject = function (t) {\n var e, n, i, o;\n\n for (i = this.getAllChildViews(), e = 0, n = i.length; n > e; e++) if (o = i[e], o.object === t) return o;\n }, o.prototype.getViewCache = function () {\n return this.rootView !== this ? this.rootView.getViewCache() : this.isViewCachingEnabled() ? null != this.viewCache ? this.viewCache : this.viewCache = {} : void 0;\n }, o.prototype.isViewCachingEnabled = function () {\n return this.shouldCacheViews !== !1;\n }, o.prototype.enableViewCaching = function () {\n return this.shouldCacheViews = !0;\n }, o.prototype.disableViewCaching = function () {\n return this.shouldCacheViews = !1;\n }, o.prototype.getCachedViewForObject = function (t) {\n var e;\n return null != (e = this.getViewCache()) ? e[t.getCacheKey()] : void 0;\n }, o.prototype.cacheViewForObject = function (t, e) {\n var n;\n return null != (n = this.getViewCache()) ? n[e.getCacheKey()] = t : void 0;\n }, o.prototype.garbageCollectCachedViews = function () {\n var t, e, n, o, r, s;\n\n if (t = this.getViewCache()) {\n s = this.getAllChildViews().concat(this), n = function () {\n var t, e, n;\n\n for (n = [], t = 0, e = s.length; e > t; t++) r = s[t], n.push(r.object.getCacheKey());\n\n return n;\n }(), o = [];\n\n for (e in t) i.call(n, e) < 0 && o.push(delete t[e]);\n\n return o;\n }\n }, o;\n }(e.BasicObject);\n }.call(this), function () {\n var t = function (t, e) {\n function i() {\n this.constructor = t;\n }\n\n for (var o in e) n.call(e, o) && (t[o] = e[o]);\n\n return i.prototype = e.prototype, t.prototype = new i(), t.__super__ = e.prototype, t;\n },\n n = {}.hasOwnProperty;\n\n e.ObjectGroupView = function (e) {\n function n() {\n n.__super__.constructor.apply(this, arguments), this.objectGroup = this.object, this.viewClass = this.options.viewClass, delete this.options.viewClass;\n }\n\n return t(n, e), n.prototype.getChildViews = function () {\n var t, e, n, i;\n if (!this.childViews.length) for (i = this.objectGroup.getObjects(), t = 0, e = i.length; e > t; t++) n = i[t], this.findOrCreateCachedChildView(this.viewClass, n, this.options);\n return this.childViews;\n }, n.prototype.createNodes = function () {\n var t, e, n, i, o, r, s, a, u;\n\n for (t = this.createContainerElement(), s = this.getChildViews(), e = 0, i = s.length; i > e; e++) for (u = s[e], a = u.getNodes(), n = 0, o = a.length; o > n; n++) r = a[n], t.appendChild(r);\n\n return [t];\n }, n.prototype.createContainerElement = function (t) {\n return null == t && (t = this.objectGroup.getDepth()), this.getChildViews()[0].createContainerElement(t);\n }, n;\n }(e.ObjectView);\n }.call(this), function () {\n var t = function (t, e) {\n function i() {\n this.constructor = t;\n }\n\n for (var o in e) n.call(e, o) && (t[o] = e[o]);\n\n return i.prototype = e.prototype, t.prototype = new i(), t.__super__ = e.prototype, t;\n },\n n = {}.hasOwnProperty;\n\n e.Controller = function (e) {\n function n() {\n return n.__super__.constructor.apply(this, arguments);\n }\n\n return t(n, e), n;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s,\n a = function (t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n },\n u = function (t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) c.call(e, i) && (t[i] = e[i]);\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n c = {}.hasOwnProperty,\n l = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) if (e in this && this[e] === t) return e;\n\n return -1;\n };\n\n t = e.findClosestElementFromNode, i = e.nodeIsEmptyTextNode, n = e.nodeIsBlockStartComment, o = e.normalizeSpaces, r = e.summarizeStringChange, s = e.tagName, e.MutationObserver = function (e) {\n function c(t) {\n this.element = t, this.didMutate = a(this.didMutate, this), this.observer = new window.MutationObserver(this.didMutate), this.start();\n }\n\n var h, p, d, f;\n return u(c, e), p = \"data-trix-mutable\", d = \"[\" + p + \"]\", f = {\n attributes: !0,\n childList: !0,\n characterData: !0,\n characterDataOldValue: !0,\n subtree: !0\n }, c.prototype.start = function () {\n return this.reset(), this.observer.observe(this.element, f);\n }, c.prototype.stop = function () {\n return this.observer.disconnect();\n }, c.prototype.didMutate = function (t) {\n var e, n;\n return (e = this.mutations).push.apply(e, this.findSignificantMutations(t)), this.mutations.length ? (null != (n = this.delegate) && \"function\" == typeof n.elementDidMutate && n.elementDidMutate(this.getMutationSummary()), this.reset()) : void 0;\n }, c.prototype.reset = function () {\n return this.mutations = [];\n }, c.prototype.findSignificantMutations = function (t) {\n var e, n, i, o;\n\n for (o = [], e = 0, n = t.length; n > e; e++) i = t[e], this.mutationIsSignificant(i) && o.push(i);\n\n return o;\n }, c.prototype.mutationIsSignificant = function (t) {\n var e, n, i, o;\n if (this.nodeIsMutable(t.target)) return !1;\n\n for (o = this.nodesModifiedByMutation(t), e = 0, n = o.length; n > e; e++) if (i = o[e], this.nodeIsSignificant(i)) return !0;\n\n return !1;\n }, c.prototype.nodeIsSignificant = function (t) {\n return t !== this.element && !this.nodeIsMutable(t) && !i(t);\n }, c.prototype.nodeIsMutable = function (e) {\n return t(e, {\n matchingSelector: d\n });\n }, c.prototype.nodesModifiedByMutation = function (t) {\n var e;\n\n switch (e = [], t.type) {\n case \"attributes\":\n t.attributeName !== p && e.push(t.target);\n break;\n\n case \"characterData\":\n e.push(t.target.parentNode), e.push(t.target);\n break;\n\n case \"childList\":\n e.push.apply(e, t.addedNodes), e.push.apply(e, t.removedNodes);\n }\n\n return e;\n }, c.prototype.getMutationSummary = function () {\n return this.getTextMutationSummary();\n }, c.prototype.getTextMutationSummary = function () {\n var t, e, n, i, o, r, s, a, u, c, h;\n\n for (a = this.getTextChangesFromCharacterData(), n = a.additions, o = a.deletions, h = this.getTextChangesFromChildList(), u = h.additions, r = 0, s = u.length; s > r; r++) e = u[r], l.call(n, e) < 0 && n.push(e);\n\n return o.push.apply(o, h.deletions), c = {}, (t = n.join(\"\")) && (c.textAdded = t), (i = o.join(\"\")) && (c.textDeleted = i), c;\n }, c.prototype.getMutationsByType = function (t) {\n var e, n, i, o, r;\n\n for (o = this.mutations, r = [], e = 0, n = o.length; n > e; e++) i = o[e], i.type === t && r.push(i);\n\n return r;\n }, c.prototype.getTextChangesFromChildList = function () {\n var t, e, i, r, s, a, u, c, l, p, d;\n\n for (t = [], u = [], a = this.getMutationsByType(\"childList\"), e = 0, r = a.length; r > e; e++) s = a[e], t.push.apply(t, s.addedNodes), u.push.apply(u, s.removedNodes);\n\n return c = 0 === t.length && 1 === u.length && n(u[0]), c ? (p = [], d = [\"\\n\"]) : (p = h(t), d = h(u)), {\n additions: function () {\n var t, e, n;\n\n for (n = [], i = t = 0, e = p.length; e > t; i = ++t) l = p[i], l !== d[i] && n.push(o(l));\n\n return n;\n }(),\n deletions: function () {\n var t, e, n;\n\n for (n = [], i = t = 0, e = d.length; e > t; i = ++t) l = d[i], l !== p[i] && n.push(o(l));\n\n return n;\n }()\n };\n }, c.prototype.getTextChangesFromCharacterData = function () {\n var t, e, n, i, s, a, u, c;\n return e = this.getMutationsByType(\"characterData\"), e.length && (c = e[0], n = e[e.length - 1], s = o(c.oldValue), i = o(n.target.data), a = r(s, i), t = a.added, u = a.removed), {\n additions: t ? [t] : [],\n deletions: u ? [u] : []\n };\n }, h = function (t) {\n var e, n, i, o;\n\n for (null == t && (t = []), o = [], e = 0, n = t.length; n > e; e++) switch (i = t[e], i.nodeType) {\n case Node.TEXT_NODE:\n o.push(i.data);\n break;\n\n case Node.ELEMENT_NODE:\n \"br\" === s(i) ? o.push(\"\\n\") : o.push.apply(o, h(i.childNodes));\n }\n\n return o;\n }, c;\n }(e.BasicObject);\n }.call(this), function () {\n var t = function (t, e) {\n function i() {\n this.constructor = t;\n }\n\n for (var o in e) n.call(e, o) && (t[o] = e[o]);\n\n return i.prototype = e.prototype, t.prototype = new i(), t.__super__ = e.prototype, t;\n },\n n = {}.hasOwnProperty;\n\n e.FileVerificationOperation = function (e) {\n function n(t) {\n this.file = t;\n }\n\n return t(n, e), n.prototype.perform = function (t) {\n var e;\n return e = new FileReader(), e.onerror = function () {\n return t(!1);\n }, e.onload = function (n) {\n return function () {\n e.onerror = null;\n\n try {\n e.abort();\n } catch (i) {}\n\n return t(!0, n.file);\n };\n }(this), e.readAsArrayBuffer(this.file);\n }, n;\n }(e.Operation);\n }.call(this), function () {\n var t,\n n,\n i = function (t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) o.call(e, i) && (t[i] = e[i]);\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n o = {}.hasOwnProperty;\n\n t = e.handleEvent, n = e.innerElementIsActive, e.InputController = function (o) {\n function r(n) {\n var i;\n this.element = n, this.mutationObserver = new e.MutationObserver(this.element), this.mutationObserver.delegate = this;\n\n for (i in this.events) t(i, {\n onElement: this.element,\n withCallback: this.handlerFor(i)\n });\n }\n\n return i(r, o), r.prototype.events = {}, r.prototype.elementDidMutate = function () {}, r.prototype.editorWillSyncDocumentView = function () {\n return this.mutationObserver.stop();\n }, r.prototype.editorDidSyncDocumentView = function () {\n return this.mutationObserver.start();\n }, r.prototype.requestRender = function () {\n var t;\n return null != (t = this.delegate) && \"function\" == typeof t.inputControllerDidRequestRender ? t.inputControllerDidRequestRender() : void 0;\n }, r.prototype.requestReparse = function () {\n var t;\n return null != (t = this.delegate) && \"function\" == typeof t.inputControllerDidRequestReparse && t.inputControllerDidRequestReparse(), this.requestRender();\n }, r.prototype.attachFiles = function (t) {\n var n, i;\n return i = function () {\n var i, o, r;\n\n for (r = [], i = 0, o = t.length; o > i; i++) n = t[i], r.push(new e.FileVerificationOperation(n));\n\n return r;\n }(), Promise.all(i).then(function (t) {\n return function (e) {\n return t.handleInput(function () {\n var t, n;\n return null != (t = this.delegate) && t.inputControllerWillAttachFiles(), null != (n = this.responder) && n.insertFiles(e), this.requestRender();\n });\n };\n }(this));\n }, r.prototype.handlerFor = function (t) {\n return function (e) {\n return function (i) {\n return i.defaultPrevented ? void 0 : e.handleInput(function () {\n return n(this.element) ? void 0 : (this.eventName = t, this.events[t].call(this, i));\n });\n };\n }(this);\n }, r.prototype.handleInput = function (t) {\n var e, n;\n\n try {\n return null != (e = this.delegate) && e.inputControllerWillHandleInput(), t.call(this);\n } finally {\n null != (n = this.delegate) && n.inputControllerDidHandleInput();\n }\n }, r.prototype.createLinkHTML = function (t, e) {\n var n;\n return n = document.createElement(\"a\"), n.href = t, n.textContent = null != e ? e : t, n.outerHTML;\n }, r;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s,\n a,\n u,\n c,\n l,\n h,\n p,\n d,\n f = function (t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) g.call(e, i) && (t[i] = e[i]);\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n g = {}.hasOwnProperty,\n m = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) if (e in this && this[e] === t) return e;\n\n return -1;\n };\n\n c = e.makeElement, l = e.objectsAreEqual, d = e.tagName, n = e.browser, a = e.keyEventIsKeyboardCommand, o = e.dataTransferIsWritable, i = e.dataTransferIsPlainText, u = e.config.keyNames, e.Level0InputController = function (n) {\n function s() {\n s.__super__.constructor.apply(this, arguments), this.resetInputSummary();\n }\n\n var d;\n return f(s, n), d = 0, s.prototype.setInputSummary = function (t) {\n var e, n;\n null == t && (t = {}), this.inputSummary.eventName = this.eventName;\n\n for (e in t) n = t[e], this.inputSummary[e] = n;\n\n return this.inputSummary;\n }, s.prototype.resetInputSummary = function () {\n return this.inputSummary = {};\n }, s.prototype.reset = function () {\n return this.resetInputSummary(), e.selectionChangeObserver.reset();\n }, s.prototype.elementDidMutate = function (t) {\n var e;\n return this.isComposing() ? null != (e = this.delegate) && \"function\" == typeof e.inputControllerDidAllowUnhandledInput ? e.inputControllerDidAllowUnhandledInput() : void 0 : this.handleInput(function () {\n return this.mutationIsSignificant(t) && (this.mutationIsExpected(t) ? this.requestRender() : this.requestReparse()), this.reset();\n });\n }, s.prototype.mutationIsExpected = function (t) {\n var e, n, i, o, r, s, a, u, c, l;\n return a = t.textAdded, u = t.textDeleted, this.inputSummary.preferDocument ? !0 : (e = null != a ? a === this.inputSummary.textAdded : !this.inputSummary.textAdded, n = null != u ? this.inputSummary.didDelete : !this.inputSummary.didDelete, c = (\"\\n\" === a || \" \\n\" === a) && !e, l = \"\\n\" === u && !n, s = c && !l || l && !c, s && (o = this.getSelectedRange()) && (i = c ? a.replace(/\\n$/, \"\").length || -1 : (null != a ? a.length : void 0) || 1, null != (r = this.responder) ? r.positionIsBlockBreak(o[1] + i) : void 0) ? !0 : e && n);\n }, s.prototype.mutationIsSignificant = function (t) {\n var e, n, i;\n return i = Object.keys(t).length > 0, e = \"\" === (null != (n = this.compositionInput) ? n.getEndData() : void 0), i || !e;\n }, s.prototype.events = {\n keydown: function (t) {\n var n, i, o, r, s, c, l, h, p;\n\n if (this.isComposing() || this.resetInputSummary(), this.inputSummary.didInput = !0, r = u[t.keyCode]) {\n for (i = this.keys, h = [\"ctrl\", \"alt\", \"shift\", \"meta\"], o = 0, c = h.length; c > o; o++) l = h[o], t[l + \"Key\"] && (\"ctrl\" === l && (l = \"control\"), i = null != i ? i[l] : void 0);\n\n null != (null != i ? i[r] : void 0) && (this.setInputSummary({\n keyName: r\n }), e.selectionChangeObserver.reset(), i[r].call(this, t));\n }\n\n return a(t) && (n = String.fromCharCode(t.keyCode).toLowerCase()) && (s = function () {\n var e, n, i, o;\n\n for (i = [\"alt\", \"shift\"], o = [], e = 0, n = i.length; n > e; e++) l = i[e], t[l + \"Key\"] && o.push(l);\n\n return o;\n }(), s.push(n), null != (p = this.delegate) ? p.inputControllerDidReceiveKeyboardCommand(s) : void 0) ? t.preventDefault() : void 0;\n },\n keypress: function (t) {\n var e, n, i;\n if (null == this.inputSummary.eventName && !t.metaKey && (!t.ctrlKey || t.altKey)) return (i = p(t)) ? (null != (e = this.delegate) && e.inputControllerWillPerformTyping(), null != (n = this.responder) && n.insertString(i), this.setInputSummary({\n textAdded: i,\n didDelete: this.selectionIsExpanded()\n })) : void 0;\n },\n textInput: function (t) {\n var e, n, i, o;\n return e = t.data, o = this.inputSummary.textAdded, o && o !== e && o.toUpperCase() === e ? (n = this.getSelectedRange(), this.setSelectedRange([n[0], n[1] + o.length]), null != (i = this.responder) && i.insertString(e), this.setInputSummary({\n textAdded: e\n }), this.setSelectedRange(n)) : void 0;\n },\n dragenter: function (t) {\n return t.preventDefault();\n },\n dragstart: function (t) {\n var e, n;\n return n = t.target, this.serializeSelectionToDataTransfer(t.dataTransfer), this.draggedRange = this.getSelectedRange(), null != (e = this.delegate) && \"function\" == typeof e.inputControllerDidStartDrag ? e.inputControllerDidStartDrag() : void 0;\n },\n dragover: function (t) {\n var e, n;\n return !this.draggedRange && !this.canAcceptDataTransfer(t.dataTransfer) || (t.preventDefault(), e = {\n x: t.clientX,\n y: t.clientY\n }, l(e, this.draggingPoint)) ? void 0 : (this.draggingPoint = e, null != (n = this.delegate) && \"function\" == typeof n.inputControllerDidReceiveDragOverPoint ? n.inputControllerDidReceiveDragOverPoint(this.draggingPoint) : void 0);\n },\n dragend: function () {\n var t;\n return null != (t = this.delegate) && \"function\" == typeof t.inputControllerDidCancelDrag && t.inputControllerDidCancelDrag(), this.draggedRange = null, this.draggingPoint = null;\n },\n drop: function (t) {\n var n, i, o, r, s, a, u, c, l;\n return t.preventDefault(), o = null != (s = t.dataTransfer) ? s.files : void 0, r = {\n x: t.clientX,\n y: t.clientY\n }, null != (a = this.responder) && a.setLocationRangeFromPointRange(r), (null != o ? o.length : void 0) ? this.attachFiles(o) : this.draggedRange ? (null != (u = this.delegate) && u.inputControllerWillMoveText(), null != (c = this.responder) && c.moveTextFromRange(this.draggedRange), this.draggedRange = null, this.requestRender()) : (i = t.dataTransfer.getData(\"application/x-trix-document\")) && (n = e.Document.fromJSONString(i), null != (l = this.responder) && l.insertDocument(n), this.requestRender()), this.draggedRange = null, this.draggingPoint = null;\n },\n cut: function (t) {\n var e, n;\n return (null != (e = this.responder) ? e.selectionIsExpanded() : void 0) && (this.serializeSelectionToDataTransfer(t.clipboardData) && t.preventDefault(), null != (n = this.delegate) && n.inputControllerWillCutText(), this.deleteInDirection(\"backward\"), t.defaultPrevented) ? this.requestRender() : void 0;\n },\n copy: function (t) {\n var e;\n return (null != (e = this.responder) ? e.selectionIsExpanded() : void 0) && this.serializeSelectionToDataTransfer(t.clipboardData) ? t.preventDefault() : void 0;\n },\n paste: function (t) {\n var n, o, s, a, u, c, l, p, f, g, v, y, b, A, C, x, w, E, S, R, k, D, L;\n return n = null != (p = t.clipboardData) ? p : t.testClipboardData, l = {\n clipboard: n\n }, null == n || h(t) ? void this.getPastedHTMLUsingHiddenElement(function (t) {\n return function (e) {\n var n, i, o;\n return l.type = \"text/html\", l.html = e, null != (n = t.delegate) && n.inputControllerWillPaste(l), null != (i = t.responder) && i.insertHTML(l.html), t.requestRender(), null != (o = t.delegate) ? o.inputControllerDidPaste(l) : void 0;\n };\n }(this)) : ((a = n.getData(\"URL\")) ? (l.type = \"text/html\", L = (c = n.getData(\"public.url-name\")) ? e.squishBreakableWhitespace(c).trim() : a, l.html = this.createLinkHTML(a, L), null != (f = this.delegate) && f.inputControllerWillPaste(l), this.setInputSummary({\n textAdded: L,\n didDelete: this.selectionIsExpanded()\n }), null != (C = this.responder) && C.insertHTML(l.html), this.requestRender(), null != (x = this.delegate) && x.inputControllerDidPaste(l)) : i(n) ? (l.type = \"text/plain\", l.string = n.getData(\"text/plain\"), null != (w = this.delegate) && w.inputControllerWillPaste(l), this.setInputSummary({\n textAdded: l.string,\n didDelete: this.selectionIsExpanded()\n }), null != (E = this.responder) && E.insertString(l.string), this.requestRender(), null != (S = this.delegate) && S.inputControllerDidPaste(l)) : (u = n.getData(\"text/html\")) ? (l.type = \"text/html\", l.html = u, null != (R = this.delegate) && R.inputControllerWillPaste(l), null != (k = this.responder) && k.insertHTML(l.html), this.requestRender(), null != (D = this.delegate) && D.inputControllerDidPaste(l)) : m.call(n.types, \"Files\") >= 0 && (s = null != (g = n.items) && null != (v = g[0]) && \"function\" == typeof v.getAsFile ? v.getAsFile() : void 0) && (!s.name && (o = r(s)) && (s.name = \"pasted-file-\" + ++d + \".\" + o), l.type = \"File\", l.file = s, null != (y = this.delegate) && y.inputControllerWillAttachFiles(), null != (b = this.responder) && b.insertFile(l.file), this.requestRender(), null != (A = this.delegate) && A.inputControllerDidPaste(l)), t.preventDefault());\n },\n compositionstart: function (t) {\n return this.getCompositionInput().start(t.data);\n },\n compositionupdate: function (t) {\n return this.getCompositionInput().update(t.data);\n },\n compositionend: function (t) {\n return this.getCompositionInput().end(t.data);\n },\n beforeinput: function () {\n return this.inputSummary.didInput = !0;\n },\n input: function (t) {\n return this.inputSummary.didInput = !0, t.stopPropagation();\n }\n }, s.prototype.keys = {\n backspace: function (t) {\n var e;\n return null != (e = this.delegate) && e.inputControllerWillPerformTyping(), this.deleteInDirection(\"backward\", t);\n },\n \"delete\": function (t) {\n var e;\n return null != (e = this.delegate) && e.inputControllerWillPerformTyping(), this.deleteInDirection(\"forward\", t);\n },\n \"return\": function () {\n var t, e;\n return this.setInputSummary({\n preferDocument: !0\n }), null != (t = this.delegate) && t.inputControllerWillPerformTyping(), null != (e = this.responder) ? e.insertLineBreak() : void 0;\n },\n tab: function (t) {\n var e, n;\n return (null != (e = this.responder) ? e.canIncreaseNestingLevel() : void 0) ? (null != (n = this.responder) && n.increaseNestingLevel(), this.requestRender(), t.preventDefault()) : void 0;\n },\n left: function (t) {\n var e;\n return this.selectionIsInCursorTarget() ? (t.preventDefault(), null != (e = this.responder) ? e.moveCursorInDirection(\"backward\") : void 0) : void 0;\n },\n right: function (t) {\n var e;\n return this.selectionIsInCursorTarget() ? (t.preventDefault(), null != (e = this.responder) ? e.moveCursorInDirection(\"forward\") : void 0) : void 0;\n },\n control: {\n d: function (t) {\n var e;\n return null != (e = this.delegate) && e.inputControllerWillPerformTyping(), this.deleteInDirection(\"forward\", t);\n },\n h: function (t) {\n var e;\n return null != (e = this.delegate) && e.inputControllerWillPerformTyping(), this.deleteInDirection(\"backward\", t);\n },\n o: function (t) {\n var e, n;\n return t.preventDefault(), null != (e = this.delegate) && e.inputControllerWillPerformTyping(), null != (n = this.responder) && n.insertString(\"\\n\", {\n updatePosition: !1\n }), this.requestRender();\n }\n },\n shift: {\n \"return\": function (t) {\n var e, n;\n return null != (e = this.delegate) && e.inputControllerWillPerformTyping(), null != (n = this.responder) && n.insertString(\"\\n\"), this.requestRender(), t.preventDefault();\n },\n tab: function (t) {\n var e, n;\n return (null != (e = this.responder) ? e.canDecreaseNestingLevel() : void 0) ? (null != (n = this.responder) && n.decreaseNestingLevel(), this.requestRender(), t.preventDefault()) : void 0;\n },\n left: function (t) {\n return this.selectionIsInCursorTarget() ? (t.preventDefault(), this.expandSelectionInDirection(\"backward\")) : void 0;\n },\n right: function (t) {\n return this.selectionIsInCursorTarget() ? (t.preventDefault(), this.expandSelectionInDirection(\"forward\")) : void 0;\n }\n },\n alt: {\n backspace: function () {\n var t;\n return this.setInputSummary({\n preferDocument: !1\n }), null != (t = this.delegate) ? t.inputControllerWillPerformTyping() : void 0;\n }\n },\n meta: {\n backspace: function () {\n var t;\n return this.setInputSummary({\n preferDocument: !1\n }), null != (t = this.delegate) ? t.inputControllerWillPerformTyping() : void 0;\n }\n }\n }, s.prototype.getCompositionInput = function () {\n return this.isComposing() ? this.compositionInput : this.compositionInput = new t(this);\n }, s.prototype.isComposing = function () {\n return null != this.compositionInput && !this.compositionInput.isEnded();\n }, s.prototype.deleteInDirection = function (t, e) {\n var n;\n return (null != (n = this.responder) ? n.deleteInDirection(t) : void 0) !== !1 ? this.setInputSummary({\n didDelete: !0\n }) : e ? (e.preventDefault(), this.requestRender()) : void 0;\n }, s.prototype.serializeSelectionToDataTransfer = function (t) {\n var n, i;\n if (o(t)) return n = null != (i = this.responder) ? i.getSelectedDocument().toSerializableDocument() : void 0, t.setData(\"application/x-trix-document\", JSON.stringify(n)), t.setData(\"text/html\", e.DocumentView.render(n).innerHTML), t.setData(\"text/plain\", n.toString().replace(/\\n$/, \"\")), !0;\n }, s.prototype.canAcceptDataTransfer = function (t) {\n var e, n, i, o, r, s;\n\n for (s = {}, o = null != (i = null != t ? t.types : void 0) ? i : [], e = 0, n = o.length; n > e; e++) r = o[e], s[r] = !0;\n\n return s.Files || s[\"application/x-trix-document\"] || s[\"text/html\"] || s[\"text/plain\"];\n }, s.prototype.getPastedHTMLUsingHiddenElement = function (t) {\n var n, i, o;\n return i = this.getSelectedRange(), o = {\n position: \"absolute\",\n left: window.pageXOffset + \"px\",\n top: window.pageYOffset + \"px\",\n opacity: 0\n }, n = c({\n style: o,\n tagName: \"div\",\n editable: !0\n }), document.body.appendChild(n), n.focus(), requestAnimationFrame(function (o) {\n return function () {\n var r;\n return r = n.innerHTML, e.removeNode(n), o.setSelectedRange(i), t(r);\n };\n }(this));\n }, s.proxyMethod(\"responder?.getSelectedRange\"), s.proxyMethod(\"responder?.setSelectedRange\"), s.proxyMethod(\"responder?.expandSelectionInDirection\"), s.proxyMethod(\"responder?.selectionIsInCursorTarget\"), s.proxyMethod(\"responder?.selectionIsExpanded\"), s;\n }(e.InputController), r = function (t) {\n var e, n;\n return null != (e = t.type) && null != (n = e.match(/\\/(\\w+)$/)) ? n[1] : void 0;\n }, s = null != (\"function\" == typeof \" \".codePointAt ? \" \".codePointAt(0) : void 0), p = function (t) {\n var n;\n return t.key && s && t.key.codePointAt(0) === t.keyCode ? t.key : (null === t.which ? n = t.keyCode : 0 !== t.which && 0 !== t.charCode && (n = t.charCode), null != n && \"escape\" !== u[n] ? e.UTF16String.fromCodepoints([n]).toString() : void 0);\n }, h = function (t) {\n var e, n, i, o, r, s, a, u, c, l;\n\n if (u = t.clipboardData) {\n if (m.call(u.types, \"text/html\") >= 0) {\n for (c = u.types, i = 0, s = c.length; s > i; i++) if (l = c[i], e = /^CorePasteboardFlavorType/.test(l), n = /^dyn\\./.test(l) && u.getData(l), a = e || n) return !0;\n\n return !1;\n }\n\n return o = m.call(u.types, \"com.apple.webarchive\") >= 0, r = m.call(u.types, \"com.apple.flat-rtfd\") >= 0, o || r;\n }\n }, t = function (t) {\n function e(t) {\n var e;\n this.inputController = t, e = this.inputController, this.responder = e.responder, this.delegate = e.delegate, this.inputSummary = e.inputSummary, this.data = {};\n }\n\n return f(e, t), e.prototype.start = function (t) {\n var e, n;\n return this.data.start = t, this.isSignificant() ? (\"keypress\" === this.inputSummary.eventName && this.inputSummary.textAdded && null != (e = this.responder) && e.deleteInDirection(\"left\"), this.selectionIsExpanded() || (this.insertPlaceholder(), this.requestRender()), this.range = null != (n = this.responder) ? n.getSelectedRange() : void 0) : void 0;\n }, e.prototype.update = function (t) {\n var e;\n return this.data.update = t, this.isSignificant() && (e = this.selectPlaceholder()) ? (this.forgetPlaceholder(), this.range = e) : void 0;\n }, e.prototype.end = function (t) {\n var e, n, i, o;\n return this.data.end = t, this.isSignificant() ? (this.forgetPlaceholder(), this.canApplyToDocument() ? (this.setInputSummary({\n preferDocument: !0,\n didInput: !1\n }), null != (e = this.delegate) && e.inputControllerWillPerformTyping(), null != (n = this.responder) && n.setSelectedRange(this.range), null != (i = this.responder) && i.insertString(this.data.end), null != (o = this.responder) ? o.setSelectedRange(this.range[0] + this.data.end.length) : void 0) : null != this.data.start || null != this.data.update ? (this.requestReparse(), this.inputController.reset()) : void 0) : this.inputController.reset();\n }, e.prototype.getEndData = function () {\n return this.data.end;\n }, e.prototype.isEnded = function () {\n return null != this.getEndData();\n }, e.prototype.isSignificant = function () {\n return n.composesExistingText ? this.inputSummary.didInput : !0;\n }, e.prototype.canApplyToDocument = function () {\n var t, e;\n return 0 === (null != (t = this.data.start) ? t.length : void 0) && (null != (e = this.data.end) ? e.length : void 0) > 0 && null != this.range;\n }, e.proxyMethod(\"inputController.setInputSummary\"), e.proxyMethod(\"inputController.requestRender\"), e.proxyMethod(\"inputController.requestReparse\"), e.proxyMethod(\"responder?.selectionIsExpanded\"), e.proxyMethod(\"responder?.insertPlaceholder\"), e.proxyMethod(\"responder?.selectPlaceholder\"), e.proxyMethod(\"responder?.forgetPlaceholder\"), e;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o = function (t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n },\n r = function (t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) s.call(e, i) && (t[i] = e[i]);\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n s = {}.hasOwnProperty,\n a = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) if (e in this && this[e] === t) return e;\n\n return -1;\n };\n\n t = e.dataTransferIsPlainText, n = e.keyEventIsKeyboardCommand, i = e.objectsAreEqual, e.Level2InputController = function (s) {\n function u() {\n return this.render = o(this.render, this), u.__super__.constructor.apply(this, arguments);\n }\n\n var c, l, h, p, d, f;\n return r(u, s), u.prototype.elementDidMutate = function () {\n var t;\n return this.scheduledRender ? this.composing && null != (t = this.delegate) && \"function\" == typeof t.inputControllerDidAllowUnhandledInput ? t.inputControllerDidAllowUnhandledInput() : void 0 : this.reparse();\n }, u.prototype.scheduleRender = function () {\n return null != this.scheduledRender ? this.scheduledRender : this.scheduledRender = requestAnimationFrame(this.render);\n }, u.prototype.render = function () {\n var t;\n return cancelAnimationFrame(this.scheduledRender), this.scheduledRender = null, this.composing || null != (t = this.delegate) && t.render(), \"function\" == typeof this.afterRender && this.afterRender(), this.afterRender = null;\n }, u.prototype.reparse = function () {\n var t;\n return null != (t = this.delegate) ? t.reparse() : void 0;\n }, u.prototype.events = {\n keydown: function (t) {\n var e, i, o, r;\n\n if (n(t)) {\n if (e = l(t), null != (r = this.delegate) ? r.inputControllerDidReceiveKeyboardCommand(e) : void 0) return t.preventDefault();\n } else if (o = t.key, t.altKey && (o += \"+Alt\"), t.shiftKey && (o += \"+Shift\"), i = this.keys[o]) return this.withEvent(t, i);\n },\n paste: function (t) {\n var e, n, i, o, r, s, a, u, c;\n return h(t) ? (t.preventDefault(), this.attachFiles(t.clipboardData.files)) : p(t) ? (t.preventDefault(), n = {\n type: \"text/plain\",\n string: t.clipboardData.getData(\"text/plain\")\n }, null != (i = this.delegate) && i.inputControllerWillPaste(n), null != (o = this.responder) && o.insertString(n.string), this.render(), null != (r = this.delegate) ? r.inputControllerDidPaste(n) : void 0) : (e = null != (s = t.clipboardData) ? s.getData(\"URL\") : void 0) ? (t.preventDefault(), n = {\n type: \"text/html\",\n html: this.createLinkHTML(e)\n }, null != (a = this.delegate) && a.inputControllerWillPaste(n), null != (u = this.responder) && u.insertHTML(n.html), this.render(), null != (c = this.delegate) ? c.inputControllerDidPaste(n) : void 0) : void 0;\n },\n beforeinput: function (t) {\n var e;\n return (e = this.inputTypes[t.inputType]) ? (this.withEvent(t, e), this.scheduleRender()) : void 0;\n },\n input: function () {\n return e.selectionChangeObserver.reset();\n },\n dragstart: function (t) {\n var e, n;\n return (null != (e = this.responder) ? e.selectionContainsAttachments() : void 0) ? (t.dataTransfer.setData(\"application/x-trix-dragging\", !0), this.dragging = {\n range: null != (n = this.responder) ? n.getSelectedRange() : void 0,\n point: d(t)\n }) : void 0;\n },\n dragenter: function (t) {\n return c(t) ? t.preventDefault() : void 0;\n },\n dragover: function (t) {\n var e, n;\n\n if (this.dragging) {\n if (t.preventDefault(), e = d(t), !i(e, this.dragging.point)) return this.dragging.point = e, null != (n = this.responder) ? n.setLocationRangeFromPointRange(e) : void 0;\n } else if (c(t)) return t.preventDefault();\n },\n drop: function (t) {\n var e, n, i, o;\n return this.dragging ? (t.preventDefault(), null != (n = this.delegate) && n.inputControllerWillMoveText(), null != (i = this.responder) && i.moveTextFromRange(this.dragging.range), this.dragging = null, this.scheduleRender()) : c(t) ? (t.preventDefault(), e = d(t), null != (o = this.responder) && o.setLocationRangeFromPointRange(e), this.attachFiles(t.dataTransfer.files)) : void 0;\n },\n dragend: function () {\n var t;\n return this.dragging ? (null != (t = this.responder) && t.setSelectedRange(this.dragging.range), this.dragging = null) : void 0;\n },\n compositionend: function () {\n return this.composing ? (this.composing = !1, this.scheduleRender()) : void 0;\n }\n }, u.prototype.keys = {\n ArrowLeft: function () {\n var t, e;\n return (null != (t = this.responder) ? t.shouldManageMovingCursorInDirection(\"backward\") : void 0) ? (this.event.preventDefault(), null != (e = this.responder) ? e.moveCursorInDirection(\"backward\") : void 0) : void 0;\n },\n ArrowRight: function () {\n var t, e;\n return (null != (t = this.responder) ? t.shouldManageMovingCursorInDirection(\"forward\") : void 0) ? (this.event.preventDefault(), null != (e = this.responder) ? e.moveCursorInDirection(\"forward\") : void 0) : void 0;\n },\n Backspace: function () {\n var t, e, n;\n return (null != (t = this.responder) ? t.shouldManageDeletingInDirection(\"backward\") : void 0) ? (this.event.preventDefault(), null != (e = this.delegate) && e.inputControllerWillPerformTyping(), null != (n = this.responder) && n.deleteInDirection(\"backward\"), this.render()) : void 0;\n },\n Tab: function () {\n var t, e;\n return (null != (t = this.responder) ? t.canIncreaseNestingLevel() : void 0) ? (this.event.preventDefault(), null != (e = this.responder) && e.increaseNestingLevel(), this.render()) : void 0;\n },\n \"Tab+Shift\": function () {\n var t, e;\n return (null != (t = this.responder) ? t.canDecreaseNestingLevel() : void 0) ? (this.event.preventDefault(), null != (e = this.responder) && e.decreaseNestingLevel(), this.render()) : void 0;\n }\n }, u.prototype.inputTypes = {\n deleteByComposition: function () {\n return this.deleteInDirection(\"backward\", {\n recordUndoEntry: !1\n });\n },\n deleteByCut: function () {\n return this.deleteInDirection(\"backward\");\n },\n deleteByDrag: function () {\n return this.event.preventDefault(), this.withTargetDOMRange(function () {\n var t;\n return this.deleteByDragRange = null != (t = this.responder) ? t.getSelectedRange() : void 0;\n });\n },\n deleteCompositionText: function () {\n return this.deleteInDirection(\"backward\", {\n recordUndoEntry: !1\n });\n },\n deleteContent: function () {\n return this.deleteInDirection(\"backward\");\n },\n deleteContentBackward: function () {\n return this.deleteInDirection(\"backward\");\n },\n deleteContentForward: function () {\n return this.deleteInDirection(\"forward\");\n },\n deleteEntireSoftLine: function () {\n return this.deleteInDirection(\"forward\");\n },\n deleteHardLineBackward: function () {\n return this.deleteInDirection(\"backward\");\n },\n deleteHardLineForward: function () {\n return this.deleteInDirection(\"forward\");\n },\n deleteSoftLineBackward: function () {\n return this.deleteInDirection(\"backward\");\n },\n deleteSoftLineForward: function () {\n return this.deleteInDirection(\"forward\");\n },\n deleteWordBackward: function () {\n return this.deleteInDirection(\"backward\");\n },\n deleteWordForward: function () {\n return this.deleteInDirection(\"forward\");\n },\n formatBackColor: function () {\n return this.activateAttributeIfSupported(\"backgroundColor\", this.event.data);\n },\n formatBold: function () {\n return this.toggleAttributeIfSupported(\"bold\");\n },\n formatFontColor: function () {\n return this.activateAttributeIfSupported(\"color\", this.event.data);\n },\n formatFontName: function () {\n return this.activateAttributeIfSupported(\"font\", this.event.data);\n },\n formatIndent: function () {\n var t;\n return (null != (t = this.responder) ? t.canIncreaseNestingLevel() : void 0) ? this.withTargetDOMRange(function () {\n var t;\n return null != (t = this.responder) ? t.increaseNestingLevel() : void 0;\n }) : void 0;\n },\n formatItalic: function () {\n return this.toggleAttributeIfSupported(\"italic\");\n },\n formatJustifyCenter: function () {\n return this.toggleAttributeIfSupported(\"justifyCenter\");\n },\n formatJustifyFull: function () {\n return this.toggleAttributeIfSupported(\"justifyFull\");\n },\n formatJustifyLeft: function () {\n return this.toggleAttributeIfSupported(\"justifyLeft\");\n },\n formatJustifyRight: function () {\n return this.toggleAttributeIfSupported(\"justifyRight\");\n },\n formatOutdent: function () {\n var t;\n return (null != (t = this.responder) ? t.canDecreaseNestingLevel() : void 0) ? this.withTargetDOMRange(function () {\n var t;\n return null != (t = this.responder) ? t.decreaseNestingLevel() : void 0;\n }) : void 0;\n },\n formatRemove: function () {\n return this.withTargetDOMRange(function () {\n var t, e, n, i;\n i = [];\n\n for (t in null != (e = this.responder) ? e.getCurrentAttributes() : void 0) i.push(null != (n = this.responder) ? n.removeCurrentAttribute(t) : void 0);\n\n return i;\n });\n },\n formatSetBlockTextDirection: function () {\n return this.activateAttributeIfSupported(\"blockDir\", this.event.data);\n },\n formatSetInlineTextDirection: function () {\n return this.activateAttributeIfSupported(\"textDir\", this.event.data);\n },\n formatStrikeThrough: function () {\n return this.toggleAttributeIfSupported(\"strike\");\n },\n formatSubscript: function () {\n return this.toggleAttributeIfSupported(\"sub\");\n },\n formatSuperscript: function () {\n return this.toggleAttributeIfSupported(\"sup\");\n },\n formatUnderline: function () {\n return this.toggleAttributeIfSupported(\"underline\");\n },\n historyRedo: function () {\n var t;\n return null != (t = this.delegate) ? t.inputControllerWillPerformRedo() : void 0;\n },\n historyUndo: function () {\n var t;\n return null != (t = this.delegate) ? t.inputControllerWillPerformUndo() : void 0;\n },\n insertCompositionText: function () {\n return this.composing = !0, this.insertString(this.event.data);\n },\n insertFromComposition: function () {\n return this.composing = !1, this.insertString(this.event.data);\n },\n insertFromDrop: function () {\n var t, e;\n return (t = this.deleteByDragRange) ? (this.deleteByDragRange = null, null != (e = this.delegate) && e.inputControllerWillMoveText(), this.withTargetDOMRange(function () {\n var e;\n return null != (e = this.responder) ? e.moveTextFromRange(t) : void 0;\n })) : void 0;\n },\n insertFromPaste: function () {\n var n, i, o, r, s, a, u, c, l, h, p;\n return n = this.event.dataTransfer, s = {\n dataTransfer: n\n }, (i = n.getData(\"URL\")) ? (this.event.preventDefault(), s.type = \"text/html\", p = (r = n.getData(\"public.url-name\")) ? e.squishBreakableWhitespace(r).trim() : i, s.html = this.createLinkHTML(i, p), null != (a = this.delegate) && a.inputControllerWillPaste(s), this.withTargetDOMRange(function () {\n var t;\n return null != (t = this.responder) ? t.insertHTML(s.html) : void 0;\n }), this.afterRender = function (t) {\n return function () {\n var e;\n return null != (e = t.delegate) ? e.inputControllerDidPaste(s) : void 0;\n };\n }(this)) : t(n) ? (s.type = \"text/plain\", s.string = n.getData(\"text/plain\"), null != (u = this.delegate) && u.inputControllerWillPaste(s), this.withTargetDOMRange(function () {\n var t;\n return null != (t = this.responder) ? t.insertString(s.string) : void 0;\n }), this.afterRender = function (t) {\n return function () {\n var e;\n return null != (e = t.delegate) ? e.inputControllerDidPaste(s) : void 0;\n };\n }(this)) : (o = n.getData(\"text/html\")) ? (this.event.preventDefault(), s.type = \"text/html\", s.html = o, null != (c = this.delegate) && c.inputControllerWillPaste(s), this.withTargetDOMRange(function () {\n var t;\n return null != (t = this.responder) ? t.insertHTML(s.html) : void 0;\n }), this.afterRender = function (t) {\n return function () {\n var e;\n return null != (e = t.delegate) ? e.inputControllerDidPaste(s) : void 0;\n };\n }(this)) : (null != (l = n.files) ? l.length : void 0) ? (s.type = \"File\", s.file = n.files[0], null != (h = this.delegate) && h.inputControllerWillPaste(s), this.withTargetDOMRange(function () {\n var t;\n return null != (t = this.responder) ? t.insertFile(s.file) : void 0;\n }), this.afterRender = function (t) {\n return function () {\n var e;\n return null != (e = t.delegate) ? e.inputControllerDidPaste(s) : void 0;\n };\n }(this)) : void 0;\n },\n insertFromYank: function () {\n return this.insertString(this.event.data);\n },\n insertLineBreak: function () {\n return this.insertString(\"\\n\");\n },\n insertLink: function () {\n return this.activateAttributeIfSupported(\"href\", this.event.data);\n },\n insertOrderedList: function () {\n return this.toggleAttributeIfSupported(\"number\");\n },\n insertParagraph: function () {\n var t;\n return null != (t = this.delegate) && t.inputControllerWillPerformTyping(), this.withTargetDOMRange(function () {\n var t;\n return null != (t = this.responder) ? t.insertLineBreak() : void 0;\n });\n },\n insertReplacementText: function () {\n return this.insertString(this.event.dataTransfer.getData(\"text/plain\"), {\n updatePosition: !1\n });\n },\n insertText: function () {\n var t, e;\n return this.insertString(null != (t = this.event.data) ? t : null != (e = this.event.dataTransfer) ? e.getData(\"text/plain\") : void 0);\n },\n insertTranspose: function () {\n return this.insertString(this.event.data);\n },\n insertUnorderedList: function () {\n return this.toggleAttributeIfSupported(\"bullet\");\n }\n }, u.prototype.insertString = function (t, e) {\n var n;\n return null == t && (t = \"\"), null != (n = this.delegate) && n.inputControllerWillPerformTyping(), this.withTargetDOMRange(function () {\n var n;\n return null != (n = this.responder) ? n.insertString(t, e) : void 0;\n });\n }, u.prototype.toggleAttributeIfSupported = function (t) {\n var n;\n return a.call(e.getAllAttributeNames(), t) >= 0 ? (null != (n = this.delegate) && n.inputControllerWillPerformFormatting(t), this.withTargetDOMRange(function () {\n var e;\n return null != (e = this.responder) ? e.toggleCurrentAttribute(t) : void 0;\n })) : void 0;\n }, u.prototype.activateAttributeIfSupported = function (t, n) {\n var i;\n return a.call(e.getAllAttributeNames(), t) >= 0 ? (null != (i = this.delegate) && i.inputControllerWillPerformFormatting(t), this.withTargetDOMRange(function () {\n var e;\n return null != (e = this.responder) ? e.setCurrentAttribute(t, n) : void 0;\n })) : void 0;\n }, u.prototype.deleteInDirection = function (t, e) {\n var n, i, o, r;\n return o = (null != e ? e : {\n recordUndoEntry: !0\n }).recordUndoEntry, o && null != (r = this.delegate) && r.inputControllerWillPerformTyping(), i = function (e) {\n return function () {\n var n;\n return null != (n = e.responder) ? n.deleteInDirection(t) : void 0;\n };\n }(this), (n = this.getTargetDOMRange({\n minLength: 2\n })) ? this.withTargetDOMRange(n, i) : i();\n }, u.prototype.withTargetDOMRange = function (t, n) {\n var i;\n return \"function\" == typeof t && (n = t, t = this.getTargetDOMRange()), t ? null != (i = this.responder) ? i.withTargetDOMRange(t, n.bind(this)) : void 0 : (e.selectionChangeObserver.reset(), n.call(this));\n }, u.prototype.getTargetDOMRange = function (t) {\n var e, n, i, o;\n return i = (null != t ? t : {\n minLength: 0\n }).minLength, (o = \"function\" == typeof (e = this.event).getTargetRanges ? e.getTargetRanges() : void 0) && o.length && (n = f(o[0]), 0 === i || n.toString().length >= i) ? n : void 0;\n }, f = function (t) {\n var e;\n return e = document.createRange(), e.setStart(t.startContainer, t.startOffset), e.setEnd(t.endContainer, t.endOffset), e;\n }, u.prototype.withEvent = function (t, e) {\n var n;\n this.event = t;\n\n try {\n n = e.call(this);\n } finally {\n this.event = null;\n }\n\n return n;\n }, c = function (t) {\n var e, n;\n return a.call(null != (e = null != (n = t.dataTransfer) ? n.types : void 0) ? e : [], \"Files\") >= 0;\n }, h = function (t) {\n var e;\n return (e = t.clipboardData) ? a.call(e.types, \"Files\") >= 0 && 1 === e.types.length && e.files.length >= 1 : void 0;\n }, p = function (t) {\n var e;\n return (e = t.clipboardData) ? a.call(e.types, \"text/plain\") >= 0 && 1 === e.types.length : void 0;\n }, l = function (t) {\n var e;\n return e = [], t.altKey && e.push(\"alt\"), t.shiftKey && e.push(\"shift\"), e.push(t.key), e;\n }, d = function (t) {\n return {\n x: t.clientX,\n y: t.clientY\n };\n }, u;\n }(e.InputController);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s,\n a,\n u,\n c = function (t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n },\n l = function (t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) h.call(e, i) && (t[i] = e[i]);\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n h = {}.hasOwnProperty;\n\n n = e.defer, i = e.handleEvent, s = e.makeElement, u = e.tagName, a = e.config, r = a.lang, t = a.css, o = a.keyNames, e.AttachmentEditorController = function (a) {\n function h(t, e, n, i) {\n this.attachmentPiece = t, this.element = e, this.container = n, this.options = null != i ? i : {}, this.didBlurCaption = c(this.didBlurCaption, this), this.didChangeCaption = c(this.didChangeCaption, this), this.didInputCaption = c(this.didInputCaption, this), this.didKeyDownCaption = c(this.didKeyDownCaption, this), this.didClickActionButton = c(this.didClickActionButton, this), this.didClickToolbar = c(this.didClickToolbar, this), this.attachment = this.attachmentPiece.attachment, \"a\" === u(this.element) && (this.element = this.element.firstChild), this.install();\n }\n\n var p;\n return l(h, a), p = function (t) {\n return function () {\n var e;\n return e = t.apply(this, arguments), e[\"do\"](), null == this.undos && (this.undos = []), this.undos.push(e.undo);\n };\n }, h.prototype.install = function () {\n return this.makeElementMutable(), this.addToolbar(), this.attachment.isPreviewable() ? this.installCaptionEditor() : void 0;\n }, h.prototype.uninstall = function () {\n var t, e;\n\n for (this.savePendingCaption(); e = this.undos.pop();) e();\n\n return null != (t = this.delegate) ? t.didUninstallAttachmentEditor(this) : void 0;\n }, h.prototype.savePendingCaption = function () {\n var t, e, n;\n return null != this.pendingCaption ? (t = this.pendingCaption, this.pendingCaption = null, t ? null != (e = this.delegate) && \"function\" == typeof e.attachmentEditorDidRequestUpdatingAttributesForAttachment ? e.attachmentEditorDidRequestUpdatingAttributesForAttachment({\n caption: t\n }, this.attachment) : void 0 : null != (n = this.delegate) && \"function\" == typeof n.attachmentEditorDidRequestRemovingAttributeForAttachment ? n.attachmentEditorDidRequestRemovingAttributeForAttachment(\"caption\", this.attachment) : void 0) : void 0;\n }, h.prototype.makeElementMutable = p(function () {\n return {\n \"do\": function (t) {\n return function () {\n return t.element.dataset.trixMutable = !0;\n };\n }(this),\n undo: function (t) {\n return function () {\n return delete t.element.dataset.trixMutable;\n };\n }(this)\n };\n }), h.prototype.addToolbar = p(function () {\n var n;\n return n = s({\n tagName: \"div\",\n className: t.attachmentToolbar,\n data: {\n trixMutable: !0\n },\n childNodes: s({\n tagName: \"div\",\n className: \"trix-button-row\",\n childNodes: s({\n tagName: \"span\",\n className: \"trix-button-group trix-button-group--actions\",\n childNodes: s({\n tagName: \"button\",\n className: \"trix-button trix-button--remove\",\n textContent: r.remove,\n attributes: {\n title: r.remove\n },\n data: {\n trixAction: \"remove\"\n }\n })\n })\n })\n }), this.attachment.isPreviewable() && n.appendChild(s({\n tagName: \"div\",\n className: t.attachmentMetadataContainer,\n childNodes: s({\n tagName: \"span\",\n className: t.attachmentMetadata,\n childNodes: [s({\n tagName: \"span\",\n className: t.attachmentName,\n textContent: this.attachment.getFilename(),\n attributes: {\n title: this.attachment.getFilename()\n }\n }), s({\n tagName: \"span\",\n className: t.attachmentSize,\n textContent: this.attachment.getFormattedFilesize()\n })]\n })\n })), i(\"click\", {\n onElement: n,\n withCallback: this.didClickToolbar\n }), i(\"click\", {\n onElement: n,\n matchingSelector: \"[data-trix-action]\",\n withCallback: this.didClickActionButton\n }), {\n \"do\": function (t) {\n return function () {\n return t.element.appendChild(n);\n };\n }(this),\n undo: function () {\n return function () {\n return e.removeNode(n);\n };\n }(this)\n };\n }), h.prototype.installCaptionEditor = p(function () {\n var o, a, u, c, l;\n return c = s({\n tagName: \"textarea\",\n className: t.attachmentCaptionEditor,\n attributes: {\n placeholder: r.captionPlaceholder\n },\n data: {\n trixMutable: !0\n }\n }), c.value = this.attachmentPiece.getCaption(), l = c.cloneNode(), l.classList.add(\"trix-autoresize-clone\"), l.tabIndex = -1, o = function () {\n return l.value = c.value, c.style.height = l.scrollHeight + \"px\";\n }, i(\"input\", {\n onElement: c,\n withCallback: o\n }), i(\"input\", {\n onElement: c,\n withCallback: this.didInputCaption\n }), i(\"keydown\", {\n onElement: c,\n withCallback: this.didKeyDownCaption\n }), i(\"change\", {\n onElement: c,\n withCallback: this.didChangeCaption\n }), i(\"blur\", {\n onElement: c,\n withCallback: this.didBlurCaption\n }), u = this.element.querySelector(\"figcaption\"), a = u.cloneNode(), {\n \"do\": function (e) {\n return function () {\n return u.style.display = \"none\", a.appendChild(c), a.appendChild(l), a.classList.add(t.attachmentCaption + \"--editing\"), u.parentElement.insertBefore(a, u), o(), e.options.editCaption ? n(function () {\n return c.focus();\n }) : void 0;\n };\n }(this),\n undo: function () {\n return e.removeNode(a), u.style.display = null;\n }\n };\n }), h.prototype.didClickToolbar = function (t) {\n return t.preventDefault(), t.stopPropagation();\n }, h.prototype.didClickActionButton = function (t) {\n var e, n;\n\n switch (e = t.target.getAttribute(\"data-trix-action\")) {\n case \"remove\":\n return null != (n = this.delegate) ? n.attachmentEditorDidRequestRemovalOfAttachment(this.attachment) : void 0;\n }\n }, h.prototype.didKeyDownCaption = function (t) {\n var e;\n return \"return\" === o[t.keyCode] ? (t.preventDefault(), this.savePendingCaption(), null != (e = this.delegate) && \"function\" == typeof e.attachmentEditorDidRequestDeselectingAttachment ? e.attachmentEditorDidRequestDeselectingAttachment(this.attachment) : void 0) : void 0;\n }, h.prototype.didInputCaption = function (t) {\n return this.pendingCaption = t.target.value.replace(/\\s/g, \" \").trim();\n }, h.prototype.didChangeCaption = function () {\n return this.savePendingCaption();\n }, h.prototype.didBlurCaption = function () {\n return this.savePendingCaption();\n }, h;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o = function (t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) r.call(e, i) && (t[i] = e[i]);\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n r = {}.hasOwnProperty;\n\n i = e.makeElement, t = e.config.css, e.AttachmentView = function (r) {\n function s() {\n s.__super__.constructor.apply(this, arguments), this.attachment = this.object, this.attachment.uploadProgressDelegate = this, this.attachmentPiece = this.options.piece;\n }\n\n var a;\n return o(s, r), s.attachmentSelector = \"[data-trix-attachment]\", s.prototype.createContentNodes = function () {\n return [];\n }, s.prototype.createNodes = function () {\n var e, n, o, r, s, u, c;\n if (e = r = i({\n tagName: \"figure\",\n className: this.getClassName(),\n data: this.getData(),\n editable: !1\n }), (n = this.getHref()) && (r = i({\n tagName: \"a\",\n editable: !1,\n attributes: {\n href: n,\n tabindex: -1\n }\n }), e.appendChild(r)), this.attachment.hasContent()) r.innerHTML = this.attachment.getContent();else for (c = this.createContentNodes(), o = 0, s = c.length; s > o; o++) u = c[o], r.appendChild(u);\n return r.appendChild(this.createCaptionElement()), this.attachment.isPending() && (this.progressElement = i({\n tagName: \"progress\",\n attributes: {\n \"class\": t.attachmentProgress,\n value: this.attachment.getUploadProgress(),\n max: 100\n },\n data: {\n trixMutable: !0,\n trixStoreKey: [\"progressElement\", this.attachment.id].join(\"/\")\n }\n }), e.appendChild(this.progressElement)), [a(\"left\"), e, a(\"right\")];\n }, s.prototype.createCaptionElement = function () {\n var e, n, o, r, s, a, u;\n return o = i({\n tagName: \"figcaption\",\n className: t.attachmentCaption\n }), (e = this.attachmentPiece.getCaption()) ? (o.classList.add(t.attachmentCaption + \"--edited\"), o.textContent = e) : (n = this.getCaptionConfig(), n.name && (r = this.attachment.getFilename()), n.size && (a = this.attachment.getFormattedFilesize()), r && (s = i({\n tagName: \"span\",\n className: t.attachmentName,\n textContent: r\n }), o.appendChild(s)), a && (r && o.appendChild(document.createTextNode(\" \")), u = i({\n tagName: \"span\",\n className: t.attachmentSize,\n textContent: a\n }), o.appendChild(u))), o;\n }, s.prototype.getClassName = function () {\n var e, n;\n return n = [t.attachment, t.attachment + \"--\" + this.attachment.getType()], (e = this.attachment.getExtension()) && n.push(t.attachment + \"--\" + e), n.join(\" \");\n }, s.prototype.getData = function () {\n var t, e;\n return e = {\n trixAttachment: JSON.stringify(this.attachment),\n trixContentType: this.attachment.getContentType(),\n trixId: this.attachment.id\n }, t = this.attachmentPiece.attributes, t.isEmpty() || (e.trixAttributes = JSON.stringify(t)), this.attachment.isPending() && (e.trixSerialize = !1), e;\n }, s.prototype.getHref = function () {\n return n(this.attachment.getContent(), \"a\") ? void 0 : this.attachment.getHref();\n }, s.prototype.getCaptionConfig = function () {\n var t, n, i;\n return i = this.attachment.getType(), t = e.copyObject(null != (n = e.config.attachments[i]) ? n.caption : void 0), \"file\" === i && (t.name = !0), t;\n }, s.prototype.findProgressElement = function () {\n var t;\n return null != (t = this.findElement()) ? t.querySelector(\"progress\") : void 0;\n }, a = function (t) {\n return i({\n tagName: \"span\",\n textContent: e.ZERO_WIDTH_SPACE,\n data: {\n trixCursorTarget: t,\n trixSerialize: !1\n }\n });\n }, s.prototype.attachmentDidChangeUploadProgress = function () {\n var t, e;\n return e = this.attachment.getUploadProgress(), null != (t = this.findProgressElement()) ? t.value = e : void 0;\n }, s;\n }(e.ObjectView), n = function (t, e) {\n var n;\n return n = i(\"div\"), n.innerHTML = null != t ? t : \"\", n.querySelector(e);\n };\n }.call(this), function () {\n var t,\n n = function (t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var o in e) i.call(e, o) && (t[o] = e[o]);\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n i = {}.hasOwnProperty;\n\n t = e.makeElement, e.PreviewableAttachmentView = function (i) {\n function o() {\n o.__super__.constructor.apply(this, arguments), this.attachment.previewDelegate = this;\n }\n\n return n(o, i), o.prototype.createContentNodes = function () {\n return this.image = t({\n tagName: \"img\",\n attributes: {\n src: \"\"\n },\n data: {\n trixMutable: !0\n }\n }), this.refresh(this.image), [this.image];\n }, o.prototype.createCaptionElement = function () {\n var t;\n return t = o.__super__.createCaptionElement.apply(this, arguments), t.textContent || t.setAttribute(\"data-trix-placeholder\", e.config.lang.captionPlaceholder), t;\n }, o.prototype.refresh = function (t) {\n var e;\n return null == t && (t = null != (e = this.findElement()) ? e.querySelector(\"img\") : void 0), t ? this.updateAttributesForImage(t) : void 0;\n }, o.prototype.updateAttributesForImage = function (t) {\n var e, n, i, o, r, s;\n return r = this.attachment.getURL(), n = this.attachment.getPreviewURL(), t.src = n || r, n === r ? t.removeAttribute(\"data-trix-serialized-attributes\") : (i = JSON.stringify({\n src: r\n }), t.setAttribute(\"data-trix-serialized-attributes\", i)), s = this.attachment.getWidth(), e = this.attachment.getHeight(), null != s && (t.width = s), null != e && (t.height = e), o = [\"imageElement\", this.attachment.id, t.src, t.width, t.height].join(\"/\"), t.dataset.trixStoreKey = o;\n }, o.prototype.attachmentDidChangeAttributes = function () {\n return this.refresh(this.image), this.refresh();\n }, o;\n }(e.AttachmentView);\n }.call(this), function () {\n var t,\n n,\n i,\n o = function (t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) r.call(e, i) && (t[i] = e[i]);\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n r = {}.hasOwnProperty;\n\n i = e.makeElement, t = e.findInnerElement, n = e.getTextConfig, e.PieceView = function (r) {\n function s() {\n var t;\n s.__super__.constructor.apply(this, arguments), this.piece = this.object, this.attributes = this.piece.getAttributes(), t = this.options, this.textConfig = t.textConfig, this.context = t.context, this.piece.attachment ? this.attachment = this.piece.attachment : this.string = this.piece.toString();\n }\n\n var a;\n return o(s, r), s.prototype.createNodes = function () {\n var e, n, i, o, r, s;\n\n if (s = this.attachment ? this.createAttachmentNodes() : this.createStringNodes(), e = this.createElement()) {\n for (i = t(e), n = 0, o = s.length; o > n; n++) r = s[n], i.appendChild(r);\n\n s = [e];\n }\n\n return s;\n }, s.prototype.createAttachmentNodes = function () {\n var t, n;\n return t = this.attachment.isPreviewable() ? e.PreviewableAttachmentView : e.AttachmentView, n = this.createChildView(t, this.piece.attachment, {\n piece: this.piece\n }), n.getNodes();\n }, s.prototype.createStringNodes = function () {\n var t, e, n, o, r, s, a, u, c, l;\n if (null != (u = this.textConfig) ? u.plaintext : void 0) return [document.createTextNode(this.string)];\n\n for (a = [], c = this.string.split(\"\\n\"), n = e = 0, o = c.length; o > e; n = ++e) l = c[n], n > 0 && (t = i(\"br\"), a.push(t)), (r = l.length) && (s = document.createTextNode(this.preserveSpaces(l)), a.push(s));\n\n return a;\n }, s.prototype.createElement = function () {\n var t, e, o, r, s, a, u, c, l;\n c = {}, a = this.attributes;\n\n for (r in a) if (l = a[r], (t = n(r)) && (t.tagName && (s = i(t.tagName), o ? (o.appendChild(s), o = s) : e = o = s), t.styleProperty && (c[t.styleProperty] = l), t.style)) {\n u = t.style;\n\n for (r in u) l = u[r], c[r] = l;\n }\n\n if (Object.keys(c).length) {\n null == e && (e = i(\"span\"));\n\n for (r in c) l = c[r], e.style[r] = l;\n }\n\n return e;\n }, s.prototype.createContainerElement = function () {\n var t, e, o, r, s;\n r = this.attributes;\n\n for (o in r) if (s = r[o], (e = n(o)) && e.groupTagName) return t = {}, t[o] = s, i(e.groupTagName, t);\n }, a = e.NON_BREAKING_SPACE, s.prototype.preserveSpaces = function (t) {\n return this.context.isLast && (t = t.replace(/\\ $/, a)), t = t.replace(/(\\S)\\ {3}(\\S)/g, \"$1 \" + a + \" $2\").replace(/\\ {2}/g, a + \" \").replace(/\\ {2}/g, \" \" + a), (this.context.isFirst || this.context.followsWhitespace) && (t = t.replace(/^\\ /, a)), t;\n }, s;\n }(e.ObjectView);\n }.call(this), function () {\n var t = function (t, e) {\n function i() {\n this.constructor = t;\n }\n\n for (var o in e) n.call(e, o) && (t[o] = e[o]);\n\n return i.prototype = e.prototype, t.prototype = new i(), t.__super__ = e.prototype, t;\n },\n n = {}.hasOwnProperty;\n\n e.TextView = function (n) {\n function i() {\n i.__super__.constructor.apply(this, arguments), this.text = this.object, this.textConfig = this.options.textConfig;\n }\n\n var o;\n return t(i, n), i.prototype.createNodes = function () {\n var t, n, i, r, s, a, u, c, l, h;\n\n for (a = [], c = e.ObjectGroup.groupObjects(this.getPieces()), r = c.length - 1, i = n = 0, s = c.length; s > n; i = ++n) u = c[i], t = {}, 0 === i && (t.isFirst = !0), i === r && (t.isLast = !0), o(l) && (t.followsWhitespace = !0), h = this.findOrCreateCachedChildView(e.PieceView, u, {\n textConfig: this.textConfig,\n context: t\n }), a.push.apply(a, h.getNodes()), l = u;\n\n return a;\n }, i.prototype.getPieces = function () {\n var t, e, n, i, o;\n\n for (i = this.text.getPieces(), o = [], t = 0, e = i.length; e > t; t++) n = i[t], n.hasAttribute(\"blockBreak\") || o.push(n);\n\n return o;\n }, o = function (t) {\n return /\\s$/.test(null != t ? t.toString() : void 0);\n }, i;\n }(e.ObjectView);\n }.call(this), function () {\n var t,\n n,\n i,\n o = function (t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) r.call(e, i) && (t[i] = e[i]);\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n r = {}.hasOwnProperty;\n\n i = e.makeElement, n = e.getBlockConfig, t = e.config.css, e.BlockView = function (r) {\n function s() {\n s.__super__.constructor.apply(this, arguments), this.block = this.object, this.attributes = this.block.getAttributes();\n }\n\n return o(s, r), s.prototype.createNodes = function () {\n var t, o, r, s, a, u, c, l, h, p, d;\n if (o = document.createComment(\"block\"), c = [o], this.block.isEmpty() ? c.push(i(\"br\")) : (p = null != (l = n(this.block.getLastAttribute())) ? l.text : void 0, d = this.findOrCreateCachedChildView(e.TextView, this.block.text, {\n textConfig: p\n }), c.push.apply(c, d.getNodes()), this.shouldAddExtraNewlineElement() && c.push(i(\"br\"))), this.attributes.length) return c;\n\n for (h = e.config.blockAttributes[\"default\"].tagName, this.block.isRTL() && (t = {\n dir: \"rtl\"\n }), r = i({\n tagName: h,\n attributes: t\n }), s = 0, a = c.length; a > s; s++) u = c[s], r.appendChild(u);\n\n return [r];\n }, s.prototype.createContainerElement = function (e) {\n var o, r, s, a, u;\n return o = this.attributes[e], u = n(o).tagName, 0 === e && this.block.isRTL() && (r = {\n dir: \"rtl\"\n }), \"attachmentGallery\" === o && (a = this.block.getBlockBreakPosition(), s = t.attachmentGallery + \" \" + t.attachmentGallery + \"--\" + a), i({\n tagName: u,\n className: s,\n attributes: r\n });\n }, s.prototype.shouldAddExtraNewlineElement = function () {\n return /\\n\\n$/.test(this.block.toString());\n }, s;\n }(e.ObjectView);\n }.call(this), function () {\n var t,\n n,\n i = function (t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) o.call(e, i) && (t[i] = e[i]);\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n o = {}.hasOwnProperty;\n\n t = e.defer, n = e.makeElement, e.DocumentView = function (o) {\n function r() {\n r.__super__.constructor.apply(this, arguments), this.element = this.options.element, this.elementStore = new e.ElementStore(), this.setDocument(this.object);\n }\n\n var s, a, u;\n return i(r, o), r.render = function (t) {\n var e, i;\n return e = n(\"div\"), i = new this(t, {\n element: e\n }), i.render(), i.sync(), e;\n }, r.prototype.setDocument = function (t) {\n return t.isEqualTo(this.document) ? void 0 : this.document = this.object = t;\n }, r.prototype.render = function () {\n var t, i, o, r, s, a, u;\n\n if (this.childViews = [], this.shadowElement = n(\"div\"), !this.document.isEmpty()) {\n for (s = e.ObjectGroup.groupObjects(this.document.getBlocks(), {\n asTree: !0\n }), a = [], t = 0, i = s.length; i > t; t++) r = s[t], u = this.findOrCreateCachedChildView(e.BlockView, r), a.push(function () {\n var t, e, n, i;\n\n for (n = u.getNodes(), i = [], t = 0, e = n.length; e > t; t++) o = n[t], i.push(this.shadowElement.appendChild(o));\n\n return i;\n }.call(this));\n\n return a;\n }\n }, r.prototype.isSynced = function () {\n return s(this.shadowElement, this.element);\n }, r.prototype.sync = function () {\n var t;\n\n for (t = this.createDocumentFragmentForSync(); this.element.lastChild;) this.element.removeChild(this.element.lastChild);\n\n return this.element.appendChild(t), this.didSync();\n }, r.prototype.didSync = function () {\n return this.elementStore.reset(a(this.element)), t(function (t) {\n return function () {\n return t.garbageCollectCachedViews();\n };\n }(this));\n }, r.prototype.createDocumentFragmentForSync = function () {\n var t, e, n, i, o, r, s, u, c, l;\n\n for (e = document.createDocumentFragment(), u = this.shadowElement.childNodes, n = 0, o = u.length; o > n; n++) s = u[n], e.appendChild(s.cloneNode(!0));\n\n for (c = a(e), i = 0, r = c.length; r > i; i++) t = c[i], (l = this.elementStore.remove(t)) && t.parentNode.replaceChild(l, t);\n\n return e;\n }, a = function (t) {\n return t.querySelectorAll(\"[data-trix-store-key]\");\n }, s = function (t, e) {\n return u(t.innerHTML) === u(e.innerHTML);\n }, u = function (t) {\n return t.replace(/ /g, \" \");\n }, r;\n }(e.ObjectView);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s = function (t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n },\n a = function (t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) u.call(e, i) && (t[i] = e[i]);\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n u = {}.hasOwnProperty;\n\n i = e.findClosestElementFromNode, o = e.handleEvent, r = e.innerElementIsActive, n = e.defer, t = e.AttachmentView.attachmentSelector, e.CompositionController = function (u) {\n function c(n, i) {\n this.element = n, this.composition = i, this.didClickAttachment = s(this.didClickAttachment, this), this.didBlur = s(this.didBlur, this), this.didFocus = s(this.didFocus, this), this.documentView = new e.DocumentView(this.composition.document, {\n element: this.element\n }), o(\"focus\", {\n onElement: this.element,\n withCallback: this.didFocus\n }), o(\"blur\", {\n onElement: this.element,\n withCallback: this.didBlur\n }), o(\"click\", {\n onElement: this.element,\n matchingSelector: \"a[contenteditable=false]\",\n preventDefault: !0\n }), o(\"mousedown\", {\n onElement: this.element,\n matchingSelector: t,\n withCallback: this.didClickAttachment\n }), o(\"click\", {\n onElement: this.element,\n matchingSelector: \"a\" + t,\n preventDefault: !0\n });\n }\n\n return a(c, u), c.prototype.didFocus = function () {\n var t, e, n;\n return t = function (t) {\n return function () {\n var e;\n return t.focused ? void 0 : (t.focused = !0, null != (e = t.delegate) && \"function\" == typeof e.compositionControllerDidFocus ? e.compositionControllerDidFocus() : void 0);\n };\n }(this), null != (e = null != (n = this.blurPromise) ? n.then(t) : void 0) ? e : t();\n }, c.prototype.didBlur = function () {\n return this.blurPromise = new Promise(function (t) {\n return function (e) {\n return n(function () {\n var n;\n return r(t.element) || (t.focused = null, null != (n = t.delegate) && \"function\" == typeof n.compositionControllerDidBlur && n.compositionControllerDidBlur()), t.blurPromise = null, e();\n });\n };\n }(this));\n }, c.prototype.didClickAttachment = function (t, e) {\n var n, o, r;\n return n = this.findAttachmentForElement(e), o = null != i(t.target, {\n matchingSelector: \"figcaption\"\n }), null != (r = this.delegate) && \"function\" == typeof r.compositionControllerDidSelectAttachment ? r.compositionControllerDidSelectAttachment(n, {\n editCaption: o\n }) : void 0;\n }, c.prototype.getSerializableElement = function () {\n return this.isEditingAttachment() ? this.documentView.shadowElement : this.element;\n }, c.prototype.render = function () {\n var t, e, n;\n return this.revision !== this.composition.revision && (this.documentView.setDocument(this.composition.document), this.documentView.render(), this.revision = this.composition.revision), this.canSyncDocumentView() && !this.documentView.isSynced() && (null != (t = this.delegate) && \"function\" == typeof t.compositionControllerWillSyncDocumentView && t.compositionControllerWillSyncDocumentView(), this.documentView.sync(), null != (e = this.delegate) && \"function\" == typeof e.compositionControllerDidSyncDocumentView && e.compositionControllerDidSyncDocumentView()), null != (n = this.delegate) && \"function\" == typeof n.compositionControllerDidRender ? n.compositionControllerDidRender() : void 0;\n }, c.prototype.rerenderViewForObject = function (t) {\n return this.invalidateViewForObject(t), this.render();\n }, c.prototype.invalidateViewForObject = function (t) {\n return this.documentView.invalidateViewForObject(t);\n }, c.prototype.isViewCachingEnabled = function () {\n return this.documentView.isViewCachingEnabled();\n }, c.prototype.enableViewCaching = function () {\n return this.documentView.enableViewCaching();\n }, c.prototype.disableViewCaching = function () {\n return this.documentView.disableViewCaching();\n }, c.prototype.refreshViewCache = function () {\n return this.documentView.garbageCollectCachedViews();\n }, c.prototype.isEditingAttachment = function () {\n return null != this.attachmentEditor;\n }, c.prototype.installAttachmentEditorForAttachment = function (t, n) {\n var i, o, r;\n if ((null != (r = this.attachmentEditor) ? r.attachment : void 0) !== t && (o = this.documentView.findElementForObject(t))) return this.uninstallAttachmentEditor(), i = this.composition.document.getAttachmentPieceForAttachment(t), this.attachmentEditor = new e.AttachmentEditorController(i, o, this.element, n), this.attachmentEditor.delegate = this;\n }, c.prototype.uninstallAttachmentEditor = function () {\n var t;\n return null != (t = this.attachmentEditor) ? t.uninstall() : void 0;\n }, c.prototype.didUninstallAttachmentEditor = function () {\n return this.attachmentEditor = null, this.render();\n }, c.prototype.attachmentEditorDidRequestUpdatingAttributesForAttachment = function (t, e) {\n var n;\n return null != (n = this.delegate) && \"function\" == typeof n.compositionControllerWillUpdateAttachment && n.compositionControllerWillUpdateAttachment(e), this.composition.updateAttributesForAttachment(t, e);\n }, c.prototype.attachmentEditorDidRequestRemovingAttributeForAttachment = function (t, e) {\n var n;\n return null != (n = this.delegate) && \"function\" == typeof n.compositionControllerWillUpdateAttachment && n.compositionControllerWillUpdateAttachment(e), this.composition.removeAttributeForAttachment(t, e);\n }, c.prototype.attachmentEditorDidRequestRemovalOfAttachment = function (t) {\n var e;\n return null != (e = this.delegate) && \"function\" == typeof e.compositionControllerDidRequestRemovalOfAttachment ? e.compositionControllerDidRequestRemovalOfAttachment(t) : void 0;\n }, c.prototype.attachmentEditorDidRequestDeselectingAttachment = function (t) {\n var e;\n return null != (e = this.delegate) && \"function\" == typeof e.compositionControllerDidRequestDeselectingAttachment ? e.compositionControllerDidRequestDeselectingAttachment(t) : void 0;\n }, c.prototype.canSyncDocumentView = function () {\n return !this.isEditingAttachment();\n }, c.prototype.findAttachmentForElement = function (t) {\n return this.composition.document.getAttachmentById(parseInt(t.dataset.trixId, 10));\n }, c;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o = function (t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n },\n r = function (t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) s.call(e, i) && (t[i] = e[i]);\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n s = {}.hasOwnProperty;\n\n n = e.handleEvent, i = e.triggerEvent, t = e.findClosestElementFromNode, e.ToolbarController = function (e) {\n function s(t) {\n this.element = t, this.didKeyDownDialogInput = o(this.didKeyDownDialogInput, this), this.didClickDialogButton = o(this.didClickDialogButton, this), this.didClickAttributeButton = o(this.didClickAttributeButton, this), this.didClickActionButton = o(this.didClickActionButton, this), this.attributes = {}, this.actions = {}, this.resetDialogInputs(), n(\"mousedown\", {\n onElement: this.element,\n matchingSelector: a,\n withCallback: this.didClickActionButton\n }), n(\"mousedown\", {\n onElement: this.element,\n matchingSelector: c,\n withCallback: this.didClickAttributeButton\n }), n(\"click\", {\n onElement: this.element,\n matchingSelector: v,\n preventDefault: !0\n }), n(\"click\", {\n onElement: this.element,\n matchingSelector: l,\n withCallback: this.didClickDialogButton\n }), n(\"keydown\", {\n onElement: this.element,\n matchingSelector: h,\n withCallback: this.didKeyDownDialogInput\n });\n }\n\n var a, u, c, l, h, p, d, f, g, m, v;\n return r(s, e), c = \"[data-trix-attribute]\", a = \"[data-trix-action]\", v = c + \", \" + a, p = \"[data-trix-dialog]\", u = p + \"[data-trix-active]\", l = p + \" [data-trix-method]\", h = p + \" [data-trix-input]\", s.prototype.didClickActionButton = function (t, e) {\n var n, i, o;\n return null != (i = this.delegate) && i.toolbarDidClickButton(), t.preventDefault(), n = d(e), this.getDialog(n) ? this.toggleDialog(n) : null != (o = this.delegate) ? o.toolbarDidInvokeAction(n) : void 0;\n }, s.prototype.didClickAttributeButton = function (t, e) {\n var n, i, o;\n return null != (i = this.delegate) && i.toolbarDidClickButton(), t.preventDefault(), n = f(e), this.getDialog(n) ? this.toggleDialog(n) : null != (o = this.delegate) && o.toolbarDidToggleAttribute(n), this.refreshAttributeButtons();\n }, s.prototype.didClickDialogButton = function (e, n) {\n var i, o;\n return i = t(n, {\n matchingSelector: p\n }), o = n.getAttribute(\"data-trix-method\"), this[o].call(this, i);\n }, s.prototype.didKeyDownDialogInput = function (t, e) {\n var n, i;\n return 13 === t.keyCode && (t.preventDefault(), n = e.getAttribute(\"name\"), i = this.getDialog(n), this.setAttribute(i)), 27 === t.keyCode ? (t.preventDefault(), this.hideDialog()) : void 0;\n }, s.prototype.updateActions = function (t) {\n return this.actions = t, this.refreshActionButtons();\n }, s.prototype.refreshActionButtons = function () {\n return this.eachActionButton(function (t) {\n return function (e, n) {\n return e.disabled = t.actions[n] === !1;\n };\n }(this));\n }, s.prototype.eachActionButton = function (t) {\n var e, n, i, o, r;\n\n for (o = this.element.querySelectorAll(a), r = [], n = 0, i = o.length; i > n; n++) e = o[n], r.push(t(e, d(e)));\n\n return r;\n }, s.prototype.updateAttributes = function (t) {\n return this.attributes = t, this.refreshAttributeButtons();\n }, s.prototype.refreshAttributeButtons = function () {\n return this.eachAttributeButton(function (t) {\n return function (e, n) {\n return e.disabled = t.attributes[n] === !1, t.attributes[n] || t.dialogIsVisible(n) ? (e.setAttribute(\"data-trix-active\", \"\"), e.classList.add(\"trix-active\")) : (e.removeAttribute(\"data-trix-active\"), e.classList.remove(\"trix-active\"));\n };\n }(this));\n }, s.prototype.eachAttributeButton = function (t) {\n var e, n, i, o, r;\n\n for (o = this.element.querySelectorAll(c), r = [], n = 0, i = o.length; i > n; n++) e = o[n], r.push(t(e, f(e)));\n\n return r;\n }, s.prototype.applyKeyboardCommand = function (t) {\n var e, n, o, r, s, a, u;\n\n for (s = JSON.stringify(t.sort()), u = this.element.querySelectorAll(\"[data-trix-key]\"), r = 0, a = u.length; a > r; r++) if (e = u[r], o = e.getAttribute(\"data-trix-key\").split(\"+\"), n = JSON.stringify(o.sort()), n === s) return i(\"mousedown\", {\n onElement: e\n }), !0;\n\n return !1;\n }, s.prototype.dialogIsVisible = function (t) {\n var e;\n return (e = this.getDialog(t)) ? e.hasAttribute(\"data-trix-active\") : void 0;\n }, s.prototype.toggleDialog = function (t) {\n return this.dialogIsVisible(t) ? this.hideDialog() : this.showDialog(t);\n }, s.prototype.showDialog = function (t) {\n var e, n, i, o, r, s, a, u, c, l;\n\n for (this.hideDialog(), null != (a = this.delegate) && a.toolbarWillShowDialog(), i = this.getDialog(t), i.setAttribute(\"data-trix-active\", \"\"), i.classList.add(\"trix-active\"), u = i.querySelectorAll(\"input[disabled]\"), o = 0, s = u.length; s > o; o++) n = u[o], n.removeAttribute(\"disabled\");\n\n return (e = f(i)) && (r = m(i, t)) && (r.value = null != (c = this.attributes[e]) ? c : \"\", r.select()), null != (l = this.delegate) ? l.toolbarDidShowDialog(t) : void 0;\n }, s.prototype.setAttribute = function (t) {\n var e, n, i;\n return e = f(t), n = m(t, e), n.willValidate && !n.checkValidity() ? (n.setAttribute(\"data-trix-validate\", \"\"), n.classList.add(\"trix-validate\"), n.focus()) : (null != (i = this.delegate) && i.toolbarDidUpdateAttribute(e, n.value), this.hideDialog());\n }, s.prototype.removeAttribute = function (t) {\n var e, n;\n return e = f(t), null != (n = this.delegate) && n.toolbarDidRemoveAttribute(e), this.hideDialog();\n }, s.prototype.hideDialog = function () {\n var t, e;\n return (t = this.element.querySelector(u)) ? (t.removeAttribute(\"data-trix-active\"), t.classList.remove(\"trix-active\"), this.resetDialogInputs(), null != (e = this.delegate) ? e.toolbarDidHideDialog(g(t)) : void 0) : void 0;\n }, s.prototype.resetDialogInputs = function () {\n var t, e, n, i, o;\n\n for (i = this.element.querySelectorAll(h), o = [], t = 0, n = i.length; n > t; t++) e = i[t], e.setAttribute(\"disabled\", \"disabled\"), e.removeAttribute(\"data-trix-validate\"), o.push(e.classList.remove(\"trix-validate\"));\n\n return o;\n }, s.prototype.getDialog = function (t) {\n return this.element.querySelector(\"[data-trix-dialog=\" + t + \"]\");\n }, m = function (t, e) {\n return null == e && (e = f(t)), t.querySelector(\"[data-trix-input][name='\" + e + \"']\");\n }, d = function (t) {\n return t.getAttribute(\"data-trix-action\");\n }, f = function (t) {\n var e;\n return null != (e = t.getAttribute(\"data-trix-attribute\")) ? e : t.getAttribute(\"data-trix-dialog-attribute\");\n }, g = function (t) {\n return t.getAttribute(\"data-trix-dialog\");\n }, s;\n }(e.BasicObject);\n }.call(this), function () {\n var t = function (t, e) {\n function i() {\n this.constructor = t;\n }\n\n for (var o in e) n.call(e, o) && (t[o] = e[o]);\n\n return i.prototype = e.prototype, t.prototype = new i(), t.__super__ = e.prototype, t;\n },\n n = {}.hasOwnProperty;\n\n e.ImagePreloadOperation = function (e) {\n function n(t) {\n this.url = t;\n }\n\n return t(n, e), n.prototype.perform = function (t) {\n var e;\n return e = new Image(), e.onload = function (n) {\n return function () {\n return e.width = n.width = e.naturalWidth, e.height = n.height = e.naturalHeight, t(!0, e);\n };\n }(this), e.onerror = function () {\n return t(!1);\n }, e.src = this.url;\n }, n;\n }(e.Operation);\n }.call(this), function () {\n var t = function (t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n },\n n = function (t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var o in e) i.call(e, o) && (t[o] = e[o]);\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n i = {}.hasOwnProperty;\n\n e.Attachment = function (i) {\n function o(n) {\n null == n && (n = {}), this.releaseFile = t(this.releaseFile, this), o.__super__.constructor.apply(this, arguments), this.attributes = e.Hash.box(n), this.didChangeAttributes();\n }\n\n return n(o, i), o.previewablePattern = /^image(\\/(gif|png|jpe?g)|$)/, o.attachmentForFile = function (t) {\n var e, n;\n return n = this.attributesForFile(t), e = new this(n), e.setFile(t), e;\n }, o.attributesForFile = function (t) {\n return new e.Hash({\n filename: t.name,\n filesize: t.size,\n contentType: t.type\n });\n }, o.fromJSON = function (t) {\n return new this(t);\n }, o.prototype.getAttribute = function (t) {\n return this.attributes.get(t);\n }, o.prototype.hasAttribute = function (t) {\n return this.attributes.has(t);\n }, o.prototype.getAttributes = function () {\n return this.attributes.toObject();\n }, o.prototype.setAttributes = function (t) {\n var e, n, i;\n return null == t && (t = {}), e = this.attributes.merge(t), this.attributes.isEqualTo(e) ? void 0 : (this.attributes = e, this.didChangeAttributes(), null != (n = this.previewDelegate) && \"function\" == typeof n.attachmentDidChangeAttributes && n.attachmentDidChangeAttributes(this), null != (i = this.delegate) && \"function\" == typeof i.attachmentDidChangeAttributes ? i.attachmentDidChangeAttributes(this) : void 0);\n }, o.prototype.didChangeAttributes = function () {\n return this.isPreviewable() ? this.preloadURL() : void 0;\n }, o.prototype.isPending = function () {\n return null != this.file && !(this.getURL() || this.getHref());\n }, o.prototype.isPreviewable = function () {\n return this.attributes.has(\"previewable\") ? this.attributes.get(\"previewable\") : this.constructor.previewablePattern.test(this.getContentType());\n }, o.prototype.getType = function () {\n return this.hasContent() ? \"content\" : this.isPreviewable() ? \"preview\" : \"file\";\n }, o.prototype.getURL = function () {\n return this.attributes.get(\"url\");\n }, o.prototype.getHref = function () {\n return this.attributes.get(\"href\");\n }, o.prototype.getFilename = function () {\n var t;\n return null != (t = this.attributes.get(\"filename\")) ? t : \"\";\n }, o.prototype.getFilesize = function () {\n return this.attributes.get(\"filesize\");\n }, o.prototype.getFormattedFilesize = function () {\n var t;\n return t = this.attributes.get(\"filesize\"), \"number\" == typeof t ? e.config.fileSize.formatter(t) : \"\";\n }, o.prototype.getExtension = function () {\n var t;\n return null != (t = this.getFilename().match(/\\.(\\w+)$/)) ? t[1].toLowerCase() : void 0;\n }, o.prototype.getContentType = function () {\n return this.attributes.get(\"contentType\");\n }, o.prototype.hasContent = function () {\n return this.attributes.has(\"content\");\n }, o.prototype.getContent = function () {\n return this.attributes.get(\"content\");\n }, o.prototype.getWidth = function () {\n return this.attributes.get(\"width\");\n }, o.prototype.getHeight = function () {\n return this.attributes.get(\"height\");\n }, o.prototype.getFile = function () {\n return this.file;\n }, o.prototype.setFile = function (t) {\n return this.file = t, this.isPreviewable() ? this.preloadFile() : void 0;\n }, o.prototype.releaseFile = function () {\n return this.releasePreloadedFile(), this.file = null;\n }, o.prototype.getUploadProgress = function () {\n var t;\n return null != (t = this.uploadProgress) ? t : 0;\n }, o.prototype.setUploadProgress = function (t) {\n var e;\n return this.uploadProgress !== t ? (this.uploadProgress = t, null != (e = this.uploadProgressDelegate) && \"function\" == typeof e.attachmentDidChangeUploadProgress ? e.attachmentDidChangeUploadProgress(this) : void 0) : void 0;\n }, o.prototype.toJSON = function () {\n return this.getAttributes();\n }, o.prototype.getCacheKey = function () {\n return [o.__super__.getCacheKey.apply(this, arguments), this.attributes.getCacheKey(), this.getPreviewURL()].join(\"/\");\n }, o.prototype.getPreviewURL = function () {\n return this.previewURL || this.preloadingURL;\n }, o.prototype.setPreviewURL = function (t) {\n var e, n;\n return t !== this.getPreviewURL() ? (this.previewURL = t, null != (e = this.previewDelegate) && \"function\" == typeof e.attachmentDidChangeAttributes && e.attachmentDidChangeAttributes(this), null != (n = this.delegate) && \"function\" == typeof n.attachmentDidChangePreviewURL ? n.attachmentDidChangePreviewURL(this) : void 0) : void 0;\n }, o.prototype.preloadURL = function () {\n return this.preload(this.getURL(), this.releaseFile);\n }, o.prototype.preloadFile = function () {\n return this.file ? (this.fileObjectURL = URL.createObjectURL(this.file), this.preload(this.fileObjectURL)) : void 0;\n }, o.prototype.releasePreloadedFile = function () {\n return this.fileObjectURL ? (URL.revokeObjectURL(this.fileObjectURL), this.fileObjectURL = null) : void 0;\n }, o.prototype.preload = function (t, n) {\n var i;\n return t && t !== this.getPreviewURL() ? (this.preloadingURL = t, i = new e.ImagePreloadOperation(t), i.then(function (e) {\n return function (i) {\n var o, r;\n return r = i.width, o = i.height, e.getWidth() && e.getHeight() || e.setAttributes({\n width: r,\n height: o\n }), e.preloadingURL = null, e.setPreviewURL(t), \"function\" == typeof n ? n() : void 0;\n };\n }(this))[\"catch\"](function (t) {\n return function () {\n return t.preloadingURL = null, \"function\" == typeof n ? n() : void 0;\n };\n }(this))) : void 0;\n }, o;\n }(e.Object);\n }.call(this), function () {\n var t = function (t, e) {\n function i() {\n this.constructor = t;\n }\n\n for (var o in e) n.call(e, o) && (t[o] = e[o]);\n\n return i.prototype = e.prototype, t.prototype = new i(), t.__super__ = e.prototype, t;\n },\n n = {}.hasOwnProperty;\n\n e.Piece = function (n) {\n function i(t, n) {\n null == n && (n = {}), i.__super__.constructor.apply(this, arguments), this.attributes = e.Hash.box(n);\n }\n\n return t(i, n), i.types = {}, i.registerType = function (t, e) {\n return e.type = t, this.types[t] = e;\n }, i.fromJSON = function (t) {\n var e;\n return (e = this.types[t.type]) ? e.fromJSON(t) : void 0;\n }, i.prototype.copyWithAttributes = function (t) {\n return new this.constructor(this.getValue(), t);\n }, i.prototype.copyWithAdditionalAttributes = function (t) {\n return this.copyWithAttributes(this.attributes.merge(t));\n }, i.prototype.copyWithoutAttribute = function (t) {\n return this.copyWithAttributes(this.attributes.remove(t));\n }, i.prototype.copy = function () {\n return this.copyWithAttributes(this.attributes);\n }, i.prototype.getAttribute = function (t) {\n return this.attributes.get(t);\n }, i.prototype.getAttributesHash = function () {\n return this.attributes;\n }, i.prototype.getAttributes = function () {\n return this.attributes.toObject();\n }, i.prototype.getCommonAttributes = function () {\n var t, e, n;\n return (n = pieceList.getPieceAtIndex(0)) ? (t = n.attributes, e = t.getKeys(), pieceList.eachPiece(function (n) {\n return e = t.getKeysCommonToHash(n.attributes), t = t.slice(e);\n }), t.toObject()) : {};\n }, i.prototype.hasAttribute = function (t) {\n return this.attributes.has(t);\n }, i.prototype.hasSameStringValueAsPiece = function (t) {\n return null != t && this.toString() === t.toString();\n }, i.prototype.hasSameAttributesAsPiece = function (t) {\n return null != t && (this.attributes === t.attributes || this.attributes.isEqualTo(t.attributes));\n }, i.prototype.isBlockBreak = function () {\n return !1;\n }, i.prototype.isEqualTo = function (t) {\n return i.__super__.isEqualTo.apply(this, arguments) || this.hasSameConstructorAs(t) && this.hasSameStringValueAsPiece(t) && this.hasSameAttributesAsPiece(t);\n }, i.prototype.isEmpty = function () {\n return 0 === this.length;\n }, i.prototype.isSerializable = function () {\n return !0;\n }, i.prototype.toJSON = function () {\n return {\n type: this.constructor.type,\n attributes: this.getAttributes()\n };\n }, i.prototype.contentsForInspection = function () {\n return {\n type: this.constructor.type,\n attributes: this.attributes.inspect()\n };\n }, i.prototype.canBeGrouped = function () {\n return this.hasAttribute(\"href\");\n }, i.prototype.canBeGroupedWith = function (t) {\n return this.getAttribute(\"href\") === t.getAttribute(\"href\");\n }, i.prototype.getLength = function () {\n return this.length;\n }, i.prototype.canBeConsolidatedWith = function () {\n return !1;\n }, i;\n }(e.Object);\n }.call(this), function () {\n var t = function (t, e) {\n function i() {\n this.constructor = t;\n }\n\n for (var o in e) n.call(e, o) && (t[o] = e[o]);\n\n return i.prototype = e.prototype, t.prototype = new i(), t.__super__ = e.prototype, t;\n },\n n = {}.hasOwnProperty;\n\n e.Piece.registerType(\"attachment\", e.AttachmentPiece = function (n) {\n function i(t) {\n this.attachment = t, i.__super__.constructor.apply(this, arguments), this.length = 1, this.ensureAttachmentExclusivelyHasAttribute(\"href\"), this.attachment.hasContent() || this.removeProhibitedAttributes();\n }\n\n return t(i, n), i.fromJSON = function (t) {\n return new this(e.Attachment.fromJSON(t.attachment), t.attributes);\n }, i.permittedAttributes = [\"caption\", \"presentation\"], i.prototype.ensureAttachmentExclusivelyHasAttribute = function (t) {\n return this.hasAttribute(t) ? (this.attachment.hasAttribute(t) || this.attachment.setAttributes(this.attributes.slice(t)), this.attributes = this.attributes.remove(t)) : void 0;\n }, i.prototype.removeProhibitedAttributes = function () {\n var t;\n return t = this.attributes.slice(this.constructor.permittedAttributes), t.isEqualTo(this.attributes) ? void 0 : this.attributes = t;\n }, i.prototype.getValue = function () {\n return this.attachment;\n }, i.prototype.isSerializable = function () {\n return !this.attachment.isPending();\n }, i.prototype.getCaption = function () {\n var t;\n return null != (t = this.attributes.get(\"caption\")) ? t : \"\";\n }, i.prototype.isEqualTo = function (t) {\n var e;\n return i.__super__.isEqualTo.apply(this, arguments) && this.attachment.id === (null != t && null != (e = t.attachment) ? e.id : void 0);\n }, i.prototype.toString = function () {\n return e.OBJECT_REPLACEMENT_CHARACTER;\n }, i.prototype.toJSON = function () {\n var t;\n return t = i.__super__.toJSON.apply(this, arguments), t.attachment = this.attachment, t;\n }, i.prototype.getCacheKey = function () {\n return [i.__super__.getCacheKey.apply(this, arguments), this.attachment.getCacheKey()].join(\"/\");\n }, i.prototype.toConsole = function () {\n return JSON.stringify(this.toString());\n }, i;\n }(e.Piece));\n }.call(this), function () {\n var t,\n n = function (t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var o in e) i.call(e, o) && (t[o] = e[o]);\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n i = {}.hasOwnProperty;\n\n t = e.normalizeNewlines, e.Piece.registerType(\"string\", e.StringPiece = function (e) {\n function i(e) {\n i.__super__.constructor.apply(this, arguments), this.string = t(e), this.length = this.string.length;\n }\n\n return n(i, e), i.fromJSON = function (t) {\n return new this(t.string, t.attributes);\n }, i.prototype.getValue = function () {\n return this.string;\n }, i.prototype.toString = function () {\n return this.string.toString();\n }, i.prototype.isBlockBreak = function () {\n return \"\\n\" === this.toString() && this.getAttribute(\"blockBreak\") === !0;\n }, i.prototype.toJSON = function () {\n var t;\n return t = i.__super__.toJSON.apply(this, arguments), t.string = this.string, t;\n }, i.prototype.canBeConsolidatedWith = function (t) {\n return null != t && this.hasSameConstructorAs(t) && this.hasSameAttributesAsPiece(t);\n }, i.prototype.consolidateWith = function (t) {\n return new this.constructor(this.toString() + t.toString(), this.attributes);\n }, i.prototype.splitAtOffset = function (t) {\n var e, n;\n return 0 === t ? (e = null, n = this) : t === this.length ? (e = this, n = null) : (e = new this.constructor(this.string.slice(0, t), this.attributes), n = new this.constructor(this.string.slice(t), this.attributes)), [e, n];\n }, i.prototype.toConsole = function () {\n var t;\n return t = this.string, t.length > 15 && (t = t.slice(0, 14) + \"\\u2026\"), JSON.stringify(t.toString());\n }, i;\n }(e.Piece));\n }.call(this), function () {\n var t,\n n = function (t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var o in e) i.call(e, o) && (t[o] = e[o]);\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n i = {}.hasOwnProperty,\n o = [].slice;\n\n t = e.spliceArray, e.SplittableList = function (e) {\n function i(t) {\n null == t && (t = []), i.__super__.constructor.apply(this, arguments), this.objects = t.slice(0), this.length = this.objects.length;\n }\n\n var r, s, a;\n return n(i, e), i.box = function (t) {\n return t instanceof this ? t : new this(t);\n }, i.prototype.indexOf = function (t) {\n return this.objects.indexOf(t);\n }, i.prototype.splice = function () {\n var e;\n return e = 1 <= arguments.length ? o.call(arguments, 0) : [], new this.constructor(t.apply(null, [this.objects].concat(o.call(e))));\n }, i.prototype.eachObject = function (t) {\n var e, n, i, o, r, s;\n\n for (r = this.objects, s = [], n = e = 0, i = r.length; i > e; n = ++e) o = r[n], s.push(t(o, n));\n\n return s;\n }, i.prototype.insertObjectAtIndex = function (t, e) {\n return this.splice(e, 0, t);\n }, i.prototype.insertSplittableListAtIndex = function (t, e) {\n return this.splice.apply(this, [e, 0].concat(o.call(t.objects)));\n }, i.prototype.insertSplittableListAtPosition = function (t, e) {\n var n, i, o;\n return o = this.splitObjectAtPosition(e), i = o[0], n = o[1], new this.constructor(i).insertSplittableListAtIndex(t, n);\n }, i.prototype.editObjectAtIndex = function (t, e) {\n return this.replaceObjectAtIndex(e(this.objects[t]), t);\n }, i.prototype.replaceObjectAtIndex = function (t, e) {\n return this.splice(e, 1, t);\n }, i.prototype.removeObjectAtIndex = function (t) {\n return this.splice(t, 1);\n }, i.prototype.getObjectAtIndex = function (t) {\n return this.objects[t];\n }, i.prototype.getSplittableListInRange = function (t) {\n var e, n, i, o;\n return i = this.splitObjectsAtRange(t), n = i[0], e = i[1], o = i[2], new this.constructor(n.slice(e, o + 1));\n }, i.prototype.selectSplittableList = function (t) {\n var e, n;\n return n = function () {\n var n, i, o, r;\n\n for (o = this.objects, r = [], n = 0, i = o.length; i > n; n++) e = o[n], t(e) && r.push(e);\n\n return r;\n }.call(this), new this.constructor(n);\n }, i.prototype.removeObjectsInRange = function (t) {\n var e, n, i, o;\n return i = this.splitObjectsAtRange(t), n = i[0], e = i[1], o = i[2], new this.constructor(n).splice(e, o - e + 1);\n }, i.prototype.transformObjectsInRange = function (t, e) {\n var n, i, o, r, s, a, u;\n return s = this.splitObjectsAtRange(t), r = s[0], i = s[1], a = s[2], u = function () {\n var t, s, u;\n\n for (u = [], n = t = 0, s = r.length; s > t; n = ++t) o = r[n], u.push(n >= i && a >= n ? e(o) : o);\n\n return u;\n }(), new this.constructor(u);\n }, i.prototype.splitObjectsAtRange = function (t) {\n var e, n, i, o, s, u;\n return o = this.splitObjectAtPosition(a(t)), n = o[0], e = o[1], i = o[2], s = new this.constructor(n).splitObjectAtPosition(r(t) + i), n = s[0], u = s[1], [n, e, u - 1];\n }, i.prototype.getObjectAtPosition = function (t) {\n var e, n, i;\n return i = this.findIndexAndOffsetAtPosition(t), e = i.index, n = i.offset, this.objects[e];\n }, i.prototype.splitObjectAtPosition = function (t) {\n var e, n, i, o, r, s, a, u, c, l;\n return s = this.findIndexAndOffsetAtPosition(t), e = s.index, r = s.offset, o = this.objects.slice(0), null != e ? 0 === r ? (c = e, l = 0) : (i = this.getObjectAtIndex(e), a = i.splitAtOffset(r), n = a[0], u = a[1], o.splice(e, 1, n, u), c = e + 1, l = n.getLength() - r) : (c = o.length, l = 0), [o, c, l];\n }, i.prototype.consolidate = function () {\n var t, e, n, i, o, r;\n\n for (i = [], o = this.objects[0], r = this.objects.slice(1), t = 0, e = r.length; e > t; t++) n = r[t], (\"function\" == typeof o.canBeConsolidatedWith ? o.canBeConsolidatedWith(n) : void 0) ? o = o.consolidateWith(n) : (i.push(o), o = n);\n\n return null != o && i.push(o), new this.constructor(i);\n }, i.prototype.consolidateFromIndexToIndex = function (t, e) {\n var n, i, r;\n return i = this.objects.slice(0), r = i.slice(t, e + 1), n = new this.constructor(r).consolidate().toArray(), this.splice.apply(this, [t, r.length].concat(o.call(n)));\n }, i.prototype.findIndexAndOffsetAtPosition = function (t) {\n var e, n, i, o, r, s, a;\n\n for (e = 0, a = this.objects, i = n = 0, o = a.length; o > n; i = ++n) {\n if (s = a[i], r = e + s.getLength(), t >= e && r > t) return {\n index: i,\n offset: t - e\n };\n e = r;\n }\n\n return {\n index: null,\n offset: null\n };\n }, i.prototype.findPositionAtIndexAndOffset = function (t, e) {\n var n, i, o, r, s, a;\n\n for (s = 0, a = this.objects, n = i = 0, o = a.length; o > i; n = ++i) if (r = a[n], t > n) s += r.getLength();else if (n === t) {\n s += e;\n break;\n }\n\n return s;\n }, i.prototype.getEndPosition = function () {\n var t, e;\n return null != this.endPosition ? this.endPosition : this.endPosition = function () {\n var n, i, o;\n\n for (e = 0, o = this.objects, n = 0, i = o.length; i > n; n++) t = o[n], e += t.getLength();\n\n return e;\n }.call(this);\n }, i.prototype.toString = function () {\n return this.objects.join(\"\");\n }, i.prototype.toArray = function () {\n return this.objects.slice(0);\n }, i.prototype.toJSON = function () {\n return this.toArray();\n }, i.prototype.isEqualTo = function (t) {\n return i.__super__.isEqualTo.apply(this, arguments) || s(this.objects, null != t ? t.objects : void 0);\n }, s = function (t, e) {\n var n, i, o, r, s;\n if (null == e && (e = []), t.length !== e.length) return !1;\n\n for (s = !0, i = n = 0, o = t.length; o > n; i = ++n) r = t[i], s && !r.isEqualTo(e[i]) && (s = !1);\n\n return s;\n }, i.prototype.contentsForInspection = function () {\n var t;\n return {\n objects: \"[\" + function () {\n var e, n, i, o;\n\n for (i = this.objects, o = [], e = 0, n = i.length; n > e; e++) t = i[e], o.push(t.inspect());\n\n return o;\n }.call(this).join(\", \") + \"]\"\n };\n }, a = function (t) {\n return t[0];\n }, r = function (t) {\n return t[1];\n }, i;\n }(e.Object);\n }.call(this), function () {\n var t = function (t, e) {\n function i() {\n this.constructor = t;\n }\n\n for (var o in e) n.call(e, o) && (t[o] = e[o]);\n\n return i.prototype = e.prototype, t.prototype = new i(), t.__super__ = e.prototype, t;\n },\n n = {}.hasOwnProperty;\n\n e.Text = function (n) {\n function i(t) {\n var n;\n null == t && (t = []), i.__super__.constructor.apply(this, arguments), this.pieceList = new e.SplittableList(function () {\n var e, i, o;\n\n for (o = [], e = 0, i = t.length; i > e; e++) n = t[e], n.isEmpty() || o.push(n);\n\n return o;\n }());\n }\n\n return t(i, n), i.textForAttachmentWithAttributes = function (t, n) {\n var i;\n return i = new e.AttachmentPiece(t, n), new this([i]);\n }, i.textForStringWithAttributes = function (t, n) {\n var i;\n return i = new e.StringPiece(t, n), new this([i]);\n }, i.fromJSON = function (t) {\n var n, i;\n return i = function () {\n var i, o, r;\n\n for (r = [], i = 0, o = t.length; o > i; i++) n = t[i], r.push(e.Piece.fromJSON(n));\n\n return r;\n }(), new this(i);\n }, i.prototype.copy = function () {\n return this.copyWithPieceList(this.pieceList);\n }, i.prototype.copyWithPieceList = function (t) {\n return new this.constructor(t.consolidate().toArray());\n }, i.prototype.copyUsingObjectMap = function (t) {\n var e, n;\n return n = function () {\n var n, i, o, r, s;\n\n for (o = this.getPieces(), s = [], n = 0, i = o.length; i > n; n++) e = o[n], s.push(null != (r = t.find(e)) ? r : e);\n\n return s;\n }.call(this), new this.constructor(n);\n }, i.prototype.appendText = function (t) {\n return this.insertTextAtPosition(t, this.getLength());\n }, i.prototype.insertTextAtPosition = function (t, e) {\n return this.copyWithPieceList(this.pieceList.insertSplittableListAtPosition(t.pieceList, e));\n }, i.prototype.removeTextAtRange = function (t) {\n return this.copyWithPieceList(this.pieceList.removeObjectsInRange(t));\n }, i.prototype.replaceTextAtRange = function (t, e) {\n return this.removeTextAtRange(e).insertTextAtPosition(t, e[0]);\n }, i.prototype.moveTextFromRangeToPosition = function (t, e) {\n var n, i;\n if (!(t[0] <= e && e <= t[1])) return i = this.getTextAtRange(t), n = i.getLength(), t[0] < e && (e -= n), this.removeTextAtRange(t).insertTextAtPosition(i, e);\n }, i.prototype.addAttributeAtRange = function (t, e, n) {\n var i;\n return i = {}, i[t] = e, this.addAttributesAtRange(i, n);\n }, i.prototype.addAttributesAtRange = function (t, e) {\n return this.copyWithPieceList(this.pieceList.transformObjectsInRange(e, function (e) {\n return e.copyWithAdditionalAttributes(t);\n }));\n }, i.prototype.removeAttributeAtRange = function (t, e) {\n return this.copyWithPieceList(this.pieceList.transformObjectsInRange(e, function (e) {\n return e.copyWithoutAttribute(t);\n }));\n }, i.prototype.setAttributesAtRange = function (t, e) {\n return this.copyWithPieceList(this.pieceList.transformObjectsInRange(e, function (e) {\n return e.copyWithAttributes(t);\n }));\n }, i.prototype.getAttributesAtPosition = function (t) {\n var e, n;\n return null != (e = null != (n = this.pieceList.getObjectAtPosition(t)) ? n.getAttributes() : void 0) ? e : {};\n }, i.prototype.getCommonAttributes = function () {\n var t, n;\n return t = function () {\n var t, e, i, o;\n\n for (i = this.pieceList.toArray(), o = [], t = 0, e = i.length; e > t; t++) n = i[t], o.push(n.getAttributes());\n\n return o;\n }.call(this), e.Hash.fromCommonAttributesOfObjects(t).toObject();\n }, i.prototype.getCommonAttributesAtRange = function (t) {\n var e;\n return null != (e = this.getTextAtRange(t).getCommonAttributes()) ? e : {};\n }, i.prototype.getExpandedRangeForAttributeAtOffset = function (t, e) {\n var n, i, o;\n\n for (n = o = e, i = this.getLength(); n > 0 && this.getCommonAttributesAtRange([n - 1, o])[t];) n--;\n\n for (; i > o && this.getCommonAttributesAtRange([e, o + 1])[t];) o++;\n\n return [n, o];\n }, i.prototype.getTextAtRange = function (t) {\n return this.copyWithPieceList(this.pieceList.getSplittableListInRange(t));\n }, i.prototype.getStringAtRange = function (t) {\n return this.pieceList.getSplittableListInRange(t).toString();\n }, i.prototype.getStringAtPosition = function (t) {\n return this.getStringAtRange([t, t + 1]);\n }, i.prototype.startsWithString = function (t) {\n return this.getStringAtRange([0, t.length]) === t;\n }, i.prototype.endsWithString = function (t) {\n var e;\n return e = this.getLength(), this.getStringAtRange([e - t.length, e]) === t;\n }, i.prototype.getAttachmentPieces = function () {\n var t, e, n, i, o;\n\n for (i = this.pieceList.toArray(), o = [], t = 0, e = i.length; e > t; t++) n = i[t], null != n.attachment && o.push(n);\n\n return o;\n }, i.prototype.getAttachments = function () {\n var t, e, n, i, o;\n\n for (i = this.getAttachmentPieces(), o = [], t = 0, e = i.length; e > t; t++) n = i[t], o.push(n.attachment);\n\n return o;\n }, i.prototype.getAttachmentAndPositionById = function (t) {\n var e, n, i, o, r, s;\n\n for (o = 0, r = this.pieceList.toArray(), e = 0, n = r.length; n > e; e++) {\n if (i = r[e], (null != (s = i.attachment) ? s.id : void 0) === t) return {\n attachment: i.attachment,\n position: o\n };\n o += i.length;\n }\n\n return {\n attachment: null,\n position: null\n };\n }, i.prototype.getAttachmentById = function (t) {\n var e, n, i;\n return i = this.getAttachmentAndPositionById(t), e = i.attachment, n = i.position, e;\n }, i.prototype.getRangeOfAttachment = function (t) {\n var e, n;\n return n = this.getAttachmentAndPositionById(t.id), t = n.attachment, e = n.position, null != t ? [e, e + 1] : void 0;\n }, i.prototype.updateAttributesForAttachment = function (t, e) {\n var n;\n return (n = this.getRangeOfAttachment(e)) ? this.addAttributesAtRange(t, n) : this;\n }, i.prototype.getLength = function () {\n return this.pieceList.getEndPosition();\n }, i.prototype.isEmpty = function () {\n return 0 === this.getLength();\n }, i.prototype.isEqualTo = function (t) {\n var e;\n return i.__super__.isEqualTo.apply(this, arguments) || (null != t && null != (e = t.pieceList) ? e.isEqualTo(this.pieceList) : void 0);\n }, i.prototype.isBlockBreak = function () {\n return 1 === this.getLength() && this.pieceList.getObjectAtIndex(0).isBlockBreak();\n }, i.prototype.eachPiece = function (t) {\n return this.pieceList.eachObject(t);\n }, i.prototype.getPieces = function () {\n return this.pieceList.toArray();\n }, i.prototype.getPieceAtPosition = function (t) {\n return this.pieceList.getObjectAtPosition(t);\n }, i.prototype.contentsForInspection = function () {\n return {\n pieceList: this.pieceList.inspect()\n };\n }, i.prototype.toSerializableText = function () {\n var t;\n return t = this.pieceList.selectSplittableList(function (t) {\n return t.isSerializable();\n }), this.copyWithPieceList(t);\n }, i.prototype.toString = function () {\n return this.pieceList.toString();\n }, i.prototype.toJSON = function () {\n return this.pieceList.toJSON();\n }, i.prototype.toConsole = function () {\n var t;\n return JSON.stringify(function () {\n var e, n, i, o;\n\n for (i = this.pieceList.toArray(), o = [], e = 0, n = i.length; n > e; e++) t = i[e], o.push(JSON.parse(t.toConsole()));\n\n return o;\n }.call(this));\n }, i.prototype.getDirection = function () {\n return e.getDirection(this.toString());\n }, i.prototype.isRTL = function () {\n return \"rtl\" === this.getDirection();\n }, i;\n }(e.Object);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s = function (t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) a.call(e, i) && (t[i] = e[i]);\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n a = {}.hasOwnProperty,\n u = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) if (e in this && this[e] === t) return e;\n\n return -1;\n },\n c = [].slice;\n\n t = e.arraysAreEqual, r = e.spliceArray, i = e.getBlockConfig, n = e.getBlockAttributeNames, o = e.getListAttributeNames, e.Block = function (n) {\n function a(t, n) {\n null == t && (t = new e.Text()), null == n && (n = []), a.__super__.constructor.apply(this, arguments), this.text = h(t), this.attributes = n;\n }\n\n var l, h, p, d, f, g, m, v, y;\n return s(a, n), a.fromJSON = function (t) {\n var n;\n return n = e.Text.fromJSON(t.text), new this(n, t.attributes);\n }, a.prototype.isEmpty = function () {\n return this.text.isBlockBreak();\n }, a.prototype.isEqualTo = function (e) {\n return a.__super__.isEqualTo.apply(this, arguments) || this.text.isEqualTo(null != e ? e.text : void 0) && t(this.attributes, null != e ? e.attributes : void 0);\n }, a.prototype.copyWithText = function (t) {\n return new this.constructor(t, this.attributes);\n }, a.prototype.copyWithoutText = function () {\n return this.copyWithText(null);\n }, a.prototype.copyWithAttributes = function (t) {\n return new this.constructor(this.text, t);\n }, a.prototype.copyWithoutAttributes = function () {\n return this.copyWithAttributes(null);\n }, a.prototype.copyUsingObjectMap = function (t) {\n var e;\n return this.copyWithText((e = t.find(this.text)) ? e : this.text.copyUsingObjectMap(t));\n }, a.prototype.addAttribute = function (t) {\n var e;\n return e = this.attributes.concat(d(t)), this.copyWithAttributes(e);\n }, a.prototype.removeAttribute = function (t) {\n var e, n;\n return n = i(t).listAttribute, e = g(g(this.attributes, t), n), this.copyWithAttributes(e);\n }, a.prototype.removeLastAttribute = function () {\n return this.removeAttribute(this.getLastAttribute());\n }, a.prototype.getLastAttribute = function () {\n return f(this.attributes);\n }, a.prototype.getAttributes = function () {\n return this.attributes.slice(0);\n }, a.prototype.getAttributeLevel = function () {\n return this.attributes.length;\n }, a.prototype.getAttributeAtLevel = function (t) {\n return this.attributes[t - 1];\n }, a.prototype.hasAttribute = function (t) {\n return u.call(this.attributes, t) >= 0;\n }, a.prototype.hasAttributes = function () {\n return this.getAttributeLevel() > 0;\n }, a.prototype.getLastNestableAttribute = function () {\n return f(this.getNestableAttributes());\n }, a.prototype.getNestableAttributes = function () {\n var t, e, n, o, r;\n\n for (o = this.attributes, r = [], e = 0, n = o.length; n > e; e++) t = o[e], i(t).nestable && r.push(t);\n\n return r;\n }, a.prototype.getNestingLevel = function () {\n return this.getNestableAttributes().length;\n }, a.prototype.decreaseNestingLevel = function () {\n var t;\n return (t = this.getLastNestableAttribute()) ? this.removeAttribute(t) : this;\n }, a.prototype.increaseNestingLevel = function () {\n var t, e, n;\n return (t = this.getLastNestableAttribute()) ? (n = this.attributes.lastIndexOf(t), e = r.apply(null, [this.attributes, n + 1, 0].concat(c.call(d(t)))), this.copyWithAttributes(e)) : this;\n }, a.prototype.getListItemAttributes = function () {\n var t, e, n, o, r;\n\n for (o = this.attributes, r = [], e = 0, n = o.length; n > e; e++) t = o[e], i(t).listAttribute && r.push(t);\n\n return r;\n }, a.prototype.isListItem = function () {\n var t;\n return null != (t = i(this.getLastAttribute())) ? t.listAttribute : void 0;\n }, a.prototype.isTerminalBlock = function () {\n var t;\n return null != (t = i(this.getLastAttribute())) ? t.terminal : void 0;\n }, a.prototype.breaksOnReturn = function () {\n var t;\n return null != (t = i(this.getLastAttribute())) ? t.breakOnReturn : void 0;\n }, a.prototype.findLineBreakInDirectionFromPosition = function (t, e) {\n var n, i;\n return i = this.toString(), n = function () {\n switch (t) {\n case \"forward\":\n return i.indexOf(\"\\n\", e);\n\n case \"backward\":\n return i.slice(0, e).lastIndexOf(\"\\n\");\n }\n }(), -1 !== n ? n : void 0;\n }, a.prototype.contentsForInspection = function () {\n return {\n text: this.text.inspect(),\n attributes: this.attributes\n };\n }, a.prototype.toString = function () {\n return this.text.toString();\n }, a.prototype.toJSON = function () {\n return {\n text: this.text,\n attributes: this.attributes\n };\n }, a.prototype.getDirection = function () {\n return this.text.getDirection();\n }, a.prototype.isRTL = function () {\n return this.text.isRTL();\n }, a.prototype.getLength = function () {\n return this.text.getLength();\n }, a.prototype.canBeConsolidatedWith = function (t) {\n return !this.hasAttributes() && !t.hasAttributes() && this.getDirection() === t.getDirection();\n }, a.prototype.consolidateWith = function (t) {\n var n, i;\n return n = e.Text.textForStringWithAttributes(\"\\n\"), i = this.getTextWithoutBlockBreak().appendText(n), this.copyWithText(i.appendText(t.text));\n }, a.prototype.splitAtOffset = function (t) {\n var e, n;\n return 0 === t ? (e = null, n = this) : t === this.getLength() ? (e = this, n = null) : (e = this.copyWithText(this.text.getTextAtRange([0, t])), n = this.copyWithText(this.text.getTextAtRange([t, this.getLength()]))), [e, n];\n }, a.prototype.getBlockBreakPosition = function () {\n return this.text.getLength() - 1;\n }, a.prototype.getTextWithoutBlockBreak = function () {\n return m(this.text) ? this.text.getTextAtRange([0, this.getBlockBreakPosition()]) : this.text.copy();\n }, a.prototype.canBeGrouped = function (t) {\n return this.attributes[t];\n }, a.prototype.canBeGroupedWith = function (t, e) {\n var n, r, s, a;\n return s = t.getAttributes(), r = s[e], n = this.attributes[e], !(n !== r || i(n).group === !1 && (a = s[e + 1], u.call(o(), a) < 0) || this.getDirection() !== t.getDirection() && !t.isEmpty());\n }, h = function (t) {\n return t = y(t), t = l(t);\n }, y = function (t) {\n var n, i, o, r, s, a;\n return r = !1, a = t.getPieces(), i = 2 <= a.length ? c.call(a, 0, n = a.length - 1) : (n = 0, []), o = a[n++], null == o ? t : (i = function () {\n var t, e, n;\n\n for (n = [], t = 0, e = i.length; e > t; t++) s = i[t], s.isBlockBreak() ? (r = !0, n.push(v(s))) : n.push(s);\n\n return n;\n }(), r ? new e.Text(c.call(i).concat([o])) : t);\n }, p = e.Text.textForStringWithAttributes(\"\\n\", {\n blockBreak: !0\n }), l = function (t) {\n return m(t) ? t : t.appendText(p);\n }, m = function (t) {\n var e, n;\n return n = t.getLength(), 0 === n ? !1 : (e = t.getTextAtRange([n - 1, n]), e.isBlockBreak());\n }, v = function (t) {\n return t.copyWithoutAttribute(\"blockBreak\");\n }, d = function (t) {\n var e;\n return e = i(t).listAttribute, null != e ? [e, t] : [t];\n }, f = function (t) {\n return t.slice(-1)[0];\n }, g = function (t, e) {\n var n;\n return n = t.lastIndexOf(e), -1 === n ? t : r(t, n, 1);\n }, a;\n }(e.Object);\n }.call(this), function () {\n var t,\n n,\n i,\n o = function (t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) r.call(e, i) && (t[i] = e[i]);\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n r = {}.hasOwnProperty,\n s = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) if (e in this && this[e] === t) return e;\n\n return -1;\n },\n a = [].slice;\n\n n = e.tagName, i = e.walkTree, t = e.nodeIsAttachmentElement, e.HTMLSanitizer = function (r) {\n function u(t, e) {\n var n;\n n = null != e ? e : {}, this.allowedAttributes = n.allowedAttributes, this.forbiddenProtocols = n.forbiddenProtocols, this.forbiddenElements = n.forbiddenElements, null == this.allowedAttributes && (this.allowedAttributes = c), null == this.forbiddenProtocols && (this.forbiddenProtocols = h), null == this.forbiddenElements && (this.forbiddenElements = l), this.body = p(t);\n }\n\n var c, l, h, p;\n return o(u, r), c = \"style href src width height class\".split(\" \"), h = \"javascript:\".split(\" \"), l = \"script iframe\".split(\" \"), u.sanitize = function (t, e) {\n var n;\n return n = new this(t, e), n.sanitize(), n;\n }, u.prototype.sanitize = function () {\n return this.sanitizeElements(), this.normalizeListElementNesting();\n }, u.prototype.getHTML = function () {\n return this.body.innerHTML;\n }, u.prototype.getBody = function () {\n return this.body;\n }, u.prototype.sanitizeElements = function () {\n var t, n, o, r, s;\n\n for (s = i(this.body), r = []; s.nextNode();) switch (o = s.currentNode, o.nodeType) {\n case Node.ELEMENT_NODE:\n this.elementIsRemovable(o) ? r.push(o) : this.sanitizeElement(o);\n break;\n\n case Node.COMMENT_NODE:\n r.push(o);\n }\n\n for (t = 0, n = r.length; n > t; t++) o = r[t], e.removeNode(o);\n\n return this.body;\n }, u.prototype.sanitizeElement = function (t) {\n var e, n, i, o, r;\n\n for (t.hasAttribute(\"href\") && (o = t.protocol, s.call(this.forbiddenProtocols, o) >= 0 && t.removeAttribute(\"href\")), r = a.call(t.attributes), e = 0, n = r.length; n > e; e++) i = r[e].name, s.call(this.allowedAttributes, i) >= 0 || 0 === i.indexOf(\"data-trix\") || t.removeAttribute(i);\n\n return t;\n }, u.prototype.normalizeListElementNesting = function () {\n var t, e, i, o, r;\n\n for (r = a.call(this.body.querySelectorAll(\"ul,ol\")), t = 0, e = r.length; e > t; t++) i = r[t], (o = i.previousElementSibling) && \"li\" === n(o) && o.appendChild(i);\n\n return this.body;\n }, u.prototype.elementIsRemovable = function (t) {\n return (null != t ? t.nodeType : void 0) === Node.ELEMENT_NODE ? this.elementIsForbidden(t) || this.elementIsntSerializable(t) : void 0;\n }, u.prototype.elementIsForbidden = function (t) {\n var e;\n return e = n(t), s.call(this.forbiddenElements, e) >= 0;\n }, u.prototype.elementIsntSerializable = function (e) {\n return \"false\" === e.getAttribute(\"data-trix-serialize\") && !t(e);\n }, p = function (t) {\n var e, n, i, o, r;\n\n for (null == t && (t = \"\"), t = t.replace(/<\\/html[^>]*>[^]*$/i, \"\"), e = document.implementation.createHTMLDocument(\"\"), e.documentElement.innerHTML = t, r = e.head.querySelectorAll(\"style\"), i = 0, o = r.length; o > i; i++) n = r[i], e.body.appendChild(n);\n\n return e.body;\n }, u;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s,\n a,\n u,\n c,\n l,\n h,\n p = function (t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) d.call(e, i) && (t[i] = e[i]);\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n d = {}.hasOwnProperty,\n f = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) if (e in this && this[e] === t) return e;\n\n return -1;\n };\n\n t = e.arraysAreEqual, s = e.makeElement, l = e.tagName, r = e.getBlockTagNames, h = e.walkTree, o = e.findClosestElementFromNode, i = e.elementContainsNode, a = e.nodeIsAttachmentElement, u = e.normalizeSpaces, n = e.breakableWhitespacePattern, c = e.squishBreakableWhitespace, e.HTMLParser = function (d) {\n function g(t, e) {\n this.html = t, this.referenceElement = (null != e ? e : {}).referenceElement, this.blocks = [], this.blockElements = [], this.processedElements = [];\n }\n\n var m, v, y, b, A, C, x, w, E, S, R, k;\n return p(g, d), g.parse = function (t, e) {\n var n;\n return n = new this(t, e), n.parse(), n;\n }, g.prototype.getDocument = function () {\n return e.Document.fromJSON(this.blocks);\n }, g.prototype.parse = function () {\n var t, n;\n\n try {\n for (this.createHiddenContainer(), t = e.HTMLSanitizer.sanitize(this.html).getHTML(), this.containerElement.innerHTML = t, n = h(this.containerElement, {\n usingFilter: x\n }); n.nextNode();) this.processNode(n.currentNode);\n\n return this.translateBlockElementMarginsToNewlines();\n } finally {\n this.removeHiddenContainer();\n }\n }, g.prototype.createHiddenContainer = function () {\n return this.referenceElement ? (this.containerElement = this.referenceElement.cloneNode(!1), this.containerElement.removeAttribute(\"id\"), this.containerElement.setAttribute(\"data-trix-internal\", \"\"), this.containerElement.style.display = \"none\", this.referenceElement.parentNode.insertBefore(this.containerElement, this.referenceElement.nextSibling)) : (this.containerElement = s({\n tagName: \"div\",\n style: {\n display: \"none\"\n }\n }), document.body.appendChild(this.containerElement));\n }, g.prototype.removeHiddenContainer = function () {\n return e.removeNode(this.containerElement);\n }, x = function (t) {\n return \"style\" === l(t) ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT;\n }, g.prototype.processNode = function (t) {\n switch (t.nodeType) {\n case Node.TEXT_NODE:\n if (!this.isInsignificantTextNode(t)) return this.appendBlockForTextNode(t), this.processTextNode(t);\n break;\n\n case Node.ELEMENT_NODE:\n return this.appendBlockForElement(t), this.processElement(t);\n }\n }, g.prototype.appendBlockForTextNode = function (e) {\n var n, i, o;\n return i = e.parentNode, i === this.currentBlockElement && this.isBlockElement(e.previousSibling) ? this.appendStringWithAttributes(\"\\n\") : i !== this.containerElement && !this.isBlockElement(i) || (n = this.getBlockAttributes(i), t(n, null != (o = this.currentBlock) ? o.attributes : void 0)) ? void 0 : (this.currentBlock = this.appendBlockForAttributesWithElement(n, i), this.currentBlockElement = i);\n }, g.prototype.appendBlockForElement = function (e) {\n var n, o, r, s;\n\n if (r = this.isBlockElement(e), o = i(this.currentBlockElement, e), r && !this.isBlockElement(e.firstChild)) {\n if ((!this.isInsignificantTextNode(e.firstChild) || !this.isBlockElement(e.firstElementChild)) && (n = this.getBlockAttributes(e), e.firstChild)) return o && t(n, this.currentBlock.attributes) ? this.appendStringWithAttributes(\"\\n\") : (this.currentBlock = this.appendBlockForAttributesWithElement(n, e), this.currentBlockElement = e);\n } else if (this.currentBlockElement && !o && !r) return (s = this.findParentBlockElement(e)) ? this.appendBlockForElement(s) : (this.currentBlock = this.appendEmptyBlock(), this.currentBlockElement = null);\n }, g.prototype.findParentBlockElement = function (t) {\n var e;\n\n for (e = t.parentElement; e && e !== this.containerElement;) {\n if (this.isBlockElement(e) && f.call(this.blockElements, e) >= 0) return e;\n e = e.parentElement;\n }\n\n return null;\n }, g.prototype.processTextNode = function (t) {\n var e, n;\n return n = t.data, v(t.parentNode) || (n = c(n), R(null != (e = t.previousSibling) ? e.textContent : void 0) && (n = A(n))), this.appendStringWithAttributes(n, this.getTextAttributes(t.parentNode));\n }, g.prototype.processElement = function (t) {\n var e, n, i, o, r;\n if (a(t)) return e = w(t, \"attachment\"), Object.keys(e).length && (o = this.getTextAttributes(t), this.appendAttachmentWithAttributes(e, o), t.innerHTML = \"\"), this.processedElements.push(t);\n\n switch (l(t)) {\n case \"br\":\n return this.isExtraBR(t) || this.isBlockElement(t.nextSibling) || this.appendStringWithAttributes(\"\\n\", this.getTextAttributes(t)), this.processedElements.push(t);\n\n case \"img\":\n e = {\n url: t.getAttribute(\"src\"),\n contentType: \"image\"\n }, i = b(t);\n\n for (n in i) r = i[n], e[n] = r;\n\n return this.appendAttachmentWithAttributes(e, this.getTextAttributes(t)), this.processedElements.push(t);\n\n case \"tr\":\n if (t.parentNode.firstChild !== t) return this.appendStringWithAttributes(\"\\n\");\n break;\n\n case \"td\":\n if (t.parentNode.firstChild !== t) return this.appendStringWithAttributes(\" | \");\n }\n }, g.prototype.appendBlockForAttributesWithElement = function (t, e) {\n var n;\n return this.blockElements.push(e), n = m(t), this.blocks.push(n), n;\n }, g.prototype.appendEmptyBlock = function () {\n return this.appendBlockForAttributesWithElement([], null);\n }, g.prototype.appendStringWithAttributes = function (t, e) {\n return this.appendPiece(S(t, e));\n }, g.prototype.appendAttachmentWithAttributes = function (t, e) {\n return this.appendPiece(E(t, e));\n }, g.prototype.appendPiece = function (t) {\n return 0 === this.blocks.length && this.appendEmptyBlock(), this.blocks[this.blocks.length - 1].text.push(t);\n }, g.prototype.appendStringToTextAtIndex = function (t, e) {\n var n, i;\n return i = this.blocks[e].text, n = i[i.length - 1], \"string\" === (null != n ? n.type : void 0) ? n.string += t : i.push(S(t));\n }, g.prototype.prependStringToTextAtIndex = function (t, e) {\n var n, i;\n return i = this.blocks[e].text, n = i[0], \"string\" === (null != n ? n.type : void 0) ? n.string = t + n.string : i.unshift(S(t));\n }, S = function (t, e) {\n var n;\n return null == e && (e = {}), n = \"string\", t = u(t), {\n string: t,\n attributes: e,\n type: n\n };\n }, E = function (t, e) {\n var n;\n return null == e && (e = {}), n = \"attachment\", {\n attachment: t,\n attributes: e,\n type: n\n };\n }, m = function (t) {\n var e;\n return null == t && (t = {}), e = [], {\n text: e,\n attributes: t\n };\n }, g.prototype.getTextAttributes = function (t) {\n var n, i, r, s, u, c, l, h, p, d, f, g;\n r = {}, p = e.config.textAttributes;\n\n for (n in p) if (u = p[n], u.tagName && o(t, {\n matchingSelector: u.tagName,\n untilNode: this.containerElement\n })) r[n] = !0;else if (u.parser) {\n if (g = u.parser(t)) {\n for (i = !1, d = this.findBlockElementAncestors(t), c = 0, h = d.length; h > c; c++) if (s = d[c], u.parser(s) === g) {\n i = !0;\n break;\n }\n\n i || (r[n] = g);\n }\n } else u.styleProperty && (g = t.style[u.styleProperty]) && (r[n] = g);\n\n if (a(t)) {\n f = w(t, \"attributes\");\n\n for (l in f) g = f[l], r[l] = g;\n }\n\n return r;\n }, g.prototype.getBlockAttributes = function (t) {\n var n, i, o, r;\n\n for (i = []; t && t !== this.containerElement;) {\n r = e.config.blockAttributes;\n\n for (n in r) o = r[n], o.parse !== !1 && l(t) === o.tagName && ((\"function\" == typeof o.test ? o.test(t) : void 0) || !o.test) && (i.push(n), o.listAttribute && i.push(o.listAttribute));\n\n t = t.parentNode;\n }\n\n return i.reverse();\n }, g.prototype.findBlockElementAncestors = function (t) {\n var e, n;\n\n for (e = []; t && t !== this.containerElement;) n = l(t), f.call(r(), n) >= 0 && e.push(t), t = t.parentNode;\n\n return e;\n }, w = function (t, e) {\n try {\n return JSON.parse(t.getAttribute(\"data-trix-\" + e));\n } catch (n) {\n return {};\n }\n }, b = function (t) {\n var e, n, i;\n return i = t.getAttribute(\"width\"), n = t.getAttribute(\"height\"), e = {}, i && (e.width = parseInt(i, 10)), n && (e.height = parseInt(n, 10)), e;\n }, g.prototype.isBlockElement = function (t) {\n var e;\n if ((null != t ? t.nodeType : void 0) === Node.ELEMENT_NODE && !a(t) && !o(t, {\n matchingSelector: \"td\",\n untilNode: this.containerElement\n })) return e = l(t), f.call(r(), e) >= 0 || \"block\" === window.getComputedStyle(t).display;\n }, g.prototype.isInsignificantTextNode = function (t) {\n var e, n, i;\n if ((null != t ? t.nodeType : void 0) === Node.TEXT_NODE && k(t.data) && (n = t.parentNode, i = t.previousSibling, e = t.nextSibling, (!C(n.previousSibling) || this.isBlockElement(n.previousSibling)) && !v(n))) return !i || this.isBlockElement(i) || !e || this.isBlockElement(e);\n }, g.prototype.isExtraBR = function (t) {\n return \"br\" === l(t) && this.isBlockElement(t.parentNode) && t.parentNode.lastChild === t;\n }, v = function (t) {\n var e;\n return e = window.getComputedStyle(t).whiteSpace, \"pre\" === e || \"pre-wrap\" === e || \"pre-line\" === e;\n }, C = function (t) {\n return t && !R(t.textContent);\n }, g.prototype.translateBlockElementMarginsToNewlines = function () {\n var t, e, n, i, o, r, s, a;\n\n for (e = this.getMarginOfDefaultBlockElement(), s = this.blocks, a = [], i = n = 0, o = s.length; o > n; i = ++n) t = s[i], (r = this.getMarginOfBlockElementAtIndex(i)) && (r.top > 2 * e.top && this.prependStringToTextAtIndex(\"\\n\", i), a.push(r.bottom > 2 * e.bottom ? this.appendStringToTextAtIndex(\"\\n\", i) : void 0));\n\n return a;\n }, g.prototype.getMarginOfBlockElementAtIndex = function (t) {\n var e, n;\n return !(e = this.blockElements[t]) || !e.textContent || (n = l(e), f.call(r(), n) >= 0 || f.call(this.processedElements, e) >= 0) ? void 0 : y(e);\n }, g.prototype.getMarginOfDefaultBlockElement = function () {\n var t;\n return t = s(e.config.blockAttributes[\"default\"].tagName), this.containerElement.appendChild(t), y(t);\n }, y = function (t) {\n var e;\n return e = window.getComputedStyle(t), \"block\" === e.display ? {\n top: parseInt(e.marginTop),\n bottom: parseInt(e.marginBottom)\n } : void 0;\n }, A = function (t) {\n return t.replace(RegExp(\"^\" + n.source + \"+\"), \"\");\n }, k = function (t) {\n return RegExp(\"^\" + n.source + \"*$\").test(t);\n }, R = function (t) {\n return /\\s$/.test(t);\n }, g;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r = function (t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) s.call(e, i) && (t[i] = e[i]);\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n s = {}.hasOwnProperty,\n a = [].slice,\n u = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) if (e in this && this[e] === t) return e;\n\n return -1;\n };\n\n t = e.arraysAreEqual, i = e.normalizeRange, o = e.rangeIsCollapsed, n = e.getBlockConfig, e.Document = function (s) {\n function c(t) {\n null == t && (t = []), c.__super__.constructor.apply(this, arguments), 0 === t.length && (t = [new e.Block()]), this.blockList = e.SplittableList.box(t);\n }\n\n var l;\n return r(c, s), c.fromJSON = function (t) {\n var n, i;\n return i = function () {\n var i, o, r;\n\n for (r = [], i = 0, o = t.length; o > i; i++) n = t[i], r.push(e.Block.fromJSON(n));\n\n return r;\n }(), new this(i);\n }, c.fromHTML = function (t, n) {\n return e.HTMLParser.parse(t, n).getDocument();\n }, c.fromString = function (t, n) {\n var i;\n return i = e.Text.textForStringWithAttributes(t, n), new this([new e.Block(i)]);\n }, c.prototype.isEmpty = function () {\n var t;\n return 1 === this.blockList.length && (t = this.getBlockAtIndex(0), t.isEmpty() && !t.hasAttributes());\n }, c.prototype.copy = function (t) {\n var e;\n return null == t && (t = {}), e = t.consolidateBlocks ? this.blockList.consolidate().toArray() : this.blockList.toArray(), new this.constructor(e);\n }, c.prototype.copyUsingObjectsFromDocument = function (t) {\n var n;\n return n = new e.ObjectMap(t.getObjects()), this.copyUsingObjectMap(n);\n }, c.prototype.copyUsingObjectMap = function (t) {\n var e, n, i;\n return n = function () {\n var n, o, r, s;\n\n for (r = this.getBlocks(), s = [], n = 0, o = r.length; o > n; n++) e = r[n], s.push((i = t.find(e)) ? i : e.copyUsingObjectMap(t));\n\n return s;\n }.call(this), new this.constructor(n);\n }, c.prototype.copyWithBaseBlockAttributes = function (t) {\n var e, n, i;\n return null == t && (t = []), i = function () {\n var i, o, r, s;\n\n for (r = this.getBlocks(), s = [], i = 0, o = r.length; o > i; i++) n = r[i], e = t.concat(n.getAttributes()), s.push(n.copyWithAttributes(e));\n\n return s;\n }.call(this), new this.constructor(i);\n }, c.prototype.replaceBlock = function (t, e) {\n var n;\n return n = this.blockList.indexOf(t), -1 === n ? this : new this.constructor(this.blockList.replaceObjectAtIndex(e, n));\n }, c.prototype.insertDocumentAtRange = function (t, e) {\n var n, r, s, a, u, c, l;\n return r = t.blockList, u = (e = i(e))[0], c = this.locationFromPosition(u), s = c.index, a = c.offset, l = this, n = this.getBlockAtPosition(u), o(e) && n.isEmpty() && !n.hasAttributes() ? l = new this.constructor(l.blockList.removeObjectAtIndex(s)) : n.getBlockBreakPosition() === a && u++, l = l.removeTextAtRange(e), new this.constructor(l.blockList.insertSplittableListAtPosition(r, u));\n }, c.prototype.mergeDocumentAtRange = function (e, n) {\n var o, r, s, a, u, c, l, h, p, d, f, g;\n return f = (n = i(n))[0], d = this.locationFromPosition(f), r = this.getBlockAtIndex(d.index).getAttributes(), o = e.getBaseBlockAttributes(), g = r.slice(-o.length), t(o, g) ? (l = r.slice(0, -o.length), c = e.copyWithBaseBlockAttributes(l)) : c = e.copy({\n consolidateBlocks: !0\n }).copyWithBaseBlockAttributes(r), s = c.getBlockCount(), a = c.getBlockAtIndex(0), t(r, a.getAttributes()) ? (u = a.getTextWithoutBlockBreak(), p = this.insertTextAtRange(u, n), s > 1 && (c = new this.constructor(c.getBlocks().slice(1)), h = f + u.getLength(), p = p.insertDocumentAtRange(c, h))) : p = this.insertDocumentAtRange(c, n), p;\n }, c.prototype.insertTextAtRange = function (t, e) {\n var n, o, r, s, a;\n return a = (e = i(e))[0], s = this.locationFromPosition(a), o = s.index, r = s.offset, n = this.removeTextAtRange(e), new this.constructor(n.blockList.editObjectAtIndex(o, function (e) {\n return e.copyWithText(e.text.insertTextAtPosition(t, r));\n }));\n }, c.prototype.removeTextAtRange = function (t) {\n var e, n, r, s, a, u, c, l, h, p, d, f, g, m, v, y, b, A, C, x, w;\n return p = t = i(t), l = p[0], A = p[1], o(t) ? this : (d = this.locationRangeFromRange(t), u = d[0], y = d[1], a = u.index, c = u.offset, s = this.getBlockAtIndex(a), v = y.index, b = y.offset, m = this.getBlockAtIndex(v), f = A - l === 1 && s.getBlockBreakPosition() === c && m.getBlockBreakPosition() !== b && \"\\n\" === m.text.getStringAtPosition(b), f ? r = this.blockList.editObjectAtIndex(v, function (t) {\n return t.copyWithText(t.text.removeTextAtRange([b, b + 1]));\n }) : (h = s.text.getTextAtRange([0, c]), C = m.text.getTextAtRange([b, m.getLength()]), x = h.appendText(C), g = a !== v && 0 === c, w = g && s.getAttributeLevel() >= m.getAttributeLevel(), n = w ? m.copyWithText(x) : s.copyWithText(x), e = v + 1 - a, r = this.blockList.splice(a, e, n)), new this.constructor(r));\n }, c.prototype.moveTextFromRangeToPosition = function (t, e) {\n var n, o, r, s, u, c, l, h, p, d;\n return c = t = i(t), p = c[0], r = c[1], e >= p && r >= e ? this : (o = this.getDocumentAtRange(t), h = this.removeTextAtRange(t), u = e > p, u && (e -= o.getLength()), l = o.getBlocks(), s = l[0], n = 2 <= l.length ? a.call(l, 1) : [], 0 === n.length ? (d = s.getTextWithoutBlockBreak(), u && (e += 1)) : d = s.text, h = h.insertTextAtRange(d, e), 0 === n.length ? h : (o = new this.constructor(n), e += d.getLength(), h.insertDocumentAtRange(o, e)));\n }, c.prototype.addAttributeAtRange = function (t, e, i) {\n var o;\n return o = this.blockList, this.eachBlockAtRange(i, function (i, r, s) {\n return o = o.editObjectAtIndex(s, function () {\n return n(t) ? i.addAttribute(t, e) : r[0] === r[1] ? i : i.copyWithText(i.text.addAttributeAtRange(t, e, r));\n });\n }), new this.constructor(o);\n }, c.prototype.addAttribute = function (t, e) {\n var n;\n return n = this.blockList, this.eachBlock(function (i, o) {\n return n = n.editObjectAtIndex(o, function () {\n return i.addAttribute(t, e);\n });\n }), new this.constructor(n);\n }, c.prototype.removeAttributeAtRange = function (t, e) {\n var i;\n return i = this.blockList, this.eachBlockAtRange(e, function (e, o, r) {\n return n(t) ? i = i.editObjectAtIndex(r, function () {\n return e.removeAttribute(t);\n }) : o[0] !== o[1] ? i = i.editObjectAtIndex(r, function () {\n return e.copyWithText(e.text.removeAttributeAtRange(t, o));\n }) : void 0;\n }), new this.constructor(i);\n }, c.prototype.updateAttributesForAttachment = function (t, e) {\n var n, i, o, r;\n return o = (i = this.getRangeOfAttachment(e))[0], n = this.locationFromPosition(o).index, r = this.getTextAtIndex(n), new this.constructor(this.blockList.editObjectAtIndex(n, function (n) {\n return n.copyWithText(r.updateAttributesForAttachment(t, e));\n }));\n }, c.prototype.removeAttributeForAttachment = function (t, e) {\n var n;\n return n = this.getRangeOfAttachment(e), this.removeAttributeAtRange(t, n);\n }, c.prototype.insertBlockBreakAtRange = function (t) {\n var n, o, r, s;\n return s = (t = i(t))[0], r = this.locationFromPosition(s).offset, o = this.removeTextAtRange(t), 0 === r && (n = [new e.Block()]), new this.constructor(o.blockList.insertSplittableListAtPosition(new e.SplittableList(n), s));\n }, c.prototype.applyBlockAttributeAtRange = function (t, e, i) {\n var o, r, s, a;\n return s = this.expandRangeToLineBreaksAndSplitBlocks(i), r = s.document, i = s.range, o = n(t), o.listAttribute ? (r = r.removeLastListAttributeAtRange(i, {\n exceptAttributeName: t\n }), a = r.convertLineBreaksToBlockBreaksInRange(i), r = a.document, i = a.range) : r = o.exclusive ? r.removeBlockAttributesAtRange(i) : o.terminal ? r.removeLastTerminalAttributeAtRange(i) : r.consolidateBlocksAtRange(i), r.addAttributeAtRange(t, e, i);\n }, c.prototype.removeLastListAttributeAtRange = function (t, e) {\n var i;\n return null == e && (e = {}), i = this.blockList, this.eachBlockAtRange(t, function (t, o, r) {\n var s;\n if ((s = t.getLastAttribute()) && n(s).listAttribute && s !== e.exceptAttributeName) return i = i.editObjectAtIndex(r, function () {\n return t.removeAttribute(s);\n });\n }), new this.constructor(i);\n }, c.prototype.removeLastTerminalAttributeAtRange = function (t) {\n var e;\n return e = this.blockList, this.eachBlockAtRange(t, function (t, i, o) {\n var r;\n if ((r = t.getLastAttribute()) && n(r).terminal) return e = e.editObjectAtIndex(o, function () {\n return t.removeAttribute(r);\n });\n }), new this.constructor(e);\n }, c.prototype.removeBlockAttributesAtRange = function (t) {\n var e;\n return e = this.blockList, this.eachBlockAtRange(t, function (t, n, i) {\n return t.hasAttributes() ? e = e.editObjectAtIndex(i, function () {\n return t.copyWithoutAttributes();\n }) : void 0;\n }), new this.constructor(e);\n }, c.prototype.expandRangeToLineBreaksAndSplitBlocks = function (t) {\n var e, n, o, r, s, a, u, c, l;\n return a = t = i(t), l = a[0], r = a[1], c = this.locationFromPosition(l), o = this.locationFromPosition(r), e = this, u = e.getBlockAtIndex(c.index), null != (c.offset = u.findLineBreakInDirectionFromPosition(\"backward\", c.offset)) && (s = e.positionFromLocation(c), e = e.insertBlockBreakAtRange([s, s + 1]), o.index += 1, o.offset -= e.getBlockAtIndex(c.index).getLength(), c.index += 1), c.offset = 0, 0 === o.offset && o.index > c.index ? (o.index -= 1, o.offset = e.getBlockAtIndex(o.index).getBlockBreakPosition()) : (n = e.getBlockAtIndex(o.index), \"\\n\" === n.text.getStringAtRange([o.offset - 1, o.offset]) ? o.offset -= 1 : o.offset = n.findLineBreakInDirectionFromPosition(\"forward\", o.offset), o.offset !== n.getBlockBreakPosition() && (s = e.positionFromLocation(o), e = e.insertBlockBreakAtRange([s, s + 1]))), l = e.positionFromLocation(c), r = e.positionFromLocation(o), t = i([l, r]), {\n document: e,\n range: t\n };\n }, c.prototype.convertLineBreaksToBlockBreaksInRange = function (t) {\n var e, n, o;\n return n = (t = i(t))[0], o = this.getStringAtRange(t).slice(0, -1), e = this, o.replace(/.*?\\n/g, function (t) {\n return n += t.length, e = e.insertBlockBreakAtRange([n - 1, n]);\n }), {\n document: e,\n range: t\n };\n }, c.prototype.consolidateBlocksAtRange = function (t) {\n var e, n, o, r, s;\n return o = t = i(t), s = o[0], n = o[1], r = this.locationFromPosition(s).index, e = this.locationFromPosition(n).index, new this.constructor(this.blockList.consolidateFromIndexToIndex(r, e));\n }, c.prototype.getDocumentAtRange = function (t) {\n var e;\n return t = i(t), e = this.blockList.getSplittableListInRange(t).toArray(), new this.constructor(e);\n }, c.prototype.getStringAtRange = function (t) {\n var e, n, o;\n return o = t = i(t), n = o[o.length - 1], n !== this.getLength() && (e = -1), this.getDocumentAtRange(t).toString().slice(0, e);\n }, c.prototype.getBlockAtIndex = function (t) {\n return this.blockList.getObjectAtIndex(t);\n }, c.prototype.getBlockAtPosition = function (t) {\n var e;\n return e = this.locationFromPosition(t).index, this.getBlockAtIndex(e);\n }, c.prototype.getTextAtIndex = function (t) {\n var e;\n return null != (e = this.getBlockAtIndex(t)) ? e.text : void 0;\n }, c.prototype.getTextAtPosition = function (t) {\n var e;\n return e = this.locationFromPosition(t).index, this.getTextAtIndex(e);\n }, c.prototype.getPieceAtPosition = function (t) {\n var e, n, i;\n return i = this.locationFromPosition(t), e = i.index, n = i.offset, this.getTextAtIndex(e).getPieceAtPosition(n);\n }, c.prototype.getCharacterAtPosition = function (t) {\n var e, n, i;\n return i = this.locationFromPosition(t), e = i.index, n = i.offset, this.getTextAtIndex(e).getStringAtRange([n, n + 1]);\n }, c.prototype.getLength = function () {\n return this.blockList.getEndPosition();\n }, c.prototype.getBlocks = function () {\n return this.blockList.toArray();\n }, c.prototype.getBlockCount = function () {\n return this.blockList.length;\n }, c.prototype.getEditCount = function () {\n return this.editCount;\n }, c.prototype.eachBlock = function (t) {\n return this.blockList.eachObject(t);\n }, c.prototype.eachBlockAtRange = function (t, e) {\n var n, o, r, s, a, u, c, l, h, p, d, f;\n if (u = t = i(t), d = u[0], r = u[1], p = this.locationFromPosition(d), o = this.locationFromPosition(r), p.index === o.index) return n = this.getBlockAtIndex(p.index), f = [p.offset, o.offset], e(n, f, p.index);\n\n for (h = [], a = s = c = p.index, l = o.index; l >= c ? l >= s : s >= l; a = l >= c ? ++s : --s) (n = this.getBlockAtIndex(a)) ? (f = function () {\n switch (a) {\n case p.index:\n return [p.offset, n.text.getLength()];\n\n case o.index:\n return [0, o.offset];\n\n default:\n return [0, n.text.getLength()];\n }\n }(), h.push(e(n, f, a))) : h.push(void 0);\n\n return h;\n }, c.prototype.getCommonAttributesAtRange = function (t) {\n var n, r, s;\n return r = (t = i(t))[0], o(t) ? this.getCommonAttributesAtPosition(r) : (s = [], n = [], this.eachBlockAtRange(t, function (t, e) {\n return e[0] !== e[1] ? (s.push(t.text.getCommonAttributesAtRange(e)), n.push(l(t))) : void 0;\n }), e.Hash.fromCommonAttributesOfObjects(s).merge(e.Hash.fromCommonAttributesOfObjects(n)).toObject());\n }, c.prototype.getCommonAttributesAtPosition = function (t) {\n var n, i, o, r, s, a, c, h, p, d;\n if (p = this.locationFromPosition(t), s = p.index, h = p.offset, o = this.getBlockAtIndex(s), !o) return {};\n r = l(o), n = o.text.getAttributesAtPosition(h), i = o.text.getAttributesAtPosition(h - 1), a = function () {\n var t, n;\n t = e.config.textAttributes, n = [];\n\n for (c in t) d = t[c], d.inheritable && n.push(c);\n\n return n;\n }();\n\n for (c in i) d = i[c], (d === n[c] || u.call(a, c) >= 0) && (r[c] = d);\n\n return r;\n }, c.prototype.getRangeOfCommonAttributeAtPosition = function (t, e) {\n var n, o, r, s, a, u, c, l, h;\n return a = this.locationFromPosition(e), r = a.index, s = a.offset, h = this.getTextAtIndex(r), u = h.getExpandedRangeForAttributeAtOffset(t, s), l = u[0], o = u[1], c = this.positionFromLocation({\n index: r,\n offset: l\n }), n = this.positionFromLocation({\n index: r,\n offset: o\n }), i([c, n]);\n }, c.prototype.getBaseBlockAttributes = function () {\n var t, e, n, i, o, r, s;\n\n for (t = this.getBlockAtIndex(0).getAttributes(), n = i = 1, s = this.getBlockCount(); s >= 1 ? s > i : i > s; n = s >= 1 ? ++i : --i) e = this.getBlockAtIndex(n).getAttributes(), r = Math.min(t.length, e.length), t = function () {\n var n, i, s;\n\n for (s = [], o = n = 0, i = r; (i >= 0 ? i > n : n > i) && e[o] === t[o]; o = i >= 0 ? ++n : --n) s.push(e[o]);\n\n return s;\n }();\n\n return t;\n }, l = function (t) {\n var e, n;\n return n = {}, (e = t.getLastAttribute()) && (n[e] = !0), n;\n }, c.prototype.getAttachmentById = function (t) {\n var e, n, i, o;\n\n for (o = this.getAttachments(), n = 0, i = o.length; i > n; n++) if (e = o[n], e.id === t) return e;\n }, c.prototype.getAttachmentPieces = function () {\n var t;\n return t = [], this.blockList.eachObject(function (e) {\n var n;\n return n = e.text, t = t.concat(n.getAttachmentPieces());\n }), t;\n }, c.prototype.getAttachments = function () {\n var t, e, n, i, o;\n\n for (i = this.getAttachmentPieces(), o = [], t = 0, e = i.length; e > t; t++) n = i[t], o.push(n.attachment);\n\n return o;\n }, c.prototype.getRangeOfAttachment = function (t) {\n var e, n, o, r, s, a, u;\n\n for (r = 0, s = this.blockList.toArray(), n = e = 0, o = s.length; o > e; n = ++e) {\n if (a = s[n].text, u = a.getRangeOfAttachment(t)) return i([r + u[0], r + u[1]]);\n r += a.getLength();\n }\n }, c.prototype.getLocationRangeOfAttachment = function (t) {\n var e;\n return e = this.getRangeOfAttachment(t), this.locationRangeFromRange(e);\n }, c.prototype.getAttachmentPieceForAttachment = function (t) {\n var e, n, i, o;\n\n for (o = this.getAttachmentPieces(), e = 0, n = o.length; n > e; e++) if (i = o[e], i.attachment === t) return i;\n }, c.prototype.findRangesForBlockAttribute = function (t) {\n var e, n, i, o, r, s, a;\n\n for (r = 0, s = [], a = this.getBlocks(), n = 0, i = a.length; i > n; n++) e = a[n], o = e.getLength(), e.hasAttribute(t) && s.push([r, r + o]), r += o;\n\n return s;\n }, c.prototype.findRangesForTextAttribute = function (t, e) {\n var n, i, o, r, s, a, u, c, l, h;\n\n for (h = (null != e ? e : {}).withValue, a = 0, u = [], c = [], r = function (e) {\n return null != h ? e.getAttribute(t) === h : e.hasAttribute(t);\n }, l = this.getPieces(), n = 0, i = l.length; i > n; n++) s = l[n], o = s.getLength(), r(s) && (u[1] === a ? u[1] = a + o : c.push(u = [a, a + o])), a += o;\n\n return c;\n }, c.prototype.locationFromPosition = function (t) {\n var e, n;\n return n = this.blockList.findIndexAndOffsetAtPosition(Math.max(0, t)), null != n.index ? n : (e = this.getBlocks(), {\n index: e.length - 1,\n offset: e[e.length - 1].getLength()\n });\n }, c.prototype.positionFromLocation = function (t) {\n return this.blockList.findPositionAtIndexAndOffset(t.index, t.offset);\n }, c.prototype.locationRangeFromPosition = function (t) {\n return i(this.locationFromPosition(t));\n }, c.prototype.locationRangeFromRange = function (t) {\n var e, n, o, r;\n if (t = i(t)) return r = t[0], n = t[1], o = this.locationFromPosition(r), e = this.locationFromPosition(n), i([o, e]);\n }, c.prototype.rangeFromLocationRange = function (t) {\n var e, n;\n return t = i(t), e = this.positionFromLocation(t[0]), o(t) || (n = this.positionFromLocation(t[1])), i([e, n]);\n }, c.prototype.isEqualTo = function (t) {\n return this.blockList.isEqualTo(null != t ? t.blockList : void 0);\n }, c.prototype.getTexts = function () {\n var t, e, n, i, o;\n\n for (i = this.getBlocks(), o = [], e = 0, n = i.length; n > e; e++) t = i[e], o.push(t.text);\n\n return o;\n }, c.prototype.getPieces = function () {\n var t, e, n, i, o;\n\n for (n = [], i = this.getTexts(), t = 0, e = i.length; e > t; t++) o = i[t], n.push.apply(n, o.getPieces());\n\n return n;\n }, c.prototype.getObjects = function () {\n return this.getBlocks().concat(this.getTexts()).concat(this.getPieces());\n }, c.prototype.toSerializableDocument = function () {\n var t;\n return t = [], this.blockList.eachObject(function (e) {\n return t.push(e.copyWithText(e.text.toSerializableText()));\n }), new this.constructor(t);\n }, c.prototype.toString = function () {\n return this.blockList.toString();\n }, c.prototype.toJSON = function () {\n return this.blockList.toJSON();\n }, c.prototype.toConsole = function () {\n var t;\n return JSON.stringify(function () {\n var e, n, i, o;\n\n for (i = this.blockList.toArray(), o = [], e = 0, n = i.length; n > e; e++) t = i[e], o.push(JSON.parse(t.text.toConsole()));\n\n return o;\n }.call(this));\n }, c;\n }(e.Object);\n }.call(this), function () {\n e.LineBreakInsertion = function () {\n function t(t) {\n var e;\n this.composition = t, this.document = this.composition.document, e = this.composition.getSelectedRange(), this.startPosition = e[0], this.endPosition = e[1], this.startLocation = this.document.locationFromPosition(this.startPosition), this.endLocation = this.document.locationFromPosition(this.endPosition), this.block = this.document.getBlockAtIndex(this.endLocation.index), this.breaksOnReturn = this.block.breaksOnReturn(), this.previousCharacter = this.block.text.getStringAtPosition(this.endLocation.offset - 1), this.nextCharacter = this.block.text.getStringAtPosition(this.endLocation.offset);\n }\n\n return t.prototype.shouldInsertBlockBreak = function () {\n return this.block.hasAttributes() && this.block.isListItem() && !this.block.isEmpty() ? 0 !== this.startLocation.offset : this.breaksOnReturn && \"\\n\" !== this.nextCharacter;\n }, t.prototype.shouldBreakFormattedBlock = function () {\n return this.block.hasAttributes() && !this.block.isListItem() && (this.breaksOnReturn && \"\\n\" === this.nextCharacter || \"\\n\" === this.previousCharacter);\n }, t.prototype.shouldDecreaseListLevel = function () {\n return this.block.hasAttributes() && this.block.isListItem() && this.block.isEmpty();\n }, t.prototype.shouldPrependListItem = function () {\n return this.block.isListItem() && 0 === this.startLocation.offset && !this.block.isEmpty();\n }, t.prototype.shouldRemoveLastBlockAttribute = function () {\n return this.block.hasAttributes() && !this.block.isListItem() && this.block.isEmpty();\n }, t;\n }();\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s,\n a,\n u,\n c,\n l,\n h = function (t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) p.call(e, i) && (t[i] = e[i]);\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n p = {}.hasOwnProperty;\n\n s = e.normalizeRange, c = e.rangesAreEqual, u = e.rangeIsCollapsed, a = e.objectsAreEqual, t = e.arrayStartsWith, l = e.summarizeArrayChange, i = e.getAllAttributeNames, o = e.getBlockConfig, r = e.getTextConfig, n = e.extend, e.Composition = function (p) {\n function d() {\n this.document = new e.Document(), this.attachments = [], this.currentAttributes = {}, this.revision = 0;\n }\n\n var f;\n return h(d, p), d.prototype.setDocument = function (t) {\n var e;\n return t.isEqualTo(this.document) ? void 0 : (this.document = t, this.refreshAttachments(), this.revision++, null != (e = this.delegate) && \"function\" == typeof e.compositionDidChangeDocument ? e.compositionDidChangeDocument(t) : void 0);\n }, d.prototype.getSnapshot = function () {\n return {\n document: this.document,\n selectedRange: this.getSelectedRange()\n };\n }, d.prototype.loadSnapshot = function (t) {\n var n, i, o, r;\n return n = t.document, r = t.selectedRange, null != (i = this.delegate) && \"function\" == typeof i.compositionWillLoadSnapshot && i.compositionWillLoadSnapshot(), this.setDocument(null != n ? n : new e.Document()), this.setSelection(null != r ? r : [0, 0]), null != (o = this.delegate) && \"function\" == typeof o.compositionDidLoadSnapshot ? o.compositionDidLoadSnapshot() : void 0;\n }, d.prototype.insertText = function (t, e) {\n var n, i, o, r;\n return r = (null != e ? e : {\n updatePosition: !0\n }).updatePosition, i = this.getSelectedRange(), this.setDocument(this.document.insertTextAtRange(t, i)), o = i[0], n = o + t.getLength(), r && this.setSelection(n), this.notifyDelegateOfInsertionAtRange([o, n]);\n }, d.prototype.insertBlock = function (t) {\n var n;\n return null == t && (t = new e.Block()), n = new e.Document([t]), this.insertDocument(n);\n }, d.prototype.insertDocument = function (t) {\n var n, i, o;\n return null == t && (t = new e.Document()), i = this.getSelectedRange(), this.setDocument(this.document.insertDocumentAtRange(t, i)), o = i[0], n = o + t.getLength(), this.setSelection(n), this.notifyDelegateOfInsertionAtRange([o, n]);\n }, d.prototype.insertString = function (t, n) {\n var i, o;\n return i = this.getCurrentTextAttributes(), o = e.Text.textForStringWithAttributes(t, i), this.insertText(o, n);\n }, d.prototype.insertBlockBreak = function () {\n var t, e, n;\n return e = this.getSelectedRange(), this.setDocument(this.document.insertBlockBreakAtRange(e)), n = e[0], t = n + 1, this.setSelection(t), this.notifyDelegateOfInsertionAtRange([n, t]);\n }, d.prototype.insertLineBreak = function () {\n var t, n;\n return n = new e.LineBreakInsertion(this), n.shouldDecreaseListLevel() ? (this.decreaseListLevel(), this.setSelection(n.startPosition)) : n.shouldPrependListItem() ? (t = new e.Document([n.block.copyWithoutText()]), this.insertDocument(t)) : n.shouldInsertBlockBreak() ? this.insertBlockBreak() : n.shouldRemoveLastBlockAttribute() ? this.removeLastBlockAttribute() : n.shouldBreakFormattedBlock() ? this.breakFormattedBlock(n) : this.insertString(\"\\n\");\n }, d.prototype.insertHTML = function (t) {\n var n, i, o, r;\n return n = e.Document.fromHTML(t), o = this.getSelectedRange(), this.setDocument(this.document.mergeDocumentAtRange(n, o)), r = o[0], i = r + n.getLength() - 1, this.setSelection(i), this.notifyDelegateOfInsertionAtRange([r, i]);\n }, d.prototype.replaceHTML = function (t) {\n var n, i, o;\n return n = e.Document.fromHTML(t).copyUsingObjectsFromDocument(this.document), i = this.getLocationRange({\n strict: !1\n }), o = this.document.rangeFromLocationRange(i), this.setDocument(n), this.setSelection(o);\n }, d.prototype.insertFile = function (t) {\n return this.insertFiles([t]);\n }, d.prototype.insertFiles = function (t) {\n var n, i, o, r, s, a;\n\n for (i = [], r = 0, s = t.length; s > r; r++) o = t[r], (null != (a = this.delegate) ? a.compositionShouldAcceptFile(o) : void 0) && (n = e.Attachment.attachmentForFile(o), i.push(n));\n\n return this.insertAttachments(i);\n }, d.prototype.insertAttachment = function (t) {\n return this.insertAttachments([t]);\n }, d.prototype.insertAttachments = function (t) {\n var n, i, o, r, s, a, u, c, l;\n\n for (c = new e.Text(), r = 0, s = t.length; s > r; r++) n = t[r], l = n.getType(), a = null != (u = e.config.attachments[l]) ? u.presentation : void 0, o = this.getCurrentTextAttributes(), a && (o.presentation = a), i = e.Text.textForAttachmentWithAttributes(n, o), c = c.appendText(i);\n\n return this.insertText(c);\n }, d.prototype.shouldManageDeletingInDirection = function (t) {\n var e;\n\n if (e = this.getLocationRange(), u(e)) {\n if (\"backward\" === t && 0 === e[0].offset) return !0;\n if (this.shouldManageMovingCursorInDirection(t)) return !0;\n } else if (e[0].index !== e[1].index) return !0;\n\n return !1;\n }, d.prototype.deleteInDirection = function (t, e) {\n var n, i, o, r, s, a, c, l;\n return r = (null != e ? e : {}).length, s = this.getLocationRange(), a = this.getSelectedRange(), c = u(a), c ? o = \"backward\" === t && 0 === s[0].offset : l = s[0].index !== s[1].index, o && this.canDecreaseBlockAttributeLevel() && (i = this.getBlock(), i.isListItem() ? this.decreaseListLevel() : this.decreaseBlockAttributeLevel(), this.setSelection(a[0]), i.isEmpty()) ? !1 : (c && (a = this.getExpandedRangeInDirection(t, {\n length: r\n }), \"backward\" === t && (n = this.getAttachmentAtRange(a))), n ? (this.editAttachment(n), !1) : (this.setDocument(this.document.removeTextAtRange(a)), this.setSelection(a[0]), o || l ? !1 : void 0));\n }, d.prototype.moveTextFromRange = function (t) {\n var e;\n return e = this.getSelectedRange()[0], this.setDocument(this.document.moveTextFromRangeToPosition(t, e)), this.setSelection(e);\n }, d.prototype.removeAttachment = function (t) {\n var e;\n return (e = this.document.getRangeOfAttachment(t)) ? (this.stopEditingAttachment(), this.setDocument(this.document.removeTextAtRange(e)), this.setSelection(e[0])) : void 0;\n }, d.prototype.removeLastBlockAttribute = function () {\n var t, e, n, i;\n return n = this.getSelectedRange(), i = n[0], e = n[1], t = this.document.getBlockAtPosition(e), this.removeCurrentAttribute(t.getLastAttribute()), this.setSelection(i);\n }, f = \" \", d.prototype.insertPlaceholder = function () {\n return this.placeholderPosition = this.getPosition(), this.insertString(f);\n }, d.prototype.selectPlaceholder = function () {\n return null != this.placeholderPosition ? (this.setSelectedRange([this.placeholderPosition, this.placeholderPosition + f.length]), this.getSelectedRange()) : void 0;\n }, d.prototype.forgetPlaceholder = function () {\n return this.placeholderPosition = null;\n }, d.prototype.hasCurrentAttribute = function (t) {\n var e;\n return e = this.currentAttributes[t], null != e && e !== !1;\n }, d.prototype.toggleCurrentAttribute = function (t) {\n var e;\n return (e = !this.currentAttributes[t]) ? this.setCurrentAttribute(t, e) : this.removeCurrentAttribute(t);\n }, d.prototype.canSetCurrentAttribute = function (t) {\n return o(t) ? this.canSetCurrentBlockAttribute(t) : this.canSetCurrentTextAttribute(t);\n }, d.prototype.canSetCurrentTextAttribute = function () {\n var t, e, n, i, o;\n\n if (e = this.getSelectedDocument()) {\n for (o = e.getAttachments(), n = 0, i = o.length; i > n; n++) if (t = o[n], !t.hasContent()) return !1;\n\n return !0;\n }\n }, d.prototype.canSetCurrentBlockAttribute = function () {\n var t;\n if (t = this.getBlock()) return !t.isTerminalBlock();\n }, d.prototype.setCurrentAttribute = function (t, e) {\n return o(t) ? this.setBlockAttribute(t, e) : (this.setTextAttribute(t, e), this.currentAttributes[t] = e, this.notifyDelegateOfCurrentAttributesChange());\n }, d.prototype.setTextAttribute = function (t, n) {\n var i, o, r, s;\n if (o = this.getSelectedRange()) return r = o[0], i = o[1], r !== i ? this.setDocument(this.document.addAttributeAtRange(t, n, o)) : \"href\" === t ? (s = e.Text.textForStringWithAttributes(n, {\n href: n\n }), this.insertText(s)) : void 0;\n }, d.prototype.setBlockAttribute = function (t, e) {\n var n, i;\n if (i = this.getSelectedRange()) return this.canSetCurrentAttribute(t) ? (n = this.getBlock(), this.setDocument(this.document.applyBlockAttributeAtRange(t, e, i)), this.setSelection(i)) : void 0;\n }, d.prototype.removeCurrentAttribute = function (t) {\n return o(t) ? (this.removeBlockAttribute(t), this.updateCurrentAttributes()) : (this.removeTextAttribute(t), delete this.currentAttributes[t], this.notifyDelegateOfCurrentAttributesChange());\n }, d.prototype.removeTextAttribute = function (t) {\n var e;\n if (e = this.getSelectedRange()) return this.setDocument(this.document.removeAttributeAtRange(t, e));\n }, d.prototype.removeBlockAttribute = function (t) {\n var e;\n if (e = this.getSelectedRange()) return this.setDocument(this.document.removeAttributeAtRange(t, e));\n }, d.prototype.canDecreaseNestingLevel = function () {\n var t;\n return (null != (t = this.getBlock()) ? t.getNestingLevel() : void 0) > 0;\n }, d.prototype.canIncreaseNestingLevel = function () {\n var e, n, i;\n if (e = this.getBlock()) return (null != (i = o(e.getLastNestableAttribute())) ? i.listAttribute : 0) ? (n = this.getPreviousBlock()) ? t(n.getListItemAttributes(), e.getListItemAttributes()) : void 0 : e.getNestingLevel() > 0;\n }, d.prototype.decreaseNestingLevel = function () {\n var t;\n if (t = this.getBlock()) return this.setDocument(this.document.replaceBlock(t, t.decreaseNestingLevel()));\n }, d.prototype.increaseNestingLevel = function () {\n var t;\n if (t = this.getBlock()) return this.setDocument(this.document.replaceBlock(t, t.increaseNestingLevel()));\n }, d.prototype.canDecreaseBlockAttributeLevel = function () {\n var t;\n return (null != (t = this.getBlock()) ? t.getAttributeLevel() : void 0) > 0;\n }, d.prototype.decreaseBlockAttributeLevel = function () {\n var t, e;\n return (t = null != (e = this.getBlock()) ? e.getLastAttribute() : void 0) ? this.removeCurrentAttribute(t) : void 0;\n }, d.prototype.decreaseListLevel = function () {\n var t, e, n, i, o, r;\n\n for (r = this.getSelectedRange()[0], o = this.document.locationFromPosition(r).index, n = o, t = this.getBlock().getAttributeLevel(); (e = this.document.getBlockAtIndex(n + 1)) && e.isListItem() && e.getAttributeLevel() > t;) n++;\n\n return r = this.document.positionFromLocation({\n index: o,\n offset: 0\n }), i = this.document.positionFromLocation({\n index: n,\n offset: 0\n }), this.setDocument(this.document.removeLastListAttributeAtRange([r, i]));\n }, d.prototype.updateCurrentAttributes = function () {\n var t, e, n, o, r, s;\n\n if (s = this.getSelectedRange({\n ignoreLock: !0\n })) {\n for (e = this.document.getCommonAttributesAtRange(s), r = i(), n = 0, o = r.length; o > n; n++) t = r[n], e[t] || this.canSetCurrentAttribute(t) || (e[t] = !1);\n\n if (!a(e, this.currentAttributes)) return this.currentAttributes = e, this.notifyDelegateOfCurrentAttributesChange();\n }\n }, d.prototype.getCurrentAttributes = function () {\n return n.call({}, this.currentAttributes);\n }, d.prototype.getCurrentTextAttributes = function () {\n var t, e, n, i;\n t = {}, n = this.currentAttributes;\n\n for (e in n) i = n[e], i !== !1 && r(e) && (t[e] = i);\n\n return t;\n }, d.prototype.freezeSelection = function () {\n return this.setCurrentAttribute(\"frozen\", !0);\n }, d.prototype.thawSelection = function () {\n return this.removeCurrentAttribute(\"frozen\");\n }, d.prototype.hasFrozenSelection = function () {\n return this.hasCurrentAttribute(\"frozen\");\n }, d.proxyMethod(\"getSelectionManager().getPointRange\"), d.proxyMethod(\"getSelectionManager().setLocationRangeFromPointRange\"), d.proxyMethod(\"getSelectionManager().createLocationRangeFromDOMRange\"), d.proxyMethod(\"getSelectionManager().locationIsCursorTarget\"), d.proxyMethod(\"getSelectionManager().selectionIsExpanded\"), d.proxyMethod(\"delegate?.getSelectionManager\"), d.prototype.setSelection = function (t) {\n var e, n;\n return e = this.document.locationRangeFromRange(t), null != (n = this.delegate) ? n.compositionDidRequestChangingSelectionToLocationRange(e) : void 0;\n }, d.prototype.getSelectedRange = function () {\n var t;\n return (t = this.getLocationRange()) ? this.document.rangeFromLocationRange(t) : void 0;\n }, d.prototype.setSelectedRange = function (t) {\n var e;\n return e = this.document.locationRangeFromRange(t), this.getSelectionManager().setLocationRange(e);\n }, d.prototype.getPosition = function () {\n var t;\n return (t = this.getLocationRange()) ? this.document.positionFromLocation(t[0]) : void 0;\n }, d.prototype.getLocationRange = function (t) {\n var e, n;\n return null != (e = null != (n = this.targetLocationRange) ? n : this.getSelectionManager().getLocationRange(t)) ? e : s({\n index: 0,\n offset: 0\n });\n }, d.prototype.withTargetLocationRange = function (t, e) {\n var n;\n this.targetLocationRange = t;\n\n try {\n n = e();\n } finally {\n this.targetLocationRange = null;\n }\n\n return n;\n }, d.prototype.withTargetRange = function (t, e) {\n var n;\n return n = this.document.locationRangeFromRange(t), this.withTargetLocationRange(n, e);\n }, d.prototype.withTargetDOMRange = function (t, e) {\n var n;\n return n = this.createLocationRangeFromDOMRange(t, {\n strict: !1\n }), this.withTargetLocationRange(n, e);\n }, d.prototype.getExpandedRangeInDirection = function (t, e) {\n var n, i, o, r;\n return i = (null != e ? e : {}).length, o = this.getSelectedRange(), r = o[0], n = o[1], \"backward\" === t ? i ? r -= i : r = this.translateUTF16PositionFromOffset(r, -1) : i ? n += i : n = this.translateUTF16PositionFromOffset(n, 1), s([r, n]);\n }, d.prototype.shouldManageMovingCursorInDirection = function (t) {\n var e;\n return this.editingAttachment ? !0 : (e = this.getExpandedRangeInDirection(t), null != this.getAttachmentAtRange(e));\n }, d.prototype.moveCursorInDirection = function (t) {\n var e, n, i, o;\n return this.editingAttachment ? i = this.document.getRangeOfAttachment(this.editingAttachment) : (o = this.getSelectedRange(), i = this.getExpandedRangeInDirection(t), n = !c(o, i)), this.setSelectedRange(\"backward\" === t ? i[0] : i[1]), n && (e = this.getAttachmentAtRange(i)) ? this.editAttachment(e) : void 0;\n }, d.prototype.expandSelectionInDirection = function (t, e) {\n var n, i;\n return n = (null != e ? e : {}).length, i = this.getExpandedRangeInDirection(t, {\n length: n\n }), this.setSelectedRange(i);\n }, d.prototype.expandSelectionForEditing = function () {\n return this.hasCurrentAttribute(\"href\") ? this.expandSelectionAroundCommonAttribute(\"href\") : void 0;\n }, d.prototype.expandSelectionAroundCommonAttribute = function (t) {\n var e, n;\n return e = this.getPosition(), n = this.document.getRangeOfCommonAttributeAtPosition(t, e), this.setSelectedRange(n);\n }, d.prototype.selectionContainsAttachments = function () {\n var t;\n return (null != (t = this.getSelectedAttachments()) ? t.length : void 0) > 0;\n }, d.prototype.selectionIsInCursorTarget = function () {\n return this.editingAttachment || this.positionIsCursorTarget(this.getPosition());\n }, d.prototype.positionIsCursorTarget = function (t) {\n var e;\n return (e = this.document.locationFromPosition(t)) ? this.locationIsCursorTarget(e) : void 0;\n }, d.prototype.positionIsBlockBreak = function (t) {\n var e;\n return null != (e = this.document.getPieceAtPosition(t)) ? e.isBlockBreak() : void 0;\n }, d.prototype.getSelectedDocument = function () {\n var t;\n return (t = this.getSelectedRange()) ? this.document.getDocumentAtRange(t) : void 0;\n }, d.prototype.getSelectedAttachments = function () {\n var t;\n return null != (t = this.getSelectedDocument()) ? t.getAttachments() : void 0;\n }, d.prototype.getAttachments = function () {\n return this.attachments.slice(0);\n }, d.prototype.refreshAttachments = function () {\n var t, e, n, i, o, r, s, a, u, c, h, p;\n\n for (n = this.document.getAttachments(), a = l(this.attachments, n), t = a.added, h = a.removed, this.attachments = n, i = 0, r = h.length; r > i; i++) e = h[i], e.delegate = null, null != (u = this.delegate) && \"function\" == typeof u.compositionDidRemoveAttachment && u.compositionDidRemoveAttachment(e);\n\n for (p = [], o = 0, s = t.length; s > o; o++) e = t[o], e.delegate = this, p.push(null != (c = this.delegate) && \"function\" == typeof c.compositionDidAddAttachment ? c.compositionDidAddAttachment(e) : void 0);\n\n return p;\n }, d.prototype.attachmentDidChangeAttributes = function (t) {\n var e;\n return this.revision++, null != (e = this.delegate) && \"function\" == typeof e.compositionDidEditAttachment ? e.compositionDidEditAttachment(t) : void 0;\n }, d.prototype.attachmentDidChangePreviewURL = function (t) {\n var e;\n return this.revision++, null != (e = this.delegate) && \"function\" == typeof e.compositionDidChangeAttachmentPreviewURL ? e.compositionDidChangeAttachmentPreviewURL(t) : void 0;\n }, d.prototype.editAttachment = function (t, e) {\n var n;\n if (t !== this.editingAttachment) return this.stopEditingAttachment(), this.editingAttachment = t, null != (n = this.delegate) && \"function\" == typeof n.compositionDidStartEditingAttachment ? n.compositionDidStartEditingAttachment(this.editingAttachment, e) : void 0;\n }, d.prototype.stopEditingAttachment = function () {\n var t;\n if (this.editingAttachment) return null != (t = this.delegate) && \"function\" == typeof t.compositionDidStopEditingAttachment && t.compositionDidStopEditingAttachment(this.editingAttachment), this.editingAttachment = null;\n }, d.prototype.updateAttributesForAttachment = function (t, e) {\n return this.setDocument(this.document.updateAttributesForAttachment(t, e));\n }, d.prototype.removeAttributeForAttachment = function (t, e) {\n return this.setDocument(this.document.removeAttributeForAttachment(t, e));\n }, d.prototype.breakFormattedBlock = function (t) {\n var n, i, o, r, s;\n return i = t.document, n = t.block, r = t.startPosition, s = [r - 1, r], n.getBlockBreakPosition() === t.startLocation.offset ? (n.breaksOnReturn() && \"\\n\" === t.nextCharacter ? r += 1 : i = i.removeTextAtRange(s), s = [r, r]) : \"\\n\" === t.nextCharacter ? \"\\n\" === t.previousCharacter ? s = [r - 1, r + 1] : (s = [r, r + 1], r += 1) : t.startLocation.offset - 1 !== 0 && (r += 1), o = new e.Document([n.removeLastAttribute().copyWithoutText()]), this.setDocument(i.insertDocumentAtRange(o, s)), this.setSelection(r);\n }, d.prototype.getPreviousBlock = function () {\n var t, e;\n return (e = this.getLocationRange()) && (t = e[0].index, t > 0) ? this.document.getBlockAtIndex(t - 1) : void 0;\n }, d.prototype.getBlock = function () {\n var t;\n return (t = this.getLocationRange()) ? this.document.getBlockAtIndex(t[0].index) : void 0;\n }, d.prototype.getAttachmentAtRange = function (t) {\n var n;\n return n = this.document.getDocumentAtRange(t), n.toString() === e.OBJECT_REPLACEMENT_CHARACTER + \"\\n\" ? n.getAttachments()[0] : void 0;\n }, d.prototype.notifyDelegateOfCurrentAttributesChange = function () {\n var t;\n return null != (t = this.delegate) && \"function\" == typeof t.compositionDidChangeCurrentAttributes ? t.compositionDidChangeCurrentAttributes(this.currentAttributes) : void 0;\n }, d.prototype.notifyDelegateOfInsertionAtRange = function (t) {\n var e;\n return null != (e = this.delegate) && \"function\" == typeof e.compositionDidPerformInsertionAtRange ? e.compositionDidPerformInsertionAtRange(t) : void 0;\n }, d.prototype.translateUTF16PositionFromOffset = function (t, e) {\n var n, i;\n return i = this.document.toUTF16String(), n = i.offsetFromUCS2Offset(t), i.offsetToUCS2Offset(n + e);\n }, d;\n }(e.BasicObject);\n }.call(this), function () {\n var t = function (t, e) {\n function i() {\n this.constructor = t;\n }\n\n for (var o in e) n.call(e, o) && (t[o] = e[o]);\n\n return i.prototype = e.prototype, t.prototype = new i(), t.__super__ = e.prototype, t;\n },\n n = {}.hasOwnProperty;\n\n e.UndoManager = function (e) {\n function n(t) {\n this.composition = t, this.undoEntries = [], this.redoEntries = [];\n }\n\n var i;\n return t(n, e), n.prototype.recordUndoEntry = function (t, e) {\n var n, o, r, s, a;\n return s = null != e ? e : {}, o = s.context, n = s.consolidatable, r = this.undoEntries.slice(-1)[0], n && i(r, t, o) ? void 0 : (a = this.createEntry({\n description: t,\n context: o\n }), this.undoEntries.push(a), this.redoEntries = []);\n }, n.prototype.undo = function () {\n var t, e;\n return (e = this.undoEntries.pop()) ? (t = this.createEntry(e), this.redoEntries.push(t), this.composition.loadSnapshot(e.snapshot)) : void 0;\n }, n.prototype.redo = function () {\n var t, e;\n return (t = this.redoEntries.pop()) ? (e = this.createEntry(t), this.undoEntries.push(e), this.composition.loadSnapshot(t.snapshot)) : void 0;\n }, n.prototype.canUndo = function () {\n return this.undoEntries.length > 0;\n }, n.prototype.canRedo = function () {\n return this.redoEntries.length > 0;\n }, n.prototype.createEntry = function (t) {\n var e, n, i;\n return i = null != t ? t : {}, n = i.description, e = i.context, {\n description: null != n ? n.toString() : void 0,\n context: JSON.stringify(e),\n snapshot: this.composition.getSnapshot()\n };\n }, i = function (t, e, n) {\n return (null != t ? t.description : void 0) === (null != e ? e.toString() : void 0) && (null != t ? t.context : void 0) === JSON.stringify(n);\n }, n;\n }(e.BasicObject);\n }.call(this), function () {\n var t;\n e.attachmentGalleryFilter = function (e) {\n var n;\n return n = new t(e), n.perform(), n.getSnapshot();\n }, t = function () {\n function t(t) {\n this.document = t.document, this.selectedRange = t.selectedRange;\n }\n\n var e, n, i;\n return e = \"attachmentGallery\", n = \"presentation\", i = \"gallery\", t.prototype.perform = function () {\n return this.removeBlockAttribute(), this.applyBlockAttribute();\n }, t.prototype.getSnapshot = function () {\n return {\n document: this.document,\n selectedRange: this.selectedRange\n };\n }, t.prototype.removeBlockAttribute = function () {\n var t, n, i, o, r;\n\n for (o = this.findRangesOfBlocks(), r = [], t = 0, n = o.length; n > t; t++) i = o[t], r.push(this.document = this.document.removeAttributeAtRange(e, i));\n\n return r;\n }, t.prototype.applyBlockAttribute = function () {\n var t, n, i, o, r, s;\n\n for (i = 0, r = this.findRangesOfPieces(), s = [], t = 0, n = r.length; n > t; t++) o = r[t], o[1] - o[0] > 1 && (o[0] += i, o[1] += i, \"\\n\" !== this.document.getCharacterAtPosition(o[1]) && (this.document = this.document.insertBlockBreakAtRange(o[1]), o[1] < this.selectedRange[1] && this.moveSelectedRangeForward(), o[1]++, i++), 0 !== o[0] && \"\\n\" !== this.document.getCharacterAtPosition(o[0] - 1) && (this.document = this.document.insertBlockBreakAtRange(o[0]), o[0] < this.selectedRange[0] && this.moveSelectedRangeForward(), o[0]++, i++), s.push(this.document = this.document.applyBlockAttributeAtRange(e, !0, o)));\n\n return s;\n }, t.prototype.findRangesOfBlocks = function () {\n return this.document.findRangesForBlockAttribute(e);\n }, t.prototype.findRangesOfPieces = function () {\n return this.document.findRangesForTextAttribute(n, {\n withValue: i\n });\n }, t.prototype.moveSelectedRangeForward = function () {\n return this.selectedRange[0] += 1, this.selectedRange[1] += 1;\n }, t;\n }();\n }.call(this), function () {\n var t = function (t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n };\n\n e.Editor = function () {\n function n(n, o, r) {\n this.composition = n, this.selectionManager = o, this.element = r, this.insertFiles = t(this.insertFiles, this), this.undoManager = new e.UndoManager(this.composition), this.filters = i.slice(0);\n }\n\n var i;\n return i = [e.attachmentGalleryFilter], n.prototype.loadDocument = function (t) {\n return this.loadSnapshot({\n document: t,\n selectedRange: [0, 0]\n });\n }, n.prototype.loadHTML = function (t) {\n return null == t && (t = \"\"), this.loadDocument(e.Document.fromHTML(t, {\n referenceElement: this.element\n }));\n }, n.prototype.loadJSON = function (t) {\n var n, i;\n return n = t.document, i = t.selectedRange, n = e.Document.fromJSON(n), this.loadSnapshot({\n document: n,\n selectedRange: i\n });\n }, n.prototype.loadSnapshot = function (t) {\n return this.undoManager = new e.UndoManager(this.composition), this.composition.loadSnapshot(t);\n }, n.prototype.getDocument = function () {\n return this.composition.document;\n }, n.prototype.getSelectedDocument = function () {\n return this.composition.getSelectedDocument();\n }, n.prototype.getSnapshot = function () {\n return this.composition.getSnapshot();\n }, n.prototype.toJSON = function () {\n return this.getSnapshot();\n }, n.prototype.deleteInDirection = function (t) {\n return this.composition.deleteInDirection(t);\n }, n.prototype.insertAttachment = function (t) {\n return this.composition.insertAttachment(t);\n }, n.prototype.insertAttachments = function (t) {\n return this.composition.insertAttachments(t);\n }, n.prototype.insertDocument = function (t) {\n return this.composition.insertDocument(t);\n }, n.prototype.insertFile = function (t) {\n return this.composition.insertFile(t);\n }, n.prototype.insertFiles = function (t) {\n return this.composition.insertFiles(t);\n }, n.prototype.insertHTML = function (t) {\n return this.composition.insertHTML(t);\n }, n.prototype.insertString = function (t) {\n return this.composition.insertString(t);\n }, n.prototype.insertText = function (t) {\n return this.composition.insertText(t);\n }, n.prototype.insertLineBreak = function () {\n return this.composition.insertLineBreak();\n }, n.prototype.getSelectedRange = function () {\n return this.composition.getSelectedRange();\n }, n.prototype.getPosition = function () {\n return this.composition.getPosition();\n }, n.prototype.getClientRectAtPosition = function (t) {\n var e;\n return e = this.getDocument().locationRangeFromRange([t, t + 1]), this.selectionManager.getClientRectAtLocationRange(e);\n }, n.prototype.expandSelectionInDirection = function (t) {\n return this.composition.expandSelectionInDirection(t);\n }, n.prototype.moveCursorInDirection = function (t) {\n return this.composition.moveCursorInDirection(t);\n }, n.prototype.setSelectedRange = function (t) {\n return this.composition.setSelectedRange(t);\n }, n.prototype.activateAttribute = function (t, e) {\n return null == e && (e = !0), this.composition.setCurrentAttribute(t, e);\n }, n.prototype.attributeIsActive = function (t) {\n return this.composition.hasCurrentAttribute(t);\n }, n.prototype.canActivateAttribute = function (t) {\n return this.composition.canSetCurrentAttribute(t);\n }, n.prototype.deactivateAttribute = function (t) {\n return this.composition.removeCurrentAttribute(t);\n }, n.prototype.canDecreaseNestingLevel = function () {\n return this.composition.canDecreaseNestingLevel();\n }, n.prototype.canIncreaseNestingLevel = function () {\n return this.composition.canIncreaseNestingLevel();\n }, n.prototype.decreaseNestingLevel = function () {\n return this.canDecreaseNestingLevel() ? this.composition.decreaseNestingLevel() : void 0;\n }, n.prototype.increaseNestingLevel = function () {\n return this.canIncreaseNestingLevel() ? this.composition.increaseNestingLevel() : void 0;\n }, n.prototype.canRedo = function () {\n return this.undoManager.canRedo();\n }, n.prototype.canUndo = function () {\n return this.undoManager.canUndo();\n }, n.prototype.recordUndoEntry = function (t, e) {\n var n, i, o;\n return o = null != e ? e : {}, i = o.context, n = o.consolidatable, this.undoManager.recordUndoEntry(t, {\n context: i,\n consolidatable: n\n });\n }, n.prototype.redo = function () {\n return this.canRedo() ? this.undoManager.redo() : void 0;\n }, n.prototype.undo = function () {\n return this.canUndo() ? this.undoManager.undo() : void 0;\n }, n;\n }();\n }.call(this), function () {\n var t = function (t, e) {\n function i() {\n this.constructor = t;\n }\n\n for (var o in e) n.call(e, o) && (t[o] = e[o]);\n\n return i.prototype = e.prototype, t.prototype = new i(), t.__super__ = e.prototype, t;\n },\n n = {}.hasOwnProperty;\n\n e.ManagedAttachment = function (e) {\n function n(t, e) {\n var n;\n this.attachmentManager = t, this.attachment = e, n = this.attachment, this.id = n.id, this.file = n.file;\n }\n\n return t(n, e), n.prototype.remove = function () {\n return this.attachmentManager.requestRemovalOfAttachment(this.attachment);\n }, n.proxyMethod(\"attachment.getAttribute\"), n.proxyMethod(\"attachment.hasAttribute\"), n.proxyMethod(\"attachment.setAttribute\"), n.proxyMethod(\"attachment.getAttributes\"), n.proxyMethod(\"attachment.setAttributes\"), n.proxyMethod(\"attachment.isPending\"), n.proxyMethod(\"attachment.isPreviewable\"), n.proxyMethod(\"attachment.getURL\"), n.proxyMethod(\"attachment.getHref\"), n.proxyMethod(\"attachment.getFilename\"), n.proxyMethod(\"attachment.getFilesize\"), n.proxyMethod(\"attachment.getFormattedFilesize\"), n.proxyMethod(\"attachment.getExtension\"), n.proxyMethod(\"attachment.getContentType\"), n.proxyMethod(\"attachment.getFile\"), n.proxyMethod(\"attachment.setFile\"), n.proxyMethod(\"attachment.releaseFile\"), n.proxyMethod(\"attachment.getUploadProgress\"), n.proxyMethod(\"attachment.setUploadProgress\"), n;\n }(e.BasicObject);\n }.call(this), function () {\n var t = function (t, e) {\n function i() {\n this.constructor = t;\n }\n\n for (var o in e) n.call(e, o) && (t[o] = e[o]);\n\n return i.prototype = e.prototype, t.prototype = new i(), t.__super__ = e.prototype, t;\n },\n n = {}.hasOwnProperty;\n\n e.AttachmentManager = function (n) {\n function i(t) {\n var e, n, i;\n\n for (null == t && (t = []), this.managedAttachments = {}, n = 0, i = t.length; i > n; n++) e = t[n], this.manageAttachment(e);\n }\n\n return t(i, n), i.prototype.getAttachments = function () {\n var t, e, n, i;\n n = this.managedAttachments, i = [];\n\n for (e in n) t = n[e], i.push(t);\n\n return i;\n }, i.prototype.manageAttachment = function (t) {\n var n, i;\n return null != (n = this.managedAttachments)[i = t.id] ? n[i] : n[i] = new e.ManagedAttachment(this, t);\n }, i.prototype.attachmentIsManaged = function (t) {\n return t.id in this.managedAttachments;\n }, i.prototype.requestRemovalOfAttachment = function (t) {\n var e;\n return this.attachmentIsManaged(t) && null != (e = this.delegate) && \"function\" == typeof e.attachmentManagerDidRequestRemovalOfAttachment ? e.attachmentManagerDidRequestRemovalOfAttachment(t) : void 0;\n }, i.prototype.unmanageAttachment = function (t) {\n var e;\n return e = this.managedAttachments[t.id], delete this.managedAttachments[t.id], e;\n }, i;\n }(e.BasicObject);\n }.call(this), function () {\n var t, n, i, o, r, s, a, u, c, l, h;\n t = e.elementContainsNode, n = e.findChildIndexOfNode, r = e.nodeIsBlockStart, s = e.nodeIsBlockStartComment, o = e.nodeIsBlockContainer, a = e.nodeIsCursorTarget, u = e.nodeIsEmptyTextNode, c = e.nodeIsTextNode, i = e.nodeIsAttachmentElement, l = e.tagName, h = e.walkTree, e.LocationMapper = function () {\n function e(t) {\n this.element = t;\n }\n\n var p, d, f, g;\n return e.prototype.findLocationFromContainerAndOffset = function (e, i, o) {\n var s, u, l, p, g, m, v;\n\n for (m = (null != o ? o : {\n strict: !0\n }).strict, u = 0, l = !1, p = {\n index: 0,\n offset: 0\n }, (s = this.findAttachmentElementParentForNode(e)) && (e = s.parentNode, i = n(s)), v = h(this.element, {\n usingFilter: f\n }); v.nextNode();) {\n if (g = v.currentNode, g === e && c(e)) {\n a(g) || (p.offset += i);\n break;\n }\n\n if (g.parentNode === e) {\n if (u++ === i) break;\n } else if (!t(e, g) && u > 0) break;\n\n r(g, {\n strict: m\n }) ? (l && p.index++, p.offset = 0, l = !0) : p.offset += d(g);\n }\n\n return p;\n }, e.prototype.findContainerAndOffsetFromLocation = function (t) {\n var e, i, s, u, l;\n\n if (0 === t.index && 0 === t.offset) {\n for (e = this.element, u = 0; e.firstChild;) if (e = e.firstChild, o(e)) {\n u = 1;\n break;\n }\n\n return [e, u];\n }\n\n if (l = this.findNodeAndOffsetFromLocation(t), i = l[0], s = l[1], i) {\n if (c(i)) 0 === d(i) ? (e = i.parentNode.parentNode, u = n(i.parentNode), a(i, {\n name: \"right\"\n }) && u++) : (e = i, u = t.offset - s);else {\n if (e = i.parentNode, !r(i.previousSibling) && !o(e)) for (; i === e.lastChild && (i = e, e = e.parentNode, !o(e)););\n u = n(i), 0 !== t.offset && u++;\n }\n return [e, u];\n }\n }, e.prototype.findNodeAndOffsetFromLocation = function (t) {\n var e, n, i, o, r, s, u, l;\n\n for (u = 0, l = this.getSignificantNodesForIndex(t.index), n = 0, i = l.length; i > n; n++) {\n if (e = l[n], o = d(e), t.offset <= u + o) if (c(e)) {\n if (r = e, s = u, t.offset === s && a(r)) break;\n } else r || (r = e, s = u);\n if (u += o, u > t.offset) break;\n }\n\n return [r, s];\n }, e.prototype.findAttachmentElementParentForNode = function (t) {\n for (; t && t !== this.element;) {\n if (i(t)) return t;\n t = t.parentNode;\n }\n }, e.prototype.getSignificantNodesForIndex = function (t) {\n var e, n, i, o, r;\n\n for (i = [], r = h(this.element, {\n usingFilter: p\n }), o = !1; r.nextNode();) if (n = r.currentNode, s(n)) {\n if (\"undefined\" != typeof e && null !== e ? e++ : e = 0, e === t) o = !0;else if (o) break;\n } else o && i.push(n);\n\n return i;\n }, d = function (t) {\n var e;\n return t.nodeType === Node.TEXT_NODE ? a(t) ? 0 : (e = t.textContent, e.length) : \"br\" === l(t) || i(t) ? 1 : 0;\n }, p = function (t) {\n return g(t) === NodeFilter.FILTER_ACCEPT ? f(t) : NodeFilter.FILTER_REJECT;\n }, g = function (t) {\n return u(t) ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT;\n }, f = function (t) {\n return i(t.parentNode) ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT;\n }, e;\n }();\n }.call(this), function () {\n var t,\n n,\n i = [].slice;\n t = e.getDOMRange, n = e.setDOMRange, e.PointMapper = function () {\n function e() {}\n\n return e.prototype.createDOMRangeFromPoint = function (e) {\n var i, o, r, s, a, u, c, l;\n if (c = e.x, l = e.y, document.caretPositionFromPoint) return a = document.caretPositionFromPoint(c, l), r = a.offsetNode, o = a.offset, i = document.createRange(), i.setStart(r, o), i;\n if (document.caretRangeFromPoint) return document.caretRangeFromPoint(c, l);\n\n if (document.body.createTextRange) {\n s = t();\n\n try {\n u = document.body.createTextRange(), u.moveToPoint(c, l), u.select();\n } catch (h) {}\n\n return i = t(), n(s), i;\n }\n }, e.prototype.getClientRectsForDOMRange = function (t) {\n var e, n, o;\n return n = i.call(t.getClientRects()), o = n[0], e = n[n.length - 1], [o, e];\n }, e;\n }();\n }.call(this), function () {\n var t,\n n = function (t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n },\n i = function (t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) o.call(e, i) && (t[i] = e[i]);\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n o = {}.hasOwnProperty,\n r = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) if (e in this && this[e] === t) return e;\n\n return -1;\n };\n\n t = e.getDOMRange, e.SelectionChangeObserver = function (e) {\n function o() {\n this.run = n(this.run, this), this.update = n(this.update, this), this.selectionManagers = [];\n }\n\n var s;\n return i(o, e), o.prototype.start = function () {\n return this.started ? void 0 : (this.started = !0, \"onselectionchange\" in document ? document.addEventListener(\"selectionchange\", this.update, !0) : this.run());\n }, o.prototype.stop = function () {\n return this.started ? (this.started = !1, document.removeEventListener(\"selectionchange\", this.update, !0)) : void 0;\n }, o.prototype.registerSelectionManager = function (t) {\n return r.call(this.selectionManagers, t) < 0 ? (this.selectionManagers.push(t), this.start()) : void 0;\n }, o.prototype.unregisterSelectionManager = function (t) {\n var e;\n return this.selectionManagers = function () {\n var n, i, o, r;\n\n for (o = this.selectionManagers, r = [], n = 0, i = o.length; i > n; n++) e = o[n], e !== t && r.push(e);\n\n return r;\n }.call(this), 0 === this.selectionManagers.length ? this.stop() : void 0;\n }, o.prototype.notifySelectionManagersOfSelectionChange = function () {\n var t, e, n, i, o;\n\n for (n = this.selectionManagers, i = [], t = 0, e = n.length; e > t; t++) o = n[t], i.push(o.selectionDidChange());\n\n return i;\n }, o.prototype.update = function () {\n var e;\n return e = t(), s(e, this.domRange) ? void 0 : (this.domRange = e, this.notifySelectionManagersOfSelectionChange());\n }, o.prototype.reset = function () {\n return this.domRange = null, this.update();\n }, o.prototype.run = function () {\n return this.started ? (this.update(), requestAnimationFrame(this.run)) : void 0;\n }, s = function (t, e) {\n return (null != t ? t.startContainer : void 0) === (null != e ? e.startContainer : void 0) && (null != t ? t.startOffset : void 0) === (null != e ? e.startOffset : void 0) && (null != t ? t.endContainer : void 0) === (null != e ? e.endContainer : void 0) && (null != t ? t.endOffset : void 0) === (null != e ? e.endOffset : void 0);\n }, o;\n }(e.BasicObject), null == e.selectionChangeObserver && (e.selectionChangeObserver = new e.SelectionChangeObserver());\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s,\n a,\n u,\n c,\n l,\n h = function (t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n },\n p = function (t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) d.call(e, i) && (t[i] = e[i]);\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n d = {}.hasOwnProperty;\n\n i = e.getDOMSelection, n = e.getDOMRange, l = e.setDOMRange, t = e.elementContainsNode, s = e.nodeIsCursorTarget, r = e.innerElementIsActive, o = e.handleEvent, a = e.normalizeRange, u = e.rangeIsCollapsed, c = e.rangesAreEqual, e.SelectionManager = function (d) {\n function f(t) {\n this.element = t, this.selectionDidChange = h(this.selectionDidChange, this), this.didMouseDown = h(this.didMouseDown, this), this.locationMapper = new e.LocationMapper(this.element), this.pointMapper = new e.PointMapper(), this.lockCount = 0, o(\"mousedown\", {\n onElement: this.element,\n withCallback: this.didMouseDown\n });\n }\n\n return p(f, d), f.prototype.getLocationRange = function (t) {\n var e, i;\n return null == t && (t = {}), e = t.strict === !1 ? this.createLocationRangeFromDOMRange(n(), {\n strict: !1\n }) : t.ignoreLock ? this.currentLocationRange : null != (i = this.lockedLocationRange) ? i : this.currentLocationRange;\n }, f.prototype.setLocationRange = function (t) {\n var e;\n if (!this.lockedLocationRange) return t = a(t), (e = this.createDOMRangeFromLocationRange(t)) ? (l(e), this.updateCurrentLocationRange(t)) : void 0;\n }, f.prototype.setLocationRangeFromPointRange = function (t) {\n var e, n;\n return t = a(t), n = this.getLocationAtPoint(t[0]), e = this.getLocationAtPoint(t[1]), this.setLocationRange([n, e]);\n }, f.prototype.getClientRectAtLocationRange = function (t) {\n var e;\n return (e = this.createDOMRangeFromLocationRange(t)) ? this.getClientRectsForDOMRange(e)[1] : void 0;\n }, f.prototype.locationIsCursorTarget = function (t) {\n var e, n, i;\n return i = this.findNodeAndOffsetFromLocation(t), e = i[0], n = i[1], s(e);\n }, f.prototype.lock = function () {\n return 0 === this.lockCount++ ? (this.updateCurrentLocationRange(), this.lockedLocationRange = this.getLocationRange()) : void 0;\n }, f.prototype.unlock = function () {\n var t;\n return 0 === --this.lockCount && (t = this.lockedLocationRange, this.lockedLocationRange = null, null != t) ? this.setLocationRange(t) : void 0;\n }, f.prototype.clearSelection = function () {\n var t;\n return null != (t = i()) ? t.removeAllRanges() : void 0;\n }, f.prototype.selectionIsCollapsed = function () {\n var t;\n return (null != (t = n()) ? t.collapsed : void 0) === !0;\n }, f.prototype.selectionIsExpanded = function () {\n return !this.selectionIsCollapsed();\n }, f.prototype.createLocationRangeFromDOMRange = function (t, e) {\n var n, i;\n if (null != t && this.domRangeWithinElement(t) && (i = this.findLocationFromContainerAndOffset(t.startContainer, t.startOffset, e))) return t.collapsed || (n = this.findLocationFromContainerAndOffset(t.endContainer, t.endOffset, e)), a([i, n]);\n }, f.proxyMethod(\"locationMapper.findLocationFromContainerAndOffset\"), f.proxyMethod(\"locationMapper.findContainerAndOffsetFromLocation\"), f.proxyMethod(\"locationMapper.findNodeAndOffsetFromLocation\"), f.proxyMethod(\"pointMapper.createDOMRangeFromPoint\"), f.proxyMethod(\"pointMapper.getClientRectsForDOMRange\"), f.prototype.didMouseDown = function () {\n return this.pauseTemporarily();\n }, f.prototype.pauseTemporarily = function () {\n var e, n, i, r;\n return this.paused = !0, n = function (e) {\n return function () {\n var n, o, s;\n\n for (e.paused = !1, clearTimeout(r), o = 0, s = i.length; s > o; o++) n = i[o], n.destroy();\n\n return t(document, e.element) ? e.selectionDidChange() : void 0;\n };\n }(this), r = setTimeout(n, 200), i = function () {\n var t, i, r, s;\n\n for (r = [\"mousemove\", \"keydown\"], s = [], t = 0, i = r.length; i > t; t++) e = r[t], s.push(o(e, {\n onElement: document,\n withCallback: n\n }));\n\n return s;\n }();\n }, f.prototype.selectionDidChange = function () {\n return this.paused || r(this.element) ? void 0 : this.updateCurrentLocationRange();\n }, f.prototype.updateCurrentLocationRange = function (t) {\n var e;\n return (null != t ? t : t = this.createLocationRangeFromDOMRange(n())) && !c(t, this.currentLocationRange) ? (this.currentLocationRange = t, null != (e = this.delegate) && \"function\" == typeof e.locationRangeDidChange ? e.locationRangeDidChange(this.currentLocationRange.slice(0)) : void 0) : void 0;\n }, f.prototype.createDOMRangeFromLocationRange = function (t) {\n var e, n, i, o;\n return i = this.findContainerAndOffsetFromLocation(t[0]), n = u(t) ? i : null != (o = this.findContainerAndOffsetFromLocation(t[1])) ? o : i, null != i && null != n ? (e = document.createRange(), e.setStart.apply(e, i), e.setEnd.apply(e, n), e) : void 0;\n }, f.prototype.getLocationAtPoint = function (t) {\n var e, n;\n return (e = this.createDOMRangeFromPoint(t)) && null != (n = this.createLocationRangeFromDOMRange(e)) ? n[0] : void 0;\n }, f.prototype.domRangeWithinElement = function (e) {\n return e.collapsed ? t(this.element, e.startContainer) : t(this.element, e.startContainer) && t(this.element, e.endContainer);\n }, f;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r = function (t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) s.call(e, i) && (t[i] = e[i]);\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n s = {}.hasOwnProperty,\n a = [].slice;\n\n i = e.rangeIsCollapsed, o = e.rangesAreEqual, n = e.objectsAreEqual, t = e.getBlockConfig, e.EditorController = function (s) {\n function u(t) {\n var n, i;\n this.editorElement = t.editorElement, n = t.document, i = t.html, this.selectionManager = new e.SelectionManager(this.editorElement), this.selectionManager.delegate = this, this.composition = new e.Composition(), this.composition.delegate = this, this.attachmentManager = new e.AttachmentManager(this.composition.getAttachments()), this.attachmentManager.delegate = this, this.inputController = new e[\"Level\" + e.config.input.getLevel() + \"InputController\"](this.editorElement), this.inputController.delegate = this, this.inputController.responder = this.composition, this.compositionController = new e.CompositionController(this.editorElement, this.composition), this.compositionController.delegate = this, this.toolbarController = new e.ToolbarController(this.editorElement.toolbarElement), this.toolbarController.delegate = this, this.editor = new e.Editor(this.composition, this.selectionManager, this.editorElement), null != n ? this.editor.loadDocument(n) : this.editor.loadHTML(i);\n }\n\n var c;\n return r(u, s), u.prototype.registerSelectionManager = function () {\n return e.selectionChangeObserver.registerSelectionManager(this.selectionManager);\n }, u.prototype.unregisterSelectionManager = function () {\n return e.selectionChangeObserver.unregisterSelectionManager(this.selectionManager);\n }, u.prototype.render = function () {\n return this.compositionController.render();\n }, u.prototype.reparse = function () {\n return this.composition.replaceHTML(this.editorElement.innerHTML);\n }, u.prototype.compositionDidChangeDocument = function () {\n return this.notifyEditorElement(\"document-change\"), this.handlingInput ? void 0 : this.render();\n }, u.prototype.compositionDidChangeCurrentAttributes = function (t) {\n return this.currentAttributes = t, this.toolbarController.updateAttributes(this.currentAttributes), this.updateCurrentActions(), this.notifyEditorElement(\"attributes-change\", {\n attributes: this.currentAttributes\n });\n }, u.prototype.compositionDidPerformInsertionAtRange = function (t) {\n return this.pasting ? this.pastedRange = t : void 0;\n }, u.prototype.compositionShouldAcceptFile = function (t) {\n return this.notifyEditorElement(\"file-accept\", {\n file: t\n });\n }, u.prototype.compositionDidAddAttachment = function (t) {\n var e;\n return e = this.attachmentManager.manageAttachment(t), this.notifyEditorElement(\"attachment-add\", {\n attachment: e\n });\n }, u.prototype.compositionDidEditAttachment = function (t) {\n var e;\n return this.compositionController.rerenderViewForObject(t), e = this.attachmentManager.manageAttachment(t), this.notifyEditorElement(\"attachment-edit\", {\n attachment: e\n }), this.notifyEditorElement(\"change\");\n }, u.prototype.compositionDidChangeAttachmentPreviewURL = function (t) {\n return this.compositionController.invalidateViewForObject(t), this.notifyEditorElement(\"change\");\n }, u.prototype.compositionDidRemoveAttachment = function (t) {\n var e;\n return e = this.attachmentManager.unmanageAttachment(t), this.notifyEditorElement(\"attachment-remove\", {\n attachment: e\n });\n }, u.prototype.compositionDidStartEditingAttachment = function (t, e) {\n return this.attachmentLocationRange = this.composition.document.getLocationRangeOfAttachment(t), this.compositionController.installAttachmentEditorForAttachment(t, e), this.selectionManager.setLocationRange(this.attachmentLocationRange);\n }, u.prototype.compositionDidStopEditingAttachment = function () {\n return this.compositionController.uninstallAttachmentEditor(), this.attachmentLocationRange = null;\n }, u.prototype.compositionDidRequestChangingSelectionToLocationRange = function (t) {\n return !this.loadingSnapshot || this.isFocused() ? (this.requestedLocationRange = t, this.compositionRevisionWhenLocationRangeRequested = this.composition.revision, this.handlingInput ? void 0 : this.render()) : void 0;\n }, u.prototype.compositionWillLoadSnapshot = function () {\n return this.loadingSnapshot = !0;\n }, u.prototype.compositionDidLoadSnapshot = function () {\n return this.compositionController.refreshViewCache(), this.render(), this.loadingSnapshot = !1;\n }, u.prototype.getSelectionManager = function () {\n return this.selectionManager;\n }, u.proxyMethod(\"getSelectionManager().setLocationRange\"), u.proxyMethod(\"getSelectionManager().getLocationRange\"), u.prototype.attachmentManagerDidRequestRemovalOfAttachment = function (t) {\n return this.removeAttachment(t);\n }, u.prototype.compositionControllerWillSyncDocumentView = function () {\n return this.inputController.editorWillSyncDocumentView(), this.selectionManager.lock(), this.selectionManager.clearSelection();\n }, u.prototype.compositionControllerDidSyncDocumentView = function () {\n return this.inputController.editorDidSyncDocumentView(), this.selectionManager.unlock(), this.updateCurrentActions(), this.notifyEditorElement(\"sync\");\n }, u.prototype.compositionControllerDidRender = function () {\n return null != this.requestedLocationRange && (this.compositionRevisionWhenLocationRangeRequested === this.composition.revision && this.selectionManager.setLocationRange(this.requestedLocationRange), this.requestedLocationRange = null, this.compositionRevisionWhenLocationRangeRequested = null), this.renderedCompositionRevision !== this.composition.revision && (this.runEditorFilters(), this.composition.updateCurrentAttributes(), this.notifyEditorElement(\"render\")), this.renderedCompositionRevision = this.composition.revision;\n }, u.prototype.compositionControllerDidFocus = function () {\n return this.isFocusedInvisibly() && this.setLocationRange({\n index: 0,\n offset: 0\n }), this.toolbarController.hideDialog(), this.notifyEditorElement(\"focus\");\n }, u.prototype.compositionControllerDidBlur = function () {\n return this.notifyEditorElement(\"blur\");\n }, u.prototype.compositionControllerDidSelectAttachment = function (t, e) {\n return this.toolbarController.hideDialog(), this.composition.editAttachment(t, e);\n }, u.prototype.compositionControllerDidRequestDeselectingAttachment = function (t) {\n var e, n;\n return e = null != (n = this.attachmentLocationRange) ? n : this.composition.document.getLocationRangeOfAttachment(t), this.selectionManager.setLocationRange(e[1]);\n }, u.prototype.compositionControllerWillUpdateAttachment = function (t) {\n return this.editor.recordUndoEntry(\"Edit Attachment\", {\n context: t.id,\n consolidatable: !0\n });\n }, u.prototype.compositionControllerDidRequestRemovalOfAttachment = function (t) {\n return this.removeAttachment(t);\n }, u.prototype.inputControllerWillHandleInput = function () {\n return this.handlingInput = !0, this.requestedRender = !1;\n }, u.prototype.inputControllerDidRequestRender = function () {\n return this.requestedRender = !0;\n }, u.prototype.inputControllerDidHandleInput = function () {\n return this.handlingInput = !1, this.requestedRender ? (this.requestedRender = !1, this.render()) : void 0;\n }, u.prototype.inputControllerDidAllowUnhandledInput = function () {\n return this.notifyEditorElement(\"change\");\n }, u.prototype.inputControllerDidRequestReparse = function () {\n return this.reparse();\n }, u.prototype.inputControllerWillPerformTyping = function () {\n return this.recordTypingUndoEntry();\n }, u.prototype.inputControllerWillPerformFormatting = function (t) {\n return this.recordFormattingUndoEntry(t);\n }, u.prototype.inputControllerWillCutText = function () {\n return this.editor.recordUndoEntry(\"Cut\");\n }, u.prototype.inputControllerWillPaste = function (t) {\n return this.editor.recordUndoEntry(\"Paste\"), this.pasting = !0, this.notifyEditorElement(\"before-paste\", {\n paste: t\n });\n }, u.prototype.inputControllerDidPaste = function (t) {\n return t.range = this.pastedRange, this.pastedRange = null, this.pasting = null, this.notifyEditorElement(\"paste\", {\n paste: t\n });\n }, u.prototype.inputControllerWillMoveText = function () {\n return this.editor.recordUndoEntry(\"Move\");\n }, u.prototype.inputControllerWillAttachFiles = function () {\n return this.editor.recordUndoEntry(\"Drop Files\");\n }, u.prototype.inputControllerWillPerformUndo = function () {\n return this.editor.undo();\n }, u.prototype.inputControllerWillPerformRedo = function () {\n return this.editor.redo();\n }, u.prototype.inputControllerDidReceiveKeyboardCommand = function (t) {\n return this.toolbarController.applyKeyboardCommand(t);\n }, u.prototype.inputControllerDidStartDrag = function () {\n return this.locationRangeBeforeDrag = this.selectionManager.getLocationRange();\n }, u.prototype.inputControllerDidReceiveDragOverPoint = function (t) {\n return this.selectionManager.setLocationRangeFromPointRange(t);\n }, u.prototype.inputControllerDidCancelDrag = function () {\n return this.selectionManager.setLocationRange(this.locationRangeBeforeDrag), this.locationRangeBeforeDrag = null;\n }, u.prototype.locationRangeDidChange = function (t) {\n return this.composition.updateCurrentAttributes(), this.updateCurrentActions(), this.attachmentLocationRange && !o(this.attachmentLocationRange, t) && this.composition.stopEditingAttachment(), this.notifyEditorElement(\"selection-change\");\n }, u.prototype.toolbarDidClickButton = function () {\n return this.getLocationRange() ? void 0 : this.setLocationRange({\n index: 0,\n offset: 0\n });\n }, u.prototype.toolbarDidInvokeAction = function (t) {\n return this.invokeAction(t);\n }, u.prototype.toolbarDidToggleAttribute = function (t) {\n return this.recordFormattingUndoEntry(t), this.composition.toggleCurrentAttribute(t), this.render(), this.selectionFrozen ? void 0 : this.editorElement.focus();\n }, u.prototype.toolbarDidUpdateAttribute = function (t, e) {\n return this.recordFormattingUndoEntry(t), this.composition.setCurrentAttribute(t, e), this.render(), this.selectionFrozen ? void 0 : this.editorElement.focus();\n }, u.prototype.toolbarDidRemoveAttribute = function (t) {\n return this.recordFormattingUndoEntry(t), this.composition.removeCurrentAttribute(t), this.render(), this.selectionFrozen ? void 0 : this.editorElement.focus();\n }, u.prototype.toolbarWillShowDialog = function () {\n return this.composition.expandSelectionForEditing(), this.freezeSelection();\n }, u.prototype.toolbarDidShowDialog = function (t) {\n return this.notifyEditorElement(\"toolbar-dialog-show\", {\n dialogName: t\n });\n }, u.prototype.toolbarDidHideDialog = function (t) {\n return this.thawSelection(), this.editorElement.focus(), this.notifyEditorElement(\"toolbar-dialog-hide\", {\n dialogName: t\n });\n }, u.prototype.freezeSelection = function () {\n return this.selectionFrozen ? void 0 : (this.selectionManager.lock(), this.composition.freezeSelection(), this.selectionFrozen = !0, this.render());\n }, u.prototype.thawSelection = function () {\n return this.selectionFrozen ? (this.composition.thawSelection(), this.selectionManager.unlock(), this.selectionFrozen = !1, this.render()) : void 0;\n }, u.prototype.actions = {\n undo: {\n test: function () {\n return this.editor.canUndo();\n },\n perform: function () {\n return this.editor.undo();\n }\n },\n redo: {\n test: function () {\n return this.editor.canRedo();\n },\n perform: function () {\n return this.editor.redo();\n }\n },\n link: {\n test: function () {\n return this.editor.canActivateAttribute(\"href\");\n }\n },\n increaseNestingLevel: {\n test: function () {\n return this.editor.canIncreaseNestingLevel();\n },\n perform: function () {\n return this.editor.increaseNestingLevel() && this.render();\n }\n },\n decreaseNestingLevel: {\n test: function () {\n return this.editor.canDecreaseNestingLevel();\n },\n perform: function () {\n return this.editor.decreaseNestingLevel() && this.render();\n }\n },\n attachFiles: {\n test: function () {\n return !0;\n },\n perform: function () {\n return e.config.input.pickFiles(this.editor.insertFiles);\n }\n }\n }, u.prototype.canInvokeAction = function (t) {\n var e, n;\n return this.actionIsExternal(t) ? !0 : !!(null != (e = this.actions[t]) && null != (n = e.test) ? n.call(this) : void 0);\n }, u.prototype.invokeAction = function (t) {\n var e, n;\n return this.actionIsExternal(t) ? this.notifyEditorElement(\"action-invoke\", {\n actionName: t\n }) : null != (e = this.actions[t]) && null != (n = e.perform) ? n.call(this) : void 0;\n }, u.prototype.actionIsExternal = function (t) {\n return /^x-./.test(t);\n }, u.prototype.getCurrentActions = function () {\n var t, e;\n e = {};\n\n for (t in this.actions) e[t] = this.canInvokeAction(t);\n\n return e;\n }, u.prototype.updateCurrentActions = function () {\n var t;\n return t = this.getCurrentActions(), n(t, this.currentActions) ? void 0 : (this.currentActions = t, this.toolbarController.updateActions(this.currentActions), this.notifyEditorElement(\"actions-change\", {\n actions: this.currentActions\n }));\n }, u.prototype.runEditorFilters = function () {\n var t, e, n, i, o, r, s, a;\n\n for (a = this.composition.getSnapshot(), o = this.editor.filters, n = 0, i = o.length; i > n; n++) e = o[n], t = a.document, s = a.selectedRange, a = null != (r = e.call(this.editor, a)) ? r : {}, null == a.document && (a.document = t), null == a.selectedRange && (a.selectedRange = s);\n\n return c(a, this.composition.getSnapshot()) ? void 0 : this.composition.loadSnapshot(a);\n }, c = function (t, e) {\n return o(t.selectedRange, e.selectedRange) && t.document.isEqualTo(e.document);\n }, u.prototype.updateInputElement = function () {\n var t, n;\n return t = this.compositionController.getSerializableElement(), n = e.serializeToContentType(t, \"text/html\"), this.editorElement.setInputElementValue(n);\n }, u.prototype.notifyEditorElement = function (t, e) {\n switch (t) {\n case \"document-change\":\n this.documentChangedSinceLastRender = !0;\n break;\n\n case \"render\":\n this.documentChangedSinceLastRender && (this.documentChangedSinceLastRender = !1, this.notifyEditorElement(\"change\"));\n break;\n\n case \"change\":\n case \"attachment-add\":\n case \"attachment-edit\":\n case \"attachment-remove\":\n this.updateInputElement();\n }\n\n return this.editorElement.notify(t, e);\n }, u.prototype.removeAttachment = function (t) {\n return this.editor.recordUndoEntry(\"Delete Attachment\"), this.composition.removeAttachment(t), this.render();\n }, u.prototype.recordFormattingUndoEntry = function (e) {\n var n, o;\n return n = t(e), o = this.selectionManager.getLocationRange(), n || !i(o) ? this.editor.recordUndoEntry(\"Formatting\", {\n context: this.getUndoContext(),\n consolidatable: !0\n }) : void 0;\n }, u.prototype.recordTypingUndoEntry = function () {\n return this.editor.recordUndoEntry(\"Typing\", {\n context: this.getUndoContext(this.currentAttributes),\n consolidatable: !0\n });\n }, u.prototype.getUndoContext = function () {\n var t;\n return t = 1 <= arguments.length ? a.call(arguments, 0) : [], [this.getLocationContext(), this.getTimeContext()].concat(a.call(t));\n }, u.prototype.getLocationContext = function () {\n var t;\n return t = this.selectionManager.getLocationRange(), i(t) ? t[0].index : t;\n }, u.prototype.getTimeContext = function () {\n return e.config.undoInterval > 0 ? Math.floor(new Date().getTime() / e.config.undoInterval) : 0;\n }, u.prototype.isFocused = function () {\n var t;\n return this.editorElement === (null != (t = this.editorElement.ownerDocument) ? t.activeElement : void 0);\n }, u.prototype.isFocusedInvisibly = function () {\n return this.isFocused() && !this.getLocationRange();\n }, u;\n }(e.Controller);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s,\n a,\n u = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) if (e in this && this[e] === t) return e;\n\n return -1;\n };\n\n n = e.browser, s = e.makeElement, a = e.triggerEvent, o = e.handleEvent, r = e.handleEventOnce, i = e.findClosestElementFromNode, t = e.AttachmentView.attachmentSelector, e.registerElement(\"trix-editor\", function () {\n var c, l, h, p, d, f, g, m, v;\n return g = 0, l = function (t) {\n return !document.querySelector(\":focus\") && t.hasAttribute(\"autofocus\") && document.querySelector(\"[autofocus]\") === t ? t.focus() : void 0;\n }, m = function (t) {\n return t.hasAttribute(\"contenteditable\") ? void 0 : (t.setAttribute(\"contenteditable\", \"\"), r(\"focus\", {\n onElement: t,\n withCallback: function () {\n return h(t);\n }\n }));\n }, h = function (t) {\n return d(t), v(t);\n }, d = function (t) {\n return (\"function\" == typeof document.queryCommandSupported ? document.queryCommandSupported(\"enableObjectResizing\") : void 0) ? (document.execCommand(\"enableObjectResizing\", !1, !1), o(\"mscontrolselect\", {\n onElement: t,\n preventDefault: !0\n })) : void 0;\n }, v = function () {\n var t;\n return (\"function\" == typeof document.queryCommandSupported ? document.queryCommandSupported(\"DefaultParagraphSeparator\") : void 0) && (t = e.config.blockAttributes[\"default\"].tagName, \"div\" === t || \"p\" === t) ? document.execCommand(\"DefaultParagraphSeparator\", !1, t) : void 0;\n }, c = function (t) {\n return t.hasAttribute(\"role\") ? void 0 : t.setAttribute(\"role\", \"textbox\");\n }, f = function (t) {\n var e;\n if (!t.hasAttribute(\"aria-label\") && !t.hasAttribute(\"aria-labelledby\")) return (e = function () {\n var e, n, i;\n return i = function () {\n var n, i, o, r;\n\n for (o = t.labels, r = [], n = 0, i = o.length; i > n; n++) e = o[n], e.contains(t) || r.push(e.textContent);\n\n return r;\n }(), (n = i.join(\" \")) ? t.setAttribute(\"aria-label\", n) : t.removeAttribute(\"aria-label\");\n })(), o(\"focus\", {\n onElement: t,\n withCallback: e\n });\n }, p = function () {\n return n.forcesObjectResizing ? {\n display: \"inline\",\n width: \"auto\"\n } : {\n display: \"inline-block\",\n width: \"1px\"\n };\n }(), {\n defaultCSS: \"%t {\\n display: block;\\n}\\n\\n%t:empty:not(:focus)::before {\\n content: attr(placeholder);\\n color: graytext;\\n cursor: text;\\n pointer-events: none;\\n}\\n\\n%t a[contenteditable=false] {\\n cursor: text;\\n}\\n\\n%t img {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n%t \" + t + \" figcaption textarea {\\n resize: none;\\n}\\n\\n%t \" + t + \" figcaption textarea.trix-autoresize-clone {\\n position: absolute;\\n left: -9999px;\\n max-height: 0px;\\n}\\n\\n%t \" + t + \" figcaption[data-trix-placeholder]:empty::before {\\n content: attr(data-trix-placeholder);\\n color: graytext;\\n}\\n\\n%t [data-trix-cursor-target] {\\n display: \" + p.display + \" !important;\\n width: \" + p.width + \" !important;\\n padding: 0 !important;\\n margin: 0 !important;\\n border: none !important;\\n}\\n\\n%t [data-trix-cursor-target=left] {\\n vertical-align: top !important;\\n margin-left: -1px !important;\\n}\\n\\n%t [data-trix-cursor-target=right] {\\n vertical-align: bottom !important;\\n margin-right: -1px !important;\\n}\",\n trixId: {\n get: function () {\n return this.hasAttribute(\"trix-id\") ? this.getAttribute(\"trix-id\") : (this.setAttribute(\"trix-id\", ++g), this.trixId);\n }\n },\n labels: {\n get: function () {\n var t, e, n;\n return e = [], this.id && this.ownerDocument && e.push.apply(e, this.ownerDocument.querySelectorAll(\"label[for='\" + this.id + \"']\")), (t = i(this, {\n matchingSelector: \"label\"\n })) && ((n = t.control) === this || null === n) && e.push(t), e;\n }\n },\n toolbarElement: {\n get: function () {\n var t, e, n;\n return this.hasAttribute(\"toolbar\") ? null != (e = this.ownerDocument) ? e.getElementById(this.getAttribute(\"toolbar\")) : void 0 : this.parentNode ? (n = \"trix-toolbar-\" + this.trixId, this.setAttribute(\"toolbar\", n), t = s(\"trix-toolbar\", {\n id: n\n }), this.parentNode.insertBefore(t, this), t) : void 0;\n }\n },\n inputElement: {\n get: function () {\n var t, e, n;\n return this.hasAttribute(\"input\") ? null != (n = this.ownerDocument) ? n.getElementById(this.getAttribute(\"input\")) : void 0 : this.parentNode ? (e = \"trix-input-\" + this.trixId, this.setAttribute(\"input\", e), t = s(\"input\", {\n type: \"hidden\",\n id: e\n }), this.parentNode.insertBefore(t, this.nextElementSibling), t) : void 0;\n }\n },\n editor: {\n get: function () {\n var t;\n return null != (t = this.editorController) ? t.editor : void 0;\n }\n },\n name: {\n get: function () {\n var t;\n return null != (t = this.inputElement) ? t.name : void 0;\n }\n },\n value: {\n get: function () {\n var t;\n return null != (t = this.inputElement) ? t.value : void 0;\n },\n set: function (t) {\n var e;\n return this.defaultValue = t, null != (e = this.editor) ? e.loadHTML(this.defaultValue) : void 0;\n }\n },\n notify: function (t, e) {\n return this.editorController ? a(\"trix-\" + t, {\n onElement: this,\n attributes: e\n }) : void 0;\n },\n setInputElementValue: function (t) {\n var e;\n return null != (e = this.inputElement) ? e.value = t : void 0;\n },\n initialize: function () {\n return this.hasAttribute(\"data-trix-internal\") ? void 0 : (m(this), c(this), f(this));\n },\n connect: function () {\n return this.hasAttribute(\"data-trix-internal\") ? void 0 : (this.editorController || (a(\"trix-before-initialize\", {\n onElement: this\n }), this.editorController = new e.EditorController({\n editorElement: this,\n html: this.defaultValue = this.value\n }), requestAnimationFrame(function (t) {\n return function () {\n return a(\"trix-initialize\", {\n onElement: t\n });\n };\n }(this))), this.editorController.registerSelectionManager(), this.registerResetListener(), this.registerClickListener(), l(this));\n },\n disconnect: function () {\n var t;\n return null != (t = this.editorController) && t.unregisterSelectionManager(), this.unregisterResetListener(), this.unregisterClickListener();\n },\n registerResetListener: function () {\n return this.resetListener = this.resetBubbled.bind(this), window.addEventListener(\"reset\", this.resetListener, !1);\n },\n unregisterResetListener: function () {\n return window.removeEventListener(\"reset\", this.resetListener, !1);\n },\n registerClickListener: function () {\n return this.clickListener = this.clickBubbled.bind(this), window.addEventListener(\"click\", this.clickListener, !1);\n },\n unregisterClickListener: function () {\n return window.removeEventListener(\"click\", this.clickListener, !1);\n },\n resetBubbled: function (t) {\n var e;\n if (!t.defaultPrevented && t.target === (null != (e = this.inputElement) ? e.form : void 0)) return this.reset();\n },\n clickBubbled: function (t) {\n var e;\n if (!(t.defaultPrevented || this.contains(t.target) || !(e = i(t.target, {\n matchingSelector: \"label\"\n })) || u.call(this.labels, e) < 0)) return this.focus();\n },\n reset: function () {\n return this.value = this.defaultValue;\n }\n };\n }());\n }.call(this), function () {}.call(this);\n }).call(this), \"object\" == typeof module && module.exports ? module.exports = e : \"function\" == typeof define && define.amd && define(e);\n}.call(this);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.overrideDefaults = void 0;\n/**\r\n * Replaces the supplied defaults with the properties specified in the overrides.\r\n * This returns a new object.\r\n */\n\nfunction overrideDefaults(defaults, overrides) {\n return Object.assign({}, defaults, overrides);\n}\n\nexports.overrideDefaults = overrideDefaults;","\"use strict\";\n\nvar __spreadArray = this && this.__spreadArray || function (to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) to[j] = from[i];\n\n return to;\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Vector = void 0;\n\nvar math_1 = require(\"../systems/math\");\n/**\r\n * Represents a structure used to process vectors.\r\n *\r\n * @remarks\r\n * Note that the operations in this class will **not** modify the original vector,\r\n * except for the property assignments. This is to ensure that vectors are not\r\n * unintentionally modified.\r\n *\r\n * @example\r\n * ```ts\r\n * const vectorA = new Vector(1, 3, 5);\r\n * const vectorB = new Vector(2, 3, 1);\r\n * const vectorC = vectorA.add(vectorB); // (3, 6, 6)\r\n * ```\r\n */\n\n\nvar Vector =\n/** @class */\nfunction () {\n /**\r\n * Creates a new vector with optional x-, y-, and z-components.\r\n * Omitted components are defaulted to 0.\r\n */\n function Vector(x, y, z) {\n if (x === void 0) {\n x = 0;\n }\n\n if (y === void 0) {\n y = 0;\n }\n\n if (z === void 0) {\n z = 0;\n }\n\n this.values = new Float32Array(3);\n this.xyz = [x, y, z];\n }\n\n Object.defineProperty(Vector.prototype, \"x\", {\n /**\r\n * Returns the x-component of the vector.\r\n */\n get: function () {\n return this.values[0];\n },\n\n /**\r\n * Modifies the x-component of the vector.\r\n */\n set: function (value) {\n this.values[0] = value;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Vector.prototype, \"y\", {\n /**\r\n * Returns the y-component of the vector.\r\n */\n get: function () {\n return this.values[1];\n },\n\n /**\r\n * Modifies the y-component of the vector.\r\n */\n set: function (value) {\n this.values[1] = value;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Vector.prototype, \"z\", {\n /**\r\n * Returns the z-component of the vector.\r\n */\n get: function () {\n return this.values[2];\n },\n\n /**\r\n * Modifies the z-component of the vector.\r\n */\n set: function (value) {\n this.values[2] = value;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Vector.prototype, \"xyz\", {\n /**\r\n * Returns the xyz-components of the vector, bundled as a copied array.\r\n */\n get: function () {\n return [this.x, this.y, this.z];\n },\n\n /**\r\n * Simultaneously updates the xyz-components of the vector, by passing an array.\r\n */\n set: function (values) {\n this.values[0] = values[0];\n this.values[1] = values[1];\n this.values[2] = values[2];\n },\n enumerable: false,\n configurable: true\n });\n /**\r\n * Returns the length of the vector.\r\n */\n\n Vector.prototype.magnitude = function () {\n return Math.sqrt(this.sqrMagnitude());\n };\n /**\r\n * Returns the squared length of the vector.\r\n */\n\n\n Vector.prototype.sqrMagnitude = function () {\n return this.x * this.x + this.y * this.y + this.z * this.z;\n };\n /**\r\n * Adds the two vectors together, component-wise.\r\n */\n\n\n Vector.prototype.add = function (vector) {\n return new Vector(this.x + vector.x, this.y + vector.y, this.z + vector.z);\n };\n /**\r\n * Subtracts the right vector from the left one, component-wise.\r\n */\n\n\n Vector.prototype.subtract = function (vector) {\n return new Vector(this.x - vector.x, this.y - vector.y, this.z - vector.z);\n };\n /**\r\n * Scales the lefthand vector by another vector or by a number.\r\n */\n\n\n Vector.prototype.scale = function (scalar) {\n if (typeof scalar === \"number\") {\n return new Vector(this.x * scalar, this.y * scalar, this.z * scalar);\n } else {\n return new Vector(this.x * scalar.x, this.y * scalar.y, this.z * scalar.z);\n }\n };\n /**\r\n * Normalizes the vector to a length of 1. If the length was previously zero,\r\n * then a zero-length vector will be returned.\r\n */\n\n\n Vector.prototype.normalized = function () {\n var magnitude = this.magnitude();\n\n if (magnitude !== 0) {\n return this.scale(1 / magnitude);\n }\n\n return new (Vector.bind.apply(Vector, __spreadArray([void 0], this.xyz)))();\n };\n /**\r\n * Returns the angle between two vectors, in degrees.\r\n */\n\n\n Vector.prototype.angle = function (vector) {\n return math_1.rad2deg * Math.acos((this.x * vector.x + this.y * vector.y + this.z * vector.z) / (this.magnitude() * vector.magnitude()));\n };\n /**\r\n * Returns the cross-product of two vectors.\r\n */\n\n\n Vector.prototype.cross = function (vector) {\n return new Vector(this.y * vector.z - this.z * vector.y, this.z * vector.x - this.x * vector.z, this.x * vector.y - this.y * vector.x);\n };\n /**\r\n * returns the dot-product of two vectors.\r\n */\n\n\n Vector.prototype.dot = function (vector) {\n return this.magnitude() * vector.magnitude() * Math.cos(math_1.deg2rad * this.angle(vector));\n };\n /**\r\n * Returns a formatted representation of the vector.\r\n */\n\n\n Vector.prototype.toString = function () {\n return \"Vector(\" + this.values.join(\", \") + \")\";\n };\n /**\r\n * Creates a new vector from an angle, in degrees. Note that the z-component will be zero.\r\n */\n\n\n Vector.from2dAngle = function (angle) {\n return new Vector(Math.cos(angle * math_1.deg2rad), Math.sin(angle * math_1.deg2rad));\n };\n /**\r\n * Returns (0, 0, 0).\r\n */\n\n\n Vector.zero = new Vector(0, 0, 0);\n /**\r\n * Returns (1, 1, 1).\r\n */\n\n Vector.one = new Vector(1, 1, 1);\n /**\r\n * Returns (1, 0, 0).\r\n */\n\n Vector.right = new Vector(1, 0, 0);\n /**\r\n * Returns (0, 1, 0).\r\n */\n\n Vector.up = new Vector(0, 1, 0);\n /**\r\n * Returns (0, 0, 1).\r\n */\n\n Vector.forward = new Vector(0, 0, 1);\n return Vector;\n}();\n\nexports.Vector = Vector;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ModuleBuilder = void 0;\n\nvar components_1 = require(\"../components\");\n/**\r\n * Represents a builder for particle modules. Returns an evaluatable module\r\n * function, that can be consumed by emitters.\r\n *\r\n * @remarks\r\n * Not all properties can be driven. TypeScript will validate this at compile time,\r\n * but no internal validation is performed due to performance reasons. Also, note\r\n * that the driving factor is \"lifetime\" by default.\r\n *\r\n * @example\r\n * ```ts\r\n * new ModuleBuilder()\r\n * .drive(\"size\")\r\n * .by((t) => t * 2)\r\n * .through(\"lifetime\")\r\n * .build();\r\n * ```\r\n */\n\n\nvar ModuleBuilder =\n/** @class */\nfunction () {\n function ModuleBuilder() {\n /**\r\n * The factor driving the built function.\r\n *\r\n * @defaultValue \"lifetime\"\r\n */\n this.factor = \"lifetime\";\n this.isRelative = false;\n }\n /**\r\n * Specifies the key in the particle that should be driven.\r\n *\r\n * @remarks\r\n * Note that not all of a particle's properties are drivable through modules. If you\r\n * need full control of a particle inside of a module, you can use a module function directly.\r\n *\r\n * @returns The chained builder instance.\r\n */\n\n\n ModuleBuilder.prototype.drive = function (key) {\n this.driverKey = key;\n return this;\n };\n /**\r\n * Specifies the factor to drive the evaluated value by. Supports \"lifetime\" and \"size\".\r\n *\r\n * @returns The chained builder instance.\r\n */\n\n\n ModuleBuilder.prototype.through = function (factor) {\n this.factor = factor;\n return this;\n };\n /**\r\n * Specifies the value to drive the module behaviour by. This can be a constant,\r\n * a spline or an evaluable function. Note that in the last case, the driving\r\n * factor is passed as a parameter.\r\n *\r\n * @returns The chained builder instance.\r\n */\n\n\n ModuleBuilder.prototype.by = function (driver) {\n this.driverValue = driver;\n return this;\n };\n /**\r\n * Specifies that the module function is supposed to act relative to the\r\n * properties initial value.\r\n *\r\n * @remarks\r\n * Note that this is only possible if an \"initial*\" property exists on the\r\n * particle object. The operation applied to the initial and new value\r\n * is dependant on their type:\r\n * - `Vector`: Both vectors are added.\r\n * - `number`: Both numbers are multiplied.\r\n *\r\n * For more advanced relative customizations, consider using the particle\r\n * object in the driver value function instead, like:\r\n * ```ts\r\n * .by((t, p) => p.initialSize + t * 2);\r\n * ```\r\n */\n\n\n ModuleBuilder.prototype.relative = function (isRelative) {\n if (isRelative === void 0) {\n isRelative = true;\n }\n\n this.isRelative = isRelative;\n return this;\n };\n /**\r\n * Consumes the builder and returns an evaluatable module function.\r\n *\r\n * @remarks\r\n * Note that you need to specify the driving key and value, otherwise an error\r\n * will be thrown.\r\n */\n\n\n ModuleBuilder.prototype.build = function () {\n var _this = this;\n\n if (typeof this.driverKey === \"undefined\") {\n throw new Error(\"No driving key was provided in the module builder. Did you forget a '.drive()' call?\");\n }\n\n if (typeof this.driverValue === \"undefined\") {\n throw new Error(\"No driving value was provided in the module builder. Did you forget a '.through()' call?\");\n }\n\n return function (particle) {\n updateDrivenProperty(particle, _this.driverKey, evaluateModuleDriver(_this.driverValue, calculateModuleFactor(_this.factor, particle), particle), _this.isRelative);\n };\n };\n\n return ModuleBuilder;\n}();\n\nexports.ModuleBuilder = ModuleBuilder;\n/**\r\n * Evaluates the module driver using a specified factor.\r\n */\n\nfunction evaluateModuleDriver(driver, factor, particle) {\n if (typeof driver === \"object\" && \"evaluate\" in driver) {\n return driver.evaluate(factor);\n }\n\n if (typeof driver === \"function\") {\n return driver(factor, particle);\n }\n\n return driver;\n}\n/**\r\n * Calculates a module factor using a specified particle as context.\r\n */\n\n\nfunction calculateModuleFactor(factor, particle) {\n switch (factor) {\n case \"lifetime\":\n return particle.initialLifetime - particle.lifetime;\n\n case \"relativeLifetime\":\n return (particle.initialLifetime - particle.lifetime) / particle.initialLifetime;\n\n case \"size\":\n return particle.size;\n\n default:\n throw new Error(\"Invalid driving factor '\" + factor + \"'.\");\n }\n}\n/**\r\n * Updates a driven property of a particle using the specified value.\r\n *\r\n * @remarks\r\n * If the operation is marked as relative, the function infers the new value\r\n * through the value's type. Note that relative properties must have a\r\n * corresponding \"initial*\" value in the particle's properties.\r\n */\n\n\nfunction updateDrivenProperty(particle, key, value, relative) {\n if (relative === void 0) {\n relative = false;\n }\n\n if (!relative) {\n particle[key] = value;\n } else {\n var initial = particle[\"initial\" + key[0].toUpperCase() + key.substr(1)];\n\n if (typeof initial === \"undefined\") {\n throw new Error(\"Unable to use relative chaining with key '\" + key + \"'; no initial value exists.\");\n }\n\n if (value instanceof components_1.Vector) {\n updateDrivenProperty(particle, key, initial.add(value));\n } else if (typeof value === \"number\") {\n updateDrivenProperty(particle, key, initial * value);\n } else {\n throw new Error(\"Unable to use relative chaining with particle key '\" + key + \"'; no relative operation for '\" + value + \"' could be inferred.\");\n }\n }\n}","define([\"./arr\"], function (arr) {\n \"use strict\";\n\n return arr.indexOf;\n});","define([\"./class2type\"], function (class2type) {\n \"use strict\";\n\n return class2type.hasOwnProperty;\n});","define([\"./core\", \"./core/toType\", \"./var/isFunction\", \"./var/rnothtmlwhite\"], function (jQuery, toType, isFunction, rnothtmlwhite) {\n \"use strict\"; // Convert String-formatted options into Object-formatted ones\n\n function createOptions(options) {\n var object = {};\n jQuery.each(options.match(rnothtmlwhite) || [], function (_, flag) {\n object[flag] = true;\n });\n return object;\n }\n /*\n * Create a callback list using the following parameters:\n *\n *\toptions: an optional list of space-separated options that will change how\n *\t\t\tthe callback list behaves or a more traditional option object\n *\n * By default a callback list will act like an event callback list and can be\n * \"fired\" multiple times.\n *\n * Possible options:\n *\n *\tonce:\t\t\twill ensure the callback list can only be fired once (like a Deferred)\n *\n *\tmemory:\t\t\twill keep track of previous values and will call any callback added\n *\t\t\t\t\tafter the list has been fired right away with the latest \"memorized\"\n *\t\t\t\t\tvalues (like a Deferred)\n *\n *\tunique:\t\t\twill ensure a callback can only be added once (no duplicate in the list)\n *\n *\tstopOnFalse:\tinterrupt callings when a callback returns false\n *\n */\n\n\n jQuery.Callbacks = function (options) {\n // Convert options from String-formatted to Object-formatted if needed\n // (we check in cache first)\n options = typeof options === \"string\" ? createOptions(options) : jQuery.extend({}, options);\n\n var // Flag to know if list is currently firing\n firing,\n // Last fire value for non-forgettable lists\n memory,\n // Flag to know if list was already fired\n fired,\n // Flag to prevent firing\n locked,\n // Actual callback list\n list = [],\n // Queue of execution data for repeatable lists\n queue = [],\n // Index of currently firing callback (modified by add/remove as needed)\n firingIndex = -1,\n // Fire callbacks\n fire = function () {\n // Enforce single-firing\n locked = locked || options.once; // Execute callbacks for all pending executions,\n // respecting firingIndex overrides and runtime changes\n\n fired = firing = true;\n\n for (; queue.length; firingIndex = -1) {\n memory = queue.shift();\n\n while (++firingIndex < list.length) {\n // Run callback and check for early termination\n if (list[firingIndex].apply(memory[0], memory[1]) === false && options.stopOnFalse) {\n // Jump to end and forget the data so .add doesn't re-fire\n firingIndex = list.length;\n memory = false;\n }\n }\n } // Forget the data if we're done with it\n\n\n if (!options.memory) {\n memory = false;\n }\n\n firing = false; // Clean up if we're done firing for good\n\n if (locked) {\n // Keep an empty list if we have data for future add calls\n if (memory) {\n list = []; // Otherwise, this object is spent\n } else {\n list = \"\";\n }\n }\n },\n // Actual Callbacks object\n self = {\n // Add a callback or a collection of callbacks to the list\n add: function () {\n if (list) {\n // If we have memory from a past run, we should fire after adding\n if (memory && !firing) {\n firingIndex = list.length - 1;\n queue.push(memory);\n }\n\n (function add(args) {\n jQuery.each(args, function (_, arg) {\n if (isFunction(arg)) {\n if (!options.unique || !self.has(arg)) {\n list.push(arg);\n }\n } else if (arg && arg.length && toType(arg) !== \"string\") {\n // Inspect recursively\n add(arg);\n }\n });\n })(arguments);\n\n if (memory && !firing) {\n fire();\n }\n }\n\n return this;\n },\n // Remove a callback from the list\n remove: function () {\n jQuery.each(arguments, function (_, arg) {\n var index;\n\n while ((index = jQuery.inArray(arg, list, index)) > -1) {\n list.splice(index, 1); // Handle firing indexes\n\n if (index <= firingIndex) {\n firingIndex--;\n }\n }\n });\n return this;\n },\n // Check if a given callback is in the list.\n // If no argument is given, return whether or not list has callbacks attached.\n has: function (fn) {\n return fn ? jQuery.inArray(fn, list) > -1 : list.length > 0;\n },\n // Remove all callbacks from the list\n empty: function () {\n if (list) {\n list = [];\n }\n\n return this;\n },\n // Disable .fire and .add\n // Abort any current/pending executions\n // Clear all callbacks and values\n disable: function () {\n locked = queue = [];\n list = memory = \"\";\n return this;\n },\n disabled: function () {\n return !list;\n },\n // Disable .fire\n // Also disable .add unless we have memory (since it would have no effect)\n // Abort any pending executions\n lock: function () {\n locked = queue = [];\n\n if (!memory && !firing) {\n list = memory = \"\";\n }\n\n return this;\n },\n locked: function () {\n return !!locked;\n },\n // Call all callbacks with the given context and arguments\n fireWith: function (context, args) {\n if (!locked) {\n args = args || [];\n args = [context, args.slice ? args.slice() : args];\n queue.push(args);\n\n if (!firing) {\n fire();\n }\n }\n\n return this;\n },\n // Call all the callbacks with the given arguments\n fire: function () {\n self.fireWith(this, arguments);\n return this;\n },\n // To know if the callbacks have already been called at least once\n fired: function () {\n return !!fired;\n }\n };\n\n return self;\n };\n\n return jQuery;\n});","define(function () {\n \"use strict\";\n /**\n * Determines whether an object can have data\n */\n\n return function (owner) {\n // Accepts only:\n // - Node\n // - Node.ELEMENT_NODE\n // - Node.DOCUMENT_NODE\n // - Object\n // - Any\n return owner.nodeType === 1 || owner.nodeType === 9 || !+owner.nodeType;\n };\n});","define([\"./core\", \"./data/var/dataPriv\", \"./deferred\", \"./callbacks\"], function (jQuery, dataPriv) {\n \"use strict\";\n\n jQuery.extend({\n queue: function (elem, type, data) {\n var queue;\n\n if (elem) {\n type = (type || \"fx\") + \"queue\";\n queue = dataPriv.get(elem, type); // Speed up dequeue by getting out quickly if this is just a lookup\n\n if (data) {\n if (!queue || Array.isArray(data)) {\n queue = dataPriv.access(elem, type, jQuery.makeArray(data));\n } else {\n queue.push(data);\n }\n }\n\n return queue || [];\n }\n },\n dequeue: function (elem, type) {\n type = type || \"fx\";\n\n var queue = jQuery.queue(elem, type),\n startLength = queue.length,\n fn = queue.shift(),\n hooks = jQuery._queueHooks(elem, type),\n next = function () {\n jQuery.dequeue(elem, type);\n }; // If the fx queue is dequeued, always remove the progress sentinel\n\n\n if (fn === \"inprogress\") {\n fn = queue.shift();\n startLength--;\n }\n\n if (fn) {\n // Add a progress sentinel to prevent the fx queue from being\n // automatically dequeued\n if (type === \"fx\") {\n queue.unshift(\"inprogress\");\n } // Clear up the last queue stop function\n\n\n delete hooks.stop;\n fn.call(elem, next, hooks);\n }\n\n if (!startLength && hooks) {\n hooks.empty.fire();\n }\n },\n // Not public - generate a queueHooks object, or return the current one\n _queueHooks: function (elem, type) {\n var key = type + \"queueHooks\";\n return dataPriv.get(elem, key) || dataPriv.access(elem, key, {\n empty: jQuery.Callbacks(\"once memory\").add(function () {\n dataPriv.remove(elem, [type + \"queue\", key]);\n })\n });\n }\n });\n jQuery.fn.extend({\n queue: function (type, data) {\n var setter = 2;\n\n if (typeof type !== \"string\") {\n data = type;\n type = \"fx\";\n setter--;\n }\n\n if (arguments.length < setter) {\n return jQuery.queue(this[0], type);\n }\n\n return data === undefined ? this : this.each(function () {\n var queue = jQuery.queue(this, type, data); // Ensure a hooks for this queue\n\n jQuery._queueHooks(this, type);\n\n if (type === \"fx\" && queue[0] !== \"inprogress\") {\n jQuery.dequeue(this, type);\n }\n });\n },\n dequeue: function (type) {\n return this.each(function () {\n jQuery.dequeue(this, type);\n });\n },\n clearQueue: function (type) {\n return this.queue(type || \"fx\", []);\n },\n // Get a promise resolved when queues of a certain type\n // are emptied (fx is the type by default)\n promise: function (type, obj) {\n var tmp,\n count = 1,\n defer = jQuery.Deferred(),\n elements = this,\n i = this.length,\n resolve = function () {\n if (! --count) {\n defer.resolveWith(elements, [elements]);\n }\n };\n\n if (typeof type !== \"string\") {\n obj = type;\n type = undefined;\n }\n\n type = type || \"fx\";\n\n while (i--) {\n tmp = dataPriv.get(elements[i], type + \"queueHooks\");\n\n if (tmp && tmp.empty) {\n count++;\n tmp.empty.add(resolve);\n }\n }\n\n resolve();\n return defer.promise(obj);\n }\n });\n return jQuery;\n});","define([\"./core\", \"./core/camelCase\", \"./var/document\", \"./var/isFunction\", \"./var/rcssNum\", \"./var/rnothtmlwhite\", \"./css/var/cssExpand\", \"./css/var/isHiddenWithinTree\", \"./css/var/swap\", \"./css/adjustCSS\", \"./data/var/dataPriv\", \"./css/showHide\", \"./core/init\", \"./queue\", \"./deferred\", \"./traversing\", \"./manipulation\", \"./css\", \"./effects/Tween\"], function (jQuery, camelCase, document, isFunction, rcssNum, rnothtmlwhite, cssExpand, isHiddenWithinTree, swap, adjustCSS, dataPriv, showHide) {\n \"use strict\";\n\n var fxNow,\n inProgress,\n rfxtypes = /^(?:toggle|show|hide)$/,\n rrun = /queueHooks$/;\n\n function schedule() {\n if (inProgress) {\n if (document.hidden === false && window.requestAnimationFrame) {\n window.requestAnimationFrame(schedule);\n } else {\n window.setTimeout(schedule, jQuery.fx.interval);\n }\n\n jQuery.fx.tick();\n }\n } // Animations created synchronously will run synchronously\n\n\n function createFxNow() {\n window.setTimeout(function () {\n fxNow = undefined;\n });\n return fxNow = Date.now();\n } // Generate parameters to create a standard animation\n\n\n function genFx(type, includeWidth) {\n var which,\n i = 0,\n attrs = {\n height: type\n }; // If we include width, step value is 1 to do all cssExpand values,\n // otherwise step value is 2 to skip over Left and Right\n\n includeWidth = includeWidth ? 1 : 0;\n\n for (; i < 4; i += 2 - includeWidth) {\n which = cssExpand[i];\n attrs[\"margin\" + which] = attrs[\"padding\" + which] = type;\n }\n\n if (includeWidth) {\n attrs.opacity = attrs.width = type;\n }\n\n return attrs;\n }\n\n function createTween(value, prop, animation) {\n var tween,\n collection = (Animation.tweeners[prop] || []).concat(Animation.tweeners[\"*\"]),\n index = 0,\n length = collection.length;\n\n for (; index < length; index++) {\n if (tween = collection[index].call(animation, prop, value)) {\n // We're done with this property\n return tween;\n }\n }\n }\n\n function defaultPrefilter(elem, props, opts) {\n var prop,\n value,\n toggle,\n hooks,\n oldfire,\n propTween,\n restoreDisplay,\n display,\n isBox = \"width\" in props || \"height\" in props,\n anim = this,\n orig = {},\n style = elem.style,\n hidden = elem.nodeType && isHiddenWithinTree(elem),\n dataShow = dataPriv.get(elem, \"fxshow\"); // Queue-skipping animations hijack the fx hooks\n\n if (!opts.queue) {\n hooks = jQuery._queueHooks(elem, \"fx\");\n\n if (hooks.unqueued == null) {\n hooks.unqueued = 0;\n oldfire = hooks.empty.fire;\n\n hooks.empty.fire = function () {\n if (!hooks.unqueued) {\n oldfire();\n }\n };\n }\n\n hooks.unqueued++;\n anim.always(function () {\n // Ensure the complete handler is called before this completes\n anim.always(function () {\n hooks.unqueued--;\n\n if (!jQuery.queue(elem, \"fx\").length) {\n hooks.empty.fire();\n }\n });\n });\n } // Detect show/hide animations\n\n\n for (prop in props) {\n value = props[prop];\n\n if (rfxtypes.test(value)) {\n delete props[prop];\n toggle = toggle || value === \"toggle\";\n\n if (value === (hidden ? \"hide\" : \"show\")) {\n // Pretend to be hidden if this is a \"show\" and\n // there is still data from a stopped show/hide\n if (value === \"show\" && dataShow && dataShow[prop] !== undefined) {\n hidden = true; // Ignore all other no-op show/hide data\n } else {\n continue;\n }\n }\n\n orig[prop] = dataShow && dataShow[prop] || jQuery.style(elem, prop);\n }\n } // Bail out if this is a no-op like .hide().hide()\n\n\n propTween = !jQuery.isEmptyObject(props);\n\n if (!propTween && jQuery.isEmptyObject(orig)) {\n return;\n } // Restrict \"overflow\" and \"display\" styles during box animations\n\n\n if (isBox && elem.nodeType === 1) {\n // Support: IE <=9 - 11, Edge 12 - 15\n // Record all 3 overflow attributes because IE does not infer the shorthand\n // from identically-valued overflowX and overflowY and Edge just mirrors\n // the overflowX value there.\n opts.overflow = [style.overflow, style.overflowX, style.overflowY]; // Identify a display type, preferring old show/hide data over the CSS cascade\n\n restoreDisplay = dataShow && dataShow.display;\n\n if (restoreDisplay == null) {\n restoreDisplay = dataPriv.get(elem, \"display\");\n }\n\n display = jQuery.css(elem, \"display\");\n\n if (display === \"none\") {\n if (restoreDisplay) {\n display = restoreDisplay;\n } else {\n // Get nonempty value(s) by temporarily forcing visibility\n showHide([elem], true);\n restoreDisplay = elem.style.display || restoreDisplay;\n display = jQuery.css(elem, \"display\");\n showHide([elem]);\n }\n } // Animate inline elements as inline-block\n\n\n if (display === \"inline\" || display === \"inline-block\" && restoreDisplay != null) {\n if (jQuery.css(elem, \"float\") === \"none\") {\n // Restore the original display value at the end of pure show/hide animations\n if (!propTween) {\n anim.done(function () {\n style.display = restoreDisplay;\n });\n\n if (restoreDisplay == null) {\n display = style.display;\n restoreDisplay = display === \"none\" ? \"\" : display;\n }\n }\n\n style.display = \"inline-block\";\n }\n }\n }\n\n if (opts.overflow) {\n style.overflow = \"hidden\";\n anim.always(function () {\n style.overflow = opts.overflow[0];\n style.overflowX = opts.overflow[1];\n style.overflowY = opts.overflow[2];\n });\n } // Implement show/hide animations\n\n\n propTween = false;\n\n for (prop in orig) {\n // General show/hide setup for this element animation\n if (!propTween) {\n if (dataShow) {\n if (\"hidden\" in dataShow) {\n hidden = dataShow.hidden;\n }\n } else {\n dataShow = dataPriv.access(elem, \"fxshow\", {\n display: restoreDisplay\n });\n } // Store hidden/visible for toggle so `.stop().toggle()` \"reverses\"\n\n\n if (toggle) {\n dataShow.hidden = !hidden;\n } // Show elements before animating them\n\n\n if (hidden) {\n showHide([elem], true);\n }\n /* eslint-disable no-loop-func */\n\n\n anim.done(function () {\n /* eslint-enable no-loop-func */\n // The final step of a \"hide\" animation is actually hiding the element\n if (!hidden) {\n showHide([elem]);\n }\n\n dataPriv.remove(elem, \"fxshow\");\n\n for (prop in orig) {\n jQuery.style(elem, prop, orig[prop]);\n }\n });\n } // Per-property setup\n\n\n propTween = createTween(hidden ? dataShow[prop] : 0, prop, anim);\n\n if (!(prop in dataShow)) {\n dataShow[prop] = propTween.start;\n\n if (hidden) {\n propTween.end = propTween.start;\n propTween.start = 0;\n }\n }\n }\n }\n\n function propFilter(props, specialEasing) {\n var index, name, easing, value, hooks; // camelCase, specialEasing and expand cssHook pass\n\n for (index in props) {\n name = camelCase(index);\n easing = specialEasing[name];\n value = props[index];\n\n if (Array.isArray(value)) {\n easing = value[1];\n value = props[index] = value[0];\n }\n\n if (index !== name) {\n props[name] = value;\n delete props[index];\n }\n\n hooks = jQuery.cssHooks[name];\n\n if (hooks && \"expand\" in hooks) {\n value = hooks.expand(value);\n delete props[name]; // Not quite $.extend, this won't overwrite existing keys.\n // Reusing 'index' because we have the correct \"name\"\n\n for (index in value) {\n if (!(index in props)) {\n props[index] = value[index];\n specialEasing[index] = easing;\n }\n }\n } else {\n specialEasing[name] = easing;\n }\n }\n }\n\n function Animation(elem, properties, options) {\n var result,\n stopped,\n index = 0,\n length = Animation.prefilters.length,\n deferred = jQuery.Deferred().always(function () {\n // Don't match elem in the :animated selector\n delete tick.elem;\n }),\n tick = function () {\n if (stopped) {\n return false;\n }\n\n var currentTime = fxNow || createFxNow(),\n remaining = Math.max(0, animation.startTime + animation.duration - currentTime),\n // Support: Android 2.3 only\n // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)\n temp = remaining / animation.duration || 0,\n percent = 1 - temp,\n index = 0,\n length = animation.tweens.length;\n\n for (; index < length; index++) {\n animation.tweens[index].run(percent);\n }\n\n deferred.notifyWith(elem, [animation, percent, remaining]); // If there's more to do, yield\n\n if (percent < 1 && length) {\n return remaining;\n } // If this was an empty animation, synthesize a final progress notification\n\n\n if (!length) {\n deferred.notifyWith(elem, [animation, 1, 0]);\n } // Resolve the animation and report its conclusion\n\n\n deferred.resolveWith(elem, [animation]);\n return false;\n },\n animation = deferred.promise({\n elem: elem,\n props: jQuery.extend({}, properties),\n opts: jQuery.extend(true, {\n specialEasing: {},\n easing: jQuery.easing._default\n }, options),\n originalProperties: properties,\n originalOptions: options,\n startTime: fxNow || createFxNow(),\n duration: options.duration,\n tweens: [],\n createTween: function (prop, end) {\n var tween = jQuery.Tween(elem, animation.opts, prop, end, animation.opts.specialEasing[prop] || animation.opts.easing);\n animation.tweens.push(tween);\n return tween;\n },\n stop: function (gotoEnd) {\n var index = 0,\n // If we are going to the end, we want to run all the tweens\n // otherwise we skip this part\n length = gotoEnd ? animation.tweens.length : 0;\n\n if (stopped) {\n return this;\n }\n\n stopped = true;\n\n for (; index < length; index++) {\n animation.tweens[index].run(1);\n } // Resolve when we played the last frame; otherwise, reject\n\n\n if (gotoEnd) {\n deferred.notifyWith(elem, [animation, 1, 0]);\n deferred.resolveWith(elem, [animation, gotoEnd]);\n } else {\n deferred.rejectWith(elem, [animation, gotoEnd]);\n }\n\n return this;\n }\n }),\n props = animation.props;\n\n propFilter(props, animation.opts.specialEasing);\n\n for (; index < length; index++) {\n result = Animation.prefilters[index].call(animation, elem, props, animation.opts);\n\n if (result) {\n if (isFunction(result.stop)) {\n jQuery._queueHooks(animation.elem, animation.opts.queue).stop = result.stop.bind(result);\n }\n\n return result;\n }\n }\n\n jQuery.map(props, createTween, animation);\n\n if (isFunction(animation.opts.start)) {\n animation.opts.start.call(elem, animation);\n } // Attach callbacks from options\n\n\n animation.progress(animation.opts.progress).done(animation.opts.done, animation.opts.complete).fail(animation.opts.fail).always(animation.opts.always);\n jQuery.fx.timer(jQuery.extend(tick, {\n elem: elem,\n anim: animation,\n queue: animation.opts.queue\n }));\n return animation;\n }\n\n jQuery.Animation = jQuery.extend(Animation, {\n tweeners: {\n \"*\": [function (prop, value) {\n var tween = this.createTween(prop, value);\n adjustCSS(tween.elem, prop, rcssNum.exec(value), tween);\n return tween;\n }]\n },\n tweener: function (props, callback) {\n if (isFunction(props)) {\n callback = props;\n props = [\"*\"];\n } else {\n props = props.match(rnothtmlwhite);\n }\n\n var prop,\n index = 0,\n length = props.length;\n\n for (; index < length; index++) {\n prop = props[index];\n Animation.tweeners[prop] = Animation.tweeners[prop] || [];\n Animation.tweeners[prop].unshift(callback);\n }\n },\n prefilters: [defaultPrefilter],\n prefilter: function (callback, prepend) {\n if (prepend) {\n Animation.prefilters.unshift(callback);\n } else {\n Animation.prefilters.push(callback);\n }\n }\n });\n\n jQuery.speed = function (speed, easing, fn) {\n var opt = speed && typeof speed === \"object\" ? jQuery.extend({}, speed) : {\n complete: fn || !fn && easing || isFunction(speed) && speed,\n duration: speed,\n easing: fn && easing || easing && !isFunction(easing) && easing\n }; // Go to the end state if fx are off\n\n if (jQuery.fx.off) {\n opt.duration = 0;\n } else {\n if (typeof opt.duration !== \"number\") {\n if (opt.duration in jQuery.fx.speeds) {\n opt.duration = jQuery.fx.speeds[opt.duration];\n } else {\n opt.duration = jQuery.fx.speeds._default;\n }\n }\n } // Normalize opt.queue - true/undefined/null -> \"fx\"\n\n\n if (opt.queue == null || opt.queue === true) {\n opt.queue = \"fx\";\n } // Queueing\n\n\n opt.old = opt.complete;\n\n opt.complete = function () {\n if (isFunction(opt.old)) {\n opt.old.call(this);\n }\n\n if (opt.queue) {\n jQuery.dequeue(this, opt.queue);\n }\n };\n\n return opt;\n };\n\n jQuery.fn.extend({\n fadeTo: function (speed, to, easing, callback) {\n // Show any hidden elements after setting opacity to 0\n return this.filter(isHiddenWithinTree).css(\"opacity\", 0).show() // Animate to the value specified\n .end().animate({\n opacity: to\n }, speed, easing, callback);\n },\n animate: function (prop, speed, easing, callback) {\n var empty = jQuery.isEmptyObject(prop),\n optall = jQuery.speed(speed, easing, callback),\n doAnimation = function () {\n // Operate on a copy of prop so per-property easing won't be lost\n var anim = Animation(this, jQuery.extend({}, prop), optall); // Empty animations, or finishing resolves immediately\n\n if (empty || dataPriv.get(this, \"finish\")) {\n anim.stop(true);\n }\n };\n\n doAnimation.finish = doAnimation;\n return empty || optall.queue === false ? this.each(doAnimation) : this.queue(optall.queue, doAnimation);\n },\n stop: function (type, clearQueue, gotoEnd) {\n var stopQueue = function (hooks) {\n var stop = hooks.stop;\n delete hooks.stop;\n stop(gotoEnd);\n };\n\n if (typeof type !== \"string\") {\n gotoEnd = clearQueue;\n clearQueue = type;\n type = undefined;\n }\n\n if (clearQueue && type !== false) {\n this.queue(type || \"fx\", []);\n }\n\n return this.each(function () {\n var dequeue = true,\n index = type != null && type + \"queueHooks\",\n timers = jQuery.timers,\n data = dataPriv.get(this);\n\n if (index) {\n if (data[index] && data[index].stop) {\n stopQueue(data[index]);\n }\n } else {\n for (index in data) {\n if (data[index] && data[index].stop && rrun.test(index)) {\n stopQueue(data[index]);\n }\n }\n }\n\n for (index = timers.length; index--;) {\n if (timers[index].elem === this && (type == null || timers[index].queue === type)) {\n timers[index].anim.stop(gotoEnd);\n dequeue = false;\n timers.splice(index, 1);\n }\n } // Start the next in the queue if the last step wasn't forced.\n // Timers currently will call their complete callbacks, which\n // will dequeue but only if they were gotoEnd.\n\n\n if (dequeue || !gotoEnd) {\n jQuery.dequeue(this, type);\n }\n });\n },\n finish: function (type) {\n if (type !== false) {\n type = type || \"fx\";\n }\n\n return this.each(function () {\n var index,\n data = dataPriv.get(this),\n queue = data[type + \"queue\"],\n hooks = data[type + \"queueHooks\"],\n timers = jQuery.timers,\n length = queue ? queue.length : 0; // Enable finishing flag on private data\n\n data.finish = true; // Empty the queue first\n\n jQuery.queue(this, type, []);\n\n if (hooks && hooks.stop) {\n hooks.stop.call(this, true);\n } // Look for any active animations, and finish them\n\n\n for (index = timers.length; index--;) {\n if (timers[index].elem === this && timers[index].queue === type) {\n timers[index].anim.stop(true);\n timers.splice(index, 1);\n }\n } // Look for any animations in the old queue and finish them\n\n\n for (index = 0; index < length; index++) {\n if (queue[index] && queue[index].finish) {\n queue[index].finish.call(this);\n }\n } // Turn off finishing flag\n\n\n delete data.finish;\n });\n }\n });\n jQuery.each([\"toggle\", \"show\", \"hide\"], function (i, name) {\n var cssFn = jQuery.fn[name];\n\n jQuery.fn[name] = function (speed, easing, callback) {\n return speed == null || typeof speed === \"boolean\" ? cssFn.apply(this, arguments) : this.animate(genFx(name, true), speed, easing, callback);\n };\n }); // Generate shortcuts for custom animations\n\n jQuery.each({\n slideDown: genFx(\"show\"),\n slideUp: genFx(\"hide\"),\n slideToggle: genFx(\"toggle\"),\n fadeIn: {\n opacity: \"show\"\n },\n fadeOut: {\n opacity: \"hide\"\n },\n fadeToggle: {\n opacity: \"toggle\"\n }\n }, function (name, props) {\n jQuery.fn[name] = function (speed, easing, callback) {\n return this.animate(props, speed, easing, callback);\n };\n });\n jQuery.timers = [];\n\n jQuery.fx.tick = function () {\n var timer,\n i = 0,\n timers = jQuery.timers;\n fxNow = Date.now();\n\n for (; i < timers.length; i++) {\n timer = timers[i]; // Run the timer and safely remove it when done (allowing for external removal)\n\n if (!timer() && timers[i] === timer) {\n timers.splice(i--, 1);\n }\n }\n\n if (!timers.length) {\n jQuery.fx.stop();\n }\n\n fxNow = undefined;\n };\n\n jQuery.fx.timer = function (timer) {\n jQuery.timers.push(timer);\n jQuery.fx.start();\n };\n\n jQuery.fx.interval = 13;\n\n jQuery.fx.start = function () {\n if (inProgress) {\n return;\n }\n\n inProgress = true;\n schedule();\n };\n\n jQuery.fx.stop = function () {\n inProgress = null;\n };\n\n jQuery.fx.speeds = {\n slow: 600,\n fast: 200,\n // Default speed\n _default: 400\n };\n return jQuery;\n});","define([\"../var/pnum\"], function (pnum) {\n \"use strict\";\n\n return new RegExp(\"^(?:([+-])=|)(\" + pnum + \")([a-z%]*)$\", \"i\");\n});","define(function () {\n \"use strict\";\n\n return [\"Top\", \"Right\", \"Bottom\", \"Left\"];\n});","define(function () {\n \"use strict\";\n\n return /^(?:checkbox|radio)$/i;\n});","define([\"../../var/pnum\"], function (pnum) {\n \"use strict\";\n\n return new RegExp(\"^(\" + pnum + \")(?!px)[a-z%]+$\", \"i\");\n});","define([\"../core\", \"../var/document\", \"../var/documentElement\", \"../var/support\"], function (jQuery, document, documentElement, support) {\n \"use strict\";\n\n (function () {\n // Executing both pixelPosition & boxSizingReliable tests require only one layout\n // so they're executed at the same time to save the second computation.\n function computeStyleTests() {\n // This is a singleton, we need to execute it only once\n if (!div) {\n return;\n }\n\n container.style.cssText = \"position:absolute;left:-11111px;width:60px;\" + \"margin-top:1px;padding:0;border:0\";\n div.style.cssText = \"position:relative;display:block;box-sizing:border-box;overflow:scroll;\" + \"margin:auto;border:1px;padding:1px;\" + \"width:60%;top:1%\";\n documentElement.appendChild(container).appendChild(div);\n var divStyle = window.getComputedStyle(div);\n pixelPositionVal = divStyle.top !== \"1%\"; // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44\n\n reliableMarginLeftVal = roundPixelMeasures(divStyle.marginLeft) === 12; // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3\n // Some styles come back with percentage values, even though they shouldn't\n\n div.style.right = \"60%\";\n pixelBoxStylesVal = roundPixelMeasures(divStyle.right) === 36; // Support: IE 9 - 11 only\n // Detect misreporting of content dimensions for box-sizing:border-box elements\n\n boxSizingReliableVal = roundPixelMeasures(divStyle.width) === 36; // Support: IE 9 only\n // Detect overflow:scroll screwiness (gh-3699)\n // Support: Chrome <=64\n // Don't get tricked when zoom affects offsetWidth (gh-4029)\n\n div.style.position = \"absolute\";\n scrollboxSizeVal = roundPixelMeasures(div.offsetWidth / 3) === 12;\n documentElement.removeChild(container); // Nullify the div so it wouldn't be stored in the memory and\n // it will also be a sign that checks already performed\n\n div = null;\n }\n\n function roundPixelMeasures(measure) {\n return Math.round(parseFloat(measure));\n }\n\n var pixelPositionVal,\n boxSizingReliableVal,\n scrollboxSizeVal,\n pixelBoxStylesVal,\n reliableMarginLeftVal,\n container = document.createElement(\"div\"),\n div = document.createElement(\"div\"); // Finish early in limited (non-browser) environments\n\n if (!div.style) {\n return;\n } // Support: IE <=9 - 11 only\n // Style of cloned element affects source element cloned (#8908)\n\n\n div.style.backgroundClip = \"content-box\";\n div.cloneNode(true).style.backgroundClip = \"\";\n support.clearCloneStyle = div.style.backgroundClip === \"content-box\";\n jQuery.extend(support, {\n boxSizingReliable: function () {\n computeStyleTests();\n return boxSizingReliableVal;\n },\n pixelBoxStyles: function () {\n computeStyleTests();\n return pixelBoxStylesVal;\n },\n pixelPosition: function () {\n computeStyleTests();\n return pixelPositionVal;\n },\n reliableMarginLeft: function () {\n computeStyleTests();\n return reliableMarginLeftVal;\n },\n scrollboxSize: function () {\n computeStyleTests();\n return scrollboxSizeVal;\n }\n });\n })();\n\n return support;\n});","define([\"../var/document\", \"../var/support\"], function (document, support) {\n \"use strict\";\n\n (function () {\n var input = document.createElement(\"input\"),\n select = document.createElement(\"select\"),\n opt = select.appendChild(document.createElement(\"option\"));\n input.type = \"checkbox\"; // Support: Android <=4.3 only\n // Default value for a checkbox should be \"on\"\n\n support.checkOn = input.value !== \"\"; // Support: IE <=11 only\n // Must access selectedIndex to make default options select\n\n support.optSelected = opt.selected; // Support: IE <=11 only\n // An input loses its value after becoming a radio\n\n input = document.createElement(\"input\");\n input.value = \"t\";\n input.type = \"radio\";\n support.radioValue = input.value === \"t\";\n })();\n\n return support;\n});","define([\"../var/rnothtmlwhite\"], function (rnothtmlwhite) {\n \"use strict\"; // Strip and collapse whitespace according to HTML spec\n // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace\n\n function stripAndCollapse(value) {\n var tokens = value.match(rnothtmlwhite) || [];\n return tokens.join(\" \");\n }\n\n return stripAndCollapse;\n});","define([\"../core\", \"../var/document\", \"../data/var/dataPriv\", \"../data/var/acceptData\", \"../var/hasOwn\", \"../var/isFunction\", \"../var/isWindow\", \"../event\"], function (jQuery, document, dataPriv, acceptData, hasOwn, isFunction, isWindow) {\n \"use strict\";\n\n var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,\n stopPropagationCallback = function (e) {\n e.stopPropagation();\n };\n\n jQuery.extend(jQuery.event, {\n trigger: function (event, data, elem, onlyHandlers) {\n var i,\n cur,\n tmp,\n bubbleType,\n ontype,\n handle,\n special,\n lastElement,\n eventPath = [elem || document],\n type = hasOwn.call(event, \"type\") ? event.type : event,\n namespaces = hasOwn.call(event, \"namespace\") ? event.namespace.split(\".\") : [];\n cur = lastElement = tmp = elem = elem || document; // Don't do events on text and comment nodes\n\n if (elem.nodeType === 3 || elem.nodeType === 8) {\n return;\n } // focus/blur morphs to focusin/out; ensure we're not firing them right now\n\n\n if (rfocusMorph.test(type + jQuery.event.triggered)) {\n return;\n }\n\n if (type.indexOf(\".\") > -1) {\n // Namespaced trigger; create a regexp to match event type in handle()\n namespaces = type.split(\".\");\n type = namespaces.shift();\n namespaces.sort();\n }\n\n ontype = type.indexOf(\":\") < 0 && \"on\" + type; // Caller can pass in a jQuery.Event object, Object, or just an event type string\n\n event = event[jQuery.expando] ? event : new jQuery.Event(type, typeof event === \"object\" && event); // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)\n\n event.isTrigger = onlyHandlers ? 2 : 3;\n event.namespace = namespaces.join(\".\");\n event.rnamespace = event.namespace ? new RegExp(\"(^|\\\\.)\" + namespaces.join(\"\\\\.(?:.*\\\\.|)\") + \"(\\\\.|$)\") : null; // Clean up the event in case it is being reused\n\n event.result = undefined;\n\n if (!event.target) {\n event.target = elem;\n } // Clone any incoming data and prepend the event, creating the handler arg list\n\n\n data = data == null ? [event] : jQuery.makeArray(data, [event]); // Allow special events to draw outside the lines\n\n special = jQuery.event.special[type] || {};\n\n if (!onlyHandlers && special.trigger && special.trigger.apply(elem, data) === false) {\n return;\n } // Determine event propagation path in advance, per W3C events spec (#9951)\n // Bubble up to document, then to window; watch for a global ownerDocument var (#9724)\n\n\n if (!onlyHandlers && !special.noBubble && !isWindow(elem)) {\n bubbleType = special.delegateType || type;\n\n if (!rfocusMorph.test(bubbleType + type)) {\n cur = cur.parentNode;\n }\n\n for (; cur; cur = cur.parentNode) {\n eventPath.push(cur);\n tmp = cur;\n } // Only add window if we got to document (e.g., not plain obj or detached DOM)\n\n\n if (tmp === (elem.ownerDocument || document)) {\n eventPath.push(tmp.defaultView || tmp.parentWindow || window);\n }\n } // Fire handlers on the event path\n\n\n i = 0;\n\n while ((cur = eventPath[i++]) && !event.isPropagationStopped()) {\n lastElement = cur;\n event.type = i > 1 ? bubbleType : special.bindType || type; // jQuery handler\n\n handle = (dataPriv.get(cur, \"events\") || {})[event.type] && dataPriv.get(cur, \"handle\");\n\n if (handle) {\n handle.apply(cur, data);\n } // Native handler\n\n\n handle = ontype && cur[ontype];\n\n if (handle && handle.apply && acceptData(cur)) {\n event.result = handle.apply(cur, data);\n\n if (event.result === false) {\n event.preventDefault();\n }\n }\n }\n\n event.type = type; // If nobody prevented the default action, do it now\n\n if (!onlyHandlers && !event.isDefaultPrevented()) {\n if ((!special._default || special._default.apply(eventPath.pop(), data) === false) && acceptData(elem)) {\n // Call a native DOM method on the target with the same name as the event.\n // Don't do default actions on window, that's where global variables be (#6170)\n if (ontype && isFunction(elem[type]) && !isWindow(elem)) {\n // Don't re-trigger an onFOO event when we call its FOO() method\n tmp = elem[ontype];\n\n if (tmp) {\n elem[ontype] = null;\n } // Prevent re-triggering of the same event, since we already bubbled it above\n\n\n jQuery.event.triggered = type;\n\n if (event.isPropagationStopped()) {\n lastElement.addEventListener(type, stopPropagationCallback);\n }\n\n elem[type]();\n\n if (event.isPropagationStopped()) {\n lastElement.removeEventListener(type, stopPropagationCallback);\n }\n\n jQuery.event.triggered = undefined;\n\n if (tmp) {\n elem[ontype] = tmp;\n }\n }\n }\n }\n\n return event.result;\n },\n // Piggyback on a donor event to simulate a different one\n // Used only for `focus(in | out)` events\n simulate: function (type, elem, event) {\n var e = jQuery.extend(new jQuery.Event(), event, {\n type: type,\n isSimulated: true\n });\n jQuery.event.trigger(e, null, elem);\n }\n });\n jQuery.fn.extend({\n trigger: function (type, data) {\n return this.each(function () {\n jQuery.event.trigger(type, data, this);\n });\n },\n triggerHandler: function (type, data) {\n var elem = this[0];\n\n if (elem) {\n return jQuery.event.trigger(type, data, elem, true);\n }\n }\n });\n return jQuery;\n});","var g; // This works in non-strict mode\n\ng = function () {\n return this;\n}();\n\ntry {\n // This works if eval is allowed (see CSP)\n g = g || new Function(\"return this\")();\n} catch (e) {\n // This works if the window reference is available\n if (typeof window === \"object\") g = window;\n} // g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\n\nmodule.exports = g;","/*\nUnobtrusive JavaScript\nhttps://github.com/rails/rails/blob/master/actionview/app/assets/javascripts\nReleased under the MIT license\n */\n;\n(function () {\n var context = this;\n (function () {\n (function () {\n this.Rails = {\n linkClickSelector: 'a[data-confirm], a[data-method], a[data-remote]:not([disabled]), a[data-disable-with], a[data-disable]',\n buttonClickSelector: {\n selector: 'button[data-remote]:not([form]), button[data-confirm]:not([form])',\n exclude: 'form button'\n },\n inputChangeSelector: 'select[data-remote], input[data-remote], textarea[data-remote]',\n formSubmitSelector: 'form',\n formInputClickSelector: 'form input[type=submit], form input[type=image], form button[type=submit], form button:not([type]), input[type=submit][form], input[type=image][form], button[type=submit][form], button[form]:not([type])',\n formDisableSelector: 'input[data-disable-with]:enabled, button[data-disable-with]:enabled, textarea[data-disable-with]:enabled, input[data-disable]:enabled, button[data-disable]:enabled, textarea[data-disable]:enabled',\n formEnableSelector: 'input[data-disable-with]:disabled, button[data-disable-with]:disabled, textarea[data-disable-with]:disabled, input[data-disable]:disabled, button[data-disable]:disabled, textarea[data-disable]:disabled',\n fileInputSelector: 'input[name][type=file]:not([disabled])',\n linkDisableSelector: 'a[data-disable-with], a[data-disable]',\n buttonDisableSelector: 'button[data-remote][data-disable-with], button[data-remote][data-disable]'\n };\n }).call(this);\n }).call(context);\n var Rails = context.Rails;\n (function () {\n (function () {\n var nonce;\n nonce = null;\n\n Rails.loadCSPNonce = function () {\n var ref;\n return nonce = (ref = document.querySelector(\"meta[name=csp-nonce]\")) != null ? ref.content : void 0;\n };\n\n Rails.cspNonce = function () {\n return nonce != null ? nonce : Rails.loadCSPNonce();\n };\n }).call(this);\n (function () {\n var expando, m;\n m = Element.prototype.matches || Element.prototype.matchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.webkitMatchesSelector;\n\n Rails.matches = function (element, selector) {\n if (selector.exclude != null) {\n return m.call(element, selector.selector) && !m.call(element, selector.exclude);\n } else {\n return m.call(element, selector);\n }\n };\n\n expando = '_ujsData';\n\n Rails.getData = function (element, key) {\n var ref;\n return (ref = element[expando]) != null ? ref[key] : void 0;\n };\n\n Rails.setData = function (element, key, value) {\n if (element[expando] == null) {\n element[expando] = {};\n }\n\n return element[expando][key] = value;\n };\n\n Rails.$ = function (selector) {\n return Array.prototype.slice.call(document.querySelectorAll(selector));\n };\n }).call(this);\n (function () {\n var $, csrfParam, csrfToken;\n $ = Rails.$;\n\n csrfToken = Rails.csrfToken = function () {\n var meta;\n meta = document.querySelector('meta[name=csrf-token]');\n return meta && meta.content;\n };\n\n csrfParam = Rails.csrfParam = function () {\n var meta;\n meta = document.querySelector('meta[name=csrf-param]');\n return meta && meta.content;\n };\n\n Rails.CSRFProtection = function (xhr) {\n var token;\n token = csrfToken();\n\n if (token != null) {\n return xhr.setRequestHeader('X-CSRF-Token', token);\n }\n };\n\n Rails.refreshCSRFTokens = function () {\n var param, token;\n token = csrfToken();\n param = csrfParam();\n\n if (token != null && param != null) {\n return $('form input[name=\"' + param + '\"]').forEach(function (input) {\n return input.value = token;\n });\n }\n };\n }).call(this);\n (function () {\n var CustomEvent, fire, matches, preventDefault;\n matches = Rails.matches;\n CustomEvent = window.CustomEvent;\n\n if (typeof CustomEvent !== 'function') {\n CustomEvent = function (event, params) {\n var evt;\n evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n };\n\n CustomEvent.prototype = window.Event.prototype;\n preventDefault = CustomEvent.prototype.preventDefault;\n\n CustomEvent.prototype.preventDefault = function () {\n var result;\n result = preventDefault.call(this);\n\n if (this.cancelable && !this.defaultPrevented) {\n Object.defineProperty(this, 'defaultPrevented', {\n get: function () {\n return true;\n }\n });\n }\n\n return result;\n };\n }\n\n fire = Rails.fire = function (obj, name, data) {\n var event;\n event = new CustomEvent(name, {\n bubbles: true,\n cancelable: true,\n detail: data\n });\n obj.dispatchEvent(event);\n return !event.defaultPrevented;\n };\n\n Rails.stopEverything = function (e) {\n fire(e.target, 'ujs:everythingStopped');\n e.preventDefault();\n e.stopPropagation();\n return e.stopImmediatePropagation();\n };\n\n Rails.delegate = function (element, selector, eventType, handler) {\n return element.addEventListener(eventType, function (e) {\n var target;\n target = e.target;\n\n while (!(!(target instanceof Element) || matches(target, selector))) {\n target = target.parentNode;\n }\n\n if (target instanceof Element && handler.call(target, e) === false) {\n e.preventDefault();\n return e.stopPropagation();\n }\n });\n };\n }).call(this);\n (function () {\n var AcceptHeaders, CSRFProtection, createXHR, cspNonce, fire, prepareOptions, processResponse;\n cspNonce = Rails.cspNonce, CSRFProtection = Rails.CSRFProtection, fire = Rails.fire;\n AcceptHeaders = {\n '*': '*/*',\n text: 'text/plain',\n html: 'text/html',\n xml: 'application/xml, text/xml',\n json: 'application/json, text/javascript',\n script: 'text/javascript, application/javascript, application/ecmascript, application/x-ecmascript'\n };\n\n Rails.ajax = function (options) {\n var xhr;\n options = prepareOptions(options);\n xhr = createXHR(options, function () {\n var ref, response;\n response = processResponse((ref = xhr.response) != null ? ref : xhr.responseText, xhr.getResponseHeader('Content-Type'));\n\n if (Math.floor(xhr.status / 100) === 2) {\n if (typeof options.success === \"function\") {\n options.success(response, xhr.statusText, xhr);\n }\n } else {\n if (typeof options.error === \"function\") {\n options.error(response, xhr.statusText, xhr);\n }\n }\n\n return typeof options.complete === \"function\" ? options.complete(xhr, xhr.statusText) : void 0;\n });\n\n if (options.beforeSend != null && !options.beforeSend(xhr, options)) {\n return false;\n }\n\n if (xhr.readyState === XMLHttpRequest.OPENED) {\n return xhr.send(options.data);\n }\n };\n\n prepareOptions = function (options) {\n options.url = options.url || location.href;\n options.type = options.type.toUpperCase();\n\n if (options.type === 'GET' && options.data) {\n if (options.url.indexOf('?') < 0) {\n options.url += '?' + options.data;\n } else {\n options.url += '&' + options.data;\n }\n }\n\n if (AcceptHeaders[options.dataType] == null) {\n options.dataType = '*';\n }\n\n options.accept = AcceptHeaders[options.dataType];\n\n if (options.dataType !== '*') {\n options.accept += ', */*; q=0.01';\n }\n\n return options;\n };\n\n createXHR = function (options, done) {\n var xhr;\n xhr = new XMLHttpRequest();\n xhr.open(options.type, options.url, true);\n xhr.setRequestHeader('Accept', options.accept);\n\n if (typeof options.data === 'string') {\n xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');\n }\n\n if (!options.crossDomain) {\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n }\n\n CSRFProtection(xhr);\n xhr.withCredentials = !!options.withCredentials;\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState === XMLHttpRequest.DONE) {\n return done(xhr);\n }\n };\n\n return xhr;\n };\n\n processResponse = function (response, type) {\n var parser, script;\n\n if (typeof response === 'string' && typeof type === 'string') {\n if (type.match(/\\bjson\\b/)) {\n try {\n response = JSON.parse(response);\n } catch (error) {}\n } else if (type.match(/\\b(?:java|ecma)script\\b/)) {\n script = document.createElement('script');\n script.setAttribute('nonce', cspNonce());\n script.text = response;\n document.head.appendChild(script).parentNode.removeChild(script);\n } else if (type.match(/\\b(xml|html|svg)\\b/)) {\n parser = new DOMParser();\n type = type.replace(/;.+/, '');\n\n try {\n response = parser.parseFromString(response, type);\n } catch (error) {}\n }\n }\n\n return response;\n };\n\n Rails.href = function (element) {\n return element.href;\n };\n\n Rails.isCrossDomain = function (url) {\n var e, originAnchor, urlAnchor;\n originAnchor = document.createElement('a');\n originAnchor.href = location.href;\n urlAnchor = document.createElement('a');\n\n try {\n urlAnchor.href = url;\n return !((!urlAnchor.protocol || urlAnchor.protocol === ':') && !urlAnchor.host || originAnchor.protocol + '//' + originAnchor.host === urlAnchor.protocol + '//' + urlAnchor.host);\n } catch (error) {\n e = error;\n return true;\n }\n };\n }).call(this);\n (function () {\n var matches, toArray;\n matches = Rails.matches;\n\n toArray = function (e) {\n return Array.prototype.slice.call(e);\n };\n\n Rails.serializeElement = function (element, additionalParam) {\n var inputs, params;\n inputs = [element];\n\n if (matches(element, 'form')) {\n inputs = toArray(element.elements);\n }\n\n params = [];\n inputs.forEach(function (input) {\n if (!input.name || input.disabled) {\n return;\n }\n\n if (matches(input, 'fieldset[disabled] *')) {\n return;\n }\n\n if (matches(input, 'select')) {\n return toArray(input.options).forEach(function (option) {\n if (option.selected) {\n return params.push({\n name: input.name,\n value: option.value\n });\n }\n });\n } else if (input.checked || ['radio', 'checkbox', 'submit'].indexOf(input.type) === -1) {\n return params.push({\n name: input.name,\n value: input.value\n });\n }\n });\n\n if (additionalParam) {\n params.push(additionalParam);\n }\n\n return params.map(function (param) {\n if (param.name != null) {\n return encodeURIComponent(param.name) + \"=\" + encodeURIComponent(param.value);\n } else {\n return param;\n }\n }).join('&');\n };\n\n Rails.formElements = function (form, selector) {\n if (matches(form, 'form')) {\n return toArray(form.elements).filter(function (el) {\n return matches(el, selector);\n });\n } else {\n return toArray(form.querySelectorAll(selector));\n }\n };\n }).call(this);\n (function () {\n var allowAction, fire, stopEverything;\n fire = Rails.fire, stopEverything = Rails.stopEverything;\n\n Rails.handleConfirm = function (e) {\n if (!allowAction(this)) {\n return stopEverything(e);\n }\n };\n\n Rails.confirm = function (message, element) {\n return confirm(message);\n };\n\n allowAction = function (element) {\n var answer, callback, message;\n message = element.getAttribute('data-confirm');\n\n if (!message) {\n return true;\n }\n\n answer = false;\n\n if (fire(element, 'confirm')) {\n try {\n answer = Rails.confirm(message, element);\n } catch (error) {}\n\n callback = fire(element, 'confirm:complete', [answer]);\n }\n\n return answer && callback;\n };\n }).call(this);\n (function () {\n var disableFormElement, disableFormElements, disableLinkElement, enableFormElement, enableFormElements, enableLinkElement, formElements, getData, isXhrRedirect, matches, setData, stopEverything;\n matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, stopEverything = Rails.stopEverything, formElements = Rails.formElements;\n\n Rails.handleDisabledElement = function (e) {\n var element;\n element = this;\n\n if (element.disabled) {\n return stopEverything(e);\n }\n };\n\n Rails.enableElement = function (e) {\n var element;\n\n if (e instanceof Event) {\n if (isXhrRedirect(e)) {\n return;\n }\n\n element = e.target;\n } else {\n element = e;\n }\n\n if (matches(element, Rails.linkDisableSelector)) {\n return enableLinkElement(element);\n } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formEnableSelector)) {\n return enableFormElement(element);\n } else if (matches(element, Rails.formSubmitSelector)) {\n return enableFormElements(element);\n }\n };\n\n Rails.disableElement = function (e) {\n var element;\n element = e instanceof Event ? e.target : e;\n\n if (matches(element, Rails.linkDisableSelector)) {\n return disableLinkElement(element);\n } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formDisableSelector)) {\n return disableFormElement(element);\n } else if (matches(element, Rails.formSubmitSelector)) {\n return disableFormElements(element);\n }\n };\n\n disableLinkElement = function (element) {\n var replacement;\n\n if (getData(element, 'ujs:disabled')) {\n return;\n }\n\n replacement = element.getAttribute('data-disable-with');\n\n if (replacement != null) {\n setData(element, 'ujs:enable-with', element.innerHTML);\n element.innerHTML = replacement;\n }\n\n element.addEventListener('click', stopEverything);\n return setData(element, 'ujs:disabled', true);\n };\n\n enableLinkElement = function (element) {\n var originalText;\n originalText = getData(element, 'ujs:enable-with');\n\n if (originalText != null) {\n element.innerHTML = originalText;\n setData(element, 'ujs:enable-with', null);\n }\n\n element.removeEventListener('click', stopEverything);\n return setData(element, 'ujs:disabled', null);\n };\n\n disableFormElements = function (form) {\n return formElements(form, Rails.formDisableSelector).forEach(disableFormElement);\n };\n\n disableFormElement = function (element) {\n var replacement;\n\n if (getData(element, 'ujs:disabled')) {\n return;\n }\n\n replacement = element.getAttribute('data-disable-with');\n\n if (replacement != null) {\n if (matches(element, 'button')) {\n setData(element, 'ujs:enable-with', element.innerHTML);\n element.innerHTML = replacement;\n } else {\n setData(element, 'ujs:enable-with', element.value);\n element.value = replacement;\n }\n }\n\n element.disabled = true;\n return setData(element, 'ujs:disabled', true);\n };\n\n enableFormElements = function (form) {\n return formElements(form, Rails.formEnableSelector).forEach(enableFormElement);\n };\n\n enableFormElement = function (element) {\n var originalText;\n originalText = getData(element, 'ujs:enable-with');\n\n if (originalText != null) {\n if (matches(element, 'button')) {\n element.innerHTML = originalText;\n } else {\n element.value = originalText;\n }\n\n setData(element, 'ujs:enable-with', null);\n }\n\n element.disabled = false;\n return setData(element, 'ujs:disabled', null);\n };\n\n isXhrRedirect = function (event) {\n var ref, xhr;\n xhr = (ref = event.detail) != null ? ref[0] : void 0;\n return (xhr != null ? xhr.getResponseHeader(\"X-Xhr-Redirect\") : void 0) != null;\n };\n }).call(this);\n (function () {\n var stopEverything;\n stopEverything = Rails.stopEverything;\n\n Rails.handleMethod = function (e) {\n var csrfParam, csrfToken, form, formContent, href, link, method;\n link = this;\n method = link.getAttribute('data-method');\n\n if (!method) {\n return;\n }\n\n href = Rails.href(link);\n csrfToken = Rails.csrfToken();\n csrfParam = Rails.csrfParam();\n form = document.createElement('form');\n formContent = \"\";\n\n if (csrfParam != null && csrfToken != null && !Rails.isCrossDomain(href)) {\n formContent += \"\";\n }\n\n formContent += '';\n form.method = 'post';\n form.action = href;\n form.target = link.target;\n form.innerHTML = formContent;\n form.style.display = 'none';\n document.body.appendChild(form);\n form.querySelector('[type=\"submit\"]').click();\n return stopEverything(e);\n };\n }).call(this);\n (function () {\n var ajax,\n fire,\n getData,\n isCrossDomain,\n isRemote,\n matches,\n serializeElement,\n setData,\n stopEverything,\n slice = [].slice;\n matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, fire = Rails.fire, stopEverything = Rails.stopEverything, ajax = Rails.ajax, isCrossDomain = Rails.isCrossDomain, serializeElement = Rails.serializeElement;\n\n isRemote = function (element) {\n var value;\n value = element.getAttribute('data-remote');\n return value != null && value !== 'false';\n };\n\n Rails.handleRemote = function (e) {\n var button, data, dataType, element, method, url, withCredentials;\n element = this;\n\n if (!isRemote(element)) {\n return true;\n }\n\n if (!fire(element, 'ajax:before')) {\n fire(element, 'ajax:stopped');\n return false;\n }\n\n withCredentials = element.getAttribute('data-with-credentials');\n dataType = element.getAttribute('data-type') || 'script';\n\n if (matches(element, Rails.formSubmitSelector)) {\n button = getData(element, 'ujs:submit-button');\n method = getData(element, 'ujs:submit-button-formmethod') || element.method;\n url = getData(element, 'ujs:submit-button-formaction') || element.getAttribute('action') || location.href;\n\n if (method.toUpperCase() === 'GET') {\n url = url.replace(/\\?.*$/, '');\n }\n\n if (element.enctype === 'multipart/form-data') {\n data = new FormData(element);\n\n if (button != null) {\n data.append(button.name, button.value);\n }\n } else {\n data = serializeElement(element, button);\n }\n\n setData(element, 'ujs:submit-button', null);\n setData(element, 'ujs:submit-button-formmethod', null);\n setData(element, 'ujs:submit-button-formaction', null);\n } else if (matches(element, Rails.buttonClickSelector) || matches(element, Rails.inputChangeSelector)) {\n method = element.getAttribute('data-method');\n url = element.getAttribute('data-url');\n data = serializeElement(element, element.getAttribute('data-params'));\n } else {\n method = element.getAttribute('data-method');\n url = Rails.href(element);\n data = element.getAttribute('data-params');\n }\n\n ajax({\n type: method || 'GET',\n url: url,\n data: data,\n dataType: dataType,\n beforeSend: function (xhr, options) {\n if (fire(element, 'ajax:beforeSend', [xhr, options])) {\n return fire(element, 'ajax:send', [xhr]);\n } else {\n fire(element, 'ajax:stopped');\n return false;\n }\n },\n success: function () {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:success', args);\n },\n error: function () {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:error', args);\n },\n complete: function () {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:complete', args);\n },\n crossDomain: isCrossDomain(url),\n withCredentials: withCredentials != null && withCredentials !== 'false'\n });\n return stopEverything(e);\n };\n\n Rails.formSubmitButtonClick = function (e) {\n var button, form;\n button = this;\n form = button.form;\n\n if (!form) {\n return;\n }\n\n if (button.name) {\n setData(form, 'ujs:submit-button', {\n name: button.name,\n value: button.value\n });\n }\n\n setData(form, 'ujs:formnovalidate-button', button.formNoValidate);\n setData(form, 'ujs:submit-button-formaction', button.getAttribute('formaction'));\n return setData(form, 'ujs:submit-button-formmethod', button.getAttribute('formmethod'));\n };\n\n Rails.preventInsignificantClick = function (e) {\n var data, insignificantMetaClick, link, metaClick, method, nonPrimaryMouseClick;\n link = this;\n method = (link.getAttribute('data-method') || 'GET').toUpperCase();\n data = link.getAttribute('data-params');\n metaClick = e.metaKey || e.ctrlKey;\n insignificantMetaClick = metaClick && method === 'GET' && !data;\n nonPrimaryMouseClick = e.button != null && e.button !== 0;\n\n if (nonPrimaryMouseClick || insignificantMetaClick) {\n return e.stopImmediatePropagation();\n }\n };\n }).call(this);\n (function () {\n var $, CSRFProtection, delegate, disableElement, enableElement, fire, formSubmitButtonClick, getData, handleConfirm, handleDisabledElement, handleMethod, handleRemote, loadCSPNonce, preventInsignificantClick, refreshCSRFTokens;\n fire = Rails.fire, delegate = Rails.delegate, getData = Rails.getData, $ = Rails.$, refreshCSRFTokens = Rails.refreshCSRFTokens, CSRFProtection = Rails.CSRFProtection, loadCSPNonce = Rails.loadCSPNonce, enableElement = Rails.enableElement, disableElement = Rails.disableElement, handleDisabledElement = Rails.handleDisabledElement, handleConfirm = Rails.handleConfirm, preventInsignificantClick = Rails.preventInsignificantClick, handleRemote = Rails.handleRemote, formSubmitButtonClick = Rails.formSubmitButtonClick, handleMethod = Rails.handleMethod;\n\n if (typeof jQuery !== \"undefined\" && jQuery !== null && jQuery.ajax != null) {\n if (jQuery.rails) {\n throw new Error('If you load both jquery_ujs and rails-ujs, use rails-ujs only.');\n }\n\n jQuery.rails = Rails;\n jQuery.ajaxPrefilter(function (options, originalOptions, xhr) {\n if (!options.crossDomain) {\n return CSRFProtection(xhr);\n }\n });\n }\n\n Rails.start = function () {\n if (window._rails_loaded) {\n throw new Error('rails-ujs has already been loaded!');\n }\n\n window.addEventListener('pageshow', function () {\n $(Rails.formEnableSelector).forEach(function (el) {\n if (getData(el, 'ujs:disabled')) {\n return enableElement(el);\n }\n });\n return $(Rails.linkDisableSelector).forEach(function (el) {\n if (getData(el, 'ujs:disabled')) {\n return enableElement(el);\n }\n });\n });\n delegate(document, Rails.linkDisableSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.linkDisableSelector, 'ajax:stopped', enableElement);\n delegate(document, Rails.buttonDisableSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.buttonDisableSelector, 'ajax:stopped', enableElement);\n delegate(document, Rails.linkClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.linkClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.linkClickSelector, 'click', handleConfirm);\n delegate(document, Rails.linkClickSelector, 'click', disableElement);\n delegate(document, Rails.linkClickSelector, 'click', handleRemote);\n delegate(document, Rails.linkClickSelector, 'click', handleMethod);\n delegate(document, Rails.buttonClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.buttonClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.buttonClickSelector, 'click', handleConfirm);\n delegate(document, Rails.buttonClickSelector, 'click', disableElement);\n delegate(document, Rails.buttonClickSelector, 'click', handleRemote);\n delegate(document, Rails.inputChangeSelector, 'change', handleDisabledElement);\n delegate(document, Rails.inputChangeSelector, 'change', handleConfirm);\n delegate(document, Rails.inputChangeSelector, 'change', handleRemote);\n delegate(document, Rails.formSubmitSelector, 'submit', handleDisabledElement);\n delegate(document, Rails.formSubmitSelector, 'submit', handleConfirm);\n delegate(document, Rails.formSubmitSelector, 'submit', handleRemote);\n delegate(document, Rails.formSubmitSelector, 'submit', function (e) {\n return setTimeout(function () {\n return disableElement(e);\n }, 13);\n });\n delegate(document, Rails.formSubmitSelector, 'ajax:send', disableElement);\n delegate(document, Rails.formSubmitSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.formInputClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.formInputClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.formInputClickSelector, 'click', handleConfirm);\n delegate(document, Rails.formInputClickSelector, 'click', formSubmitButtonClick);\n document.addEventListener('DOMContentLoaded', refreshCSRFTokens);\n document.addEventListener('DOMContentLoaded', loadCSPNonce);\n return window._rails_loaded = true;\n };\n\n if (window.Rails === Rails && fire(document, 'rails:attachBindings')) {\n Rails.start();\n }\n }).call(this);\n }).call(this);\n\n if (typeof module === \"object\" && module.exports) {\n module.exports = Rails;\n } else if (typeof define === \"function\" && define.amd) {\n define(Rails);\n }\n}).call(this);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.particleContainer = exports.debugContainer = exports.rootContainer = void 0;\n\nvar settings_1 = require(\"./settings\");\n\nvar util_1 = require(\"./util\");\n/**\r\n * The prefix to apply to the containers.\r\n */\n\n\nvar containerPrefix = \"party-js-\";\n/**\r\n * Checks if the specified container is 'active', meaning not undefined and attached to the DOM.\r\n */\n\nfunction isContainerActive(container) {\n return container && container.isConnected;\n}\n/**\r\n * A generic factory method for creating a DOM container. Prefixes the specified name with the\r\n * container prefix, applies the styles and adds it under the parent.\r\n */\n\n\nfunction makeContainer(name, styles, parent) {\n var container = document.createElement(\"div\");\n container.id = containerPrefix + name;\n Object.assign(container.style, styles);\n return parent.appendChild(container);\n}\n/**\r\n * Represents the root container for DOM elements of the library.\r\n */\n\n\nexports.rootContainer = new util_1.Lazy(function () {\n return makeContainer(\"container\", {\n position: \"fixed\",\n left: \"0\",\n top: \"0\",\n height: \"100vh\",\n width: \"100vw\",\n pointerEvents: \"none\",\n userSelect: \"none\",\n zIndex: settings_1.settings.zIndex.toString()\n }, document.body);\n}, isContainerActive);\n/**\r\n * Represents the debugging container of the library, only active if debugging is enabled.\r\n */\n\nexports.debugContainer = new util_1.Lazy(function () {\n return makeContainer(\"debug\", {\n position: \"absolute\",\n top: \"0\",\n left: \"0\",\n margin: \"0.5em\",\n padding: \"0.5em 1em\",\n border: \"2px solid rgb(0, 0, 0, 0.2)\",\n background: \"rgb(0, 0, 0, 0.1)\",\n color: \"#555\",\n fontFamily: \"monospace\"\n }, exports.rootContainer.current);\n}, isContainerActive);\n/**\r\n * Represents the particle container of the library.\r\n * This is where the particle DOM elements get rendered into.\r\n */\n\nexports.particleContainer = new util_1.Lazy(function () {\n return makeContainer(\"particles\", {\n width: \"100%\",\n height: \"100%\",\n overflow: \"hidden\",\n perspective: \"1200px\"\n }, exports.rootContainer.current);\n}, isContainerActive);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Spline = void 0;\n\nvar math_1 = require(\"../systems/math\");\n/**\r\n * Represents a spline that can be used to continueously evaluate a function\r\n * between keys. The base implementation is kept generic, so the functionality\r\n * can easily be implemented for similar constructs, such as gradients.\r\n */\n\n\nvar Spline =\n/** @class */\nfunction () {\n /**\r\n * Creates a new spline instance, using the specified keys.\r\n * Note that you have to pass at least one key.\r\n */\n function Spline() {\n var keys = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n keys[_i] = arguments[_i];\n }\n\n if (keys.length === 0) {\n throw new Error(\"Splines require at least one key.\");\n }\n\n if (Array.isArray(keys[0])) {\n throw new Error(\"You are trying to pass an array to the spline constructor, which is not supported. \" + \"Try to spread the array into the constructor instead.\");\n }\n\n this.keys = keys;\n }\n /**\r\n * Evaluates the spline at the given time.\r\n */\n\n\n Spline.prototype.evaluate = function (time) {\n if (this.keys.length === 0) {\n throw new Error(\"Attempt to evaluate a spline with no keys.\");\n }\n\n if (this.keys.length === 1) {\n // The spline only contains one key, therefore is constant.\n return this.keys[0].value;\n } // Sort the keys and figure out the first key above the passed time.\n\n\n var ascendingKeys = this.keys.sort(function (a, b) {\n return a.time - b.time;\n });\n var upperKeyIndex = ascendingKeys.findIndex(function (g) {\n return g.time > time;\n }); // If the found index is either 0 or -1, the specified time falls out\n // of the range of the supplied keys. In that case, the value of the\n // nearest applicant key is returned.\n\n if (upperKeyIndex === 0) {\n return ascendingKeys[0].value;\n }\n\n if (upperKeyIndex === -1) {\n return ascendingKeys[ascendingKeys.length - 1].value;\n } // Otherwise, find the bounding keys, and extrapolate the time between\n // the two. This is then used to interpolate between the two keys,\n // using the provided implementation.\n\n\n var lowerKey = ascendingKeys[upperKeyIndex - 1];\n var upperKey = ascendingKeys[upperKeyIndex];\n var containedTime = math_1.invlerp(lowerKey.time, upperKey.time, time);\n return this.interpolate(lowerKey.value, upperKey.value, containedTime);\n };\n\n return Spline;\n}();\n\nexports.Spline = Spline;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.despawningRules = void 0;\n/**\r\n * Contains a set of pre-defined particle despawning rules.\r\n */\n\nexports.despawningRules = {\n /**\r\n * A rule that despawns a particle once its lifetime is over.\r\n */\n lifetime: function (particle) {\n return particle.lifetime <= 0;\n },\n\n /**\r\n * A rule that despawns a particle once its y-coordinate is outside of the document.\r\n */\n bounds: function (particle) {\n // Get document height: https://stackoverflow.com/a/44077777/5507624\n var height = document.documentElement.scrollHeight;\n return particle.location.y > height;\n }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Emitter = void 0;\n\nvar vector_1 = require(\"../components/vector\");\n\nvar settings_1 = require(\"../settings\");\n\nvar variation_1 = require(\"../systems/variation\");\n\nvar config_1 = require(\"../util/config\");\n\nvar options_1 = require(\"./options\");\n\nvar particle_1 = require(\"./particle\");\n/**\r\n * Represents an emitter that is responsible for spawning and updating particles.\r\n *\r\n * Particles themselves are just data-holders, with the system acting upon them and\r\n * modifying them. The modifications are done mainly via modules, that use the\r\n * particle's data together with some function to apply temporal transitions.\r\n *\r\n * @see Particle\r\n * @see ParticleModifierModule\r\n */\n\n\nvar Emitter =\n/** @class */\nfunction () {\n /**\r\n * Creates a new emitter, using default options.\r\n */\n function Emitter(options) {\n /**\r\n * The particles currently contained within the system.\r\n */\n this.particles = [];\n this.currentLoop = 0; // The current loop index.\n\n this.durationTimer = 0; // Measures the current runtime duration, to allow loops to reset.\n\n this.emissionTimer = 0; // Measures the current emission timer, to allow spawning particles in intervals.\n\n this.attemptedBurstIndices = []; // The indices of the particle bursts that were attempted this loop.\n\n this.options = config_1.overrideDefaults(options_1.getDefaultEmitterOptions(), options === null || options === void 0 ? void 0 : options.emitterOptions);\n this.emission = config_1.overrideDefaults(options_1.getDefaultEmissionOptions(), options === null || options === void 0 ? void 0 : options.emissionOptions);\n this.renderer = config_1.overrideDefaults(options_1.getDefaultRendererOptions(), options === null || options === void 0 ? void 0 : options.rendererOptions);\n }\n\n Object.defineProperty(Emitter.prototype, \"isExpired\", {\n /**\r\n * Checks if the emitter is already expired and can be removed.\r\n * Expired emitters do not emit new particles.\r\n */\n get: function () {\n return this.options.loops >= 0 && this.currentLoop >= this.options.loops;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Emitter.prototype, \"canRemove\", {\n /**\r\n * Checks if the emitter can safely be removed.\r\n * This is true if no more particles are active.\r\n */\n get: function () {\n return this.particles.length === 0;\n },\n enumerable: false,\n configurable: true\n });\n /**\r\n * Clears all particles inside the emitter.\r\n *\r\n * @returns The number of cleared particles.\r\n */\n\n Emitter.prototype.clearParticles = function () {\n return this.particles.splice(0).length;\n };\n /**\r\n * Processes a tick of the emitter, using the elapsed time.\r\n *\r\n * @remarks\r\n * This handles a few things, namely:\r\n * - Incrementing the duration timer and potentially incrementing the loop.\r\n * - Handling particle bursts & emissions.\r\n * - Despawning particles conditionally.\r\n *\r\n * @param delta The time, in seconds, passed since the last tick.\r\n */\n\n\n Emitter.prototype.tick = function (delta) {\n if (!this.isExpired) {\n this.durationTimer += delta;\n\n if (this.durationTimer >= this.options.duration) {\n this.currentLoop++; // To start a new loop, the duration timer and attempted bursts are reset.\n\n this.durationTimer = 0;\n this.attemptedBurstIndices = [];\n } // We need to check the expiry again, in case the added loop or duration changed something.\n\n\n if (!this.isExpired) {\n // Iterate over the bursts, attempting to execute them if the time is ready.\n var burstIndex = 0;\n\n for (var _i = 0, _a = this.emission.bursts; _i < _a.length; _i++) {\n var burst = _a[_i];\n\n if (burst.time <= this.durationTimer) {\n // Has the burst already been attempted? If not ...\n if (!this.attemptedBurstIndices.includes(burstIndex)) {\n // Perform the burst, emitting a variable amount of particles.\n var count = variation_1.evaluateVariation(burst.count);\n\n for (var i = 0; i < count; i++) {\n this.emitParticle();\n } // Mark the burst as attempted.\n\n\n this.attemptedBurstIndices.push(burstIndex);\n }\n }\n\n burstIndex++;\n } // Handle the 'emission over time'. By using a while-loop instead of a simple\n // if-condition, we take high deltas into account, and ensure that the correct\n // number of particles will consistently be emitted.\n\n\n this.emissionTimer += delta;\n var delay = 1 / this.emission.rate;\n\n while (this.emissionTimer > delay) {\n this.emissionTimer -= delay;\n this.emitParticle();\n }\n }\n }\n\n var _loop_1 = function (i) {\n var particle = this_1.particles[i];\n this_1.tickParticle(particle, delta); // Particles should be despawned (i.e. removed from the collection) if any of\n // the despawning rules apply to them.\n\n if (this_1.options.despawningRules.some(function (rule) {\n return rule(particle);\n })) {\n this_1.particles.splice(i, 1);\n }\n };\n\n var this_1 = this;\n\n for (var i = this.particles.length - 1; i >= 0; i--) {\n _loop_1(i);\n }\n };\n /**\r\n * Performs an internal tick for the particle.\r\n *\r\n * @remarks\r\n * This method controls the particle's lifetime, location and velocity, according\r\n * to the elapsed delta and the configuration. Additionally, each of the emitter's\r\n * modules is applied to the particle.\r\n *\r\n * @param particle The particle to apply the tick for.\r\n * @param delta The time, in seconds, passed since the last tick.\r\n */\n\n\n Emitter.prototype.tickParticle = function (particle, delta) {\n particle.lifetime -= delta;\n\n if (this.options.useGravity) {\n // Apply gravitational acceleration to the particle.\n particle.velocity = particle.velocity.add(vector_1.Vector.up.scale(settings_1.settings.gravity * delta));\n } // Apply the particle's velocity to its location.\n\n\n particle.location = particle.location.add(particle.velocity.scale(delta)); // Apply the modules to the particle.\n\n for (var _i = 0, _a = this.options.modules; _i < _a.length; _i++) {\n var moduleFunction = _a[_i];\n moduleFunction(particle);\n }\n };\n /**\r\n * Emits a particle using the registered settings.\r\n * Also may despawn a particle if the maximum number of particles is exceeded.\r\n */\n\n\n Emitter.prototype.emitParticle = function () {\n var particle = new particle_1.Particle({\n location: this.emission.sourceSampler(),\n lifetime: variation_1.evaluateVariation(this.emission.initialLifetime),\n velocity: vector_1.Vector.from2dAngle(variation_1.evaluateVariation(this.emission.angle)).scale(variation_1.evaluateVariation(this.emission.initialSpeed)),\n size: variation_1.evaluateVariation(this.emission.initialSize),\n rotation: variation_1.evaluateVariation(this.emission.initialRotation),\n color: variation_1.evaluateVariation(this.emission.initialColor)\n });\n this.particles.push(particle); // Ensure that no more particles than 'maxParticles' can exist.\n\n if (this.particles.length > this.options.maxParticles) {\n this.particles.shift();\n }\n\n return particle;\n };\n\n return Emitter;\n}();\n\nexports.Emitter = Emitter;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Particle = void 0;\n\nvar components_1 = require(\"../components\");\n\nvar config_1 = require(\"../util/config\");\n/**\r\n * Represents an emitted particle.\r\n */\n\n\nvar Particle =\n/** @class */\nfunction () {\n /**\r\n * Creates a new particle instance through the specified options.\r\n */\n function Particle(options) {\n var populatedOptions = config_1.overrideDefaults({\n lifetime: 0,\n size: 1,\n location: components_1.Vector.zero,\n rotation: components_1.Vector.zero,\n velocity: components_1.Vector.zero,\n color: components_1.Color.white,\n opacity: 1\n }, options); // Generate a symbolic ID.\n\n this.id = Symbol(); // Assign various properties, together with some initials for later reference.\n\n this.size = this.initialSize = populatedOptions.size;\n this.lifetime = this.initialLifetime = populatedOptions.lifetime;\n this.rotation = this.initialRotation = populatedOptions.rotation;\n this.location = populatedOptions.location;\n this.velocity = populatedOptions.velocity;\n this.color = populatedOptions.color;\n this.opacity = populatedOptions.opacity;\n }\n\n return Particle;\n}();\n\nexports.Particle = Particle;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resolveShapeFactory = exports.resolvableShapes = void 0;\n\nvar variation_1 = require(\"./variation\");\n/**\r\n * Represents the lookup that maps resolveable element keys to their HTML strings.\r\n *\r\n * @remarks\r\n * The default shapes are made to fit inside a dimension of 10x10 pixels, except\r\n * the 'star' shape, which exceeds it slightly.\r\n */\n\n\nexports.resolvableShapes = {\n square: \"
\",\n rectangle: \"
\",\n circle: \"\",\n roundedSquare: \"
\",\n roundedRectangle: \"
\",\n star: \"\"\n};\n/**\r\n * Resolves the specified element factory using the resolvable elements, if needed.\r\n */\n\nfunction resolveShapeFactory(factory) {\n // Retrieve the unresolved element from the factory.\n var shape = variation_1.evaluateVariation(factory); // If a string is returned, we need to resolve the element. This means\n // looking up the string in the resolver lookup. If the key was not\n // resolvable, we throw an error.\n\n if (typeof shape === \"string\") {\n var resolved = exports.resolvableShapes[shape];\n\n if (!resolved) {\n throw new Error(\"Failed to resolve shape key '\" + shape + \"'. Did you forget to add it to the 'resolvableShapes' lookup?\");\n } // We're in luck, we can resolve the element! We create a dummy
element\n // to set the innerHTML of, and return the first element child.\n\n\n var dummy = document.createElement(\"div\");\n dummy.innerHTML = resolved;\n return dummy.firstElementChild;\n }\n\n return shape;\n}\n\nexports.resolveShapeFactory = resolveShapeFactory;","define([\"./core\", \"./selector\", \"./traversing\", \"./callbacks\", \"./deferred\", \"./deferred/exceptionHook\", \"./core/ready\", \"./data\", \"./queue\", \"./queue/delay\", \"./attributes\", \"./event\", \"./event/focusin\", \"./manipulation\", \"./manipulation/_evalUrl\", \"./wrap\", \"./css\", \"./css/hiddenVisibleSelectors\", \"./serialize\", \"./ajax\", \"./ajax/xhr\", \"./ajax/script\", \"./ajax/jsonp\", \"./ajax/load\", \"./event/ajax\", \"./effects\", \"./effects/animatedSelector\", \"./offset\", \"./dimensions\", \"./deprecated\", \"./exports/amd\", \"./exports/global\"], function (jQuery) {\n \"use strict\";\n\n return jQuery;\n});","define([\"./arr\"], function (arr) {\n \"use strict\";\n\n return arr.concat;\n});","define([\"./arr\"], function (arr) {\n \"use strict\";\n\n return arr.push;\n});","define([\"./class2type\"], function (class2type) {\n \"use strict\";\n\n return class2type.toString;\n});","define([\"./hasOwn\"], function (hasOwn) {\n \"use strict\";\n\n return hasOwn.toString;\n});","define([\"../var/document\"], function (document) {\n \"use strict\";\n\n var preservedScriptAttributes = {\n type: true,\n src: true,\n nonce: true,\n noModule: true\n };\n\n function DOMEval(code, node, doc) {\n doc = doc || document;\n var i,\n val,\n script = doc.createElement(\"script\");\n script.text = code;\n\n if (node) {\n for (i in preservedScriptAttributes) {\n // Support: Firefox 64+, Edge 18+\n // Some browsers don't support the \"nonce\" property on scripts.\n // On the other hand, just using `getAttribute` is not enough as\n // the `nonce` attribute is reset to an empty string whenever it\n // becomes browsing-context connected.\n // See https://github.com/whatwg/html/issues/2369\n // See https://html.spec.whatwg.org/#nonce-attributes\n // The `node.getAttribute` check was added for the sake of\n // `jQuery.globalEval` so that it can fake a nonce-containing node\n // via an object.\n val = node[i] || node.getAttribute && node.getAttribute(i);\n\n if (val) {\n script.setAttribute(i, val);\n }\n }\n }\n\n doc.head.appendChild(script).parentNode.removeChild(script);\n }\n\n return DOMEval;\n});","define([\"../../core\", \"../../selector\"], function (jQuery) {\n \"use strict\";\n\n return jQuery.expr.match.needsContext;\n});","define(function () {\n \"use strict\"; // rsingleTag matches a string consisting of a single HTML element with no attributes\n // and captures the element's name\n\n return /^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i;\n});","define([\"../core\", \"../var/indexOf\", \"../var/isFunction\", \"./var/rneedsContext\", \"../selector\"], function (jQuery, indexOf, isFunction, rneedsContext) {\n \"use strict\"; // Implement the identical functionality for filter and not\n\n function winnow(elements, qualifier, not) {\n if (isFunction(qualifier)) {\n return jQuery.grep(elements, function (elem, i) {\n return !!qualifier.call(elem, i, elem) !== not;\n });\n } // Single element\n\n\n if (qualifier.nodeType) {\n return jQuery.grep(elements, function (elem) {\n return elem === qualifier !== not;\n });\n } // Arraylike of elements (jQuery, arguments, Array)\n\n\n if (typeof qualifier !== \"string\") {\n return jQuery.grep(elements, function (elem) {\n return indexOf.call(qualifier, elem) > -1 !== not;\n });\n } // Filtered directly for both simple and complex selectors\n\n\n return jQuery.filter(qualifier, elements, not);\n }\n\n jQuery.filter = function (expr, elems, not) {\n var elem = elems[0];\n\n if (not) {\n expr = \":not(\" + expr + \")\";\n }\n\n if (elems.length === 1 && elem.nodeType === 1) {\n return jQuery.find.matchesSelector(elem, expr) ? [elem] : [];\n }\n\n return jQuery.find.matches(expr, jQuery.grep(elems, function (elem) {\n return elem.nodeType === 1;\n }));\n };\n\n jQuery.fn.extend({\n find: function (selector) {\n var i,\n ret,\n len = this.length,\n self = this;\n\n if (typeof selector !== \"string\") {\n return this.pushStack(jQuery(selector).filter(function () {\n for (i = 0; i < len; i++) {\n if (jQuery.contains(self[i], this)) {\n return true;\n }\n }\n }));\n }\n\n ret = this.pushStack([]);\n\n for (i = 0; i < len; i++) {\n jQuery.find(selector, self[i], ret);\n }\n\n return len > 1 ? jQuery.uniqueSort(ret) : ret;\n },\n filter: function (selector) {\n return this.pushStack(winnow(this, selector || [], false));\n },\n not: function (selector) {\n return this.pushStack(winnow(this, selector || [], true));\n },\n is: function (selector) {\n return !!winnow(this, // If this is a positional/relative selector, check membership in the returned set\n // so $(\"p:first\").is(\"p:last\") won't return true for a doc with two \"p\".\n typeof selector === \"string\" && rneedsContext.test(selector) ? jQuery(selector) : selector || [], false).length;\n }\n });\n});","define([\"../core\", \"../var/document\", \"../core/readyException\", \"../deferred\"], function (jQuery, document) {\n \"use strict\"; // The deferred used on DOM ready\n\n var readyList = jQuery.Deferred();\n\n jQuery.fn.ready = function (fn) {\n readyList.then(fn) // Wrap jQuery.readyException in a function so that the lookup\n // happens at the time of error handling instead of callback\n // registration.\n .catch(function (error) {\n jQuery.readyException(error);\n });\n return this;\n };\n\n jQuery.extend({\n // Is the DOM ready to be used? Set to true once it occurs.\n isReady: false,\n // A counter to track how many items to wait for before\n // the ready event fires. See #6781\n readyWait: 1,\n // Handle when the DOM is ready\n ready: function (wait) {\n // Abort if there are pending holds or we're already ready\n if (wait === true ? --jQuery.readyWait : jQuery.isReady) {\n return;\n } // Remember that the DOM is ready\n\n\n jQuery.isReady = true; // If a normal DOM Ready event fired, decrement, and wait if need be\n\n if (wait !== true && --jQuery.readyWait > 0) {\n return;\n } // If there are functions bound, to execute\n\n\n readyList.resolveWith(document, [jQuery]);\n }\n });\n jQuery.ready.then = readyList.then; // The ready event handler and self cleanup method\n\n function completed() {\n document.removeEventListener(\"DOMContentLoaded\", completed);\n window.removeEventListener(\"load\", completed);\n jQuery.ready();\n } // Catch cases where $(document).ready() is called\n // after the browser event has already occurred.\n // Support: IE <=9 - 10 only\n // Older IE sometimes signals \"interactive\" too soon\n\n\n if (document.readyState === \"complete\" || document.readyState !== \"loading\" && !document.documentElement.doScroll) {\n // Handle it asynchronously to allow scripts the opportunity to delay ready\n window.setTimeout(jQuery.ready);\n } else {\n // Use the handy event callback\n document.addEventListener(\"DOMContentLoaded\", completed); // A fallback to window.onload, that will always work\n\n window.addEventListener(\"load\", completed);\n }\n});","define([\"../core\", \"../core/camelCase\", \"../var/rnothtmlwhite\", \"./var/acceptData\"], function (jQuery, camelCase, rnothtmlwhite, acceptData) {\n \"use strict\";\n\n function Data() {\n this.expando = jQuery.expando + Data.uid++;\n }\n\n Data.uid = 1;\n Data.prototype = {\n cache: function (owner) {\n // Check if the owner object already has a cache\n var value = owner[this.expando]; // If not, create one\n\n if (!value) {\n value = {}; // We can accept data for non-element nodes in modern browsers,\n // but we should not, see #8335.\n // Always return an empty object.\n\n if (acceptData(owner)) {\n // If it is a node unlikely to be stringify-ed or looped over\n // use plain assignment\n if (owner.nodeType) {\n owner[this.expando] = value; // Otherwise secure it in a non-enumerable property\n // configurable must be true to allow the property to be\n // deleted when data is removed\n } else {\n Object.defineProperty(owner, this.expando, {\n value: value,\n configurable: true\n });\n }\n }\n }\n\n return value;\n },\n set: function (owner, data, value) {\n var prop,\n cache = this.cache(owner); // Handle: [ owner, key, value ] args\n // Always use camelCase key (gh-2257)\n\n if (typeof data === \"string\") {\n cache[camelCase(data)] = value; // Handle: [ owner, { properties } ] args\n } else {\n // Copy the properties one-by-one to the cache object\n for (prop in data) {\n cache[camelCase(prop)] = data[prop];\n }\n }\n\n return cache;\n },\n get: function (owner, key) {\n return key === undefined ? this.cache(owner) : // Always use camelCase key (gh-2257)\n owner[this.expando] && owner[this.expando][camelCase(key)];\n },\n access: function (owner, key, value) {\n // In cases where either:\n //\n // 1. No key was specified\n // 2. A string key was specified, but no value provided\n //\n // Take the \"read\" path and allow the get method to determine\n // which value to return, respectively either:\n //\n // 1. The entire cache object\n // 2. The data stored at the key\n //\n if (key === undefined || key && typeof key === \"string\" && value === undefined) {\n return this.get(owner, key);\n } // When the key is not a string, or both a key and value\n // are specified, set or extend (existing objects) with either:\n //\n // 1. An object of properties\n // 2. A key and value\n //\n\n\n this.set(owner, key, value); // Since the \"set\" path can have two possible entry points\n // return the expected data based on which path was taken[*]\n\n return value !== undefined ? value : key;\n },\n remove: function (owner, key) {\n var i,\n cache = owner[this.expando];\n\n if (cache === undefined) {\n return;\n }\n\n if (key !== undefined) {\n // Support array or space separated string of keys\n if (Array.isArray(key)) {\n // If key is an array of keys...\n // We always set camelCase keys, so remove that.\n key = key.map(camelCase);\n } else {\n key = camelCase(key); // If a key with the spaces exists, use it.\n // Otherwise, create an array by matching non-whitespace\n\n key = key in cache ? [key] : key.match(rnothtmlwhite) || [];\n }\n\n i = key.length;\n\n while (i--) {\n delete cache[key[i]];\n }\n } // Remove the expando if there's no more data\n\n\n if (key === undefined || jQuery.isEmptyObject(cache)) {\n // Support: Chrome <=35 - 45\n // Webkit & Blink performance suffers when deleting properties\n // from DOM nodes, so set to undefined instead\n // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)\n if (owner.nodeType) {\n owner[this.expando] = undefined;\n } else {\n delete owner[this.expando];\n }\n }\n },\n hasData: function (owner) {\n var cache = owner[this.expando];\n return cache !== undefined && !jQuery.isEmptyObject(cache);\n }\n };\n return Data;\n});","define([\"../Data\"], function (Data) {\n \"use strict\";\n\n return new Data();\n});","define(function () {\n \"use strict\";\n\n return /[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/.source;\n});","define([\"../../core\", \"../../core/isAttached\" // css is assumed\n], function (jQuery, isAttached) {\n \"use strict\"; // isHiddenWithinTree reports if an element has a non-\"none\" display style (inline and/or\n // through the CSS cascade), which is useful in deciding whether or not to make it visible.\n // It differs from the :hidden selector (jQuery.expr.pseudos.hidden) in two important ways:\n // * A hidden ancestor does not force an element to be classified as hidden.\n // * Being disconnected from the document does not force an element to be classified as hidden.\n // These differences improve the behavior of .toggle() et al. when applied to elements that are\n // detached or contained within hidden ancestors (gh-2404, gh-2863).\n\n return function (elem, el) {\n // isHiddenWithinTree might be called from jQuery#filter function;\n // in that case, element will be second argument\n elem = el || elem; // Inline style trumps all\n\n return elem.style.display === \"none\" || elem.style.display === \"\" && // Otherwise, check computed style\n // Support: Firefox <=43 - 45\n // Disconnected elements can have computed display: none, so first confirm that elem is\n // in the document.\n isAttached(elem) && jQuery.css(elem, \"display\") === \"none\";\n };\n});","define(function () {\n \"use strict\"; // A method for quickly swapping in/out CSS properties to get correct calculations.\n\n return function (elem, options, callback, args) {\n var ret,\n name,\n old = {}; // Remember the old values, and insert the new ones\n\n for (name in options) {\n old[name] = elem.style[name];\n elem.style[name] = options[name];\n }\n\n ret = callback.apply(elem, args || []); // Revert the old values\n\n for (name in options) {\n elem.style[name] = old[name];\n }\n\n return ret;\n };\n});","define([\"../core\", \"../var/rcssNum\"], function (jQuery, rcssNum) {\n \"use strict\";\n\n function adjustCSS(elem, prop, valueParts, tween) {\n var adjusted,\n scale,\n maxIterations = 20,\n currentValue = tween ? function () {\n return tween.cur();\n } : function () {\n return jQuery.css(elem, prop, \"\");\n },\n initial = currentValue(),\n unit = valueParts && valueParts[3] || (jQuery.cssNumber[prop] ? \"\" : \"px\"),\n // Starting value computation is required for potential unit mismatches\n initialInUnit = elem.nodeType && (jQuery.cssNumber[prop] || unit !== \"px\" && +initial) && rcssNum.exec(jQuery.css(elem, prop));\n\n if (initialInUnit && initialInUnit[3] !== unit) {\n // Support: Firefox <=54\n // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144)\n initial = initial / 2; // Trust units reported by jQuery.css\n\n unit = unit || initialInUnit[3]; // Iteratively approximate from a nonzero starting point\n\n initialInUnit = +initial || 1;\n\n while (maxIterations--) {\n // Evaluate and update our best guess (doubling guesses that zero out).\n // Finish if the scale equals or crosses 1 (making the old*new product non-positive).\n jQuery.style(elem, prop, initialInUnit + unit);\n\n if ((1 - scale) * (1 - (scale = currentValue() / initial || 0.5)) <= 0) {\n maxIterations = 0;\n }\n\n initialInUnit = initialInUnit / scale;\n }\n\n initialInUnit = initialInUnit * 2;\n jQuery.style(elem, prop, initialInUnit + unit); // Make sure we update the tween properties later on\n\n valueParts = valueParts || [];\n }\n\n if (valueParts) {\n initialInUnit = +initialInUnit || +initial || 0; // Apply relative offset (+=/-=) if specified\n\n adjusted = valueParts[1] ? initialInUnit + (valueParts[1] + 1) * valueParts[2] : +valueParts[2];\n\n if (tween) {\n tween.unit = unit;\n tween.start = initialInUnit;\n tween.end = adjusted;\n }\n }\n\n return adjusted;\n }\n\n return adjustCSS;\n});","define(function () {\n \"use strict\"; // rtagName captures the name from the first start tag in a string of HTML\n // https://html.spec.whatwg.org/multipage/syntax.html#tag-open-state\n // https://html.spec.whatwg.org/multipage/syntax.html#tag-name-state\n\n return /<([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]*)/i;\n});","define(function () {\n \"use strict\";\n\n return /^$|^module$|\\/(?:java|ecma)script/i;\n});","define(function () {\n \"use strict\"; // We have to close these tags to support XHTML (#13200)\n\n var wrapMap = {\n // Support: IE <=9 only\n option: [1, \"\"],\n // XHTML parsers do not magically insert elements in the\n // same way that tag soup parsers do. So we cannot shorten\n // this by omitting or other required elements.\n thead: [1, \"\", \"
\"],\n col: [2, \"\", \"
\"],\n tr: [2, \"\", \"
\"],\n td: [3, \"\", \"
\"],\n _default: [0, \"\", \"\"]\n }; // Support: IE <=9 only\n\n wrapMap.optgroup = wrapMap.option;\n wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;\n wrapMap.th = wrapMap.td;\n return wrapMap;\n});","define([\"../core\", \"../core/nodeName\"], function (jQuery, nodeName) {\n \"use strict\";\n\n function getAll(context, tag) {\n // Support: IE <=9 - 11 only\n // Use typeof to avoid zero-argument method invocation on host objects (#15151)\n var ret;\n\n if (typeof context.getElementsByTagName !== \"undefined\") {\n ret = context.getElementsByTagName(tag || \"*\");\n } else if (typeof context.querySelectorAll !== \"undefined\") {\n ret = context.querySelectorAll(tag || \"*\");\n } else {\n ret = [];\n }\n\n if (tag === undefined || tag && nodeName(context, tag)) {\n return jQuery.merge([context], ret);\n }\n\n return ret;\n }\n\n return getAll;\n});","define([\"../data/var/dataPriv\"], function (dataPriv) {\n \"use strict\"; // Mark scripts as having already been evaluated\n\n function setGlobalEval(elems, refElements) {\n var i = 0,\n l = elems.length;\n\n for (; i < l; i++) {\n dataPriv.set(elems[i], \"globalEval\", !refElements || dataPriv.get(refElements[i], \"globalEval\"));\n }\n }\n\n return setGlobalEval;\n});","define([\"../core\", \"../core/toType\", \"../core/isAttached\", \"./var/rtagName\", \"./var/rscriptType\", \"./wrapMap\", \"./getAll\", \"./setGlobalEval\"], function (jQuery, toType, isAttached, rtagName, rscriptType, wrapMap, getAll, setGlobalEval) {\n \"use strict\";\n\n var rhtml = /<|&#?\\w+;/;\n\n function buildFragment(elems, context, scripts, selection, ignored) {\n var elem,\n tmp,\n tag,\n wrap,\n attached,\n j,\n fragment = context.createDocumentFragment(),\n nodes = [],\n i = 0,\n l = elems.length;\n\n for (; i < l; i++) {\n elem = elems[i];\n\n if (elem || elem === 0) {\n // Add nodes directly\n if (toType(elem) === \"object\") {\n // Support: Android <=4.0 only, PhantomJS 1 only\n // push.apply(_, arraylike) throws on ancient WebKit\n jQuery.merge(nodes, elem.nodeType ? [elem] : elem); // Convert non-html into a text node\n } else if (!rhtml.test(elem)) {\n nodes.push(context.createTextNode(elem)); // Convert html into DOM nodes\n } else {\n tmp = tmp || fragment.appendChild(context.createElement(\"div\")); // Deserialize a standard representation\n\n tag = (rtagName.exec(elem) || [\"\", \"\"])[1].toLowerCase();\n wrap = wrapMap[tag] || wrapMap._default;\n tmp.innerHTML = wrap[1] + jQuery.htmlPrefilter(elem) + wrap[2]; // Descend through wrappers to the right content\n\n j = wrap[0];\n\n while (j--) {\n tmp = tmp.lastChild;\n } // Support: Android <=4.0 only, PhantomJS 1 only\n // push.apply(_, arraylike) throws on ancient WebKit\n\n\n jQuery.merge(nodes, tmp.childNodes); // Remember the top-level container\n\n tmp = fragment.firstChild; // Ensure the created nodes are orphaned (#12392)\n\n tmp.textContent = \"\";\n }\n }\n } // Remove wrapper from fragment\n\n\n fragment.textContent = \"\";\n i = 0;\n\n while (elem = nodes[i++]) {\n // Skip elements already in the context collection (trac-4087)\n if (selection && jQuery.inArray(elem, selection) > -1) {\n if (ignored) {\n ignored.push(elem);\n }\n\n continue;\n }\n\n attached = isAttached(elem); // Append to fragment\n\n tmp = getAll(fragment.appendChild(elem), \"script\"); // Preserve script evaluation history\n\n if (attached) {\n setGlobalEval(tmp);\n } // Capture executables\n\n\n if (scripts) {\n j = 0;\n\n while (elem = tmp[j++]) {\n if (rscriptType.test(elem.type || \"\")) {\n scripts.push(elem);\n }\n }\n }\n }\n\n return fragment;\n }\n\n return buildFragment;\n});","define(function () {\n \"use strict\";\n\n return function (elem) {\n // Support: IE <=11 only, Firefox <=30 (#15098, #14150)\n // IE throws on elements created in popups\n // FF meanwhile throws on frame elements through \"defaultView.getComputedStyle\"\n var view = elem.ownerDocument.defaultView;\n\n if (!view || !view.opener) {\n view = window;\n }\n\n return view.getComputedStyle(elem);\n };\n});","define([\"../core\", \"../core/isAttached\", \"./var/rboxStyle\", \"./var/rnumnonpx\", \"./var/getStyles\", \"./support\"], function (jQuery, isAttached, rboxStyle, rnumnonpx, getStyles, support) {\n \"use strict\";\n\n function curCSS(elem, name, computed) {\n var width,\n minWidth,\n maxWidth,\n ret,\n // Support: Firefox 51+\n // Retrieving style before computed somehow\n // fixes an issue with getting wrong values\n // on detached elements\n style = elem.style;\n computed = computed || getStyles(elem); // getPropertyValue is needed for:\n // .css('filter') (IE 9 only, #12537)\n // .css('--customProperty) (#3144)\n\n if (computed) {\n ret = computed.getPropertyValue(name) || computed[name];\n\n if (ret === \"\" && !isAttached(elem)) {\n ret = jQuery.style(elem, name);\n } // A tribute to the \"awesome hack by Dean Edwards\"\n // Android Browser returns percentage for some values,\n // but width seems to be reliably pixels.\n // This is against the CSSOM draft spec:\n // https://drafts.csswg.org/cssom/#resolved-values\n\n\n if (!support.pixelBoxStyles() && rnumnonpx.test(ret) && rboxStyle.test(name)) {\n // Remember the original values\n width = style.width;\n minWidth = style.minWidth;\n maxWidth = style.maxWidth; // Put in the new values to get a computed value out\n\n style.minWidth = style.maxWidth = style.width = ret;\n ret = computed.width; // Revert the changed values\n\n style.width = width;\n style.minWidth = minWidth;\n style.maxWidth = maxWidth;\n }\n }\n\n return ret !== undefined ? // Support: IE <=9 - 11 only\n // IE returns zIndex value as an integer.\n ret + \"\" : ret;\n }\n\n return curCSS;\n});","define(function () {\n \"use strict\";\n\n function addGetHookIf(conditionFn, hookFn) {\n // Define the hook, we'll check on the first run if it's really needed.\n return {\n get: function () {\n if (conditionFn()) {\n // Hook not needed (or it's not possible to use it due\n // to missing dependency), remove it.\n delete this.get;\n return;\n } // Hook needed; redefine it so that the support test is not executed again.\n\n\n return (this.get = hookFn).apply(this, arguments);\n }\n };\n }\n\n return addGetHookIf;\n});","define([\"../var/document\", \"../core\"], function (document, jQuery) {\n \"use strict\";\n\n var cssPrefixes = [\"Webkit\", \"Moz\", \"ms\"],\n emptyStyle = document.createElement(\"div\").style,\n vendorProps = {}; // Return a vendor-prefixed property or undefined\n\n function vendorPropName(name) {\n // Check for vendor prefixed names\n var capName = name[0].toUpperCase() + name.slice(1),\n i = cssPrefixes.length;\n\n while (i--) {\n name = cssPrefixes[i] + capName;\n\n if (name in emptyStyle) {\n return name;\n }\n }\n } // Return a potentially-mapped jQuery.cssProps or vendor prefixed property\n\n\n function finalPropName(name) {\n var final = jQuery.cssProps[name] || vendorProps[name];\n\n if (final) {\n return final;\n }\n\n if (name in emptyStyle) {\n return name;\n }\n\n return vendorProps[name] = vendorPropName(name) || name;\n }\n\n return finalPropName;\n});","define([\"../core\", \"../core/access\", \"./support\", \"../selector\"], function (jQuery, access, support) {\n \"use strict\";\n\n var rfocusable = /^(?:input|select|textarea|button)$/i,\n rclickable = /^(?:a|area)$/i;\n jQuery.fn.extend({\n prop: function (name, value) {\n return access(this, jQuery.prop, name, value, arguments.length > 1);\n },\n removeProp: function (name) {\n return this.each(function () {\n delete this[jQuery.propFix[name] || name];\n });\n }\n });\n jQuery.extend({\n prop: function (elem, name, value) {\n var ret,\n hooks,\n nType = elem.nodeType; // Don't get/set properties on text, comment and attribute nodes\n\n if (nType === 3 || nType === 8 || nType === 2) {\n return;\n }\n\n if (nType !== 1 || !jQuery.isXMLDoc(elem)) {\n // Fix name and attach hooks\n name = jQuery.propFix[name] || name;\n hooks = jQuery.propHooks[name];\n }\n\n if (value !== undefined) {\n if (hooks && \"set\" in hooks && (ret = hooks.set(elem, value, name)) !== undefined) {\n return ret;\n }\n\n return elem[name] = value;\n }\n\n if (hooks && \"get\" in hooks && (ret = hooks.get(elem, name)) !== null) {\n return ret;\n }\n\n return elem[name];\n },\n propHooks: {\n tabIndex: {\n get: function (elem) {\n // Support: IE <=9 - 11 only\n // elem.tabIndex doesn't always return the\n // correct value when it hasn't been explicitly set\n // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/\n // Use proper attribute retrieval(#12072)\n var tabindex = jQuery.find.attr(elem, \"tabindex\");\n\n if (tabindex) {\n return parseInt(tabindex, 10);\n }\n\n if (rfocusable.test(elem.nodeName) || rclickable.test(elem.nodeName) && elem.href) {\n return 0;\n }\n\n return -1;\n }\n }\n },\n propFix: {\n \"for\": \"htmlFor\",\n \"class\": \"className\"\n }\n }); // Support: IE <=11 only\n // Accessing the selectedIndex property\n // forces the browser to respect setting selected\n // on the option\n // The getter ensures a default option is selected\n // when in an optgroup\n // eslint rule \"no-unused-expressions\" is disabled for this code\n // since it considers such accessions noop\n\n if (!support.optSelected) {\n jQuery.propHooks.selected = {\n get: function (elem) {\n /* eslint no-unused-expressions: \"off\" */\n var parent = elem.parentNode;\n\n if (parent && parent.parentNode) {\n parent.parentNode.selectedIndex;\n }\n\n return null;\n },\n set: function (elem) {\n /* eslint no-unused-expressions: \"off\" */\n var parent = elem.parentNode;\n\n if (parent) {\n parent.selectedIndex;\n\n if (parent.parentNode) {\n parent.parentNode.selectedIndex;\n }\n }\n }\n };\n }\n\n jQuery.each([\"tabIndex\", \"readOnly\", \"maxLength\", \"cellSpacing\", \"cellPadding\", \"rowSpan\", \"colSpan\", \"useMap\", \"frameBorder\", \"contentEditable\"], function () {\n jQuery.propFix[this.toLowerCase()] = this;\n });\n});","define(function () {\n \"use strict\";\n\n return Date.now();\n});","define(function () {\n \"use strict\";\n\n return /\\?/;\n});","define([\"./core\", \"./core/toType\", \"./var/rcheckableType\", \"./var/isFunction\", \"./core/init\", \"./traversing\", // filter\n\"./attributes/prop\"], function (jQuery, toType, rcheckableType, isFunction) {\n \"use strict\";\n\n var rbracket = /\\[\\]$/,\n rCRLF = /\\r?\\n/g,\n rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,\n rsubmittable = /^(?:input|select|textarea|keygen)/i;\n\n function buildParams(prefix, obj, traditional, add) {\n var name;\n\n if (Array.isArray(obj)) {\n // Serialize array item.\n jQuery.each(obj, function (i, v) {\n if (traditional || rbracket.test(prefix)) {\n // Treat each array item as a scalar.\n add(prefix, v);\n } else {\n // Item is non-scalar (array or object), encode its numeric index.\n buildParams(prefix + \"[\" + (typeof v === \"object\" && v != null ? i : \"\") + \"]\", v, traditional, add);\n }\n });\n } else if (!traditional && toType(obj) === \"object\") {\n // Serialize object item.\n for (name in obj) {\n buildParams(prefix + \"[\" + name + \"]\", obj[name], traditional, add);\n }\n } else {\n // Serialize scalar item.\n add(prefix, obj);\n }\n } // Serialize an array of form elements or a set of\n // key/values into a query string\n\n\n jQuery.param = function (a, traditional) {\n var prefix,\n s = [],\n add = function (key, valueOrFunction) {\n // If value is a function, invoke it and use its return value\n var value = isFunction(valueOrFunction) ? valueOrFunction() : valueOrFunction;\n s[s.length] = encodeURIComponent(key) + \"=\" + encodeURIComponent(value == null ? \"\" : value);\n };\n\n if (a == null) {\n return \"\";\n } // If an array was passed in, assume that it is an array of form elements.\n\n\n if (Array.isArray(a) || a.jquery && !jQuery.isPlainObject(a)) {\n // Serialize the form elements\n jQuery.each(a, function () {\n add(this.name, this.value);\n });\n } else {\n // If traditional, encode the \"old\" way (the way 1.3.2 or older\n // did it), otherwise encode params recursively.\n for (prefix in a) {\n buildParams(prefix, a[prefix], traditional, add);\n }\n } // Return the resulting serialization\n\n\n return s.join(\"&\");\n };\n\n jQuery.fn.extend({\n serialize: function () {\n return jQuery.param(this.serializeArray());\n },\n serializeArray: function () {\n return this.map(function () {\n // Can add propHook for \"elements\" to filter or add form elements\n var elements = jQuery.prop(this, \"elements\");\n return elements ? jQuery.makeArray(elements) : this;\n }).filter(function () {\n var type = this.type; // Use .is( \":disabled\" ) so that fieldset[disabled] works\n\n return this.name && !jQuery(this).is(\":disabled\") && rsubmittable.test(this.nodeName) && !rsubmitterTypes.test(type) && (this.checked || !rcheckableType.test(type));\n }).map(function (i, elem) {\n var val = jQuery(this).val();\n\n if (val == null) {\n return null;\n }\n\n if (Array.isArray(val)) {\n return jQuery.map(val, function (val) {\n return {\n name: elem.name,\n value: val.replace(rCRLF, \"\\r\\n\")\n };\n });\n }\n\n return {\n name: elem.name,\n value: val.replace(rCRLF, \"\\r\\n\")\n };\n }).get();\n }\n });\n return jQuery;\n});","/*!\n* sweetalert2 v11.7.10\n* Released under the MIT License.\n*/\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Sweetalert2 = factory());\n})(this, function () {\n 'use strict';\n\n const RESTORE_FOCUS_TIMEOUT = 100;\n /** @type {GlobalState} */\n\n const globalState = {};\n\n const focusPreviousActiveElement = () => {\n if (globalState.previousActiveElement instanceof HTMLElement) {\n globalState.previousActiveElement.focus();\n globalState.previousActiveElement = null;\n } else if (document.body) {\n document.body.focus();\n }\n };\n /**\n * Restore previous active (focused) element\n *\n * @param {boolean} returnFocus\n * @returns {Promise}\n */\n\n\n const restoreActiveElement = returnFocus => {\n return new Promise(resolve => {\n if (!returnFocus) {\n return resolve();\n }\n\n const x = window.scrollX;\n const y = window.scrollY;\n globalState.restoreFocusTimeout = setTimeout(() => {\n focusPreviousActiveElement();\n resolve();\n }, RESTORE_FOCUS_TIMEOUT); // issues/900\n\n window.scrollTo(x, y);\n });\n };\n /**\n * This module contains `WeakMap`s for each effectively-\"private property\" that a `Swal` has.\n * For example, to set the private property \"foo\" of `this` to \"bar\", you can `privateProps.foo.set(this, 'bar')`\n * This is the approach that Babel will probably take to implement private methods/fields\n * https://github.com/tc39/proposal-private-methods\n * https://github.com/babel/babel/pull/7555\n * Once we have the changes from that PR in Babel, and our core class fits reasonable in *one module*\n * then we can use that language feature.\n */\n\n\n var privateProps = {\n promise: new WeakMap(),\n innerParams: new WeakMap(),\n domCache: new WeakMap()\n };\n const swalPrefix = 'swal2-';\n /**\n * @typedef\n * { | 'container'\n * | 'shown'\n * | 'height-auto'\n * | 'iosfix'\n * | 'popup'\n * | 'modal'\n * | 'no-backdrop'\n * | 'no-transition'\n * | 'toast'\n * | 'toast-shown'\n * | 'show'\n * | 'hide'\n * | 'close'\n * | 'title'\n * | 'html-container'\n * | 'actions'\n * | 'confirm'\n * | 'deny'\n * | 'cancel'\n * | 'default-outline'\n * | 'footer'\n * | 'icon'\n * | 'icon-content'\n * | 'image'\n * | 'input'\n * | 'file'\n * | 'range'\n * | 'select'\n * | 'radio'\n * | 'checkbox'\n * | 'label'\n * | 'textarea'\n * | 'inputerror'\n * | 'input-label'\n * | 'validation-message'\n * | 'progress-steps'\n * | 'active-progress-step'\n * | 'progress-step'\n * | 'progress-step-line'\n * | 'loader'\n * | 'loading'\n * | 'styled'\n * | 'top'\n * | 'top-start'\n * | 'top-end'\n * | 'top-left'\n * | 'top-right'\n * | 'center'\n * | 'center-start'\n * | 'center-end'\n * | 'center-left'\n * | 'center-right'\n * | 'bottom'\n * | 'bottom-start'\n * | 'bottom-end'\n * | 'bottom-left'\n * | 'bottom-right'\n * | 'grow-row'\n * | 'grow-column'\n * | 'grow-fullscreen'\n * | 'rtl'\n * | 'timer-progress-bar'\n * | 'timer-progress-bar-container'\n * | 'scrollbar-measure'\n * | 'icon-success'\n * | 'icon-warning'\n * | 'icon-info'\n * | 'icon-question'\n * | 'icon-error'\n * } SwalClass\n * @typedef {Record} SwalClasses\n */\n\n /**\n * @typedef {'success' | 'warning' | 'info' | 'question' | 'error'} SwalIcon\n * @typedef {Record} SwalIcons\n */\n\n /** @type {SwalClass[]} */\n\n const classNames = ['container', 'shown', 'height-auto', 'iosfix', 'popup', 'modal', 'no-backdrop', 'no-transition', 'toast', 'toast-shown', 'show', 'hide', 'close', 'title', 'html-container', 'actions', 'confirm', 'deny', 'cancel', 'default-outline', 'footer', 'icon', 'icon-content', 'image', 'input', 'file', 'range', 'select', 'radio', 'checkbox', 'label', 'textarea', 'inputerror', 'input-label', 'validation-message', 'progress-steps', 'active-progress-step', 'progress-step', 'progress-step-line', 'loader', 'loading', 'styled', 'top', 'top-start', 'top-end', 'top-left', 'top-right', 'center', 'center-start', 'center-end', 'center-left', 'center-right', 'bottom', 'bottom-start', 'bottom-end', 'bottom-left', 'bottom-right', 'grow-row', 'grow-column', 'grow-fullscreen', 'rtl', 'timer-progress-bar', 'timer-progress-bar-container', 'scrollbar-measure', 'icon-success', 'icon-warning', 'icon-info', 'icon-question', 'icon-error'];\n const swalClasses = classNames.reduce((acc, className) => {\n acc[className] = swalPrefix + className;\n return acc;\n },\n /** @type {SwalClasses} */\n {});\n /** @type {SwalIcon[]} */\n\n const icons = ['success', 'warning', 'info', 'question', 'error'];\n const iconTypes = icons.reduce((acc, icon) => {\n acc[icon] = swalPrefix + icon;\n return acc;\n },\n /** @type {SwalIcons} */\n {});\n const consolePrefix = 'SweetAlert2:';\n /**\n * Capitalize the first letter of a string\n *\n * @param {string} str\n * @returns {string}\n */\n\n const capitalizeFirstLetter = str => str.charAt(0).toUpperCase() + str.slice(1);\n /**\n * Standardize console warnings\n *\n * @param {string | string[]} message\n */\n\n\n const warn = message => {\n console.warn(`${consolePrefix} ${typeof message === 'object' ? message.join(' ') : message}`);\n };\n /**\n * Standardize console errors\n *\n * @param {string} message\n */\n\n\n const error = message => {\n console.error(`${consolePrefix} ${message}`);\n };\n /**\n * Private global state for `warnOnce`\n *\n * @type {string[]}\n * @private\n */\n\n\n const previousWarnOnceMessages = [];\n /**\n * Show a console warning, but only if it hasn't already been shown\n *\n * @param {string} message\n */\n\n const warnOnce = message => {\n if (!previousWarnOnceMessages.includes(message)) {\n previousWarnOnceMessages.push(message);\n warn(message);\n }\n };\n /**\n * Show a one-time console warning about deprecated params/methods\n *\n * @param {string} deprecatedParam\n * @param {string} useInstead\n */\n\n\n const warnAboutDeprecation = (deprecatedParam, useInstead) => {\n warnOnce(`\"${deprecatedParam}\" is deprecated and will be removed in the next major release. Please use \"${useInstead}\" instead.`);\n };\n /**\n * If `arg` is a function, call it (with no arguments or context) and return the result.\n * Otherwise, just pass the value through\n *\n * @param {Function | any} arg\n * @returns {any}\n */\n\n\n const callIfFunction = arg => typeof arg === 'function' ? arg() : arg;\n /**\n * @param {any} arg\n * @returns {boolean}\n */\n\n\n const hasToPromiseFn = arg => arg && typeof arg.toPromise === 'function';\n /**\n * @param {any} arg\n * @returns {Promise}\n */\n\n\n const asPromise = arg => hasToPromiseFn(arg) ? arg.toPromise() : Promise.resolve(arg);\n /**\n * @param {any} arg\n * @returns {boolean}\n */\n\n\n const isPromise = arg => arg && Promise.resolve(arg) === arg;\n /**\n * Gets the popup container which contains the backdrop and the popup itself.\n *\n * @returns {HTMLElement | null}\n */\n\n\n const getContainer = () => document.body.querySelector(`.${swalClasses.container}`);\n /**\n * @param {string} selectorString\n * @returns {HTMLElement | null}\n */\n\n\n const elementBySelector = selectorString => {\n const container = getContainer();\n return container ? container.querySelector(selectorString) : null;\n };\n /**\n * @param {string} className\n * @returns {HTMLElement | null}\n */\n\n\n const elementByClass = className => {\n return elementBySelector(`.${className}`);\n };\n /**\n * @returns {HTMLElement | null}\n */\n\n\n const getPopup = () => elementByClass(swalClasses.popup);\n /**\n * @returns {HTMLElement | null}\n */\n\n\n const getIcon = () => elementByClass(swalClasses.icon);\n /**\n * @returns {HTMLElement | null}\n */\n\n\n const getIconContent = () => elementByClass(swalClasses['icon-content']);\n /**\n * @returns {HTMLElement | null}\n */\n\n\n const getTitle = () => elementByClass(swalClasses.title);\n /**\n * @returns {HTMLElement | null}\n */\n\n\n const getHtmlContainer = () => elementByClass(swalClasses['html-container']);\n /**\n * @returns {HTMLElement | null}\n */\n\n\n const getImage = () => elementByClass(swalClasses.image);\n /**\n * @returns {HTMLElement | null}\n */\n\n\n const getProgressSteps = () => elementByClass(swalClasses['progress-steps']);\n /**\n * @returns {HTMLElement | null}\n */\n\n\n const getValidationMessage = () => elementByClass(swalClasses['validation-message']);\n /**\n * @returns {HTMLButtonElement | null}\n */\n\n\n const getConfirmButton = () =>\n /** @type {HTMLButtonElement} */\n elementBySelector(`.${swalClasses.actions} .${swalClasses.confirm}`);\n /**\n * @returns {HTMLButtonElement | null}\n */\n\n\n const getCancelButton = () =>\n /** @type {HTMLButtonElement} */\n elementBySelector(`.${swalClasses.actions} .${swalClasses.cancel}`);\n /**\n * @returns {HTMLButtonElement | null}\n */\n\n\n const getDenyButton = () =>\n /** @type {HTMLButtonElement} */\n elementBySelector(`.${swalClasses.actions} .${swalClasses.deny}`);\n /**\n * @returns {HTMLElement | null}\n */\n\n\n const getInputLabel = () => elementByClass(swalClasses['input-label']);\n /**\n * @returns {HTMLElement | null}\n */\n\n\n const getLoader = () => elementBySelector(`.${swalClasses.loader}`);\n /**\n * @returns {HTMLElement | null}\n */\n\n\n const getActions = () => elementByClass(swalClasses.actions);\n /**\n * @returns {HTMLElement | null}\n */\n\n\n const getFooter = () => elementByClass(swalClasses.footer);\n /**\n * @returns {HTMLElement | null}\n */\n\n\n const getTimerProgressBar = () => elementByClass(swalClasses['timer-progress-bar']);\n /**\n * @returns {HTMLElement | null}\n */\n\n\n const getCloseButton = () => elementByClass(swalClasses.close); // https://github.com/jkup/focusable/blob/master/index.js\n\n\n const focusable = `\n a[href],\n area[href],\n input:not([disabled]),\n select:not([disabled]),\n textarea:not([disabled]),\n button:not([disabled]),\n iframe,\n object,\n embed,\n [tabindex=\"0\"],\n [contenteditable],\n audio[controls],\n video[controls],\n summary\n`;\n /**\n * @returns {HTMLElement[]}\n */\n\n const getFocusableElements = () => {\n /** @type {NodeListOf} */\n const focusableElementsWithTabindex = getPopup().querySelectorAll('[tabindex]:not([tabindex=\"-1\"]):not([tabindex=\"0\"])');\n const focusableElementsWithTabindexSorted = Array.from(focusableElementsWithTabindex) // sort according to tabindex\n .sort((a, b) => {\n const tabindexA = parseInt(a.getAttribute('tabindex'));\n const tabindexB = parseInt(b.getAttribute('tabindex'));\n\n if (tabindexA > tabindexB) {\n return 1;\n } else if (tabindexA < tabindexB) {\n return -1;\n }\n\n return 0;\n });\n /** @type {NodeListOf} */\n\n const otherFocusableElements = getPopup().querySelectorAll(focusable);\n const otherFocusableElementsFiltered = Array.from(otherFocusableElements).filter(el => el.getAttribute('tabindex') !== '-1');\n return [...new Set(focusableElementsWithTabindexSorted.concat(otherFocusableElementsFiltered))].filter(el => isVisible$1(el));\n };\n /**\n * @returns {boolean}\n */\n\n\n const isModal = () => {\n return hasClass(document.body, swalClasses.shown) && !hasClass(document.body, swalClasses['toast-shown']) && !hasClass(document.body, swalClasses['no-backdrop']);\n };\n /**\n * @returns {boolean}\n */\n\n\n const isToast = () => {\n return getPopup() && hasClass(getPopup(), swalClasses.toast);\n };\n /**\n * @returns {boolean}\n */\n\n\n const isLoading = () => {\n return getPopup().hasAttribute('data-loading');\n };\n /**\n * Securely set innerHTML of an element\n * https://github.com/sweetalert2/sweetalert2/issues/1926\n *\n * @param {HTMLElement} elem\n * @param {string} html\n */\n\n\n const setInnerHtml = (elem, html) => {\n elem.textContent = '';\n\n if (html) {\n const parser = new DOMParser();\n const parsed = parser.parseFromString(html, `text/html`);\n Array.from(parsed.querySelector('head').childNodes).forEach(child => {\n elem.appendChild(child);\n });\n Array.from(parsed.querySelector('body').childNodes).forEach(child => {\n if (child instanceof HTMLVideoElement || child instanceof HTMLAudioElement) {\n elem.appendChild(child.cloneNode(true)); // https://github.com/sweetalert2/sweetalert2/issues/2507\n } else {\n elem.appendChild(child);\n }\n });\n }\n };\n /**\n * @param {HTMLElement} elem\n * @param {string} className\n * @returns {boolean}\n */\n\n\n const hasClass = (elem, className) => {\n if (!className) {\n return false;\n }\n\n const classList = className.split(/\\s+/);\n\n for (let i = 0; i < classList.length; i++) {\n if (!elem.classList.contains(classList[i])) {\n return false;\n }\n }\n\n return true;\n };\n /**\n * @param {HTMLElement} elem\n * @param {SweetAlertOptions} params\n */\n\n\n const removeCustomClasses = (elem, params) => {\n Array.from(elem.classList).forEach(className => {\n if (!Object.values(swalClasses).includes(className) && !Object.values(iconTypes).includes(className) && !Object.values(params.showClass).includes(className)) {\n elem.classList.remove(className);\n }\n });\n };\n /**\n * @param {HTMLElement} elem\n * @param {SweetAlertOptions} params\n * @param {string} className\n */\n\n\n const applyCustomClass = (elem, params, className) => {\n removeCustomClasses(elem, params);\n\n if (params.customClass && params.customClass[className]) {\n if (typeof params.customClass[className] !== 'string' && !params.customClass[className].forEach) {\n warn(`Invalid type of customClass.${className}! Expected string or iterable object, got \"${typeof params.customClass[className]}\"`);\n return;\n }\n\n addClass(elem, params.customClass[className]);\n }\n };\n /**\n * @param {HTMLElement} popup\n * @param {import('./renderers/renderInput').InputClass} inputClass\n * @returns {HTMLInputElement | null}\n */\n\n\n const getInput$1 = (popup, inputClass) => {\n if (!inputClass) {\n return null;\n }\n\n switch (inputClass) {\n case 'select':\n case 'textarea':\n case 'file':\n return popup.querySelector(`.${swalClasses.popup} > .${swalClasses[inputClass]}`);\n\n case 'checkbox':\n return popup.querySelector(`.${swalClasses.popup} > .${swalClasses.checkbox} input`);\n\n case 'radio':\n return popup.querySelector(`.${swalClasses.popup} > .${swalClasses.radio} input:checked`) || popup.querySelector(`.${swalClasses.popup} > .${swalClasses.radio} input:first-child`);\n\n case 'range':\n return popup.querySelector(`.${swalClasses.popup} > .${swalClasses.range} input`);\n\n default:\n return popup.querySelector(`.${swalClasses.popup} > .${swalClasses.input}`);\n }\n };\n /**\n * @param {HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement} input\n */\n\n\n const focusInput = input => {\n input.focus(); // place cursor at end of text in text input\n\n if (input.type !== 'file') {\n // http://stackoverflow.com/a/2345915\n const val = input.value;\n input.value = '';\n input.value = val;\n }\n };\n /**\n * @param {HTMLElement | HTMLElement[] | null} target\n * @param {string | string[] | readonly string[]} classList\n * @param {boolean} condition\n */\n\n\n const toggleClass = (target, classList, condition) => {\n if (!target || !classList) {\n return;\n }\n\n if (typeof classList === 'string') {\n classList = classList.split(/\\s+/).filter(Boolean);\n }\n\n classList.forEach(className => {\n if (Array.isArray(target)) {\n target.forEach(elem => {\n condition ? elem.classList.add(className) : elem.classList.remove(className);\n });\n } else {\n condition ? target.classList.add(className) : target.classList.remove(className);\n }\n });\n };\n /**\n * @param {HTMLElement | HTMLElement[] | null} target\n * @param {string | string[] | readonly string[]} classList\n */\n\n\n const addClass = (target, classList) => {\n toggleClass(target, classList, true);\n };\n /**\n * @param {HTMLElement | HTMLElement[] | null} target\n * @param {string | string[] | readonly string[]} classList\n */\n\n\n const removeClass = (target, classList) => {\n toggleClass(target, classList, false);\n };\n /**\n * Get direct child of an element by class name\n *\n * @param {HTMLElement} elem\n * @param {string} className\n * @returns {HTMLElement | undefined}\n */\n\n\n const getDirectChildByClass = (elem, className) => {\n const children = Array.from(elem.children);\n\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n\n if (child instanceof HTMLElement && hasClass(child, className)) {\n return child;\n }\n }\n };\n /**\n * @param {HTMLElement} elem\n * @param {string} property\n * @param {*} value\n */\n\n\n const applyNumericalStyle = (elem, property, value) => {\n if (value === `${parseInt(value)}`) {\n value = parseInt(value);\n }\n\n if (value || parseInt(value) === 0) {\n elem.style[property] = typeof value === 'number' ? `${value}px` : value;\n } else {\n elem.style.removeProperty(property);\n }\n };\n /**\n * @param {HTMLElement | null} elem\n * @param {string} display\n */\n\n\n const show = function (elem) {\n let display = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'flex';\n elem && (elem.style.display = display);\n };\n /**\n * @param {HTMLElement | null} elem\n */\n\n\n const hide = elem => {\n elem && (elem.style.display = 'none');\n };\n /**\n * @param {HTMLElement} parent\n * @param {string} selector\n * @param {string} property\n * @param {string} value\n */\n\n\n const setStyle = (parent, selector, property, value) => {\n /** @type {HTMLElement} */\n const el = parent.querySelector(selector);\n\n if (el) {\n el.style[property] = value;\n }\n };\n /**\n * @param {HTMLElement} elem\n * @param {any} condition\n * @param {string} display\n */\n\n\n const toggle = function (elem, condition) {\n let display = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'flex';\n condition ? show(elem, display) : hide(elem);\n };\n /**\n * borrowed from jquery $(elem).is(':visible') implementation\n *\n * @param {HTMLElement} elem\n * @returns {boolean}\n */\n\n\n const isVisible$1 = elem => !!(elem && (elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length));\n /**\n * @returns {boolean}\n */\n\n\n const allButtonsAreHidden = () => !isVisible$1(getConfirmButton()) && !isVisible$1(getDenyButton()) && !isVisible$1(getCancelButton());\n /**\n * @param {HTMLElement} elem\n * @returns {boolean}\n */\n\n\n const isScrollable = elem => !!(elem.scrollHeight > elem.clientHeight);\n /**\n * borrowed from https://stackoverflow.com/a/46352119\n *\n * @param {HTMLElement} elem\n * @returns {boolean}\n */\n\n\n const hasCssAnimation = elem => {\n const style = window.getComputedStyle(elem);\n const animDuration = parseFloat(style.getPropertyValue('animation-duration') || '0');\n const transDuration = parseFloat(style.getPropertyValue('transition-duration') || '0');\n return animDuration > 0 || transDuration > 0;\n };\n /**\n * @param {number} timer\n * @param {boolean} reset\n */\n\n\n const animateTimerProgressBar = function (timer) {\n let reset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n const timerProgressBar = getTimerProgressBar();\n\n if (isVisible$1(timerProgressBar)) {\n if (reset) {\n timerProgressBar.style.transition = 'none';\n timerProgressBar.style.width = '100%';\n }\n\n setTimeout(() => {\n timerProgressBar.style.transition = `width ${timer / 1000}s linear`;\n timerProgressBar.style.width = '0%';\n }, 10);\n }\n };\n\n const stopTimerProgressBar = () => {\n const timerProgressBar = getTimerProgressBar();\n const timerProgressBarWidth = parseInt(window.getComputedStyle(timerProgressBar).width);\n timerProgressBar.style.removeProperty('transition');\n timerProgressBar.style.width = '100%';\n const timerProgressBarFullWidth = parseInt(window.getComputedStyle(timerProgressBar).width);\n const timerProgressBarPercent = timerProgressBarWidth / timerProgressBarFullWidth * 100;\n timerProgressBar.style.width = `${timerProgressBarPercent}%`;\n };\n /**\n * Detect Node env\n *\n * @returns {boolean}\n */\n\n\n const isNodeEnv = () => typeof window === 'undefined' || typeof document === 'undefined';\n\n const sweetHTML = `\n
\n \n
    \n
    \n \n

    \n
    \n \n \n
    \n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n`.replace(/(^|\\n)\\s*/g, '');\n /**\n * @returns {boolean}\n */\n\n const resetOldContainer = () => {\n const oldContainer = getContainer();\n\n if (!oldContainer) {\n return false;\n }\n\n oldContainer.remove();\n removeClass([document.documentElement, document.body], [swalClasses['no-backdrop'], swalClasses['toast-shown'], swalClasses['has-column']]);\n return true;\n };\n\n const resetValidationMessage$1 = () => {\n globalState.currentInstance.resetValidationMessage();\n };\n\n const addInputChangeListeners = () => {\n const popup = getPopup();\n const input = getDirectChildByClass(popup, swalClasses.input);\n const file = getDirectChildByClass(popup, swalClasses.file);\n /** @type {HTMLInputElement} */\n\n const range = popup.querySelector(`.${swalClasses.range} input`);\n /** @type {HTMLOutputElement} */\n\n const rangeOutput = popup.querySelector(`.${swalClasses.range} output`);\n const select = getDirectChildByClass(popup, swalClasses.select);\n /** @type {HTMLInputElement} */\n\n const checkbox = popup.querySelector(`.${swalClasses.checkbox} input`);\n const textarea = getDirectChildByClass(popup, swalClasses.textarea);\n input.oninput = resetValidationMessage$1;\n file.onchange = resetValidationMessage$1;\n select.onchange = resetValidationMessage$1;\n checkbox.onchange = resetValidationMessage$1;\n textarea.oninput = resetValidationMessage$1;\n\n range.oninput = () => {\n resetValidationMessage$1();\n rangeOutput.value = range.value;\n };\n\n range.onchange = () => {\n resetValidationMessage$1();\n rangeOutput.value = range.value;\n };\n };\n /**\n * @param {string | HTMLElement} target\n * @returns {HTMLElement}\n */\n\n\n const getTarget = target => typeof target === 'string' ? document.querySelector(target) : target;\n /**\n * @param {SweetAlertOptions} params\n */\n\n\n const setupAccessibility = params => {\n const popup = getPopup();\n popup.setAttribute('role', params.toast ? 'alert' : 'dialog');\n popup.setAttribute('aria-live', params.toast ? 'polite' : 'assertive');\n\n if (!params.toast) {\n popup.setAttribute('aria-modal', 'true');\n }\n };\n /**\n * @param {HTMLElement} targetElement\n */\n\n\n const setupRTL = targetElement => {\n if (window.getComputedStyle(targetElement).direction === 'rtl') {\n addClass(getContainer(), swalClasses.rtl);\n }\n };\n /**\n * Add modal + backdrop + no-war message for Russians to DOM\n *\n * @param {SweetAlertOptions} params\n */\n\n\n const init = params => {\n // Clean up the old popup container if it exists\n const oldContainerExisted = resetOldContainer();\n /* istanbul ignore if */\n\n if (isNodeEnv()) {\n error('SweetAlert2 requires document to initialize');\n return;\n }\n\n const container = document.createElement('div');\n container.className = swalClasses.container;\n\n if (oldContainerExisted) {\n addClass(container, swalClasses['no-transition']);\n }\n\n setInnerHtml(container, sweetHTML);\n const targetElement = getTarget(params.target);\n targetElement.appendChild(container);\n setupAccessibility(params);\n setupRTL(targetElement);\n addInputChangeListeners();\n };\n /**\n * @param {HTMLElement | object | string} param\n * @param {HTMLElement} target\n */\n\n\n const parseHtmlToContainer = (param, target) => {\n // DOM element\n if (param instanceof HTMLElement) {\n target.appendChild(param);\n } // Object\n else if (typeof param === 'object') {\n handleObject(param, target);\n } // Plain string\n else if (param) {\n setInnerHtml(target, param);\n }\n };\n /**\n * @param {object} param\n * @param {HTMLElement} target\n */\n\n\n const handleObject = (param, target) => {\n // JQuery element(s)\n if (param.jquery) {\n handleJqueryElem(target, param);\n } // For other objects use their string representation\n else {\n setInnerHtml(target, param.toString());\n }\n };\n /**\n * @param {HTMLElement} target\n * @param {HTMLElement} elem\n */\n\n\n const handleJqueryElem = (target, elem) => {\n target.textContent = '';\n\n if (0 in elem) {\n for (let i = 0; (i in elem); i++) {\n target.appendChild(elem[i].cloneNode(true));\n }\n } else {\n target.appendChild(elem.cloneNode(true));\n }\n };\n /**\n * @returns {'webkitAnimationEnd' | 'animationend' | false}\n */\n\n\n const animationEndEvent = (() => {\n // Prevent run in Node env\n\n /* istanbul ignore if */\n if (isNodeEnv()) {\n return false;\n }\n\n const testEl = document.createElement('div');\n const transEndEventNames = {\n WebkitAnimation: 'webkitAnimationEnd',\n // Chrome, Safari and Opera\n animation: 'animationend' // Standard syntax\n\n };\n\n for (const i in transEndEventNames) {\n if (Object.prototype.hasOwnProperty.call(transEndEventNames, i) && typeof testEl.style[i] !== 'undefined') {\n return transEndEventNames[i];\n }\n }\n\n return false;\n })();\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n\n\n const renderActions = (instance, params) => {\n const actions = getActions();\n const loader = getLoader(); // Actions (buttons) wrapper\n\n if (!params.showConfirmButton && !params.showDenyButton && !params.showCancelButton) {\n hide(actions);\n } else {\n show(actions);\n } // Custom class\n\n\n applyCustomClass(actions, params, 'actions'); // Render all the buttons\n\n renderButtons(actions, loader, params); // Loader\n\n setInnerHtml(loader, params.loaderHtml);\n applyCustomClass(loader, params, 'loader');\n };\n /**\n * @param {HTMLElement} actions\n * @param {HTMLElement} loader\n * @param {SweetAlertOptions} params\n */\n\n\n function renderButtons(actions, loader, params) {\n const confirmButton = getConfirmButton();\n const denyButton = getDenyButton();\n const cancelButton = getCancelButton(); // Render buttons\n\n renderButton(confirmButton, 'confirm', params);\n renderButton(denyButton, 'deny', params);\n renderButton(cancelButton, 'cancel', params);\n handleButtonsStyling(confirmButton, denyButton, cancelButton, params);\n\n if (params.reverseButtons) {\n if (params.toast) {\n actions.insertBefore(cancelButton, confirmButton);\n actions.insertBefore(denyButton, confirmButton);\n } else {\n actions.insertBefore(cancelButton, loader);\n actions.insertBefore(denyButton, loader);\n actions.insertBefore(confirmButton, loader);\n }\n }\n }\n /**\n * @param {HTMLElement} confirmButton\n * @param {HTMLElement} denyButton\n * @param {HTMLElement} cancelButton\n * @param {SweetAlertOptions} params\n */\n\n\n function handleButtonsStyling(confirmButton, denyButton, cancelButton, params) {\n if (!params.buttonsStyling) {\n removeClass([confirmButton, denyButton, cancelButton], swalClasses.styled);\n return;\n }\n\n addClass([confirmButton, denyButton, cancelButton], swalClasses.styled); // Buttons background colors\n\n if (params.confirmButtonColor) {\n confirmButton.style.backgroundColor = params.confirmButtonColor;\n addClass(confirmButton, swalClasses['default-outline']);\n }\n\n if (params.denyButtonColor) {\n denyButton.style.backgroundColor = params.denyButtonColor;\n addClass(denyButton, swalClasses['default-outline']);\n }\n\n if (params.cancelButtonColor) {\n cancelButton.style.backgroundColor = params.cancelButtonColor;\n addClass(cancelButton, swalClasses['default-outline']);\n }\n }\n /**\n * @param {HTMLElement} button\n * @param {'confirm' | 'deny' | 'cancel'} buttonType\n * @param {SweetAlertOptions} params\n */\n\n\n function renderButton(button, buttonType, params) {\n toggle(button, params[`show${capitalizeFirstLetter(buttonType)}Button`], 'inline-block');\n setInnerHtml(button, params[`${buttonType}ButtonText`]); // Set caption text\n\n button.setAttribute('aria-label', params[`${buttonType}ButtonAriaLabel`]); // ARIA label\n // Add buttons custom classes\n\n button.className = swalClasses[buttonType];\n applyCustomClass(button, params, `${buttonType}Button`);\n addClass(button, params[`${buttonType}ButtonClass`]);\n }\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n\n\n const renderCloseButton = (instance, params) => {\n const closeButton = getCloseButton();\n setInnerHtml(closeButton, params.closeButtonHtml); // Custom class\n\n applyCustomClass(closeButton, params, 'closeButton');\n toggle(closeButton, params.showCloseButton);\n closeButton.setAttribute('aria-label', params.closeButtonAriaLabel);\n };\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n\n\n const renderContainer = (instance, params) => {\n const container = getContainer();\n\n if (!container) {\n return;\n }\n\n handleBackdropParam(container, params.backdrop);\n handlePositionParam(container, params.position);\n handleGrowParam(container, params.grow); // Custom class\n\n applyCustomClass(container, params, 'container');\n };\n /**\n * @param {HTMLElement} container\n * @param {SweetAlertOptions['backdrop']} backdrop\n */\n\n\n function handleBackdropParam(container, backdrop) {\n if (typeof backdrop === 'string') {\n container.style.background = backdrop;\n } else if (!backdrop) {\n addClass([document.documentElement, document.body], swalClasses['no-backdrop']);\n }\n }\n /**\n * @param {HTMLElement} container\n * @param {SweetAlertOptions['position']} position\n */\n\n\n function handlePositionParam(container, position) {\n if (position in swalClasses) {\n addClass(container, swalClasses[position]);\n } else {\n warn('The \"position\" parameter is not valid, defaulting to \"center\"');\n addClass(container, swalClasses.center);\n }\n }\n /**\n * @param {HTMLElement} container\n * @param {SweetAlertOptions['grow']} grow\n */\n\n\n function handleGrowParam(container, grow) {\n if (grow && typeof grow === 'string') {\n const growClass = `grow-${grow}`;\n\n if (growClass in swalClasses) {\n addClass(container, swalClasses[growClass]);\n }\n }\n } /// \n\n /** @type {InputClass[]} */\n\n\n const inputClasses = ['input', 'file', 'range', 'select', 'radio', 'checkbox', 'textarea'];\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n\n const renderInput = (instance, params) => {\n const popup = getPopup();\n const innerParams = privateProps.innerParams.get(instance);\n const rerender = !innerParams || params.input !== innerParams.input;\n inputClasses.forEach(inputClass => {\n const inputContainer = getDirectChildByClass(popup, swalClasses[inputClass]); // set attributes\n\n setAttributes(inputClass, params.inputAttributes); // set class\n\n inputContainer.className = swalClasses[inputClass];\n\n if (rerender) {\n hide(inputContainer);\n }\n });\n\n if (params.input) {\n if (rerender) {\n showInput(params);\n } // set custom class\n\n\n setCustomClass(params);\n }\n };\n /**\n * @param {SweetAlertOptions} params\n */\n\n\n const showInput = params => {\n if (!renderInputType[params.input]) {\n error(`Unexpected type of input! Expected \"text\", \"email\", \"password\", \"number\", \"tel\", \"select\", \"radio\", \"checkbox\", \"textarea\", \"file\" or \"url\", got \"${params.input}\"`);\n return;\n }\n\n const inputContainer = getInputContainer(params.input);\n const input = renderInputType[params.input](inputContainer, params);\n show(inputContainer); // input autofocus\n\n if (params.inputAutoFocus) {\n setTimeout(() => {\n focusInput(input);\n });\n }\n };\n /**\n * @param {HTMLInputElement} input\n */\n\n\n const removeAttributes = input => {\n for (let i = 0; i < input.attributes.length; i++) {\n const attrName = input.attributes[i].name;\n\n if (!['type', 'value', 'style'].includes(attrName)) {\n input.removeAttribute(attrName);\n }\n }\n };\n /**\n * @param {InputClass} inputClass\n * @param {SweetAlertOptions['inputAttributes']} inputAttributes\n */\n\n\n const setAttributes = (inputClass, inputAttributes) => {\n const input = getInput$1(getPopup(), inputClass);\n\n if (!input) {\n return;\n }\n\n removeAttributes(input);\n\n for (const attr in inputAttributes) {\n input.setAttribute(attr, inputAttributes[attr]);\n }\n };\n /**\n * @param {SweetAlertOptions} params\n */\n\n\n const setCustomClass = params => {\n const inputContainer = getInputContainer(params.input);\n\n if (typeof params.customClass === 'object') {\n addClass(inputContainer, params.customClass.input);\n }\n };\n /**\n * @param {HTMLInputElement | HTMLTextAreaElement} input\n * @param {SweetAlertOptions} params\n */\n\n\n const setInputPlaceholder = (input, params) => {\n if (!input.placeholder || params.inputPlaceholder) {\n input.placeholder = params.inputPlaceholder;\n }\n };\n /**\n * @param {Input} input\n * @param {Input} prependTo\n * @param {SweetAlertOptions} params\n */\n\n\n const setInputLabel = (input, prependTo, params) => {\n if (params.inputLabel) {\n input.id = swalClasses.input;\n const label = document.createElement('label');\n const labelClass = swalClasses['input-label'];\n label.setAttribute('for', input.id);\n label.className = labelClass;\n\n if (typeof params.customClass === 'object') {\n addClass(label, params.customClass.inputLabel);\n }\n\n label.innerText = params.inputLabel;\n prependTo.insertAdjacentElement('beforebegin', label);\n }\n };\n /**\n * @param {SweetAlertOptions['input']} inputType\n * @returns {HTMLElement}\n */\n\n\n const getInputContainer = inputType => {\n return getDirectChildByClass(getPopup(), swalClasses[inputType] || swalClasses.input);\n };\n /**\n * @param {HTMLInputElement | HTMLOutputElement | HTMLTextAreaElement} input\n * @param {SweetAlertOptions['inputValue']} inputValue\n */\n\n\n const checkAndSetInputValue = (input, inputValue) => {\n if (['string', 'number'].includes(typeof inputValue)) {\n input.value = `${inputValue}`;\n } else if (!isPromise(inputValue)) {\n warn(`Unexpected type of inputValue! Expected \"string\", \"number\" or \"Promise\", got \"${typeof inputValue}\"`);\n }\n };\n /** @type {Record Input>} */\n\n\n const renderInputType = {};\n /**\n * @param {HTMLInputElement} input\n * @param {SweetAlertOptions} params\n * @returns {HTMLInputElement}\n */\n\n renderInputType.text = renderInputType.email = renderInputType.password = renderInputType.number = renderInputType.tel = renderInputType.url = (input, params) => {\n checkAndSetInputValue(input, params.inputValue);\n setInputLabel(input, input, params);\n setInputPlaceholder(input, params);\n input.type = params.input;\n return input;\n };\n /**\n * @param {HTMLInputElement} input\n * @param {SweetAlertOptions} params\n * @returns {HTMLInputElement}\n */\n\n\n renderInputType.file = (input, params) => {\n setInputLabel(input, input, params);\n setInputPlaceholder(input, params);\n return input;\n };\n /**\n * @param {HTMLInputElement} range\n * @param {SweetAlertOptions} params\n * @returns {HTMLInputElement}\n */\n\n\n renderInputType.range = (range, params) => {\n const rangeInput = range.querySelector('input');\n const rangeOutput = range.querySelector('output');\n checkAndSetInputValue(rangeInput, params.inputValue);\n rangeInput.type = params.input;\n checkAndSetInputValue(rangeOutput, params.inputValue);\n setInputLabel(rangeInput, range, params);\n return range;\n };\n /**\n * @param {HTMLSelectElement} select\n * @param {SweetAlertOptions} params\n * @returns {HTMLSelectElement}\n */\n\n\n renderInputType.select = (select, params) => {\n select.textContent = '';\n\n if (params.inputPlaceholder) {\n const placeholder = document.createElement('option');\n setInnerHtml(placeholder, params.inputPlaceholder);\n placeholder.value = '';\n placeholder.disabled = true;\n placeholder.selected = true;\n select.appendChild(placeholder);\n }\n\n setInputLabel(select, select, params);\n return select;\n };\n /**\n * @param {HTMLInputElement} radio\n * @returns {HTMLInputElement}\n */\n\n\n renderInputType.radio = radio => {\n radio.textContent = '';\n return radio;\n };\n /**\n * @param {HTMLLabelElement} checkboxContainer\n * @param {SweetAlertOptions} params\n * @returns {HTMLInputElement}\n */\n\n\n renderInputType.checkbox = (checkboxContainer, params) => {\n const checkbox = getInput$1(getPopup(), 'checkbox');\n checkbox.value = '1';\n checkbox.id = swalClasses.checkbox;\n checkbox.checked = Boolean(params.inputValue);\n const label = checkboxContainer.querySelector('span');\n setInnerHtml(label, params.inputPlaceholder);\n return checkbox;\n };\n /**\n * @param {HTMLTextAreaElement} textarea\n * @param {SweetAlertOptions} params\n * @returns {HTMLTextAreaElement}\n */\n\n\n renderInputType.textarea = (textarea, params) => {\n checkAndSetInputValue(textarea, params.inputValue);\n setInputPlaceholder(textarea, params);\n setInputLabel(textarea, textarea, params);\n /**\n * @param {HTMLElement} el\n * @returns {number}\n */\n\n const getMargin = el => parseInt(window.getComputedStyle(el).marginLeft) + parseInt(window.getComputedStyle(el).marginRight); // https://github.com/sweetalert2/sweetalert2/issues/2291\n\n\n setTimeout(() => {\n // https://github.com/sweetalert2/sweetalert2/issues/1699\n if ('MutationObserver' in window) {\n const initialPopupWidth = parseInt(window.getComputedStyle(getPopup()).width);\n\n const textareaResizeHandler = () => {\n const textareaWidth = textarea.offsetWidth + getMargin(textarea);\n\n if (textareaWidth > initialPopupWidth) {\n getPopup().style.width = `${textareaWidth}px`;\n } else {\n getPopup().style.width = null;\n }\n };\n\n new MutationObserver(textareaResizeHandler).observe(textarea, {\n attributes: true,\n attributeFilter: ['style']\n });\n }\n });\n return textarea;\n };\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n\n\n const renderContent = (instance, params) => {\n const htmlContainer = getHtmlContainer();\n applyCustomClass(htmlContainer, params, 'htmlContainer'); // Content as HTML\n\n if (params.html) {\n parseHtmlToContainer(params.html, htmlContainer);\n show(htmlContainer, 'block');\n } // Content as plain text\n else if (params.text) {\n htmlContainer.textContent = params.text;\n show(htmlContainer, 'block');\n } // No content\n else {\n hide(htmlContainer);\n }\n\n renderInput(instance, params);\n };\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n\n\n const renderFooter = (instance, params) => {\n const footer = getFooter();\n\n if (!footer) {\n return;\n }\n\n toggle(footer, params.footer);\n\n if (params.footer) {\n parseHtmlToContainer(params.footer, footer);\n } // Custom class\n\n\n applyCustomClass(footer, params, 'footer');\n };\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n\n\n const renderIcon = (instance, params) => {\n const innerParams = privateProps.innerParams.get(instance);\n const icon = getIcon(); // if the given icon already rendered, apply the styling without re-rendering the icon\n\n if (innerParams && params.icon === innerParams.icon) {\n // Custom or default content\n setContent(icon, params);\n applyStyles(icon, params);\n return;\n }\n\n if (!params.icon && !params.iconHtml) {\n hide(icon);\n return;\n }\n\n if (params.icon && Object.keys(iconTypes).indexOf(params.icon) === -1) {\n error(`Unknown icon! Expected \"success\", \"error\", \"warning\", \"info\" or \"question\", got \"${params.icon}\"`);\n hide(icon);\n return;\n }\n\n show(icon); // Custom or default content\n\n setContent(icon, params);\n applyStyles(icon, params); // Animate icon\n\n addClass(icon, params.showClass.icon);\n };\n /**\n * @param {HTMLElement} icon\n * @param {SweetAlertOptions} params\n */\n\n\n const applyStyles = (icon, params) => {\n for (const iconType in iconTypes) {\n if (params.icon !== iconType) {\n removeClass(icon, iconTypes[iconType]);\n }\n }\n\n addClass(icon, iconTypes[params.icon]); // Icon color\n\n setColor(icon, params); // Success icon background color\n\n adjustSuccessIconBackgroundColor(); // Custom class\n\n applyCustomClass(icon, params, 'icon');\n }; // Adjust success icon background color to match the popup background color\n\n\n const adjustSuccessIconBackgroundColor = () => {\n const popup = getPopup();\n const popupBackgroundColor = window.getComputedStyle(popup).getPropertyValue('background-color');\n /** @type {NodeListOf} */\n\n const successIconParts = popup.querySelectorAll('[class^=swal2-success-circular-line], .swal2-success-fix');\n\n for (let i = 0; i < successIconParts.length; i++) {\n successIconParts[i].style.backgroundColor = popupBackgroundColor;\n }\n };\n\n const successIconHtml = `\n
    \n \n
    \n
    \n`;\n const errorIconHtml = `\n \n \n \n \n`;\n /**\n * @param {HTMLElement} icon\n * @param {SweetAlertOptions} params\n */\n\n const setContent = (icon, params) => {\n let oldContent = icon.innerHTML;\n let newContent;\n\n if (params.iconHtml) {\n newContent = iconContent(params.iconHtml);\n } else if (params.icon === 'success') {\n newContent = successIconHtml;\n oldContent = oldContent.replace(/ style=\".*?\"/g, ''); // undo adjustSuccessIconBackgroundColor()\n } else if (params.icon === 'error') {\n newContent = errorIconHtml;\n } else {\n const defaultIconHtml = {\n question: '?',\n warning: '!',\n info: 'i'\n };\n newContent = iconContent(defaultIconHtml[params.icon]);\n }\n\n if (oldContent.trim() !== newContent.trim()) {\n setInnerHtml(icon, newContent);\n }\n };\n /**\n * @param {HTMLElement} icon\n * @param {SweetAlertOptions} params\n */\n\n\n const setColor = (icon, params) => {\n if (!params.iconColor) {\n return;\n }\n\n icon.style.color = params.iconColor;\n icon.style.borderColor = params.iconColor;\n\n for (const sel of ['.swal2-success-line-tip', '.swal2-success-line-long', '.swal2-x-mark-line-left', '.swal2-x-mark-line-right']) {\n setStyle(icon, sel, 'backgroundColor', params.iconColor);\n }\n\n setStyle(icon, '.swal2-success-ring', 'borderColor', params.iconColor);\n };\n /**\n * @param {string} content\n * @returns {string}\n */\n\n\n const iconContent = content => `
    ${content}
    `;\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n\n\n const renderImage = (instance, params) => {\n const image = getImage();\n\n if (!image) {\n return;\n }\n\n if (!params.imageUrl) {\n hide(image);\n return;\n }\n\n show(image, ''); // Src, alt\n\n image.setAttribute('src', params.imageUrl);\n image.setAttribute('alt', params.imageAlt || ''); // Width, height\n\n applyNumericalStyle(image, 'width', params.imageWidth);\n applyNumericalStyle(image, 'height', params.imageHeight); // Class\n\n image.className = swalClasses.image;\n applyCustomClass(image, params, 'image');\n };\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n\n\n const renderPopup = (instance, params) => {\n const container = getContainer();\n const popup = getPopup();\n\n if (!container || !popup) {\n return;\n } // Width\n // https://github.com/sweetalert2/sweetalert2/issues/2170\n\n\n if (params.toast) {\n applyNumericalStyle(container, 'width', params.width);\n popup.style.width = '100%';\n const loader = getLoader();\n loader && popup.insertBefore(loader, getIcon());\n } else {\n applyNumericalStyle(popup, 'width', params.width);\n } // Padding\n\n\n applyNumericalStyle(popup, 'padding', params.padding); // Color\n\n if (params.color) {\n popup.style.color = params.color;\n } // Background\n\n\n if (params.background) {\n popup.style.background = params.background;\n }\n\n hide(getValidationMessage()); // Classes\n\n addClasses$1(popup, params);\n };\n /**\n * @param {HTMLElement} popup\n * @param {SweetAlertOptions} params\n */\n\n\n const addClasses$1 = (popup, params) => {\n const showClass = params.showClass || {}; // Default Class + showClass when updating Swal.update({})\n\n popup.className = `${swalClasses.popup} ${isVisible$1(popup) ? showClass.popup : ''}`;\n\n if (params.toast) {\n addClass([document.documentElement, document.body], swalClasses['toast-shown']);\n addClass(popup, swalClasses.toast);\n } else {\n addClass(popup, swalClasses.modal);\n } // Custom class\n\n\n applyCustomClass(popup, params, 'popup');\n\n if (typeof params.customClass === 'string') {\n addClass(popup, params.customClass);\n } // Icon class (#1842)\n\n\n if (params.icon) {\n addClass(popup, swalClasses[`icon-${params.icon}`]);\n }\n };\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n\n\n const renderProgressSteps = (instance, params) => {\n const progressStepsContainer = getProgressSteps();\n\n if (!progressStepsContainer) {\n return;\n }\n\n const progressSteps = params.progressSteps,\n currentProgressStep = params.currentProgressStep;\n\n if (!progressSteps || progressSteps.length === 0 || currentProgressStep === undefined) {\n hide(progressStepsContainer);\n return;\n }\n\n show(progressStepsContainer);\n progressStepsContainer.textContent = '';\n\n if (currentProgressStep >= progressSteps.length) {\n warn('Invalid currentProgressStep parameter, it should be less than progressSteps.length ' + '(currentProgressStep like JS arrays starts from 0)');\n }\n\n progressSteps.forEach((step, index) => {\n const stepEl = createStepElement(step);\n progressStepsContainer.appendChild(stepEl);\n\n if (index === currentProgressStep) {\n addClass(stepEl, swalClasses['active-progress-step']);\n }\n\n if (index !== progressSteps.length - 1) {\n const lineEl = createLineElement(params);\n progressStepsContainer.appendChild(lineEl);\n }\n });\n };\n /**\n * @param {string} step\n * @returns {HTMLLIElement}\n */\n\n\n const createStepElement = step => {\n const stepEl = document.createElement('li');\n addClass(stepEl, swalClasses['progress-step']);\n setInnerHtml(stepEl, step);\n return stepEl;\n };\n /**\n * @param {SweetAlertOptions} params\n * @returns {HTMLLIElement}\n */\n\n\n const createLineElement = params => {\n const lineEl = document.createElement('li');\n addClass(lineEl, swalClasses['progress-step-line']);\n\n if (params.progressStepsDistance) {\n applyNumericalStyle(lineEl, 'width', params.progressStepsDistance);\n }\n\n return lineEl;\n };\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n\n\n const renderTitle = (instance, params) => {\n const title = getTitle();\n\n if (!title) {\n return;\n }\n\n toggle(title, params.title || params.titleText, 'block');\n\n if (params.title) {\n parseHtmlToContainer(params.title, title);\n }\n\n if (params.titleText) {\n title.innerText = params.titleText;\n } // Custom class\n\n\n applyCustomClass(title, params, 'title');\n };\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n\n\n const render = (instance, params) => {\n renderPopup(instance, params);\n renderContainer(instance, params);\n renderProgressSteps(instance, params);\n renderIcon(instance, params);\n renderImage(instance, params);\n renderTitle(instance, params);\n renderCloseButton(instance, params);\n renderContent(instance, params);\n renderActions(instance, params);\n renderFooter(instance, params);\n\n if (typeof params.didRender === 'function') {\n params.didRender(getPopup());\n }\n };\n /*\n * Global function to determine if SweetAlert2 popup is shown\n */\n\n\n const isVisible = () => {\n return isVisible$1(getPopup());\n };\n /*\n * Global function to click 'Confirm' button\n */\n\n\n const clickConfirm = () => getConfirmButton() && getConfirmButton().click();\n /*\n * Global function to click 'Deny' button\n */\n\n\n const clickDeny = () => getDenyButton() && getDenyButton().click();\n /*\n * Global function to click 'Cancel' button\n */\n\n\n const clickCancel = () => getCancelButton() && getCancelButton().click();\n /** @typedef {'cancel' | 'backdrop' | 'close' | 'esc' | 'timer'} DismissReason */\n\n /** @type {Record} */\n\n\n const DismissReason = Object.freeze({\n cancel: 'cancel',\n backdrop: 'backdrop',\n close: 'close',\n esc: 'esc',\n timer: 'timer'\n });\n /**\n * @param {GlobalState} globalState\n */\n\n const removeKeydownHandler = globalState => {\n if (globalState.keydownTarget && globalState.keydownHandlerAdded) {\n globalState.keydownTarget.removeEventListener('keydown', globalState.keydownHandler, {\n capture: globalState.keydownListenerCapture\n });\n globalState.keydownHandlerAdded = false;\n }\n };\n /**\n * @param {SweetAlert} instance\n * @param {GlobalState} globalState\n * @param {SweetAlertOptions} innerParams\n * @param {*} dismissWith\n */\n\n\n const addKeydownHandler = (instance, globalState, innerParams, dismissWith) => {\n removeKeydownHandler(globalState);\n\n if (!innerParams.toast) {\n globalState.keydownHandler = e => keydownHandler(instance, e, dismissWith);\n\n globalState.keydownTarget = innerParams.keydownListenerCapture ? window : getPopup();\n globalState.keydownListenerCapture = innerParams.keydownListenerCapture;\n globalState.keydownTarget.addEventListener('keydown', globalState.keydownHandler, {\n capture: globalState.keydownListenerCapture\n });\n globalState.keydownHandlerAdded = true;\n }\n };\n /**\n * @param {number} index\n * @param {number} increment\n */\n\n\n const setFocus = (index, increment) => {\n const focusableElements = getFocusableElements(); // search for visible elements and select the next possible match\n\n if (focusableElements.length) {\n index = index + increment; // rollover to first item\n\n if (index === focusableElements.length) {\n index = 0; // go to last item\n } else if (index === -1) {\n index = focusableElements.length - 1;\n }\n\n focusableElements[index].focus();\n return;\n } // no visible focusable elements, focus the popup\n\n\n getPopup().focus();\n };\n\n const arrowKeysNextButton = ['ArrowRight', 'ArrowDown'];\n const arrowKeysPreviousButton = ['ArrowLeft', 'ArrowUp'];\n /**\n * @param {SweetAlert} instance\n * @param {KeyboardEvent} event\n * @param {Function} dismissWith\n */\n\n const keydownHandler = (instance, event, dismissWith) => {\n const innerParams = privateProps.innerParams.get(instance);\n\n if (!innerParams) {\n return; // This instance has already been destroyed\n } // Ignore keydown during IME composition\n // https://developer.mozilla.org/en-US/docs/Web/API/Document/keydown_event#ignoring_keydown_during_ime_composition\n // https://github.com/sweetalert2/sweetalert2/issues/720\n // https://github.com/sweetalert2/sweetalert2/issues/2406\n\n\n if (event.isComposing || event.keyCode === 229) {\n return;\n }\n\n if (innerParams.stopKeydownPropagation) {\n event.stopPropagation();\n } // ENTER\n\n\n if (event.key === 'Enter') {\n handleEnter(instance, event, innerParams);\n } // TAB\n else if (event.key === 'Tab') {\n handleTab(event);\n } // ARROWS - switch focus between buttons\n else if ([...arrowKeysNextButton, ...arrowKeysPreviousButton].includes(event.key)) {\n handleArrows(event.key);\n } // ESC\n else if (event.key === 'Escape') {\n handleEsc(event, innerParams, dismissWith);\n }\n };\n /**\n * @param {SweetAlert} instance\n * @param {KeyboardEvent} event\n * @param {SweetAlertOptions} innerParams\n */\n\n\n const handleEnter = (instance, event, innerParams) => {\n // https://github.com/sweetalert2/sweetalert2/issues/2386\n if (!callIfFunction(innerParams.allowEnterKey)) {\n return;\n }\n\n if (event.target && instance.getInput() && event.target instanceof HTMLElement && event.target.outerHTML === instance.getInput().outerHTML) {\n if (['textarea', 'file'].includes(innerParams.input)) {\n return; // do not submit\n }\n\n clickConfirm();\n event.preventDefault();\n }\n };\n /**\n * @param {KeyboardEvent} event\n */\n\n\n const handleTab = event => {\n const targetElement = event.target;\n const focusableElements = getFocusableElements();\n let btnIndex = -1;\n\n for (let i = 0; i < focusableElements.length; i++) {\n if (targetElement === focusableElements[i]) {\n btnIndex = i;\n break;\n }\n } // Cycle to the next button\n\n\n if (!event.shiftKey) {\n setFocus(btnIndex, 1);\n } // Cycle to the prev button\n else {\n setFocus(btnIndex, -1);\n }\n\n event.stopPropagation();\n event.preventDefault();\n };\n /**\n * @param {string} key\n */\n\n\n const handleArrows = key => {\n const confirmButton = getConfirmButton();\n const denyButton = getDenyButton();\n const cancelButton = getCancelButton();\n /** @type HTMLElement[] */\n\n const buttons = [confirmButton, denyButton, cancelButton];\n\n if (document.activeElement instanceof HTMLElement && !buttons.includes(document.activeElement)) {\n return;\n }\n\n const sibling = arrowKeysNextButton.includes(key) ? 'nextElementSibling' : 'previousElementSibling';\n let buttonToFocus = document.activeElement;\n\n for (let i = 0; i < getActions().children.length; i++) {\n buttonToFocus = buttonToFocus[sibling];\n\n if (!buttonToFocus) {\n return;\n }\n\n if (buttonToFocus instanceof HTMLButtonElement && isVisible$1(buttonToFocus)) {\n break;\n }\n }\n\n if (buttonToFocus instanceof HTMLButtonElement) {\n buttonToFocus.focus();\n }\n };\n /**\n * @param {KeyboardEvent} event\n * @param {SweetAlertOptions} innerParams\n * @param {Function} dismissWith\n */\n\n\n const handleEsc = (event, innerParams, dismissWith) => {\n if (callIfFunction(innerParams.allowEscapeKey)) {\n event.preventDefault();\n dismissWith(DismissReason.esc);\n }\n };\n /**\n * This module contains `WeakMap`s for each effectively-\"private property\" that a `Swal` has.\n * For example, to set the private property \"foo\" of `this` to \"bar\", you can `privateProps.foo.set(this, 'bar')`\n * This is the approach that Babel will probably take to implement private methods/fields\n * https://github.com/tc39/proposal-private-methods\n * https://github.com/babel/babel/pull/7555\n * Once we have the changes from that PR in Babel, and our core class fits reasonable in *one module*\n * then we can use that language feature.\n */\n\n\n var privateMethods = {\n swalPromiseResolve: new WeakMap(),\n swalPromiseReject: new WeakMap()\n }; // From https://developer.paciellogroup.com/blog/2018/06/the-current-state-of-modal-dialog-accessibility/\n // Adding aria-hidden=\"true\" to elements outside of the active modal dialog ensures that\n // elements not within the active modal dialog will not be surfaced if a user opens a screen\n // reader’s list of elements (headings, form controls, landmarks, etc.) in the document.\n\n const setAriaHidden = () => {\n const bodyChildren = Array.from(document.body.children);\n bodyChildren.forEach(el => {\n if (el === getContainer() || el.contains(getContainer())) {\n return;\n }\n\n if (el.hasAttribute('aria-hidden')) {\n el.setAttribute('data-previous-aria-hidden', el.getAttribute('aria-hidden'));\n }\n\n el.setAttribute('aria-hidden', 'true');\n });\n };\n\n const unsetAriaHidden = () => {\n const bodyChildren = Array.from(document.body.children);\n bodyChildren.forEach(el => {\n if (el.hasAttribute('data-previous-aria-hidden')) {\n el.setAttribute('aria-hidden', el.getAttribute('data-previous-aria-hidden'));\n el.removeAttribute('data-previous-aria-hidden');\n } else {\n el.removeAttribute('aria-hidden');\n }\n });\n };\n /* istanbul ignore file */\n // Fix iOS scrolling http://stackoverflow.com/q/39626302\n\n\n const iOSfix = () => {\n const iOS = // @ts-ignore\n /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream || navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1;\n\n if (iOS && !hasClass(document.body, swalClasses.iosfix)) {\n const offset = document.body.scrollTop;\n document.body.style.top = `${offset * -1}px`;\n addClass(document.body, swalClasses.iosfix);\n lockBodyScroll();\n addBottomPaddingForTallPopups();\n }\n };\n /**\n * https://github.com/sweetalert2/sweetalert2/issues/1948\n */\n\n\n const addBottomPaddingForTallPopups = () => {\n const ua = navigator.userAgent;\n const iOS = !!ua.match(/iPad/i) || !!ua.match(/iPhone/i);\n const webkit = !!ua.match(/WebKit/i);\n const iOSSafari = iOS && webkit && !ua.match(/CriOS/i);\n\n if (iOSSafari) {\n const bottomPanelHeight = 44;\n\n if (getPopup().scrollHeight > window.innerHeight - bottomPanelHeight) {\n getContainer().style.paddingBottom = `${bottomPanelHeight}px`;\n }\n }\n };\n /**\n * https://github.com/sweetalert2/sweetalert2/issues/1246\n */\n\n\n const lockBodyScroll = () => {\n const container = getContainer();\n let preventTouchMove;\n /**\n * @param {TouchEvent} event\n */\n\n container.ontouchstart = event => {\n preventTouchMove = shouldPreventTouchMove(event);\n };\n /**\n * @param {TouchEvent} event\n */\n\n\n container.ontouchmove = event => {\n if (preventTouchMove) {\n event.preventDefault();\n event.stopPropagation();\n }\n };\n };\n /**\n * @param {TouchEvent} event\n * @returns {boolean}\n */\n\n\n const shouldPreventTouchMove = event => {\n const target = event.target;\n const container = getContainer();\n\n if (isStylus(event) || isZoom(event)) {\n return false;\n }\n\n if (target === container) {\n return true;\n }\n\n if (!isScrollable(container) && target instanceof HTMLElement && target.tagName !== 'INPUT' && // #1603\n target.tagName !== 'TEXTAREA' && // #2266\n !(isScrollable(getHtmlContainer()) && // #1944\n getHtmlContainer().contains(target))) {\n return true;\n }\n\n return false;\n };\n /**\n * https://github.com/sweetalert2/sweetalert2/issues/1786\n *\n * @param {*} event\n * @returns {boolean}\n */\n\n\n const isStylus = event => {\n return event.touches && event.touches.length && event.touches[0].touchType === 'stylus';\n };\n /**\n * https://github.com/sweetalert2/sweetalert2/issues/1891\n *\n * @param {TouchEvent} event\n * @returns {boolean}\n */\n\n\n const isZoom = event => {\n return event.touches && event.touches.length > 1;\n };\n\n const undoIOSfix = () => {\n if (hasClass(document.body, swalClasses.iosfix)) {\n const offset = parseInt(document.body.style.top, 10);\n removeClass(document.body, swalClasses.iosfix);\n document.body.style.top = '';\n document.body.scrollTop = offset * -1;\n }\n };\n /**\n * Measure scrollbar width for padding body during modal show/hide\n * https://github.com/twbs/bootstrap/blob/master/js/src/modal.js\n *\n * @returns {number}\n */\n\n\n const measureScrollbar = () => {\n const scrollDiv = document.createElement('div');\n scrollDiv.className = swalClasses['scrollbar-measure'];\n document.body.appendChild(scrollDiv);\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n return scrollbarWidth;\n };\n /**\n * Remember state in cases where opening and handling a modal will fiddle with it.\n * @type {number | null}\n */\n\n\n let previousBodyPadding = null;\n\n const fixScrollbar = () => {\n // for queues, do not do this more than once\n if (previousBodyPadding !== null) {\n return;\n } // if the body has overflow\n\n\n if (document.body.scrollHeight > window.innerHeight) {\n // add padding so the content doesn't shift after removal of scrollbar\n previousBodyPadding = parseInt(window.getComputedStyle(document.body).getPropertyValue('padding-right'));\n document.body.style.paddingRight = `${previousBodyPadding + measureScrollbar()}px`;\n }\n };\n\n const undoScrollbar = () => {\n if (previousBodyPadding !== null) {\n document.body.style.paddingRight = `${previousBodyPadding}px`;\n previousBodyPadding = null;\n }\n };\n /**\n * @param {SweetAlert} instance\n * @param {HTMLElement} container\n * @param {boolean} returnFocus\n * @param {Function} didClose\n */\n\n\n function removePopupAndResetState(instance, container, returnFocus, didClose) {\n if (isToast()) {\n triggerDidCloseAndDispose(instance, didClose);\n } else {\n restoreActiveElement(returnFocus).then(() => triggerDidCloseAndDispose(instance, didClose));\n removeKeydownHandler(globalState);\n }\n\n const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent); // workaround for #2088\n // for some reason removing the container in Safari will scroll the document to bottom\n\n if (isSafari) {\n container.setAttribute('style', 'display:none !important');\n container.removeAttribute('class');\n container.innerHTML = '';\n } else {\n container.remove();\n }\n\n if (isModal()) {\n undoScrollbar();\n undoIOSfix();\n unsetAriaHidden();\n }\n\n removeBodyClasses();\n }\n /**\n * Remove SweetAlert2 classes from body\n */\n\n\n function removeBodyClasses() {\n removeClass([document.documentElement, document.body], [swalClasses.shown, swalClasses['height-auto'], swalClasses['no-backdrop'], swalClasses['toast-shown']]);\n }\n /**\n * Instance method to close sweetAlert\n *\n * @param {any} resolveValue\n */\n\n\n function close(resolveValue) {\n resolveValue = prepareResolveValue(resolveValue);\n const swalPromiseResolve = privateMethods.swalPromiseResolve.get(this);\n const didClose = triggerClosePopup(this);\n\n if (this.isAwaitingPromise) {\n // A swal awaiting for a promise (after a click on Confirm or Deny) cannot be dismissed anymore #2335\n if (!resolveValue.isDismissed) {\n handleAwaitingPromise(this);\n swalPromiseResolve(resolveValue);\n }\n } else if (didClose) {\n // Resolve Swal promise\n swalPromiseResolve(resolveValue);\n }\n }\n\n const triggerClosePopup = instance => {\n const popup = getPopup();\n\n if (!popup) {\n return false;\n }\n\n const innerParams = privateProps.innerParams.get(instance);\n\n if (!innerParams || hasClass(popup, innerParams.hideClass.popup)) {\n return false;\n }\n\n removeClass(popup, innerParams.showClass.popup);\n addClass(popup, innerParams.hideClass.popup);\n const backdrop = getContainer();\n removeClass(backdrop, innerParams.showClass.backdrop);\n addClass(backdrop, innerParams.hideClass.backdrop);\n handlePopupAnimation(instance, popup, innerParams);\n return true;\n };\n /**\n * @param {any} error\n */\n\n\n function rejectPromise(error) {\n const rejectPromise = privateMethods.swalPromiseReject.get(this);\n handleAwaitingPromise(this);\n\n if (rejectPromise) {\n // Reject Swal promise\n rejectPromise(error);\n }\n }\n /**\n * @param {SweetAlert} instance\n */\n\n\n const handleAwaitingPromise = instance => {\n if (instance.isAwaitingPromise) {\n delete instance.isAwaitingPromise; // The instance might have been previously partly destroyed, we must resume the destroy process in this case #2335\n\n if (!privateProps.innerParams.get(instance)) {\n instance._destroy();\n }\n }\n };\n /**\n * @param {any} resolveValue\n * @returns {SweetAlertResult}\n */\n\n\n const prepareResolveValue = resolveValue => {\n // When user calls Swal.close()\n if (typeof resolveValue === 'undefined') {\n return {\n isConfirmed: false,\n isDenied: false,\n isDismissed: true\n };\n }\n\n return Object.assign({\n isConfirmed: false,\n isDenied: false,\n isDismissed: false\n }, resolveValue);\n };\n /**\n * @param {SweetAlert} instance\n * @param {HTMLElement} popup\n * @param {SweetAlertOptions} innerParams\n */\n\n\n const handlePopupAnimation = (instance, popup, innerParams) => {\n const container = getContainer(); // If animation is supported, animate\n\n const animationIsSupported = animationEndEvent && hasCssAnimation(popup);\n\n if (typeof innerParams.willClose === 'function') {\n innerParams.willClose(popup);\n }\n\n if (animationIsSupported) {\n animatePopup(instance, popup, container, innerParams.returnFocus, innerParams.didClose);\n } else {\n // Otherwise, remove immediately\n removePopupAndResetState(instance, container, innerParams.returnFocus, innerParams.didClose);\n }\n };\n /**\n * @param {SweetAlert} instance\n * @param {HTMLElement} popup\n * @param {HTMLElement} container\n * @param {boolean} returnFocus\n * @param {Function} didClose\n */\n\n\n const animatePopup = (instance, popup, container, returnFocus, didClose) => {\n globalState.swalCloseEventFinishedCallback = removePopupAndResetState.bind(null, instance, container, returnFocus, didClose);\n popup.addEventListener(animationEndEvent, function (e) {\n if (e.target === popup) {\n globalState.swalCloseEventFinishedCallback();\n delete globalState.swalCloseEventFinishedCallback;\n }\n });\n };\n /**\n * @param {SweetAlert} instance\n * @param {Function} didClose\n */\n\n\n const triggerDidCloseAndDispose = (instance, didClose) => {\n setTimeout(() => {\n if (typeof didClose === 'function') {\n didClose.bind(instance.params)();\n } // instance might have been destroyed already\n\n\n if (instance._destroy) {\n instance._destroy();\n }\n });\n };\n /**\n * Shows loader (spinner), this is useful with AJAX requests.\n * By default the loader be shown instead of the \"Confirm\" button.\n *\n * @param {HTMLButtonElement} [buttonToReplace]\n */\n\n\n const showLoading = buttonToReplace => {\n let popup = getPopup();\n\n if (!popup) {\n new Swal(); // eslint-disable-line no-new\n }\n\n popup = getPopup();\n const loader = getLoader();\n\n if (isToast()) {\n hide(getIcon());\n } else {\n replaceButton(popup, buttonToReplace);\n }\n\n show(loader);\n popup.setAttribute('data-loading', 'true');\n popup.setAttribute('aria-busy', 'true');\n popup.focus();\n };\n /**\n * @param {HTMLElement} popup\n * @param {HTMLButtonElement} [buttonToReplace]\n */\n\n\n const replaceButton = (popup, buttonToReplace) => {\n const actions = getActions();\n const loader = getLoader();\n\n if (!buttonToReplace && isVisible$1(getConfirmButton())) {\n buttonToReplace = getConfirmButton();\n }\n\n show(actions);\n\n if (buttonToReplace) {\n hide(buttonToReplace);\n loader.setAttribute('data-button-to-replace', buttonToReplace.className);\n }\n\n loader.parentNode.insertBefore(loader, buttonToReplace);\n addClass([popup, actions], swalClasses.loading);\n };\n /**\n * @typedef { string | number | boolean } InputValue\n */\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n\n\n const handleInputOptionsAndValue = (instance, params) => {\n if (params.input === 'select' || params.input === 'radio') {\n handleInputOptions(instance, params);\n } else if (['text', 'email', 'number', 'tel', 'textarea'].includes(params.input) && (hasToPromiseFn(params.inputValue) || isPromise(params.inputValue))) {\n showLoading(getConfirmButton());\n handleInputValue(instance, params);\n }\n };\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} innerParams\n * @returns {string | number | File | FileList | null}\n */\n\n\n const getInputValue = (instance, innerParams) => {\n const input = instance.getInput();\n\n if (!input) {\n return null;\n }\n\n switch (innerParams.input) {\n case 'checkbox':\n return getCheckboxValue(input);\n\n case 'radio':\n return getRadioValue(input);\n\n case 'file':\n return getFileValue(input);\n\n default:\n return innerParams.inputAutoTrim ? input.value.trim() : input.value;\n }\n };\n /**\n * @param {HTMLInputElement} input\n * @returns {number}\n */\n\n\n const getCheckboxValue = input => input.checked ? 1 : 0;\n /**\n * @param {HTMLInputElement} input\n * @returns {string | null}\n */\n\n\n const getRadioValue = input => input.checked ? input.value : null;\n /**\n * @param {HTMLInputElement} input\n * @returns {FileList | File | null}\n */\n\n\n const getFileValue = input => input.files.length ? input.getAttribute('multiple') !== null ? input.files : input.files[0] : null;\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n\n\n const handleInputOptions = (instance, params) => {\n const popup = getPopup();\n /**\n * @param {Record} inputOptions\n */\n\n const processInputOptions = inputOptions => {\n populateInputOptions[params.input](popup, formatInputOptions(inputOptions), params);\n };\n\n if (hasToPromiseFn(params.inputOptions) || isPromise(params.inputOptions)) {\n showLoading(getConfirmButton());\n asPromise(params.inputOptions).then(inputOptions => {\n instance.hideLoading();\n processInputOptions(inputOptions);\n });\n } else if (typeof params.inputOptions === 'object') {\n processInputOptions(params.inputOptions);\n } else {\n error(`Unexpected type of inputOptions! Expected object, Map or Promise, got ${typeof params.inputOptions}`);\n }\n };\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n\n\n const handleInputValue = (instance, params) => {\n const input = instance.getInput();\n hide(input);\n asPromise(params.inputValue).then(inputValue => {\n input.value = params.input === 'number' ? `${parseFloat(inputValue) || 0}` : `${inputValue}`;\n show(input);\n input.focus();\n instance.hideLoading();\n }).catch(err => {\n error(`Error in inputValue promise: ${err}`);\n input.value = '';\n show(input);\n input.focus();\n instance.hideLoading();\n });\n };\n\n const populateInputOptions = {\n /**\n * @param {HTMLElement} popup\n * @param {Record} inputOptions\n * @param {SweetAlertOptions} params\n */\n select: (popup, inputOptions, params) => {\n const select = getDirectChildByClass(popup, swalClasses.select);\n /**\n * @param {HTMLElement} parent\n * @param {string} optionLabel\n * @param {string} optionValue\n */\n\n const renderOption = (parent, optionLabel, optionValue) => {\n const option = document.createElement('option');\n option.value = optionValue;\n setInnerHtml(option, optionLabel);\n option.selected = isSelected(optionValue, params.inputValue);\n parent.appendChild(option);\n };\n\n inputOptions.forEach(inputOption => {\n const optionValue = inputOption[0];\n const optionLabel = inputOption[1]; // spec:\n // https://www.w3.org/TR/html401/interact/forms.html#h-17.6\n // \"...all OPTGROUP elements must be specified directly within a SELECT element (i.e., groups may not be nested)...\"\n // check whether this is a \n\n if (Array.isArray(optionLabel)) {\n // if it is an array, then it is an \n const optgroup = document.createElement('optgroup');\n optgroup.label = optionValue;\n optgroup.disabled = false; // not configurable for now\n\n select.appendChild(optgroup);\n optionLabel.forEach(o => renderOption(optgroup, o[1], o[0]));\n } else {\n // case of