{"version":3,"sources":["../../../../brain/tools/events/EventEmitter.js","../../../../brain/tools/events/DataEvent.js","../../../../brain/tools/utilities/DataUtils.js","../../../../brain/tools/effects/Animate.js","../../../../brain/tools/utilities/StringUtils.js","actions/PostActions.js","../../../../brain/tools/events/EditorEvent.js","../../../../node_modules/tiny-date-picker/dist/tiny-date-picker.js","../../../../brain/tools/utilities/DateUtils.js","../../src/mirror.js","../../src/utils.js","../../src/input.js","../../src/editable.js","../../src/main.js","../../../../brain/tools/ui/TextEditor.js","controllers/PostEditor.js","controllers/DisplayManager.js","../../../../node_modules/argsarray/index.js","../../../../node_modules/immediate/lib/browser.js","../../../../../../.nvm/versions/node/v8.12.0/lib/node_modules/parcel-bundler/node_modules/events/events.js","../../../../node_modules/inherits/inherits_browser.js","../../../../node_modules/spark-md5/spark-md5.js","../../../../node_modules/pouchdb/node_modules/uuid/lib/rng-browser.js","../../../../node_modules/pouchdb/node_modules/uuid/lib/bytesToUuid.js","../../../../node_modules/pouchdb/node_modules/uuid/v1.js","../../../../node_modules/pouchdb/node_modules/uuid/v4.js","../../../../node_modules/pouchdb/node_modules/uuid/index.js","../../../../node_modules/vuvuzela/index.js","../../../../../../.nvm/versions/node/v8.12.0/lib/node_modules/parcel-bundler/node_modules/process/browser.js","../../../../node_modules/pouchdb/lib/index-browser.es.js","Base.js","Start.js"],"names":["EventEmitter","listeners","Map","label","callback","has","set","get","push","isFunction","obj","index","length","reduce","i","listener","splice","args","forEach","REQUEST_GOOD","REQUEST_LAME","IMG_REQUEST_GOOD","IMG_REQUEST_LAME","SETTINGS_LOADED","HTML_LOADED","ARCHIVES_JSON_LOADED","ARCHIVES_PAGE_LOADED","ARCHIVES_ENTRY_LOADED","PROJECT_UPDATED","PROJECT_ADDED","PROJECTS_SORTED","POST_IMAGE_ADDED","POST_ERROR","POST_ADDED","POST_UPDATED","POST_DELETED","DataEvent","REQUEST_TYPE_POST","REQUEST_TYPE_GET","REQUEST_TYPE_PUT","REQUEST_TYPE_DELETE","CONTENT_TYPE_JSON","CONTENT_TYPE_FORM","DataUtils","self","requestURL","eventType","requestType","contentType","requestData","Promise","resolve","reject","request","XMLHttpRequest","upload","onprogress","handleLoadProgress","open","onload","e","status","setRequestHeader","send","JSON","stringify","url","responseType","response","Error","statusText","onerror","src","body","document","querySelector","myImage","Image","crossOrigin","imgLoad","then","imageURL","window","URL","createObjectURL","percentComplete","Math","ceil","loaded","total","Animate","properties","animation","anime","StringUtils","string","clean","replace","toLowerCase","quote_style","optTemp","noquotes","toString","OPTS","concat","ENT_HTML_QUOTE_SINGLE","PostActions","folio","dataUtils","edit","uploadFiles","postData","FormData","files","file","type","match","append","name","txt","createElement","innerHTML","getElementById","value","cleanString","getAttribute","postURL","postEventType","postID","catch","err","EDITOR_DELETE","EDITOR_UPLOAD_POST_IMAGE","EDITOR_SAVE","EDITOR_UPDATE","EditorEvent","DateUtils","time","Date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getTime","seconds","date","rawdate","day","String","getUTCDate","month","getUTCMonth","year","getUTCFullYear","hour","getUTCHours","minute","getUTCMinutes","getUTCSeconds","millisecond","getUTCMilliseconds","offset","getTimezoneOffset","attributes","createMirror","element","html","mirror","mirrorCss","css","tagName","attr","getComputedStyle","initialize","styles","keys","style","key","parentNode","insertBefore","nextSibling","rect","marker","ownerDocument","boundingRect","offsetLeft","offsetTop","offsetHeight","removeChild","isContentEditable","contentEditable","getContext","settings","customPos","iframe","noShadowCaret","contentWindow","contentDocument","getOffset","ctx","win","doc","getBoundingClientRect","docEl","documentElement","scrollLeft","pageXOffset","scrollTop","pageYOffset","top","left","isObject","createInputCaret","getPos","selectionStart","setPos","pos","setSelectionRange","elementOffset","position","getPosition","height","format","val","undefined","startRange","slice","endRange","createEditableCaret","sel","getSelection","found","find","parent","childNodes","node","nodeType","range","createRange","setStart","removeAllRanges","addRange","getRange","hasCustomPos","endOffset","endContainer","clonedRange","cloneRange","fixedPosition","setEnd","width","detach","shadowCaret","createTextNode","insertNode","selectNode","clientTop","clientLeft","inputOffset","rangeCount","getRangeAt","selectNodeContents","createCaret","options","caret","TextEditor","textEditor","scrollLimit","hljs","initHighlightingOnLoad","dateUtils","fixLimit","caretPos","setInputs","addEventListener","f","refresh","editorButtons","querySelectorAll","handleEditorOption","inputType","spiffed","highlight","innerText","temp","data","classList","add","remove","setTimeout","pulled","deleteContents","preventDefault","target","id","emitEvent","PostEditor","anim","editor","addListener","handleEditorOptions","handlePostImageAdd","mode","start","object","targets","duration","opacity","easing","complete","display","visibility","handleDragOver","handleDrop","handleClicked","click","optionButtons","handlePostOptions","currentOption","active","setAttribute","submitPost","note","parse","notify","message","location","console","log","confirm","deletePost","stopPropagation","dataTransfer","dropEffect","reader","FileReader","theFile","image","result","title","escape","span","join","appendChild","readAsDataURL","DisplayManager","currentDisplay","urlPieces","split","chooseDisplay","section","page","_events","_maxListeners","module","exports","prototype","defaultMaxListeners","setMaxListeners","n","isNumber","isNaN","TypeError","emit","er","handler","len","error","arguments","context","isUndefined","call","Array","apply","m","newListener","warned","trace","on","once","fired","g","removeListener","list","removeAllListeners","ret","listenerCount","evlistener","emitter","arg","process","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","clearTimeout","runTimeout","fun","runClearTimeout","queue","draining","currentQueue","queueIndex","cleanUpNextTick","drainQueue","timeout","run","nextTick","Item","array","browser","env","argv","version","versions","noop","off","prependListener","prependOnceListener","binding","cwd","chdir","dir","umask","isBinaryObject","ArrayBuffer","Blob","cloneArrayBuffer","buff","byteLength","targetArray","Uint8Array","sourceArray","cloneBinaryObject","size","webkitSlice","funcToString","Function","objectCtorString","Object","isPlainObject","proto","getPrototypeOf","Ctor","constructor","clone","newObject","isArray","toISOString","hasOwnProperty","called","toPromise","func","usedCB","pop","promise","fulfill","resp","mesg","logApiCall","logArgs","origCallback","res","responseArgs","adapterFun","_closed","_destroyed","taskqueue","isReady","addTask","failed","mangle","unmangle","substring","Map$1","_store","mangled","delete","cb","defineProperty","Set$1","supportsMapAndSet","Symbol","Set","prop","getOwnPropertyDescriptor","species","ExportedSet","ExportedMap","pick","arr","MAX_NUM_CONCURRENT_REQUESTS","identityFunction","x","formatResultForOpenRevsGet","ok","bulkGet","db","opts","requests","docs","requestsById","numDocs","numDone","perDocResults","collapseResultsAndFinish","results","info","checkDone","gotResult","docIndex","allRequests","nextBatch","upTo","min","batch","processBatch","docId","j","docIdx","docRequests","docOpts","open_revs","map","rev","filter","formatResult","param","hasLocal","localStorage","setItem","getItem","hasLocalStorage","Changes","attachBrowserEvents","_listeners","dbName","inprogress","eventFunction","changesOpts","onError","changes","c","seq","since","cancelled","onChange","notifyLocalWindows","guardedConsole","method","randomNumber","max","maxTimeout","parseInt","ratio","random","defaultBackOff","explainError","str","assign","to","nextSource","nextKey","$inject_Object_assign","PouchError","reason","UNAUTHORIZED","MISSING_BULK_DOCS","MISSING_DOC","REV_CONFLICT","INVALID_ID","MISSING_ID","RESERVED_ID","NOT_OPEN","UNKNOWN_ERROR","BAD_ARG","INVALID_REQUEST","QUERY_PARSE_ERROR","DOC_VALIDATION","BAD_REQUEST","NOT_AN_OBJECT","DB_MISSING","IDB_ERROR","WSQ_ERROR","LDB_ERROR","FORBIDDEN","INVALID_REV","FILE_EXISTS","MISSING_STUB","INVALID_URL","createError","CustomPouchError","p","generateErrorFromResponse","tryFilter","req","msg","filterChange","hasFilter","query","query_params","change","filterReturn","include_docs","attachments","att","_attachments","stub","flatten","arrs","invalidIdError","test","isRemote","_remote","ee","parseDesignDocFunctionName","s","parts","normalizeDesignDocFunctionName","normalized","qName","qParser","parser","parseUri","exec","uri","encoded","indexOf","decodeURIComponent","$0","$1","$2","scopeEval","source","scope","values","upsert","diffFun","docRev","_rev","newDoc","updated","_id","tryAndPut","put","thisAtob","atob","thisBtoa","btoa","createBlob","Builder","BlobBuilder","MSBlobBuilder","MozBlobBuilder","WebKitBlobBuilder","builder","getBlob","binaryStringToArrayBuffer","bin","buf","charCodeAt","binStringToBluffer","binString","b64ToBluffer","b64","arrayBufferToBinaryString","buffer","binary","bytes","fromCharCode","readAsBinaryString","blob","hasBinaryString","onloadend","readAsArrayBuffer","blobToBinaryString","blobOrBuffer","blobToBase64","base64","setImmediateShim","global","setImmediate","MD5_CHUNK_SIZE","rawToBase64","raw","sliceBlob","end","appendBlob","arrayBuffer","appendString","appendBinary","binaryMd5","inputIsString","chunkSize","chunks","currentChunk","Md5","next","loadNextChunk","done","destroy","stringMd5","hash","rev$$1","deterministic_revs","clonedDoc","uuidV4","v4","_rev_tree","uuid","winningRev","metadata","winningId","winningPos","winningDeleted","toVisit","rev_tree","tree","ids","branches","deleted","traverseRevTree","revs","newCtx","sortByPos","a","b","collectLeaves","leaves","isLeaf","acc","sort","reverse","collectConflicts","conflicts","leaf","compactTree","revHash","rootToLeaf","paths","history","sortByPos$1","binarySearch","item","comparator","low","high","mid","insertSorted","idx","pathToTree","path","numStemmed","root","currentLeaf","compareTree","mergeTree","in_tree1","in_tree2","tree1","tree2","merged","doMerge","dontExpand","restree","branch","t1","t2","diff","candidateParents","trees","parentIdx","elements","elementsLen","el","stem","depth","stemmedRevs","stemmed","merge","newTree","revExists","splitRev","targetPos","targetId","getTrees","isDeleted","isLocalId","latest","historyNode","historyRev","l","Changes$1","tryCatchInChangeListener","pending","lastSeq","onDestroy","cancel","isCancelled","bind","validateChanges","processChange","changeList","_conflicts","PouchDB","_changesFilterPlugin","validate","doChanges","continuous","live","update_seq","normalize","shouldFilter","descending","limit","newPromise","_changes","compare","right","yankError","cleanDocs","_deleted","atts","compareByIdThenRev","idCompare","aStart","_revisions","bStart","computeHeight","edges","prnt","from","edge","allDocsKeysParse","skip","doNextCompaction","task","_compactionQueue","last_seq","_compact","shift","attachmentNameError","charAt","AbstractPouchDB","post","bulkDocs","_putLocal","_removeLocal","force","transformForceOptionToNewEditsOption","putDoc","oldRevId","oldRevNum","newRevNum","newRevId","new_edits","_put","putAttachment","attachmentId","api","createAttachment","prevrevpos","content_type","revpos","removeAttachment","docOrId","optsOrRev","was_delete","revsDiff","count","missing","addToMissing","revId","processDoc","missingForId","_getRevisionTree","missingObj","compactDocument","maxHeight","revTree","candidates","_doCompaction","compact","return_docs","promises","row","onComplete","all","deltaFunc","_getLocal","finishOpenRevs","existing","_get","revs_info","splittedRev","revNo","currentPath","hashIndex","hashFoundAtRevPos","indexOfRev","howMany","_revs_info","_getAttachment","getAttachment","allDocs","start_key","startkey","end_key","endkey","incompatibleOpt","_allDocs","close","_close","_info","db_name","auto_compaction","adapter","_type","attachmentError","_bulkDocs","registerDependentDatabase","dependentDb","depDB","__opts","dependentDbs","usePrefix","use_prefix","destroyDb","_destroy","localDoc","deletedMap","trueName","RegExp","prefix","TaskQueue","execute","fail","ready","parseAdapter","adapters","preferredAdapters","adapterName","prepareForDestruction","onDestroyed","from_constructor","onClosed","prefixedName","backend","_adapter","valid","AbortController","abort","f$1","fetch","h","Headers","eventEmitter","setUpEventEmitter","Pouch","destructListeners","_destructionListeners","onConstructorRef","onConstructorUnref","dbList","onConstructorDestroyed","addToPreferredAdapters","plugin","__defaults","defaults","defaultOpts","PouchAlt","getFieldFromDoc","parsedField","compare$1","parseField","fieldName","fields","current","ch","combinationFields","isCombinationalField","field","getKey","getValue","mergeAndedSelectors","selectors","selector","matcher","$eq","fieldMatchers","operator","mergeGtGte","mergeLtLte","mergeNe","mergeEq","$gte","$gt","$lte","$lt","$ne","massageSelector","input","wasAnded","orOrNor","subSelector","pad","padWith","upToLength","padding","targetLength","padLeft","MIN_MAGNITUDE","MAGNITUDE_DIGITS","SEP","collate","normalizeKey","ai","collationIndex","bi","stringCollate","arrayCollate","objectCollate","Infinity","origKey","toJSON","k","indexify","numToIndexableString","toIndexableString","objKey","zero","parseNumber","originalIdx","num","neg","numAsString","magAsString","magnitude","parseFloat","stack","metaStack","lastMetaElement","lastElementIndex","parseIndexableString","parsedNum","parsedStr","arrayElement","objElement","ak","bk","expFormat","toExponential","magForComparison","magString","factor","abs","factorStr","toFixed","createFieldSorter","getFieldValuesAsArray","sorting","docFieldValue","aRow","bRow","aFieldValues","bFieldValues","collation","filterInMemoryFields","rows","requestDef","inMemoryFields","rowFilter","fieldSorter","every","matchCominationalSelector","matchSelector","userOperator","userValue","some","orMatchers","matchers","fieldExists","fieldIsNotUndefined","modField","divisor","mod","arrayContainsValue","arrayContainsAllValues","arraySize","regexMatch","re","typeMatch","neValue","matchesSelector","rowsMatched","evalFilter","evalView","code","filterName","view","changesHandler","doc_ids","viewName","ddoc","mapFun","views","filterFun","filters","applyChangesFilterPlugin","toObject","reservedWords","dataWords","parseRevisionInfo","makeRevTreeFromRevisions","revisions","revisionIds","parseDoc","newEdits","dbOpts","nRevNum","revInfo","specialKey","parseBase64","preprocessString","blobType","asBinary","digest","preprocessBlob","md5","preprocessAttachment","preprocessAttachments","docInfos","docv","overallErr","docInfo","recv","processedAttachment","updateDoc","revLimit","prev","writeDoc","previousWinningRev","previouslyDeleted","isRoot","inConflict","newRev","rev_map","winningRev$$1","winningRevIsDeleted","delta","newRevIsDeleted","rootIsMissing","processDocs","fetchedDocs","tx","overallCallback","insertDoc","resultsIdx","idsToDocs","docsDone","docsToDo","checkAllDocsDone","currentDoc","docWritten","nextDoc","ADAPTER_VERSION","DOC_STORE","BY_SEQ_STORE","ATTACH_STORE","ATTACH_AND_SEQ_STORE","META_STORE","LOCAL_STORE","DETECT_BLOB_SUPPORT_STORE","safeJsonParse","vuvuzela","safeJsonStringify","json","idbError","evt","encodeMetadata","deletedOrLocal","decodeMetadata","storedObject","decodeDoc","_doc_id_rev","lastIndexOf","readBlobData","asBlob","fetchAttachmentsIfNecessary","txn","fetchAttachment","attObj","objectStore","onsuccess","postProcessAttachments","attNames","compactRevs","possiblyOrphanedDigests","seqStore","attStore","attAndSeqStore","deleteOrphanedAttachments","countReq","IDBKeyRange","bound","cursor","openCursor","only","event","digestSeq","primaryKey","continue","openTransactionSafely","idb","stores","transaction","idbBulkDocs","docStore","bySeqStore","attachStore","attachAndSeqStore","metaStore","docInfoError","metaDoc","allDocsProcessed","docCountDelta","preconditionErrored","_meta","blobSupport","startTransaction","txnResult","onabort","ontimeout","oncomplete","updateDocCountIfReady","verifyAttachments","fetchExistingDocs","onAllDocsProcessed","idbProcessDocs","revs_limit","docCount","numFetched","readMetadata","verifyAttachment","finish","digests","filename","attErr","isUpdate","hasAttachments","writeAttachments","finishDoc","afterPutDoc","revsToDelete","metadataToStore","metaDataReq","afterPutMetadata","afterPutDocError","getKeyReq","putReq","insertAttachmentMappings","collectResults","attachmentSaved","saveAttachment","attsAdded","attsToAdd","newAtt","runBatchedCursor","keyRange","batchSize","onBatch","useGetAll","getAll","getAllKeys","keysBatch","valuesBatch","pseudoCursor","onGetAll","onGetAllKeys","continuePseudoCursor","lastKey","newKeyRange","upper","upperOpen","lowerBound","onCursor","onSuccess","allDocsKeys","createKeyRange","inclusiveEnd","upperBound","idbAllDocs","inclusive_end","keyRangeError","onTxnComplete","docIdRevIndex","updateSeq","getMaxUpdateSeq","maxKey","fetchDocAsynchronously","onGetDoc","allDocsInner","batchValues","batchValue","batchKeys","onResultsReady","returnVal","total_rows","checkBlobSupport","blob$$1","matchedChrome","navigator","userAgent","matchedEdge","countDocs","running","tryCode","applyNext","enqueueTask","action","runAction","runCallback","runNext","docIds","numResults","docIdsToMetadata","winningDocs","metadatas","processMetadataAndWinningDoc","winningDoc","filtered","onBatchDone","fetchWinningDocAndMetadata","onGetMetadata","docIdRev","objectStores","cachedDBs","blobSupportPromise","openReqList","IdbPouch","thisCallback","init","createSchema","createObjectStore","keyPath","autoIncrement","createIndex","unique","addDeletedOrLocalIndex","createLocalStoreSchema","migrateLocalStore","localStore","local","seqCursor","addAttachAndSeqStore","migrateAttsAndSeqs","digestMap","migrateMetadata","decodeMetadataCompat","fetchMetadataSeq","metadataSeq","onGetMetadataSeq","instanceId","idb_bulkDocs","reqOpts","idb_get","attachId","attachment","blobData","idb_info","doc_count","idb_attachment_format","idb_allDocs","idbChanges","oldRev","oStore","oldDoc","openReq","indexedDB","deleteDatabase","cached","onupgradeneeded","oldVersion","currentTarget","migrations","migration","onversionchange","storedMetaDoc","completeSetup","storeMetaDocIfReady","instanceKey","IDBPouch","pool","promiseFactories","doNext","runNextBatch","thisErr","CHANGES_BATCH_SIZE","MAX_SIMULTANEOUS_REVS","CHANGES_TIMEOUT_BUFFER","DEFAULT_HEARTBEAT","supportsBulkGetMap","readAttachmentsAsBlobOrBuffer","encodeDocId","encodeURIComponent","preprocessAttachments$1","hasUrlPrefix","protocol","getHost","substr","user","password","auth","username","genDBUrl","genUrl","pathDel","host","port","paramsToStr","params","shouldCacheBust","ua","isIE","isTrident","isEdge","isGET","HttpPouch","dbUrl","ourFetch","headers","nAuth","token","unescape","now","fetchFun","adapterFun$$1","setup","fetchJSON","v","setupPromise","skip_setup","uuid$$1","ping","compact_running","interval","doBulkGet","doBulkGetShim","numBatches","onResult","batchNum","subOpts","supportsBulkGet","fetchAttachments","filenames","fetchData","encodeAttachmentId","fetchAllAttachments","docOrDocs","paramStr","batch_size","heartbeat","requestTimeout","leftToFetch","feed","seq_interval","param_name","controller","lastFetchedSeq","aborted","fetchOpts","signal","fetched","raw_results_length","finished","HttpPouch$1","QueryParseError","captureStackTrace","NotFoundError","BuiltInError","promisedCallback","callbackify","fin","finalPromiseFactory","sequentialize","promiseFactory","that","uniq","theSet","mapToKeysArray","createBuiltInError","sum","jLen","jNum","evalFunctionWithEval","TaskQueue$1","createViewSignature","reduceFun","createView","sourceDB","temporary","localDocName","viewSignature","cachedViews","_cachedViews","promiseForView","depDbName","diffFunction","fullViewName","depDbs","lastSeqDoc","persistentQueues","tempViewQueue","CHANGES_BATCH_SIZE$1","parseViewName","isGenOne","emitError","createAbstractMapReduce","mapper","reducer","ddocValidator","tryMap","tryReduce","rereduce","output","sortByKeyThenValue","y","keyCompare","sliceResults","rowToDocId","postprocessAttachments","addHttpParam","paramName","asJson","coerceInteger","integerCandidate","asNumber","Number","coerceOptions","group_level","checkPositiveInteger","number","checkQueryParseError","startkeyName","endkeyName","group","optionName","httpQuery","MAX_URL_LENGTH","keysAsString","customQuery","_query","customViewCleanup","_viewCleanup","defaultsTo","getDocsToPersist","docIdsToChangesAndEmits","metaDocId","defaultMetaDoc","docData","indexableKeysToKeyValues","getMetaDoc","getKeyValueDocs","processKeyValueDocs","kvDocsRes","kvDocs","oldKeys","keyValue","newKeys","kvDoc","saveKeyValues","seqDocId","listOfDocsToPersist","docsToPersist","getQueue","updateView","updateViewInQueue","mapResults","currentSeq","processNextBatch","createDocIdsToChangesAndEmits","createIndexableKeysToKeyValues","emittedKeyValue","complexKey","reduceView","shouldGroup","groups","lvl","POSITIVE_INFINITY","last","groupKey","reduceTry","queryView","queryViewInQueue","totalRows","shouldReduce","fetchFromView","viewOpts","expectedKeys","parsedKeyAndDocId","onMapResultsReady","finalResults","allDocsRes","docIdsToDocs","fetchPromises","keyStart","keyEnd","httpViewCleanup","localViewCleanup","docsToViews","designDocName","viewsToStatus","ddocName","viewDBNames","statusIsGood","viewDBName","dbsToDelete","destroyPromises","queryPromised","createViewPromise","stale","abstractQuery","abstractViewCleanup","viewCleanup","builtInReduce","_sum","_count","_stats","sumsqr","_sumsqr","getBuiltIn","reduceFunString","origMap","builtIn","abstract","mapreduce","isGenOne$1","fileHasChanged","remoteDoc","getDocAttachments","getDocAttachmentsFromTargetOrSource","doCheckForLocalAttachments","createBulkGetOpts","diffs","missingRevs","missingRev","getDocs","state","resultDocs","getAllDocs","bulkGetOpts","bulkGetResponse","bulkGetInfo","Boolean","hasConflicts","fetchRevisionOneDocs","getRevisionOneDocs","returnResult","CHECKPOINT_VERSION","REPLICATOR","CHECKPOINT_HISTORY_SIZE","LOWEST_SEQ","updateCheckpoint","checkpoint","session","returnValue","session_id","replicator","unshift","Checkpointer","writeCheckpoint","updateTarget","updateSource","writeTargetCheckpoint","writeSourceCheckpoint","isForbiddenError","comparisons","targetDoc","sourceDoc","compareReplicationLogs","getCheckpoint","srcDoc","tgtDoc","compareReplicationHistory","sourceHistory","targetHistory","S","sourceRest","T","targetRest","sourceId","hasSessionId","sessionId","props","rest","floor","STARTING_BACK_OFF","backOff","retry","back_off_function","backOffSet","backoffTimeSet","current_back_off","removeBackOffSetter","removeBackOffTimeSet","sortObjectPropertiesByKey","queryParams","generateReplicationId","filterViewName","queryData","md5sum","replicate","batches","currentBatch","pendingBatch","writingCheckpoint","changesCompleted","replicationCompleted","batches_limit","changesPending","repId","checkpointer","changedDocs","start_time","docs_read","docs_written","doc_write_failures","errors","initCheckpointer","checkpointOpts","writeDocs","bulkOpts","completeReplication","errorsById","create","errorsNo","errorName","finishBatch","outResult","getChanges","onCheckpointError","getDiffs","getBatchDocs","got","startNextBatch","processPendingBatch","abortReplication","immediate","fatalError","end_time","onChangesComplete","onChangesError","abortChanges","_abortChanges","startChanges","_addedListeners","Replication","_readyCalled","cleanup","toPouch","PouchConstructor","replicateWrapper","replicateRet","srcPouch","targetPouch","Sync","sync","canceled","optsPush","optsPull","pull","pushPaused","pullPaused","pullChange","direction","pushChange","pushDenied","pullDenied","pushActive","pullActive","removed","removeAll","isChange","isDenied","isPaused","isActive","addOneListener","out","success","replication","replicateMethods","other","Base","admin","displayManager","loadSettings","remote","base"],"mappings":"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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;ICjrCMC;;;AAEF;AACA;AACA;AACA,uBAAc;AAAA;AAAE,IAEhB;AACA;AACA;;;;;gCAC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C,MAAM;AACzB,WAAKL,cAAL,GAAsB,EAAtB;;AACA,cAAQI,OAAR;AACI,aAAK,OAAL;AACI,eAAKJ,cAAL,GAAsB,IAAIlD,mBAAJ,EAAtB;AACA;;AAEJ;AACI;AACA;AAPR;;AASA,WAAKO,KAAL;AAEH,MACD;AACA;AACA;;;;;;;;;ACnEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,SAASjT,YAAT,GAAwB;AACtB,OAAKkW,OAAL,GAAe,KAAKA,OAAL,IAAgB,EAA/B;AACA,OAAKC,aAAL,GAAqB,KAAKA,aAAL,IAAsBjI,SAA3C;AACD;;AACDkI,MAAM,CAACC,OAAP,GAAiBrW,YAAjB,EAEA;;AACAA,YAAY,CAACA,YAAb,GAA4BA,YAA5B;AAEAA,YAAY,CAACsW,SAAb,CAAuBJ,OAAvB,GAAiChI,SAAjC;AACAlO,YAAY,CAACsW,SAAb,CAAuBH,aAAvB,GAAuCjI,SAAvC,EAEA;AACA;;AACAlO,YAAY,CAACuW,mBAAb,GAAmC,EAAnC,EAEA;AACA;;AACAvW,YAAY,CAACsW,SAAb,CAAuBE,eAAvB,GAAyC,UAASC,CAAT,EAAY;AACnD,MAAI,CAACC,QAAQ,CAACD,CAAD,CAAT,IAAgBA,CAAC,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A;AACA;AACA;AACA;AACA;AACA;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/uBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC7KA;AACA,IAAIC,OAAO,GAAGpC,MAAM,CAACC,OAAP,GAAiB,EAA/B,EAEA;AACA;AACA;AACA;;AAEA,IAAIoC,gBAAJ;AACA,IAAIC,kBAAJ;;AAEA,SAASC,gBAAT,GAA4B;AACxB,QAAM,IAAItU,KAAJ,CAAU,iCAAV,CAAN;AACH;;AACD,SAASuU,mBAAT,GAAgC;AAC5B,QAAM,IAAIvU,KAAJ,CAAU,mCAAV,CAAN;AACH;;AACA,aAAY;AACT,MAAI;AACA,QAAI,OAAO8N,UAAP,KAA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","file":"dash.min.map","sourceRoot":"../../src/com","sourcesContent":["class EventEmitter\n{\n\n //--------------------------\n // constructor\n //--------------------------\n constructor()\n {\n this.listeners = new Map();\n }\n //--------------------------\n // methods\n //--------------------------\n addListener(label, callback) {\n this.listeners.has(label) || this.listeners.set(label, []);\n this.listeners.get(label).push(callback);\n }\n\n removeListener(label, callback) {\n var isFunction = function(obj) {\n return typeof obj == 'function' || false;\n };\n\n var listeners = this.listeners.get(label),\n index;\n\n if (listeners && listeners.length) {\n index = listeners.reduce((i, listener, index) => {\n return (isFunction(listener) && listener === callback)\n ? i = index\n : i;\n }, -1);\n\n if (index > -1) {\n listeners.splice(index, 1);\n this.listeners.set(label, listeners);\n return true;\n }\n }\n return false;\n }\n\n emitEvent(label, ...args) {\n var listeners = this.listeners.get(label);\n if (listeners && listeners.length) {\n listeners.forEach((listener) => {\n listener(...args);\n });\n return true;\n }\n return false;\n }\n //--------------------------\n // event handlers\n //--------------------------\n}\nexport default EventEmitter\n","export const REQUEST_GOOD = 'requestGood';\nexport const REQUEST_LAME = 'requestLame';\nexport const IMG_REQUEST_GOOD = 'imgRequestGood';\nexport const IMG_REQUEST_LAME = 'imgRequestLame';\nexport const SETTINGS_LOADED = 'dataLoaded';\nexport const HTML_LOADED = 'htmlLoaded';\nexport const ARCHIVES_JSON_LOADED = 'archivesJSONLoaded';\nexport const ARCHIVES_PAGE_LOADED = 'archivesPAGELoaded';\nexport const ARCHIVES_ENTRY_LOADED = 'archivesEntryLoaded';\nexport const PROJECT_UPDATED = 'projectUpdated';\nexport const PROJECT_ADDED = 'projectAdded';\nexport const PROJECTS_SORTED = 'projectsSorted';\nexport const POST_IMAGE_ADDED = 'postImageAdded';\nexport const POST_ERROR = 'postError';\nexport const POST_ADDED = 'postAdded';\nexport const POST_UPDATED = 'postUpdated';\nexport const POST_DELETED = 'postImageAdded';\n\nclass DataEvent\n{\n\n //--------------------------\n // methods\n //--------------------------\n\n\n\n //--------------------------\n // event handlers\n //--------------------------\n}\nexport default new DataEvent\n","export const REQUEST_TYPE_POST = \"POST\";\nexport const REQUEST_TYPE_GET = \"GET\";\nexport const REQUEST_TYPE_PUT = \"PUT\";\nexport const REQUEST_TYPE_DELETE = \"DELETE\";\nexport const CONTENT_TYPE_JSON = 'json';\nexport const CONTENT_TYPE_FORM = 'x-www-form-urlencoded';\nimport EventEmitter from '../events/EventEmitter';\nimport * as DataEvent from '../events/DataEvent';\nclass DataUtils extends EventEmitter {\n //--------------------------\n // constructor\n //--------------------------\n constructor() {\n super();\n var self = this;\n }\n //--------------------------\n // methods\n //--------------------------\n request(requestURL, eventType, requestType = REQUEST_TYPE_GET, contentType = CONTENT_TYPE_JSON, requestData = null) {\n var self = this;\n return new Promise(function(resolve, reject) {\n var request = new XMLHttpRequest();\n request.upload.onprogress = self.handleLoadProgress;\n request.open(requestType, requestURL, true);\n request.onload = function(e) {\n if (request.status == 200) {\n resolve({\n request,\n eventType\n });\n } else {\n reject({\n request,\n eventType\n });\n }\n ;\n };\n if (requestType == REQUEST_TYPE_PUT || requestType == REQUEST_TYPE_POST) {\n switch (contentType) {\n case CONTENT_TYPE_JSON:\n request.setRequestHeader(\"Content-type\", \"application/\" + contentType);\n request.send(JSON.stringify(requestData));\n break;\n case CONTENT_TYPE_FORM:\n request.send(requestData);\n break;\n }\n } else {\n request.send();\n }\n })\n }\n imgLoad(url) {\n 'use strict';\n // Create new promise with the Promise() constructor;\n // This has as its argument a function with two parameters, resolve and reject\n return new Promise(function(resolve, reject) {\n // Standard XHR to load an image\n var request = new XMLHttpRequest();\n request.open('GET', url);\n request.responseType = 'blob';\n // When the request loads, check whether it was successful\n request.onload = function() {\n if (request.status === 200) {\n // If successful, resolve the promise by passing back the request response\n resolve(request.response);\n } else {\n // If it fails, reject the promise with a error message\n reject(new Error('Image didn\\'t load successfully; error code:' + request.statusText));\n }\n };\n request.onerror = function() {\n // Also deal with the case when the entire request fails to begin with\n // This is probably a network error, so reject the promise with an appropriate message\n reject(new Error('There was a network error.'));\n };\n // Send the request\n request.send();\n });\n }\n loadImage(src) {\n 'use strict';\n let self = this;\n return new Promise(function(resolve, reject) {\n // Get a reference to the body element, and create a new image object\n var body = document.querySelector('body'),\n myImage = new Image();\n myImage.crossOrigin = \"\"; // or \"anonymous\"\n // Call the function with the URL we want to load, but then chain the\n // promise then() method on to the end of it. This contains two callbacks\n self.imgLoad(src).then(function(response) {\n // The first runs when the promise resolves, with the request.reponse specified within the resolve() method.\n var imageURL = window.URL.createObjectURL(response);\n resolve(imageURL);\n //$('background-content').setStyle('background-image', 'url('+imageURL+')') //myImage.src = imageURL;\n //console.log(imageURL);\n //body.appendChild(myImage);\n // The second runs when the promise is rejected, and logs the Error specified with the reject() method.\n }, function(Error) {\n reject(Error)\n });\n });\n }\n //--------------------------\n // event handlers\n //--------------------------\n handleLoadProgress(e) {\n var percentComplete = Math.ceil((e.loaded / e.total) * 100);\n //console.log(percentComplete);\n }\n}\nexport default DataUtils;\n","import EventEmitter from '../events/EventEmitter';\n\nclass Animate extends EventEmitter {\n //--------------------------\n // constructor\n //--------------------------\n constructor() {\n super();\n }\n //--------------------------\n // methods\n //--------------------------\n object(properties) {\n var animation = anime(\n properties\n );\n //animation.start(properties);\n }\n //--------------------------\n // event handlers\n //--------------------------\n}\nexport default Animate\n","class StringUtils\n{\n\n //--------------------------\n // constructor\n //--------------------------\n constructor()\n {}\n //--------------------------\n // methods\n //--------------------------\n cleanString(string)\n {\n var clean = string.replace(/(^\\-+|[^a-zA-Z0-9\\/_| -]+|\\-+$)/g, '').toLowerCase().replace(/[\\/_| -]+/g, '-');\n return clean;\n }\n\n decodeHTML(string, quote_style) {\n var optTemp = 0,\n i = 0,\n noquotes = false;\n if (typeof quote_style === 'undefined') {\n quote_style = 2;\n }\n string = string.toString().replace(/</g, '<').replace(/>/g, '>');\n var OPTS = {\n 'ENT_NOQUOTES': 0,\n 'ENT_HTML_QUOTE_SINGLE': 1,\n 'ENT_HTML_QUOTE_DOUBLE': 2,\n 'ENT_COMPAT': 2,\n 'ENT_QUOTES': 3,\n 'ENT_IGNORE': 4\n };\n if (quote_style === 0) {\n noquotes = true;\n }\n if (typeof quote_style !== 'number') { // Allow for a single string or an array of string flags\n quote_style = [].concat(quote_style);\n for (i = 0; i < quote_style.length; i++) {\n // Resolve string input to bitwise e.g. 'PATHINFO_EXTENSION' becomes 4\n if (OPTS[quote_style[i]] === 0) {\n noquotes = true;\n } else if (OPTS[quote_style[i]]) {\n optTemp = optTemp | OPTS[quote_style[i]];\n }\n }\n quote_style = optTemp;\n }\n if (quote_style & OPTS.ENT_HTML_QUOTE_SINGLE) {\n string = string.replace(/�*39;/g, \"'\"); // PHP doesn't currently escape if more than one 0, but it should\n // string = string.replace(/'|�*27;/g, \"'\"); // This would also be useful here, but not a part of PHP\n }\n if (!noquotes) {\n string = string.replace(/"/g, '\"');\n }\n // Put this in last place to avoid escape being double-decoded\n string = string.replace(/&/g, '&');\n return string;\n }\n\n //--------------------------\n // event handlers\n //--------------------------\n}\nexport default StringUtils\n","import DataUtils, {\n REQUEST_TYPE_GET,\n REQUEST_TYPE_PUT,\n REQUEST_TYPE_POST,\n REQUEST_TYPE_DELETE,\n CONTENT_TYPE_JSON,\n CONTENT_TYPE_FORM\n} from '../../../../../brain//tools/utilities/DataUtils';\nimport * as DataEvent from '../../../../../brain//tools/events/DataEvent';\nimport StringUtils from '../../../../../brain//tools/utilities/StringUtils';\n\nclass PostActions {\n //--------------------------\n // constructor\n //--------------------------\n constructor() {\n var folio = [];\n this.dataUtils = new DataUtils();\n }\n //--------------------------\n // methods\n //--------------------------\n start() {}\n\n submitPost(edit, uploadFiles) {\n let self = this;\n return new Promise(function (resolve, reject) {\n //collect form data\n //if(!this.validateForm())\n var postData = new FormData();\n //let projectImages = document.getElementById('projectImages');\n //var fileSelect = projectImages;\n var files = uploadFiles;\n for (var i = 0; i < files.length; i++) {\n var file = files[i];\n // Check the file type.\n if (!file.type.match('image.*')) {\n continue;\n }\n // Add the file to the request.\n postData.append('feature_image', file, file.name);\n }\n //var category = document.getElementById(\"content_category\");\n //let project_form = document.forms.namedItem(\"folio-project\");\n var txt = document.createElement(\"textarea\");\n txt.innerHTML = document.getElementById('edit-post-text').innerHTML;\n postData.append(\"title\", document.getElementById('post_title').value);\n postData.append('slug', new StringUtils().cleanString(document.getElementById('post_title').value));\n postData.append(\"post_plaintext\", txt.value);\n postData.append(\"origin_date\", document.getElementById('post-date').value);\n postData.append(\"tags\", document.getElementById('post_tags').value);\n postData.append(\"status_page\", document.getElementById('option-page').getAttribute('data-active'));\n postData.append(\"status_feature\", document.getElementById('option-feature').getAttribute('data-active'));\n postData.append(\"status_published\", document.getElementById('option-published').getAttribute('data-active'));\n\n let postURL;\n let postEventType;\n if (edit) {\n let postID = document.getElementById('edit-update').getAttribute('data-id');\n postURL = \"/api/post/update/\" + postID;\n postEventType = DataEvent.POST_UPDATED;\n\n } else {\n postURL = \"/api/post/add\";\n postEventType = DataEvent.POST_ADDED;\n }\n self.dataUtils.request(postURL, postEventType, REQUEST_TYPE_POST, CONTENT_TYPE_FORM, postData)\n .then((response) => {\n resolve({\n response\n })\n }).catch((err) => {\n reject({\n err\n });\n })\n });\n }\n\n deletePost() {\n let self = this;\n let postID = document.getElementById('edit-update').getAttribute('data-id');\n return new Promise(function (resolve, reject) {\n self.dataUtils.request(\"/api/post/delete/\" + postID, DataEvent.POST_DELETED, REQUEST_TYPE_POST, CONTENT_TYPE_FORM)\n .then((response) => {\n resolve({\n response\n })\n }).catch((err) => {\n reject({\n err\n });\n })\n })\n //this.dataUtils.re\n }\n //--------------------------\n // event handlers\n //--------------------------\n}\nexport {\n PostActions as\n default\n}","export const EDITOR_DELETE = 'editorDelete';\nexport const EDITOR_UPLOAD_POST_IMAGE = 'editorUploadImage';\nexport const EDITOR_SAVE = 'editorSave';\nexport const EDITOR_UPDATE = 'editorUpdate';\n\nclass EditorEvent\n{\n\n //--------------------------\n // methods\n //--------------------------\n\n\n\n //--------------------------\n // event handlers\n //--------------------------\n}\nexport default new EditorEvent\n","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global.TinyDatePicker = factory());\n}(this, (function () { 'use strict';\n\n /**\n * @file A generic set of mutation-free date functions.\n */\n\n /**\n * now returns the current date without any time values\n *\n * @returns {Date}\n */\n function now() {\n var dt = new Date();\n dt.setHours(0, 0, 0, 0);\n return dt;\n }\n\n /**\n * dateEq compares two dates\n *\n * @param {Date} date1 the first date\n * @param {Date} date2 the second date\n * @returns {boolean}\n */\n function datesEq(date1, date2) {\n return (date1 && date1.toDateString()) === (date2 && date2.toDateString());\n }\n\n /**\n * shiftDay shifts the specified date by n days\n *\n * @param {Date} dt\n * @param {number} n\n * @returns {Date}\n */\n function shiftDay(dt, n) {\n dt = new Date(dt);\n dt.setDate(dt.getDate() + n);\n return dt;\n }\n\n /**\n * shiftMonth shifts the specified date by a specified number of months\n *\n * @param {Date} dt\n * @param {number} n\n * @param {boolean} wrap optional, if true, does not change year\n * value, defaults to false\n * @returns {Date}\n */\n function shiftMonth(dt, n, wrap) {\n dt = new Date(dt);\n\n var dayOfMonth = dt.getDate();\n var month = dt.getMonth() + n;\n\n dt.setDate(1);\n dt.setMonth(wrap ? (12 + month) % 12 : month);\n dt.setDate(dayOfMonth);\n\n // If dayOfMonth = 31, but the target month only has 30 or 29 or whatever...\n // head back to the max of the target month\n if (dt.getDate() < dayOfMonth) {\n dt.setDate(0);\n }\n\n return dt;\n }\n\n /**\n * shiftYear shifts the specified date by n years\n *\n * @param {Date} dt\n * @param {number} n\n * @returns {Date}\n */\n function shiftYear(dt, n) {\n dt = new Date(dt);\n dt.setFullYear(dt.getFullYear() + n);\n return dt;\n }\n\n /**\n * setYear changes the specified date to the specified year\n *\n * @param {Date} dt\n * @param {number} year\n */\n function setYear(dt, year) {\n dt = new Date(dt);\n dt.setFullYear(year);\n return dt;\n }\n\n /**\n * setMonth changes the specified date to the specified month\n *\n * @param {Date} dt\n * @param {number} month\n */\n function setMonth(dt, month) {\n return shiftMonth(dt, month - dt.getMonth());\n }\n\n /**\n * dateOrParse creates a function which, given a date or string, returns a date\n *\n * @param {function} parse the function used to parse strings\n * @returns {function}\n */\n function dateOrParse(parse) {\n return function (dt) {\n return dropTime(typeof dt === 'string' ? parse(dt) : dt);\n };\n }\n\n /**\n * constrainDate returns dt or min/max depending on whether dt is out of bounds (inclusive)\n *\n * @export\n * @param {Date} dt\n * @param {Date} min\n * @param {Date} max\n * @returns {Date}\n */\n function constrainDate(dt, min, max) {\n return (dt < min) ? min :\n (dt > max) ? max :\n dt;\n }\n\n function dropTime(dt) {\n dt = new Date(dt);\n dt.setHours(0, 0, 0, 0);\n return dt;\n }\n\n /**\n * @file Utility functions for function manipulation.\n */\n\n /**\n * bufferFn buffers calls to fn so they only happen every ms milliseconds\n *\n * @param {number} ms number of milliseconds\n * @param {function} fn the function to be buffered\n * @returns {function}\n */\n function bufferFn(ms, fn) {\n var timeout = undefined;\n return function () {\n clearTimeout(timeout);\n timeout = setTimeout(fn, ms);\n };\n }\n\n /**\n * noop is a function which does nothing at all.\n */\n function noop() { }\n\n /**\n * copy properties from object o2 to object o1.\n *\n * @params {Object} o1\n * @params {Object} o2\n * @returns {Object}\n */\n function cp() {\n var args = arguments;\n var o1 = args[0];\n for (var i = 1; i < args.length; ++i) {\n var o2 = args[i] || {};\n for (var key in o2) {\n o1[key] = o2[key];\n }\n }\n return o1;\n }\n\n /**\n * @file Responsible for sanitizing and creating date picker options.\n */\n\n var english = {\n days: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n months: [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ],\n today: 'Today',\n clear: 'Clear',\n close: 'Close',\n };\n\n /**\n * DatePickerOptions constructs a new date picker options object, overriding\n * default values with any values specified in opts.\n *\n * @param {DatePickerOptions} opts\n * @returns {DatePickerOptions}\n */\n function DatePickerOptions(opts) {\n opts = opts || {};\n opts = cp(defaults(), opts);\n var parse = dateOrParse(opts.parse);\n opts.lang = cp(english, opts.lang);\n opts.parse = parse;\n opts.inRange = makeInRangeFn(opts);\n opts.min = parse(opts.min || shiftYear(now(), -100));\n opts.max = parse(opts.max || shiftYear(now(), 100));\n opts.hilightedDate = opts.parse(opts.hilightedDate);\n\n return opts;\n }\n\n function defaults() {\n return {\n lang: english,\n\n // Possible values: dp-modal, dp-below, dp-permanent\n mode: 'dp-modal',\n\n // The date to hilight initially if the date picker has no\n // initial value.\n hilightedDate: now(),\n\n format: function (dt) {\n return (dt.getMonth() + 1) + '/' + dt.getDate() + '/' + dt.getFullYear();\n },\n\n parse: function (str) {\n var date = new Date(str);\n return isNaN(date) ? now() : date;\n },\n\n dateClass: function () { },\n\n inRange: function () {\n return true;\n }\n };\n }\n\n function makeInRangeFn(opts) {\n var inRange = opts.inRange; // Cache this version, and return a variant\n\n return function (dt, dp) {\n return inRange(dt, dp) && opts.min <= dt && opts.max >= dt;\n };\n }\n\n /**\n * @file Helper functions for dealing with dom elements.\n */\n\n var Key = {\n left: 37,\n up: 38,\n right: 39,\n down: 40,\n enter: 13,\n esc: 27,\n };\n\n /**\n * on attaches an event handler to the specified element, and returns an\n * off function which can be used to remove the handler.\n *\n * @param {string} evt the name of the event to handle\n * @param {HTMLElement} el the element to attach to\n * @param {function} handler the event handler\n * @returns {function} the off function\n */\n function on(evt, el, handler) {\n el.addEventListener(evt, handler, true);\n\n return function () {\n el.removeEventListener(evt, handler, true);\n };\n }\n\n var CustomEvent = shimCustomEvent();\n\n function shimCustomEvent() {\n var CustomEvent = window.CustomEvent;\n\n if (typeof CustomEvent !== 'function') {\n CustomEvent = function (event, params) {\n params = params || {bubbles: false, cancelable: false, detail: undefined};\n var 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 }\n\n return CustomEvent;\n }\n\n /**\n * @file Manages the calendar / day-picker view.\n */\n\n var dayPicker = {\n onKeyDown: keyDown,\n onClick: {\n 'dp-day': selectDay,\n 'dp-next': gotoNextMonth,\n 'dp-prev': gotoPrevMonth,\n 'dp-today': selectToday,\n 'dp-clear': clear,\n 'dp-close': close,\n 'dp-cal-month': showMonthPicker,\n 'dp-cal-year': showYearPicker,\n },\n render: render\n };\n\n /**\n * view renders the calendar (day picker) as an HTML string.\n *\n * @param {DatePickerContext} context the date picker being rendered\n * @returns {string}\n */\n function render(dp) {\n var opts = dp.opts;\n var lang = opts.lang;\n var state = dp.state;\n var dayNames = lang.days;\n var dayOffset = opts.dayOffset || 0;\n var selectedDate = state.selectedDate;\n var hilightedDate = state.hilightedDate;\n var hilightedMonth = hilightedDate.getMonth();\n var today = now().getTime();\n\n return (\n '
' +\n '
' +\n '' +\n '' +\n '' +\n '' +\n '
' +\n '
' +\n dayNames.map(function (name, i) {\n return (\n '' + dayNames[(i + dayOffset) % dayNames.length] + ''\n );\n }).join('') +\n mapDays(hilightedDate, dayOffset, function (date) {\n var isNotInMonth = date.getMonth() !== hilightedMonth;\n var isDisabled = !opts.inRange(date);\n var isToday = date.getTime() === today;\n var className = 'dp-day';\n className += (isNotInMonth ? ' dp-edge-day' : '');\n className += (datesEq(date, hilightedDate) ? ' dp-current' : '');\n className += (datesEq(date, selectedDate) ? ' dp-selected' : '');\n className += (isDisabled ? ' dp-day-disabled' : '');\n className += (isToday ? ' dp-day-today' : '');\n className += ' ' + opts.dateClass(date, dp);\n\n return (\n ''\n );\n }) +\n '
' +\n '' +\n '
'\n );\n }\n\n /**\n * keyDown handles the key down event for the day-picker\n *\n * @param {Event} e\n * @param {DatePickerContext} dp\n */\n function keyDown(e, dp) {\n var key = e.keyCode;\n var shiftBy =\n (key === Key.left) ? -1 :\n (key === Key.right) ? 1 :\n (key === Key.up) ? -7 :\n (key === Key.down) ? 7 :\n 0;\n\n if (key === Key.esc) {\n dp.close();\n } else if (shiftBy) {\n e.preventDefault();\n dp.setState({\n hilightedDate: shiftDay(dp.state.hilightedDate, shiftBy)\n });\n }\n }\n\n function selectToday(e, dp) {\n dp.setState({\n selectedDate: now(),\n });\n }\n\n function clear(e, dp) {\n dp.setState({\n selectedDate: null,\n });\n }\n\n function close(e, dp) {\n dp.close();\n }\n\n function showMonthPicker(e, dp) {\n dp.setState({\n view: 'month'\n });\n }\n\n function showYearPicker(e, dp) {\n dp.setState({\n view: 'year'\n });\n }\n\n function gotoNextMonth(e, dp) {\n var hilightedDate = dp.state.hilightedDate;\n dp.setState({\n hilightedDate: shiftMonth(hilightedDate, 1)\n });\n }\n\n function gotoPrevMonth(e, dp) {\n var hilightedDate = dp.state.hilightedDate;\n dp.setState({\n hilightedDate: shiftMonth(hilightedDate, -1)\n });\n }\n\n function selectDay(e, dp) {\n dp.setState({\n selectedDate: new Date(parseInt(e.target.getAttribute('data-date'))),\n });\n }\n\n function mapDays(currentDate, dayOffset, fn) {\n var result = '';\n var iter = new Date(currentDate);\n iter.setDate(1);\n iter.setDate(1 - iter.getDay() + dayOffset);\n\n // If we are showing monday as the 1st of the week,\n // and the monday is the 2nd of the month, the sunday won't\n // show, so we need to shift backwards\n if (dayOffset && iter.getDate() === dayOffset + 1) {\n iter.setDate(dayOffset - 6);\n }\n\n // We are going to have 6 weeks always displayed to keep a consistent\n // calendar size\n for (var day = 0; day < (6 * 7); ++day) {\n result += fn(iter);\n iter.setDate(iter.getDate() + 1);\n }\n\n return result;\n }\n\n /**\n * @file Manages the month-picker view.\n */\n\n var monthPicker = {\n onKeyDown: keyDown$1,\n onClick: {\n 'dp-month': onChooseMonth\n },\n render: render$1\n };\n\n function onChooseMonth(e, dp) {\n dp.setState({\n hilightedDate: setMonth(dp.state.hilightedDate, parseInt(e.target.getAttribute('data-month'))),\n view: 'day',\n });\n }\n\n /**\n * render renders the month picker as an HTML string\n *\n * @param {DatePickerContext} dp the date picker context\n * @returns {string}\n */\n function render$1(dp) {\n var opts = dp.opts;\n var lang = opts.lang;\n var months = lang.months;\n var currentDate = dp.state.hilightedDate;\n var currentMonth = currentDate.getMonth();\n\n return (\n '
' +\n months.map(function (month, i) {\n var className = 'dp-month';\n className += (currentMonth === i ? ' dp-current' : '');\n\n return (\n ''\n );\n }).join('') +\n '
'\n );\n }\n\n /**\n * keyDown handles keydown events that occur in the month picker\n *\n * @param {Event} e\n * @param {DatePickerContext} dp\n */\n function keyDown$1(e, dp) {\n var key = e.keyCode;\n var shiftBy =\n (key === Key.left) ? -1 :\n (key === Key.right) ? 1 :\n (key === Key.up) ? -3 :\n (key === Key.down) ? 3 :\n 0;\n\n if (key === Key.esc) {\n dp.setState({\n view: 'day',\n });\n } else if (shiftBy) {\n e.preventDefault();\n dp.setState({\n hilightedDate: shiftMonth(dp.state.hilightedDate, shiftBy, true)\n });\n }\n }\n\n /**\n * @file Manages the year-picker view.\n */\n\n var yearPicker = {\n render: render$2,\n onKeyDown: keyDown$2,\n onClick: {\n 'dp-year': onChooseYear\n },\n };\n\n /**\n * view renders the year picker as an HTML string.\n *\n * @param {DatePickerContext} dp the date picker context\n * @returns {string}\n */\n function render$2(dp) {\n var state = dp.state;\n var currentYear = state.hilightedDate.getFullYear();\n var selectedYear = state.selectedDate.getFullYear();\n\n return (\n '
' +\n mapYears(dp, function (year) {\n var className = 'dp-year';\n className += (year === currentYear ? ' dp-current' : '');\n className += (year === selectedYear ? ' dp-selected' : '');\n\n return (\n ''\n );\n }) +\n '
'\n );\n }\n\n function onChooseYear(e, dp) {\n dp.setState({\n hilightedDate: setYear(dp.state.hilightedDate, parseInt(e.target.getAttribute('data-year'))),\n view: 'day',\n });\n }\n\n function keyDown$2(e, dp) {\n var key = e.keyCode;\n var opts = dp.opts;\n var shiftBy =\n (key === Key.left || key === Key.up) ? 1 :\n (key === Key.right || key === Key.down) ? -1 :\n 0;\n\n if (key === Key.esc) {\n dp.setState({\n view: 'day',\n });\n } else if (shiftBy) {\n e.preventDefault();\n var shiftedYear = shiftYear(dp.state.hilightedDate, shiftBy);\n\n dp.setState({\n hilightedDate: constrainDate(shiftedYear, opts.min, opts.max),\n });\n }\n }\n\n function mapYears(dp, fn) {\n var result = '';\n var max = dp.opts.max.getFullYear();\n\n for (var i = max; i >= dp.opts.min.getFullYear(); --i) {\n result += fn(i);\n }\n\n return result;\n }\n\n /**\n * @file Defines the base date picker behavior, overridden by various modes.\n */\n\n var views = {\n day: dayPicker,\n year: yearPicker,\n month: monthPicker\n };\n\n function BaseMode(input, emit, opts) {\n var detatchInputEvents; // A function that detaches all events from the input\n var closing = false; // A hack to prevent calendar from re-opening when closing.\n var selectedDate; // The currently selected date\n var dp = {\n // The root DOM element for the date picker, initialized on first open.\n el: undefined,\n opts: opts,\n shouldFocusOnBlur: true,\n shouldFocusOnRender: true,\n state: initialState(),\n adjustPosition: noop,\n containerHTML: '
',\n\n attachToDom: function () {\n document.body.appendChild(dp.el);\n },\n\n updateInput: function (selectedDate) {\n var e = new CustomEvent('change', {bubbles: true});\n e.simulated = true;\n input.value = selectedDate ? opts.format(selectedDate) : '';\n input.dispatchEvent(e);\n },\n\n computeSelectedDate: function () {\n return opts.parse(input.value);\n },\n\n currentView: function() {\n return views[dp.state.view];\n },\n\n open: function () {\n if (closing) {\n return;\n }\n\n if (!dp.el) {\n dp.el = createContainerElement(opts, dp.containerHTML);\n attachContainerEvents(dp);\n }\n\n selectedDate = constrainDate(dp.computeSelectedDate(), opts.min, opts.max);\n dp.state.hilightedDate = selectedDate || opts.hilightedDate;\n dp.state.view = 'day';\n\n dp.attachToDom();\n dp.render();\n\n emit('open');\n },\n\n isVisible: function () {\n return !!dp.el && !!dp.el.parentNode;\n },\n\n hasFocus: function () {\n var focused = document.activeElement;\n return dp.el &&\n dp.el.contains(focused) &&\n focused.className.indexOf('dp-focuser') < 0;\n },\n\n shouldHide: function () {\n return dp.isVisible();\n },\n\n close: function (becauseOfBlur) {\n var el = dp.el;\n\n if (!dp.isVisible()) {\n return;\n }\n\n if (el) {\n var parent = el.parentNode;\n parent && parent.removeChild(el);\n }\n\n closing = true;\n\n if (becauseOfBlur && dp.shouldFocusOnBlur) {\n focusInput(input);\n }\n\n // When we close, the input often gains refocus, which\n // can then launch the date picker again, so we buffer\n // a bit and don't show the date picker within N ms of closing\n setTimeout(function() {\n closing = false;\n }, 100);\n\n emit('close');\n },\n\n destroy: function () {\n dp.close();\n detatchInputEvents();\n },\n\n render: function () {\n if (!dp.el) {\n return;\n }\n\n var hadFocus = dp.hasFocus();\n var html = dp.currentView().render(dp);\n html && (dp.el.firstChild.innerHTML = html);\n\n dp.adjustPosition();\n\n if (hadFocus || dp.shouldFocusOnRender) {\n focusCurrent(dp);\n }\n },\n\n // Conceptually similar to setState in React, updates\n // the view state and re-renders.\n setState: function (state) {\n for (var key in state) {\n dp.state[key] = state[key];\n }\n\n emit('statechange');\n dp.render();\n },\n };\n\n detatchInputEvents = attachInputEvents(input, dp);\n\n // Builds the initial view state\n // selectedDate is a special case and causes changes to hilightedDate\n // hilightedDate is set on open, so remains undefined initially\n // view is the current view (day, month, year)\n function initialState() {\n return {\n get selectedDate() {\n return selectedDate;\n },\n set selectedDate(dt) {\n if (dt && !opts.inRange(dt)) {\n return;\n }\n\n if (dt) {\n selectedDate = new Date(dt);\n dp.state.hilightedDate = selectedDate;\n } else {\n selectedDate = dt;\n }\n\n dp.updateInput(selectedDate);\n emit('select');\n dp.close();\n },\n view: 'day',\n };\n }\n\n return dp;\n }\n\n function createContainerElement(opts, containerHTML) {\n var el = document.createElement('div');\n\n el.className = opts.mode;\n el.innerHTML = containerHTML;\n\n return el;\n }\n\n function attachInputEvents(input, dp) {\n var bufferShow = bufferFn(5, function () {\n if (dp.shouldHide()) {\n dp.close();\n } else {\n dp.open();\n }\n });\n\n var off = [\n on('blur', input, bufferFn(150, function () {\n if (!dp.hasFocus()) {\n dp.close(true);\n }\n })),\n\n on('mousedown', input, function () {\n if (input === document.activeElement) {\n bufferShow();\n }\n }),\n\n on('focus', input, bufferShow),\n\n on('input', input, function (e) {\n var date = dp.opts.parse(e.target.value);\n isNaN(date) || dp.setState({\n hilightedDate: date\n });\n }),\n ];\n\n // Unregister all events that were registered above.\n return function() {\n off.forEach(function (f) {\n f();\n });\n };\n }\n\n function focusCurrent(dp) {\n var current = dp.el.querySelector('.dp-current');\n return current && current.focus();\n }\n\n function attachContainerEvents(dp) {\n var el = dp.el;\n var calEl = el.querySelector('.dp');\n\n // Hack to get iOS to show active CSS states\n el.ontouchstart = noop;\n\n function onClick(e) {\n e.target.className.split(' ').forEach(function(evt) {\n var handler = dp.currentView().onClick[evt];\n handler && handler(e, dp);\n });\n }\n\n // The calender fires a blur event *every* time we redraw\n // this means we need to buffer the blur event to see if\n // it still has no focus after redrawing, and only then\n // do we return focus to the input. A possible other approach\n // would be to set context.redrawing = true on redraw and\n // set it to false in the blur event.\n on('blur', calEl, bufferFn(150, function () {\n if (!dp.hasFocus()) {\n dp.close(true);\n }\n }));\n\n on('keydown', el, function (e) {\n if (e.keyCode === Key.enter) {\n onClick(e);\n } else {\n dp.currentView().onKeyDown(e, dp);\n }\n });\n\n // If the user clicks in non-focusable space, but\n // still within the date picker, we don't want to\n // hide, so we need to hack some things...\n on('mousedown', calEl, function (e) {\n e.target.focus && e.target.focus(); // IE hack\n if (document.activeElement !== e.target) {\n e.preventDefault();\n focusCurrent(dp);\n }\n });\n\n on('click', el, onClick);\n }\n\n function focusInput(input) {\n // When the modal closes, we need to focus the original input so the\n // user can continue tabbing from where they left off.\n input.focus();\n\n // iOS zonks out if we don't blur the input, so...\n if (/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream) {\n input.blur();\n }\n }\n\n /**\n * @file Defines the modal date picker behavior.\n */\n\n function ModalMode(input, emit, opts) {\n var dp = BaseMode(input, emit, opts);\n\n // In modal mode, users really shouldn't be able to type in\n // the input, as all input is done via the calendar.\n input.readonly = true;\n\n // In modal mode, we need to know when the user has tabbed\n // off the end of the calendar, and set focus to the original\n // input. To do this, we add a special element to the DOM.\n // When the user tabs off the bottom of the calendar, they\n // will tab onto this element.\n dp.containerHTML += '.';\n\n return dp;\n }\n\n /**\n * @file Defines the dropdown date picker behavior.\n */\n\n function DropdownMode(input, emit, opts) {\n var dp = BaseMode(input, emit, opts);\n\n dp.shouldFocusOnBlur = false;\n\n Object.defineProperty(dp, 'shouldFocusOnRender', {\n get: function() {\n return input !== document.activeElement;\n }\n });\n\n dp.adjustPosition = function () {\n autoPosition(input, dp);\n };\n\n return dp;\n }\n\n function autoPosition(input, dp) {\n var inputPos = input.getBoundingClientRect();\n var win = window;\n\n adjustCalY(dp, inputPos, win);\n adjustCalX(dp, inputPos, win);\n\n dp.el.style.visibility = '';\n }\n\n function adjustCalX(dp, inputPos, win) {\n var cal = dp.el;\n var scrollLeft = win.pageXOffset;\n var inputLeft = inputPos.left + scrollLeft;\n var maxRight = win.innerWidth + scrollLeft;\n var offsetWidth = cal.offsetWidth;\n var calRight = inputLeft + offsetWidth;\n var shiftedLeft = maxRight - offsetWidth;\n var left = calRight > maxRight && shiftedLeft > 0 ? shiftedLeft : inputLeft;\n\n cal.style.left = left + 'px';\n }\n\n function adjustCalY(dp, inputPos, win) {\n var cal = dp.el;\n var scrollTop = win.pageYOffset;\n var inputTop = scrollTop + inputPos.top;\n var calHeight = cal.offsetHeight;\n var belowTop = inputTop + inputPos.height + 8;\n var aboveTop = inputTop - calHeight - 8;\n var isAbove = (aboveTop > 0 && belowTop + calHeight > scrollTop + win.innerHeight);\n var top = isAbove ? aboveTop : belowTop;\n\n if (cal.classList) {\n cal.classList.toggle('dp-is-above', isAbove);\n cal.classList.toggle('dp-is-below', !isAbove);\n }\n cal.style.top = top + 'px';\n }\n\n /**\n * @file Defines the permanent date picker behavior.\n */\n\n function PermanentMode(root, emit, opts) {\n var dp = BaseMode(root, emit, opts);\n\n dp.close = noop;\n dp.destroy = noop;\n dp.updateInput = noop;\n dp.shouldFocusOnRender = opts.shouldFocusOnRender;\n\n dp.computeSelectedDate = function () {\n return opts.hilightedDate;\n };\n\n dp.attachToDom = function () {\n root.appendChild(dp.el);\n };\n\n dp.open();\n\n return dp;\n }\n\n /**\n * @file Defines the various date picker modes (modal, dropdown, permanent)\n */\n\n function Mode(input, emit, opts) {\n input = input && input.tagName ? input : document.querySelector(input);\n\n if (opts.mode === 'dp-modal') {\n return ModalMode(input, emit, opts);\n }\n\n if (opts.mode === 'dp-below') {\n return DropdownMode(input, emit, opts);\n }\n\n if (opts.mode === 'dp-permanent') {\n return PermanentMode(input, emit, opts);\n }\n }\n\n /**\n * @file Defines simple event emitter behavior.\n */\n\n /**\n * Emitter constructs a new emitter object which has on/off methods.\n *\n * @returns {EventEmitter}\n */\n function Emitter() {\n var handlers = {};\n\n function onOne(name, handler) {\n (handlers[name] = (handlers[name] || [])).push(handler);\n }\n\n function onMany(fns) {\n for (var name in fns) {\n onOne(name, fns[name]);\n }\n }\n\n return {\n on: function (name, handler) {\n if (handler) {\n onOne(name, handler);\n } else {\n onMany(name);\n }\n\n return this;\n },\n\n emit: function (name, arg) {\n (handlers[name] || []).forEach(function (handler) {\n handler(name, arg);\n });\n },\n\n off: function (name, handler) {\n if (!name) {\n handlers = {};\n } else if (!handler) {\n handlers[name] = [];\n } else {\n handlers[name] = (handlers[name] || []).filter(function (h) {\n return h !== handler;\n });\n }\n\n return this;\n }\n };\n }\n\n /**\n * @file The root date picker file, defines public exports for the library.\n */\n\n /**\n * The date picker language configuration\n * @typedef {Object} LangOptions\n * @property {Array.} [days] - Days of the week\n * @property {Array.} [months] - Months of the year\n * @property {string} today - The label for the 'today' button\n * @property {string} close - The label for the 'close' button\n * @property {string} clear - The label for the 'clear' button\n */\n\n /**\n * The configuration options for a date picker.\n *\n * @typedef {Object} DatePickerOptions\n * @property {LangOptions} [lang] - Configures the label text, defaults to English\n * @property {('dp-modal'|'dp-below'|'dp-permanent')} [mode] - The date picker mode, defaults to 'dp-modal'\n * @property {(string|Date)} [hilightedDate] - The date to hilight if no date is selected\n * @property {function(string|Date):Date} [parse] - Parses a date, the complement of the \"format\" function\n * @property {function(Date):string} [format] - Formats a date for displaying to user\n * @property {function(Date):string} [dateClass] - Associates a custom CSS class with a date\n * @property {function(Date):boolean} [inRange] - Indicates whether or not a date is selectable\n * @property {(string|Date)} [min] - The minimum selectable date (inclusive, default 100 years ago)\n * @property {(string|Date)} [max] - The maximum selectable date (inclusive, default 100 years from now)\n */\n\n /**\n * The state values for the date picker\n *\n * @typedef {Object} DatePickerState\n * @property {string} view - The current view 'day' | 'month' | 'year'\n * @property {Date} selectedDate - The date which has been selected by the user\n * @property {Date} hilightedDate - The date which is currently hilighted / active\n */\n\n /**\n * An instance of TinyDatePicker\n *\n * @typedef {Object} DatePicker\n * @property {DatePickerState} state - The values currently displayed.\n * @property {function} on - Adds an event handler\n * @property {function} off - Removes an event handler\n * @property {function} setState - Changes the current state of the date picker\n * @property {function} open - Opens the date picker\n * @property {function} close - Closes the date picker\n * @property {function} destroy - Destroys the date picker (removing all handlers from the input, too)\n */\n\n /**\n * TinyDatePicker constructs a new date picker for the specified input\n *\n * @param {HTMLElement | string} input The input or CSS selector associated with the datepicker\n * @param {DatePickerOptions} opts The options for initializing the date picker\n * @returns {DatePicker}\n */\n function TinyDatePicker(input, opts) {\n var emitter = Emitter();\n var options = DatePickerOptions(opts);\n var mode = Mode(input, emit, options);\n var me = {\n get state() {\n return mode.state;\n },\n on: emitter.on,\n off: emitter.off,\n setState: mode.setState,\n open: mode.open,\n close: mode.close,\n destroy: mode.destroy,\n };\n\n function emit(evt) {\n emitter.emit(evt, me);\n }\n\n return me;\n }\n\n return TinyDatePicker;\n\n})));\n","class DateUtils {\n\n //--------------------------\n // constructor\n //--------------------------\n constructor() {}\n\n //--------------------------\n // methods\n //--------------------------\n getMKtime() {\n var time = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), new Date().getHours(), new Date().getMinutes(), new Date().getSeconds(), 0).getTime() / 1000;\n return time;\n }\n\n convertMKtime(seconds) {\n var date = new Date(seconds * 1000);\n return date;\n }\n\n getDate(type, rawdate) {\n var day = ((rawdate != null || rawdate != '') ? String(new Date(rawdate).getUTCDate()) : String(new Date().getUTCDate()));\n var month = ((rawdate != null || rawdate != '') ? String(new Date(rawdate).getUTCMonth() + 1) : String(new Date().getUTCMonth() + 1));\n var year = ((rawdate != null || rawdate != '') ? String(new Date(rawdate).getUTCFullYear()) : String(new Date().getUTCFullYear()));\n var hour = ((rawdate != null || rawdate != '') ? String(new Date(rawdate).getUTCHours()) : String(new Date().getUTCHours()));\n var minute = ((rawdate != null || rawdate != '') ? String(new Date(rawdate).getUTCMinutes()) : String(new Date().getUTCMinutes()));\n var seconds = ((rawdate != null || rawdate != '') ? String(new Date(rawdate).getUTCSeconds()) : String(new Date().getUTCSeconds()));\n var millisecond = ((rawdate != null || rawdate != '') ? String(new Date(rawdate).getUTCMilliseconds()) : String(new Date().getUTCMilliseconds()));\n var offset = ((rawdate != null || rawdate != '') ? String(new Date(rawdate).getTimezoneOffset()) : String(new Date().getTimezoneOffset()));\n if (day.length == 1)\n day = String(\"0\" + day);\n if (month.length == 1)\n month = String(\"0\" + month);\n offset = String(offset / 60);\n if (offset.length == 1)\n offset = String(\"0\" + offset);\n switch (type) {\n case \"day\":\n return day;\n break;\n case \"month\":\n return month;\n break;\n case \"year\":\n return year;\n break;\n case \"stamp\":\n return String(year + \"-\" + month + \"-\" + day + \" \" + hour + \":\" + minute + \":\" + seconds + \".\" + millisecond + \"-\" + (offset));\n break\n default:\n return String(year + \"-\" + month + \"-\" + day);\n break;\n }\n }\n\n //--------------------------\n // event handlers\n //--------------------------\n}\n\nexport default DateUtils","const attributes = [\n 'borderBottomWidth',\n 'borderLeftWidth',\n 'borderRightWidth',\n 'borderTopStyle',\n 'borderRightStyle',\n 'borderBottomStyle',\n 'borderLeftStyle',\n 'borderTopWidth',\n 'boxSizing',\n 'fontFamily',\n 'fontSize',\n 'fontWeight',\n 'height',\n 'letterSpacing',\n 'lineHeight',\n 'marginBottom',\n 'marginLeft',\n 'marginRight',\n 'marginTop',\n 'outlineWidth',\n 'overflow',\n 'overflowX',\n 'overflowY',\n 'paddingBottom',\n 'paddingLeft',\n 'paddingRight',\n 'paddingTop',\n 'textAlign',\n 'textOverflow',\n 'textTransform',\n 'whiteSpace',\n 'wordBreak',\n 'wordWrap',\n];\n\n/**\n * Create a mirror\n *\n * @param {Element} element The element\n * @param {string} html The html\n *\n * @return {object} The mirror object\n */\nconst createMirror = (element, html) => {\n\n /**\n * The mirror element\n */\n const mirror = document.createElement('div');\n\n /**\n * Create the CSS for the mirror object\n *\n * @return {object} The style object\n */\n const mirrorCss = () => {\n const css = {\n position: 'absolute',\n left: -9999,\n top: 0,\n zIndex: -2000\n };\n\n if (element.tagName === 'TEXTAREA') {\n attributes.push('width');\n }\n\n attributes.forEach((attr) => {\n css[attr] = getComputedStyle(element)[attr];\n });\n\n return css;\n };\n\n /**\n * Initialize the mirror\n *\n * @param {string} html The html\n *\n * @return {void}\n */\n const initialize = (html) => {\n const styles = mirrorCss();\n Object.keys(styles).forEach(key => {\n mirror.style[key] = styles[key];\n });\n mirror.innerHTML = html;\n element.parentNode.insertBefore(mirror, element.nextSibling);\n };\n\n /**\n * Get the rect\n *\n * @return {Rect} The bounding rect\n */\n const rect = () => {\n const marker = mirror.ownerDocument.getElementById('caret-position-marker');\n const boundingRect = {\n left: marker.offsetLeft,\n top: marker.offsetTop,\n height: marker.offsetHeight\n };\n mirror.parentNode.removeChild(mirror);\n\n return boundingRect;\n };\n\n initialize(html);\n\n return {\n rect,\n };\n};\n\nexport default createMirror;\n","/**\n * Check if a DOM Element is content editable\n *\n * @param {Element} element The DOM element\n *\n * @return {bool} If it is content editable\n */\nexport const isContentEditable = (element) => !!(\n element.contentEditable &&\n element.contentEditable === 'true'\n);\n\n/**\n * Get the context from settings passed in\n *\n * @param {object} settings The settings object\n *\n * @return {object} window and document\n */\nexport const getContext = (settings = {}) => {\n const { customPos, iframe, noShadowCaret } = settings;\n if (iframe) {\n return {\n iframe,\n window: iframe.contentWindow,\n document: iframe.contentDocument || iframe.contentWindow.document,\n noShadowCaret,\n customPos,\n };\n }\n\n return {\n window,\n document,\n noShadowCaret,\n customPos,\n };\n};\n\n/**\n * Get the offset of an element\n *\n * @param {Element} element The DOM element\n * @param {object} ctx The context\n *\n * @return {object} top and left\n */\nexport const getOffset = (element, ctx) => {\n const win = ctx && ctx.window || window;\n const doc = ctx && ctx.document || document;\n const rect = element.getBoundingClientRect();\n const docEl = doc.documentElement;\n const scrollLeft = win.pageXOffset || docEl.scrollLeft;\n const scrollTop = win.pageYOffset || docEl.scrollTop;\n\n return {\n top: rect.top + scrollTop,\n left: rect.left + scrollLeft\n };\n};\n\n/**\n * Check if a value is an object\n *\n * @param {any} value The value to check\n *\n * @return {bool} If it is an object\n */\nexport const isObject = (value) => typeof value === 'object' && value !== null;\n","import createMirror from './mirror';\nimport { getOffset as elementOffset } from './utils';\n\n/**\n * Create a Input caret object.\n *\n * @param {Element} element The element\n * @param {Object} ctx The context\n */\nconst createInputCaret = (element, ctx) => {\n\n /**\n * Get the current position\n *\n * @returns {int} The caret position\n */\n const getPos = () => {\n return element.selectionStart;\n };\n\n /**\n * Set the position\n *\n * @param {int} pos The position\n *\n * @return {Element} The element\n */\n const setPos = (pos) => {\n element.setSelectionRange(pos, pos);\n\n return element;\n };\n\n /**\n * The offset\n *\n * @param {int} pos The position\n *\n * @return {object} The offset\n */\n const getOffset = (pos) => {\n const rect = elementOffset(element);\n const position = getPosition(pos);\n\n return {\n top: rect.top + position.top + ctx.document.body.scrollTop,\n left: rect.left + position.left + ctx.document.body.scrollLeft,\n height: position.height,\n };\n };\n\n /**\n * Get the current position\n *\n * @param {int} pos The position\n *\n * @return {object} The position\n */\n const getPosition = (pos) => {\n const format = (val) => {\n let value = val.replace(/<|>|`|\"|&/g, '?')\n .replace(/\\r\\n|\\r|\\n/g,'
');\n return value;\n };\n\n if (ctx.customPos || ctx.customPos === 0) {\n pos = ctx.customPos;\n }\n\n const position = pos === undefined ? getPos() : pos;\n const startRange = element.value.slice(0, position);\n const endRange = element.value.slice(position);\n let html = `${format(startRange)}`;\n html += '|';\n html += `${format(endRange)}`;\n\n const mirror = createMirror(element, html);\n const rect = mirror.rect();\n rect.pos = getPos();\n\n return rect;\n };\n\n return {\n getPos,\n setPos,\n getOffset,\n getPosition,\n };\n};\n\nexport default createInputCaret;\n","/**\n * Create an Editable Caret\n * @param {Element} element The editable element\n * @param {object|null} ctx The context\n *\n * @return {EditableCaret}\n */\nconst createEditableCaret = (element, ctx) => {\n\n /**\n * Set the caret position\n *\n * @param {int} pos The position to se\n *\n * @return {Element} The element\n */\n const setPos = (pos) => {\n const sel = ctx.window.getSelection();\n if (sel) {\n let offset = 0;\n let found = false;\n const find = (position, parent) => {\n for (let i = 0; i < parent.childNodes.length; i++) {\n const node = parent.childNodes[i];\n if (found) {\n break;\n }\n if (node.nodeType === 3) {\n if (offset + node.length >= position) {\n found = true;\n const range = ctx.document.createRange();\n range.setStart(node, position - offset);\n sel.removeAllRanges();\n sel.addRange(range);\n break;\n } else {\n offset += node.length;\n }\n } else {\n find(pos, node);\n }\n }\n };\n find(pos, element);\n }\n\n return element;\n };\n\n /**\n * Get the offset\n *\n * @return {object} The offset\n */\n const getOffset = () => {\n const range = getRange();\n let offset = {\n height: 0,\n left: 0,\n right: 0,\n };\n\n if (!range) {\n return offset;\n }\n\n const hasCustomPos = ctx.customPos || ctx.customPos === 0;\n\n // endContainer in Firefox would be the element at the start of\n // the line\n if ((range.endOffset - 1 > 0 && range.endContainer !== element) || hasCustomPos) {\n const clonedRange = range.cloneRange();\n const fixedPosition = hasCustomPos ? ctx.customPos : range.endOffset;\n clonedRange.setStart(range.endContainer, fixedPosition - 1 < 0 ? 0 : fixedPosition - 1);\n clonedRange.setEnd(range.endContainer, fixedPosition);\n const rect = clonedRange.getBoundingClientRect();\n offset = {\n height: rect.height,\n left: rect.left + rect.width,\n top: rect.top,\n };\n clonedRange.detach();\n }\n\n if ((!offset || (offset && offset.height === 0)) && !ctx.noShadowCaret) {\n const clonedRange = range.cloneRange();\n const shadowCaret = ctx.document.createTextNode('|');\n clonedRange.insertNode(shadowCaret);\n clonedRange.selectNode(shadowCaret);\n const rect = clonedRange.getBoundingClientRect();\n offset = {\n height: rect.height,\n left: rect.left,\n top: rect.top,\n };\n shadowCaret.parentNode.removeChild(shadowCaret);\n clonedRange.detach();\n }\n\n if (offset) {\n const doc = ctx.document.documentElement;\n offset.top += ctx.window.pageYOffset - (doc.clientTop || 0);\n offset.left += ctx.window.pageXOffset - (doc.clientLeft || 0);\n }\n\n return offset;\n };\n\n /**\n * Get the position\n *\n * @return {object} The position\n */\n const getPosition = () => {\n const offset = getOffset();\n const pos = getPos();\n const rect = element.getBoundingClientRect();\n const inputOffset = {\n top: rect.top + ctx.document.body.scrollTop,\n left: rect.left + ctx.document.body.scrollLeft\n };\n offset.left -= inputOffset.left;\n offset.top -= inputOffset.top;\n offset.pos = pos;\n\n return offset;\n };\n\n /**\n * Get the range\n *\n * @return {Range|null}\n */\n const getRange = () => {\n if (!ctx.window.getSelection) {\n return;\n }\n const sel = ctx.window.getSelection();\n\n return sel.rangeCount > 0 ? sel.getRangeAt(0) : null;\n };\n\n /**\n * Get the caret position\n *\n * @return {int} The position\n */\n const getPos = () => {\n const range = getRange();\n const clonedRange = range.cloneRange();\n clonedRange.selectNodeContents(element);\n clonedRange.setEnd(range.endContainer, range.endOffset);\n const pos = clonedRange.toString().length;\n clonedRange.detach();\n\n return pos;\n };\n\n return {\n getPos,\n setPos,\n getPosition,\n getOffset,\n getRange,\n };\n};\n\nexport default createEditableCaret;\n","import createInputCaret from './input';\nimport createEditableCaret from './editable';\nimport {\n isContentEditable,\n getContext,\n isObject,\n} from './utils';\n\nexport { getOffset } from './utils';\n\nconst createCaret = (element, ctx) => {\n if (isContentEditable(element)) {\n return createEditableCaret(element, ctx);\n }\n\n return createInputCaret(element, ctx);\n};\n\nexport const position = (element, value, settings = {}) => {\n let options = settings;\n if (isObject(value)) {\n options = value;\n value = null;\n }\n const ctx = getContext(options);\n const caret = createCaret(element, ctx);\n\n if (value || value === 0) {\n return caret.setPos(value);\n }\n\n return caret.getPosition();\n};\n\n/**\n *\n * @param {Element} element The DOM element\n * @param {number|undefined} value The value to set\n * @param {object} settings Any settings for context\n */\nexport const offset = (element, value, settings = {}) => {\n let options = settings;\n if (isObject(value)) {\n options = value;\n value = null;\n }\n\n const ctx = getContext(options);\n const caret = createCaret(element, ctx);\n return caret.getOffset(value);\n};\n","import * as DataEvent from '../events/DataEvent';\nimport DateUtils from '../utilities/DateUtils';\nimport\n{\n position,\n offset\n}\nfrom 'caret-pos';\nimport EventEmitter from '../events/EventEmitter';\nimport * as EditorEvent from '../events/EditorEvent';\nclass TextEditor extends EventEmitter\n{\n //--------------------------\n // constructor\n //--------------------------\n constructor(textEditor, scrollLimit)\n {\n super();\n hljs.initHighlightingOnLoad();\n this.dateUtils = new DateUtils();\n this.textEditor = textEditor;\n this.fixLimit = scrollLimit;\n this.caretPos = null;\n this.url = '';\n let self = this;\n this.setInputs();\n window.addEventListener(\"scroll\", f =>\n {\n var fixLimit = this.fixLimit;\n if (window.pageYOffset >= fixLimit)\n {\n document.getElementById('edit-control').style.position = \"fixed\"\n }\n else\n {\n document.getElementById('edit-control').style.position = \"relative\"\n }\n });\n this.refresh();\n }\n //--------------------------\n // methods\n //--------------------------\n setInputs()\n {\n let self = this;\n var editorButtons = document.querySelectorAll('.editor-button');\n for (var i = 0, length = editorButtons.length; i < length; i++)\n {\n editorButtons[i].addEventListener('click', e => this.handleEditorOption(e), false);\n }\n this.textEditor.addEventListener('input', f =>\n {\n if (f.inputType == \"insertParagraph\")\n {\n var caret = position(self.textEditor).pos + 1;\n var spiffed = hljs.highlight('markdown', self.textEditor.innerText).value;\n var temp = document.createElement(\"div\");\n temp.innerText = spiffed;\n self.textEditor.innerHTML = temp.innerText;\n position(self.textEditor, caret)\n }\n else\n {\n self.refresh()\n }\n })\n }\n refresh()\n {\n var caret = position(this.textEditor).pos;\n var spiffed = hljs.highlight('markdown', this.textEditor.innerText).value;\n var temp = document.createElement(\"div\");\n temp.innerText = spiffed;\n this.textEditor.innerHTML = temp.innerText;\n position(this.textEditor, caret)\n }\n notify(type, data)\n {\n switch (type)\n {\n case DataEvent.POST_UPDATED:\n document.getElementById('submit-update').classList.add('icon-hide');\n document.getElementById('submit-good').classList.remove('icon-hide');\n document.getElementById('edit-update').classList.remove('submit-start');\n document.getElementById('edit-update').classList.add('submit-cool');\n setTimeout(f =>\n {\n document.getElementById('submit-update').classList.remove('icon-hide');\n document.getElementById('submit-good').classList.add('icon-hide');\n document.getElementById('edit-update').classList.add('submit-start');\n document.getElementById('edit-update').classList.remove('submit-cool');\n }, 2000);\n break;\n case DataEvent.POST_ADDED:\n // do nothing\n break;\n case EditorEvent.EDITOR_UPLOAD_POST_IMAGE:\n position(this.textEditor, this.caretPos);\n var sel, range, pulled;\n sel = window.getSelection(); //console.log(sel)\n //console.log(note.message)\n if (sel.rangeCount)\n {\n range = sel.getRangeAt(0);\n pulled = sel.getRangeAt(0).toString();\n range.deleteContents();\n range.insertNode(document.createTextNode(\"![image alt text](\" + data + \" 'image title')\"));\n }\n this.refresh();\n break;\n }\n }\n //--------------------------\n // event handlers\n //--------------------------\n handleEditorOption(e)\n {\n e.preventDefault();\n var self = this;\n var sel, range, pulled;\n sel = window.getSelection(); //console.log(sel)\n if (sel.rangeCount)\n {\n range = sel.getRangeAt(0);\n pulled = sel.getRangeAt(0).toString();\n range.deleteContents();\n switch (e.target.id)\n {\n case \"edit-bold\":\n range.insertNode(document.createTextNode(\"**\" + pulled + \"**\"));\n break;\n case \"edit-italic\":\n range.insertNode(document.createTextNode(\"*\" + pulled + \"*\"));\n break;\n case \"edit-strikethrough\":\n range.insertNode(document.createTextNode(\"\" + pulled + \"\"));\n break;\n case \"edit-header1\":\n range.insertNode(document.createTextNode(\"# \" + pulled));\n break;\n case \"edit-header2\":\n range.insertNode(document.createTextNode(\"## \" + pulled));\n break;\n case \"edit-header3\":\n range.insertNode(document.createTextNode(\"### \" + pulled));\n break;\n case \"edit-image\":\n this.caretPos = position(this.textEditor).pos;\n this.emitEvent(EditorEvent.EDITOR_UPLOAD_POST_IMAGE);\n break;\n case \"submit-save\":\n case \"edit-save\":\n this.emitEvent(EditorEvent.EDITOR_SAVE);\n break;\n case \"submit-update\":\n case \"edit-update\":\n this.emitEvent(EditorEvent.EDITOR_UPDATE);\n break\n case \"edit-link\":\n range.insertNode(document.createTextNode(\"[\" + pulled + \"](PASTE URL HERE)\"));\n break;\n case \"edit-delete\":\n this.emitEvent(EditorEvent.EDITOR_DELETE);\n break\n default:\n //range.insertNode(document.createTextNode(\"[\" + self.url + \"](PASTE URL HERE)\"));\n break;\n }\n }\n this.refresh()\n }\n}\nexport default TextEditor","//TOOLS\nimport DataUtils,\n{\n REQUEST_TYPE_GET,\n REQUEST_TYPE_PUT,\n REQUEST_TYPE_POST,\n REQUEST_TYPE_DELETE,\n CONTENT_TYPE_JSON,\n CONTENT_TYPE_FORM\n}\nfrom '../../../../../brain/tools/utilities/DataUtils';\nimport * as DataEvent from '../../../../../brain/tools/events/DataEvent';\nimport Animate from '../../../../../brain/tools/effects/Animate';\nimport PostActions from '../actions/PostActions';\nimport * as EditorEvent from '../../../../../brain/tools/events/EditorEvent';\nimport TinyDatePicker from 'tiny-date-picker';\nimport DateUtils from '../../../../../brain/tools/utilities/DateUtils';\nimport TextEditor from '../../../../../brain/tools/ui/TextEditor';\nclass PostEditor\n{\n //--------------------------\n // constructor\n //--------------------------\n constructor()\n {\n //reframe('iframe');\n let self = this;\n this.uploadFiles;\n this.anim = new Animate();\n this.dataUtils = new DataUtils\n this.dateUtils = new DateUtils();\n if (document.getElementById('edit-post-text'))\n {\n this.editor = new TextEditor(document.getElementById('edit-post-text'), document.getElementById('header').offsetHeight + document.getElementById('post-header').offsetHeight + document.getElementById('post-feature').offsetHeight);\n this.editor.addListener(EditorEvent.EDITOR_DELETE, f => this.handleEditorOptions(EditorEvent.EDITOR_DELETE), false)\n this.editor.addListener(EditorEvent.EDITOR_UPLOAD_POST_IMAGE, f => this.handleEditorOptions(EditorEvent.EDITOR_UPLOAD_POST_IMAGE), false)\n this.editor.addListener(EditorEvent.EDITOR_UPDATE, f => this.handleEditorOptions(EditorEvent.EDITOR_UPDATE), false)\n this.editor.addListener(EditorEvent.EDITOR_SAVE, f => this.handleEditorOptions(EditorEvent.EDITOR_SAVE), false)\n document.getElementById('post-image').addEventListener('change', e => this.handlePostImageAdd(e), false);\n TinyDatePicker(document.getElementById('post-date'),\n {\n mode: 'dp-below',\n format(date)\n {\n //return date;\n return self.dateUtils.getDate('origin', date);\n }\n });\n }\n this.start();\n }\n //--------------------------\n // methods\n //--------------------------\n start()\n {\n let self = this;\n new Animate().object(\n {\n targets: document.getElementById('loader'),\n duration: 300,\n opacity: 0,\n easing: 'easeInOutQuad',\n complete: function()\n {\n document.getElementById('loader').style.display = 'none';\n document.getElementById('loader').style.visibility = 'hidden';\n new Animate().object(\n {\n targets: document.getElementById('header'),\n duration: 10,\n opacity: 1,\n easing: 'easeInOutQuad',\n complete: function()\n {\n if (document.getElementById('the-intro')) document.getElementById('the-intro').style.opacity = 1;\n if (document.getElementById('blog-entry')) document.getElementById('blog-entry').style.opacity = 1;\n }\n });\n }\n });\n if (document.getElementById('featured-image-drop'))\n {\n document.getElementById('featured-image-drop').addEventListener('dragover', this.handleDragOver, false);\n document.getElementById('featured-image-drop').addEventListener('drop', this.handleDrop, false);\n document.getElementById('featured-click').addEventListener('change', this.handleClicked, false);\n if (document.getElementById('new-upload-link'))\n {\n document.getElementById('new-upload-link').addEventListener('click', e =>\n {\n document.getElementById('featured-click').click();\n })\n }\n var optionButtons = document.querySelectorAll('.post-option-btn');\n for (var i = 0, length = optionButtons.length; i < length; i++)\n {\n optionButtons[i].addEventListener('click', e => this.handlePostOptions(e), false);\n }\n }\n }\n //--------------------------\n // event handlers\n //--------------------------\n handlePostOptions(e)\n {\n let currentOption;\n switch (e.target.id)\n {\n case \"option-page-icon\":\n case \"option-page\":\n currentOption = document.getElementById('option-page');\n break;\n case \"option-feature-icon\":\n case \"option-feature\":\n currentOption = document.getElementById('option-feature');\n break;\n case \"option-published-icon\":\n case \"option-published\":\n currentOption = document.getElementById('option-published');\n break;\n }\n let active = currentOption.getAttribute('data-active');\n (active == 'false') ? currentOption.setAttribute('data-active', 'true'): currentOption.setAttribute('data-active', 'false')\n }\n handleEditorOptions(e)\n {\n switch (e)\n {\n case EditorEvent.EDITOR_SAVE:\n case EditorEvent.EDITOR_UPDATE:\n let edit = false;\n if (e == EditorEvent.EDITOR_UPDATE) edit = true;\n new PostActions().submitPost(edit, PostEditor.uploadFiles).then((response) =>\n {\n let note = JSON.parse(response['response']['request'].response);\n this.editor.notify(note.message, note.postID);\n if (note.message == DataEvent.POST_ADDED) window.location = \"/@/dashboard/posts/edit/\" + note.postID;\n }).catch((err) =>\n {\n console.log(err)\n });\n break;\n case EditorEvent.EDITOR_DELETE:\n if (confirm('Aye! You know you\\'re deleting this post, right?'))\n {\n new PostActions().deletePost().then((response) =>\n {\n let note = JSON.parse(response['response']['request'].response);\n window.location = \"/@/dashboard/posts/\";\n //console.log(note);\n }).catch((err) =>\n {\n console.log(err)\n });\n }\n else\n {\n // Do nothing!\n }\n break;\n case EditorEvent.EDITOR_UPLOAD_POST_IMAGE:\n document.getElementById('post-image').click();\n break;\n }\n }\n handleDragOver(e)\n {\n e.stopPropagation();\n e.preventDefault();\n e.dataTransfer.dropEffect = 'copy'; // Explicitly show this is a copy.\n }\n handleClicked(e)\n {\n e.stopPropagation();\n e.preventDefault();\n //console.log(\"IMAGES \" + e.target.files);\n PostEditor.uploadFiles = e.target.files;\n for (var i = 0, f; f = PostEditor.uploadFiles[i]; i++)\n {\n // Only process image files.\n if (!f.type.match('image.*'))\n {\n continue;\n }\n var reader = new FileReader();\n // Closure to capture the file information.\n reader.onload = (function(theFile)\n {\n return function(f)\n {\n // Render thumbnail.\n var image = document.createElement('img');\n image.src = f.target.result;\n image.title = escape(theFile.name);\n var span = document.createElement('div');\n span.innerHTML = [''\n ].join('');\n //document.getElementById('featured-image-drop').insertBefore(span, null);\n document.getElementById('featured-image-drop').innerHTML = '';\n document.getElementById('featured-image-drop').appendChild(image);\n };\n })(f);\n // Read in the image file as a data URL.\n reader.readAsDataURL(f);\n }\n }\n handleDrop(e)\n {\n e.stopPropagation();\n e.preventDefault();\n PostEditor.uploadFiles = e.dataTransfer.files;\n //console.log(MemberArea.uploadFiles.length);\n for (var i = 0, f; f = PostEditor.uploadFiles[i]; i++)\n {\n // Only process image files.\n if (!f.type.match('image.*'))\n {\n continue;\n }\n var reader = new FileReader();\n // Closure to capture the file information.\n reader.onload = (function(theFile)\n {\n return function(f)\n {\n // Render thumbnail.\n var span = document.createElement('span');\n span.innerHTML = [''\n ].join('');\n //document.getElementById('featured-image-drop').insertBefore(span, null);\n document.getElementById('featured-image-drop').innerHTML = '';\n document.getElementById('featured-image-drop').appendChild(span);\n };\n })(f);\n // Read in the image file as a data URL.\n reader.readAsDataURL(f);\n }\n }\n handlePostImageAdd(e)\n {\n e.stopPropagation();\n e.preventDefault();\n let self = this;\n var postData = new FormData();\n var files = e.target.files;\n for (var i = 0; i < files.length; i++)\n {\n var file = files[i];\n // Check the file type.\n if (!file.type.match('image.*'))\n {\n continue;\n }\n postData.append('post_image', file, file.name);\n }\n this.dataUtils.request(\"/api/blog/add-post-image\", DataEvent.POST_IMAGE_ADDED, REQUEST_TYPE_POST, CONTENT_TYPE_FORM, postData).then((response) =>\n {\n self.editor.notify(EditorEvent.EDITOR_UPLOAD_POST_IMAGE, JSON.parse(response.request['response']).url);\n }).catch((err) =>\n {\n console.log(err)\n })\n }\n}\nPostEditor.uploadFiles = [];\nexport\n{\n PostEditor as\n default\n}","//TOOLS\nimport DataUtils, {\n REQUEST_TYPE_GET,\n REQUEST_TYPE_PUT,\n REQUEST_TYPE_POST,\n REQUEST_TYPE_DELETE,\n CONTENT_TYPE_JSON,\n CONTENT_TYPE_FORM\n} from '../../../../../brain/tools/utilities/DataUtils';\nimport PostEditor from './PostEditor';\nimport Animate from '../../../../../brain/tools/effects/Animate';\n\nclass DisplayManager {\n //--------------------------\n // constructor\n //--------------------------\n constructor() {\n this.dataUtils = new DataUtils();\n this.currentDisplay = '';\n this.urlPieces = document.URL.split(\"/\");\n //grab url so system knows what to display \n this.chooseDisplay(this.urlPieces[5], this.urlPieces[6]);\n }\n //--------------------------\n // methods\n //--------------------------\n start() {\n let self = this;\n // new stuff\n new Animate().object({\n targets: document.getElementById('loader'),\n duration: 300,\n opacity: 0,\n easing: 'easeInOutQuad',\n complete: function () {\n document.getElementById('loader').style.display = 'none';\n document.getElementById('loader').style.visibility = 'hidden';\n new Animate().object({\n targets: document.getElementById('header'),\n duration: 10,\n opacity: 1,\n easing: 'easeInOutQuad',\n complete: function () {\n document.getElementById('loader').style.display = 'none';\n document.getElementById('loader').style.visibility = 'hidden';\n }\n });\n }\n });\n }\n\n chooseDisplay(section, page) {\n this.currentDisplay = '';\n switch (section) {\n case 'posts':\n this.currentDisplay = new PostEditor();\n break;\n \n default:\n // just chill\n break;\n }\n this.start();\n\n }\n //--------------------------\n // event handlers\n //--------------------------\n\n}\nexport {\n DisplayManager as\n default\n}","'use strict';\n\nmodule.exports = argsArray;\n\nfunction argsArray(fun) {\n return function () {\n var len = arguments.length;\n if (len) {\n var args = [];\n var i = -1;\n while (++i < len) {\n args[i] = arguments[i];\n }\n return fun.call(this, args);\n } else {\n return fun.call(this, []);\n }\n };\n}","'use strict';\nvar Mutation = global.MutationObserver || global.WebKitMutationObserver;\n\nvar scheduleDrain;\n\n{\n if (Mutation) {\n var called = 0;\n var observer = new Mutation(nextTick);\n var element = global.document.createTextNode('');\n observer.observe(element, {\n characterData: true\n });\n scheduleDrain = function () {\n element.data = (called = ++called % 2);\n };\n } else if (!global.setImmediate && typeof global.MessageChannel !== 'undefined') {\n var channel = new global.MessageChannel();\n channel.port1.onmessage = nextTick;\n scheduleDrain = function () {\n channel.port2.postMessage(0);\n };\n } else if ('document' in global && 'onreadystatechange' in global.document.createElement('script')) {\n scheduleDrain = function () {\n\n // Create a