{"version":3,"sources":["webpack:///./node_modules/gatsby-link/index.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///./node_modules/core-js/internals/dom-iterables.js","webpack:///./node_modules/gatsby-react-router-scroll/session-storage.js","webpack:///./node_modules/core-js/internals/native-promise-constructor.js","webpack:///./node_modules/core-js/modules/es.object.to-string.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/internals/object-set-prototype-of.js","webpack:///./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack:///./node_modules/core-js/internals/set-to-string-tag.js","webpack:///./node_modules/@babel/runtime/helpers/interopRequireWildcard.js","webpack:///./node_modules/core-js/internals/global.js","webpack:///./.cache/normalize-page-path.js","webpack:///./.cache/find-path.js","webpack:///./node_modules/core-js/internals/object-keys.js","webpack:///./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack:///./node_modules/gatsby-react-router-scroll/use-scroll-restoration.js","webpack:///./node_modules/core-js/internals/object-get-prototype-of.js","webpack:///./node_modules/core-js/internals/correct-prototype-getter.js","webpack:///./node_modules/core-js/modules/es.array.iterator.js","webpack:///./node_modules/core-js/internals/redefine-all.js","webpack:///./node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack:///./node_modules/core-js/internals/perform.js","webpack:///./node_modules/core-js/modules/es.promise.js","webpack:///./node_modules/mitt/dist/mitt.es.js","webpack:///./.cache/emitter.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/is-array.js","webpack:///./node_modules/core-js/internals/is-array-iterator-method.js","webpack:///./node_modules/gatsby-react-router-scroll/index.js","webpack:///./node_modules/core-js/internals/new-promise-capability.js","webpack:///./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack:///./node_modules/core-js/internals/internal-metadata.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./.cache/react-lifecycles-compat.js","webpack:///./node_modules/@reach/router/es/lib/history.js","webpack:///./node_modules/core-js/internals/classof.js","webpack:///./node_modules/gatsby-plugin-manifest/get-manifest-pathname.js","webpack:///./node_modules/core-js/internals/function-bind-context.js","webpack:///./node_modules/core-js/internals/to-string-tag-support.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names-external.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/modules/es.string.split.js","webpack:///./node_modules/gatsby-react-router-scroll/scroll-handler.js","webpack:///./node_modules/core-js/internals/same-value.js","webpack:///./node_modules/core-js/internals/regexp-exec-abstract.js","webpack:///./node_modules/core-js/internals/html.js","webpack:///./node_modules/core-js/internals/an-instance.js","webpack:///./node_modules/core-js/internals/a-function.js","webpack:///./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack:///./node_modules/core-js/internals/engine-is-ios.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./.cache/page-renderer.js","webpack:///./node_modules/core-js/internals/iterate.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/core-js/modules/es.string.includes.js","webpack:///./node_modules/core-js/modules/es.regexp.to-string.js","webpack:///./node_modules/core-js/internals/set-species.js","webpack:///./node_modules/core-js/internals/iterator-close.js","webpack:///./node_modules/core-js/modules/es.string.starts-with.js","webpack:///./node_modules/core-js/internals/task.js","webpack:///./node_modules/core-js/internals/engine-v8-version.js","webpack:///./node_modules/@reach/router/es/lib/utils.js","webpack:///./.cache/api-runner-browser-plugins.js","webpack:///./node_modules/@mikaelkristiansson/domready/ready.js","webpack:///./node_modules/core-js/internals/object-define-properties.js","webpack:///./node_modules/core-js/internals/engine-user-agent.js","webpack:///./.cache/register-service-worker.js","webpack:///./node_modules/core-js/internals/get-iterator-method.js","webpack:///./.cache/_this_is_virtual_fs_path_/$virtual/async-requires.js","webpack:///./node_modules/core-js/internals/a-possible-prototype.js","webpack:///./node_modules/core-js/internals/iterators.js","webpack:///./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack:///./node_modules/core-js/modules/es.string.iterator.js","webpack:///./node_modules/invariant/browser.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/host-report-errors.js","webpack:///./node_modules/core-js/internals/add-to-unscopables.js","webpack:///./node_modules/core-js/internals/is-regexp.js","webpack:///./node_modules/core-js/modules/es.string.match.js","webpack:///./node_modules/core-js/internals/species-constructor.js","webpack:///./node_modules/core-js/internals/native-symbol.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/core-js/internals/array-from.js","webpack:///./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack:///./node_modules/core-js/modules/es.map.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/core-js/internals/has.js","webpack:///./.cache/route-announcer-props.js","webpack:///./.cache/navigation.js","webpack:///./node_modules/shallow-compare/es/index.js","webpack:///./.cache/ensure-resources.js","webpack:///./.cache/production-app.js","webpack:///./node_modules/core-js/modules/es.string.replace.js","webpack:///./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/internals/whitespaces.js","webpack:///./node_modules/core-js/internals/string-trim.js","webpack:///./.cache/gatsby-browser-entry.js","webpack:///./node_modules/core-js/internals/not-a-regexp.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/core-js/internals/engine-is-node.js","webpack:///./node_modules/core-js/modules/es.set.js","webpack:///./node_modules/core-js/internals/object-assign.js","webpack:///./node_modules/gatsby/dist/internal-plugins/bundle-optimisations/polyfills/object-assign.js","webpack:///./node_modules/@reach/router/es/index.js","webpack:///./node_modules/core-js/internals/string-multibyte.js","webpack:///./node_modules/core-js/internals/collection-strong.js","webpack:///./node_modules/core-js/internals/array-species-create.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/core-js/internals/collection.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./node_modules/@babel/runtime/helpers/typeof.js","webpack:///./.cache/strip-prefix.js","webpack:///./node_modules/core-js/internals/inherit-if-required.js","webpack:///./node_modules/gatsby-link/parse-path.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/define-well-known-symbol.js","webpack:///./node_modules/gatsby-plugin-offline/gatsby-browser.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./.cache/prefetch.js","webpack:///./.cache/loader.js","webpack:///./node_modules/core-js/internals/to-object.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/core-js/internals/object-create.js","webpack:///./node_modules/core-js/modules/es.array.find.js","webpack:///./node_modules/core-js/internals/define-iterator.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/core-js/internals/create-property.js","webpack:///./node_modules/core-js/modules/es.string.search.js","webpack:///./node_modules/gatsby-react-router-scroll/scroll-container.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/core-js/internals/inspect-source.js","webpack:///./node_modules/core-js/modules/es.string.ends-with.js","webpack:///./node_modules/core-js/internals/advance-string-index.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/core-js/internals/regexp-exec.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./.cache/public-page-renderer.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack:///./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack:///./node_modules/gatsby-plugin-manifest/gatsby-browser.js","webpack:///./.cache/create-react-context.js","webpack:///./node_modules/core-js/internals/create-iterator-constructor.js","webpack:///./node_modules/core-js/modules/es.symbol.js","webpack:///./node_modules/@babel/runtime/helpers/extends.js","webpack:///./node_modules/gatsby-plugin-google-analytics/gatsby-browser.js","webpack:///./node_modules/core-js/modules/es.array.from.js","webpack:///./node_modules/core-js/internals/to-integer.js","webpack:///./node_modules/core-js/modules/es.number.constructor.js","webpack:///./node_modules/core-js/internals/correct-is-regexp-logic.js","webpack:///./node_modules/core-js/modules/es.regexp.exec.js","webpack:///./node_modules/core-js/internals/regexp-flags.js","webpack:///./node_modules/core-js/internals/array-method-uses-to-length.js","webpack:///./node_modules/core-js/internals/iterators-core.js","webpack:///./.cache/public-page-renderer-prod.js","webpack:///./node_modules/core-js/internals/object-to-string.js","webpack:///./node_modules/core-js/modules/es.function.name.js","webpack:///./node_modules/core-js/internals/microtask.js","webpack:///./node_modules/core-js/internals/well-known-symbol.js","webpack:///./node_modules/core-js/modules/es.symbol.async-iterator.js","webpack:///./node_modules/core-js/modules/es.object.keys.js","webpack:///./node_modules/core-js/internals/array-iteration.js","webpack:///./node_modules/core-js/internals/freezing.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/shared-store.js","webpack:///./.cache/api-runner-browser.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/modules/es.array.includes.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/modules/es.object.assign.js","webpack:///./node_modules/core-js/internals/promise-resolve.js","webpack:///./node_modules/core-js/internals/set-global.js"],"names":["_interopRequireDefault","exports","__esModule","withPrefix","withAssetPrefix","path","getGlobalPathPrefix","navigateTo","replace","push","navigate","default","_objectWithoutPropertiesLoose2","_assertThisInitialized2","_inheritsLoose2","_extends2","_propTypes","_react","_router","_utils","_parsePath","parsePath","isAbsolutePath","startsWith","prefix","_ref","_prefix","getGlobalBasePrefix","isLocalLink","base","endsWith","slice","rewriteLinkPath","relativeTo","current","resolve","absolutify","NavLinkPropTypes","activeClassName","string","activeStyle","object","partiallyActive","bool","GatsbyLinkLocationWrapper","props","createElement","Location","_ref2","location","GatsbyLink","_location","_React$Component","_this","call","this","defaultGetProps","_ref3","isPartiallyCurrent","isCurrent","className","filter","Boolean","join","style","IOSupported","window","IntersectionObserver","state","handleRef","bind","_proto","prototype","_prefetch","currentPath","pathname","rewrittenPath","to","newPathName","___loader","enqueue","componentDidUpdate","prevProps","prevState","componentDidMount","componentWillUnmount","io","_this$io","instance","el","unobserve","disconnect","ref","cb","_this2","innerRef","hasOwnProperty","entries","forEach","entry","target","isIntersecting","intersectionRatio","observe","render","_this3","_this$props","_this$props$getProps","getProps","_onClick","onClick","_onMouseEnter","onMouseEnter","rest","prefixedTo","Link","e","hovering","button","defaultPrevented","metaKey","altKey","ctrlKey","shiftKey","preventDefault","shouldReplace","encodeURI","___navigate","href","Component","propTypes","func","isRequired","showDeprecationWarning","functionName","altFunctionName","version","console","warn","_default","forwardRef","options","___push","___replace","IndexedObject","requireObjectCoercible","module","it","NATIVE_SYMBOL","Symbol","sham","iterator","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","SessionStorage","read","key","stateKey","getStateKey","value","sessionStorage","getItem","JSON","parse","save","storedValue","stringify","setItem","stateKeyBase","global","Promise","TO_STRING_TAG_SUPPORT","redefine","toString","Object","unsafe","exec","error","aFunction","variable","undefined","namespace","method","arguments","length","nativePropertyIsEnumerable","propertyIsEnumerable","getOwnPropertyDescriptor","NASHORN_BUG","1","f","V","descriptor","enumerable","anObject","aPossiblePrototype","setPrototypeOf","setter","CORRECT_SETTER","test","set","Array","O","proto","__proto__","fails","wellKnownSymbol","regexpExec","createNonEnumerableProperty","SPECIES","REPLACE_SUPPORTS_NAMED_GROUPS","re","result","groups","a","REPLACE_KEEPS_$0","REPLACE","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","apply","split","KEY","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","constructor","flags","nativeRegExpMethod","methods","nativeMethod","regexp","str","arg2","forceStringMethod","done","stringMethod","regexMethod","String","RegExp","arg","defineProperty","has","TO_STRING_TAG","TAG","STATIC","configurable","_typeof","_getRequireWildcardCache","WeakMap","cache","obj","get","newObj","hasPropertyDescriptor","desc","Math","check","globalThis","self","Function","charAt","pathCache","Map","matchPaths","trimPathname","rawPathname","decodeURIComponent","stripPrefix","__BASE_PATH__","URL","setMatchPaths","findMatchPath","trimmedPathname","cleanPath","pickPaths","map","matchPath","originalPath","pick","normalizePagePath","route","grabMatchParams","params","findPath","foundPath","internalObjectKeys","enumBugKeys","keys","DOMIterables","ArrayIteratorMethods","ITERATOR","ArrayValues","values","COLLECTION_NAME","Collection","CollectionPrototype","METHOD_NAME","useScrollRestoration","identifier","useLocation","useContext","_scrollHandler","ScrollContext","useRef","useLayoutEffect","position","scrollTo","onScroll","scrollTop","toObject","sharedKey","CORRECT_PROTOTYPE_GETTER","IE_PROTO","ObjectPrototype","getPrototypeOf","F","toIndexedObject","addToUnscopables","Iterators","InternalStateModule","defineIterator","setInternalState","getInternalState","getterFor","iterated","kind","type","index","Arguments","src","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","$","IS_PURE","getBuiltIn","NativePromise","redefineAll","setToStringTag","setSpecies","isObject","anInstance","inspectSource","iterate","checkCorrectnessOfIteration","speciesConstructor","task","microtask","promiseResolve","hostReportErrors","newPromiseCapabilityModule","perform","isForced","IS_NODE","V8_VERSION","PROMISE","getInternalPromiseState","PromiseConstructor","TypeError","document","process","$fetch","newPromiseCapability","newGenericPromiseCapability","DISPATCH_EVENT","createEvent","dispatchEvent","NATIVE_REJECTION_EVENT","PromiseRejectionEvent","FORCED","promise","FakePromise","then","INCORRECT_ITERATION","iterable","all","isThenable","notify","isReject","notified","chain","reactions","ok","exited","reaction","handler","fail","reject","domain","rejection","onHandleUnhandled","enter","exit","onUnhandled","name","reason","event","initEvent","facade","isUnhandled","emit","parent","fn","unwrap","internalReject","internalResolve","wrapper","executor","onFulfilled","onRejected","C","that","forced","fetch","input","wrap","stat","r","capability","x","$promiseResolve","counter","remaining","alreadyCalled","race","emitter","create","on","off","splice","indexOf","evt","mitt","ownKeys","getOwnPropertyDescriptorModule","definePropertyModule","source","i","classof","isArray","ArrayPrototype","ScrollContainer","ScrollHandler","_scrollContainer","_useScrollRestoration","PromiseCapability","$$resolve","$$reject","excluded","sourceKeys","hiddenKeys","uid","FREEZING","METADATA","id","isExtensible","setMetadata","objectID","weakData","meta","REQUIRED","fastKey","getWeakData","onFreeze","shared","polyfill","_extends","assign","getLocation","_source$location","search","hash","origin","protocol","host","hostname","port","canUseDOM","decodeURI","history","createHistory","listeners","transitioning","resolveTransition","_onTransitionComplete","listen","listener","popstateListener","action","addEventListener","removeEventListener","_ref$replace","go","Date","now","replaceState","pushState","transition","res","createMemorySource","initialPath","searchIndex","initialLocation","substr","stack","states","_","uri","_uri$split","_uri$split$","_uri$split2","_uri$split2$","newIndex","globalHistory","classofRaw","CORRECT_ARGUMENTS","tag","tryGet","callee","localizedManifests","localizedManifest","find","app","start_url","lang","b","c","nativeGetOwnPropertyNames","windowNames","getOwnPropertyNames","getWindowNames","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toPrimitive","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","P","fixRegExpWellKnownSymbolLogic","isRegExp","advanceStringIndex","toLength","callRegExpExec","arrayPush","min","SUPPORTS_Y","SPLIT","nativeSplit","maybeCallNative","internalSplit","separator","limit","lim","match","lastIndex","lastLength","output","ignoreCase","multiline","unicode","sticky","lastLastIndex","separatorCopy","splitter","rx","S","unicodeMatching","p","q","A","z","_interopRequireWildcard","React","_sessionStorage","createContext","displayName","_len","args","_key","concat","_stateStorage","scrollListener","scrollY","windowScroll","shouldUpdateScroll","scrollToHash","node","getElementById","substring","scrollIntoView","prevRouterProps","routerProps","scrollPosition","_this$props$location","_this$props$location2","Provider","children","element","is","y","R","Constructor","SAFE_CLOSING","called","iteratorWithReturn","next","from","SKIP_CLOSING","ITERATION_SUPPORT","userAgent","setGlobal","copyConstructorProperties","targetProperty","sourceProperty","TARGET","GLOBAL","noTargetGet","toInteger","max","integer","PageRenderer","pageResources","json","pageContext","__params","pathContext","pageElement","apiRunner","loader","publicLoader","component","page","pop","isArrayIteratorMethod","getIteratorMethod","iteratorClose","Result","stopped","unboundFunction","iterFn","step","AS_ENTRIES","IS_ITERATOR","INTERRUPTED","stop","condition","callFn","notARegExp","correctIsRegExpLogic","includes","searchString","RegExpPrototype","nativeToString","NOT_GENERIC","INCORRECT_NAME","rf","CONSTRUCTOR_NAME","returnMethod","nativeStartsWith","CORRECT_IS_REGEXP_LOGIC","writable","defer","channel","html","IS_IOS","setImmediate","clear","clearImmediate","MessageChannel","Dispatch","queue","run","runner","data","post","postMessage","nextTick","port2","port1","onmessage","importScripts","appendChild","removeChild","setTimeout","versions","v8","routes","default_","uriPathname","uriSegments","segmentize","isRootUri","ranked","rankRoutes","l","missed","routeSegments","routeSegment","uriSegment","isSplat","dynamicMatch","paramRe","reservedNames","_to$split","toPathname","toQuery","basePathname","toSegments","baseSegments","addQuery","allSegments","segments","segment","insertParams","_path$split","pathBase","_path$split$","query","constructedPath","_params$location","_params$location$sear","searchSplit","validateRedirect","isDynamic","sort","rankRoute","score","reduce","isRootSegment","SEGMENT_POINTS","shallowCompare","obj1","obj2","obj1Keys","every","plugin","require","ie10","navigator","appVersion","fns","doc","hack","documentElement","doScroll","loaded","readyState","shift","definition","objectKeys","defineProperties","Properties","serviceWorker","register","reg","installingWorker","installing","log","controller","___swUpdated","___failedResources","reload","catch","components","ReferenceError","point","format","d","Error","argIndex","framesToPop","UNSCOPABLES","MATCH","regExpExec","nativeMatch","matcher","fullUnicode","n","matchStr","defaultConstructor","getOwnPropertySymbols","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","fromIndex","callWithSafeIterationClosing","createProperty","arrayLike","argumentsLength","mapfn","mapping","iteratorMethod","collection","collectionStrong","init","argument","RouteAnnouncerProps","top","width","height","padding","overflow","clip","whiteSpace","border","redirectMap","redirects","redirect","fromPath","maybeRedirect","toPath","onPreRouteUpdate","prevLocation","onRouteUpdate","timeoutId","loadPage","status","PageResourceStatus","clearTimeout","webpackCompilationHash","___webpackCompilationHash","gatsbyApi","reachNavigate","results","getSavedScrollPosition","RouteAnnouncer","announcementRef","createRef","nextProps","requestAnimationFrame","pageName","title","pageHeadings","querySelectorAll","textContent","newAnnouncement","innerText","RouteUpdates","shouldComponentUpdate","Fragment","shallowDiffers","_i","EnsureResources","loadPageSync","getDerivedStateFromProps","loadResources","rawPath","setState","nextState","ProdLoader","asyncRequires","setLoader","setApiRunner","___emitter","apiRunnerAsync","RouteHandler","baseuri","basepath","DataContext","GatsbyRoot","staticQueryResults","getStaticQueryResults","LocationHandler","Consumer","pagePath","browserLoc","SiteRoot","App","renderer","ReactDOM","hydrate","domReady","floor","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","nativeReplace","UNSAFE_SUBSTITUTE","searchValue","replaceValue","replacer","functionalReplace","accumulatedResult","nextSourcePosition","matched","captures","j","namedCaptures","replacerArgs","replacement","getSubstitution","tailPos","m","symbols","ch","capture","subClass","superClass","store","mode","copyright","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","whitespace","ltrim","rtrim","TYPE","start","end","trim","prefetchPathname","StaticQueryContext","StaticQueryDataRenderer","staticQueryData","combinedStaticQueryData","GATSBY_EXPERIMENTAL_LAZY_DEVJS","finalData","StaticQuery","useStaticQuery","context","isNaN","Number","queryNotFound","graphql","bitmap","nativeAssign","B","symbol","chr","T","_objectWithoutProperties","_classCallCheck","_possibleConstructorReturn","_inherits","createNamedContext","defaultValue","Ctx","LocationContext","LocationProvider","_temp","getContext","refs","unlisten","_props$history","componentDidCatch","info","isRedirect","_navigate","unmounted","defaultProps","ServerLocation","url","BaseContext","Router","baseContext","locationContext","RouterImpl","_React$PureComponent","_props","_navigate2","primary","_props$component","domProps","Children","toArray","array","child","createRoute","clone","cloneElement","FocusWrapper","FocusHandler","wrapperProps","PureComponent","FocusContext","requestFocus","FocusHandlerImpl","initialRender","focusHandlerCount","_React$Component2","_temp2","_this4","_len2","_key2","shouldFocus","focus","myURIChanged","navigatedUpToMe","contains","activeElement","_this5","_props2","_props2$component","Comp","outline","tabIndex","k","_ref4","_ref5","_ref6","_props$getProps","anchorProps","encodedHref","shouldNavigate","_location$state","restState","RedirectRequest","o","redirectTo","RedirectImpl","_React$Component3","_props3","_props3$replace","noThrow","resolvedTo","_props4","Redirect","_ref7","Match","_ref8","_ref9","_ref10","resolvedPath","useNavigate","useParams","useMatch","stripSlashes","elementPath","CONVERT_TO_STRING","pos","first","second","size","charCodeAt","codeAt","internalStateGetterFor","getConstructor","IS_MAP","ADDER","last","define","previous","getEntry","removed","prev","callbackfn","boundFunction","add","setStrong","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","originalArray","NATIVE_WEAK_MAP","objectHas","wmget","wmhas","wmset","metadata","STATE","enforce","InternalMetadataModule","inheritIfRequired","common","IS_WEAK","NativeConstructor","NativePrototype","exported","fixMethod","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","enforceInternalState","TEMPLATE","simple","Wrapper","NewTarget","NewTargetPrototype","hashIndex","wrappedWellKnownSymbolModule","NAME","registerServiceWorker","whiteListLinkRels","prefetchedPathnames","setPathResources","getResourceURLsForPathname","resources","onServiceWorkerActive","active","nodes","headerResources","tagName","getAttribute","prefetchedResources","resource","link","rel","onload","remove","onerror","head","onPostPrefetchPathname","supportedPrefetchStrategy","feature","fakeLink","relList","supports","err","support","setAttribute","getElementsByTagName","getElementsByName","parentNode","req","XMLHttpRequest","open","send","preFetched","prefetch","Success","preferDefault","createPageDataUrl","s","doFetch","onreadystatechange","toPageResources","pageData","componentChunkName","staticQueryHashes","BaseLoader","loadComponent","inFlightNetworkRequests","pageDb","inFlightDb","staticQueryDb","pageDataDb","prefetchTriggered","Set","prefetchCompleted","memoizedGet","inFlightPromise","response","delete","prefetchDisabled","some","fetchPageDataJson","loadObj","retries","responseText","jsonPayload","payload","notFound","loadPageDataJson","loadAppData","allData","finalResult","componentChunkPromise","createdAt","staticQueryBatchPromise","staticQueryHash","staticQueryResultsMap","shouldPrefetch","connection","effectiveType","saveData","doesConnectionSupportPrefetch","realPath","doPrefetch","pageDataUrl","prefetchHelper","crossOrigin","as","createComponentUrls","isPageNotFound","appData","___chunkMapping","chunk","__PATH_PREFIX__","chunkName","componentUrls","_loader","getResourcesForPathname","getResourcesForPathnameSync","activeXDocument","documentCreateElement","EmptyConstructor","scriptTag","content","LT","NullProtoObject","ActiveXObject","iframeDocument","iframe","write","close","temp","parentWindow","NullProtoObjectViaActiveX","display","contentWindow","$find","arrayMethodUsesToLength","SKIPS_HOLES","USES_TO_LENGTH","createIteratorConstructor","IteratorsCore","IteratorPrototype","BUGGY_SAFARI_ITERATORS","returnThis","Iterable","IteratorConstructor","DEFAULT","IS_SET","CurrentIteratorPrototype","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","propertyKey","sameValue","SEARCH","nativeSearch","searcher","previousLastIndex","_reactDom","scrollKey","ScrollContainerImplementation","findDOMNode","functionToString","nativeEndsWith","endPosition","len","postfix","random","re1","re2","regexpFlags","stickyHelpers","nativeExec","patchedExec","UPDATES_LAST_INDEX_WRONG","UNSUPPORTED_Y","BROKEN_CARET","NPCG_INCLUDED","reCopy","charsAdded","strCopy","detection","normalize","POLYFILL","NATIVE","toLowerCase","nativeDefineProperty","Attributes","ENTRIES","RE","USE_SYMBOL_AS_UID","nativeObjectCreate","getOwnPropertyNamesExternal","defineWellKnownSymbol","$forEach","HIDDEN","TO_PRIMITIVE","$Symbol","$stringify","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","WellKnownSymbolsStore","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","description","isSymbol","$defineProperty","$defineProperties","properties","$getOwnPropertySymbols","$propertyIsEnumerable","$getOwnPropertyDescriptor","$getOwnPropertyNames","names","IS_OBJECT_PROTOTYPE","keyFor","sym","useSetter","useSimple","space","$replacer","valueOf","pluginOptions","ga","excludeGAPaths","delay","pageTransitionDelay","ceil","NativeNumber","NumberPrototype","BROKEN_CLASSOF","toNumber","third","radix","maxCode","digits","code","NaN","parseInt","NumberWrapper","error1","error2","dotAll","thrower","ACCESSORS","argument0","argument1","PrototypeOfArrayIteratorPrototype","arrayIterator","ProdPageRenderer","InternalPageRenderer","FunctionPrototype","FunctionPrototypeToString","nameRE","flush","toggle","macrotask","MutationObserver","WebKitMutationObserver","queueMicrotaskDescriptor","queueMicrotask","createTextNode","characterData","createWellKnownSymbol","withoutSetter","nativeKeys","arraySpeciesCreate","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_OUT","NO_HOLES","specificCreate","findIndex","filterOut","preventExtensions","PREFERRED_STRING","val","plugins","api","defaultReturn","argTransform","g","$includes","EXISTS","promiseCapability"],"mappings":"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","file":"app-9374b4a8d11ff8bd909c.js","sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.withPrefix = withPrefix;\nexports.withAssetPrefix = withAssetPrefix;\nexports.navigateTo = exports.replace = exports.push = exports.navigate = exports.default = void 0;\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _router = require(\"@reach/router\");\n\nvar _utils = require(\"@reach/router/lib/utils\");\n\nvar _parsePath = require(\"./parse-path\");\n\nexports.parsePath = _parsePath.parsePath;\n\nvar isAbsolutePath = function isAbsolutePath(path) {\n return path === null || path === void 0 ? void 0 : path.startsWith(\"/\");\n};\n\nfunction withPrefix(path, prefix) {\n var _ref, _prefix;\n\n if (prefix === void 0) {\n prefix = getGlobalBasePrefix();\n }\n\n if (!isLocalLink(path)) {\n return path;\n }\n\n if (path.startsWith(\"./\") || path.startsWith(\"../\")) {\n return path;\n }\n\n var base = (_ref = (_prefix = prefix) !== null && _prefix !== void 0 ? _prefix : getGlobalPathPrefix()) !== null && _ref !== void 0 ? _ref : \"/\";\n return \"\" + ((base === null || base === void 0 ? void 0 : base.endsWith(\"/\")) ? base.slice(0, -1) : base) + (path.startsWith(\"/\") ? path : \"/\" + path);\n} // These global values are wrapped in typeof clauses to ensure the values exist.\n// This is especially problematic in unit testing of this component.\n\n\nvar getGlobalPathPrefix = function getGlobalPathPrefix() {\n return process.env.NODE_ENV !== \"production\" ? typeof __PATH_PREFIX__ !== \"undefined\" ? __PATH_PREFIX__ : undefined : __PATH_PREFIX__;\n};\n\nvar getGlobalBasePrefix = function getGlobalBasePrefix() {\n return process.env.NODE_ENV !== \"production\" ? typeof __BASE_PATH__ !== \"undefined\" ? __BASE_PATH__ : undefined : __BASE_PATH__;\n};\n\nvar isLocalLink = function isLocalLink(path) {\n return path && !path.startsWith(\"http://\") && !path.startsWith(\"https://\") && !path.startsWith(\"//\");\n};\n\nfunction withAssetPrefix(path) {\n return withPrefix(path, getGlobalPathPrefix());\n}\n\nfunction absolutify(path, current) {\n // If it's already absolute, return as-is\n if (isAbsolutePath(path)) {\n return path;\n }\n\n return (0, _utils.resolve)(path, current);\n}\n\nvar rewriteLinkPath = function rewriteLinkPath(path, relativeTo) {\n if (typeof path === \"number\") {\n return path;\n }\n\n if (!isLocalLink(path)) {\n return path;\n }\n\n return isAbsolutePath(path) ? withPrefix(path) : absolutify(path, relativeTo);\n};\n\nvar NavLinkPropTypes = {\n activeClassName: _propTypes.default.string,\n activeStyle: _propTypes.default.object,\n partiallyActive: _propTypes.default.bool\n}; // Set up IntersectionObserver\n\nvar createIntersectionObserver = function createIntersectionObserver(el, cb) {\n var io = new window.IntersectionObserver(function (entries) {\n entries.forEach(function (entry) {\n if (el === entry.target) {\n // Check if element is within viewport, remove listener, destroy observer, and run link callback.\n // MSEdge doesn't currently support isIntersecting, so also test for an intersectionRatio > 0\n if (entry.isIntersecting || entry.intersectionRatio > 0) {\n io.unobserve(el);\n io.disconnect();\n cb();\n }\n }\n });\n }); // Add element to the observer\n\n io.observe(el);\n return {\n instance: io,\n el: el\n };\n};\n\nfunction GatsbyLinkLocationWrapper(props) {\n return /*#__PURE__*/_react.default.createElement(_router.Location, null, function (_ref2) {\n var location = _ref2.location;\n return /*#__PURE__*/_react.default.createElement(GatsbyLink, (0, _extends2.default)({}, props, {\n _location: location\n }));\n });\n}\n\nvar GatsbyLink = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(GatsbyLink, _React$Component);\n\n function GatsbyLink(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this; // Default to no support for IntersectionObserver\n\n _this.defaultGetProps = function (_ref3) {\n var isPartiallyCurrent = _ref3.isPartiallyCurrent,\n isCurrent = _ref3.isCurrent;\n\n if (_this.props.partiallyActive ? isPartiallyCurrent : isCurrent) {\n return {\n className: [_this.props.className, _this.props.activeClassName].filter(Boolean).join(\" \"),\n style: (0, _extends2.default)({}, _this.props.style, _this.props.activeStyle)\n };\n }\n\n return null;\n };\n\n var IOSupported = false;\n\n if (typeof window !== \"undefined\" && window.IntersectionObserver) {\n IOSupported = true;\n }\n\n _this.state = {\n IOSupported: IOSupported\n };\n _this.handleRef = _this.handleRef.bind((0, _assertThisInitialized2.default)(_this));\n return _this;\n }\n\n var _proto = GatsbyLink.prototype;\n\n _proto._prefetch = function _prefetch() {\n var currentPath = window.location.pathname; // reach router should have the correct state\n\n if (this.props._location && this.props._location.pathname) {\n currentPath = this.props._location.pathname;\n }\n\n var rewrittenPath = rewriteLinkPath(this.props.to, currentPath);\n var newPathName = (0, _parsePath.parsePath)(rewrittenPath).pathname; // Prefech is used to speed up next navigations. When you use it on the current navigation,\n // there could be a race-condition where Chrome uses the stale data instead of waiting for the network to complete\n\n if (currentPath !== newPathName) {\n ___loader.enqueue(newPathName);\n }\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n // Preserve non IO functionality if no support\n if (this.props.to !== prevProps.to && !this.state.IOSupported) {\n this._prefetch();\n }\n };\n\n _proto.componentDidMount = function componentDidMount() {\n // Preserve non IO functionality if no support\n if (!this.state.IOSupported) {\n this._prefetch();\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (!this.io) {\n return;\n }\n\n var _this$io = this.io,\n instance = _this$io.instance,\n el = _this$io.el;\n instance.unobserve(el);\n instance.disconnect();\n };\n\n _proto.handleRef = function handleRef(ref) {\n var _this2 = this;\n\n if (this.props.innerRef && this.props.innerRef.hasOwnProperty(\"current\")) {\n this.props.innerRef.current = ref;\n } else if (this.props.innerRef) {\n this.props.innerRef(ref);\n }\n\n if (this.state.IOSupported && ref) {\n // If IO supported and element reference found, setup Observer functionality\n this.io = createIntersectionObserver(ref, function () {\n _this2._prefetch();\n });\n }\n };\n\n _proto.render = function render() {\n var _this3 = this;\n\n var _this$props = this.props,\n to = _this$props.to,\n _this$props$getProps = _this$props.getProps,\n getProps = _this$props$getProps === void 0 ? this.defaultGetProps : _this$props$getProps,\n _onClick = _this$props.onClick,\n _onMouseEnter = _this$props.onMouseEnter,\n $activeClassName = _this$props.activeClassName,\n $activeStyle = _this$props.activeStyle,\n $innerRef = _this$props.innerRef,\n partiallyActive = _this$props.partiallyActive,\n state = _this$props.state,\n replace = _this$props.replace,\n _location = _this$props._location,\n rest = (0, _objectWithoutPropertiesLoose2.default)(_this$props, [\"to\", \"getProps\", \"onClick\", \"onMouseEnter\", \"activeClassName\", \"activeStyle\", \"innerRef\", \"partiallyActive\", \"state\", \"replace\", \"_location\"]);\n\n if (process.env.NODE_ENV !== \"production\" && !isLocalLink(to)) {\n console.warn(\"External link \" + to + \" was detected in a Link component. Use the Link component only for internal links. See: https://gatsby.dev/internal-links\");\n }\n\n var prefixedTo = rewriteLinkPath(to, _location.pathname);\n\n if (!isLocalLink(prefixedTo)) {\n return /*#__PURE__*/_react.default.createElement(\"a\", (0, _extends2.default)({\n href: prefixedTo\n }, rest));\n }\n\n return /*#__PURE__*/_react.default.createElement(_router.Link, (0, _extends2.default)({\n to: prefixedTo,\n state: state,\n getProps: getProps,\n innerRef: this.handleRef,\n onMouseEnter: function onMouseEnter(e) {\n if (_onMouseEnter) {\n _onMouseEnter(e);\n }\n\n ___loader.hovering((0, _parsePath.parsePath)(prefixedTo).pathname);\n },\n onClick: function onClick(e) {\n if (_onClick) {\n _onClick(e);\n }\n\n if (e.button === 0 && // ignore right clicks\n !_this3.props.target && // let browser handle \"target=_blank\"\n !e.defaultPrevented && // onClick prevented default\n !e.metaKey && // ignore clicks with modifier keys...\n !e.altKey && !e.ctrlKey && !e.shiftKey) {\n e.preventDefault();\n var shouldReplace = replace;\n\n var isCurrent = encodeURI(prefixedTo) === _location.pathname;\n\n if (typeof replace !== \"boolean\" && isCurrent) {\n shouldReplace = true;\n } // Make sure the necessary scripts and data are\n // loaded before continuing.\n\n\n window.___navigate(prefixedTo, {\n state: state,\n replace: shouldReplace\n });\n }\n\n return true;\n }\n }, rest));\n };\n\n return GatsbyLink;\n}(_react.default.Component);\n\nGatsbyLink.propTypes = (0, _extends2.default)({}, NavLinkPropTypes, {\n onClick: _propTypes.default.func,\n to: _propTypes.default.string.isRequired,\n replace: _propTypes.default.bool,\n state: _propTypes.default.object\n});\n\nvar showDeprecationWarning = function showDeprecationWarning(functionName, altFunctionName, version) {\n return console.warn(\"The \\\"\" + functionName + \"\\\" method is now deprecated and will be removed in Gatsby v\" + version + \". Please use \\\"\" + altFunctionName + \"\\\" instead.\");\n};\n\nvar _default = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n return /*#__PURE__*/_react.default.createElement(GatsbyLinkLocationWrapper, (0, _extends2.default)({\n innerRef: ref\n }, props));\n});\n\nexports.default = _default;\n\nvar navigate = function navigate(to, options) {\n window.___navigate(rewriteLinkPath(to, window.location.pathname), options);\n};\n\nexports.navigate = navigate;\n\nvar push = function push(to) {\n showDeprecationWarning(\"push\", \"navigate\", 3);\n\n window.___push(rewriteLinkPath(to, window.location.pathname));\n};\n\nexports.push = push;\n\nvar replace = function replace(to) {\n showDeprecationWarning(\"replace\", \"navigate\", 3);\n\n window.___replace(rewriteLinkPath(to, window.location.pathname));\n}; // TODO: Remove navigateTo for Gatsby v3\n\n\nexports.replace = replace;\n\nvar navigateTo = function navigateTo(to) {\n showDeprecationWarning(\"navigateTo\", \"navigate\", 3);\n return push(to);\n};\n\nexports.navigateTo = navigateTo;","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n // eslint-disable-next-line no-undef\n && !Symbol.sham\n // eslint-disable-next-line no-undef\n && typeof Symbol.iterator == 'symbol';\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","\"use strict\";\n\nexports.__esModule = true;\nexports.SessionStorage = void 0;\nvar STATE_KEY_PREFIX = \"@@scroll|\";\nvar GATSBY_ROUTER_SCROLL_STATE = \"___GATSBY_REACT_ROUTER_SCROLL\";\n\nvar SessionStorage = /*#__PURE__*/function () {\n function SessionStorage() {}\n\n var _proto = SessionStorage.prototype;\n\n _proto.read = function read(location, key) {\n var stateKey = this.getStateKey(location, key);\n\n try {\n var value = window.sessionStorage.getItem(stateKey);\n return value ? JSON.parse(value) : 0;\n } catch (e) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to access sessionStorage; sessionStorage is not available.\");\n }\n\n if (window && window[GATSBY_ROUTER_SCROLL_STATE] && window[GATSBY_ROUTER_SCROLL_STATE][stateKey]) {\n return window[GATSBY_ROUTER_SCROLL_STATE][stateKey];\n }\n\n return 0;\n }\n };\n\n _proto.save = function save(location, key, value) {\n var stateKey = this.getStateKey(location, key);\n var storedValue = JSON.stringify(value);\n\n try {\n window.sessionStorage.setItem(stateKey, storedValue);\n } catch (e) {\n if (window && window[GATSBY_ROUTER_SCROLL_STATE]) {\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n } else {\n window[GATSBY_ROUTER_SCROLL_STATE] = {};\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to save state in sessionStorage; sessionStorage is not available.\");\n }\n }\n };\n\n _proto.getStateKey = function getStateKey(location, key) {\n var stateKeyBase = \"\" + STATE_KEY_PREFIX + location.pathname;\n return key === null || typeof key === \"undefined\" ? stateKeyBase : stateKeyBase + \"|\" + key;\n };\n\n return SessionStorage;\n}();\n\nexports.SessionStorage = SessionStorage;","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","module.exports = {};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar regexpExec = require('../internals/regexp-exec');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\nvar REPLACE = wellKnownSymbol('replace');\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\nmodule.exports = function (KEY, length, exec, sham) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !(\n REPLACE_SUPPORTS_NAMED_GROUPS &&\n REPLACE_KEEPS_$0 &&\n !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n )) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }, {\n REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,\n REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n });\n var stringMethod = methods[0];\n var regexMethod = methods[1];\n\n redefine(String.prototype, KEY, stringMethod);\n redefine(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return regexMethod.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return regexMethod.call(string, this); }\n );\n }\n\n if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","var _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nfunction _getRequireWildcardCache() {\n if (typeof WeakMap !== \"function\") return null;\n var cache = new WeakMap();\n\n _getRequireWildcardCache = function _getRequireWildcardCache() {\n return cache;\n };\n\n return cache;\n}\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") {\n return {\n \"default\": obj\n };\n }\n\n var cache = _getRequireWildcardCache();\n\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n\n newObj[\"default\"] = obj;\n\n if (cache) {\n cache.set(obj, newObj);\n }\n\n return newObj;\n}\n\nmodule.exports = _interopRequireWildcard;","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n (function () { return this; })() || Function('return this')();\n","export default path => {\n if (path === undefined) {\n return path\n }\n if (path === `/`) {\n return `/`\n }\n if (path.charAt(path.length - 1) === `/`) {\n return path.slice(0, -1)\n }\n return path\n}\n","import { pick } from \"@reach/router/lib/utils\"\nimport stripPrefix from \"./strip-prefix\"\nimport normalizePagePath from \"./normalize-page-path\"\n\nconst pathCache = new Map()\nlet matchPaths = []\n\nconst trimPathname = rawPathname => {\n const pathname = decodeURIComponent(rawPathname)\n // Remove the pathPrefix from the pathname.\n const trimmedPathname = stripPrefix(pathname, __BASE_PATH__)\n // Remove any hashfragment\n .split(`#`)[0]\n // Remove search query\n .split(`?`)[0]\n\n return trimmedPathname\n}\n\nfunction absolutify(path) {\n // If it's already absolute, return as-is\n if (\n path.startsWith(`/`) ||\n path.startsWith(`https://`) ||\n path.startsWith(`http://`)\n ) {\n return path\n }\n // Calculate path relative to current location, adding a trailing slash to\n // match behavior of @reach/router\n return new URL(\n path,\n window.location.href + (window.location.href.endsWith(`/`) ? `` : `/`)\n ).pathname\n}\n\n/**\n * Set list of matchPaths\n *\n * @param {Array<{path: string, matchPath: string}>} value collection of matchPaths\n */\nexport const setMatchPaths = value => {\n matchPaths = value\n}\n\n/**\n * Return a matchpath url\n * if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n * `/foo?bar=far` => `/page1`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string|null}\n */\nexport const findMatchPath = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return normalizePagePath(path.route.originalPath)\n }\n\n return null\n}\n\n/**\n * Return a matchpath params from reach/router rules\n * if `match-paths.json` contains `{ \":bar/*foo\" }`, and the path is /baz/zaz/zoo\n * then it returns\n * { bar: baz, foo: zaz/zoo }\n *\n * @param {string} rawPathname A raw pathname\n * @return {object}\n */\nexport const grabMatchParams = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return path.params\n }\n\n return {}\n}\n\n// Given a raw URL path, returns the cleaned version of it (trim off\n// `#` and query params), or if it matches an entry in\n// `match-paths.json`, its matched path is returned\n//\n// E.g. `/foo?bar=far` => `/foo`\n//\n// Or if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n// `/foo?bar=far` => `/page1`\nexport const findPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n if (pathCache.has(trimmedPathname)) {\n return pathCache.get(trimmedPathname)\n }\n\n let foundPath = findMatchPath(trimmedPathname)\n\n if (!foundPath) {\n foundPath = cleanPath(rawPathname)\n }\n\n pathCache.set(trimmedPathname, foundPath)\n\n return foundPath\n}\n\n/**\n * Clean a url and converts /index.html => /\n * E.g. `/foo?bar=far` => `/foo`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string}\n */\nexport const cleanPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n\n let foundPath = trimmedPathname\n if (foundPath === `/index.html`) {\n foundPath = `/`\n }\n\n foundPath = normalizePagePath(foundPath)\n\n return foundPath\n}\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = useScrollRestoration;\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nvar _react = require(\"react\");\n\nvar _router = require(\"@reach/router\");\n\nfunction useScrollRestoration(identifier) {\n var location = (0, _router.useLocation)();\n var state = (0, _react.useContext)(_scrollHandler.ScrollContext);\n var ref = (0, _react.useRef)();\n (0, _react.useLayoutEffect)(function () {\n if (ref.current) {\n var position = state.read(location, identifier);\n ref.current.scrollTo(0, position || 0);\n }\n }, []);\n return {\n ref: ref,\n onScroll: function onScroll() {\n if (ref.current) {\n state.save(location, identifier, ref.current.scrollTop);\n }\n }\n };\n}","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.github.io/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","module.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar isObject = require('../internals/is-object');\nvar aFunction = require('../internals/a-function');\nvar anInstance = require('../internals/an-instance');\nvar inspectSource = require('../internals/inspect-source');\nvar iterate = require('../internals/iterate');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar promiseResolve = require('../internals/promise-resolve');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar InternalStateModule = require('../internals/internal-state');\nvar isForced = require('../internals/is-forced');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_NODE = require('../internals/engine-is-node');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar $fetch = getBuiltIn('fetch');\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar NATIVE_REJECTION_EVENT = typeof PromiseRejectionEvent == 'function';\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\n if (!GLOBAL_CORE_JS_PROMISE) {\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (V8_VERSION === 66) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n if (!IS_NODE && !NATIVE_REJECTION_EVENT) return true;\n }\n // We need Promise#finally in the pure version for preventing prototype pollution\n if (IS_PURE && !PromiseConstructor.prototype['finally']) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = PromiseConstructor.resolve(1);\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n return !(promise.then(function () { /* empty */ }) instanceof FakePromise);\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n // variable length - can't use forEach\n while (chain.length > index) {\n var reaction = chain[index++];\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (!NATIVE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n task.call(global, function () {\n var promise = state.facade;\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n task.call(global, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === value) throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n then.call(value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n // `Promise.prototype.then` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.then\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING) notify(state, false);\n return reaction.promise;\n },\n // `Promise.prototype.catch` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.catch\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && typeof NativePromise == 'function') {\n nativeThen = NativePromise.prototype.then;\n\n // wrap native Promise#then for native async functions\n redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n\n // wrap fetch result\n if (typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, {\n // eslint-disable-next-line no-unused-vars\n fetch: function fetch(input /* , init */) {\n return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n }\n });\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = getBuiltIn(PROMISE);\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n // `Promise.reject` method\n // https://tc39.github.io/ecma262/#sec-promise.reject\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n // `Promise.resolve` method\n // https://tc39.github.io/ecma262/#sec-promise.resolve\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n // `Promise.all` method\n // https://tc39.github.io/ecma262/#sec-promise.all\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n },\n // `Promise.race` method\n // https://tc39.github.io/ecma262/#sec-promise.race\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","// \n// An event handler can take an optional event argument\n// and should not return a value\n \n \n\n// An array of all currently registered event handlers for a type\n \n \n// A map of event types and their corresponding event handlers.\n \n \n \n \n\n/** Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nfunction mitt(all ) {\n\tall = all || Object.create(null);\n\n\treturn {\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to listen for, or `\"*\"` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton: function on(type , handler ) {\n\t\t\t(all[type] || (all[type] = [])).push(handler);\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to unregister `handler` from, or `\"*\"`\n\t\t * @param {Function} handler Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff: function off(type , handler ) {\n\t\t\tif (all[type]) {\n\t\t\t\tall[type].splice(all[type].indexOf(handler) >>> 0, 1);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `\"*\"` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * @param {String} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberOf mitt\n\t\t */\n\t\temit: function emit(type , evt ) {\n\t\t\t(all[type] || []).slice().map(function (handler) { handler(evt); });\n\t\t\t(all['*'] || []).slice().map(function (handler) { handler(type, evt); });\n\t\t}\n\t};\n}\n\nexport default mitt;\n//# sourceMappingURL=mitt.es.js.map\n","import mitt from \"mitt\"\n\nconst emitter = mitt()\nexport default emitter\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = exports.ScrollContainer = exports.ScrollContext = void 0;\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nexports.ScrollContext = _scrollHandler.ScrollHandler;\n\nvar _scrollContainer = require(\"./scroll-container\");\n\nexports.ScrollContainer = _scrollContainer.ScrollContainer;\n\nvar _useScrollRestoration = require(\"./use-scroll-restoration\");\n\nexports.useScrollRestoration = _useScrollRestoration.useScrollRestoration;","'use strict';\nvar aFunction = require('../internals/a-function');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\n\n// 25.4.1.5 NewPromiseCapability(C)\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;","var hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar defineProperty = require('../internals/object-define-property').f;\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + ++id, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","exports.polyfill = Component => Component\n","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar getLocation = function getLocation(source) {\n var _source$location = source.location,\n search = _source$location.search,\n hash = _source$location.hash,\n href = _source$location.href,\n origin = _source$location.origin,\n protocol = _source$location.protocol,\n host = _source$location.host,\n hostname = _source$location.hostname,\n port = _source$location.port;\n var pathname = source.location.pathname;\n\n\n if (!pathname && href && canUseDOM) {\n var url = new URL(href);\n pathname = url.pathname;\n }\n\n return {\n pathname: encodeURI(decodeURI(pathname)),\n search: search,\n hash: hash,\n href: href,\n origin: origin,\n protocol: protocol,\n host: host,\n hostname: hostname,\n port: port,\n state: source.history.state,\n key: source.history.state && source.history.state.key || \"initial\"\n };\n};\n\nvar createHistory = function createHistory(source, options) {\n var listeners = [];\n var location = getLocation(source);\n var transitioning = false;\n var resolveTransition = function resolveTransition() {};\n\n return {\n get location() {\n return location;\n },\n\n get transitioning() {\n return transitioning;\n },\n\n _onTransitionComplete: function _onTransitionComplete() {\n transitioning = false;\n resolveTransition();\n },\n listen: function listen(listener) {\n listeners.push(listener);\n\n var popstateListener = function popstateListener() {\n location = getLocation(source);\n listener({ location: location, action: \"POP\" });\n };\n\n source.addEventListener(\"popstate\", popstateListener);\n\n return function () {\n source.removeEventListener(\"popstate\", popstateListener);\n listeners = listeners.filter(function (fn) {\n return fn !== listener;\n });\n };\n },\n navigate: function navigate(to) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n state = _ref.state,\n _ref$replace = _ref.replace,\n replace = _ref$replace === undefined ? false : _ref$replace;\n\n if (typeof to === \"number\") {\n source.history.go(to);\n } else {\n state = _extends({}, state, { key: Date.now() + \"\" });\n // try...catch iOS Safari limits to 100 pushState calls\n try {\n if (transitioning || replace) {\n source.history.replaceState(state, null, to);\n } else {\n source.history.pushState(state, null, to);\n }\n } catch (e) {\n source.location[replace ? \"replace\" : \"assign\"](to);\n }\n }\n\n location = getLocation(source);\n transitioning = true;\n var transition = new Promise(function (res) {\n return resolveTransition = res;\n });\n listeners.forEach(function (listener) {\n return listener({ location: location, action: \"PUSH\" });\n });\n return transition;\n }\n };\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Stores history entries in memory for testing or other platforms like Native\nvar createMemorySource = function createMemorySource() {\n var initialPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"/\";\n\n var searchIndex = initialPath.indexOf(\"?\");\n var initialLocation = {\n pathname: searchIndex > -1 ? initialPath.substr(0, searchIndex) : initialPath,\n search: searchIndex > -1 ? initialPath.substr(searchIndex) : \"\"\n };\n var index = 0;\n var stack = [initialLocation];\n var states = [null];\n\n return {\n get location() {\n return stack[index];\n },\n addEventListener: function addEventListener(name, fn) {},\n removeEventListener: function removeEventListener(name, fn) {},\n\n history: {\n get entries() {\n return stack;\n },\n get index() {\n return index;\n },\n get state() {\n return states[index];\n },\n pushState: function pushState(state, _, uri) {\n var _uri$split = uri.split(\"?\"),\n pathname = _uri$split[0],\n _uri$split$ = _uri$split[1],\n search = _uri$split$ === undefined ? \"\" : _uri$split$;\n\n index++;\n stack.push({ pathname: pathname, search: search.length ? \"?\" + search : search });\n states.push(state);\n },\n replaceState: function replaceState(state, _, uri) {\n var _uri$split2 = uri.split(\"?\"),\n pathname = _uri$split2[0],\n _uri$split2$ = _uri$split2[1],\n search = _uri$split2$ === undefined ? \"\" : _uri$split2$;\n\n stack[index] = { pathname: pathname, search: search };\n states[index] = state;\n },\n go: function go(to) {\n var newIndex = index + to;\n\n if (newIndex < 0 || newIndex > states.length - 1) {\n return;\n }\n\n index = newIndex;\n }\n }\n };\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// global history - uses window.history as the source if available, otherwise a\n// memory history\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nvar getSource = function getSource() {\n return canUseDOM ? window : createMemorySource();\n};\n\nvar globalHistory = createHistory(getSource());\nvar navigate = globalHistory.navigate;\n\n////////////////////////////////////////////////////////////////////////////////\n\nexport { globalHistory, navigate, createHistory, createMemorySource };","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\n/**\n * Get a manifest filename depending on localized pathname\n *\n * @param {string} pathname\n * @param {Array<{start_url: string, lang: string}>} localizedManifests\n * @return string\n */\nvar _default = function _default(pathname, localizedManifests) {\n var defaultFilename = \"manifest.webmanifest\";\n\n if (!Array.isArray(localizedManifests)) {\n return defaultFilename;\n }\n\n var localizedManifest = localizedManifests.find(function (app) {\n return pathname.startsWith(app.start_url);\n });\n\n if (!localizedManifest) {\n return defaultFilename;\n }\n\n return \"manifest_\" + localizedManifest.lang + \".webmanifest\";\n};\n\nexports.default = _default;","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyNames = require('../internals/object-get-own-property-names').f;\n\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return nativeGetOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]'\n ? getWindowNames(it)\n : nativeGetOwnPropertyNames(toIndexedObject(it));\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\n\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output.length > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, !SUPPORTS_Y);\n","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.ScrollHandler = exports.ScrollContext = void 0;\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _sessionStorage = require(\"./session-storage\");\n\nvar ScrollContext = /*#__PURE__*/React.createContext(new _sessionStorage.SessionStorage());\nexports.ScrollContext = ScrollContext;\nScrollContext.displayName = \"GatsbyScrollContext\";\n\nvar ScrollHandler = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(ScrollHandler, _React$Component);\n\n function ScrollHandler() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this._stateStorage = new _sessionStorage.SessionStorage();\n\n _this.scrollListener = function () {\n var key = _this.props.location.key;\n\n if (key) {\n _this._stateStorage.save(_this.props.location, key, window.scrollY);\n }\n };\n\n _this.windowScroll = function (position, prevProps) {\n if (_this.shouldUpdateScroll(prevProps, _this.props)) {\n window.scrollTo(0, position);\n }\n };\n\n _this.scrollToHash = function (hash, prevProps) {\n var node = document.getElementById(hash.substring(1));\n\n if (node && _this.shouldUpdateScroll(prevProps, _this.props)) {\n node.scrollIntoView();\n }\n };\n\n _this.shouldUpdateScroll = function (prevRouterProps, routerProps) {\n var shouldUpdateScroll = _this.props.shouldUpdateScroll;\n\n if (!shouldUpdateScroll) {\n return true;\n } // Hack to allow accessing this._stateStorage.\n\n\n return shouldUpdateScroll.call((0, _assertThisInitialized2.default)(_this), prevRouterProps, routerProps);\n };\n\n return _this;\n }\n\n var _proto = ScrollHandler.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n window.addEventListener(\"scroll\", this.scrollListener);\n var scrollPosition;\n var _this$props$location = this.props.location,\n key = _this$props$location.key,\n hash = _this$props$location.hash;\n\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n\n if (scrollPosition) {\n this.windowScroll(scrollPosition, undefined);\n } else if (hash) {\n this.scrollToHash(decodeURI(hash), undefined);\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n window.removeEventListener(\"scroll\", this.scrollListener);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this$props$location2 = this.props.location,\n hash = _this$props$location2.hash,\n key = _this$props$location2.key;\n var scrollPosition;\n\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n\n if (hash && scrollPosition === 0) {\n this.scrollToHash(decodeURI(hash), prevProps);\n } else {\n this.windowScroll(scrollPosition, prevProps);\n }\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(ScrollContext.Provider, {\n value: this._stateStorage\n }, this.props.children);\n };\n\n return ScrollHandler;\n}(React.Component);\n\nexports.ScrollHandler = ScrollHandler;\nScrollHandler.propTypes = {\n shouldUpdateScroll: _propTypes.default.func,\n children: _propTypes.default.element.isRequired,\n location: _propTypes.default.object.isRequired\n};","// `SameValue` abstract operation\n// https://tc39.github.io/ecma262/#sec-samevalue\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","import React, { createElement } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { publicLoader } from \"./loader\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport { grabMatchParams } from \"./find-path\"\n\n// Renders page\nclass PageRenderer extends React.Component {\n render() {\n const props = {\n ...this.props,\n params: {\n ...grabMatchParams(this.props.location.pathname),\n ...this.props.pageResources.json.pageContext.__params,\n },\n pathContext: this.props.pageContext,\n }\n\n const [replacementElement] = apiRunner(`replaceComponentRenderer`, {\n props: this.props,\n loader: publicLoader,\n })\n\n const pageElement =\n replacementElement ||\n createElement(this.props.pageResources.component, {\n ...props,\n key: this.props.path || this.props.pageResources.page.path,\n })\n\n const wrappedPage = apiRunner(\n `wrapPageElement`,\n { element: pageElement, props },\n pageElement,\n ({ result }) => {\n return { element: result, props }\n }\n ).pop()\n\n return wrappedPage\n }\n}\n\nPageRenderer.propTypes = {\n location: PropTypes.object.isRequired,\n pageResources: PropTypes.object.isRequired,\n data: PropTypes.object,\n pageContext: PropTypes.object.isRequired,\n}\n\nexport default PageRenderer\n","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\n// `String.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~String(requireObjectCoercible(this))\n .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var anObject = require('../internals/an-object');\n\nmodule.exports = function (iterator) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) {\n return anObject(returnMethod.call(iterator)).value;\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\nvar nativeStartsWith = ''.startsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return nativeStartsWith\n ? nativeStartsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar bind = require('../internals/function-bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function (id) {\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n typeof postMessage == 'function' &&\n !global.importScripts &&\n location && location.protocol !== 'file:' &&\n !fails(post)\n ) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","import invariant from \"invariant\";\n\n////////////////////////////////////////////////////////////////////////////////\n// startsWith(string, search) - Check if `string` starts with `search`\nvar startsWith = function startsWith(string, search) {\n return string.substr(0, search.length) === search;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// pick(routes, uri)\n//\n// Ranks and picks the best route to match. Each segment gets the highest\n// amount of points, then the type of segment gets an additional amount of\n// points where\n//\n// static > dynamic > splat > root\n//\n// This way we don't have to worry about the order of our routes, let the\n// computers do it.\n//\n// A route looks like this\n//\n// { path, default, value }\n//\n// And a returned match looks like:\n//\n// { route, params, uri }\n//\n// I know, I should use TypeScript not comments for these types.\nvar pick = function pick(routes, uri) {\n var match = void 0;\n var default_ = void 0;\n\n var _uri$split = uri.split(\"?\"),\n uriPathname = _uri$split[0];\n\n var uriSegments = segmentize(uriPathname);\n var isRootUri = uriSegments[0] === \"\";\n var ranked = rankRoutes(routes);\n\n for (var i = 0, l = ranked.length; i < l; i++) {\n var missed = false;\n var route = ranked[i].route;\n\n if (route.default) {\n default_ = {\n route: route,\n params: {},\n uri: uri\n };\n continue;\n }\n\n var routeSegments = segmentize(route.path);\n var params = {};\n var max = Math.max(uriSegments.length, routeSegments.length);\n var index = 0;\n\n for (; index < max; index++) {\n var routeSegment = routeSegments[index];\n var uriSegment = uriSegments[index];\n\n if (isSplat(routeSegment)) {\n // Hit a splat, just grab the rest, and return a match\n // uri: /files/documents/work\n // route: /files/*\n var param = routeSegment.slice(1) || \"*\";\n params[param] = uriSegments.slice(index).map(decodeURIComponent).join(\"/\");\n break;\n }\n\n if (uriSegment === undefined) {\n // URI is shorter than the route, no match\n // uri: /users\n // route: /users/:userId\n missed = true;\n break;\n }\n\n var dynamicMatch = paramRe.exec(routeSegment);\n\n if (dynamicMatch && !isRootUri) {\n var matchIsNotReserved = reservedNames.indexOf(dynamicMatch[1]) === -1;\n !matchIsNotReserved ? process.env.NODE_ENV !== \"production\" ? invariant(false, \" dynamic segment \\\"\" + dynamicMatch[1] + \"\\\" is a reserved name. Please use a different name in path \\\"\" + route.path + \"\\\".\") : invariant(false) : void 0;\n var value = decodeURIComponent(uriSegment);\n params[dynamicMatch[1]] = value;\n } else if (routeSegment !== uriSegment) {\n // Current segments don't match, not dynamic, not splat, so no match\n // uri: /users/123/settings\n // route: /users/:id/profile\n missed = true;\n break;\n }\n }\n\n if (!missed) {\n match = {\n route: route,\n params: params,\n uri: \"/\" + uriSegments.slice(0, index).join(\"/\")\n };\n break;\n }\n }\n\n return match || default_ || null;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// match(path, uri) - Matches just one path to a uri, also lol\nvar match = function match(path, uri) {\n return pick([{ path: path }], uri);\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// resolve(to, basepath)\n//\n// Resolves URIs as though every path is a directory, no files. Relative URIs\n// in the browser can feel awkward because not only can you be \"in a directory\"\n// you can be \"at a file\", too. For example\n//\n// browserSpecResolve('foo', '/bar/') => /bar/foo\n// browserSpecResolve('foo', '/bar') => /foo\n//\n// But on the command line of a file system, it's not as complicated, you can't\n// `cd` from a file, only directories. This way, links have to know less about\n// their current path. To go deeper you can do this:\n//\n// \n// // instead of\n// \n//\n// Just like `cd`, if you want to go deeper from the command line, you do this:\n//\n// cd deeper\n// # not\n// cd $(pwd)/deeper\n//\n// By treating every path as a directory, linking to relative paths should\n// require less contextual information and (fingers crossed) be more intuitive.\nvar resolve = function resolve(to, base) {\n // /foo/bar, /baz/qux => /foo/bar\n if (startsWith(to, \"/\")) {\n return to;\n }\n\n var _to$split = to.split(\"?\"),\n toPathname = _to$split[0],\n toQuery = _to$split[1];\n\n var _base$split = base.split(\"?\"),\n basePathname = _base$split[0];\n\n var toSegments = segmentize(toPathname);\n var baseSegments = segmentize(basePathname);\n\n // ?a=b, /users?b=c => /users?a=b\n if (toSegments[0] === \"\") {\n return addQuery(basePathname, toQuery);\n }\n\n // profile, /users/789 => /users/789/profile\n if (!startsWith(toSegments[0], \".\")) {\n var pathname = baseSegments.concat(toSegments).join(\"/\");\n return addQuery((basePathname === \"/\" ? \"\" : \"/\") + pathname, toQuery);\n }\n\n // ./ /users/123 => /users/123\n // ../ /users/123 => /users\n // ../.. /users/123 => /\n // ../../one /a/b/c/d => /a/b/one\n // .././one /a/b/c/d => /a/b/c/one\n var allSegments = baseSegments.concat(toSegments);\n var segments = [];\n for (var i = 0, l = allSegments.length; i < l; i++) {\n var segment = allSegments[i];\n if (segment === \"..\") segments.pop();else if (segment !== \".\") segments.push(segment);\n }\n\n return addQuery(\"/\" + segments.join(\"/\"), toQuery);\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// insertParams(path, params)\n\nvar insertParams = function insertParams(path, params) {\n var _path$split = path.split(\"?\"),\n pathBase = _path$split[0],\n _path$split$ = _path$split[1],\n query = _path$split$ === undefined ? \"\" : _path$split$;\n\n var segments = segmentize(pathBase);\n var constructedPath = \"/\" + segments.map(function (segment) {\n var match = paramRe.exec(segment);\n return match ? params[match[1]] : segment;\n }).join(\"/\");\n var _params$location = params.location;\n _params$location = _params$location === undefined ? {} : _params$location;\n var _params$location$sear = _params$location.search,\n search = _params$location$sear === undefined ? \"\" : _params$location$sear;\n\n var searchSplit = search.split(\"?\")[1] || \"\";\n constructedPath = addQuery(constructedPath, query, searchSplit);\n return constructedPath;\n};\n\nvar validateRedirect = function validateRedirect(from, to) {\n var filter = function filter(segment) {\n return isDynamic(segment);\n };\n var fromString = segmentize(from).filter(filter).sort().join(\"/\");\n var toString = segmentize(to).filter(filter).sort().join(\"/\");\n return fromString === toString;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Junk\nvar paramRe = /^:(.+)/;\n\nvar SEGMENT_POINTS = 4;\nvar STATIC_POINTS = 3;\nvar DYNAMIC_POINTS = 2;\nvar SPLAT_PENALTY = 1;\nvar ROOT_POINTS = 1;\n\nvar isRootSegment = function isRootSegment(segment) {\n return segment === \"\";\n};\nvar isDynamic = function isDynamic(segment) {\n return paramRe.test(segment);\n};\nvar isSplat = function isSplat(segment) {\n return segment && segment[0] === \"*\";\n};\n\nvar rankRoute = function rankRoute(route, index) {\n var score = route.default ? 0 : segmentize(route.path).reduce(function (score, segment) {\n score += SEGMENT_POINTS;\n if (isRootSegment(segment)) score += ROOT_POINTS;else if (isDynamic(segment)) score += DYNAMIC_POINTS;else if (isSplat(segment)) score -= SEGMENT_POINTS + SPLAT_PENALTY;else score += STATIC_POINTS;\n return score;\n }, 0);\n return { route: route, score: score, index: index };\n};\n\nvar rankRoutes = function rankRoutes(routes) {\n return routes.map(rankRoute).sort(function (a, b) {\n return a.score < b.score ? 1 : a.score > b.score ? -1 : a.index - b.index;\n });\n};\n\nvar segmentize = function segmentize(uri) {\n return uri\n // strip starting/ending slashes\n .replace(/(^\\/+|\\/+$)/g, \"\").split(\"/\");\n};\n\nvar addQuery = function addQuery(pathname) {\n for (var _len = arguments.length, query = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n query[_key - 1] = arguments[_key];\n }\n\n query = query.filter(function (q) {\n return q && q.length > 0;\n });\n return pathname + (query && query.length > 0 ? \"?\" + query.join(\"&\") : \"\");\n};\n\nvar reservedNames = [\"uri\", \"path\"];\n\n/**\n * Shallow compares two objects.\n * @param {Object} obj1 The first object to compare.\n * @param {Object} obj2 The second object to compare.\n */\nvar shallowCompare = function shallowCompare(obj1, obj2) {\n var obj1Keys = Object.keys(obj1);\n return obj1Keys.length === Object.keys(obj2).length && obj1Keys.every(function (key) {\n return obj2.hasOwnProperty(key) && obj1[key] === obj2[key];\n });\n};\n\n////////////////////////////////////////////////////////////////////////////////\nexport { startsWith, pick, match, resolve, insertParams, validateRedirect, shallowCompare };","module.exports = [{\n plugin: require('../node_modules/gatsby-plugin-google-analytics/gatsby-browser.js'),\n options: {\"plugins\":[],\"trackingId\":\"UA-119418003-5\",\"head\":false,\"anonymize\":false,\"respectDNT\":false,\"exclude\":[],\"pageTransitionDelay\":0},\n },{\n plugin: require('../node_modules/gatsby-plugin-manifest/gatsby-browser.js'),\n options: {\"plugins\":[],\"name\":\"The Laughton Group\",\"short_name\":\"Agency\",\"start_url\":\"/\",\"background_color\":\"#ffffff\",\"theme_color\":\"#fed136\",\"display\":\"minimal-ui\",\"icon\":\"content/assets/gatsby-icon.png\",\"legacy\":true,\"theme_color_in_head\":true,\"cache_busting_mode\":\"query\",\"crossOrigin\":\"anonymous\",\"include_favicon\":true,\"cacheDigest\":\"4a9773549091c227cd2eb82ccd9c5e3a\"},\n },{\n plugin: require('../node_modules/gatsby-plugin-offline/gatsby-browser.js'),\n options: {\"plugins\":[]},\n },{\n plugin: require('../gatsby-browser.js'),\n options: {\"plugins\":[]},\n }]\n","/*!\n * domready (c) Dustin Diaz 2014 - License MIT\n * ie10 fix - Mikael Kristiansson 2019\n */\n!(function(name, definition) {\n if (typeof module != \"undefined\") module.exports = definition();\n else if (typeof define == \"function\" && typeof define.amd == \"object\")\n define(definition);\n else this[name] = definition();\n})(\"domready\", function() {\n var ie10 = false;\n if (navigator.appVersion.indexOf(\"MSIE 10\") !== -1) {\n ie10 = true;\n }\n\n var fns = [],\n listener,\n doc = typeof document === \"object\" && document,\n hack = ie10\n ? doc.documentElement.doScroll(\"left\")\n : doc.documentElement.doScroll,\n domContentLoaded = \"DOMContentLoaded\",\n loaded =\n doc && (hack ? /^loaded|^c/ : /^loaded|^i|^c/).test(doc.readyState);\n\n if (!loaded && doc)\n doc.addEventListener(\n domContentLoaded,\n (listener = function() {\n doc.removeEventListener(domContentLoaded, listener);\n loaded = 1;\n while ((listener = fns.shift())) listener();\n })\n );\n\n return function(fn) {\n loaded ? setTimeout(fn, 0) : fns.push(fn);\n };\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","import { apiRunner } from \"./api-runner-browser\"\n\nif (\n window.location.protocol !== `https:` &&\n window.location.hostname !== `localhost`\n) {\n console.error(\n `Service workers can only be used over HTTPS, or on localhost for development`\n )\n} else if (`serviceWorker` in navigator) {\n navigator.serviceWorker\n .register(`${__BASE_PATH__}/sw.js`)\n .then(function (reg) {\n reg.addEventListener(`updatefound`, () => {\n apiRunner(`onServiceWorkerUpdateFound`, { serviceWorker: reg })\n // The updatefound event implies that reg.installing is set; see\n // https://w3c.github.io/ServiceWorker/#service-worker-registration-updatefound-event\n const installingWorker = reg.installing\n console.log(`installingWorker`, installingWorker)\n installingWorker.addEventListener(`statechange`, () => {\n switch (installingWorker.state) {\n case `installed`:\n if (navigator.serviceWorker.controller) {\n // At this point, the old content will have been purged and the fresh content will\n // have been added to the cache.\n\n // We set a flag so Gatsby Link knows to refresh the page on next navigation attempt\n window.___swUpdated = true\n // We call the onServiceWorkerUpdateReady API so users can show update prompts.\n apiRunner(`onServiceWorkerUpdateReady`, { serviceWorker: reg })\n\n // If resources failed for the current page, reload.\n if (window.___failedResources) {\n console.log(`resources failed, SW updated - reloading`)\n window.location.reload()\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a \"Content is cached for offline use.\" message.\n console.log(`Content is now available offline!`)\n\n // Post to service worker that install is complete.\n // Delay to allow time for the event listener to be added --\n // otherwise fetch is called too soon and resources aren't cached.\n apiRunner(`onServiceWorkerInstalled`, { serviceWorker: reg })\n }\n break\n\n case `redundant`:\n console.error(`The installing service worker became redundant.`)\n apiRunner(`onServiceWorkerRedundant`, { serviceWorker: reg })\n break\n\n case `activated`:\n apiRunner(`onServiceWorkerActive`, { serviceWorker: reg })\n break\n }\n })\n })\n })\n .catch(function (e) {\n console.error(`Error during service worker registration:`, e)\n })\n}\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","// prefer default export if available\nconst preferDefault = m => (m && m.default) || m\n\nexports.components = {\n \"component---cache-caches-gatsby-plugin-offline-app-shell-js\": () => import(\"./../../caches/gatsby-plugin-offline/app-shell.js\" /* webpackChunkName: \"component---cache-caches-gatsby-plugin-offline-app-shell-js\" */),\n \"component---src-pages-404-jsx\": () => import(\"./../../../src/pages/404.jsx\" /* webpackChunkName: \"component---src-pages-404-jsx\" */),\n \"component---src-templates-top-index-jsx\": () => import(\"./../../../src/templates/top-index.jsx\" /* webpackChunkName: \"component---src-templates-top-index-jsx\" */)\n}\n\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","module.exports = {};\n","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\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\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.github.io/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = regexp == undefined ? undefined : regexp[MATCH];\n return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative(nativeMatch, regexp, this);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.github.io/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.github.io/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (;!(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.github.io/ecma262/#sec-map-objects\nmodule.exports = collection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","// This is extracted to separate module because it's shared\n// between browser and SSR code\nexport const RouteAnnouncerProps = {\n id: `gatsby-announcer`,\n style: {\n position: `absolute`,\n top: 0,\n width: 1,\n height: 1,\n padding: 0,\n overflow: `hidden`,\n clip: `rect(0, 0, 0, 0)`,\n whiteSpace: `nowrap`,\n border: 0,\n },\n \"aria-live\": `assertive`,\n \"aria-atomic\": `true`,\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport redirects from \"./redirects.json\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport emitter from \"./emitter\"\nimport { RouteAnnouncerProps } from \"./route-announcer-props\"\nimport { navigate as reachNavigate } from \"@reach/router\"\nimport { globalHistory } from \"@reach/router/lib/history\"\nimport { parsePath } from \"gatsby-link\"\n\n// Convert to a map for faster lookup in maybeRedirect()\nconst redirectMap = redirects.reduce((map, redirect) => {\n map[redirect.fromPath] = redirect\n return map\n}, {})\n\nfunction maybeRedirect(pathname) {\n const redirect = redirectMap[pathname]\n\n if (redirect != null) {\n if (process.env.NODE_ENV !== `production`) {\n if (!loader.isPageNotFound(pathname)) {\n console.error(\n `The route \"${pathname}\" matches both a page and a redirect; this is probably not intentional.`\n )\n }\n }\n\n window.___replace(redirect.toPath)\n return true\n } else {\n return false\n }\n}\n\nconst onPreRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n apiRunner(`onPreRouteUpdate`, { location, prevLocation })\n }\n}\n\nconst onRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n apiRunner(`onRouteUpdate`, { location, prevLocation })\n }\n}\n\nconst navigate = (to, options = {}) => {\n // Support forward/backward navigation with numbers\n // navigate(-2) (jumps back 2 history steps)\n // navigate(2) (jumps forward 2 history steps)\n if (typeof to === `number`) {\n globalHistory.navigate(to)\n return\n }\n\n let { pathname } = parsePath(to)\n const redirect = redirectMap[pathname]\n\n // If we're redirecting, just replace the passed in pathname\n // to the one we want to redirect to.\n if (redirect) {\n to = redirect.toPath\n pathname = parsePath(to).pathname\n }\n\n // If we had a service worker update, no matter the path, reload window and\n // reset the pathname whitelist\n if (window.___swUpdated) {\n window.location = pathname\n return\n }\n\n // Start a timer to wait for a second before transitioning and showing a\n // loader in case resources aren't around yet.\n const timeoutId = setTimeout(() => {\n emitter.emit(`onDelayedLoadPageResources`, { pathname })\n apiRunner(`onRouteUpdateDelayed`, {\n location: window.location,\n })\n }, 1000)\n\n loader.loadPage(pathname).then(pageResources => {\n // If no page resources, then refresh the page\n // Do this, rather than simply `window.location.reload()`, so that\n // pressing the back/forward buttons work - otherwise when pressing\n // back, the browser will just change the URL and expect JS to handle\n // the change, which won't always work since it might not be a Gatsby\n // page.\n if (!pageResources || pageResources.status === PageResourceStatus.Error) {\n window.history.replaceState({}, ``, location.href)\n window.location = pathname\n clearTimeout(timeoutId)\n return\n }\n\n // If the loaded page has a different compilation hash to the\n // window, then a rebuild has occurred on the server. Reload.\n if (process.env.NODE_ENV === `production` && pageResources) {\n if (\n pageResources.page.webpackCompilationHash !==\n window.___webpackCompilationHash\n ) {\n // Purge plugin-offline cache\n if (\n `serviceWorker` in navigator &&\n navigator.serviceWorker.controller !== null &&\n navigator.serviceWorker.controller.state === `activated`\n ) {\n navigator.serviceWorker.controller.postMessage({\n gatsbyApi: `clearPathResources`,\n })\n }\n\n window.location = pathname\n }\n }\n reachNavigate(to, options)\n clearTimeout(timeoutId)\n })\n}\n\nfunction shouldUpdateScroll(prevRouterProps, { location }) {\n const { pathname, hash } = location\n const results = apiRunner(`shouldUpdateScroll`, {\n prevRouterProps,\n // `pathname` for backwards compatibility\n pathname,\n routerProps: { location },\n getSavedScrollPosition: args => this._stateStorage.read(args),\n })\n if (results.length > 0) {\n // Use the latest registered shouldUpdateScroll result, this allows users to override plugin's configuration\n // @see https://github.com/gatsbyjs/gatsby/issues/12038\n return results[results.length - 1]\n }\n\n if (prevRouterProps) {\n const {\n location: { pathname: oldPathname },\n } = prevRouterProps\n if (oldPathname === pathname) {\n // Scroll to element if it exists, if it doesn't, or no hash is provided,\n // scroll to top.\n return hash ? decodeURI(hash.slice(1)) : [0, 0]\n }\n }\n return true\n}\n\nfunction init() {\n // The \"scroll-behavior\" package expects the \"action\" to be on the location\n // object so let's copy it over.\n globalHistory.listen(args => {\n args.location.action = args.action\n })\n\n window.___push = to => navigate(to, { replace: false })\n window.___replace = to => navigate(to, { replace: true })\n window.___navigate = (to, options) => navigate(to, options)\n\n // Check for initial page-load redirect\n maybeRedirect(window.location.pathname)\n}\n\nclass RouteAnnouncer extends React.Component {\n constructor(props) {\n super(props)\n this.announcementRef = React.createRef()\n }\n\n componentDidUpdate(prevProps, nextProps) {\n requestAnimationFrame(() => {\n let pageName = `new page at ${this.props.location.pathname}`\n if (document.title) {\n pageName = document.title\n }\n const pageHeadings = document.querySelectorAll(`#gatsby-focus-wrapper h1`)\n if (pageHeadings && pageHeadings.length) {\n pageName = pageHeadings[0].textContent\n }\n const newAnnouncement = `Navigated to ${pageName}`\n if (this.announcementRef.current) {\n const oldAnnouncement = this.announcementRef.current.innerText\n if (oldAnnouncement !== newAnnouncement) {\n this.announcementRef.current.innerText = newAnnouncement\n }\n }\n })\n }\n\n render() {\n return
\n }\n}\n\n// Fire on(Pre)RouteUpdate APIs\nclass RouteUpdates extends React.Component {\n constructor(props) {\n super(props)\n onPreRouteUpdate(props.location, null)\n }\n\n componentDidMount() {\n onRouteUpdate(this.props.location, null)\n }\n\n shouldComponentUpdate(prevProps) {\n if (this.props.location.href !== prevProps.location.href) {\n onPreRouteUpdate(this.props.location, prevProps.location)\n return true\n }\n\n return false\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.location.href !== prevProps.location.href) {\n onRouteUpdate(this.props.location, prevProps.location)\n }\n }\n\n render() {\n return (\n \n {this.props.children}\n \n \n )\n }\n}\n\nRouteUpdates.propTypes = {\n location: PropTypes.object.isRequired,\n}\n\nexport { init, shouldUpdateScroll, RouteUpdates }\n","// Pulled from react-compat\n// https://github.com/developit/preact-compat/blob/7c5de00e7c85e2ffd011bf3af02899b63f699d3a/src/index.js#L349\nfunction shallowDiffers(a, b) {\n for (var i in a) {\n if (!(i in b)) return true;\n }for (var _i in b) {\n if (a[_i] !== b[_i]) return true;\n }return false;\n}\n\nexport default (function (instance, nextProps, nextState) {\n return shallowDiffers(instance.props, nextProps) || shallowDiffers(instance.state, nextState);\n});","import React from \"react\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport shallowCompare from \"shallow-compare\"\n\nclass EnsureResources extends React.Component {\n constructor(props) {\n super()\n const { location, pageResources } = props\n this.state = {\n location: { ...location },\n pageResources: pageResources || loader.loadPageSync(location.pathname),\n }\n }\n\n static getDerivedStateFromProps({ location }, prevState) {\n if (prevState.location.href !== location.href) {\n const pageResources = loader.loadPageSync(location.pathname)\n return {\n pageResources,\n location: { ...location },\n }\n }\n\n return {\n location: { ...location },\n }\n }\n\n loadResources(rawPath) {\n loader.loadPage(rawPath).then(pageResources => {\n if (pageResources && pageResources.status !== PageResourceStatus.Error) {\n this.setState({\n location: { ...window.location },\n pageResources,\n })\n } else {\n window.history.replaceState({}, ``, location.href)\n window.location = rawPath\n }\n })\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n // Always return false if we're missing resources.\n if (!nextState.pageResources) {\n this.loadResources(nextProps.location.pathname)\n return false\n }\n\n if (\n process.env.GATSBY_EXPERIMENTAL_QUERY_ON_DEMAND &&\n nextState.pageResources.stale\n ) {\n this.loadResources(nextProps.location.pathname)\n return false\n }\n\n // Check if the component or json have changed.\n if (this.state.pageResources !== nextState.pageResources) {\n return true\n }\n if (\n this.state.pageResources.component !== nextState.pageResources.component\n ) {\n return true\n }\n\n if (this.state.pageResources.json !== nextState.pageResources.json) {\n return true\n }\n // Check if location has changed on a page using internal routing\n // via matchPath configuration.\n if (\n this.state.location.key !== nextState.location.key &&\n nextState.pageResources.page &&\n (nextState.pageResources.page.matchPath ||\n nextState.pageResources.page.path)\n ) {\n return true\n }\n return shallowCompare(this, nextProps, nextState)\n }\n\n render() {\n if (process.env.NODE_ENV !== `production` && !this.state.pageResources) {\n throw new Error(\n `EnsureResources was not able to find resources for path: \"${this.props.location.pathname}\"\nThis typically means that an issue occurred building components for that path.\nRun \\`gatsby clean\\` to remove any cached elements.`\n )\n }\n\n return this.props.children(this.state)\n }\n}\n\nexport default EnsureResources\n","import { apiRunner, apiRunnerAsync } from \"./api-runner-browser\"\nimport React from \"react\"\nimport ReactDOM from \"react-dom\"\nimport { Router, navigate, Location, BaseContext } from \"@reach/router\"\nimport { ScrollContext } from \"gatsby-react-router-scroll\"\nimport domReady from \"@mikaelkristiansson/domready\"\nimport { StaticQueryContext } from \"gatsby\"\nimport {\n shouldUpdateScroll,\n init as navigationInit,\n RouteUpdates,\n} from \"./navigation\"\nimport emitter from \"./emitter\"\nimport PageRenderer from \"./page-renderer\"\nimport asyncRequires from \"$virtual/async-requires\"\nimport {\n setLoader,\n ProdLoader,\n publicLoader,\n PageResourceStatus,\n getStaticQueryResults,\n} from \"./loader\"\nimport EnsureResources from \"./ensure-resources\"\nimport stripPrefix from \"./strip-prefix\"\n\n// Generated during bootstrap\nimport matchPaths from \"$virtual/match-paths.json\"\n\nconst loader = new ProdLoader(asyncRequires, matchPaths)\nsetLoader(loader)\nloader.setApiRunner(apiRunner)\n\nwindow.asyncRequires = asyncRequires\nwindow.___emitter = emitter\nwindow.___loader = publicLoader\n\nnavigationInit()\n\napiRunnerAsync(`onClientEntry`).then(() => {\n // Let plugins register a service worker. The plugin just needs\n // to return true.\n if (apiRunner(`registerServiceWorker`).length > 0) {\n require(`./register-service-worker`)\n }\n\n // In gatsby v2 if Router is used in page using matchPaths\n // paths need to contain full path.\n // For example:\n // - page have `/app/*` matchPath\n // - inside template user needs to use `/app/xyz` as path\n // Resetting `basepath`/`baseuri` keeps current behaviour\n // to not introduce breaking change.\n // Remove this in v3\n const RouteHandler = props => (\n \n \n \n )\n\n const DataContext = React.createContext({})\n\n class GatsbyRoot extends React.Component {\n render() {\n const { children } = this.props\n return (\n \n {({ location }) => (\n \n {({ pageResources, location }) => {\n const staticQueryResults = getStaticQueryResults()\n return (\n \n \n {children}\n \n \n )\n }}\n \n )}\n \n )\n }\n }\n\n class LocationHandler extends React.Component {\n render() {\n return (\n \n {({ pageResources, location }) => (\n \n \n \n \n
\n \n \n )}\n \n )\n }\n }\n\n const { pagePath, location: browserLoc } = window\n\n // Explicitly call navigate if the canonical path (window.pagePath)\n // is different to the browser path (window.location.pathname). But\n // only if NONE of the following conditions hold:\n //\n // - The url matches a client side route (page.matchPath)\n // - it's a 404 page\n // - it's the offline plugin shell (/offline-plugin-app-shell-fallback/)\n if (\n pagePath &&\n __BASE_PATH__ + pagePath !== browserLoc.pathname &&\n !(\n loader.findMatchPath(stripPrefix(browserLoc.pathname, __BASE_PATH__)) ||\n pagePath === `/404.html` ||\n pagePath.match(/^\\/404\\/?$/) ||\n pagePath.match(/^\\/offline-plugin-app-shell-fallback\\/?$/)\n )\n ) {\n navigate(__BASE_PATH__ + pagePath + browserLoc.search + browserLoc.hash, {\n replace: true,\n })\n }\n\n publicLoader.loadPage(browserLoc.pathname).then(page => {\n if (!page || page.status === PageResourceStatus.Error) {\n throw new Error(\n `page resources for ${browserLoc.pathname} not found. Not rendering React`\n )\n }\n\n window.___webpackCompilationHash = page.page.webpackCompilationHash\n\n const SiteRoot = apiRunner(\n `wrapRootElement`,\n { element: },\n ,\n ({ result }) => {\n return { element: result }\n }\n ).pop()\n\n const App = () => {SiteRoot}\n\n const renderer = apiRunner(\n `replaceHydrateFunction`,\n undefined,\n ReactDOM.hydrate\n )[0]\n\n domReady(() => {\n renderer(\n ,\n typeof window !== `undefined`\n ? document.getElementById(`___gatsby`)\n : void 0,\n () => {\n apiRunner(`onInitialClientRender`)\n }\n )\n })\n })\n})\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {\n var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;\n var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n if (\n (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||\n (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)\n ) {\n var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);\n if (res.done) return res.value;\n }\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return nativeReplace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nmodule.exports = _inheritsLoose;","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.8.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","// a string of all valid unicode whitespaces\n// eslint-disable-next-line max-len\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport Link, {\n withPrefix,\n withAssetPrefix,\n navigate,\n push,\n replace,\n navigateTo,\n parsePath,\n} from \"gatsby-link\"\nimport { useScrollRestoration } from \"gatsby-react-router-scroll\"\nimport PageRenderer from \"./public-page-renderer\"\nimport loader, { getStaticQueryResults } from \"./loader\"\n\nconst prefetchPathname = loader.enqueue\n\nconst StaticQueryContext = React.createContext({})\n\nfunction StaticQueryDataRenderer({ staticQueryData, data, query, render }) {\n let combinedStaticQueryData = staticQueryData\n\n if (process.env.GATSBY_EXPERIMENTAL_LAZY_DEVJS) {\n // when we remove the flag, we don't need to combine them\n // w/ changes @pieh made.\n combinedStaticQueryData = {\n ...getStaticQueryResults(),\n ...staticQueryData,\n }\n }\n\n const finalData = data\n ? data.data\n : combinedStaticQueryData[query] && combinedStaticQueryData[query].data\n\n return (\n \n {finalData && render(finalData)}\n {!finalData &&
Loading (StaticQuery)
}\n
\n )\n}\n\nconst StaticQuery = props => {\n const { data, query, render, children } = props\n\n return (\n \n {staticQueryData => (\n \n )}\n \n )\n}\n\nconst useStaticQuery = query => {\n if (\n typeof React.useContext !== `function` &&\n process.env.NODE_ENV === `development`\n ) {\n throw new Error(\n `You're likely using a version of React that doesn't support Hooks\\n` +\n `Please update React and ReactDOM to 16.8.0 or later to use the useStaticQuery hook.`\n )\n }\n const context = React.useContext(StaticQueryContext)\n\n // query is a stringified number like `3303882` when wrapped with graphql, If a user forgets\n // to wrap the query in a grqphql, then casting it to a Number results in `NaN` allowing us to\n // catch the misuse of the API and give proper direction\n if (isNaN(Number(query))) {\n throw new Error(`useStaticQuery was called with a string but expects to be called using \\`graphql\\`. Try this:\n\nimport { useStaticQuery, graphql } from 'gatsby';\n\nuseStaticQuery(graphql\\`${query}\\`);\n`)\n }\n\n let queryNotFound = false\n if (process.env.GATSBY_EXPERIMENTAL_LAZY_DEVJS) {\n // Merge data loaded via socket.io & xhr\n // when we remove the flag, we don't need to combine them\n // w/ changes @pieh made.\n const staticQueryData = {\n ...getStaticQueryResults(),\n ...context,\n }\n if (staticQueryData[query]?.data) {\n return staticQueryData[query].data\n } else {\n queryNotFound = true\n }\n } else {\n if (context[query]?.data) {\n return context[query].data\n } else {\n queryNotFound = true\n }\n }\n\n if (queryNotFound) {\n throw new Error(\n `The result of this StaticQuery could not be fetched.\\n\\n` +\n `This is likely a bug in Gatsby and if refreshing the page does not fix it, ` +\n `please open an issue in https://github.com/gatsbyjs/gatsby/issues`\n )\n }\n\n return null\n}\n\nStaticQuery.propTypes = {\n data: PropTypes.object,\n query: PropTypes.string.isRequired,\n render: PropTypes.func,\n children: PropTypes.func,\n}\n\nfunction graphql() {\n throw new Error(\n `It appears like Gatsby is misconfigured. Gatsby related \\`graphql\\` calls ` +\n `are supposed to only be evaluated at compile time, and then compiled away. ` +\n `Unfortunately, something went wrong and the query was left in the compiled code.\\n\\n` +\n `Unless your site has a complex or custom babel/Gatsby configuration this is likely a bug in Gatsby.`\n )\n}\n\nexport {\n Link,\n withAssetPrefix,\n withPrefix,\n graphql,\n parsePath,\n navigate,\n push, // TODO replace for v3\n replace, // TODO remove replace for v3\n navigateTo, // TODO: remove navigateTo for v3\n useScrollRestoration,\n StaticQueryContext,\n StaticQuery,\n PageRenderer,\n useStaticQuery,\n prefetchPathname,\n}\n","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.github.io/ecma262/#sec-set-objects\nmodule.exports = collection('Set', function (init) {\n return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\nvar nativeAssign = Object.assign;\nvar defineProperty = Object.defineProperty;\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\nmodule.exports = !nativeAssign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : nativeAssign;\n","\"use strict\";\n\nmodule.exports = Object.assign;","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/* eslint-disable jsx-a11y/anchor-has-content */\nimport React, { useContext } from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"invariant\";\nimport createContext from \"create-react-context\";\nimport { polyfill } from \"react-lifecycles-compat\";\nimport { startsWith, pick, resolve, match, insertParams, validateRedirect, shallowCompare } from \"./lib/utils\";\nimport { globalHistory, navigate, createHistory, createMemorySource } from \"./lib/history\";\n\n////////////////////////////////////////////////////////////////////////////////\n\nvar createNamedContext = function createNamedContext(name, defaultValue) {\n var Ctx = createContext(defaultValue);\n Ctx.displayName = name;\n return Ctx;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Location Context/Provider\nvar LocationContext = createNamedContext(\"Location\");\n\n// sets up a listener if there isn't one already so apps don't need to be\n// wrapped in some top level provider\nvar Location = function Location(_ref) {\n var children = _ref.children;\n return React.createElement(\n LocationContext.Consumer,\n null,\n function (context) {\n return context ? children(context) : React.createElement(\n LocationProvider,\n null,\n children\n );\n }\n );\n};\n\nvar LocationProvider = function (_React$Component) {\n _inherits(LocationProvider, _React$Component);\n\n function LocationProvider() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, LocationProvider);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n context: _this.getContext(),\n refs: { unlisten: null }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n LocationProvider.prototype.getContext = function getContext() {\n var _props$history = this.props.history,\n navigate = _props$history.navigate,\n location = _props$history.location;\n\n return { navigate: navigate, location: location };\n };\n\n LocationProvider.prototype.componentDidCatch = function componentDidCatch(error, info) {\n if (isRedirect(error)) {\n var _navigate = this.props.history.navigate;\n\n _navigate(error.uri, { replace: true });\n } else {\n throw error;\n }\n };\n\n LocationProvider.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (prevState.context.location !== this.state.context.location) {\n this.props.history._onTransitionComplete();\n }\n };\n\n LocationProvider.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n var refs = this.state.refs,\n history = this.props.history;\n\n history._onTransitionComplete();\n refs.unlisten = history.listen(function () {\n Promise.resolve().then(function () {\n // TODO: replace rAF with react deferred update API when it's ready https://github.com/facebook/react/issues/13306\n requestAnimationFrame(function () {\n if (!_this2.unmounted) {\n _this2.setState(function () {\n return { context: _this2.getContext() };\n });\n }\n });\n });\n });\n };\n\n LocationProvider.prototype.componentWillUnmount = function componentWillUnmount() {\n var refs = this.state.refs;\n\n this.unmounted = true;\n refs.unlisten();\n };\n\n LocationProvider.prototype.render = function render() {\n var context = this.state.context,\n children = this.props.children;\n\n return React.createElement(\n LocationContext.Provider,\n { value: context },\n typeof children === \"function\" ? children(context) : children || null\n );\n };\n\n return LocationProvider;\n}(React.Component);\n\n////////////////////////////////////////////////////////////////////////////////\n\n\nLocationProvider.defaultProps = {\n history: globalHistory\n};\nprocess.env.NODE_ENV !== \"production\" ? LocationProvider.propTypes = {\n history: PropTypes.object.isRequired\n} : void 0;\nvar ServerLocation = function ServerLocation(_ref2) {\n var url = _ref2.url,\n children = _ref2.children;\n\n var searchIndex = url.indexOf(\"?\");\n var searchExists = searchIndex > -1;\n var pathname = void 0;\n var search = \"\";\n var hash = \"\";\n\n if (searchExists) {\n pathname = url.substring(0, searchIndex);\n search = url.substring(searchIndex);\n } else {\n pathname = url;\n }\n\n return React.createElement(\n LocationContext.Provider,\n {\n value: {\n location: {\n pathname: pathname,\n search: search,\n hash: hash\n },\n navigate: function navigate() {\n throw new Error(\"You can't call navigate on the server.\");\n }\n }\n },\n children\n );\n};\n////////////////////////////////////////////////////////////////////////////////\n// Sets baseuri and basepath for nested routers and links\nvar BaseContext = createNamedContext(\"Base\", { baseuri: \"/\", basepath: \"/\" });\n\n////////////////////////////////////////////////////////////////////////////////\n// The main event, welcome to the show everybody.\nvar Router = function Router(props) {\n return React.createElement(\n BaseContext.Consumer,\n null,\n function (baseContext) {\n return React.createElement(\n Location,\n null,\n function (locationContext) {\n return React.createElement(RouterImpl, _extends({}, baseContext, locationContext, props));\n }\n );\n }\n );\n};\n\nvar RouterImpl = function (_React$PureComponent) {\n _inherits(RouterImpl, _React$PureComponent);\n\n function RouterImpl() {\n _classCallCheck(this, RouterImpl);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n RouterImpl.prototype.render = function render() {\n var _props = this.props,\n location = _props.location,\n _navigate2 = _props.navigate,\n basepath = _props.basepath,\n primary = _props.primary,\n children = _props.children,\n baseuri = _props.baseuri,\n _props$component = _props.component,\n component = _props$component === undefined ? \"div\" : _props$component,\n domProps = _objectWithoutProperties(_props, [\"location\", \"navigate\", \"basepath\", \"primary\", \"children\", \"baseuri\", \"component\"]);\n\n var routes = React.Children.toArray(children).reduce(function (array, child) {\n var routes = createRoute(basepath)(child);\n return array.concat(routes);\n }, []);\n var pathname = location.pathname;\n\n\n var match = pick(routes, pathname);\n\n if (match) {\n var params = match.params,\n uri = match.uri,\n route = match.route,\n element = match.route.value;\n\n // remove the /* from the end for child routes relative paths\n\n basepath = route.default ? basepath : route.path.replace(/\\*$/, \"\");\n\n var props = _extends({}, params, {\n uri: uri,\n location: location,\n navigate: function navigate(to, options) {\n return _navigate2(resolve(to, uri), options);\n }\n });\n\n var clone = React.cloneElement(element, props, element.props.children ? React.createElement(\n Router,\n { location: location, primary: primary },\n element.props.children\n ) : undefined);\n\n // using 'div' for < 16.3 support\n var FocusWrapper = primary ? FocusHandler : component;\n // don't pass any props to 'div'\n var wrapperProps = primary ? _extends({ uri: uri, location: location, component: component }, domProps) : domProps;\n\n return React.createElement(\n BaseContext.Provider,\n { value: { baseuri: uri, basepath: basepath } },\n React.createElement(\n FocusWrapper,\n wrapperProps,\n clone\n )\n );\n } else {\n // Not sure if we want this, would require index routes at every level\n // warning(\n // false,\n // `\\n\\nNothing matched:\\n\\t${\n // location.pathname\n // }\\n\\nPaths checked: \\n\\t${routes\n // .map(route => route.path)\n // .join(\n // \"\\n\\t\"\n // )}\\n\\nTo get rid of this warning, add a default NotFound component as child of Router:\n // \\n\\tlet NotFound = () =>
Not Found!
\n // \\n\\t\\n\\t \\n\\t {/* ... */}\\n\\t`\n // );\n return null;\n }\n };\n\n return RouterImpl;\n}(React.PureComponent);\n\nRouterImpl.defaultProps = {\n primary: true\n};\n\n\nvar FocusContext = createNamedContext(\"Focus\");\n\nvar FocusHandler = function FocusHandler(_ref3) {\n var uri = _ref3.uri,\n location = _ref3.location,\n component = _ref3.component,\n domProps = _objectWithoutProperties(_ref3, [\"uri\", \"location\", \"component\"]);\n\n return React.createElement(\n FocusContext.Consumer,\n null,\n function (requestFocus) {\n return React.createElement(FocusHandlerImpl, _extends({}, domProps, {\n component: component,\n requestFocus: requestFocus,\n uri: uri,\n location: location\n }));\n }\n );\n};\n\n// don't focus on initial render\nvar initialRender = true;\nvar focusHandlerCount = 0;\n\nvar FocusHandlerImpl = function (_React$Component2) {\n _inherits(FocusHandlerImpl, _React$Component2);\n\n function FocusHandlerImpl() {\n var _temp2, _this4, _ret2;\n\n _classCallCheck(this, FocusHandlerImpl);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this4 = _possibleConstructorReturn(this, _React$Component2.call.apply(_React$Component2, [this].concat(args))), _this4), _this4.state = {}, _this4.requestFocus = function (node) {\n if (!_this4.state.shouldFocus && node) {\n node.focus();\n }\n }, _temp2), _possibleConstructorReturn(_this4, _ret2);\n }\n\n FocusHandlerImpl.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, prevState) {\n var initial = prevState.uri == null;\n if (initial) {\n return _extends({\n shouldFocus: true\n }, nextProps);\n } else {\n var myURIChanged = nextProps.uri !== prevState.uri;\n var navigatedUpToMe = prevState.location.pathname !== nextProps.location.pathname && nextProps.location.pathname === nextProps.uri;\n return _extends({\n shouldFocus: myURIChanged || navigatedUpToMe\n }, nextProps);\n }\n };\n\n FocusHandlerImpl.prototype.componentDidMount = function componentDidMount() {\n focusHandlerCount++;\n this.focus();\n };\n\n FocusHandlerImpl.prototype.componentWillUnmount = function componentWillUnmount() {\n focusHandlerCount--;\n if (focusHandlerCount === 0) {\n initialRender = true;\n }\n };\n\n FocusHandlerImpl.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (prevProps.location !== this.props.location && this.state.shouldFocus) {\n this.focus();\n }\n };\n\n FocusHandlerImpl.prototype.focus = function focus() {\n if (process.env.NODE_ENV === \"test\") {\n // getting cannot read property focus of null in the tests\n // and that bit of global `initialRender` state causes problems\n // should probably figure it out!\n return;\n }\n\n var requestFocus = this.props.requestFocus;\n\n\n if (requestFocus) {\n requestFocus(this.node);\n } else {\n if (initialRender) {\n initialRender = false;\n } else if (this.node) {\n // React polyfills [autofocus] and it fires earlier than cDM,\n // so we were stealing focus away, this line prevents that.\n if (!this.node.contains(document.activeElement)) {\n this.node.focus();\n }\n }\n }\n };\n\n FocusHandlerImpl.prototype.render = function render() {\n var _this5 = this;\n\n var _props2 = this.props,\n children = _props2.children,\n style = _props2.style,\n requestFocus = _props2.requestFocus,\n _props2$component = _props2.component,\n Comp = _props2$component === undefined ? \"div\" : _props2$component,\n uri = _props2.uri,\n location = _props2.location,\n domProps = _objectWithoutProperties(_props2, [\"children\", \"style\", \"requestFocus\", \"component\", \"uri\", \"location\"]);\n\n return React.createElement(\n Comp,\n _extends({\n style: _extends({ outline: \"none\" }, style),\n tabIndex: \"-1\",\n ref: function ref(n) {\n return _this5.node = n;\n }\n }, domProps),\n React.createElement(\n FocusContext.Provider,\n { value: this.requestFocus },\n this.props.children\n )\n );\n };\n\n return FocusHandlerImpl;\n}(React.Component);\n\npolyfill(FocusHandlerImpl);\n\nvar k = function k() {};\n\n////////////////////////////////////////////////////////////////////////////////\nvar forwardRef = React.forwardRef;\n\nif (typeof forwardRef === \"undefined\") {\n forwardRef = function forwardRef(C) {\n return C;\n };\n}\n\nvar Link = forwardRef(function (_ref4, ref) {\n var innerRef = _ref4.innerRef,\n props = _objectWithoutProperties(_ref4, [\"innerRef\"]);\n\n return React.createElement(\n BaseContext.Consumer,\n null,\n function (_ref5) {\n var basepath = _ref5.basepath,\n baseuri = _ref5.baseuri;\n return React.createElement(\n Location,\n null,\n function (_ref6) {\n var location = _ref6.location,\n navigate = _ref6.navigate;\n\n var to = props.to,\n state = props.state,\n replace = props.replace,\n _props$getProps = props.getProps,\n getProps = _props$getProps === undefined ? k : _props$getProps,\n anchorProps = _objectWithoutProperties(props, [\"to\", \"state\", \"replace\", \"getProps\"]);\n\n var href = resolve(to, baseuri);\n var encodedHref = encodeURI(href);\n var isCurrent = location.pathname === encodedHref;\n var isPartiallyCurrent = startsWith(location.pathname, encodedHref);\n\n return React.createElement(\"a\", _extends({\n ref: ref || innerRef,\n \"aria-current\": isCurrent ? \"page\" : undefined\n }, anchorProps, getProps({ isCurrent: isCurrent, isPartiallyCurrent: isPartiallyCurrent, href: href, location: location }), {\n href: href,\n onClick: function onClick(event) {\n if (anchorProps.onClick) anchorProps.onClick(event);\n if (shouldNavigate(event)) {\n event.preventDefault();\n var shouldReplace = replace;\n if (typeof replace !== \"boolean\" && isCurrent) {\n var _location$state = _extends({}, location.state),\n key = _location$state.key,\n restState = _objectWithoutProperties(_location$state, [\"key\"]);\n\n shouldReplace = shallowCompare(_extends({}, state), restState);\n }\n navigate(href, {\n state: state,\n replace: shouldReplace\n });\n }\n }\n }));\n }\n );\n }\n );\n});\n\nLink.displayName = \"Link\";\n\nprocess.env.NODE_ENV !== \"production\" ? Link.propTypes = {\n to: PropTypes.string.isRequired\n} : void 0;\n\n////////////////////////////////////////////////////////////////////////////////\nfunction RedirectRequest(uri) {\n this.uri = uri;\n}\n\nvar isRedirect = function isRedirect(o) {\n return o instanceof RedirectRequest;\n};\n\nvar redirectTo = function redirectTo(to) {\n throw new RedirectRequest(to);\n};\n\nvar RedirectImpl = function (_React$Component3) {\n _inherits(RedirectImpl, _React$Component3);\n\n function RedirectImpl() {\n _classCallCheck(this, RedirectImpl);\n\n return _possibleConstructorReturn(this, _React$Component3.apply(this, arguments));\n }\n\n // Support React < 16 with this hook\n RedirectImpl.prototype.componentDidMount = function componentDidMount() {\n var _props3 = this.props,\n navigate = _props3.navigate,\n to = _props3.to,\n from = _props3.from,\n _props3$replace = _props3.replace,\n replace = _props3$replace === undefined ? true : _props3$replace,\n state = _props3.state,\n noThrow = _props3.noThrow,\n baseuri = _props3.baseuri,\n props = _objectWithoutProperties(_props3, [\"navigate\", \"to\", \"from\", \"replace\", \"state\", \"noThrow\", \"baseuri\"]);\n\n Promise.resolve().then(function () {\n var resolvedTo = resolve(to, baseuri);\n navigate(insertParams(resolvedTo, props), { replace: replace, state: state });\n });\n };\n\n RedirectImpl.prototype.render = function render() {\n var _props4 = this.props,\n navigate = _props4.navigate,\n to = _props4.to,\n from = _props4.from,\n replace = _props4.replace,\n state = _props4.state,\n noThrow = _props4.noThrow,\n baseuri = _props4.baseuri,\n props = _objectWithoutProperties(_props4, [\"navigate\", \"to\", \"from\", \"replace\", \"state\", \"noThrow\", \"baseuri\"]);\n\n var resolvedTo = resolve(to, baseuri);\n if (!noThrow) redirectTo(insertParams(resolvedTo, props));\n return null;\n };\n\n return RedirectImpl;\n}(React.Component);\n\nvar Redirect = function Redirect(props) {\n return React.createElement(\n BaseContext.Consumer,\n null,\n function (_ref7) {\n var baseuri = _ref7.baseuri;\n return React.createElement(\n Location,\n null,\n function (locationContext) {\n return React.createElement(RedirectImpl, _extends({}, locationContext, { baseuri: baseuri }, props));\n }\n );\n }\n );\n};\n\nprocess.env.NODE_ENV !== \"production\" ? Redirect.propTypes = {\n from: PropTypes.string,\n to: PropTypes.string.isRequired\n} : void 0;\n\n////////////////////////////////////////////////////////////////////////////////\nvar Match = function Match(_ref8) {\n var path = _ref8.path,\n children = _ref8.children;\n return React.createElement(\n BaseContext.Consumer,\n null,\n function (_ref9) {\n var baseuri = _ref9.baseuri;\n return React.createElement(\n Location,\n null,\n function (_ref10) {\n var navigate = _ref10.navigate,\n location = _ref10.location;\n\n var resolvedPath = resolve(path, baseuri);\n var result = match(resolvedPath, location.pathname);\n return children({\n navigate: navigate,\n location: location,\n match: result ? _extends({}, result.params, {\n uri: result.uri,\n path: path\n }) : null\n });\n }\n );\n }\n );\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Hooks\n\nvar useLocation = function useLocation() {\n var context = useContext(LocationContext);\n\n if (!context) {\n throw new Error(\"useLocation hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n return context.location;\n};\n\nvar useNavigate = function useNavigate() {\n var context = useContext(LocationContext);\n\n if (!context) {\n throw new Error(\"useNavigate hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n return context.navigate;\n};\n\nvar useParams = function useParams() {\n var context = useContext(BaseContext);\n\n if (!context) {\n throw new Error(\"useParams hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n var location = useLocation();\n\n var results = match(context.basepath, location.pathname);\n\n return results ? results.params : null;\n};\n\nvar useMatch = function useMatch(path) {\n if (!path) {\n throw new Error(\"useMatch(path: string) requires an argument of a string to match against\");\n }\n var context = useContext(BaseContext);\n\n if (!context) {\n throw new Error(\"useMatch hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n var location = useLocation();\n\n var resolvedPath = resolve(path, context.baseuri);\n var result = match(resolvedPath, location.pathname);\n return result ? _extends({}, result.params, {\n uri: result.uri,\n path: path\n }) : null;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Junk\nvar stripSlashes = function stripSlashes(str) {\n return str.replace(/(^\\/+|\\/+$)/g, \"\");\n};\n\nvar createRoute = function createRoute(basepath) {\n return function (element) {\n if (!element) {\n return null;\n }\n\n if (element.type === React.Fragment && element.props.children) {\n return React.Children.map(element.props.children, createRoute(basepath));\n }\n !(element.props.path || element.props.default || element.type === Redirect) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \": Children of must have a `path` or `default` prop, or be a ``. None found on element type `\" + element.type + \"`\") : invariant(false) : void 0;\n\n !!(element.type === Redirect && (!element.props.from || !element.props.to)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \" requires both \\\"from\\\" and \\\"to\\\" props when inside a .\") : invariant(false) : void 0;\n\n !!(element.type === Redirect && !validateRedirect(element.props.from, element.props.to)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \" has mismatched dynamic segments, ensure both paths have the exact same dynamic segments.\") : invariant(false) : void 0;\n\n if (element.props.default) {\n return { value: element, default: true };\n }\n\n var elementPath = element.type === Redirect ? element.props.from : element.props.path;\n\n var path = elementPath === \"/\" ? basepath : stripSlashes(basepath) + \"/\" + stripSlashes(elementPath);\n\n return {\n value: element,\n default: element.props.default,\n path: element.props.children ? stripSlashes(path) + \"/*\" : path\n };\n };\n};\n\nvar shouldNavigate = function shouldNavigate(event) {\n return !event.defaultPrevented && event.button === 0 && !(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n};\n\n////////////////////////////////////////////////////////////////////////\nexport { Link, Location, LocationProvider, Match, Redirect, Router, ServerLocation, createHistory, createMemorySource, isRedirect, navigate, redirectTo, globalHistory, match as matchPath, useLocation, useNavigate, useParams, useMatch , BaseContext };","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(C.prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n // eslint-disable-next-line max-len\n if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n })))) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","/**\n * Remove a prefix from a string. Return the input string if the given prefix\n * isn't found.\n */\n\nexport default function stripPrefix(str, prefix = ``) {\n if (!prefix) {\n return str\n }\n\n if (str === prefix) {\n return `/`\n }\n\n if (str.startsWith(`${prefix}/`)) {\n return str.slice(prefix.length)\n }\n\n return str\n}\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","\"use strict\";\n\nexports.__esModule = true;\nexports.parsePath = parsePath;\n\nfunction parsePath(path) {\n var pathname = path || \"/\";\n var search = \"\";\n var hash = \"\";\n var hashIndex = pathname.indexOf(\"#\");\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf(\"?\");\n\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === \"?\" ? \"\" : search,\n hash: hash === \"#\" ? \"\" : hash\n };\n}","exports.f = Object.getOwnPropertySymbols;\n","var path = require('../internals/path');\nvar has = require('../internals/has');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","\"use strict\";\n\nexports.registerServiceWorker = function () {\n return true;\n}; // only cache relevant resources for this page\n\n\nvar whiteListLinkRels = /^(stylesheet|preload)$/;\nvar prefetchedPathnames = [];\n\nexports.onServiceWorkerActive = function (_ref) {\n var getResourceURLsForPathname = _ref.getResourceURLsForPathname,\n serviceWorker = _ref.serviceWorker;\n\n // if the SW has just updated then clear the path dependencies and don't cache\n // stuff, since we're on the old revision until we navigate to another page\n if (window.___swUpdated) {\n serviceWorker.active.postMessage({\n gatsbyApi: \"clearPathResources\"\n });\n return;\n } // grab nodes from head of document\n\n\n var nodes = document.querySelectorAll(\"\\n head > script[src],\\n head > link[href],\\n head > style[data-href]\\n \"); // get all resource URLs\n\n var headerResources = [].slice.call(nodes) // don't include preconnect/prefetch/prerender resources\n .filter(function (node) {\n return node.tagName !== \"LINK\" || whiteListLinkRels.test(node.getAttribute(\"rel\"));\n }).map(function (node) {\n return node.src || node.href || node.getAttribute(\"data-href\");\n }); // Loop over prefetched pages and add their resources to an array,\n // plus specify which resources are required for those paths.\n\n var prefetchedResources = [];\n prefetchedPathnames.forEach(function (path) {\n var resources = getResourceURLsForPathname(path);\n prefetchedResources.push.apply(prefetchedResources, resources);\n serviceWorker.active.postMessage({\n gatsbyApi: \"setPathResources\",\n path: path,\n resources: resources\n });\n }); // Loop over all resources and fetch the page component + JSON data\n // to add it to the SW cache.\n\n var resources = [].concat(headerResources, prefetchedResources);\n resources.forEach(function (resource) {\n // Create a prefetch link for each resource, so Workbox runtime-caches them\n var link = document.createElement(\"link\");\n link.rel = \"prefetch\";\n link.href = resource;\n link.onload = link.remove;\n link.onerror = link.remove;\n document.head.appendChild(link);\n });\n};\n\nfunction setPathResources(path, getResourceURLsForPathname) {\n // do nothing if the SW has just updated, since we still have old pages in\n // memory which we don't want to be whitelisted\n if (window.___swUpdated) return;\n\n if (\"serviceWorker\" in navigator) {\n var _navigator = navigator,\n serviceWorker = _navigator.serviceWorker;\n\n if (serviceWorker.controller === null) {\n // if SW is not installed, we need to record any prefetches\n // that happen so we can then add them to SW cache once installed\n prefetchedPathnames.push(path);\n } else {\n var resources = getResourceURLsForPathname(path);\n serviceWorker.controller.postMessage({\n gatsbyApi: \"setPathResources\",\n path: path,\n resources: resources\n });\n }\n }\n}\n\nexports.onRouteUpdate = function (_ref2) {\n var location = _ref2.location,\n getResourceURLsForPathname = _ref2.getResourceURLsForPathname;\n var pathname = location.pathname.replace(__BASE_PATH__, \"\");\n setPathResources(pathname, getResourceURLsForPathname);\n\n if (\"serviceWorker\" in navigator && navigator.serviceWorker.controller !== null) {\n navigator.serviceWorker.controller.postMessage({\n gatsbyApi: \"enableOfflineShell\"\n });\n }\n};\n\nexports.onPostPrefetchPathname = function (_ref3) {\n var pathname = _ref3.pathname,\n getResourceURLsForPathname = _ref3.getResourceURLsForPathname;\n setPathResources(pathname, getResourceURLsForPathname);\n};","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","const support = function (feature) {\n if (typeof document === `undefined`) {\n return false\n }\n const fakeLink = document.createElement(`link`)\n try {\n if (fakeLink.relList && typeof fakeLink.relList.supports === `function`) {\n return fakeLink.relList.supports(feature)\n }\n } catch (err) {\n return false\n }\n return false\n}\n\nconst linkPrefetchStrategy = function (url, options) {\n return new Promise((resolve, reject) => {\n if (typeof document === `undefined`) {\n reject()\n return\n }\n\n const link = document.createElement(`link`)\n link.setAttribute(`rel`, `prefetch`)\n link.setAttribute(`href`, url)\n\n Object.keys(options).forEach(key => {\n link.setAttribute(key, options[key])\n })\n\n link.onload = resolve\n link.onerror = reject\n\n const parentElement =\n document.getElementsByTagName(`head`)[0] ||\n document.getElementsByName(`script`)[0].parentNode\n parentElement.appendChild(link)\n })\n}\n\nconst xhrPrefetchStrategy = function (url) {\n return new Promise((resolve, reject) => {\n const req = new XMLHttpRequest()\n req.open(`GET`, url, true)\n\n req.onload = () => {\n if (req.status === 200) {\n resolve()\n } else {\n reject()\n }\n }\n\n req.send(null)\n })\n}\n\nconst supportedPrefetchStrategy = support(`prefetch`)\n ? linkPrefetchStrategy\n : xhrPrefetchStrategy\n\nconst preFetched = {}\n\nconst prefetch = function (url, options) {\n return new Promise(resolve => {\n if (preFetched[url]) {\n resolve()\n return\n }\n\n supportedPrefetchStrategy(url, options)\n .then(() => {\n resolve()\n preFetched[url] = true\n })\n .catch(() => {}) // 404s are logged to the console anyway\n })\n}\n\nexport default prefetch\n","import prefetchHelper from \"./prefetch\"\nimport emitter from \"./emitter\"\nimport { setMatchPaths, findPath, findMatchPath } from \"./find-path\"\n\n/**\n * Available resource loading statuses\n */\nexport const PageResourceStatus = {\n /**\n * At least one of critical resources failed to load\n */\n Error: `error`,\n /**\n * Resources loaded successfully\n */\n Success: `success`,\n}\n\nconst preferDefault = m => (m && m.default) || m\n\nconst stripSurroundingSlashes = s => {\n s = s[0] === `/` ? s.slice(1) : s\n s = s.endsWith(`/`) ? s.slice(0, -1) : s\n return s\n}\n\nconst createPageDataUrl = path => {\n const fixedPath = path === `/` ? `index` : stripSurroundingSlashes(path)\n return `${__PATH_PREFIX__}/page-data/${fixedPath}/page-data.json`\n}\n\nfunction doFetch(url, method = `GET`) {\n return new Promise((resolve, reject) => {\n const req = new XMLHttpRequest()\n req.open(method, url, true)\n req.onreadystatechange = () => {\n if (req.readyState == 4) {\n resolve(req)\n }\n }\n req.send(null)\n })\n}\n\nconst doesConnectionSupportPrefetch = () => {\n if (\n `connection` in navigator &&\n typeof navigator.connection !== `undefined`\n ) {\n if ((navigator.connection.effectiveType || ``).includes(`2g`)) {\n return false\n }\n if (navigator.connection.saveData) {\n return false\n }\n }\n return true\n}\n\nconst toPageResources = (pageData, component = null) => {\n const page = {\n componentChunkName: pageData.componentChunkName,\n path: pageData.path,\n webpackCompilationHash: pageData.webpackCompilationHash,\n matchPath: pageData.matchPath,\n staticQueryHashes: pageData.staticQueryHashes,\n }\n\n return {\n component,\n json: pageData.result,\n page,\n }\n}\n\nexport class BaseLoader {\n constructor(loadComponent, matchPaths) {\n // Map of pagePath -> Page. Where Page is an object with: {\n // status: PageResourceStatus.Success || PageResourceStatus.Error,\n // payload: PageResources, // undefined if PageResourceStatus.Error\n // }\n // PageResources is {\n // component,\n // json: pageData.result,\n // page: {\n // componentChunkName,\n // path,\n // webpackCompilationHash,\n // staticQueryHashes\n // },\n // staticQueryResults\n // }\n this.pageDb = new Map()\n this.inFlightDb = new Map()\n this.staticQueryDb = {}\n this.pageDataDb = new Map()\n this.prefetchTriggered = new Set()\n this.prefetchCompleted = new Set()\n this.loadComponent = loadComponent\n setMatchPaths(matchPaths)\n }\n\n inFlightNetworkRequests = new Map()\n\n memoizedGet(url) {\n let inFlightPromise = this.inFlightNetworkRequests.get(url)\n\n if (!inFlightPromise) {\n inFlightPromise = doFetch(url, `GET`)\n this.inFlightNetworkRequests.set(url, inFlightPromise)\n }\n\n // Prefer duplication with then + catch over .finally to prevent problems in ie11 + firefox\n return inFlightPromise\n .then(response => {\n this.inFlightNetworkRequests.delete(url)\n return response\n })\n .catch(err => {\n this.inFlightNetworkRequests.delete(url)\n throw err\n })\n }\n\n setApiRunner(apiRunner) {\n this.apiRunner = apiRunner\n this.prefetchDisabled = apiRunner(`disableCorePrefetching`).some(a => a)\n }\n\n fetchPageDataJson(loadObj) {\n const { pagePath, retries = 0 } = loadObj\n const url = createPageDataUrl(pagePath)\n return this.memoizedGet(url).then(req => {\n const { status, responseText } = req\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.path === undefined) {\n throw new Error(`not a valid pageData response`)\n }\n\n // In development, check if the page is in the bundle yet.\n if (\n process.env.NODE_ENV === `development` &&\n process.env.GATSBY_EXPERIMENTAL_LAZY_DEVJS\n ) {\n const ensureComponentInBundle = require(`./ensure-page-component-in-bundle`)\n .default\n if (process.env.NODE_ENV !== `test`) {\n delete require.cache[\n require.resolve(`$virtual/lazy-client-sync-requires`)\n ]\n }\n\n const lazyRequires = require(`$virtual/lazy-client-sync-requires`)\n if (\n lazyRequires.notVisitedPageComponents[\n jsonPayload.componentChunkName\n ]\n ) {\n // Tell the server the user wants to visit this page\n // to trigger it including the page component's code in the\n // commons bundles.\n ensureComponentInBundle(jsonPayload.componentChunkName)\n\n return new Promise(resolve =>\n setTimeout(() => resolve(this.fetchPageDataJson(loadObj)), 100)\n )\n }\n }\n\n return Object.assign(loadObj, {\n status: PageResourceStatus.Success,\n payload: jsonPayload,\n })\n } catch (err) {\n // continue regardless of error\n }\n }\n\n // Handle 404\n if (status === 404 || status === 200) {\n // If the request was for a 404 page and it doesn't exist, we're done\n if (pagePath === `/404.html`) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Need some code here to cache the 404 request. In case\n // multiple loadPageDataJsons result in 404s\n return this.fetchPageDataJson(\n Object.assign(loadObj, { pagePath: `/404.html`, notFound: true })\n )\n }\n\n // handle 500 response (Unrecoverable)\n if (status === 500) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Handle everything else, including status === 0, and 503s. Should retry\n if (retries < 3) {\n return this.fetchPageDataJson(\n Object.assign(loadObj, { retries: retries + 1 })\n )\n }\n\n // Retried 3 times already, result is an error.\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n })\n }\n\n loadPageDataJson(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDataDb.has(pagePath)) {\n const pageData = this.pageDataDb.get(pagePath)\n if (!process.env.GATSBY_EXPERIMENTAL_QUERY_ON_DEMAND || !pageData.stale) {\n return Promise.resolve(pageData)\n }\n }\n\n return this.fetchPageDataJson({ pagePath }).then(pageData => {\n this.pageDataDb.set(pagePath, pageData)\n\n return pageData\n })\n }\n\n findMatchPath(rawPath) {\n return findMatchPath(rawPath)\n }\n\n // TODO check all uses of this and whether they use undefined for page resources not exist\n loadPage(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const page = this.pageDb.get(pagePath)\n if (\n !process.env.GATSBY_EXPERIMENTAL_QUERY_ON_DEMAND ||\n !page.payload.stale\n ) {\n return Promise.resolve(page.payload)\n }\n }\n\n if (this.inFlightDb.has(pagePath)) {\n return this.inFlightDb.get(pagePath)\n }\n\n const inFlightPromise = Promise.all([\n this.loadAppData(),\n this.loadPageDataJson(pagePath),\n ]).then(allData => {\n const result = allData[1]\n if (result.status === PageResourceStatus.Error) {\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n let pageData = result.payload\n const { componentChunkName, staticQueryHashes = [] } = pageData\n\n const finalResult = {}\n\n const componentChunkPromise = this.loadComponent(componentChunkName).then(\n component => {\n finalResult.createdAt = new Date()\n let pageResources\n if (!component) {\n finalResult.status = PageResourceStatus.Error\n } else {\n finalResult.status = PageResourceStatus.Success\n if (result.notFound === true) {\n finalResult.notFound = true\n }\n pageData = Object.assign(pageData, {\n webpackCompilationHash: allData[0]\n ? allData[0].webpackCompilationHash\n : ``,\n })\n pageResources = toPageResources(pageData, component)\n }\n // undefined if final result is an error\n return pageResources\n }\n )\n\n const staticQueryBatchPromise = Promise.all(\n staticQueryHashes.map(staticQueryHash => {\n // Check for cache in case this static query result has already been loaded\n if (this.staticQueryDb[staticQueryHash]) {\n const jsonPayload = this.staticQueryDb[staticQueryHash]\n return { staticQueryHash, jsonPayload }\n }\n\n return this.memoizedGet(\n `${__PATH_PREFIX__}/page-data/sq/d/${staticQueryHash}.json`\n ).then(req => {\n const jsonPayload = JSON.parse(req.responseText)\n return { staticQueryHash, jsonPayload }\n })\n })\n ).then(staticQueryResults => {\n const staticQueryResultsMap = {}\n\n staticQueryResults.forEach(({ staticQueryHash, jsonPayload }) => {\n staticQueryResultsMap[staticQueryHash] = jsonPayload\n this.staticQueryDb[staticQueryHash] = jsonPayload\n })\n\n return staticQueryResultsMap\n })\n\n return Promise.all([componentChunkPromise, staticQueryBatchPromise]).then(\n ([pageResources, staticQueryResults]) => {\n let payload\n if (pageResources) {\n payload = { ...pageResources, staticQueryResults }\n finalResult.payload = payload\n emitter.emit(`onPostLoadPageResources`, {\n page: payload,\n pageResources: payload,\n })\n }\n\n this.pageDb.set(pagePath, finalResult)\n\n return payload\n }\n )\n })\n\n inFlightPromise\n .then(response => {\n this.inFlightDb.delete(pagePath)\n })\n .catch(error => {\n this.inFlightDb.delete(pagePath)\n throw error\n })\n\n this.inFlightDb.set(pagePath, inFlightPromise)\n\n return inFlightPromise\n }\n\n // returns undefined if loading page ran into errors\n loadPageSync(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const pageData = this.pageDb.get(pagePath).payload\n return pageData\n }\n return undefined\n }\n\n shouldPrefetch(pagePath) {\n // Skip prefetching if we know user is on slow or constrained connection\n if (!doesConnectionSupportPrefetch()) {\n return false\n }\n\n // Check if the page exists.\n if (this.pageDb.has(pagePath)) {\n return false\n }\n\n return true\n }\n\n prefetch(pagePath) {\n if (!this.shouldPrefetch(pagePath)) {\n return false\n }\n\n // Tell plugins with custom prefetching logic that they should start\n // prefetching this path.\n if (!this.prefetchTriggered.has(pagePath)) {\n this.apiRunner(`onPrefetchPathname`, { pathname: pagePath })\n this.prefetchTriggered.add(pagePath)\n }\n\n // If a plugin has disabled core prefetching, stop now.\n if (this.prefetchDisabled) {\n return false\n }\n\n const realPath = findPath(pagePath)\n // Todo make doPrefetch logic cacheable\n // eslint-disable-next-line consistent-return\n this.doPrefetch(realPath).then(() => {\n if (!this.prefetchCompleted.has(pagePath)) {\n this.apiRunner(`onPostPrefetchPathname`, { pathname: pagePath })\n this.prefetchCompleted.add(pagePath)\n }\n })\n\n return true\n }\n\n doPrefetch(pagePath) {\n const pageDataUrl = createPageDataUrl(pagePath)\n return prefetchHelper(pageDataUrl, {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPageDataJson(pagePath)\n )\n }\n\n hovering(rawPath) {\n this.loadPage(rawPath)\n }\n\n getResourceURLsForPathname(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDataDb.get(pagePath)\n if (page) {\n const pageResources = toPageResources(page.payload)\n\n return [\n ...createComponentUrls(pageResources.page.componentChunkName),\n createPageDataUrl(pagePath),\n ]\n } else {\n return null\n }\n }\n\n isPageNotFound(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDb.get(pagePath)\n return !page || page.notFound\n }\n\n loadAppData(retries = 0) {\n return this.memoizedGet(`${__PATH_PREFIX__}/page-data/app-data.json`).then(\n req => {\n const { status, responseText } = req\n\n let appData\n\n if (status !== 200 && retries < 3) {\n // Retry 3 times incase of non-200 responses\n return this.loadAppData(retries + 1)\n }\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.webpackCompilationHash === undefined) {\n throw new Error(`not a valid app-data response`)\n }\n\n appData = jsonPayload\n } catch (err) {\n // continue regardless of error\n }\n }\n\n return appData\n }\n )\n }\n}\n\nconst createComponentUrls = componentChunkName =>\n (window.___chunkMapping[componentChunkName] || []).map(\n chunk => __PATH_PREFIX__ + chunk\n )\n\nexport class ProdLoader extends BaseLoader {\n constructor(asyncRequires, matchPaths) {\n const loadComponent = chunkName =>\n asyncRequires.components[chunkName]\n ? asyncRequires.components[chunkName]()\n .then(preferDefault)\n // loader will handle the case when component is null\n .catch(() => null)\n : Promise.resolve()\n\n super(loadComponent, matchPaths)\n }\n\n doPrefetch(pagePath) {\n return super.doPrefetch(pagePath).then(result => {\n if (result.status !== PageResourceStatus.Success) {\n return Promise.resolve()\n }\n const pageData = result.payload\n const chunkName = pageData.componentChunkName\n const componentUrls = createComponentUrls(chunkName)\n return Promise.all(componentUrls.map(prefetchHelper)).then(() => pageData)\n })\n }\n\n loadPageDataJson(rawPath) {\n return super.loadPageDataJson(rawPath).then(data => {\n if (data.notFound) {\n // check if html file exist using HEAD request:\n // if it does we should navigate to it instead of showing 404\n return doFetch(rawPath, `HEAD`).then(req => {\n if (req.status === 200) {\n // page (.html file) actually exist (or we asked for 404 )\n // returning page resources status as errored to trigger\n // regular browser navigation to given page\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n // if HEAD request wasn't 200, return notFound result\n // and show 404 page\n return data\n })\n }\n return data\n })\n }\n}\n\nlet instance\n\nexport const setLoader = _loader => {\n instance = _loader\n}\n\nexport const publicLoader = {\n // Deprecated methods. As far as we're aware, these are only used by\n // core gatsby and the offline plugin, however there's a very small\n // chance they're called by others.\n getResourcesForPathname: rawPath => {\n console.warn(\n `Warning: getResourcesForPathname is deprecated. Use loadPage instead`\n )\n return instance.i.loadPage(rawPath)\n },\n getResourcesForPathnameSync: rawPath => {\n console.warn(\n `Warning: getResourcesForPathnameSync is deprecated. Use loadPageSync instead`\n )\n return instance.i.loadPageSync(rawPath)\n },\n enqueue: rawPath => instance.prefetch(rawPath),\n\n // Real methods\n getResourceURLsForPathname: rawPath =>\n instance.getResourceURLsForPathname(rawPath),\n loadPage: rawPath => instance.loadPage(rawPath),\n loadPageSync: rawPath => instance.loadPageSync(rawPath),\n prefetch: rawPath => instance.prefetch(rawPath),\n isPageNotFound: rawPath => instance.isPageNotFound(rawPath),\n hovering: rawPath => instance.hovering(rawPath),\n loadAppData: () => instance.loadAppData(),\n}\n\nexport default publicLoader\n\nexport function getStaticQueryResults() {\n if (instance) {\n return instance.staticQueryDb\n } else {\n return {}\n }\n}\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength(FIND);\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = regexp == undefined ? undefined : regexp[SEARCH];\n return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search\n function (regexp) {\n var res = maybeCallNative(nativeSearch, regexp, this);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.ScrollContainer = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nvar _router = require(\"@reach/router\");\n\n// TODO: In Gatsby v3, this file should be removed.\n// We are deprecating this in V2 in favor of useScrollRestoration\nvar propTypes = {\n scrollKey: _propTypes.default.string.isRequired,\n shouldUpdateScroll: _propTypes.default.func,\n children: _propTypes.default.element.isRequired\n};\nvar hasNotWarnedDeprecation = true;\n\nvar ScrollContainerImplementation = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(ScrollContainerImplementation, _React$Component);\n\n function ScrollContainerImplementation(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n\n if (process.env.NODE_ENV !== \"production\" && hasNotWarnedDeprecation) {\n hasNotWarnedDeprecation = false;\n console.log(\"Deprecation Warning:\\n\\n Gatsby is deprecated in Gatsby v2 and will be removed in Gatsby v3.\\n Update to the React hook alternative useScrollRestoration, like this:.\\n \\n ```\\n import React from 'react';\\n import { useScrollRestoration } from 'gatsby-react-router-scroll';\\n\\n function Component() {\\n const scrollRestoration = useScrollRestoration('\" + _this.props.scrollKey + \"');\\n\\n return
    ;\\n }\\n ```\\n \");\n }\n\n return _this;\n }\n\n var _proto = ScrollContainerImplementation.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n // eslint-disable-next-line react/no-find-dom-node\n var node = _reactDom.default.findDOMNode(this);\n\n var _this$props = this.props,\n location = _this$props.location,\n scrollKey = _this$props.scrollKey;\n if (!node) return;\n node.addEventListener(\"scroll\", function () {\n _this2.props.context.save(location, scrollKey, node.scrollTop);\n });\n var position = this.props.context.read(location, scrollKey);\n node.scrollTo(0, position || 0);\n };\n\n _proto.render = function render() {\n return this.props.children;\n };\n\n return ScrollContainerImplementation;\n}(React.Component);\n\nvar ScrollContainer = function ScrollContainer(props) {\n return /*#__PURE__*/React.createElement(_router.Location, null, function (_ref) {\n var location = _ref.location;\n return /*#__PURE__*/React.createElement(_scrollHandler.ScrollContext.Consumer, null, function (context) {\n return /*#__PURE__*/React.createElement(ScrollContainerImplementation, (0, _extends2.default)({}, props, {\n context: context,\n location: location\n }));\n });\n });\n};\n\nexports.ScrollContainer = ScrollContainer;\nScrollContainer.propTypes = propTypes;","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\nvar nativeEndsWith = ''.endsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.endsWith` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.endswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : min(toLength(endPosition), len);\n var search = String(searchString);\n return nativeEndsWith\n ? nativeEndsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nvar regexpFlags = require('./regexp-flags');\nvar stickyHelpers = require('./regexp-sticky-helpers');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = regexpFlags.call(re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = flags.replace('y', '');\n if (flags.indexOf('g') === -1) {\n flags += 'g';\n }\n\n strCopy = String(str).slice(re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = match.input.slice(charsAdded);\n match[0] = match[0].slice(charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","const preferDefault = m => (m && m.default) || m\n\nif (process.env.BUILD_STAGE === `develop`) {\n module.exports = preferDefault(require(`./public-page-renderer-dev`))\n} else if (process.env.BUILD_STAGE === `build-javascript`) {\n module.exports = preferDefault(require(`./public-page-renderer-prod`))\n} else {\n module.exports = () => null\n}\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n};\n","'use strict';\n\nvar fails = require('./fails');\n\n// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,\n// so we use an intermediate function.\nfunction RE(s, f) {\n return RegExp(s, f);\n}\n\nexports.UNSUPPORTED_Y = fails(function () {\n // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\n var re = RE('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = RE('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _gatsby = require(\"gatsby\");\n\nvar _getManifestPathname = _interopRequireDefault(require(\"./get-manifest-pathname\"));\n\n/* global __MANIFEST_PLUGIN_HAS_LOCALISATION__ */\n// when we don't have localisation in our manifest, we tree shake everything away\nif (__MANIFEST_PLUGIN_HAS_LOCALISATION__) {\n exports.onRouteUpdate = function (_ref, pluginOptions) {\n var location = _ref.location;\n var localize = pluginOptions.localize;\n var manifestFilename = (0, _getManifestPathname.default)(location.pathname, localize);\n var manifestEl = document.head.querySelector(\"link[rel=\\\"manifest\\\"]\");\n\n if (manifestEl) {\n manifestEl.setAttribute(\"href\", (0, _gatsby.withPrefix)(manifestFilename));\n }\n };\n}","/*\n Why commonjs and not ES imports/exports?\n\n This module is used to alias `create-react-context` package, but drop the the actual implementation part\n because Gatsby requires version of react that has implementatoin baked in.\n \n Package source is using ES modules:\n - https://github.com/jamiebuilds/create-react-context/blob/v0.3.0/src/index.js\n \n But to build this package `babel-plugin-add-module-exports` is used ( https://www.npmjs.com/package/babel-plugin-add-module-exports).\n Which result in both `module.exports` and `exports.default` being set to same thing.\n\n We don't use that babel plugin so we only have `exports.default`.\n\n This cause problems in various 3rd party react components that rely on `module.exports` being set.\n See https://github.com/gatsbyjs/gatsby/issues/23645 for example of it.\n \n Instead of adding same babel plugin we mimic output here. Adding babel plugin just for this would:\n a) unnecesairly slow down compilation for all other files (if we just apply it everywhere)\n b) or complicate babel-loader configuration with overwrite specifically for this file\n*/\n\nconst { createContext } = require(`react`)\n\nmodule.exports = createContext\nmodule.exports.default = createContext\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.github.io/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.github.io/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.github.io/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.github.io/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames,\n // `Object.getOwnPropertySymbols` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.github.io/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index) args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","function _extends() {\n module.exports = _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;","\"use strict\";\n\nexports.__esModule = true;\nexports.onRouteUpdate = void 0;\n\nvar onRouteUpdate = function onRouteUpdate(_ref, pluginOptions) {\n var location = _ref.location;\n\n if (pluginOptions === void 0) {\n pluginOptions = {};\n }\n\n if (process.env.NODE_ENV !== \"production\" || typeof ga !== \"function\") {\n return null;\n }\n\n var pathIsExcluded = location && typeof window.excludeGAPaths !== \"undefined\" && window.excludeGAPaths.some(function (rx) {\n return rx.test(location.pathname);\n });\n if (pathIsExcluded) return null; // wrap inside a timeout to make sure react-helmet is done with it's changes (https://github.com/gatsbyjs/gatsby/issues/9139)\n // reactHelmet is using requestAnimationFrame: https://github.com/nfl/react-helmet/blob/5.2.0/src/HelmetUtils.js#L296-L299\n\n var sendPageView = function sendPageView() {\n var pagePath = location ? location.pathname + location.search + location.hash : undefined;\n window.ga(\"set\", \"page\", pagePath);\n window.ga(\"send\", \"pageview\");\n }; // Minimum delay for reactHelmet's requestAnimationFrame\n\n\n var delay = Math.max(32, pluginOptions.pageTransitionDelay || 0);\n setTimeout(sendPageView, delay);\n return null;\n};\n\nexports.onRouteUpdate = onRouteUpdate;","var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.github.io/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof-raw');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.github.io/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n var first, third, radix, maxCode, digits, length, index, code;\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = it.charCodeAt(0);\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = it.slice(2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = digits.charCodeAt(index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.github.io/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var dummy = this;\n return dummy instanceof NumberWrapper\n // check on 1..constructor(foo) case\n && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)\n ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (error1) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (error2) { /* empty */ }\n } return false;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\n\nvar defineProperty = Object.defineProperty;\nvar cache = {};\n\nvar thrower = function (it) { throw it; };\n\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];\n if (!options) options = {};\n var method = [][METHOD_NAME];\n var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n var argument0 = has(options, 0) ? options[0] : thrower;\n var argument1 = has(options, 1) ? options[1] : undefined;\n\n return cache[METHOD_NAME] = !!method && !fails(function () {\n if (ACCESSORS && !DESCRIPTORS) return true;\n var O = { length: -1 };\n\n if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower });\n else O[1] = 1;\n\n method.call(O, argument0, argument1);\n });\n};\n","'use strict';\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport loader from \"./loader\"\nimport InternalPageRenderer from \"./page-renderer\"\n\nconst ProdPageRenderer = ({ location }) => {\n const pageResources = loader.loadPageSync(location.pathname)\n if (!pageResources) {\n return null\n }\n return React.createElement(InternalPageRenderer, {\n location,\n pageResources,\n ...pageResources.json,\n })\n}\n\nProdPageRenderer.propTypes = {\n location: PropTypes.shape({\n pathname: PropTypes.string.isRequired,\n }).isRequired,\n}\n\nexport default ProdPageRenderer\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.github.io/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return FunctionPrototypeToString.call(this).match(nameRE)[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar macrotask = require('../internals/task').set;\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head) notify();\n else last = undefined;\n throw error;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n if (!IS_IOS && !IS_NODE && MutationObserver && document) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n then = promise.then;\n notify = function () {\n then.call(promise, flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.asyncIterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.asynciterator\ndefineWellKnownSymbol('asyncIterator');\n","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var IS_FILTER_OUT = TYPE == 7;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push.call(target, value); // filterOut\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterOut` method\n // https://github.com/tc39/proposal-array-filtering\n filterOut: createMethod(7)\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","module.exports = false;\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","const plugins = require(`./api-runner-browser-plugins`)\nconst {\n getResourcesForPathname,\n getResourcesForPathnameSync,\n getResourceURLsForPathname,\n loadPage,\n loadPageSync,\n} = require(`./loader`).publicLoader\n\nexports.apiRunner = (api, args = {}, defaultReturn, argTransform) => {\n // Hooks for gatsby-cypress's API handler\n if (process.env.CYPRESS_SUPPORT) {\n if (window.___apiHandler) {\n window.___apiHandler(api)\n } else if (window.___resolvedAPIs) {\n window.___resolvedAPIs.push(api)\n } else {\n window.___resolvedAPIs = [api]\n }\n }\n\n let results = plugins.map(plugin => {\n if (!plugin.plugin[api]) {\n return undefined\n }\n\n // Deprecated April 2019. Use `loadPageSync` instead\n args.getResourcesForPathnameSync = getResourcesForPathnameSync\n // Deprecated April 2019. Use `loadPage` instead\n args.getResourcesForPathname = getResourcesForPathname\n args.getResourceURLsForPathname = getResourceURLsForPathname\n args.loadPage = loadPage\n args.loadPageSync = loadPageSync\n\n const result = plugin.plugin[api](args, plugin.options)\n if (result && argTransform) {\n args = argTransform({ args, result, plugin })\n }\n return result\n })\n\n // Filter out undefined results.\n results = results.filter(result => typeof result !== `undefined`)\n\n if (results.length > 0) {\n return results\n } else if (defaultReturn) {\n return [defaultReturn]\n } else {\n return []\n }\n}\n\nexports.apiRunnerAsync = (api, args, defaultReturn) =>\n plugins.reduce(\n (previous, next) =>\n next.plugin[api]\n ? previous.then(() => next.plugin[api](args, next.options))\n : previous,\n Promise.resolve()\n )\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\n\n// `Array.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: !USES_TO_LENGTH }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n assign: assign\n});\n","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n"],"sourceRoot":""}