{"version":3,"sources":["../node_modules/prop-types-extra/lib/elementType.js","../../src/util.js","../../src/options.js","../../src/create-element.js","../../src/diff/props.js","../../src/component.js","../../src/create-context.js","../../src/constants.js","../../src/diff/children.js","../../src/diff/index.js","../../src/render.js","../../src/clone-element.js","../../src/diff/catch-error.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/pbkdf2/browser.js","../node_modules/pbkdf2/lib/precondition.js","../node_modules/pbkdf2/lib/default-encoding.js","../node_modules/pbkdf2/lib/sync-browser.js","../node_modules/pbkdf2/lib/to-buffer.js","../node_modules/moment/moment.js","../node_modules/process/browser.js","../../../src/utils/isBrowser.js","../../../src/utils/debounce.js","../../../src/utils/isFunction.js","../../../src/utils/getStyleComputedProperty.js","../../../src/utils/getParentNode.js","../../../src/utils/getScrollParent.js","../../../src/utils/getReferenceNode.js","../../../src/utils/isIE.js","../../../src/utils/getOffsetParent.js","../../../src/utils/getRoot.js","../../../src/utils/findCommonOffsetParent.js","../../../src/utils/isOffsetContainer.js","../../../src/utils/getScroll.js","../../../src/utils/includeScroll.js","../../../src/utils/getBordersSize.js","../../../src/utils/getWindowSizes.js","../../../src/utils/getClientRect.js","../../../src/utils/getBoundingClientRect.js","../../../src/utils/getOffsetRectRelativeToArbitraryNode.js","../../../src/utils/getViewportOffsetRectRelativeToArtbitraryNode.js","../../../src/utils/isFixed.js","../../../src/utils/getFixedPositionOffsetParent.js","../../../src/utils/getBoundaries.js","../../../src/utils/computeAutoPlacement.js","../../../src/utils/getReferenceOffsets.js","../../../src/utils/getOuterSizes.js","../../../src/utils/getOppositePlacement.js","../../../src/utils/getPopperOffsets.js","../../../src/utils/find.js","../../../src/utils/runModifiers.js","../../../src/utils/findIndex.js","../../../src/methods/update.js","../../../src/utils/isModifierEnabled.js","../../../src/utils/getSupportedPropertyName.js","../../../src/methods/destroy.js","../../../src/utils/getWindow.js","../../../src/utils/setupEventListeners.js","../../../src/methods/enableEventListeners.js","../../../src/methods/disableEventListeners.js","../../../src/utils/removeEventListeners.js","../../../src/utils/isNumeric.js","../../../src/utils/setStyles.js","../../../src/modifiers/computeStyle.js","../../../src/utils/isModifierRequired.js","../../../src/methods/placements.js","../../../src/utils/clockwise.js","../../../src/modifiers/flip.js","../../../src/modifiers/offset.js","../../../src/modifiers/index.js","../../../src/methods/defaults.js","../../../src/modifiers/shift.js","../../../src/modifiers/preventOverflow.js","../../../src/modifiers/keepTogether.js","../../../src/modifiers/arrow.js","../../../src/utils/getOppositeVariation.js","../../../src/modifiers/inner.js","../../../src/modifiers/hide.js","../../../src/utils/getRoundedOffsets.js","../../../src/modifiers/applyStyle.js","../../../src/utils/setAttributes.js","../../../src/index.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/pbkdf2/lib/async.js","../../src/index.js","../node_modules/parse-asn1/asn1.js","../node_modules/parse-asn1/certificate.js","../node_modules/parse-asn1/fixProc.js","../node_modules/prop-types-extra/lib/deprecated.js","../node_modules/prop-types-extra/node_modules/warning/warning.js","../node_modules/prop-types/factory.js","../node_modules/prop-types/factoryWithTypeCheckers.js","../node_modules/prop-types/lib/has.js","../node_modules/prop-types/checkPropTypes.js","../node_modules/moment/locale/vi.js","../node_modules/object-assign/index.js","../node_modules/prop-types-extra/lib/all.js","../node_modules/prop-types-extra/lib/isRequiredForA11y.js","../node_modules/prop-types/index.js","../node_modules/prop-types-extra/lib/utils/createChainableTypeChecker.js","../node_modules/process-nextick-args/index.js","../node_modules/parse-asn1/index.js","../node_modules/prop-types-extra/lib/componentOrElement.js"],"names":["Object","defineProperty","exports","value","_react2","_interopRequireDefault","require","_reactIs","_createChainableTypeChecker2","obj","__esModule","default","props","propName","componentName","location","propFullName","propValue","isValidElement","Error","isValidElementType","module","slice","options","vnodeId","inEvent","rerenderQueue","prevDebounce","microTick","i","EMPTY_OBJ","EMPTY_ARR","IS_NON_DIMENSIONAL","assign","removeNode","node","parentNode","removeChild","createElement","type","children","key","ref","normalizedProps","arguments","length","call","defaultProps","createVNode","original","vnode","__k","__","__b","__e","__d","__c","__h","constructor","__v","createRef","current","Fragment","setStyle","style","setProperty","test","dom","name","oldValue","isSvg","useCapture","o","cssText","replace","toLowerCase","l","addEventListener","eventProxyCapture","eventProxy","removeEventListener","e","indexOf","removeAttribute","setAttribute","this","event","Component","context","getDomSibling","childIndex","sibling","updateParentDomPointers","child","base","defer","cb","setTimeout","enqueueRender","c","push","process","debounceRendering","renderQueueLength","component","commitQueue","oldVNode","oldDom","parentDom","sort","a","b","shift","__P","diff","ownerSVGElement","commitRoot","diffChildren","renderResult","newParentVNode","oldParentVNode","globalContext","excessDomChildren","isHydrating","j","childVNode","newDom","firstChildDom","refs","oldChildren","oldChildrenLength","Array","isArray","reorderChildren","placeChild","getLastDom","nextSibling","unmount","applyRef","tmp","toChildArray","out","some","nextDom","sibDom","outer","appendChild","insertBefore","lastDom","newVNode","isNew","oldProps","oldState","snapshot","clearProcessingException","newProps","provider","componentContext","renderHook","count","newType","contextType","__E","prototype","render","doRender","sub","state","getDerivedStateFromProps","__s","componentWillMount","componentDidMount","componentWillReceiveProps","shouldComponentUpdate","forEach","_sb","componentWillUpdate","componentDidUpdate","__r","getChildContext","getSnapshotBeforeUpdate","diffElementNodes","diffed","root","oldHtml","newHtml","nodeType","localName","document","createTextNode","createElementNS","is","data","childNodes","dangerouslySetInnerHTML","attributes","__html","innerHTML","hydrate","diffProps","checked","parentVNode","skipRemove","r","componentWillUnmount","replaceNode","firstChild","cloneElement","createContext","defaultValue","contextId","Consumer","contextValue","Provider","subs","ctx","_props","old","splice","error","errorInfo","ctor","handled","getDerivedStateFromError","setState","componentDidCatch","update","callback","s","forceUpdate","Promise","then","bind","resolve","pbkdf2","pbkdf2Sync","MAX_ALLOC","Math","pow","iterations","keylen","TypeError","defaultEncoding","global","browser","version","parseInt","split","md5","RIPEMD160","sha","Buffer","checkParameters","toBuffer","ZEROS","alloc","sizes","sha1","sha224","sha256","sha384","sha512","rmd160","ripemd160","Hmac","alg","saltLen","hash","shaFunc","digest","getDigest","blocksize","concat","ipad","allocUnsafe","opad","ipad1","copy","ipad2","size","run","password","salt","hmac","DK","block1","destPos","hLen","ceil","writeUInt32BE","T","U","k","thing","encoding","isBuffer","from","ArrayBuffer","isView","buffer","hookCallback","hooks","apply","input","toString","isObject","isUndefined","isNumber","isDate","Date","map","arr","fn","res","hasOwnProp","hasOwnProperty","extend","valueOf","createUTC","format","locale","strict","createLocalOrUTC","utc","getParsingFlags","m","_pf","empty","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","meridiem","rfc2822","weekdayMismatch","isValid","_isValid","flags","parsedParts","isNowValid","isNaN","_d","getTime","invalidWeekday","_strict","undefined","bigHour","isFrozen","createInvalid","NaN","fun","t","len","momentProperties","copyConfig","to","prop","val","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","updateInProgress","Moment","config","updateOffset","isMoment","absFloor","number","floor","toInt","argumentForCoercion","coercedNumber","isFinite","compareArrays","array1","array2","dontConvert","min","lengthDiff","abs","diffs","warn","msg","suppressDeprecationWarnings","console","deprecate","firstTime","deprecationHandler","arg","args","join","stack","keys","deprecations","deprecateSimple","isFunction","Function","mergeConfigs","parentConfig","childConfig","Locale","set","aliases","addUnitAlias","unit","shorthand","lowerCase","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","addUnitPriority","priority","zeroFill","targetLength","forceSign","absNumber","zerosToFill","max","substr","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","token","padded","ordinal","func","localeData","formatMoment","expandFormat","array","match","mom","output","makeFormatFunction","invalidDate","replaceLongDateFormatTokens","longDateFormat","lastIndex","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchWord","regexes","addRegexToken","regex","strictRegex","isStrict","getParseRegexForToken","RegExp","regexEscape","matched","p1","p2","p3","p4","tokens","addParseToken","addWeekParseToken","_w","addTimeToArrayFromToken","_a","daysInYear","year","isLeapYear","y","parseTwoDigitYear","getSetYear","makeGetSet","keepTime","set$1","get","month","date","daysInMonth","x","modMonth","monthsShort","months","monthsShortRegex","monthsRegex","monthsParse","MONTHS_IN_FORMAT","defaultLocaleMonths","defaultLocaleMonthsShort","handleStrictParse","monthName","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","setMonth","dayOfMonth","getSetMonth","defaultMonthsShortRegex","defaultMonthsRegex","computeMonthsParse","cmpLenRev","shortPieces","longPieces","mixedPieces","_monthsRegex","_monthsShortRegex","_monthsStrictRegex","_monthsShortStrictRegex","createDate","d","h","M","ms","getFullYear","setFullYear","createUTCDate","UTC","getUTCFullYear","setUTCFullYear","firstWeekOffset","dow","doy","fwd","getUTCDay","dayOfYearFromWeeks","week","weekday","resYear","resDayOfYear","dayOfYear","weekOfYear","resWeek","weekOffset","weeksInYear","weekOffsetNext","shiftWeekdays","ws","n","weekdaysMin","weekdaysShort","weekdays","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","weekdaysParse","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","day","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","computeWeekdaysParse","minp","shortp","longp","minPieces","_weekdaysRegex","_weekdaysShortRegex","_weekdaysMinRegex","_weekdaysStrictRegex","_weekdaysShortStrictRegex","_weekdaysMinStrictRegex","hFormat","hours","lowercase","minutes","matchMeridiem","_meridiemParse","seconds","kInput","_isPm","isPM","_meridiem","pos","pos1","pos2","globalLocale","getSetHour","baseConfig","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","LTS","LT","L","LL","LLL","LLLL","dayOfMonthOrdinalParse","relativeTime","future","past","ss","mm","hh","dd","MM","yy","meridiemParse","locales","localeFamilies","normalizeLocale","loadLocale","oldLocale","_abbr","aliasedRequire","getSetGlobalLocale","values","getLocale","defineLocale","abbr","_config","parentLocale","names","next","chooseLocale","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","defaults","configFromArray","currentDate","expectedWeekday","yearToUse","nowValue","now","_useUTC","getUTCMonth","getUTCDate","getMonth","getDate","currentDateArray","w","weekYear","temp","weekdayOverflow","GG","W","E","createLocal","_week","curWeek","gg","_dayOfYear","dayOfYearFromWeekInfo","_nextDay","getDay","setUTCMinutes","getUTCMinutes","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","string","exec","configFromStringAndFormat","untruncateYear","yearStr","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromRFC2822","parsedArray","monthStr","dayStr","hourStr","minuteStr","secondStr","result","extractFromRFC2822Strings","weekdayStr","parsedInput","checkWeekday","obsOffset","militaryOffset","numOffset","hm","calculateOffset","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","hour","isPm","meridiemHour","meridiemFixWrap","prepareConfig","preparse","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromStringAndArray","createFromInputFallback","configFromString","minute","second","millisecond","configFromObject","configFromInput","isUTC","getOwnPropertyNames","isObjectEmpty","add","createFromConfig","prototypeMin","other","prototypeMax","pickBy","moments","ordering","Duration","duration","years","quarters","quarter","weeks","isoWeek","days","milliseconds","unitHasDecimal","parseFloat","isDurationValid","_milliseconds","_days","_months","_data","_bubble","isDuration","absRound","round","offset","separator","utcOffset","sign","offsetFromString","chunkOffset","matcher","matches","parts","cloneWithOffset","model","clone","setTime","local","getDateOffset","getTimezoneOffset","isUtc","aspNetRegex","isoRegex","createDuration","ret","diffRes","parseIso","isBefore","positiveMomentsDifference","momentsDifference","inp","isAfter","createAdder","direction","period","addSubtract","isAdding","invalid","subtract","monthDiff","wholeMonthDiff","anchor","newLocaleData","defaultFormat","defaultFormatUtc","lang","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","addWeekYearFormatToken","getter","getSetWeekYearHelper","weeksTarget","setWeekAll","dayOfYearData","isoWeekYear","_dayOfMonthOrdinalParse","_ordinalParse","_dayOfMonthOrdinalParseLenient","getSetDayOfMonth","getSetMinute","getSetSecond","parseMs","getSetMillisecond","proto","preParsePostFormat","time","formats","sod","startOf","calendarFormat","asFloat","that","zoneDelta","endOf","startOfDate","isoWeekday","inputString","postformat","withoutSuffix","humanize","fromNow","toNow","invalidAt","localInput","isBetween","inclusivity","localFrom","localTo","isSame","inputMs","isSameOrAfter","isSameOrBefore","parsingFlags","prioritized","unitsObj","u","getPrioritizedUnits","toArray","toObject","toDate","toISOString","keepOffset","inspect","zone","isLocal","prefix","suffix","toJSON","unix","creationData","isoWeeks","weekInfo","isoWeeksInYear","parseWeekday","parseIsoWeekday","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","parseZone","tZone","hasAlignedHourOffset","isDST","isUtcOffset","zoneAbbr","zoneName","dates","isDSTShifted","_isDSTShifted","proto$1","get$1","index","field","setter","listMonthsImpl","listWeekdaysImpl","localeSorted","_calendar","_longDateFormat","formatUpper","toUpperCase","_invalidDate","_ordinal","isFuture","_relativeTime","pastFuture","source","isFormat","_monthsShort","_monthsParseExact","firstDayOfYear","firstDayOfWeek","_weekdays","_weekdaysMin","_weekdaysShort","_weekdaysParseExact","_fullWeekdaysParse","charAt","isLower","langData","mathAbs","addSubtract$1","absCeil","daysToMonths","monthsToDays","makeAs","alias","as","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","makeGetter","thresholds","substituteTimeAgo","abs$1","toISOString$1","Y","D","toFixed","total","totalSign","ymSign","daysSign","hmsSign","proto$2","monthsFromDays","withSuffix","posNegDuration","relativeTime$1","toIsoString","updateLocale","tmpLocale","relativeTimeRounding","roundingFunction","relativeTimeThreshold","threshold","limit","myMoment","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","DATE","TIME","TIME_SECONDS","TIME_MS","WEEK","MONTH","factory","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","marker","runClearTimeout","Item","noop","nextTick","title","env","argv","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","window","navigator","timeoutDuration","longerTimeoutBrowsers","isBrowser","userAgent","called","scheduled","functionToCheck","getStyleComputedProperty","element","property","css","ownerDocument","defaultView","getComputedStyle","getParentNode","nodeName","host","getScrollParent","body","overflowX","overflowY","getReferenceNode","reference","referenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","getOffsetParent","documentElement","noOffsetParent","offsetParent","nextElementSibling","getRoot","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","contains","firstElementChild","isOffsetContainer","element1root","getScroll","side","upperSide","html","scrollingElement","includeScroll","rect","scrollTop","scrollLeft","modifier","top","bottom","left","right","getBordersSize","styles","axis","sideA","sideB","getSize","computedStyle","getWindowSizes","getClientRect","offsets","width","height","getBoundingClientRect","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","parent","fixedPosition","runIsIE","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","innerWidth","innerHeight","isFixed","getFixedPositionOffsetParent","parentElement","el","getBoundaries","popper","padding","boundariesElement","boundaries","boundariesNode","isPaddingNumber","getArea","computeAutoPlacement","placement","refRect","rects","sortedAreas","area","filteredAreas","filter","computedPlacement","variation","getReferenceOffsets","commonOffsetParent","getOuterSizes","marginBottom","marginRight","getOppositePlacement","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","find","check","runModifiers","modifiers","ends","findIndex","cur","enabled","isDestroyed","positionFixed","flip","originalPlacement","position","isCreated","onUpdate","onCreate","isModifierEnabled","modifierName","getSupportedPropertyName","prefixes","upperProp","toCheck","destroy","willChange","disableEventListeners","removeOnDestroy","getWindow","setupEventListeners","updateBound","passive","scrollElement","attachToScrollParents","scrollParents","isBody","target","eventsEnabled","enableEventListeners","scheduleUpdate","isNumeric","setStyles","isFirefox","isModifierRequired","requestingName","requestedName","requesting","isRequired","requested","validPlacements","placements","clockwise","counter","reverse","BEHAVIORS","parseOffset","basePlacement","useHeight","fragments","frag","trim","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","str","toValue","index2","shiftvariation","isVertical","shiftOffsets","instance","transformProp","popperStyles","transform","escapeWithReference","opSide","arrowElement","querySelector","sideCapitalized","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","arrow","flipped","placementOpposite","flipOrder","behavior","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","subtractLength","bound","hide","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","shouldRound","noRound","v","referenceWidth","popperWidth","isVariation","horizontalToInteger","verticalToInteger","getRoundedOffsets","devicePixelRatio","prefixedProperty","invertTop","invertLeft","arrowStyles","modifierOptions","Popper","requestAnimationFrame","debounce","Defaults","jquery","onLoad","Utils","PopperUtils","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","secret","err","getShim","ReactPropTypes","bigint","bool","object","symbol","any","arrayOf","elementType","instanceOf","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","ZERO_BUF","sync","subtle","crypto","toBrowser","checks","getNextTick","queueMicrotask","setImmediate","browserPbkdf2","algo","importKey","deriveBits","promise","resolvePromise","prom","catch","checkNative","resp","currentIndex","currentComponent","previousComponent","prevRaf","currentHook","afterPaintEffects","EMPTY","oldBeforeDiff","oldBeforeRender","oldAfterDiff","oldCommit","oldBeforeUnmount","getHookState","__H","__V","useState","initialState","useReducer","invokeOrReturn","reducer","init","hookState","_reducer","currentValue","__N","nextValue","action","_hasScuFromHooks","prevScu","p","stateHooks","every","shouldUpdate","hookItem","useEffect","argsChanged","_pendingArgs","useLayoutEffect","useRef","initialValue","useMemo","useImperativeHandle","createHandle","useCallback","useContext","useDebugValue","formatter","useErrorBoundary","errState","useId","__m","mask","flushAfterPaintEffects","invokeCleanup","invokeEffect","afterNextFrame","hasErrored","HAS_RAF","raf","done","cancelAnimationFrame","hook","comp","cleanup","oldArgs","newArgs","f","asn1","certificate","RSAPrivateKey","define","seq","int","RSAPublicKey","PublicKey","use","AlgorithmIdentifier","bitstr","objid","null_","optional","PrivateKeyInfo","octstr","PrivateKey","EncryptedPrivateKeyInfo","EncryptedPrivateKey","DSAPrivateKey","DSAparam","ECPrivateKey","explicit","ECParameters","choice","namedCurve","signature","asn","Time","utcTime","utctime","generalTime","gentime","AttributeTypeValue","SubjectPublicKeyInfo","RelativeDistinguishedName","setof","RDNSequence","seqof","Name","rdnSequence","Validity","Extension","def","TBSCertificate","implicit","X509Certificate","findProc","startRegex","fullRegex","evp","ciphers","okey","decrypted","suite","iv","cipherText","cipherKey","cipher","createDecipheriv","final","tag","deprecated","_warning","_warning2","warned","validator","reason","componentNameSafe","propFullNameSafe","messageKey","_len","_key","_resetWarned","warning","ReactIs","has","emptyFunctionThatReturnsNull","throwOnDirectAccess","ITERATOR_SYMBOL","Symbol","iterator","createPrimitiveTypeChecker","createChainableTypeChecker","typeChecker","PropTypeError","getPropType","expectedClass","expectedClassName","getClassName","isNode","propType","expectedValues","valuesString","JSON","stringify","getPreciseType","String","arrayOfTypeCheckers","checker","getPostfixForTypeWarning","expectedTypes","checkerResult","expectedType","shapeTypes","invalidValidatorError","allKeys","message","validate","checkType","chainedCheckType","iteratorFn","maybeIterable","getIteratorFn","entries","entry","isSymbol","typeSpecs","getStack","moment","monthsParseExact","weekdaysParseExact","ll","lll","llll","getOwnPropertySymbols","propIsEnumerable","propertyIsEnumerable","test1","test2","fromCharCode","test3","letter","shouldUseNative","symbols","validators","allPropTypes","_len2","_key2","_createChainableTypeChecker","arg1","arg2","arg3","aesid","fixProc","compat","parseKeys","passphrase","subtype","ndata","stripped","decode","tbsCertificate","subjectPublicKeyInfo","algorithm","subjectPublicKey","subjectPrivateKey","params","pub_key","decrypt","kde","kdeparams","iters","curve","privateKey","priv_key","parameters","_typeof"],"mappings":"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","file":"static/js/main~9c5b28f6.9f4f89ef.chunk.js","sourcesContent":["'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactIs = require('react-is');\n\nvar _createChainableTypeChecker = require('./utils/createChainableTypeChecker');\n\nvar _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction elementType(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n\n if (_react2.default.isValidElement(propValue)) {\n return new Error('Invalid ' + location + ' `' + propFullName + '` of type ReactElement ' + ('supplied to `' + componentName + '`,expected an element type (a string ') + ', component class, or function component).');\n }\n\n if (!(0, _reactIs.isValidElementType)(propValue)) {\n return new Error('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected an element type (a string ') + ', component class, or function component).');\n }\n\n return null;\n}\n\nexports.default = (0, _createChainableTypeChecker2.default)(elementType);\nmodule.exports = exports['default'];","import { EMPTY_ARR } from \"./constants\";\n\n/**\n * Assign properties from `props` to `obj`\n * @template O, P The obj and props types\n * @param {O} obj The object to copy properties to\n * @param {P} props The object to copy properties from\n * @returns {O & P}\n */\nexport function assign(obj, props) {\n\t// @ts-ignore We change the type of `obj` to be `O & P`\n\tfor (let i in props) obj[i] = props[i];\n\treturn /** @type {O & P} */ (obj);\n}\n\n/**\n * Remove a child node from its parent if attached. This is a workaround for\n * IE11 which doesn't support `Element.prototype.remove()`. Using this function\n * is smaller than including a dedicated polyfill.\n * @param {Node} node The node to remove\n */\nexport function removeNode(node) {\n\tlet parentNode = node.parentNode;\n\tif (parentNode) parentNode.removeChild(node);\n}\n\nexport const slice = EMPTY_ARR.slice;\n","import { _catchError } from './diff/catch-error';\n\n/**\n * The `option` object can potentially contain callback functions\n * that are called during various stages of our renderer. This is the\n * foundation on which all our addons like `preact/debug`, `preact/compat`,\n * and `preact/hooks` are based on. See the `Options` type in `internal.d.ts`\n * for a full list of available option hooks (most editors/IDEs allow you to\n * ctrl+click or cmd+click on mac the type definition below).\n * @type {import('./internal').Options}\n */\nconst options = {\n\t_catchError\n};\n\nexport default options;\n","import { slice } from './util';\nimport options from './options';\n\nlet vnodeId = 0;\n\n/**\n * Create an virtual node (used for JSX)\n * @param {import('./internal').VNode[\"type\"]} type The node name or Component\n * constructor for this virtual node\n * @param {object | null | undefined} [props] The properties of the virtual node\n * @param {Array} [children] The children of the virtual node\n * @returns {import('./internal').VNode}\n */\nexport function createElement(type, props, children) {\n\tlet normalizedProps = {},\n\t\tkey,\n\t\tref,\n\t\ti;\n\tfor (i in props) {\n\t\tif (i == 'key') key = props[i];\n\t\telse if (i == 'ref') ref = props[i];\n\t\telse normalizedProps[i] = props[i];\n\t}\n\n\tif (arguments.length > 2) {\n\t\tnormalizedProps.children =\n\t\t\targuments.length > 3 ? slice.call(arguments, 2) : children;\n\t}\n\n\t// If a Component VNode, check for and apply defaultProps\n\t// Note: type may be undefined in development, must never error here.\n\tif (typeof type == 'function' && type.defaultProps != null) {\n\t\tfor (i in type.defaultProps) {\n\t\t\tif (normalizedProps[i] === undefined) {\n\t\t\t\tnormalizedProps[i] = type.defaultProps[i];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn createVNode(type, normalizedProps, key, ref, null);\n}\n\n/**\n * Create a VNode (used internally by Preact)\n * @param {import('./internal').VNode[\"type\"]} type The node name or Component\n * Constructor for this virtual node\n * @param {object | string | number | null} props The properties of this virtual node.\n * If this virtual node represents a text node, this is the text of the node (string or number).\n * @param {string | number | null} key The key for this virtual node, used when\n * diffing it against its children\n * @param {import('./internal').VNode[\"ref\"]} ref The ref property that will\n * receive a reference to its created child\n * @returns {import('./internal').VNode}\n */\nexport function createVNode(type, props, key, ref, original) {\n\t// V8 seems to be better at detecting type shapes if the object is allocated from the same call site\n\t// Do not inline into createElement and coerceToVNode!\n\tconst vnode = {\n\t\ttype,\n\t\tprops,\n\t\tkey,\n\t\tref,\n\t\t_children: null,\n\t\t_parent: null,\n\t\t_depth: 0,\n\t\t_dom: null,\n\t\t// _nextDom must be initialized to undefined b/c it will eventually\n\t\t// be set to dom.nextSibling which can return `null` and it is important\n\t\t// to be able to distinguish between an uninitialized _nextDom and\n\t\t// a _nextDom that has been set to `null`\n\t\t_nextDom: undefined,\n\t\t_component: null,\n\t\t_hydrating: null,\n\t\tconstructor: undefined,\n\t\t_original: original == null ? ++vnodeId : original\n\t};\n\n\t// Only invoke the vnode hook if this was *not* a direct copy:\n\tif (original == null && options.vnode != null) options.vnode(vnode);\n\n\treturn vnode;\n}\n\nexport function createRef() {\n\treturn { current: null };\n}\n\nexport function Fragment(props) {\n\treturn props.children;\n}\n\n/**\n * Check if a the argument is a valid Preact VNode.\n * @param {*} vnode\n * @returns {vnode is import('./internal').VNode}\n */\nexport const isValidElement = vnode =>\n\tvnode != null && vnode.constructor === undefined;\n","import { IS_NON_DIMENSIONAL } from '../constants';\nimport options from '../options';\n\n/**\n * Diff the old and new properties of a VNode and apply changes to the DOM node\n * @param {import('../internal').PreactElement} dom The DOM node to apply\n * changes to\n * @param {object} newProps The new props\n * @param {object} oldProps The old props\n * @param {boolean} isSvg Whether or not this node is an SVG node\n * @param {boolean} hydrate Whether or not we are in hydration mode\n */\nexport function diffProps(dom, newProps, oldProps, isSvg, hydrate) {\n\tlet i;\n\n\tfor (i in oldProps) {\n\t\tif (i !== 'children' && i !== 'key' && !(i in newProps)) {\n\t\t\tsetProperty(dom, i, null, oldProps[i], isSvg);\n\t\t}\n\t}\n\n\tfor (i in newProps) {\n\t\tif (\n\t\t\t(!hydrate || typeof newProps[i] == 'function') &&\n\t\t\ti !== 'children' &&\n\t\t\ti !== 'key' &&\n\t\t\ti !== 'value' &&\n\t\t\ti !== 'checked' &&\n\t\t\toldProps[i] !== newProps[i]\n\t\t) {\n\t\t\tsetProperty(dom, i, newProps[i], oldProps[i], isSvg);\n\t\t}\n\t}\n}\n\nfunction setStyle(style, key, value) {\n\tif (key[0] === '-') {\n\t\tstyle.setProperty(key, value == null ? '' : value);\n\t} else if (value == null) {\n\t\tstyle[key] = '';\n\t} else if (typeof value != 'number' || IS_NON_DIMENSIONAL.test(key)) {\n\t\tstyle[key] = value;\n\t} else {\n\t\tstyle[key] = value + 'px';\n\t}\n}\n\n/**\n * Set a property value on a DOM node\n * @param {import('../internal').PreactElement} dom The DOM node to modify\n * @param {string} name The name of the property to set\n * @param {*} value The value to set the property to\n * @param {*} oldValue The old value the property had\n * @param {boolean} isSvg Whether or not this DOM node is an SVG node or not\n */\nexport function setProperty(dom, name, value, oldValue, isSvg) {\n\tlet useCapture;\n\n\to: if (name === 'style') {\n\t\tif (typeof value == 'string') {\n\t\t\tdom.style.cssText = value;\n\t\t} else {\n\t\t\tif (typeof oldValue == 'string') {\n\t\t\t\tdom.style.cssText = oldValue = '';\n\t\t\t}\n\n\t\t\tif (oldValue) {\n\t\t\t\tfor (name in oldValue) {\n\t\t\t\t\tif (!(value && name in value)) {\n\t\t\t\t\t\tsetStyle(dom.style, name, '');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (value) {\n\t\t\t\tfor (name in value) {\n\t\t\t\t\tif (!oldValue || value[name] !== oldValue[name]) {\n\t\t\t\t\t\tsetStyle(dom.style, name, value[name]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t// Benchmark for comparison: https://esbench.com/bench/574c954bdb965b9a00965ac6\n\telse if (name[0] === 'o' && name[1] === 'n') {\n\t\tuseCapture = name !== (name = name.replace(/Capture$/, ''));\n\n\t\t// Infer correct casing for DOM built-in events:\n\t\tif (name.toLowerCase() in dom) name = name.toLowerCase().slice(2);\n\t\telse name = name.slice(2);\n\n\t\tif (!dom._listeners) dom._listeners = {};\n\t\tdom._listeners[name + useCapture] = value;\n\n\t\tif (value) {\n\t\t\tif (!oldValue) {\n\t\t\t\tconst handler = useCapture ? eventProxyCapture : eventProxy;\n\t\t\t\tdom.addEventListener(name, handler, useCapture);\n\t\t\t}\n\t\t} else {\n\t\t\tconst handler = useCapture ? eventProxyCapture : eventProxy;\n\t\t\tdom.removeEventListener(name, handler, useCapture);\n\t\t}\n\t} else if (name !== 'dangerouslySetInnerHTML') {\n\t\tif (isSvg) {\n\t\t\t// Normalize incorrect prop usage for SVG:\n\t\t\t// - xlink:href / xlinkHref --> href (xlink:href was removed from SVG and isn't needed)\n\t\t\t// - className --> class\n\t\t\tname = name.replace(/xlink(H|:h)/, 'h').replace(/sName$/, 's');\n\t\t} else if (\n\t\t\tname !== 'width' &&\n\t\t\tname !== 'height' &&\n\t\t\tname !== 'href' &&\n\t\t\tname !== 'list' &&\n\t\t\tname !== 'form' &&\n\t\t\t// Default value in browsers is `-1` and an empty string is\n\t\t\t// cast to `0` instead\n\t\t\tname !== 'tabIndex' &&\n\t\t\tname !== 'download' &&\n\t\t\tname in dom\n\t\t) {\n\t\t\ttry {\n\t\t\t\tdom[name] = value == null ? '' : value;\n\t\t\t\t// labelled break is 1b smaller here than a return statement (sorry)\n\t\t\t\tbreak o;\n\t\t\t} catch (e) {}\n\t\t}\n\n\t\t// ARIA-attributes have a different notion of boolean values.\n\t\t// The value `false` is different from the attribute not\n\t\t// existing on the DOM, so we can't remove it. For non-boolean\n\t\t// ARIA-attributes we could treat false as a removal, but the\n\t\t// amount of exceptions would cost us too many bytes. On top of\n\t\t// that other VDOM frameworks also always stringify `false`.\n\n\t\tif (typeof value === 'function') {\n\t\t\t// never serialize functions as attribute values\n\t\t} else if (value != null && (value !== false || name.indexOf('-') != -1)) {\n\t\t\tdom.setAttribute(name, value);\n\t\t} else {\n\t\t\tdom.removeAttribute(name);\n\t\t}\n\t}\n}\n\nexport let inEvent = false;\n\n/**\n * Proxy an event to hooked event handlers\n * @param {Event} e The event object from the browser\n * @private\n */\nfunction eventProxy(e) {\n\tinEvent = true;\n\ttry {\n\t\treturn this._listeners[e.type + false](\n\t\t\toptions.event ? options.event(e) : e\n\t\t);\n\t} finally {\n\t\tinEvent = false;\n\t}\n}\n\nfunction eventProxyCapture(e) {\n\tinEvent = true;\n\ttry {\n\t\treturn this._listeners[e.type + true](options.event ? options.event(e) : e);\n\t} finally {\n\t\tinEvent = false;\n\t}\n}\n","import { assign } from './util';\nimport { diff, commitRoot } from './diff/index';\nimport options from './options';\nimport { Fragment } from './create-element';\nimport { inEvent } from './diff/props';\n\n/**\n * Base Component class. Provides `setState()` and `forceUpdate()`, which\n * trigger rendering\n * @param {object} props The initial component props\n * @param {object} context The initial context from parent components'\n * getChildContext\n */\nexport function Component(props, context) {\n\tthis.props = props;\n\tthis.context = context;\n}\n\n/**\n * Update component state and schedule a re-render.\n * @this {import('./internal').Component}\n * @param {object | ((s: object, p: object) => object)} update A hash of state\n * properties to update with new values or a function that given the current\n * state and props returns a new partial state\n * @param {() => void} [callback] A function to be called once component state is\n * updated\n */\nComponent.prototype.setState = function(update, callback) {\n\t// only clone state when copying to nextState the first time.\n\tlet s;\n\tif (this._nextState != null && this._nextState !== this.state) {\n\t\ts = this._nextState;\n\t} else {\n\t\ts = this._nextState = assign({}, this.state);\n\t}\n\n\tif (typeof update == 'function') {\n\t\t// Some libraries like `immer` mark the current state as readonly,\n\t\t// preventing us from mutating it, so we need to clone it. See #2716\n\t\tupdate = update(assign({}, s), this.props);\n\t}\n\n\tif (update) {\n\t\tassign(s, update);\n\t}\n\n\t// Skip update if updater function returned null\n\tif (update == null) return;\n\n\tif (this._vnode) {\n\t\tif (callback) {\n\t\t\tthis._stateCallbacks.push(callback);\n\t\t}\n\t\tenqueueRender(this);\n\t}\n};\n\n/**\n * Immediately perform a synchronous re-render of the component\n * @this {import('./internal').Component}\n * @param {() => void} [callback] A function to be called after component is\n * re-rendered\n */\nComponent.prototype.forceUpdate = function(callback) {\n\tif (this._vnode) {\n\t\t// Set render mode so that we can differentiate where the render request\n\t\t// is coming from. We need this because forceUpdate should never call\n\t\t// shouldComponentUpdate\n\t\tthis._force = true;\n\t\tif (callback) this._renderCallbacks.push(callback);\n\t\tenqueueRender(this);\n\t}\n};\n\n/**\n * Accepts `props` and `state`, and returns a new Virtual DOM tree to build.\n * Virtual DOM is generally constructed via [JSX](http://jasonformat.com/wtf-is-jsx).\n * @param {object} props Props (eg: JSX attributes) received from parent\n * element/component\n * @param {object} state The component's current state\n * @param {object} context Context object, as returned by the nearest\n * ancestor's `getChildContext()`\n * @returns {import('./index').ComponentChildren | void}\n */\nComponent.prototype.render = Fragment;\n\n/**\n * @param {import('./internal').VNode} vnode\n * @param {number | null} [childIndex]\n */\nexport function getDomSibling(vnode, childIndex) {\n\tif (childIndex == null) {\n\t\t// Use childIndex==null as a signal to resume the search from the vnode's sibling\n\t\treturn vnode._parent\n\t\t\t? getDomSibling(vnode._parent, vnode._parent._children.indexOf(vnode) + 1)\n\t\t\t: null;\n\t}\n\n\tlet sibling;\n\tfor (; childIndex < vnode._children.length; childIndex++) {\n\t\tsibling = vnode._children[childIndex];\n\n\t\tif (sibling != null && sibling._dom != null) {\n\t\t\t// Since updateParentDomPointers keeps _dom pointer correct,\n\t\t\t// we can rely on _dom to tell us if this subtree contains a\n\t\t\t// rendered DOM node, and what the first rendered DOM node is\n\t\t\treturn sibling._dom;\n\t\t}\n\t}\n\n\t// If we get here, we have not found a DOM node in this vnode's children.\n\t// We must resume from this vnode's sibling (in it's parent _children array)\n\t// Only climb up and search the parent if we aren't searching through a DOM\n\t// VNode (meaning we reached the DOM parent of the original vnode that began\n\t// the search)\n\treturn typeof vnode.type == 'function' ? getDomSibling(vnode) : null;\n}\n\n/**\n * Trigger in-place re-rendering of a component.\n * @param {import('./internal').Component} component The component to rerender\n */\nfunction renderComponent(component) {\n\tlet vnode = component._vnode,\n\t\toldDom = vnode._dom,\n\t\tparentDom = component._parentDom;\n\n\tif (parentDom) {\n\t\tlet commitQueue = [];\n\t\tconst oldVNode = assign({}, vnode);\n\t\toldVNode._original = vnode._original + 1;\n\n\t\tdiff(\n\t\t\tparentDom,\n\t\t\tvnode,\n\t\t\toldVNode,\n\t\t\tcomponent._globalContext,\n\t\t\tparentDom.ownerSVGElement !== undefined,\n\t\t\tvnode._hydrating != null ? [oldDom] : null,\n\t\t\tcommitQueue,\n\t\t\toldDom == null ? getDomSibling(vnode) : oldDom,\n\t\t\tvnode._hydrating\n\t\t);\n\t\tcommitRoot(commitQueue, vnode);\n\n\t\tif (vnode._dom != oldDom) {\n\t\t\tupdateParentDomPointers(vnode);\n\t\t}\n\t}\n}\n\n/**\n * @param {import('./internal').VNode} vnode\n */\nfunction updateParentDomPointers(vnode) {\n\tif ((vnode = vnode._parent) != null && vnode._component != null) {\n\t\tvnode._dom = vnode._component.base = null;\n\t\tfor (let i = 0; i < vnode._children.length; i++) {\n\t\t\tlet child = vnode._children[i];\n\t\t\tif (child != null && child._dom != null) {\n\t\t\t\tvnode._dom = vnode._component.base = child._dom;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn updateParentDomPointers(vnode);\n\t}\n}\n\n/**\n * The render queue\n * @type {Array}\n */\nlet rerenderQueue = [];\n\n/*\n * The value of `Component.debounce` must asynchronously invoke the passed in callback. It is\n * important that contributors to Preact can consistently reason about what calls to `setState`, etc.\n * do, and when their effects will be applied. See the links below for some further reading on designing\n * asynchronous APIs.\n * * [Designing APIs for Asynchrony](https://blog.izs.me/2013/08/designing-apis-for-asynchrony)\n * * [Callbacks synchronous and asynchronous](https://blog.ometer.com/2011/07/24/callbacks-synchronous-and-asynchronous/)\n */\n\nlet prevDebounce;\n\nconst microTick =\n\ttypeof Promise == 'function'\n\t\t? Promise.prototype.then.bind(Promise.resolve())\n\t\t: setTimeout;\nfunction defer(cb) {\n\tif (inEvent) {\n\t\tsetTimeout(cb);\n\t} else {\n\t\tmicroTick(cb);\n\t}\n}\n\n/**\n * Enqueue a rerender of a component\n * @param {import('./internal').Component} c The component to rerender\n */\nexport function enqueueRender(c) {\n\tif (\n\t\t(!c._dirty &&\n\t\t\t(c._dirty = true) &&\n\t\t\trerenderQueue.push(c) &&\n\t\t\t!process._rerenderCount++) ||\n\t\tprevDebounce !== options.debounceRendering\n\t) {\n\t\tprevDebounce = options.debounceRendering;\n\t\t(prevDebounce || defer)(process);\n\t}\n}\n\n/** Flush the render queue by rerendering all queued components */\nfunction process() {\n\tlet c;\n\trerenderQueue.sort((a, b) => a._vnode._depth - b._vnode._depth);\n\t// Don't update `renderCount` yet. Keep its value non-zero to prevent unnecessary\n\t// process() calls from getting scheduled while `queue` is still being consumed.\n\twhile ((c = rerenderQueue.shift())) {\n\t\tif (c._dirty) {\n\t\t\tlet renderQueueLength = rerenderQueue.length;\n\t\t\trenderComponent(c);\n\t\t\tif (rerenderQueue.length > renderQueueLength) {\n\t\t\t\t// When i.e. rerendering a provider additional new items can be injected, we want to\n\t\t\t\t// keep the order from top to bottom with those new items so we can handle them in a\n\t\t\t\t// single pass\n\t\t\t\trerenderQueue.sort((a, b) => a._vnode._depth - b._vnode._depth);\n\t\t\t}\n\t\t}\n\t}\n\tprocess._rerenderCount = 0;\n}\n\nprocess._rerenderCount = 0;\n","import { enqueueRender } from './component';\n\nexport let i = 0;\n\nexport function createContext(defaultValue, contextId) {\n\tcontextId = '__cC' + i++;\n\n\tconst context = {\n\t\t_id: contextId,\n\t\t_defaultValue: defaultValue,\n\t\t/** @type {import('./internal').FunctionComponent} */\n\t\tConsumer(props, contextValue) {\n\t\t\t// return props.children(\n\t\t\t// \tcontext[contextId] ? context[contextId].props.value : defaultValue\n\t\t\t// );\n\t\t\treturn props.children(contextValue);\n\t\t},\n\t\t/** @type {import('./internal').FunctionComponent} */\n\t\tProvider(props) {\n\t\t\tif (!this.getChildContext) {\n\t\t\t\t/** @type {import('./internal').Component[]} */\n\t\t\t\tlet subs = [];\n\t\t\t\tlet ctx = {};\n\t\t\t\tctx[contextId] = this;\n\n\t\t\t\tthis.getChildContext = () => ctx;\n\n\t\t\t\tthis.shouldComponentUpdate = function(_props) {\n\t\t\t\t\tif (this.props.value !== _props.value) {\n\t\t\t\t\t\t// I think the forced value propagation here was only needed when `options.debounceRendering` was being bypassed:\n\t\t\t\t\t\t// https://github.com/preactjs/preact/commit/4d339fb803bea09e9f198abf38ca1bf8ea4b7771#diff-54682ce380935a717e41b8bfc54737f6R358\n\t\t\t\t\t\t// In those cases though, even with the value corrected, we're double-rendering all nodes.\n\t\t\t\t\t\t// It might be better to just tell folks not to use force-sync mode.\n\t\t\t\t\t\t// Currently, using `useContext()` in a class component will overwrite its `this.context` value.\n\t\t\t\t\t\t// subs.some(c => {\n\t\t\t\t\t\t// \tc.context = _props.value;\n\t\t\t\t\t\t// \tenqueueRender(c);\n\t\t\t\t\t\t// });\n\n\t\t\t\t\t\t// subs.some(c => {\n\t\t\t\t\t\t// \tc.context[contextId] = _props.value;\n\t\t\t\t\t\t// \tenqueueRender(c);\n\t\t\t\t\t\t// });\n\t\t\t\t\t\tsubs.some(c => {\n\t\t\t\t\t\t\tc._force = true;\n\t\t\t\t\t\t\tenqueueRender(c);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tthis.sub = c => {\n\t\t\t\t\tsubs.push(c);\n\t\t\t\t\tlet old = c.componentWillUnmount;\n\t\t\t\t\tc.componentWillUnmount = () => {\n\t\t\t\t\t\tsubs.splice(subs.indexOf(c), 1);\n\t\t\t\t\t\tif (old) old.call(c);\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn props.children;\n\t\t}\n\t};\n\n\t// Devtools needs access to the context object when it\n\t// encounters a Provider. This is necessary to support\n\t// setting `displayName` on the context object instead\n\t// of on the component itself. See:\n\t// https://reactjs.org/docs/context.html#contextdisplayname\n\n\treturn (context.Provider._contextRef = context.Consumer.contextType = context);\n}\n","export const EMPTY_OBJ = {};\nexport const EMPTY_ARR = [];\nexport const IS_NON_DIMENSIONAL = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;\n","import { diff, unmount, applyRef } from './index';\nimport { createVNode, Fragment } from '../create-element';\nimport { EMPTY_OBJ, EMPTY_ARR } from '../constants';\nimport { getDomSibling } from '../component';\n\n/**\n * Diff the children of a virtual node\n * @param {import('../internal').PreactElement} parentDom The DOM element whose\n * children are being diffed\n * @param {import('../internal').ComponentChildren[]} renderResult\n * @param {import('../internal').VNode} newParentVNode The new virtual\n * node whose children should be diff'ed against oldParentVNode\n * @param {import('../internal').VNode} oldParentVNode The old virtual\n * node whose children should be diff'ed against newParentVNode\n * @param {object} globalContext The current context object - modified by getChildContext\n * @param {boolean} isSvg Whether or not this DOM node is an SVG node\n * @param {Array} excessDomChildren\n * @param {Array} commitQueue List of components\n * which have callbacks to invoke in commitRoot\n * @param {import('../internal').PreactElement} oldDom The current attached DOM\n * element any new dom elements should be placed around. Likely `null` on first\n * render (except when hydrating). Can be a sibling DOM element when diffing\n * Fragments that have siblings. In most cases, it starts out as `oldChildren[0]._dom`.\n * @param {boolean} isHydrating Whether or not we are in hydration\n */\nexport function diffChildren(\n\tparentDom,\n\trenderResult,\n\tnewParentVNode,\n\toldParentVNode,\n\tglobalContext,\n\tisSvg,\n\texcessDomChildren,\n\tcommitQueue,\n\toldDom,\n\tisHydrating\n) {\n\tlet i, j, oldVNode, childVNode, newDom, firstChildDom, refs;\n\n\t// This is a compression of oldParentVNode!=null && oldParentVNode != EMPTY_OBJ && oldParentVNode._children || EMPTY_ARR\n\t// as EMPTY_OBJ._children should be `undefined`.\n\tlet oldChildren = (oldParentVNode && oldParentVNode._children) || EMPTY_ARR;\n\n\tlet oldChildrenLength = oldChildren.length;\n\n\tnewParentVNode._children = [];\n\tfor (i = 0; i < renderResult.length; i++) {\n\t\tchildVNode = renderResult[i];\n\n\t\tif (childVNode == null || typeof childVNode == 'boolean') {\n\t\t\tchildVNode = newParentVNode._children[i] = null;\n\t\t}\n\t\t// If this newVNode is being reused (e.g.
{reuse}{reuse}
) in the same diff,\n\t\t// or we are rendering a component (e.g. setState) copy the oldVNodes so it can have\n\t\t// it's own DOM & etc. pointers\n\t\telse if (\n\t\t\ttypeof childVNode == 'string' ||\n\t\t\ttypeof childVNode == 'number' ||\n\t\t\t// eslint-disable-next-line valid-typeof\n\t\t\ttypeof childVNode == 'bigint'\n\t\t) {\n\t\t\tchildVNode = newParentVNode._children[i] = createVNode(\n\t\t\t\tnull,\n\t\t\t\tchildVNode,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tchildVNode\n\t\t\t);\n\t\t} else if (Array.isArray(childVNode)) {\n\t\t\tchildVNode = newParentVNode._children[i] = createVNode(\n\t\t\t\tFragment,\n\t\t\t\t{ children: childVNode },\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull\n\t\t\t);\n\t\t} else if (childVNode._depth > 0) {\n\t\t\t// VNode is already in use, clone it. This can happen in the following\n\t\t\t// scenario:\n\t\t\t// const reuse =
\n\t\t\t//
{reuse}{reuse}
\n\t\t\tchildVNode = newParentVNode._children[i] = createVNode(\n\t\t\t\tchildVNode.type,\n\t\t\t\tchildVNode.props,\n\t\t\t\tchildVNode.key,\n\t\t\t\tchildVNode.ref ? childVNode.ref : null,\n\t\t\t\tchildVNode._original\n\t\t\t);\n\t\t} else {\n\t\t\tchildVNode = newParentVNode._children[i] = childVNode;\n\t\t}\n\n\t\t// Terser removes the `continue` here and wraps the loop body\n\t\t// in a `if (childVNode) { ... } condition\n\t\tif (childVNode == null) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tchildVNode._parent = newParentVNode;\n\t\tchildVNode._depth = newParentVNode._depth + 1;\n\n\t\t// Check if we find a corresponding element in oldChildren.\n\t\t// If found, delete the array item by setting to `undefined`.\n\t\t// We use `undefined`, as `null` is reserved for empty placeholders\n\t\t// (holes).\n\t\toldVNode = oldChildren[i];\n\n\t\tif (\n\t\t\toldVNode === null ||\n\t\t\t(oldVNode &&\n\t\t\t\tchildVNode.key == oldVNode.key &&\n\t\t\t\tchildVNode.type === oldVNode.type)\n\t\t) {\n\t\t\toldChildren[i] = undefined;\n\t\t} else {\n\t\t\t// Either oldVNode === undefined or oldChildrenLength > 0,\n\t\t\t// so after this loop oldVNode == null or oldVNode is a valid value.\n\t\t\tfor (j = 0; j < oldChildrenLength; j++) {\n\t\t\t\toldVNode = oldChildren[j];\n\t\t\t\t// If childVNode is unkeyed, we only match similarly unkeyed nodes, otherwise we match by key.\n\t\t\t\t// We always match by type (in either case).\n\t\t\t\tif (\n\t\t\t\t\toldVNode &&\n\t\t\t\t\tchildVNode.key == oldVNode.key &&\n\t\t\t\t\tchildVNode.type === oldVNode.type\n\t\t\t\t) {\n\t\t\t\t\toldChildren[j] = undefined;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\toldVNode = null;\n\t\t\t}\n\t\t}\n\n\t\toldVNode = oldVNode || EMPTY_OBJ;\n\n\t\t// Morph the old element into the new one, but don't append it to the dom yet\n\t\tdiff(\n\t\t\tparentDom,\n\t\t\tchildVNode,\n\t\t\toldVNode,\n\t\t\tglobalContext,\n\t\t\tisSvg,\n\t\t\texcessDomChildren,\n\t\t\tcommitQueue,\n\t\t\toldDom,\n\t\t\tisHydrating\n\t\t);\n\n\t\tnewDom = childVNode._dom;\n\n\t\tif ((j = childVNode.ref) && oldVNode.ref != j) {\n\t\t\tif (!refs) refs = [];\n\t\t\tif (oldVNode.ref) refs.push(oldVNode.ref, null, childVNode);\n\t\t\trefs.push(j, childVNode._component || newDom, childVNode);\n\t\t}\n\n\t\tif (newDom != null) {\n\t\t\tif (firstChildDom == null) {\n\t\t\t\tfirstChildDom = newDom;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\ttypeof childVNode.type == 'function' &&\n\t\t\t\tchildVNode._children === oldVNode._children\n\t\t\t) {\n\t\t\t\tchildVNode._nextDom = oldDom = reorderChildren(\n\t\t\t\t\tchildVNode,\n\t\t\t\t\toldDom,\n\t\t\t\t\tparentDom\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\toldDom = placeChild(\n\t\t\t\t\tparentDom,\n\t\t\t\t\tchildVNode,\n\t\t\t\t\toldVNode,\n\t\t\t\t\toldChildren,\n\t\t\t\t\tnewDom,\n\t\t\t\t\toldDom\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (typeof newParentVNode.type == 'function') {\n\t\t\t\t// Because the newParentVNode is Fragment-like, we need to set it's\n\t\t\t\t// _nextDom property to the nextSibling of its last child DOM node.\n\t\t\t\t//\n\t\t\t\t// `oldDom` contains the correct value here because if the last child\n\t\t\t\t// is a Fragment-like, then oldDom has already been set to that child's _nextDom.\n\t\t\t\t// If the last child is a DOM VNode, then oldDom will be set to that DOM\n\t\t\t\t// node's nextSibling.\n\t\t\t\tnewParentVNode._nextDom = oldDom;\n\t\t\t}\n\t\t} else if (\n\t\t\toldDom &&\n\t\t\toldVNode._dom == oldDom &&\n\t\t\toldDom.parentNode != parentDom\n\t\t) {\n\t\t\t// The above condition is to handle null placeholders. See test in placeholder.test.js:\n\t\t\t// `efficiently replace null placeholders in parent rerenders`\n\t\t\toldDom = getDomSibling(oldVNode);\n\t\t}\n\t}\n\n\tnewParentVNode._dom = firstChildDom;\n\n\t// Remove remaining oldChildren if there are any.\n\tfor (i = oldChildrenLength; i--; ) {\n\t\tif (oldChildren[i] != null) {\n\t\t\tif (\n\t\t\t\ttypeof newParentVNode.type == 'function' &&\n\t\t\t\toldChildren[i]._dom != null &&\n\t\t\t\toldChildren[i]._dom == newParentVNode._nextDom\n\t\t\t) {\n\t\t\t\t// If the newParentVNode.__nextDom points to a dom node that is about to\n\t\t\t\t// be unmounted, then get the next sibling of that vnode and set\n\t\t\t\t// _nextDom to it\n\t\t\t\tnewParentVNode._nextDom = getLastDom(oldParentVNode).nextSibling;\n\t\t\t}\n\n\t\t\tunmount(oldChildren[i], oldChildren[i]);\n\t\t}\n\t}\n\n\t// Set refs only after unmount\n\tif (refs) {\n\t\tfor (i = 0; i < refs.length; i++) {\n\t\t\tapplyRef(refs[i], refs[++i], refs[++i]);\n\t\t}\n\t}\n}\n\nfunction reorderChildren(childVNode, oldDom, parentDom) {\n\t// Note: VNodes in nested suspended trees may be missing _children.\n\tlet c = childVNode._children;\n\tlet tmp = 0;\n\tfor (; c && tmp < c.length; tmp++) {\n\t\tlet vnode = c[tmp];\n\t\tif (vnode) {\n\t\t\t// We typically enter this code path on sCU bailout, where we copy\n\t\t\t// oldVNode._children to newVNode._children. If that is the case, we need\n\t\t\t// to update the old children's _parent pointer to point to the newVNode\n\t\t\t// (childVNode here).\n\t\t\tvnode._parent = childVNode;\n\n\t\t\tif (typeof vnode.type == 'function') {\n\t\t\t\toldDom = reorderChildren(vnode, oldDom, parentDom);\n\t\t\t} else {\n\t\t\t\toldDom = placeChild(parentDom, vnode, vnode, c, vnode._dom, oldDom);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn oldDom;\n}\n\n/**\n * Flatten and loop through the children of a virtual node\n * @param {import('../index').ComponentChildren} children The unflattened\n * children of a virtual node\n * @returns {import('../internal').VNode[]}\n */\nexport function toChildArray(children, out) {\n\tout = out || [];\n\tif (children == null || typeof children == 'boolean') {\n\t} else if (Array.isArray(children)) {\n\t\tchildren.some(child => {\n\t\t\ttoChildArray(child, out);\n\t\t});\n\t} else {\n\t\tout.push(children);\n\t}\n\treturn out;\n}\n\nfunction placeChild(\n\tparentDom,\n\tchildVNode,\n\toldVNode,\n\toldChildren,\n\tnewDom,\n\toldDom\n) {\n\tlet nextDom;\n\tif (childVNode._nextDom !== undefined) {\n\t\t// Only Fragments or components that return Fragment like VNodes will\n\t\t// have a non-undefined _nextDom. Continue the diff from the sibling\n\t\t// of last DOM child of this child VNode\n\t\tnextDom = childVNode._nextDom;\n\n\t\t// Eagerly cleanup _nextDom. We don't need to persist the value because\n\t\t// it is only used by `diffChildren` to determine where to resume the diff after\n\t\t// diffing Components and Fragments. Once we store it the nextDOM local var, we\n\t\t// can clean up the property\n\t\tchildVNode._nextDom = undefined;\n\t} else if (\n\t\toldVNode == null ||\n\t\tnewDom != oldDom ||\n\t\tnewDom.parentNode == null\n\t) {\n\t\touter: if (oldDom == null || oldDom.parentNode !== parentDom) {\n\t\t\tparentDom.appendChild(newDom);\n\t\t\tnextDom = null;\n\t\t} else {\n\t\t\t// `j= 0; i--) {\n\t\t\tlet child = vnode._children[i];\n\t\t\tif (child) {\n\t\t\t\tlet lastDom = getLastDom(child);\n\t\t\t\tif (lastDom) {\n\t\t\t\t\treturn lastDom;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn null;\n}\n","import { EMPTY_OBJ } from '../constants';\nimport { Component, getDomSibling } from '../component';\nimport { Fragment } from '../create-element';\nimport { diffChildren } from './children';\nimport { diffProps, setProperty } from './props';\nimport { assign, removeNode, slice } from '../util';\nimport options from '../options';\n\n/**\n * Diff two virtual nodes and apply proper changes to the DOM\n * @param {import('../internal').PreactElement} parentDom The parent of the DOM element\n * @param {import('../internal').VNode} newVNode The new virtual node\n * @param {import('../internal').VNode} oldVNode The old virtual node\n * @param {object} globalContext The current context object. Modified by getChildContext\n * @param {boolean} isSvg Whether or not this element is an SVG node\n * @param {Array} excessDomChildren\n * @param {Array} commitQueue List of components\n * which have callbacks to invoke in commitRoot\n * @param {import('../internal').PreactElement} oldDom The current attached DOM\n * element any new dom elements should be placed around. Likely `null` on first\n * render (except when hydrating). Can be a sibling DOM element when diffing\n * Fragments that have siblings. In most cases, it starts out as `oldChildren[0]._dom`.\n * @param {boolean} [isHydrating] Whether or not we are in hydration\n */\nexport function diff(\n\tparentDom,\n\tnewVNode,\n\toldVNode,\n\tglobalContext,\n\tisSvg,\n\texcessDomChildren,\n\tcommitQueue,\n\toldDom,\n\tisHydrating\n) {\n\tlet tmp,\n\t\tnewType = newVNode.type;\n\n\t// When passing through createElement it assigns the object\n\t// constructor as undefined. This to prevent JSON-injection.\n\tif (newVNode.constructor !== undefined) return null;\n\n\t// If the previous diff bailed out, resume creating/hydrating.\n\tif (oldVNode._hydrating != null) {\n\t\tisHydrating = oldVNode._hydrating;\n\t\toldDom = newVNode._dom = oldVNode._dom;\n\t\t// if we resume, we want the tree to be \"unlocked\"\n\t\tnewVNode._hydrating = null;\n\t\texcessDomChildren = [oldDom];\n\t}\n\n\tif ((tmp = options._diff)) tmp(newVNode);\n\n\ttry {\n\t\touter: if (typeof newType == 'function') {\n\t\t\tlet c, isNew, oldProps, oldState, snapshot, clearProcessingException;\n\t\t\tlet newProps = newVNode.props;\n\n\t\t\t// Necessary for createContext api. Setting this property will pass\n\t\t\t// the context value as `this.context` just for this component.\n\t\t\ttmp = newType.contextType;\n\t\t\tlet provider = tmp && globalContext[tmp._id];\n\t\t\tlet componentContext = tmp\n\t\t\t\t? provider\n\t\t\t\t\t? provider.props.value\n\t\t\t\t\t: tmp._defaultValue\n\t\t\t\t: globalContext;\n\n\t\t\t// Get component and set it to `c`\n\t\t\tif (oldVNode._component) {\n\t\t\t\tc = newVNode._component = oldVNode._component;\n\t\t\t\tclearProcessingException = c._processingException = c._pendingError;\n\t\t\t} else {\n\t\t\t\t// Instantiate the new component\n\t\t\t\tif ('prototype' in newType && newType.prototype.render) {\n\t\t\t\t\t// @ts-ignore The check above verifies that newType is suppose to be constructed\n\t\t\t\t\tnewVNode._component = c = new newType(newProps, componentContext); // eslint-disable-line new-cap\n\t\t\t\t} else {\n\t\t\t\t\t// @ts-ignore Trust me, Component implements the interface we want\n\t\t\t\t\tnewVNode._component = c = new Component(newProps, componentContext);\n\t\t\t\t\tc.constructor = newType;\n\t\t\t\t\tc.render = doRender;\n\t\t\t\t}\n\t\t\t\tif (provider) provider.sub(c);\n\n\t\t\t\tc.props = newProps;\n\t\t\t\tif (!c.state) c.state = {};\n\t\t\t\tc.context = componentContext;\n\t\t\t\tc._globalContext = globalContext;\n\t\t\t\tisNew = c._dirty = true;\n\t\t\t\tc._renderCallbacks = [];\n\t\t\t\tc._stateCallbacks = [];\n\t\t\t}\n\n\t\t\t// Invoke getDerivedStateFromProps\n\t\t\tif (c._nextState == null) {\n\t\t\t\tc._nextState = c.state;\n\t\t\t}\n\n\t\t\tif (newType.getDerivedStateFromProps != null) {\n\t\t\t\tif (c._nextState == c.state) {\n\t\t\t\t\tc._nextState = assign({}, c._nextState);\n\t\t\t\t}\n\n\t\t\t\tassign(\n\t\t\t\t\tc._nextState,\n\t\t\t\t\tnewType.getDerivedStateFromProps(newProps, c._nextState)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\toldProps = c.props;\n\t\t\toldState = c.state;\n\t\t\tc._vnode = newVNode;\n\n\t\t\t// Invoke pre-render lifecycle methods\n\t\t\tif (isNew) {\n\t\t\t\tif (\n\t\t\t\t\tnewType.getDerivedStateFromProps == null &&\n\t\t\t\t\tc.componentWillMount != null\n\t\t\t\t) {\n\t\t\t\t\tc.componentWillMount();\n\t\t\t\t}\n\n\t\t\t\tif (c.componentDidMount != null) {\n\t\t\t\t\tc._renderCallbacks.push(c.componentDidMount);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (\n\t\t\t\t\tnewType.getDerivedStateFromProps == null &&\n\t\t\t\t\tnewProps !== oldProps &&\n\t\t\t\t\tc.componentWillReceiveProps != null\n\t\t\t\t) {\n\t\t\t\t\tc.componentWillReceiveProps(newProps, componentContext);\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t(!c._force &&\n\t\t\t\t\t\tc.shouldComponentUpdate != null &&\n\t\t\t\t\t\tc.shouldComponentUpdate(\n\t\t\t\t\t\t\tnewProps,\n\t\t\t\t\t\t\tc._nextState,\n\t\t\t\t\t\t\tcomponentContext\n\t\t\t\t\t\t) === false) ||\n\t\t\t\t\tnewVNode._original === oldVNode._original\n\t\t\t\t) {\n\t\t\t\t\t// More info about this here: https://gist.github.com/JoviDeCroock/bec5f2ce93544d2e6070ef8e0036e4e8\n\t\t\t\t\tif (newVNode._original !== oldVNode._original) {\n\t\t\t\t\t\t// When we are dealing with a bail because of sCU we have to update\n\t\t\t\t\t\t// the props, state and dirty-state.\n\t\t\t\t\t\t// when we are dealing with strict-equality we don't as the child could still\n\t\t\t\t\t\t// be dirtied see #3883\n\t\t\t\t\t\tc.props = newProps;\n\t\t\t\t\t\tc.state = c._nextState;\n\t\t\t\t\t\tc._dirty = false;\n\t\t\t\t\t}\n\t\t\t\t\tnewVNode._dom = oldVNode._dom;\n\t\t\t\t\tnewVNode._children = oldVNode._children;\n\t\t\t\t\tnewVNode._children.forEach(vnode => {\n\t\t\t\t\t\tif (vnode) vnode._parent = newVNode;\n\t\t\t\t\t});\n\n\t\t\t\t\tfor (let i = 0; i < c._stateCallbacks.length; i++) {\n\t\t\t\t\t\tc._renderCallbacks.push(c._stateCallbacks[i]);\n\t\t\t\t\t}\n\t\t\t\t\tc._stateCallbacks = [];\n\n\t\t\t\t\tif (c._renderCallbacks.length) {\n\t\t\t\t\t\tcommitQueue.push(c);\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\n\t\t\t\tif (c.componentWillUpdate != null) {\n\t\t\t\t\tc.componentWillUpdate(newProps, c._nextState, componentContext);\n\t\t\t\t}\n\n\t\t\t\tif (c.componentDidUpdate != null) {\n\t\t\t\t\tc._renderCallbacks.push(() => {\n\t\t\t\t\t\tc.componentDidUpdate(oldProps, oldState, snapshot);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tc.context = componentContext;\n\t\t\tc.props = newProps;\n\t\t\tc._parentDom = parentDom;\n\n\t\t\tlet renderHook = options._render,\n\t\t\t\tcount = 0;\n\t\t\tif ('prototype' in newType && newType.prototype.render) {\n\t\t\t\tc.state = c._nextState;\n\t\t\t\tc._dirty = false;\n\n\t\t\t\tif (renderHook) renderHook(newVNode);\n\n\t\t\t\ttmp = c.render(c.props, c.state, c.context);\n\n\t\t\t\tfor (let i = 0; i < c._stateCallbacks.length; i++) {\n\t\t\t\t\tc._renderCallbacks.push(c._stateCallbacks[i]);\n\t\t\t\t}\n\t\t\t\tc._stateCallbacks = [];\n\t\t\t} else {\n\t\t\t\tdo {\n\t\t\t\t\tc._dirty = false;\n\t\t\t\t\tif (renderHook) renderHook(newVNode);\n\n\t\t\t\t\ttmp = c.render(c.props, c.state, c.context);\n\n\t\t\t\t\t// Handle setState called in render, see #2553\n\t\t\t\t\tc.state = c._nextState;\n\t\t\t\t} while (c._dirty && ++count < 25);\n\t\t\t}\n\n\t\t\t// Handle setState called in render, see #2553\n\t\t\tc.state = c._nextState;\n\n\t\t\tif (c.getChildContext != null) {\n\t\t\t\tglobalContext = assign(assign({}, globalContext), c.getChildContext());\n\t\t\t}\n\n\t\t\tif (!isNew && c.getSnapshotBeforeUpdate != null) {\n\t\t\t\tsnapshot = c.getSnapshotBeforeUpdate(oldProps, oldState);\n\t\t\t}\n\n\t\t\tlet isTopLevelFragment =\n\t\t\t\ttmp != null && tmp.type === Fragment && tmp.key == null;\n\t\t\tlet renderResult = isTopLevelFragment ? tmp.props.children : tmp;\n\n\t\t\tdiffChildren(\n\t\t\t\tparentDom,\n\t\t\t\tArray.isArray(renderResult) ? renderResult : [renderResult],\n\t\t\t\tnewVNode,\n\t\t\t\toldVNode,\n\t\t\t\tglobalContext,\n\t\t\t\tisSvg,\n\t\t\t\texcessDomChildren,\n\t\t\t\tcommitQueue,\n\t\t\t\toldDom,\n\t\t\t\tisHydrating\n\t\t\t);\n\n\t\t\tc.base = newVNode._dom;\n\n\t\t\t// We successfully rendered this VNode, unset any stored hydration/bailout state:\n\t\t\tnewVNode._hydrating = null;\n\n\t\t\tif (c._renderCallbacks.length) {\n\t\t\t\tcommitQueue.push(c);\n\t\t\t}\n\n\t\t\tif (clearProcessingException) {\n\t\t\t\tc._pendingError = c._processingException = null;\n\t\t\t}\n\n\t\t\tc._force = false;\n\t\t} else if (\n\t\t\texcessDomChildren == null &&\n\t\t\tnewVNode._original === oldVNode._original\n\t\t) {\n\t\t\tnewVNode._children = oldVNode._children;\n\t\t\tnewVNode._dom = oldVNode._dom;\n\t\t} else {\n\t\t\tnewVNode._dom = diffElementNodes(\n\t\t\t\toldVNode._dom,\n\t\t\t\tnewVNode,\n\t\t\t\toldVNode,\n\t\t\t\tglobalContext,\n\t\t\t\tisSvg,\n\t\t\t\texcessDomChildren,\n\t\t\t\tcommitQueue,\n\t\t\t\tisHydrating\n\t\t\t);\n\t\t}\n\n\t\tif ((tmp = options.diffed)) tmp(newVNode);\n\t} catch (e) {\n\t\tnewVNode._original = null;\n\t\t// if hydrating or creating initial tree, bailout preserves DOM:\n\t\tif (isHydrating || excessDomChildren != null) {\n\t\t\tnewVNode._dom = oldDom;\n\t\t\tnewVNode._hydrating = !!isHydrating;\n\t\t\texcessDomChildren[excessDomChildren.indexOf(oldDom)] = null;\n\t\t\t// ^ could possibly be simplified to:\n\t\t\t// excessDomChildren.length = 0;\n\t\t}\n\t\toptions._catchError(e, newVNode, oldVNode);\n\t}\n}\n\n/**\n * @param {Array} commitQueue List of components\n * which have callbacks to invoke in commitRoot\n * @param {import('../internal').VNode} root\n */\nexport function commitRoot(commitQueue, root) {\n\tif (options._commit) options._commit(root, commitQueue);\n\n\tcommitQueue.some(c => {\n\t\ttry {\n\t\t\t// @ts-ignore Reuse the commitQueue variable here so the type changes\n\t\t\tcommitQueue = c._renderCallbacks;\n\t\t\tc._renderCallbacks = [];\n\t\t\tcommitQueue.some(cb => {\n\t\t\t\t// @ts-ignore See above ts-ignore on commitQueue\n\t\t\t\tcb.call(c);\n\t\t\t});\n\t\t} catch (e) {\n\t\t\toptions._catchError(e, c._vnode);\n\t\t}\n\t});\n}\n\n/**\n * Diff two virtual nodes representing DOM element\n * @param {import('../internal').PreactElement} dom The DOM element representing\n * the virtual nodes being diffed\n * @param {import('../internal').VNode} newVNode The new virtual node\n * @param {import('../internal').VNode} oldVNode The old virtual node\n * @param {object} globalContext The current context object\n * @param {boolean} isSvg Whether or not this DOM node is an SVG node\n * @param {*} excessDomChildren\n * @param {Array} commitQueue List of components\n * which have callbacks to invoke in commitRoot\n * @param {boolean} isHydrating Whether or not we are in hydration\n * @returns {import('../internal').PreactElement}\n */\nfunction diffElementNodes(\n\tdom,\n\tnewVNode,\n\toldVNode,\n\tglobalContext,\n\tisSvg,\n\texcessDomChildren,\n\tcommitQueue,\n\tisHydrating\n) {\n\tlet oldProps = oldVNode.props;\n\tlet newProps = newVNode.props;\n\tlet nodeType = newVNode.type;\n\tlet i = 0;\n\n\t// Tracks entering and exiting SVG namespace when descending through the tree.\n\tif (nodeType === 'svg') isSvg = true;\n\n\tif (excessDomChildren != null) {\n\t\tfor (; i < excessDomChildren.length; i++) {\n\t\t\tconst child = excessDomChildren[i];\n\n\t\t\t// if newVNode matches an element in excessDomChildren or the `dom`\n\t\t\t// argument matches an element in excessDomChildren, remove it from\n\t\t\t// excessDomChildren so it isn't later removed in diffChildren\n\t\t\tif (\n\t\t\t\tchild &&\n\t\t\t\t'setAttribute' in child === !!nodeType &&\n\t\t\t\t(nodeType ? child.localName === nodeType : child.nodeType === 3)\n\t\t\t) {\n\t\t\t\tdom = child;\n\t\t\t\texcessDomChildren[i] = null;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tif (dom == null) {\n\t\tif (nodeType === null) {\n\t\t\t// @ts-ignore createTextNode returns Text, we expect PreactElement\n\t\t\treturn document.createTextNode(newProps);\n\t\t}\n\n\t\tif (isSvg) {\n\t\t\tdom = document.createElementNS(\n\t\t\t\t'http://www.w3.org/2000/svg',\n\t\t\t\t// @ts-ignore We know `newVNode.type` is a string\n\t\t\t\tnodeType\n\t\t\t);\n\t\t} else {\n\t\t\tdom = document.createElement(\n\t\t\t\t// @ts-ignore We know `newVNode.type` is a string\n\t\t\t\tnodeType,\n\t\t\t\tnewProps.is && newProps\n\t\t\t);\n\t\t}\n\n\t\t// we created a new parent, so none of the previously attached children can be reused:\n\t\texcessDomChildren = null;\n\t\t// we are creating a new node, so we can assume this is a new subtree (in case we are hydrating), this deopts the hydrate\n\t\tisHydrating = false;\n\t}\n\n\tif (nodeType === null) {\n\t\t// During hydration, we still have to split merged text from SSR'd HTML.\n\t\tif (oldProps !== newProps && (!isHydrating || dom.data !== newProps)) {\n\t\t\tdom.data = newProps;\n\t\t}\n\t} else {\n\t\t// If excessDomChildren was not null, repopulate it with the current element's children:\n\t\texcessDomChildren = excessDomChildren && slice.call(dom.childNodes);\n\n\t\toldProps = oldVNode.props || EMPTY_OBJ;\n\n\t\tlet oldHtml = oldProps.dangerouslySetInnerHTML;\n\t\tlet newHtml = newProps.dangerouslySetInnerHTML;\n\n\t\t// During hydration, props are not diffed at all (including dangerouslySetInnerHTML)\n\t\t// @TODO we should warn in debug mode when props don't match here.\n\t\tif (!isHydrating) {\n\t\t\t// But, if we are in a situation where we are using existing DOM (e.g. replaceNode)\n\t\t\t// we should read the existing DOM attributes to diff them\n\t\t\tif (excessDomChildren != null) {\n\t\t\t\toldProps = {};\n\t\t\t\tfor (i = 0; i < dom.attributes.length; i++) {\n\t\t\t\t\toldProps[dom.attributes[i].name] = dom.attributes[i].value;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (newHtml || oldHtml) {\n\t\t\t\t// Avoid re-applying the same '__html' if it did not changed between re-render\n\t\t\t\tif (\n\t\t\t\t\t!newHtml ||\n\t\t\t\t\t((!oldHtml || newHtml.__html != oldHtml.__html) &&\n\t\t\t\t\t\tnewHtml.__html !== dom.innerHTML)\n\t\t\t\t) {\n\t\t\t\t\tdom.innerHTML = (newHtml && newHtml.__html) || '';\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tdiffProps(dom, newProps, oldProps, isSvg, isHydrating);\n\n\t\t// If the new vnode didn't have dangerouslySetInnerHTML, diff its children\n\t\tif (newHtml) {\n\t\t\tnewVNode._children = [];\n\t\t} else {\n\t\t\ti = newVNode.props.children;\n\t\t\tdiffChildren(\n\t\t\t\tdom,\n\t\t\t\tArray.isArray(i) ? i : [i],\n\t\t\t\tnewVNode,\n\t\t\t\toldVNode,\n\t\t\t\tglobalContext,\n\t\t\t\tisSvg && nodeType !== 'foreignObject',\n\t\t\t\texcessDomChildren,\n\t\t\t\tcommitQueue,\n\t\t\t\texcessDomChildren\n\t\t\t\t\t? excessDomChildren[0]\n\t\t\t\t\t: oldVNode._children && getDomSibling(oldVNode, 0),\n\t\t\t\tisHydrating\n\t\t\t);\n\n\t\t\t// Remove children that are not part of any vnode.\n\t\t\tif (excessDomChildren != null) {\n\t\t\t\tfor (i = excessDomChildren.length; i--; ) {\n\t\t\t\t\tif (excessDomChildren[i] != null) removeNode(excessDomChildren[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// (as above, don't diff props during hydration)\n\t\tif (!isHydrating) {\n\t\t\tif (\n\t\t\t\t'value' in newProps &&\n\t\t\t\t(i = newProps.value) !== undefined &&\n\t\t\t\t// #2756 For the -element the initial value is 0,\n\t\t\t\t// despite the attribute not being present. When the attribute\n\t\t\t\t// is missing the progress bar is treated as indeterminate.\n\t\t\t\t// To fix that we'll always update it when it is 0 for progress elements\n\t\t\t\t(i !== dom.value ||\n\t\t\t\t\t(nodeType === 'progress' && !i) ||\n\t\t\t\t\t// This is only for IE 11 to fix \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'GGGG-[W]WW', // \n MONTH: 'YYYY-MM' // \n };\n\n return hooks;\n\n})));\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","export default typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n","import isBrowser from './isBrowser';\n\nconst timeoutDuration = (function(){\n const longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (let i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}());\n\nexport function microtaskDebounce(fn) {\n let called = false\n return () => {\n if (called) {\n return\n }\n called = true\n window.Promise.resolve().then(() => {\n called = false\n fn()\n })\n }\n}\n\nexport function taskDebounce(fn) {\n let scheduled = false;\n return () => {\n if (!scheduled) {\n scheduled = true;\n setTimeout(() => {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nconst supportsMicroTasks = isBrowser && window.Promise\n\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nexport default (supportsMicroTasks\n ? microtaskDebounce\n : taskDebounce);\n","/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nexport default function isFunction(functionToCheck) {\n const getType = {};\n return (\n functionToCheck &&\n getType.toString.call(functionToCheck) === '[object Function]'\n );\n}\n","/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nexport default function getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n const window = element.ownerDocument.defaultView;\n const css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n","/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nexport default function getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nexport default function getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body\n case '#document':\n return element.body\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getStyleComputedProperty(element);\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n","/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nexport default function getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n","import isBrowser from './isBrowser';\n\nconst isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nconst isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nexport default function isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nexport default function getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n const noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n let offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n const nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (\n ['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 &&\n getStyleComputedProperty(offsetParent, 'position') === 'static'\n ) {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n","/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nexport default function getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n","import isOffsetContainer from './isOffsetContainer';\nimport getRoot from './getRoot';\nimport getOffsetParent from './getOffsetParent';\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nexport default function findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n const order =\n element1.compareDocumentPosition(element2) &\n Node.DOCUMENT_POSITION_FOLLOWING;\n const start = order ? element1 : element2;\n const end = order ? element2 : element1;\n\n // Get common ancestor container\n const range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n const { commonAncestorContainer } = range;\n\n // Both nodes are inside #document\n if (\n (element1 !== commonAncestorContainer &&\n element2 !== commonAncestorContainer) ||\n start.contains(end)\n ) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n const element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n","import getOffsetParent from './getOffsetParent';\n\nexport default function isOffsetContainer(element) {\n const { nodeName } = element;\n if (nodeName === 'BODY') {\n return false;\n }\n return (\n nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element\n );\n}\n","/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nexport default function getScroll(element, side = 'top') {\n const upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n const nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n const html = element.ownerDocument.documentElement;\n const scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n","import getScroll from './getScroll';\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nexport default function includeScroll(rect, element, subtract = false) {\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n const modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n","/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nexport default function getBordersSize(styles, axis) {\n const sideA = axis === 'x' ? 'Left' : 'Top';\n const sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return (\n parseFloat(styles[`border${sideA}Width`]) +\n parseFloat(styles[`border${sideB}Width`])\n );\n}\n","import isIE from './isIE';\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(\n body[`offset${axis}`],\n body[`scroll${axis}`],\n html[`client${axis}`],\n html[`offset${axis}`],\n html[`scroll${axis}`],\n isIE(10)\n ? (parseInt(html[`offset${axis}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Top' : 'Left'}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Bottom' : 'Right'}`]))\n : 0 \n );\n}\n\nexport default function getWindowSizes(document) {\n const body = document.body;\n const html = document.documentElement;\n const computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle),\n };\n}\n","/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nexport default function getClientRect(offsets) {\n return {\n ...offsets,\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height,\n };\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getBordersSize from './getBordersSize';\nimport getWindowSizes from './getWindowSizes';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\nimport isIE from './isIE';\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nexport default function getBoundingClientRect(element) {\n let rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n }\n else {\n rect = element.getBoundingClientRect();\n }\n }\n catch(e){}\n\n const result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top,\n };\n\n // subtract scrollbar size from sizes\n const sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n const width =\n sizes.width || element.clientWidth || result.width;\n const height =\n sizes.height || element.clientHeight || result.height;\n\n let horizScrollbar = element.offsetWidth - width;\n let vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n const styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport includeScroll from './includeScroll';\nimport getScrollParent from './getScrollParent';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport runIsIE from './isIE';\nimport getClientRect from './getClientRect';\n\nexport default function getOffsetRectRelativeToArbitraryNode(children, parent, fixedPosition = false) {\n const isIE10 = runIsIE(10);\n const isHTML = parent.nodeName === 'HTML';\n const childrenRect = getBoundingClientRect(children);\n const parentRect = getBoundingClientRect(parent);\n const scrollParent = getScrollParent(children);\n\n const styles = getStyleComputedProperty(parent);\n const borderTopWidth = parseFloat(styles.borderTopWidth);\n const borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if(fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n let offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height,\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n const marginTop = parseFloat(styles.marginTop);\n const marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (\n isIE10 && !fixedPosition\n ? parent.contains(scrollParent)\n : parent === scrollParent && scrollParent.nodeName !== 'BODY'\n ) {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n","import getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\n\nexport default function getViewportOffsetRectRelativeToArtbitraryNode(element, excludeScroll = false) {\n const html = element.ownerDocument.documentElement;\n const relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n const width = Math.max(html.clientWidth, window.innerWidth || 0);\n const height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n const scrollTop = !excludeScroll ? getScroll(html) : 0;\n const scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n const offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width,\n height,\n };\n\n return getClientRect(offset);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nexport default function isFixed(element) {\n const nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n const parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nexport default function getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n let el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n\n}\n","import getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getReferenceNode from './getReferenceNode';\nimport findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getViewportOffsetRectRelativeToArtbitraryNode from './getViewportOffsetRectRelativeToArtbitraryNode';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nexport default function getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement,\n fixedPosition = false\n) {\n // NOTE: 1 DOM access here\n\n let boundaries = { top: 0, left: 0 };\n const offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport' ) {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n }\n\n else {\n // Handle other cases based on DOM element used as boundaries\n let boundariesNode;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n const offsets = getOffsetRectRelativeToArbitraryNode(\n boundariesNode,\n offsetParent,\n fixedPosition\n );\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n const { height, width } = getWindowSizes(popper.ownerDocument);\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n const isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0; \n boundaries.top += isPaddingNumber ? padding : padding.top || 0; \n boundaries.right -= isPaddingNumber ? padding : padding.right || 0; \n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0; \n\n return boundaries;\n}\n","import getBoundaries from '../utils/getBoundaries';\n\nfunction getArea({ width, height }) {\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeAutoPlacement(\n placement,\n refRect,\n popper,\n reference,\n boundariesElement,\n padding = 0\n) {\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n const boundaries = getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement\n );\n\n const rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top,\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height,\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom,\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height,\n },\n };\n\n const sortedAreas = Object.keys(rects)\n .map(key => ({\n key,\n ...rects[key],\n area: getArea(rects[key]),\n }))\n .sort((a, b) => b.area - a.area);\n\n const filteredAreas = sortedAreas.filter(\n ({ width, height }) =>\n width >= popper.clientWidth && height >= popper.clientHeight\n );\n\n const computedPlacement = filteredAreas.length > 0\n ? filteredAreas[0].key\n : sortedAreas[0].key;\n\n const variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? `-${variation}` : '');\n}\n","import findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\nimport getReferenceNode from './getReferenceNode';\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nexport default function getReferenceOffsets(state, popper, reference, fixedPosition = null) {\n const commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n","/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nexport default function getOuterSizes(element) {\n const window = element.ownerDocument.defaultView;\n const styles = window.getComputedStyle(element);\n const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n const result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x,\n };\n return result;\n}\n","/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nexport default function getOppositePlacement(placement) {\n const hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, matched => hash[matched]);\n}\n","import getOuterSizes from './getOuterSizes';\nimport getOppositePlacement from './getOppositePlacement';\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nexport default function getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n const popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n const popperOffsets = {\n width: popperRect.width,\n height: popperRect.height,\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n const isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n const mainSide = isHoriz ? 'top' : 'left';\n const secondarySide = isHoriz ? 'left' : 'top';\n const measurement = isHoriz ? 'height' : 'width';\n const secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] =\n referenceOffsets[mainSide] +\n referenceOffsets[measurement] / 2 -\n popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] =\n referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] =\n referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n","/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n","import isFunction from './isFunction';\nimport findIndex from './findIndex';\nimport getClientRect from '../utils/getClientRect';\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nexport default function runModifiers(modifiers, data, ends) {\n const modifiersToRun = ends === undefined\n ? modifiers\n : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(modifier => {\n if (modifier['function']) { // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n const fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n","import find from './find';\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(cur => cur[prop] === value);\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n const match = find(arr, obj => obj[prop] === value);\n return arr.indexOf(match);\n}\n","import computeAutoPlacement from '../utils/computeAutoPlacement';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nexport default function update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n let data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {},\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(\n this.state,\n this.popper,\n this.reference,\n this.options.positionFixed\n );\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(\n this.options.placement,\n data.offsets.reference,\n this.popper,\n this.reference,\n this.options.modifiers.flip.boundariesElement,\n this.options.modifiers.flip.padding\n );\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(\n this.popper,\n data.offsets.reference,\n data.placement\n );\n\n data.offsets.popper.position = this.options.positionFixed\n ? 'fixed'\n : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n","/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nexport default function isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(\n ({ name, enabled }) => enabled && name === modifierName\n );\n}\n","/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nexport default function getSupportedPropertyName(property) {\n const prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n const upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (let i = 0; i < prefixes.length; i++) {\n const prefix = prefixes[i];\n const toCheck = prefix ? `${prefix}${upperProp}` : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n","import isModifierEnabled from '../utils/isModifierEnabled';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nexport default function destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n","/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nexport default function getWindow(element) {\n const ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n","import getScrollParent from './getScrollParent';\nimport getWindow from './getWindow';\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n const isBody = scrollParent.nodeName === 'BODY';\n const target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(\n getScrollParent(target.parentNode),\n event,\n callback,\n scrollParents\n );\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function setupEventListeners(\n reference,\n options,\n state,\n updateBound\n) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n const scrollElement = getScrollParent(reference);\n attachToScrollParents(\n scrollElement,\n 'scroll',\n state.updateBound,\n state.scrollParents\n );\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n","import setupEventListeners from '../utils/setupEventListeners';\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nexport default function enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(\n this.reference,\n this.options,\n this.state,\n this.scheduleUpdate\n );\n }\n}\n","import removeEventListeners from '../utils/removeEventListeners';\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nexport default function disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n","import getWindow from './getWindow';\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(target => {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n","/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nexport default function isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n","import isNumeric from './isNumeric';\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setStyles(element, styles) {\n Object.keys(styles).forEach(prop => {\n let unit = '';\n // add unit if the value is numeric and is one of the following\n if (\n ['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !==\n -1 &&\n isNumeric(styles[prop])\n ) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n","import getSupportedPropertyName from '../utils/getSupportedPropertyName';\nimport find from '../utils/find';\nimport getOffsetParent from '../utils/getOffsetParent';\nimport getBoundingClientRect from '../utils/getBoundingClientRect';\nimport getRoundedOffsets from '../utils/getRoundedOffsets';\nimport isBrowser from '../utils/isBrowser';\n\nconst isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeStyle(data, options) {\n const { x, y } = options;\n const { popper } = data.offsets;\n\n // Remove this legacy support in Popper.js v2\n const legacyGpuAccelerationOption = find(\n data.instance.modifiers,\n modifier => modifier.name === 'applyStyle'\n ).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn(\n 'WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!'\n );\n }\n const gpuAcceleration =\n legacyGpuAccelerationOption !== undefined\n ? legacyGpuAccelerationOption\n : options.gpuAcceleration;\n\n const offsetParent = getOffsetParent(data.instance.popper);\n const offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n const styles = {\n position: popper.position,\n };\n\n const offsets = getRoundedOffsets(\n data,\n window.devicePixelRatio < 2 || !isFirefox\n );\n\n const sideA = x === 'bottom' ? 'top' : 'bottom';\n const sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n const prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n let left, top;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = `translate3d(${left}px, ${top}px, 0)`;\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n const invertTop = sideA === 'bottom' ? -1 : 1;\n const invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = `${sideA}, ${sideB}`;\n }\n\n // Attributes\n const attributes = {\n 'x-placement': data.placement,\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = { ...attributes, ...data.attributes };\n data.styles = { ...styles, ...data.styles };\n data.arrowStyles = { ...data.offsets.arrow, ...data.arrowStyles };\n\n return data;\n}\n","import find from './find';\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nexport default function isModifierRequired(\n modifiers,\n requestingName,\n requestedName\n) {\n const requesting = find(modifiers, ({ name }) => name === requestingName);\n\n const isRequired =\n !!requesting &&\n modifiers.some(modifier => {\n return (\n modifier.name === requestedName &&\n modifier.enabled &&\n modifier.order < requesting.order\n );\n });\n\n if (!isRequired) {\n const requesting = `\\`${requestingName}\\``;\n const requested = `\\`${requestedName}\\``;\n console.warn(\n `${requested} modifier is required by ${requesting} modifier in order to work, be sure to include it before ${requesting}!`\n );\n }\n return isRequired;\n}\n","/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nexport default [\n 'auto-start',\n 'auto',\n 'auto-end',\n 'top-start',\n 'top',\n 'top-end',\n 'right-start',\n 'right',\n 'right-end',\n 'bottom-end',\n 'bottom',\n 'bottom-start',\n 'left-end',\n 'left',\n 'left-start',\n];\n","import placements from '../methods/placements';\n\n// Get rid of `auto` `auto-start` and `auto-end`\nconst validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nexport default function clockwise(placement, counter = false) {\n const index = validPlacements.indexOf(placement);\n const arr = validPlacements\n .slice(index + 1)\n .concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n","import getOppositePlacement from '../utils/getOppositePlacement';\nimport getOppositeVariation from '../utils/getOppositeVariation';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\nimport getBoundaries from '../utils/getBoundaries';\nimport isModifierEnabled from '../utils/isModifierEnabled';\nimport clockwise from '../utils/clockwise';\n\nconst BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise',\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n options.boundariesElement,\n data.positionFixed\n );\n\n let placement = data.placement.split('-')[0];\n let placementOpposite = getOppositePlacement(placement);\n let variation = data.placement.split('-')[1] || '';\n\n let flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach((step, index) => {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n const popperOffsets = data.offsets.popper;\n const refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n const floor = Math.floor;\n const overlapsRef =\n (placement === 'left' &&\n floor(popperOffsets.right) > floor(refOffsets.left)) ||\n (placement === 'right' &&\n floor(popperOffsets.left) < floor(refOffsets.right)) ||\n (placement === 'top' &&\n floor(popperOffsets.bottom) > floor(refOffsets.top)) ||\n (placement === 'bottom' &&\n floor(popperOffsets.top) < floor(refOffsets.bottom));\n\n const overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n const overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n const overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n const overflowsBottom =\n floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n const overflowsBoundaries =\n (placement === 'left' && overflowsLeft) ||\n (placement === 'right' && overflowsRight) ||\n (placement === 'top' && overflowsTop) ||\n (placement === 'bottom' && overflowsBottom);\n\n // flip the variation if required\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n const flippedVariationByRef =\n !!options.flipVariations &&\n ((isVertical && variation === 'start' && overflowsLeft) ||\n (isVertical && variation === 'end' && overflowsRight) ||\n (!isVertical && variation === 'start' && overflowsTop) ||\n (!isVertical && variation === 'end' && overflowsBottom));\n\n // flips variation if popper content overflows boundaries\n const flippedVariationByContent =\n !!options.flipVariationsByContent &&\n ((isVertical && variation === 'start' && overflowsRight) ||\n (isVertical && variation === 'end' && overflowsLeft) ||\n (!isVertical && variation === 'start' && overflowsBottom) ||\n (!isVertical && variation === 'end' && overflowsTop));\n\n const flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = {\n ...data.offsets.popper,\n ...getPopperOffsets(\n data.instance.popper,\n data.offsets.reference,\n data.placement\n ),\n };\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n","import isNumeric from '../utils/isNumeric';\nimport getClientRect from '../utils/getClientRect';\nimport find from '../utils/find';\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nexport function toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n const split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n const value = +split[1];\n const unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n let element;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n const rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n let size;\n if (unit === 'vh') {\n size = Math.max(\n document.documentElement.clientHeight,\n window.innerHeight || 0\n );\n } else {\n size = Math.max(\n document.documentElement.clientWidth,\n window.innerWidth || 0\n );\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nexport function parseOffset(\n offset,\n popperOffsets,\n referenceOffsets,\n basePlacement\n) {\n const offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n const useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n const fragments = offset.split(/(\\+|\\-)/).map(frag => frag.trim());\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n const divider = fragments.indexOf(\n find(fragments, frag => frag.search(/,|\\s/) !== -1)\n );\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn(\n 'Offsets separated by white space(s) are deprecated, use a comma (,) instead.'\n );\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n const splitRegex = /\\s*,\\s*|\\s+/;\n let ops = divider !== -1\n ? [\n fragments\n .slice(0, divider)\n .concat([fragments[divider].split(splitRegex)[0]]),\n [fragments[divider].split(splitRegex)[1]].concat(\n fragments.slice(divider + 1)\n ),\n ]\n : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map((op, index) => {\n // Most of the units rely on the orientation of the popper\n const measurement = (index === 1 ? !useHeight : useHeight)\n ? 'height'\n : 'width';\n let mergeWithPrevious = false;\n return (\n op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce((a, b) => {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(str => toValue(str, measurement, popperOffsets, referenceOffsets))\n );\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach((op, index) => {\n op.forEach((frag, index2) => {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nexport default function offset(data, { offset }) {\n const { placement, offsets: { popper, reference } } = data;\n const basePlacement = placement.split('-')[0];\n\n let offsets;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n","import applyStyle, { applyStyleOnLoad } from './applyStyle';\nimport computeStyle from './computeStyle';\nimport arrow from './arrow';\nimport flip from './flip';\nimport keepTogether from './keepTogether';\nimport offset from './offset';\nimport preventOverflow from './preventOverflow';\nimport shift from './shift';\nimport hide from './hide';\nimport inner from './inner';\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nexport default {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift,\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0,\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent',\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether,\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]',\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false,\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner,\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide,\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right',\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined,\n },\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n","import modifiers from '../modifiers/index';\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overridden using the `options` argument of Popper.js.
\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nexport default {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: () => {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: () => {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers,\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function shift(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n const { reference, popper } = data.offsets;\n const isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n const side = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n const shiftOffsets = {\n start: { [side]: reference[side] },\n end: {\n [side]: reference[side] + reference[measurement] - popper[measurement],\n },\n };\n\n data.offsets.popper = { ...popper, ...shiftOffsets[shiftvariation] };\n }\n\n return data;\n}\n","import getOffsetParent from '../utils/getOffsetParent';\nimport getBoundaries from '../utils/getBoundaries';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function preventOverflow(data, options) {\n let boundariesElement =\n options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n const transformProp = getSupportedPropertyName('transform');\n const popperStyles = data.instance.popper.style; // assignment to help minification\n const { top, left, [transformProp]: transform } = popperStyles;\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n boundariesElement,\n data.positionFixed\n );\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n const order = options.priority;\n let popper = data.offsets.popper;\n\n const check = {\n primary(placement) {\n let value = popper[placement];\n if (\n popper[placement] < boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return { [placement]: value };\n },\n secondary(placement) {\n const mainSide = placement === 'right' ? 'left' : 'top';\n let value = popper[mainSide];\n if (\n popper[placement] > boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.min(\n popper[mainSide],\n boundaries[placement] -\n (placement === 'right' ? popper.width : popper.height)\n );\n }\n return { [mainSide]: value };\n },\n };\n\n order.forEach(placement => {\n const side =\n ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = { ...popper, ...check[side](placement) };\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function keepTogether(data) {\n const { popper, reference } = data.offsets;\n const placement = data.placement.split('-')[0];\n const floor = Math.floor;\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n const side = isVertical ? 'right' : 'bottom';\n const opSide = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] =\n floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOuterSizes from '../utils/getOuterSizes';\nimport isModifierRequired from '../utils/isModifierRequired';\nimport getStyleComputedProperty from '../utils/getStyleComputedProperty';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function arrow(data, options) {\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n let arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn(\n 'WARNING: `arrow.element` must be child of its popper element!'\n );\n return data;\n }\n }\n\n const placement = data.placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n const len = isVertical ? 'height' : 'width';\n const sideCapitalized = isVertical ? 'Top' : 'Left';\n const side = sideCapitalized.toLowerCase();\n const altSide = isVertical ? 'left' : 'top';\n const opSide = isVertical ? 'bottom' : 'right';\n const arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -=\n popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] +=\n reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n const center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n const css = getStyleComputedProperty(data.instance.popper);\n const popperMarginSide = parseFloat(css[`margin${sideCapitalized}`]);\n const popperBorderSide = parseFloat(css[`border${sideCapitalized}Width`]);\n let sideValue =\n center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = {\n [side]: Math.round(sideValue),\n [altSide]: '', // make sure to unset any eventual altSide value from the DOM node\n };\n\n return data;\n}\n","/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nexport default function getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOppositePlacement from '../utils/getOppositePlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function inner(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n const subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] =\n reference[basePlacement] -\n (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n","import isModifierRequired from '../utils/isModifierRequired';\nimport find from '../utils/find';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n const refRect = data.offsets.reference;\n const bound = find(\n data.instance.modifiers,\n modifier => modifier.name === 'preventOverflow'\n ).boundaries;\n\n if (\n refRect.bottom < bound.top ||\n refRect.left > bound.right ||\n refRect.top > bound.bottom ||\n refRect.right < bound.left\n ) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n","/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nexport default function getRoundedOffsets(data, shouldRound) {\n const { popper, reference } = data.offsets;\n const { round, floor } = Math;\n const noRound = v => v;\n \n const referenceWidth = round(reference.width);\n const popperWidth = round(popper.width);\n \n const isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n const isVariation = data.placement.indexOf('-') !== -1;\n const sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n const bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n const horizontalToInteger = !shouldRound\n ? noRound\n : isVertical || isVariation || sameWidthParity\n ? round\n : floor;\n const verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(\n bothOddWidth && !isVariation && shouldRound\n ? popper.left - 1\n : popper.left\n ),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right),\n };\n}\n","import setStyles from '../utils/setStyles';\nimport setAttributes from '../utils/setAttributes';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport computeAutoPlacement from '../utils/computeAutoPlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nexport default function applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nexport function applyStyleOnLoad(\n reference,\n popper,\n options,\n modifierOptions,\n state\n) {\n // compute reference element offsets\n const referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n const placement = computeAutoPlacement(\n options.placement,\n referenceOffsets,\n popper,\n reference,\n options.modifiers.flip.boundariesElement,\n options.modifiers.flip.padding\n );\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n","/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function(prop) {\n const value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n","// Utils\nimport debounce from './utils/debounce';\nimport isFunction from './utils/isFunction';\n\n// Methods\nimport update from './methods/update';\nimport destroy from './methods/destroy';\nimport enableEventListeners from './methods/enableEventListeners';\nimport disableEventListeners from './methods/disableEventListeners';\nimport Defaults from './methods/defaults';\nimport placements from './methods/placements';\n\nexport default class Popper {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n constructor(reference, popper, options = {}) {\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = { ...Popper.Defaults, ...options };\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: [],\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys({\n ...Popper.Defaults.modifiers,\n ...options.modifiers,\n }).forEach(name => {\n this.options.modifiers[name] = {\n // If it's a built-in modifier, use it as base\n ...(Popper.Defaults.modifiers[name] || {}),\n // If there are custom options, override and merge with default ones\n ...(options.modifiers ? options.modifiers[name] : {}),\n };\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers)\n .map(name => ({\n name,\n ...this.options.modifiers[name],\n }))\n // sort the modifiers by order\n .sort((a, b) => a.order - b.order);\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(modifierOptions => {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(\n this.reference,\n this.popper,\n this.options,\n modifierOptions,\n this.state\n );\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n const eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n update() {\n return update.call(this);\n }\n destroy() {\n return destroy.call(this);\n }\n enableEventListeners() {\n return enableEventListeners.call(this);\n }\n disableEventListeners() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n scheduleUpdate = () => requestAnimationFrame(this.update);\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n static Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\n\n static placements = placements;\n\n static Defaults = Defaults;\n}\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","var Buffer = require('safe-buffer').Buffer\n\nvar checkParameters = require('./precondition')\nvar defaultEncoding = require('./default-encoding')\nvar sync = require('./sync')\nvar toBuffer = require('./to-buffer')\n\nvar ZERO_BUF\nvar subtle = global.crypto && global.crypto.subtle\nvar toBrowser = {\n sha: 'SHA-1',\n 'sha-1': 'SHA-1',\n sha1: 'SHA-1',\n sha256: 'SHA-256',\n 'sha-256': 'SHA-256',\n sha384: 'SHA-384',\n 'sha-384': 'SHA-384',\n 'sha-512': 'SHA-512',\n sha512: 'SHA-512'\n}\nvar checks = []\nfunction checkNative (algo) {\n if (global.process && !global.process.browser) {\n return Promise.resolve(false)\n }\n if (!subtle || !subtle.importKey || !subtle.deriveBits) {\n return Promise.resolve(false)\n }\n if (checks[algo] !== undefined) {\n return checks[algo]\n }\n ZERO_BUF = ZERO_BUF || Buffer.alloc(8)\n var prom = browserPbkdf2(ZERO_BUF, ZERO_BUF, 10, 128, algo)\n .then(function () {\n return true\n }).catch(function () {\n return false\n })\n checks[algo] = prom\n return prom\n}\nvar nextTick\nfunction getNextTick () {\n if (nextTick) {\n return nextTick\n }\n if (global.process && global.process.nextTick) {\n nextTick = global.process.nextTick\n } else if (global.queueMicrotask) {\n nextTick = global.queueMicrotask\n } else if (global.setImmediate) {\n nextTick = global.setImmediate\n } else {\n nextTick = global.setTimeout\n }\n return nextTick\n}\nfunction browserPbkdf2 (password, salt, iterations, length, algo) {\n return subtle.importKey(\n 'raw', password, { name: 'PBKDF2' }, false, ['deriveBits']\n ).then(function (key) {\n return subtle.deriveBits({\n name: 'PBKDF2',\n salt: salt,\n iterations: iterations,\n hash: {\n name: algo\n }\n }, key, length << 3)\n }).then(function (res) {\n return Buffer.from(res)\n })\n}\n\nfunction resolvePromise (promise, callback) {\n promise.then(function (out) {\n getNextTick()(function () {\n callback(null, out)\n })\n }, function (e) {\n getNextTick()(function () {\n callback(e)\n })\n })\n}\nmodule.exports = function (password, salt, iterations, keylen, digest, callback) {\n if (typeof digest === 'function') {\n callback = digest\n digest = undefined\n }\n\n digest = digest || 'sha1'\n var algo = toBrowser[digest.toLowerCase()]\n\n if (!algo || typeof global.Promise !== 'function') {\n getNextTick()(function () {\n var out\n try {\n out = sync(password, salt, iterations, keylen, digest)\n } catch (e) {\n return callback(e)\n }\n callback(null, out)\n })\n return\n }\n\n checkParameters(iterations, keylen)\n password = toBuffer(password, defaultEncoding, 'Password')\n salt = toBuffer(salt, defaultEncoding, 'Salt')\n if (typeof callback !== 'function') throw new Error('No callback provided to pbkdf2')\n\n resolvePromise(checkNative(algo).then(function (resp) {\n if (resp) return browserPbkdf2(password, salt, iterations, keylen, algo)\n\n return sync(password, salt, iterations, keylen, digest)\n }), callback)\n}\n","import { options } from 'preact';\n\n/** @type {number} */\nlet currentIndex;\n\n/** @type {import('./internal').Component} */\nlet currentComponent;\n\n/** @type {import('./internal').Component} */\nlet previousComponent;\n\n/** @type {number} */\nlet currentHook = 0;\n\n/** @type {Array} */\nlet afterPaintEffects = [];\n\nlet EMPTY = [];\n\nlet oldBeforeDiff = options._diff;\nlet oldBeforeRender = options._render;\nlet oldAfterDiff = options.diffed;\nlet oldCommit = options._commit;\nlet oldBeforeUnmount = options.unmount;\n\nconst RAF_TIMEOUT = 100;\nlet prevRaf;\n\noptions._diff = vnode => {\n\tcurrentComponent = null;\n\tif (oldBeforeDiff) oldBeforeDiff(vnode);\n};\n\noptions._render = vnode => {\n\tif (oldBeforeRender) oldBeforeRender(vnode);\n\n\tcurrentComponent = vnode._component;\n\tcurrentIndex = 0;\n\n\tconst hooks = currentComponent.__hooks;\n\tif (hooks) {\n\t\tif (previousComponent === currentComponent) {\n\t\t\thooks._pendingEffects = [];\n\t\t\tcurrentComponent._renderCallbacks = [];\n\t\t\thooks._list.forEach(hookItem => {\n\t\t\t\tif (hookItem._nextValue) {\n\t\t\t\t\thookItem._value = hookItem._nextValue;\n\t\t\t\t}\n\t\t\t\thookItem._pendingValue = EMPTY;\n\t\t\t\thookItem._nextValue = hookItem._pendingArgs = undefined;\n\t\t\t});\n\t\t} else {\n\t\t\thooks._pendingEffects.forEach(invokeCleanup);\n\t\t\thooks._pendingEffects.forEach(invokeEffect);\n\t\t\thooks._pendingEffects = [];\n\t\t}\n\t}\n\tpreviousComponent = currentComponent;\n};\n\noptions.diffed = vnode => {\n\tif (oldAfterDiff) oldAfterDiff(vnode);\n\n\tconst c = vnode._component;\n\tif (c && c.__hooks) {\n\t\tif (c.__hooks._pendingEffects.length) afterPaint(afterPaintEffects.push(c));\n\t\tc.__hooks._list.forEach(hookItem => {\n\t\t\tif (hookItem._pendingArgs) {\n\t\t\t\thookItem._args = hookItem._pendingArgs;\n\t\t\t}\n\t\t\tif (hookItem._pendingValue !== EMPTY) {\n\t\t\t\thookItem._value = hookItem._pendingValue;\n\t\t\t}\n\t\t\thookItem._pendingArgs = undefined;\n\t\t\thookItem._pendingValue = EMPTY;\n\t\t});\n\t}\n\tpreviousComponent = currentComponent = null;\n};\n\noptions._commit = (vnode, commitQueue) => {\n\tcommitQueue.some(component => {\n\t\ttry {\n\t\t\tcomponent._renderCallbacks.forEach(invokeCleanup);\n\t\t\tcomponent._renderCallbacks = component._renderCallbacks.filter(cb =>\n\t\t\t\tcb._value ? invokeEffect(cb) : true\n\t\t\t);\n\t\t} catch (e) {\n\t\t\tcommitQueue.some(c => {\n\t\t\t\tif (c._renderCallbacks) c._renderCallbacks = [];\n\t\t\t});\n\t\t\tcommitQueue = [];\n\t\t\toptions._catchError(e, component._vnode);\n\t\t}\n\t});\n\n\tif (oldCommit) oldCommit(vnode, commitQueue);\n};\n\noptions.unmount = vnode => {\n\tif (oldBeforeUnmount) oldBeforeUnmount(vnode);\n\n\tconst c = vnode._component;\n\tif (c && c.__hooks) {\n\t\tlet hasErrored;\n\t\tc.__hooks._list.forEach(s => {\n\t\t\ttry {\n\t\t\t\tinvokeCleanup(s);\n\t\t\t} catch (e) {\n\t\t\t\thasErrored = e;\n\t\t\t}\n\t\t});\n\t\tc.__hooks = undefined;\n\t\tif (hasErrored) options._catchError(hasErrored, c._vnode);\n\t}\n};\n\n/**\n * Get a hook's state from the currentComponent\n * @param {number} index The index of the hook to get\n * @param {number} type The index of the hook to get\n * @returns {any}\n */\nfunction getHookState(index, type) {\n\tif (options._hook) {\n\t\toptions._hook(currentComponent, index, currentHook || type);\n\t}\n\tcurrentHook = 0;\n\n\t// Largely inspired by:\n\t// * https://github.com/michael-klein/funcy.js/blob/f6be73468e6ec46b0ff5aa3cc4c9baf72a29025a/src/hooks/core_hooks.mjs\n\t// * https://github.com/michael-klein/funcy.js/blob/650beaa58c43c33a74820a3c98b3c7079cf2e333/src/renderer.mjs\n\t// Other implementations to look at:\n\t// * https://codesandbox.io/s/mnox05qp8\n\tconst hooks =\n\t\tcurrentComponent.__hooks ||\n\t\t(currentComponent.__hooks = {\n\t\t\t_list: [],\n\t\t\t_pendingEffects: []\n\t\t});\n\n\tif (index >= hooks._list.length) {\n\t\thooks._list.push({ _pendingValue: EMPTY });\n\t}\n\treturn hooks._list[index];\n}\n\n/**\n * @param {import('./index').StateUpdater} [initialState]\n */\nexport function useState(initialState) {\n\tcurrentHook = 1;\n\treturn useReducer(invokeOrReturn, initialState);\n}\n\n/**\n * @param {import('./index').Reducer} reducer\n * @param {import('./index').StateUpdater} initialState\n * @param {(initialState: any) => void} [init]\n * @returns {[ any, (state: any) => void ]}\n */\nexport function useReducer(reducer, initialState, init) {\n\t/** @type {import('./internal').ReducerHookState} */\n\tconst hookState = getHookState(currentIndex++, 2);\n\thookState._reducer = reducer;\n\tif (!hookState._component) {\n\t\thookState._value = [\n\t\t\t!init ? invokeOrReturn(undefined, initialState) : init(initialState),\n\n\t\t\taction => {\n\t\t\t\tconst currentValue = hookState._nextValue\n\t\t\t\t\t? hookState._nextValue[0]\n\t\t\t\t\t: hookState._value[0];\n\t\t\t\tconst nextValue = hookState._reducer(currentValue, action);\n\n\t\t\t\tif (currentValue !== nextValue) {\n\t\t\t\t\thookState._nextValue = [nextValue, hookState._value[1]];\n\t\t\t\t\thookState._component.setState({});\n\t\t\t\t}\n\t\t\t}\n\t\t];\n\n\t\thookState._component = currentComponent;\n\n\t\tif (!currentComponent._hasScuFromHooks) {\n\t\t\tcurrentComponent._hasScuFromHooks = true;\n\t\t\tconst prevScu = currentComponent.shouldComponentUpdate;\n\n\t\t\t// This SCU has the purpose of bailing out after repeated updates\n\t\t\t// to stateful hooks.\n\t\t\t// we store the next value in _nextValue[0] and keep doing that for all\n\t\t\t// state setters, if we have next states and\n\t\t\t// all next states within a component end up being equal to their original state\n\t\t\t// we are safe to bail out for this specific component.\n\t\t\tcurrentComponent.shouldComponentUpdate = function(p, s, c) {\n\t\t\t\tif (!hookState._component.__hooks) return true;\n\n\t\t\t\tconst stateHooks = hookState._component.__hooks._list.filter(\n\t\t\t\t\tx => x._component\n\t\t\t\t);\n\t\t\t\tconst allHooksEmpty = stateHooks.every(x => !x._nextValue);\n\t\t\t\t// When we have no updated hooks in the component we invoke the previous SCU or\n\t\t\t\t// traverse the VDOM tree further.\n\t\t\t\tif (allHooksEmpty) {\n\t\t\t\t\treturn prevScu ? prevScu.call(this, p, s, c) : true;\n\t\t\t\t}\n\n\t\t\t\t// We check whether we have components with a nextValue set that\n\t\t\t\t// have values that aren't equal to one another this pushes\n\t\t\t\t// us to update further down the tree\n\t\t\t\tlet shouldUpdate = false;\n\t\t\t\tstateHooks.forEach(hookItem => {\n\t\t\t\t\tif (hookItem._nextValue) {\n\t\t\t\t\t\tconst currentValue = hookItem._value[0];\n\t\t\t\t\t\thookItem._value = hookItem._nextValue;\n\t\t\t\t\t\thookItem._nextValue = undefined;\n\t\t\t\t\t\tif (currentValue !== hookItem._value[0]) shouldUpdate = true;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\treturn shouldUpdate || hookState._component.props !== p\n\t\t\t\t\t? prevScu\n\t\t\t\t\t\t? prevScu.call(this, p, s, c)\n\t\t\t\t\t\t: true\n\t\t\t\t\t: false;\n\t\t\t};\n\t\t}\n\t}\n\n\treturn hookState._nextValue || hookState._value;\n}\n\n/**\n * @param {import('./internal').Effect} callback\n * @param {any[]} args\n */\nexport function useEffect(callback, args) {\n\t/** @type {import('./internal').EffectHookState} */\n\tconst state = getHookState(currentIndex++, 3);\n\tif (!options._skipEffects && argsChanged(state._args, args)) {\n\t\tstate._value = callback;\n\t\tstate._pendingArgs = args;\n\n\t\tcurrentComponent.__hooks._pendingEffects.push(state);\n\t}\n}\n\n/**\n * @param {import('./internal').Effect} callback\n * @param {any[]} args\n */\nexport function useLayoutEffect(callback, args) {\n\t/** @type {import('./internal').EffectHookState} */\n\tconst state = getHookState(currentIndex++, 4);\n\tif (!options._skipEffects && argsChanged(state._args, args)) {\n\t\tstate._value = callback;\n\t\tstate._pendingArgs = args;\n\n\t\tcurrentComponent._renderCallbacks.push(state);\n\t}\n}\n\nexport function useRef(initialValue) {\n\tcurrentHook = 5;\n\treturn useMemo(() => ({ current: initialValue }), []);\n}\n\n/**\n * @param {object} ref\n * @param {() => object} createHandle\n * @param {any[]} args\n */\nexport function useImperativeHandle(ref, createHandle, args) {\n\tcurrentHook = 6;\n\tuseLayoutEffect(\n\t\t() => {\n\t\t\tif (typeof ref == 'function') {\n\t\t\t\tref(createHandle());\n\t\t\t\treturn () => ref(null);\n\t\t\t} else if (ref) {\n\t\t\t\tref.current = createHandle();\n\t\t\t\treturn () => (ref.current = null);\n\t\t\t}\n\t\t},\n\t\targs == null ? args : args.concat(ref)\n\t);\n}\n\n/**\n * @param {() => any} factory\n * @param {any[]} args\n */\nexport function useMemo(factory, args) {\n\t/** @type {import('./internal').MemoHookState} */\n\tconst state = getHookState(currentIndex++, 7);\n\tif (argsChanged(state._args, args)) {\n\t\tstate._pendingValue = factory();\n\t\tstate._pendingArgs = args;\n\t\tstate._factory = factory;\n\t\treturn state._pendingValue;\n\t}\n\n\treturn state._value;\n}\n\n/**\n * @param {() => void} callback\n * @param {any[]} args\n */\nexport function useCallback(callback, args) {\n\tcurrentHook = 8;\n\treturn useMemo(() => callback, args);\n}\n\n/**\n * @param {import('./internal').PreactContext} context\n */\nexport function useContext(context) {\n\tconst provider = currentComponent.context[context._id];\n\t// We could skip this call here, but than we'd not call\n\t// `options._hook`. We need to do that in order to make\n\t// the devtools aware of this hook.\n\t/** @type {import('./internal').ContextHookState} */\n\tconst state = getHookState(currentIndex++, 9);\n\t// The devtools needs access to the context object to\n\t// be able to pull of the default value when no provider\n\t// is present in the tree.\n\tstate._context = context;\n\tif (!provider) return context._defaultValue;\n\t// This is probably not safe to convert to \"!\"\n\tif (state._value == null) {\n\t\tstate._value = true;\n\t\tprovider.sub(currentComponent);\n\t}\n\treturn provider.props.value;\n}\n\n/**\n * Display a custom label for a custom hook for the devtools panel\n * @type {(value: T, cb?: (value: T) => string | number) => void}\n */\nexport function useDebugValue(value, formatter) {\n\tif (options.useDebugValue) {\n\t\toptions.useDebugValue(formatter ? formatter(value) : value);\n\t}\n}\n\n/**\n * @param {(error: any, errorInfo: import('preact').ErrorInfo) => void} cb\n */\nexport function useErrorBoundary(cb) {\n\t/** @type {import('./internal').ErrorBoundaryHookState} */\n\tconst state = getHookState(currentIndex++, 10);\n\tconst errState = useState();\n\tstate._value = cb;\n\tif (!currentComponent.componentDidCatch) {\n\t\tcurrentComponent.componentDidCatch = (err, errorInfo) => {\n\t\t\tif (state._value) state._value(err, errorInfo);\n\t\t\terrState[1](err);\n\t\t};\n\t}\n\treturn [\n\t\terrState[0],\n\t\t() => {\n\t\t\terrState[1](undefined);\n\t\t}\n\t];\n}\n\nexport function useId() {\n\tconst state = getHookState(currentIndex++, 11);\n\tif (!state._value) {\n\t\t// Grab either the root node or the nearest async boundary node.\n\t\t/** @type {import('./internal.d').VNode} */\n\t\tlet root = currentComponent._vnode;\n\t\twhile (root !== null && !root._mask && root._parent !== null) {\n\t\t\troot = root._parent;\n\t\t}\n\n\t\tlet mask = root._mask || (root._mask = [0, 0]);\n\t\tstate._value = 'P' + mask[0] + '-' + mask[1]++;\n\t}\n\n\treturn state._value;\n}\n/**\n * After paint effects consumer.\n */\nfunction flushAfterPaintEffects() {\n\tlet component;\n\twhile ((component = afterPaintEffects.shift())) {\n\t\tif (!component._parentDom || !component.__hooks) continue;\n\t\ttry {\n\t\t\tcomponent.__hooks._pendingEffects.forEach(invokeCleanup);\n\t\t\tcomponent.__hooks._pendingEffects.forEach(invokeEffect);\n\t\t\tcomponent.__hooks._pendingEffects = [];\n\t\t} catch (e) {\n\t\t\tcomponent.__hooks._pendingEffects = [];\n\t\t\toptions._catchError(e, component._vnode);\n\t\t}\n\t}\n}\n\nlet HAS_RAF = typeof requestAnimationFrame == 'function';\n\n/**\n * Schedule a callback to be invoked after the browser has a chance to paint a new frame.\n * Do this by combining requestAnimationFrame (rAF) + setTimeout to invoke a callback after\n * the next browser frame.\n *\n * Also, schedule a timeout in parallel to the the rAF to ensure the callback is invoked\n * even if RAF doesn't fire (for example if the browser tab is not visible)\n *\n * @param {() => void} callback\n */\nfunction afterNextFrame(callback) {\n\tconst done = () => {\n\t\tclearTimeout(timeout);\n\t\tif (HAS_RAF) cancelAnimationFrame(raf);\n\t\tsetTimeout(callback);\n\t};\n\tconst timeout = setTimeout(done, RAF_TIMEOUT);\n\n\tlet raf;\n\tif (HAS_RAF) {\n\t\traf = requestAnimationFrame(done);\n\t}\n}\n\n// Note: if someone used options.debounceRendering = requestAnimationFrame,\n// then effects will ALWAYS run on the NEXT frame instead of the current one, incurring a ~16ms delay.\n// Perhaps this is not such a big deal.\n/**\n * Schedule afterPaintEffects flush after the browser paints\n * @param {number} newQueueLength\n */\nfunction afterPaint(newQueueLength) {\n\tif (newQueueLength === 1 || prevRaf !== options.requestAnimationFrame) {\n\t\tprevRaf = options.requestAnimationFrame;\n\t\t(prevRaf || afterNextFrame)(flushAfterPaintEffects);\n\t}\n}\n\n/**\n * @param {import('./internal').EffectHookState} hook\n */\nfunction invokeCleanup(hook) {\n\t// A hook cleanup can introduce a call to render which creates a new root, this will call options.vnode\n\t// and move the currentComponent away.\n\tconst comp = currentComponent;\n\tlet cleanup = hook._cleanup;\n\tif (typeof cleanup == 'function') {\n\t\thook._cleanup = undefined;\n\t\tcleanup();\n\t}\n\n\tcurrentComponent = comp;\n}\n\n/**\n * Invoke a Hook's effect\n * @param {import('./internal').EffectHookState} hook\n */\nfunction invokeEffect(hook) {\n\t// A hook call can introduce a call to render which creates a new root, this will call options.vnode\n\t// and move the currentComponent away.\n\tconst comp = currentComponent;\n\thook._cleanup = hook._value();\n\tcurrentComponent = comp;\n}\n\n/**\n * @param {any[]} oldArgs\n * @param {any[]} newArgs\n */\nfunction argsChanged(oldArgs, newArgs) {\n\treturn (\n\t\t!oldArgs ||\n\t\toldArgs.length !== newArgs.length ||\n\t\tnewArgs.some((arg, index) => arg !== oldArgs[index])\n\t);\n}\n\nfunction invokeOrReturn(arg, f) {\n\treturn typeof f == 'function' ? f(arg) : f;\n}\n","// from https://github.com/indutny/self-signed/blob/gh-pages/lib/asn1.js\n// Fedor, you are amazing.\n'use strict'\n\nvar asn1 = require('asn1.js')\n\nexports.certificate = require('./certificate')\n\nvar RSAPrivateKey = asn1.define('RSAPrivateKey', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('modulus').int(),\n this.key('publicExponent').int(),\n this.key('privateExponent').int(),\n this.key('prime1').int(),\n this.key('prime2').int(),\n this.key('exponent1').int(),\n this.key('exponent2').int(),\n this.key('coefficient').int()\n )\n})\nexports.RSAPrivateKey = RSAPrivateKey\n\nvar RSAPublicKey = asn1.define('RSAPublicKey', function () {\n this.seq().obj(\n this.key('modulus').int(),\n this.key('publicExponent').int()\n )\n})\nexports.RSAPublicKey = RSAPublicKey\n\nvar PublicKey = asn1.define('SubjectPublicKeyInfo', function () {\n this.seq().obj(\n this.key('algorithm').use(AlgorithmIdentifier),\n this.key('subjectPublicKey').bitstr()\n )\n})\nexports.PublicKey = PublicKey\n\nvar AlgorithmIdentifier = asn1.define('AlgorithmIdentifier', function () {\n this.seq().obj(\n this.key('algorithm').objid(),\n this.key('none').null_().optional(),\n this.key('curve').objid().optional(),\n this.key('params').seq().obj(\n this.key('p').int(),\n this.key('q').int(),\n this.key('g').int()\n ).optional()\n )\n})\n\nvar PrivateKeyInfo = asn1.define('PrivateKeyInfo', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('algorithm').use(AlgorithmIdentifier),\n this.key('subjectPrivateKey').octstr()\n )\n})\nexports.PrivateKey = PrivateKeyInfo\nvar EncryptedPrivateKeyInfo = asn1.define('EncryptedPrivateKeyInfo', function () {\n this.seq().obj(\n this.key('algorithm').seq().obj(\n this.key('id').objid(),\n this.key('decrypt').seq().obj(\n this.key('kde').seq().obj(\n this.key('id').objid(),\n this.key('kdeparams').seq().obj(\n this.key('salt').octstr(),\n this.key('iters').int()\n )\n ),\n this.key('cipher').seq().obj(\n this.key('algo').objid(),\n this.key('iv').octstr()\n )\n )\n ),\n this.key('subjectPrivateKey').octstr()\n )\n})\n\nexports.EncryptedPrivateKey = EncryptedPrivateKeyInfo\n\nvar DSAPrivateKey = asn1.define('DSAPrivateKey', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('p').int(),\n this.key('q').int(),\n this.key('g').int(),\n this.key('pub_key').int(),\n this.key('priv_key').int()\n )\n})\nexports.DSAPrivateKey = DSAPrivateKey\n\nexports.DSAparam = asn1.define('DSAparam', function () {\n this.int()\n})\n\nvar ECPrivateKey = asn1.define('ECPrivateKey', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('privateKey').octstr(),\n this.key('parameters').optional().explicit(0).use(ECParameters),\n this.key('publicKey').optional().explicit(1).bitstr()\n )\n})\nexports.ECPrivateKey = ECPrivateKey\n\nvar ECParameters = asn1.define('ECParameters', function () {\n this.choice({\n namedCurve: this.objid()\n })\n})\n\nexports.signature = asn1.define('signature', function () {\n this.seq().obj(\n this.key('r').int(),\n this.key('s').int()\n )\n})\n","// from https://github.com/Rantanen/node-dtls/blob/25a7dc861bda38cfeac93a723500eea4f0ac2e86/Certificate.js\n// thanks to @Rantanen\n\n'use strict'\n\nvar asn = require('asn1.js')\n\nvar Time = asn.define('Time', function () {\n this.choice({\n utcTime: this.utctime(),\n generalTime: this.gentime()\n })\n})\n\nvar AttributeTypeValue = asn.define('AttributeTypeValue', function () {\n this.seq().obj(\n this.key('type').objid(),\n this.key('value').any()\n )\n})\n\nvar AlgorithmIdentifier = asn.define('AlgorithmIdentifier', function () {\n this.seq().obj(\n this.key('algorithm').objid(),\n this.key('parameters').optional(),\n this.key('curve').objid().optional()\n )\n})\n\nvar SubjectPublicKeyInfo = asn.define('SubjectPublicKeyInfo', function () {\n this.seq().obj(\n this.key('algorithm').use(AlgorithmIdentifier),\n this.key('subjectPublicKey').bitstr()\n )\n})\n\nvar RelativeDistinguishedName = asn.define('RelativeDistinguishedName', function () {\n this.setof(AttributeTypeValue)\n})\n\nvar RDNSequence = asn.define('RDNSequence', function () {\n this.seqof(RelativeDistinguishedName)\n})\n\nvar Name = asn.define('Name', function () {\n this.choice({\n rdnSequence: this.use(RDNSequence)\n })\n})\n\nvar Validity = asn.define('Validity', function () {\n this.seq().obj(\n this.key('notBefore').use(Time),\n this.key('notAfter').use(Time)\n )\n})\n\nvar Extension = asn.define('Extension', function () {\n this.seq().obj(\n this.key('extnID').objid(),\n this.key('critical').bool().def(false),\n this.key('extnValue').octstr()\n )\n})\n\nvar TBSCertificate = asn.define('TBSCertificate', function () {\n this.seq().obj(\n this.key('version').explicit(0).int().optional(),\n this.key('serialNumber').int(),\n this.key('signature').use(AlgorithmIdentifier),\n this.key('issuer').use(Name),\n this.key('validity').use(Validity),\n this.key('subject').use(Name),\n this.key('subjectPublicKeyInfo').use(SubjectPublicKeyInfo),\n this.key('issuerUniqueID').implicit(1).bitstr().optional(),\n this.key('subjectUniqueID').implicit(2).bitstr().optional(),\n this.key('extensions').explicit(3).seqof(Extension).optional()\n )\n})\n\nvar X509Certificate = asn.define('X509Certificate', function () {\n this.seq().obj(\n this.key('tbsCertificate').use(TBSCertificate),\n this.key('signatureAlgorithm').use(AlgorithmIdentifier),\n this.key('signatureValue').bitstr()\n )\n})\n\nmodule.exports = X509Certificate\n","// adapted from https://github.com/apatil/pemstrip\nvar findProc = /Proc-Type: 4,ENCRYPTED[\\n\\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\\n\\r]+([0-9A-z\\n\\r+/=]+)[\\n\\r]+/m\nvar startRegex = /^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m\nvar fullRegex = /^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\\n\\r+/=]+)-----END \\1-----$/m\nvar evp = require('evp_bytestokey')\nvar ciphers = require('browserify-aes')\nvar Buffer = require('safe-buffer').Buffer\nmodule.exports = function (okey, password) {\n var key = okey.toString()\n var match = key.match(findProc)\n var decrypted\n if (!match) {\n var match2 = key.match(fullRegex)\n decrypted = Buffer.from(match2[2].replace(/[\\r\\n]/g, ''), 'base64')\n } else {\n var suite = 'aes' + match[1]\n var iv = Buffer.from(match[2], 'hex')\n var cipherText = Buffer.from(match[3].replace(/[\\r\\n]/g, ''), 'base64')\n var cipherKey = evp(password, iv.slice(0, 8), parseInt(match[1], 10)).key\n var out = []\n var cipher = ciphers.createDecipheriv(suite, cipherKey, iv)\n out.push(cipher.update(cipherText))\n out.push(cipher.final())\n decrypted = Buffer.concat(out)\n }\n var tag = key.match(startRegex)[1]\n return {\n tag: tag,\n data: decrypted\n }\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = deprecated;\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar warned = {};\n\nfunction deprecated(validator, reason) {\n return function validate(props, propName, componentName, location, propFullName) {\n var componentNameSafe = componentName || '<>';\n var propFullNameSafe = propFullName || propName;\n\n if (props[propName] != null) {\n var messageKey = componentName + '.' + propName;\n\n (0, _warning2.default)(warned[messageKey], 'The ' + location + ' `' + propFullNameSafe + '` of ' + ('`' + componentNameSafe + '` is deprecated. ' + reason + '.'));\n\n warned[messageKey] = true;\n }\n\n for (var _len = arguments.length, args = Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) {\n args[_key - 5] = arguments[_key];\n }\n\n return validator.apply(undefined, [props, propName, componentName, location, propFullName].concat(args));\n };\n}\n\n/* eslint-disable no-underscore-dangle */\nfunction _resetWarned() {\n warned = {};\n}\n\ndeprecated._resetWarned = _resetWarned;\n/* eslint-enable no-underscore-dangle */\n\nmodule.exports = exports['default'];","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n// React 15.5 references this module, and assumes PropTypes are still callable in production.\n// Therefore we re-export development-only version with all the PropTypes checks here.\n// However if one is migrating to the `prop-types` npm library, they will go through the\n// `index.js` entry point, and it will branch depending on the environment.\nvar factory = require('./factoryWithTypeCheckers');\nmodule.exports = function(isValidElement) {\n // It is still allowed in 15.5.\n var throwOnDirectAccess = false;\n return factory(isValidElement, throwOnDirectAccess);\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar has = require('./lib/has');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bigint: createPrimitiveTypeChecker('bigint'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message, data) {\n this.message = message;\n this.data = data && typeof data === 'object' ? data: {};\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),\n {expectedType: expectedType}\n );\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var expectedTypes = [];\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);\n if (checkerResult == null) {\n return null;\n }\n if (checkerResult.data && has(checkerResult.data, 'expectedType')) {\n expectedTypes.push(checkerResult.data.expectedType);\n }\n }\n var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function invalidValidatorError(componentName, location, propFullName, key, type) {\n return new PropTypeError(\n (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'\n );\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (has(shapeTypes, key) && typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","module.exports = Function.call.bind(Object.prototype.hasOwnProperty);\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = require('./lib/has');\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) { /**/ }\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var vi = moment.defineLocale('vi', {\n months : 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split('_'),\n monthsShort : 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split('_'),\n monthsParseExact : true,\n weekdays : 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split('_'),\n weekdaysShort : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysMin : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysParseExact : true,\n meridiemParse: /sa|ch/i,\n isPM : function (input) {\n return /^ch$/i.test(input);\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'sa' : 'SA';\n } else {\n return isLower ? 'ch' : 'CH';\n }\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM [năm] YYYY',\n LLL : 'D MMMM [năm] YYYY HH:mm',\n LLLL : 'dddd, D MMMM [năm] YYYY HH:mm',\n l : 'DD/M/YYYY',\n ll : 'D MMM YYYY',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd, D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Hôm nay lúc] LT',\n nextDay: '[Ngày mai lúc] LT',\n nextWeek: 'dddd [tuần tới lúc] LT',\n lastDay: '[Hôm qua lúc] LT',\n lastWeek: 'dddd [tuần rồi lúc] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s tới',\n past : '%s trước',\n s : 'vài giây',\n ss : '%d giây' ,\n m : 'một phút',\n mm : '%d phút',\n h : 'một giờ',\n hh : '%d giờ',\n d : 'một ngày',\n dd : '%d ngày',\n M : 'một tháng',\n MM : '%d tháng',\n y : 'một năm',\n yy : '%d năm'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : function (number) {\n return number;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return vi;\n\n})));\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = all;\n\nvar _createChainableTypeChecker = require('./utils/createChainableTypeChecker');\n\nvar _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction all() {\n for (var _len = arguments.length, validators = Array(_len), _key = 0; _key < _len; _key++) {\n validators[_key] = arguments[_key];\n }\n\n function allPropTypes() {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var error = null;\n\n validators.forEach(function (validator) {\n if (error != null) {\n return;\n }\n\n var result = validator.apply(undefined, args);\n if (result != null) {\n error = result;\n }\n });\n\n return error;\n }\n\n return (0, _createChainableTypeChecker2.default)(allPropTypes);\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isRequiredForA11y;\nfunction isRequiredForA11y(validator) {\n return function validate(props, propName, componentName, location, propFullName) {\n var componentNameSafe = componentName || '<>';\n var propFullNameSafe = propFullName || propName;\n\n if (props[propName] == null) {\n return new Error('The ' + location + ' `' + propFullNameSafe + '` is required to make ' + ('`' + componentNameSafe + '` accessible for users of assistive ') + 'technologies such as screen readers.');\n }\n\n for (var _len = arguments.length, args = Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) {\n args[_key - 5] = arguments[_key];\n }\n\n return validator.apply(undefined, [props, propName, componentName, location, propFullName].concat(args));\n };\n}\nmodule.exports = exports['default'];","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createChainableTypeChecker;\n/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n// Mostly taken from ReactPropTypes.\n\nfunction createChainableTypeChecker(validate) {\n function checkType(isRequired, props, propName, componentName, location, propFullName) {\n var componentNameSafe = componentName || '<>';\n var propFullNameSafe = propFullName || propName;\n\n if (props[propName] == null) {\n if (isRequired) {\n return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));\n }\n\n return null;\n }\n\n for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {\n args[_key - 6] = arguments[_key];\n }\n\n return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n}\nmodule.exports = exports['default'];","'use strict';\n\nif (typeof process === 'undefined' ||\n !process.version ||\n process.version.indexOf('v0.') === 0 ||\n process.version.indexOf('v1.') === 0 && process.version.indexOf('v1.8.') !== 0) {\n module.exports = { nextTick: nextTick };\n} else {\n module.exports = process\n}\n\nfunction nextTick(fn, arg1, arg2, arg3) {\n if (typeof fn !== 'function') {\n throw new TypeError('\"callback\" argument must be a function');\n }\n var len = arguments.length;\n var args, i;\n switch (len) {\n case 0:\n case 1:\n return process.nextTick(fn);\n case 2:\n return process.nextTick(function afterTickOne() {\n fn.call(null, arg1);\n });\n case 3:\n return process.nextTick(function afterTickTwo() {\n fn.call(null, arg1, arg2);\n });\n case 4:\n return process.nextTick(function afterTickThree() {\n fn.call(null, arg1, arg2, arg3);\n });\n default:\n args = new Array(len - 1);\n i = 0;\n while (i < args.length) {\n args[i++] = arguments[i];\n }\n return process.nextTick(function afterTick() {\n fn.apply(null, args);\n });\n }\n}\n\n","var asn1 = require('./asn1')\nvar aesid = require('./aesid.json')\nvar fixProc = require('./fixProc')\nvar ciphers = require('browserify-aes')\nvar compat = require('pbkdf2')\nvar Buffer = require('safe-buffer').Buffer\nmodule.exports = parseKeys\n\nfunction parseKeys (buffer) {\n var password\n if (typeof buffer === 'object' && !Buffer.isBuffer(buffer)) {\n password = buffer.passphrase\n buffer = buffer.key\n }\n if (typeof buffer === 'string') {\n buffer = Buffer.from(buffer)\n }\n\n var stripped = fixProc(buffer, password)\n\n var type = stripped.tag\n var data = stripped.data\n var subtype, ndata\n switch (type) {\n case 'CERTIFICATE':\n ndata = asn1.certificate.decode(data, 'der').tbsCertificate.subjectPublicKeyInfo\n // falls through\n case 'PUBLIC KEY':\n if (!ndata) {\n ndata = asn1.PublicKey.decode(data, 'der')\n }\n subtype = ndata.algorithm.algorithm.join('.')\n switch (subtype) {\n case '1.2.840.113549.1.1.1':\n return asn1.RSAPublicKey.decode(ndata.subjectPublicKey.data, 'der')\n case '1.2.840.10045.2.1':\n ndata.subjectPrivateKey = ndata.subjectPublicKey\n return {\n type: 'ec',\n data: ndata\n }\n case '1.2.840.10040.4.1':\n ndata.algorithm.params.pub_key = asn1.DSAparam.decode(ndata.subjectPublicKey.data, 'der')\n return {\n type: 'dsa',\n data: ndata.algorithm.params\n }\n default: throw new Error('unknown key id ' + subtype)\n }\n // throw new Error('unknown key type ' + type)\n case 'ENCRYPTED PRIVATE KEY':\n data = asn1.EncryptedPrivateKey.decode(data, 'der')\n data = decrypt(data, password)\n // falls through\n case 'PRIVATE KEY':\n ndata = asn1.PrivateKey.decode(data, 'der')\n subtype = ndata.algorithm.algorithm.join('.')\n switch (subtype) {\n case '1.2.840.113549.1.1.1':\n return asn1.RSAPrivateKey.decode(ndata.subjectPrivateKey, 'der')\n case '1.2.840.10045.2.1':\n return {\n curve: ndata.algorithm.curve,\n privateKey: asn1.ECPrivateKey.decode(ndata.subjectPrivateKey, 'der').privateKey\n }\n case '1.2.840.10040.4.1':\n ndata.algorithm.params.priv_key = asn1.DSAparam.decode(ndata.subjectPrivateKey, 'der')\n return {\n type: 'dsa',\n params: ndata.algorithm.params\n }\n default: throw new Error('unknown key id ' + subtype)\n }\n // throw new Error('unknown key type ' + type)\n case 'RSA PUBLIC KEY':\n return asn1.RSAPublicKey.decode(data, 'der')\n case 'RSA PRIVATE KEY':\n return asn1.RSAPrivateKey.decode(data, 'der')\n case 'DSA PRIVATE KEY':\n return {\n type: 'dsa',\n params: asn1.DSAPrivateKey.decode(data, 'der')\n }\n case 'EC PRIVATE KEY':\n data = asn1.ECPrivateKey.decode(data, 'der')\n return {\n curve: data.parameters.value,\n privateKey: data.privateKey\n }\n default: throw new Error('unknown key type ' + type)\n }\n}\nparseKeys.signature = asn1.signature\nfunction decrypt (data, password) {\n var salt = data.algorithm.decrypt.kde.kdeparams.salt\n var iters = parseInt(data.algorithm.decrypt.kde.kdeparams.iters.toString(), 10)\n var algo = aesid[data.algorithm.decrypt.cipher.algo.join('.')]\n var iv = data.algorithm.decrypt.cipher.iv\n var cipherText = data.subjectPrivateKey\n var keylen = parseInt(algo.split('-')[1], 10) / 8\n var key = compat.pbkdf2Sync(password, salt, iters, keylen, 'sha1')\n var cipher = ciphers.createDecipheriv(algo, key, iv)\n var out = []\n out.push(cipher.update(cipherText))\n out.push(cipher.final())\n return Buffer.concat(out)\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _createChainableTypeChecker = require('./utils/createChainableTypeChecker');\n\nvar _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = typeof propValue === 'undefined' ? 'undefined' : _typeof(propValue);\n\n if (_react2.default.isValidElement(propValue)) {\n return new Error('Invalid ' + location + ' `' + propFullName + '` of type ReactElement ' + ('supplied to `' + componentName + '`, expected a ReactComponent or a ') + 'DOMElement. You can usually obtain a ReactComponent or DOMElement ' + 'from a ReactElement by attaching a ref to it.');\n }\n\n if ((propType !== 'object' || typeof propValue.render !== 'function') && propValue.nodeType !== 1) {\n return new Error('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected a ReactComponent or a ') + 'DOMElement.');\n }\n\n return null;\n}\n\nexports.default = (0, _createChainableTypeChecker2.default)(validate);\nmodule.exports = exports['default'];"],"sourceRoot":""}