{"version":3,"sources":["webpack://nira/./node_modules/@rexxars/eventsource-polyfill/src/eventsource.js","webpack://nira/./node_modules/@sanity/block-content-to-hyperscript/internals.js","webpack://nira/./node_modules/@sanity/block-content-to-hyperscript/lib/blocksToNodes.js","webpack://nira/./node_modules/@sanity/block-content-to-hyperscript/lib/buildMarksTree.js","webpack://nira/./node_modules/@sanity/block-content-to-hyperscript/lib/generateKeys.js","webpack://nira/./node_modules/@sanity/block-content-to-hyperscript/lib/getImageUrl.js","webpack://nira/./node_modules/@sanity/block-content-to-hyperscript/lib/internals.js","webpack://nira/./node_modules/@sanity/block-content-to-hyperscript/lib/mergeSerializers.js","webpack://nira/./node_modules/@sanity/block-content-to-hyperscript/lib/nestLists.js","webpack://nira/./node_modules/@sanity/block-content-to-hyperscript/lib/serializers.js","webpack://nira/./node_modules/@sanity/block-content-to-hyperscript/node_modules/@sanity/generate-help-url/index.js","webpack://nira/./node_modules/@sanity/block-content-to-react/lib/BlockContent.js","webpack://nira/./node_modules/@sanity/block-content-to-react/lib/targets/dom.js","webpack://nira/./node_modules/@sanity/client/lib/assets/assetsClient.js","webpack://nira/./node_modules/@sanity/client/lib/auth/authClient.js","webpack://nira/./node_modules/@sanity/client/lib/config.js","webpack://nira/./node_modules/@sanity/client/lib/data/dataMethods.js","webpack://nira/./node_modules/@sanity/client/lib/data/encodeQueryString.js","webpack://nira/./node_modules/@sanity/client/lib/data/listen.js","webpack://nira/./node_modules/@sanity/client/lib/data/patch.js","webpack://nira/./node_modules/@sanity/client/lib/data/transaction.js","webpack://nira/./node_modules/@sanity/client/lib/datasets/datasetsClient.js","webpack://nira/./node_modules/@sanity/client/lib/http/browserMiddleware.js","webpack://nira/./node_modules/@sanity/client/lib/http/errors.js","webpack://nira/./node_modules/@sanity/client/lib/http/queryString.js","webpack://nira/./node_modules/@sanity/client/lib/http/request.js","webpack://nira/./node_modules/@sanity/client/lib/http/requestOptions.js","webpack://nira/./node_modules/@sanity/client/lib/projects/projectsClient.js","webpack://nira/./node_modules/@sanity/client/lib/sanityClient.js","webpack://nira/./node_modules/@sanity/client/lib/users/usersClient.js","webpack://nira/./node_modules/@sanity/client/lib/util/defaults.js","webpack://nira/./node_modules/@sanity/client/lib/util/getSelection.js","webpack://nira/./node_modules/@sanity/client/lib/util/once.js","webpack://nira/./node_modules/@sanity/client/lib/util/pick.js","webpack://nira/./node_modules/@sanity/client/lib/validators.js","webpack://nira/./node_modules/@sanity/eventsource/browser.js","webpack://nira/./node_modules/@sanity/generate-help-url/index.js","webpack://nira/./node_modules/@sanity/image-url/lib/browser/image-url.umd.js","webpack://nira/./node_modules/@sanity/observable/lib/SanityObservableMinimal.js","webpack://nira/./node_modules/@sanity/observable/minimal.js","webpack://nira/./node_modules/@sanity/observable/operators/filter.js","webpack://nira/./node_modules/@sanity/observable/operators/map.js","webpack://nira/./node_modules/@sanity/observable/operators/reduce.js","webpack://nira/./node_modules/deep-assign/index.js","webpack://nira/./node_modules/deep-assign/node_modules/is-obj/index.js","webpack://nira/./node_modules/get-it/index.js","webpack://nira/./node_modules/get-it/lib/index.js","webpack://nira/./node_modules/get-it/lib/middleware/defaultOptionsProcessor.js","webpack://nira/./node_modules/get-it/lib/middleware/defaultOptionsValidator.js","webpack://nira/./node_modules/get-it/lib/middleware/jsonRequest.js","webpack://nira/./node_modules/get-it/lib/middleware/jsonResponse.js","webpack://nira/./node_modules/get-it/lib/middleware/observable.js","webpack://nira/./node_modules/get-it/lib/middleware/progress/browser-progress.js","webpack://nira/./node_modules/get-it/lib/middleware/progress/index.js","webpack://nira/./node_modules/get-it/lib/request/browser-request.js","webpack://nira/./node_modules/get-it/lib/request/index.js","webpack://nira/./node_modules/get-it/lib/util/global.js","webpack://nira/./node_modules/get-it/lib/util/middlewareReducer.js","webpack://nira/./node_modules/is-plain-object/index.js","webpack://nira/./node_modules/isobject/index.js","webpack://nira/./node_modules/make-error/index.js","webpack://nira/./node_modules/nano-pubsub/index.js","webpack://nira/./node_modules/parse-headers/parse-headers.js","webpack://nira/./node_modules/querystringify/index.js","webpack://nira/./node_modules/react-fast-compare/index.js","webpack://nira/./node_modules/react-side-effect/lib/index.js","webpack://nira/./node_modules/requires-port/index.js","webpack://nira/./node_modules/rxjs/internal/Observable.js","webpack://nira/./node_modules/rxjs/internal/Observer.js","webpack://nira/./node_modules/rxjs/internal/Subscriber.js","webpack://nira/./node_modules/rxjs/internal/Subscription.js","webpack://nira/./node_modules/rxjs/internal/config.js","webpack://nira/./node_modules/rxjs/internal/observable/empty.js","webpack://nira/./node_modules/rxjs/internal/operators/defaultIfEmpty.js","webpack://nira/./node_modules/rxjs/internal/operators/filter.js","webpack://nira/./node_modules/rxjs/internal/operators/map.js","webpack://nira/./node_modules/rxjs/internal/operators/reduce.js","webpack://nira/./node_modules/rxjs/internal/operators/scan.js","webpack://nira/./node_modules/rxjs/internal/operators/takeLast.js","webpack://nira/./node_modules/rxjs/internal/symbol/observable.js","webpack://nira/./node_modules/rxjs/internal/symbol/rxSubscriber.js","webpack://nira/./node_modules/rxjs/internal/util/ArgumentOutOfRangeError.js","webpack://nira/./node_modules/rxjs/internal/util/UnsubscriptionError.js","webpack://nira/./node_modules/rxjs/internal/util/canReportError.js","webpack://nira/./node_modules/rxjs/internal/util/hostReportError.js","webpack://nira/./node_modules/rxjs/internal/util/identity.js","webpack://nira/./node_modules/rxjs/internal/util/isArray.js","webpack://nira/./node_modules/rxjs/internal/util/isFunction.js","webpack://nira/./node_modules/rxjs/internal/util/isObject.js","webpack://nira/./node_modules/rxjs/internal/util/pipe.js","webpack://nira/./node_modules/rxjs/internal/util/toSubscriber.js","webpack://nira/./node_modules/same-origin/index.js","webpack://nira/./node_modules/same-origin/url-parser.js","webpack://nira/./node_modules/url-parse/index.js","webpack://nira/./node_modules/core-js/internals/an-object.js","webpack://nira/./node_modules/core-js/internals/array-includes.js","webpack://nira/./node_modules/core-js/internals/classof-raw.js","webpack://nira/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://nira/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://nira/./node_modules/core-js/internals/create-property-descriptor.js","webpack://nira/./node_modules/core-js/internals/descriptors.js","webpack://nira/./node_modules/core-js/internals/document-create-element.js","webpack://nira/./node_modules/core-js/internals/enum-bug-keys.js","webpack://nira/./node_modules/core-js/internals/export.js","webpack://nira/./node_modules/core-js/internals/fails.js","webpack://nira/./node_modules/core-js/internals/get-built-in.js","webpack://nira/./node_modules/core-js/internals/global.js","webpack://nira/./node_modules/core-js/internals/has.js","webpack://nira/./node_modules/core-js/internals/hidden-keys.js","webpack://nira/./node_modules/core-js/internals/ie8-dom-define.js","webpack://nira/./node_modules/core-js/internals/indexed-object.js","webpack://nira/./node_modules/core-js/internals/inspect-source.js","webpack://nira/./node_modules/core-js/internals/internal-state.js","webpack://nira/./node_modules/core-js/internals/is-forced.js","webpack://nira/./node_modules/core-js/internals/is-object.js","webpack://nira/./node_modules/core-js/internals/is-pure.js","webpack://nira/./node_modules/core-js/internals/native-weak-map.js","webpack://nira/./node_modules/core-js/internals/object-define-property.js","webpack://nira/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://nira/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://nira/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://nira/./node_modules/core-js/internals/object-keys-internal.js","webpack://nira/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://nira/./node_modules/core-js/internals/own-keys.js","webpack://nira/./node_modules/core-js/internals/path.js","webpack://nira/./node_modules/core-js/internals/redefine.js","webpack://nira/./node_modules/core-js/internals/require-object-coercible.js","webpack://nira/./node_modules/core-js/internals/set-global.js","webpack://nira/./node_modules/core-js/internals/shared-key.js","webpack://nira/./node_modules/core-js/internals/shared-store.js","webpack://nira/./node_modules/core-js/internals/shared.js","webpack://nira/./node_modules/core-js/internals/string-trim-forced.js","webpack://nira/./node_modules/core-js/internals/string-trim.js","webpack://nira/./node_modules/core-js/internals/to-absolute-index.js","webpack://nira/./node_modules/core-js/internals/to-indexed-object.js","webpack://nira/./node_modules/core-js/internals/to-integer.js","webpack://nira/./node_modules/core-js/internals/to-length.js","webpack://nira/./node_modules/core-js/internals/to-primitive.js","webpack://nira/./node_modules/core-js/internals/uid.js","webpack://nira/./node_modules/core-js/internals/whitespaces.js","webpack://nira/./node_modules/core-js/modules/es.string.trim-start.js","webpack://nira/./src/misc/CookieBar.tsx","webpack://nira/./src/components/layout/Layout.tsx","webpack://nira/./node_modules/react-helmet/es/Helmet.js","webpack://nira/./src/misc/seo.js","webpack://nira/./src/misc/BlockImage.tsx","webpack://nira/./src/misc/serializers.js","webpack://nira/./client-config.js","webpack://nira/./src/templates/imgBuilder.js"],"names":["self","EventSource","url","options","SyntaxError","this","URL","setOptions","evs","setTimeout","poll","prototype","CONNECTING","OPEN","CLOSED","defaultOptions","loggingEnabled","loggingPrefix","interval","bufferSizeLimit","silentTimeout","getArgs","evs_buffer_size_limit","xhrHeaders","Accept","option","defaults","hasOwnProperty","console","log","message","readyState","cleanup","cursor","cache","_xhr","XHR","resetNoActivityTimer","err","dispatchEvent","type","data","pollAgain","_pollTimer","clearInterval","_noActivityTimer","abort","close","_onxhrdata","request","isReady","hasError","buffer","getBuffer","length","substring","lastMessageIndex","newcursor","toparse","parseStream","isDone","chunk","i","j","eventType","datas","line","retry","events","normalizeToLF","split","parts","trimWhiteSpace","indexOf","replace","parseInt","isNaN","push","lastEventId","event","MessageEvent","join","window","location","origin","handlers","call","addEventListener","handler","removeEventListener","splice","_noactivityTimer","onerror","onmessage","onopen","urlWithParams","baseURL","params","encodedArgs","key","urlarg","urlize","encodeURIComponent","text","ln2","lastIndexOf","lr2","lrln2","Math","max","str","reTrim","isOldIE","isPolyfill","evs_preamble","XDomainRequest","_request","onprogress","_ready","onload","_loaded","_failed","ontimeout","reqGetArgs","defaultArgs","evs_last_event_id","open","send","useXDomainRequest","rv","responseText","XMLHttpRequest","onreadystatechange","status","headers","header","setRequestHeader","bubbles","cancelBubble","cancelable","Boolean","undefined","responseType","module","exports","objectAssign","buildMarksTree","nestLists","generateKeys","mergeSerializers","optionProps","imageOptions","isListItem","block","_type","listItem","h","properties","defaultSerializers","serializeSpan","props","rawBlocks","Array","isArray","blocks","keyedBlocks","listNestMode","serializers","reduce","opts","value","serializeNode","node","index","siblings","isInline","list","level","_key","children","map","serializeListItem","findListItemIndex","marks","isSpan","blockProps","concat","serializeBlock","renderContainerOnSingleChild","nodes","containerProps","className","container","empty","defaultMarks","sortMarksByOccurences","span","spans","markOccurences","occurences","mark","siblingIndex","sibling","sortByOccurence","sortMarks","bind","slice","sort","markA","markB","aOccurences","bOccurences","aDefaultPos","bDefaultPos","markDefs","sortedMarks","rootNode","nodeStack","forEach","marksNeeded","pos","markKey","currentNode","findLastParentNode","find","def","lines","checksum","hash","strlen","charCodeAt","item","JSON","stringify","toString","generateHelpUrl","urlBuilder","enc","materializeError","projectId","dataset","asset","Error","query","keys","Object","getQueryString","_ref","image","getSerializers","_blocksToNodes","getImageUrl","blocksToNodes","renderNode","_typeof","obj","Symbol","iterator","constructor","userSerializers","acc","isListBlock","blockMatchesList","listFromBlock","lastChild","findListMatching","matching","filterOnType","currentList","mode","arguments","tree","newList","lastListItem","newLastChild","match","warn","_match","serializerOpts","serializeOptions","useDashedStyles","RawMarkSerializer","tag","types","style","test","img","src","strong","em","code","underline","textDecoration","link","href","blockType","serializer","_props$node","markType","markFallback","hardBreak","child","serializedNode","slug","React","PropTypes","internals","_require","renderProps","createElement","SanityBlockContent","customSerializers","assign","propTypes","string","bool","object","shape","func","oneOfType","arrayOf","isRequired","defaultProps","_getSerializers","nestMarks","_slicedToArray","arr","_arrayWithHoles","_arr","_n","_d","_e","_s","_i","next","done","_iterableToArrayLimit","o","minLen","_arrayLikeToArray","n","name","from","_unsupportedIterableToArray","TypeError","_nonIterableRest","len","arr2","filter","queryString","validators","AssetsClient","client","toDocument","body","document","defineProperty","enumerable","get","optionsFromFile","file","File","filename","preserveFilename","contentType","upload","assetType","validateAssetType","meta","extract","hasDataset","clientConfig","assetEndpoint","label","title","description","creditLine","source","sourceId","id","sourceName","sourceUrl","observable","_requestObservable","method","timeout","uri","isPromiseAPI","pipe","toPromise","delete","docId","_id","ref","_id$split2","assetId","size","format","_this$client$clientCo","qs","AuthClient","getLoginProviders","logout","validate","once","defaultConfig","apiHost","useProjectHostname","gradientMode","LOCALHOSTS","createWarningPrinter","printCdnWarning","printBrowserTokenWarning","printCdnTokenWarning","initConfig","config","prevConfig","newConfig","projectBased","Promise","helpUrl","namespace","isBrowser","hostname","isLocalhost","host","isLocal","token","ignoreBrowserTokenWarning","useCdn","isDefaultApi","withCredentials","cdnUrl","hostParts","protocol","cdnHost","_defineProperty","configurable","writable","getSelection","encodeQueryString","Transaction","Patch","listen","excludeFalsey","param","defValue","getMutationQuery","returnIds","returnDocuments","visibility","isResponse","getBody","getDataUrl","operation","path","catalog","baseUri","fetch","mapResponse","filterResponse","res","result","_dataRequest","getDocument","json","documents","getDocuments","ids","docs","attr","indexed","doc","create","_create","createIfNotExists","requireDocumentId","createOrReplace","patch","selector","operations","selection","dataRequest","mutations","mutate","mut","serialize","muts","transactionId","transaction","endpoint","isMutation","strQuery","useGet","stringQuery","returnFirst","reqOptions","results","op","mutation","_ref$params","_ref$options","base","qString","Observable","polyfilledEventSource","pick","tokenWarning","printTokenWarning","isWindowEventSource","possibleOptions","includeResult","parseEvent","parse","cooerceError","evt","error","extractErrorMessage","listenOpts","_this$clientConfig","listenFor","shouldEmitReconnect","esOptions","Authorization","observer","reconnectTimer","es","getEventSource","stopped","onError","unsubscribe","clearTimeout","onChannelError","onMessage","onDisconnect","complete","deepAssign","validateObject","validateInsert","clone","merge","stack","trim","_assign","set","diffMatchPatch","unset","attrs","setIfMissing","_set","$","inc","dec","insert","at","items","_this$_assign","append","prepend","start","deleteCount","startIndex","delCount","delRange","rangeSelector","ifRevisionId","rev","ifRevisionID","toJSON","commit","reset","defaultMutateOptions","trxId","_add","documentId","validateDocumentId","patchOps","isBuilder","DatasetsClient","_modify","edit","makeError","ClientError","extractErrorProps","super","ServerError","response","statusCode","responseBody","stringifyBody","details","statusMessage","httpErrorMessage","toLowerCase","getIt","jsonRequest","jsonResponse","progress","httpError","onResponse","implementation","httpRequest","requester","maxRedirects","defaultRequester","projectHeader","overrides","useGlobalApi","ProjectsClient","getById","dataMethods","UsersClient","getRequestOptions","_require3","SanityClient","assets","datasets","projects","users","auth","observableConfig","getUrl","canUseCdn","target","prop","sel","selectionOpts","fn","returnValue","didCall","apply","VALID_ASSET_TYPES","VALID_INSERT_LOCATIONS","val","signature","valid","loc","_extends","_createForOfIteratorHelperLoose","example","parseAssetId","_ref$split","dimensionString","_dimensionString$spli","width","height","isFinite","isRef","isAsset","isAssetStub","parseSource","isUrl","urlToId","crop","hotspot","applyDefaults","left","top","bottom","right","x","y","SPEC_NAME_TO_URL_NAME_MAPPINGS","urlForImage","spec","cropLeft","round","cropTop","hotSpotVerticalRadius","hotSpotHorizontalRadius","hotSpotCenterX","hotSpotCenterY","rect","focalPoint","ignoreImageParams","fit","specToImageUrl","baseUrl","_spec$rect","bg","flip","flipHorizontal","flipVertical","mapping","specName","cropRect","imgWidth","imgHeight","desiredAspectRatio","_width","_height","_left","_top","floor","validFits","validCrops","validAutoModes","isSanityClientLike","rewriteSpecName","_step","_iterator","entry","_client$clientConfig","apiUrl","ImageUrlBuilder","parent","_proto","withOptions","newOptions","_dataset","_projectId","_bg","dpr","_dpr","maxWidth","_maxWidth","minWidth","_minWidth","maxHeight","_maxHeight","minHeight","_minHeight","blur","_blur","sharpen","_sharpen","_format","invert","_invert","orientation","_orientation","quality","_quality","forceDownload","download","saturation","_saturation","auto","pad","_pad","factory","SanityObservableMinimal","createDeprecatedMemberOp","hasWarned","lift","operator","isObj","propIsEnumerable","propertyIsEnumerable","toObject","assignKey","to","getOwnPropertySymbols","symbols","s","pubsub","middlewareReducer","processOptions","validateOptions","channelNames","middlehooks","createRequester","initMiddleware","loadedMiddleware","middleware","ware","channels","applyMiddleware","context","ongoingRequest","subscribe","ctx","reqErr","publish","use","newMiddleware","onReturn","urlParse","isReactNative","navigator","product","has","stringifyQueryString","pairs","normalizeTimeout","time","connect","socket","delay","Number","removeUndefined","toUpperCase","validUrl","isPlainObject","serializeTypes","isBuffer","tryParse","shouldDecode","force","global","onRequest","adapter","xhr","handleProgress","stage","percent","lengthComputable","loaded","total","sameOrigin","parseHeaders","win","XmlHttpRequest","callback","timers","cors","injectedResponse","cbTimer","isXdr","aborted","timedOut","onabort","delays","stopTimers","timeoutRequest","resetTimers","statusText","getAllResponseHeaders","reduceResponse","onLoad","rawBody","isNetworkError","g","hook","defaultValue","_len","args","bailEarly","isObject","isObjectObject","ctor","prot","construct","Reflect","captureStackTrace","BaseError","cname","setFunctionName","f","_","super_","subscribers","subscriber","idx","arg","headersArr","row","decode","input","decodeURIComponent","e","encode","prefix","part","parser","exec","hasElementType","Element","hasMap","Map","hasSet","Set","hasArrayBuffer","ArrayBuffer","isView","equal","a","b","it","entries","RegExp","flags","valueOf","$$typeof","ex","React__default","canUseDOM","reducePropsToState","handleStateChangeOnClient","mapStateOnServer","WrappedComponent","state","mountedInstances","emitChange","instance","SideEffect","_PureComponent","subClass","superClass","__proto__","peek","rewind","recordedState","UNSAFE_componentWillMount","componentDidUpdate","componentWillUnmount","render","PureComponent","displayName","getDisplayName","port","canReportError_1","toSubscriber_1","observable_1","pipe_1","config_1","_isScalar","_subscribe","observerOrNext","sink","toSubscriber","add","useDeprecatedSynchronousErrorHandling","syncErrorThrowable","_trySubscribe","syncErrorThrown","syncErrorValue","canReportError","promiseCtor","_this","getPromiseCtor","resolve","reject","subscription","pipeFromArray","hostReportError_1","closed","hostReportError","_extendStatics","__extends","d","setPrototypeOf","p","__","isFunction_1","Observer_1","Subscription_1","rxSubscriber_1","Subscriber","_super","destinationOrNext","isStopped","destination","SafeSubscriber","rxSubscriber","_next","_error","_complete","_unsubscribeAndRecycle","_parentOrParents","Subscription","_parentSubscriber","isFunction","_context","__tryOrSetError","__tryOrUnsub","wrappedComplete","_unsubscribe","isArray_1","isObject_1","UnsubscriptionError_1","_subscriptions","_ctorUnsubscribe","errors","_a","remove","UnsubscriptionError","flattenUnsubscriptionErrors","sub","teardown","EMPTY","tmp","subscriptions","subscriptionIndex","errs","_enable_super_gross_mode_that_will_cause_bad_things","Observable_1","scheduler","schedule","emptyScheduled","Subscriber_1","defaultIfEmpty","DefaultIfEmptyOperator","DefaultIfEmptySubscriber","isEmpty","predicate","thisArg","FilterOperator","FilterSubscriber","count","project","MapOperator","MapSubscriber","scan_1","takeLast_1","defaultIfEmpty_1","accumulator","seed","scan","takeLast","hasSeed","ScanOperator","ScanSubscriber","_seed","_tryNext","ArgumentOutOfRangeError_1","empty_1","TakeLastOperator","ArgumentOutOfRangeError","TakeLastSubscriber","ring","random","$$rxSubscriber","ArgumentOutOfRangeErrorImpl","UnsubscriptionErrorImpl","closed_1","identity","identity_1","fns","prev","nextOrObserver","uri1","uri2","ieMode","url1","url2","url1Port","url2Port","proto","regex","required","slashes","protocolre","trimLeft","rules","address","NaN","ignore","lolcation","finaldestination","Url","unescape","pathname","extractProtocol","rest","relative","extracted","instruction","instructions","charAt","last","unshift","up","username","password","pop","char","ins","String","toIndexedObject","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","O","includes","ownKeys","getOwnPropertyDescriptorModule","definePropertyModule","getOwnPropertyDescriptor","DESCRIPTORS","createPropertyDescriptor","bitmap","fails","EXISTS","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","noTargetGet","forced","sham","aFunction","variable","check","globalThis","Function","classof","store","functionToString","inspectSource","NATIVE_WEAK_MAP","objectHas","shared","sharedKey","hiddenKeys","WeakMap","wmget","wmhas","wmset","metadata","facade","STATE","enforce","getterFor","TYPE","replacement","feature","detection","normalize","POLYFILL","NATIVE","IE8_DOM_DEFINE","anObject","toPrimitive","nativeDefineProperty","P","Attributes","propertyIsEnumerableModule","nativeGetOwnPropertyDescriptor","internalObjectKeys","getOwnPropertyNames","names","nativePropertyIsEnumerable","NASHORN_BUG","1","V","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","InternalStateModule","getInternalState","enforceInternalState","TEMPLATE","unsafe","simple","uid","SHARED","IS_PURE","version","copyright","whitespaces","METHOD_NAME","requireObjectCoercible","whitespace","ltrim","rtrim","end","toInteger","min","integer","IndexedObject","ceil","argument","PREFERRED_STRING","postfix","$trimStart","FORCED","forcedStringTrimMethod","trimStart","useStaticQuery","localeCodeBody","localeCode","defaultCookieInformation","sanityStaticTextCookies","termsAndConditionsLink","buttonText","localStorage","acceptedCookies","removeP","onClick","getElementById","classList","useState","showCookieBar","setShowCookieBar","useEffect","CookieBar","clock","Component","_class","_temp","ATTRIBUTE_NAMES","TAG_NAMES","BASE","BODY","HEAD","HTML","LINK","META","NOSCRIPT","SCRIPT","STYLE","TITLE","TAG_PROPERTIES","REACT_TAG_MAP","accesskey","charset","class","contenteditable","contextmenu","itemprop","tabindex","HELMET_PROPS","HTML_TAG_MAP","SELF_CLOSING_TAGS","HELMET_ATTRIBUTE","classCallCheck","Constructor","createClass","defineProperties","protoProps","staticProps","objectWithoutProperties","possibleConstructorReturn","ReferenceError","encodeSpecialCharacters","getTitleFromPropsList","propsList","innermostTitle","getInnermostProperty","innermostTemplate","innermostDefaultTitle","getOnChangeClientState","getAttributesFromPropsList","tagType","tagAttrs","current","getBaseTagFromPropsList","primaryAttributes","reverse","innermostBaseTag","lowerCaseAttributeKey","getTagsFromPropsList","tagName","approvedSeenTags","approvedTags","instanceTags","instanceSeenTags","primaryAttributeKey","attributeKey","tagUnion","property","rafPolyfill","Date","now","currentTime","cafPolyfill","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","msg","_helmetCallback","commitTagChanges","newState","cb","baseTag","bodyAttributes","htmlAttributes","linkTags","metaTags","noscriptTags","onChangeClientState","scriptTags","styleTags","titleAttributes","updateAttributes","updateTitle","tagUpdates","updateTags","addedTags","removedTags","_tagUpdates$tagType","newTags","oldTags","flattenArray","possibleArray","attributes","elementTag","getElementsByTagName","helmetAttributeString","getAttribute","helmetAttributes","attributesToRemove","attributeKeys","attribute","setAttribute","indexToSave","removeAttribute","tags","headElement","head","querySelector","tagNodes","querySelectorAll","indexToDelete","newElement","innerHTML","styleSheet","cssText","appendChild","createTextNode","some","existingTag","isEqualNode","parentNode","removeChild","generateElementAttributesAsString","convertElementAttributestoReactProps","initProps","getMethodsForTag","toComponent","_initProps","attributeString","flattenedTitle","generateTitleAsString","_mappedTag","mappedTag","mappedAttribute","content","dangerouslySetInnerHTML","__html","generateTagsAsReactComponent","attributeHtml","tagContent","isSelfClosing","generateTagsAsString","_ref$title","noscript","script","HelmetSideEffects","defer","HelmetExport","_React$Component","HelmetWrapper","inherits","shouldComponentUpdate","nextProps","mapNestedChildrenToProps","nestedChildren","flattenArrayTypeChildren","_babelHelpers$extends","arrayTypeChildren","newChildProps","mapObjectTypeChildren","_ref2","_babelHelpers$extends2","_babelHelpers$extends3","newProps","mapArrayTypeChildrenToProps","newFlattenedProps","arrayChildName","_babelHelpers$extends4","warnOnInvalidChildren","mapChildrenToProps","_this2","_child$props","initAttributes","convertReactPropstoHtmlAttributes","_props","defaultTitle","titleTemplate","mappedState","renderStatic","lang","keywords","metaDescription","rel","sizes","alt","urlFor","BlockImage","BlockContent","sanityClient","process","builder","imageUrlBuilder"],"mappings":"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","file":"95d0e4c6d5428e4e5c144b1145f6c0d2357c0db3-2c4078dff215d919c628.js","sourcesContent":["/*\n * EventSource polyfill\n * Originally published by sc AmvTek srl (https://github.com/amvtek/EventSource) - devel@amvtek.com\n * Forked by Espen Hovlandsdal to fix a few issues + publish latest version\n */\n;\n\n(function (root, factory) {\n /* global define */\n if (typeof define === 'function' && define.amd) {\n // AMD\n define([], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS\n module.exports = factory();\n } else {\n // Browser globals (root is window)\n if (global.EventSource && !global._eventSourceImportPrefix) {\n return;\n }\n\n var evsImportName = (root._eventSourceImportPrefix || '') + 'EventSource';\n root[evsImportName] = factory();\n }\n})(typeof self === 'undefined' ? this : self, function () {\n var EventSource = function EventSource(url, options) {\n if (!url || typeof url != 'string') {\n throw new SyntaxError('Not enough arguments');\n }\n\n this.URL = url;\n this.setOptions(options);\n var evs = this;\n setTimeout(function () {\n evs.poll();\n }, 0);\n };\n\n EventSource.prototype = {\n CONNECTING: 0,\n OPEN: 1,\n CLOSED: 2,\n defaultOptions: {\n loggingEnabled: false,\n loggingPrefix: 'eventsource',\n interval: 500,\n // milliseconds\n bufferSizeLimit: 256 * 1024,\n // bytes\n silentTimeout: 300000,\n // milliseconds\n getArgs: {\n evs_buffer_size_limit: 256 * 1024\n },\n xhrHeaders: {\n Accept: 'text/event-stream',\n 'Cache-Control': 'no-cache',\n 'X-Requested-With': 'XMLHttpRequest'\n }\n },\n setOptions: function setOptions(options) {\n var defaults = this.defaultOptions;\n var option; // set all default options...\n\n for (option in defaults) {\n if (defaults.hasOwnProperty(option)) {\n this[option] = defaults[option];\n }\n } // override with what is in options\n\n\n for (option in options) {\n if (option in defaults && options.hasOwnProperty(option)) {\n this[option] = options[option];\n }\n } // if getArgs option is enabled\n // ensure evs_buffer_size_limit corresponds to bufferSizeLimit\n\n\n if (this.getArgs && this.bufferSizeLimit) {\n this.getArgs.evs_buffer_size_limit = this.bufferSizeLimit;\n } // if console is not available, force loggingEnabled to false\n // eslint-disable-next-line no-console\n\n\n if (typeof console === 'undefined' || typeof console.log === 'undefined') {\n this.loggingEnabled = false;\n }\n },\n log: function log(message) {\n if (this.loggingEnabled) {\n // eslint-disable-next-line no-console\n console.log('[' + this.loggingPrefix + ']:' + message);\n }\n },\n poll: function poll() {\n try {\n if (this.readyState == this.CLOSED) {\n return;\n }\n\n this.cleanup();\n this.readyState = this.CONNECTING;\n this.cursor = 0;\n this.cache = '';\n this._xhr = new this.XHR(this);\n this.resetNoActivityTimer();\n } catch (err) {\n // in an attempt to silence the errors\n this.log('There were errors inside the pool try-catch');\n this.dispatchEvent('error', {\n type: 'error',\n data: err.message\n });\n }\n },\n pollAgain: function pollAgain(interval) {\n // schedule poll to be called after interval milliseconds\n var evs = this;\n evs.readyState = evs.CONNECTING;\n evs.dispatchEvent('error', {\n type: 'error',\n data: 'Reconnecting '\n });\n this._pollTimer = setTimeout(function () {\n evs.poll();\n }, interval || 0);\n },\n cleanup: function cleanup() {\n this.log('evs cleaning up');\n\n if (this._pollTimer) {\n clearInterval(this._pollTimer);\n this._pollTimer = null;\n }\n\n if (this._noActivityTimer) {\n clearInterval(this._noActivityTimer);\n this._noActivityTimer = null;\n }\n\n if (this._xhr) {\n this._xhr.abort();\n\n this._xhr = null;\n }\n },\n resetNoActivityTimer: function resetNoActivityTimer() {\n if (this.silentTimeout) {\n if (this._noActivityTimer) {\n clearInterval(this._noActivityTimer);\n }\n\n var evs = this;\n this._noActivityTimer = setTimeout(function () {\n evs.log('Timeout! silentTImeout:' + evs.silentTimeout);\n evs.pollAgain();\n }, this.silentTimeout);\n }\n },\n close: function close() {\n this.readyState = this.CLOSED;\n this.log('Closing connection. readyState: ' + this.readyState);\n this.cleanup();\n },\n _onxhrdata: function _onxhrdata() {\n var request = this._xhr;\n\n if (request.isReady() && !request.hasError()) {\n // reset the timer, as we have activity\n this.resetNoActivityTimer(); // move this EventSource to OPEN state...\n\n if (this.readyState == this.CONNECTING) {\n this.readyState = this.OPEN;\n this.dispatchEvent('open', {\n type: 'open'\n });\n }\n\n var buffer = request.getBuffer();\n\n if (buffer.length > this.bufferSizeLimit) {\n this.log('buffer.length > this.bufferSizeLimit');\n this.pollAgain();\n }\n\n if (this.cursor == 0 && buffer.length > 0) {\n // skip byte order mark \\uFEFF character if it starts the stream\n if (buffer.substring(0, 1) == \"\\uFEFF\") {\n this.cursor = 1;\n }\n }\n\n var lastMessageIndex = this.lastMessageIndex(buffer);\n\n if (lastMessageIndex[0] >= this.cursor) {\n var newcursor = lastMessageIndex[1];\n var toparse = buffer.substring(this.cursor, newcursor);\n this.parseStream(toparse);\n this.cursor = newcursor;\n } // if request is finished, reopen the connection\n\n\n if (request.isDone()) {\n this.log('request.isDone(). reopening the connection');\n this.pollAgain(this.interval);\n }\n } else if (this.readyState !== this.CLOSED) {\n this.log('this.readyState !== this.CLOSED');\n this.pollAgain(this.interval); //MV: Unsure why an error was previously dispatched\n }\n },\n parseStream: function parseStream(chunk) {\n // normalize line separators (\\r\\n,\\r,\\n) to \\n\n // remove white spaces that may precede \\n\n chunk = this.cache + this.normalizeToLF(chunk);\n var events = chunk.split('\\n\\n');\n var i, j, eventType, datas, line, retry;\n\n for (i = 0; i < events.length - 1; i++) {\n eventType = 'message';\n datas = [];\n var parts = events[i].split('\\n');\n\n for (j = 0; j < parts.length; j++) {\n line = this.trimWhiteSpace(parts[j]);\n\n if (line.indexOf('event') == 0) {\n eventType = line.replace(/event:?\\s*/, '');\n } else if (line.indexOf('retry') == 0) {\n retry = parseInt(line.replace(/retry:?\\s*/, ''), 10);\n\n if (!isNaN(retry)) {\n this.interval = retry;\n }\n } else if (line.indexOf('data') == 0) {\n datas.push(line.replace(/data:?\\s*/, ''));\n } else if (line.indexOf('id:') == 0) {\n this.lastEventId = line.replace(/id:?\\s*/, '');\n } else if (line.indexOf('id') == 0) {\n // this resets the id\n this.lastEventId = null;\n }\n }\n\n if (datas.length && this.readyState != this.CLOSED) {\n // dispatch a new event\n var event = new MessageEvent(eventType, datas.join('\\n'), typeof window !== 'undefined' && typeof window.location !== 'undefined' ? window.location.origin : null, this.lastEventId);\n this.dispatchEvent(eventType, event);\n }\n }\n\n this.cache = events[events.length - 1];\n },\n dispatchEvent: function dispatchEvent(type, event) {\n var handlers = this['_' + type + 'Handlers'];\n\n if (handlers) {\n for (var i = 0; i < handlers.length; i++) {\n handlers[i].call(this, event);\n }\n }\n\n if (this['on' + type]) {\n this['on' + type].call(this, event);\n }\n },\n addEventListener: function addEventListener(type, handler) {\n if (!this['_' + type + 'Handlers']) {\n this['_' + type + 'Handlers'] = [];\n }\n\n this['_' + type + 'Handlers'].push(handler);\n },\n removeEventListener: function removeEventListener(type, handler) {\n var handlers = this['_' + type + 'Handlers'];\n\n if (!handlers) {\n return;\n }\n\n for (var i = handlers.length - 1; i >= 0; --i) {\n if (handlers[i] === handler) {\n handlers.splice(i, 1);\n break;\n }\n }\n },\n _pollTimer: null,\n _noactivityTimer: null,\n _xhr: null,\n lastEventId: null,\n cache: '',\n cursor: 0,\n onerror: null,\n onmessage: null,\n onopen: null,\n readyState: 0,\n // ===================================================================\n // helpers functions\n // those are attached to prototype to ease reuse and testing...\n urlWithParams: function urlWithParams(baseURL, params) {\n var encodedArgs = [];\n\n if (params) {\n var key, urlarg;\n var urlize = encodeURIComponent;\n\n for (key in params) {\n if (params.hasOwnProperty(key)) {\n urlarg = urlize(key) + '=' + urlize(params[key]);\n encodedArgs.push(urlarg);\n }\n }\n }\n\n if (encodedArgs.length > 0) {\n if (baseURL.indexOf('?') == -1) return baseURL + '?' + encodedArgs.join('&');\n return baseURL + '&' + encodedArgs.join('&');\n }\n\n return baseURL;\n },\n lastMessageIndex: function lastMessageIndex(text) {\n var ln2 = text.lastIndexOf('\\n\\n');\n var lr2 = text.lastIndexOf('\\r\\r');\n var lrln2 = text.lastIndexOf('\\r\\n\\r\\n');\n\n if (lrln2 > Math.max(ln2, lr2)) {\n return [lrln2, lrln2 + 4];\n }\n\n return [Math.max(ln2, lr2), Math.max(ln2, lr2) + 2];\n },\n trimWhiteSpace: function trimWhiteSpace(str) {\n // to remove whitespaces left and right of string\n var reTrim = /^(\\s|\\u00A0)+|(\\s|\\u00A0)+$/g;\n return str.replace(reTrim, '');\n },\n normalizeToLF: function normalizeToLF(str) {\n // replace \\r and \\r\\n with \\n\n return str.replace(/\\r\\n|\\r/g, '\\n');\n }\n };\n\n if (isOldIE()) {\n EventSource.isPolyfill = 'IE_8-9'; // patch EventSource defaultOptions\n\n var defaults = EventSource.prototype.defaultOptions;\n defaults.xhrHeaders = null; // no headers will be sent\n\n defaults.getArgs.evs_preamble = 2048 + 8; // EventSource will send request using Internet Explorer XDomainRequest\n\n EventSource.prototype.XHR = function (evs) {\n /* global XDomainRequest */\n var request = new XDomainRequest();\n this._request = request; // set handlers\n\n request.onprogress = function () {\n request._ready = true;\n\n evs._onxhrdata();\n };\n\n request.onload = function () {\n this._loaded = true;\n\n evs._onxhrdata();\n };\n\n request.onerror = function () {\n this._failed = true;\n evs.readyState = evs.CLOSED;\n evs.dispatchEvent('error', {\n type: 'error',\n data: 'XDomainRequest error'\n });\n };\n\n request.ontimeout = function () {\n this._failed = true;\n evs.readyState = evs.CLOSED;\n evs.dispatchEvent('error', {\n type: 'error',\n data: 'XDomainRequest timed out'\n });\n }; // XDomainRequest does not allow setting custom headers\n // If EventSource has enabled the use of GET arguments\n // we add parameters to URL so that server can adapt the stream...\n\n\n var reqGetArgs = {};\n\n if (evs.getArgs) {\n // copy evs.getArgs in reqGetArgs\n var defaultArgs = evs.getArgs;\n\n for (var key in defaultArgs) {\n if (defaultArgs.hasOwnProperty(key)) {\n reqGetArgs[key] = defaultArgs[key];\n }\n }\n\n if (evs.lastEventId) {\n reqGetArgs.evs_last_event_id = evs.lastEventId;\n }\n } // send the request\n\n\n request.open('GET', evs.urlWithParams(evs.URL, reqGetArgs));\n request.send();\n };\n\n EventSource.prototype.XHR.prototype = {\n useXDomainRequest: true,\n _request: null,\n _ready: false,\n // true when progress events are dispatched\n _loaded: false,\n // true when request has been loaded\n _failed: false,\n // true if when request is in error\n isReady: function isReady() {\n return this._request._ready;\n },\n isDone: function isDone() {\n return this._request._loaded;\n },\n hasError: function hasError() {\n return this._request._failed;\n },\n getBuffer: function getBuffer() {\n var rv = '';\n\n try {\n rv = this._request.responseText || '';\n } catch (err) {// intentional noop\n }\n\n return rv;\n },\n abort: function abort() {\n if (this._request) {\n this._request.abort();\n }\n }\n };\n } else {\n EventSource.isPolyfill = 'XHR'; // EventSource will send request using XMLHttpRequest\n\n EventSource.prototype.XHR = function (evs) {\n var request = new XMLHttpRequest();\n this._request = request;\n evs._xhr = this; // set handlers\n\n request.onreadystatechange = function () {\n if (request.readyState > 1 && evs.readyState != evs.CLOSED) {\n if (request.status == 200 || request.status >= 300 && request.status < 400) {\n evs._onxhrdata();\n } else {\n request._failed = true;\n evs.readyState = evs.CLOSED;\n evs.dispatchEvent('error', {\n type: 'error',\n data: 'The server responded with ' + request.status\n });\n evs.close();\n }\n }\n };\n\n request.onprogress = function () {// intentional noop\n };\n\n request.open('GET', evs.urlWithParams(evs.URL, evs.getArgs), true);\n var headers = evs.xhrHeaders; // maybe null\n\n for (var header in headers) {\n if (headers.hasOwnProperty(header)) {\n request.setRequestHeader(header, headers[header]);\n }\n }\n\n if (evs.lastEventId) {\n request.setRequestHeader('Last-Event-Id', evs.lastEventId);\n }\n\n request.send();\n };\n\n EventSource.prototype.XHR.prototype = {\n useXDomainRequest: false,\n _request: null,\n _failed: false,\n // true if we have had errors...\n isReady: function isReady() {\n return this._request.readyState >= 2;\n },\n isDone: function isDone() {\n return this._request.readyState == 4;\n },\n hasError: function hasError() {\n return this._failed || this._request.status >= 400;\n },\n getBuffer: function getBuffer() {\n var rv = '';\n\n try {\n rv = this._request.responseText || '';\n } catch (err) {// intentional noop\n }\n\n return rv;\n },\n abort: function abort() {\n if (this._request) {\n this._request.abort();\n }\n }\n };\n }\n\n function MessageEvent(type, data, origin, lastEventId) {\n this.bubbles = false;\n this.cancelBubble = false;\n this.cancelable = false;\n this.data = data || null;\n this.origin = origin || '';\n this.lastEventId = lastEventId || '';\n this.type = type || 'message';\n }\n\n function isOldIE() {\n //return true if we are in IE8 or IE9\n return Boolean(typeof window !== 'undefined' && window.XDomainRequest && window.XMLHttpRequest && new XMLHttpRequest().responseType === undefined);\n }\n\n return EventSource;\n});","module.exports = require('./lib/internals');","\"use strict\";\n\nvar objectAssign = require('object-assign');\n\nvar buildMarksTree = require('./buildMarksTree');\n\nvar nestLists = require('./nestLists');\n\nvar generateKeys = require('./generateKeys');\n\nvar mergeSerializers = require('./mergeSerializers'); // Properties to extract from props and pass to serializers as options\n\n\nvar optionProps = ['projectId', 'dataset', 'imageOptions'];\n\nvar isDefined = function isDefined(val) {\n return typeof val !== 'undefined';\n};\n\nvar defaults = {\n imageOptions: {}\n};\n\nfunction blocksToNodes(h, properties, defaultSerializers, serializeSpan) {\n var props = objectAssign({}, defaults, properties);\n var rawBlocks = Array.isArray(props.blocks) ? props.blocks : [props.blocks];\n var keyedBlocks = generateKeys(rawBlocks);\n var blocks = nestLists(keyedBlocks, props.listNestMode);\n var serializers = mergeSerializers(defaultSerializers, props.serializers || {});\n var options = optionProps.reduce(function (opts, key) {\n var value = props[key];\n\n if (isDefined(value)) {\n opts[key] = value;\n }\n\n return opts;\n }, {});\n\n function serializeNode(node, index, siblings, isInline) {\n if (isList(node)) {\n return serializeList(node);\n }\n\n if (isListItem(node)) {\n return serializeListItem(node, findListItemIndex(node, siblings));\n }\n\n if (isSpan(node)) {\n return serializeSpan(node, serializers, index, {\n serializeNode: serializeNode\n });\n }\n\n return serializeBlock(node, index, isInline);\n }\n\n function findListItemIndex(node, siblings) {\n var index = 0;\n\n for (var i = 0; i < siblings.length; i++) {\n if (siblings[i] === node) {\n return index;\n }\n\n if (!isListItem(siblings[i])) {\n continue;\n }\n\n index++;\n }\n\n return index;\n }\n\n function serializeBlock(block, index, isInline) {\n var tree = buildMarksTree(block);\n var children = tree.map(function (node, i, siblings) {\n return serializeNode(node, i, siblings, true);\n });\n var blockProps = {\n key: block._key || \"block-\".concat(index),\n node: block,\n isInline: isInline,\n serializers: serializers,\n options: options\n };\n return h(serializers.block, blockProps, children);\n }\n\n function serializeListItem(block, index) {\n var key = block._key;\n var tree = buildMarksTree(block);\n var children = tree.map(serializeNode);\n return h(serializers.listItem, {\n node: block,\n serializers: serializers,\n index: index,\n key: key,\n options: options\n }, children);\n }\n\n function serializeList(list) {\n var type = list.listItem;\n var level = list.level;\n var key = list._key;\n var children = list.children.map(serializeNode);\n return h(serializers.list, {\n key: key,\n level: level,\n type: type,\n options: options\n }, children);\n } // Default to false, so `undefined` will evaluate to the default here\n\n\n var renderContainerOnSingleChild = Boolean(props.renderContainerOnSingleChild);\n var nodes = blocks.map(serializeNode);\n\n if (renderContainerOnSingleChild || nodes.length > 1) {\n var containerProps = props.className ? {\n className: props.className\n } : {};\n return h(serializers.container, containerProps, nodes);\n }\n\n if (nodes[0]) {\n return nodes[0];\n }\n\n return typeof serializers.empty === 'function' ? h(serializers.empty) : serializers.empty;\n}\n\nfunction isList(block) {\n return block._type === 'list' && block.listItem;\n}\n\nfunction isListItem(block) {\n return block._type === 'block' && block.listItem;\n}\n\nfunction isSpan(block) {\n return typeof block === 'string' || block.marks || block._type === 'span';\n}\n\nmodule.exports = blocksToNodes;","\"use strict\";\n\nvar defaultMarks = ['strong', 'em', 'code', 'underline', 'strike-through'];\n\nvar buildMarksTree = function buildMarksTree(block) {\n var children = block.children,\n markDefs = block.markDefs;\n\n if (!children || !children.length) {\n return [];\n }\n\n var sortedMarks = children.map(sortMarksByOccurences);\n var rootNode = {\n _type: 'span',\n children: []\n };\n var nodeStack = [rootNode];\n children.forEach(function (span, i) {\n var marksNeeded = sortedMarks[i];\n\n if (!marksNeeded) {\n var lastNode = nodeStack[nodeStack.length - 1];\n lastNode.children.push(span);\n return;\n }\n\n var pos = 1; // Start at position one. Root is always plain and should never be removed. (?)\n\n if (nodeStack.length > 1) {\n for (pos; pos < nodeStack.length; pos++) {\n var mark = nodeStack[pos].markKey;\n var index = marksNeeded.indexOf(mark); // eslint-disable-next-line max-depth\n\n if (index === -1) {\n break;\n }\n\n marksNeeded.splice(index, 1);\n }\n } // Keep from beginning to first miss\n\n\n nodeStack = nodeStack.slice(0, pos); // Add needed nodes\n\n var currentNode = findLastParentNode(nodeStack);\n marksNeeded.forEach(function (mark) {\n var node = {\n _type: 'span',\n _key: span._key,\n children: [],\n mark: markDefs.find(function (def) {\n return def._key === mark;\n }) || mark,\n markKey: mark\n };\n currentNode.children.push(node);\n nodeStack.push(node);\n currentNode = node;\n }); // Split at newlines to make individual line chunks, but keep newline\n // characters as individual elements in the array. We use these characters\n // in the span serializer to trigger hard-break rendering\n\n if (isTextSpan(span)) {\n var lines = span.text.split('\\n');\n\n for (var line = lines.length; line-- > 1;) {\n lines.splice(line, 0, '\\n');\n }\n\n currentNode.children = currentNode.children.concat(lines);\n } else {\n currentNode.children = currentNode.children.concat(span);\n }\n });\n return rootNode.children;\n}; // We want to sort all the marks of all the spans in the following order:\n// 1. Marks that are shared amongst the most adjacent siblings\n// 2. Non-default marks (links, custom metadata)\n// 3. Built-in, plain marks (bold, emphasis, code etc)\n\n\nfunction sortMarksByOccurences(span, i, spans) {\n if (!span.marks || span.marks.length === 0) {\n return span.marks || [];\n }\n\n var markOccurences = span.marks.reduce(function (occurences, mark) {\n occurences[mark] = occurences[mark] ? occurences[mark] + 1 : 1;\n\n for (var siblingIndex = i + 1; siblingIndex < spans.length; siblingIndex++) {\n var sibling = spans[siblingIndex];\n\n if (sibling.marks && Array.isArray(sibling.marks) && sibling.marks.indexOf(mark) !== -1) {\n occurences[mark]++;\n } else {\n break;\n }\n }\n\n return occurences;\n }, {});\n var sortByOccurence = sortMarks.bind(null, markOccurences); // Slicing because sort() mutates the input\n\n return span.marks.slice().sort(sortByOccurence);\n}\n\nfunction sortMarks(occurences, markA, markB) {\n var aOccurences = occurences[markA] || 0;\n var bOccurences = occurences[markB] || 0;\n\n if (aOccurences !== bOccurences) {\n return bOccurences - aOccurences;\n }\n\n var aDefaultPos = defaultMarks.indexOf(markA);\n var bDefaultPos = defaultMarks.indexOf(markB); // Sort default marks last\n\n if (aDefaultPos !== bDefaultPos) {\n return aDefaultPos - bDefaultPos;\n } // Sort other marks simply by key\n\n\n if (markA < markB) {\n return -1;\n } else if (markA > markB) {\n return 1;\n }\n\n return 0;\n}\n\nfunction isTextSpan(node) {\n return node._type === 'span' && typeof node.text === 'string' && (Array.isArray(node.marks) || typeof node.marks === 'undefined');\n}\n\nfunction findLastParentNode(nodes) {\n for (var i = nodes.length - 1; i >= 0; i--) {\n var node = nodes[i];\n\n if (node._type === 'span' && node.children) {\n return node;\n }\n }\n\n return undefined;\n}\n\nmodule.exports = buildMarksTree;","\"use strict\";\n\nvar objectAssign = require('object-assign');\n\nmodule.exports = function (blocks) {\n return blocks.map(function (block) {\n if (block._key) {\n return block;\n }\n\n return objectAssign({\n _key: getStaticKey(block)\n }, block);\n });\n};\n\nfunction getStaticKey(item) {\n return checksum(JSON.stringify(item)).toString(36).replace(/[^A-Za-z0-9]/g, '');\n}\n/* eslint-disable no-bitwise */\n\n\nfunction checksum(str) {\n var hash = 0;\n var strlen = str.length;\n\n if (strlen === 0) {\n return hash;\n }\n\n for (var i = 0; i < strlen; i++) {\n hash = (hash << 5) - hash + str.charCodeAt(i);\n hash &= hash; // Convert to 32bit integer\n }\n\n return hash;\n}\n/* eslint-enable no-bitwise */","\"use strict\";\n\nvar generateHelpUrl = require('@sanity/generate-help-url');\n\nvar urlBuilder = require('@sanity/image-url');\n\nvar objectAssign = require('object-assign');\n\nvar enc = encodeURIComponent;\nvar materializeError = \"You must either:\\n - Pass `projectId` and `dataset` to the block renderer\\n - Materialize images to include the `url` field.\\n\\nFor more information, see \".concat(generateHelpUrl('block-content-image-materializing'));\n\nvar getQueryString = function getQueryString(options) {\n var query = options.imageOptions;\n var keys = Object.keys(query);\n\n if (!keys.length) {\n return '';\n }\n\n var params = keys.map(function (key) {\n return \"\".concat(enc(key), \"=\").concat(enc(query[key]));\n });\n return \"?\".concat(params.join('&'));\n};\n\nvar buildUrl = function buildUrl(props) {\n var node = props.node,\n options = props.options;\n var projectId = options.projectId,\n dataset = options.dataset;\n var asset = node.asset;\n\n if (!asset) {\n throw new Error('Image does not have required `asset` property');\n }\n\n if (asset.url) {\n return asset.url + getQueryString(options);\n }\n\n if (!projectId || !dataset) {\n throw new Error(materializeError);\n }\n\n var ref = asset._ref;\n\n if (!ref) {\n throw new Error('Invalid image reference in block, no `_ref` found on `asset`');\n }\n\n return urlBuilder(objectAssign({\n projectId: projectId,\n dataset: dataset\n }, options.imageOptions || {})).image(node).toString();\n};\n\nmodule.exports = buildUrl;","\"use strict\";\n\nvar getSerializers = require('./serializers');\n\nvar _blocksToNodes = require('./blocksToNodes');\n\nvar getImageUrl = require('./getImageUrl');\n\nvar mergeSerializers = require('./mergeSerializers');\n\nmodule.exports = {\n blocksToNodes: function blocksToNodes(renderNode, props, defaultSerializers, serializeSpan) {\n if (defaultSerializers) {\n return _blocksToNodes(renderNode, props, defaultSerializers, serializeSpan);\n } // Backwards-compatibility\n\n\n var serializers = getSerializers(renderNode);\n return _blocksToNodes(renderNode, props, serializers.defaultSerializers, serializers.serializeSpan);\n },\n getSerializers: getSerializers,\n getImageUrl: getImageUrl,\n mergeSerializers: mergeSerializers\n};","\"use strict\";\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _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\nvar objectAssign = require('object-assign');\n\nvar isDefined = function isDefined(val) {\n return typeof val !== 'undefined';\n}; // Recursively merge/replace default serializers with user-specified serializers\n\n\nmodule.exports = function mergeSerializers(defaultSerializers, userSerializers) {\n return Object.keys(defaultSerializers).reduce(function (acc, key) {\n var type = _typeof(defaultSerializers[key]);\n\n if (type === 'function') {\n acc[key] = isDefined(userSerializers[key]) ? userSerializers[key] : defaultSerializers[key];\n } else if (type === 'object') {\n acc[key] = objectAssign({}, defaultSerializers[key], userSerializers[key]);\n } else {\n acc[key] = typeof userSerializers[key] === 'undefined' ? defaultSerializers[key] : userSerializers[key];\n }\n\n return acc;\n }, {});\n};","\"use strict\";\n\nvar objectAssign = require('object-assign');\n/* eslint-disable max-depth, complexity */\n\n\nfunction nestLists(blocks) {\n var mode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'html';\n var tree = [];\n var currentList;\n\n for (var i = 0; i < blocks.length; i++) {\n var block = blocks[i];\n\n if (!isListBlock(block)) {\n tree.push(block);\n currentList = null;\n continue;\n } // Start of a new list?\n\n\n if (!currentList) {\n currentList = listFromBlock(block);\n tree.push(currentList);\n continue;\n } // New list item within same list?\n\n\n if (blockMatchesList(block, currentList)) {\n currentList.children.push(block);\n continue;\n } // Different list props, are we going deeper?\n\n\n if (block.level > currentList.level) {\n var newList = listFromBlock(block);\n\n if (mode === 'html') {\n // Because HTML is kinda weird, nested lists needs to be nested within list items\n // So while you would think that we could populate the parent list with a new sub-list,\n // We actually have to target the last list element (child) of the parent.\n // However, at this point we need to be very careful - simply pushing to the list of children\n // will mutate the input, and we don't want to blindly clone the entire tree.\n // Clone the last child while adding our new list as the last child of it\n var lastListItem = lastChild(currentList);\n var newLastChild = objectAssign({}, lastListItem, {\n children: lastListItem.children.concat(newList)\n }); // Swap the last child\n\n currentList.children[currentList.children.length - 1] = newLastChild;\n } else {\n currentList.children.push(newList);\n } // Set the newly created, deeper list as the current\n\n\n currentList = newList;\n continue;\n } // Different list props, are we going back up the tree?\n\n\n if (block.level < currentList.level) {\n // Current list has ended, and we need to hook up with a parent of the same level and type\n var match = findListMatching(tree[tree.length - 1], block);\n\n if (match) {\n currentList = match;\n currentList.children.push(block);\n continue;\n } // Similar parent can't be found, assume new list\n\n\n currentList = listFromBlock(block);\n tree.push(currentList);\n continue;\n } // Different list props, different list style?\n\n\n if (block.listItem !== currentList.listItem) {\n var _match = findListMatching(tree[tree.length - 1], {\n level: block.level\n });\n\n if (_match && _match.listItem === block.listItem) {\n currentList = _match;\n currentList.children.push(block);\n continue;\n } else {\n currentList = listFromBlock(block);\n tree.push(currentList);\n continue;\n }\n } // eslint-disable-next-line no-console\n\n\n console.warn('Unknown state encountered for block', block);\n tree.push(block);\n }\n\n return tree;\n}\n\nfunction isListBlock(block) {\n return Boolean(block.listItem);\n}\n\nfunction blockMatchesList(block, list) {\n return block.level === list.level && block.listItem === list.listItem;\n}\n\nfunction listFromBlock(block) {\n return {\n _type: 'list',\n _key: \"\".concat(block._key, \"-parent\"),\n level: block.level,\n listItem: block.listItem,\n children: [block]\n };\n}\n\nfunction lastChild(block) {\n return block.children && block.children[block.children.length - 1];\n}\n\nfunction findListMatching(rootNode, matching) {\n var filterOnType = typeof matching.listItem === 'string';\n\n if (rootNode._type === 'list' && rootNode.level === matching.level && filterOnType && rootNode.listItem === matching.listItem) {\n return rootNode;\n }\n\n var node = lastChild(rootNode);\n\n if (!node) {\n return false;\n }\n\n return findListMatching(node, matching);\n}\n\nmodule.exports = nestLists;","\"use strict\";\n\nvar objectAssign = require('object-assign');\n\nvar getImageUrl = require('./getImageUrl');\n\nmodule.exports = function (h, serializerOpts) {\n var serializeOptions = serializerOpts || {\n useDashedStyles: false // Low-level block serializer\n\n };\n\n function BlockSerializer(props) {\n var node = props.node,\n serializers = props.serializers,\n options = props.options,\n isInline = props.isInline,\n children = props.children;\n var blockType = node._type;\n var serializer = serializers.types[blockType];\n\n if (!serializer) {\n throw new Error(\"Unknown block type \\\"\".concat(blockType, \"\\\", please specify a serializer for it in the `serializers.types` prop\"));\n }\n\n return h(serializer, {\n node: node,\n options: options,\n isInline: isInline\n }, children);\n } // Low-level span serializer\n\n\n function SpanSerializer(props) {\n var _props$node = props.node,\n mark = _props$node.mark,\n children = _props$node.children;\n var isPlain = typeof mark === 'string';\n var markType = isPlain ? mark : mark._type;\n var serializer = props.serializers.marks[markType];\n\n if (!serializer) {\n // @todo Revert back to throwing errors?\n // eslint-disable-next-line no-console\n console.warn(\"Unknown mark type \\\"\".concat(markType, \"\\\", please specify a serializer for it in the `serializers.marks` prop\"));\n return h(props.serializers.markFallback, null, children);\n }\n\n return h(serializer, props.node, children);\n } // Low-level list serializer\n\n\n function ListSerializer(props) {\n var tag = props.type === 'bullet' ? 'ul' : 'ol';\n return h(tag, null, props.children);\n } // Low-level list item serializer\n\n\n function ListItemSerializer(props) {\n var children = !props.node.style || props.node.style === 'normal' ? // Don't wrap plain text in paragraphs inside of a list item\n props.children : // But wrap any other style in whatever the block serializer says to use\n h(props.serializers.types.block, props, props.children);\n return h('li', null, children);\n } // Renderer of an actual block of type `block`. Confusing, we know.\n\n\n function BlockTypeSerializer(props) {\n var style = props.node.style || 'normal';\n\n if (/^h\\d/.test(style)) {\n return h(style, null, props.children);\n }\n\n return style === 'blockquote' ? h('blockquote', null, props.children) : h('p', null, props.children);\n } // Serializers for things that can be directly attributed to a tag without any props\n // We use partial application to do this, passing the tag name as the first argument\n\n\n function RawMarkSerializer(tag, props) {\n return h(tag, null, props.children);\n }\n\n function UnderlineSerializer(props) {\n var style = serializeOptions.useDashedStyles ? {\n 'text-decoration': 'underline'\n } : {\n textDecoration: 'underline'\n };\n return h('span', {\n style: style\n }, props.children);\n }\n\n function StrikeThroughSerializer(props) {\n return h('del', null, props.children);\n }\n\n function LinkSerializer(props) {\n return h('a', {\n href: props.mark.href\n }, props.children);\n }\n\n function ImageSerializer(props) {\n if (!props.node.asset) {\n return null;\n }\n\n var img = h('img', {\n src: getImageUrl(props)\n });\n return props.isInline ? img : h('figure', null, img);\n } // Serializer that recursively calls itself, producing a hyperscript tree of spans\n\n\n function serializeSpan(span, serializers, index, options) {\n if (span === '\\n' && serializers.hardBreak) {\n return h(serializers.hardBreak, {\n key: \"hb-\".concat(index)\n });\n }\n\n if (typeof span === 'string') {\n return serializers.text ? h(serializers.text, {\n key: \"text-\".concat(index)\n }, span) : span;\n }\n\n var children;\n\n if (span.children) {\n children = {\n children: span.children.map(function (child, i) {\n return options.serializeNode(child, i, span.children, true);\n })\n };\n }\n\n var serializedNode = objectAssign({}, span, children);\n return h(serializers.span, {\n key: span._key || \"span-\".concat(index),\n node: serializedNode,\n serializers: serializers\n });\n }\n\n var HardBreakSerializer = function HardBreakSerializer() {\n return h('br');\n };\n\n var defaultMarkSerializers = {\n strong: RawMarkSerializer.bind(null, 'strong'),\n em: RawMarkSerializer.bind(null, 'em'),\n code: RawMarkSerializer.bind(null, 'code'),\n underline: UnderlineSerializer,\n 'strike-through': StrikeThroughSerializer,\n link: LinkSerializer\n };\n var defaultSerializers = {\n // Common overrides\n types: {\n block: BlockTypeSerializer,\n image: ImageSerializer\n },\n marks: defaultMarkSerializers,\n // Less common overrides\n list: ListSerializer,\n listItem: ListItemSerializer,\n block: BlockSerializer,\n span: SpanSerializer,\n hardBreak: HardBreakSerializer,\n // Container element\n container: 'div',\n // When we can't resolve the mark properly, use this renderer as the container\n markFallback: 'span',\n // Allow overriding text renderer, but leave undefined to just use plain strings by default\n text: undefined,\n // Empty nodes (React uses null, hyperscript with empty strings)\n empty: ''\n };\n return {\n defaultSerializers: defaultSerializers,\n serializeSpan: serializeSpan\n };\n};","var baseUrl = 'https://docs.sanity.io/help/';\n\nmodule.exports = function generateHelpUrl(slug) {\n return baseUrl + slug;\n};","'use strict';\n\nvar React = require('react');\n\nvar PropTypes = require('prop-types');\n\nvar internals = require('@sanity/block-content-to-hyperscript/internals');\n\nvar _require = require('./targets/dom'),\n serializers = _require.serializers,\n serializeSpan = _require.serializeSpan,\n renderProps = _require.renderProps;\n\nvar getImageUrl = internals.getImageUrl,\n blocksToNodes = internals.blocksToNodes,\n mergeSerializers = internals.mergeSerializers;\nvar renderNode = React.createElement;\n\nvar SanityBlockContent = function SanityBlockContent(props) {\n var customSerializers = mergeSerializers(SanityBlockContent.defaultSerializers, props.serializers);\n var blockProps = Object.assign({}, renderProps, props, {\n serializers: customSerializers,\n blocks: props.blocks || []\n });\n return blocksToNodes(renderNode, blockProps, serializers, serializeSpan);\n}; // Expose default serializers to the user\n\n\nSanityBlockContent.defaultSerializers = serializers; // Expose logic for building image URLs from an image reference/node\n\nSanityBlockContent.getImageUrl = getImageUrl;\nSanityBlockContent.propTypes = {\n className: PropTypes.string,\n renderContainerOnSingleChild: PropTypes.bool,\n // When rendering images, we need project id and dataset, unless images are materialized\n projectId: PropTypes.string,\n dataset: PropTypes.string,\n imageOptions: PropTypes.object,\n serializers: PropTypes.shape({\n // Common overrides\n types: PropTypes.object,\n marks: PropTypes.object,\n // Less common overrides\n list: PropTypes.func,\n listItem: PropTypes.func,\n // Low-level serializers\n block: PropTypes.func,\n span: PropTypes.func\n }),\n blocks: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.shape({\n _type: PropTypes.string.isRequired\n })), PropTypes.shape({\n _type: PropTypes.string.isRequired\n })]).isRequired\n};\nSanityBlockContent.defaultProps = {\n renderContainerOnSingleChild: false,\n serializers: {},\n imageOptions: {}\n};\nmodule.exports = SanityBlockContent;","'use strict';\n\nvar React = require('react');\n\nvar _require = require('@sanity/block-content-to-hyperscript/internals'),\n getSerializers = _require.getSerializers;\n\nvar renderNode = React.createElement;\n\nvar _getSerializers = getSerializers(renderNode),\n defaultSerializers = _getSerializers.defaultSerializers,\n serializeSpan = _getSerializers.serializeSpan;\n\nmodule.exports = {\n serializeSpan: serializeSpan,\n serializers: defaultSerializers,\n renderProps: {\n nestMarks: true\n }\n};","\"use strict\";\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nvar assign = require('object-assign');\n\nvar _require = require('@sanity/observable/operators/map'),\n map = _require.map;\n\nvar _require2 = require('@sanity/observable/operators/filter'),\n filter = _require2.filter;\n\nvar queryString = require('../http/queryString');\n\nvar validators = require('../validators');\n\nfunction AssetsClient(client) {\n this.client = client;\n}\n\nfunction toDocument(body) {\n // todo: rewrite to just return body.document in a while\n var document = body.document;\n Object.defineProperty(document, 'document', {\n enumerable: false,\n get: function get() {\n // eslint-disable-next-line no-console\n console.warn('The promise returned from client.asset.upload(...) now resolves with the asset document');\n return document;\n }\n });\n return document;\n}\n\nfunction optionsFromFile(opts, file) {\n if (typeof window === 'undefined' || !(file instanceof window.File)) {\n return opts;\n }\n\n return assign({\n filename: opts.preserveFilename === false ? undefined : file.name,\n contentType: file.type\n }, opts);\n}\n\nassign(AssetsClient.prototype, {\n /**\n * Upload an asset\n *\n * @param {String} assetType `image` or `file`\n * @param {File|Blob|Buffer|ReadableStream} body File to upload\n * @param {Object} opts Options for the upload\n * @param {Boolean} opts.preserveFilename Whether or not to preserve the original filename (default: true)\n * @param {String} opts.filename Filename for this file (optional)\n * @param {Number} opts.timeout Milliseconds to wait before timing the request out (default: 0)\n * @param {String} opts.contentType Mime type of the file\n * @param {Array} opts.extract Array of metadata parts to extract from image.\n * Possible values: `location`, `exif`, `image`, `palette`\n * @param {String} opts.label Label\n * @param {String} opts.title Title\n * @param {String} opts.description Description\n * @param {String} opts.creditLine The credit to person(s) and/or organization(s) required by the supplier of the image to be used when published\n * @param {Object} opts.source Source data (when the asset is from an external service)\n * @param {String} opts.source.id The (u)id of the asset within the source, i.e. 'i-f323r1E'\n * Required if source is defined\n * @param {String} opts.source.name The name of the source, i.e. 'unsplash'\n * Required if source is defined\n * @param {String} opts.source.url A url to where to find the asset, or get more info about it in the source\n * Optional\n * @return {Promise} Resolves with the created asset document\n */\n upload: function upload(assetType, body) {\n var opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n validators.validateAssetType(assetType); // If an empty array is given, explicitly set `none` to override API defaults\n\n var meta = opts.extract || undefined;\n\n if (meta && !meta.length) {\n meta = ['none'];\n }\n\n var dataset = validators.hasDataset(this.client.clientConfig);\n var assetEndpoint = assetType === 'image' ? 'images' : 'files';\n var options = optionsFromFile(opts, body);\n var label = options.label,\n title = options.title,\n description = options.description,\n creditLine = options.creditLine,\n filename = options.filename,\n source = options.source;\n var query = {\n label: label,\n title: title,\n description: description,\n filename: filename,\n meta: meta,\n creditLine: creditLine\n };\n\n if (source) {\n query.sourceId = source.id;\n query.sourceName = source.name;\n query.sourceUrl = source.url;\n }\n\n var observable = this.client._requestObservable({\n method: 'POST',\n timeout: options.timeout || 0,\n uri: \"/assets/\".concat(assetEndpoint, \"/\").concat(dataset),\n headers: options.contentType ? {\n 'Content-Type': options.contentType\n } : {},\n query: query,\n body: body\n });\n\n return this.client.isPromiseAPI() ? observable.pipe(filter(function (event) {\n return event.type === 'response';\n }), map(function (event) {\n return toDocument(event.body);\n })).toPromise() : observable;\n },\n delete: function _delete(type, id) {\n // eslint-disable-next-line no-console\n console.warn('client.assets.delete() is deprecated, please use client.delete()');\n var docId = id || '';\n\n if (!/^(image|file)-/.test(docId)) {\n docId = \"\".concat(type, \"-\").concat(docId);\n } else if (type._id) {\n // We could be passing an entire asset document instead of an ID\n docId = type._id;\n }\n\n validators.hasDataset(this.client.clientConfig);\n return this.client.delete(docId);\n },\n getImageUrl: function getImageUrl(ref, query) {\n var id = ref._ref || ref;\n\n if (typeof id !== 'string') {\n throw new Error('getImageUrl() needs either an object with a _ref, or a string with an asset document ID');\n }\n\n if (!/^image-[A-Za-z0-9_]+-\\d+x\\d+-[a-z]{1,5}$/.test(id)) {\n throw new Error(\"Unsupported asset ID \\\"\".concat(id, \"\\\". URL generation only works for auto-generated IDs.\"));\n }\n\n var _id$split = id.split('-'),\n _id$split2 = _slicedToArray(_id$split, 4),\n assetId = _id$split2[1],\n size = _id$split2[2],\n format = _id$split2[3];\n\n validators.hasDataset(this.client.clientConfig);\n var _this$client$clientCo = this.client.clientConfig,\n projectId = _this$client$clientCo.projectId,\n dataset = _this$client$clientCo.dataset;\n var qs = query ? queryString(query) : '';\n return \"https://cdn.sanity.io/images/\".concat(projectId, \"/\").concat(dataset, \"/\").concat(assetId, \"-\").concat(size, \".\").concat(format).concat(qs);\n }\n});\nmodule.exports = AssetsClient;","\"use strict\";\n\nvar assign = require('object-assign');\n\nfunction AuthClient(client) {\n this.client = client;\n}\n\nassign(AuthClient.prototype, {\n getLoginProviders: function getLoginProviders() {\n return this.client.request({\n uri: '/auth/providers'\n });\n },\n logout: function logout() {\n return this.client.request({\n uri: '/auth/logout',\n method: 'POST'\n });\n }\n});\nmodule.exports = AuthClient;","\"use strict\";\n\nvar generateHelpUrl = require('@sanity/generate-help-url');\n\nvar assign = require('object-assign');\n\nvar validate = require('./validators');\n\nvar once = require('./util/once');\n\nvar defaultCdnHost = 'apicdn.sanity.io';\nvar defaultConfig = {\n apiHost: 'https://api.sanity.io',\n useProjectHostname: true,\n gradientMode: false,\n isPromiseAPI: true\n};\nvar LOCALHOSTS = ['localhost', '127.0.0.1', '0.0.0.0'];\n\nvar isLocal = function isLocal(host) {\n return LOCALHOSTS.indexOf(host) !== -1;\n}; // eslint-disable-next-line no-console\n\n\nvar createWarningPrinter = function createWarningPrinter(message) {\n return once(function () {\n return console.warn(message.join(' '));\n });\n};\n\nvar printCdnWarning = createWarningPrinter(['You are not using the Sanity CDN. That means your data is always fresh, but the CDN is faster and', \"cheaper. Think about it! For more info, see \".concat(generateHelpUrl('js-client-cdn-configuration'), \".\"), 'To hide this warning, please set the `useCdn` option to either `true` or `false` when creating', 'the client.']);\nvar printBrowserTokenWarning = createWarningPrinter(['You have configured Sanity client to use a token in the browser. This may cause unintentional security issues.', \"See \".concat(generateHelpUrl('js-client-browser-token'), \" for more information and how to hide this warning.\")]);\nvar printCdnTokenWarning = createWarningPrinter(['You have set `useCdn` to `true` while also specifying a token. This is usually not what you', 'want. The CDN cannot be used with an authorization token, since private data cannot be cached.', \"See \".concat(generateHelpUrl('js-client-usecdn-token'), \" for more information.\")]);\nexports.defaultConfig = defaultConfig;\n\nexports.initConfig = function (config, prevConfig) {\n var newConfig = assign({}, defaultConfig, prevConfig, config);\n var gradientMode = newConfig.gradientMode;\n var projectBased = !gradientMode && newConfig.useProjectHostname;\n\n if (typeof Promise === 'undefined') {\n var helpUrl = generateHelpUrl('js-client-promise-polyfill');\n throw new Error(\"No native Promise-implementation found, polyfill needed - see \".concat(helpUrl));\n }\n\n if (gradientMode && !newConfig.namespace) {\n throw new Error('Configuration must contain `namespace` when running in gradient mode');\n }\n\n if (projectBased && !newConfig.projectId) {\n throw new Error('Configuration must contain `projectId`');\n }\n\n var isBrowser = typeof window !== 'undefined' && window.location && window.location.hostname;\n var isLocalhost = isBrowser && isLocal(window.location.hostname);\n\n if (isBrowser && isLocalhost && newConfig.token && newConfig.ignoreBrowserTokenWarning !== true) {\n printBrowserTokenWarning();\n } else if ((!isBrowser || isLocalhost) && newConfig.useCdn && newConfig.token) {\n printCdnTokenWarning();\n } else if (typeof newConfig.useCdn === 'undefined') {\n printCdnWarning();\n }\n\n if (projectBased) {\n validate.projectId(newConfig.projectId);\n }\n\n if (!gradientMode && newConfig.dataset) {\n validate.dataset(newConfig.dataset, newConfig.gradientMode);\n }\n\n newConfig.isDefaultApi = newConfig.apiHost === defaultConfig.apiHost;\n newConfig.useCdn = Boolean(newConfig.useCdn) && !newConfig.token && !newConfig.withCredentials;\n\n if (newConfig.gradientMode) {\n newConfig.url = newConfig.apiHost;\n newConfig.cdnUrl = newConfig.apiHost;\n } else {\n var hostParts = newConfig.apiHost.split('://', 2);\n var protocol = hostParts[0];\n var host = hostParts[1];\n var cdnHost = newConfig.isDefaultApi ? defaultCdnHost : host;\n\n if (newConfig.useProjectHostname) {\n newConfig.url = \"\".concat(protocol, \"://\").concat(newConfig.projectId, \".\").concat(host, \"/v1\");\n newConfig.cdnUrl = \"\".concat(protocol, \"://\").concat(newConfig.projectId, \".\").concat(cdnHost, \"/v1\");\n } else {\n newConfig.url = \"\".concat(newConfig.apiHost, \"/v1\");\n newConfig.cdnUrl = newConfig.url;\n }\n }\n\n return newConfig;\n};","\"use strict\";\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nvar assign = require('object-assign');\n\nvar _require = require('@sanity/observable/operators/filter'),\n filter = _require.filter;\n\nvar _require2 = require('@sanity/observable/operators/map'),\n map = _require2.map;\n\nvar validators = require('../validators');\n\nvar getSelection = require('../util/getSelection');\n\nvar encodeQueryString = require('./encodeQueryString');\n\nvar Transaction = require('./transaction');\n\nvar Patch = require('./patch');\n\nvar listen = require('./listen');\n\nvar excludeFalsey = function excludeFalsey(param, defValue) {\n var value = typeof param === 'undefined' ? defValue : param;\n return param === false ? undefined : value;\n};\n\nvar getMutationQuery = function getMutationQuery() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return {\n returnIds: true,\n returnDocuments: excludeFalsey(options.returnDocuments, true),\n visibility: options.visibility || 'sync'\n };\n};\n\nvar isResponse = function isResponse(event) {\n return event.type === 'response';\n};\n\nvar getBody = function getBody(event) {\n return event.body;\n};\n\nvar indexBy = function indexBy(docs, attr) {\n return docs.reduce(function (indexed, doc) {\n indexed[attr(doc)] = doc;\n return indexed;\n }, Object.create(null));\n};\n\nvar toPromise = function toPromise(observable) {\n return observable.toPromise();\n};\n\nvar getQuerySizeLimit = 11264;\nmodule.exports = {\n listen: listen,\n getDataUrl: function getDataUrl(operation, path) {\n var config = this.clientConfig;\n var catalog = config.gradientMode ? config.namespace : validators.hasDataset(config);\n var baseUri = \"/\".concat(operation, \"/\").concat(catalog);\n var uri = path ? \"\".concat(baseUri, \"/\").concat(path) : baseUri;\n return (this.clientConfig.gradientMode ? uri : \"/data\".concat(uri)).replace(/\\/($|\\?)/, '$1');\n },\n fetch: function fetch(query, params) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var mapResponse = options.filterResponse === false ? function (res) {\n return res;\n } : function (res) {\n return res.result;\n };\n\n var observable = this._dataRequest('query', {\n query: query,\n params: params\n }, options).pipe(map(mapResponse));\n\n return this.isPromiseAPI() ? toPromise(observable) : observable;\n },\n getDocument: function getDocument(id) {\n var options = {\n uri: this.getDataUrl('doc', id),\n json: true\n };\n\n var observable = this._requestObservable(options).pipe(filter(isResponse), map(function (event) {\n return event.body.documents && event.body.documents[0];\n }));\n\n return this.isPromiseAPI() ? toPromise(observable) : observable;\n },\n getDocuments: function getDocuments(ids) {\n var options = {\n uri: this.getDataUrl('doc', ids.join(',')),\n json: true\n };\n\n var observable = this._requestObservable(options).pipe(filter(isResponse), map(function (event) {\n var indexed = indexBy(event.body.documents || [], function (doc) {\n return doc._id;\n });\n return ids.map(function (id) {\n return indexed[id] || null;\n });\n }));\n\n return this.isPromiseAPI() ? toPromise(observable) : observable;\n },\n create: function create(doc, options) {\n return this._create(doc, 'create', options);\n },\n createIfNotExists: function createIfNotExists(doc, options) {\n validators.requireDocumentId('createIfNotExists', doc);\n return this._create(doc, 'createIfNotExists', options);\n },\n createOrReplace: function createOrReplace(doc, options) {\n validators.requireDocumentId('createOrReplace', doc);\n return this._create(doc, 'createOrReplace', options);\n },\n patch: function patch(selector, operations) {\n return new Patch(selector, operations, this);\n },\n delete: function _delete(selection, options) {\n return this.dataRequest('mutate', {\n mutations: [{\n delete: getSelection(selection)\n }]\n }, options);\n },\n mutate: function mutate(mutations, options) {\n var mut = mutations instanceof Patch || mutations instanceof Transaction ? mutations.serialize() : mutations;\n var muts = Array.isArray(mut) ? mut : [mut];\n var transactionId = options && options.transactionId;\n return this.dataRequest('mutate', {\n mutations: muts,\n transactionId: transactionId\n }, options);\n },\n transaction: function transaction(operations) {\n return new Transaction(operations, this);\n },\n dataRequest: function dataRequest(endpoint, body) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var request = this._dataRequest(endpoint, body, options);\n\n return this.isPromiseAPI() ? toPromise(request) : request;\n },\n _dataRequest: function _dataRequest(endpoint, body) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var isMutation = endpoint === 'mutate'; // Check if the query string is within a configured threshold,\n // in which case we can use GET. Otherwise, use POST.\n\n var strQuery = !isMutation && encodeQueryString(body);\n var useGet = !isMutation && strQuery.length < getQuerySizeLimit;\n var stringQuery = useGet ? strQuery : '';\n var returnFirst = options.returnFirst;\n var timeout = options.timeout,\n token = options.token;\n var uri = this.getDataUrl(endpoint, stringQuery);\n var reqOptions = {\n method: useGet ? 'GET' : 'POST',\n uri: uri,\n json: true,\n body: useGet ? undefined : body,\n query: isMutation && getMutationQuery(options),\n timeout: timeout,\n token: token\n };\n return this._requestObservable(reqOptions).pipe(filter(isResponse), map(getBody), map(function (res) {\n if (!isMutation) {\n return res;\n } // Should we return documents?\n\n\n var results = res.results || [];\n\n if (options.returnDocuments) {\n return returnFirst ? results[0] && results[0].document : results.map(function (mut) {\n return mut.document;\n });\n } // Return a reduced subset\n\n\n var key = returnFirst ? 'documentId' : 'documentIds';\n var ids = returnFirst ? results[0] && results[0].id : results.map(function (mut) {\n return mut.id;\n });\n return _defineProperty({\n transactionId: res.transactionId,\n results: results\n }, key, ids);\n }));\n },\n _create: function _create(doc, op) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var mutation = _defineProperty({}, op, doc);\n\n var opts = assign({\n returnFirst: true,\n returnDocuments: true\n }, options);\n return this.dataRequest('mutate', {\n mutations: [mutation]\n }, opts);\n }\n};","\"use strict\";\n\nvar enc = encodeURIComponent;\n\nmodule.exports = function (_ref) {\n var query = _ref.query,\n _ref$params = _ref.params,\n params = _ref$params === void 0 ? {} : _ref$params,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options;\n var base = \"?query=\".concat(enc(query));\n var qString = Object.keys(params).reduce(function (qs, param) {\n return \"\".concat(qs, \"&\").concat(enc(\"$\".concat(param)), \"=\").concat(enc(JSON.stringify(params[param])));\n }, base);\n return Object.keys(options).reduce(function (qs, option) {\n // Only include the option if it is truthy\n return options[option] ? \"\".concat(qs, \"&\").concat(enc(option), \"=\").concat(enc(options[option])) : qs;\n }, qString);\n};","\"use strict\";\n\nvar assign = require('object-assign');\n\nvar Observable = require('@sanity/observable/minimal');\n\nvar polyfilledEventSource = require('@sanity/eventsource');\n\nvar pick = require('../util/pick');\n\nvar defaults = require('../util/defaults');\n\nvar encodeQueryString = require('./encodeQueryString');\n\nvar generateHelpUrl = require('@sanity/generate-help-url');\n\nvar once = require('../util/once');\n\nvar tokenWarning = ['Using token with listeners is not supported in browsers. ', \"For more info, see \".concat(generateHelpUrl('js-client-listener-tokens-browser'), \".\")]; // eslint-disable-next-line no-console\n\nvar printTokenWarning = once(function () {\n return console.warn(tokenWarning.join(' '));\n});\nvar isWindowEventSource = Boolean(typeof window !== 'undefined' && window.EventSource);\nvar EventSource = isWindowEventSource ? window.EventSource // Native browser EventSource\n: polyfilledEventSource; // Node.js, IE etc\n\nvar possibleOptions = ['includePreviousRevision', 'includeResult', 'visibility', 'effectFormat'];\nvar defaultOptions = {\n includeResult: true\n};\n\nmodule.exports = function listen(query, params) {\n var opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var options = defaults(opts, defaultOptions);\n var listenOpts = pick(options, possibleOptions);\n var qs = encodeQueryString({\n query: query,\n params: params,\n options: listenOpts\n });\n var _this$clientConfig = this.clientConfig,\n url = _this$clientConfig.url,\n token = _this$clientConfig.token,\n withCredentials = _this$clientConfig.withCredentials;\n var uri = \"\".concat(url).concat(this.getDataUrl('listen', qs));\n var listenFor = options.events ? options.events : ['mutation'];\n var shouldEmitReconnect = listenFor.indexOf('reconnect') !== -1;\n\n if (token && isWindowEventSource) {\n printTokenWarning();\n }\n\n var esOptions = {};\n\n if (token || withCredentials) {\n esOptions.withCredentials = true;\n }\n\n if (token) {\n esOptions.headers = {\n Authorization: \"Bearer \".concat(token)\n };\n }\n\n return new Observable(function (observer) {\n var es = getEventSource();\n var reconnectTimer;\n var stopped = false;\n\n function onError() {\n if (stopped) {\n return;\n }\n\n emitReconnect(); // Allow event handlers of `emitReconnect` to cancel/close the reconnect attempt\n\n if (stopped) {\n return;\n } // Unless we've explicitly stopped the ES (in which case `stopped` should be true),\n // we should never be in a disconnected state. By default, EventSource will reconnect\n // automatically, in which case it sets readyState to `CONNECTING`, but in some cases\n // (like when a laptop lid is closed), it closes the connection. In these cases we need\n // to explicitly reconnect.\n\n\n if (es.readyState === EventSource.CLOSED) {\n unsubscribe();\n clearTimeout(reconnectTimer);\n reconnectTimer = setTimeout(open, 100);\n }\n }\n\n function onChannelError(err) {\n observer.error(cooerceError(err));\n }\n\n function onMessage(evt) {\n var event = parseEvent(evt);\n return event instanceof Error ? observer.error(event) : observer.next(event);\n }\n\n function onDisconnect(evt) {\n stopped = true;\n unsubscribe();\n observer.complete();\n }\n\n function unsubscribe() {\n es.removeEventListener('error', onError, false);\n es.removeEventListener('channelError', onChannelError, false);\n es.removeEventListener('disconnect', onDisconnect, false);\n listenFor.forEach(function (type) {\n return es.removeEventListener(type, onMessage, false);\n });\n es.close();\n }\n\n function emitReconnect() {\n if (shouldEmitReconnect) {\n observer.next({\n type: 'reconnect'\n });\n }\n }\n\n function getEventSource() {\n var evs = new EventSource(uri, esOptions);\n evs.addEventListener('error', onError, false);\n evs.addEventListener('channelError', onChannelError, false);\n evs.addEventListener('disconnect', onDisconnect, false);\n listenFor.forEach(function (type) {\n return evs.addEventListener(type, onMessage, false);\n });\n return evs;\n }\n\n function open() {\n es = getEventSource();\n }\n\n function stop() {\n stopped = true;\n unsubscribe();\n }\n\n return stop;\n });\n};\n\nfunction parseEvent(event) {\n try {\n var data = event.data && JSON.parse(event.data) || {};\n return assign({\n type: event.type\n }, data);\n } catch (err) {\n return err;\n }\n}\n\nfunction cooerceError(err) {\n if (err instanceof Error) {\n return err;\n }\n\n var evt = parseEvent(err);\n return evt instanceof Error ? evt : new Error(extractErrorMessage(evt));\n}\n\nfunction extractErrorMessage(err) {\n if (!err.error) {\n return err.message || 'Unknown listener error';\n }\n\n if (err.error.description) {\n return err.error.description;\n }\n\n return typeof err.error === 'string' ? err.error : JSON.stringify(err.error, null, 2);\n}","\"use strict\";\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nvar deepAssign = require('deep-assign');\n\nvar assign = require('object-assign');\n\nvar getSelection = require('../util/getSelection');\n\nvar validate = require('../validators');\n\nvar validateObject = validate.validateObject;\nvar validateInsert = validate.validateInsert;\n\nfunction Patch(selection) {\n var operations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var client = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n this.selection = selection;\n this.operations = assign({}, operations);\n this.client = client;\n}\n\nassign(Patch.prototype, {\n clone: function clone() {\n return new Patch(this.selection, assign({}, this.operations), this.client);\n },\n merge: function merge(props) {\n validateObject('merge', props);\n var stack = new Error().stack.toString().split('\\n').filter(function (str) {\n return str.trim();\n }).slice(2);\n console.warn(\"The \\\"merge\\\" patch has been deprecated and will be removed in the future\\n\".concat(stack.join('\\n')));\n return this._assign('merge', deepAssign(this.operations.merge || {}, props));\n },\n set: function set(props) {\n return this._assign('set', props);\n },\n diffMatchPatch: function diffMatchPatch(props) {\n validateObject('diffMatchPatch', props);\n return this._assign('diffMatchPatch', props);\n },\n unset: function unset(attrs) {\n if (!Array.isArray(attrs)) {\n throw new Error('unset(attrs) takes an array of attributes to unset, non-array given');\n }\n\n this.operations = assign({}, this.operations, {\n unset: attrs\n });\n return this;\n },\n setIfMissing: function setIfMissing(props) {\n return this._assign('setIfMissing', props);\n },\n replace: function replace(props) {\n validateObject('replace', props);\n return this._set('set', {\n $: props\n }); // eslint-disable-line id-length\n },\n inc: function inc(props) {\n return this._assign('inc', props);\n },\n dec: function dec(props) {\n return this._assign('dec', props);\n },\n insert: function insert(at, selector, items) {\n var _this$_assign;\n\n validateInsert(at, selector, items);\n return this._assign('insert', (_this$_assign = {}, _defineProperty(_this$_assign, at, selector), _defineProperty(_this$_assign, \"items\", items), _this$_assign));\n },\n append: function append(selector, items) {\n return this.insert('after', \"\".concat(selector, \"[-1]\"), items);\n },\n prepend: function prepend(selector, items) {\n return this.insert('before', \"\".concat(selector, \"[0]\"), items);\n },\n splice: function splice(selector, start, deleteCount, items) {\n // Negative indexes doesn't mean the same in Sanity as they do in JS;\n // -1 means \"actually at the end of the array\", which allows inserting\n // at the end of the array without knowing its length. We therefore have\n // to substract negative indexes by one to match JS. If you want Sanity-\n // behaviour, just use `insert('replace', selector, items)` directly\n var delAll = typeof deleteCount === 'undefined' || deleteCount === -1;\n var startIndex = start < 0 ? start - 1 : start;\n var delCount = delAll ? -1 : Math.max(0, start + deleteCount);\n var delRange = startIndex < 0 && delCount >= 0 ? '' : delCount;\n var rangeSelector = \"\".concat(selector, \"[\").concat(startIndex, \":\").concat(delRange, \"]\");\n return this.insert('replace', rangeSelector, items || []);\n },\n ifRevisionId: function ifRevisionId(rev) {\n this.operations.ifRevisionID = rev;\n return this;\n },\n serialize: function serialize() {\n return assign(getSelection(this.selection), this.operations);\n },\n toJSON: function toJSON() {\n return this.serialize();\n },\n commit: function commit() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (!this.client) {\n throw new Error('No `client` passed to patch, either provide one or pass the ' + 'patch to a clients `mutate()` method');\n }\n\n var returnFirst = typeof this.selection === 'string';\n var opts = assign({\n returnFirst: returnFirst,\n returnDocuments: true\n }, options);\n return this.client.mutate({\n patch: this.serialize()\n }, opts);\n },\n reset: function reset() {\n this.operations = {};\n return this;\n },\n _set: function _set(op, props) {\n return this._assign(op, props, false);\n },\n _assign: function _assign(op, props) {\n var merge = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n validateObject(op, props);\n this.operations = assign({}, this.operations, _defineProperty({}, op, assign({}, merge && this.operations[op] || {}, props)));\n return this;\n }\n});\nmodule.exports = Patch;","\"use strict\";\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nvar assign = require('object-assign');\n\nvar validators = require('../validators');\n\nvar Patch = require('./patch');\n\nvar defaultMutateOptions = {\n returnDocuments: false\n};\n\nfunction Transaction() {\n var operations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var client = arguments.length > 1 ? arguments[1] : undefined;\n var transactionId = arguments.length > 2 ? arguments[2] : undefined;\n this.trxId = transactionId;\n this.operations = operations;\n this.client = client;\n}\n\nassign(Transaction.prototype, {\n clone: function clone() {\n return new Transaction(this.operations.slice(0), this.client, this.trxId);\n },\n create: function create(doc) {\n validators.validateObject('create', doc);\n return this._add({\n create: doc\n });\n },\n createIfNotExists: function createIfNotExists(doc) {\n var op = 'createIfNotExists';\n validators.validateObject(op, doc);\n validators.requireDocumentId(op, doc);\n return this._add(_defineProperty({}, op, doc));\n },\n createOrReplace: function createOrReplace(doc) {\n var op = 'createOrReplace';\n validators.validateObject(op, doc);\n validators.requireDocumentId(op, doc);\n return this._add(_defineProperty({}, op, doc));\n },\n delete: function _delete(documentId) {\n validators.validateDocumentId('delete', documentId);\n return this._add({\n delete: {\n id: documentId\n }\n });\n },\n patch: function patch(documentId, patchOps) {\n var isBuilder = typeof patchOps === 'function';\n var isPatch = documentId instanceof Patch; // transaction.patch(client.patch('documentId').inc({visits: 1}))\n\n if (isPatch) {\n return this._add({\n patch: documentId.serialize()\n });\n } // patch => patch.inc({visits: 1}).set({foo: 'bar'})\n\n\n if (isBuilder) {\n var patch = patchOps(new Patch(documentId, {}, this.client));\n\n if (!(patch instanceof Patch)) {\n throw new Error('function passed to `patch()` must return the patch');\n }\n\n return this._add({\n patch: patch.serialize()\n });\n }\n\n return this._add({\n patch: assign({\n id: documentId\n }, patchOps)\n });\n },\n transactionId: function transactionId(id) {\n if (!id) {\n return this.trxId;\n }\n\n this.trxId = id;\n return this;\n },\n serialize: function serialize() {\n return this.operations.slice();\n },\n toJSON: function toJSON() {\n return this.serialize();\n },\n commit: function commit(options) {\n if (!this.client) {\n throw new Error('No `client` passed to transaction, either provide one or pass the ' + 'transaction to a clients `mutate()` method');\n }\n\n return this.client.mutate(this.serialize(), assign({\n transactionId: this.trxId\n }, defaultMutateOptions, options || {}));\n },\n reset: function reset() {\n this.operations = [];\n return this;\n },\n _add: function _add(mut) {\n this.operations.push(mut);\n return this;\n }\n});\nmodule.exports = Transaction;","\"use strict\";\n\nvar assign = require('object-assign');\n\nvar validate = require('../validators');\n\nfunction DatasetsClient(client) {\n this.request = client.request.bind(client);\n}\n\nassign(DatasetsClient.prototype, {\n create: function create(name, options) {\n return this._modify('PUT', name, options);\n },\n edit: function edit(name, options) {\n return this._modify('PATCH', name, options);\n },\n delete: function _delete(name) {\n return this._modify('DELETE', name);\n },\n list: function list() {\n return this.request({\n uri: '/datasets'\n });\n },\n _modify: function _modify(method, name, body) {\n validate.dataset(name);\n return this.request({\n method: method,\n uri: \"/datasets/\".concat(name),\n body: body\n });\n }\n});\nmodule.exports = DatasetsClient;","\"use strict\";\n\nmodule.exports = [];","\"use strict\";\n\nvar makeError = require('make-error');\n\nvar assign = require('object-assign');\n\nfunction ClientError(res) {\n var props = extractErrorProps(res);\n ClientError.super.call(this, props.message);\n assign(this, props);\n}\n\nfunction ServerError(res) {\n var props = extractErrorProps(res);\n ServerError.super.call(this, props.message);\n assign(this, props);\n}\n\nfunction extractErrorProps(res) {\n var body = res.body;\n var props = {\n response: res,\n statusCode: res.statusCode,\n responseBody: stringifyBody(body, res)\n }; // API/Boom style errors ({statusCode, error, message})\n\n if (body.error && body.message) {\n props.message = \"\".concat(body.error, \" - \").concat(body.message);\n return props;\n } // Query/database errors ({error: {description, other, arb, props}})\n\n\n if (body.error && body.error.description) {\n props.message = body.error.description;\n props.details = body.error;\n return props;\n } // Other, more arbitrary errors\n\n\n props.message = body.error || body.message || httpErrorMessage(res);\n return props;\n}\n\nfunction httpErrorMessage(res) {\n var statusMessage = res.statusMessage ? \" \".concat(res.statusMessage) : '';\n return \"\".concat(res.method, \"-request to \").concat(res.url, \" resulted in HTTP \").concat(res.statusCode).concat(statusMessage);\n}\n\nfunction stringifyBody(body, res) {\n var contentType = (res.headers['content-type'] || '').toLowerCase();\n var isJson = contentType.indexOf('application/json') !== -1;\n return isJson ? JSON.stringify(body, null, 2) : body;\n}\n\nmakeError(ClientError);\nmakeError(ServerError);\nexports.ClientError = ClientError;\nexports.ServerError = ServerError;","\"use strict\";\n\nmodule.exports = function (params) {\n var qs = [];\n\n for (var key in params) {\n if (params.hasOwnProperty(key)) {\n qs.push(\"\".concat(encodeURIComponent(key), \"=\").concat(encodeURIComponent(params[key])));\n }\n }\n\n return qs.length > 0 ? \"?\".concat(qs.join('&')) : '';\n};","\"use strict\";\n/* eslint-disable no-empty-function, no-process-env */\n\nvar getIt = require('get-it');\n\nvar assign = require('object-assign');\n\nvar observable = require('get-it/lib/middleware/observable');\n\nvar jsonRequest = require('get-it/lib/middleware/jsonRequest');\n\nvar jsonResponse = require('get-it/lib/middleware/jsonResponse');\n\nvar progress = require('get-it/lib/middleware/progress');\n\nvar Observable = require('@sanity/observable/minimal');\n\nvar _require = require('./errors'),\n ClientError = _require.ClientError,\n ServerError = _require.ServerError;\n\nvar httpError = {\n onResponse: function onResponse(res) {\n if (res.statusCode >= 500) {\n throw new ServerError(res);\n } else if (res.statusCode >= 400) {\n throw new ClientError(res);\n }\n\n return res;\n }\n}; // Environment-specific middleware.\n\nvar envSpecific = require('./nodeMiddleware');\n\nvar middleware = envSpecific.concat([jsonRequest(), jsonResponse(), progress(), httpError, observable({\n implementation: Observable\n})]);\nvar request = getIt(middleware);\n\nfunction httpRequest(options) {\n var requester = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : request;\n return requester(assign({\n maxRedirects: 0\n }, options));\n}\n\nhttpRequest.defaultRequester = request;\nhttpRequest.ClientError = ClientError;\nhttpRequest.ServerError = ServerError;\nmodule.exports = httpRequest;","\"use strict\";\n\nvar assign = require('object-assign');\n\nvar projectHeader = 'X-Sanity-Project-ID';\n\nmodule.exports = function (config) {\n var overrides = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var headers = {};\n var token = overrides.token || config.token;\n\n if (token) {\n headers.Authorization = \"Bearer \".concat(token);\n }\n\n if (!overrides.useGlobalApi && !config.useProjectHostname && config.projectId) {\n headers[projectHeader] = config.projectId;\n }\n\n var withCredentials = Boolean(typeof overrides.withCredentials === 'undefined' ? config.token || config.withCredentials : overrides.withCredentials);\n var timeout = typeof overrides.timeout === 'undefined' ? config.timeout : overrides.timeout;\n return assign({}, overrides, {\n headers: assign({}, headers, overrides.headers || {}),\n timeout: typeof timeout === 'undefined' ? 5 * 60 * 1000 : timeout,\n json: true,\n withCredentials: withCredentials\n });\n};","\"use strict\";\n\nvar assign = require('object-assign');\n\nfunction ProjectsClient(client) {\n this.client = client;\n}\n\nassign(ProjectsClient.prototype, {\n list: function list() {\n return this.client.request({\n uri: '/projects'\n });\n },\n getById: function getById(id) {\n return this.client.request({\n uri: \"/projects/\".concat(id)\n });\n }\n});\nmodule.exports = ProjectsClient;","\"use strict\";\n\nvar assign = require('object-assign');\n\nvar _require = require('@sanity/observable/operators/filter'),\n filter = _require.filter;\n\nvar _require2 = require('@sanity/observable/operators/map'),\n map = _require2.map;\n\nvar Patch = require('./data/patch');\n\nvar Transaction = require('./data/transaction');\n\nvar dataMethods = require('./data/dataMethods');\n\nvar DatasetsClient = require('./datasets/datasetsClient');\n\nvar ProjectsClient = require('./projects/projectsClient');\n\nvar AssetsClient = require('./assets/assetsClient');\n\nvar UsersClient = require('./users/usersClient');\n\nvar AuthClient = require('./auth/authClient');\n\nvar httpRequest = require('./http/request');\n\nvar getRequestOptions = require('./http/requestOptions');\n\nvar _require3 = require('./config'),\n defaultConfig = _require3.defaultConfig,\n initConfig = _require3.initConfig;\n\nvar toPromise = function toPromise(observable) {\n return observable.toPromise();\n};\n\nfunction SanityClient() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultConfig;\n\n if (!(this instanceof SanityClient)) {\n return new SanityClient(config);\n }\n\n this.config(config);\n this.assets = new AssetsClient(this);\n this.datasets = new DatasetsClient(this);\n this.projects = new ProjectsClient(this);\n this.users = new UsersClient(this);\n this.auth = new AuthClient(this);\n\n if (this.clientConfig.isPromiseAPI) {\n var observableConfig = assign({}, this.clientConfig, {\n isPromiseAPI: false\n });\n this.observable = new SanityClient(observableConfig);\n }\n}\n\nassign(SanityClient.prototype, dataMethods);\nassign(SanityClient.prototype, {\n clone: function clone() {\n return new SanityClient(this.config());\n },\n config: function config(newConfig) {\n if (typeof newConfig === 'undefined') {\n return assign({}, this.clientConfig);\n }\n\n if (this.observable) {\n var observableConfig = assign({}, newConfig, {\n isPromiseAPI: false\n });\n this.observable.config(observableConfig);\n }\n\n this.clientConfig = initConfig(newConfig, this.clientConfig || {});\n return this;\n },\n getUrl: function getUrl(uri) {\n var canUseCdn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var base = canUseCdn ? this.clientConfig.cdnUrl : this.clientConfig.url;\n return \"\".concat(base, \"/\").concat(uri.replace(/^\\//, ''));\n },\n isPromiseAPI: function isPromiseAPI() {\n return this.clientConfig.isPromiseAPI;\n },\n _requestObservable: function _requestObservable(options) {\n var uri = options.url || options.uri;\n var canUseCdn = this.clientConfig.useCdn && ['GET', 'HEAD'].indexOf(options.method || 'GET') >= 0 && uri.indexOf('/data/') === 0;\n var reqOptions = getRequestOptions(this.clientConfig, assign({}, options, {\n url: this.getUrl(uri, canUseCdn)\n }));\n return httpRequest(reqOptions, this.clientConfig.requester);\n },\n request: function request(options) {\n var observable = this._requestObservable(options).pipe(filter(function (event) {\n return event.type === 'response';\n }), map(function (event) {\n return event.body;\n }));\n\n return this.isPromiseAPI() ? toPromise(observable) : observable;\n }\n});\nSanityClient.Patch = Patch;\nSanityClient.Transaction = Transaction;\nSanityClient.ClientError = httpRequest.ClientError;\nSanityClient.ServerError = httpRequest.ServerError;\nSanityClient.requester = httpRequest.defaultRequester;\nmodule.exports = SanityClient;","\"use strict\";\n\nvar assign = require('object-assign');\n\nfunction UsersClient(client) {\n this.client = client;\n}\n\nassign(UsersClient.prototype, {\n getById: function getById(id) {\n return this.client.request({\n uri: \"/users/\".concat(id)\n });\n }\n});\nmodule.exports = UsersClient;","\"use strict\";\n\nmodule.exports = function (obj, defaults) {\n return Object.keys(defaults).concat(Object.keys(obj)).reduce(function (target, prop) {\n target[prop] = typeof obj[prop] === 'undefined' ? defaults[prop] : obj[prop];\n return target;\n }, {});\n};","\"use strict\";\n\nmodule.exports = function getSelection(sel) {\n if (typeof sel === 'string' || Array.isArray(sel)) {\n return {\n id: sel\n };\n }\n\n if (sel && sel.query) {\n return {\n query: sel.query\n };\n }\n\n var selectionOpts = ['* Document ID ()', '* Array of document IDs', '* Object containing `query`'].join('\\n');\n throw new Error(\"Unknown selection - must be one of:\\n\\n\".concat(selectionOpts));\n};","\"use strict\";\n\nmodule.exports = function (fn) {\n var didCall = false;\n var returnValue;\n return function () {\n if (didCall) {\n return returnValue;\n }\n\n returnValue = fn.apply(void 0, arguments);\n didCall = true;\n return returnValue;\n };\n};","\"use strict\";\n\nmodule.exports = function (obj, props) {\n return props.reduce(function (selection, prop) {\n if (typeof obj[prop] === 'undefined') {\n return selection;\n }\n\n selection[prop] = obj[prop];\n return selection;\n }, {});\n};","\"use strict\";\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _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\nvar VALID_ASSET_TYPES = ['image', 'file'];\nvar VALID_INSERT_LOCATIONS = ['before', 'after', 'replace'];\n\nexports.dataset = function (name) {\n if (!/^(~[a-z0-9]{1}[-\\w]{0,25}|[a-z0-9]{1}[-\\w]{0,19})$/.test(name)) {\n throw new Error('Datasets can only contain lowercase characters, numbers, underscores and dashes, and start with tilde, and be maximum 20 characters');\n }\n};\n\nexports.projectId = function (id) {\n if (!/^[-a-z0-9]+$/i.test(id)) {\n throw new Error('`projectId` can only contain only a-z, 0-9 and dashes');\n }\n};\n\nexports.validateAssetType = function (type) {\n if (VALID_ASSET_TYPES.indexOf(type) === -1) {\n throw new Error(\"Invalid asset type: \".concat(type, \". Must be one of \").concat(VALID_ASSET_TYPES.join(', ')));\n }\n};\n\nexports.validateObject = function (op, val) {\n if (val === null || _typeof(val) !== 'object' || Array.isArray(val)) {\n throw new Error(\"\".concat(op, \"() takes an object of properties\"));\n }\n};\n\nexports.requireDocumentId = function (op, doc) {\n if (!doc._id) {\n throw new Error(\"\".concat(op, \"() requires that the document contains an ID (\\\"_id\\\" property)\"));\n }\n\n exports.validateDocumentId(op, doc._id);\n};\n\nexports.validateDocumentId = function (op, id) {\n if (typeof id !== 'string' || !/^[a-z0-9_.-]+$/i.test(id)) {\n throw new Error(\"\".concat(op, \"(): \\\"\").concat(id, \"\\\" is not a valid document ID\"));\n }\n};\n\nexports.validateInsert = function (at, selector, items) {\n var signature = 'insert(at, selector, items)';\n\n if (VALID_INSERT_LOCATIONS.indexOf(at) === -1) {\n var valid = VALID_INSERT_LOCATIONS.map(function (loc) {\n return \"\\\"\".concat(loc, \"\\\"\");\n }).join(', ');\n throw new Error(\"\".concat(signature, \" takes an \\\"at\\\"-argument which is one of: \").concat(valid));\n }\n\n if (typeof selector !== 'string') {\n throw new Error(\"\".concat(signature, \" takes a \\\"selector\\\"-argument which must be a string\"));\n }\n\n if (!Array.isArray(items)) {\n throw new Error(\"\".concat(signature, \" takes an \\\"items\\\"-argument which must be an array\"));\n }\n};\n\nexports.hasDataset = function (config) {\n if (!config.gradientMode && !config.dataset) {\n throw new Error('`dataset` must be provided to perform queries');\n }\n\n return config.dataset || '';\n};","/* eslint-disable no-var */\nvar evs = require('@rexxars/eventsource-polyfill');\n\nmodule.exports = window.EventSource || evs.EventSource;","var baseUrl = 'https://docs.sanity.io/help/';\n\nmodule.exports = function generateHelpUrl(slug) {\n return baseUrl + slug;\n};","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : (global = global || self, global.SanityImageUrlBuilder = factory());\n})(this, function () {\n function _extends() {\n _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\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n\n function _createForOfIteratorHelperLoose(o) {\n var i = 0;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (o = _unsupportedIterableToArray(o))) return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n i = o[Symbol.iterator]();\n return i.next.bind(i);\n }\n\n var example = 'image-Tb9Ew8CXIwaY6R1kjMvI0uRR-2000x3000-jpg';\n\n function parseAssetId(ref) {\n var _ref$split = ref.split('-'),\n id = _ref$split[1],\n dimensionString = _ref$split[2],\n format = _ref$split[3];\n\n if (!id || !dimensionString || !format) {\n throw new Error(\"Malformed asset _ref '\" + ref + \"'. Expected an id like \\\"\" + example + \"\\\".\");\n }\n\n var _dimensionString$spli = dimensionString.split('x'),\n imgWidthStr = _dimensionString$spli[0],\n imgHeightStr = _dimensionString$spli[1];\n\n var width = +imgWidthStr;\n var height = +imgHeightStr;\n var isValidAssetId = isFinite(width) && isFinite(height);\n\n if (!isValidAssetId) {\n throw new Error(\"Malformed asset _ref '\" + ref + \"'. Expected an id like \\\"\" + example + \"\\\".\");\n }\n\n return {\n id: id,\n width: width,\n height: height,\n format: format\n };\n }\n\n var isRef = function isRef(src) {\n var source = src;\n return source ? typeof source._ref === 'string' : false;\n };\n\n var isAsset = function isAsset(src) {\n var source = src;\n return source ? typeof source._id === 'string' : false;\n };\n\n var isAssetStub = function isAssetStub(src) {\n var source = src;\n return source && source.asset ? typeof source.asset.url === 'string' : false;\n };\n\n function parseSource(source) {\n if (!source) {\n return null;\n }\n\n var image;\n\n if (typeof source === 'string' && isUrl(source)) {\n image = {\n asset: {\n _ref: urlToId(source)\n }\n };\n } else if (typeof source === 'string') {\n image = {\n asset: {\n _ref: source\n }\n };\n } else if (isRef(source)) {\n image = {\n asset: source\n };\n } else if (isAsset(source)) {\n image = {\n asset: {\n _ref: source._id || ''\n }\n };\n } else if (isAssetStub(source)) {\n image = {\n asset: {\n _ref: urlToId(source.asset.url)\n }\n };\n } else if (typeof source.asset === 'object') {\n image = source;\n } else {\n return null;\n }\n\n var img = source;\n\n if (img.crop) {\n image.crop = img.crop;\n }\n\n if (img.hotspot) {\n image.hotspot = img.hotspot;\n }\n\n return applyDefaults(image);\n }\n\n function isUrl(url) {\n return /^https?:\\/\\//.test(\"\" + url);\n }\n\n function urlToId(url) {\n var parts = url.split('/').slice(-1);\n return (\"image-\" + parts[0]).replace(/\\.([a-z]+)$/, '-$1');\n }\n\n function applyDefaults(image) {\n if (image.crop && image.hotspot) {\n return image;\n }\n\n var result = _extends({}, image);\n\n if (!result.crop) {\n result.crop = {\n left: 0,\n top: 0,\n bottom: 0,\n right: 0\n };\n }\n\n if (!result.hotspot) {\n result.hotspot = {\n x: 0.5,\n y: 0.5,\n height: 1.0,\n width: 1.0\n };\n }\n\n return result;\n }\n\n var SPEC_NAME_TO_URL_NAME_MAPPINGS = [['width', 'w'], ['height', 'h'], ['format', 'fm'], ['download', 'dl'], ['blur', 'blur'], ['sharpen', 'sharp'], ['invert', 'invert'], ['orientation', 'or'], ['minHeight', 'min-h'], ['maxHeight', 'max-h'], ['minWidth', 'min-w'], ['maxWidth', 'max-w'], ['quality', 'q'], ['fit', 'fit'], ['crop', 'crop'], ['saturation', 'sat'], ['auto', 'auto'], ['dpr', 'dpr'], ['pad', 'pad']];\n\n function urlForImage(options) {\n var spec = _extends({}, options || {});\n\n var source = spec.source;\n delete spec.source;\n var image = parseSource(source);\n\n if (!image) {\n return null;\n }\n\n var id = image.asset._ref || image.asset._id || '';\n var asset = parseAssetId(id);\n var cropLeft = Math.round(image.crop.left * asset.width);\n var cropTop = Math.round(image.crop.top * asset.height);\n var crop = {\n left: cropLeft,\n top: cropTop,\n width: Math.round(asset.width - image.crop.right * asset.width - cropLeft),\n height: Math.round(asset.height - image.crop.bottom * asset.height - cropTop)\n };\n var hotSpotVerticalRadius = image.hotspot.height * asset.height / 2;\n var hotSpotHorizontalRadius = image.hotspot.width * asset.width / 2;\n var hotSpotCenterX = image.hotspot.x * asset.width;\n var hotSpotCenterY = image.hotspot.y * asset.height;\n var hotspot = {\n left: hotSpotCenterX - hotSpotHorizontalRadius,\n top: hotSpotCenterY - hotSpotVerticalRadius,\n right: hotSpotCenterX + hotSpotHorizontalRadius,\n bottom: hotSpotCenterY + hotSpotVerticalRadius\n };\n\n if (!(spec.rect || spec.focalPoint || spec.ignoreImageParams || spec.crop)) {\n spec = _extends(_extends({}, spec), fit({\n crop: crop,\n hotspot: hotspot\n }, spec));\n }\n\n return specToImageUrl(_extends(_extends({}, spec), {}, {\n asset: asset\n }));\n }\n\n function specToImageUrl(spec) {\n var cdnUrl = spec.baseUrl || 'https://cdn.sanity.io';\n var filename = spec.asset.id + \"-\" + spec.asset.width + \"x\" + spec.asset.height + \".\" + spec.asset.format;\n var baseUrl = cdnUrl + \"/images/\" + spec.projectId + \"/\" + spec.dataset + \"/\" + filename;\n var params = [];\n\n if (spec.rect) {\n var _spec$rect = spec.rect,\n left = _spec$rect.left,\n top = _spec$rect.top,\n width = _spec$rect.width,\n height = _spec$rect.height;\n var isEffectiveCrop = left !== 0 || top !== 0 || height !== spec.asset.height || width !== spec.asset.width;\n\n if (isEffectiveCrop) {\n params.push(\"rect=\" + left + \",\" + top + \",\" + width + \",\" + height);\n }\n }\n\n if (spec.bg) {\n params.push(\"bg=\" + spec.bg);\n }\n\n if (spec.focalPoint) {\n params.push(\"fp-x=\" + spec.focalPoint.x);\n params.push(\"fp-y=\" + spec.focalPoint.y);\n }\n\n var flip = [spec.flipHorizontal && 'h', spec.flipVertical && 'v'].filter(Boolean).join('');\n\n if (flip) {\n params.push(\"flip=\" + flip);\n }\n\n SPEC_NAME_TO_URL_NAME_MAPPINGS.forEach(function (mapping) {\n var specName = mapping[0],\n param = mapping[1];\n\n if (typeof spec[specName] !== 'undefined') {\n params.push(param + \"=\" + encodeURIComponent(spec[specName]));\n } else if (typeof spec[param] !== 'undefined') {\n params.push(param + \"=\" + encodeURIComponent(spec[param]));\n }\n });\n\n if (params.length === 0) {\n return baseUrl;\n }\n\n return baseUrl + \"?\" + params.join('&');\n }\n\n function fit(source, spec) {\n var cropRect;\n var imgWidth = spec.width;\n var imgHeight = spec.height;\n\n if (!(imgWidth && imgHeight)) {\n return {\n width: imgWidth,\n height: imgHeight,\n rect: source.crop\n };\n }\n\n var crop = source.crop;\n var hotspot = source.hotspot;\n var desiredAspectRatio = imgWidth / imgHeight;\n var cropAspectRatio = crop.width / crop.height;\n\n if (cropAspectRatio > desiredAspectRatio) {\n var height = crop.height;\n var width = height * desiredAspectRatio;\n var top = crop.top;\n var hotspotXCenter = (hotspot.right - hotspot.left) / 2 + hotspot.left;\n var left = hotspotXCenter - width / 2;\n\n if (left < crop.left) {\n left = crop.left;\n } else if (left + width > crop.left + crop.width) {\n left = crop.left + crop.width - width;\n }\n\n cropRect = {\n left: Math.round(left),\n top: Math.round(top),\n width: Math.round(width),\n height: Math.round(height)\n };\n } else {\n var _width = crop.width;\n\n var _height = _width / desiredAspectRatio;\n\n var _left = crop.left;\n var hotspotYCenter = (hotspot.bottom - hotspot.top) / 2 + hotspot.top;\n\n var _top = hotspotYCenter - _height / 2;\n\n if (_top < crop.top) {\n _top = crop.top;\n } else if (_top + _height > crop.top + crop.height) {\n _top = crop.top + crop.height - _height;\n }\n\n cropRect = {\n left: Math.max(0, Math.floor(_left)),\n top: Math.max(0, Math.floor(_top)),\n width: Math.round(_width),\n height: Math.round(_height)\n };\n }\n\n return {\n width: imgWidth,\n height: imgHeight,\n rect: cropRect\n };\n }\n\n var validFits = ['clip', 'crop', 'fill', 'fillmax', 'max', 'scale', 'min'];\n var validCrops = ['top', 'bottom', 'left', 'right', 'center', 'focalpoint', 'entropy'];\n var validAutoModes = ['format'];\n\n function isSanityClientLike(client) {\n return client ? typeof client.clientConfig === 'object' : false;\n }\n\n function rewriteSpecName(key) {\n var specs = SPEC_NAME_TO_URL_NAME_MAPPINGS;\n\n for (var _iterator = _createForOfIteratorHelperLoose(specs), _step; !(_step = _iterator()).done;) {\n var entry = _step.value;\n var specName = entry[0],\n param = entry[1];\n\n if (key === specName || key === param) {\n return specName;\n }\n }\n\n return key;\n }\n\n function urlBuilder(options) {\n var client = options;\n\n if (isSanityClientLike(client)) {\n var _client$clientConfig = client.clientConfig,\n apiUrl = _client$clientConfig.apiHost,\n projectId = _client$clientConfig.projectId,\n dataset = _client$clientConfig.dataset;\n var apiHost = apiUrl || 'https://api.sanity.io';\n return new ImageUrlBuilder(null, {\n baseUrl: apiHost.replace(/^https:\\/\\/api\\./, 'https://cdn.'),\n projectId: projectId,\n dataset: dataset\n });\n }\n\n return new ImageUrlBuilder(null, options);\n }\n\n var ImageUrlBuilder = /*#__PURE__*/function () {\n function ImageUrlBuilder(parent, options) {\n this.options = parent ? _extends(_extends({}, parent.options || {}), options || {}) : _extends({}, options || {});\n }\n\n var _proto = ImageUrlBuilder.prototype;\n\n _proto.withOptions = function withOptions(options) {\n var baseUrl = options.baseUrl || this.options.baseUrl;\n var newOptions = {\n baseUrl: baseUrl\n };\n\n for (var key in options) {\n if (options.hasOwnProperty(key)) {\n var specKey = rewriteSpecName(key);\n newOptions[specKey] = options[key];\n }\n }\n\n return new ImageUrlBuilder(this, _extends({\n baseUrl: baseUrl\n }, newOptions));\n };\n\n _proto.image = function image(source) {\n return this.withOptions({\n source: source\n });\n };\n\n _proto.dataset = function dataset(_dataset) {\n return this.withOptions({\n dataset: _dataset\n });\n };\n\n _proto.projectId = function projectId(_projectId) {\n return this.withOptions({\n projectId: _projectId\n });\n };\n\n _proto.bg = function bg(_bg) {\n return this.withOptions({\n bg: _bg\n });\n };\n\n _proto.dpr = function dpr(_dpr) {\n return this.withOptions({\n dpr: _dpr\n });\n };\n\n _proto.width = function width(_width) {\n return this.withOptions({\n width: _width\n });\n };\n\n _proto.height = function height(_height) {\n return this.withOptions({\n height: _height\n });\n };\n\n _proto.focalPoint = function focalPoint(x, y) {\n return this.withOptions({\n focalPoint: {\n x: x,\n y: y\n }\n });\n };\n\n _proto.maxWidth = function maxWidth(_maxWidth) {\n return this.withOptions({\n maxWidth: _maxWidth\n });\n };\n\n _proto.minWidth = function minWidth(_minWidth) {\n return this.withOptions({\n minWidth: _minWidth\n });\n };\n\n _proto.maxHeight = function maxHeight(_maxHeight) {\n return this.withOptions({\n maxHeight: _maxHeight\n });\n };\n\n _proto.minHeight = function minHeight(_minHeight) {\n return this.withOptions({\n minHeight: _minHeight\n });\n };\n\n _proto.size = function size(width, height) {\n return this.withOptions({\n width: width,\n height: height\n });\n };\n\n _proto.blur = function blur(_blur) {\n return this.withOptions({\n blur: _blur\n });\n };\n\n _proto.sharpen = function sharpen(_sharpen) {\n return this.withOptions({\n sharpen: _sharpen\n });\n };\n\n _proto.rect = function rect(left, top, width, height) {\n return this.withOptions({\n rect: {\n left: left,\n top: top,\n width: width,\n height: height\n }\n });\n };\n\n _proto.format = function format(_format) {\n return this.withOptions({\n format: _format\n });\n };\n\n _proto.invert = function invert(_invert) {\n return this.withOptions({\n invert: _invert\n });\n };\n\n _proto.orientation = function orientation(_orientation) {\n return this.withOptions({\n orientation: _orientation\n });\n };\n\n _proto.quality = function quality(_quality) {\n return this.withOptions({\n quality: _quality\n });\n };\n\n _proto.forceDownload = function forceDownload(download) {\n return this.withOptions({\n download: download\n });\n };\n\n _proto.flipHorizontal = function flipHorizontal() {\n return this.withOptions({\n flipHorizontal: true\n });\n };\n\n _proto.flipVertical = function flipVertical() {\n return this.withOptions({\n flipVertical: true\n });\n };\n\n _proto.ignoreImageParams = function ignoreImageParams() {\n return this.withOptions({\n ignoreImageParams: true\n });\n };\n\n _proto.fit = function fit(value) {\n if (validFits.indexOf(value) === -1) {\n throw new Error(\"Invalid fit mode \\\"\" + value + \"\\\"\");\n }\n\n return this.withOptions({\n fit: value\n });\n };\n\n _proto.crop = function crop(value) {\n if (validCrops.indexOf(value) === -1) {\n throw new Error(\"Invalid crop mode \\\"\" + value + \"\\\"\");\n }\n\n return this.withOptions({\n crop: value\n });\n };\n\n _proto.saturation = function saturation(_saturation) {\n return this.withOptions({\n saturation: _saturation\n });\n };\n\n _proto.auto = function auto(value) {\n if (validAutoModes.indexOf(value) === -1) {\n throw new Error(\"Invalid auto mode \\\"\" + value + \"\\\"\");\n }\n\n return this.withOptions({\n auto: value\n });\n };\n\n _proto.pad = function pad(_pad) {\n return this.withOptions({\n pad: _pad\n });\n };\n\n _proto.url = function url() {\n return urlForImage(this.options);\n };\n\n _proto.toString = function toString() {\n return this.url();\n };\n\n return ImageUrlBuilder;\n }();\n\n return urlBuilder;\n});","\"use strict\";\n\nvar _require = require('rxjs/internal/Observable'),\n Observable = _require.Observable;\n\nvar assign = require('object-assign');\n\nvar _require2 = require('../operators/map'),\n map = _require2.map;\n\nvar _require3 = require('../operators/filter'),\n filter = _require3.filter;\n\nvar _require4 = require('../operators/reduce'),\n reduce = _require4.reduce;\n/*\n A minimal rxjs based observable that align as closely as possible with the current es-observable spec,\n without the static factory methods\n */\n\n\nfunction SanityObservableMinimal() {\n Observable.apply(this, arguments); // eslint-disable-line prefer-rest-params\n}\n\nSanityObservableMinimal.prototype = Object.create(assign(Object.create(null), Observable.prototype));\nObject.defineProperty(SanityObservableMinimal.prototype, 'constructor', {\n value: SanityObservableMinimal,\n enumerable: false,\n writable: true,\n configurable: true\n});\n\nSanityObservableMinimal.prototype.lift = function lift(operator) {\n var observable = new SanityObservableMinimal();\n observable.source = this;\n observable.operator = operator;\n return observable;\n};\n\nfunction createDeprecatedMemberOp(name, op) {\n var hasWarned = false;\n return function deprecatedOperator() {\n if (!hasWarned) {\n hasWarned = true;\n console.warn(new Error(\"Calling observable.\".concat(name, \"(...) is deprecated. Please use observable.pipe(\").concat(name, \"(...)) instead\")));\n }\n\n return this.pipe(op.apply(this, arguments));\n };\n}\n\nSanityObservableMinimal.prototype.map = createDeprecatedMemberOp('map', map);\nSanityObservableMinimal.prototype.filter = createDeprecatedMemberOp('filter', filter);\nSanityObservableMinimal.prototype.reduce = createDeprecatedMemberOp('filter', reduce);\nmodule.exports = SanityObservableMinimal;","module.exports = require('./lib/SanityObservableMinimal');","exports.filter = require('rxjs/internal/operators/filter').filter;","exports.map = require('rxjs/internal/operators/map').map;","exports.reduce = require('rxjs/internal/operators/reduce').reduce;","'use strict';\n\nvar isObj = require('is-obj');\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n if (val === null || val === undefined) {\n throw new TypeError('Sources cannot be null or undefined');\n }\n\n return Object(val);\n}\n\nfunction assignKey(to, from, key) {\n var val = from[key];\n\n if (val === undefined || val === null) {\n return;\n }\n\n if (hasOwnProperty.call(to, key)) {\n if (to[key] === undefined || to[key] === null) {\n throw new TypeError('Cannot convert undefined or null to object (' + key + ')');\n }\n }\n\n if (!hasOwnProperty.call(to, key) || !isObj(val)) {\n to[key] = val;\n } else {\n to[key] = assign(Object(to[key]), from[key]);\n }\n}\n\nfunction assign(to, from) {\n if (to === from) {\n return to;\n }\n\n from = Object(from);\n\n for (var key in from) {\n if (hasOwnProperty.call(from, key)) {\n assignKey(to, from, key);\n }\n }\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(from);\n\n for (var i = 0; i < symbols.length; i++) {\n if (propIsEnumerable.call(from, symbols[i])) {\n assignKey(to, from, symbols[i]);\n }\n }\n }\n\n return to;\n}\n\nmodule.exports = function deepAssign(target) {\n target = toObject(target);\n\n for (var s = 1; s < arguments.length; s++) {\n assign(target, arguments[s]);\n }\n\n return target;\n};","'use strict';\n\nmodule.exports = function (x) {\n var type = typeof x;\n return x !== null && (type === 'object' || type === 'function');\n};","module.exports = require('./lib-node');","'use strict';\n\nvar pubsub = require('nano-pubsub');\n\nvar middlewareReducer = require('./util/middlewareReducer');\n\nvar processOptions = require('./middleware/defaultOptionsProcessor');\n\nvar validateOptions = require('./middleware/defaultOptionsValidator');\n\nvar httpRequest = require('./request'); // node-request in node, browser-request in browsers\n\n\nvar channelNames = ['request', 'response', 'progress', 'error', 'abort'];\nvar middlehooks = ['processOptions', 'validateOptions', 'interceptRequest', 'finalizeOptions', 'onRequest', 'onResponse', 'onError', 'onReturn', 'onHeaders'];\n\nmodule.exports = function createRequester() {\n var initMiddleware = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var loadedMiddleware = [];\n var middleware = middlehooks.reduce(function (ware, name) {\n ware[name] = ware[name] || [];\n return ware;\n }, {\n processOptions: [processOptions],\n validateOptions: [validateOptions]\n });\n\n function request(opts) {\n var channels = channelNames.reduce(function (target, name) {\n target[name] = pubsub();\n return target;\n }, {}); // Prepare a middleware reducer that can be reused throughout the lifecycle\n\n var applyMiddleware = middlewareReducer(middleware); // Parse the passed options\n\n var options = applyMiddleware('processOptions', opts); // Validate the options\n\n applyMiddleware('validateOptions', options); // Build a context object we can pass to child handlers\n\n var context = {\n options: options,\n channels: channels,\n applyMiddleware: applyMiddleware // We need to hold a reference to the current, ongoing request,\n // in order to allow cancellation. In the case of the retry middleware,\n // a new request might be triggered\n\n };\n var ongoingRequest = null;\n var unsubscribe = channels.request.subscribe(function (ctx) {\n // Let request adapters (node/browser) perform the actual request\n ongoingRequest = httpRequest(ctx, function (err, res) {\n return onResponse(err, res, ctx);\n });\n }); // If we abort the request, prevent further requests from happening,\n // and be sure to cancel any ongoing request (obviously)\n\n channels.abort.subscribe(function () {\n unsubscribe();\n\n if (ongoingRequest) {\n ongoingRequest.abort();\n }\n }); // See if any middleware wants to modify the return value - for instance\n // the promise or observable middlewares\n\n var returnValue = applyMiddleware('onReturn', channels, context); // If return value has been modified by a middleware, we expect the middleware\n // to publish on the 'request' channel. If it hasn't been modified, we want to\n // trigger it right away\n\n if (returnValue === channels) {\n channels.request.publish(context);\n }\n\n return returnValue;\n\n function onResponse(reqErr, res, ctx) {\n var error = reqErr;\n var response = res; // We're processing non-errors first, in case a middleware converts the\n // response into an error (for instance, status >= 400 == HttpError)\n\n if (!error) {\n try {\n response = applyMiddleware('onResponse', res, ctx);\n } catch (err) {\n response = null;\n error = err;\n }\n } // Apply error middleware - if middleware return the same (or a different) error,\n // publish as an error event. If we *don't* return an error, assume it has been handled\n\n\n error = error && applyMiddleware('onError', error, ctx); // Figure out if we should publish on error/response channels\n\n if (error) {\n channels.error.publish(error);\n } else if (response) {\n channels.response.publish(response);\n }\n }\n }\n\n request.use = function use(newMiddleware) {\n if (!newMiddleware) {\n throw new Error('Tried to add middleware that resolved to falsey value');\n }\n\n if (typeof newMiddleware === 'function') {\n throw new Error('Tried to add middleware that was a function. It probably expects you to pass options to it.');\n }\n\n if (newMiddleware.onReturn && middleware.onReturn.length > 0) {\n throw new Error('Tried to add new middleware with `onReturn` handler, but another handler has already been registered for this event');\n }\n\n middlehooks.forEach(function (key) {\n if (newMiddleware[key]) {\n middleware[key].push(newMiddleware[key]);\n }\n });\n loadedMiddleware.push(newMiddleware);\n return request;\n };\n\n request.clone = function clone() {\n return createRequester(loadedMiddleware);\n };\n\n initMiddleware.forEach(request.use);\n return request;\n};","'use strict';\n\nvar objectAssign = require('object-assign');\n\nvar urlParse = require('url-parse');\n\nvar isReactNative = typeof navigator === 'undefined' ? false : navigator.product === 'ReactNative';\nvar has = Object.prototype.hasOwnProperty;\nvar defaultOptions = {\n timeout: isReactNative ? 60000 : 120000\n};\n\nmodule.exports = function (opts) {\n var options = typeof opts === 'string' ? objectAssign({\n url: opts\n }, defaultOptions) : objectAssign({}, defaultOptions, opts); // Parse URL into parts\n\n var url = urlParse(options.url, {}, // Don't use current browser location\n true // Parse query strings\n ); // Normalize timeouts\n\n options.timeout = normalizeTimeout(options.timeout); // Shallow-merge (override) existing query params\n\n if (options.query) {\n url.query = objectAssign({}, url.query, removeUndefined(options.query));\n } // Implicit POST if we have not specified a method but have a body\n\n\n options.method = options.body && !options.method ? 'POST' : (options.method || 'GET').toUpperCase(); // Stringify URL\n\n options.url = url.toString(stringifyQueryString);\n return options;\n};\n\nfunction stringifyQueryString(obj) {\n var pairs = [];\n\n for (var key in obj) {\n if (has.call(obj, key)) {\n push(key, obj[key]);\n }\n }\n\n return pairs.length ? pairs.join('&') : '';\n\n function push(key, val) {\n if (Array.isArray(val)) {\n val.forEach(function (item) {\n return push(key, item);\n });\n } else {\n pairs.push([key, val].map(encodeURIComponent).join('='));\n }\n }\n}\n\nfunction normalizeTimeout(time) {\n if (time === false || time === 0) {\n return false;\n }\n\n if (time.connect || time.socket) {\n return time;\n }\n\n var delay = Number(time);\n\n if (isNaN(delay)) {\n return normalizeTimeout(defaultOptions.timeout);\n }\n\n return {\n connect: delay,\n socket: delay\n };\n}\n\nfunction removeUndefined(obj) {\n var target = {};\n\n for (var key in obj) {\n if (obj[key] !== undefined) {\n target[key] = obj[key];\n }\n }\n\n return target;\n}","\"use strict\";\n\nvar validUrl = /^https?:\\/\\//i;\n\nmodule.exports = function (options) {\n if (!validUrl.test(options.url)) {\n throw new Error(\"\\\"\" + options.url + \"\\\" is not a valid URL\");\n }\n};","'use strict';\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar objectAssign = require('object-assign');\n\nvar isPlainObject = require('is-plain-object');\n\nvar serializeTypes = ['boolean', 'string', 'number'];\n\nvar isBuffer = function isBuffer(obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj);\n};\n\nmodule.exports = function () {\n return {\n processOptions: function processOptions(options) {\n var body = options.body;\n\n if (!body) {\n return options;\n }\n\n var isStream = typeof body.pipe === 'function';\n var shouldSerialize = !isStream && !isBuffer(body) && (serializeTypes.indexOf(typeof body === 'undefined' ? 'undefined' : _typeof(body)) !== -1 || Array.isArray(body) || isPlainObject(body));\n\n if (!shouldSerialize) {\n return options;\n }\n\n return objectAssign({}, options, {\n body: JSON.stringify(options.body),\n headers: objectAssign({}, options.headers, {\n 'Content-Type': 'application/json'\n })\n });\n }\n };\n};","'use strict';\n\nvar objectAssign = require('object-assign');\n\nmodule.exports = function (opts) {\n return {\n onResponse: function onResponse(response) {\n var contentType = response.headers['content-type'] || '';\n var shouldDecode = opts && opts.force || contentType.indexOf('application/json') !== -1;\n\n if (!response.body || !contentType || !shouldDecode) {\n return response;\n }\n\n return objectAssign({}, response, {\n body: tryParse(response.body)\n });\n },\n processOptions: function processOptions(options) {\n return objectAssign({}, options, {\n headers: objectAssign({\n Accept: 'application/json'\n }, options.headers)\n });\n }\n };\n};\n\nfunction tryParse(body) {\n try {\n return JSON.parse(body);\n } catch (err) {\n err.message = 'Failed to parsed response body as JSON: ' + err.message;\n throw err;\n }\n}","'use strict';\n\nvar global = require('../util/global');\n\nvar objectAssign = require('object-assign');\n\nmodule.exports = function () {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var Observable = opts.implementation || global.Observable;\n\n if (!Observable) {\n throw new Error('`Observable` is not available in global scope, and no implementation was passed');\n }\n\n return {\n onReturn: function onReturn(channels, context) {\n return new Observable(function (observer) {\n channels.error.subscribe(function (err) {\n return observer.error(err);\n });\n channels.progress.subscribe(function (event) {\n return observer.next(objectAssign({\n type: 'progress'\n }, event));\n });\n channels.response.subscribe(function (response) {\n observer.next(objectAssign({\n type: 'response'\n }, response));\n observer.complete();\n });\n channels.request.publish(context);\n return function () {\n return channels.abort.publish();\n };\n });\n }\n };\n};","'use strict';\n\nmodule.exports = function () {\n return {\n onRequest: function onRequest(evt) {\n if (evt.adapter !== 'xhr') {\n return;\n }\n\n var xhr = evt.request;\n var context = evt.context;\n\n if ('upload' in xhr && 'onprogress' in xhr.upload) {\n xhr.upload.onprogress = handleProgress('upload');\n }\n\n if ('onprogress' in xhr) {\n xhr.onprogress = handleProgress('download');\n }\n\n function handleProgress(stage) {\n return function (event) {\n var percent = event.lengthComputable ? event.loaded / event.total * 100 : -1;\n context.channels.progress.publish({\n stage: stage,\n percent: percent,\n total: event.total,\n loaded: event.loaded,\n lengthComputable: event.lengthComputable\n });\n };\n }\n }\n };\n};","'use strict';\n\nmodule.exports = require('./node-progress');","'use strict';\n/* eslint max-depth: [\"error\", 4] */\n\nvar sameOrigin = require('same-origin');\n\nvar parseHeaders = require('parse-headers');\n\nvar noop = function noop() {\n /* intentional noop */\n};\n\nvar win = window;\nvar XmlHttpRequest = win.XMLHttpRequest || noop;\nvar hasXhr2 = ('withCredentials' in new XmlHttpRequest());\nvar XDomainRequest = hasXhr2 ? XmlHttpRequest : win.XDomainRequest;\nvar adapter = 'xhr';\n\nmodule.exports = function (context, callback) {\n var opts = context.options;\n var options = context.applyMiddleware('finalizeOptions', opts);\n var timers = {}; // Deep-checking window.location because of react native, where `location` doesn't exist\n\n var cors = win && win.location && !sameOrigin(win.location.href, options.url); // Allow middleware to inject a response, for instance in the case of caching or mocking\n\n var injectedResponse = context.applyMiddleware('interceptRequest', undefined, {\n adapter: adapter,\n context: context\n }); // If middleware injected a response, treat it as we normally would and return it\n // Do note that the injected response has to be reduced to a cross-environment friendly response\n\n if (injectedResponse) {\n var cbTimer = setTimeout(callback, 0, null, injectedResponse);\n\n var cancel = function cancel() {\n return clearTimeout(cbTimer);\n };\n\n return {\n abort: cancel\n };\n } // We'll want to null out the request on success/failure\n\n\n var xhr = cors ? new XDomainRequest() : new XmlHttpRequest();\n var isXdr = win.XDomainRequest && xhr instanceof win.XDomainRequest;\n var headers = options.headers; // Request state\n\n var aborted = false;\n var loaded = false;\n var timedOut = false; // Apply event handlers\n\n xhr.onerror = onError;\n xhr.ontimeout = onError;\n\n xhr.onabort = function () {\n aborted = true;\n }; // IE9 must have onprogress be set to a unique function\n\n\n xhr.onprogress = function () {\n /* intentional noop */\n };\n\n var loadEvent = isXdr ? 'onload' : 'onreadystatechange';\n\n xhr[loadEvent] = function () {\n // Prevent request from timing out\n resetTimers();\n\n if (aborted || xhr.readyState !== 4 && !isXdr) {\n return;\n } // Will be handled by onError\n\n\n if (xhr.status === 0) {\n return;\n }\n\n onLoad();\n }; // @todo two last options to open() is username/password\n\n\n xhr.open(options.method, options.url, true // Always async\n ); // Some options need to be applied after open\n\n xhr.withCredentials = !!options.withCredentials; // Set headers\n\n if (headers && xhr.setRequestHeader) {\n for (var key in headers) {\n if (headers.hasOwnProperty(key)) {\n xhr.setRequestHeader(key, headers[key]);\n }\n }\n } else if (headers && isXdr) {\n throw new Error('Headers cannot be set on an XDomainRequest object');\n }\n\n if (options.rawBody) {\n xhr.responseType = 'arraybuffer';\n } // Let middleware know we're about to do a request\n\n\n context.applyMiddleware('onRequest', {\n options: options,\n adapter: adapter,\n request: xhr,\n context: context\n });\n xhr.send(options.body || null); // Figure out which timeouts to use (if any)\n\n var delays = options.timeout;\n\n if (delays) {\n timers.connect = setTimeout(function () {\n return timeoutRequest('ETIMEDOUT');\n }, delays.connect);\n }\n\n return {\n abort: abort\n };\n\n function abort() {\n aborted = true;\n\n if (xhr) {\n xhr.abort();\n }\n }\n\n function timeoutRequest(code) {\n timedOut = true;\n xhr.abort();\n var error = new Error(code === 'ESOCKETTIMEDOUT' ? 'Socket timed out on request to ' + options.url : 'Connection timed out on request to ' + options.url);\n error.code = code;\n context.channels.error.publish(error);\n }\n\n function resetTimers() {\n if (!delays) {\n return;\n }\n\n stopTimers();\n timers.socket = setTimeout(function () {\n return timeoutRequest('ESOCKETTIMEDOUT');\n }, delays.socket);\n }\n\n function stopTimers() {\n // Only clear the connect timeout if we've got a connection\n if (aborted || xhr.readyState >= 2 && timers.connect) {\n clearTimeout(timers.connect);\n }\n\n if (timers.socket) {\n clearTimeout(timers.socket);\n }\n }\n\n function onError() {\n if (loaded) {\n return;\n } // Clean up\n\n\n stopTimers();\n loaded = true;\n xhr = null; // Annoyingly, details are extremely scarce and hidden from us.\n // We only really know that it is a network error\n\n var err = new Error('Network error while attempting to reach ' + options.url);\n err.isNetworkError = true;\n err.request = options;\n callback(err);\n }\n\n function reduceResponse() {\n var statusCode = xhr.status;\n var statusMessage = xhr.statusText;\n\n if (isXdr && statusCode === undefined) {\n // IE8 CORS GET successful response doesn't have a status field, but body is fine\n statusCode = 200;\n } else if (statusCode > 12000 && statusCode < 12156) {\n // Yet another IE quirk where it emits weird status codes on network errors\n // https://support.microsoft.com/en-us/kb/193625\n return onError();\n } else {\n // Another IE bug where HTTP 204 somehow ends up as 1223\n statusCode = xhr.status === 1223 ? 204 : xhr.status;\n statusMessage = xhr.status === 1223 ? 'No Content' : statusMessage;\n }\n\n return {\n body: xhr.response || xhr.responseText,\n url: options.url,\n method: options.method,\n headers: isXdr ? {} : parseHeaders(xhr.getAllResponseHeaders()),\n statusCode: statusCode,\n statusMessage: statusMessage\n };\n }\n\n function onLoad() {\n if (aborted || loaded || timedOut) {\n return;\n }\n\n if (xhr.status === 0) {\n onError(new Error('Unknown XHR error'));\n return;\n } // Prevent being called twice\n\n\n stopTimers();\n loaded = true;\n callback(null, reduceResponse());\n }\n};","'use strict';\n\nmodule.exports = require('./node-request');","'use strict';\n/* eslint-disable no-negated-condition */\n\nif (typeof window !== 'undefined') {\n module.exports = window;\n} else if (typeof global !== 'undefined') {\n module.exports = global;\n} else if (typeof self !== 'undefined') {\n module.exports = self;\n} else {\n module.exports = {};\n}","'use strict';\n\nmodule.exports = function (middleware) {\n var applyMiddleware = function applyMiddleware(hook, defaultValue) {\n for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n var bailEarly = hook === 'onError';\n var value = defaultValue;\n\n for (var i = 0; i < middleware[hook].length; i++) {\n var handler = middleware[hook][i];\n value = handler.apply(undefined, [value].concat(args));\n\n if (bailEarly && !value) {\n break;\n }\n }\n\n return value;\n };\n\n return applyMiddleware;\n};","/*!\n * is-plain-object \n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n'use strict';\n\nvar isObject = require('isobject');\n\nfunction isObjectObject(o) {\n return isObject(o) === true && Object.prototype.toString.call(o) === '[object Object]';\n}\n\nmodule.exports = function isPlainObject(o) {\n var ctor, prot;\n if (isObjectObject(o) === false) return false; // If has modified constructor\n\n ctor = o.constructor;\n if (typeof ctor !== 'function') return false; // If has modified prototype\n\n prot = ctor.prototype;\n if (isObjectObject(prot) === false) return false; // If constructor does not have an Object-specific method\n\n if (prot.hasOwnProperty('isPrototypeOf') === false) {\n return false;\n } // Most likely a plain Object\n\n\n return true;\n};","/*!\n * isobject \n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n'use strict';\n\nmodule.exports = function isObject(val) {\n return val != null && typeof val === 'object' && Array.isArray(val) === false;\n};","// ISC @ Julien Fontanet\n\"use strict\"; // ===================================================================\n\nvar construct = typeof Reflect !== \"undefined\" ? Reflect.construct : undefined;\nvar defineProperty = Object.defineProperty; // -------------------------------------------------------------------\n\nvar captureStackTrace = Error.captureStackTrace;\n\nif (captureStackTrace === undefined) {\n captureStackTrace = function captureStackTrace(error) {\n var container = new Error();\n defineProperty(error, \"stack\", {\n configurable: true,\n get: function getStack() {\n var stack = container.stack; // Replace property with value for faster future accesses.\n\n defineProperty(this, \"stack\", {\n configurable: true,\n value: stack,\n writable: true\n });\n return stack;\n },\n set: function setStack(stack) {\n defineProperty(error, \"stack\", {\n configurable: true,\n value: stack,\n writable: true\n });\n }\n });\n };\n} // -------------------------------------------------------------------\n\n\nfunction BaseError(message) {\n if (message !== undefined) {\n defineProperty(this, \"message\", {\n configurable: true,\n value: message,\n writable: true\n });\n }\n\n var cname = this.constructor.name;\n\n if (cname !== undefined && cname !== this.name) {\n defineProperty(this, \"name\", {\n configurable: true,\n value: cname,\n writable: true\n });\n }\n\n captureStackTrace(this, this.constructor);\n}\n\nBaseError.prototype = Object.create(Error.prototype, {\n // See: https://github.com/JsCommunity/make-error/issues/4\n constructor: {\n configurable: true,\n value: BaseError,\n writable: true\n }\n}); // -------------------------------------------------------------------\n// Sets the name of a function if possible (depends of the JS engine).\n\nvar setFunctionName = function () {\n function setFunctionName(fn, name) {\n return defineProperty(fn, \"name\", {\n configurable: true,\n value: name\n });\n }\n\n try {\n var f = function f() {};\n\n setFunctionName(f, \"foo\");\n\n if (f.name === \"foo\") {\n return setFunctionName;\n }\n } catch (_) {}\n}(); // -------------------------------------------------------------------\n\n\nfunction makeError(constructor, super_) {\n if (super_ == null || super_ === Error) {\n super_ = BaseError;\n } else if (typeof super_ !== \"function\") {\n throw new TypeError(\"super_ should be a function\");\n }\n\n var name;\n\n if (typeof constructor === \"string\") {\n name = constructor;\n constructor = construct !== undefined ? function () {\n return construct(super_, arguments, this.constructor);\n } : function () {\n super_.apply(this, arguments);\n }; // If the name can be set, do it once and for all.\n\n if (setFunctionName !== undefined) {\n setFunctionName(constructor, name);\n name = undefined;\n }\n } else if (typeof constructor !== \"function\") {\n throw new TypeError(\"constructor should be either a string or a function\");\n } // Also register the super constructor also as `constructor.super_` just\n // like Node's `util.inherits()`.\n //\n // eslint-disable-next-line dot-notation\n\n\n constructor.super_ = constructor[\"super\"] = super_;\n var properties = {\n constructor: {\n configurable: true,\n value: constructor,\n writable: true\n }\n }; // If the name could not be set on the constructor, set it on the\n // prototype.\n\n if (name !== undefined) {\n properties.name = {\n configurable: true,\n value: name,\n writable: true\n };\n }\n\n constructor.prototype = Object.create(super_.prototype, properties);\n return constructor;\n}\n\nexports = module.exports = makeError;\nexports.BaseError = BaseError;","module.exports = function Pubsub() {\n var subscribers = [];\n return {\n subscribe: subscribe,\n publish: publish\n };\n\n function subscribe(subscriber) {\n subscribers.push(subscriber);\n return function unsubscribe() {\n var idx = subscribers.indexOf(subscriber);\n\n if (idx > -1) {\n subscribers.splice(idx, 1);\n }\n };\n }\n\n function publish() {\n for (var i = 0; i < subscribers.length; i++) {\n subscribers[i].apply(null, arguments);\n }\n }\n};","var trim = function trim(string) {\n return string.replace(/^\\s+|\\s+$/g, '');\n},\n isArray = function isArray(arg) {\n return Object.prototype.toString.call(arg) === '[object Array]';\n};\n\nmodule.exports = function (headers) {\n if (!headers) return {};\n var result = {};\n var headersArr = trim(headers).split('\\n');\n\n for (var i = 0; i < headersArr.length; i++) {\n var row = headersArr[i];\n var index = row.indexOf(':'),\n key = trim(row.slice(0, index)).toLowerCase(),\n value = trim(row.slice(index + 1));\n\n if (typeof result[key] === 'undefined') {\n result[key] = value;\n } else if (isArray(result[key])) {\n result[key].push(value);\n } else {\n result[key] = [result[key], value];\n }\n }\n\n return result;\n};","'use strict';\n\nvar has = Object.prototype.hasOwnProperty,\n undef;\n/**\n * Decode a URI encoded string.\n *\n * @param {String} input The URI encoded string.\n * @returns {String|Null} The decoded string.\n * @api private\n */\n\nfunction decode(input) {\n try {\n return decodeURIComponent(input.replace(/\\+/g, ' '));\n } catch (e) {\n return null;\n }\n}\n/**\n * Attempts to encode a given input.\n *\n * @param {String} input The string that needs to be encoded.\n * @returns {String|Null} The encoded string.\n * @api private\n */\n\n\nfunction encode(input) {\n try {\n return encodeURIComponent(input);\n } catch (e) {\n return null;\n }\n}\n/**\n * Simple query string parser.\n *\n * @param {String} query The query string that needs to be parsed.\n * @returns {Object}\n * @api public\n */\n\n\nfunction querystring(query) {\n var parser = /([^=?#&]+)=?([^&]*)/g,\n result = {},\n part;\n\n while (part = parser.exec(query)) {\n var key = decode(part[1]),\n value = decode(part[2]); //\n // Prevent overriding of existing properties. This ensures that build-in\n // methods like `toString` or __proto__ are not overriden by malicious\n // querystrings.\n //\n // In the case if failed decoding, we want to omit the key/value pairs\n // from the result.\n //\n\n if (key === null || value === null || key in result) continue;\n result[key] = value;\n }\n\n return result;\n}\n/**\n * Transform a query string to an object.\n *\n * @param {Object} obj Object that should be transformed.\n * @param {String} prefix Optional prefix.\n * @returns {String}\n * @api public\n */\n\n\nfunction querystringify(obj, prefix) {\n prefix = prefix || '';\n var pairs = [],\n value,\n key; //\n // Optionally prefix with a '?' if needed\n //\n\n if ('string' !== typeof prefix) prefix = '?';\n\n for (key in obj) {\n if (has.call(obj, key)) {\n value = obj[key]; //\n // Edge cases where we actually want to encode the value to an empty\n // string instead of the stringified value.\n //\n\n if (!value && (value === null || value === undef || isNaN(value))) {\n value = '';\n }\n\n key = encode(key);\n value = encode(value); //\n // If we failed to encode the strings, we should bail out as we don't\n // want to add invalid strings to the query.\n //\n\n if (key === null || value === null) continue;\n pairs.push(key + '=' + value);\n }\n }\n\n return pairs.length ? prefix + pairs.join('&') : '';\n} //\n// Expose the module.\n//\n\n\nexports.stringify = querystringify;\nexports.parse = querystring;","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView; // Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.1\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n var length, i, keys;\n\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!equal(a[i], b[i])) return false;\n }\n\n return true;\n } // START: Modifications:\n // 1. Extra `has &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n\n\n var it;\n\n if (hasMap && a instanceof Map && b instanceof Map) {\n if (a.size !== b.size) return false;\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!b.has(i.value[0])) return false;\n }\n\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n }\n\n return true;\n }\n\n if (hasSet && a instanceof Set && b instanceof Set) {\n if (a.size !== b.size) return false;\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!b.has(i.value[0])) return false;\n }\n\n return true;\n } // END: Modifications\n\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n\n for (i = length; i-- !== 0;) {\n if (a[i] !== b[i]) return false;\n }\n\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n } // END: fast-deep-equal\n // START: react-fast-compare\n // custom handling for DOM elements\n\n\n if (hasElementType && a instanceof Element) return false; // custom handling for React/Preact\n\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n continue;\n } // all other properties should be traversed as usual\n\n\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n } // END: react-fast-compare\n // START: fast-deep-equal\n\n\n return true;\n }\n\n return a !== a && b !== b;\n} // end fast-deep-equal\n\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if ((error.message || '').match(/stack|recursion/i)) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n } // some other error. we should definitely know about these\n\n\n throw error;\n }\n};","'use strict';\n\nfunction _interopDefault(ex) {\n return ex && typeof ex === 'object' && 'default' in ex ? ex['default'] : ex;\n}\n\nvar React = require('react');\n\nvar React__default = _interopDefault(React);\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient, mapStateOnServer) {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n\n if (typeof mapStateOnServer !== 'undefined' && typeof mapStateOnServer !== 'function') {\n throw new Error('Expected mapStateOnServer to either be undefined or a function.');\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n\n var mountedInstances = [];\n var state;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n\n if (SideEffect.canUseDOM) {\n handleStateChangeOnClient(state);\n } else if (mapStateOnServer) {\n state = mapStateOnServer(state);\n }\n }\n\n var SideEffect = /*#__PURE__*/function (_PureComponent) {\n _inheritsLoose(SideEffect, _PureComponent);\n\n function SideEffect() {\n return _PureComponent.apply(this, arguments) || this;\n } // Try to use displayName of wrapped component\n // Expose canUseDOM so tests can monkeypatch it\n\n\n SideEffect.peek = function peek() {\n return state;\n };\n\n SideEffect.rewind = function rewind() {\n if (SideEffect.canUseDOM) {\n throw new Error('You may only call rewind() on the server. Call peek() to read the current state.');\n }\n\n var recordedState = state;\n state = undefined;\n mountedInstances = [];\n return recordedState;\n };\n\n var _proto = SideEffect.prototype;\n\n _proto.UNSAFE_componentWillMount = function UNSAFE_componentWillMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React__default.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(React.PureComponent);\n\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n _defineProperty(SideEffect, \"canUseDOM\", canUseDOM);\n\n return SideEffect;\n };\n}\n\nmodule.exports = withSideEffect;","'use strict';\n/**\n * Check if we're required to add a port number.\n *\n * @see https://url.spec.whatwg.org/#default-port\n * @param {Number|String} port Port number we need to check\n * @param {String} protocol Protocol we need to check against.\n * @returns {Boolean} Is it a default port for the given protocol\n * @api private\n */\n\nmodule.exports = function required(port, protocol) {\n protocol = protocol.split(':')[0];\n port = +port;\n if (!port) return false;\n\n switch (protocol) {\n case 'http':\n case 'ws':\n return port !== 80;\n\n case 'https':\n case 'wss':\n return port !== 443;\n\n case 'ftp':\n return port !== 21;\n\n case 'gopher':\n return port !== 70;\n\n case 'file':\n return false;\n }\n\n return port !== 0;\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar canReportError_1 = require(\"./util/canReportError\");\n\nvar toSubscriber_1 = require(\"./util/toSubscriber\");\n\nvar observable_1 = require(\"./symbol/observable\");\n\nvar pipe_1 = require(\"./util/pipe\");\n\nvar config_1 = require(\"./config\");\n\nvar Observable = function () {\n function Observable(subscribe) {\n this._isScalar = false;\n\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var operator = this.operator;\n var sink = toSubscriber_1.toSubscriber(observerOrNext, error, complete);\n\n if (operator) {\n sink.add(operator.call(sink, this.source));\n } else {\n sink.add(this.source || config_1.config.useDeprecatedSynchronousErrorHandling && !sink.syncErrorThrowable ? this._subscribe(sink) : this._trySubscribe(sink));\n }\n\n if (config_1.config.useDeprecatedSynchronousErrorHandling) {\n if (sink.syncErrorThrowable) {\n sink.syncErrorThrowable = false;\n\n if (sink.syncErrorThrown) {\n throw sink.syncErrorValue;\n }\n }\n }\n\n return sink;\n };\n\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n } catch (err) {\n if (config_1.config.useDeprecatedSynchronousErrorHandling) {\n sink.syncErrorThrown = true;\n sink.syncErrorValue = err;\n }\n\n if (canReportError_1.canReportError(sink)) {\n sink.error(err);\n } else {\n console.warn(err);\n }\n }\n };\n\n Observable.prototype.forEach = function (next, promiseCtor) {\n var _this = this;\n\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var subscription;\n subscription = _this.subscribe(function (value) {\n try {\n next(value);\n } catch (err) {\n reject(err);\n\n if (subscription) {\n subscription.unsubscribe();\n }\n }\n }, reject, resolve);\n });\n };\n\n Observable.prototype._subscribe = function (subscriber) {\n var source = this.source;\n return source && source.subscribe(subscriber);\n };\n\n Observable.prototype[observable_1.observable] = function () {\n return this;\n };\n\n Observable.prototype.pipe = function () {\n var operations = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i] = arguments[_i];\n }\n\n if (operations.length === 0) {\n return this;\n }\n\n return pipe_1.pipeFromArray(operations)(this);\n };\n\n Observable.prototype.toPromise = function (promiseCtor) {\n var _this = this;\n\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var value;\n\n _this.subscribe(function (x) {\n return value = x;\n }, function (err) {\n return reject(err);\n }, function () {\n return resolve(value);\n });\n });\n };\n\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n\n return Observable;\n}();\n\nexports.Observable = Observable;\n\nfunction getPromiseCtor(promiseCtor) {\n if (!promiseCtor) {\n promiseCtor = config_1.config.Promise || Promise;\n }\n\n if (!promiseCtor) {\n throw new Error('no Promise impl found');\n }\n\n return promiseCtor;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar config_1 = require(\"./config\");\n\nvar hostReportError_1 = require(\"./util/hostReportError\");\n\nexports.empty = {\n closed: true,\n next: function next(value) {},\n error: function error(err) {\n if (config_1.config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n } else {\n hostReportError_1.hostReportError(err);\n }\n },\n complete: function complete() {}\n};","\"use strict\";\n\nvar __extends = this && this.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar isFunction_1 = require(\"./util/isFunction\");\n\nvar Observer_1 = require(\"./Observer\");\n\nvar Subscription_1 = require(\"./Subscription\");\n\nvar rxSubscriber_1 = require(\"../internal/symbol/rxSubscriber\");\n\nvar config_1 = require(\"./config\");\n\nvar hostReportError_1 = require(\"./util/hostReportError\");\n\nvar Subscriber = function (_super) {\n __extends(Subscriber, _super);\n\n function Subscriber(destinationOrNext, error, complete) {\n var _this = _super.call(this) || this;\n\n _this.syncErrorValue = null;\n _this.syncErrorThrown = false;\n _this.syncErrorThrowable = false;\n _this.isStopped = false;\n\n switch (arguments.length) {\n case 0:\n _this.destination = Observer_1.empty;\n break;\n\n case 1:\n if (!destinationOrNext) {\n _this.destination = Observer_1.empty;\n break;\n }\n\n if (typeof destinationOrNext === 'object') {\n if (destinationOrNext instanceof Subscriber) {\n _this.syncErrorThrowable = destinationOrNext.syncErrorThrowable;\n _this.destination = destinationOrNext;\n destinationOrNext.add(_this);\n } else {\n _this.syncErrorThrowable = true;\n _this.destination = new SafeSubscriber(_this, destinationOrNext);\n }\n\n break;\n }\n\n default:\n _this.syncErrorThrowable = true;\n _this.destination = new SafeSubscriber(_this, destinationOrNext, error, complete);\n break;\n }\n\n return _this;\n }\n\n Subscriber.prototype[rxSubscriber_1.rxSubscriber] = function () {\n return this;\n };\n\n Subscriber.create = function (next, error, complete) {\n var subscriber = new Subscriber(next, error, complete);\n subscriber.syncErrorThrowable = false;\n return subscriber;\n };\n\n Subscriber.prototype.next = function (value) {\n if (!this.isStopped) {\n this._next(value);\n }\n };\n\n Subscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n this.isStopped = true;\n\n this._error(err);\n }\n };\n\n Subscriber.prototype.complete = function () {\n if (!this.isStopped) {\n this.isStopped = true;\n\n this._complete();\n }\n };\n\n Subscriber.prototype.unsubscribe = function () {\n if (this.closed) {\n return;\n }\n\n this.isStopped = true;\n\n _super.prototype.unsubscribe.call(this);\n };\n\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n\n Subscriber.prototype._error = function (err) {\n this.destination.error(err);\n this.unsubscribe();\n };\n\n Subscriber.prototype._complete = function () {\n this.destination.complete();\n this.unsubscribe();\n };\n\n Subscriber.prototype._unsubscribeAndRecycle = function () {\n var _parentOrParents = this._parentOrParents;\n this._parentOrParents = null;\n this.unsubscribe();\n this.closed = false;\n this.isStopped = false;\n this._parentOrParents = _parentOrParents;\n return this;\n };\n\n return Subscriber;\n}(Subscription_1.Subscription);\n\nexports.Subscriber = Subscriber;\n\nvar SafeSubscriber = function (_super) {\n __extends(SafeSubscriber, _super);\n\n function SafeSubscriber(_parentSubscriber, observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n\n _this._parentSubscriber = _parentSubscriber;\n var next;\n var context = _this;\n\n if (isFunction_1.isFunction(observerOrNext)) {\n next = observerOrNext;\n } else if (observerOrNext) {\n next = observerOrNext.next;\n error = observerOrNext.error;\n complete = observerOrNext.complete;\n\n if (observerOrNext !== Observer_1.empty) {\n context = Object.create(observerOrNext);\n\n if (isFunction_1.isFunction(context.unsubscribe)) {\n _this.add(context.unsubscribe.bind(context));\n }\n\n context.unsubscribe = _this.unsubscribe.bind(_this);\n }\n }\n\n _this._context = context;\n _this._next = next;\n _this._error = error;\n _this._complete = complete;\n return _this;\n }\n\n SafeSubscriber.prototype.next = function (value) {\n if (!this.isStopped && this._next) {\n var _parentSubscriber = this._parentSubscriber;\n\n if (!config_1.config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._next, value);\n } else if (this.__tryOrSetError(_parentSubscriber, this._next, value)) {\n this.unsubscribe();\n }\n }\n };\n\n SafeSubscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n var _parentSubscriber = this._parentSubscriber;\n var useDeprecatedSynchronousErrorHandling = config_1.config.useDeprecatedSynchronousErrorHandling;\n\n if (this._error) {\n if (!useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._error, err);\n\n this.unsubscribe();\n } else {\n this.__tryOrSetError(_parentSubscriber, this._error, err);\n\n this.unsubscribe();\n }\n } else if (!_parentSubscriber.syncErrorThrowable) {\n this.unsubscribe();\n\n if (useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n\n hostReportError_1.hostReportError(err);\n } else {\n if (useDeprecatedSynchronousErrorHandling) {\n _parentSubscriber.syncErrorValue = err;\n _parentSubscriber.syncErrorThrown = true;\n } else {\n hostReportError_1.hostReportError(err);\n }\n\n this.unsubscribe();\n }\n }\n };\n\n SafeSubscriber.prototype.complete = function () {\n var _this = this;\n\n if (!this.isStopped) {\n var _parentSubscriber = this._parentSubscriber;\n\n if (this._complete) {\n var wrappedComplete = function wrappedComplete() {\n return _this._complete.call(_this._context);\n };\n\n if (!config_1.config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(wrappedComplete);\n\n this.unsubscribe();\n } else {\n this.__tryOrSetError(_parentSubscriber, wrappedComplete);\n\n this.unsubscribe();\n }\n } else {\n this.unsubscribe();\n }\n }\n };\n\n SafeSubscriber.prototype.__tryOrUnsub = function (fn, value) {\n try {\n fn.call(this._context, value);\n } catch (err) {\n this.unsubscribe();\n\n if (config_1.config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n } else {\n hostReportError_1.hostReportError(err);\n }\n }\n };\n\n SafeSubscriber.prototype.__tryOrSetError = function (parent, fn, value) {\n if (!config_1.config.useDeprecatedSynchronousErrorHandling) {\n throw new Error('bad call');\n }\n\n try {\n fn.call(this._context, value);\n } catch (err) {\n if (config_1.config.useDeprecatedSynchronousErrorHandling) {\n parent.syncErrorValue = err;\n parent.syncErrorThrown = true;\n return true;\n } else {\n hostReportError_1.hostReportError(err);\n return true;\n }\n }\n\n return false;\n };\n\n SafeSubscriber.prototype._unsubscribe = function () {\n var _parentSubscriber = this._parentSubscriber;\n this._context = null;\n this._parentSubscriber = null;\n\n _parentSubscriber.unsubscribe();\n };\n\n return SafeSubscriber;\n}(Subscriber);\n\nexports.SafeSubscriber = SafeSubscriber;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar isArray_1 = require(\"./util/isArray\");\n\nvar isObject_1 = require(\"./util/isObject\");\n\nvar isFunction_1 = require(\"./util/isFunction\");\n\nvar UnsubscriptionError_1 = require(\"./util/UnsubscriptionError\");\n\nvar Subscription = function () {\n function Subscription(unsubscribe) {\n this.closed = false;\n this._parentOrParents = null;\n this._subscriptions = null;\n\n if (unsubscribe) {\n this._ctorUnsubscribe = true;\n this._unsubscribe = unsubscribe;\n }\n }\n\n Subscription.prototype.unsubscribe = function () {\n var errors;\n\n if (this.closed) {\n return;\n }\n\n var _a = this,\n _parentOrParents = _a._parentOrParents,\n _ctorUnsubscribe = _a._ctorUnsubscribe,\n _unsubscribe = _a._unsubscribe,\n _subscriptions = _a._subscriptions;\n\n this.closed = true;\n this._parentOrParents = null;\n this._subscriptions = null;\n\n if (_parentOrParents instanceof Subscription) {\n _parentOrParents.remove(this);\n } else if (_parentOrParents !== null) {\n for (var index = 0; index < _parentOrParents.length; ++index) {\n var parent_1 = _parentOrParents[index];\n parent_1.remove(this);\n }\n }\n\n if (isFunction_1.isFunction(_unsubscribe)) {\n if (_ctorUnsubscribe) {\n this._unsubscribe = undefined;\n }\n\n try {\n _unsubscribe.call(this);\n } catch (e) {\n errors = e instanceof UnsubscriptionError_1.UnsubscriptionError ? flattenUnsubscriptionErrors(e.errors) : [e];\n }\n }\n\n if (isArray_1.isArray(_subscriptions)) {\n var index = -1;\n var len = _subscriptions.length;\n\n while (++index < len) {\n var sub = _subscriptions[index];\n\n if (isObject_1.isObject(sub)) {\n try {\n sub.unsubscribe();\n } catch (e) {\n errors = errors || [];\n\n if (e instanceof UnsubscriptionError_1.UnsubscriptionError) {\n errors = errors.concat(flattenUnsubscriptionErrors(e.errors));\n } else {\n errors.push(e);\n }\n }\n }\n }\n }\n\n if (errors) {\n throw new UnsubscriptionError_1.UnsubscriptionError(errors);\n }\n };\n\n Subscription.prototype.add = function (teardown) {\n var subscription = teardown;\n\n if (!teardown) {\n return Subscription.EMPTY;\n }\n\n switch (typeof teardown) {\n case 'function':\n subscription = new Subscription(teardown);\n\n case 'object':\n if (subscription === this || subscription.closed || typeof subscription.unsubscribe !== 'function') {\n return subscription;\n } else if (this.closed) {\n subscription.unsubscribe();\n return subscription;\n } else if (!(subscription instanceof Subscription)) {\n var tmp = subscription;\n subscription = new Subscription();\n subscription._subscriptions = [tmp];\n }\n\n break;\n\n default:\n {\n throw new Error('unrecognized teardown ' + teardown + ' added to Subscription.');\n }\n }\n\n var _parentOrParents = subscription._parentOrParents;\n\n if (_parentOrParents === null) {\n subscription._parentOrParents = this;\n } else if (_parentOrParents instanceof Subscription) {\n if (_parentOrParents === this) {\n return subscription;\n }\n\n subscription._parentOrParents = [_parentOrParents, this];\n } else if (_parentOrParents.indexOf(this) === -1) {\n _parentOrParents.push(this);\n } else {\n return subscription;\n }\n\n var subscriptions = this._subscriptions;\n\n if (subscriptions === null) {\n this._subscriptions = [subscription];\n } else {\n subscriptions.push(subscription);\n }\n\n return subscription;\n };\n\n Subscription.prototype.remove = function (subscription) {\n var subscriptions = this._subscriptions;\n\n if (subscriptions) {\n var subscriptionIndex = subscriptions.indexOf(subscription);\n\n if (subscriptionIndex !== -1) {\n subscriptions.splice(subscriptionIndex, 1);\n }\n }\n };\n\n Subscription.EMPTY = function (empty) {\n empty.closed = true;\n return empty;\n }(new Subscription());\n\n return Subscription;\n}();\n\nexports.Subscription = Subscription;\n\nfunction flattenUnsubscriptionErrors(errors) {\n return errors.reduce(function (errs, err) {\n return errs.concat(err instanceof UnsubscriptionError_1.UnsubscriptionError ? err.errors : err);\n }, []);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar _enable_super_gross_mode_that_will_cause_bad_things = false;\nexports.config = {\n Promise: undefined,\n\n set useDeprecatedSynchronousErrorHandling(value) {\n if (value) {\n var error = new Error();\n console.warn('DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \\n' + error.stack);\n } else if (_enable_super_gross_mode_that_will_cause_bad_things) {\n console.log('RxJS: Back to a better error behavior. Thank you. <3');\n }\n\n _enable_super_gross_mode_that_will_cause_bad_things = value;\n },\n\n get useDeprecatedSynchronousErrorHandling() {\n return _enable_super_gross_mode_that_will_cause_bad_things;\n }\n\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar Observable_1 = require(\"../Observable\");\n\nexports.EMPTY = new Observable_1.Observable(function (subscriber) {\n return subscriber.complete();\n});\n\nfunction empty(scheduler) {\n return scheduler ? emptyScheduled(scheduler) : exports.EMPTY;\n}\n\nexports.empty = empty;\n\nfunction emptyScheduled(scheduler) {\n return new Observable_1.Observable(function (subscriber) {\n return scheduler.schedule(function () {\n return subscriber.complete();\n });\n });\n}","\"use strict\";\n\nvar __extends = this && this.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar Subscriber_1 = require(\"../Subscriber\");\n\nfunction defaultIfEmpty(defaultValue) {\n if (defaultValue === void 0) {\n defaultValue = null;\n }\n\n return function (source) {\n return source.lift(new DefaultIfEmptyOperator(defaultValue));\n };\n}\n\nexports.defaultIfEmpty = defaultIfEmpty;\n\nvar DefaultIfEmptyOperator = function () {\n function DefaultIfEmptyOperator(defaultValue) {\n this.defaultValue = defaultValue;\n }\n\n DefaultIfEmptyOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DefaultIfEmptySubscriber(subscriber, this.defaultValue));\n };\n\n return DefaultIfEmptyOperator;\n}();\n\nvar DefaultIfEmptySubscriber = function (_super) {\n __extends(DefaultIfEmptySubscriber, _super);\n\n function DefaultIfEmptySubscriber(destination, defaultValue) {\n var _this = _super.call(this, destination) || this;\n\n _this.defaultValue = defaultValue;\n _this.isEmpty = true;\n return _this;\n }\n\n DefaultIfEmptySubscriber.prototype._next = function (value) {\n this.isEmpty = false;\n this.destination.next(value);\n };\n\n DefaultIfEmptySubscriber.prototype._complete = function () {\n if (this.isEmpty) {\n this.destination.next(this.defaultValue);\n }\n\n this.destination.complete();\n };\n\n return DefaultIfEmptySubscriber;\n}(Subscriber_1.Subscriber);","\"use strict\";\n\nvar __extends = this && this.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar Subscriber_1 = require(\"../Subscriber\");\n\nfunction filter(predicate, thisArg) {\n return function filterOperatorFunction(source) {\n return source.lift(new FilterOperator(predicate, thisArg));\n };\n}\n\nexports.filter = filter;\n\nvar FilterOperator = function () {\n function FilterOperator(predicate, thisArg) {\n this.predicate = predicate;\n this.thisArg = thisArg;\n }\n\n FilterOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new FilterSubscriber(subscriber, this.predicate, this.thisArg));\n };\n\n return FilterOperator;\n}();\n\nvar FilterSubscriber = function (_super) {\n __extends(FilterSubscriber, _super);\n\n function FilterSubscriber(destination, predicate, thisArg) {\n var _this = _super.call(this, destination) || this;\n\n _this.predicate = predicate;\n _this.thisArg = thisArg;\n _this.count = 0;\n return _this;\n }\n\n FilterSubscriber.prototype._next = function (value) {\n var result;\n\n try {\n result = this.predicate.call(this.thisArg, value, this.count++);\n } catch (err) {\n this.destination.error(err);\n return;\n }\n\n if (result) {\n this.destination.next(value);\n }\n };\n\n return FilterSubscriber;\n}(Subscriber_1.Subscriber);","\"use strict\";\n\nvar __extends = this && this.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar Subscriber_1 = require(\"../Subscriber\");\n\nfunction map(project, thisArg) {\n return function mapOperation(source) {\n if (typeof project !== 'function') {\n throw new TypeError('argument is not a function. Are you looking for `mapTo()`?');\n }\n\n return source.lift(new MapOperator(project, thisArg));\n };\n}\n\nexports.map = map;\n\nvar MapOperator = function () {\n function MapOperator(project, thisArg) {\n this.project = project;\n this.thisArg = thisArg;\n }\n\n MapOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new MapSubscriber(subscriber, this.project, this.thisArg));\n };\n\n return MapOperator;\n}();\n\nexports.MapOperator = MapOperator;\n\nvar MapSubscriber = function (_super) {\n __extends(MapSubscriber, _super);\n\n function MapSubscriber(destination, project, thisArg) {\n var _this = _super.call(this, destination) || this;\n\n _this.project = project;\n _this.count = 0;\n _this.thisArg = thisArg || _this;\n return _this;\n }\n\n MapSubscriber.prototype._next = function (value) {\n var result;\n\n try {\n result = this.project.call(this.thisArg, value, this.count++);\n } catch (err) {\n this.destination.error(err);\n return;\n }\n\n this.destination.next(result);\n };\n\n return MapSubscriber;\n}(Subscriber_1.Subscriber);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar scan_1 = require(\"./scan\");\n\nvar takeLast_1 = require(\"./takeLast\");\n\nvar defaultIfEmpty_1 = require(\"./defaultIfEmpty\");\n\nvar pipe_1 = require(\"../util/pipe\");\n\nfunction reduce(accumulator, seed) {\n if (arguments.length >= 2) {\n return function reduceOperatorFunctionWithSeed(source) {\n return pipe_1.pipe(scan_1.scan(accumulator, seed), takeLast_1.takeLast(1), defaultIfEmpty_1.defaultIfEmpty(seed))(source);\n };\n }\n\n return function reduceOperatorFunction(source) {\n return pipe_1.pipe(scan_1.scan(function (acc, value, index) {\n return accumulator(acc, value, index + 1);\n }), takeLast_1.takeLast(1))(source);\n };\n}\n\nexports.reduce = reduce;","\"use strict\";\n\nvar __extends = this && this.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar Subscriber_1 = require(\"../Subscriber\");\n\nfunction scan(accumulator, seed) {\n var hasSeed = false;\n\n if (arguments.length >= 2) {\n hasSeed = true;\n }\n\n return function scanOperatorFunction(source) {\n return source.lift(new ScanOperator(accumulator, seed, hasSeed));\n };\n}\n\nexports.scan = scan;\n\nvar ScanOperator = function () {\n function ScanOperator(accumulator, seed, hasSeed) {\n if (hasSeed === void 0) {\n hasSeed = false;\n }\n\n this.accumulator = accumulator;\n this.seed = seed;\n this.hasSeed = hasSeed;\n }\n\n ScanOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ScanSubscriber(subscriber, this.accumulator, this.seed, this.hasSeed));\n };\n\n return ScanOperator;\n}();\n\nvar ScanSubscriber = function (_super) {\n __extends(ScanSubscriber, _super);\n\n function ScanSubscriber(destination, accumulator, _seed, hasSeed) {\n var _this = _super.call(this, destination) || this;\n\n _this.accumulator = accumulator;\n _this._seed = _seed;\n _this.hasSeed = hasSeed;\n _this.index = 0;\n return _this;\n }\n\n Object.defineProperty(ScanSubscriber.prototype, \"seed\", {\n get: function get() {\n return this._seed;\n },\n set: function set(value) {\n this.hasSeed = true;\n this._seed = value;\n },\n enumerable: true,\n configurable: true\n });\n\n ScanSubscriber.prototype._next = function (value) {\n if (!this.hasSeed) {\n this.seed = value;\n this.destination.next(value);\n } else {\n return this._tryNext(value);\n }\n };\n\n ScanSubscriber.prototype._tryNext = function (value) {\n var index = this.index++;\n var result;\n\n try {\n result = this.accumulator(this.seed, value, index);\n } catch (err) {\n this.destination.error(err);\n }\n\n this.seed = result;\n this.destination.next(result);\n };\n\n return ScanSubscriber;\n}(Subscriber_1.Subscriber);","\"use strict\";\n\nvar __extends = this && this.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar Subscriber_1 = require(\"../Subscriber\");\n\nvar ArgumentOutOfRangeError_1 = require(\"../util/ArgumentOutOfRangeError\");\n\nvar empty_1 = require(\"../observable/empty\");\n\nfunction takeLast(count) {\n return function takeLastOperatorFunction(source) {\n if (count === 0) {\n return empty_1.empty();\n } else {\n return source.lift(new TakeLastOperator(count));\n }\n };\n}\n\nexports.takeLast = takeLast;\n\nvar TakeLastOperator = function () {\n function TakeLastOperator(total) {\n this.total = total;\n\n if (this.total < 0) {\n throw new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError();\n }\n }\n\n TakeLastOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new TakeLastSubscriber(subscriber, this.total));\n };\n\n return TakeLastOperator;\n}();\n\nvar TakeLastSubscriber = function (_super) {\n __extends(TakeLastSubscriber, _super);\n\n function TakeLastSubscriber(destination, total) {\n var _this = _super.call(this, destination) || this;\n\n _this.total = total;\n _this.ring = new Array();\n _this.count = 0;\n return _this;\n }\n\n TakeLastSubscriber.prototype._next = function (value) {\n var ring = this.ring;\n var total = this.total;\n var count = this.count++;\n\n if (ring.length < total) {\n ring.push(value);\n } else {\n var index = count % total;\n ring[index] = value;\n }\n };\n\n TakeLastSubscriber.prototype._complete = function () {\n var destination = this.destination;\n var count = this.count;\n\n if (count > 0) {\n var total = this.count >= this.total ? this.total : this.count;\n var ring = this.ring;\n\n for (var i = 0; i < total; i++) {\n var idx = count++ % total;\n destination.next(ring[idx]);\n }\n }\n\n destination.complete();\n };\n\n return TakeLastSubscriber;\n}(Subscriber_1.Subscriber);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.observable = function () {\n return typeof Symbol === 'function' && Symbol.observable || '@@observable';\n}();","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.rxSubscriber = function () {\n return typeof Symbol === 'function' ? Symbol('rxSubscriber') : '@@rxSubscriber_' + Math.random();\n}();\n\nexports.$$rxSubscriber = exports.rxSubscriber;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar ArgumentOutOfRangeErrorImpl = function () {\n function ArgumentOutOfRangeErrorImpl() {\n Error.call(this);\n this.message = 'argument out of range';\n this.name = 'ArgumentOutOfRangeError';\n return this;\n }\n\n ArgumentOutOfRangeErrorImpl.prototype = Object.create(Error.prototype);\n return ArgumentOutOfRangeErrorImpl;\n}();\n\nexports.ArgumentOutOfRangeError = ArgumentOutOfRangeErrorImpl;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar UnsubscriptionErrorImpl = function () {\n function UnsubscriptionErrorImpl(errors) {\n Error.call(this);\n this.message = errors ? errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) {\n return i + 1 + \") \" + err.toString();\n }).join('\\n ') : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n return this;\n }\n\n UnsubscriptionErrorImpl.prototype = Object.create(Error.prototype);\n return UnsubscriptionErrorImpl;\n}();\n\nexports.UnsubscriptionError = UnsubscriptionErrorImpl;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar Subscriber_1 = require(\"../Subscriber\");\n\nfunction canReportError(observer) {\n while (observer) {\n var _a = observer,\n closed_1 = _a.closed,\n destination = _a.destination,\n isStopped = _a.isStopped;\n\n if (closed_1 || isStopped) {\n return false;\n } else if (destination && destination instanceof Subscriber_1.Subscriber) {\n observer = destination;\n } else {\n observer = null;\n }\n }\n\n return true;\n}\n\nexports.canReportError = canReportError;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction hostReportError(err) {\n setTimeout(function () {\n throw err;\n }, 0);\n}\n\nexports.hostReportError = hostReportError;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction identity(x) {\n return x;\n}\n\nexports.identity = identity;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.isArray = function () {\n return Array.isArray || function (x) {\n return x && typeof x.length === 'number';\n };\n}();","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction isFunction(x) {\n return typeof x === 'function';\n}\n\nexports.isFunction = isFunction;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction isObject(x) {\n return x !== null && typeof x === 'object';\n}\n\nexports.isObject = isObject;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar identity_1 = require(\"./identity\");\n\nfunction pipe() {\n var fns = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n\n return pipeFromArray(fns);\n}\n\nexports.pipe = pipe;\n\nfunction pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity_1.identity;\n }\n\n if (fns.length === 1) {\n return fns[0];\n }\n\n return function piped(input) {\n return fns.reduce(function (prev, fn) {\n return fn(prev);\n }, input);\n };\n}\n\nexports.pipeFromArray = pipeFromArray;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar Subscriber_1 = require(\"../Subscriber\");\n\nvar rxSubscriber_1 = require(\"../symbol/rxSubscriber\");\n\nvar Observer_1 = require(\"../Observer\");\n\nfunction toSubscriber(nextOrObserver, error, complete) {\n if (nextOrObserver) {\n if (nextOrObserver instanceof Subscriber_1.Subscriber) {\n return nextOrObserver;\n }\n\n if (nextOrObserver[rxSubscriber_1.rxSubscriber]) {\n return nextOrObserver[rxSubscriber_1.rxSubscriber]();\n }\n }\n\n if (!nextOrObserver && !error && !complete) {\n return new Subscriber_1.Subscriber(Observer_1.empty);\n }\n\n return new Subscriber_1.Subscriber(nextOrObserver, error, complete);\n}\n\nexports.toSubscriber = toSubscriber;","'use strict';\n\nvar url = require('url');\n\nmodule.exports = function (uri1, uri2, ieMode) {\n if (uri1 === uri2) {\n return true;\n }\n\n var url1 = url.parse(uri1, false, true);\n var url2 = url.parse(uri2, false, true);\n var url1Port = url1.port | 0 || (url1.protocol === 'https' ? 443 : 80);\n var url2Port = url2.port | 0 || (url2.protocol === 'https' ? 443 : 80);\n var match = {\n proto: url1.protocol === url2.protocol,\n hostname: url1.hostname === url2.hostname,\n port: url1Port === url2Port\n };\n return match.proto && match.hostname && (match.port || ieMode);\n};","/**\n * This file is only used for the browser version of `same-origin`.\n * Used to bring down the size of the browser bundle.\n */\n'use strict';\n\nvar regex = /^(?:(?:(?:([^:\\/#\\?]+:)?(?:(?:\\/\\/)((?:((?:[^:@\\/#\\?]+)(?:\\:(?:[^:@\\/#\\?]+))?)@)?(([^:\\/#\\?\\]\\[]+|\\[[^\\/\\]@#?]+\\])(?:\\:([0-9]+))?))?)?)?((?:\\/?(?:[^\\/\\?#]+\\/+)*)(?:[^\\?#]*)))?(\\?[^#]+)?)(#.*)?/;\nmodule.exports = {\n regex: regex,\n parse: function parse(url) {\n var match = regex.exec(url);\n\n if (!match) {\n return {};\n }\n\n return {\n protocol: (match[1] || '').toLowerCase() || undefined,\n hostname: (match[5] || '').toLowerCase() || undefined,\n port: match[6] || undefined\n };\n }\n};","'use strict';\n\nrequire(\"core-js/modules/es.string.trim-start.js\");\n\nvar required = require('requires-port'),\n qs = require('querystringify'),\n slashes = /^[A-Za-z][A-Za-z0-9+-.]*:\\/\\//,\n protocolre = /^([a-z][a-z0-9.+-]*:)?(\\/\\/)?([\\S\\s]*)/i,\n whitespace = \"[\\\\x09\\\\x0A\\\\x0B\\\\x0C\\\\x0D\\\\x20\\\\xA0\\\\u1680\\\\u180E\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200A\\\\u202F\\\\u205F\\\\u3000\\\\u2028\\\\u2029\\\\uFEFF]\",\n left = new RegExp('^' + whitespace + '+');\n/**\n * Trim a given string.\n *\n * @param {String} str String to trim.\n * @public\n */\n\n\nfunction trimLeft(str) {\n return (str ? str : '').toString().replace(left, '');\n}\n/**\n * These are the parse rules for the URL parser, it informs the parser\n * about:\n *\n * 0. The char it Needs to parse, if it's a string it should be done using\n * indexOf, RegExp using exec and NaN means set as current value.\n * 1. The property we should set when parsing this value.\n * 2. Indication if it's backwards or forward parsing, when set as number it's\n * the value of extra chars that should be split off.\n * 3. Inherit from location if non existing in the parser.\n * 4. `toLowerCase` the resulting value.\n */\n\n\nvar rules = [['#', 'hash'], // Extract from the back.\n['?', 'query'], // Extract from the back.\nfunction sanitize(address) {\n // Sanitize what is left of the address\n return address.replace('\\\\', '/');\n}, ['/', 'pathname'], // Extract from the back.\n['@', 'auth', 1], // Extract from the front.\n[NaN, 'host', undefined, 1, 1], // Set left over value.\n[/:(\\d+)$/, 'port', undefined, 1], // RegExp the back.\n[NaN, 'hostname', undefined, 1, 1] // Set left over.\n];\n/**\n * These properties should not be copied or inherited from. This is only needed\n * for all non blob URL's as a blob URL does not include a hash, only the\n * origin.\n *\n * @type {Object}\n * @private\n */\n\nvar ignore = {\n hash: 1,\n query: 1\n};\n/**\n * The location object differs when your code is loaded through a normal page,\n * Worker or through a worker using a blob. And with the blobble begins the\n * trouble as the location object will contain the URL of the blob, not the\n * location of the page where our code is loaded in. The actual origin is\n * encoded in the `pathname` so we can thankfully generate a good \"default\"\n * location from it so we can generate proper relative URL's again.\n *\n * @param {Object|String} loc Optional default location object.\n * @returns {Object} lolcation object.\n * @public\n */\n\nfunction lolcation(loc) {\n var globalVar;\n if (typeof window !== 'undefined') globalVar = window;else if (typeof global !== 'undefined') globalVar = global;else if (typeof self !== 'undefined') globalVar = self;else globalVar = {};\n var location = globalVar.location || {};\n loc = loc || location;\n var finaldestination = {},\n type = typeof loc,\n key;\n\n if ('blob:' === loc.protocol) {\n finaldestination = new Url(unescape(loc.pathname), {});\n } else if ('string' === type) {\n finaldestination = new Url(loc, {});\n\n for (key in ignore) {\n delete finaldestination[key];\n }\n } else if ('object' === type) {\n for (key in loc) {\n if (key in ignore) continue;\n finaldestination[key] = loc[key];\n }\n\n if (finaldestination.slashes === undefined) {\n finaldestination.slashes = slashes.test(loc.href);\n }\n }\n\n return finaldestination;\n}\n/**\n * @typedef ProtocolExtract\n * @type Object\n * @property {String} protocol Protocol matched in the URL, in lowercase.\n * @property {Boolean} slashes `true` if protocol is followed by \"//\", else `false`.\n * @property {String} rest Rest of the URL that is not part of the protocol.\n */\n\n/**\n * Extract protocol information from a URL with/without double slash (\"//\").\n *\n * @param {String} address URL we want to extract from.\n * @return {ProtocolExtract} Extracted information.\n * @private\n */\n\n\nfunction extractProtocol(address) {\n address = trimLeft(address);\n var match = protocolre.exec(address);\n return {\n protocol: match[1] ? match[1].toLowerCase() : '',\n slashes: !!match[2],\n rest: match[3]\n };\n}\n/**\n * Resolve a relative URL pathname against a base URL pathname.\n *\n * @param {String} relative Pathname of the relative URL.\n * @param {String} base Pathname of the base URL.\n * @return {String} Resolved pathname.\n * @private\n */\n\n\nfunction resolve(relative, base) {\n if (relative === '') return base;\n var path = (base || '/').split('/').slice(0, -1).concat(relative.split('/')),\n i = path.length,\n last = path[i - 1],\n unshift = false,\n up = 0;\n\n while (i--) {\n if (path[i] === '.') {\n path.splice(i, 1);\n } else if (path[i] === '..') {\n path.splice(i, 1);\n up++;\n } else if (up) {\n if (i === 0) unshift = true;\n path.splice(i, 1);\n up--;\n }\n }\n\n if (unshift) path.unshift('');\n if (last === '.' || last === '..') path.push('');\n return path.join('/');\n}\n/**\n * The actual URL instance. Instead of returning an object we've opted-in to\n * create an actual constructor as it's much more memory efficient and\n * faster and it pleases my OCD.\n *\n * It is worth noting that we should not use `URL` as class name to prevent\n * clashes with the global URL instance that got introduced in browsers.\n *\n * @constructor\n * @param {String} address URL we want to parse.\n * @param {Object|String} [location] Location defaults for relative paths.\n * @param {Boolean|Function} [parser] Parser for the query string.\n * @private\n */\n\n\nfunction Url(address, location, parser) {\n address = trimLeft(address);\n\n if (!(this instanceof Url)) {\n return new Url(address, location, parser);\n }\n\n var relative,\n extracted,\n parse,\n instruction,\n index,\n key,\n instructions = rules.slice(),\n type = typeof location,\n url = this,\n i = 0; //\n // The following if statements allows this module two have compatibility with\n // 2 different API:\n //\n // 1. Node.js's `url.parse` api which accepts a URL, boolean as arguments\n // where the boolean indicates that the query string should also be parsed.\n //\n // 2. The `URL` interface of the browser which accepts a URL, object as\n // arguments. The supplied object will be used as default values / fall-back\n // for relative paths.\n //\n\n if ('object' !== type && 'string' !== type) {\n parser = location;\n location = null;\n }\n\n if (parser && 'function' !== typeof parser) parser = qs.parse;\n location = lolcation(location); //\n // Extract protocol information before running the instructions.\n //\n\n extracted = extractProtocol(address || '');\n relative = !extracted.protocol && !extracted.slashes;\n url.slashes = extracted.slashes || relative && location.slashes;\n url.protocol = extracted.protocol || location.protocol || '';\n address = extracted.rest; //\n // When the authority component is absent the URL starts with a path\n // component.\n //\n\n if (!extracted.slashes) instructions[3] = [/(.*)/, 'pathname'];\n\n for (; i < instructions.length; i++) {\n instruction = instructions[i];\n\n if (typeof instruction === 'function') {\n address = instruction(address);\n continue;\n }\n\n parse = instruction[0];\n key = instruction[1];\n\n if (parse !== parse) {\n url[key] = address;\n } else if ('string' === typeof parse) {\n if (~(index = address.indexOf(parse))) {\n if ('number' === typeof instruction[2]) {\n url[key] = address.slice(0, index);\n address = address.slice(index + instruction[2]);\n } else {\n url[key] = address.slice(index);\n address = address.slice(0, index);\n }\n }\n } else if (index = parse.exec(address)) {\n url[key] = index[1];\n address = address.slice(0, index.index);\n }\n\n url[key] = url[key] || (relative && instruction[3] ? location[key] || '' : ''); //\n // Hostname, host and protocol should be lowercased so they can be used to\n // create a proper `origin`.\n //\n\n if (instruction[4]) url[key] = url[key].toLowerCase();\n } //\n // Also parse the supplied query string in to an object. If we're supplied\n // with a custom parser as function use that instead of the default build-in\n // parser.\n //\n\n\n if (parser) url.query = parser(url.query); //\n // If the URL is relative, resolve the pathname against the base URL.\n //\n\n if (relative && location.slashes && url.pathname.charAt(0) !== '/' && (url.pathname !== '' || location.pathname !== '')) {\n url.pathname = resolve(url.pathname, location.pathname);\n } //\n // We should not add port numbers if they are already the default port number\n // for a given protocol. As the host also contains the port number we're going\n // override it with the hostname which contains no port number.\n //\n\n\n if (!required(url.port, url.protocol)) {\n url.host = url.hostname;\n url.port = '';\n } //\n // Parse down the `auth` for the username and password.\n //\n\n\n url.username = url.password = '';\n\n if (url.auth) {\n instruction = url.auth.split(':');\n url.username = instruction[0] || '';\n url.password = instruction[1] || '';\n }\n\n url.origin = url.protocol && url.host && url.protocol !== 'file:' ? url.protocol + '//' + url.host : 'null'; //\n // The href is just the compiled result.\n //\n\n url.href = url.toString();\n}\n/**\n * This is convenience method for changing properties in the URL instance to\n * insure that they all propagate correctly.\n *\n * @param {String} part Property we need to adjust.\n * @param {Mixed} value The newly assigned value.\n * @param {Boolean|Function} fn When setting the query, it will be the function\n * used to parse the query.\n * When setting the protocol, double slash will be\n * removed from the final url if it is true.\n * @returns {URL} URL instance for chaining.\n * @public\n */\n\n\nfunction set(part, value, fn) {\n var url = this;\n\n switch (part) {\n case 'query':\n if ('string' === typeof value && value.length) {\n value = (fn || qs.parse)(value);\n }\n\n url[part] = value;\n break;\n\n case 'port':\n url[part] = value;\n\n if (!required(value, url.protocol)) {\n url.host = url.hostname;\n url[part] = '';\n } else if (value) {\n url.host = url.hostname + ':' + value;\n }\n\n break;\n\n case 'hostname':\n url[part] = value;\n if (url.port) value += ':' + url.port;\n url.host = value;\n break;\n\n case 'host':\n url[part] = value;\n\n if (/:\\d+$/.test(value)) {\n value = value.split(':');\n url.port = value.pop();\n url.hostname = value.join(':');\n } else {\n url.hostname = value;\n url.port = '';\n }\n\n break;\n\n case 'protocol':\n url.protocol = value.toLowerCase();\n url.slashes = !fn;\n break;\n\n case 'pathname':\n case 'hash':\n if (value) {\n var char = part === 'pathname' ? '/' : '#';\n url[part] = value.charAt(0) !== char ? char + value : value;\n } else {\n url[part] = value;\n }\n\n break;\n\n default:\n url[part] = value;\n }\n\n for (var i = 0; i < rules.length; i++) {\n var ins = rules[i];\n if (ins[4]) url[ins[1]] = url[ins[1]].toLowerCase();\n }\n\n url.origin = url.protocol && url.host && url.protocol !== 'file:' ? url.protocol + '//' + url.host : 'null';\n url.href = url.toString();\n return url;\n}\n/**\n * Transform the properties back in to a valid and full URL string.\n *\n * @param {Function} stringify Optional query stringify function.\n * @returns {String} Compiled version of the URL.\n * @public\n */\n\n\nfunction toString(stringify) {\n if (!stringify || 'function' !== typeof stringify) stringify = qs.stringify;\n var query,\n url = this,\n protocol = url.protocol;\n if (protocol && protocol.charAt(protocol.length - 1) !== ':') protocol += ':';\n var result = protocol + (url.slashes ? '//' : '');\n\n if (url.username) {\n result += url.username;\n if (url.password) result += ':' + url.password;\n result += '@';\n }\n\n result += url.host + url.pathname;\n query = 'object' === typeof url.query ? stringify(url.query) : url.query;\n if (query) result += '?' !== query.charAt(0) ? '?' + query : query;\n if (url.hash) result += url.hash;\n return result;\n}\n\nUrl.prototype = {\n set: set,\n toString: toString\n}; //\n// Expose the URL parser and some additional properties that might be useful for\n// others or testing.\n//\n\nUrl.extractProtocol = extractProtocol;\nUrl.location = lolcation;\nUrl.trimLeft = trimLeft;\nUrl.qs = qs;\nmodule.exports = Url;","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","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.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\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 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","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 fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\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","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\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","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","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","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","module.exports = {};\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","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 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","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","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","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = false;\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 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.es/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 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.es/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 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.es/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","exports.f = Object.getOwnPropertySymbols;\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 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.es/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 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","var global = require('../internals/global');\n\nmodule.exports = global;\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","// `RequireObjectCoercible` abstract operation\n// https://tc39.es/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 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","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","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","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.3',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","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.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\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","// 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 ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.es/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/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","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","// 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","'use strict';\nvar $ = require('../internals/export');\nvar $trimStart = require('../internals/string-trim').start;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\nvar FORCED = forcedStringTrimMethod('trimStart');\n\nvar trimStart = FORCED ? function trimStart() {\n return $trimStart(this);\n} : ''.trimStart;\n\n// `String.prototype.{ trimStart, trimLeft }` methods\n// https://tc39.es/ecma262/#sec-string.prototype.trimstart\n// https://tc39.es/ecma262/#String.prototype.trimleft\n$({ target: 'String', proto: true, forced: FORCED }, {\n trimStart: trimStart,\n trimLeft: trimStart\n});\n","import * as React from 'react'\nimport { Link, graphql, useStaticQuery } from 'gatsby'\nimport BlockContent from '@sanity/block-content-to-react'\nimport { serializers, removeP } from '../misc/serializers'\nimport './cookiebar.scss'\n\nexport interface CookieBarProps {\n localeCode: string\n}\n\nconst acceptCookies = () => {\n localStorage.acceptedCookies = 'true'\n var e = document.getElementById('cookiebar')\n e.classList.replace('visible', 'hidden')\n}\n\nconst AcceptCookies = (props: CookieBarProps) => {\n const data = useStaticQuery(graphql`\n {\n sanityStaticTextCookies {\n ...CookiesFragment\n }\n }\n `)\n\n //To match the translation in the grapql request\n const localeCodeBody =\n '_raw' + props.localeCode.charAt(0).toUpperCase() + props.localeCode.slice(1)\n\n const defaultCookieInformation = data.sanityStaticTextCookies.body['_rawEn']\n const { title, body, termsAndConditionsLink, buttonText } = data.sanityStaticTextCookies\n\n return (\n \n
\n
\n
{title[props.localeCode] ? title[props.localeCode] : title['en']}
\n
\n \n \n {' '}\n {termsAndConditionsLink[props.localeCode]\n ? termsAndConditionsLink[props.localeCode]\n : termsAndConditionsLink['en']}\n \n
\n
\n\n
\n \n
\n
\n \n )\n}\n\nexport default AcceptCookies\n","import React, { useState, useEffect } from 'react'\nimport Header from '../header/Header'\nimport Footer from '../footer/Footer'\nimport CookieBar from './../../misc/CookieBar'\n\nexport interface LayoutProps {\n children: any\n localeCode: string\n}\n\nconst Layout = (props: LayoutProps) => {\n const [showCookieBar, setShowCookieBar] = useState(false)\n\n // This runs when the page is loaded.\n useEffect(() => {\n if (localStorage.acceptedCookies !== 'true') {\n setShowCookieBar(true)\n }\n }, [])\n\n const children = props.children\n return (\n <>\n {children}\n {showCookieBar && }\n \n )\n}\n\nexport default Layout\n","import PropTypes from 'prop-types';\nimport withSideEffect from 'react-side-effect';\nimport isEqual from 'react-fast-compare';\nimport React from 'react';\nimport objectAssign from 'object-assign';\nvar ATTRIBUTE_NAMES = {\n BODY: \"bodyAttributes\",\n HTML: \"htmlAttributes\",\n TITLE: \"titleAttributes\"\n};\nvar TAG_NAMES = {\n BASE: \"base\",\n BODY: \"body\",\n HEAD: \"head\",\n HTML: \"html\",\n LINK: \"link\",\n META: \"meta\",\n NOSCRIPT: \"noscript\",\n SCRIPT: \"script\",\n STYLE: \"style\",\n TITLE: \"title\"\n};\nvar VALID_TAG_NAMES = Object.keys(TAG_NAMES).map(function (name) {\n return TAG_NAMES[name];\n});\nvar TAG_PROPERTIES = {\n CHARSET: \"charset\",\n CSS_TEXT: \"cssText\",\n HREF: \"href\",\n HTTPEQUIV: \"http-equiv\",\n INNER_HTML: \"innerHTML\",\n ITEM_PROP: \"itemprop\",\n NAME: \"name\",\n PROPERTY: \"property\",\n REL: \"rel\",\n SRC: \"src\",\n TARGET: \"target\"\n};\nvar REACT_TAG_MAP = {\n accesskey: \"accessKey\",\n charset: \"charSet\",\n class: \"className\",\n contenteditable: \"contentEditable\",\n contextmenu: \"contextMenu\",\n \"http-equiv\": \"httpEquiv\",\n itemprop: \"itemProp\",\n tabindex: \"tabIndex\"\n};\nvar HELMET_PROPS = {\n DEFAULT_TITLE: \"defaultTitle\",\n DEFER: \"defer\",\n ENCODE_SPECIAL_CHARACTERS: \"encodeSpecialCharacters\",\n ON_CHANGE_CLIENT_STATE: \"onChangeClientState\",\n TITLE_TEMPLATE: \"titleTemplate\"\n};\nvar HTML_TAG_MAP = Object.keys(REACT_TAG_MAP).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key]] = key;\n return obj;\n}, {});\nvar SELF_CLOSING_TAGS = [TAG_NAMES.NOSCRIPT, TAG_NAMES.SCRIPT, TAG_NAMES.STYLE];\nvar HELMET_ATTRIBUTE = \"data-react-helmet\";\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar classCallCheck = function classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _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\nvar inherits = function inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar objectWithoutProperties = function objectWithoutProperties(obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar encodeSpecialCharacters = function encodeSpecialCharacters(str) {\n var encode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (encode === false) {\n return String(str);\n }\n\n return String(str).replace(/&/g, \"&\").replace(//g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\");\n};\n\nvar getTitleFromPropsList = function getTitleFromPropsList(propsList) {\n var innermostTitle = getInnermostProperty(propsList, TAG_NAMES.TITLE);\n var innermostTemplate = getInnermostProperty(propsList, HELMET_PROPS.TITLE_TEMPLATE);\n\n if (innermostTemplate && innermostTitle) {\n // use function arg to avoid need to escape $ characters\n return innermostTemplate.replace(/%s/g, function () {\n return Array.isArray(innermostTitle) ? innermostTitle.join(\"\") : innermostTitle;\n });\n }\n\n var innermostDefaultTitle = getInnermostProperty(propsList, HELMET_PROPS.DEFAULT_TITLE);\n return innermostTitle || innermostDefaultTitle || undefined;\n};\n\nvar getOnChangeClientState = function getOnChangeClientState(propsList) {\n return getInnermostProperty(propsList, HELMET_PROPS.ON_CHANGE_CLIENT_STATE) || function () {};\n};\n\nvar getAttributesFromPropsList = function getAttributesFromPropsList(tagType, propsList) {\n return propsList.filter(function (props) {\n return typeof props[tagType] !== \"undefined\";\n }).map(function (props) {\n return props[tagType];\n }).reduce(function (tagAttrs, current) {\n return _extends({}, tagAttrs, current);\n }, {});\n};\n\nvar getBaseTagFromPropsList = function getBaseTagFromPropsList(primaryAttributes, propsList) {\n return propsList.filter(function (props) {\n return typeof props[TAG_NAMES.BASE] !== \"undefined\";\n }).map(function (props) {\n return props[TAG_NAMES.BASE];\n }).reverse().reduce(function (innermostBaseTag, tag) {\n if (!innermostBaseTag.length) {\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase();\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && tag[lowerCaseAttributeKey]) {\n return innermostBaseTag.concat(tag);\n }\n }\n }\n\n return innermostBaseTag;\n }, []);\n};\n\nvar getTagsFromPropsList = function getTagsFromPropsList(tagName, primaryAttributes, propsList) {\n // Calculate list of tags, giving priority innermost component (end of the propslist)\n var approvedSeenTags = {};\n return propsList.filter(function (props) {\n if (Array.isArray(props[tagName])) {\n return true;\n }\n\n if (typeof props[tagName] !== \"undefined\") {\n warn(\"Helmet: \" + tagName + \" should be of type \\\"Array\\\". Instead found type \\\"\" + _typeof(props[tagName]) + \"\\\"\");\n }\n\n return false;\n }).map(function (props) {\n return props[tagName];\n }).reverse().reduce(function (approvedTags, instanceTags) {\n var instanceSeenTags = {};\n instanceTags.filter(function (tag) {\n var primaryAttributeKey = void 0;\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase(); // Special rule with link tags, since rel and href are both primary tags, rel takes priority\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && !(primaryAttributeKey === TAG_PROPERTIES.REL && tag[primaryAttributeKey].toLowerCase() === \"canonical\") && !(lowerCaseAttributeKey === TAG_PROPERTIES.REL && tag[lowerCaseAttributeKey].toLowerCase() === \"stylesheet\")) {\n primaryAttributeKey = lowerCaseAttributeKey;\n } // Special case for innerHTML which doesn't work lowercased\n\n\n if (primaryAttributes.indexOf(attributeKey) !== -1 && (attributeKey === TAG_PROPERTIES.INNER_HTML || attributeKey === TAG_PROPERTIES.CSS_TEXT || attributeKey === TAG_PROPERTIES.ITEM_PROP)) {\n primaryAttributeKey = attributeKey;\n }\n }\n\n if (!primaryAttributeKey || !tag[primaryAttributeKey]) {\n return false;\n }\n\n var value = tag[primaryAttributeKey].toLowerCase();\n\n if (!approvedSeenTags[primaryAttributeKey]) {\n approvedSeenTags[primaryAttributeKey] = {};\n }\n\n if (!instanceSeenTags[primaryAttributeKey]) {\n instanceSeenTags[primaryAttributeKey] = {};\n }\n\n if (!approvedSeenTags[primaryAttributeKey][value]) {\n instanceSeenTags[primaryAttributeKey][value] = true;\n return true;\n }\n\n return false;\n }).reverse().forEach(function (tag) {\n return approvedTags.push(tag);\n }); // Update seen tags with tags from this instance\n\n var keys = Object.keys(instanceSeenTags);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var tagUnion = objectAssign({}, approvedSeenTags[attributeKey], instanceSeenTags[attributeKey]);\n approvedSeenTags[attributeKey] = tagUnion;\n }\n\n return approvedTags;\n }, []).reverse();\n};\n\nvar getInnermostProperty = function getInnermostProperty(propsList, property) {\n for (var i = propsList.length - 1; i >= 0; i--) {\n var props = propsList[i];\n\n if (props.hasOwnProperty(property)) {\n return props[property];\n }\n }\n\n return null;\n};\n\nvar reducePropsToState = function reducePropsToState(propsList) {\n return {\n baseTag: getBaseTagFromPropsList([TAG_PROPERTIES.HREF, TAG_PROPERTIES.TARGET], propsList),\n bodyAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.BODY, propsList),\n defer: getInnermostProperty(propsList, HELMET_PROPS.DEFER),\n encode: getInnermostProperty(propsList, HELMET_PROPS.ENCODE_SPECIAL_CHARACTERS),\n htmlAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.HTML, propsList),\n linkTags: getTagsFromPropsList(TAG_NAMES.LINK, [TAG_PROPERTIES.REL, TAG_PROPERTIES.HREF], propsList),\n metaTags: getTagsFromPropsList(TAG_NAMES.META, [TAG_PROPERTIES.NAME, TAG_PROPERTIES.CHARSET, TAG_PROPERTIES.HTTPEQUIV, TAG_PROPERTIES.PROPERTY, TAG_PROPERTIES.ITEM_PROP], propsList),\n noscriptTags: getTagsFromPropsList(TAG_NAMES.NOSCRIPT, [TAG_PROPERTIES.INNER_HTML], propsList),\n onChangeClientState: getOnChangeClientState(propsList),\n scriptTags: getTagsFromPropsList(TAG_NAMES.SCRIPT, [TAG_PROPERTIES.SRC, TAG_PROPERTIES.INNER_HTML], propsList),\n styleTags: getTagsFromPropsList(TAG_NAMES.STYLE, [TAG_PROPERTIES.CSS_TEXT], propsList),\n title: getTitleFromPropsList(propsList),\n titleAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.TITLE, propsList)\n };\n};\n\nvar rafPolyfill = function () {\n var clock = Date.now();\n return function (callback) {\n var currentTime = Date.now();\n\n if (currentTime - clock > 16) {\n clock = currentTime;\n callback(currentTime);\n } else {\n setTimeout(function () {\n rafPolyfill(callback);\n }, 0);\n }\n };\n}();\n\nvar cafPolyfill = function cafPolyfill(id) {\n return clearTimeout(id);\n};\n\nvar requestAnimationFrame = typeof window !== \"undefined\" ? window.requestAnimationFrame && window.requestAnimationFrame.bind(window) || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || rafPolyfill : global.requestAnimationFrame || rafPolyfill;\nvar cancelAnimationFrame = typeof window !== \"undefined\" ? window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || cafPolyfill : global.cancelAnimationFrame || cafPolyfill;\n\nvar warn = function warn(msg) {\n return console && typeof console.warn === \"function\" && console.warn(msg);\n};\n\nvar _helmetCallback = null;\n\nvar handleClientStateChange = function handleClientStateChange(newState) {\n if (_helmetCallback) {\n cancelAnimationFrame(_helmetCallback);\n }\n\n if (newState.defer) {\n _helmetCallback = requestAnimationFrame(function () {\n commitTagChanges(newState, function () {\n _helmetCallback = null;\n });\n });\n } else {\n commitTagChanges(newState);\n _helmetCallback = null;\n }\n};\n\nvar commitTagChanges = function commitTagChanges(newState, cb) {\n var baseTag = newState.baseTag,\n bodyAttributes = newState.bodyAttributes,\n htmlAttributes = newState.htmlAttributes,\n linkTags = newState.linkTags,\n metaTags = newState.metaTags,\n noscriptTags = newState.noscriptTags,\n onChangeClientState = newState.onChangeClientState,\n scriptTags = newState.scriptTags,\n styleTags = newState.styleTags,\n title = newState.title,\n titleAttributes = newState.titleAttributes;\n updateAttributes(TAG_NAMES.BODY, bodyAttributes);\n updateAttributes(TAG_NAMES.HTML, htmlAttributes);\n updateTitle(title, titleAttributes);\n var tagUpdates = {\n baseTag: updateTags(TAG_NAMES.BASE, baseTag),\n linkTags: updateTags(TAG_NAMES.LINK, linkTags),\n metaTags: updateTags(TAG_NAMES.META, metaTags),\n noscriptTags: updateTags(TAG_NAMES.NOSCRIPT, noscriptTags),\n scriptTags: updateTags(TAG_NAMES.SCRIPT, scriptTags),\n styleTags: updateTags(TAG_NAMES.STYLE, styleTags)\n };\n var addedTags = {};\n var removedTags = {};\n Object.keys(tagUpdates).forEach(function (tagType) {\n var _tagUpdates$tagType = tagUpdates[tagType],\n newTags = _tagUpdates$tagType.newTags,\n oldTags = _tagUpdates$tagType.oldTags;\n\n if (newTags.length) {\n addedTags[tagType] = newTags;\n }\n\n if (oldTags.length) {\n removedTags[tagType] = tagUpdates[tagType].oldTags;\n }\n });\n cb && cb();\n onChangeClientState(newState, addedTags, removedTags);\n};\n\nvar flattenArray = function flattenArray(possibleArray) {\n return Array.isArray(possibleArray) ? possibleArray.join(\"\") : possibleArray;\n};\n\nvar updateTitle = function updateTitle(title, attributes) {\n if (typeof title !== \"undefined\" && document.title !== title) {\n document.title = flattenArray(title);\n }\n\n updateAttributes(TAG_NAMES.TITLE, attributes);\n};\n\nvar updateAttributes = function updateAttributes(tagName, attributes) {\n var elementTag = document.getElementsByTagName(tagName)[0];\n\n if (!elementTag) {\n return;\n }\n\n var helmetAttributeString = elementTag.getAttribute(HELMET_ATTRIBUTE);\n var helmetAttributes = helmetAttributeString ? helmetAttributeString.split(\",\") : [];\n var attributesToRemove = [].concat(helmetAttributes);\n var attributeKeys = Object.keys(attributes);\n\n for (var i = 0; i < attributeKeys.length; i++) {\n var attribute = attributeKeys[i];\n var value = attributes[attribute] || \"\";\n\n if (elementTag.getAttribute(attribute) !== value) {\n elementTag.setAttribute(attribute, value);\n }\n\n if (helmetAttributes.indexOf(attribute) === -1) {\n helmetAttributes.push(attribute);\n }\n\n var indexToSave = attributesToRemove.indexOf(attribute);\n\n if (indexToSave !== -1) {\n attributesToRemove.splice(indexToSave, 1);\n }\n }\n\n for (var _i = attributesToRemove.length - 1; _i >= 0; _i--) {\n elementTag.removeAttribute(attributesToRemove[_i]);\n }\n\n if (helmetAttributes.length === attributesToRemove.length) {\n elementTag.removeAttribute(HELMET_ATTRIBUTE);\n } else if (elementTag.getAttribute(HELMET_ATTRIBUTE) !== attributeKeys.join(\",\")) {\n elementTag.setAttribute(HELMET_ATTRIBUTE, attributeKeys.join(\",\"));\n }\n};\n\nvar updateTags = function updateTags(type, tags) {\n var headElement = document.head || document.querySelector(TAG_NAMES.HEAD);\n var tagNodes = headElement.querySelectorAll(type + \"[\" + HELMET_ATTRIBUTE + \"]\");\n var oldTags = Array.prototype.slice.call(tagNodes);\n var newTags = [];\n var indexToDelete = void 0;\n\n if (tags && tags.length) {\n tags.forEach(function (tag) {\n var newElement = document.createElement(type);\n\n for (var attribute in tag) {\n if (tag.hasOwnProperty(attribute)) {\n if (attribute === TAG_PROPERTIES.INNER_HTML) {\n newElement.innerHTML = tag.innerHTML;\n } else if (attribute === TAG_PROPERTIES.CSS_TEXT) {\n if (newElement.styleSheet) {\n newElement.styleSheet.cssText = tag.cssText;\n } else {\n newElement.appendChild(document.createTextNode(tag.cssText));\n }\n } else {\n var value = typeof tag[attribute] === \"undefined\" ? \"\" : tag[attribute];\n newElement.setAttribute(attribute, value);\n }\n }\n }\n\n newElement.setAttribute(HELMET_ATTRIBUTE, \"true\"); // Remove a duplicate tag from domTagstoRemove, so it isn't cleared.\n\n if (oldTags.some(function (existingTag, index) {\n indexToDelete = index;\n return newElement.isEqualNode(existingTag);\n })) {\n oldTags.splice(indexToDelete, 1);\n } else {\n newTags.push(newElement);\n }\n });\n }\n\n oldTags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n newTags.forEach(function (tag) {\n return headElement.appendChild(tag);\n });\n return {\n oldTags: oldTags,\n newTags: newTags\n };\n};\n\nvar generateElementAttributesAsString = function generateElementAttributesAsString(attributes) {\n return Object.keys(attributes).reduce(function (str, key) {\n var attr = typeof attributes[key] !== \"undefined\" ? key + \"=\\\"\" + attributes[key] + \"\\\"\" : \"\" + key;\n return str ? str + \" \" + attr : attr;\n }, \"\");\n};\n\nvar generateTitleAsString = function generateTitleAsString(type, title, attributes, encode) {\n var attributeString = generateElementAttributesAsString(attributes);\n var flattenedTitle = flattenArray(title);\n return attributeString ? \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeString + \">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"\" : \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"\";\n};\n\nvar generateTagsAsString = function generateTagsAsString(type, tags, encode) {\n return tags.reduce(function (str, tag) {\n var attributeHtml = Object.keys(tag).filter(function (attribute) {\n return !(attribute === TAG_PROPERTIES.INNER_HTML || attribute === TAG_PROPERTIES.CSS_TEXT);\n }).reduce(function (string, attribute) {\n var attr = typeof tag[attribute] === \"undefined\" ? attribute : attribute + \"=\\\"\" + encodeSpecialCharacters(tag[attribute], encode) + \"\\\"\";\n return string ? string + \" \" + attr : attr;\n }, \"\");\n var tagContent = tag.innerHTML || tag.cssText || \"\";\n var isSelfClosing = SELF_CLOSING_TAGS.indexOf(type) === -1;\n return str + \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeHtml + (isSelfClosing ? \"/>\" : \">\" + tagContent + \"\");\n }, \"\");\n};\n\nvar convertElementAttributestoReactProps = function convertElementAttributestoReactProps(attributes) {\n var initProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return Object.keys(attributes).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key] || key] = attributes[key];\n return obj;\n }, initProps);\n};\n\nvar convertReactPropstoHtmlAttributes = function convertReactPropstoHtmlAttributes(props) {\n var initAttributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return Object.keys(props).reduce(function (obj, key) {\n obj[HTML_TAG_MAP[key] || key] = props[key];\n return obj;\n }, initAttributes);\n};\n\nvar generateTitleAsReactComponent = function generateTitleAsReactComponent(type, title, attributes) {\n var _initProps; // assigning into an array to define toString function on it\n\n\n var initProps = (_initProps = {\n key: title\n }, _initProps[HELMET_ATTRIBUTE] = true, _initProps);\n var props = convertElementAttributestoReactProps(attributes, initProps);\n return [React.createElement(TAG_NAMES.TITLE, props, title)];\n};\n\nvar generateTagsAsReactComponent = function generateTagsAsReactComponent(type, tags) {\n return tags.map(function (tag, i) {\n var _mappedTag;\n\n var mappedTag = (_mappedTag = {\n key: i\n }, _mappedTag[HELMET_ATTRIBUTE] = true, _mappedTag);\n Object.keys(tag).forEach(function (attribute) {\n var mappedAttribute = REACT_TAG_MAP[attribute] || attribute;\n\n if (mappedAttribute === TAG_PROPERTIES.INNER_HTML || mappedAttribute === TAG_PROPERTIES.CSS_TEXT) {\n var content = tag.innerHTML || tag.cssText;\n mappedTag.dangerouslySetInnerHTML = {\n __html: content\n };\n } else {\n mappedTag[mappedAttribute] = tag[attribute];\n }\n });\n return React.createElement(type, mappedTag);\n });\n};\n\nvar getMethodsForTag = function getMethodsForTag(type, tags, encode) {\n switch (type) {\n case TAG_NAMES.TITLE:\n return {\n toComponent: function toComponent() {\n return generateTitleAsReactComponent(type, tags.title, tags.titleAttributes, encode);\n },\n toString: function toString() {\n return generateTitleAsString(type, tags.title, tags.titleAttributes, encode);\n }\n };\n\n case ATTRIBUTE_NAMES.BODY:\n case ATTRIBUTE_NAMES.HTML:\n return {\n toComponent: function toComponent() {\n return convertElementAttributestoReactProps(tags);\n },\n toString: function toString() {\n return generateElementAttributesAsString(tags);\n }\n };\n\n default:\n return {\n toComponent: function toComponent() {\n return generateTagsAsReactComponent(type, tags);\n },\n toString: function toString() {\n return generateTagsAsString(type, tags, encode);\n }\n };\n }\n};\n\nvar mapStateOnServer = function mapStateOnServer(_ref) {\n var baseTag = _ref.baseTag,\n bodyAttributes = _ref.bodyAttributes,\n encode = _ref.encode,\n htmlAttributes = _ref.htmlAttributes,\n linkTags = _ref.linkTags,\n metaTags = _ref.metaTags,\n noscriptTags = _ref.noscriptTags,\n scriptTags = _ref.scriptTags,\n styleTags = _ref.styleTags,\n _ref$title = _ref.title,\n title = _ref$title === undefined ? \"\" : _ref$title,\n titleAttributes = _ref.titleAttributes;\n return {\n base: getMethodsForTag(TAG_NAMES.BASE, baseTag, encode),\n bodyAttributes: getMethodsForTag(ATTRIBUTE_NAMES.BODY, bodyAttributes, encode),\n htmlAttributes: getMethodsForTag(ATTRIBUTE_NAMES.HTML, htmlAttributes, encode),\n link: getMethodsForTag(TAG_NAMES.LINK, linkTags, encode),\n meta: getMethodsForTag(TAG_NAMES.META, metaTags, encode),\n noscript: getMethodsForTag(TAG_NAMES.NOSCRIPT, noscriptTags, encode),\n script: getMethodsForTag(TAG_NAMES.SCRIPT, scriptTags, encode),\n style: getMethodsForTag(TAG_NAMES.STYLE, styleTags, encode),\n title: getMethodsForTag(TAG_NAMES.TITLE, {\n title: title,\n titleAttributes: titleAttributes\n }, encode)\n };\n};\n\nvar Helmet = function Helmet(Component) {\n var _class, _temp;\n\n return _temp = _class = function (_React$Component) {\n inherits(HelmetWrapper, _React$Component);\n\n function HelmetWrapper() {\n classCallCheck(this, HelmetWrapper);\n return possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n HelmetWrapper.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return !isEqual(this.props, nextProps);\n };\n\n HelmetWrapper.prototype.mapNestedChildrenToProps = function mapNestedChildrenToProps(child, nestedChildren) {\n if (!nestedChildren) {\n return null;\n }\n\n switch (child.type) {\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.NOSCRIPT:\n return {\n innerHTML: nestedChildren\n };\n\n case TAG_NAMES.STYLE:\n return {\n cssText: nestedChildren\n };\n }\n\n throw new Error(\"<\" + child.type + \" /> elements are self-closing and can not contain children. Refer to our API for more information.\");\n };\n\n HelmetWrapper.prototype.flattenArrayTypeChildren = function flattenArrayTypeChildren(_ref) {\n var _babelHelpers$extends;\n\n var child = _ref.child,\n arrayTypeChildren = _ref.arrayTypeChildren,\n newChildProps = _ref.newChildProps,\n nestedChildren = _ref.nestedChildren;\n return _extends({}, arrayTypeChildren, (_babelHelpers$extends = {}, _babelHelpers$extends[child.type] = [].concat(arrayTypeChildren[child.type] || [], [_extends({}, newChildProps, this.mapNestedChildrenToProps(child, nestedChildren))]), _babelHelpers$extends));\n };\n\n HelmetWrapper.prototype.mapObjectTypeChildren = function mapObjectTypeChildren(_ref2) {\n var _babelHelpers$extends2, _babelHelpers$extends3;\n\n var child = _ref2.child,\n newProps = _ref2.newProps,\n newChildProps = _ref2.newChildProps,\n nestedChildren = _ref2.nestedChildren;\n\n switch (child.type) {\n case TAG_NAMES.TITLE:\n return _extends({}, newProps, (_babelHelpers$extends2 = {}, _babelHelpers$extends2[child.type] = nestedChildren, _babelHelpers$extends2.titleAttributes = _extends({}, newChildProps), _babelHelpers$extends2));\n\n case TAG_NAMES.BODY:\n return _extends({}, newProps, {\n bodyAttributes: _extends({}, newChildProps)\n });\n\n case TAG_NAMES.HTML:\n return _extends({}, newProps, {\n htmlAttributes: _extends({}, newChildProps)\n });\n }\n\n return _extends({}, newProps, (_babelHelpers$extends3 = {}, _babelHelpers$extends3[child.type] = _extends({}, newChildProps), _babelHelpers$extends3));\n };\n\n HelmetWrapper.prototype.mapArrayTypeChildrenToProps = function mapArrayTypeChildrenToProps(arrayTypeChildren, newProps) {\n var newFlattenedProps = _extends({}, newProps);\n\n Object.keys(arrayTypeChildren).forEach(function (arrayChildName) {\n var _babelHelpers$extends4;\n\n newFlattenedProps = _extends({}, newFlattenedProps, (_babelHelpers$extends4 = {}, _babelHelpers$extends4[arrayChildName] = arrayTypeChildren[arrayChildName], _babelHelpers$extends4));\n });\n return newFlattenedProps;\n };\n\n HelmetWrapper.prototype.warnOnInvalidChildren = function warnOnInvalidChildren(child, nestedChildren) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!VALID_TAG_NAMES.some(function (name) {\n return child.type === name;\n })) {\n if (typeof child.type === \"function\") {\n return warn(\"You may be attempting to nest components within each other, which is not allowed. Refer to our API for more information.\");\n }\n\n return warn(\"Only elements types \" + VALID_TAG_NAMES.join(\", \") + \" are allowed. Helmet does not support rendering <\" + child.type + \"> elements. Refer to our API for more information.\");\n }\n\n if (nestedChildren && typeof nestedChildren !== \"string\" && (!Array.isArray(nestedChildren) || nestedChildren.some(function (nestedChild) {\n return typeof nestedChild !== \"string\";\n }))) {\n throw new Error(\"Helmet expects a string as a child of <\" + child.type + \">. Did you forget to wrap your children in braces? ( <\" + child.type + \">{``} ) Refer to our API for more information.\");\n }\n }\n\n return true;\n };\n\n HelmetWrapper.prototype.mapChildrenToProps = function mapChildrenToProps(children, newProps) {\n var _this2 = this;\n\n var arrayTypeChildren = {};\n React.Children.forEach(children, function (child) {\n if (!child || !child.props) {\n return;\n }\n\n var _child$props = child.props,\n nestedChildren = _child$props.children,\n childProps = objectWithoutProperties(_child$props, [\"children\"]);\n var newChildProps = convertReactPropstoHtmlAttributes(childProps);\n\n _this2.warnOnInvalidChildren(child, nestedChildren);\n\n switch (child.type) {\n case TAG_NAMES.LINK:\n case TAG_NAMES.META:\n case TAG_NAMES.NOSCRIPT:\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.STYLE:\n arrayTypeChildren = _this2.flattenArrayTypeChildren({\n child: child,\n arrayTypeChildren: arrayTypeChildren,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n\n default:\n newProps = _this2.mapObjectTypeChildren({\n child: child,\n newProps: newProps,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n }\n });\n newProps = this.mapArrayTypeChildrenToProps(arrayTypeChildren, newProps);\n return newProps;\n };\n\n HelmetWrapper.prototype.render = function render() {\n var _props = this.props,\n children = _props.children,\n props = objectWithoutProperties(_props, [\"children\"]);\n\n var newProps = _extends({}, props);\n\n if (children) {\n newProps = this.mapChildrenToProps(children, newProps);\n }\n\n return React.createElement(Component, newProps);\n };\n\n createClass(HelmetWrapper, null, [{\n key: \"canUseDOM\",\n // Component.peek comes from react-side-effect:\n // For testing, you may use a static peek() method available on the returned component.\n // It lets you get the current state without resetting the mounted instance stack.\n // Don’t use it for anything other than testing.\n\n /**\n * @param {Object} base: {\"target\": \"_blank\", \"href\": \"http://mysite.com/\"}\n * @param {Object} bodyAttributes: {\"className\": \"root\"}\n * @param {String} defaultTitle: \"Default Title\"\n * @param {Boolean} defer: true\n * @param {Boolean} encodeSpecialCharacters: true\n * @param {Object} htmlAttributes: {\"lang\": \"en\", \"amp\": undefined}\n * @param {Array} link: [{\"rel\": \"canonical\", \"href\": \"http://mysite.com/example\"}]\n * @param {Array} meta: [{\"name\": \"description\", \"content\": \"Test description\"}]\n * @param {Array} noscript: [{\"innerHTML\": \" console.log(newState)\"\n * @param {Array} script: [{\"type\": \"text/javascript\", \"src\": \"http://mysite.com/js/test.js\"}]\n * @param {Array} style: [{\"type\": \"text/css\", \"cssText\": \"div { display: block; color: blue; }\"}]\n * @param {String} title: \"Title\"\n * @param {Object} titleAttributes: {\"itemprop\": \"name\"}\n * @param {String} titleTemplate: \"MySite.com - %s\"\n */\n set: function set$$1(canUseDOM) {\n Component.canUseDOM = canUseDOM;\n }\n }]);\n return HelmetWrapper;\n }(React.Component), _class.propTypes = {\n base: PropTypes.object,\n bodyAttributes: PropTypes.object,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n defaultTitle: PropTypes.string,\n defer: PropTypes.bool,\n encodeSpecialCharacters: PropTypes.bool,\n htmlAttributes: PropTypes.object,\n link: PropTypes.arrayOf(PropTypes.object),\n meta: PropTypes.arrayOf(PropTypes.object),\n noscript: PropTypes.arrayOf(PropTypes.object),\n onChangeClientState: PropTypes.func,\n script: PropTypes.arrayOf(PropTypes.object),\n style: PropTypes.arrayOf(PropTypes.object),\n title: PropTypes.string,\n titleAttributes: PropTypes.object,\n titleTemplate: PropTypes.string\n }, _class.defaultProps = {\n defer: true,\n encodeSpecialCharacters: true\n }, _class.peek = Component.peek, _class.rewind = function () {\n var mappedState = Component.rewind();\n\n if (!mappedState) {\n // provide fallback if mappedState is undefined\n mappedState = mapStateOnServer({\n baseTag: [],\n bodyAttributes: {},\n encodeSpecialCharacters: true,\n htmlAttributes: {},\n linkTags: [],\n metaTags: [],\n noscriptTags: [],\n scriptTags: [],\n styleTags: [],\n title: \"\",\n titleAttributes: {}\n });\n }\n\n return mappedState;\n }, _temp;\n};\n\nvar NullComponent = function NullComponent() {\n return null;\n};\n\nvar HelmetSideEffects = withSideEffect(reducePropsToState, handleClientStateChange, mapStateOnServer)(NullComponent);\nvar HelmetExport = Helmet(HelmetSideEffects);\nHelmetExport.renderStatic = HelmetExport.rewind;\nexport default HelmetExport;\nexport { HelmetExport as Helmet };","/**\n * For more information, see:\n * https://www.gatsbyjs.com/docs/use-static-query/ &\n * https://codesandbox.io/s/m4q82k8ry9\n */\n\nimport * as React from 'react'\nimport PropTypes from 'prop-types'\nimport { Helmet } from 'react-helmet'\n\nSEO.propTypes = {\n description: PropTypes.string,\n lang: PropTypes.string,\n title: PropTypes.string,\n keywords: PropTypes.string,\n}\n\nfunction SEO({ description, lang, keywords, title }) {\n const metaDescription = description\n const defaultTitle = 'Nira Dynamics'\n\n return (\n \n \n \n\n \n \n \n \n \n \n \n \n\n \n\n \n \n \n \n \n \n \n \n \n )\n}\n\nexport default SEO\n","import React from 'react'\nimport './blockImage.scss'\n\n//Imgs added in body (BlockContent)\n\nconst Image = (props: any) => {\n return (\n
\n \"\"\n
\n )\n}\n\nexport default Image\n","import React from 'react'\nimport { urlFor } from './../templates/imgBuilder'\nimport BlockImage from './BlockImage'\nimport BlockContent from '@sanity/block-content-to-react'\n\nexport const serializers = {\n types: {\n //Handels images added in the body (BlockContent)\n image: (props) => {\n const imgBuilder = urlFor()\n const src = imgBuilder.image(props.node.asset)\n return \n },\n },\n}\n\nexport const removeP = {\n types: {\n block: (props) => {\n const { style = 'normal' } = props.node\n\n if (style === 'normal') {\n return <>{props.children} //Removes the

-wrapper.\n }\n\n //Fall back to default handling\n return BlockContent.defaultSerializers.types.block(props)\n },\n },\n}\n","import sanityClient from '@sanity/client'\n\nexport default sanityClient({\n projectId: process.env.GATSBY_SANITY_PROJECT_ID,\n dataset: process.env.GATSBY_SANITY_PROJECT_DATASET,\n})\n","import imageUrlBuilder from '@sanity/image-url'\nimport clientConfig from './../../client-config'\n\nconst builder = imageUrlBuilder(clientConfig)\n\nexport function urlFor(source) {\n return builder.image(source)\n}\n"],"sourceRoot":""}