{"version":3,"file":"index-794c8861.js","sources":["../../src/utils/theme.ts","../../src/initTheme.ts","../../node_modules/.pnpm/react@18.2.0/node_modules/react/cjs/react.production.min.js","../../node_modules/.pnpm/react@18.2.0/node_modules/react/index.js","../../node_modules/.pnpm/react@18.2.0/node_modules/react/cjs/react-jsx-runtime.production.min.js","../../node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js","../../node_modules/.pnpm/scheduler@0.23.0/node_modules/scheduler/cjs/scheduler.production.min.js","../../node_modules/.pnpm/scheduler@0.23.0/node_modules/scheduler/index.js","../../node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom.production.min.js","../../node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/index.js","../../node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/client.js","../../src/widgets/widgets.ts","../../src/config/config.ts","../../src/components/sgwt/HelpCenter.tsx","../../src/components/sgwt/MiniFooter.tsx","../../src/components/layout/Footer.tsx","../../node_modules/.pnpm/tslib@2.5.0/node_modules/tslib/tslib.es6.js","../../node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/cjs/react-is.production.min.js","../../node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/index.js","../../node_modules/.pnpm/hoist-non-react-statics@3.3.2/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../../node_modules/.pnpm/@formatjs+ecma402-abstract@1.14.3/node_modules/@formatjs/ecma402-abstract/lib/utils.js","../../node_modules/.pnpm/@formatjs+icu-messageformat-parser@2.3.0/node_modules/@formatjs/icu-messageformat-parser/lib/error.js","../../node_modules/.pnpm/@formatjs+icu-messageformat-parser@2.3.0/node_modules/@formatjs/icu-messageformat-parser/lib/types.js","../../node_modules/.pnpm/@formatjs+icu-messageformat-parser@2.3.0/node_modules/@formatjs/icu-messageformat-parser/lib/regex.generated.js","../../node_modules/.pnpm/@formatjs+icu-skeleton-parser@1.3.18/node_modules/@formatjs/icu-skeleton-parser/lib/date-time.js","../../node_modules/.pnpm/@formatjs+icu-skeleton-parser@1.3.18/node_modules/@formatjs/icu-skeleton-parser/lib/regex.generated.js","../../node_modules/.pnpm/@formatjs+icu-skeleton-parser@1.3.18/node_modules/@formatjs/icu-skeleton-parser/lib/number.js","../../node_modules/.pnpm/@formatjs+icu-messageformat-parser@2.3.0/node_modules/@formatjs/icu-messageformat-parser/lib/time-data.generated.js","../../node_modules/.pnpm/@formatjs+icu-messageformat-parser@2.3.0/node_modules/@formatjs/icu-messageformat-parser/lib/date-time-pattern-generator.js","../../node_modules/.pnpm/@formatjs+icu-messageformat-parser@2.3.0/node_modules/@formatjs/icu-messageformat-parser/lib/parser.js","../../node_modules/.pnpm/@formatjs+icu-messageformat-parser@2.3.0/node_modules/@formatjs/icu-messageformat-parser/lib/index.js","../../node_modules/.pnpm/@formatjs+fast-memoize@1.2.8/node_modules/@formatjs/fast-memoize/lib/index.js","../../node_modules/.pnpm/intl-messageformat@10.3.1/node_modules/intl-messageformat/lib/src/error.js","../../node_modules/.pnpm/intl-messageformat@10.3.1/node_modules/intl-messageformat/lib/src/formatters.js","../../node_modules/.pnpm/intl-messageformat@10.3.1/node_modules/intl-messageformat/lib/src/core.js","../../node_modules/.pnpm/@formatjs+intl@2.6.7_typescript@5.0.2/node_modules/@formatjs/intl/lib/src/error.js","../../node_modules/.pnpm/@formatjs+intl@2.6.7_typescript@5.0.2/node_modules/@formatjs/intl/lib/src/utils.js","../../node_modules/.pnpm/@formatjs+intl@2.6.7_typescript@5.0.2/node_modules/@formatjs/intl/lib/src/message.js","../../node_modules/.pnpm/@formatjs+intl@2.6.7_typescript@5.0.2/node_modules/@formatjs/intl/lib/src/dateTime.js","../../node_modules/.pnpm/@formatjs+intl@2.6.7_typescript@5.0.2/node_modules/@formatjs/intl/lib/src/displayName.js","../../node_modules/.pnpm/@formatjs+intl@2.6.7_typescript@5.0.2/node_modules/@formatjs/intl/lib/src/list.js","../../node_modules/.pnpm/@formatjs+intl@2.6.7_typescript@5.0.2/node_modules/@formatjs/intl/lib/src/plural.js","../../node_modules/.pnpm/@formatjs+intl@2.6.7_typescript@5.0.2/node_modules/@formatjs/intl/lib/src/relativeTime.js","../../node_modules/.pnpm/@formatjs+intl@2.6.7_typescript@5.0.2/node_modules/@formatjs/intl/lib/src/number.js","../../node_modules/.pnpm/@formatjs+intl@2.6.7_typescript@5.0.2/node_modules/@formatjs/intl/lib/src/create-intl.js","../../node_modules/.pnpm/react-intl@6.3.0_odn5rdmyrxuyfnlhepsb7fjnvi/node_modules/react-intl/lib/src/utils.js","../../node_modules/.pnpm/react-intl@6.3.0_odn5rdmyrxuyfnlhepsb7fjnvi/node_modules/react-intl/lib/src/components/injectIntl.js","../../node_modules/.pnpm/react-intl@6.3.0_odn5rdmyrxuyfnlhepsb7fjnvi/node_modules/react-intl/lib/src/components/useIntl.js","../../node_modules/.pnpm/react-intl@6.3.0_odn5rdmyrxuyfnlhepsb7fjnvi/node_modules/react-intl/lib/src/components/createFormattedComponent.js","../../node_modules/.pnpm/react-intl@6.3.0_odn5rdmyrxuyfnlhepsb7fjnvi/node_modules/react-intl/lib/src/components/provider.js","../../node_modules/.pnpm/react-intl@6.3.0_odn5rdmyrxuyfnlhepsb7fjnvi/node_modules/react-intl/lib/src/components/message.js","../../node_modules/.pnpm/react-intl@6.3.0_odn5rdmyrxuyfnlhepsb7fjnvi/node_modules/react-intl/lib/index.js","../../src/components/sgwt/AccountCenter.tsx","../../src/components/bootstrap/Switcher.tsx","../../src/components/layout/Header.tsx","../../src/context/IntlContext.tsx","../../src/components/App.tsx","../../node_modules/.pnpm/@sgwt+connect-core@0.17.1/node_modules/@sgwt/connect-core/dist/src/SGWTConnectErrorList.js","../../node_modules/.pnpm/@sgwt+connect-core@0.17.1/node_modules/@sgwt/connect-core/dist/src/SGWTConnectError.js","../../node_modules/.pnpm/@sgwt+connect-core@0.17.1/node_modules/@sgwt/connect-core/dist/src/SGWTConnectEventList.js","../../node_modules/.pnpm/@sgwt+connect-core@0.17.1/node_modules/@sgwt/connect-core/dist/src/SGWTConnectAuthorizationUri.js","../../node_modules/.pnpm/@sgwt+connect-core@0.17.1/node_modules/@sgwt/connect-core/dist/src/isScopeListed.js","../../node_modules/.pnpm/@sgwt+connect-core@0.17.1/node_modules/@sgwt/connect-core/dist/src/normalizeUrl.js","../../node_modules/.pnpm/@sgwt+connect-core@0.17.1/node_modules/@sgwt/connect-core/dist/src/SGWTConnectServerResponse.js","../../node_modules/.pnpm/@sgwt+connect-core@0.17.1/node_modules/@sgwt/connect-core/dist/src/SGWTConnectRedirectUri.js","../../node_modules/.pnpm/@sgwt+connect-core@0.17.1/node_modules/@sgwt/connect-core/dist/src/SGWTConnectConfiguration.js","../../node_modules/.pnpm/@sgwt+connect-core@0.17.1/node_modules/@sgwt/connect-core/dist/src/SGWTConnectStorage.js","../../node_modules/.pnpm/events@3.0.0/node_modules/events/events.js","../../node_modules/.pnpm/@sgwt+connect-core@0.17.1/node_modules/@sgwt/connect-core/dist/src/isSameOrigin.js","../../node_modules/.pnpm/@sgwt+connect-core@0.17.1/node_modules/@sgwt/connect-core/dist/src/isObject.js","../../node_modules/.pnpm/@sgwt+connect-core@0.17.1/node_modules/@sgwt/connect-core/dist/src/SGWTConnectOpenIDUserInfo.js","../../node_modules/.pnpm/@sgwt+connect-core@0.17.1/node_modules/@sgwt/connect-core/dist/src/SGWTConnectCore.js","../../node_modules/.pnpm/@sgwt+connect-core@0.17.1/node_modules/@sgwt/connect-core/dist/src/SGWTConnectHash.js","../../node_modules/.pnpm/@sgwt+connect-core@0.17.1/node_modules/@sgwt/connect-core/dist/src/SGWTConnectIdTokenClaims.js","../../node_modules/.pnpm/@sgwt+connect-core@0.17.1/node_modules/@sgwt/connect-core/dist/src/SGWTConnectNoop.js","../../node_modules/.pnpm/@sgwt+connect-core@0.17.1/node_modules/@sgwt/connect-core/dist/src/SGWTConnectOpenIDMetadata.js","../../node_modules/.pnpm/@sgwt+connect-core@0.17.1/node_modules/@sgwt/connect-core/dist/src/setupSGWTConnect.js","../../node_modules/.pnpm/@sgwt+connect-core@0.17.1/node_modules/@sgwt/connect-core/dist/index.js","../../src/widgets/sgwtConnect.ts","../../src/main.tsx"],"sourcesContent":["export const themeKey = 'Theme';\nexport type Theme = 'DARK' | 'LIGHT';\n\nconst sgbsVersion = import.meta.env.VITE_SGBS_VERSION;\nconst cdnUrl = `https://sgwt-cdn-sgbs.sgmarkets.com/sg-bootstrap/${sgbsVersion}`;\n\nfunction variableSgbsUrls(theme: string | null) {\n const variation = theme === 'DARK' ? 'dark' : 'standard';\n return {\n sgbs: `${cdnUrl}/core/css/sg-bootstrap-${variation}.min.css`,\n icons: `${cdnUrl}/icons/index.min.css`,\n };\n}\n\nexport function initSgBootstrap(theme?: Theme) {\n updateThemeUrls(theme ?? getTheme());\n appendUniqueLinkToDocument('icons', `${cdnUrl}/icons/index.min.css`);\n}\n\nfunction updateThemeUrls(theme: Theme) {\n Object.entries(variableSgbsUrls(theme)).forEach(([id, url]) => {\n appendUniqueLinkToDocument(id, url);\n });\n}\n\nexport function setTheme(theme: Theme) {\n updateThemeUrls(theme);\n // getMatomo().track(\"Workspace\", \"Switch theme\", theme);\n saveToLocalStorage(theme);\n}\n\nexport function getTheme(): Theme {\n const savedTheme = getFromLocalStorage();\n if (savedTheme != null) {\n return savedTheme?.toUpperCase() === 'DARK' ? 'DARK' : 'LIGHT';\n }\n const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;\n return prefersDark ? 'DARK' : 'LIGHT';\n}\n\nfunction saveToLocalStorage(theme: Theme) {\n if (typeof localStorage === 'undefined') {\n return;\n }\n try {\n localStorage.setItem(themeKey, theme);\n } catch {\n console.error('Unable to store theme, localStorage might be full');\n }\n}\n\nfunction getFromLocalStorage(): string | null {\n if (typeof localStorage === 'undefined') {\n return null;\n }\n return localStorage.getItem(themeKey);\n}\n\nfunction appendUniqueLinkToDocument(id: string, url: string) {\n const linkElement = document.querySelector(`link[id=\"${id}\"]`);\n const newLinkElement = document.createElement('link');\n newLinkElement.rel = 'stylesheet';\n newLinkElement.id = id;\n newLinkElement.href = url;\n if (linkElement !== null) {\n newLinkElement.onload = () => {\n document.head.removeChild(linkElement);\n };\n }\n document.head.appendChild(newLinkElement);\n}\n","import { initSgBootstrap } from '@/utils/theme';\n\ninitSgBootstrap();\n","/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&uh(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=sh(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Ah(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=yh(f.type,f.key,f.props,null,a.mode,h),h.ref=sh(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=zh(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);th(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=xh(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(a){if(a===Dh)throw Error(p(174));return a}function Ih(a,b){G(Gh,b);G(Fh,a);G(Eh,Dh);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(Eh);G(Eh,b)}function Jh(){E(Eh);E(Fh);E(Gh)}\nfunction Kh(a){Hh(Gh.current);var b=Hh(Eh.current);var c=lb(b,a.type);b!==c&&(G(Fh,a),G(Eh,c))}function Lh(a){Fh.current===a&&(E(Eh),E(Fh))}var M=Uf(0);\nfunction Mh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Nh=[];\nfunction Oh(){for(var a=0;ac?c:4;a(!0);var d=Qh.transition;Qh.transition={};try{a(!1),b()}finally{C=c,Qh.transition=d}}function Fi(){return di().memoizedState}\nfunction Gi(a,b,c){var d=lh(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,c);else if(c=Yg(a,b,c,d),null!==c){var e=L();mh(c,a,d,e);Ji(c,b,d)}}\nfunction ri(a,b,c){var d=lh(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,Xg(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=Yg(a,b,e,d);null!==c&&(e=L(),mh(c,a,d,e),Ji(c,b,d))}}\nfunction Hi(a){var b=a.alternate;return a===N||null!==b&&b===N}function Ii(a,b){Th=Sh=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Ji(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(a,b){ci().memoizedState=[a,void 0===b?null:b];return a},useContext:Vg,useEffect:vi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ti(4194308,\n4,yi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ti(4194308,4,a,b)},useInsertionEffect:function(a,b){return ti(4,2,a,b)},useMemo:function(a,b){var c=ci();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=ci();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=Gi.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=\nci();a={current:a};return b.memoizedState=a},useState:qi,useDebugValue:Ai,useDeferredValue:function(a){return ci().memoizedState=a},useTransition:function(){var a=qi(!1),b=a[0];a=Ei.bind(null,a[1]);ci().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=N,e=ci();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===R)throw Error(p(349));0!==(Rh&30)||ni(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;vi(ki.bind(null,d,\nf,a),[a]);d.flags|=2048;li(9,mi.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=ci(),b=R.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Uh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;Aj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eHj&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304)}else{if(!d)if(a=Mh(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Ej(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Hj&&1073741824!==c&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=M.current,G(M,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Ij(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(gj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Jj(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return Jh(),E(Wf),E(H),Oh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Lh(b),null;case 13:E(M);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(M),null;case 4:return Jh(),null;case 10:return Rg(b.type._context),null;case 22:case 23:return Ij(),\nnull;case 24:return null;default:return null}}var Kj=!1,U=!1,Lj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Mj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Nj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Oj=!1;\nfunction Pj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Lg(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Oj;Oj=!1;return n}\nfunction Qj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Nj(b,c,f)}e=e.next}while(e!==d)}}function Rj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Sj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Tj(a){var b=a.alternate;null!==b&&(a.alternate=null,Tj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Uj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Vj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Uj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}\nfunction Xj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Xj(a,b,c),a=a.sibling;null!==a;)Xj(a,b,c),a=a.sibling}var X=null,Yj=!1;function Zj(a,b,c){for(c=c.child;null!==c;)ak(a,b,c),c=c.sibling}\nfunction ak(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Mj(c,b);case 6:var d=X,e=Yj;X=null;Zj(a,b,c);X=d;Yj=e;null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Yj;X=c.stateNode.containerInfo;Yj=!0;\nZj(a,b,c);X=d;Yj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Nj(c,b,g):0!==(f&4)&&Nj(c,b,g));e=e.next}while(e!==d)}Zj(a,b,c);break;case 1:if(!U&&(Mj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Zj(a,b,c);break;case 21:Zj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Zj(a,b,c),U=d):Zj(a,b,c);break;default:Zj(a,b,c)}}function bk(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Lj);b.forEach(function(b){var d=ck.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction dk(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*mk(d/1960))-d;if(10a?16:a;if(null===xk)var d=!1;else{a=xk;xk=null;yk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-gk?Lk(a,0):sk|=c);Ek(a,b)}function Zk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=L();a=Zg(a,b);null!==a&&(Ac(a,b,c),Ek(a,c))}function vj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Zk(a,c)}\nfunction ck(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Zk(a,c)}var Wk;\nWk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)Ug=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return Ug=!1,zj(a,b,c);Ug=0!==(a.flags&131072)?!0:!1}else Ug=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;jj(a,b);a=b.pendingProps;var e=Yf(b,H.current);Tg(b,c);e=Xh(null,b,d,a,e,c);var f=bi();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,ah(b),e.updater=nh,b.stateNode=e,e._reactInternals=b,rh(b,d,a,c),b=kj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Yi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{jj(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=$k(d);a=Lg(d,a);switch(e){case 0:b=dj(null,b,d,a,c);break a;case 1:b=ij(null,b,d,a,c);break a;case 11:b=Zi(null,b,d,a,c);break a;case 14:b=aj(null,b,d,Lg(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),dj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),ij(a,b,d,e,c);case 3:a:{lj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;bh(a,b);gh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ki(Error(p(423)),b);b=mj(a,b,d,c,e);break a}else if(d!==e){e=Ki(Error(p(424)),b);b=mj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Ch(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=$i(a,b,c);break a}Yi(a,b,d,c)}b=b.child}return b;case 5:return Kh(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\nhj(a,b),Yi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return pj(a,b,c);case 4:return Ih(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Bh(b,null,d,c):Yi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),Zi(a,b,d,e,c);case 7:return Yi(a,b,b.pendingProps,c),b.child;case 8:return Yi(a,b,b.pendingProps.children,c),b.child;case 12:return Yi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Mg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=$i(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=ch(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);Sg(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);Sg(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Yi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,Tg(b,c),e=Vg(e),d=d(e),b.flags|=1,Yi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Lg(d,b.pendingProps),e=Lg(d.type,e),aj(a,b,d,e,c);case 15:return cj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),jj(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,Tg(b,c),ph(b,d,e),rh(b,d,e,c),kj(null,b,d,!0,a,c);case 19:return yj(a,b,c);case 22:return ej(a,b,c)}throw Error(p(156,b.tag));};function Gk(a,b){return ac(a,b)}\nfunction al(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new al(a,b,c,d)}function bj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction $k(a){if(\"function\"===typeof a)return bj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction wh(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction yh(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Ah(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return qj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Ah(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function qj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function xh(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction zh(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction bl(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function cl(a,b,c,d,e,f,g,h,k){a=new bl(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};ah(f);return a}function dl(a,b,c){var d=3 = (payload: T | undefined) => void;\ntype SubscriptionHandle = any;\n\nexport interface SgWidgetsBus {\n dangerouslyGetCurrentValue(topicName: string): T | undefined | null;\n\n subscribe(topicName: string, cb: BusEventCallback): SubscriptionHandle;\n\n unsubscribe(handle: SubscriptionHandle): void;\n}\n\nexport function getWidgetBus(): SgWidgetsBus | null {\n const widgetConfiguration = (window as any).SGWTWidgetConfiguration;\n return widgetConfiguration && widgetConfiguration.bus ? widgetConfiguration.bus : null;\n}\n\nexport function getWidget(tagName: string) {\n return document.querySelector(tagName) as T;\n}\n\nexport function getAuthorizationHeader(): string | undefined | null {\n const bus = getWidgetBus();\n if (bus) {\n return bus.dangerouslyGetCurrentValue(BUS_TOPIC_SGCONNECT_ACCESSTOKEN);\n }\n return undefined;\n}\n\ninterface UserConnection {\n connected: boolean;\n claims: Record;\n mail: string;\n}\n\nexport function getUserConnection(): UserConnection | undefined | null {\n const bus = getWidgetBus();\n if (bus) {\n return bus.dangerouslyGetCurrentValue(BUS_TOPIC_SGCONNECT_USERCONNECTION);\n }\n return undefined;\n}\n\nexport function getAuthorizationToken(): string | undefined {\n const authorizationHeader = getAuthorizationHeader();\n if (authorizationHeader == null) {\n return undefined;\n }\n return authorizationHeader.replace('Bearer ', '');\n}\n","import { ISGWTConnectConfiguration } from '@sgwt/connect-core';\n\nexport interface AppConfig {\n sgwt_env: 'homologation' | 'production';\n sgconnect: ISGWTConnectConfiguration;\n helpCenter: {\n contact: string;\n subject: string;\n };\n}\n\nexport function getConfig(): AppConfig {\n return window.sgmeConfiguration;\n}\n","import { getConfig } from '@/config/config';\n\nexport function HelpCenter(): JSX.Element {\n return (\n \n );\n}\n","export function MiniFooter(): JSX.Element {\n return (\n \n );\n}\n","import { HelpCenter } from '@/components/sgwt/HelpCenter';\nimport { MiniFooter } from '@/components/sgwt/MiniFooter';\n\nexport function Footer() {\n return (\n
\n \n \n
\n );\n}","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.push(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.push(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/**\n * Cannot do Math.log(x) / Math.log(10) bc if IEEE floating point issue\n * @param x number\n */\nexport function getMagnitude(x) {\n // Cannot count string length via Number.toString because it may use scientific notation\n // for very small or very large numbers.\n return Math.floor(Math.log(x) * Math.LOG10E);\n}\nexport function repeat(s, times) {\n if (typeof s.repeat === 'function') {\n return s.repeat(times);\n }\n var arr = new Array(times);\n for (var i = 0; i < arr.length; i++) {\n arr[i] = s;\n }\n return arr.join('');\n}\nexport function setInternalSlot(map, pl, field, value) {\n if (!map.get(pl)) {\n map.set(pl, Object.create(null));\n }\n var slots = map.get(pl);\n slots[field] = value;\n}\nexport function setMultiInternalSlots(map, pl, props) {\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\n var k = _a[_i];\n setInternalSlot(map, pl, k, props[k]);\n }\n}\nexport function getInternalSlot(map, pl, field) {\n return getMultiInternalSlots(map, pl, field)[field];\n}\nexport function getMultiInternalSlots(map, pl) {\n var fields = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n fields[_i - 2] = arguments[_i];\n }\n var slots = map.get(pl);\n if (!slots) {\n throw new TypeError(\"\".concat(pl, \" InternalSlot has not been initialized\"));\n }\n return fields.reduce(function (all, f) {\n all[f] = slots[f];\n return all;\n }, Object.create(null));\n}\nexport function isLiteralPart(patternPart) {\n return patternPart.type === 'literal';\n}\n/*\n 17 ECMAScript Standard Built-in Objects:\n Every built-in Function object, including constructors, that is not\n identified as an anonymous function has a name property whose value\n is a String.\n\n Unless otherwise specified, the name property of a built-in Function\n object, if it exists, has the attributes { [[Writable]]: false,\n [[Enumerable]]: false, [[Configurable]]: true }.\n*/\nexport function defineProperty(target, name, _a) {\n var value = _a.value;\n Object.defineProperty(target, name, {\n configurable: true,\n enumerable: false,\n writable: true,\n value: value,\n });\n}\nexport var UNICODE_EXTENSION_SEQUENCE_REGEX = /-u(?:-[0-9a-z]{2,8})+/gi;\nexport function invariant(condition, message, Err) {\n if (Err === void 0) { Err = Error; }\n if (!condition) {\n throw new Err(message);\n }\n}\n","export var ErrorKind;\n(function (ErrorKind) {\n /** Argument is unclosed (e.g. `{0`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_CLOSING_BRACE\"] = 1] = \"EXPECT_ARGUMENT_CLOSING_BRACE\";\n /** Argument is empty (e.g. `{}`). */\n ErrorKind[ErrorKind[\"EMPTY_ARGUMENT\"] = 2] = \"EMPTY_ARGUMENT\";\n /** Argument is malformed (e.g. `{foo!}``) */\n ErrorKind[ErrorKind[\"MALFORMED_ARGUMENT\"] = 3] = \"MALFORMED_ARGUMENT\";\n /** Expect an argument type (e.g. `{foo,}`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_TYPE\"] = 4] = \"EXPECT_ARGUMENT_TYPE\";\n /** Unsupported argument type (e.g. `{foo,foo}`) */\n ErrorKind[ErrorKind[\"INVALID_ARGUMENT_TYPE\"] = 5] = \"INVALID_ARGUMENT_TYPE\";\n /** Expect an argument style (e.g. `{foo, number, }`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_STYLE\"] = 6] = \"EXPECT_ARGUMENT_STYLE\";\n /** The number skeleton is invalid. */\n ErrorKind[ErrorKind[\"INVALID_NUMBER_SKELETON\"] = 7] = \"INVALID_NUMBER_SKELETON\";\n /** The date time skeleton is invalid. */\n ErrorKind[ErrorKind[\"INVALID_DATE_TIME_SKELETON\"] = 8] = \"INVALID_DATE_TIME_SKELETON\";\n /** Exepct a number skeleton following the `::` (e.g. `{foo, number, ::}`) */\n ErrorKind[ErrorKind[\"EXPECT_NUMBER_SKELETON\"] = 9] = \"EXPECT_NUMBER_SKELETON\";\n /** Exepct a date time skeleton following the `::` (e.g. `{foo, date, ::}`) */\n ErrorKind[ErrorKind[\"EXPECT_DATE_TIME_SKELETON\"] = 10] = \"EXPECT_DATE_TIME_SKELETON\";\n /** Unmatched apostrophes in the argument style (e.g. `{foo, number, 'test`) */\n ErrorKind[ErrorKind[\"UNCLOSED_QUOTE_IN_ARGUMENT_STYLE\"] = 11] = \"UNCLOSED_QUOTE_IN_ARGUMENT_STYLE\";\n /** Missing select argument options (e.g. `{foo, select}`) */\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_OPTIONS\"] = 12] = \"EXPECT_SELECT_ARGUMENT_OPTIONS\";\n /** Expecting an offset value in `plural` or `selectordinal` argument (e.g `{foo, plural, offset}`) */\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE\"] = 13] = \"EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE\";\n /** Offset value in `plural` or `selectordinal` is invalid (e.g. `{foo, plural, offset: x}`) */\n ErrorKind[ErrorKind[\"INVALID_PLURAL_ARGUMENT_OFFSET_VALUE\"] = 14] = \"INVALID_PLURAL_ARGUMENT_OFFSET_VALUE\";\n /** Expecting a selector in `select` argument (e.g `{foo, select}`) */\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_SELECTOR\"] = 15] = \"EXPECT_SELECT_ARGUMENT_SELECTOR\";\n /** Expecting a selector in `plural` or `selectordinal` argument (e.g `{foo, plural}`) */\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_SELECTOR\"] = 16] = \"EXPECT_PLURAL_ARGUMENT_SELECTOR\";\n /** Expecting a message fragment after the `select` selector (e.g. `{foo, select, apple}`) */\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\"] = 17] = \"EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\";\n /**\n * Expecting a message fragment after the `plural` or `selectordinal` selector\n * (e.g. `{foo, plural, one}`)\n */\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT\"] = 18] = \"EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT\";\n /** Selector in `plural` or `selectordinal` is malformed (e.g. `{foo, plural, =x {#}}`) */\n ErrorKind[ErrorKind[\"INVALID_PLURAL_ARGUMENT_SELECTOR\"] = 19] = \"INVALID_PLURAL_ARGUMENT_SELECTOR\";\n /**\n * Duplicate selectors in `plural` or `selectordinal` argument.\n * (e.g. {foo, plural, one {#} one {#}})\n */\n ErrorKind[ErrorKind[\"DUPLICATE_PLURAL_ARGUMENT_SELECTOR\"] = 20] = \"DUPLICATE_PLURAL_ARGUMENT_SELECTOR\";\n /** Duplicate selectors in `select` argument.\n * (e.g. {foo, select, apple {apple} apple {apple}})\n */\n ErrorKind[ErrorKind[\"DUPLICATE_SELECT_ARGUMENT_SELECTOR\"] = 21] = \"DUPLICATE_SELECT_ARGUMENT_SELECTOR\";\n /** Plural or select argument option must have `other` clause. */\n ErrorKind[ErrorKind[\"MISSING_OTHER_CLAUSE\"] = 22] = \"MISSING_OTHER_CLAUSE\";\n /** The tag is malformed. (e.g. `foo) */\n ErrorKind[ErrorKind[\"INVALID_TAG\"] = 23] = \"INVALID_TAG\";\n /** The tag name is invalid. (e.g. `<123>foo`) */\n ErrorKind[ErrorKind[\"INVALID_TAG_NAME\"] = 25] = \"INVALID_TAG_NAME\";\n /** The closing tag does not match the opening tag. (e.g. `foo`) */\n ErrorKind[ErrorKind[\"UNMATCHED_CLOSING_TAG\"] = 26] = \"UNMATCHED_CLOSING_TAG\";\n /** The opening tag has unmatched closing tag. (e.g. `foo`) */\n ErrorKind[ErrorKind[\"UNCLOSED_TAG\"] = 27] = \"UNCLOSED_TAG\";\n})(ErrorKind || (ErrorKind = {}));\n","export var TYPE;\n(function (TYPE) {\n /**\n * Raw text\n */\n TYPE[TYPE[\"literal\"] = 0] = \"literal\";\n /**\n * Variable w/o any format, e.g `var` in `this is a {var}`\n */\n TYPE[TYPE[\"argument\"] = 1] = \"argument\";\n /**\n * Variable w/ number format\n */\n TYPE[TYPE[\"number\"] = 2] = \"number\";\n /**\n * Variable w/ date format\n */\n TYPE[TYPE[\"date\"] = 3] = \"date\";\n /**\n * Variable w/ time format\n */\n TYPE[TYPE[\"time\"] = 4] = \"time\";\n /**\n * Variable w/ select format\n */\n TYPE[TYPE[\"select\"] = 5] = \"select\";\n /**\n * Variable w/ plural format\n */\n TYPE[TYPE[\"plural\"] = 6] = \"plural\";\n /**\n * Only possible within plural argument.\n * This is the `#` symbol that will be substituted with the count.\n */\n TYPE[TYPE[\"pound\"] = 7] = \"pound\";\n /**\n * XML-like tag\n */\n TYPE[TYPE[\"tag\"] = 8] = \"tag\";\n})(TYPE || (TYPE = {}));\nexport var SKELETON_TYPE;\n(function (SKELETON_TYPE) {\n SKELETON_TYPE[SKELETON_TYPE[\"number\"] = 0] = \"number\";\n SKELETON_TYPE[SKELETON_TYPE[\"dateTime\"] = 1] = \"dateTime\";\n})(SKELETON_TYPE || (SKELETON_TYPE = {}));\n/**\n * Type Guards\n */\nexport function isLiteralElement(el) {\n return el.type === TYPE.literal;\n}\nexport function isArgumentElement(el) {\n return el.type === TYPE.argument;\n}\nexport function isNumberElement(el) {\n return el.type === TYPE.number;\n}\nexport function isDateElement(el) {\n return el.type === TYPE.date;\n}\nexport function isTimeElement(el) {\n return el.type === TYPE.time;\n}\nexport function isSelectElement(el) {\n return el.type === TYPE.select;\n}\nexport function isPluralElement(el) {\n return el.type === TYPE.plural;\n}\nexport function isPoundElement(el) {\n return el.type === TYPE.pound;\n}\nexport function isTagElement(el) {\n return el.type === TYPE.tag;\n}\nexport function isNumberSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === SKELETON_TYPE.number);\n}\nexport function isDateTimeSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === SKELETON_TYPE.dateTime);\n}\nexport function createLiteralElement(value) {\n return {\n type: TYPE.literal,\n value: value,\n };\n}\nexport function createNumberElement(value, style) {\n return {\n type: TYPE.number,\n value: value,\n style: style,\n };\n}\n","// @generated from regex-gen.ts\nexport var SPACE_SEPARATOR_REGEX = /[ \\xA0\\u1680\\u2000-\\u200A\\u202F\\u205F\\u3000]/;\nexport var WHITE_SPACE_REGEX = /[\\t-\\r \\x85\\u200E\\u200F\\u2028\\u2029]/;\n","/**\n * https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * Credit: https://github.com/caridy/intl-datetimeformat-pattern/blob/master/index.js\n * with some tweaks\n */\nvar DATE_TIME_REGEX = /(?:[Eec]{1,6}|G{1,5}|[Qq]{1,5}|(?:[yYur]+|U{1,5})|[ML]{1,5}|d{1,2}|D{1,3}|F{1}|[abB]{1,5}|[hkHK]{1,2}|w{1,2}|W{1}|m{1,2}|s{1,2}|[zZOvVxX]{1,4})(?=([^']*'[^']*')*[^']*$)/g;\n/**\n * Parse Date time skeleton into Intl.DateTimeFormatOptions\n * Ref: https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * @public\n * @param skeleton skeleton string\n */\nexport function parseDateTimeSkeleton(skeleton) {\n var result = {};\n skeleton.replace(DATE_TIME_REGEX, function (match) {\n var len = match.length;\n switch (match[0]) {\n // Era\n case 'G':\n result.era = len === 4 ? 'long' : len === 5 ? 'narrow' : 'short';\n break;\n // Year\n case 'y':\n result.year = len === 2 ? '2-digit' : 'numeric';\n break;\n case 'Y':\n case 'u':\n case 'U':\n case 'r':\n throw new RangeError('`Y/u/U/r` (year) patterns are not supported, use `y` instead');\n // Quarter\n case 'q':\n case 'Q':\n throw new RangeError('`q/Q` (quarter) patterns are not supported');\n // Month\n case 'M':\n case 'L':\n result.month = ['numeric', '2-digit', 'short', 'long', 'narrow'][len - 1];\n break;\n // Week\n case 'w':\n case 'W':\n throw new RangeError('`w/W` (week) patterns are not supported');\n case 'd':\n result.day = ['numeric', '2-digit'][len - 1];\n break;\n case 'D':\n case 'F':\n case 'g':\n throw new RangeError('`D/F/g` (day) patterns are not supported, use `d` instead');\n // Weekday\n case 'E':\n result.weekday = len === 4 ? 'short' : len === 5 ? 'narrow' : 'short';\n break;\n case 'e':\n if (len < 4) {\n throw new RangeError('`e..eee` (weekday) patterns are not supported');\n }\n result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n break;\n case 'c':\n if (len < 4) {\n throw new RangeError('`c..ccc` (weekday) patterns are not supported');\n }\n result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n break;\n // Period\n case 'a': // AM, PM\n result.hour12 = true;\n break;\n case 'b': // am, pm, noon, midnight\n case 'B': // flexible day periods\n throw new RangeError('`b/B` (period) patterns are not supported, use `a` instead');\n // Hour\n case 'h':\n result.hourCycle = 'h12';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'H':\n result.hourCycle = 'h23';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'K':\n result.hourCycle = 'h11';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'k':\n result.hourCycle = 'h24';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'j':\n case 'J':\n case 'C':\n throw new RangeError('`j/J/C` (hour) patterns are not supported, use `h/H/K/k` instead');\n // Minute\n case 'm':\n result.minute = ['numeric', '2-digit'][len - 1];\n break;\n // Second\n case 's':\n result.second = ['numeric', '2-digit'][len - 1];\n break;\n case 'S':\n case 'A':\n throw new RangeError('`S/A` (second) patterns are not supported, use `s` instead');\n // Zone\n case 'z': // 1..3, 4: specific non-location format\n result.timeZoneName = len < 4 ? 'short' : 'long';\n break;\n case 'Z': // 1..3, 4, 5: The ISO8601 varios formats\n case 'O': // 1, 4: miliseconds in day short, long\n case 'v': // 1, 4: generic non-location format\n case 'V': // 1, 2, 3, 4: time zone ID or city\n case 'X': // 1, 2, 3, 4: The ISO8601 varios formats\n case 'x': // 1, 2, 3, 4: The ISO8601 varios formats\n throw new RangeError('`Z/O/v/V/X/x` (timeZone) patterns are not supported, use `z` instead');\n }\n return '';\n });\n return result;\n}\n","// @generated from regex-gen.ts\nexport var WHITE_SPACE_REGEX = /[\\t-\\r \\x85\\u200E\\u200F\\u2028\\u2029]/i;\n","import { __assign } from \"tslib\";\nimport { WHITE_SPACE_REGEX } from './regex.generated';\nexport function parseNumberSkeletonFromString(skeleton) {\n if (skeleton.length === 0) {\n throw new Error('Number skeleton cannot be empty');\n }\n // Parse the skeleton\n var stringTokens = skeleton\n .split(WHITE_SPACE_REGEX)\n .filter(function (x) { return x.length > 0; });\n var tokens = [];\n for (var _i = 0, stringTokens_1 = stringTokens; _i < stringTokens_1.length; _i++) {\n var stringToken = stringTokens_1[_i];\n var stemAndOptions = stringToken.split('/');\n if (stemAndOptions.length === 0) {\n throw new Error('Invalid number skeleton');\n }\n var stem = stemAndOptions[0], options = stemAndOptions.slice(1);\n for (var _a = 0, options_1 = options; _a < options_1.length; _a++) {\n var option = options_1[_a];\n if (option.length === 0) {\n throw new Error('Invalid number skeleton');\n }\n }\n tokens.push({ stem: stem, options: options });\n }\n return tokens;\n}\nfunction icuUnitToEcma(unit) {\n return unit.replace(/^(.*?)-/, '');\n}\nvar FRACTION_PRECISION_REGEX = /^\\.(?:(0+)(\\*)?|(#+)|(0+)(#+))$/g;\nvar SIGNIFICANT_PRECISION_REGEX = /^(@+)?(\\+|#+)?[rs]?$/g;\nvar INTEGER_WIDTH_REGEX = /(\\*)(0+)|(#+)(0+)|(0+)/g;\nvar CONCISE_INTEGER_WIDTH_REGEX = /^(0+)$/;\nfunction parseSignificantPrecision(str) {\n var result = {};\n if (str[str.length - 1] === 'r') {\n result.roundingPriority = 'morePrecision';\n }\n else if (str[str.length - 1] === 's') {\n result.roundingPriority = 'lessPrecision';\n }\n str.replace(SIGNIFICANT_PRECISION_REGEX, function (_, g1, g2) {\n // @@@ case\n if (typeof g2 !== 'string') {\n result.minimumSignificantDigits = g1.length;\n result.maximumSignificantDigits = g1.length;\n }\n // @@@+ case\n else if (g2 === '+') {\n result.minimumSignificantDigits = g1.length;\n }\n // .### case\n else if (g1[0] === '#') {\n result.maximumSignificantDigits = g1.length;\n }\n // .@@## or .@@@ case\n else {\n result.minimumSignificantDigits = g1.length;\n result.maximumSignificantDigits =\n g1.length + (typeof g2 === 'string' ? g2.length : 0);\n }\n return '';\n });\n return result;\n}\nfunction parseSign(str) {\n switch (str) {\n case 'sign-auto':\n return {\n signDisplay: 'auto',\n };\n case 'sign-accounting':\n case '()':\n return {\n currencySign: 'accounting',\n };\n case 'sign-always':\n case '+!':\n return {\n signDisplay: 'always',\n };\n case 'sign-accounting-always':\n case '()!':\n return {\n signDisplay: 'always',\n currencySign: 'accounting',\n };\n case 'sign-except-zero':\n case '+?':\n return {\n signDisplay: 'exceptZero',\n };\n case 'sign-accounting-except-zero':\n case '()?':\n return {\n signDisplay: 'exceptZero',\n currencySign: 'accounting',\n };\n case 'sign-never':\n case '+_':\n return {\n signDisplay: 'never',\n };\n }\n}\nfunction parseConciseScientificAndEngineeringStem(stem) {\n // Engineering\n var result;\n if (stem[0] === 'E' && stem[1] === 'E') {\n result = {\n notation: 'engineering',\n };\n stem = stem.slice(2);\n }\n else if (stem[0] === 'E') {\n result = {\n notation: 'scientific',\n };\n stem = stem.slice(1);\n }\n if (result) {\n var signDisplay = stem.slice(0, 2);\n if (signDisplay === '+!') {\n result.signDisplay = 'always';\n stem = stem.slice(2);\n }\n else if (signDisplay === '+?') {\n result.signDisplay = 'exceptZero';\n stem = stem.slice(2);\n }\n if (!CONCISE_INTEGER_WIDTH_REGEX.test(stem)) {\n throw new Error('Malformed concise eng/scientific notation');\n }\n result.minimumIntegerDigits = stem.length;\n }\n return result;\n}\nfunction parseNotationOptions(opt) {\n var result = {};\n var signOpts = parseSign(opt);\n if (signOpts) {\n return signOpts;\n }\n return result;\n}\n/**\n * https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#skeleton-stems-and-options\n */\nexport function parseNumberSkeleton(tokens) {\n var result = {};\n for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) {\n var token = tokens_1[_i];\n switch (token.stem) {\n case 'percent':\n case '%':\n result.style = 'percent';\n continue;\n case '%x100':\n result.style = 'percent';\n result.scale = 100;\n continue;\n case 'currency':\n result.style = 'currency';\n result.currency = token.options[0];\n continue;\n case 'group-off':\n case ',_':\n result.useGrouping = false;\n continue;\n case 'precision-integer':\n case '.':\n result.maximumFractionDigits = 0;\n continue;\n case 'measure-unit':\n case 'unit':\n result.style = 'unit';\n result.unit = icuUnitToEcma(token.options[0]);\n continue;\n case 'compact-short':\n case 'K':\n result.notation = 'compact';\n result.compactDisplay = 'short';\n continue;\n case 'compact-long':\n case 'KK':\n result.notation = 'compact';\n result.compactDisplay = 'long';\n continue;\n case 'scientific':\n result = __assign(__assign(__assign({}, result), { notation: 'scientific' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {}));\n continue;\n case 'engineering':\n result = __assign(__assign(__assign({}, result), { notation: 'engineering' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {}));\n continue;\n case 'notation-simple':\n result.notation = 'standard';\n continue;\n // https://github.com/unicode-org/icu/blob/master/icu4c/source/i18n/unicode/unumberformatter.h\n case 'unit-width-narrow':\n result.currencyDisplay = 'narrowSymbol';\n result.unitDisplay = 'narrow';\n continue;\n case 'unit-width-short':\n result.currencyDisplay = 'code';\n result.unitDisplay = 'short';\n continue;\n case 'unit-width-full-name':\n result.currencyDisplay = 'name';\n result.unitDisplay = 'long';\n continue;\n case 'unit-width-iso-code':\n result.currencyDisplay = 'symbol';\n continue;\n case 'scale':\n result.scale = parseFloat(token.options[0]);\n continue;\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#integer-width\n case 'integer-width':\n if (token.options.length > 1) {\n throw new RangeError('integer-width stems only accept a single optional option');\n }\n token.options[0].replace(INTEGER_WIDTH_REGEX, function (_, g1, g2, g3, g4, g5) {\n if (g1) {\n result.minimumIntegerDigits = g2.length;\n }\n else if (g3 && g4) {\n throw new Error('We currently do not support maximum integer digits');\n }\n else if (g5) {\n throw new Error('We currently do not support exact integer digits');\n }\n return '';\n });\n continue;\n }\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#integer-width\n if (CONCISE_INTEGER_WIDTH_REGEX.test(token.stem)) {\n result.minimumIntegerDigits = token.stem.length;\n continue;\n }\n if (FRACTION_PRECISION_REGEX.test(token.stem)) {\n // Precision\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#fraction-precision\n // precision-integer case\n if (token.options.length > 1) {\n throw new RangeError('Fraction-precision stems only accept a single optional option');\n }\n token.stem.replace(FRACTION_PRECISION_REGEX, function (_, g1, g2, g3, g4, g5) {\n // .000* case (before ICU67 it was .000+)\n if (g2 === '*') {\n result.minimumFractionDigits = g1.length;\n }\n // .### case\n else if (g3 && g3[0] === '#') {\n result.maximumFractionDigits = g3.length;\n }\n // .00## case\n else if (g4 && g5) {\n result.minimumFractionDigits = g4.length;\n result.maximumFractionDigits = g4.length + g5.length;\n }\n else {\n result.minimumFractionDigits = g1.length;\n result.maximumFractionDigits = g1.length;\n }\n return '';\n });\n var opt = token.options[0];\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#trailing-zero-display\n if (opt === 'w') {\n result = __assign(__assign({}, result), { trailingZeroDisplay: 'stripIfInteger' });\n }\n else if (opt) {\n result = __assign(__assign({}, result), parseSignificantPrecision(opt));\n }\n continue;\n }\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#significant-digits-precision\n if (SIGNIFICANT_PRECISION_REGEX.test(token.stem)) {\n result = __assign(__assign({}, result), parseSignificantPrecision(token.stem));\n continue;\n }\n var signOpts = parseSign(token.stem);\n if (signOpts) {\n result = __assign(__assign({}, result), signOpts);\n }\n var conciseScientificAndEngineeringOpts = parseConciseScientificAndEngineeringStem(token.stem);\n if (conciseScientificAndEngineeringOpts) {\n result = __assign(__assign({}, result), conciseScientificAndEngineeringOpts);\n }\n }\n return result;\n}\n","// @generated from time-data-gen.ts\n// prettier-ignore \nexport var timeData = {\n \"AX\": [\n \"H\"\n ],\n \"BQ\": [\n \"H\"\n ],\n \"CP\": [\n \"H\"\n ],\n \"CZ\": [\n \"H\"\n ],\n \"DK\": [\n \"H\"\n ],\n \"FI\": [\n \"H\"\n ],\n \"ID\": [\n \"H\"\n ],\n \"IS\": [\n \"H\"\n ],\n \"ML\": [\n \"H\"\n ],\n \"NE\": [\n \"H\"\n ],\n \"RU\": [\n \"H\"\n ],\n \"SE\": [\n \"H\"\n ],\n \"SJ\": [\n \"H\"\n ],\n \"SK\": [\n \"H\"\n ],\n \"AS\": [\n \"h\",\n \"H\"\n ],\n \"BT\": [\n \"h\",\n \"H\"\n ],\n \"DJ\": [\n \"h\",\n \"H\"\n ],\n \"ER\": [\n \"h\",\n \"H\"\n ],\n \"GH\": [\n \"h\",\n \"H\"\n ],\n \"IN\": [\n \"h\",\n \"H\"\n ],\n \"LS\": [\n \"h\",\n \"H\"\n ],\n \"PG\": [\n \"h\",\n \"H\"\n ],\n \"PW\": [\n \"h\",\n \"H\"\n ],\n \"SO\": [\n \"h\",\n \"H\"\n ],\n \"TO\": [\n \"h\",\n \"H\"\n ],\n \"VU\": [\n \"h\",\n \"H\"\n ],\n \"WS\": [\n \"h\",\n \"H\"\n ],\n \"001\": [\n \"H\",\n \"h\"\n ],\n \"AL\": [\n \"h\",\n \"H\",\n \"hB\"\n ],\n \"TD\": [\n \"h\",\n \"H\",\n \"hB\"\n ],\n \"ca-ES\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"CF\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"CM\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"fr-CA\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"gl-ES\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"it-CH\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"it-IT\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"LU\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"NP\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"PF\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"SC\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"SM\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"SN\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"TF\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"VA\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"CY\": [\n \"h\",\n \"H\",\n \"hb\",\n \"hB\"\n ],\n \"GR\": [\n \"h\",\n \"H\",\n \"hb\",\n \"hB\"\n ],\n \"CO\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"DO\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"KP\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"KR\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"NA\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"PA\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"PR\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"VE\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"AC\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"AI\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"BW\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"BZ\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"CC\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"CK\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"CX\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"DG\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"FK\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"GB\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"GG\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"GI\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"IE\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"IM\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"IO\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"JE\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"LT\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"MK\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"MN\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"MS\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"NF\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"NG\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"NR\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"NU\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"PN\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"SH\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"SX\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"TA\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"ZA\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"af-ZA\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"AR\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"CL\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"CR\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"CU\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"EA\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-BO\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-BR\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-EC\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-ES\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-GQ\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-PE\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"GT\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"HN\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"IC\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"KG\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"KM\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"LK\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"MA\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"MX\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"NI\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"PY\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"SV\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"UY\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"JP\": [\n \"H\",\n \"h\",\n \"K\"\n ],\n \"AD\": [\n \"H\",\n \"hB\"\n ],\n \"AM\": [\n \"H\",\n \"hB\"\n ],\n \"AO\": [\n \"H\",\n \"hB\"\n ],\n \"AT\": [\n \"H\",\n \"hB\"\n ],\n \"AW\": [\n \"H\",\n \"hB\"\n ],\n \"BE\": [\n \"H\",\n \"hB\"\n ],\n \"BF\": [\n \"H\",\n \"hB\"\n ],\n \"BJ\": [\n \"H\",\n \"hB\"\n ],\n \"BL\": [\n \"H\",\n \"hB\"\n ],\n \"BR\": [\n \"H\",\n \"hB\"\n ],\n \"CG\": [\n \"H\",\n \"hB\"\n ],\n \"CI\": [\n \"H\",\n \"hB\"\n ],\n \"CV\": [\n \"H\",\n \"hB\"\n ],\n \"DE\": [\n \"H\",\n \"hB\"\n ],\n \"EE\": [\n \"H\",\n \"hB\"\n ],\n \"FR\": [\n \"H\",\n \"hB\"\n ],\n \"GA\": [\n \"H\",\n \"hB\"\n ],\n \"GF\": [\n \"H\",\n \"hB\"\n ],\n \"GN\": [\n \"H\",\n \"hB\"\n ],\n \"GP\": [\n \"H\",\n \"hB\"\n ],\n \"GW\": [\n \"H\",\n \"hB\"\n ],\n \"HR\": [\n \"H\",\n \"hB\"\n ],\n \"IL\": [\n \"H\",\n \"hB\"\n ],\n \"IT\": [\n \"H\",\n \"hB\"\n ],\n \"KZ\": [\n \"H\",\n \"hB\"\n ],\n \"MC\": [\n \"H\",\n \"hB\"\n ],\n \"MD\": [\n \"H\",\n \"hB\"\n ],\n \"MF\": [\n \"H\",\n \"hB\"\n ],\n \"MQ\": [\n \"H\",\n \"hB\"\n ],\n \"MZ\": [\n \"H\",\n \"hB\"\n ],\n \"NC\": [\n \"H\",\n \"hB\"\n ],\n \"NL\": [\n \"H\",\n \"hB\"\n ],\n \"PM\": [\n \"H\",\n \"hB\"\n ],\n \"PT\": [\n \"H\",\n \"hB\"\n ],\n \"RE\": [\n \"H\",\n \"hB\"\n ],\n \"RO\": [\n \"H\",\n \"hB\"\n ],\n \"SI\": [\n \"H\",\n \"hB\"\n ],\n \"SR\": [\n \"H\",\n \"hB\"\n ],\n \"ST\": [\n \"H\",\n \"hB\"\n ],\n \"TG\": [\n \"H\",\n \"hB\"\n ],\n \"TR\": [\n \"H\",\n \"hB\"\n ],\n \"WF\": [\n \"H\",\n \"hB\"\n ],\n \"YT\": [\n \"H\",\n \"hB\"\n ],\n \"BD\": [\n \"h\",\n \"hB\",\n \"H\"\n ],\n \"PK\": [\n \"h\",\n \"hB\",\n \"H\"\n ],\n \"AZ\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"BA\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"BG\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"CH\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"GE\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"LI\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"ME\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"RS\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"UA\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"UZ\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"XK\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"AG\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"AU\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"BB\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"BM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"BS\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"CA\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"DM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"en-001\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"FJ\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"FM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"GD\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"GM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"GU\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"GY\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"JM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"KI\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"KN\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"KY\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"LC\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"LR\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"MH\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"MP\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"MW\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"NZ\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"SB\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"SG\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"SL\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"SS\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"SZ\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"TC\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"TT\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"UM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"US\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"VC\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"VG\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"VI\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"ZM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"BO\": [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n \"EC\": [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n \"ES\": [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n \"GQ\": [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n \"PE\": [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n \"AE\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"ar-001\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"BH\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"DZ\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"EG\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"EH\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"HK\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"IQ\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"JO\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"KW\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"LB\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"LY\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"MO\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"MR\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"OM\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"PH\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"PS\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"QA\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"SA\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"SD\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"SY\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"TN\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"YE\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"AF\": [\n \"H\",\n \"hb\",\n \"hB\",\n \"h\"\n ],\n \"LA\": [\n \"H\",\n \"hb\",\n \"hB\",\n \"h\"\n ],\n \"CN\": [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ],\n \"LV\": [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ],\n \"TL\": [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ],\n \"zu-ZA\": [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ],\n \"CD\": [\n \"hB\",\n \"H\"\n ],\n \"IR\": [\n \"hB\",\n \"H\"\n ],\n \"hi-IN\": [\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"kn-IN\": [\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"ml-IN\": [\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"te-IN\": [\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"KH\": [\n \"hB\",\n \"h\",\n \"H\",\n \"hb\"\n ],\n \"ta-IN\": [\n \"hB\",\n \"h\",\n \"hb\",\n \"H\"\n ],\n \"BN\": [\n \"hb\",\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"MY\": [\n \"hb\",\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"ET\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"gu-IN\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"mr-IN\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"pa-IN\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"TW\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"KE\": [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ],\n \"MM\": [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ],\n \"TZ\": [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ],\n \"UG\": [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ]\n};\n","import { timeData } from './time-data.generated';\n/**\n * Returns the best matching date time pattern if a date time skeleton\n * pattern is provided with a locale. Follows the Unicode specification:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#table-mapping-requested-time-skeletons-to-patterns\n * @param skeleton date time skeleton pattern that possibly includes j, J or C\n * @param locale\n */\nexport function getBestPattern(skeleton, locale) {\n var skeletonCopy = '';\n for (var patternPos = 0; patternPos < skeleton.length; patternPos++) {\n var patternChar = skeleton.charAt(patternPos);\n if (patternChar === 'j') {\n var extraLength = 0;\n while (patternPos + 1 < skeleton.length &&\n skeleton.charAt(patternPos + 1) === patternChar) {\n extraLength++;\n patternPos++;\n }\n var hourLen = 1 + (extraLength & 1);\n var dayPeriodLen = extraLength < 2 ? 1 : 3 + (extraLength >> 1);\n var dayPeriodChar = 'a';\n var hourChar = getDefaultHourSymbolFromLocale(locale);\n if (hourChar == 'H' || hourChar == 'k') {\n dayPeriodLen = 0;\n }\n while (dayPeriodLen-- > 0) {\n skeletonCopy += dayPeriodChar;\n }\n while (hourLen-- > 0) {\n skeletonCopy = hourChar + skeletonCopy;\n }\n }\n else if (patternChar === 'J') {\n skeletonCopy += 'H';\n }\n else {\n skeletonCopy += patternChar;\n }\n }\n return skeletonCopy;\n}\n/**\n * Maps the [hour cycle type](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/hourCycle)\n * of the given `locale` to the corresponding time pattern.\n * @param locale\n */\nfunction getDefaultHourSymbolFromLocale(locale) {\n var hourCycle = locale.hourCycle;\n if (hourCycle === undefined &&\n // @ts-ignore hourCycle(s) is not identified yet\n locale.hourCycles &&\n // @ts-ignore\n locale.hourCycles.length) {\n // @ts-ignore\n hourCycle = locale.hourCycles[0];\n }\n if (hourCycle) {\n switch (hourCycle) {\n case 'h24':\n return 'k';\n case 'h23':\n return 'H';\n case 'h12':\n return 'h';\n case 'h11':\n return 'K';\n default:\n throw new Error('Invalid hourCycle');\n }\n }\n // TODO: Once hourCycle is fully supported remove the following with data generation\n var languageTag = locale.language;\n var regionTag;\n if (languageTag !== 'root') {\n regionTag = locale.maximize().region;\n }\n var hourCycles = timeData[regionTag || ''] ||\n timeData[languageTag || ''] ||\n timeData[\"\".concat(languageTag, \"-001\")] ||\n timeData['001'];\n return hourCycles[0];\n}\n","var _a;\nimport { __assign } from \"tslib\";\nimport { ErrorKind } from './error';\nimport { SKELETON_TYPE, TYPE, } from './types';\nimport { SPACE_SEPARATOR_REGEX } from './regex.generated';\nimport { parseNumberSkeleton, parseNumberSkeletonFromString, parseDateTimeSkeleton, } from '@formatjs/icu-skeleton-parser';\nimport { getBestPattern } from './date-time-pattern-generator';\nvar SPACE_SEPARATOR_START_REGEX = new RegExp(\"^\".concat(SPACE_SEPARATOR_REGEX.source, \"*\"));\nvar SPACE_SEPARATOR_END_REGEX = new RegExp(\"\".concat(SPACE_SEPARATOR_REGEX.source, \"*$\"));\nfunction createLocation(start, end) {\n return { start: start, end: end };\n}\n// #region Ponyfills\n// Consolidate these variables up top for easier toggling during debugging\nvar hasNativeStartsWith = !!String.prototype.startsWith;\nvar hasNativeFromCodePoint = !!String.fromCodePoint;\nvar hasNativeFromEntries = !!Object.fromEntries;\nvar hasNativeCodePointAt = !!String.prototype.codePointAt;\nvar hasTrimStart = !!String.prototype.trimStart;\nvar hasTrimEnd = !!String.prototype.trimEnd;\nvar hasNativeIsSafeInteger = !!Number.isSafeInteger;\nvar isSafeInteger = hasNativeIsSafeInteger\n ? Number.isSafeInteger\n : function (n) {\n return (typeof n === 'number' &&\n isFinite(n) &&\n Math.floor(n) === n &&\n Math.abs(n) <= 0x1fffffffffffff);\n };\n// IE11 does not support y and u.\nvar REGEX_SUPPORTS_U_AND_Y = true;\ntry {\n var re = RE('([^\\\\p{White_Space}\\\\p{Pattern_Syntax}]*)', 'yu');\n /**\n * legacy Edge or Xbox One browser\n * Unicode flag support: supported\n * Pattern_Syntax support: not supported\n * See https://github.com/formatjs/formatjs/issues/2822\n */\n REGEX_SUPPORTS_U_AND_Y = ((_a = re.exec('a')) === null || _a === void 0 ? void 0 : _a[0]) === 'a';\n}\ncatch (_) {\n REGEX_SUPPORTS_U_AND_Y = false;\n}\nvar startsWith = hasNativeStartsWith\n ? // Native\n function startsWith(s, search, position) {\n return s.startsWith(search, position);\n }\n : // For IE11\n function startsWith(s, search, position) {\n return s.slice(position, position + search.length) === search;\n };\nvar fromCodePoint = hasNativeFromCodePoint\n ? String.fromCodePoint\n : // IE11\n function fromCodePoint() {\n var codePoints = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n codePoints[_i] = arguments[_i];\n }\n var elements = '';\n var length = codePoints.length;\n var i = 0;\n var code;\n while (length > i) {\n code = codePoints[i++];\n if (code > 0x10ffff)\n throw RangeError(code + ' is not a valid code point');\n elements +=\n code < 0x10000\n ? String.fromCharCode(code)\n : String.fromCharCode(((code -= 0x10000) >> 10) + 0xd800, (code % 0x400) + 0xdc00);\n }\n return elements;\n };\nvar fromEntries = \n// native\nhasNativeFromEntries\n ? Object.fromEntries\n : // Ponyfill\n function fromEntries(entries) {\n var obj = {};\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\n var _a = entries_1[_i], k = _a[0], v = _a[1];\n obj[k] = v;\n }\n return obj;\n };\nvar codePointAt = hasNativeCodePointAt\n ? // Native\n function codePointAt(s, index) {\n return s.codePointAt(index);\n }\n : // IE 11\n function codePointAt(s, index) {\n var size = s.length;\n if (index < 0 || index >= size) {\n return undefined;\n }\n var first = s.charCodeAt(index);\n var second;\n return first < 0xd800 ||\n first > 0xdbff ||\n index + 1 === size ||\n (second = s.charCodeAt(index + 1)) < 0xdc00 ||\n second > 0xdfff\n ? first\n : ((first - 0xd800) << 10) + (second - 0xdc00) + 0x10000;\n };\nvar trimStart = hasTrimStart\n ? // Native\n function trimStart(s) {\n return s.trimStart();\n }\n : // Ponyfill\n function trimStart(s) {\n return s.replace(SPACE_SEPARATOR_START_REGEX, '');\n };\nvar trimEnd = hasTrimEnd\n ? // Native\n function trimEnd(s) {\n return s.trimEnd();\n }\n : // Ponyfill\n function trimEnd(s) {\n return s.replace(SPACE_SEPARATOR_END_REGEX, '');\n };\n// Prevent minifier to translate new RegExp to literal form that might cause syntax error on IE11.\nfunction RE(s, flag) {\n return new RegExp(s, flag);\n}\n// #endregion\nvar matchIdentifierAtIndex;\nif (REGEX_SUPPORTS_U_AND_Y) {\n // Native\n var IDENTIFIER_PREFIX_RE_1 = RE('([^\\\\p{White_Space}\\\\p{Pattern_Syntax}]*)', 'yu');\n matchIdentifierAtIndex = function matchIdentifierAtIndex(s, index) {\n var _a;\n IDENTIFIER_PREFIX_RE_1.lastIndex = index;\n var match = IDENTIFIER_PREFIX_RE_1.exec(s);\n return (_a = match[1]) !== null && _a !== void 0 ? _a : '';\n };\n}\nelse {\n // IE11\n matchIdentifierAtIndex = function matchIdentifierAtIndex(s, index) {\n var match = [];\n while (true) {\n var c = codePointAt(s, index);\n if (c === undefined || _isWhiteSpace(c) || _isPatternSyntax(c)) {\n break;\n }\n match.push(c);\n index += c >= 0x10000 ? 2 : 1;\n }\n return fromCodePoint.apply(void 0, match);\n };\n}\nvar Parser = /** @class */ (function () {\n function Parser(message, options) {\n if (options === void 0) { options = {}; }\n this.message = message;\n this.position = { offset: 0, line: 1, column: 1 };\n this.ignoreTag = !!options.ignoreTag;\n this.locale = options.locale;\n this.requiresOtherClause = !!options.requiresOtherClause;\n this.shouldParseSkeletons = !!options.shouldParseSkeletons;\n }\n Parser.prototype.parse = function () {\n if (this.offset() !== 0) {\n throw Error('parser can only be used once');\n }\n return this.parseMessage(0, '', false);\n };\n Parser.prototype.parseMessage = function (nestingLevel, parentArgType, expectingCloseTag) {\n var elements = [];\n while (!this.isEOF()) {\n var char = this.char();\n if (char === 123 /* `{` */) {\n var result = this.parseArgument(nestingLevel, expectingCloseTag);\n if (result.err) {\n return result;\n }\n elements.push(result.val);\n }\n else if (char === 125 /* `}` */ && nestingLevel > 0) {\n break;\n }\n else if (char === 35 /* `#` */ &&\n (parentArgType === 'plural' || parentArgType === 'selectordinal')) {\n var position = this.clonePosition();\n this.bump();\n elements.push({\n type: TYPE.pound,\n location: createLocation(position, this.clonePosition()),\n });\n }\n else if (char === 60 /* `<` */ &&\n !this.ignoreTag &&\n this.peek() === 47 // char code for '/'\n ) {\n if (expectingCloseTag) {\n break;\n }\n else {\n return this.error(ErrorKind.UNMATCHED_CLOSING_TAG, createLocation(this.clonePosition(), this.clonePosition()));\n }\n }\n else if (char === 60 /* `<` */ &&\n !this.ignoreTag &&\n _isAlpha(this.peek() || 0)) {\n var result = this.parseTag(nestingLevel, parentArgType);\n if (result.err) {\n return result;\n }\n elements.push(result.val);\n }\n else {\n var result = this.parseLiteral(nestingLevel, parentArgType);\n if (result.err) {\n return result;\n }\n elements.push(result.val);\n }\n }\n return { val: elements, err: null };\n };\n /**\n * A tag name must start with an ASCII lower/upper case letter. The grammar is based on the\n * [custom element name][] except that a dash is NOT always mandatory and uppercase letters\n * are accepted:\n *\n * ```\n * tag ::= \"<\" tagName (whitespace)* \"/>\" | \"<\" tagName (whitespace)* \">\" message \"\"\n * tagName ::= [a-z] (PENChar)*\n * PENChar ::=\n * \"-\" | \".\" | [0-9] | \"_\" | [a-z] | [A-Z] | #xB7 | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x37D] |\n * [#x37F-#x1FFF] | [#x200C-#x200D] | [#x203F-#x2040] | [#x2070-#x218F] | [#x2C00-#x2FEF] |\n * [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]\n * ```\n *\n * [custom element name]: https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name\n * NOTE: We're a bit more lax here since HTML technically does not allow uppercase HTML element but we do\n * since other tag-based engines like React allow it\n */\n Parser.prototype.parseTag = function (nestingLevel, parentArgType) {\n var startPosition = this.clonePosition();\n this.bump(); // `<`\n var tagName = this.parseTagName();\n this.bumpSpace();\n if (this.bumpIf('/>')) {\n // Self closing tag\n return {\n val: {\n type: TYPE.literal,\n value: \"<\".concat(tagName, \"/>\"),\n location: createLocation(startPosition, this.clonePosition()),\n },\n err: null,\n };\n }\n else if (this.bumpIf('>')) {\n var childrenResult = this.parseMessage(nestingLevel + 1, parentArgType, true);\n if (childrenResult.err) {\n return childrenResult;\n }\n var children = childrenResult.val;\n // Expecting a close tag\n var endTagStartPosition = this.clonePosition();\n if (this.bumpIf('')) {\n return this.error(ErrorKind.INVALID_TAG, createLocation(endTagStartPosition, this.clonePosition()));\n }\n return {\n val: {\n type: TYPE.tag,\n value: tagName,\n children: children,\n location: createLocation(startPosition, this.clonePosition()),\n },\n err: null,\n };\n }\n else {\n return this.error(ErrorKind.UNCLOSED_TAG, createLocation(startPosition, this.clonePosition()));\n }\n }\n else {\n return this.error(ErrorKind.INVALID_TAG, createLocation(startPosition, this.clonePosition()));\n }\n };\n /**\n * This method assumes that the caller has peeked ahead for the first tag character.\n */\n Parser.prototype.parseTagName = function () {\n var startOffset = this.offset();\n this.bump(); // the first tag name character\n while (!this.isEOF() && _isPotentialElementNameChar(this.char())) {\n this.bump();\n }\n return this.message.slice(startOffset, this.offset());\n };\n Parser.prototype.parseLiteral = function (nestingLevel, parentArgType) {\n var start = this.clonePosition();\n var value = '';\n while (true) {\n var parseQuoteResult = this.tryParseQuote(parentArgType);\n if (parseQuoteResult) {\n value += parseQuoteResult;\n continue;\n }\n var parseUnquotedResult = this.tryParseUnquoted(nestingLevel, parentArgType);\n if (parseUnquotedResult) {\n value += parseUnquotedResult;\n continue;\n }\n var parseLeftAngleResult = this.tryParseLeftAngleBracket();\n if (parseLeftAngleResult) {\n value += parseLeftAngleResult;\n continue;\n }\n break;\n }\n var location = createLocation(start, this.clonePosition());\n return {\n val: { type: TYPE.literal, value: value, location: location },\n err: null,\n };\n };\n Parser.prototype.tryParseLeftAngleBracket = function () {\n if (!this.isEOF() &&\n this.char() === 60 /* `<` */ &&\n (this.ignoreTag ||\n // If at the opening tag or closing tag position, bail.\n !_isAlphaOrSlash(this.peek() || 0))) {\n this.bump(); // `<`\n return '<';\n }\n return null;\n };\n /**\n * Starting with ICU 4.8, an ASCII apostrophe only starts quoted text if it immediately precedes\n * a character that requires quoting (that is, \"only where needed\"), and works the same in\n * nested messages as on the top level of the pattern. The new behavior is otherwise compatible.\n */\n Parser.prototype.tryParseQuote = function (parentArgType) {\n if (this.isEOF() || this.char() !== 39 /* `'` */) {\n return null;\n }\n // Parse escaped char following the apostrophe, or early return if there is no escaped char.\n // Check if is valid escaped character\n switch (this.peek()) {\n case 39 /* `'` */:\n // double quote, should return as a single quote.\n this.bump();\n this.bump();\n return \"'\";\n // '{', '<', '>', '}'\n case 123:\n case 60:\n case 62:\n case 125:\n break;\n case 35: // '#'\n if (parentArgType === 'plural' || parentArgType === 'selectordinal') {\n break;\n }\n return null;\n default:\n return null;\n }\n this.bump(); // apostrophe\n var codePoints = [this.char()]; // escaped char\n this.bump();\n // read chars until the optional closing apostrophe is found\n while (!this.isEOF()) {\n var ch = this.char();\n if (ch === 39 /* `'` */) {\n if (this.peek() === 39 /* `'` */) {\n codePoints.push(39);\n // Bump one more time because we need to skip 2 characters.\n this.bump();\n }\n else {\n // Optional closing apostrophe.\n this.bump();\n break;\n }\n }\n else {\n codePoints.push(ch);\n }\n this.bump();\n }\n return fromCodePoint.apply(void 0, codePoints);\n };\n Parser.prototype.tryParseUnquoted = function (nestingLevel, parentArgType) {\n if (this.isEOF()) {\n return null;\n }\n var ch = this.char();\n if (ch === 60 /* `<` */ ||\n ch === 123 /* `{` */ ||\n (ch === 35 /* `#` */ &&\n (parentArgType === 'plural' || parentArgType === 'selectordinal')) ||\n (ch === 125 /* `}` */ && nestingLevel > 0)) {\n return null;\n }\n else {\n this.bump();\n return fromCodePoint(ch);\n }\n };\n Parser.prototype.parseArgument = function (nestingLevel, expectingCloseTag) {\n var openingBracePosition = this.clonePosition();\n this.bump(); // `{`\n this.bumpSpace();\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n if (this.char() === 125 /* `}` */) {\n this.bump();\n return this.error(ErrorKind.EMPTY_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n // argument name\n var value = this.parseIdentifierIfPossible().value;\n if (!value) {\n return this.error(ErrorKind.MALFORMED_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n this.bumpSpace();\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n switch (this.char()) {\n // Simple argument: `{name}`\n case 125 /* `}` */: {\n this.bump(); // `}`\n return {\n val: {\n type: TYPE.argument,\n // value does not include the opening and closing braces.\n value: value,\n location: createLocation(openingBracePosition, this.clonePosition()),\n },\n err: null,\n };\n }\n // Argument with options: `{name, format, ...}`\n case 44 /* `,` */: {\n this.bump(); // `,`\n this.bumpSpace();\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n return this.parseArgumentOptions(nestingLevel, expectingCloseTag, value, openingBracePosition);\n }\n default:\n return this.error(ErrorKind.MALFORMED_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n };\n /**\n * Advance the parser until the end of the identifier, if it is currently on\n * an identifier character. Return an empty string otherwise.\n */\n Parser.prototype.parseIdentifierIfPossible = function () {\n var startingPosition = this.clonePosition();\n var startOffset = this.offset();\n var value = matchIdentifierAtIndex(this.message, startOffset);\n var endOffset = startOffset + value.length;\n this.bumpTo(endOffset);\n var endPosition = this.clonePosition();\n var location = createLocation(startingPosition, endPosition);\n return { value: value, location: location };\n };\n Parser.prototype.parseArgumentOptions = function (nestingLevel, expectingCloseTag, value, openingBracePosition) {\n var _a;\n // Parse this range:\n // {name, type, style}\n // ^---^\n var typeStartPosition = this.clonePosition();\n var argType = this.parseIdentifierIfPossible().value;\n var typeEndPosition = this.clonePosition();\n switch (argType) {\n case '':\n // Expecting a style string number, date, time, plural, selectordinal, or select.\n return this.error(ErrorKind.EXPECT_ARGUMENT_TYPE, createLocation(typeStartPosition, typeEndPosition));\n case 'number':\n case 'date':\n case 'time': {\n // Parse this range:\n // {name, number, style}\n // ^-------^\n this.bumpSpace();\n var styleAndLocation = null;\n if (this.bumpIf(',')) {\n this.bumpSpace();\n var styleStartPosition = this.clonePosition();\n var result = this.parseSimpleArgStyleIfPossible();\n if (result.err) {\n return result;\n }\n var style = trimEnd(result.val);\n if (style.length === 0) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_STYLE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n var styleLocation = createLocation(styleStartPosition, this.clonePosition());\n styleAndLocation = { style: style, styleLocation: styleLocation };\n }\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n if (argCloseResult.err) {\n return argCloseResult;\n }\n var location_1 = createLocation(openingBracePosition, this.clonePosition());\n // Extract style or skeleton\n if (styleAndLocation && startsWith(styleAndLocation === null || styleAndLocation === void 0 ? void 0 : styleAndLocation.style, '::', 0)) {\n // Skeleton starts with `::`.\n var skeleton = trimStart(styleAndLocation.style.slice(2));\n if (argType === 'number') {\n var result = this.parseNumberSkeletonFromString(skeleton, styleAndLocation.styleLocation);\n if (result.err) {\n return result;\n }\n return {\n val: { type: TYPE.number, value: value, location: location_1, style: result.val },\n err: null,\n };\n }\n else {\n if (skeleton.length === 0) {\n return this.error(ErrorKind.EXPECT_DATE_TIME_SKELETON, location_1);\n }\n var dateTimePattern = skeleton;\n // Get \"best match\" pattern only if locale is passed, if not, let it\n // pass as-is where `parseDateTimeSkeleton()` will throw an error\n // for unsupported patterns.\n if (this.locale) {\n dateTimePattern = getBestPattern(skeleton, this.locale);\n }\n var style = {\n type: SKELETON_TYPE.dateTime,\n pattern: dateTimePattern,\n location: styleAndLocation.styleLocation,\n parsedOptions: this.shouldParseSkeletons\n ? parseDateTimeSkeleton(dateTimePattern)\n : {},\n };\n var type = argType === 'date' ? TYPE.date : TYPE.time;\n return {\n val: { type: type, value: value, location: location_1, style: style },\n err: null,\n };\n }\n }\n // Regular style or no style.\n return {\n val: {\n type: argType === 'number'\n ? TYPE.number\n : argType === 'date'\n ? TYPE.date\n : TYPE.time,\n value: value,\n location: location_1,\n style: (_a = styleAndLocation === null || styleAndLocation === void 0 ? void 0 : styleAndLocation.style) !== null && _a !== void 0 ? _a : null,\n },\n err: null,\n };\n }\n case 'plural':\n case 'selectordinal':\n case 'select': {\n // Parse this range:\n // {name, plural, options}\n // ^---------^\n var typeEndPosition_1 = this.clonePosition();\n this.bumpSpace();\n if (!this.bumpIf(',')) {\n return this.error(ErrorKind.EXPECT_SELECT_ARGUMENT_OPTIONS, createLocation(typeEndPosition_1, __assign({}, typeEndPosition_1)));\n }\n this.bumpSpace();\n // Parse offset:\n // {name, plural, offset:1, options}\n // ^-----^\n //\n // or the first option:\n //\n // {name, plural, one {...} other {...}}\n // ^--^\n var identifierAndLocation = this.parseIdentifierIfPossible();\n var pluralOffset = 0;\n if (argType !== 'select' && identifierAndLocation.value === 'offset') {\n if (!this.bumpIf(':')) {\n return this.error(ErrorKind.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n this.bumpSpace();\n var result = this.tryParseDecimalInteger(ErrorKind.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE, ErrorKind.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE);\n if (result.err) {\n return result;\n }\n // Parse another identifier for option parsing\n this.bumpSpace();\n identifierAndLocation = this.parseIdentifierIfPossible();\n pluralOffset = result.val;\n }\n var optionsResult = this.tryParsePluralOrSelectOptions(nestingLevel, argType, expectingCloseTag, identifierAndLocation);\n if (optionsResult.err) {\n return optionsResult;\n }\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n if (argCloseResult.err) {\n return argCloseResult;\n }\n var location_2 = createLocation(openingBracePosition, this.clonePosition());\n if (argType === 'select') {\n return {\n val: {\n type: TYPE.select,\n value: value,\n options: fromEntries(optionsResult.val),\n location: location_2,\n },\n err: null,\n };\n }\n else {\n return {\n val: {\n type: TYPE.plural,\n value: value,\n options: fromEntries(optionsResult.val),\n offset: pluralOffset,\n pluralType: argType === 'plural' ? 'cardinal' : 'ordinal',\n location: location_2,\n },\n err: null,\n };\n }\n }\n default:\n return this.error(ErrorKind.INVALID_ARGUMENT_TYPE, createLocation(typeStartPosition, typeEndPosition));\n }\n };\n Parser.prototype.tryParseArgumentClose = function (openingBracePosition) {\n // Parse: {value, number, ::currency/GBP }\n //\n if (this.isEOF() || this.char() !== 125 /* `}` */) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n this.bump(); // `}`\n return { val: true, err: null };\n };\n /**\n * See: https://github.com/unicode-org/icu/blob/af7ed1f6d2298013dc303628438ec4abe1f16479/icu4c/source/common/messagepattern.cpp#L659\n */\n Parser.prototype.parseSimpleArgStyleIfPossible = function () {\n var nestedBraces = 0;\n var startPosition = this.clonePosition();\n while (!this.isEOF()) {\n var ch = this.char();\n switch (ch) {\n case 39 /* `'` */: {\n // Treat apostrophe as quoting but include it in the style part.\n // Find the end of the quoted literal text.\n this.bump();\n var apostrophePosition = this.clonePosition();\n if (!this.bumpUntil(\"'\")) {\n return this.error(ErrorKind.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE, createLocation(apostrophePosition, this.clonePosition()));\n }\n this.bump();\n break;\n }\n case 123 /* `{` */: {\n nestedBraces += 1;\n this.bump();\n break;\n }\n case 125 /* `}` */: {\n if (nestedBraces > 0) {\n nestedBraces -= 1;\n }\n else {\n return {\n val: this.message.slice(startPosition.offset, this.offset()),\n err: null,\n };\n }\n break;\n }\n default:\n this.bump();\n break;\n }\n }\n return {\n val: this.message.slice(startPosition.offset, this.offset()),\n err: null,\n };\n };\n Parser.prototype.parseNumberSkeletonFromString = function (skeleton, location) {\n var tokens = [];\n try {\n tokens = parseNumberSkeletonFromString(skeleton);\n }\n catch (e) {\n return this.error(ErrorKind.INVALID_NUMBER_SKELETON, location);\n }\n return {\n val: {\n type: SKELETON_TYPE.number,\n tokens: tokens,\n location: location,\n parsedOptions: this.shouldParseSkeletons\n ? parseNumberSkeleton(tokens)\n : {},\n },\n err: null,\n };\n };\n /**\n * @param nesting_level The current nesting level of messages.\n * This can be positive when parsing message fragment in select or plural argument options.\n * @param parent_arg_type The parent argument's type.\n * @param parsed_first_identifier If provided, this is the first identifier-like selector of\n * the argument. It is a by-product of a previous parsing attempt.\n * @param expecting_close_tag If true, this message is directly or indirectly nested inside\n * between a pair of opening and closing tags. The nested message will not parse beyond\n * the closing tag boundary.\n */\n Parser.prototype.tryParsePluralOrSelectOptions = function (nestingLevel, parentArgType, expectCloseTag, parsedFirstIdentifier) {\n var _a;\n var hasOtherClause = false;\n var options = [];\n var parsedSelectors = new Set();\n var selector = parsedFirstIdentifier.value, selectorLocation = parsedFirstIdentifier.location;\n // Parse:\n // one {one apple}\n // ^--^\n while (true) {\n if (selector.length === 0) {\n var startPosition = this.clonePosition();\n if (parentArgType !== 'select' && this.bumpIf('=')) {\n // Try parse `={number}` selector\n var result = this.tryParseDecimalInteger(ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR, ErrorKind.INVALID_PLURAL_ARGUMENT_SELECTOR);\n if (result.err) {\n return result;\n }\n selectorLocation = createLocation(startPosition, this.clonePosition());\n selector = this.message.slice(startPosition.offset, this.offset());\n }\n else {\n break;\n }\n }\n // Duplicate selector clauses\n if (parsedSelectors.has(selector)) {\n return this.error(parentArgType === 'select'\n ? ErrorKind.DUPLICATE_SELECT_ARGUMENT_SELECTOR\n : ErrorKind.DUPLICATE_PLURAL_ARGUMENT_SELECTOR, selectorLocation);\n }\n if (selector === 'other') {\n hasOtherClause = true;\n }\n // Parse:\n // one {one apple}\n // ^----------^\n this.bumpSpace();\n var openingBracePosition = this.clonePosition();\n if (!this.bumpIf('{')) {\n return this.error(parentArgType === 'select'\n ? ErrorKind.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\n : ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT, createLocation(this.clonePosition(), this.clonePosition()));\n }\n var fragmentResult = this.parseMessage(nestingLevel + 1, parentArgType, expectCloseTag);\n if (fragmentResult.err) {\n return fragmentResult;\n }\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n if (argCloseResult.err) {\n return argCloseResult;\n }\n options.push([\n selector,\n {\n value: fragmentResult.val,\n location: createLocation(openingBracePosition, this.clonePosition()),\n },\n ]);\n // Keep track of the existing selectors\n parsedSelectors.add(selector);\n // Prep next selector clause.\n this.bumpSpace();\n (_a = this.parseIdentifierIfPossible(), selector = _a.value, selectorLocation = _a.location);\n }\n if (options.length === 0) {\n return this.error(parentArgType === 'select'\n ? ErrorKind.EXPECT_SELECT_ARGUMENT_SELECTOR\n : ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR, createLocation(this.clonePosition(), this.clonePosition()));\n }\n if (this.requiresOtherClause && !hasOtherClause) {\n return this.error(ErrorKind.MISSING_OTHER_CLAUSE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n return { val: options, err: null };\n };\n Parser.prototype.tryParseDecimalInteger = function (expectNumberError, invalidNumberError) {\n var sign = 1;\n var startingPosition = this.clonePosition();\n if (this.bumpIf('+')) {\n }\n else if (this.bumpIf('-')) {\n sign = -1;\n }\n var hasDigits = false;\n var decimal = 0;\n while (!this.isEOF()) {\n var ch = this.char();\n if (ch >= 48 /* `0` */ && ch <= 57 /* `9` */) {\n hasDigits = true;\n decimal = decimal * 10 + (ch - 48);\n this.bump();\n }\n else {\n break;\n }\n }\n var location = createLocation(startingPosition, this.clonePosition());\n if (!hasDigits) {\n return this.error(expectNumberError, location);\n }\n decimal *= sign;\n if (!isSafeInteger(decimal)) {\n return this.error(invalidNumberError, location);\n }\n return { val: decimal, err: null };\n };\n Parser.prototype.offset = function () {\n return this.position.offset;\n };\n Parser.prototype.isEOF = function () {\n return this.offset() === this.message.length;\n };\n Parser.prototype.clonePosition = function () {\n // This is much faster than `Object.assign` or spread.\n return {\n offset: this.position.offset,\n line: this.position.line,\n column: this.position.column,\n };\n };\n /**\n * Return the code point at the current position of the parser.\n * Throws if the index is out of bound.\n */\n Parser.prototype.char = function () {\n var offset = this.position.offset;\n if (offset >= this.message.length) {\n throw Error('out of bound');\n }\n var code = codePointAt(this.message, offset);\n if (code === undefined) {\n throw Error(\"Offset \".concat(offset, \" is at invalid UTF-16 code unit boundary\"));\n }\n return code;\n };\n Parser.prototype.error = function (kind, location) {\n return {\n val: null,\n err: {\n kind: kind,\n message: this.message,\n location: location,\n },\n };\n };\n /** Bump the parser to the next UTF-16 code unit. */\n Parser.prototype.bump = function () {\n if (this.isEOF()) {\n return;\n }\n var code = this.char();\n if (code === 10 /* '\\n' */) {\n this.position.line += 1;\n this.position.column = 1;\n this.position.offset += 1;\n }\n else {\n this.position.column += 1;\n // 0 ~ 0x10000 -> unicode BMP, otherwise skip the surrogate pair.\n this.position.offset += code < 0x10000 ? 1 : 2;\n }\n };\n /**\n * If the substring starting at the current position of the parser has\n * the given prefix, then bump the parser to the character immediately\n * following the prefix and return true. Otherwise, don't bump the parser\n * and return false.\n */\n Parser.prototype.bumpIf = function (prefix) {\n if (startsWith(this.message, prefix, this.offset())) {\n for (var i = 0; i < prefix.length; i++) {\n this.bump();\n }\n return true;\n }\n return false;\n };\n /**\n * Bump the parser until the pattern character is found and return `true`.\n * Otherwise bump to the end of the file and return `false`.\n */\n Parser.prototype.bumpUntil = function (pattern) {\n var currentOffset = this.offset();\n var index = this.message.indexOf(pattern, currentOffset);\n if (index >= 0) {\n this.bumpTo(index);\n return true;\n }\n else {\n this.bumpTo(this.message.length);\n return false;\n }\n };\n /**\n * Bump the parser to the target offset.\n * If target offset is beyond the end of the input, bump the parser to the end of the input.\n */\n Parser.prototype.bumpTo = function (targetOffset) {\n if (this.offset() > targetOffset) {\n throw Error(\"targetOffset \".concat(targetOffset, \" must be greater than or equal to the current offset \").concat(this.offset()));\n }\n targetOffset = Math.min(targetOffset, this.message.length);\n while (true) {\n var offset = this.offset();\n if (offset === targetOffset) {\n break;\n }\n if (offset > targetOffset) {\n throw Error(\"targetOffset \".concat(targetOffset, \" is at invalid UTF-16 code unit boundary\"));\n }\n this.bump();\n if (this.isEOF()) {\n break;\n }\n }\n };\n /** advance the parser through all whitespace to the next non-whitespace code unit. */\n Parser.prototype.bumpSpace = function () {\n while (!this.isEOF() && _isWhiteSpace(this.char())) {\n this.bump();\n }\n };\n /**\n * Peek at the *next* Unicode codepoint in the input without advancing the parser.\n * If the input has been exhausted, then this returns null.\n */\n Parser.prototype.peek = function () {\n if (this.isEOF()) {\n return null;\n }\n var code = this.char();\n var offset = this.offset();\n var nextCode = this.message.charCodeAt(offset + (code >= 0x10000 ? 2 : 1));\n return nextCode !== null && nextCode !== void 0 ? nextCode : null;\n };\n return Parser;\n}());\nexport { Parser };\n/**\n * This check if codepoint is alphabet (lower & uppercase)\n * @param codepoint\n * @returns\n */\nfunction _isAlpha(codepoint) {\n return ((codepoint >= 97 && codepoint <= 122) ||\n (codepoint >= 65 && codepoint <= 90));\n}\nfunction _isAlphaOrSlash(codepoint) {\n return _isAlpha(codepoint) || codepoint === 47; /* '/' */\n}\n/** See `parseTag` function docs. */\nfunction _isPotentialElementNameChar(c) {\n return (c === 45 /* '-' */ ||\n c === 46 /* '.' */ ||\n (c >= 48 && c <= 57) /* 0..9 */ ||\n c === 95 /* '_' */ ||\n (c >= 97 && c <= 122) /** a..z */ ||\n (c >= 65 && c <= 90) /* A..Z */ ||\n c == 0xb7 ||\n (c >= 0xc0 && c <= 0xd6) ||\n (c >= 0xd8 && c <= 0xf6) ||\n (c >= 0xf8 && c <= 0x37d) ||\n (c >= 0x37f && c <= 0x1fff) ||\n (c >= 0x200c && c <= 0x200d) ||\n (c >= 0x203f && c <= 0x2040) ||\n (c >= 0x2070 && c <= 0x218f) ||\n (c >= 0x2c00 && c <= 0x2fef) ||\n (c >= 0x3001 && c <= 0xd7ff) ||\n (c >= 0xf900 && c <= 0xfdcf) ||\n (c >= 0xfdf0 && c <= 0xfffd) ||\n (c >= 0x10000 && c <= 0xeffff));\n}\n/**\n * Code point equivalent of regex `\\p{White_Space}`.\n * From: https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt\n */\nfunction _isWhiteSpace(c) {\n return ((c >= 0x0009 && c <= 0x000d) ||\n c === 0x0020 ||\n c === 0x0085 ||\n (c >= 0x200e && c <= 0x200f) ||\n c === 0x2028 ||\n c === 0x2029);\n}\n/**\n * Code point equivalent of regex `\\p{Pattern_Syntax}`.\n * See https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt\n */\nfunction _isPatternSyntax(c) {\n return ((c >= 0x0021 && c <= 0x0023) ||\n c === 0x0024 ||\n (c >= 0x0025 && c <= 0x0027) ||\n c === 0x0028 ||\n c === 0x0029 ||\n c === 0x002a ||\n c === 0x002b ||\n c === 0x002c ||\n c === 0x002d ||\n (c >= 0x002e && c <= 0x002f) ||\n (c >= 0x003a && c <= 0x003b) ||\n (c >= 0x003c && c <= 0x003e) ||\n (c >= 0x003f && c <= 0x0040) ||\n c === 0x005b ||\n c === 0x005c ||\n c === 0x005d ||\n c === 0x005e ||\n c === 0x0060 ||\n c === 0x007b ||\n c === 0x007c ||\n c === 0x007d ||\n c === 0x007e ||\n c === 0x00a1 ||\n (c >= 0x00a2 && c <= 0x00a5) ||\n c === 0x00a6 ||\n c === 0x00a7 ||\n c === 0x00a9 ||\n c === 0x00ab ||\n c === 0x00ac ||\n c === 0x00ae ||\n c === 0x00b0 ||\n c === 0x00b1 ||\n c === 0x00b6 ||\n c === 0x00bb ||\n c === 0x00bf ||\n c === 0x00d7 ||\n c === 0x00f7 ||\n (c >= 0x2010 && c <= 0x2015) ||\n (c >= 0x2016 && c <= 0x2017) ||\n c === 0x2018 ||\n c === 0x2019 ||\n c === 0x201a ||\n (c >= 0x201b && c <= 0x201c) ||\n c === 0x201d ||\n c === 0x201e ||\n c === 0x201f ||\n (c >= 0x2020 && c <= 0x2027) ||\n (c >= 0x2030 && c <= 0x2038) ||\n c === 0x2039 ||\n c === 0x203a ||\n (c >= 0x203b && c <= 0x203e) ||\n (c >= 0x2041 && c <= 0x2043) ||\n c === 0x2044 ||\n c === 0x2045 ||\n c === 0x2046 ||\n (c >= 0x2047 && c <= 0x2051) ||\n c === 0x2052 ||\n c === 0x2053 ||\n (c >= 0x2055 && c <= 0x205e) ||\n (c >= 0x2190 && c <= 0x2194) ||\n (c >= 0x2195 && c <= 0x2199) ||\n (c >= 0x219a && c <= 0x219b) ||\n (c >= 0x219c && c <= 0x219f) ||\n c === 0x21a0 ||\n (c >= 0x21a1 && c <= 0x21a2) ||\n c === 0x21a3 ||\n (c >= 0x21a4 && c <= 0x21a5) ||\n c === 0x21a6 ||\n (c >= 0x21a7 && c <= 0x21ad) ||\n c === 0x21ae ||\n (c >= 0x21af && c <= 0x21cd) ||\n (c >= 0x21ce && c <= 0x21cf) ||\n (c >= 0x21d0 && c <= 0x21d1) ||\n c === 0x21d2 ||\n c === 0x21d3 ||\n c === 0x21d4 ||\n (c >= 0x21d5 && c <= 0x21f3) ||\n (c >= 0x21f4 && c <= 0x22ff) ||\n (c >= 0x2300 && c <= 0x2307) ||\n c === 0x2308 ||\n c === 0x2309 ||\n c === 0x230a ||\n c === 0x230b ||\n (c >= 0x230c && c <= 0x231f) ||\n (c >= 0x2320 && c <= 0x2321) ||\n (c >= 0x2322 && c <= 0x2328) ||\n c === 0x2329 ||\n c === 0x232a ||\n (c >= 0x232b && c <= 0x237b) ||\n c === 0x237c ||\n (c >= 0x237d && c <= 0x239a) ||\n (c >= 0x239b && c <= 0x23b3) ||\n (c >= 0x23b4 && c <= 0x23db) ||\n (c >= 0x23dc && c <= 0x23e1) ||\n (c >= 0x23e2 && c <= 0x2426) ||\n (c >= 0x2427 && c <= 0x243f) ||\n (c >= 0x2440 && c <= 0x244a) ||\n (c >= 0x244b && c <= 0x245f) ||\n (c >= 0x2500 && c <= 0x25b6) ||\n c === 0x25b7 ||\n (c >= 0x25b8 && c <= 0x25c0) ||\n c === 0x25c1 ||\n (c >= 0x25c2 && c <= 0x25f7) ||\n (c >= 0x25f8 && c <= 0x25ff) ||\n (c >= 0x2600 && c <= 0x266e) ||\n c === 0x266f ||\n (c >= 0x2670 && c <= 0x2767) ||\n c === 0x2768 ||\n c === 0x2769 ||\n c === 0x276a ||\n c === 0x276b ||\n c === 0x276c ||\n c === 0x276d ||\n c === 0x276e ||\n c === 0x276f ||\n c === 0x2770 ||\n c === 0x2771 ||\n c === 0x2772 ||\n c === 0x2773 ||\n c === 0x2774 ||\n c === 0x2775 ||\n (c >= 0x2794 && c <= 0x27bf) ||\n (c >= 0x27c0 && c <= 0x27c4) ||\n c === 0x27c5 ||\n c === 0x27c6 ||\n (c >= 0x27c7 && c <= 0x27e5) ||\n c === 0x27e6 ||\n c === 0x27e7 ||\n c === 0x27e8 ||\n c === 0x27e9 ||\n c === 0x27ea ||\n c === 0x27eb ||\n c === 0x27ec ||\n c === 0x27ed ||\n c === 0x27ee ||\n c === 0x27ef ||\n (c >= 0x27f0 && c <= 0x27ff) ||\n (c >= 0x2800 && c <= 0x28ff) ||\n (c >= 0x2900 && c <= 0x2982) ||\n c === 0x2983 ||\n c === 0x2984 ||\n c === 0x2985 ||\n c === 0x2986 ||\n c === 0x2987 ||\n c === 0x2988 ||\n c === 0x2989 ||\n c === 0x298a ||\n c === 0x298b ||\n c === 0x298c ||\n c === 0x298d ||\n c === 0x298e ||\n c === 0x298f ||\n c === 0x2990 ||\n c === 0x2991 ||\n c === 0x2992 ||\n c === 0x2993 ||\n c === 0x2994 ||\n c === 0x2995 ||\n c === 0x2996 ||\n c === 0x2997 ||\n c === 0x2998 ||\n (c >= 0x2999 && c <= 0x29d7) ||\n c === 0x29d8 ||\n c === 0x29d9 ||\n c === 0x29da ||\n c === 0x29db ||\n (c >= 0x29dc && c <= 0x29fb) ||\n c === 0x29fc ||\n c === 0x29fd ||\n (c >= 0x29fe && c <= 0x2aff) ||\n (c >= 0x2b00 && c <= 0x2b2f) ||\n (c >= 0x2b30 && c <= 0x2b44) ||\n (c >= 0x2b45 && c <= 0x2b46) ||\n (c >= 0x2b47 && c <= 0x2b4c) ||\n (c >= 0x2b4d && c <= 0x2b73) ||\n (c >= 0x2b74 && c <= 0x2b75) ||\n (c >= 0x2b76 && c <= 0x2b95) ||\n c === 0x2b96 ||\n (c >= 0x2b97 && c <= 0x2bff) ||\n (c >= 0x2e00 && c <= 0x2e01) ||\n c === 0x2e02 ||\n c === 0x2e03 ||\n c === 0x2e04 ||\n c === 0x2e05 ||\n (c >= 0x2e06 && c <= 0x2e08) ||\n c === 0x2e09 ||\n c === 0x2e0a ||\n c === 0x2e0b ||\n c === 0x2e0c ||\n c === 0x2e0d ||\n (c >= 0x2e0e && c <= 0x2e16) ||\n c === 0x2e17 ||\n (c >= 0x2e18 && c <= 0x2e19) ||\n c === 0x2e1a ||\n c === 0x2e1b ||\n c === 0x2e1c ||\n c === 0x2e1d ||\n (c >= 0x2e1e && c <= 0x2e1f) ||\n c === 0x2e20 ||\n c === 0x2e21 ||\n c === 0x2e22 ||\n c === 0x2e23 ||\n c === 0x2e24 ||\n c === 0x2e25 ||\n c === 0x2e26 ||\n c === 0x2e27 ||\n c === 0x2e28 ||\n c === 0x2e29 ||\n (c >= 0x2e2a && c <= 0x2e2e) ||\n c === 0x2e2f ||\n (c >= 0x2e30 && c <= 0x2e39) ||\n (c >= 0x2e3a && c <= 0x2e3b) ||\n (c >= 0x2e3c && c <= 0x2e3f) ||\n c === 0x2e40 ||\n c === 0x2e41 ||\n c === 0x2e42 ||\n (c >= 0x2e43 && c <= 0x2e4f) ||\n (c >= 0x2e50 && c <= 0x2e51) ||\n c === 0x2e52 ||\n (c >= 0x2e53 && c <= 0x2e7f) ||\n (c >= 0x3001 && c <= 0x3003) ||\n c === 0x3008 ||\n c === 0x3009 ||\n c === 0x300a ||\n c === 0x300b ||\n c === 0x300c ||\n c === 0x300d ||\n c === 0x300e ||\n c === 0x300f ||\n c === 0x3010 ||\n c === 0x3011 ||\n (c >= 0x3012 && c <= 0x3013) ||\n c === 0x3014 ||\n c === 0x3015 ||\n c === 0x3016 ||\n c === 0x3017 ||\n c === 0x3018 ||\n c === 0x3019 ||\n c === 0x301a ||\n c === 0x301b ||\n c === 0x301c ||\n c === 0x301d ||\n (c >= 0x301e && c <= 0x301f) ||\n c === 0x3020 ||\n c === 0x3030 ||\n c === 0xfd3e ||\n c === 0xfd3f ||\n (c >= 0xfe45 && c <= 0xfe46));\n}\n","import { __assign } from \"tslib\";\nimport { ErrorKind } from './error';\nimport { Parser } from './parser';\nimport { isDateElement, isDateTimeSkeleton, isNumberElement, isNumberSkeleton, isPluralElement, isSelectElement, isTagElement, isTimeElement, } from './types';\nfunction pruneLocation(els) {\n els.forEach(function (el) {\n delete el.location;\n if (isSelectElement(el) || isPluralElement(el)) {\n for (var k in el.options) {\n delete el.options[k].location;\n pruneLocation(el.options[k].value);\n }\n }\n else if (isNumberElement(el) && isNumberSkeleton(el.style)) {\n delete el.style.location;\n }\n else if ((isDateElement(el) || isTimeElement(el)) &&\n isDateTimeSkeleton(el.style)) {\n delete el.style.location;\n }\n else if (isTagElement(el)) {\n pruneLocation(el.children);\n }\n });\n}\nexport function parse(message, opts) {\n if (opts === void 0) { opts = {}; }\n opts = __assign({ shouldParseSkeletons: true, requiresOtherClause: true }, opts);\n var result = new Parser(message, opts).parse();\n if (result.err) {\n var error = SyntaxError(ErrorKind[result.err.kind]);\n // @ts-expect-error Assign to error object\n error.location = result.err.location;\n // @ts-expect-error Assign to error object\n error.originalMessage = result.err.message;\n throw error;\n }\n if (!(opts === null || opts === void 0 ? void 0 : opts.captureLocation)) {\n pruneLocation(result.val);\n }\n return result.val;\n}\nexport * from './types';\n// only for testing\nexport var _Parser = Parser;\n","//\n// Main\n//\nexport default function memoize(fn, options) {\n var cache = options && options.cache ? options.cache : cacheDefault;\n var serializer = options && options.serializer ? options.serializer : serializerDefault;\n var strategy = options && options.strategy ? options.strategy : strategyDefault;\n return strategy(fn, {\n cache: cache,\n serializer: serializer,\n });\n}\n//\n// Strategy\n//\nfunction isPrimitive(value) {\n return (value == null || typeof value === 'number' || typeof value === 'boolean'); // || typeof value === \"string\" 'unsafe' primitive for our needs\n}\nfunction monadic(fn, cache, serializer, arg) {\n var cacheKey = isPrimitive(arg) ? arg : serializer(arg);\n var computedValue = cache.get(cacheKey);\n if (typeof computedValue === 'undefined') {\n computedValue = fn.call(this, arg);\n cache.set(cacheKey, computedValue);\n }\n return computedValue;\n}\nfunction variadic(fn, cache, serializer) {\n var args = Array.prototype.slice.call(arguments, 3);\n var cacheKey = serializer(args);\n var computedValue = cache.get(cacheKey);\n if (typeof computedValue === 'undefined') {\n computedValue = fn.apply(this, args);\n cache.set(cacheKey, computedValue);\n }\n return computedValue;\n}\nfunction assemble(fn, context, strategy, cache, serialize) {\n return strategy.bind(context, fn, cache, serialize);\n}\nfunction strategyDefault(fn, options) {\n var strategy = fn.length === 1 ? monadic : variadic;\n return assemble(fn, this, strategy, options.cache.create(), options.serializer);\n}\nfunction strategyVariadic(fn, options) {\n return assemble(fn, this, variadic, options.cache.create(), options.serializer);\n}\nfunction strategyMonadic(fn, options) {\n return assemble(fn, this, monadic, options.cache.create(), options.serializer);\n}\n//\n// Serializer\n//\nvar serializerDefault = function () {\n return JSON.stringify(arguments);\n};\n//\n// Cache\n//\nfunction ObjectWithoutPrototypeCache() {\n this.cache = Object.create(null);\n}\nObjectWithoutPrototypeCache.prototype.get = function (key) {\n return this.cache[key];\n};\nObjectWithoutPrototypeCache.prototype.set = function (key, value) {\n this.cache[key] = value;\n};\nvar cacheDefault = {\n create: function create() {\n // @ts-ignore\n return new ObjectWithoutPrototypeCache();\n },\n};\nexport var strategies = {\n variadic: strategyVariadic,\n monadic: strategyMonadic,\n};\n","import { __extends } from \"tslib\";\nexport var ErrorCode;\n(function (ErrorCode) {\n // When we have a placeholder but no value to format\n ErrorCode[\"MISSING_VALUE\"] = \"MISSING_VALUE\";\n // When value supplied is invalid\n ErrorCode[\"INVALID_VALUE\"] = \"INVALID_VALUE\";\n // When we need specific Intl API but it's not available\n ErrorCode[\"MISSING_INTL_API\"] = \"MISSING_INTL_API\";\n})(ErrorCode || (ErrorCode = {}));\nvar FormatError = /** @class */ (function (_super) {\n __extends(FormatError, _super);\n function FormatError(msg, code, originalMessage) {\n var _this = _super.call(this, msg) || this;\n _this.code = code;\n _this.originalMessage = originalMessage;\n return _this;\n }\n FormatError.prototype.toString = function () {\n return \"[formatjs Error: \".concat(this.code, \"] \").concat(this.message);\n };\n return FormatError;\n}(Error));\nexport { FormatError };\nvar InvalidValueError = /** @class */ (function (_super) {\n __extends(InvalidValueError, _super);\n function InvalidValueError(variableId, value, options, originalMessage) {\n return _super.call(this, \"Invalid values for \\\"\".concat(variableId, \"\\\": \\\"\").concat(value, \"\\\". Options are \\\"\").concat(Object.keys(options).join('\", \"'), \"\\\"\"), ErrorCode.INVALID_VALUE, originalMessage) || this;\n }\n return InvalidValueError;\n}(FormatError));\nexport { InvalidValueError };\nvar InvalidValueTypeError = /** @class */ (function (_super) {\n __extends(InvalidValueTypeError, _super);\n function InvalidValueTypeError(value, type, originalMessage) {\n return _super.call(this, \"Value for \\\"\".concat(value, \"\\\" must be of type \").concat(type), ErrorCode.INVALID_VALUE, originalMessage) || this;\n }\n return InvalidValueTypeError;\n}(FormatError));\nexport { InvalidValueTypeError };\nvar MissingValueError = /** @class */ (function (_super) {\n __extends(MissingValueError, _super);\n function MissingValueError(variableId, originalMessage) {\n return _super.call(this, \"The intl string context variable \\\"\".concat(variableId, \"\\\" was not provided to the string \\\"\").concat(originalMessage, \"\\\"\"), ErrorCode.MISSING_VALUE, originalMessage) || this;\n }\n return MissingValueError;\n}(FormatError));\nexport { MissingValueError };\n","import { isArgumentElement, isDateElement, isDateTimeSkeleton, isLiteralElement, isNumberElement, isNumberSkeleton, isPluralElement, isPoundElement, isSelectElement, isTimeElement, isTagElement, } from '@formatjs/icu-messageformat-parser';\nimport { MissingValueError, InvalidValueError, ErrorCode, FormatError, InvalidValueTypeError, } from './error';\nexport var PART_TYPE;\n(function (PART_TYPE) {\n PART_TYPE[PART_TYPE[\"literal\"] = 0] = \"literal\";\n PART_TYPE[PART_TYPE[\"object\"] = 1] = \"object\";\n})(PART_TYPE || (PART_TYPE = {}));\nfunction mergeLiteral(parts) {\n if (parts.length < 2) {\n return parts;\n }\n return parts.reduce(function (all, part) {\n var lastPart = all[all.length - 1];\n if (!lastPart ||\n lastPart.type !== PART_TYPE.literal ||\n part.type !== PART_TYPE.literal) {\n all.push(part);\n }\n else {\n lastPart.value += part.value;\n }\n return all;\n }, []);\n}\nexport function isFormatXMLElementFn(el) {\n return typeof el === 'function';\n}\n// TODO(skeleton): add skeleton support\nexport function formatToParts(els, locales, formatters, formats, values, currentPluralValue, \n// For debugging\noriginalMessage) {\n // Hot path for straight simple msg translations\n if (els.length === 1 && isLiteralElement(els[0])) {\n return [\n {\n type: PART_TYPE.literal,\n value: els[0].value,\n },\n ];\n }\n var result = [];\n for (var _i = 0, els_1 = els; _i < els_1.length; _i++) {\n var el = els_1[_i];\n // Exit early for string parts.\n if (isLiteralElement(el)) {\n result.push({\n type: PART_TYPE.literal,\n value: el.value,\n });\n continue;\n }\n // TODO: should this part be literal type?\n // Replace `#` in plural rules with the actual numeric value.\n if (isPoundElement(el)) {\n if (typeof currentPluralValue === 'number') {\n result.push({\n type: PART_TYPE.literal,\n value: formatters.getNumberFormat(locales).format(currentPluralValue),\n });\n }\n continue;\n }\n var varName = el.value;\n // Enforce that all required values are provided by the caller.\n if (!(values && varName in values)) {\n throw new MissingValueError(varName, originalMessage);\n }\n var value = values[varName];\n if (isArgumentElement(el)) {\n if (!value || typeof value === 'string' || typeof value === 'number') {\n value =\n typeof value === 'string' || typeof value === 'number'\n ? String(value)\n : '';\n }\n result.push({\n type: typeof value === 'string' ? PART_TYPE.literal : PART_TYPE.object,\n value: value,\n });\n continue;\n }\n // Recursively format plural and select parts' option — which can be a\n // nested pattern structure. The choosing of the option to use is\n // abstracted-by and delegated-to the part helper object.\n if (isDateElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.date[el.style]\n : isDateTimeSkeleton(el.style)\n ? el.style.parsedOptions\n : undefined;\n result.push({\n type: PART_TYPE.literal,\n value: formatters\n .getDateTimeFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isTimeElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.time[el.style]\n : isDateTimeSkeleton(el.style)\n ? el.style.parsedOptions\n : formats.time.medium;\n result.push({\n type: PART_TYPE.literal,\n value: formatters\n .getDateTimeFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isNumberElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.number[el.style]\n : isNumberSkeleton(el.style)\n ? el.style.parsedOptions\n : undefined;\n if (style && style.scale) {\n value =\n value *\n (style.scale || 1);\n }\n result.push({\n type: PART_TYPE.literal,\n value: formatters\n .getNumberFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isTagElement(el)) {\n var children = el.children, value_1 = el.value;\n var formatFn = values[value_1];\n if (!isFormatXMLElementFn(formatFn)) {\n throw new InvalidValueTypeError(value_1, 'function', originalMessage);\n }\n var parts = formatToParts(children, locales, formatters, formats, values, currentPluralValue);\n var chunks = formatFn(parts.map(function (p) { return p.value; }));\n if (!Array.isArray(chunks)) {\n chunks = [chunks];\n }\n result.push.apply(result, chunks.map(function (c) {\n return {\n type: typeof c === 'string' ? PART_TYPE.literal : PART_TYPE.object,\n value: c,\n };\n }));\n }\n if (isSelectElement(el)) {\n var opt = el.options[value] || el.options.other;\n if (!opt) {\n throw new InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values));\n continue;\n }\n if (isPluralElement(el)) {\n var opt = el.options[\"=\".concat(value)];\n if (!opt) {\n if (!Intl.PluralRules) {\n throw new FormatError(\"Intl.PluralRules is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-pluralrules\\\"\\n\", ErrorCode.MISSING_INTL_API, originalMessage);\n }\n var rule = formatters\n .getPluralRules(locales, { type: el.pluralType })\n .select(value - (el.offset || 0));\n opt = el.options[rule] || el.options.other;\n }\n if (!opt) {\n throw new InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values, value - (el.offset || 0)));\n continue;\n }\n }\n return mergeLiteral(result);\n}\n","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nimport { __assign, __rest, __spreadArray } from \"tslib\";\nimport { parse, } from '@formatjs/icu-messageformat-parser';\nimport memoize, { strategies } from '@formatjs/fast-memoize';\nimport { formatToParts, PART_TYPE, } from './formatters';\n// -- MessageFormat --------------------------------------------------------\nfunction mergeConfig(c1, c2) {\n if (!c2) {\n return c1;\n }\n return __assign(__assign(__assign({}, (c1 || {})), (c2 || {})), Object.keys(c1).reduce(function (all, k) {\n all[k] = __assign(__assign({}, c1[k]), (c2[k] || {}));\n return all;\n }, {}));\n}\nfunction mergeConfigs(defaultConfig, configs) {\n if (!configs) {\n return defaultConfig;\n }\n return Object.keys(defaultConfig).reduce(function (all, k) {\n all[k] = mergeConfig(defaultConfig[k], configs[k]);\n return all;\n }, __assign({}, defaultConfig));\n}\nfunction createFastMemoizeCache(store) {\n return {\n create: function () {\n return {\n get: function (key) {\n return store[key];\n },\n set: function (key, value) {\n store[key] = value;\n },\n };\n },\n };\n}\nfunction createDefaultFormatters(cache) {\n if (cache === void 0) { cache = {\n number: {},\n dateTime: {},\n pluralRules: {},\n }; }\n return {\n getNumberFormat: memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.NumberFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.number),\n strategy: strategies.variadic,\n }),\n getDateTimeFormat: memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.DateTimeFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.dateTime),\n strategy: strategies.variadic,\n }),\n getPluralRules: memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.PluralRules).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.pluralRules),\n strategy: strategies.variadic,\n }),\n };\n}\nvar IntlMessageFormat = /** @class */ (function () {\n function IntlMessageFormat(message, locales, overrideFormats, opts) {\n if (locales === void 0) { locales = IntlMessageFormat.defaultLocale; }\n var _this = this;\n this.formatterCache = {\n number: {},\n dateTime: {},\n pluralRules: {},\n };\n this.format = function (values) {\n var parts = _this.formatToParts(values);\n // Hot path for straight simple msg translations\n if (parts.length === 1) {\n return parts[0].value;\n }\n var result = parts.reduce(function (all, part) {\n if (!all.length ||\n part.type !== PART_TYPE.literal ||\n typeof all[all.length - 1] !== 'string') {\n all.push(part.value);\n }\n else {\n all[all.length - 1] += part.value;\n }\n return all;\n }, []);\n if (result.length <= 1) {\n return result[0] || '';\n }\n return result;\n };\n this.formatToParts = function (values) {\n return formatToParts(_this.ast, _this.locales, _this.formatters, _this.formats, values, undefined, _this.message);\n };\n this.resolvedOptions = function () {\n var _a;\n return ({\n locale: ((_a = _this.resolvedLocale) === null || _a === void 0 ? void 0 : _a.toString()) ||\n Intl.NumberFormat.supportedLocalesOf(_this.locales)[0],\n });\n };\n this.getAst = function () { return _this.ast; };\n // Defined first because it's used to build the format pattern.\n this.locales = locales;\n this.resolvedLocale = IntlMessageFormat.resolveLocale(locales);\n if (typeof message === 'string') {\n this.message = message;\n if (!IntlMessageFormat.__parse) {\n throw new TypeError('IntlMessageFormat.__parse must be set to process `message` of type `string`');\n }\n var _a = opts || {}, formatters = _a.formatters, parseOpts = __rest(_a, [\"formatters\"]);\n // Parse string messages into an AST.\n this.ast = IntlMessageFormat.__parse(message, __assign(__assign({}, parseOpts), { locale: this.resolvedLocale }));\n }\n else {\n this.ast = message;\n }\n if (!Array.isArray(this.ast)) {\n throw new TypeError('A message must be provided as a String or AST.');\n }\n // Creates a new object with the specified `formats` merged with the default\n // formats.\n this.formats = mergeConfigs(IntlMessageFormat.formats, overrideFormats);\n this.formatters =\n (opts && opts.formatters) || createDefaultFormatters(this.formatterCache);\n }\n Object.defineProperty(IntlMessageFormat, \"defaultLocale\", {\n get: function () {\n if (!IntlMessageFormat.memoizedDefaultLocale) {\n IntlMessageFormat.memoizedDefaultLocale =\n new Intl.NumberFormat().resolvedOptions().locale;\n }\n return IntlMessageFormat.memoizedDefaultLocale;\n },\n enumerable: false,\n configurable: true\n });\n IntlMessageFormat.memoizedDefaultLocale = null;\n IntlMessageFormat.resolveLocale = function (locales) {\n if (typeof Intl.Locale === 'undefined') {\n return;\n }\n var supportedLocales = Intl.NumberFormat.supportedLocalesOf(locales);\n if (supportedLocales.length > 0) {\n return new Intl.Locale(supportedLocales[0]);\n }\n return new Intl.Locale(typeof locales === 'string' ? locales : locales[0]);\n };\n IntlMessageFormat.__parse = parse;\n // Default format options used as the prototype of the `formats` provided to the\n // constructor. These are used when constructing the internal Intl.NumberFormat\n // and Intl.DateTimeFormat instances.\n IntlMessageFormat.formats = {\n number: {\n integer: {\n maximumFractionDigits: 0,\n },\n currency: {\n style: 'currency',\n },\n percent: {\n style: 'percent',\n },\n },\n date: {\n short: {\n month: 'numeric',\n day: 'numeric',\n year: '2-digit',\n },\n medium: {\n month: 'short',\n day: 'numeric',\n year: 'numeric',\n },\n long: {\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n },\n full: {\n weekday: 'long',\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n },\n },\n time: {\n short: {\n hour: 'numeric',\n minute: 'numeric',\n },\n medium: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n },\n long: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short',\n },\n full: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short',\n },\n },\n };\n return IntlMessageFormat;\n}());\nexport { IntlMessageFormat };\n","import { __extends } from \"tslib\";\nexport var IntlErrorCode;\n(function (IntlErrorCode) {\n IntlErrorCode[\"FORMAT_ERROR\"] = \"FORMAT_ERROR\";\n IntlErrorCode[\"UNSUPPORTED_FORMATTER\"] = \"UNSUPPORTED_FORMATTER\";\n IntlErrorCode[\"INVALID_CONFIG\"] = \"INVALID_CONFIG\";\n IntlErrorCode[\"MISSING_DATA\"] = \"MISSING_DATA\";\n IntlErrorCode[\"MISSING_TRANSLATION\"] = \"MISSING_TRANSLATION\";\n})(IntlErrorCode || (IntlErrorCode = {}));\nvar IntlError = /** @class */ (function (_super) {\n __extends(IntlError, _super);\n function IntlError(code, message, exception) {\n var _this = this;\n var err = exception\n ? exception instanceof Error\n ? exception\n : new Error(String(exception))\n : undefined;\n _this = _super.call(this, \"[@formatjs/intl Error \".concat(code, \"] \").concat(message, \"\\n\").concat(err ? \"\\n\".concat(err.message, \"\\n\").concat(err.stack) : '')) || this;\n _this.code = code;\n // @ts-ignore just so we don't need to declare dep on @types/node\n if (typeof Error.captureStackTrace === 'function') {\n // @ts-ignore just so we don't need to declare dep on @types/node\n Error.captureStackTrace(_this, IntlError);\n }\n return _this;\n }\n return IntlError;\n}(Error));\nexport { IntlError };\nvar UnsupportedFormatterError = /** @class */ (function (_super) {\n __extends(UnsupportedFormatterError, _super);\n function UnsupportedFormatterError(message, exception) {\n return _super.call(this, IntlErrorCode.UNSUPPORTED_FORMATTER, message, exception) || this;\n }\n return UnsupportedFormatterError;\n}(IntlError));\nexport { UnsupportedFormatterError };\nvar InvalidConfigError = /** @class */ (function (_super) {\n __extends(InvalidConfigError, _super);\n function InvalidConfigError(message, exception) {\n return _super.call(this, IntlErrorCode.INVALID_CONFIG, message, exception) || this;\n }\n return InvalidConfigError;\n}(IntlError));\nexport { InvalidConfigError };\nvar MissingDataError = /** @class */ (function (_super) {\n __extends(MissingDataError, _super);\n function MissingDataError(message, exception) {\n return _super.call(this, IntlErrorCode.MISSING_DATA, message, exception) || this;\n }\n return MissingDataError;\n}(IntlError));\nexport { MissingDataError };\nvar IntlFormatError = /** @class */ (function (_super) {\n __extends(IntlFormatError, _super);\n function IntlFormatError(message, locale, exception) {\n return _super.call(this, IntlErrorCode.FORMAT_ERROR, \"\".concat(message, \"\\nLocale: \").concat(locale, \"\\n\"), exception) || this;\n }\n return IntlFormatError;\n}(IntlError));\nexport { IntlFormatError };\nvar MessageFormatError = /** @class */ (function (_super) {\n __extends(MessageFormatError, _super);\n function MessageFormatError(message, locale, descriptor, exception) {\n var _this = _super.call(this, \"\".concat(message, \"\\nMessageID: \").concat(descriptor === null || descriptor === void 0 ? void 0 : descriptor.id, \"\\nDefault Message: \").concat(descriptor === null || descriptor === void 0 ? void 0 : descriptor.defaultMessage, \"\\nDescription: \").concat(descriptor === null || descriptor === void 0 ? void 0 : descriptor.description, \"\\n\"), locale, exception) || this;\n _this.descriptor = descriptor;\n return _this;\n }\n return MessageFormatError;\n}(IntlFormatError));\nexport { MessageFormatError };\nvar MissingTranslationError = /** @class */ (function (_super) {\n __extends(MissingTranslationError, _super);\n function MissingTranslationError(descriptor, locale) {\n var _this = _super.call(this, IntlErrorCode.MISSING_TRANSLATION, \"Missing message: \\\"\".concat(descriptor.id, \"\\\" for locale \\\"\").concat(locale, \"\\\", using \").concat(descriptor.defaultMessage\n ? \"default message (\".concat(typeof descriptor.defaultMessage === 'string'\n ? descriptor.defaultMessage\n : descriptor.defaultMessage\n .map(function (e) { var _a; return (_a = e.value) !== null && _a !== void 0 ? _a : JSON.stringify(e); })\n .join(), \")\")\n : 'id', \" as fallback.\")) || this;\n _this.descriptor = descriptor;\n return _this;\n }\n return MissingTranslationError;\n}(IntlError));\nexport { MissingTranslationError };\n","import { __assign, __spreadArray } from \"tslib\";\nimport { IntlMessageFormat } from 'intl-messageformat';\nimport memoize, { strategies } from '@formatjs/fast-memoize';\nimport { UnsupportedFormatterError } from './error';\nexport function filterProps(props, allowlist, defaults) {\n if (defaults === void 0) { defaults = {}; }\n return allowlist.reduce(function (filtered, name) {\n if (name in props) {\n filtered[name] = props[name];\n }\n else if (name in defaults) {\n filtered[name] = defaults[name];\n }\n return filtered;\n }, {});\n}\nvar defaultErrorHandler = function (error) {\n // @ts-ignore just so we don't need to declare dep on @types/node\n if (process.env.NODE_ENV !== 'production') {\n console.error(error);\n }\n};\nvar defaultWarnHandler = function (warning) {\n // @ts-ignore just so we don't need to declare dep on @types/node\n if (process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n};\nexport var DEFAULT_INTL_CONFIG = {\n formats: {},\n messages: {},\n timeZone: undefined,\n defaultLocale: 'en',\n defaultFormats: {},\n fallbackOnEmptyString: true,\n onError: defaultErrorHandler,\n onWarn: defaultWarnHandler,\n};\nexport function createIntlCache() {\n return {\n dateTime: {},\n number: {},\n message: {},\n relativeTime: {},\n pluralRules: {},\n list: {},\n displayNames: {},\n };\n}\nfunction createFastMemoizeCache(store) {\n return {\n create: function () {\n return {\n get: function (key) {\n return store[key];\n },\n set: function (key, value) {\n store[key] = value;\n },\n };\n },\n };\n}\n/**\n * Create intl formatters and populate cache\n * @param cache explicit cache to prevent leaking memory\n */\nexport function createFormatters(cache) {\n if (cache === void 0) { cache = createIntlCache(); }\n var RelativeTimeFormat = Intl.RelativeTimeFormat;\n var ListFormat = Intl.ListFormat;\n var DisplayNames = Intl.DisplayNames;\n var getDateTimeFormat = memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.DateTimeFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.dateTime),\n strategy: strategies.variadic,\n });\n var getNumberFormat = memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.NumberFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.number),\n strategy: strategies.variadic,\n });\n var getPluralRules = memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.PluralRules).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.pluralRules),\n strategy: strategies.variadic,\n });\n return {\n getDateTimeFormat: getDateTimeFormat,\n getNumberFormat: getNumberFormat,\n getMessageFormat: memoize(function (message, locales, overrideFormats, opts) {\n return new IntlMessageFormat(message, locales, overrideFormats, __assign({ formatters: {\n getNumberFormat: getNumberFormat,\n getDateTimeFormat: getDateTimeFormat,\n getPluralRules: getPluralRules,\n } }, (opts || {})));\n }, {\n cache: createFastMemoizeCache(cache.message),\n strategy: strategies.variadic,\n }),\n getRelativeTimeFormat: memoize(function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new (RelativeTimeFormat.bind.apply(RelativeTimeFormat, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.relativeTime),\n strategy: strategies.variadic,\n }),\n getPluralRules: getPluralRules,\n getListFormat: memoize(function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new (ListFormat.bind.apply(ListFormat, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.list),\n strategy: strategies.variadic,\n }),\n getDisplayNames: memoize(function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new (DisplayNames.bind.apply(DisplayNames, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.displayNames),\n strategy: strategies.variadic,\n }),\n };\n}\nexport function getNamedFormat(formats, type, name, onError) {\n var formatType = formats && formats[type];\n var format;\n if (formatType) {\n format = formatType[name];\n }\n if (format) {\n return format;\n }\n onError(new UnsupportedFormatterError(\"No \".concat(type, \" format named: \").concat(name)));\n}\n","import { __assign } from \"tslib\";\nimport { invariant } from '@formatjs/ecma402-abstract';\nimport { IntlMessageFormat, } from 'intl-messageformat';\nimport { MissingTranslationError, MessageFormatError } from './error';\nimport { TYPE } from '@formatjs/icu-messageformat-parser';\nfunction setTimeZoneInOptions(opts, timeZone) {\n return Object.keys(opts).reduce(function (all, k) {\n all[k] = __assign({ timeZone: timeZone }, opts[k]);\n return all;\n }, {});\n}\nfunction deepMergeOptions(opts1, opts2) {\n var keys = Object.keys(__assign(__assign({}, opts1), opts2));\n return keys.reduce(function (all, k) {\n all[k] = __assign(__assign({}, (opts1[k] || {})), (opts2[k] || {}));\n return all;\n }, {});\n}\nfunction deepMergeFormatsAndSetTimeZone(f1, timeZone) {\n if (!timeZone) {\n return f1;\n }\n var mfFormats = IntlMessageFormat.formats;\n return __assign(__assign(__assign({}, mfFormats), f1), { date: deepMergeOptions(setTimeZoneInOptions(mfFormats.date, timeZone), setTimeZoneInOptions(f1.date || {}, timeZone)), time: deepMergeOptions(setTimeZoneInOptions(mfFormats.time, timeZone), setTimeZoneInOptions(f1.time || {}, timeZone)) });\n}\nexport var formatMessage = function (_a, state, messageDescriptor, values, opts) {\n var locale = _a.locale, formats = _a.formats, messages = _a.messages, defaultLocale = _a.defaultLocale, defaultFormats = _a.defaultFormats, fallbackOnEmptyString = _a.fallbackOnEmptyString, onError = _a.onError, timeZone = _a.timeZone, defaultRichTextElements = _a.defaultRichTextElements;\n if (messageDescriptor === void 0) { messageDescriptor = { id: '' }; }\n var msgId = messageDescriptor.id, defaultMessage = messageDescriptor.defaultMessage;\n // `id` is a required field of a Message Descriptor.\n invariant(!!msgId, \"[@formatjs/intl] An `id` must be provided to format a message. You can either:\\n1. Configure your build toolchain with [babel-plugin-formatjs](https://formatjs.io/docs/tooling/babel-plugin)\\nor [@formatjs/ts-transformer](https://formatjs.io/docs/tooling/ts-transformer) OR\\n2. Configure your `eslint` config to include [eslint-plugin-formatjs](https://formatjs.io/docs/tooling/linter#enforce-id)\\nto autofix this issue\");\n var id = String(msgId);\n var message = \n // In case messages is Object.create(null)\n // e.g import('foo.json') from webpack)\n // See https://github.com/formatjs/formatjs/issues/1914\n messages &&\n Object.prototype.hasOwnProperty.call(messages, id) &&\n messages[id];\n // IMPORTANT: Hot path if `message` is AST with a single literal node\n if (Array.isArray(message) &&\n message.length === 1 &&\n message[0].type === TYPE.literal) {\n return message[0].value;\n }\n // IMPORTANT: Hot path straight lookup for performance\n if (!values &&\n message &&\n typeof message === 'string' &&\n !defaultRichTextElements) {\n return message.replace(/'\\{(.*?)\\}'/gi, \"{$1}\");\n }\n values = __assign(__assign({}, defaultRichTextElements), (values || {}));\n formats = deepMergeFormatsAndSetTimeZone(formats, timeZone);\n defaultFormats = deepMergeFormatsAndSetTimeZone(defaultFormats, timeZone);\n if (!message) {\n if (fallbackOnEmptyString === false && message === '') {\n return message;\n }\n if (!defaultMessage ||\n (locale && locale.toLowerCase() !== defaultLocale.toLowerCase())) {\n // This prevents warnings from littering the console in development\n // when no `messages` are passed into the for the\n // default locale.\n onError(new MissingTranslationError(messageDescriptor, locale));\n }\n if (defaultMessage) {\n try {\n var formatter = state.getMessageFormat(defaultMessage, defaultLocale, defaultFormats, opts);\n return formatter.format(values);\n }\n catch (e) {\n onError(new MessageFormatError(\"Error formatting default message for: \\\"\".concat(id, \"\\\", rendering default message verbatim\"), locale, messageDescriptor, e));\n return typeof defaultMessage === 'string' ? defaultMessage : id;\n }\n }\n return id;\n }\n // We have the translated message\n try {\n var formatter = state.getMessageFormat(message, locale, formats, __assign({ formatters: state }, (opts || {})));\n return formatter.format(values);\n }\n catch (e) {\n onError(new MessageFormatError(\"Error formatting message: \\\"\".concat(id, \"\\\", using \").concat(defaultMessage ? 'default message' : 'id', \" as fallback.\"), locale, messageDescriptor, e));\n }\n if (defaultMessage) {\n try {\n var formatter = state.getMessageFormat(defaultMessage, defaultLocale, defaultFormats, opts);\n return formatter.format(values);\n }\n catch (e) {\n onError(new MessageFormatError(\"Error formatting the default message for: \\\"\".concat(id, \"\\\", rendering message verbatim\"), locale, messageDescriptor, e));\n }\n }\n if (typeof message === 'string') {\n return message;\n }\n if (typeof defaultMessage === 'string') {\n return defaultMessage;\n }\n return id;\n};\n","import { __assign } from \"tslib\";\nimport { filterProps, getNamedFormat } from './utils';\nimport { IntlError, IntlErrorCode } from './error';\nvar DATE_TIME_FORMAT_OPTIONS = [\n 'formatMatcher',\n 'timeZone',\n 'hour12',\n 'weekday',\n 'era',\n 'year',\n 'month',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'timeZoneName',\n 'hourCycle',\n 'dateStyle',\n 'timeStyle',\n 'calendar',\n // 'dayPeriod',\n 'numberingSystem',\n 'fractionalSecondDigits',\n];\nexport function getFormatter(_a, type, getDateTimeFormat, options) {\n var locale = _a.locale, formats = _a.formats, onError = _a.onError, timeZone = _a.timeZone;\n if (options === void 0) { options = {}; }\n var format = options.format;\n var defaults = __assign(__assign({}, (timeZone && { timeZone: timeZone })), (format && getNamedFormat(formats, type, format, onError)));\n var filteredOptions = filterProps(options, DATE_TIME_FORMAT_OPTIONS, defaults);\n if (type === 'time' &&\n !filteredOptions.hour &&\n !filteredOptions.minute &&\n !filteredOptions.second &&\n !filteredOptions.timeStyle &&\n !filteredOptions.dateStyle) {\n // Add default formatting options if hour, minute, or second isn't defined.\n filteredOptions = __assign(__assign({}, filteredOptions), { hour: 'numeric', minute: 'numeric' });\n }\n return getDateTimeFormat(locale, filteredOptions);\n}\nexport function formatDate(config, getDateTimeFormat) {\n var _a = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n _a[_i - 2] = arguments[_i];\n }\n var value = _a[0], _b = _a[1], options = _b === void 0 ? {} : _b;\n var date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'date', getDateTimeFormat, options).format(date);\n }\n catch (e) {\n config.onError(new IntlError(IntlErrorCode.FORMAT_ERROR, 'Error formatting date.', e));\n }\n return String(date);\n}\nexport function formatTime(config, getDateTimeFormat) {\n var _a = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n _a[_i - 2] = arguments[_i];\n }\n var value = _a[0], _b = _a[1], options = _b === void 0 ? {} : _b;\n var date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'time', getDateTimeFormat, options).format(date);\n }\n catch (e) {\n config.onError(new IntlError(IntlErrorCode.FORMAT_ERROR, 'Error formatting time.', e));\n }\n return String(date);\n}\nexport function formatDateTimeRange(config, getDateTimeFormat) {\n var _a = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n _a[_i - 2] = arguments[_i];\n }\n var from = _a[0], to = _a[1], _b = _a[2], options = _b === void 0 ? {} : _b;\n var timeZone = config.timeZone, locale = config.locale, onError = config.onError;\n var filteredOptions = filterProps(options, DATE_TIME_FORMAT_OPTIONS, timeZone ? { timeZone: timeZone } : {});\n try {\n return getDateTimeFormat(locale, filteredOptions).formatRange(from, to);\n }\n catch (e) {\n onError(new IntlError(IntlErrorCode.FORMAT_ERROR, 'Error formatting date time range.', e));\n }\n return String(from);\n}\nexport function formatDateToParts(config, getDateTimeFormat) {\n var _a = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n _a[_i - 2] = arguments[_i];\n }\n var value = _a[0], _b = _a[1], options = _b === void 0 ? {} : _b;\n var date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'date', getDateTimeFormat, options).formatToParts(date); // TODO: remove this when https://github.com/microsoft/TypeScript/pull/50402 is merged\n }\n catch (e) {\n config.onError(new IntlError(IntlErrorCode.FORMAT_ERROR, 'Error formatting date.', e));\n }\n return [];\n}\nexport function formatTimeToParts(config, getDateTimeFormat) {\n var _a = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n _a[_i - 2] = arguments[_i];\n }\n var value = _a[0], _b = _a[1], options = _b === void 0 ? {} : _b;\n var date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'time', getDateTimeFormat, options).formatToParts(date); // TODO: remove this when https://github.com/microsoft/TypeScript/pull/50402 is merged\n }\n catch (e) {\n config.onError(new IntlError(IntlErrorCode.FORMAT_ERROR, 'Error formatting time.', e));\n }\n return [];\n}\n","import { filterProps } from './utils';\nimport { FormatError, ErrorCode } from 'intl-messageformat';\nimport { IntlErrorCode, IntlError } from './error';\nvar DISPLAY_NAMES_OPTONS = [\n 'style',\n 'type',\n 'fallback',\n 'languageDisplay',\n];\nexport function formatDisplayName(_a, getDisplayNames, value, options) {\n var locale = _a.locale, onError = _a.onError;\n var DisplayNames = Intl.DisplayNames;\n if (!DisplayNames) {\n onError(new FormatError(\"Intl.DisplayNames is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-displaynames\\\"\\n\", ErrorCode.MISSING_INTL_API));\n }\n var filteredOptions = filterProps(options, DISPLAY_NAMES_OPTONS);\n try {\n return getDisplayNames(locale, filteredOptions).of(value);\n }\n catch (e) {\n onError(new IntlError(IntlErrorCode.FORMAT_ERROR, 'Error formatting display name.', e));\n }\n}\n","import { __assign } from \"tslib\";\nimport { filterProps } from './utils';\nimport { FormatError, ErrorCode } from 'intl-messageformat';\nimport { IntlError, IntlErrorCode } from './error';\nvar LIST_FORMAT_OPTIONS = [\n 'type',\n 'style',\n];\nvar now = Date.now();\nfunction generateToken(i) {\n return \"\".concat(now, \"_\").concat(i, \"_\").concat(now);\n}\nexport function formatList(opts, getListFormat, values, options) {\n if (options === void 0) { options = {}; }\n var results = formatListToParts(opts, getListFormat, values, options).reduce(function (all, el) {\n var val = el.value;\n if (typeof val !== 'string') {\n all.push(val);\n }\n else if (typeof all[all.length - 1] === 'string') {\n all[all.length - 1] += val;\n }\n else {\n all.push(val);\n }\n return all;\n }, []);\n return results.length === 1 ? results[0] : results.length === 0 ? '' : results;\n}\nexport function formatListToParts(_a, getListFormat, values, options) {\n var locale = _a.locale, onError = _a.onError;\n if (options === void 0) { options = {}; }\n var ListFormat = Intl.ListFormat;\n if (!ListFormat) {\n onError(new FormatError(\"Intl.ListFormat is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-listformat\\\"\\n\", ErrorCode.MISSING_INTL_API));\n }\n var filteredOptions = filterProps(options, LIST_FORMAT_OPTIONS);\n try {\n var richValues_1 = {};\n var serializedValues = values.map(function (v, i) {\n if (typeof v === 'object') {\n var id = generateToken(i);\n richValues_1[id] = v;\n return id;\n }\n return String(v);\n });\n return getListFormat(locale, filteredOptions)\n .formatToParts(serializedValues)\n .map(function (part) {\n return part.type === 'literal'\n ? part\n : __assign(__assign({}, part), { value: richValues_1[part.value] || part.value });\n });\n }\n catch (e) {\n onError(new IntlError(IntlErrorCode.FORMAT_ERROR, 'Error formatting list.', e));\n }\n // @ts-ignore\n return values;\n}\n","import { filterProps } from './utils';\nimport { IntlFormatError } from './error';\nimport { ErrorCode, FormatError } from 'intl-messageformat';\nvar PLURAL_FORMAT_OPTIONS = ['type'];\nexport function formatPlural(_a, getPluralRules, value, options) {\n var locale = _a.locale, onError = _a.onError;\n if (options === void 0) { options = {}; }\n if (!Intl.PluralRules) {\n onError(new FormatError(\"Intl.PluralRules is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-pluralrules\\\"\\n\", ErrorCode.MISSING_INTL_API));\n }\n var filteredOptions = filterProps(options, PLURAL_FORMAT_OPTIONS);\n try {\n return getPluralRules(locale, filteredOptions).select(value);\n }\n catch (e) {\n onError(new IntlFormatError('Error formatting plural.', locale, e));\n }\n return 'other';\n}\n","import { getNamedFormat, filterProps } from './utils';\nimport { FormatError, ErrorCode } from 'intl-messageformat';\nimport { IntlFormatError } from './error';\nvar RELATIVE_TIME_FORMAT_OPTIONS = ['numeric', 'style'];\nfunction getFormatter(_a, getRelativeTimeFormat, options) {\n var locale = _a.locale, formats = _a.formats, onError = _a.onError;\n if (options === void 0) { options = {}; }\n var format = options.format;\n var defaults = (!!format && getNamedFormat(formats, 'relative', format, onError)) || {};\n var filteredOptions = filterProps(options, RELATIVE_TIME_FORMAT_OPTIONS, defaults);\n return getRelativeTimeFormat(locale, filteredOptions);\n}\nexport function formatRelativeTime(config, getRelativeTimeFormat, value, unit, options) {\n if (options === void 0) { options = {}; }\n if (!unit) {\n unit = 'second';\n }\n var RelativeTimeFormat = Intl.RelativeTimeFormat;\n if (!RelativeTimeFormat) {\n config.onError(new FormatError(\"Intl.RelativeTimeFormat is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-relativetimeformat\\\"\\n\", ErrorCode.MISSING_INTL_API));\n }\n try {\n return getFormatter(config, getRelativeTimeFormat, options).format(value, unit);\n }\n catch (e) {\n config.onError(new IntlFormatError('Error formatting relative time.', config.locale, e));\n }\n return String(value);\n}\n","import { getNamedFormat, filterProps } from './utils';\nimport { IntlError, IntlErrorCode } from './error';\nvar NUMBER_FORMAT_OPTIONS = [\n 'style',\n 'currency',\n 'currencyDisplay',\n 'unit',\n 'unitDisplay',\n 'useGrouping',\n 'minimumIntegerDigits',\n 'minimumFractionDigits',\n 'maximumFractionDigits',\n 'minimumSignificantDigits',\n 'maximumSignificantDigits',\n // ES2020 NumberFormat\n 'compactDisplay',\n 'currencyDisplay',\n 'currencySign',\n 'notation',\n 'signDisplay',\n 'unit',\n 'unitDisplay',\n 'numberingSystem',\n];\nexport function getFormatter(_a, getNumberFormat, options) {\n var locale = _a.locale, formats = _a.formats, onError = _a.onError;\n if (options === void 0) { options = {}; }\n var format = options.format;\n var defaults = ((format &&\n getNamedFormat(formats, 'number', format, onError)) ||\n {});\n var filteredOptions = filterProps(options, NUMBER_FORMAT_OPTIONS, defaults);\n return getNumberFormat(locale, filteredOptions);\n}\nexport function formatNumber(config, getNumberFormat, value, options) {\n if (options === void 0) { options = {}; }\n try {\n return getFormatter(config, getNumberFormat, options).format(value);\n }\n catch (e) {\n config.onError(new IntlError(IntlErrorCode.FORMAT_ERROR, 'Error formatting number.', e));\n }\n return String(value);\n}\nexport function formatNumberToParts(config, getNumberFormat, value, options) {\n if (options === void 0) { options = {}; }\n try {\n return getFormatter(config, getNumberFormat, options).formatToParts(value);\n }\n catch (e) {\n config.onError(new IntlError(IntlErrorCode.FORMAT_ERROR, 'Error formatting number.', e));\n }\n return [];\n}\n","import { __assign } from \"tslib\";\nimport { createFormatters, DEFAULT_INTL_CONFIG } from './utils';\nimport { InvalidConfigError, MissingDataError } from './error';\nimport { formatNumber, formatNumberToParts } from './number';\nimport { formatRelativeTime } from './relativeTime';\nimport { formatDate, formatDateToParts, formatTime, formatTimeToParts, formatDateTimeRange, } from './dateTime';\nimport { formatPlural } from './plural';\nimport { formatMessage } from './message';\nimport { formatList, formatListToParts } from './list';\nimport { formatDisplayName } from './displayName';\nfunction messagesContainString(messages) {\n var firstMessage = messages ? messages[Object.keys(messages)[0]] : undefined;\n return typeof firstMessage === 'string';\n}\nfunction verifyConfigMessages(config) {\n if (config.onWarn &&\n config.defaultRichTextElements &&\n messagesContainString(config.messages || {})) {\n config.onWarn(\"[@formatjs/intl] \\\"defaultRichTextElements\\\" was specified but \\\"message\\\" was not pre-compiled. \\nPlease consider using \\\"@formatjs/cli\\\" to pre-compile your messages for performance.\\nFor more details see https://formatjs.io/docs/getting-started/message-distribution\");\n }\n}\n/**\n * Create intl object\n * @param config intl config\n * @param cache cache for formatter instances to prevent memory leak\n */\nexport function createIntl(config, cache) {\n var formatters = createFormatters(cache);\n var resolvedConfig = __assign(__assign({}, DEFAULT_INTL_CONFIG), config);\n var locale = resolvedConfig.locale, defaultLocale = resolvedConfig.defaultLocale, onError = resolvedConfig.onError;\n if (!locale) {\n if (onError) {\n onError(new InvalidConfigError(\"\\\"locale\\\" was not configured, using \\\"\".concat(defaultLocale, \"\\\" as fallback. See https://formatjs.io/docs/react-intl/api#intlshape for more details\")));\n }\n // Since there's no registered locale data for `locale`, this will\n // fallback to the `defaultLocale` to make sure things can render.\n // The `messages` are overridden to the `defaultProps` empty object\n // to maintain referential equality across re-renders. It's assumed\n // each contains a `defaultMessage` prop.\n resolvedConfig.locale = resolvedConfig.defaultLocale || 'en';\n }\n else if (!Intl.NumberFormat.supportedLocalesOf(locale).length && onError) {\n onError(new MissingDataError(\"Missing locale data for locale: \\\"\".concat(locale, \"\\\" in Intl.NumberFormat. Using default locale: \\\"\").concat(defaultLocale, \"\\\" as fallback. See https://formatjs.io/docs/react-intl#runtime-requirements for more details\")));\n }\n else if (!Intl.DateTimeFormat.supportedLocalesOf(locale).length &&\n onError) {\n onError(new MissingDataError(\"Missing locale data for locale: \\\"\".concat(locale, \"\\\" in Intl.DateTimeFormat. Using default locale: \\\"\").concat(defaultLocale, \"\\\" as fallback. See https://formatjs.io/docs/react-intl#runtime-requirements for more details\")));\n }\n verifyConfigMessages(resolvedConfig);\n return __assign(__assign({}, resolvedConfig), { formatters: formatters, formatNumber: formatNumber.bind(null, resolvedConfig, formatters.getNumberFormat), formatNumberToParts: formatNumberToParts.bind(null, resolvedConfig, formatters.getNumberFormat), formatRelativeTime: formatRelativeTime.bind(null, resolvedConfig, formatters.getRelativeTimeFormat), formatDate: formatDate.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatDateToParts: formatDateToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatTime: formatTime.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatDateTimeRange: formatDateTimeRange.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatTimeToParts: formatTimeToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatPlural: formatPlural.bind(null, resolvedConfig, formatters.getPluralRules), \n // @ts-expect-error TODO: will get to this later\n formatMessage: formatMessage.bind(null, resolvedConfig, formatters), \n // @ts-expect-error TODO: will get to this later\n $t: formatMessage.bind(null, resolvedConfig, formatters), formatList: formatList.bind(null, resolvedConfig, formatters.getListFormat), formatListToParts: formatListToParts.bind(null, resolvedConfig, formatters.getListFormat), formatDisplayName: formatDisplayName.bind(null, resolvedConfig, formatters.getDisplayNames) });\n}\n","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { invariant } from '@formatjs/ecma402-abstract';\nimport { DEFAULT_INTL_CONFIG as CORE_DEFAULT_INTL_CONFIG } from '@formatjs/intl';\nexport function invariantIntlContext(intl) {\n invariant(intl, '[React Intl] Could not find required `intl` object. ' +\n ' needs to exist in the component ancestry.');\n}\nexport var DEFAULT_INTL_CONFIG = __assign(__assign({}, CORE_DEFAULT_INTL_CONFIG), { textComponent: React.Fragment });\n/**\n * Takes a `formatXMLElementFn`, and composes it in function, which passes\n * argument `parts` through, assigning unique key to each part, to prevent\n * \"Each child in a list should have a unique \"key\"\" React error.\n * @param formatXMLElementFn\n */\nexport function assignUniqueKeysToParts(formatXMLElementFn) {\n return function (parts) {\n // eslint-disable-next-line prefer-rest-params\n return formatXMLElementFn(React.Children.toArray(parts));\n };\n}\nexport function shallowEqual(objA, objB) {\n if (objA === objB) {\n return true;\n }\n if (!objA || !objB) {\n return false;\n }\n var aKeys = Object.keys(objA);\n var bKeys = Object.keys(objB);\n var len = aKeys.length;\n if (bKeys.length !== len) {\n return false;\n }\n for (var i = 0; i < len; i++) {\n var key = aKeys[i];\n if (objA[key] !== objB[key] ||\n !Object.prototype.hasOwnProperty.call(objB, key)) {\n return false;\n }\n }\n return true;\n}\n","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\nimport { invariantIntlContext } from '../utils';\nfunction getDisplayName(Component) {\n return Component.displayName || Component.name || 'Component';\n}\n// This is primarily dealing with packaging systems where multiple copies of react-intl\n// might exist\nvar IntlContext = typeof window !== 'undefined'\n ? window.__REACT_INTL_CONTEXT__ ||\n (window.__REACT_INTL_CONTEXT__ = React.createContext(null))\n : React.createContext(null);\nvar IntlConsumer = IntlContext.Consumer, IntlProvider = IntlContext.Provider;\nexport var Provider = IntlProvider;\nexport var Context = IntlContext;\nexport default function injectIntl(WrappedComponent, options) {\n var _a = options || {}, _b = _a.intlPropName, intlPropName = _b === void 0 ? 'intl' : _b, _c = _a.forwardRef, forwardRef = _c === void 0 ? false : _c, _d = _a.enforceContext, enforceContext = _d === void 0 ? true : _d;\n var WithIntl = function (props) { return (React.createElement(IntlConsumer, null, function (intl) {\n var _a;\n if (enforceContext) {\n invariantIntlContext(intl);\n }\n var intlProp = (_a = {}, _a[intlPropName] = intl, _a);\n return (React.createElement(WrappedComponent, __assign({}, props, intlProp, { ref: forwardRef ? props.forwardedRef : null })));\n })); };\n WithIntl.displayName = \"injectIntl(\".concat(getDisplayName(WrappedComponent), \")\");\n WithIntl.WrappedComponent = WrappedComponent;\n if (forwardRef) {\n return hoistNonReactStatics(React.forwardRef(function (props, ref) { return (React.createElement(WithIntl, __assign({}, props, { forwardedRef: ref }))); }), WrappedComponent);\n }\n return hoistNonReactStatics(WithIntl, WrappedComponent);\n}\n","import * as React from 'react';\nimport { Context } from './injectIntl';\nimport { invariantIntlContext } from '../utils';\nexport default function useIntl() {\n var intl = React.useContext(Context);\n invariantIntlContext(intl);\n return intl;\n}\n","import { __rest } from \"tslib\";\nimport * as React from 'react';\nimport useIntl from './useIntl';\nvar DisplayName;\n(function (DisplayName) {\n DisplayName[\"formatDate\"] = \"FormattedDate\";\n DisplayName[\"formatTime\"] = \"FormattedTime\";\n DisplayName[\"formatNumber\"] = \"FormattedNumber\";\n DisplayName[\"formatList\"] = \"FormattedList\";\n // Note that this DisplayName is the locale display name, not to be confused with\n // the name of the enum, which is for React component display name in dev tools.\n DisplayName[\"formatDisplayName\"] = \"FormattedDisplayName\";\n})(DisplayName || (DisplayName = {}));\nvar DisplayNameParts;\n(function (DisplayNameParts) {\n DisplayNameParts[\"formatDate\"] = \"FormattedDateParts\";\n DisplayNameParts[\"formatTime\"] = \"FormattedTimeParts\";\n DisplayNameParts[\"formatNumber\"] = \"FormattedNumberParts\";\n DisplayNameParts[\"formatList\"] = \"FormattedListParts\";\n})(DisplayNameParts || (DisplayNameParts = {}));\nexport var FormattedNumberParts = function (props) {\n var intl = useIntl();\n var value = props.value, children = props.children, formatProps = __rest(props, [\"value\", \"children\"]);\n return children(intl.formatNumberToParts(value, formatProps));\n};\nFormattedNumberParts.displayName = 'FormattedNumberParts';\nexport var FormattedListParts = function (props) {\n var intl = useIntl();\n var value = props.value, children = props.children, formatProps = __rest(props, [\"value\", \"children\"]);\n return children(intl.formatListToParts(value, formatProps));\n};\nFormattedNumberParts.displayName = 'FormattedNumberParts';\nexport function createFormattedDateTimePartsComponent(name) {\n var ComponentParts = function (props) {\n var intl = useIntl();\n var value = props.value, children = props.children, formatProps = __rest(props, [\"value\", \"children\"]);\n var date = typeof value === 'string' ? new Date(value || 0) : value;\n var formattedParts = name === 'formatDate'\n ? intl.formatDateToParts(date, formatProps)\n : intl.formatTimeToParts(date, formatProps);\n return children(formattedParts);\n };\n ComponentParts.displayName = DisplayNameParts[name];\n return ComponentParts;\n}\nexport function createFormattedComponent(name) {\n var Component = function (props) {\n var intl = useIntl();\n var value = props.value, children = props.children, formatProps = __rest(props\n // TODO: fix TS type definition for localeMatcher upstream\n , [\"value\", \"children\"]);\n // TODO: fix TS type definition for localeMatcher upstream\n var formattedValue = intl[name](value, formatProps);\n if (typeof children === 'function') {\n return children(formattedValue);\n }\n var Text = intl.textComponent || React.Fragment;\n return React.createElement(Text, null, formattedValue);\n };\n Component.displayName = DisplayName[name];\n return Component;\n}\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport { __assign, __extends, __rest, __spreadArray } from \"tslib\";\nimport * as React from 'react';\nimport { Provider } from './injectIntl';\nimport { DEFAULT_INTL_CONFIG, invariantIntlContext, assignUniqueKeysToParts, shallowEqual, } from '../utils';\nimport { formatMessage as coreFormatMessage, createIntl as coreCreateIntl, createIntlCache, } from '@formatjs/intl';\nimport { isFormatXMLElementFn, } from 'intl-messageformat';\nfunction processIntlConfig(config) {\n return {\n locale: config.locale,\n timeZone: config.timeZone,\n fallbackOnEmptyString: config.fallbackOnEmptyString,\n formats: config.formats,\n textComponent: config.textComponent,\n messages: config.messages,\n defaultLocale: config.defaultLocale,\n defaultFormats: config.defaultFormats,\n onError: config.onError,\n onWarn: config.onWarn,\n wrapRichTextChunksInFragment: config.wrapRichTextChunksInFragment,\n defaultRichTextElements: config.defaultRichTextElements,\n };\n}\nfunction assignUniqueKeysToFormatXMLElementFnArgument(values) {\n if (!values) {\n return values;\n }\n return Object.keys(values).reduce(function (acc, k) {\n var v = values[k];\n acc[k] = isFormatXMLElementFn(v)\n ? assignUniqueKeysToParts(v)\n : v;\n return acc;\n }, {});\n}\nvar formatMessage = function (config, formatters, descriptor, rawValues) {\n var rest = [];\n for (var _i = 4; _i < arguments.length; _i++) {\n rest[_i - 4] = arguments[_i];\n }\n var values = assignUniqueKeysToFormatXMLElementFnArgument(rawValues);\n var chunks = coreFormatMessage.apply(void 0, __spreadArray([config,\n formatters,\n descriptor,\n values], rest, false));\n if (Array.isArray(chunks)) {\n return React.Children.toArray(chunks);\n }\n return chunks;\n};\n/**\n * Create intl object\n * @param config intl config\n * @param cache cache for formatter instances to prevent memory leak\n */\nexport var createIntl = function (_a, cache) {\n var rawDefaultRichTextElements = _a.defaultRichTextElements, config = __rest(_a, [\"defaultRichTextElements\"]);\n var defaultRichTextElements = assignUniqueKeysToFormatXMLElementFnArgument(rawDefaultRichTextElements);\n var coreIntl = coreCreateIntl(__assign(__assign(__assign({}, DEFAULT_INTL_CONFIG), config), { defaultRichTextElements: defaultRichTextElements }), cache);\n var resolvedConfig = {\n locale: coreIntl.locale,\n timeZone: coreIntl.timeZone,\n fallbackOnEmptyString: coreIntl.fallbackOnEmptyString,\n formats: coreIntl.formats,\n defaultLocale: coreIntl.defaultLocale,\n defaultFormats: coreIntl.defaultFormats,\n messages: coreIntl.messages,\n onError: coreIntl.onError,\n defaultRichTextElements: defaultRichTextElements,\n };\n return __assign(__assign({}, coreIntl), { \n // @ts-expect-error fix this\n formatMessage: formatMessage.bind(null, resolvedConfig, coreIntl.formatters), \n // @ts-expect-error fix this\n $t: formatMessage.bind(null, resolvedConfig, coreIntl.formatters) });\n};\nvar IntlProvider = /** @class */ (function (_super) {\n __extends(IntlProvider, _super);\n function IntlProvider() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.cache = createIntlCache();\n _this.state = {\n cache: _this.cache,\n intl: createIntl(processIntlConfig(_this.props), _this.cache),\n prevConfig: processIntlConfig(_this.props),\n };\n return _this;\n }\n IntlProvider.getDerivedStateFromProps = function (props, _a) {\n var prevConfig = _a.prevConfig, cache = _a.cache;\n var config = processIntlConfig(props);\n if (!shallowEqual(prevConfig, config)) {\n return {\n intl: createIntl(config, cache),\n prevConfig: config,\n };\n }\n return null;\n };\n IntlProvider.prototype.render = function () {\n invariantIntlContext(this.state.intl);\n return React.createElement(Provider, { value: this.state.intl }, this.props.children);\n };\n IntlProvider.displayName = 'IntlProvider';\n IntlProvider.defaultProps = DEFAULT_INTL_CONFIG;\n return IntlProvider;\n}(React.PureComponent));\nexport default IntlProvider;\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport { __rest } from \"tslib\";\nimport * as React from 'react';\nimport useIntl from './useIntl';\nimport { shallowEqual } from '../utils';\nfunction areEqual(prevProps, nextProps) {\n var values = prevProps.values, otherProps = __rest(prevProps, [\"values\"]);\n var nextValues = nextProps.values, nextOtherProps = __rest(nextProps, [\"values\"]);\n return (shallowEqual(nextValues, values) &&\n shallowEqual(otherProps, nextOtherProps));\n}\nfunction FormattedMessage(props) {\n var intl = useIntl();\n var formatMessage = intl.formatMessage, _a = intl.textComponent, Text = _a === void 0 ? React.Fragment : _a;\n var id = props.id, description = props.description, defaultMessage = props.defaultMessage, values = props.values, children = props.children, _b = props.tagName, Component = _b === void 0 ? Text : _b, ignoreTag = props.ignoreTag;\n var descriptor = { id: id, description: description, defaultMessage: defaultMessage };\n var nodes = formatMessage(descriptor, values, {\n ignoreTag: ignoreTag,\n });\n if (typeof children === 'function') {\n return children(Array.isArray(nodes) ? nodes : [nodes]);\n }\n if (Component) {\n return React.createElement(Component, null, React.Children.toArray(nodes));\n }\n return React.createElement(React.Fragment, null, nodes);\n}\nFormattedMessage.displayName = 'FormattedMessage';\nvar MemoizedFormattedMessage = React.memo(FormattedMessage, areEqual);\nMemoizedFormattedMessage.displayName = 'MemoizedFormattedMessage';\nexport default MemoizedFormattedMessage;\n","import { createFormattedComponent, createFormattedDateTimePartsComponent, } from './src/components/createFormattedComponent';\nimport injectIntl, { Provider as RawIntlProvider, Context as IntlContext, } from './src/components/injectIntl';\nimport useIntl from './src/components/useIntl';\nimport IntlProvider, { createIntl } from './src/components/provider';\nimport FormattedRelativeTime from './src/components/relative';\nimport FormattedPlural from './src/components/plural';\nimport FormattedMessage from './src/components/message';\nimport FormattedDateTimeRange from './src/components/dateTimeRange';\nexport { FormattedDateTimeRange, FormattedMessage, FormattedPlural, FormattedRelativeTime, IntlContext, IntlProvider, RawIntlProvider, createIntl, injectIntl, useIntl, };\nexport { createIntlCache, UnsupportedFormatterError, InvalidConfigError, MissingDataError, MessageFormatError, MissingTranslationError, IntlErrorCode as ReactIntlErrorCode, IntlError as ReactIntlError, } from '@formatjs/intl';\nexport function defineMessages(msgs) {\n return msgs;\n}\nexport function defineMessage(msg) {\n return msg;\n}\n// IMPORTANT: Explicit here to prevent api-extractor from outputing `import('./src/types').CustomFormatConfig`\nexport var FormattedDate = createFormattedComponent('formatDate');\nexport var FormattedTime = createFormattedComponent('formatTime');\nexport var FormattedNumber = createFormattedComponent('formatNumber');\nexport var FormattedList = createFormattedComponent('formatList');\nexport var FormattedDisplayName = createFormattedComponent('formatDisplayName');\nexport var FormattedDateParts = createFormattedDateTimePartsComponent('formatDate');\nexport var FormattedTimeParts = createFormattedDateTimePartsComponent('formatTime');\nexport { FormattedNumberParts, FormattedListParts, } from './src/components/createFormattedComponent';\n","import { useIntl } from 'react-intl';\n\nexport function AccountCenter(): JSX.Element {\n const intl = useIntl();\n return (\n \n );\n}\n","import { ChangeEvent, useCallback } from 'react';\n\ninterface SwitcherProps {\n label: string;\n id: string;\n onChange?: (value: boolean) => void;\n checked?: boolean;\n}\n\nexport function Switcher(props: SwitcherProps): JSX.Element {\n const handleChange = useCallback(\n (event: ChangeEvent) => {\n props.onChange?.(event.currentTarget.checked);\n },\n [props.onChange],\n );\n\n return (\n
\n \n \n
\n );\n}\n","import { AccountCenter } from '@/components/sgwt/AccountCenter';\nimport { useCallback, useState } from 'react';\nimport { getTheme, setTheme, Theme } from '@/utils/theme';\nimport { Switcher } from '@/components/bootstrap/Switcher';\n\nexport function Header(): JSX.Element {\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\nfunction ThemeSwitcher(): JSX.Element {\n const [currentTheme, setCurrentTheme] = useState(getTheme);\n const changeTheme = useCallback((checked: boolean) => {\n const theme: Theme = checked ? 'DARK' : 'LIGHT';\n setTheme(theme);\n setCurrentTheme(theme);\n }, []);\n return (\n \n );\n}\n","import { Fragment, useEffect, useState } from 'react';\nimport { IntlProvider as ReactIntlProvider } from 'react-intl';\nimport { BUS_TOPIC_GLOBALLANGUAGE, getWidgetBus } from '@/widgets/widgets';\nimport en from '@/locale/en.json';\nimport fr from '@/locale/fr.json';\n\ntype SupportedLocale = 'en' | 'fr';\nexport const locales: Record> = {\n en,\n fr: { ...en, ...fr },\n};\n\nexport const IntlProvider = ({ children }: { children: JSX.Element }) => {\n const [locale, setLocale] = useState('en');\n\n // Use the SGWT Widgets bus to be aware of the modification of the language,\n // which is triggered by the widget.\n useEffect(() => {\n const bus = getWidgetBus();\n if (bus) {\n const languageSubscription = bus.subscribe(BUS_TOPIC_GLOBALLANGUAGE, lang => {\n if (lang && Object.keys(locales).includes(lang.toLowerCase())) {\n setLocale(lang.toLowerCase() as SupportedLocale);\n document.querySelector('html')!.lang = lang;\n }\n });\n return () => {\n bus.unsubscribe(languageSubscription);\n };\n }\n }, []);\n\n return (\n \n {children}\n \n );\n};\n","import './App.css';\nimport { getUserConnection } from '@/widgets/widgets';\nimport { Footer } from '@/components/layout/Footer';\nimport { Header } from '@/components/layout/Header';\nimport { IntlProvider } from '@/context/IntlContext';\nimport { FormattedMessage } from 'react-intl';\n\nexport function App() {\n return (\n \n
\n
\n\n
\n person\n \n
\n\n
\n
\n
\n );\n}\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.ERR_FAILED_TO_FETCH_OPENID_CLAIMS_DESCRIPTION = exports.ERR_FAILED_TO_FETCH_OPENID_CLAIMS = exports.ERR_OPENID_CHECK_SESSION_ERROR_DESCRIPTION = exports.ERR_OPENID_CHECK_SESSION_ERROR = exports.ERR_FAILED_TO_VALIDATE_OPENID_METADATA_DESCRIPTION = exports.ERR_FAILED_TO_VALIDATE_OPENID_METADATA = exports.ERR_FAILED_TO_PARSE_OPENID_METADATA_DESCRIPTION = exports.ERR_FAILED_TO_PARSE_OPENID_METADATA = exports.ERR_FAILED_TO_FETCH_OPENID_METADATA_DESCRIPTION = exports.ERR_FAILED_TO_FETCH_OPENID_METADATA = exports.ERR_REGISTRATION_NOT_SUPPORTED_DESCRIPTION = exports.ERR_REGISTRATION_NOT_SUPPORTED = exports.ERR_REQUEST_URI_NOT_SUPPORTED_DESCRIPTION = exports.ERR_REQUEST_URI_NOT_SUPPORTED = exports.ERR_REQUEST_NOT_SUPPORTED_DESCRIPTION = exports.ERR_REQUEST_NOT_SUPPORTED = exports.ERR_INVALID_REQUEST_OBJECT_DESCRIPTION = exports.ERR_INVALID_REQUEST_OBJECT = exports.ERR_INVALID_REQUEST_URI_DESCRIPTION = exports.ERR_INVALID_REQUEST_URI = exports.ERR_CONSENT_REQUIRED_DESCRIPTION = exports.ERR_CONSENT_REQUIRED = exports.ERR_ACCOUNT_SELECTION_REQUIRED_DESCRIPTION = exports.ERR_ACCOUNT_SELECTION_REQUIRED = exports.ERR_LOGIN_REQUIRED_DESCRIPTION = exports.ERR_LOGIN_REQUIRED = exports.ERR_INTERACTION_REQUIRED_DESCRIPTION = exports.ERR_INTERACTION_REQUIRED = exports.ERR_TEMPORARILY_UNAVAILABLE_DESCRIPTION = exports.ERR_TEMPORARILY_UNAVAILABLE = exports.ERR_SERVER_ERROR_DESCRIPTION = exports.ERR_SERVER_ERROR = exports.ERR_INVALID_SCOPE_DESCRIPTION = exports.ERR_INVALID_SCOPE = exports.ERR_UNSUPPORTED_RESPONSE_TYPE_DESCRIPTION = exports.ERR_UNSUPPORTED_RESPONSE_TYPE = exports.ERR_ACCESS_DENIED_DESCRIPTION = exports.ERR_ACCESS_DENIED = exports.ERR_UNAUTHORIZED_CLIENT_DESCRIPTION = exports.ERR_UNAUTHORIZED_CLIENT = exports.ERR_INVALID_REQUEST_DESCRIPTION = exports.ERR_INVALID_REQUEST = exports.ERR_RENEW_TIMEOUT_DESCRIPTION = exports.ERR_RENEW_TIMEOUT = exports.ERR_UNAUTHORIZED_DESCRIPTION = exports.ERR_UNAUTHORIZED = exports.ERR_UNSUPPORTED_TOKEN_TYPE_DESCRIPTION = exports.ERR_UNSUPPORTED_TOKEN_TYPE = exports.ERR_STATE_MISMATCH_DESCRIPTION = exports.ERR_STATE_MISMATCH = void 0;\r\nexports.ERR_FAILED_TO_VALIDATE_OPENID_CLAIMS_DESCRIPTION = exports.ERR_FAILED_TO_VALIDATE_OPENID_CLAIMS = exports.ERR_FAILED_TO_PARSE_OPENID_CLAIMS_DESCRIPTION = exports.ERR_FAILED_TO_PARSE_OPENID_CLAIMS = void 0;\r\n/**\r\n * Authorization server response validation error.\r\n *\r\n * Unable to verify the validity of the request by matching\r\n * the \"state\" parameter sent with the authorization request\r\n * to the \"state\" parameter received in authorization server\r\n * response.\r\n *\r\n * This error may indicate a cross-site request forgery (CSRF)\r\n * attack or a misconfiguration of the authorization server.\r\n *\r\n * See: https://tools.ietf.org/html/rfc6749#section-10.12\r\n */\r\nexports.ERR_STATE_MISMATCH = 'state_mismatch';\r\nexports.ERR_STATE_MISMATCH_DESCRIPTION = \"\\n This error may indicate a cross-site request forgery (CSRF)\\n attack or a misconfiguration of the authorization server.\\n\";\r\n/**\r\n * Authorization server response validation error.\r\n *\r\n * SGWTConnect does not support the access token type\r\n * received from the authorization server.\r\n */\r\nexports.ERR_UNSUPPORTED_TOKEN_TYPE = 'unsupported_token_type';\r\nexports.ERR_UNSUPPORTED_TOKEN_TYPE_DESCRIPTION = \"\\n SGWTConnect does not support the access token type\\n received from the authorization server.\\n\";\r\n/**\r\n * SGWTConnect unauthorized error.\r\n *\r\n * Occurs when SGWTConnect is unable to perform an action\r\n * because it is currently unauthorized to do so.\r\n */\r\nexports.ERR_UNAUTHORIZED = 'unauthorized';\r\nexports.ERR_UNAUTHORIZED_DESCRIPTION = \"\\n SGWTConnect is unable to perform an action\\n because it is currently unauthorized to do so.\\n\";\r\n/**\r\n * SGWTConnect renewal error.\r\n *\r\n * Occurs when SGWTConnect does not receive a response\r\n * from the authorization server while renewing the token.\r\n */\r\nexports.ERR_RENEW_TIMEOUT = 'renew_timeout';\r\nexports.ERR_RENEW_TIMEOUT_DESCRIPTION = \"\\n SGWTConnect did not receive a response\\n from the authorization server while\\n renewing the token.\\n\";\r\n//\r\n// OAuth 2.0 errors are listed below.\r\n// See: https://tools.ietf.org/html/rfc6749#section-4.2.2.1\r\n// --------------------\r\n/**\r\n * Authorization server error response.\r\n *\r\n * The request is missing a required parameter, includes an\r\n * unsupported parameter value, includes a parameter more\r\n * than once, or is otherwise malformed.\r\n *\r\n * See: https://tools.ietf.org/html/rfc6749#section-4.2.2.1\r\n */\r\nexports.ERR_INVALID_REQUEST = 'invalid_request';\r\nexports.ERR_INVALID_REQUEST_DESCRIPTION = \"\\n The configuration may be malformed.\\n Double check all configuration options.\\n\";\r\n/**\r\n * Authorization server error response.\r\n *\r\n * The client is not authorized to request an access token\r\n * using this method.\r\n *\r\n * See: https://tools.ietf.org/html/rfc6749#section-4.2.2.1\r\n */\r\nexports.ERR_UNAUTHORIZED_CLIENT = 'unauthorized_client';\r\nexports.ERR_UNAUTHORIZED_CLIENT_DESCRIPTION = \"\\n The client is not authorized to request an access token\\n using this method.\\n\";\r\n/**\r\n * Authorization server error response.\r\n *\r\n * The resource owner or authorization server denied the request.\r\n *\r\n * See: https://tools.ietf.org/html/rfc6749#section-4.2.2.1\r\n */\r\nexports.ERR_ACCESS_DENIED = 'access_denied';\r\nexports.ERR_ACCESS_DENIED_DESCRIPTION = \"\\n The resource owner or authorization server denied the request.\\n\";\r\n/**\r\n * Authorization server error response.\r\n *\r\n * The authorization server does not support obtaining an\r\n * access token using this method.\r\n *\r\n * See: https://tools.ietf.org/html/rfc6749#section-4.2.2.1\r\n */\r\nexports.ERR_UNSUPPORTED_RESPONSE_TYPE = 'unsupported_response_type';\r\nexports.ERR_UNSUPPORTED_RESPONSE_TYPE_DESCRIPTION = \"\\n The authorization server does not support obtaining an\\n access token using this method.\\n\\n Double-check the \\\"response_type\\\" configuration option.\\n\";\r\n/**\r\n * Authorization server error response.\r\n *\r\n * The requested scope is invalid, unknown, or malformed.\r\n *\r\n * See: https://tools.ietf.org/html/rfc6749#section-4.2.2.1\r\n */\r\nexports.ERR_INVALID_SCOPE = 'invalid_scope';\r\nexports.ERR_INVALID_SCOPE_DESCRIPTION = \"\\n The requested scope is invalid, unknown, or malformed.\\n\";\r\n/**\r\n * Authorization server error response.\r\n *\r\n * The authorization server encountered an unexpected\r\n * condition that prevented it from fulfilling the request.\r\n * (This error code is needed because a 500 Internal Server\r\n * Error HTTP status code cannot be returned to the client\r\n * via an HTTP redirect.)\r\n *\r\n * See: https://tools.ietf.org/html/rfc6749#section-4.2.2.1\r\n */\r\nexports.ERR_SERVER_ERROR = 'server_error';\r\nexports.ERR_SERVER_ERROR_DESCRIPTION = \"\\n The authorization server encountered an unexpected\\n condition that prevented it from fulfilling the request.\\n\\n Please try again in a few minutes.\\n\";\r\n/**\r\n * Authorization server error response.\r\n *\r\n * The authorization server is currently unable to handle\r\n * the request due to a temporary overloading or maintenance\r\n * of the server. (This error code is needed because a 503\r\n * Service Unavailable HTTP status code cannot be returned\r\n * to the client via an HTTP redirect.)\r\n *\r\n * See: https://tools.ietf.org/html/rfc6749#section-4.2.2.1\r\n */\r\nexports.ERR_TEMPORARILY_UNAVAILABLE = 'temporarily_unavailable';\r\nexports.ERR_TEMPORARILY_UNAVAILABLE_DESCRIPTION = \"\\n The authorization server is currently unable to handle\\n the request due to a temporary overloading or maintenance\\n of the server.\\n\\n Please try again in a few minutes.\\n\";\r\n//\r\n// OpenID Connect 1.0 errors are listed below.\r\n// See: http://openid.net/specs/openid-connect-core-1_0.html#AuthError\r\n// --------------------\r\n/**\r\n * OpenID Connect authentication error response.\r\n *\r\n * The Authorization Server requires End-User interaction\r\n * of some form to proceed. This error MAY be returned\r\n * when the prompt parameter value in the Authentication Request\r\n * is none, but the Authentication Request cannot be completed\r\n * without displaying a user interface for End-User interaction.\r\n *\r\n * See: http://openid.net/specs/openid-connect-core-1_0.html#AuthError\r\n */\r\nexports.ERR_INTERACTION_REQUIRED = 'interaction_required';\r\nexports.ERR_INTERACTION_REQUIRED_DESCRIPTION = \"\\n The Authorization Server requires End-User interaction\\n of some form to proceed.\\n\";\r\n/**\r\n * OpenID Connect authentication error response.\r\n *\r\n * The Authorization Server requires End-User authentication.\r\n * This error MAY be returned when the prompt parameter value in the\r\n * Authentication Request is none, but the Authentication Request\r\n * cannot be completed without displaying a user interface for\r\n * End-User authentication.\r\n *\r\n * See: http://openid.net/specs/openid-connect-core-1_0.html#AuthError\r\n */\r\nexports.ERR_LOGIN_REQUIRED = 'login_required';\r\nexports.ERR_LOGIN_REQUIRED_DESCRIPTION = \"\\n The Authorization Server requires End-User authentication.\\n\";\r\n/**\r\n * OpenID Connect authentication error response.\r\n *\r\n * The End-User is REQUIRED to select a session at the Authorization Server.\r\n * The End-User MAY be authenticated at the Authorization Server with\r\n * different associated accounts, but the End-User did not select a session.\r\n * This error MAY be returned when the prompt parameter value in the\r\n * Authentication Request is none, but the Authentication Request\r\n * cannot be completed without displaying a user interface to prompt\r\n * for a session to use.\r\n *\r\n * See: http://openid.net/specs/openid-connect-core-1_0.html#AuthError\r\n */\r\nexports.ERR_ACCOUNT_SELECTION_REQUIRED = 'account_selection_required';\r\nexports.ERR_ACCOUNT_SELECTION_REQUIRED_DESCRIPTION = \"\\n The End-User is REQUIRED to select a session at the Authorization Server.\\n The End-User MAY be authenticated at the Authorization Server with\\n different associated accounts, but the End-User did not select a session.\\n\";\r\n/**\r\n * OpenID Connect authentication error response.\r\n *\r\n * The Authorization Server requires End-User consent.\r\n * This error MAY be returned when the prompt parameter value in the\r\n * Authentication Request is none, but the Authentication Request\r\n * cannot be completed without displaying a user interface for\r\n * End-User consent.\r\n *\r\n * See: http://openid.net/specs/openid-connect-core-1_0.html#AuthError\r\n */\r\nexports.ERR_CONSENT_REQUIRED = 'consent_required';\r\nexports.ERR_CONSENT_REQUIRED_DESCRIPTION = \"\\n The Authorization Server requires End-User consent.\\n\";\r\n/**\r\n * OpenID Connect authentication error response.\r\n *\r\n * The request_uri in the Authorization Request returns an error\r\n * or contains invalid data.\r\n *\r\n * See: http://openid.net/specs/openid-connect-core-1_0.html#AuthError\r\n */\r\nexports.ERR_INVALID_REQUEST_URI = 'invalid_request_uri';\r\nexports.ERR_INVALID_REQUEST_URI_DESCRIPTION = \"\\n The request_uri in the Authorization Request returns an error\\n or contains invalid data.\\n\\n This is probably a bug in SGWTConnect.\\n\";\r\n/**\r\n * OpenID Connect authentication error response.\r\n *\r\n * The request parameter contains an invalid Request Object.\r\n *\r\n * See: http://openid.net/specs/openid-connect-core-1_0.html#AuthError\r\n */\r\nexports.ERR_INVALID_REQUEST_OBJECT = 'invalid_request_object';\r\nexports.ERR_INVALID_REQUEST_OBJECT_DESCRIPTION = \"\\n The request parameter contains an invalid Request Object.\\n\\n This is probably a bug in SGWTConnect.\\n\";\r\n/**\r\n * OpenID Connect authentication error response.\r\n *\r\n * The OpenID Provider does not support use of the `request` parameter defined in\r\n * [Section 6](http://openid.net/specs/openid-connect-core-1_0.html#JWTRequests).\r\n *\r\n * See: http://openid.net/specs/openid-connect-core-1_0.html#AuthError\r\n */\r\nexports.ERR_REQUEST_NOT_SUPPORTED = 'request_not_supported';\r\nexports.ERR_REQUEST_NOT_SUPPORTED_DESCRIPTION = \"\\n The OpenID Provider does not support use of the \\\"request\\\" parameter.\\n\";\r\n/**\r\n * OpenID Connect authentication error response.\r\n *\r\n * The OpenID Provider does not support use of the `request_uri` parameter defined in\r\n * [Section 6](http://openid.net/specs/openid-connect-core-1_0.html#JWTRequests).\r\n *\r\n * See: http://openid.net/specs/openid-connect-core-1_0.html#AuthError\r\n */\r\nexports.ERR_REQUEST_URI_NOT_SUPPORTED = 'request_uri_not_supported';\r\nexports.ERR_REQUEST_URI_NOT_SUPPORTED_DESCRIPTION = \"\\n The OpenID Provider does not support use of the \\\"request_uri\\\" parameter.\\n\";\r\n/**\r\n * OpenID Connect authentication error response.\r\n *\r\n * The OpenID Provider does not support use of the `registration` parameter defined in\r\n * [Section 7.2.1](http://openid.net/specs/openid-connect-core-1_0.html#RegistrationParameter).\r\n *\r\n * See: http://openid.net/specs/openid-connect-core-1_0.html#AuthError\r\n */\r\nexports.ERR_REGISTRATION_NOT_SUPPORTED = 'registration_not_supported';\r\nexports.ERR_REGISTRATION_NOT_SUPPORTED_DESCRIPTION = \"\\n The OpenID Provider does not support use of the \\\"registration\\\" parameter.\\n\";\r\n//\r\n// OpenID Connect 1.0 Session Management errors are listed below.\r\n// See: https://openid.net/specs/openid-connect-session-1_0.html\r\n// --------------------\r\n/**\r\n * Indicates that an HTTP request to obtain\r\n * the OpenID Provider Discovery Metadata has failed.\r\n */\r\nexports.ERR_FAILED_TO_FETCH_OPENID_METADATA = 'failed_to_obtain_openid_metadata';\r\nexports.ERR_FAILED_TO_FETCH_OPENID_METADATA_DESCRIPTION = \"\\n Failed to obtain OpenID Provider Metadata.\\n\";\r\n/**\r\n * Indicates that there was a error parsing\r\n * the OpenID Provider Discovery Metadata response.\r\n */\r\nexports.ERR_FAILED_TO_PARSE_OPENID_METADATA = 'failed_to_parse_openid_metadata';\r\nexports.ERR_FAILED_TO_PARSE_OPENID_METADATA_DESCRIPTION = \"\\n Failed to parse OpenID Provider Discovery Metadata.\\n\";\r\n/**\r\n * Indicates that there was an error validating\r\n * the OpenID Provider Discovery Metadata response.\r\n */\r\nexports.ERR_FAILED_TO_VALIDATE_OPENID_METADATA = 'failed_to_validate_openid_metadata';\r\nexports.ERR_FAILED_TO_VALIDATE_OPENID_METADATA_DESCRIPTION = \"\\n Failed to validate OpenID Provider Discovery Metadata.\\n\";\r\n/**\r\n * Indicates that the OpenID OP iframe received\r\n * a syntactically malformed message.\r\n *\r\n * See: https://openid.net/specs/openid-connect-session-1_0.html#OPiframe\r\n */\r\nexports.ERR_OPENID_CHECK_SESSION_ERROR = 'check_session_error';\r\nexports.ERR_OPENID_CHECK_SESSION_ERROR_DESCRIPTION = \"\\n Client ID and origin URL cannot be determined or are syntactically invalid.\\n\";\r\n//\r\n// OpenID UserInfo Endpoint.\r\n// See: https://openid.net/specs/openid-connect-core-1_0.html#UserInfo\r\n// --------------------\r\n/**\r\n * Indicates that an HTTP request to obtain\r\n * the OpenID UserInfo Claims has failed.\r\n */\r\nexports.ERR_FAILED_TO_FETCH_OPENID_CLAIMS = 'failed_to_obtain_openid_claims';\r\nexports.ERR_FAILED_TO_FETCH_OPENID_CLAIMS_DESCRIPTION = \"\\n Failed to obtain OpenID UserInfo Claims.\\n\";\r\n/**\r\n * Indicates that there was a error parsing\r\n * the OpenID UserInfo Claims response.\r\n */\r\nexports.ERR_FAILED_TO_PARSE_OPENID_CLAIMS = 'failed_to_parse_openid_claims';\r\nexports.ERR_FAILED_TO_PARSE_OPENID_CLAIMS_DESCRIPTION = \"\\n Failed to parse OpenID UserInfo Claims.\\n\";\r\n/**\r\n * Indicates that there was an error validating\r\n * the OpenID UserInfo Claims response.\r\n */\r\nexports.ERR_FAILED_TO_VALIDATE_OPENID_CLAIMS = 'failed_to_validate_openid_claims';\r\nexports.ERR_FAILED_TO_VALIDATE_OPENID_CLAIMS_DESCRIPTION = \"\\n Failed to validate OpenID UserInfo Claims.\\n\";\r\n//# sourceMappingURL=SGWTConnectErrorList.js.map","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.SGWTConnectError = void 0;\r\nvar ErrorList = require(\"./SGWTConnectErrorList\");\r\n/**\r\n * SGWTConnect error.\r\n *\r\n * The purpose of this class is to differentiate custom SGWTConnect\r\n * errors from errors originated in other modules.\r\n */\r\nvar SGWTConnectError = /** @class */ (function (_super) {\r\n __extends(SGWTConnectError, _super);\r\n function SGWTConnectError(code) {\r\n var _this = this;\r\n var errorListKey = \"ERR_\".concat(code.toUpperCase(), \"_DESCRIPTION\");\r\n var description = ErrorList[errorListKey];\r\n _this = _super.call(this, \"SGWTConnectError \".concat(code.toUpperCase(), \" \").concat(description)) || this;\r\n // Calling `super` in TypeScript 2.1 and 2.2 breaks the\r\n // prototype chain, so we need to restore it here to\r\n // enable instanceof checks\r\n // See: https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#typescript-21\r\n Object.setPrototypeOf(_this, SGWTConnectError.prototype);\r\n // We use the same approach as NodeJS errors by exposing\r\n // a `code` property (e.g. \"state_mismatch\") on error\r\n // instances:\r\n _this.code = code;\r\n return _this;\r\n }\r\n return SGWTConnectError;\r\n}(Error));\r\nexports.SGWTConnectError = SGWTConnectError;\r\n//# sourceMappingURL=SGWTConnectError.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.EVENT_OPENID_CHECK_SESSION_ERROR = exports.EVENT_OPENID_SESSION_UNCHANGED = exports.EVENT_OPENID_SESSION_CHANGED = exports.EVENT_OPENID_METADATA_FETCH_ERROR = exports.EVENT_AUTH_RENEW_SUCCESS = exports.EVENT_AUTH_RENEW_ERROR = exports.EVENT_AUTH_EXPIRED = exports.EVENT_AUTH_DISCARDED = void 0;\r\n/**\r\n * The authorization token has been discarded.\r\n */\r\nexports.EVENT_AUTH_DISCARDED = 'authorizationDiscarded';\r\n/**\r\n * The authorization token has expired.\r\n */\r\nexports.EVENT_AUTH_EXPIRED = 'authorizationExpired';\r\n/**\r\n * Error has occurred while renewing the token.\r\n */\r\nexports.EVENT_AUTH_RENEW_ERROR = 'renewAuthorizationError';\r\n/**\r\n * The current token has been successfully renewed.\r\n */\r\nexports.EVENT_AUTH_RENEW_SUCCESS = 'renewAuthorizationSuccess';\r\n/**\r\n * Error has occurred while fetching the OpenID Metadata.\r\n */\r\nexports.EVENT_OPENID_METADATA_FETCH_ERROR = 'OpenIDMetadataFetchError';\r\n/**\r\n * Indicates that the OpenID session has changed.\r\n */\r\nexports.EVENT_OPENID_SESSION_CHANGED = 'OpenIDCheckSessionChanged';\r\n/**\r\n * Indicates that the OpenID session has not changed.\r\n */\r\nexports.EVENT_OPENID_SESSION_UNCHANGED = 'OpenIDCheckSessionUnchanged';\r\n/**\r\n * Error has occurred while fetching the OpenID Metadata.\r\n */\r\nexports.EVENT_OPENID_CHECK_SESSION_ERROR = 'OpenIDCheckSessionError';\r\n//# sourceMappingURL=SGWTConnectEventList.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.generateAuthorizationUri = exports.normalizeAuthorizationEndpoint = exports.generateCryptoStrongRandomValue = void 0;\r\n/**\r\n * Generates a cryptographically strong random value.\r\n */\r\nfunction generateCryptoStrongRandomValue() {\r\n var crypto = window.crypto || window.msCrypto;\r\n var randomValues = crypto.getRandomValues(new Uint32Array(5));\r\n // IE supports neither TypedArray methods nor Array.from,\r\n // so we have to use a for loop here if we want this script\r\n // to be injectable before polyfills:\r\n var base36RandomValue = '';\r\n for (var i = 0; i < randomValues.length; i += 1) {\r\n base36RandomValue += randomValues[i].toString(36);\r\n }\r\n return base36RandomValue;\r\n}\r\nexports.generateCryptoStrongRandomValue = generateCryptoStrongRandomValue;\r\n/**\r\n * Normalizes the authorization endpoint by stripping /oauth2/* suffixes.\r\n */\r\nfunction normalizeAuthorizationEndpoint(authorization_endpoint) {\r\n return authorization_endpoint.replace(/(\\/oauth2\\/authorize|\\/userinfo)?\\/?$/, '');\r\n}\r\nexports.normalizeAuthorizationEndpoint = normalizeAuthorizationEndpoint;\r\n/**\r\n * Generates an OAuth2/OpenID-compliant authorization URI.\r\n */\r\nfunction generateAuthorizationUri(config, state, options) {\r\n return (normalizeAuthorizationEndpoint(config.authorization_endpoint) +\r\n '/oauth2/authorize' +\r\n '?client_id=' +\r\n encodeURIComponent(config.client_id) +\r\n '&redirect_uri=' +\r\n encodeURIComponent(config.redirect_uri) +\r\n '&response_type=' +\r\n encodeURIComponent(config.response_type) +\r\n '&scope=' +\r\n encodeURIComponent(config.scope) +\r\n (config.with_nonce ? \"&nonce= \".concat(encodeURIComponent(generateCryptoStrongRandomValue())) : '') +\r\n '&state=' +\r\n encodeURIComponent(state) +\r\n '&acr_values=' +\r\n encodeURIComponent(config.acr_values) +\r\n (options && options.prompt ? '&prompt=' + options.prompt : '') +\r\n (options && options.id_token_hint ? '&id_token_hint=' + options.id_token_hint : ''));\r\n}\r\nexports.generateAuthorizationUri = generateAuthorizationUri;\r\n//# sourceMappingURL=SGWTConnectAuthorizationUri.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.isScopeListed = void 0;\r\n/**\r\n * Determines whether the checked scope is listed in the actual scope.\r\n */\r\nfunction isScopeListed(checkedScope, actualScope) {\r\n var checkedScopeList = checkedScope.trim().toLowerCase().split(/\\s+/);\r\n var actualScopeList = actualScope.trim().toLowerCase().split(/\\s+/);\r\n return checkedScopeList.every(function (scope) { return actualScopeList.indexOf(scope) !== -1; });\r\n}\r\nexports.isScopeListed = isScopeListed;\r\n//# sourceMappingURL=isScopeListed.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.normalizeUrl = void 0;\r\n/**\r\n * Normalizes a URL by lowercasing it, adding the trailing slash,\r\n * and removing the default ports (:80 for http and :443 for https).\r\n * @param url URL to normalize.\r\n * @example\r\n * normalizeUrl('HTTP://EXAMPLE.COM') === 'http://example.com/'\r\n * normalizeUrl('http://example.com:80') === 'http://example.com/'\r\n * normalizeUrl('https://example.com:443') === 'https://example.com/'\r\n */\r\nfunction normalizeUrl(url) {\r\n // Using HTMLAnchorElement hack because Internet Explorer\r\n // doesn't support the Window.URL API:\r\n var a = document.createElement('a');\r\n a.href = url;\r\n return a.href;\r\n}\r\nexports.normalizeUrl = normalizeUrl;\r\n//# sourceMappingURL=normalizeUrl.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.normalizeAuthServerResponse = exports.parseOAuth2Fragment = void 0;\r\n/**\r\n * Creates an object from a string of query parameters.\r\n */\r\nfunction parseQueryParametersString(queryParametersString) {\r\n var queryParametersRegex = /([^&=]+)=([^&]*)/g;\r\n var queryParameters = {};\r\n var keyValuePair;\r\n while ((keyValuePair = queryParametersRegex.exec(queryParametersString))) {\r\n var key = decodeURIComponent(keyValuePair[1]);\r\n var value = decodeURIComponent(keyValuePair[2]);\r\n queryParameters[key] = value;\r\n }\r\n return queryParameters;\r\n}\r\n/**\r\n * Parses an authorization server response.\r\n */\r\nfunction parseOAuth2Fragment(fragment) {\r\n return parseQueryParametersString(fragment.replace(/^#/, ''));\r\n}\r\nexports.parseOAuth2Fragment = parseOAuth2Fragment;\r\n/**\r\n * Normalizes a parsed authorization server response.\r\n */\r\nfunction normalizeAuthServerResponse(authServerResponse) {\r\n if (authServerResponse.error) {\r\n var authError = {\r\n error: authServerResponse.error,\r\n error_description: authServerResponse.error_description,\r\n state: authServerResponse.state,\r\n };\r\n return authError;\r\n }\r\n var expiresIn = parseInt(authServerResponse.expires_in, 10) * 1000;\r\n var authSuccess = {\r\n access_token: authServerResponse.access_token,\r\n expires_in: expiresIn,\r\n expires_at: Date.now() + expiresIn,\r\n id_token: authServerResponse.id_token,\r\n scope: authServerResponse.scope,\r\n state: authServerResponse.state,\r\n token_type: authServerResponse.token_type,\r\n session_state: authServerResponse.session_state,\r\n };\r\n return authSuccess;\r\n}\r\nexports.normalizeAuthServerResponse = normalizeAuthServerResponse;\r\n//# sourceMappingURL=SGWTConnectServerResponse.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.isOnRedirectUri = exports.generateRedirectUri = void 0;\r\nvar isScopeListed_1 = require(\"./isScopeListed\");\r\nvar normalizeUrl_1 = require(\"./normalizeUrl\");\r\nvar SGWTConnectServerResponse_1 = require(\"./SGWTConnectServerResponse\");\r\n/**\r\n * Generates a redirect URI.\r\n *\r\n * Given the origin \"https://example.com\":\r\n * - \"\" -> \"https://example.com\"\r\n * - \"/redirect\" -> \"https://example.com/redirect\"\r\n * - \"https://example.com\" -> \"https://example.com\"\r\n */\r\nfunction generateRedirectUri(location, redirectUri) {\r\n var origin = \"\".concat(location.protocol, \"//\").concat(location.host);\r\n // Support empty or unspecified redirect_uri\r\n // by using the current origin instead:\r\n // \"\" => \"https://example.com\"\r\n if (!redirectUri) {\r\n return origin;\r\n }\r\n // Support URIs relative to origin, for example:\r\n // \"/redirect\" => \"https://example.com/redirect\"\r\n if (redirectUri.charAt(0) === '/') {\r\n return \"\".concat(origin).concat(redirectUri);\r\n }\r\n // Otherwise use the redirect_uri as provided.\r\n // Note that we're not trying to normalize it\r\n // because it will be compared as is on the\r\n // authorization server.\r\n return redirectUri;\r\n}\r\nexports.generateRedirectUri = generateRedirectUri;\r\n/**\r\n * Determines if the current page has been redirected using OAuth2 protocol.\r\n */\r\nfunction isOnRedirectUri(config, location) {\r\n //\r\n // Step 1: validate the fragment\r\n // --------------------\r\n var authEndpointResponse = (0, SGWTConnectServerResponse_1.parseOAuth2Fragment)(location.hash);\r\n // Ensure that the fragment has at least the \"state\" parameter,\r\n // otherwise this is not a valid OAuth2 fragment:\r\n if (!authEndpointResponse.hasOwnProperty('state')) {\r\n return false;\r\n }\r\n var hasRequestedAccessToken = (0, isScopeListed_1.isScopeListed)('token', config.response_type);\r\n var hasRequestedIdToken = (0, isScopeListed_1.isScopeListed)('id_token', config.response_type);\r\n var hasReceivedAccessToken = authEndpointResponse.hasOwnProperty('access_token');\r\n var hasReceivedIdToken = authEndpointResponse.hasOwnProperty('id_token');\r\n var hasReceivedError = authEndpointResponse.hasOwnProperty('error');\r\n if (hasRequestedAccessToken) {\r\n if (!hasReceivedAccessToken && !hasReceivedError) {\r\n return false;\r\n }\r\n }\r\n if (hasRequestedIdToken) {\r\n if (!hasReceivedIdToken && !hasReceivedError) {\r\n return false;\r\n }\r\n }\r\n //\r\n // Step 2: validate the href without fragment\r\n // --------------------\r\n // Remove the fragment from the current location and normalize it\r\n // to avoid infinite redirects due to non-strictly equal URIs:\r\n var currentUri = (0, normalizeUrl_1.normalizeUrl)(location.href.replace(location.hash, ''));\r\n // Compare to normalized redirect URI assuming that\r\n // it has no fragment (as per specification):\r\n return currentUri === (0, normalizeUrl_1.normalizeUrl)(config.redirect_uri);\r\n}\r\nexports.isOnRedirectUri = isOnRedirectUri;\r\n//# sourceMappingURL=SGWTConnectRedirectUri.js.map","\"use strict\";\r\nvar __assign = (this && this.__assign) || function () {\r\n __assign = Object.assign || function(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.normalizeConfiguration = void 0;\r\nvar SGWTConnectAuthorizationUri_1 = require(\"./SGWTConnectAuthorizationUri\");\r\nvar SGWTConnectRedirectUri_1 = require(\"./SGWTConnectRedirectUri\");\r\n/**\r\n * Normalizes the configuration by adding default fields,\r\n * and normalizing existing fields.\r\n * @param config Configuration object to normalize.\r\n */\r\nfunction normalizeConfiguration(config, location) {\r\n return __assign(__assign(__assign({}, config), { response_type: config.response_type || 'id_token token', acr_values: config.acr_values || 'L2', \r\n // Normalize the authorization endpoint by stripping some\r\n // extraneous suffixes that users may add:\r\n authorization_endpoint: (0, SGWTConnectAuthorizationUri_1.normalizeAuthorizationEndpoint)(config.authorization_endpoint), \r\n // API consumers may:\r\n // - specify a redirect_uri relative to origin\r\n // in this case we prefix it with origin\r\n // - not specify a redirect_uri at all\r\n // in this case we define it for them, as it is mandatory\r\n redirect_uri: (0, SGWTConnectRedirectUri_1.generateRedirectUri)(location, config.redirect_uri) }), (config.post_logout_redirect_uri\r\n ? { post_logout_redirect_uri: (0, SGWTConnectRedirectUri_1.generateRedirectUri)(location, config.post_logout_redirect_uri) }\r\n : {}));\r\n}\r\nexports.normalizeConfiguration = normalizeConfiguration;\r\n//# sourceMappingURL=SGWTConnectConfiguration.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.SGWTConnectStorage = void 0;\r\n/**\r\n * SGWTConnect data storage.\r\n *\r\n * Has the following features:\r\n * - Automatic parsing of stringified data.\r\n * - Prefixing of keys of stored data.\r\n */\r\nvar SGWTConnectStorage = /** @class */ (function () {\r\n function SGWTConnectStorage(hash) {\r\n if (hash === void 0) { hash = ''; }\r\n this.hash = hash;\r\n this.baseStorageKey = 'SGWTConnectStorage';\r\n }\r\n Object.defineProperty(SGWTConnectStorage.prototype, \"storageKey\", {\r\n get: function () {\r\n return this.hash ? \"\".concat(this.baseStorageKey, \".\").concat(this.hash) : this.baseStorageKey;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n SGWTConnectStorage.prototype.getItem = function (key) {\r\n var item = localStorage.getItem(\"\".concat(this.storageKey, \".\").concat(key));\r\n return item === null ? null : JSON.parse(item);\r\n };\r\n SGWTConnectStorage.prototype.setItem = function (key, value) {\r\n localStorage.setItem(\"\".concat(this.storageKey, \".\").concat(key), JSON.stringify(value));\r\n };\r\n SGWTConnectStorage.prototype.removeItem = function (key) {\r\n localStorage.removeItem(\"\".concat(this.storageKey, \".\").concat(key));\r\n };\r\n SGWTConnectStorage.prototype.clearBy = function (satisfiesCondition) {\r\n for (var i = 0; i < localStorage.length; i += 1) {\r\n var key = localStorage.key(i);\r\n if (key && key.indexOf(this.baseStorageKey) !== -1) {\r\n var value = localStorage.getItem(key);\r\n var parsedValue = value === null ? null : JSON.parse(value);\r\n if (satisfiesCondition(parsedValue, key)) {\r\n localStorage.removeItem(key);\r\n }\r\n }\r\n }\r\n };\r\n return SGWTConnectStorage;\r\n}());\r\nexports.SGWTConnectStorage = SGWTConnectStorage;\r\n//# sourceMappingURL=SGWTConnectStorage.js.map","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction $getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return $getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = $getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) args.push(arguments[i]);\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n ReflectApply(this.listener, this.target, args);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.isSameOrigin = void 0;\r\n/**\r\n * Determines whether two valid URLs are of the same origin.\r\n *\r\n * There is no URL normalization, thus\r\n * `isSameOrigin('http://localhost', 'localhost')` is `false`.\r\n */\r\nfunction isSameOrigin(urlA, urlB) {\r\n // Using HTMLAnchorElement hack because Internet Explorer\r\n // doesn't support the Window.URL API:\r\n var a = document.createElement('a');\r\n a.href = urlA;\r\n var protocolA = a.protocol, hostA = a.host;\r\n a.href = urlB;\r\n var protocolB = a.protocol, hostB = a.host;\r\n // Internet Explorer doesn't implement HTMLAnchorElement.origin,\r\n // so we consider origin to be the same when their protocols,\r\n // hostnames, and ports match exactly. Note that HTMLAnchorElement\r\n // normalizes the URL (lowercases it, removes trailing slash) and\r\n // HTMLAnchorElement.host value already includes the port, for ex:\r\n // \"HTTP://Example.com:8080/foo\"\r\n // - protocol: \"http:\"\r\n // - host: \"example.com:8080\"\r\n return protocolA === protocolB && hostA === hostB;\r\n}\r\nexports.isSameOrigin = isSameOrigin;\r\n//# sourceMappingURL=isSameOrigin.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.isObject = void 0;\r\n/**\r\n * Determines whether the given value is an object.\r\n * @param value A value to check.\r\n */\r\nfunction isObject(value) {\r\n return value !== null && typeof value === 'object';\r\n}\r\nexports.isObject = isObject;\r\n//# sourceMappingURL=isObject.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.fetchOpenIDUserInfo = void 0;\r\nvar isObject_1 = require(\"./isObject\");\r\nvar SGWTConnectError_1 = require(\"./SGWTConnectError\");\r\nvar SGWTConnectErrorList_1 = require(\"./SGWTConnectErrorList\");\r\n/**\r\n * Fetches OpenID Claims from the OpenID Provider's \"userinfo\" endpoint.\r\n * @param authorizationEndpoint OpenID Provider's \"userinfo\" endpoint URL.\r\n * @param authorizationHeader OpenID Provider's \"userinfo\" endpoint URL.\r\n * @param callback Called with Claims or error upon request completion.\r\n */\r\nfunction fetchOpenIDUserInfo(authorizationEndpoint, authorizationHeader, callback) {\r\n var xhr = new XMLHttpRequest();\r\n xhr.open('GET', \"\".concat(authorizationEndpoint, \"/oauth2/userinfo\"));\r\n xhr.setRequestHeader('Accept', 'application/json');\r\n xhr.setRequestHeader('Authorization', authorizationHeader);\r\n xhr.addEventListener('load', function handleOpenIDUserInfoLoad() {\r\n if (xhr.status === 200) {\r\n var openIDUserInfo = void 0;\r\n try {\r\n openIDUserInfo = JSON.parse(xhr.responseText);\r\n }\r\n catch (_a) {\r\n callback(new SGWTConnectError_1.SGWTConnectError(SGWTConnectErrorList_1.ERR_FAILED_TO_PARSE_OPENID_CLAIMS));\r\n return;\r\n }\r\n if (isValidOpenIDClaims(openIDUserInfo)) {\r\n callback(null, openIDUserInfo);\r\n }\r\n else {\r\n callback(new SGWTConnectError_1.SGWTConnectError(SGWTConnectErrorList_1.ERR_FAILED_TO_VALIDATE_OPENID_CLAIMS));\r\n }\r\n }\r\n else {\r\n callback(new SGWTConnectError_1.SGWTConnectError(SGWTConnectErrorList_1.ERR_FAILED_TO_FETCH_OPENID_CLAIMS));\r\n }\r\n });\r\n xhr.send();\r\n}\r\nexports.fetchOpenIDUserInfo = fetchOpenIDUserInfo;\r\n/**\r\n * Determines whether the given OpenID Configuration is valid.\r\n * @param openIDUserInfo JSON-parsed value obtained from the Discovery API.\r\n */\r\nfunction isValidOpenIDClaims(openIDUserInfo) {\r\n return ((0, isObject_1.isObject)(openIDUserInfo) &&\r\n typeof openIDUserInfo.sub === 'string' &&\r\n typeof openIDUserInfo.name === 'string' &&\r\n typeof openIDUserInfo.locale === 'string');\r\n}\r\n//# sourceMappingURL=SGWTConnectOpenIDUserInfo.js.map","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.SGWTConnectCore = exports.SGWTConnectCheckSesssionFrameAttribute = exports.SGWTConnectRenewalFrameAttribute = void 0;\r\nvar events_1 = require(\"events\");\r\nvar isSameOrigin_1 = require(\"./isSameOrigin\");\r\nvar isScopeListed_1 = require(\"./isScopeListed\");\r\nvar SGWTConnectAuthorizationUri_1 = require(\"./SGWTConnectAuthorizationUri\");\r\nvar SGWTConnectError_1 = require(\"./SGWTConnectError\");\r\nvar SGWTConnectErrorList_1 = require(\"./SGWTConnectErrorList\");\r\nvar SGWTConnectEventList_1 = require(\"./SGWTConnectEventList\");\r\nvar SGWTConnectOpenIDUserInfo_1 = require(\"./SGWTConnectOpenIDUserInfo\");\r\nvar SGWTConnectServerResponse_1 = require(\"./SGWTConnectServerResponse\");\r\nexports.SGWTConnectRenewalFrameAttribute = 'data-sgwt-connect-renewal-frame';\r\nexports.SGWTConnectCheckSesssionFrameAttribute = 'data-sgwt-connect-check-session-frame';\r\n/**\r\n * Main API of SGWTConnect.\r\n */\r\nvar SGWTConnectCore = /** @class */ (function (_super) {\r\n __extends(SGWTConnectCore, _super);\r\n function SGWTConnectCore(config, storage, fetchOpenIDMetadata) {\r\n var _this = _super.call(this) || this;\r\n _this.config = config;\r\n _this.storage = storage;\r\n _this.tokenExpirationTimer = null;\r\n _this.periodicalRenewalTimer = null;\r\n _this.periodicalRenewalBackoff = 1000;\r\n _this.periodicalRenewalTimeout = 30000;\r\n _this.openIDCheckSessionTimerInterval = 3000;\r\n if (_this.isAuthorized()) {\r\n _this.restartTokenExpirationTimer();\r\n }\r\n if (fetchOpenIDMetadata && _this.hasRequestedScope('openid')) {\r\n fetchOpenIDMetadata(function (maybeOpenIDMetadata) {\r\n if (maybeOpenIDMetadata instanceof Error) {\r\n _this.emit(SGWTConnectEventList_1.EVENT_OPENID_METADATA_FETCH_ERROR, maybeOpenIDMetadata);\r\n }\r\n else {\r\n _this.openIDMetadata = maybeOpenIDMetadata;\r\n _this.enableOpenIDSessionManagement();\r\n }\r\n });\r\n }\r\n return _this;\r\n }\r\n //\r\n // Public\r\n // --------------------\r\n /**\r\n * Initiates the authorization process.\r\n *\r\n * Redirects to the authorization endpoint unless the\r\n * authorization has already been granted.\r\n */\r\n SGWTConnectCore.prototype.requestAuthorization = function () {\r\n // Check if the user is currently signed in to prevent\r\n // unnecessary sign-in redirects on application load:\r\n if (this.isAuthorized()) {\r\n return this.restartTokenExpirationTimer().enablePeriodicalRenewal();\r\n }\r\n // At this point the token may not exist, has expired\r\n // or the authorization server has responded with an\r\n // error. In any case we clear the current authorization\r\n // response:\r\n this.storage.removeItem('AUTH');\r\n // Cross-Site Request Forgery (CSRF) protection:\r\n var state = (0, SGWTConnectAuthorizationUri_1.generateCryptoStrongRandomValue)();\r\n this.storage.setItem(\"\".concat(state, \".STATE\"), state);\r\n // Remember the current URL, we will need to return\r\n // the user here after authorization is completed:\r\n this.storage.setItem(\"\".concat(state, \".RETURN_URL\"), location.href);\r\n // Initiate the authorization process by redirecting\r\n // the current page to the authorization endpoint:\r\n location.replace((0, SGWTConnectAuthorizationUri_1.generateAuthorizationUri)(this.config, state));\r\n return this;\r\n };\r\n /**\r\n * Clears the local authorization data and redirects\r\n * to end_session_endpoint if OpenID is enabled and\r\n * has loaded the relevant metadata.\r\n */\r\n SGWTConnectCore.prototype.discardAuthorization = function () {\r\n // Redirect is only possible if OpenID Metadata was\r\n // successfully retrieved from the \"well-known\" endpoint:\r\n if (this.openIDMetadata) {\r\n // Obtain the parameters required for the logout request:\r\n // https://openid.net/specs/openid-connect-session-1_0.html#RPLogout\r\n var id_token_hint = this.getIdToken();\r\n var post_logout_redirect_uri = this.config.post_logout_redirect_uri;\r\n var end_session_endpoint = this.openIDMetadata.end_session_endpoint;\r\n // Generate the end session URL:\r\n var endSessionURL_1 = \"\".concat(end_session_endpoint, \"?id_token_hint=\").concat(id_token_hint) +\r\n (post_logout_redirect_uri ? \"&post_logout_redirect_uri=\".concat(post_logout_redirect_uri) : '');\r\n // Schedule termination of the OpenID session:\r\n this.once(SGWTConnectEventList_1.EVENT_AUTH_DISCARDED, function () {\r\n window.location.replace(endSessionURL_1);\r\n });\r\n }\r\n // Discard the authorization data which will trigger\r\n // EVENT_AUTH_DISCARDED that we subscribed to above:\r\n return this.discardAuthorizationLocally();\r\n };\r\n /**\r\n * Initiates a silent renewal of the token.\r\n *\r\n * Because the renewal is transparent to the user, we\r\n * discourage usage of this method before calling `requestAuthorization`\r\n * as this will not display the authorization approval\r\n * interface.\r\n */\r\n SGWTConnectCore.prototype.renewAuthorization = function (callback) {\r\n return this.requestAuthorizationWithoutPrompt({}, callback);\r\n };\r\n /**\r\n * Determines if the authorization has been granted.\r\n *\r\n * The state of having authorization is determined by the presence\r\n * of a non-expired access_token. This method does not tell\r\n * whether the authorization has been revoked or not,\r\n * or whether the granted scopes are identical to the\r\n * requested ones.\r\n */\r\n SGWTConnectCore.prototype.isAuthorized = function () {\r\n var authorization = this.storage.getItem('AUTH');\r\n return Boolean(authorization && authorization.access_token) && authorization.expires_at > Date.now();\r\n };\r\n /**\r\n * Returns the authorization error or null if there is none.\r\n */\r\n SGWTConnectCore.prototype.getAuthorizationError = function () {\r\n var authorization = this.storage.getItem('AUTH');\r\n return authorization && authorization.error ? new SGWTConnectError_1.SGWTConnectError(authorization.error) : null;\r\n };\r\n /**\r\n * Generates an \"Authorization\" HTTP header value.\r\n *\r\n * Call this method and use the return value as Authorization header\r\n * value every time you make an HTTP request to your backend API.\r\n *\r\n * const authHttpHeader = sgwtConnect.getAuthorizationHeader();\r\n * if (authHttpHeader) {\r\n * headers.set('Authorization', authHttpHeader);\r\n * }\r\n *\r\n * Currently only the \"Bearer\" token type is supported.\r\n */\r\n SGWTConnectCore.prototype.getAuthorizationHeader = function () {\r\n var authorization = this.storage.getItem('AUTH');\r\n if (!this.isAuthorized()) {\r\n return null;\r\n }\r\n if (authorization.token_type && authorization.token_type.toLowerCase() === 'bearer') {\r\n return \"Bearer \".concat(authorization.access_token);\r\n }\r\n throw new SGWTConnectError_1.SGWTConnectError(SGWTConnectErrorList_1.ERR_UNSUPPORTED_TOKEN_TYPE);\r\n };\r\n /**\r\n * Returns the scope granted by the authorization server as a space-delimited string.\r\n */\r\n SGWTConnectCore.prototype.getGrantedScope = function () {\r\n // Make sure that the authorization request was successful:\r\n if (!this.isAuthorized()) {\r\n return null;\r\n }\r\n // Scope is part of authorization server response:\r\n var authorization = this.storage.getItem('AUTH');\r\n // Return the scope as is (e.g. \"profile openid mail\").\r\n // We leave it up to developer to parse and compare to\r\n // the requested scope. Also note that the scope\r\n // may not be returned in the authorization response\r\n // if it is identical to the scope requested by\r\n // the client.\r\n return typeof authorization.scope === 'undefined' ? this.config.scope : authorization.scope;\r\n };\r\n /**\r\n * Determines whether the given scope has been granted.\r\n *\r\n * sgwtConnect.hasGrantedScope('profile openid');\r\n */\r\n SGWTConnectCore.prototype.hasGrantedScope = function (checkedScope) {\r\n var grantedScope = this.getGrantedScope();\r\n if (typeof grantedScope !== 'string') {\r\n return false;\r\n }\r\n return (0, isScopeListed_1.isScopeListed)(checkedScope, grantedScope);\r\n };\r\n /**\r\n * Obtains the user's ID Token in the form of JWT (JSON Web Token).\r\n *\r\n * Use this method to pass user identity to your backend.\r\n *\r\n * Calling this method is only useful if the \"scope\" parameter\r\n * used to make the authorization request included the \"openid\"\r\n * value.\r\n *\r\n * See http://openid.net/specs/openid-connect-core-1_0.html#IDToken\r\n * See https://tools.ietf.org/html/rfc7519\r\n */\r\n SGWTConnectCore.prototype.getIdToken = function () {\r\n // Make sure that the authorization request was successful:\r\n if (!this.isAuthorized()) {\r\n return null;\r\n }\r\n // Obtain the authorization server response:\r\n var authorization = this.storage.getItem('AUTH');\r\n // It is possible that the response_type parameter did not\r\n // include the \"id_token\" value while performing an authorization\r\n // request, so there's no id_token in the current token:\r\n if (!authorization.id_token) {\r\n return null;\r\n }\r\n // Return the id_token as is so that it can be passed to\r\n // backend for validation:\r\n return authorization.id_token;\r\n };\r\n /**\r\n * Obtains basic user information from ID Token claims.\r\n *\r\n * Use this method to obtain user id, name, email, etc.\r\n * without calling the /userinfo endpoint.\r\n *\r\n * Calling this method is only useful if the \"scope\" parameter\r\n * used to make the authorization request included the \"openid\"\r\n * (and optionally \"email\", \"profile\", etc.) value.\r\n *\r\n * See http://openid.net/specs/openid-connect-core-1_0.html#IDToken\r\n */\r\n SGWTConnectCore.prototype.getIdTokenClaims = function () {\r\n var idToken = this.getIdToken();\r\n // The ID Token could be missing in the following cases:\r\n // 1. Authorization not requested\r\n // 2. Authorization not granted\r\n // 3. id_token not requested in the authorization request\r\n // 4. id_token not granted in the authorization response\r\n if (idToken === null) {\r\n return null;\r\n }\r\n // The id_token conforms to an industry standard (IETF RFC 7519)\r\n // and contains three parts (header, body, signature) separated\r\n // by \".\" (dot) character:\r\n var idTokenParts = idToken.split('.');\r\n // The body is the second part (at index 1) containing identity\r\n // claims about the user:\r\n var idTokenBody = idTokenParts[1];\r\n // The id_token body is a base64url encoded JSON structure:\r\n return JSON.parse(atob(idTokenBody));\r\n };\r\n /**\r\n * Fetches UserInfo Claims from the authorization server.\r\n *\r\n * Use this method to obtain user name, email, etc. if\r\n * you're not requesting id_token or if the id_token\r\n * does not contain these values.\r\n *\r\n * See https://openid.net/specs/openid-connect-core-1_0.html#UserInfo\r\n */\r\n SGWTConnectCore.prototype.fetchUserInfo = function (callback) {\r\n var authorizationHeader = this.getAuthorizationHeader();\r\n if (authorizationHeader) {\r\n (0, SGWTConnectOpenIDUserInfo_1.fetchOpenIDUserInfo)(this.config.authorization_endpoint, authorizationHeader, callback);\r\n }\r\n else {\r\n callback(new SGWTConnectError_1.SGWTConnectError(SGWTConnectErrorList_1.ERR_UNAUTHORIZED));\r\n }\r\n return this;\r\n };\r\n /**\r\n * Enables silent periodical renewal of the token.\r\n *\r\n * Call this method after checking the result of isAuthorized,\r\n * because it assumes that the authorization request has been\r\n * performed successfully.\r\n */\r\n SGWTConnectCore.prototype.enablePeriodicalRenewal = function () {\r\n var _this = this;\r\n // Make sure that we don't have two renewal timers\r\n // running at the same time:\r\n if (this.periodicalRenewalTimer !== null) {\r\n return this;\r\n }\r\n // Whenever renewal succeeds (manual or periodical)\r\n // we need to restart the timer in order to do reduce\r\n // the number of requests to the authorization endpoint:\r\n this.addListener(SGWTConnectEventList_1.EVENT_AUTH_RENEW_SUCCESS, this.restartRenewalTimer);\r\n // Start the initial timer. We're using setTimeout to be able\r\n // to adjust the duration depending on renew success/error:\r\n this.periodicalRenewalTimer = window.setTimeout(function () {\r\n _this.renewResiliently();\r\n }, this.getRenewalTimeout());\r\n return this;\r\n };\r\n /**\r\n * Disables silent periodical renewal of the token.\r\n */\r\n SGWTConnectCore.prototype.disablePeriodicalRenewal = function () {\r\n // Make sure that the backoff delay is reset so that next time\r\n // we start the periodical renewal, it is back to default value:\r\n this.resetRenewalBackoff();\r\n // Stop restarting periodical renewal on renew success:\r\n this.removeListener(SGWTConnectEventList_1.EVENT_AUTH_RENEW_SUCCESS, this.restartRenewalTimer);\r\n // Clear the current timeout:\r\n if (typeof this.periodicalRenewalTimer === 'number') {\r\n window.clearTimeout(this.periodicalRenewalTimer);\r\n this.periodicalRenewalTimer = null;\r\n }\r\n return this;\r\n };\r\n //\r\n // Private\r\n // --------------------\r\n /**\r\n * Discards the local authorization data,\r\n * cancels all running timers,\r\n * and emits `EVENT_AUTH_DISCARDED` event.\r\n */\r\n SGWTConnectCore.prototype.discardAuthorizationLocally = function () {\r\n // The authorization is discarded, so it no longer\r\n // makes sense to do periodical renewal or maintain\r\n // the expiration timer:\r\n this.disablePeriodicalRenewal();\r\n this.clearTokenExpirationTimer();\r\n if (this.openIDMetadata) {\r\n // OpenID Session Management is no longer needed:\r\n this.disableOpenIDSessionManagement();\r\n }\r\n // Actually discard the authorization data:\r\n this.storage.removeItem('AUTH');\r\n // Notify the interested parties:\r\n this.emit(SGWTConnectEventList_1.EVENT_AUTH_DISCARDED);\r\n return this;\r\n };\r\n /**\r\n * Initiates a silent renewal of the token\r\n * with additional options that are not available\r\n * in the public API.\r\n */\r\n SGWTConnectCore.prototype.requestAuthorizationWithoutPrompt = function (_a, callback) {\r\n var _this = this;\r\n var id_token_hint = _a.id_token_hint;\r\n // Cross-Site Request Forgery (CSRF) protection:\r\n var state = (0, SGWTConnectAuthorizationUri_1.generateCryptoStrongRandomValue)();\r\n // Generate the complete authorization endpoint URL\r\n // where id_token_hint is used to validate session\r\n // after receiving a \"changed\" event from OpenID\r\n // Session Management frame:\r\n var authorizationEndpoint = id_token_hint\r\n ? (0, SGWTConnectAuthorizationUri_1.generateAuthorizationUri)(this.config, state, { prompt: 'none', id_token_hint: id_token_hint })\r\n : (0, SGWTConnectAuthorizationUri_1.generateAuthorizationUri)(this.config, state, { prompt: 'none' });\r\n // Because OAuth2 protocol insists on providing access_token\r\n // in the fragment, we're unable to use XMLHttpRequest as it\r\n // transparently follows all redirects and the fragment is lost.\r\n // To solve this issue we use an iframe which gives us access\r\n // to window.location containing the access_token in its fragment.\r\n var iframe = document.createElement('iframe');\r\n // When both of these flags are set to true, then it is safe\r\n // to remove the iframe from the DOM\r\n // 1. we must not remove the iframe before it emits the \"load\"\r\n // event because in flight resources may get canceled causing\r\n // some browsers to remove them even from the top-level window\r\n // 2. we must wait for the message from iframe because it may\r\n // be emitted after(!) \"load\" event; removing the iframe from\r\n // the DOM will cancel the message in flight\r\n var isIframeLoaded = false;\r\n var isMessageReceivedFromIframe = false;\r\n // Iframe timeout in case it does not message or does not load:\r\n var iframeTimeoutTimer = undefined;\r\n // The redirect_uri may point to another domain preventing\r\n // the iframe from accessing the storage to set the token,\r\n // so it will message the top-level window using cross-origin\r\n // messaging protocol with window.postMessage. This function\r\n // securely handles the received message:\r\n var iframeMessageHandler = function (event) {\r\n // Make sure that the event comes from the renewal iframe:\r\n if (event.source !== iframe.contentWindow) {\r\n return;\r\n }\r\n // Make sure that the event comes from redirect_uri page:\r\n if (!(0, isSameOrigin_1.isSameOrigin)(event.origin, _this.config.redirect_uri)) {\r\n return;\r\n }\r\n // Third party scripts use the same API to send messages,\r\n // so make sure we're dealing with our own event:\r\n if (!event.data || typeof event.data !== 'object') {\r\n return;\r\n }\r\n if (event.data.type !== 'SGWTConnectFragment') {\r\n return;\r\n }\r\n // All event validity checks have passed; we consider\r\n // the event as genuine and can flag it as received\r\n // so that the \"load\" event handler knows about it:\r\n isMessageReceivedFromIframe = true;\r\n // We expect a single message, so the listener is no longer needed:\r\n window.removeEventListener('message', iframeMessageHandler);\r\n // We have received a message from the iframe,\r\n // the timeout no longer makes sense:\r\n window.clearTimeout(iframeTimeoutTimer);\r\n // We can remove the iframe if it has already loaded:\r\n if (isIframeLoaded) {\r\n document.body.removeChild(iframe);\r\n }\r\n // Extract the authorization server response from the message:\r\n var authorization = (0, SGWTConnectServerResponse_1.normalizeAuthServerResponse)((0, SGWTConnectServerResponse_1.parseOAuth2Fragment)(event.data.fragment));\r\n // Cross-Site Request Forgery (CSRF) protection:\r\n if (authorization.state !== state) {\r\n var error = new SGWTConnectError_1.SGWTConnectError(SGWTConnectErrorList_1.ERR_STATE_MISMATCH);\r\n _this.emit(SGWTConnectEventList_1.EVENT_AUTH_RENEW_ERROR, error);\r\n if (callback) {\r\n callback(error);\r\n }\r\n return;\r\n }\r\n // Notify the subscribers about renewal completion:\r\n var errorCode = authorization.error;\r\n if (errorCode) {\r\n // Notify the API consumer about the authorization failure:\r\n var error = new SGWTConnectError_1.SGWTConnectError(errorCode);\r\n _this.emit(SGWTConnectEventList_1.EVENT_AUTH_RENEW_ERROR, error);\r\n if (callback) {\r\n callback(error);\r\n }\r\n }\r\n else {\r\n // Persist the authorization server response prior to emitting\r\n // events and calling the completion callback so that the token\r\n // is available to the completion event handlers:\r\n _this.storage.setItem('AUTH', authorization);\r\n // The authorization data has been updated, which means that\r\n // the expiration time has changed, so we need to restart\r\n // the expiration timer:\r\n _this.restartTokenExpirationTimer();\r\n // Although rare, the authorization state might be initiated\r\n // by calling renewAuthorization instead of requestAuthorization;\r\n // in this case we need to enable OpenID Session Management\r\n // on \"renewal\" success:\r\n _this.enableOpenIDSessionManagement();\r\n // Notify the API consumer about the authorization success:\r\n _this.emit(SGWTConnectEventList_1.EVENT_AUTH_RENEW_SUCCESS);\r\n if (callback) {\r\n callback(null);\r\n }\r\n }\r\n };\r\n // Securely handles the \"load\" event of the renewal iframe\r\n // by removing event listeners and the iframe itself;\r\n // also emits an error event in case no message was\r\n // received from the iframe before \"load\" event:\r\n var iframeLoadHandler = function (event) {\r\n // Make sure the event is genuine:\r\n if (!event.isTrusted) {\r\n return;\r\n }\r\n // We consider this event as genuine and can flag it as received\r\n // so that the iframe message event handler knows about it:\r\n isIframeLoaded = true;\r\n // The \"load\" event can only happen once, so the listener\r\n // is no longer needed:\r\n iframe.removeEventListener('load', iframeLoadHandler);\r\n // We can remove the iframe from the DOM if we have already\r\n // received the message from it:\r\n if (isMessageReceivedFromIframe) {\r\n document.body.removeChild(iframe);\r\n }\r\n };\r\n // Expecting the iframe to send us a message\r\n // from the redirect_uri page using cross-origin\r\n // messaging protocol with window.postMessage:\r\n window.addEventListener('message', iframeMessageHandler);\r\n // We need to listen to the \"load\" event because\r\n // we expect the iframe to load completely\r\n // before removing it from the DOM, otherwise\r\n // canceled resource requests may destroy already\r\n // loaded resources from the top-level window:\r\n iframe.addEventListener('load', iframeLoadHandler);\r\n // The iframe may never load or fail to send the message due to\r\n // changes in network, server failure, or some other error,\r\n // but we still need to emit+callback, so we use a timeout:\r\n iframeTimeoutTimer = window.setTimeout(function () {\r\n window.clearTimeout(iframeTimeoutTimer);\r\n // Cleanup event listeners:\r\n iframe.removeEventListener('load', iframeLoadHandler);\r\n window.removeEventListener('message', iframeMessageHandler);\r\n // Cleanup the DOM:\r\n document.body.removeChild(iframe);\r\n // Notify the API consumer about the renewal failure:\r\n var error = new SGWTConnectError_1.SGWTConnectError(SGWTConnectErrorList_1.ERR_RENEW_TIMEOUT);\r\n _this.emit(SGWTConnectEventList_1.EVENT_AUTH_RENEW_ERROR, error);\r\n if (callback) {\r\n callback(error);\r\n }\r\n }, this.periodicalRenewalTimeout);\r\n // Provide a way for setupSGWTConnect factory to figure out\r\n // whether the redirect is part of silent renewal or not:\r\n iframe.setAttribute(exports.SGWTConnectRenewalFrameAttribute, '');\r\n iframe.style.display = 'none';\r\n iframe.setAttribute('src', authorizationEndpoint);\r\n this.appendElementToDocumentWhenLoaded(iframe);\r\n return this;\r\n };\r\n /**\r\n * Ensures that DOM is loaded and appends the element to document body.\r\n * @param element Element to append to document body.\r\n */\r\n SGWTConnectCore.prototype.appendElementToDocumentWhenLoaded = function (element) {\r\n if (document.body) {\r\n document.body.appendChild(element);\r\n }\r\n else {\r\n var appendElementAndRemoveListener_1 = function () {\r\n window.removeEventListener('DOMContentLoaded', appendElementAndRemoveListener_1);\r\n document.body.appendChild(element);\r\n };\r\n window.addEventListener('DOMContentLoaded', appendElementAndRemoveListener_1);\r\n }\r\n };\r\n /**\r\n * Determines whether the given scope has been requested.\r\n *\r\n * this.hasRequestedScope('profile openid');\r\n */\r\n SGWTConnectCore.prototype.hasRequestedScope = function (checkedScope) {\r\n return (0, isScopeListed_1.isScopeListed)(checkedScope, this.config.scope);\r\n };\r\n /**\r\n * Resets the periodical renewal backoff delay.\r\n */\r\n SGWTConnectCore.prototype.resetRenewalBackoff = function () {\r\n this.periodicalRenewalBackoff = 1000;\r\n return this;\r\n };\r\n /**\r\n * Increments the periodical renewal backoff delay.\r\n *\r\n * Used to reduce authorization server load when periodical\r\n * renewals fail for some reason.\r\n */\r\n SGWTConnectCore.prototype.incrementRenewalBackoff = function () {\r\n this.periodicalRenewalBackoff *= 2;\r\n return this;\r\n };\r\n /**\r\n * Clears the token expiration timer.\r\n */\r\n SGWTConnectCore.prototype.clearTokenExpirationTimer = function () {\r\n if (typeof this.tokenExpirationTimer === 'number') {\r\n window.clearTimeout(this.tokenExpirationTimer);\r\n this.tokenExpirationTimer = null;\r\n }\r\n return this;\r\n };\r\n /**\r\n * Clears the existing token expiration timer and starts a new one.\r\n */\r\n SGWTConnectCore.prototype.restartTokenExpirationTimer = function () {\r\n var _this = this;\r\n // Ensure that there is only one timer at all times:\r\n this.clearTokenExpirationTimer();\r\n // Assuming that the client is currently authorized:\r\n var authorization = this.storage.getItem('AUTH');\r\n var timeUntilTokenExpiration = authorization.expires_at - Date.now();\r\n this.tokenExpirationTimer = window.setTimeout(function () {\r\n _this.emit(SGWTConnectEventList_1.EVENT_AUTH_EXPIRED);\r\n }, timeUntilTokenExpiration);\r\n return this;\r\n };\r\n /**\r\n * Obtains the timeout (in ms) until token renewal.\r\n */\r\n SGWTConnectCore.prototype.getRenewalTimeout = function () {\r\n var authorization = this.storage.getItem('AUTH');\r\n // Temporary workaround for the authorization endpoint issue,\r\n // revert to `- authorization.expires_in / 4` when possible:\r\n var renewalTime = authorization.expires_at - authorization.expires_in * 0.6;\r\n var renewalTimePositive = Math.max(renewalTime - Date.now(), 0);\r\n // The timeout should never be bigger than 2147483647, since setTimeout uses\r\n // a 32 bits number (cf. https://stackoverflow.com/a/3468650/26457)\r\n // When the token has an extremely long TTL such as 100 days, this timeout should\r\n // not exceed this 2147483647 value.\r\n return Math.min(renewalTimePositive, 2147483647);\r\n };\r\n /**\r\n * Renews the authorization token resiliently.\r\n *\r\n * When doing periodical renewal we must be resilient\r\n * on authorization failures and never abort the timer.\r\n * Even in case of an error we restart the timer,\r\n * but with an incrementally increasing interval\r\n * to avoid network saturation.\r\n */\r\n SGWTConnectCore.prototype.renewResiliently = function () {\r\n var _this = this;\r\n return this.renewAuthorization(function (error) {\r\n if (error) {\r\n _this.periodicalRenewalTimer = window.setTimeout(function () {\r\n _this.renewResiliently();\r\n }, _this.periodicalRenewalBackoff);\r\n _this.incrementRenewalBackoff();\r\n }\r\n else {\r\n _this.resetRenewalBackoff();\r\n }\r\n });\r\n };\r\n /**\r\n * Restarts an existing renewal timer.\r\n */\r\n SGWTConnectCore.prototype.restartRenewalTimer = function () {\r\n var _this = this;\r\n // Do not attempt to restart a non-existing timer:\r\n if (this.periodicalRenewalTimer === null) {\r\n return this;\r\n }\r\n // Every time the renewal is restarted we should reset\r\n // the renewal backoff delay:\r\n this.resetRenewalBackoff();\r\n // Cancel the current renewal timeout:\r\n window.clearTimeout(this.periodicalRenewalTimer);\r\n // Restart the renewal timer:\r\n this.periodicalRenewalTimer = window.setTimeout(function () {\r\n return _this.renewResiliently();\r\n }, this.getRenewalTimeout());\r\n return this;\r\n };\r\n /**\r\n * Enables OpenID session management if not previously enabled.\r\n */\r\n SGWTConnectCore.prototype.enableOpenIDSessionManagement = function () {\r\n var _this = this;\r\n // Make sure that the session management has not already been enabled:\r\n if (this.openIDCheckSessionIframe && this.openIDCheckSessionIframe.parentNode) {\r\n return this;\r\n }\r\n // Make sure that OpenID has actually been configured:\r\n if (!this.openIDMetadata || !this.hasRequestedScope('openid')) {\r\n return this;\r\n }\r\n // Enabling session management only makes sense\r\n // if the authorization has already been granted:\r\n if (!this.isAuthorized()) {\r\n return this;\r\n }\r\n // To check OpenID session we will be polling an iframe\r\n // loaded from check_session_iframe as recommended by\r\n // https://openid.net/specs/openid-connect-session-1_0.html#ChangeNotification\r\n this.openIDCheckSessionIframe = document.createElement('iframe');\r\n this.openIDCheckSessionIframe.style.display = 'none';\r\n this.openIDCheckSessionIframe.setAttribute(exports.SGWTConnectCheckSesssionFrameAttribute, '');\r\n // Expecting the iframe to send us a message using\r\n // messaging protocol with window.postMessage:\r\n window.addEventListener('message', this.handleOpenIDCheckSessionMessage.bind(this));\r\n // Securely handles the \"load\" event of the OpenID check_session_iframe:\r\n var checkSessionIframeLoadHandler = function (event) {\r\n // Make sure the event is genuine:\r\n if (!event.isTrusted) {\r\n return;\r\n }\r\n // Make sure that the iframe still exists:\r\n if (!_this.openIDCheckSessionIframe) {\r\n return;\r\n }\r\n // The \"load\" event can only happen once,\r\n // so the listener is no longer needed:\r\n _this.openIDCheckSessionIframe.removeEventListener('load', checkSessionIframeLoadHandler);\r\n // Start polling:\r\n _this.restartOpenIDSessionValidationTimer();\r\n };\r\n this.openIDCheckSessionIframe.addEventListener('load', checkSessionIframeLoadHandler);\r\n this.openIDCheckSessionIframe.setAttribute('src', this.openIDMetadata.check_session_iframe);\r\n this.appendElementToDocumentWhenLoaded(this.openIDCheckSessionIframe);\r\n return this;\r\n };\r\n /**\r\n * Disables OpenID session management.\r\n */\r\n SGWTConnectCore.prototype.disableOpenIDSessionManagement = function () {\r\n // Stop listening to messages:\r\n window.removeEventListener('message', this.handleOpenIDCheckSessionMessage);\r\n // Stop polling the check_session_iframe:\r\n if (typeof this.openIDCheckSessionTimerId === 'number') {\r\n window.clearTimeout(this.openIDCheckSessionTimerId);\r\n this.openIDCheckSessionTimerId = undefined;\r\n }\r\n // Remove the iframe:\r\n if (this.openIDCheckSessionIframe) {\r\n document.body.removeChild(this.openIDCheckSessionIframe);\r\n this.openIDCheckSessionIframe = undefined;\r\n }\r\n return this;\r\n };\r\n /**\r\n * Restarts OpenID session validation timer.\r\n */\r\n SGWTConnectCore.prototype.restartOpenIDSessionValidationTimer = function () {\r\n // There should be only one OpenID session validation timer:\r\n window.clearTimeout(this.openIDCheckSessionTimerId);\r\n // Schedule a new timer:\r\n this.openIDCheckSessionTimerId = window.setTimeout(this.validateOpenIDSession.bind(this), this.openIDCheckSessionTimerInterval);\r\n };\r\n /**\r\n * Validates the existing OpenID session.\r\n */\r\n SGWTConnectCore.prototype.validateOpenIDSession = function () {\r\n var _this = this;\r\n if (this.isAuthorized()) {\r\n // The current authorization state retrieved from the storage\r\n // indicates that the session is valid, however it might be\r\n // terminated already at the authorization server.\r\n // To validate the session, we need to send a message\r\n // to the check_session iframe, but before that we make sure\r\n // that we have metadata and that the check_session iframe\r\n // still exists in the DOM.\r\n if (!this.openIDMetadata) {\r\n return;\r\n }\r\n if (this.openIDCheckSessionIframe && this.openIDCheckSessionIframe.contentWindow) {\r\n var authorization = this.storage.getItem('AUTH');\r\n this.openIDCheckSessionIframe.contentWindow.postMessage(\"\".concat(this.config.client_id, \" \").concat(authorization.session_state), this.openIDMetadata.check_session_iframe);\r\n this.restartOpenIDSessionValidationTimer();\r\n }\r\n else {\r\n // In case the check_session iframe no longer exists,\r\n // we try to recreate it be re-enabling session management:\r\n this.enableOpenIDSessionManagement();\r\n }\r\n }\r\n else {\r\n // In case the authorization state is lost (storage cleared)\r\n // we attempt a silent authorization renewal. If the session\r\n // is still valid on the authorization server, the renewal\r\n // should succeed and we just restart the timer; otherwise\r\n // we treat it as loss of authorization and act accordingly.\r\n this.renewAuthorization(function (error) {\r\n if (error) {\r\n _this.discardAuthorizationLocally();\r\n }\r\n else {\r\n _this.restartOpenIDSessionValidationTimer();\r\n }\r\n });\r\n }\r\n };\r\n /**\r\n * Securely handles events from check_session_iframe.\r\n * @param event MessageEvent\r\n */\r\n SGWTConnectCore.prototype.handleOpenIDCheckSessionMessage = function (event) {\r\n var _this = this;\r\n // Sanity checks:\r\n if (!this.openIDCheckSessionIframe || !this.openIDMetadata) {\r\n return;\r\n }\r\n // Make sure that the event comes from the check_session_iframe:\r\n if (event.source !== this.openIDCheckSessionIframe.contentWindow) {\r\n return;\r\n }\r\n if (!(0, isSameOrigin_1.isSameOrigin)(event.origin, this.openIDMetadata.check_session_iframe)) {\r\n return;\r\n }\r\n // Expecting event.data to be either \"unchanged\", \"changed\", or \"error\".\r\n // See https://openid.net/specs/openid-connect-session-1_0.html#RPiframe\r\n if (event.data === 'unchanged') {\r\n // Session has not changed, so we only notify\r\n // (mostly for logging and testing purposes):\r\n this.emit(SGWTConnectEventList_1.EVENT_OPENID_SESSION_UNCHANGED);\r\n }\r\n else if (event.data === 'changed') {\r\n this.emit(SGWTConnectEventList_1.EVENT_OPENID_SESSION_CHANGED);\r\n // Perform re-authentication with prompt=none\r\n // sending the old id_token as id_token_hint:\r\n var prevIdToken = this.getIdToken();\r\n var prevIdTokenClaims_1 = this.getIdTokenClaims();\r\n this.requestAuthorizationWithoutPrompt({ id_token_hint: prevIdToken }, function (error) {\r\n if (!error) {\r\n // If we receive a new ID Token for the same user\r\n // then we simply update the values\r\n var nextIdTokenClaims = _this.getIdTokenClaims();\r\n if (nextIdTokenClaims && prevIdTokenClaims_1 && nextIdTokenClaims.sub === prevIdTokenClaims_1.sub) {\r\n return;\r\n }\r\n }\r\n // In other cases, such as error response,\r\n // or absence of ID Token, or it was delivered\r\n // for another user, we discard authorization:\r\n _this.discardAuthorizationLocally();\r\n });\r\n }\r\n else if (event.data === 'error') {\r\n // In case of communication error with check_session_iframe\r\n // we notify the user and wait for fallback to periodical\r\n // renewal to check the session validity:\r\n this.emit(SGWTConnectEventList_1.EVENT_OPENID_CHECK_SESSION_ERROR, new SGWTConnectError_1.SGWTConnectError(SGWTConnectErrorList_1.ERR_OPENID_CHECK_SESSION_ERROR));\r\n }\r\n };\r\n return SGWTConnectCore;\r\n}(events_1.EventEmitter));\r\nexports.SGWTConnectCore = SGWTConnectCore;\r\n//# sourceMappingURL=SGWTConnectCore.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.hash = void 0;\r\n/**\r\n * Generates a lossy hash of an object.\r\n *\r\n * Typed implementation of MD5 in JavaScript by Joseph's Myers.\r\n * This function is not intended to be crypto-secure.\r\n * @see http://www.myersdaily.org/joseph/javascript/md5-text.html\r\n */\r\nfunction hash(obj) {\r\n return hex(md51(\r\n // Keys are sorted to ensure that ordering of keys\r\n // does not affect the hashing result:\r\n Object.keys(obj)\r\n .sort()\r\n .filter(function (key) { return obj[key] !== null && obj[key] !== undefined; })\r\n .reduce(function (acc, key) { return acc + key + ':' + obj[key] + '|'; }, '|')));\r\n}\r\nexports.hash = hash;\r\nvar hexChr = '0123456789abcdef'.split('');\r\nfunction rhex(n) {\r\n var s = '';\r\n for (var i = 0; i < 4; i += 1) {\r\n s += hexChr[(n >> (i * 8 + 4)) & 0x0f] + hexChr[(n >> (i * 8)) & 0x0f];\r\n }\r\n return s;\r\n}\r\nfunction hex(x) {\r\n var h = '';\r\n for (var _i = 0, x_1 = x; _i < x_1.length; _i++) {\r\n var n = x_1[_i];\r\n h += rhex(n);\r\n }\r\n return h;\r\n}\r\nfunction md5cycle(x, k) {\r\n var a = x[0];\r\n var b = x[1];\r\n var c = x[2];\r\n var d = x[3];\r\n a = ff(a, b, c, d, k[0], 7, -680876936);\r\n d = ff(d, a, b, c, k[1], 12, -389564586);\r\n c = ff(c, d, a, b, k[2], 17, 606105819);\r\n b = ff(b, c, d, a, k[3], 22, -1044525330);\r\n a = ff(a, b, c, d, k[4], 7, -176418897);\r\n d = ff(d, a, b, c, k[5], 12, 1200080426);\r\n c = ff(c, d, a, b, k[6], 17, -1473231341);\r\n b = ff(b, c, d, a, k[7], 22, -45705983);\r\n a = ff(a, b, c, d, k[8], 7, 1770035416);\r\n d = ff(d, a, b, c, k[9], 12, -1958414417);\r\n c = ff(c, d, a, b, k[10], 17, -42063);\r\n b = ff(b, c, d, a, k[11], 22, -1990404162);\r\n a = ff(a, b, c, d, k[12], 7, 1804603682);\r\n d = ff(d, a, b, c, k[13], 12, -40341101);\r\n c = ff(c, d, a, b, k[14], 17, -1502002290);\r\n b = ff(b, c, d, a, k[15], 22, 1236535329);\r\n a = gg(a, b, c, d, k[1], 5, -165796510);\r\n d = gg(d, a, b, c, k[6], 9, -1069501632);\r\n c = gg(c, d, a, b, k[11], 14, 643717713);\r\n b = gg(b, c, d, a, k[0], 20, -373897302);\r\n a = gg(a, b, c, d, k[5], 5, -701558691);\r\n d = gg(d, a, b, c, k[10], 9, 38016083);\r\n c = gg(c, d, a, b, k[15], 14, -660478335);\r\n b = gg(b, c, d, a, k[4], 20, -405537848);\r\n a = gg(a, b, c, d, k[9], 5, 568446438);\r\n d = gg(d, a, b, c, k[14], 9, -1019803690);\r\n c = gg(c, d, a, b, k[3], 14, -187363961);\r\n b = gg(b, c, d, a, k[8], 20, 1163531501);\r\n a = gg(a, b, c, d, k[13], 5, -1444681467);\r\n d = gg(d, a, b, c, k[2], 9, -51403784);\r\n c = gg(c, d, a, b, k[7], 14, 1735328473);\r\n b = gg(b, c, d, a, k[12], 20, -1926607734);\r\n a = hh(a, b, c, d, k[5], 4, -378558);\r\n d = hh(d, a, b, c, k[8], 11, -2022574463);\r\n c = hh(c, d, a, b, k[11], 16, 1839030562);\r\n b = hh(b, c, d, a, k[14], 23, -35309556);\r\n a = hh(a, b, c, d, k[1], 4, -1530992060);\r\n d = hh(d, a, b, c, k[4], 11, 1272893353);\r\n c = hh(c, d, a, b, k[7], 16, -155497632);\r\n b = hh(b, c, d, a, k[10], 23, -1094730640);\r\n a = hh(a, b, c, d, k[13], 4, 681279174);\r\n d = hh(d, a, b, c, k[0], 11, -358537222);\r\n c = hh(c, d, a, b, k[3], 16, -722521979);\r\n b = hh(b, c, d, a, k[6], 23, 76029189);\r\n a = hh(a, b, c, d, k[9], 4, -640364487);\r\n d = hh(d, a, b, c, k[12], 11, -421815835);\r\n c = hh(c, d, a, b, k[15], 16, 530742520);\r\n b = hh(b, c, d, a, k[2], 23, -995338651);\r\n a = ii(a, b, c, d, k[0], 6, -198630844);\r\n d = ii(d, a, b, c, k[7], 10, 1126891415);\r\n c = ii(c, d, a, b, k[14], 15, -1416354905);\r\n b = ii(b, c, d, a, k[5], 21, -57434055);\r\n a = ii(a, b, c, d, k[12], 6, 1700485571);\r\n d = ii(d, a, b, c, k[3], 10, -1894986606);\r\n c = ii(c, d, a, b, k[10], 15, -1051523);\r\n b = ii(b, c, d, a, k[1], 21, -2054922799);\r\n a = ii(a, b, c, d, k[8], 6, 1873313359);\r\n d = ii(d, a, b, c, k[15], 10, -30611744);\r\n c = ii(c, d, a, b, k[6], 15, -1560198380);\r\n b = ii(b, c, d, a, k[13], 21, 1309151649);\r\n a = ii(a, b, c, d, k[4], 6, -145523070);\r\n d = ii(d, a, b, c, k[11], 10, -1120210379);\r\n c = ii(c, d, a, b, k[2], 15, 718787259);\r\n b = ii(b, c, d, a, k[9], 21, -343485551);\r\n x[0] = add32(a, x[0]);\r\n x[1] = add32(b, x[1]);\r\n x[2] = add32(c, x[2]);\r\n x[3] = add32(d, x[3]);\r\n}\r\nfunction cmn(q, a, b, x, s, t) {\r\n a = add32(add32(a, q), add32(x, t));\r\n return add32((a << s) | (a >>> (32 - s)), b);\r\n}\r\nfunction add32(a, b) {\r\n return (a + b) & 0xffffffff;\r\n}\r\nfunction ff(a, b, c, d, x, s, t) {\r\n return cmn((b & c) | (~b & d), a, b, x, s, t);\r\n}\r\nfunction gg(a, b, c, d, x, s, t) {\r\n return cmn((b & d) | (c & ~d), a, b, x, s, t);\r\n}\r\nfunction hh(a, b, c, d, x, s, t) {\r\n return cmn(b ^ c ^ d, a, b, x, s, t);\r\n}\r\nfunction ii(a, b, c, d, x, s, t) {\r\n return cmn(c ^ (b | ~d), a, b, x, s, t);\r\n}\r\nfunction md51(s) {\r\n var n = s.length;\r\n var state = [1732584193, -271733879, -1732584194, 271733878];\r\n var tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\r\n var i;\r\n for (i = 64; i <= s.length; i += 64) {\r\n md5cycle(state, md5blk(s.substring(i - 64, i)));\r\n }\r\n s = s.substring(i - 64);\r\n for (i = 0; i < s.length; i += 1) {\r\n tail[i >> 2] |= s.charCodeAt(i) << (i % 4 << 3);\r\n }\r\n tail[i >> 2] |= 0x80 << (i % 4 << 3);\r\n if (i > 55) {\r\n md5cycle(state, tail);\r\n for (i = 0; i < 16; i += 1) {\r\n tail[i] = 0;\r\n }\r\n }\r\n tail[14] = n * 8;\r\n md5cycle(state, tail);\r\n return state;\r\n}\r\nfunction md5blk(s) {\r\n var md5blks = [];\r\n for (var i = 0; i < 64; i += 4) {\r\n md5blks[i >> 2] =\r\n s.charCodeAt(i) + (s.charCodeAt(i + 1) << 8) + (s.charCodeAt(i + 2) << 16) + (s.charCodeAt(i + 3) << 24);\r\n }\r\n return md5blks;\r\n}\r\n//# sourceMappingURL=SGWTConnectHash.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n//# sourceMappingURL=SGWTConnectIdTokenClaims.js.map","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.SGWTConnectNoop = void 0;\r\nvar SGWTConnectCore_1 = require(\"./SGWTConnectCore\");\r\n/**\r\n * Alternative implementation of SGWTConnectCore.\r\n *\r\n * This class should only be instantiated and used\r\n * when the user is on redirect_uri or in an iframe.\r\n * See explanation in setupSGWTConnect.ts\r\n */\r\nvar SGWTConnectNoop = /** @class */ (function (_super) {\r\n __extends(SGWTConnectNoop, _super);\r\n function SGWTConnectNoop() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n /**\r\n * Noop.\r\n */\r\n SGWTConnectNoop.prototype.requestAuthorization = function () {\r\n return this;\r\n };\r\n /**\r\n * Noop.\r\n */\r\n SGWTConnectNoop.prototype.discardAuthorization = function () {\r\n return this;\r\n };\r\n /**\r\n * Noop.\r\n */\r\n SGWTConnectNoop.prototype.renewAuthorization = function () {\r\n return this;\r\n };\r\n /**\r\n * Noop.\r\n */\r\n SGWTConnectNoop.prototype.isAuthorized = function () {\r\n return false;\r\n };\r\n /**\r\n * Noop.\r\n */\r\n SGWTConnectNoop.prototype.getAuthorizationError = function () {\r\n return null;\r\n };\r\n /**\r\n * Noop.\r\n */\r\n SGWTConnectNoop.prototype.getAuthorizationHeader = function () {\r\n return null;\r\n };\r\n /**\r\n * Noop.\r\n */\r\n SGWTConnectNoop.prototype.getGrantedScope = function () {\r\n return null;\r\n };\r\n /**\r\n * Noop.\r\n */\r\n SGWTConnectNoop.prototype.hasGrantedScope = function () {\r\n return false;\r\n };\r\n /**\r\n * Noop.\r\n */\r\n SGWTConnectNoop.prototype.getIdToken = function () {\r\n return null;\r\n };\r\n /**\r\n * Noop.\r\n */\r\n SGWTConnectNoop.prototype.getIdTokenClaims = function () {\r\n return null;\r\n };\r\n /**\r\n * Noop.\r\n */\r\n SGWTConnectNoop.prototype.enablePeriodicalRenewal = function () {\r\n return this;\r\n };\r\n /**\r\n * Noop.\r\n */\r\n SGWTConnectNoop.prototype.disablePeriodicalRenewal = function () {\r\n return this;\r\n };\r\n return SGWTConnectNoop;\r\n}(SGWTConnectCore_1.SGWTConnectCore));\r\nexports.SGWTConnectNoop = SGWTConnectNoop;\r\n//# sourceMappingURL=SGWTConnectNoop.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.createOpenIDMetadataFetcher = void 0;\r\nvar isObject_1 = require(\"./isObject\");\r\nvar SGWTConnectError_1 = require(\"./SGWTConnectError\");\r\nvar SGWTConnectErrorList_1 = require(\"./SGWTConnectErrorList\");\r\n/**\r\n * Generates a function that upon invocation asynchronously\r\n * fetches OpenID Metadata from the OpenID Provider.\r\n * @param authorization_endpoint OpenID Provider's endpoint URL.\r\n */\r\nfunction createOpenIDMetadataFetcher(authorization_endpoint) {\r\n return function fetchOpenIDMetadata(callback) {\r\n var xhr = new XMLHttpRequest();\r\n xhr.open('GET', \"\".concat(authorization_endpoint, \"/oauth2/.well-known/openid-configuration\"));\r\n xhr.setRequestHeader('Accept', 'application/json');\r\n xhr.addEventListener('load', function onOpenIDMetadataLoad() {\r\n if (xhr.status === 200) {\r\n var openIDMetadata = void 0;\r\n try {\r\n openIDMetadata = JSON.parse(xhr.responseText);\r\n }\r\n catch (_a) {\r\n callback(new SGWTConnectError_1.SGWTConnectError(SGWTConnectErrorList_1.ERR_FAILED_TO_PARSE_OPENID_METADATA));\r\n return;\r\n }\r\n if (isValidOpenIDMetadata(openIDMetadata)) {\r\n callback(openIDMetadata);\r\n }\r\n else {\r\n callback(new SGWTConnectError_1.SGWTConnectError(SGWTConnectErrorList_1.ERR_FAILED_TO_VALIDATE_OPENID_METADATA));\r\n }\r\n }\r\n else {\r\n callback(new SGWTConnectError_1.SGWTConnectError(SGWTConnectErrorList_1.ERR_FAILED_TO_FETCH_OPENID_METADATA));\r\n }\r\n });\r\n xhr.send();\r\n };\r\n}\r\nexports.createOpenIDMetadataFetcher = createOpenIDMetadataFetcher;\r\n/**\r\n * Determines whether the given OpenID Configuration is valid.\r\n * @param openIDMetadata JSON-parsed value obtained from the Discovery API.\r\n */\r\nfunction isValidOpenIDMetadata(openIDMetadata) {\r\n return ((0, isObject_1.isObject)(openIDMetadata) &&\r\n typeof openIDMetadata.check_session_iframe === 'string' &&\r\n typeof openIDMetadata.end_session_endpoint === 'string');\r\n}\r\n//# sourceMappingURL=SGWTConnectOpenIDMetadata.js.map","\"use strict\";\r\nvar __assign = (this && this.__assign) || function () {\r\n __assign = Object.assign || function(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.setupSGWTConnect = void 0;\r\nvar isScopeListed_1 = require(\"./isScopeListed\");\r\nvar SGWTConnectConfiguration_1 = require(\"./SGWTConnectConfiguration\");\r\nvar SGWTConnectCore_1 = require(\"./SGWTConnectCore\");\r\nvar SGWTConnectErrorList_1 = require(\"./SGWTConnectErrorList\");\r\nvar SGWTConnectHash_1 = require(\"./SGWTConnectHash\");\r\nvar SGWTConnectNoop_1 = require(\"./SGWTConnectNoop\");\r\nvar SGWTConnectOpenIDMetadata_1 = require(\"./SGWTConnectOpenIDMetadata\");\r\nvar SGWTConnectRedirectUri_1 = require(\"./SGWTConnectRedirectUri\");\r\nvar SGWTConnectServerResponse_1 = require(\"./SGWTConnectServerResponse\");\r\nvar SGWTConnectStorage_1 = require(\"./SGWTConnectStorage\");\r\nfunction hashConfigForConnectStorageKey(config) {\r\n // The key storage - if not overriden by `storage_key` configuration - is generated with\r\n // the configuration given to setupSGWTConnect() function. To avoid any issue with newer\r\n // versions (the widget may use another version than the library embedded in the application)\r\n // we limit the properties considered to generate the hash.\r\n // In others terms, we do not include new configuration options (introduced after version 0.10.0)\r\n // for the hash generation.\r\n // Note: properties with `undefined` values will be removed in the `hash` function.\r\n var limitedConfig = {\r\n acr_values: config.acr_values,\r\n authorization_endpoint: config.authorization_endpoint,\r\n client_id: config.client_id,\r\n redirect_uri: config.redirect_uri,\r\n response_type: config.response_type,\r\n scope: config.scope,\r\n post_logout_redirect_uri: config.post_logout_redirect_uri,\r\n };\r\n return (0, SGWTConnectHash_1.hash)(limitedConfig);\r\n}\r\n/**\r\n * SGWTConnect instance factory.\r\n *\r\n * Determines the execution environment (top-level window or iframe),\r\n * instantiates the relevant SGWTConnect class with the given configuration,\r\n * and handles authorization redirects in the top-level window.\r\n */\r\nfunction setupSGWTConnect(userConfig) {\r\n var defaultUserConfig = __assign(__assign({}, userConfig), { with_nonce: typeof userConfig.with_nonce === 'undefined' ? true : userConfig.with_nonce });\r\n var config = (0, SGWTConnectConfiguration_1.normalizeConfiguration)(defaultUserConfig, location);\r\n // Ensure that the stored token and other data have been obtained\r\n // using the current configuration options (note that we're not\r\n // using JSON.stringify here because it will generate different\r\n // results for identical configurations with different ordering\r\n // of keys in them):\r\n var storage = new SGWTConnectStorage_1.SGWTConnectStorage(userConfig.storage_key ? userConfig.storage_key : hashConfigForConnectStorageKey(config));\r\n // Check if we're currently on the redirect_uri page:\r\n if ((0, SGWTConnectRedirectUri_1.isOnRedirectUri)(config, location)) {\r\n // Check if we are currently in a silent renewal iframe:\r\n if (window.frameElement && window.frameElement.hasAttribute(SGWTConnectCore_1.SGWTConnectRenewalFrameAttribute)) {\r\n // We only message the top-level window if the iframe's URI\r\n // matches the redirect URI exactly (without the fragment):\r\n window.parent.postMessage({\r\n type: 'SGWTConnectFragment',\r\n fragment: location.hash,\r\n }, config.redirect_uri);\r\n // Because we are currently on the redirect_uri page, we must not\r\n // return the fully-functional API as this may result in undesired\r\n // behavior and infinite reload, but we still need to return a\r\n // compliant API to prevent JS runtime errors on the page, so we\r\n // return a dummy API where most methods are noop:\r\n return new SGWTConnectNoop_1.SGWTConnectNoop(config, storage);\r\n }\r\n // We are currently doing a hard redirect.\r\n // Extract the authorization server response from the current URL fragment:\r\n var authorization = (0, SGWTConnectServerResponse_1.normalizeAuthServerResponse)((0, SGWTConnectServerResponse_1.parseOAuth2Fragment)(window.location.hash));\r\n var stateInResponse = authorization.state;\r\n // Cross-Site Request Forgery (CSRF) protection:\r\n var stateInStore = storage.getItem(\"\".concat(stateInResponse, \".STATE\"));\r\n if (stateInResponse === stateInStore) {\r\n // Persist the authorization server response prior to emitting\r\n // events and calling the completion callback so that the token\r\n // is available to the completion event handlers (note that\r\n // the server response might be a failed one):\r\n storage.setItem('AUTH', authorization);\r\n }\r\n else if (stateInStore) {\r\n // The \"state\" parameter failed to match; it may be dangerous\r\n // to keep the received server response, so we replace it\r\n // with a custom \"state_mismatch\" error response:\r\n var authError = {\r\n error: SGWTConnectErrorList_1.ERR_STATE_MISMATCH,\r\n };\r\n storage.setItem('AUTH', authError);\r\n }\r\n // We are currently on the \"redirect_uri\", but the user most\r\n // probably initiated the authorization process from another\r\n // URI, so we need to redirect them back there (or to home\r\n // page if RETURN_URL has been cleared):\r\n var returnUrl = storage.getItem(\"\".concat(stateInResponse, \".RETURN_URL\")) || \"\".concat(window.location.protocol, \"//\").concat(window.location.host);\r\n // location.replace doesn't reload the page if only the fragment\r\n // has changed, so we need the following workaround to force\r\n // the page reload, but also to set the fragment of the returnUrl:\r\n if (returnUrl.indexOf('#') !== -1 && location.href.split('#')[0] === returnUrl.split('#')[0]) {\r\n window.location.hash = returnUrl.split('#')[1];\r\n window.location.reload();\r\n }\r\n else {\r\n window.location.replace(returnUrl);\r\n }\r\n // Because we are currently on the redirect_uri page, we must not\r\n // return the fully-functional API as this may result in undesired\r\n // behavior and infinite reload, but we still need to return a\r\n // compliant API to prevent JS runtime errors on the page, so we\r\n // return a dummy API where most methods are noop:\r\n return new SGWTConnectNoop_1.SGWTConnectNoop(config, storage);\r\n }\r\n // We are NOT on the redirect_uri page, do we have authorization?:\r\n var auth = storage.getItem('AUTH');\r\n // Clean up the storage of values needed during redirects:\r\n if (auth) {\r\n storage.removeItem(\"\".concat(auth.state, \".STATE\"));\r\n storage.removeItem(\"\".concat(auth.state, \".RETURN_URL\"));\r\n }\r\n // Clean up the storage of the expired tokens:\r\n storage.clearBy(function (value, key) {\r\n return key.indexOf('AUTH') !== -1 && value.expires_at < Date.now();\r\n });\r\n // At this point we know that this code is running in the top-level window,\r\n // (not in iframe) so we can instantiate a fully-functional API:\r\n var sgwtConnect = (0, isScopeListed_1.isScopeListed)('openid', config.scope)\r\n ? new SGWTConnectCore_1.SGWTConnectCore(config, storage, (0, SGWTConnectOpenIDMetadata_1.createOpenIDMetadataFetcher)(config.authorization_endpoint))\r\n : new SGWTConnectCore_1.SGWTConnectCore(config, storage);\r\n // Checking if the authorization has been explicitly granted:\r\n if (sgwtConnect.isAuthorized()) {\r\n // The user-friendly behavior is to have periodical renewal enabled by default:\r\n return sgwtConnect.enablePeriodicalRenewal();\r\n }\r\n // Checking if the authorization has been explicitly denied:\r\n if (auth && auth.error) {\r\n if (auth.markedForDeletion) {\r\n storage.removeItem('AUTH');\r\n }\r\n else {\r\n auth.markedForDeletion = true;\r\n storage.setItem('AUTH', auth);\r\n }\r\n }\r\n return sgwtConnect;\r\n}\r\nexports.setupSGWTConnect = setupSGWTConnect;\r\n//# sourceMappingURL=setupSGWTConnect.js.map","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n * @module SGWTConnectCore\r\n * @description\r\n * Entry point for all public APIs and interfaces of the @sgwt/connect-core package.\r\n */\r\n__exportStar(require(\"./src/SGWTConnectErrorList\"), exports);\r\n__exportStar(require(\"./src/SGWTConnectError\"), exports);\r\n__exportStar(require(\"./src/SGWTConnectEventList\"), exports);\r\n__exportStar(require(\"./src/SGWTConnectConfiguration\"), exports);\r\n__exportStar(require(\"./src/SGWTConnectStorage\"), exports);\r\n__exportStar(require(\"./src/SGWTConnectCore\"), exports);\r\n__exportStar(require(\"./src/SGWTConnectHash\"), exports);\r\n__exportStar(require(\"./src/SGWTConnectIdTokenClaims\"), exports);\r\n__exportStar(require(\"./src/SGWTConnectOpenIDUserInfo\"), exports);\r\n__exportStar(require(\"./src/setupSGWTConnect\"), exports);\r\n//# sourceMappingURL=index.js.map","import { setupSGWTConnect } from '@sgwt/connect-core';\nimport { getConfig } from '@/config/config';\n\nexport const sgwtConnect = setupSGWTConnect(getConfig().sgconnect);\n","import { createRoot } from 'react-dom/client';\nimport { StrictMode } from 'react';\n\nimport { App } from './components/App';\nimport { SgwtConnectHTMLElement } from './types/sgwt-widgets';\nimport { SGWTConnectCore, SGWTConnectError } from '@sgwt/connect-core';\nimport { sgwtConnect } from '@/widgets/sgwtConnect';\n\nsetupSgwtConnectWidget(sgwtConnect);\n\nif (sgwtConnect.isAuthorized()) {\n renderApp();\n} else {\n const authorizationError = sgwtConnect.getAuthorizationError();\n if (authorizationError !== null) {\n renderError(authorizationError);\n } else {\n sgwtConnect.requestAuthorization();\n }\n}\n\nfunction renderApp() {\n const rootElement = document.getElementById('root')!;\n const root = createRoot(rootElement);\n root.render(\n \n \n ,\n );\n}\n\nfunction renderError(authorizationError: SGWTConnectError) {\n document.body.innerHTML = `\n `;\n}\n\nfunction setupSgwtConnectWidget(sgwtConnect: SGWTConnectCore) {\n const widget = document.querySelector('sgwt-connect');\n if (widget) {\n // When the code is executed, the swgtConnectWidget may not have been initialized. So, we need to check that, otherwise calling\n // `swgtConnectWidget.setSgwtConnectInstance()` will throw an error.\n if (typeof widget.setSgwtConnectInstance === 'undefined') {\n // Widget is not initialized yet, so we will wait the event that indicates the swgtConnectWidget is ready...\n const handleSgwtConnectReady = () => {\n widget.setSgwtConnectInstance(sgwtConnect);\n widget.removeEventListener('sgwt-connect--ready', handleSgwtConnectReady);\n };\n\n widget.addEventListener('sgwt-connect--ready', handleSgwtConnectReady);\n } else {\n // Widget is initialized...\n widget.setSgwtConnectInstance(sgwtConnect);\n }\n }\n}\n"],"names":["themeKey","sgbsVersion","cdnUrl","variableSgbsUrls","theme","initSgBootstrap","updateThemeUrls","getTheme","appendUniqueLinkToDocument","id","url","setTheme","saveToLocalStorage","savedTheme","getFromLocalStorage","linkElement","newLinkElement","l","n","p","q","r","t","u","v","w","x","y","z","A","a","B","C","D","E","b","e","F","G","H","I","J","K","L","M","d","c","k","h","g","f","m","N","O","escape","P","Q","R","S","T","U","V","W","react_production_min","module","require$$0","reactJsxRuntime_production_min","exports","aa","ca","require$$1","da","ea","fa","ha","ia","ja","ka","la","ma","oa","pa","qa","ra","sa","ta","ua","va","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","Pa","Qa","Ra","Sa","Ta","Ua","Va","Wa","Xa","Ya","Za","ab","bb","cb","db","eb","fb","gb","hb","ib","jb","kb","lb","mb","nb","ob","pb","qb","rb","sb","tb","ub","vb","wb","xb","yb","zb","Ab","Bb","Cb","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","Rb","Sb","Tb","Ub","Vb","Wb","Xb","Yb","Zb","$b","ac","bc","cc","dc","ec","fc","gc","hc","ic","jc","kc","lc","mc","oc","nc","pc","qc","rc","sc","tc","uc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","Tc","Uc","Vc","Wc","Xc","Yc","Zc","$c","ad","bd","cd","dd","ed","fd","gd","hd","jd","kd","ld","md","nd","od","pd","qd","rd","sd","td","ud","vd","wd","xd","yd","Ad","zd","Bd","Cd","Dd","Ed","Fd","Gd","Hd","Id","Jd","Kd","Ld","Md","Nd","Od","Pd","Qd","Rd","Sd","Td","Ud","Vd","Wd","Xd","Yd","Zd","$d","ae","be","ce","de","ee","fe","ge","he","ie","je","ke","le","me","ne","oe","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","Ae","Be","Ce","De","Ee","Fe","Ge","He","Ie","Je","Ke","Le","Me","Ne","Oe","Pe","Qe","Re","Se","Te","Ue","Ve","We","Xe","Ye","Ze","$e","af","bf","cf","df","ef","ff","gf","hf","jf","kf","lf","mf","nf","of","pf","qf","rf","sf","tf","uf","vf","wf","na","xa","$a","ba","xf","yf","zf","Af","Bf","Cf","Df","Ef","Ff","Gf","Hf","Jf","If","Kf","Lf","Mf","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","Zf","$f","ag","bg","cg","dg","eg","fg","gg","hg","ig","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","zg","Ag","Bg","Cg","Dg","Eg","Fg","Gg","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Pg","Qg","Rg","Sg","Tg","Ug","Vg","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","eh","fh","gh","hh","ih","jh","kh","nh","lh","mh","oh","ph","qh","rh","sh","th","uh","vh","wh","xh","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","Oh","Ph","Qh","Rh","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","di","ei","fi","gi","hi","ii","ji","ki","li","mi","ni","oi","pi","qi","ri","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","Ki","Li","Mi","Ni","Oi","Pi","Qi","Ri","Si","Ti","Ui","Vi","Wi","Xi","Yi","Zi","$i","aj","bj","cj","dj","ej","fj","gj","hj","ij","jj","kj","lj","mj","nj","oj","pj","qj","rj","sj","tj","uj","vj","wj","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","Kj","Lj","Mj","Nj","Oj","Pj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","Xj","X","Yj","Zj","ak","bk","ck","dk","ek","fk","gk","hk","ik","jk","kk","lk","mk","nk","ok","pk","Y","Z","qk","rk","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","Qk","Rk","Sk","Tk","Uk","Vk","Wk","Xk","Yk","Zk","$k","al","bl","cl","dl","el","fl","gl","hl","il","jl","kl","ll","ml","nl","ol","pl","ql","rl","sl","tl","ul","vl","wl","reactDom_production_min","checkDCE","err","createRoot","BUS_TOPIC_GLOBALLANGUAGE","BUS_TOPIC_SGCONNECT_USERCONNECTION","getWidgetBus","widgetConfiguration","getUserConnection","bus","getConfig","HelpCenter","jsx","MiniFooter","Footer","extendStatics","__extends","__","__assign","s","i","__rest","__spreadArray","to","from","pack","ar","reactIs_production_min","reactIs","FORWARD_REF_STATICS","MEMO_STATICS","TYPE_STATICS","invariant","condition","message","Err","ErrorKind","TYPE","SKELETON_TYPE","isLiteralElement","isArgumentElement","isNumberElement","isDateElement","isTimeElement","isSelectElement","isPluralElement","isPoundElement","isTagElement","isNumberSkeleton","isDateTimeSkeleton","SPACE_SEPARATOR_REGEX","DATE_TIME_REGEX","parseDateTimeSkeleton","skeleton","result","match","len","WHITE_SPACE_REGEX","parseNumberSkeletonFromString","stringTokens","tokens","_i","stringTokens_1","stringToken","stemAndOptions","stem","options","_a","options_1","option","icuUnitToEcma","unit","FRACTION_PRECISION_REGEX","SIGNIFICANT_PRECISION_REGEX","INTEGER_WIDTH_REGEX","CONCISE_INTEGER_WIDTH_REGEX","parseSignificantPrecision","str","_","g1","g2","parseSign","parseConciseScientificAndEngineeringStem","signDisplay","parseNotationOptions","opt","signOpts","parseNumberSkeleton","tokens_1","token","all","g3","g4","g5","conciseScientificAndEngineeringOpts","timeData","getBestPattern","locale","skeletonCopy","patternPos","patternChar","extraLength","hourLen","dayPeriodLen","dayPeriodChar","hourChar","getDefaultHourSymbolFromLocale","hourCycle","languageTag","regionTag","hourCycles","SPACE_SEPARATOR_START_REGEX","SPACE_SEPARATOR_END_REGEX","createLocation","start","end","hasNativeStartsWith","hasNativeFromCodePoint","hasNativeFromEntries","hasNativeCodePointAt","hasTrimStart","hasTrimEnd","hasNativeIsSafeInteger","isSafeInteger","REGEX_SUPPORTS_U_AND_Y","RE","startsWith","search","position","fromCodePoint","codePoints","elements","length","code","fromEntries","entries","obj","entries_1","codePointAt","index","size","first","second","trimStart","trimEnd","flag","matchIdentifierAtIndex","IDENTIFIER_PREFIX_RE_1","_isWhiteSpace","_isPatternSyntax","Parser","nestingLevel","parentArgType","expectingCloseTag","char","_isAlpha","startPosition","tagName","childrenResult","children","endTagStartPosition","closingTagNameStartPosition","closingTagName","startOffset","_isPotentialElementNameChar","value","parseQuoteResult","parseUnquotedResult","parseLeftAngleResult","location","_isAlphaOrSlash","openingBracePosition","startingPosition","endOffset","endPosition","typeStartPosition","argType","typeEndPosition","styleAndLocation","styleStartPosition","style","styleLocation","argCloseResult","location_1","dateTimePattern","type","typeEndPosition_1","identifierAndLocation","pluralOffset","optionsResult","location_2","nestedBraces","apostrophePosition","expectCloseTag","parsedFirstIdentifier","hasOtherClause","parsedSelectors","selector","selectorLocation","fragmentResult","expectNumberError","invalidNumberError","sign","hasDigits","decimal","offset","kind","prefix","pattern","currentOffset","targetOffset","nextCode","codepoint","pruneLocation","els","parse","opts","error","memoize","fn","cache","cacheDefault","serializer","serializerDefault","strategy","strategyDefault","isPrimitive","monadic","arg","cacheKey","computedValue","variadic","args","assemble","context","serialize","strategyVariadic","strategyMonadic","ObjectWithoutPrototypeCache","key","strategies","ErrorCode","FormatError","_super","msg","originalMessage","_this","InvalidValueError","variableId","InvalidValueTypeError","MissingValueError","PART_TYPE","mergeLiteral","parts","part","lastPart","isFormatXMLElementFn","formatToParts","locales","formatters","formats","values","currentPluralValue","els_1","varName","value_1","formatFn","chunks","rule","mergeConfig","c1","c2","mergeConfigs","defaultConfig","configs","createFastMemoizeCache","store","createDefaultFormatters","IntlMessageFormat","overrideFormats","parseOpts","supportedLocales","IntlErrorCode","IntlError","exception","UnsupportedFormatterError","InvalidConfigError","MissingDataError","IntlFormatError","MessageFormatError","descriptor","MissingTranslationError","filterProps","props","allowlist","defaults","filtered","name","defaultErrorHandler","defaultWarnHandler","warning","DEFAULT_INTL_CONFIG","createIntlCache","createFormatters","RelativeTimeFormat","ListFormat","DisplayNames","getDateTimeFormat","getNumberFormat","getPluralRules","getNamedFormat","onError","formatType","format","setTimeZoneInOptions","timeZone","deepMergeOptions","opts1","opts2","keys","deepMergeFormatsAndSetTimeZone","f1","mfFormats","formatMessage","state","messageDescriptor","messages","defaultLocale","defaultFormats","fallbackOnEmptyString","defaultRichTextElements","msgId","defaultMessage","formatter","DATE_TIME_FORMAT_OPTIONS","getFormatter","filteredOptions","formatDate","config","_b","date","formatTime","formatDateTimeRange","formatDateToParts","formatTimeToParts","DISPLAY_NAMES_OPTONS","formatDisplayName","getDisplayNames","LIST_FORMAT_OPTIONS","now","generateToken","formatList","getListFormat","results","formatListToParts","val","richValues_1","serializedValues","PLURAL_FORMAT_OPTIONS","formatPlural","RELATIVE_TIME_FORMAT_OPTIONS","getRelativeTimeFormat","formatRelativeTime","NUMBER_FORMAT_OPTIONS","formatNumber","formatNumberToParts","messagesContainString","firstMessage","verifyConfigMessages","createIntl","resolvedConfig","invariantIntlContext","intl","CORE_DEFAULT_INTL_CONFIG","React.Fragment","assignUniqueKeysToParts","formatXMLElementFn","React.Children","shallowEqual","objA","objB","aKeys","bKeys","IntlContext","React.createContext","IntlProvider","Provider","Context","useIntl","React.useContext","DisplayName","DisplayNameParts","createFormattedDateTimePartsComponent","ComponentParts","formatProps","formattedParts","createFormattedComponent","Component","formattedValue","Text","React.createElement","processIntlConfig","assignUniqueKeysToFormatXMLElementFnArgument","acc","rawValues","rest","coreFormatMessage","rawDefaultRichTextElements","coreIntl","coreCreateIntl","prevConfig","React.PureComponent","ReactIntlProvider","areEqual","prevProps","nextProps","otherProps","nextValues","nextOtherProps","FormattedMessage","description","ignoreTag","nodes","MemoizedFormattedMessage","React.memo","FormattedMessage$1","AccountCenter","Switcher","handleChange","useCallback","event","jsxs","Header","ThemeSwitcher","currentTheme","setCurrentTheme","useState","changeTheme","checked","en","fr","setLocale","useEffect","languageSubscription","lang","Fragment","App","SGWTConnectErrorList","this","SGWTConnectError_1","ErrorList","SGWTConnectError","errorListKey","SGWTConnectEventList","SGWTConnectAuthorizationUri","generateCryptoStrongRandomValue","crypto","randomValues","base36RandomValue","normalizeAuthorizationEndpoint","authorization_endpoint","generateAuthorizationUri","isScopeListed_1","isScopeListed","checkedScope","actualScope","checkedScopeList","actualScopeList","scope","normalizeUrl_1","normalizeUrl","SGWTConnectServerResponse","parseQueryParametersString","queryParametersString","queryParametersRegex","queryParameters","keyValuePair","parseOAuth2Fragment","fragment","normalizeAuthServerResponse","authServerResponse","authError","expiresIn","authSuccess","SGWTConnectRedirectUri","SGWTConnectServerResponse_1","require$$2","generateRedirectUri","redirectUri","origin","isOnRedirectUri","authEndpointResponse","hasRequestedAccessToken","hasRequestedIdToken","hasReceivedAccessToken","hasReceivedIdToken","hasReceivedError","currentUri","SGWTConnectConfiguration","SGWTConnectAuthorizationUri_1","SGWTConnectRedirectUri_1","normalizeConfiguration","SGWTConnectStorage_1","SGWTConnectStorage","hash","item","satisfiesCondition","parsedValue","ReflectApply","target","receiver","ReflectOwnKeys","ProcessEmitWarning","NumberIsNaN","EventEmitter","events","defaultMaxListeners","$getMaxListeners","that","doError","er","handler","listeners","arrayClone","_addListener","listener","prepend","existing","onceWrapper","_onceWrap","wrapped","list","originalListener","spliceOne","_listeners","unwrap","evlistener","unwrapListeners","emitter","listenerCount","arr","copy","ret","isSameOrigin_1","isSameOrigin","urlA","urlB","protocolA","hostA","protocolB","hostB","isObject_1","isObject","SGWTConnectOpenIDUserInfo","SGWTConnectErrorList_1","fetchOpenIDUserInfo","authorizationEndpoint","authorizationHeader","callback","xhr","openIDUserInfo","isValidOpenIDClaims","events_1","require$$3","require$$4","require$$5","SGWTConnectEventList_1","require$$6","SGWTConnectOpenIDUserInfo_1","require$$7","require$$8","SGWTConnectCore","storage","fetchOpenIDMetadata","maybeOpenIDMetadata","id_token_hint","post_logout_redirect_uri","end_session_endpoint","endSessionURL_1","authorization","grantedScope","idToken","idTokenParts","idTokenBody","iframe","isIframeLoaded","isMessageReceivedFromIframe","iframeTimeoutTimer","iframeMessageHandler","errorCode","iframeLoadHandler","element","appendElementAndRemoveListener_1","timeUntilTokenExpiration","renewalTime","renewalTimePositive","checkSessionIframeLoadHandler","prevIdToken","prevIdTokenClaims_1","nextIdTokenClaims","SGWTConnectHash","hex","md51","hexChr","rhex","x_1","md5cycle","add32","cmn","tail","md5blk","md5blks","SGWTConnectIdTokenClaims","SGWTConnectNoop_1","SGWTConnectCore_1","SGWTConnectNoop","SGWTConnectOpenIDMetadata","createOpenIDMetadataFetcher","openIDMetadata","isValidOpenIDMetadata","setupSGWTConnect_1","SGWTConnectConfiguration_1","SGWTConnectHash_1","SGWTConnectOpenIDMetadata_1","require$$9","hashConfigForConnectStorageKey","limitedConfig","setupSGWTConnect","userConfig","defaultUserConfig","stateInResponse","stateInStore","returnUrl","auth","sgwtConnect","__createBinding","o","k2","desc","__exportStar","setupSgwtConnectWidget","renderApp","authorizationError","renderError","rootElement","StrictMode","widget","handleSgwtConnectReady"],"mappings":"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CD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,GACH,EACD,MAAO,CACH,IACA,GACH,EACD,GAAM,CACF,IACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,IACH,EACD,QAAS,CACL,IACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,IACH,EACD,QAAS,CACL,IACA,IACA,IACH,EACD,QAAS,CACL,IACA,IACA,IACH,EACD,QAAS,CACL,IACA,IACA,IACH,EACD,QAAS,CACL,IACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,QAAS,CACL,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,QAAS,CACL,IACA,IACA,KACA,IACH,EACD,QAAS,CACL,IACA,IACA,KACA,IACH,EACD,QAAS,CACL,IACA,IACA,KACA,IACH,EACD,QAAS,CACL,IACA,IACA,KACA,IACH,EACD,QAAS,CACL,IACA,IACA,KACA,IACH,EACD,QAAS,CACL,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,GACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,SAAU,CACN,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,SAAU,CACN,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,QAAS,CACL,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,KACA,GACH,EACD,GAAM,CACF,KACA,GACH,EACD,QAAS,CACL,KACA,IACA,GACH,EACD,QAAS,CACL,KACA,IACA,GACH,EACD,QAAS,CACL,KACA,IACA,GACH,EACD,QAAS,CACL,KACA,IACA,GACH,EACD,GAAM,CA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AK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACrBA,IAAM,OACNA,IAAM,OACLA,GAAK,OAAUA,GAAK,OACrBA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACLA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACrBA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACLA,GAAK,OAAUA,GAAK,OACrBA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACLA,GAAK,OAAUA,GAAK,OACrBA,IAAM,OACNA,IAAM,OACLA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACrBA,IAAM,OACLA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACrBA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACLA,GAAK,OAAUA,GAAK,OACrBA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACLA,GAAK,OAAUA,GAAK,OACrBA,IAAM,OACLA,GAAK,OAAUA,GAAK,OACrBA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACLA,GAAK,OAAUA,GAAK,OACrBA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAA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","x_google_ignoreList":[2,3,4,5,6,7,8,9,10,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77]}