@launchdarkly/akamai-server-base-sdk 0.2.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -9,6 +9,20 @@ All notable changes to the LaunchDarkly SDK for Akamai Workers will be documente
9
9
  * @launchdarkly/akamai-edgeworker-sdk-common bumped from ^0.1.0 to ^0.1.1
10
10
  * @launchdarkly/js-server-sdk-common bumped from ^1.0.2 to ^1.0.3
11
11
 
12
+ ## [0.3.0](https://github.com/launchdarkly/js-core/compare/akamai-server-base-sdk-v0.2.1...akamai-server-base-sdk-v0.3.0) (2023-06-09)
13
+
14
+
15
+ ### Features
16
+
17
+ * Release beta version of Akamai SDKs ([#155](https://github.com/launchdarkly/js-core/issues/155)) ([aa8158c](https://github.com/launchdarkly/js-core/commit/aa8158cbf16a9abf681438341b52dc1f640c5c40))
18
+
19
+
20
+ ### Dependencies
21
+
22
+ * The following workspace dependencies were updated
23
+ * dependencies
24
+ * @launchdarkly/akamai-edgeworker-sdk-common bumped from ^0.1.1 to ^0.2.0
25
+
12
26
  ## [0.2.0](https://github.com/launchdarkly/js-core/compare/akamai-server-base-sdk-v0.1.0...akamai-server-base-sdk-v0.2.0) (2023-06-06)
13
27
 
14
28
 
package/README.md CHANGED
@@ -6,6 +6,8 @@
6
6
  [![NPM][sdk-akamai-base-dm-badge]][sdk-akamai-base-npm-link]
7
7
  [![NPM][sdk-akamai-base-dt-badge]][sdk-akamai-base-npm-link]
8
8
 
9
+ > This library is a beta version and should not be considered ready for production use while this message is visible.
10
+
9
11
  The LaunchDarkly Akamai SDK is designed primarily for use in Akamai Edgeworkers. It follows the server-side LaunchDarkly model for multi-user contexts. It is not intended for use in desktop and embedded systems applications.
10
12
 
11
13
  For more information, see the [complete reference guide for this SDK](https://docs.launchdarkly.com/sdk/edge/akamai).
@@ -30,5 +30,5 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
30
30
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
31
31
  PERFORMANCE OF THIS SOFTWARE.
32
32
  ***************************************************************************** */
33
- function(e,t){var r={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(r[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(i=Object.getOwnPropertySymbols(e);n<i.length;n++)t.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(e,i[n])&&(r[i[n]]=e[i[n]])}return r}(t,["featureStore","logger","sendEvents"]);if(!e)throw new Error("You must configure the client with a client key");if(!r||"object"!=typeof r||!r.get)throw new Error("You must configure the client with a feature store");if(!i)throw new Error("You must configure the client with a logger");if("{}"!==JSON.stringify(s))throw new Error(`Invalid configuration: ${Object.keys(s).toString()} not supported`)})(e.sdkKey,c);const d=((e,t,r)=>new yu(e,t,r))(a,o,l);return new Qo(r,new gu(d),c)};var Eu={},_u={},wu={},Ou={};function Su(e){return e.indexOf("~")?e.replace(/~1/g,"/").replace(/~0/g,"~"):e}Object.defineProperty(Ou,"__esModule",{value:!0});class xu{constructor(e,t=!1){if(t){const t=e;this.components=[t],this.isValid=""!==t,this.redactionName=t.startsWith("/")?`/${t.replace(/~/g,"~0").replace(/\//g,"~1")}`:t}else{if(this.redactionName=e,""===e||"/"===e||e.match(/\/\/|(^\/.*~[^0|^1])|~$/))return this.isValid=!1,void(this.components=[]);!function(e){return!e.startsWith("/")}(e)?e.indexOf("/",1)<0?this.components=[Su(e.slice(1))]:this.components=function(e){return(e.startsWith("/")?e.substring(1):e).split("/").map((e=>Su(e)))}(e):this.components=[e],"_meta"===this.components[0]?this.isValid=!1:this.isValid=!0}}get(e){const{components:t,isValid:r}=this;if(!r)return;let i=e;for(let e=0;e<t.length;e+=1){const r=t[e];if(null==i||!Object.prototype.hasOwnProperty.call(i,r)||"object"!=typeof i||Array.isArray(i))return;i=i[r]}return i}getComponent(e){return this.components[e]}get depth(){return this.components.length}get isKind(){return 1===this.components.length&&"kind"===this.components[0]}compare(e){return this.depth===e.depth&&this.components.every(((t,r)=>t===e.getComponent(r)))}}xu.invalidReference=new xu(""),Ou.default=xu;var Pu={},ku={};Object.defineProperty(ku,"__esModule",{value:!0}),ku.TypeValidators=ku.DateValidator=ku.Function=ku.StringMatchingRegex=ku.NumberWithMinimum=ku.TypeArray=ku.Type=ku.FactoryOrInstance=void 0;class Iu{is(e){if(Array.isArray(e))return!1;const t=typeof e;return"function"===t||"object"===t}getType(){return"factory method or object"}}ku.FactoryOrInstance=Iu;class Au{constructor(e,t){this.typeName=e,this.typeOf=typeof t}is(e){return!Array.isArray(e)&&typeof e===this.typeOf}getType(){return this.typeName}}ku.Type=Au;class Ru{constructor(e,t){this.typeName=e,this.typeOf=typeof t}is(e){return!!Array.isArray(e)&&(!(e.length>0)||e.every((e=>typeof e===this.typeOf)))}getType(){return this.typeName}}ku.TypeArray=Ru;class Mu extends Au{constructor(e){super(`number with minimum value of ${e}`,0),this.min=e}is(e){return typeof e===this.typeOf&&e>=this.min}}ku.NumberWithMinimum=Mu;class Tu extends Au{constructor(e){super(`string matching ${e}`,""),this.expression=e}is(e){return!!e.match(this.expression)}}ku.StringMatchingRegex=Tu;class Du{is(e){return"function"==typeof e}getType(){return"function"}}ku.Function=Du;const ju=/^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d(\.\d\d*)?(Z|[-+]\d\d(:\d\d)?)/;class $u{is(e){return"number"==typeof e||"string"==typeof e&&ju.test(e)}getType(){return"date"}}ku.DateValidator=$u;class Nu{static numberWithMin(e){return new Mu(e)}static stringMatchingRegex(e){return new Tu(e)}}ku.TypeValidators=Nu,Nu.String=new Au("string",""),Nu.Number=new Au("number",0),Nu.ObjectOrFactory=new Iu,Nu.Object=new Au("object",{}),Nu.StringArray=new Ru("string[]",""),Nu.Boolean=new Au("boolean",!0),Nu.Function=new Du,Nu.Date=new $u,Object.defineProperty(Pu,"__esModule",{value:!0});const Fu=Ou,Cu=ku,Lu=Cu.TypeValidators.stringMatchingRegex(/^(\w|\.|-)+$/),Bu="user";function Vu(e){return e.includes("%")||e.includes(":")?e.replace(/%/g,"%25").replace(/:/g,"%3A"):e}function Uu(e){return Lu.is(e)&&"kind"!==e}function zu(e){return Cu.TypeValidators.String.is(e)&&""!==e}function Ku(e,t=!1){return e?e.map((e=>new Fu.default(e,t))):[]}class Hu{constructor(e,t,r){this.isMulti=!1,this.isUser=!1,this.wasLegacy=!1,this.contexts={},this.kind=t,this.valid=e,this.message=r}static contextForError(e,t){return new Hu(!1,e,t)}static getValueFromContext(e,t){if(t&&e.isValid)return 1===e.depth&&"anonymous"===e.getComponent(0)?!!(null==t?void 0:t.anonymous):e.get(t)}contextForKind(e){return this.isMulti?this.contexts[e]:this.kind===e?this.context:void 0}static fromMultiKindContext(e){const t=Object.keys(e).filter((e=>"kind"!==e)),r=t.every(Uu);if(!t.length)return Hu.contextForError("multi","A multi-kind context must contain at least one kind");if(!r)return Hu.contextForError("multi","Context contains invalid kinds");const i={};let n=!0;const s=t.reduce(((t,r)=>{var s;const a=e[r];var o;return(o=a)&&Cu.TypeValidators.Object.is(o)?(t[r]=a,i[r]=Ku(null===(s=a._meta)||void 0===s?void 0:s.privateAttributes)):n=!1,t}),{});if(!n)return Hu.contextForError("multi","Context contained contexts that were not objects");if(!Object.values(s).every((e=>zu(e.key))))return Hu.contextForError("multi","Context contained invalid keys");if(1===t.length){const e=t[0],r=new Hu(!0,e);return r.context=s[e],r.privateAttributeReferences=i,r.isUser="user"===e,r}const a=new Hu(!0,e.kind);return a.contexts=s,a.privateAttributeReferences=i,a.isMulti=!0,a}static fromSingleKindContext(e){var t;const{key:r,kind:i}=e,n=Uu(i),s=zu(r);if(!n)return Hu.contextForError(null!=i?i:"unknown","The kind was not valid for the context");if(!s)return Hu.contextForError(i,"The key for the context was not valid");const a=Ku(null===(t=e._meta)||void 0===t?void 0:t.privateAttributes),o=new Hu(!0,i);return o.isUser="user"===i,o.context=e,o.privateAttributeReferences={[i]:a},o}static fromLegacyUser(e){if(!(void 0!==e.key&&null!==e.key))return Hu.contextForError("user","The key for the context was not valid");const t=new Hu(!0,"user");return t.isUser=!0,t.wasLegacy=!0,t.context=function(e){const t=Object.assign(Object.assign({},e.custom||[]),{kind:"user",key:String(e.key)});if(null!=e.anonymous){const r=!!e.anonymous;delete t.anonymous,t.anonymous=r}return null!==e.name&&void 0!==e.name&&(t.name=e.name),null!==e.ip&&void 0!==e.ip&&(t.ip=e.ip),null!==e.firstName&&void 0!==e.firstName&&(t.firstName=e.firstName),null!==e.lastName&&void 0!==e.lastName&&(t.lastName=e.lastName),null!==e.email&&void 0!==e.email&&(t.email=e.email),null!==e.avatar&&void 0!==e.avatar&&(t.avatar=e.avatar),null!==e.country&&void 0!==e.country&&(t.country=e.country),t}(e),t.privateAttributeReferences={user:Ku(e.privateAttributeNames,!0)},t}static fromLDContext(e){return e?function(e){return"kind"in e&&Cu.TypeValidators.String.is(e.kind)&&"multi"!==e.kind}(e)?Hu.fromSingleKindContext(e):function(e){return"kind"in e&&Cu.TypeValidators.String.is(e.kind)&&"multi"===e.kind}(e)?Hu.fromMultiKindContext(e):function(e){return!("kind"in e)||null===e.kind||void 0===e.kind}(e)?Hu.fromLegacyUser(e):Hu.contextForError("unknown","Context was not of a valid kind"):Hu.contextForError("unknown","No context specified. Returning default value")}valueForKind(e,t=Bu){return e.isKind?this.kinds:Hu.getValueFromContext(e,this.contextForKind(t))}key(e=Bu){var t;return null===(t=this.contextForKind(e))||void 0===t?void 0:t.key}get isMultiKind(){return this.isMulti}get canonicalKey(){return this.isUser?this.context.key:this.isMulti?Object.keys(this.contexts).sort().map((e=>`${e}:${Vu(this.contexts[e].key)}`)).join(":"):`${this.kind}:${Vu(this.context.key)}`}get kinds(){return this.isMulti?Object.keys(this.contexts):[this.kind]}get kindsAndKeys(){return this.isMulti?Object.entries(this.contexts).reduce(((e,[t,r])=>(e[t]=r.key,e)),{}):{[this.kind]:this.context.key}}privateAttributes(e){var t;return(null===(t=this.privateAttributeReferences)||void 0===t?void 0:t[e])||[]}getContexts(){return this.isMulti?Object.entries(this.contexts):[[this.kind,this.context]]}get legacy(){return this.wasLegacy}}Hu.userKind=Bu,Pu.default=Hu;var qu={};Object.defineProperty(qu,"__esModule",{value:!0});const Gu=Ou,Wu=["key","kind","_meta","anonymous"].map((e=>new Gu.default(e,!0))),Xu=["name","ip","firstName","lastName","email","avatar","country"];function Ju(e,t){return e.depth===t.length&&t.every(((t,r)=>t===e.getComponent(r)))}qu.default=class{constructor(e,t){this.allAttributesPrivate=e,this.privateAttributes=t}filter(e){const t=e.getContexts();if(1===t.length)return this.filterSingleKind(e,t[0][1],t[0][0]);const r={kind:"multi"};return t.forEach((([t,i])=>{r[t]=this.filterSingleKind(e,i,t)})),r}getAttributesToFilter(e,t,r){return(this.allAttributesPrivate?Object.keys(t).map((e=>new Gu.default(e,!0))):[...this.privateAttributes,...e.privateAttributes(r)]).filter((e=>!Wu.some((t=>t.compare(e)))))}filterSingleKind(e,t,r){const{cloned:i,excluded:n}=function(e,t){const r=[],i={},n=[];for(r.push(...Object.keys(e).map((t=>({key:t,ptr:[t],source:e,parent:i,visited:[e]}))));r.length;){const e=r.pop(),i=t.find((t=>Ju(t,e.ptr)));if(i)n.push(i.redactionName);else{const t=e.source[e.key];null===t?e.parent[e.key]=t:Array.isArray(t)?e.parent[e.key]=[...t]:"object"==typeof t?e.visited.includes(t)||(e.parent[e.key]={},r.push(...Object.keys(t).map((r=>({key:r,ptr:[...e.ptr,r],source:t,parent:e.parent[e.key],visited:[...e.visited,t]}))))):e.parent[e.key]=t}}return{cloned:i,excluded:n.sort()}}(t,this.getAttributesToFilter(e,t,r));return e.legacy&&Xu.forEach((e=>{e in i&&(i[e]=String(i[e]))})),n.length&&(i._meta||(i._meta={}),i._meta.redactedAttributes=n),i._meta&&(delete i._meta.privateAttributes,0===Object.keys(i._meta).length&&delete i._meta),i}};var Yu={},Zu={},Qu={};Object.defineProperty(Qu,"__esModule",{value:!0});var ec={};Object.defineProperty(ec,"__esModule",{value:!0});var tc={};Object.defineProperty(tc,"__esModule",{value:!0});var rc={};Object.defineProperty(rc,"__esModule",{value:!0});var ic={};Object.defineProperty(ic,"__esModule",{value:!0});var nc,sc,ac,oc={};Object.defineProperty(oc,"__esModule",{value:!0}),nc=Zu,sc=t&&t.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),ac=t&&t.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||sc(t,e,r)},Object.defineProperty(nc,"__esModule",{value:!0}),ac(Qu,nc),ac(ec,nc),ac(tc,nc),ac(rc,nc),ac(ic,nc),ac(oc,nc);var lc={},uc={};Object.defineProperty(uc,"__esModule",{value:!0});var cc={};Object.defineProperty(cc,"__esModule",{value:!0});var dc={};Object.defineProperty(dc,"__esModule",{value:!0}),function(e){var r=t&&t.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),i=t&&t.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(e,"__esModule",{value:!0}),i(uc,e),i(cc,e),i(dc,e)}(lc);var hc={},fc={};Object.defineProperty(fc,"__esModule",{value:!0});var vc={};Object.defineProperty(vc,"__esModule",{value:!0});var pc={};Object.defineProperty(pc,"__esModule",{value:!0});var gc={};Object.defineProperty(gc,"__esModule",{value:!0}),function(e){var r=t&&t.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),i=t&&t.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(e,"__esModule",{value:!0}),i(fc,e),i(vc,e),i(pc,e),i(gc,e)}(hc);var yc={};Object.defineProperty(yc,"__esModule",{value:!0});var mc={},bc={};Object.defineProperty(bc,"__esModule",{value:!0});var Ec={};Object.defineProperty(Ec,"__esModule",{value:!0});var _c={};Object.defineProperty(_c,"__esModule",{value:!0});var wc={};Object.defineProperty(wc,"__esModule",{value:!0});var Oc={};Object.defineProperty(Oc,"__esModule",{value:!0});var Sc={};Object.defineProperty(Sc,"__esModule",{value:!0}),function(e){var r=t&&t.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),i=t&&t.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(e,"__esModule",{value:!0}),i(bc,e),i(Ec,e),i(_c,e),i(wc,e),i(Oc,e),i(Sc,e)}(mc);var xc,Pc,kc={},Ic={};Object.defineProperty(Ic,"__esModule",{value:!0}),Ic.LDDeliveryStatus=Ic.LDEventType=void 0,function(e){e[e.AnalyticsEvents=0]="AnalyticsEvents",e[e.DiagnosticEvent=1]="DiagnosticEvent"}(xc||(Ic.LDEventType=xc={})),function(e){e[e.Succeeded=0]="Succeeded",e[e.Failed=1]="Failed",e[e.FailedAndMustShutDown=2]="FailedAndMustShutDown"}(Pc||(Ic.LDDeliveryStatus=Pc={})),function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.LDEventType=e.LDDeliveryStatus=void 0;const t=Ic;Object.defineProperty(e,"LDDeliveryStatus",{enumerable:!0,get:function(){return t.LDDeliveryStatus}}),Object.defineProperty(e,"LDEventType",{enumerable:!0,get:function(){return t.LDEventType}})}(kc),function(e){var r=t&&t.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),i=t&&t.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(e,"__esModule",{value:!0}),e.subsystem=void 0,i(Zu,e),i(lc,e),i(hc,e),i(yc,e),i(mc,e),e.subsystem=kc}(Yu);var Ac={},Rc={},Mc={};Object.defineProperty(Mc,"__esModule",{value:!0});const Tc=ku;function Dc(e){if("string"==typeof e)return e;if(void 0===e)return"undefined";if(null===e)return"null";if(Object.prototype.hasOwnProperty.call(e,"toString"))try{return e.toString()}catch(e){}if("bigint"==typeof e)return`${e}n`;try{return JSON.stringify(e)}catch(e){return e instanceof TypeError&&e.message.indexOf("circular")>=0?"[Circular]":"[Not Stringifiable]"}}const jc={s:e=>Dc(e),d:e=>function(e){return"symbol"==typeof e?"NaN":"bigint"==typeof e?`${e}n`:String(Number(e))}(e),i:e=>function(e){return"symbol"==typeof e?"NaN":"bigint"==typeof e?`${e}n`:String(parseInt(e,10))}(e),f:e=>function(e){return"symbol"==typeof e?"NaN":String(parseFloat(e))}(e),j:e=>Dc(e),o:e=>Dc(e),O:e=>Dc(e),c:()=>""};Mc.default=function(...e){var t;const r=e.shift();if(Tc.TypeValidators.String.is(r)){let i="",n=0;for(;n<r.length;){const s=r.charAt(n);if("%"===s){if(n+1<r.length){const s=r.charAt(n+1);if(s in jc&&e.length){const r=e.shift();i+=null===(t=jc[s])||void 0===t?void 0:t.call(jc,r)}else i+="%"===s?"%":`%${s}`;n+=2}}else i+=s,n+=1}return e.length&&(i.length&&(i+=" "),i+=e.map(Dc).join(" ")),i}return e.map(Dc).join(" ")},Object.defineProperty(Rc,"__esModule",{value:!0});const $c=Mc,Nc={debug:0,info:1,warn:2,error:3,none:4},Fc=["debug","info","warn","error","none"];class Cc{static get(){return new Cc({})}constructor(e){var t,r,i;this.logLevel=null!==(r=Nc[null!==(t=e.level)&&void 0!==t?t:"info"])&&void 0!==r?r:Nc.info,this.name=null!==(i=e.name)&&void 0!==i?i:"LaunchDarkly",this.destination=e.destination,this.formatter=e.formatter}tryFormat(...e){var t;try{return this.formatter?null===(t=this.formatter)||void 0===t?void 0:t.call(this,...e):(0,$c.default)(...e)}catch(t){return(0,$c.default)(...e)}}tryWrite(e){try{this.destination(e)}catch(t){console.error(e)}}log(e,t){if(e>=this.logLevel){const r=`${Fc[e]}: [${this.name}]`;try{this.destination?this.tryWrite(this.tryFormat(r,...t)):console.error(...t)}catch(e){console.error(...t)}}}error(...e){this.log(Nc.error,e)}warn(...e){this.log(Nc.warn,e)}info(...e){this.log(Nc.info,e)}debug(...e){this.log(Nc.debug,e)}}Rc.default=Cc;var Lc={};Object.defineProperty(Lc,"__esModule",{value:!0});const Bc=ku,Vc={error:Bc.TypeValidators.Function,warn:Bc.TypeValidators.Function,info:Bc.TypeValidators.Function,debug:Bc.TypeValidators.Function};Lc.default=class{constructor(e,t){Object.entries(Vc).forEach((([t,r])=>{if(!r.is(e[t]))throw new Error(`Provided logger instance must support logger.${t}(...) method`)})),this.logger=e,this.fallback=t}log(e,t){try{this.logger[e](...t)}catch(r){this.fallback[e](...t)}}error(...e){this.log("error",e)}warn(...e){this.log("warn",e)}info(...e){this.log("info",e)}debug(...e){this.log("debug",e)}},Object.defineProperty(Ac,"__esModule",{value:!0}),Ac.SafeLogger=Ac.BasicLogger=void 0;const Uc=Rc;Ac.BasicLogger=Uc.default;const zc=Lc;Ac.SafeLogger=zc.default;var Kc={},Hc={},qc={};Object.defineProperty(qc,"__esModule",{value:!0});qc.default=class{static deprecated(e,t){return`"${e}" is deprecated, please use "${t}"`}static optionBelowMinimum(e,t,r){return`Config option "${e}" had invalid value of ${t}, using minimum of ${r} instead`}static unknownOption(e){return`Ignoring unknown config option "${e}"`}static wrongOptionType(e,t,r){return`Config option "${e}" should be of type ${t}, got ${r}, using default value`}static wrongOptionTypeBoolean(e,t){return`Config option "${e}" should be a boolean, got ${t}, converting to boolean`}static invalidTagValue(e){return`Config option "${e}" must only contain letters, numbers, ., _ or -.`}static tagValueTooLong(e){return`Value of "${e}" was longer than 64 characters and was discarded.`}static partialEndpoint(e){return`You have set custom uris without specifying the ${e} URI; connections may not work properly`}},Object.defineProperty(Hc,"__esModule",{value:!0});const Gc=qc,Wc=ku.TypeValidators.stringMatchingRegex(/^(\w|\.|-)+$/),Xc=(e,t)=>Wc.is(e)?e.length>64?{valid:!1,message:Gc.default.tagValueTooLong(t)}:{valid:!0}:{valid:!1,message:Gc.default.invalidTagValue(t)};Hc.default=class{constructor(e){var t,r;const i={},n=null==e?void 0:e.application;if(null!==(null==n?void 0:n.id)&&void 0!==(null==n?void 0:n.id)){const{valid:r,message:s}=Xc(n.id,"application.id");r?i["application-id"]=[n.id]:null===(t=e.logger)||void 0===t||t.warn(s)}if(null!==(null==n?void 0:n.version)&&void 0!==(null==n?void 0:n.version)){const{valid:t,message:s}=Xc(n.version,"application.version");t?i["application-version"]=[n.version]:null===(r=e.logger)||void 0===r||r.warn(s)}const s=Object.keys(i);s.length&&(this.value=s.sort().flatMap((e=>i[e].sort().map((t=>`${e}/${t}`)))).join(" "))}};var Jc={};function Yc(e){return e.replace(/\/+$/,"")}Object.defineProperty(Jc,"__esModule",{value:!0});Jc.default=class{constructor(e,t,r){this.streaming=Yc(e),this.polling=Yc(t),this.events=Yc(r)}};var Zc={};Object.defineProperty(Zc,"__esModule",{value:!0});Zc.default=class{constructor(e,t,r){this.platform=r,this.basicConfiguration={logger:t.logger,offline:t.offline,sdkKey:e,serviceEndpoints:t.serviceEndpoints}}},Object.defineProperty(Kc,"__esModule",{value:!0}),Kc.ClientContext=Kc.ServiceEndpoints=Kc.OptionMessages=Kc.ApplicationTags=void 0;const Qc=Hc;Kc.ApplicationTags=Qc.default;const ed=qc;Kc.OptionMessages=ed.default;const td=Jc;Kc.ServiceEndpoints=td.default;const rd=Zc;Kc.ClientContext=rd.default;var id={},nd={};Object.defineProperty(nd,"__esModule",{value:!0}),nd.default=()=>{},Object.defineProperty(id,"__esModule",{value:!0}),id.noop=void 0;const sd=nd;id.noop=sd.default;var ad={},od={},ld={};Object.defineProperty(ld,"__esModule",{value:!0});ld.default=class{constructor(e,t,r,i){this.key=t,this.data=r,this.metricValue=i,this.kind="custom",this.creationDate=Date.now(),this.context=e}};var ud={};Object.defineProperty(ud,"__esModule",{value:!0});ud.default=class{constructor(e,t,r,i,n,s,a,o,l,u,c){var d;this.key=r,this.kind="feature",this.creationDate=Date.now(),this.context=t,this.default=i,this.variation=null!==(d=n.variationIndex)&&void 0!==d?d:void 0,this.value=n.value,void 0!==s&&(this.version=s),void 0!==a&&(this.variation=a),void 0!==o&&(this.trackEvents=o),void 0!==l&&(this.prereqOf=l),void 0!==u&&(this.reason=u),void 0!==c&&(this.debugEventsUntilDate=c)}};var cd={};Object.defineProperty(cd,"__esModule",{value:!0});cd.default=class{constructor(e){this.kind="identify",this.creationDate=Date.now(),this.context=e}};var dd={},hd={},fd={};Object.defineProperty(fd,"__esModule",{value:!0}),fd.isIdentify=fd.isCustom=fd.isFeature=void 0,fd.isFeature=function(e){return"feature"===e.kind},fd.isCustom=function(e){return"custom"===e.kind},fd.isIdentify=function(e){return"identify"===e.kind};var vd={};Object.defineProperty(vd,"__esModule",{value:!0});vd.default=class{constructor(e,t,r,i,n,s){this.count=e,this.key=t,this.value=r,this.version=n,this.variation=s,this.default=i}increment(){this.count+=1}},Object.defineProperty(hd,"__esModule",{value:!0});const pd=fd,gd=vd;hd.default=class{constructor(){this.startDate=0,this.endDate=0,this.counters={},this.contextKinds={}}summarizeEvent(e){if((0,pd.isFeature)(e)){const t=function(e){return`${e.key}:${null!==e.variation&&void 0!==e.variation?e.variation:""}:${null!==e.version&&void 0!==e.version?e.version:""}`}(e),r=this.counters[t];let i=this.contextKinds[e.key];i||(i=new Set,this.contextKinds[e.key]=i),e.context.kinds.forEach((e=>i.add(e))),r?r.increment():this.counters[t]=new gd.default(1,e.key,e.value,e.default,e.version,e.variation),(0===this.startDate||e.creationDate<this.startDate)&&(this.startDate=e.creationDate),e.creationDate>this.endDate&&(this.endDate=e.creationDate)}}getSummary(){const e=Object.values(this.counters).reduce(((e,t)=>{let r=e[t.key];r||(r={default:t.default,counters:[],contextKinds:[...this.contextKinds[t.key]]},e[t.key]=r);const i={value:t.value,count:t.count};return void 0!==t.variation&&null!==t.variation&&(i.variation=t.variation),void 0!==t.version&&null!==t.version?i.version=t.version:i.unknown=!0,r.counters.push(i),e}),{});return{startDate:this.startDate,endDate:this.endDate,features:e,kind:"summary"}}clearSummary(){this.startDate=0,this.endDate=0,this.counters={},this.contextKinds={}}};var yd={};Object.defineProperty(yd,"__esModule",{value:!0});class md extends Error{constructor(e){super(e),this.name="LaunchDarklyInvalidSDKKeyError"}}yd.default=md;var bd=t&&t.__awaiter||function(e,t,r,i){return new(r||(r=Promise))((function(n,s){function a(e){try{l(i.next(e))}catch(e){s(e)}}function o(e){try{l(i.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,o)}l((i=i.apply(e,t||[])).next())}))};Object.defineProperty(dd,"__esModule",{value:!0});const Ed=Ic,_d=Ou,wd=qu,Od=hd,Sd=fd,xd=yd;dd.default=class{constructor(e,t,r,i,n){if(this.eventSender=r,this.contextDeduplicator=i,this.diagnosticsManager=n,this.summarizer=new Od.default,this.queue=[],this.lastKnownPastTime=0,this.droppedEvents=0,this.deduplicatedUsers=0,this.exceededCapacity=!1,this.eventsInLastBatch=0,this.shutdown=!1,this.flushUsersTimer=null,this.capacity=e.eventsCapacity,this.logger=t.basicConfiguration.logger,this.contextFilter=new wd.default(e.allAttributesPrivate,e.privateAttributes.map((e=>new _d.default(e)))),void 0!==this.contextDeduplicator.flushInterval&&(this.flushUsersTimer=void this.contextDeduplicator.flushInterval),this.flushTimer=void e.flushInterval,this.diagnosticsManager){const t=n.createInitEvent();this.postDiagnosticEvent(t),this.diagnosticsTimer=void e.diagnosticRecordingInterval}}postDiagnosticEvent(e){this.eventSender.sendEventData(Ed.LDEventType.DiagnosticEvent,e)}close(){clearInterval(this.flushTimer),this.flushUsersTimer&&clearInterval(this.flushUsersTimer),this.diagnosticsTimer&&clearInterval(this.diagnosticsTimer)}flush(){var e;return bd(this,void 0,void 0,(function*(){if(this.shutdown)throw new xd.default("Events cannot be posted because SDK key is invalid");const t=this.queue;this.queue=[];const r=this.summarizer.getSummary();this.summarizer.clearSummary(),Object.keys(r.features).length&&t.push(r),t.length&&(this.eventsInLastBatch=t.length,null===(e=this.logger)||void 0===e||e.debug("Flushing %d events",t.length),yield this.tryPostingEvents(t))}))}sendEvent(e){if(this.shutdown)return;this.summarizer.summarizeEvent(e);const t=(0,Sd.isFeature)(e),r=t&&e.trackEvents||!t,i=this.shouldDebugEvent(e),n=(0,Sd.isIdentify)(e),s=this.contextDeduplicator.processContext(e.context);s||n||(this.deduplicatedUsers+=1);s&&!n&&this.enqueue({kind:"index",creationDate:e.creationDate,context:this.contextFilter.filter(e.context)}),r&&this.enqueue(this.makeOutputEvent(e,!1)),i&&this.enqueue(this.makeOutputEvent(e,!0))}makeOutputEvent(e,t){switch(e.kind){case"feature":{const r={kind:t?"debug":"feature",creationDate:e.creationDate,key:e.key,value:e.value,default:e.default,prereqOf:e.prereqOf};return void 0!==e.variation&&(r.variation=e.variation),void 0!==e.version&&(r.version=e.version),e.reason&&(r.reason=e.reason),t?r.context=this.contextFilter.filter(e.context):r.contextKeys=e.context.kindsAndKeys,r}case"identify":return{kind:"identify",creationDate:e.creationDate,context:this.contextFilter.filter(e.context)};case"custom":{const t={kind:"custom",creationDate:e.creationDate,key:e.key,contextKeys:e.context.kindsAndKeys};return void 0!==e.data&&(t.data=e.data),void 0!==e.metricValue&&(t.metricValue=e.metricValue),t}default:return e}}enqueue(e){var t;this.queue.length<this.capacity?(this.queue.push(e),this.exceededCapacity=!1):(this.exceededCapacity||(this.exceededCapacity=!0,null===(t=this.logger)||void 0===t||t.warn("Exceeded event queue capacity. Increase capacity to avoid dropping events.")),this.droppedEvents+=1)}shouldDebugEvent(e){return(0,Sd.isFeature)(e)&&e.debugEventsUntilDate&&e.debugEventsUntilDate>this.lastKnownPastTime&&e.debugEventsUntilDate>Date.now()}tryPostingEvents(e){return bd(this,void 0,void 0,(function*(){const t=yield this.eventSender.sendEventData(Ed.LDEventType.AnalyticsEvents,e);if(t.status===Ed.LDDeliveryStatus.FailedAndMustShutDown&&(this.shutdown=!0),t.serverTime&&(this.lastKnownPastTime=t.serverTime),t.error)throw t.error}))}},Object.defineProperty(od,"__esModule",{value:!0}),od.EventProcessor=od.InputIdentifyEvent=od.InputEvalEvent=od.InputCustomEvent=void 0;const Pd=ld;od.InputCustomEvent=Pd.default;const kd=ud;od.InputEvalEvent=kd.default;const Id=cd;od.InputIdentifyEvent=Id.default;const Ad=dd;od.EventProcessor=Ad.default,function(e){var r=t&&t.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),i=t&&t.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(e,"__esModule",{value:!0}),i(od,e)}(ad),function(e){var r=t&&t.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),i=t&&t.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(e,"__esModule",{value:!0}),e.ContextFilter=e.Context=e.AttributeReference=e.internal=void 0;const n=Ou;e.AttributeReference=n.default;const s=Pu;e.Context=s.default;const a=qu;e.ContextFilter=a.default,i(Yu,e),i(ku,e),i(Ac,e),i(Kc,e),i(id,e),e.internal=ad}(wu);var Rd={},Md={},Td=t&&t.__awaiter||function(e,t,r,i){return new(r||(r=Promise))((function(n,s){function a(e){try{l(i.next(e))}catch(e){s(e)}}function o(e){try{l(i.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,o)}l((i=i.apply(e,t||[])).next())}))};Object.defineProperty(Md,"__esModule",{value:!0});Md.default=class{constructor(e){this.onRequestStatus=e}getStatus(){return this.lastStatus}requireStatus(){return Td(this,void 0,void 0,(function*(){return this.lastStatus||(yield this.onRequestStatus()),this.lastStatus}))}notify(){var e;this.lastStatus&&(null===(e=this.listener)||void 0===e||e.call(this,this.lastStatus))}setListener(e){this.listener=e}setStatus(e){this.lastStatus=e}};var Dd={};Object.defineProperty(Dd,"__esModule",{value:!0});Dd.default=class{constructor(e){this.keyMap=new Map,this.head=0,this.tail=0,this.size=0;const{max:t}=e;this.max=t,this.values=new Array(t),this.keys=new Array(t),this.next=new Uint32Array(t),this.prev=new Uint32Array(t),e.maxAge?(this.lastUpdated=new Array(t).fill(0),this.maxAge=e.maxAge):(this.lastUpdated=[],this.maxAge=0)}set(e,t){let r=this.keyMap.get(e);void 0===r?(r=this.index(),this.keys[r]=e,this.keyMap.set(e,r),this.next[this.tail]=r,this.prev[r]=this.tail,this.tail=r,this.size+=1):this.setTail(r),this.values[r]=t,this.maxAge&&(this.lastUpdated[r]=Date.now())}get(e){const t=this.keyMap.get(e);if(void 0!==t){if(this.maxAge){const e=this.lastUpdated[t];if(Date.now()-e>this.maxAge)return}return this.setTail(t),this.maxAge&&(this.lastUpdated[t]=Date.now()),this.values[t]}}clear(){this.head=0,this.tail=0,this.size=0,this.values.fill(void 0),this.keys.fill(void 0),this.next.fill(0),this.prev.fill(0)}index(){return 0===this.size?this.tail:this.size===this.max?this.evict():this.size}evict(){const{head:e}=this,t=this.keys[e];return this.head=this.next[e],this.keyMap.delete(t),this.size-=1,e}link(e,t){this.prev[t]=e,this.next[e]=t}setTail(e){e!==this.tail&&(e===this.head?this.head=this.next[e]:this.link(this.prev[e],this.next[e]),this.link(this.tail,e),this.tail=e)}};var jd=t&&t.__awaiter||function(e,t,r,i){return new(r||(r=Promise))((function(n,s){function a(e){try{l(i.next(e))}catch(e){s(e)}}function o(e){try{l(i.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,o)}l((i=i.apply(e,t||[])).next())}))};Object.defineProperty(Rd,"__esModule",{value:!0});const $d=wu,Nd=Md,Fd=Dd;Rd.default=class{constructor(e,t,r,i){this.store=e,this.logger=r,this.crypto=i,this.statusProvider=new Nd.default((()=>jd(this,void 0,void 0,(function*(){return this.pollStoreAndUpdateStatus()})))),this.staleTimeMs=1e3*($d.TypeValidators.Number.is(t.staleAfter)&&t.staleAfter>0?t.staleAfter:120);$d.TypeValidators.Number.is(t.statusPollInterval)&&t.statusPollInterval>0&&t.statusPollInterval;this.pollHandle=e?void 0:null,e&&(this.cache=new Fd.default({max:t.userCacheSize||1e3,maxAge:1e3*(t.userCacheTime||5)}))}close(){this.pollHandle&&(clearInterval(this.pollHandle),this.pollHandle=void 0),this.store&&this.store.close()}getUserMembership(e){var t,r,i;return jd(this,void 0,void 0,(function*(){if(!this.store)return;let n=null===(t=this.cache)||void 0===t?void 0:t.get(e);if(!n)try{n=yield this.store.getUserMembership(this.hashForUserKey(e)),null===(r=this.cache)||void 0===r||r.set(e,n)}catch(e){return null===(i=this.logger)||void 0===i||i.error(`Big Segment store membership query returned error: ${e}`),[null,"STORE_ERROR"]}this.statusProvider.getStatus()||(yield this.pollStoreAndUpdateStatus());const s=this.statusProvider.getStatus();return s.available?[n,s.stale?"STALE":"HEALTHY"]:[n,"STORE_ERROR"]}))}pollStoreAndUpdateStatus(){var e,t,r;return jd(this,void 0,void 0,(function*(){if(!this.store)return void this.statusProvider.setStatus({available:!1,stale:!1});let i;null===(e=this.logger)||void 0===e||e.debug("Querying Big Segment store status");try{const e=yield this.store.getMetadata();i={available:!0,stale:!e||!e.lastUpToDate||this.isStale(e.lastUpToDate)}}catch(e){null===(t=this.logger)||void 0===t||t.error(`Big Segment store status query returned error: ${e}`),i={available:!1,stale:!1}}const n=this.statusProvider.getStatus();n&&n.available===i.available&&n.stale===i.stale||(null===(r=this.logger)||void 0===r||r.debug("Big Segment store status changed from %s to %s",JSON.stringify(n),JSON.stringify(i)),this.statusProvider.setStatus(i),this.statusProvider.notify())}))}hashForUserKey(e){const t=this.crypto.createHash("sha256");return t.update(e),t.digest("base64")}isStale(e){return Date.now()-e>=this.staleTimeMs}};var Cd={};Object.defineProperty(Cd,"__esModule",{value:!0});class Ld{}Ld.missingContextKeyNoEvent="Context was unspecified or had no key; event will not be sent",Cd.default=Ld;var Bd={},Vd={};Object.defineProperty(Vd,"__esModule",{value:!0});class Ud{}Ud.Features={namespace:"features",streamApiPath:"/flags/",requestPath:"/sdk/latest-flags/"},Ud.Segments={namespace:"segments",streamApiPath:"/segments/",requestPath:"/sdk/latest-segments/"},Vd.default=Ud;var zd={},Kd={};Object.defineProperty(Kd,"__esModule",{value:!0});Kd.default=class{constructor(){this.itemsByNamespace={}}get(e,t){var r;return null===(r=this.itemsByNamespace[e])||void 0===r?void 0:r[t]}set(e,t,r){e in this.itemsByNamespace||(this.itemsByNamespace[e]={}),this.itemsByNamespace[e][t]=r}remove(e,t){const r=this.itemsByNamespace[e];r&&delete r[t]}removeAll(){this.itemsByNamespace={}}enumerate(e){Object.entries(this.itemsByNamespace).forEach((([t,r])=>{Object.entries(r).forEach((([r,i])=>{e(t,r,i)}))}))}mergeFrom(e){e.enumerate(this.set.bind(this))}},Object.defineProperty(zd,"__esModule",{value:!0});const Hd=Kd;zd.default=class{constructor(){this.dependenciesFrom=new Hd.default,this.dependenciesTo=new Hd.default}updateDependenciesFrom(e,t,r){const i=this.dependenciesFrom.get(e,t);null==i||i.enumerate(((r,i)=>{const n=this.dependenciesTo.get(r,i);null==n||n.remove(e,t)})),this.dependenciesFrom.set(e,t,r),null==r||r.enumerate(((r,i)=>{let n=this.dependenciesTo.get(r,i);n||(n=new Hd.default,this.dependenciesTo.set(r,i,n)),n.set(e,t,!0)}))}updateModifiedItems(e,t,r){if(!e.get(t,r)){e.set(t,r,!0);const i=this.dependenciesTo.get(t,r);null==i||i.enumerate(((t,r)=>{this.updateModifiedItems(e,t,r)}))}}reset(){this.dependenciesFrom.removeAll(),this.dependenciesTo.removeAll()}},Object.defineProperty(Bd,"__esModule",{value:!0});const qd=Vd,Gd=zd,Wd=Kd;function Xd(e,t){var r,i;const n=new Wd.default,s=e===qd.default.Features.namespace,a=e===qd.default.Segments.namespace;if(s){const i=t;null===(r=null==i?void 0:i.prerequisites)||void 0===r||r.forEach((t=>{n.set(e,t.key,!0)}))}if(s||a){const e=t;null===(i=null==e?void 0:e.rules)||void 0===i||i.forEach((e=>{var t;null===(t=e.clauses)||void 0===t||t.forEach((e=>{"segmentMatch"===e.op&&e.values.forEach((e=>{n.set(qd.default.Segments.namespace,e,!0)}))}))}))}return n}Bd.default=class{constructor(e,t,r){this.featureStore=e,this.hasEventListeners=t,this.onChange=r,this.dependencyTracker=new Gd.default}init(e,t){const r=this.hasEventListeners(),i=i=>{this.featureStore.init(e,(()=>{if(this.dependencyTracker.reset(),Object.entries(e).forEach((([e,t])=>{Object.keys(t||{}).forEach((r=>{const i=t[r];this.dependencyTracker.updateDependenciesFrom(e,r,Xd(e,i))}))})),r){const t=new Wd.default;Object.keys(e).forEach((r=>{const n=(null==i?void 0:i[r])||{},s=e[r],a=Object.assign(Object.assign({},n),s);Object.keys(a).forEach((e=>{this.addIfModified(r,e,n&&n[e],s&&s[e],t)}))})),this.sendChangeEvents(t)}null==t||t()}))};r?this.featureStore.all(qd.default.Features,(e=>{this.featureStore.all(qd.default.Segments,(t=>{const r={[qd.default.Features.namespace]:e,[qd.default.Segments.namespace]:t};i(r)}))})):i()}upsert(e,t,r){const{key:i}=t,n=this.hasEventListeners(),s=s=>{this.featureStore.upsert(e,t,(()=>{if(this.dependencyTracker.updateDependenciesFrom(e.namespace,i,Xd(e.namespace,t)),n){const r=new Wd.default;this.addIfModified(e.namespace,i,s,t,r),this.sendChangeEvents(r)}null==r||r()}))};n?this.featureStore.get(e,i,s):s()}addIfModified(e,t,r,i,n){i&&r&&i.version<=r.version||this.dependencyTracker.updateModifiedItems(n,e,t)}sendChangeEvents(e){e.enumerate(((e,t)=>{e===qd.default.Features.namespace&&this.onChange(t)}))}};var Jd={};Object.defineProperty(Jd,"__esModule",{value:!0});Jd.default=class{start(e){}stop(){}close(){}};var Yd={},Zd={};Object.defineProperty(Zd,"__esModule",{value:!0}),Zd.isHttpRecoverable=Zd.LDClientError=Zd.LDUnexpectedResponseError=Zd.LDStreamingError=Zd.LDPollingError=void 0;class Qd extends Error{constructor(e){super(e),this.name="LaunchDarklyPollingError"}}Zd.LDPollingError=Qd;class eh extends Error{constructor(e,t){super(e),this.code=t,this.name="LaunchDarklyStreamingError"}}Zd.LDStreamingError=eh;class th extends Error{constructor(e){super(e),this.name="LaunchDarklyUnexpectedResponseError"}}Zd.LDUnexpectedResponseError=th;class rh extends Error{constructor(e){super(e),this.name="LaunchDarklyClientError"}}Zd.LDClientError=rh,Zd.isHttpRecoverable=function(e){return!(e>=400&&e<500)||(400===e||408===e||429===e)};var ih={};Object.defineProperty(ih,"__esModule",{value:!0}),ih.deserializeSegment=ih.serializeSegment=ih.deserializeFlag=ih.serializeFlag=ih.deserializeDelete=ih.deserializePatch=ih.deserializePoll=ih.deserializeAll=ih.processSegment=ih.processFlag=ih.replacer=ih.reviver=void 0;const nh=wu,sh=Vd;function ah(e,t){if(null!==t)return t}function oh(e,t){if(!(t instanceof nh.AttributeReference||Array.isArray(t)&&t[0]&&t[0]instanceof nh.AttributeReference))return t}function lh(e){e&&e.bucketBy&&(e.bucketByAttributeReference=new nh.AttributeReference(e.bucketBy,!e.contextKind))}function uh(e){var t;if(e.fallthrough&&e.fallthrough.rollout){lh(e.fallthrough.rollout)}null===(t=null==e?void 0:e.rules)||void 0===t||t.forEach((e=>{var t;lh(e.rollout),null===(t=null==e?void 0:e.clauses)||void 0===t||t.forEach((e=>{e&&e.attribute?e.attributeReference=new nh.AttributeReference(e.attribute,!e.contextKind):e&&(e.attributeReference=nh.AttributeReference.invalidReference)}))}))}function ch(e){var t;null===(t=null==e?void 0:e.rules)||void 0===t||t.forEach((e=>{var t;e.bucketBy&&(e.bucketByAttributeReference=new nh.AttributeReference(e.bucketBy,!e.rolloutContextKind)),null===(t=null==e?void 0:e.clauses)||void 0===t||t.forEach((e=>{e&&e.attribute?e.attributeReference=new nh.AttributeReference(e.attribute,!e.contextKind):e&&(e.attributeReference=nh.AttributeReference.invalidReference)}))}))}function dh(e){try{return JSON.parse(e,ah)}catch(e){return}}ih.reviver=ah,ih.replacer=oh,ih.processFlag=uh,ih.processSegment=ch,ih.deserializeAll=function(e){var t,r;const i=dh(e);if(i)return Object.values((null===(t=null==i?void 0:i.data)||void 0===t?void 0:t.flags)||[]).forEach((e=>{uh(e)})),Object.values((null===(r=null==i?void 0:i.data)||void 0===r?void 0:r.segments)||[]).forEach((e=>{ch(e)})),i},ih.deserializePoll=function(e){const t=dh(e);if(t)return Object.values((null==t?void 0:t.flags)||[]).forEach((e=>{uh(e)})),Object.values((null==t?void 0:t.segments)||[]).forEach((e=>{ch(e)})),t},ih.deserializePatch=function(e){const t=dh(e);if(t)return t.path.startsWith(sh.default.Features.streamApiPath)?(uh(t.data),t.kind=sh.default.Features):t.path.startsWith(sh.default.Segments.streamApiPath)&&(ch(t.data),t.kind=sh.default.Segments),t},ih.deserializeDelete=function(e){const t=dh(e);if(t)return t.path.startsWith(sh.default.Features.streamApiPath)?t.kind=sh.default.Features:t.path.startsWith(sh.default.Segments.streamApiPath)&&(t.kind=sh.default.Segments),t},ih.serializeFlag=function(e){return JSON.stringify(e,oh)},ih.deserializeFlag=function(e){const t=dh(e);if(t)return uh(t),t},ih.serializeSegment=function(e){return JSON.stringify(e,oh)},ih.deserializeSegment=function(e){const t=dh(e);if(t)return ch(t),t};var hh={};Object.defineProperty(hh,"__esModule",{value:!0}),hh.default=function(e,t,r){let i;return i=e.status?`error ${e.status}${401===e.status?" (invalid SDK key)":""}`:`I/O error (${e.message||e})`,`Received ${i} for ${t} - ${null!=r?r:"giving up permanently"}`},Object.defineProperty(Yd,"__esModule",{value:!0});const fh=Zd,vh=ih,ph=Vd,gh=hh;Yd.default=class{constructor(e,t,r){this.requestor=t,this.featureStore=r,this.stopped=!1,this.logger=e.logger,this.pollInterval=e.pollInterval,this.featureStore=r}poll(e){var t;if(this.stopped)return;const r=t=>{var r,i;null===(r=this.logger)||void 0===r||r.error("Polling received invalid data"),null===(i=this.logger)||void 0===i||i.debug(`Invalid JSON follows: ${t}`),null==e||e(new fh.LDPollingError("Malformed JSON data in polling response"))},i=Date.now();null===(t=this.logger)||void 0===t||t.debug("Polling LaunchDarkly for feature flag updates"),this.requestor.requestAllData(((t,n)=>{var s,a,o;const l=Date.now()-i,u=Math.max(1e3*this.pollInterval-l,0);if(null===(s=this.logger)||void 0===s||s.debug("Elapsed: %d ms, sleeping for %d ms",l,u),t){if(t.status&&!(0,fh.isHttpRecoverable)(t.status)){const r=(0,gh.default)(t,"polling request");return null===(a=this.logger)||void 0===a||a.error(r),void(null==e||e(new fh.LDPollingError(r)))}null===(o=this.logger)||void 0===o||o.warn((0,gh.default)(t,"polling request","will retry"))}else if(n){const t=(0,vh.deserializePoll)(n);if(t){const r={[ph.default.Features.namespace]:t.flags,[ph.default.Segments.namespace]:t.segments};return void this.featureStore.init(r,(()=>{null==e||e(),this.timeoutHandle=e=>{e()}}))}r(n)}this.timeoutHandle=e=>{e()}}))}start(e){this.poll(e)}stop(){this.timeoutHandle&&(clearTimeout(this.timeoutHandle),this.timeoutHandle=void 0),this.stopped=!0}close(){this.stop()}};var yh={},mh={};Object.defineProperty(mh,"__esModule",{value:!0}),mh.default=function(e,t,r){const i=r.sdkData(),n={authorization:e,"user-agent":`NodeJSClient/${i.version}`};i.wrapperName&&(n["x-launchdarkly-wrapper"]=i.wrapperVersion?`${i.wrapperName}/${i.wrapperVersion}`:i.wrapperName);const s=t.tags.value;return s&&(n["x-launchdarkly-tags"]=s),n};var bh=t&&t.__awaiter||function(e,t,r,i){return new(r||(r=Promise))((function(n,s){function a(e){try{l(i.next(e))}catch(e){s(e)}}function o(e){try{l(i.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,o)}l((i=i.apply(e,t||[])).next())}))};Object.defineProperty(yh,"__esModule",{value:!0});const Eh=Zd,_h=mh;yh.default=class{constructor(e,t,r,i){this.requests=i,this.eTagCache={},this.headers=(0,_h.default)(e,t,r),this.uri=`${t.serviceEndpoints.polling}/sdk/latest-all`}requestWithETagCache(e,t){return bh(this,void 0,void 0,(function*(){const r=this.eTagCache[e],i=null==r?void 0:r.etag,n=i?Object.assign(Object.assign({},t),{headers:Object.assign(Object.assign({},t.headers),{"if-none-match":i})}):t,s=yield this.requests.fetch(e,n);if(304===s.status&&r)return{res:s,body:r.body};const a=s.headers.get("etag"),o=yield s.text();return a&&(this.eTagCache[e]={etag:a,body:o}),{res:s,body:o}}))}requestAllData(e){return bh(this,void 0,void 0,(function*(){const t={method:"GET",headers:this.headers};try{const{res:r,body:i}=yield this.requestWithETagCache(this.uri,t);if(200!==r.status&&304!==r.status){const t=new Eh.LDStreamingError(`Unexpected status code: ${r.status}`,r.status);return e(t,void 0)}return e(void 0,304===r.status?null:i)}catch(t){return e(t,void 0)}}))}};var wh={};Object.defineProperty(wh,"__esModule",{value:!0});const Oh=Zd,Sh=ih,xh=Vd,Ph=mh,kh=hh;function Ih(e,t){return t.startsWith(e.streamApiPath)?t.substring(e.streamApiPath.length):void 0}wh.default=class{constructor(e,t,r,i,n,s){this.featureStore=n,this.diagnosticsManager=s,this.headers=(0,Ph.default)(e,t,i),this.logger=t.logger,this.streamInitialReconnectDelay=t.streamInitialReconnectDelay,this.requests=r,this.streamUri=`${t.serviceEndpoints.streaming}/all`}logConnectionStarted(){this.connectionAttemptStartTime=Date.now()}logConnectionResult(e){this.connectionAttemptStartTime&&this.diagnosticsManager&&this.diagnosticsManager.recordStreamInit(this.connectionAttemptStartTime,!e,Date.now()-this.connectionAttemptStartTime),this.connectionAttemptStartTime=void 0}start(e){this.logConnectionStarted();const t=(t,r)=>{var i,n;null===(i=this.logger)||void 0===i||i.error(`Stream received invalid data in "${t}" message`),null===(n=this.logger)||void 0===n||n.debug(`Invalid JSON follows: ${r}`),null==e||e(new Oh.LDStreamingError("Malformed JSON data in event stream"))},r=this.requests.createEventSource(this.streamUri,{headers:this.headers,errorFilter:t=>{var r,i;return t.status&&!(0,Oh.isHttpRecoverable)(t.status)?(this.logConnectionResult(!1),null==e||e(new Oh.LDStreamingError(t.message,t.status)),null===(r=this.logger)||void 0===r||r.error((0,kh.default)(t,"streaming request")),!1):(null===(i=this.logger)||void 0===i||i.warn((0,kh.default)(t,"streaming request","will retry")),this.logConnectionResult(!1),this.logConnectionStarted(),!0)},initialRetryDelayMillis:1e3*this.streamInitialReconnectDelay,readTimeoutMillis:3e5,retryResetIntervalMillis:6e4});this.eventSource=r,r.onclose=()=>{var e;null===(e=this.logger)||void 0===e||e.info("Closed LaunchDarkly stream connection")},r.onerror=()=>{},r.onopen=()=>{var e;null===(e=this.logger)||void 0===e||e.info("Opened LaunchDarkly stream connection")},r.onretrying=e=>{var t;null===(t=this.logger)||void 0===t||t.info(`Will retry stream connection in ${e.delayMillis} milliseconds`)},r.addEventListener("put",(r=>{var i;if(null===(i=this.logger)||void 0===i||i.debug("Received put event"),r&&r.data){this.logConnectionResult(!0);const i=(0,Sh.deserializeAll)(r.data);if(!i)return void t("put",r.data);const n={[xh.default.Features.namespace]:i.data.flags,[xh.default.Segments.namespace]:i.data.segments};this.featureStore.init(n,(()=>null==e?void 0:e()))}else null==e||e(new Oh.LDStreamingError("Unexpected payload from event stream"))})),r.addEventListener("patch",(r=>{var i,n;if(null===(i=this.logger)||void 0===i||i.debug("Received patch event"),r&&r.data){const e=(0,Sh.deserializePatch)(r.data);if(!e)return void t("patch",r.data);if(e.kind){const t=Ih(e.kind,e.path);t&&(null===(n=this.logger)||void 0===n||n.debug(`Updating ${t} in ${e.kind.namespace}`),this.featureStore.upsert(e.kind,e.data,(()=>{})))}}else null==e||e(new Oh.LDStreamingError("Unexpected payload from event stream"))})),r.addEventListener("delete",(r=>{var i,n;if(null===(i=this.logger)||void 0===i||i.debug("Received delete event"),r&&r.data){const e=(0,Sh.deserializeDelete)(r.data);if(!e)return void t("delete",r.data);if(e.kind){const t=Ih(e.kind,e.path);t&&(null===(n=this.logger)||void 0===n||n.debug(`Deleting ${t} in ${e.kind.namespace}`),this.featureStore.upsert(e.kind,{key:t,version:e.version,deleted:!0},(()=>{})))}}else null==e||e(new Oh.LDStreamingError("Unexpected payload from event stream"))}))}stop(){var e;null===(e=this.eventSource)||void 0===e||e.close(),this.eventSource=void 0}close(){this.stop()}};var Ah={},Rh=t&&t.__awaiter||function(e,t,r,i){return new(r||(r=Promise))((function(n,s){function a(e){try{l(i.next(e))}catch(e){s(e)}}function o(e){try{l(i.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,o)}l((i=i.apply(e,t||[])).next())}))};function Mh(e,t,r){return Rh(this,void 0,void 0,(function*(){if(!e)return!1;for(let i=0;i<e.length;i+=1){const n=yield t(e[i],i);if(r){if(!n)return!1}else if(n)return!0}return r}))}Object.defineProperty(Ah,"__esModule",{value:!0}),Ah.firstSeriesAsync=Ah.allSeriesAsync=Ah.firstResult=void 0,Ah.firstResult=function(e,t){let r;return null==e||e.some(((e,i)=>(r=t(e,i),!!r))),r},Ah.allSeriesAsync=function(e,t){return Rh(this,void 0,void 0,(function*(){return Mh(e,t,!0)}))},Ah.firstSeriesAsync=function(e,t){return Rh(this,void 0,void 0,(function*(){return Mh(e,t,!1)}))};var Th,Dh={};Object.defineProperty(Dh,"__esModule",{value:!0}),function(e){e.MalformedFlag="MALFORMED_FLAG",e.UserNotSpecified="USER_NOT_SPECIFIED",e.FlagNotFound="FLAG_NOT_FOUND",e.ClientNotReady="CLIENT_NOT_READY"}(Th||(Th={})),Dh.default=Th;var jh={},$h={};Object.defineProperty($h,"__esModule",{value:!0});class Nh{static prerequisiteFailed(e){return{kind:"PREREQUISITE_FAILED",prerequisiteKey:e}}static ruleMatch(e,t){return{kind:"RULE_MATCH",ruleId:e,ruleIndex:t}}}Nh.Fallthrough={kind:"FALLTHROUGH"},Nh.Off={kind:"OFF"},Nh.TargetMatch={kind:"TARGET_MATCH"},$h.default=Nh,Object.defineProperty(jh,"__esModule",{value:!0});const Fh=$h;class Ch{constructor(e,t,r){this.isError=e,this.detail=t,this.message=r,this.isError=e,this.detail=t,this.message=r}get isOff(){return this.detail.reason.kind===Fh.default.Off.kind}setDefault(e){this.detail.value=e}static forError(e,t,r){return new Ch(!0,{value:null!=r?r:null,variationIndex:null,reason:{kind:"ERROR",errorKind:e}},t)}static forSuccess(e,t,r){return new Ch(!1,{value:e,variationIndex:void 0===r?null:r,reason:t})}}jh.default=Ch;var Lh={},Bh={};Object.defineProperty(Bh,"__esModule",{value:!0}),Bh.getBucketBy=Bh.getOffVariation=Bh.getVariation=void 0;const Vh=wu,Uh=Dh,zh=jh,Kh=new Vh.AttributeReference("key");function Hh(e,t,r){return Vh.TypeValidators.Number.is(t)&&t>=0&&t<e.variations.length?zh.default.forSuccess(e.variations[t],r,t):zh.default.forError(Uh.default.MalformedFlag,"Invalid variation index in flag")}Bh.getVariation=Hh,Bh.getOffVariation=function(e,t){return Vh.TypeValidators.Number.is(e.offVariation)?Hh(e,e.offVariation,t):zh.default.forSuccess(null,t)},Bh.getBucketBy=function(e,t){var r;return null!==(r=e?void 0:t)&&void 0!==r?r:Kh};var qh={};Object.defineProperty(qh,"__esModule",{value:!0});const Gh=wu,Wh=Bh,Xh=$h,Jh=Ah;function Yh(e,t,r){const i=r.key(t.contextKind);if(void 0!==i){if(t.values.indexOf(i)>=0)return(0,Wh.getVariation)(e,t.variation,Xh.default.TargetMatch)}}qh.default=function(e,t){var r;return(null===(r=e.contextTargets)||void 0===r?void 0:r.length)?(0,Jh.firstResult)(e.contextTargets,(r=>{if(!r.contextKind||r.contextKind===Gh.Context.userKind){const i=(e.targets||[]).find((e=>e.variation===r.variation));return i?Yh(e,i,t):void 0}return Yh(e,r,t)})):(0,Jh.firstResult)(e.targets,(r=>Yh(e,r,t)))};var Zh={};Object.defineProperty(Zh,"__esModule",{value:!0});Zh.default=class{constructor(e){this.crypto=e}sha1Hex(e){const t=this.crypto.createHash("sha1");return t.update(e),t.digest("hex")}bucket(e,t,r,i,n="user",s){const a=function(e){return"string"==typeof e?e:Number.isInteger(e)?String(e):null}(e.valueForKind(r,n));if(null===a){return[0,e.kinds.indexOf(n)>=0]}const o=`${s?Number(s):`${t}.${i}`}.${a}`;return[parseInt(this.sha1Hex(o).substring(0,15),16)/0x1000000000000000,!0]}};var Qh={},ef={},tf={exports:{}};var rf={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2};var nf="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};!function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:r}=rf,i=nf,n=(t=e.exports={}).re=[],s=t.src=[],a=t.t={};let o=0;const l=(e,t,r)=>{const l=o++;i(e,l,t),a[e]=l,s[l]=t,n[l]=new RegExp(t,r?"g":void 0)};l("NUMERICIDENTIFIER","0|[1-9]\\d*"),l("NUMERICIDENTIFIERLOOSE","[0-9]+"),l("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),l("MAINVERSION",`(${s[a.NUMERICIDENTIFIER]})\\.(${s[a.NUMERICIDENTIFIER]})\\.(${s[a.NUMERICIDENTIFIER]})`),l("MAINVERSIONLOOSE",`(${s[a.NUMERICIDENTIFIERLOOSE]})\\.(${s[a.NUMERICIDENTIFIERLOOSE]})\\.(${s[a.NUMERICIDENTIFIERLOOSE]})`),l("PRERELEASEIDENTIFIER",`(?:${s[a.NUMERICIDENTIFIER]}|${s[a.NONNUMERICIDENTIFIER]})`),l("PRERELEASEIDENTIFIERLOOSE",`(?:${s[a.NUMERICIDENTIFIERLOOSE]}|${s[a.NONNUMERICIDENTIFIER]})`),l("PRERELEASE",`(?:-(${s[a.PRERELEASEIDENTIFIER]}(?:\\.${s[a.PRERELEASEIDENTIFIER]})*))`),l("PRERELEASELOOSE",`(?:-?(${s[a.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${s[a.PRERELEASEIDENTIFIERLOOSE]})*))`),l("BUILDIDENTIFIER","[0-9A-Za-z-]+"),l("BUILD",`(?:\\+(${s[a.BUILDIDENTIFIER]}(?:\\.${s[a.BUILDIDENTIFIER]})*))`),l("FULLPLAIN",`v?${s[a.MAINVERSION]}${s[a.PRERELEASE]}?${s[a.BUILD]}?`),l("FULL",`^${s[a.FULLPLAIN]}$`),l("LOOSEPLAIN",`[v=\\s]*${s[a.MAINVERSIONLOOSE]}${s[a.PRERELEASELOOSE]}?${s[a.BUILD]}?`),l("LOOSE",`^${s[a.LOOSEPLAIN]}$`),l("GTLT","((?:<|>)?=?)"),l("XRANGEIDENTIFIERLOOSE",`${s[a.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),l("XRANGEIDENTIFIER",`${s[a.NUMERICIDENTIFIER]}|x|X|\\*`),l("XRANGEPLAIN",`[v=\\s]*(${s[a.XRANGEIDENTIFIER]})(?:\\.(${s[a.XRANGEIDENTIFIER]})(?:\\.(${s[a.XRANGEIDENTIFIER]})(?:${s[a.PRERELEASE]})?${s[a.BUILD]}?)?)?`),l("XRANGEPLAINLOOSE",`[v=\\s]*(${s[a.XRANGEIDENTIFIERLOOSE]})(?:\\.(${s[a.XRANGEIDENTIFIERLOOSE]})(?:\\.(${s[a.XRANGEIDENTIFIERLOOSE]})(?:${s[a.PRERELEASELOOSE]})?${s[a.BUILD]}?)?)?`),l("XRANGE",`^${s[a.GTLT]}\\s*${s[a.XRANGEPLAIN]}$`),l("XRANGELOOSE",`^${s[a.GTLT]}\\s*${s[a.XRANGEPLAINLOOSE]}$`),l("COERCE",`(^|[^\\d])(\\d{1,${r}})(?:\\.(\\d{1,${r}}))?(?:\\.(\\d{1,${r}}))?(?:$|[^\\d])`),l("COERCERTL",s[a.COERCE],!0),l("LONETILDE","(?:~>?)"),l("TILDETRIM",`(\\s*)${s[a.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",l("TILDE",`^${s[a.LONETILDE]}${s[a.XRANGEPLAIN]}$`),l("TILDELOOSE",`^${s[a.LONETILDE]}${s[a.XRANGEPLAINLOOSE]}$`),l("LONECARET","(?:\\^)"),l("CARETTRIM",`(\\s*)${s[a.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",l("CARET",`^${s[a.LONECARET]}${s[a.XRANGEPLAIN]}$`),l("CARETLOOSE",`^${s[a.LONECARET]}${s[a.XRANGEPLAINLOOSE]}$`),l("COMPARATORLOOSE",`^${s[a.GTLT]}\\s*(${s[a.LOOSEPLAIN]})$|^$`),l("COMPARATOR",`^${s[a.GTLT]}\\s*(${s[a.FULLPLAIN]})$|^$`),l("COMPARATORTRIM",`(\\s*)${s[a.GTLT]}\\s*(${s[a.LOOSEPLAIN]}|${s[a.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",l("HYPHENRANGE",`^\\s*(${s[a.XRANGEPLAIN]})\\s+-\\s+(${s[a.XRANGEPLAIN]})\\s*$`),l("HYPHENRANGELOOSE",`^\\s*(${s[a.XRANGEPLAINLOOSE]})\\s+-\\s+(${s[a.XRANGEPLAINLOOSE]})\\s*$`),l("STAR","(<|>)?=?\\s*\\*"),l("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),l("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}(tf,tf.exports);var sf=tf.exports;const af=Object.freeze({loose:!0}),of=Object.freeze({});var lf=e=>e?"object"!=typeof e?af:e:of;const uf=/^[0-9]+$/,cf=(e,t)=>{const r=uf.test(e),i=uf.test(t);return r&&i&&(e=+e,t=+t),e===t?0:r&&!i?-1:i&&!r?1:e<t?-1:1};var df={compareIdentifiers:cf,rcompareIdentifiers:(e,t)=>cf(t,e)};const hf=nf,{MAX_LENGTH:ff,MAX_SAFE_INTEGER:vf}=rf,{re:pf,t:gf}=sf,yf=lf,{compareIdentifiers:mf}=df;var bf=class e{constructor(t,r){if(r=yf(r),t instanceof e){if(t.loose===!!r.loose&&t.includePrerelease===!!r.includePrerelease)return t;t=t.version}else if("string"!=typeof t)throw new TypeError(`Invalid Version: ${t}`);if(t.length>ff)throw new TypeError(`version is longer than ${ff} characters`);hf("SemVer",t,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;const i=t.trim().match(r.loose?pf[gf.LOOSE]:pf[gf.FULL]);if(!i)throw new TypeError(`Invalid Version: ${t}`);if(this.raw=t,this.major=+i[1],this.minor=+i[2],this.patch=+i[3],this.major>vf||this.major<0)throw new TypeError("Invalid major version");if(this.minor>vf||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>vf||this.patch<0)throw new TypeError("Invalid patch version");i[4]?this.prerelease=i[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t<vf)return t}return e})):this.prerelease=[],this.build=i[5]?i[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(t){if(hf("SemVer.compare",this.version,this.options,t),!(t instanceof e)){if("string"==typeof t&&t===this.version)return 0;t=new e(t,this.options)}return t.version===this.version?0:this.compareMain(t)||this.comparePre(t)}compareMain(t){return t instanceof e||(t=new e(t,this.options)),mf(this.major,t.major)||mf(this.minor,t.minor)||mf(this.patch,t.patch)}comparePre(t){if(t instanceof e||(t=new e(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let r=0;do{const e=this.prerelease[r],i=t.prerelease[r];if(hf("prerelease compare",r,e,i),void 0===e&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===e)return-1;if(e!==i)return mf(e,i)}while(++r)}compareBuild(t){t instanceof e||(t=new e(t,this.options));let r=0;do{const e=this.build[r],i=t.build[r];if(hf("prerelease compare",r,e,i),void 0===e&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===e)return-1;if(e!==i)return mf(e,i)}while(++r)}inc(e,t,r){switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t,r);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,r);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t,r),this.inc("pre",t,r);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",t,r),this.inc("pre",t,r);break;case"major":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":if(0===this.prerelease.length)this.prerelease=[0];else{let e=this.prerelease.length;for(;--e>=0;)"number"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}if(t){const e=Number(r)?1:0;0===mf(this.prerelease[0],t)?isNaN(this.prerelease[1])&&(this.prerelease=[t,e]):this.prerelease=[t,e]}break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}};const{MAX_LENGTH:Ef}=rf,_f=bf;var wf=(e,t)=>{if(e instanceof _f)return e;if("string"!=typeof e)return null;if(e.length>Ef)return null;try{return new _f(e,t)}catch(e){return null}};const Of=wf;var Sf=(e,t)=>{const r=Of(e,t);return r?r.version:null};const xf=wf;var Pf=(e,t)=>{const r=xf(e.trim().replace(/^[=v]+/,""),t);return r?r.version:null};const kf=bf;var If=(e,t,r,i,n)=>{"string"==typeof r&&(n=i,i=r,r=void 0);try{return new kf(e instanceof kf?e.version:e,r).inc(t,i,n).version}catch(e){return null}};const Af=bf;var Rf=(e,t,r)=>new Af(e,r).compare(new Af(t,r));const Mf=Rf;var Tf=(e,t,r)=>0===Mf(e,t,r);const Df=wf,jf=Tf;var $f=(e,t)=>{const r=Df(e),i=Df(t);if(jf(r,i))return null;{const e=r.prerelease.length||i.prerelease.length,t=e?"pre":"",n=e?"prerelease":"";if(r.major!==i.major)return t+"major";if(r.minor!==i.minor)return t+"minor";if(r.patch!==i.patch)return t+"patch";if(!r.prerelease.length||!i.prerelease.length){if(r.patch)return"patch";if(r.minor)return"minor";if(r.major)return"major"}return n}};const Nf=bf;var Ff=(e,t)=>new Nf(e,t).major;const Cf=bf;var Lf=(e,t)=>new Cf(e,t).minor;const Bf=bf;var Vf=(e,t)=>new Bf(e,t).patch;const Uf=wf;var zf=(e,t)=>{const r=Uf(e,t);return r&&r.prerelease.length?r.prerelease:null};const Kf=Rf;var Hf=(e,t,r)=>Kf(t,e,r);const qf=Rf;var Gf=(e,t)=>qf(e,t,!0);const Wf=bf;var Xf=(e,t,r)=>{const i=new Wf(e,r),n=new Wf(t,r);return i.compare(n)||i.compareBuild(n)};const Jf=Xf;var Yf=(e,t)=>e.sort(((e,r)=>Jf(e,r,t)));const Zf=Xf;var Qf=(e,t)=>e.sort(((e,r)=>Zf(r,e,t)));const ev=Rf;var tv=(e,t,r)=>ev(e,t,r)>0;const rv=Rf;var iv=(e,t,r)=>rv(e,t,r)<0;const nv=Rf;var sv=(e,t,r)=>0!==nv(e,t,r);const av=Rf;var ov=(e,t,r)=>av(e,t,r)>=0;const lv=Rf;var uv=(e,t,r)=>lv(e,t,r)<=0;const cv=Tf,dv=sv,hv=tv,fv=ov,vv=iv,pv=uv;var gv=(e,t,r,i)=>{switch(t){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof r&&(r=r.version),e===r;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof r&&(r=r.version),e!==r;case"":case"=":case"==":return cv(e,r,i);case"!=":return dv(e,r,i);case">":return hv(e,r,i);case">=":return fv(e,r,i);case"<":return vv(e,r,i);case"<=":return pv(e,r,i);default:throw new TypeError(`Invalid operator: ${t}`)}};const yv=bf,mv=wf,{re:bv,t:Ev}=sf;var _v,wv,Ov,Sv,xv,Pv,kv,Iv,Av,Rv,Mv=(e,t)=>{if(e instanceof yv)return e;if("number"==typeof e&&(e=String(e)),"string"!=typeof e)return null;let r=null;if((t=t||{}).rtl){let t;for(;(t=bv[Ev.COERCERTL].exec(e))&&(!r||r.index+r[0].length!==e.length);)r&&t.index+t[0].length===r.index+r[0].length||(r=t),bv[Ev.COERCERTL].lastIndex=t.index+t[1].length+t[2].length;bv[Ev.COERCERTL].lastIndex=-1}else r=e.match(bv[Ev.COERCE]);return null===r?null:mv(`${r[2]}.${r[3]||"0"}.${r[4]||"0"}`,t)};function Tv(){if(Sv)return Ov;function e(t){var r=this;if(r instanceof e||(r=new e),r.tail=null,r.head=null,r.length=0,t&&"function"==typeof t.forEach)t.forEach((function(e){r.push(e)}));else if(arguments.length>0)for(var i=0,n=arguments.length;i<n;i++)r.push(arguments[i]);return r}function t(e,t,r){var i=t===e.head?new n(r,null,t,e):new n(r,t,t.next,e);return null===i.next&&(e.tail=i),null===i.prev&&(e.head=i),e.length++,i}function r(e,t){e.tail=new n(t,e.tail,null,e),e.head||(e.head=e.tail),e.length++}function i(e,t){e.head=new n(t,null,e.head,e),e.tail||(e.tail=e.head),e.length++}function n(e,t,r,i){if(!(this instanceof n))return new n(e,t,r,i);this.list=i,this.value=e,t?(t.next=this,this.prev=t):this.prev=null,r?(r.prev=this,this.next=r):this.next=null}Sv=1,Ov=e,e.Node=n,e.create=e,e.prototype.removeNode=function(e){if(e.list!==this)throw new Error("removing node which does not belong to this list");var t=e.next,r=e.prev;return t&&(t.prev=r),r&&(r.next=t),e===this.head&&(this.head=t),e===this.tail&&(this.tail=r),e.list.length--,e.next=null,e.prev=null,e.list=null,t},e.prototype.unshiftNode=function(e){if(e!==this.head){e.list&&e.list.removeNode(e);var t=this.head;e.list=this,e.next=t,t&&(t.prev=e),this.head=e,this.tail||(this.tail=e),this.length++}},e.prototype.pushNode=function(e){if(e!==this.tail){e.list&&e.list.removeNode(e);var t=this.tail;e.list=this,e.prev=t,t&&(t.next=e),this.tail=e,this.head||(this.head=e),this.length++}},e.prototype.push=function(){for(var e=0,t=arguments.length;e<t;e++)r(this,arguments[e]);return this.length},e.prototype.unshift=function(){for(var e=0,t=arguments.length;e<t;e++)i(this,arguments[e]);return this.length},e.prototype.pop=function(){if(this.tail){var e=this.tail.value;return this.tail=this.tail.prev,this.tail?this.tail.next=null:this.head=null,this.length--,e}},e.prototype.shift=function(){if(this.head){var e=this.head.value;return this.head=this.head.next,this.head?this.head.prev=null:this.tail=null,this.length--,e}},e.prototype.forEach=function(e,t){t=t||this;for(var r=this.head,i=0;null!==r;i++)e.call(t,r.value,i,this),r=r.next},e.prototype.forEachReverse=function(e,t){t=t||this;for(var r=this.tail,i=this.length-1;null!==r;i--)e.call(t,r.value,i,this),r=r.prev},e.prototype.get=function(e){for(var t=0,r=this.head;null!==r&&t<e;t++)r=r.next;if(t===e&&null!==r)return r.value},e.prototype.getReverse=function(e){for(var t=0,r=this.tail;null!==r&&t<e;t++)r=r.prev;if(t===e&&null!==r)return r.value},e.prototype.map=function(t,r){r=r||this;for(var i=new e,n=this.head;null!==n;)i.push(t.call(r,n.value,this)),n=n.next;return i},e.prototype.mapReverse=function(t,r){r=r||this;for(var i=new e,n=this.tail;null!==n;)i.push(t.call(r,n.value,this)),n=n.prev;return i},e.prototype.reduce=function(e,t){var r,i=this.head;if(arguments.length>1)r=t;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");i=this.head.next,r=this.head.value}for(var n=0;null!==i;n++)r=e(r,i.value,n),i=i.next;return r},e.prototype.reduceReverse=function(e,t){var r,i=this.tail;if(arguments.length>1)r=t;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");i=this.tail.prev,r=this.tail.value}for(var n=this.length-1;null!==i;n--)r=e(r,i.value,n),i=i.prev;return r},e.prototype.toArray=function(){for(var e=new Array(this.length),t=0,r=this.head;null!==r;t++)e[t]=r.value,r=r.next;return e},e.prototype.toArrayReverse=function(){for(var e=new Array(this.length),t=0,r=this.tail;null!==r;t++)e[t]=r.value,r=r.prev;return e},e.prototype.slice=function(t,r){(r=r||this.length)<0&&(r+=this.length),(t=t||0)<0&&(t+=this.length);var i=new e;if(r<t||r<0)return i;t<0&&(t=0),r>this.length&&(r=this.length);for(var n=0,s=this.head;null!==s&&n<t;n++)s=s.next;for(;null!==s&&n<r;n++,s=s.next)i.push(s.value);return i},e.prototype.sliceReverse=function(t,r){(r=r||this.length)<0&&(r+=this.length),(t=t||0)<0&&(t+=this.length);var i=new e;if(r<t||r<0)return i;t<0&&(t=0),r>this.length&&(r=this.length);for(var n=this.length,s=this.tail;null!==s&&n>r;n--)s=s.prev;for(;null!==s&&n>t;n--,s=s.prev)i.push(s.value);return i},e.prototype.splice=function(e,r,...i){e>this.length&&(e=this.length-1),e<0&&(e=this.length+e);for(var n=0,s=this.head;null!==s&&n<e;n++)s=s.next;var a=[];for(n=0;s&&n<r;n++)a.push(s.value),s=this.removeNode(s);null===s&&(s=this.tail),s!==this.head&&s!==this.tail&&(s=s.prev);for(n=0;n<i.length;n++)s=t(this,s,i[n]);return a},e.prototype.reverse=function(){for(var e=this.head,t=this.tail,r=e;null!==r;r=r.prev){var i=r.prev;r.prev=r.next,r.next=i}return this.head=t,this.tail=e,this};try{(wv?_v:(wv=1,_v=function(e){e.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}))(e)}catch(e){}return Ov}function Dv(){if(Iv)return kv;Iv=1;class e{constructor(t,r){if(r=i(r),t instanceof e)return t.loose===!!r.loose&&t.includePrerelease===!!r.includePrerelease?t:new e(t.raw,r);if(t instanceof n)return this.raw=t.value,this.set=[[t]],this.format(),this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=t,this.set=t.split("||").map((e=>this.parseRange(e.trim()))).filter((e=>e.length)),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${t}`);if(this.set.length>1){const e=this.set[0];if(this.set=this.set.filter((e=>!v(e[0]))),0===this.set.length)this.set=[e];else if(this.set.length>1)for(const e of this.set)if(1===e.length&&p(e[0])){this.set=[e];break}}this.format()}format(){return this.range=this.set.map((e=>e.join(" ").trim())).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();const t=((this.options.includePrerelease&&h)|(this.options.loose&&f))+":"+e,i=r.get(t);if(i)return i;const a=this.options.loose,p=a?o[l.HYPHENRANGELOOSE]:o[l.HYPHENRANGE];e=e.replace(p,k(this.options.includePrerelease)),s("hyphen replace",e),e=e.replace(o[l.COMPARATORTRIM],u),s("comparator trim",e);let g=(e=(e=(e=e.replace(o[l.TILDETRIM],c)).replace(o[l.CARETTRIM],d)).split(/\s+/).join(" ")).split(" ").map((e=>y(e,this.options))).join(" ").split(/\s+/).map((e=>P(e,this.options)));a&&(g=g.filter((e=>(s("loose invalid filter",e,this.options),!!e.match(o[l.COMPARATORLOOSE]))))),s("range list",g);const m=new Map,b=g.map((e=>new n(e,this.options)));for(const e of b){if(v(e))return[e];m.set(e.value,e)}m.size>1&&m.has("")&&m.delete("");const E=[...m.values()];return r.set(t,E),E}intersects(t,r){if(!(t instanceof e))throw new TypeError("a Range is required");return this.set.some((e=>g(e,r)&&t.set.some((t=>g(t,r)&&e.every((e=>t.every((t=>e.intersects(t,r)))))))))}test(e){if(!e)return!1;if("string"==typeof e)try{e=new a(e,this.options)}catch(e){return!1}for(let t=0;t<this.set.length;t++)if(I(this.set[t],e,this.options))return!0;return!1}}kv=e;const t=function(){if(Pv)return xv;Pv=1;const e=Tv(),t=Symbol("max"),r=Symbol("length"),i=Symbol("lengthCalculator"),n=Symbol("allowStale"),s=Symbol("maxAge"),a=Symbol("dispose"),o=Symbol("noDisposeOnSet"),l=Symbol("lruList"),u=Symbol("cache"),c=Symbol("updateAgeOnGet"),d=()=>1,h=(e,t,r)=>{const i=e[u].get(t);if(i){const t=i.value;if(f(e,t)){if(p(e,i),!e[n])return}else r&&(e[c]&&(i.value.now=Date.now()),e[l].unshiftNode(i));return t.value}},f=(e,t)=>{if(!t||!t.maxAge&&!e[s])return!1;const r=Date.now()-t.now;return t.maxAge?r>t.maxAge:e[s]&&r>e[s]},v=e=>{if(e[r]>e[t])for(let i=e[l].tail;e[r]>e[t]&&null!==i;){const t=i.prev;p(e,i),i=t}},p=(e,t)=>{if(t){const i=t.value;e[a]&&e[a](i.key,i.value),e[r]-=i.length,e[u].delete(i.key),e[l].removeNode(t)}};class g{constructor(e,t,r,i,n){this.key=e,this.value=t,this.length=r,this.now=i,this.maxAge=n||0}}const y=(e,t,r,i)=>{let s=r.value;f(e,s)&&(p(e,r),e[n]||(s=void 0)),s&&t.call(i,s.value,s.key,e)};return xv=class{constructor(e){if("number"==typeof e&&(e={max:e}),e||(e={}),e.max&&("number"!=typeof e.max||e.max<0))throw new TypeError("max must be a non-negative number");this[t]=e.max||1/0;const r=e.length||d;if(this[i]="function"!=typeof r?d:r,this[n]=e.stale||!1,e.maxAge&&"number"!=typeof e.maxAge)throw new TypeError("maxAge must be a number");this[s]=e.maxAge||0,this[a]=e.dispose,this[o]=e.noDisposeOnSet||!1,this[c]=e.updateAgeOnGet||!1,this.reset()}set max(e){if("number"!=typeof e||e<0)throw new TypeError("max must be a non-negative number");this[t]=e||1/0,v(this)}get max(){return this[t]}set allowStale(e){this[n]=!!e}get allowStale(){return this[n]}set maxAge(e){if("number"!=typeof e)throw new TypeError("maxAge must be a non-negative number");this[s]=e,v(this)}get maxAge(){return this[s]}set lengthCalculator(e){"function"!=typeof e&&(e=d),e!==this[i]&&(this[i]=e,this[r]=0,this[l].forEach((e=>{e.length=this[i](e.value,e.key),this[r]+=e.length}))),v(this)}get lengthCalculator(){return this[i]}get length(){return this[r]}get itemCount(){return this[l].length}rforEach(e,t){t=t||this;for(let r=this[l].tail;null!==r;){const i=r.prev;y(this,e,r,t),r=i}}forEach(e,t){t=t||this;for(let r=this[l].head;null!==r;){const i=r.next;y(this,e,r,t),r=i}}keys(){return this[l].toArray().map((e=>e.key))}values(){return this[l].toArray().map((e=>e.value))}reset(){this[a]&&this[l]&&this[l].length&&this[l].forEach((e=>this[a](e.key,e.value))),this[u]=new Map,this[l]=new e,this[r]=0}dump(){return this[l].map((e=>!f(this,e)&&{k:e.key,v:e.value,e:e.now+(e.maxAge||0)})).toArray().filter((e=>e))}dumpLru(){return this[l]}set(e,n,c){if((c=c||this[s])&&"number"!=typeof c)throw new TypeError("maxAge must be a number");const d=c?Date.now():0,h=this[i](n,e);if(this[u].has(e)){if(h>this[t])return p(this,this[u].get(e)),!1;const i=this[u].get(e).value;return this[a]&&(this[o]||this[a](e,i.value)),i.now=d,i.maxAge=c,i.value=n,this[r]+=h-i.length,i.length=h,this.get(e),v(this),!0}const f=new g(e,n,h,d,c);return f.length>this[t]?(this[a]&&this[a](e,n),!1):(this[r]+=f.length,this[l].unshift(f),this[u].set(e,this[l].head),v(this),!0)}has(e){if(!this[u].has(e))return!1;const t=this[u].get(e).value;return!f(this,t)}get(e){return h(this,e,!0)}peek(e){return h(this,e,!1)}pop(){const e=this[l].tail;return e?(p(this,e),e.value):null}del(e){p(this,this[u].get(e))}load(e){this.reset();const t=Date.now();for(let r=e.length-1;r>=0;r--){const i=e[r],n=i.e||0;if(0===n)this.set(i.k,i.v);else{const e=n-t;e>0&&this.set(i.k,i.v,e)}}}prune(){this[u].forEach(((e,t)=>h(this,t,!1)))}},xv}(),r=new t({max:1e3}),i=lf,n=jv(),s=nf,a=bf,{re:o,t:l,comparatorTrimReplace:u,tildeTrimReplace:c,caretTrimReplace:d}=sf,{FLAG_INCLUDE_PRERELEASE:h,FLAG_LOOSE:f}=rf,v=e=>"<0.0.0-0"===e.value,p=e=>""===e.value,g=(e,t)=>{let r=!0;const i=e.slice();let n=i.pop();for(;r&&i.length;)r=i.every((e=>n.intersects(e,t))),n=i.pop();return r},y=(e,t)=>(s("comp",e,t),e=_(e,t),s("caret",e),e=b(e,t),s("tildes",e),e=O(e,t),s("xrange",e),e=x(e,t),s("stars",e),e),m=e=>!e||"x"===e.toLowerCase()||"*"===e,b=(e,t)=>e.trim().split(/\s+/).map((e=>E(e,t))).join(" "),E=(e,t)=>{const r=t.loose?o[l.TILDELOOSE]:o[l.TILDE];return e.replace(r,((t,r,i,n,a)=>{let o;return s("tilde",e,t,r,i,n,a),m(r)?o="":m(i)?o=`>=${r}.0.0 <${+r+1}.0.0-0`:m(n)?o=`>=${r}.${i}.0 <${r}.${+i+1}.0-0`:a?(s("replaceTilde pr",a),o=`>=${r}.${i}.${n}-${a} <${r}.${+i+1}.0-0`):o=`>=${r}.${i}.${n} <${r}.${+i+1}.0-0`,s("tilde return",o),o}))},_=(e,t)=>e.trim().split(/\s+/).map((e=>w(e,t))).join(" "),w=(e,t)=>{s("caret",e,t);const r=t.loose?o[l.CARETLOOSE]:o[l.CARET],i=t.includePrerelease?"-0":"";return e.replace(r,((t,r,n,a,o)=>{let l;return s("caret",e,t,r,n,a,o),m(r)?l="":m(n)?l=`>=${r}.0.0${i} <${+r+1}.0.0-0`:m(a)?l="0"===r?`>=${r}.${n}.0${i} <${r}.${+n+1}.0-0`:`>=${r}.${n}.0${i} <${+r+1}.0.0-0`:o?(s("replaceCaret pr",o),l="0"===r?"0"===n?`>=${r}.${n}.${a}-${o} <${r}.${n}.${+a+1}-0`:`>=${r}.${n}.${a}-${o} <${r}.${+n+1}.0-0`:`>=${r}.${n}.${a}-${o} <${+r+1}.0.0-0`):(s("no pr"),l="0"===r?"0"===n?`>=${r}.${n}.${a}${i} <${r}.${n}.${+a+1}-0`:`>=${r}.${n}.${a}${i} <${r}.${+n+1}.0-0`:`>=${r}.${n}.${a} <${+r+1}.0.0-0`),s("caret return",l),l}))},O=(e,t)=>(s("replaceXRanges",e,t),e.split(/\s+/).map((e=>S(e,t))).join(" ")),S=(e,t)=>{e=e.trim();const r=t.loose?o[l.XRANGELOOSE]:o[l.XRANGE];return e.replace(r,((r,i,n,a,o,l)=>{s("xRange",e,r,i,n,a,o,l);const u=m(n),c=u||m(a),d=c||m(o),h=d;return"="===i&&h&&(i=""),l=t.includePrerelease?"-0":"",u?r=">"===i||"<"===i?"<0.0.0-0":"*":i&&h?(c&&(a=0),o=0,">"===i?(i=">=",c?(n=+n+1,a=0,o=0):(a=+a+1,o=0)):"<="===i&&(i="<",c?n=+n+1:a=+a+1),"<"===i&&(l="-0"),r=`${i+n}.${a}.${o}${l}`):c?r=`>=${n}.0.0${l} <${+n+1}.0.0-0`:d&&(r=`>=${n}.${a}.0${l} <${n}.${+a+1}.0-0`),s("xRange return",r),r}))},x=(e,t)=>(s("replaceStars",e,t),e.trim().replace(o[l.STAR],"")),P=(e,t)=>(s("replaceGTE0",e,t),e.trim().replace(o[t.includePrerelease?l.GTE0PRE:l.GTE0],"")),k=e=>(t,r,i,n,s,a,o,l,u,c,d,h,f)=>`${r=m(i)?"":m(n)?`>=${i}.0.0${e?"-0":""}`:m(s)?`>=${i}.${n}.0${e?"-0":""}`:a?`>=${r}`:`>=${r}${e?"-0":""}`} ${l=m(u)?"":m(c)?`<${+u+1}.0.0-0`:m(d)?`<${u}.${+c+1}.0-0`:h?`<=${u}.${c}.${d}-${h}`:e?`<${u}.${c}.${+d+1}-0`:`<=${l}`}`.trim(),I=(e,t,r)=>{for(let r=0;r<e.length;r++)if(!e[r].test(t))return!1;if(t.prerelease.length&&!r.includePrerelease){for(let r=0;r<e.length;r++)if(s(e[r].semver),e[r].semver!==n.ANY&&e[r].semver.prerelease.length>0){const i=e[r].semver;if(i.major===t.major&&i.minor===t.minor&&i.patch===t.patch)return!0}return!1}return!0};return kv}function jv(){if(Rv)return Av;Rv=1;const e=Symbol("SemVer ANY");class t{static get ANY(){return e}constructor(i,n){if(n=r(n),i instanceof t){if(i.loose===!!n.loose)return i;i=i.value}a("comparator",i,n),this.options=n,this.loose=!!n.loose,this.parse(i),this.semver===e?this.value="":this.value=this.operator+this.semver.version,a("comp",this)}parse(t){const r=this.options.loose?i[n.COMPARATORLOOSE]:i[n.COMPARATOR],s=t.match(r);if(!s)throw new TypeError(`Invalid comparator: ${t}`);this.operator=void 0!==s[1]?s[1]:"","="===this.operator&&(this.operator=""),s[2]?this.semver=new o(s[2],this.options.loose):this.semver=e}toString(){return this.value}test(t){if(a("Comparator.test",t,this.options.loose),this.semver===e||t===e)return!0;if("string"==typeof t)try{t=new o(t,this.options)}catch(e){return!1}return s(t,this.operator,this.semver,this.options)}intersects(e,i){if(!(e instanceof t))throw new TypeError("a Comparator is required");return""===this.operator?""===this.value||new l(e.value,i).test(this.value):""===e.operator?""===e.value||new l(this.value,i).test(e.semver):(!(i=r(i)).includePrerelease||"<0.0.0-0"!==this.value&&"<0.0.0-0"!==e.value)&&(!(!i.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0")))&&(!(!this.operator.startsWith(">")||!e.operator.startsWith(">"))||(!(!this.operator.startsWith("<")||!e.operator.startsWith("<"))||(!(this.semver.version!==e.semver.version||!this.operator.includes("=")||!e.operator.includes("="))||(!!(s(this.semver,"<",e.semver,i)&&this.operator.startsWith(">")&&e.operator.startsWith("<"))||!!(s(this.semver,">",e.semver,i)&&this.operator.startsWith("<")&&e.operator.startsWith(">")))))))}}Av=t;const r=lf,{re:i,t:n}=sf,s=gv,a=nf,o=bf,l=Dv();return Av}const $v=Dv();var Nv=(e,t,r)=>{try{t=new $v(t,r)}catch(e){return!1}return t.test(e)};const Fv=Dv();var Cv=(e,t)=>new Fv(e,t).set.map((e=>e.map((e=>e.value)).join(" ").trim().split(" ")));const Lv=bf,Bv=Dv();var Vv=(e,t,r)=>{let i=null,n=null,s=null;try{s=new Bv(t,r)}catch(e){return null}return e.forEach((e=>{s.test(e)&&(i&&-1!==n.compare(e)||(i=e,n=new Lv(i,r)))})),i};const Uv=bf,zv=Dv();var Kv=(e,t,r)=>{let i=null,n=null,s=null;try{s=new zv(t,r)}catch(e){return null}return e.forEach((e=>{s.test(e)&&(i&&1!==n.compare(e)||(i=e,n=new Uv(i,r)))})),i};const Hv=bf,qv=Dv(),Gv=tv;var Wv=(e,t)=>{e=new qv(e,t);let r=new Hv("0.0.0");if(e.test(r))return r;if(r=new Hv("0.0.0-0"),e.test(r))return r;r=null;for(let t=0;t<e.set.length;++t){const i=e.set[t];let n=null;i.forEach((e=>{const t=new Hv(e.semver.version);switch(e.operator){case">":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":n&&!Gv(t,n)||(n=t);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${e.operator}`)}})),!n||r&&!Gv(r,n)||(r=n)}return r&&e.test(r)?r:null};const Xv=Dv();var Jv=(e,t)=>{try{return new Xv(e,t).range||"*"}catch(e){return null}};const Yv=bf,Zv=jv(),{ANY:Qv}=Zv,ep=Dv(),tp=Nv,rp=tv,ip=iv,np=uv,sp=ov;var ap=(e,t,r,i)=>{let n,s,a,o,l;switch(e=new Yv(e,i),t=new ep(t,i),r){case">":n=rp,s=np,a=ip,o=">",l=">=";break;case"<":n=ip,s=sp,a=rp,o="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(tp(e,t,i))return!1;for(let r=0;r<t.set.length;++r){const u=t.set[r];let c=null,d=null;if(u.forEach((e=>{e.semver===Qv&&(e=new Zv(">=0.0.0")),c=c||e,d=d||e,n(e.semver,c.semver,i)?c=e:a(e.semver,d.semver,i)&&(d=e)})),c.operator===o||c.operator===l)return!1;if((!d.operator||d.operator===o)&&s(e,d.semver))return!1;if(d.operator===l&&a(e,d.semver))return!1}return!0};const op=ap;var lp=(e,t,r)=>op(e,t,">",r);const up=ap;var cp=(e,t,r)=>up(e,t,"<",r);const dp=Dv();var hp=(e,t,r)=>(e=new dp(e,r),t=new dp(t,r),e.intersects(t,r));const fp=Nv,vp=Rf;const pp=Dv(),gp=jv(),{ANY:yp}=gp,mp=Nv,bp=Rf,Ep=[new gp(">=0.0.0-0")],_p=[new gp(">=0.0.0")],wp=(e,t,r)=>{if(e===t)return!0;if(1===e.length&&e[0].semver===yp){if(1===t.length&&t[0].semver===yp)return!0;e=r.includePrerelease?Ep:_p}if(1===t.length&&t[0].semver===yp){if(r.includePrerelease)return!0;t=_p}const i=new Set;let n,s,a,o,l,u,c;for(const t of e)">"===t.operator||">="===t.operator?n=Op(n,t,r):"<"===t.operator||"<="===t.operator?s=Sp(s,t,r):i.add(t.semver);if(i.size>1)return null;if(n&&s){if(a=bp(n.semver,s.semver,r),a>0)return null;if(0===a&&(">="!==n.operator||"<="!==s.operator))return null}for(const e of i){if(n&&!mp(e,String(n),r))return null;if(s&&!mp(e,String(s),r))return null;for(const i of t)if(!mp(e,String(i),r))return!1;return!0}let d=!(!s||r.includePrerelease||!s.semver.prerelease.length)&&s.semver,h=!(!n||r.includePrerelease||!n.semver.prerelease.length)&&n.semver;d&&1===d.prerelease.length&&"<"===s.operator&&0===d.prerelease[0]&&(d=!1);for(const e of t){if(c=c||">"===e.operator||">="===e.operator,u=u||"<"===e.operator||"<="===e.operator,n)if(h&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===h.major&&e.semver.minor===h.minor&&e.semver.patch===h.patch&&(h=!1),">"===e.operator||">="===e.operator){if(o=Op(n,e,r),o===e&&o!==n)return!1}else if(">="===n.operator&&!mp(n.semver,String(e),r))return!1;if(s)if(d&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===d.major&&e.semver.minor===d.minor&&e.semver.patch===d.patch&&(d=!1),"<"===e.operator||"<="===e.operator){if(l=Sp(s,e,r),l===e&&l!==s)return!1}else if("<="===s.operator&&!mp(s.semver,String(e),r))return!1;if(!e.operator&&(s||n)&&0!==a)return!1}return!(n&&u&&!s&&0!==a)&&(!(s&&c&&!n&&0!==a)&&(!h&&!d))},Op=(e,t,r)=>{if(!e)return t;const i=bp(e.semver,t.semver,r);return i>0?e:i<0||">"===t.operator&&">="===e.operator?t:e},Sp=(e,t,r)=>{if(!e)return t;const i=bp(e.semver,t.semver,r);return i<0?e:i>0||"<"===t.operator&&"<="===e.operator?t:e};var xp=(e,t,r={})=>{if(e===t)return!0;e=new pp(e,r),t=new pp(t,r);let i=!1;e:for(const n of e.set){for(const e of t.set){const t=wp(n,e,r);if(i=i||null!==t,t)continue e}if(i)return!1}return!0};const Pp=sf,kp=rf,Ip=bf,Ap=df,Rp=(e,t,r)=>{const i=[];let n=null,s=null;const a=e.sort(((e,t)=>vp(e,t,r)));for(const e of a){fp(e,t,r)?(s=e,n||(n=e)):(s&&i.push([n,s]),s=null,n=null)}n&&i.push([n,null]);const o=[];for(const[e,t]of i)e===t?o.push(e):t||e!==a[0]?t?e===a[0]?o.push(`<=${t}`):o.push(`${e} - ${t}`):o.push(`>=${e}`):o.push("*");const l=o.join(" || "),u="string"==typeof t.raw?t.raw:String(t);return l.length<u.length?l:t};var Mp={parse:wf,valid:Sf,clean:Pf,inc:If,diff:$f,major:Ff,minor:Lf,patch:Vf,prerelease:zf,compare:Rf,rcompare:Hf,compareLoose:Gf,compareBuild:Xf,sort:Yf,rsort:Qf,gt:tv,lt:iv,eq:Tf,neq:sv,gte:ov,lte:uv,cmp:gv,coerce:Mv,Comparator:jv(),Range:Dv(),satisfies:Nv,toComparators:Cv,maxSatisfying:Vv,minSatisfying:Kv,minVersion:Wv,validRange:Jv,outside:ap,gtr:lp,ltr:cp,intersects:hp,simplifyRange:Rp,subset:xp,SemVer:Ip,re:Pp.re,src:Pp.src,tokens:Pp.t,SEMVER_SPEC_VERSION:kp.SEMVER_SPEC_VERSION,RELEASE_TYPES:kp.RELEASE_TYPES,compareIdentifiers:Ap.compareIdentifiers,rcompareIdentifiers:Ap.rcompareIdentifiers};Object.defineProperty(ef,"__esModule",{value:!0});const Tp=wu,Dp=Mp,jp=/^\d+(\.\d+)?(\.\d+)?/;function $p(e){if(Tp.TypeValidators.String.is(e)&&!e.startsWith("v")){const t=(0,Dp.parse)(e);if(t)return t;const r=jp.exec(e);if(r){let t=r[0];for(let e=1;e<r.length;e+=1)void 0===r[e]&&(t+=".0");return t+=e.substring(r[0].length),(0,Dp.parse)(t)}}return null}function Np(e){return(t,r)=>{const i=$p(t),n=$p(r);return!!(i&&n&&e(i,n))}}function Fp(e,t,r){return(i,n)=>!(!t.is(i)||!t.is(n))&&(r?e(r(i),r(n)):e(i,n))}function Cp(e){return"number"==typeof e?e:Date.parse(e)}const Lp={in:(e,t)=>e===t,endsWith:Fp(((e,t)=>e.endsWith(t)),Tp.TypeValidators.String),startsWith:Fp(((e,t)=>e.startsWith(t)),Tp.TypeValidators.String),matches:Fp(((e,t)=>function(e,t){try{return new RegExp(e).test(t)}catch(e){return!1}}(t,e)),Tp.TypeValidators.String),contains:Fp(((e,t)=>e.indexOf(t)>-1),Tp.TypeValidators.String),lessThan:Fp(((e,t)=>e<t),Tp.TypeValidators.Number),lessThanOrEqual:Fp(((e,t)=>e<=t),Tp.TypeValidators.Number),greaterThan:Fp(((e,t)=>e>t),Tp.TypeValidators.Number),greaterThanOrEqual:Fp(((e,t)=>e>=t),Tp.TypeValidators.Number),before:Fp(((e,t)=>e<t),Tp.TypeValidators.Date,Cp),after:Fp(((e,t)=>e>t),Tp.TypeValidators.Date,Cp),semVerEqual:Np(((e,t)=>0===e.compare(t))),semVerLessThan:Np(((e,t)=>e.compare(t)<0)),semVerGreaterThan:Np(((e,t)=>e.compare(t)>0))};ef.default=class{static is(e){return Object.prototype.hasOwnProperty.call(Lp,e)}static execute(e,t,r){var i,n;return null!==(n=null===(i=Lp[e])||void 0===i?void 0:i.call(Lp,t,r))&&void 0!==n&&n}},Object.defineProperty(Qh,"__esModule",{value:!0});const Bp=ef;function Vp(e,t){return e.negate?!t:t}function Up(e,t,r){return r.some((r=>Bp.default.execute(e,t,r)))}Qh.default=function(e,t){const r=t.valueForKind(e.attributeReference,e.contextKind);return null!=r&&(Array.isArray(r)?Vp(e,r.some((t=>Up(e.op,t,e.values)))):Vp(e,Up(e.op,r,e.values)))};var zp={};function Kp(e,t,r){if(t)for(let r=0;r<t.length;r+=1){const i=t[r],n=e.key(i.contextKind);if(n&&i.values.includes(n))return!0}if(r){const t=e.key("user");if(t&&r.includes(t))return!0}return!1}Object.defineProperty(zp,"__esModule",{value:!0}),zp.default=function(e,t){if(Kp(t,e.includedContexts,e.included))return!0;const r=Kp(t,e.excludedContexts,e.excluded);return r?!r:void 0};var Hp={};Object.defineProperty(Hp,"__esModule",{value:!0}),Hp.default=function(e){return`${e.key}.g${e.generation}`};var qp=t&&t.__awaiter||function(e,t,r,i){return new(r||(r=Promise))((function(n,s){function a(e){try{l(i.next(e))}catch(e){s(e)}}function o(e){try{l(i.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,o)}l((i=i.apply(e,t||[])).next())}))};Object.defineProperty(Lh,"__esModule",{value:!0});const Gp=jh,Wp=Bh,Xp=$h,Jp=Dh,Yp=qh,Zp=Ah,Qp=Zh,eg=Qh,tg=zp,rg=Hp,ig={HEALTHY:1,STALE:2,STORE_ERROR:3,NOT_CONFIGURED:4};function ng(e){return void 0!==e&&ig[e]||0}function sg(e,t){return void 0!==e&&ng(e)>ng(t)?e:t}class ag{}class og{constructor(e){this.isMatch=e,this.error=!1}}class lg{constructor(e){this.result=e,this.error=!0,this.isMatch=!1}}Lh.default=class{constructor(e,t){this.queries=t,this.bucketer=new Qp.default(e.crypto)}evaluate(e,t,r){return qp(this,void 0,void 0,(function*(){const i=new ag,n=yield this.evaluateInternal(e,t,i,[],r);return i.bigSegmentsStatus&&(n.detail.reason.bigSegmentsStatus=i.bigSegmentsStatus),n.events=i.events,n}))}evaluateInternal(e,t,r,i,n){return qp(this,void 0,void 0,(function*(){if(!e.on)return(0,Wp.getOffVariation)(e,Xp.default.Off);const s=yield this.checkPrerequisites(e,t,r,i,n);if(s)return s;const a=(0,Yp.default)(e,t);if(a)return a;const o=yield this.evaluateRules(e,t,r);return o||this.variationForContext(e.fallthrough,t,e,Xp.default.Fallthrough)}))}checkPrerequisites(e,t,r,i,n){return qp(this,void 0,void 0,(function*(){let s;if(e.prerequisites&&e.prerequisites.length)return yield(0,Zp.allSeriesAsync)(e.prerequisites,(a=>qp(this,void 0,void 0,(function*(){var o;if(-1!==i.indexOf(a.key))return s=Gp.default.forError(Jp.default.MalformedFlag,`Prerequisite of ${e.key} causing a circular reference. This is probably a temporary condition due to an incomplete update.`),!1;const l=[...i,a.key],u=yield this.queries.getFlag(a.key);if(!u)return s=(0,Wp.getOffVariation)(e,Xp.default.prerequisiteFailed(a.key)),!1;const c=yield this.evaluateInternal(u,t,r,l,n);return r.events=null!==(o=r.events)&&void 0!==o?o:[],n&&r.events.push(n.evalEvent(u,t,c.detail,null,e)),c.isError?(s=c,!1):!c.isOff&&c.detail.variationIndex===a.variation||(s=(0,Wp.getOffVariation)(e,Xp.default.prerequisiteFailed(a.key)),!1)})))),s||void 0}))}evaluateRules(e,t,r){return qp(this,void 0,void 0,(function*(){let i;return yield(0,Zp.firstSeriesAsync)(e.rules,((n,s)=>qp(this,void 0,void 0,(function*(){return i=yield this.ruleMatchContext(e,n,s,t,r,[]),!!i})))),i}))}clauseMatchContext(e,t,r,i){return qp(this,void 0,void 0,(function*(){let n;if("segmentMatch"===e.op){const s=yield(0,Zp.firstSeriesAsync)(e.values,(e=>qp(this,void 0,void 0,(function*(){const s=yield this.queries.getSegment(e);if(s){if(r.includes(s.key))return n=Gp.default.forError(Jp.default.MalformedFlag,`Segment rule referencing segment ${s.key} caused a circular reference. This is probably a temporary condition due to an incomplete update`),!0;const e=[...r,null==s?void 0:s.key],a=yield this.segmentMatchContext(s,t,i,e);return a.error&&(n=a.result),a.error||a.isMatch}return!1}))));return n?new lg(n):new og(s)}return e.attributeReference.isValid?new og((0,eg.default)(e,t)):new lg(Gp.default.forError(Jp.default.MalformedFlag,"Invalid attribute reference in clause"))}))}ruleMatchContext(e,t,r,i,n,s){return qp(this,void 0,void 0,(function*(){if(!t.clauses)return;let a;const o=yield(0,Zp.allSeriesAsync)(t.clauses,(e=>qp(this,void 0,void 0,(function*(){const t=yield this.clauseMatchContext(e,i,s,n);return a=t.result,t.error||t.isMatch}))));return a||(o?this.variationForContext(t,i,e,Xp.default.ruleMatch(t.id,r)):void 0)}))}variationForContext(e,t,r,i){if(void 0===e)return Gp.default.forError(Jp.default.MalformedFlag,"Fallthrough variation undefined");if(void 0!==e.variation)return(0,Wp.getVariation)(r,e.variation,i);if(e.rollout){const{rollout:n}=e,{variations:s}=n,a="experiment"===n.kind;if(s&&s.length){const e=(0,Wp.getBucketBy)(a,n.bucketByAttributeReference);if(!e.isValid)return Gp.default.forError(Jp.default.MalformedFlag,"Invalid attribute reference for bucketBy in rollout");const[o,l]=this.bucketer.bucket(t,r.key,e,r.salt||"",n.contextKind,n.seed),u=Object.assign({},i);let c=0;for(let e=0;e<s.length;e+=1){const t=s[e];if(c+=t.weight/1e5,o<c)return a&&l&&!t.untracked&&(u.inExperiment=!0),(0,Wp.getVariation)(r,t.variation,u)}const d=s[s.length-1];return a&&!d.untracked&&(u.inExperiment=!0),(0,Wp.getVariation)(r,d.variation,u)}}return Gp.default.forError(Jp.default.MalformedFlag,"Variation/rollout object with no variation or rollout")}segmentRuleMatchContext(e,t,r,i,n){return qp(this,void 0,void 0,(function*(){let s;const a=yield(0,Zp.allSeriesAsync)(t.clauses,(e=>qp(this,void 0,void 0,(function*(){const t=yield this.clauseMatchContext(e,r,n,i);return s=t.result,t.error||t.isMatch}))));if(s)return new lg(s);if(a){if(void 0===t.weight)return new og(a);const i=(0,Wp.getBucketBy)(!1,t.bucketByAttributeReference);if(!i.isValid)return new lg(Gp.default.forError(Jp.default.MalformedFlag,"Invalid attribute reference in clause"));const[n]=this.bucketer.bucket(r,e.key,i,e.salt||"",t.rolloutContextKind);return new og(n<t.weight/1e5)}return new og(!1)}))}simpleSegmentMatchContext(e,t,r,i){return qp(this,void 0,void 0,(function*(){const n=(0,tg.default)(e,t);if(void 0!==n)return new og(n);let s;const a=yield(0,Zp.firstSeriesAsync)(e.rules,(n=>qp(this,void 0,void 0,(function*(){const a=yield this.segmentRuleMatchContext(e,n,t,r,i);return s=a.result,a.error||a.isMatch}))));return s?new lg(s):new og(a)}))}segmentMatchContext(e,t,r,i){return qp(this,void 0,void 0,(function*(){if(!e.unbounded)return this.simpleSegmentMatchContext(e,t,r,i);if(!e.generation)return r.bigSegmentsStatus=sg(r.bigSegmentsStatus,"NOT_CONFIGURED"),new og(!1);const n=e.unboundedContextKind||"user",s=t.key(n);if(void 0===s)return new og(!1);if(r.bigSegmentsMembership&&r.bigSegmentsMembership[s])return this.bigSegmentMatchContext(r.bigSegmentsMembership[s],e,t,r);const a=yield this.queries.getBigSegmentsMembership(s);if(r.bigSegmentsMembership=r.bigSegmentsMembership||{},a){const[e,t]=a;r.bigSegmentsMembership[s]=e,r.bigSegmentsStatus=sg(r.bigSegmentsStatus,t)}else r.bigSegmentsStatus=sg(r.bigSegmentsStatus,"NOT_CONFIGURED");return this.bigSegmentMatchContext(r.bigSegmentsMembership[s],e,t,r)}))}bigSegmentMatchContext(e,t,r,i){return qp(this,void 0,void 0,(function*(){const n=(0,rg.default)(t);return(null==e?void 0:e[n])?new og(!0):this.simpleSegmentMatchContext(t,r,i,[])}))}};var ug={};Object.defineProperty(ug,"__esModule",{value:!0});const cg=Dd;ug.default=class{constructor(e){this.contextKeysCache=new cg.default({max:e.contextKeysCapacity}),this.flushInterval=e.contextKeysFlushInterval}processContext(e){const{canonicalKey:t}=e,r=this.contextKeysCache.get(t);return this.contextKeysCache.set(t,!0),!r}flush(){this.contextKeysCache.clear()}};var dg={},hg={},fg={};Object.defineProperty(fg,"__esModule",{value:!0});fg.default=class{constructor(){this.allData={},this.initCalled=!1}addItem(e,t,r){let i=this.allData[e.namespace];if(i||(i={},this.allData[e.namespace]=i),Object.hasOwnProperty.call(i,t)){const e=i[t];(!e||e.version<r.version)&&(i[t]=r)}else i[t]=r}get(e,t,r){const i=this.allData[e.namespace];if(i&&Object.prototype.hasOwnProperty.call(i,t)){const e=i[t];if(e&&!e.deleted)return null==r?void 0:r(e)}return null==r?void 0:r(null)}all(e,t){var r;const i={},n=null!==(r=this.allData[e.namespace])&&void 0!==r?r:{};Object.entries(n).forEach((([e,t])=>{t&&!t.deleted&&(i[e]=t)})),null==t||t(i)}init(e,t){this.initCalled=!0,this.allData=e,null==t||t()}delete(e,t,r,i){const n={version:r,deleted:!0};this.addItem(e,t,n),null==i||i()}upsert(e,t,r){this.addItem(e,t.key,t),null==r||r()}initialized(e){return null==e?void 0:e(this.initCalled)}close(){}getDescription(){return"memory"}},function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.defaultValues=void 0;const t=wu,r=fg,i={baseUri:t.TypeValidators.String,streamUri:t.TypeValidators.String,eventsUri:t.TypeValidators.String,timeout:t.TypeValidators.Number,capacity:t.TypeValidators.Number,logger:t.TypeValidators.Object,featureStore:t.TypeValidators.ObjectOrFactory,bigSegments:t.TypeValidators.Object,updateProcessor:t.TypeValidators.ObjectOrFactory,flushInterval:t.TypeValidators.Number,pollInterval:t.TypeValidators.numberWithMin(30),proxyOptions:t.TypeValidators.Object,offline:t.TypeValidators.Boolean,stream:t.TypeValidators.Boolean,streamInitialReconnectDelay:t.TypeValidators.Number,useLdd:t.TypeValidators.Boolean,sendEvents:t.TypeValidators.Boolean,allAttributesPrivate:t.TypeValidators.Boolean,privateAttributes:t.TypeValidators.StringArray,contextKeysCapacity:t.TypeValidators.Number,contextKeysFlushInterval:t.TypeValidators.Number,tlsParams:t.TypeValidators.Object,diagnosticOptOut:t.TypeValidators.Boolean,diagnosticRecordingInterval:t.TypeValidators.numberWithMin(60),wrapperName:t.TypeValidators.String,wrapperVersion:t.TypeValidators.String,application:t.TypeValidators.Object};e.defaultValues={baseUri:"https://sdk.launchdarkly.com",streamUri:"https://stream.launchdarkly.com",eventsUri:"https://events.launchdarkly.com",stream:!0,streamInitialReconnectDelay:1,sendEvents:!0,timeout:5,capacity:1e4,flushInterval:5,pollInterval:30,offline:!1,useLdd:!1,allAttributesPrivate:!1,privateAttributes:[],contextKeysCapacity:1e3,contextKeysFlushInterval:300,diagnosticOptOut:!1,diagnosticRecordingInterval:900,featureStore:()=>new r.default};e.default=class{constructor(r={}){r=r||{},this.logger=r.logger;const{errors:n,validatedOptions:s}=function(r){const n=[],s=Object.assign({},e.defaultValues);return Object.keys(r).forEach((a=>{var o;const l=r[a],u=i[a];if(u)if(u.is(l))s[a]=l;else if("boolean"===u.getType())n.push(t.OptionMessages.wrongOptionTypeBoolean(a,typeof l)),s[a]=!!l;else if(u instanceof t.NumberWithMinimum&&t.TypeValidators.Number.is(l)){const{min:e}=u;n.push(t.OptionMessages.optionBelowMinimum(a,l,e)),s[a]=e}else n.push(t.OptionMessages.wrongOptionType(a,u.getType(),typeof l)),s[a]=e.defaultValues[a];else null===(o=r.logger)||void 0===o||o.warn(t.OptionMessages.unknownOption(a))})),{errors:n,validatedOptions:s}}(r);n.forEach((e=>{var t;null===(t=this.logger)||void 0===t||t.warn(e)})),function(e,r){var i,n,s;const{baseUri:a,streamUri:o,eventsUri:l}=e,u=null!=o,c=null!=a,d=null!=l;u===c&&u===d||(!u&&r.stream&&(null===(i=r.logger)||void 0===i||i.warn(t.OptionMessages.partialEndpoint("streamUri"))),c||null===(n=r.logger)||void 0===n||n.warn(t.OptionMessages.partialEndpoint("baseUri")),!d&&r.sendEvents&&(null===(s=r.logger)||void 0===s||s.warn(t.OptionMessages.partialEndpoint("eventsUri"))))}(r,s),this.serviceEndpoints=new t.ServiceEndpoints(s.streamUri,s.baseUri,s.eventsUri),this.eventsCapacity=s.capacity,this.timeout=s.timeout,this.bigSegments=s.bigSegments,this.flushInterval=s.flushInterval,this.pollInterval=s.pollInterval,this.proxyOptions=s.proxyOptions,this.offline=s.offline,this.stream=s.stream,this.streamInitialReconnectDelay=s.streamInitialReconnectDelay,this.useLdd=s.useLdd,this.sendEvents=s.sendEvents,this.allAttributesPrivate=s.allAttributesPrivate,this.privateAttributes=s.privateAttributes,this.contextKeysCapacity=s.contextKeysCapacity,this.contextKeysFlushInterval=s.contextKeysFlushInterval,this.tlsParams=s.tlsParams,this.diagnosticOptOut=s.diagnosticOptOut,this.wrapperName=s.wrapperName,this.wrapperVersion=s.wrapperVersion,this.tags=new t.ApplicationTags(s),this.diagnosticRecordingInterval=s.diagnosticRecordingInterval,t.TypeValidators.Function.is(s.updateProcessor)?this.updateProcessorFactory=s.updateProcessor:this.updateProcessorFactory=()=>s.updateProcessor,t.TypeValidators.Function.is(s.featureStore)?this.featureStoreFactory=s.featureStore:this.featureStoreFactory=()=>s.featureStore}}}(hg),Object.defineProperty(dg,"__esModule",{value:!0});const vg=hg;function pg(e){return Math.trunc(1e3*e)}dg.default=class{constructor(e,t,r,i){this.config=t,this.platform=r,this.featureStore=i,this.streamInits=[],this.startTime=Date.now(),this.dataSinceDate=this.startTime,this.id={diagnosticId:r.crypto.randomUUID(),sdkKeySuffix:e.length>6?e.substring(e.length-6):e}}createInitEvent(){var e,t,r,i,n,s,a,o,l,u;const c=this.platform.info.sdkData(),d=this.platform.info.platformData();return{kind:"diagnostic-init",id:this.id,creationDate:this.startTime,sdk:c,configuration:{customBaseURI:this.config.serviceEndpoints.polling!==vg.defaultValues.baseUri,customStreamURI:this.config.serviceEndpoints.streaming!==vg.defaultValues.streamUri,customEventsURI:this.config.serviceEndpoints.events!==vg.defaultValues.eventsUri,eventsCapacity:this.config.eventsCapacity,connectTimeoutMillis:pg(this.config.timeout),socketTimeoutMillis:pg(this.config.timeout),eventsFlushIntervalMillis:pg(this.config.flushInterval),pollingIntervalMillis:pg(this.config.pollInterval),reconnectTimeMillis:pg(this.config.streamInitialReconnectDelay),streamingDisabled:!this.config.stream,usingRelayDaemon:this.config.useLdd,offline:this.config.offline,allAttributesPrivate:this.config.allAttributesPrivate,contextKeysCapacity:this.config.contextKeysCapacity,contextKeysFlushIntervalMillis:pg(this.config.contextKeysFlushInterval),usingProxy:!!(null===(t=(e=this.platform.requests).usingProxy)||void 0===t?void 0:t.call(e)),usingProxyAuthenticator:!!(null===(i=(r=this.platform.requests).usingProxyAuth)||void 0===i?void 0:i.call(r)),diagnosticRecordingIntervalMillis:pg(this.config.diagnosticRecordingInterval),dataStoreType:null!==(a=null===(s=(n=this.featureStore).getDescription)||void 0===s?void 0:s.call(n))&&void 0!==a?a:"memory"},platform:Object.assign({name:d.name,osArch:null===(o=d.os)||void 0===o?void 0:o.arch,osName:null===(l=d.os)||void 0===l?void 0:l.name,osVersion:null===(u=d.os)||void 0===u?void 0:u.version},d.additional||{})}}recordStreamInit(e,t,r){const i={timestamp:e,failed:t,durationMillis:r};this.streamInits.push(i)}createStatsEventAndReset(e,t,r){const i=Date.now(),n={kind:"diagnostic",id:this.id,creationDate:i,dataSinceDate:this.dataSinceDate,droppedEvents:e,deduplicatedUsers:t,eventsInLastBatch:r,streamInits:this.streamInits};return this.streamInits=[],this.dataSinceDate=i,n}};var gg={},yg={};Object.defineProperty(yg,"__esModule",{value:!0}),yg.default=function(e,t){if(t){if(t.inExperiment)return!0;switch(t.kind){case"RULE_MATCH":{const r=t.ruleIndex;if(void 0!==r){const t=e.rules||[];return r>=0&&r<t.length&&!!t[r].trackEvents}break}case"FALLTHROUGH":return!!e.trackEventsFallthrough}}return!1},Object.defineProperty(gg,"__esModule",{value:!0});const mg=wu,bg=yg;gg.default=class{constructor(e){this.withReasons=e}evalEvent(e,t,r,i,n){var s;const a=(0,bg.default)(e,r.reason);return new mg.internal.InputEvalEvent(this.withReasons,t,e.key,i,r,e.version,null!==(s=r.variationIndex)&&void 0!==s?s:void 0,e.trackEvents||a,null==n?void 0:n.key,this.withReasons||a?r.reason:void 0,e.debugEventsUntilDate)}unknownFlagEvent(e,t,r){return new mg.internal.InputEvalEvent(this.withReasons,t,e,r.value,r)}identifyEvent(e){return new mg.internal.InputIdentifyEvent(e)}customEvent(e,t,r,i){return new mg.internal.InputCustomEvent(t,e,null!=r?r:void 0,null!=i?i:void 0)}};var Eg={},_g=t&&t.__awaiter||function(e,t,r,i){return new(r||(r=Promise))((function(n,s){function a(e){try{l(i.next(e))}catch(e){s(e)}}function o(e){try{l(i.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,o)}l((i=i.apply(e,t||[])).next())}))};Object.defineProperty(Eg,"__esModule",{value:!0});const wg=wu,Og=mh,Sg=hh,xg=Zd;Eg.default=class{constructor(e,t){this.defaultHeaders=Object.assign({},(0,Og.default)(t.basicConfiguration.sdkKey,e,t.platform.info)),this.eventsUri=`${t.basicConfiguration.serviceEndpoints.events}/bulk`,this.diagnosticEventsUri=`${t.basicConfiguration.serviceEndpoints.events}/diagnostic`,this.requests=t.platform.requests,this.crypto=t.platform.crypto}tryPostingEvents(e,t,r,i){return _g(this,void 0,void 0,(function*(){const n={status:wg.subsystem.LDDeliveryStatus.Succeeded},s=Object.assign({},this.defaultHeaders);let a;r&&(s["x-launchdarkly-payload-id"]=r,s["x-launchDarkly-event-schema"]="4");try{const r=yield this.requests.fetch(t,{headers:s,body:JSON.stringify(e),method:"POST"}),i=Date.parse(r.headers.get("date")||"");if(i&&(n.serverTime=i),r.status<=204)return n;if(a=new xg.LDUnexpectedResponseError((0,Sg.default)({status:r.status,message:"some events were dropped"},"event posting")),!(0,xg.isHttpRecoverable)(r.status))return n.status=wg.subsystem.LDDeliveryStatus.FailedAndMustShutDown,n.error=a,n}catch(e){a=e}return a&&!i?(n.status=wg.subsystem.LDDeliveryStatus.Failed,n.error=a,n):(yield new Promise((e=>{})),this.tryPostingEvents(e,this.eventsUri,r,!1))}))}sendEventData(e,t){return _g(this,void 0,void 0,(function*(){const r=e===wg.subsystem.LDEventType.AnalyticsEvents?this.crypto.randomUUID():void 0,i=e===wg.subsystem.LDEventType.AnalyticsEvents?this.eventsUri:this.diagnosticEventsUri;return this.tryPostingEvents(t,i,r,!0)}))}};var Pg={},kg=t&&t.__awaiter||function(e,t,r,i){return new(r||(r=Promise))((function(n,s){function a(e){try{l(i.next(e))}catch(e){s(e)}}function o(e){try{l(i.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,o)}l((i=i.apply(e,t||[])).next())}))};Object.defineProperty(Pg,"__esModule",{value:!0});Pg.default=class{close(){}flush(){return kg(this,void 0,void 0,(function*(){}))}sendEvent(e){}};var Ig={};Object.defineProperty(Ig,"__esModule",{value:!0});Ig.default=class{constructor(e,t){this.valid=e,this.withReasons=t,this.flagValues={},this.flagMetadata={}}addFlag(e,t,r,i,n,s,a){this.flagValues[e.key]=t;const o={};void 0!==r&&(o.variation=r);const l=a&&!n&&!s&&void 0===e.debugEventsUntilDate;l||(o.version=e.version),i&&(s||this.withReasons&&!l)&&(o.reason=i),n&&(o.trackEvents=!0),s&&(o.trackReason=!0),void 0!==e.debugEventsUntilDate&&(o.debugEventsUntilDate=e.debugEventsUntilDate),this.flagMetadata[e.key]=o}build(){const e=this;return{valid:e.valid,allValues:()=>e.flagValues,getFlagValue:t=>e.flagValues[t],getFlagReason:t=>{var r;return null!==(r=e.flagMetadata[t]?e.flagMetadata[t].reason:null)&&void 0!==r?r:null},toJSON:()=>Object.assign(Object.assign({},e.flagValues),{$flagsState:e.flagMetadata,$valid:e.valid})}}};var Ag={},Rg={};Object.defineProperty(Rg,"__esModule",{value:!0}),Rg.default=function(e){return new Promise((t=>{e((e=>{t(e)}))}))};var Mg=t&&t.__awaiter||function(e,t,r,i){return new(r||(r=Promise))((function(n,s){function a(e){try{l(i.next(e))}catch(e){s(e)}}function o(e){try{l(i.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,o)}l((i=i.apply(e,t||[])).next())}))};Object.defineProperty(Ag,"__esModule",{value:!0});const Tg=Rg;Ag.default=class{constructor(e){this.store=e}get(e,t){return Mg(this,void 0,void 0,(function*(){return(0,Tg.default)((r=>{this.store.get(e,t,r)}))}))}all(e){return Mg(this,void 0,void 0,(function*(){return(0,Tg.default)((t=>{this.store.all(e,t)}))}))}init(e){return Mg(this,void 0,void 0,(function*(){return(0,Tg.default)((t=>{this.store.init(e,t)}))}))}delete(e,t,r){return Mg(this,void 0,void 0,(function*(){return(0,Tg.default)((i=>{this.store.delete(e,t,r,i)}))}))}upsert(e,t){return Mg(this,void 0,void 0,(function*(){return(0,Tg.default)((r=>{this.store.upsert(e,t,r)}))}))}initialized(){return Mg(this,void 0,void 0,(function*(){return(0,Tg.default)((e=>{this.store.initialized(e)}))}))}close(){this.store.close()}};var Dg=t&&t.__awaiter||function(e,t,r,i){return new(r||(r=Promise))((function(n,s){function a(e){try{l(i.next(e))}catch(e){s(e)}}function o(e){try{l(i.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,o)}l((i=i.apply(e,t||[])).next())}))};Object.defineProperty(_u,"__esModule",{value:!0});const jg=wu,$g=Rd,Ng=Cd,Fg=Bd,Cg=Jd,Lg=Yd,Bg=yh,Vg=wh,Ug=Zd,zg=Ah,Kg=Dh,Hg=jh,qg=Lh,Gg=ug,Wg=dg,Xg=gg,Jg=Eg,Yg=yg,Zg=Pg,Qg=Ig,ey=hg,ty=Ag,ry=Vd;var iy;!function(e){e[e.Initializing=0]="Initializing",e[e.Initialized=1]="Initialized",e[e.Failed=2]="Failed"}(iy||(iy={}));_u.default=class{constructor(e,t,r,i){var n,s,a,o,l;this.sdkKey=e,this.platform=t,this.initState=iy.Initializing,this.eventFactoryDefault=new Xg.default(!1),this.eventFactoryWithReasons=new Xg.default(!0),this.onError=i.onError,this.onFailed=i.onFailed,this.onReady=i.onReady;const{onUpdate:u,hasEventListeners:c}=i,d=new ey.default(r);if(!e&&!d.offline)throw new Error("You must configure the client with an SDK key");this.config=d,this.logger=d.logger;const h=new jg.ClientContext(e,d,t),f=d.featureStoreFactory(h),v=new Fg.default(f,c,u);!d.sendEvents||d.offline||d.diagnosticOptOut||(this.diagnosticsManager=new Wg.default(e,d,t,f));const p=()=>d.stream?new Vg.default(e,d,this.platform.requests,this.platform.info,v,this.diagnosticsManager):new Lg.default(d,new Bg.default(e,d,this.platform.info,this.platform.requests),v);d.offline||d.useLdd?this.updateProcessor=new Cg.default:this.updateProcessor=null!==(s=null===(n=d.updateProcessorFactory)||void 0===n?void 0:n.call(d,h,v))&&void 0!==s?s:p(),!d.sendEvents||d.offline?this.eventProcessor=new Zg.default:this.eventProcessor=new jg.internal.EventProcessor(d,h,new Jg.default(d,h),new Gg.default(d),this.diagnosticsManager);const g=new ty.default(f);this.featureStore=g;const y=new $g.default(null===(o=null===(a=d.bigSegments)||void 0===a?void 0:a.store)||void 0===o?void 0:o.call(a,h),null!==(l=d.bigSegments)&&void 0!==l?l:{},d.logger,this.platform.crypto);this.bigSegmentsManager=y,this.bigSegmentStatusProviderInternal=y.statusProvider;const m={getFlag(e){var t;return Dg(this,void 0,void 0,(function*(){return null!==(t=yield g.get(ry.default.Features,e))&&void 0!==t?t:void 0}))},getSegment(e){var t;return Dg(this,void 0,void 0,(function*(){return null!==(t=yield g.get(ry.default.Segments,e))&&void 0!==t?t:void 0}))},getBigSegmentsMembership:e=>y.getUserMembership(e)};this.evaluator=new qg.default(this.platform,m),this.updateProcessor.start((e=>{var t,r;if(e){let r;r=e.status&&401===e.status||e.code&&401===e.code?new Error("Authentication failed. Double check your SDK key."):e,this.onError(r),this.onFailed(r),null===(t=this.initReject)||void 0===t||t.call(this,r),this.initState=iy.Failed}else this.initialized()||(this.initState=iy.Initialized,null===(r=this.initResolve)||void 0===r||r.call(this,this),this.onReady())}))}initialized(){return this.initState===iy.Initialized}waitForInitialization(){return this.initState===iy.Initialized?Promise.resolve(this):(this.initializedPromise||(this.initializedPromise=new Promise(((e,t)=>{this.initResolve=e,this.initReject=t}))),this.initializedPromise)}variation(e,t,r,i){return Dg(this,void 0,void 0,(function*(){const n=yield this.evaluateIfPossible(e,t,r,this.eventFactoryDefault);if(!i)return n.detail.value;i(null,n.detail.value)}))}variationDetail(e,t,r,i){return Dg(this,void 0,void 0,(function*(){const n=yield this.evaluateIfPossible(e,t,r,this.eventFactoryWithReasons);return null==i||i(null,n.detail),n.detail}))}allFlagsState(e,t,r){var i,n,s,a,o;return Dg(this,void 0,void 0,(function*(){if(this.config.offline){null===(i=this.logger)||void 0===i||i.info("allFlagsState() called in offline mode. Returning empty state.");const e=new Qg.default(!1,!1).build();return null==r||r(null,e),e}const l=jg.Context.fromLDContext(e);if(!l.valid)return null===(n=this.logger)||void 0===n||n.info(`${null!==(s=l.message)&&void 0!==s?s:"Invalid context."}. Returning empty state.`),new Qg.default(!1,!1).build();let u=!0;if(!this.initialized()){(yield this.featureStore.initialized())?null===(a=this.logger)||void 0===a||a.warn("Called allFlagsState before client initialization; using last known values from data store"):(null===(o=this.logger)||void 0===o||o.warn("Called allFlagsState before client initialization. Data store not available; returning empty state"),u=!1)}const c=new Qg.default(u,!!(null==t?void 0:t.withReasons)),d=!!(null==t?void 0:t.clientSideOnly),h=!!(null==t?void 0:t.detailsOnlyForTrackedFlags),f=yield this.featureStore.all(ry.default.Features);yield(0,zg.allSeriesAsync)(Object.values(f),(e=>Dg(this,void 0,void 0,(function*(){var t;const r=e;if(d&&!r.clientSide)return!0;const i=yield this.evaluator.evaluate(r,l);i.isError&&this.onError(new Error(`Error for feature flag "${r.key}" while evaluating all flags: ${i.message}`));const n=(0,Yg.default)(r,i.detail.reason);return c.addFlag(r,i.detail.value,null!==(t=i.detail.variationIndex)&&void 0!==t?t:void 0,i.detail.reason,r.trackEvents||n,n,h),!0}))));const v=c.build();return null==r||r(null,v),v}))}secureModeHash(e){const t=jg.Context.fromLDContext(e),r=t.valid?t.canonicalKey:void 0,i=this.platform.crypto.createHmac("sha256",this.sdkKey);if(void 0===r)throw new Ug.LDClientError("Could not generate secure mode hash for invalid context");return i.update(r),i.digest("hex")}close(){this.eventProcessor.close(),this.updateProcessor.close(),this.featureStore.close(),this.bigSegmentsManager.close()}isOffline(){return this.config.offline}track(e,t,r,i){var n;const s=jg.Context.fromLDContext(t);s.valid?this.eventProcessor.sendEvent(this.eventFactoryDefault.customEvent(e,s,r,i)):null===(n=this.logger)||void 0===n||n.warn(Ng.default.missingContextKeyNoEvent)}identify(e){var t;const r=jg.Context.fromLDContext(e);r.valid?this.eventProcessor.sendEvent(this.eventFactoryDefault.identifyEvent(r)):null===(t=this.logger)||void 0===t||t.warn(Ng.default.missingContextKeyNoEvent)}flush(e){return Dg(this,void 0,void 0,(function*(){try{yield this.eventProcessor.flush()}catch(t){null==e||e(t,!1)}null==e||e(null,!0)}))}variationInternal(e,t,r,i){var n,s,a,o;return Dg(this,void 0,void 0,(function*(){if(this.config.offline)return null===(n=this.logger)||void 0===n||n.info("Variation called in offline mode. Returning default value."),Hg.default.forError(Kg.default.ClientNotReady,void 0,r);const l=jg.Context.fromLDContext(t);if(!l.valid)return this.onError(new Ug.LDClientError(`${null!==(s=l.message)&&void 0!==s?s:"Context not valid;"} returning default value.`)),Hg.default.forError(Kg.default.UserNotSpecified,void 0,r);const u=yield this.featureStore.get(ry.default.Features,e);if(!u){const t=new Ug.LDClientError(`Unknown feature flag "${e}"; returning default value`);this.onError(t);const i=Hg.default.forError(Kg.default.FlagNotFound,void 0,r);return this.eventProcessor.sendEvent(this.eventFactoryDefault.unknownFlagEvent(e,l,i.detail)),i}const c=yield this.evaluator.evaluate(u,l,i);return void 0!==c.detail.variationIndex&&null!==c.detail.variationIndex||(null===(a=this.logger)||void 0===a||a.debug("Result value is null in variation"),c.setDefault(r)),null===(o=c.events)||void 0===o||o.forEach((e=>{this.eventProcessor.sendEvent(e)})),this.eventProcessor.sendEvent(i.evalEvent(u,l,c.detail,r)),c}))}evaluateIfPossible(e,t,r,i){var n,s;return Dg(this,void 0,void 0,(function*(){if(!this.initialized()){return(yield this.featureStore.initialized())?(null===(n=this.logger)||void 0===n||n.warn("Variation called before LaunchDarkly client initialization completed (did you wait for the 'ready' event?) - using last known values from feature store"),this.variationInternal(e,t,r,i)):(null===(s=this.logger)||void 0===s||s.warn("Variation called before LaunchDarkly client initialization completed (did you wait for the'ready' event?) - using default value"),Hg.default.forError(Kg.default.ClientNotReady,void 0,r))}return this.variationInternal(e,t,r,i)}))}};var ny={},sy={},ay={},oy={},ly=t&&t.__awaiter||function(e,t,r,i){return new(r||(r=Promise))((function(n,s){function a(e){try{l(i.next(e))}catch(e){s(e)}}function o(e){try{l(i.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,o)}l((i=i.apply(e,t||[])).next())}))};Object.defineProperty(oy,"__esModule",{value:!0});oy.default=class{constructor(e,t,r,i){this.filesystem=e,this.paths=t,this.watch=r,this.callback=i,this.watchers=[],this.fileData={},this.fileTimestamps={}}loadAndWatch(){return ly(this,void 0,void 0,(function*(){const e=this.paths.map((e=>ly(this,void 0,void 0,(function*(){const t=yield this.filesystem.readFile(e),r=yield this.filesystem.getFileTimestamp(e);return{data:t,path:e,timeStamp:r}})))),t=yield Promise.all(e);t.forEach((e=>{this.fileData[e.path]=e.data,this.fileTimestamps[e.path]=e.timeStamp})),this.callback(t),this.watch&&this.paths.forEach((e=>{const t=this.filesystem.watch(e,((e,t)=>ly(this,void 0,void 0,(function*(){const e=yield this.filesystem.getFileTimestamp(t);if(e===this.fileTimestamps[t])return;this.fileTimestamps[t]=e;const r=yield this.filesystem.readFile(t);this.fileData[t]=r,this.debounceCallback()}))));this.watchers.push(t)}))}))}close(){this.watchers.forEach((e=>e.close()))}debounceCallback(){this.debounceHandle||(this.debounceHandle=e=>{e()})}};var uy=t&&t.__awaiter||function(e,t,r,i){return new(r||(r=Promise))((function(n,s){function a(e){try{l(i.next(e))}catch(e){s(e)}}function o(e){try{l(i.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,o)}l((i=i.apply(e,t||[])).next())}))};Object.defineProperty(ay,"__esModule",{value:!0});const cy=ih,dy=Vd,hy=oy;ay.default=class{constructor(e,t,r){var i;this.featureStore=r,this.allData={},this.fileLoader=new hy.default(t,e.paths,null!==(i=e.autoUpdate)&&void 0!==i&&i,(e=>{var t,r;try{this.processFileData(e)}catch(e){null===(t=this.initCallback)||void 0===t||t.call(this,e),null===(r=this.logger)||void 0===r||r.error(`Error processing files: ${e}`)}})),this.logger=e.logger,this.yamlParser=e.yamlParser}start(e){this.initCallback=e,(()=>{uy(this,void 0,void 0,(function*(){try{yield this.fileLoader.loadAndWatch()}catch(t){null==e||e(t)}}))})()}stop(){this.fileLoader.close()}close(){this.stop()}addItem(e,t){if(this.allData[e.namespace]||(this.allData[e.namespace]={}),this.allData[e.namespace][t.key])throw new Error(`found duplicate key: "${t.key}"`);this.allData[e.namespace][t.key]=t}processFileData(e){this.allData={},e.forEach((e=>{let t;if(e.path.endsWith(".yml")||e.path.endsWith(".yaml")){if(!this.yamlParser)throw new Error(`Attempted to parse yaml file (${e.path}) without parser.`);t=this.yamlParser(e.data)}else t=JSON.parse(e.data);this.processParsedData(t)})),this.featureStore.init(this.allData,(()=>{var e;null===(e=this.initCallback)||void 0===e||e.call(this),this.initCallback=void 0}))}processParsedData(e){Object.keys(e.flags||{}).forEach((t=>{(0,cy.processFlag)(e.flags[t]),this.addItem(dy.default.Features,e.flags[t])})),Object.keys(e.flagValues||{}).forEach((t=>{const r=function(e,t){return{key:e,on:!0,fallthrough:{variation:0},variations:[t],version:1}}(t,e.flagValues[t]);(0,cy.processFlag)(r),this.addItem(dy.default.Features,r)})),Object.keys(e.segments||{}).forEach((t=>{(0,cy.processSegment)(e.segments[t]),this.addItem(dy.default.Segments,e.segments[t])}))}},Object.defineProperty(sy,"__esModule",{value:!0});const fy=ay;sy.default=class{constructor(e){this.options=e}create(e,t){const r={paths:this.options.paths,autoUpdate:this.options.autoUpdate,logger:this.options.logger||e.basicConfiguration.logger,yamlParser:this.options.yamlParser};return new fy.default(r,e.platform.fileSystem,t)}getFactory(){return(e,t)=>this.create(e,t)}};var vy={},py={},gy={},yy={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.variationForBoolean=e.FALSE_VARIATION_INDEX=e.TRUE_VARIATION_INDEX=void 0,e.TRUE_VARIATION_INDEX=0,e.FALSE_VARIATION_INDEX=1,e.variationForBoolean=function(t){return t?e.TRUE_VARIATION_INDEX:e.FALSE_VARIATION_INDEX}}(yy);var my={};Object.defineProperty(my,"__esModule",{value:!0});const by=wu,Ey=yy;class _y{constructor(e,t,r){this.flagBuilder=e,this.clauses=[],t&&(this.clauses=[...t]),void 0!==r&&(this.variation=r)}andMatch(e,t,...r){return this.clauses.push({contextKind:e,attribute:t,attributeReference:new by.AttributeReference(t),op:"in",values:r,negate:!1}),this}andNotMatch(e,t,...r){return this.clauses.push({contextKind:e,attribute:t,attributeReference:new by.AttributeReference(t),op:"in",values:r,negate:!0}),this}thenReturn(e){return by.TypeValidators.Boolean.is(e)?(this.flagBuilder.booleanFlag(),this.thenReturn((0,Ey.variationForBoolean)(e))):(this.variation=e,this.flagBuilder.addRule(this),this.flagBuilder)}build(e){return{id:`rule${e}`,variation:this.variation,clauses:this.clauses}}clone(){return new _y(this.flagBuilder,this.clauses,this.variation)}}my.default=_y,Object.defineProperty(gy,"__esModule",{value:!0});const wy=wu,Oy=yy,Sy=my;class xy{constructor(e,t){this.key=e,this.data={on:!0,variations:[]},t&&(this.data={on:t.on,variations:[...t.variations]},void 0!==t.offVariation&&(this.data.offVariation=t.offVariation),void 0!==t.fallthroughVariation&&(this.data.offVariation=t.offVariation),t.targetsByVariation&&(this.data.targetsByVariation=JSON.parse(JSON.stringify(t.targetsByVariation))),t.rules&&(this.data.rules=[],t.rules.forEach((e=>{var t;null===(t=this.data.rules)||void 0===t||t.push(e.clone())}))))}get isBooleanFlag(){return 2===this.data.variations.length&&!0===this.data.variations[Oy.TRUE_VARIATION_INDEX]&&!1===this.data.variations[Oy.FALSE_VARIATION_INDEX]}booleanFlag(){return this.isBooleanFlag?this:this.variations(!0,!1).fallthroughVariation(Oy.TRUE_VARIATION_INDEX).offVariation(Oy.FALSE_VARIATION_INDEX)}variations(...e){return this.data.variations=[...e],this}on(e){return this.data.on=e,this}fallthroughVariation(e){return wy.TypeValidators.Boolean.is(e)?this.booleanFlag().fallthroughVariation((0,Oy.variationForBoolean)(e)):(this.data.fallthroughVariation=e,this)}offVariation(e){return wy.TypeValidators.Boolean.is(e)?this.booleanFlag().offVariation((0,Oy.variationForBoolean)(e)):(this.data.offVariation=e,this)}variationForAll(e){return this.on(!0).clearRules().clearAllTargets().fallthroughVariation(e)}valueForAll(e){return this.variations(e).variationForAll(0)}variationForUser(e,t){return this.variationForContext("user",e,t)}variationForContext(e,t,r){return wy.TypeValidators.Boolean.is(r)?this.booleanFlag().variationForContext(e,t,(0,Oy.variationForBoolean)(r)):(this.data.targetsByVariation||(this.data.targetsByVariation={}),this.data.variations.forEach(((i,n)=>{if(n===r){const r=this.data.targetsByVariation[n]||{};e in r||(r[e]=[]);-1!==r[e].indexOf(t)||r[e].push(t),this.data.targetsByVariation[n]=r}else{const r=this.data.targetsByVariation[n];if(r){const i=r[e];if(i){const n=i.indexOf(t);-1!==n&&(i.splice(n,1),i.length||delete r[e])}Object.keys(r).length||delete this.data.targetsByVariation[n]}}})),this)}clearRules(){return delete this.data.rules,this}clearAllTargets(){return delete this.data.targetsByVariation,this}ifMatch(e,t,...r){return new Sy.default(this).andMatch(e,t,...r)}ifNotMatch(e,t,...r){return new Sy.default(this).andNotMatch(e,t,...r)}addRule(e){this.data.rules||(this.data.rules=[]),this.data.rules.push(e)}build(e){const t={key:this.key,version:e,on:this.data.on,offVariation:this.data.offVariation,fallthrough:{variation:this.data.fallthroughVariation},variations:[...this.data.variations]};if(this.data.targetsByVariation){const e=[];Object.entries(this.data.targetsByVariation).forEach((([t,r])=>{Object.entries(r).forEach((([r,i])=>{e.push({contextKind:r,values:i,variation:parseInt(t,10)})}))})),t.contextTargets=e}return this.data.rules&&(t.rules=this.data.rules.map(((e,t)=>e.build(String(t))))),t}clone(){return new xy(this.key,this.data)}getKey(){return this.key}}gy.default=xy;var Py={},ky=t&&t.__awaiter||function(e,t,r,i){return new(r||(r=Promise))((function(n,s){function a(e){try{l(i.next(e))}catch(e){s(e)}}function o(e){try{l(i.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,o)}l((i=i.apply(e,t||[])).next())}))};Object.defineProperty(Py,"__esModule",{value:!0});const Iy=Vd;Py.default=class{constructor(e,t,r,i){this.featureStore=e,this.flags=t,this.segments=r,this.onStop=i}start(e){return ky(this,void 0,void 0,(function*(){yield this.featureStore.init({[Iy.default.Features.namespace]:Object.assign({},this.flags),[Iy.default.Segments.namespace]:Object.assign({},this.segments)}),null==e||e()}))}stop(){this.onStop(this)}close(){this.stop()}upsert(e,t){return ky(this,void 0,void 0,(function*(){return this.featureStore.upsert(e,t)}))}},Object.defineProperty(py,"__esModule",{value:!0});const Ay=Ag,Ry=ih,My=Vd,Ty=gy,Dy=Py;py.default=class{constructor(){this.currentFlags={},this.currentSegments={},this.dataSources=[],this.flagBuilders={}}getFactory(){return(e,t)=>{const r=new Dy.default(new Ay.default(t),this.currentFlags,this.currentSegments,(e=>{this.dataSources.splice(this.dataSources.indexOf(e))}));return this.dataSources.push(r),r}}flag(e){return this.flagBuilders[e]?this.flagBuilders[e].clone():new Ty.default(e).booleanFlag()}update(e){const t=e.getKey(),r=this.currentFlags[t],i=r?r.version:0,n=e.build(i+1);return this.currentFlags[t]=n,this.flagBuilders[t]=e.clone(),Promise.all(this.dataSources.map((e=>e.upsert(My.default.Features,n))))}usePreconfiguredFlag(e){const t=JSON.parse(JSON.stringify(e)),r=this.currentFlags[t.key],i=Object.assign(Object.assign({},t),{version:r?r.version+1:t.version});return(0,Ry.processFlag)(i),this.currentFlags[t.key]=i,Promise.all(this.dataSources.map((e=>e.upsert(My.default.Features,i))))}usePreconfiguredSegment(e){const t=JSON.parse(JSON.stringify(e)),r=this.currentSegments[t.key],i=Object.assign(Object.assign({},t),{version:r?r.version+1:t.version});return(0,Ry.processSegment)(i),this.currentSegments[t.key]=i,Promise.all(this.dataSources.map((e=>e.upsert(My.default.Segments,i))))}},Object.defineProperty(vy,"__esModule",{value:!0}),vy.TestDataRuleBuilder=vy.TestDataFlagBuilder=vy.TestData=void 0;const jy=py;vy.TestData=jy.default;const $y=gy;vy.TestDataFlagBuilder=$y.default;const Ny=my;vy.TestDataRuleBuilder=Ny.default,function(e){var r=t&&t.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),i=t&&t.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(e,"__esModule",{value:!0}),e.FileDataSourceFactory=void 0;const n=sy;e.FileDataSourceFactory=n.default,i(vy,e)}(ny);var Fy={},Cy={},Ly={};Object.defineProperty(Ly,"__esModule",{value:!0});var By={};Object.defineProperty(By,"__esModule",{value:!0}),function(e){var r=t&&t.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),i=t&&t.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(e,"__esModule",{value:!0}),i(Ly,e),i(By,e)}(Cy);var Vy={},Uy={};Object.defineProperty(Uy,"__esModule",{value:!0});var zy={};Object.defineProperty(zy,"__esModule",{value:!0});var Ky={};Object.defineProperty(Ky,"__esModule",{value:!0});var Hy={};Object.defineProperty(Hy,"__esModule",{value:!0}),function(e){var r=t&&t.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),i=t&&t.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(e,"__esModule",{value:!0}),i(Uy,e),i(zy,e),i(Ky,e),i(Hy,e)}(Vy);var qy={};Object.defineProperty(qy,"__esModule",{value:!0});var Gy={};Object.defineProperty(Gy,"__esModule",{value:!0});var Wy={};Object.defineProperty(Wy,"__esModule",{value:!0});var Xy={};Object.defineProperty(Xy,"__esModule",{value:!0});var Jy={},Yy={};Object.defineProperty(Yy,"__esModule",{value:!0}),function(e){var r=t&&t.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),i=t&&t.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(e,"__esModule",{value:!0}),i(Yy,e)}(Jy);var Zy={},Qy={};Object.defineProperty(Qy,"__esModule",{value:!0});var em={};Object.defineProperty(em,"__esModule",{value:!0});var tm={};Object.defineProperty(tm,"__esModule",{value:!0});var rm={};Object.defineProperty(rm,"__esModule",{value:!0});var im={};Object.defineProperty(im,"__esModule",{value:!0});var nm={};Object.defineProperty(nm,"__esModule",{value:!0});var sm={};Object.defineProperty(sm,"__esModule",{value:!0});var am={};Object.defineProperty(am,"__esModule",{value:!0});var om={};Object.defineProperty(om,"__esModule",{value:!0});var lm={};Object.defineProperty(lm,"__esModule",{value:!0}),function(e){var r=t&&t.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),i=t&&t.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(e,"__esModule",{value:!0}),i(Qy,e),i(em,e),i(tm,e),i(rm,e),i(im,e),i(Gy,e),i(nm,e),i(sm,e),i(am,e),i(om,e),i(lm,e)}(Zy);var um={},cm={};Object.defineProperty(cm,"__esModule",{value:!0});var dm={};Object.defineProperty(dm,"__esModule",{value:!0}),function(e){var r=t&&t.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),i=t&&t.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(e,"__esModule",{value:!0}),i(cm,e),i(Wy,e),i(Xy,e),i(dm,e)}(um),function(e){var r=t&&t.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),i=t&&t.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(e,"__esModule",{value:!0}),e.subsystems=e.interfaces=e.integrations=void 0,i(Cy,e),i(Vy,e),i(qy,e),i(Gy,e),i(Wy,e),i(Xy,e),e.integrations=Jy,e.interfaces=Zy,e.subsystems=um}(Fy);var hm={},fm={},vm={};function pm(e){return Date.now()>e.expiration}Object.defineProperty(vm,"__esModule",{value:!0});vm.default=class{constructor(e){this.options=e,this.storage=new Map,this.checkIntervalHandle=void e.checkInterval}get(e){const t=this.storage.get(e);if(!t||!pm(t))return null==t?void 0:t.value;this.storage.delete(e)}set(e,t){this.storage.set(e,{value:t,expiration:Date.now()+1e3*this.options.ttl})}delete(e){this.storage.delete(e)}clear(){this.storage.clear()}close(){this.clear(),this.checkIntervalHandle&&(clearInterval(this.checkIntervalHandle),this.checkIntervalHandle=null)}purgeStale(){this.storage.forEach(((e,t)=>{pm(e)&&this.storage.delete(t)}))}get size(){return this.storage.size}};var gm={};Object.defineProperty(gm,"__esModule",{value:!0}),gm.persistentStoreKinds=void 0;const ym=ih,mm=Vd;gm.persistentStoreKinds={segments:{namespace:mm.default.Segments.namespace,deserialize:e=>{const t=(0,ym.deserializeSegment)(e);if(t)return{version:t.version,item:t}},serialize:e=>{const t=(0,ym.serializeSegment)(e);return{version:e.version,deleted:e.deleted,serializedItem:t}},priority:0},features:{namespace:mm.default.Features.namespace,deserialize:e=>{const t=(0,ym.deserializeFlag)(e);if(t)return{version:t.version,item:t}},serialize:e=>{const t=(0,ym.serializeFlag)(e);return{version:e.version,deleted:e.deleted,serializedItem:t}},priority:1}};var bm={};Object.defineProperty(bm,"__esModule",{value:!0});const Em=gm;function _m(e,t){const r=[],i=new Set(Object.keys(t)),n=s=>{if(!i.has(s))return;i.delete(s);const a=t[s];var o;"features"===e.namespace&&(o=a,o.prerequisites&&o.prerequisites.length?o.prerequisites.map((e=>e.key)):[]).forEach((e=>{n(e)})),r.push({key:s,item:e.serialize(a)})};for(;i.size>0;){const e=i.values().next().value;n(e)}return r}bm.default=function(e){const t=[];return Object.keys(e).forEach((r=>{const i=Em.persistentStoreKinds[r];t.push({key:i,item:_m(i,e[r])})})),t.sort(((e,t)=>e.key.priority-t.key.priority)),t};var wm={};Object.defineProperty(wm,"__esModule",{value:!0});wm.default=class{constructor(){this.queue=[]}enqueue(e,t){this.queue.push([e,t]),1===this.queue.length&&this.executePendingUpdates()}executePendingUpdates(){if(this.queue.length>0){const[e,t]=this.queue[0];e((()=>{this.queue.shift(),this.queue.length,null==t||t()}))}}},Object.defineProperty(fm,"__esModule",{value:!0});const Om=vm,Sm=gm,xm=bm,Pm=wm;function km(e,t){return`${e.namespace}:${t}`}function Im(e){return`$all:${e.namespace}`}const Am="$checkedInit";function Rm(e){return!e||e.item.deleted?null:e.item}function Mm(e){return{version:e,item:{version:e,deleted:!0}}}function Tm(e,t){if(t.deleted||!t.serializedItem)return Mm(t.version);const r=e.deserialize(t.serializedItem);return void 0===r?Mm(t.version):0===r.version||r.version===t.version||void 0===r.item?r:{version:t.version,item:r.item}}fm.default=class{constructor(e,t){this.core=e,this.isInitialized=!1,this.queue=new Pm.default,t&&(this.itemCache=new Om.default({ttl:t,checkInterval:600}),this.allItemsCache=new Om.default({ttl:t,checkInterval:600}))}init(e,t){this.queue.enqueue((t=>{this.core.init((0,xm.default)(e),(()=>{this.isInitialized=!0,this.itemCache&&(this.itemCache.clear(),this.allItemsCache.clear(),Object.keys(e).forEach((t=>{const r=Sm.persistentStoreKinds[t],i=e[t];this.allItemsCache.set(Im(r),i),Object.keys(i).forEach((e=>{const t=i[e],n={version:t.version,item:t};this.itemCache.set(km(r,e),n)}))}))),t()}))}),t)}get(e,t,r){if(this.itemCache){const i=this.itemCache.get(km(e,t));if(i)return void r(Rm(i))}const i=Sm.persistentStoreKinds[e.namespace];this.core.get(i,t,(n=>{var s;if(n&&n.serializedItem){const a=Tm(i,n);null===(s=this.itemCache)||void 0===s||s.set(km(e,t),a),r(Rm(a))}r(null)}))}initialized(e){var t;this.isInitialized?e(!0):(null===(t=this.itemCache)||void 0===t?void 0:t.get(Am))?e(!1):this.core.initialized((t=>{var r;this.isInitialized=t,this.isInitialized||null===(r=this.itemCache)||void 0===r||r.set(Am,!0),e(this.isInitialized)}))}all(e,t){var r;const i=null===(r=this.allItemsCache)||void 0===r?void 0:r.get(Im(e));if(i)return void t(i);const n=Sm.persistentStoreKinds[e.namespace];this.core.getAll(n,(r=>{var i;if(!r)return void t({});const s={};r.forEach((({key:e,item:t})=>{const r=Rm(Tm(n,t));r&&(s[e]=r)})),null===(i=this.allItemsCache)||void 0===i||i.set(Im(e),s),t(s)}))}upsert(e,t,r){this.queue.enqueue((r=>{this.allItemsCache&&this.allItemsCache.clear();const i=Sm.persistentStoreKinds[e.namespace];this.core.upsert(i,t.key,i.serialize(t),((n,s)=>{var a,o;if(!n&&s)if(s.serializedItem){const r=Tm(i,s);null===(a=this.itemCache)||void 0===a||a.set(km(e,t.key),r)}else s.deleted&&(null===(o=this.itemCache)||void 0===o||o.set(t.key,{key:t.key,version:s.version,deleted:!0}));r()}))}),r)}delete(e,t,r,i){this.upsert(e,{key:t,version:r,deleted:!0},i)}close(){var e,t;null===(e=this.itemCache)||void 0===e||e.close(),null===(t=this.allItemsCache)||void 0===t||t.close(),this.core.close()}getDescription(){return this.core.getDescription()}},function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.deserializePoll=e.PersistentDataStoreWrapper=e.AsyncStoreFacade=void 0;const t=Ag;e.AsyncStoreFacade=t.default;const r=fm;e.PersistentDataStoreWrapper=r.default;const i=ih;Object.defineProperty(e,"deserializePoll",{enumerable:!0,get:function(){return i.deserializePoll}})}(hm);var Dm={},jm={};Object.defineProperty(jm,"__esModule",{value:!0});jm.default=class{constructor(e,t){this.handlers={},this.closed=!1,this.url=e,this.options=t}addEventListener(e,t){this.handlers[e]=t}close(){this.closed=!0}simulateError(e){this.options.errorFilter(e)||(this.closed=!0)}},Object.defineProperty(Dm,"__esModule",{value:!0}),Dm.NullEventSource=void 0;const $m=jm;Dm.NullEventSource=$m.default,function(e){var r=t&&t.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),i=t&&t.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(e,"__esModule",{value:!0}),e.BigSegmentStoreStatusProviderImpl=e.LDClientImpl=e.platform=e.integrations=void 0;const n=_u;e.LDClientImpl=n.default;const s=Md;e.BigSegmentStoreStatusProviderImpl=s.default,e.integrations=ny,e.platform=wu,i(Fy,e),i(hm,e),i(Dm,e),i(wu,e)}(Eu);const Nm=({options:e={},sdkKey:t,featureStoreProvider:r})=>{var i;const n=null!==(i=e.logger)&&void 0!==i?i:Eu.BasicLogger.get();return bu({sdkKey:t,options:e,edgeFeatureStore:new mu(r,t,"Akamai",n),platformName:"Akamai EdgeWorker",sdkName:"@launchdarkly/akamai-server-base-sdk",sdkVersion:"0.2.0"})};export{mu as EdgeFeatureStore,Nm as init};
33
+ function(e,t){var r={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(r[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(i=Object.getOwnPropertySymbols(e);n<i.length;n++)t.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(e,i[n])&&(r[i[n]]=e[i[n]])}return r}(t,["featureStore","logger","sendEvents"]);if(!e)throw new Error("You must configure the client with a client key");if(!r||"object"!=typeof r||!r.get)throw new Error("You must configure the client with a feature store");if(!i)throw new Error("You must configure the client with a logger");if("{}"!==JSON.stringify(s))throw new Error(`Invalid configuration: ${Object.keys(s).toString()} not supported`)})(e.sdkKey,c);const d=((e,t,r)=>new yu(e,t,r))(a,o,l);return new Qo(r,new gu(d),c)};var Eu={},_u={},wu={},Ou={};function Su(e){return e.indexOf("~")?e.replace(/~1/g,"/").replace(/~0/g,"~"):e}Object.defineProperty(Ou,"__esModule",{value:!0});class xu{constructor(e,t=!1){if(t){const t=e;this.components=[t],this.isValid=""!==t,this.redactionName=t.startsWith("/")?`/${t.replace(/~/g,"~0").replace(/\//g,"~1")}`:t}else{if(this.redactionName=e,""===e||"/"===e||e.match(/\/\/|(^\/.*~[^0|^1])|~$/))return this.isValid=!1,void(this.components=[]);!function(e){return!e.startsWith("/")}(e)?e.indexOf("/",1)<0?this.components=[Su(e.slice(1))]:this.components=function(e){return(e.startsWith("/")?e.substring(1):e).split("/").map((e=>Su(e)))}(e):this.components=[e],"_meta"===this.components[0]?this.isValid=!1:this.isValid=!0}}get(e){const{components:t,isValid:r}=this;if(!r)return;let i=e;for(let e=0;e<t.length;e+=1){const r=t[e];if(null==i||!Object.prototype.hasOwnProperty.call(i,r)||"object"!=typeof i||Array.isArray(i))return;i=i[r]}return i}getComponent(e){return this.components[e]}get depth(){return this.components.length}get isKind(){return 1===this.components.length&&"kind"===this.components[0]}compare(e){return this.depth===e.depth&&this.components.every(((t,r)=>t===e.getComponent(r)))}}xu.invalidReference=new xu(""),Ou.default=xu;var Pu={},ku={};Object.defineProperty(ku,"__esModule",{value:!0}),ku.TypeValidators=ku.DateValidator=ku.Function=ku.StringMatchingRegex=ku.NumberWithMinimum=ku.TypeArray=ku.Type=ku.FactoryOrInstance=void 0;class Iu{is(e){if(Array.isArray(e))return!1;const t=typeof e;return"function"===t||"object"===t}getType(){return"factory method or object"}}ku.FactoryOrInstance=Iu;class Au{constructor(e,t){this.typeName=e,this.typeOf=typeof t}is(e){return!Array.isArray(e)&&typeof e===this.typeOf}getType(){return this.typeName}}ku.Type=Au;class Ru{constructor(e,t){this.typeName=e,this.typeOf=typeof t}is(e){return!!Array.isArray(e)&&(!(e.length>0)||e.every((e=>typeof e===this.typeOf)))}getType(){return this.typeName}}ku.TypeArray=Ru;class Mu extends Au{constructor(e){super(`number with minimum value of ${e}`,0),this.min=e}is(e){return typeof e===this.typeOf&&e>=this.min}}ku.NumberWithMinimum=Mu;class Tu extends Au{constructor(e){super(`string matching ${e}`,""),this.expression=e}is(e){return!!e.match(this.expression)}}ku.StringMatchingRegex=Tu;class Du{is(e){return"function"==typeof e}getType(){return"function"}}ku.Function=Du;const ju=/^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d(\.\d\d*)?(Z|[-+]\d\d(:\d\d)?)/;class $u{is(e){return"number"==typeof e||"string"==typeof e&&ju.test(e)}getType(){return"date"}}ku.DateValidator=$u;class Nu{static numberWithMin(e){return new Mu(e)}static stringMatchingRegex(e){return new Tu(e)}}ku.TypeValidators=Nu,Nu.String=new Au("string",""),Nu.Number=new Au("number",0),Nu.ObjectOrFactory=new Iu,Nu.Object=new Au("object",{}),Nu.StringArray=new Ru("string[]",""),Nu.Boolean=new Au("boolean",!0),Nu.Function=new Du,Nu.Date=new $u,Object.defineProperty(Pu,"__esModule",{value:!0});const Fu=Ou,Cu=ku,Lu=Cu.TypeValidators.stringMatchingRegex(/^(\w|\.|-)+$/),Bu="user";function Vu(e){return e.includes("%")||e.includes(":")?e.replace(/%/g,"%25").replace(/:/g,"%3A"):e}function Uu(e){return Lu.is(e)&&"kind"!==e}function zu(e){return Cu.TypeValidators.String.is(e)&&""!==e}function Ku(e,t=!1){return e?e.map((e=>new Fu.default(e,t))):[]}class Hu{constructor(e,t,r){this.isMulti=!1,this.isUser=!1,this.wasLegacy=!1,this.contexts={},this.kind=t,this.valid=e,this.message=r}static contextForError(e,t){return new Hu(!1,e,t)}static getValueFromContext(e,t){if(t&&e.isValid)return 1===e.depth&&"anonymous"===e.getComponent(0)?!!(null==t?void 0:t.anonymous):e.get(t)}contextForKind(e){return this.isMulti?this.contexts[e]:this.kind===e?this.context:void 0}static fromMultiKindContext(e){const t=Object.keys(e).filter((e=>"kind"!==e)),r=t.every(Uu);if(!t.length)return Hu.contextForError("multi","A multi-kind context must contain at least one kind");if(!r)return Hu.contextForError("multi","Context contains invalid kinds");const i={};let n=!0;const s=t.reduce(((t,r)=>{var s;const a=e[r];var o;return(o=a)&&Cu.TypeValidators.Object.is(o)?(t[r]=a,i[r]=Ku(null===(s=a._meta)||void 0===s?void 0:s.privateAttributes)):n=!1,t}),{});if(!n)return Hu.contextForError("multi","Context contained contexts that were not objects");if(!Object.values(s).every((e=>zu(e.key))))return Hu.contextForError("multi","Context contained invalid keys");if(1===t.length){const e=t[0],r=new Hu(!0,e);return r.context=s[e],r.privateAttributeReferences=i,r.isUser="user"===e,r}const a=new Hu(!0,e.kind);return a.contexts=s,a.privateAttributeReferences=i,a.isMulti=!0,a}static fromSingleKindContext(e){var t;const{key:r,kind:i}=e,n=Uu(i),s=zu(r);if(!n)return Hu.contextForError(null!=i?i:"unknown","The kind was not valid for the context");if(!s)return Hu.contextForError(i,"The key for the context was not valid");const a=Ku(null===(t=e._meta)||void 0===t?void 0:t.privateAttributes),o=new Hu(!0,i);return o.isUser="user"===i,o.context=e,o.privateAttributeReferences={[i]:a},o}static fromLegacyUser(e){if(!(void 0!==e.key&&null!==e.key))return Hu.contextForError("user","The key for the context was not valid");const t=new Hu(!0,"user");return t.isUser=!0,t.wasLegacy=!0,t.context=function(e){const t=Object.assign(Object.assign({},e.custom||[]),{kind:"user",key:String(e.key)});if(null!=e.anonymous){const r=!!e.anonymous;delete t.anonymous,t.anonymous=r}return null!==e.name&&void 0!==e.name&&(t.name=e.name),null!==e.ip&&void 0!==e.ip&&(t.ip=e.ip),null!==e.firstName&&void 0!==e.firstName&&(t.firstName=e.firstName),null!==e.lastName&&void 0!==e.lastName&&(t.lastName=e.lastName),null!==e.email&&void 0!==e.email&&(t.email=e.email),null!==e.avatar&&void 0!==e.avatar&&(t.avatar=e.avatar),null!==e.country&&void 0!==e.country&&(t.country=e.country),t}(e),t.privateAttributeReferences={user:Ku(e.privateAttributeNames,!0)},t}static fromLDContext(e){return e?function(e){return"kind"in e&&Cu.TypeValidators.String.is(e.kind)&&"multi"!==e.kind}(e)?Hu.fromSingleKindContext(e):function(e){return"kind"in e&&Cu.TypeValidators.String.is(e.kind)&&"multi"===e.kind}(e)?Hu.fromMultiKindContext(e):function(e){return!("kind"in e)||null===e.kind||void 0===e.kind}(e)?Hu.fromLegacyUser(e):Hu.contextForError("unknown","Context was not of a valid kind"):Hu.contextForError("unknown","No context specified. Returning default value")}valueForKind(e,t=Bu){return e.isKind?this.kinds:Hu.getValueFromContext(e,this.contextForKind(t))}key(e=Bu){var t;return null===(t=this.contextForKind(e))||void 0===t?void 0:t.key}get isMultiKind(){return this.isMulti}get canonicalKey(){return this.isUser?this.context.key:this.isMulti?Object.keys(this.contexts).sort().map((e=>`${e}:${Vu(this.contexts[e].key)}`)).join(":"):`${this.kind}:${Vu(this.context.key)}`}get kinds(){return this.isMulti?Object.keys(this.contexts):[this.kind]}get kindsAndKeys(){return this.isMulti?Object.entries(this.contexts).reduce(((e,[t,r])=>(e[t]=r.key,e)),{}):{[this.kind]:this.context.key}}privateAttributes(e){var t;return(null===(t=this.privateAttributeReferences)||void 0===t?void 0:t[e])||[]}getContexts(){return this.isMulti?Object.entries(this.contexts):[[this.kind,this.context]]}get legacy(){return this.wasLegacy}}Hu.userKind=Bu,Pu.default=Hu;var qu={};Object.defineProperty(qu,"__esModule",{value:!0});const Gu=Ou,Wu=["key","kind","_meta","anonymous"].map((e=>new Gu.default(e,!0))),Xu=["name","ip","firstName","lastName","email","avatar","country"];function Ju(e,t){return e.depth===t.length&&t.every(((t,r)=>t===e.getComponent(r)))}qu.default=class{constructor(e,t){this.allAttributesPrivate=e,this.privateAttributes=t}filter(e){const t=e.getContexts();if(1===t.length)return this.filterSingleKind(e,t[0][1],t[0][0]);const r={kind:"multi"};return t.forEach((([t,i])=>{r[t]=this.filterSingleKind(e,i,t)})),r}getAttributesToFilter(e,t,r){return(this.allAttributesPrivate?Object.keys(t).map((e=>new Gu.default(e,!0))):[...this.privateAttributes,...e.privateAttributes(r)]).filter((e=>!Wu.some((t=>t.compare(e)))))}filterSingleKind(e,t,r){const{cloned:i,excluded:n}=function(e,t){const r=[],i={},n=[];for(r.push(...Object.keys(e).map((t=>({key:t,ptr:[t],source:e,parent:i,visited:[e]}))));r.length;){const e=r.pop(),i=t.find((t=>Ju(t,e.ptr)));if(i)n.push(i.redactionName);else{const t=e.source[e.key];null===t?e.parent[e.key]=t:Array.isArray(t)?e.parent[e.key]=[...t]:"object"==typeof t?e.visited.includes(t)||(e.parent[e.key]={},r.push(...Object.keys(t).map((r=>({key:r,ptr:[...e.ptr,r],source:t,parent:e.parent[e.key],visited:[...e.visited,t]}))))):e.parent[e.key]=t}}return{cloned:i,excluded:n.sort()}}(t,this.getAttributesToFilter(e,t,r));return e.legacy&&Xu.forEach((e=>{e in i&&(i[e]=String(i[e]))})),n.length&&(i._meta||(i._meta={}),i._meta.redactedAttributes=n),i._meta&&(delete i._meta.privateAttributes,0===Object.keys(i._meta).length&&delete i._meta),i}};var Yu={},Zu={},Qu={};Object.defineProperty(Qu,"__esModule",{value:!0});var ec={};Object.defineProperty(ec,"__esModule",{value:!0});var tc={};Object.defineProperty(tc,"__esModule",{value:!0});var rc={};Object.defineProperty(rc,"__esModule",{value:!0});var ic={};Object.defineProperty(ic,"__esModule",{value:!0});var nc,sc,ac,oc={};Object.defineProperty(oc,"__esModule",{value:!0}),nc=Zu,sc=t&&t.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),ac=t&&t.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||sc(t,e,r)},Object.defineProperty(nc,"__esModule",{value:!0}),ac(Qu,nc),ac(ec,nc),ac(tc,nc),ac(rc,nc),ac(ic,nc),ac(oc,nc);var lc={},uc={};Object.defineProperty(uc,"__esModule",{value:!0});var cc={};Object.defineProperty(cc,"__esModule",{value:!0});var dc={};Object.defineProperty(dc,"__esModule",{value:!0}),function(e){var r=t&&t.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),i=t&&t.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(e,"__esModule",{value:!0}),i(uc,e),i(cc,e),i(dc,e)}(lc);var hc={},fc={};Object.defineProperty(fc,"__esModule",{value:!0});var vc={};Object.defineProperty(vc,"__esModule",{value:!0});var pc={};Object.defineProperty(pc,"__esModule",{value:!0});var gc={};Object.defineProperty(gc,"__esModule",{value:!0}),function(e){var r=t&&t.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),i=t&&t.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(e,"__esModule",{value:!0}),i(fc,e),i(vc,e),i(pc,e),i(gc,e)}(hc);var yc={};Object.defineProperty(yc,"__esModule",{value:!0});var mc={},bc={};Object.defineProperty(bc,"__esModule",{value:!0});var Ec={};Object.defineProperty(Ec,"__esModule",{value:!0});var _c={};Object.defineProperty(_c,"__esModule",{value:!0});var wc={};Object.defineProperty(wc,"__esModule",{value:!0});var Oc={};Object.defineProperty(Oc,"__esModule",{value:!0});var Sc={};Object.defineProperty(Sc,"__esModule",{value:!0}),function(e){var r=t&&t.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),i=t&&t.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(e,"__esModule",{value:!0}),i(bc,e),i(Ec,e),i(_c,e),i(wc,e),i(Oc,e),i(Sc,e)}(mc);var xc,Pc,kc={},Ic={};Object.defineProperty(Ic,"__esModule",{value:!0}),Ic.LDDeliveryStatus=Ic.LDEventType=void 0,function(e){e[e.AnalyticsEvents=0]="AnalyticsEvents",e[e.DiagnosticEvent=1]="DiagnosticEvent"}(xc||(Ic.LDEventType=xc={})),function(e){e[e.Succeeded=0]="Succeeded",e[e.Failed=1]="Failed",e[e.FailedAndMustShutDown=2]="FailedAndMustShutDown"}(Pc||(Ic.LDDeliveryStatus=Pc={})),function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.LDEventType=e.LDDeliveryStatus=void 0;const t=Ic;Object.defineProperty(e,"LDDeliveryStatus",{enumerable:!0,get:function(){return t.LDDeliveryStatus}}),Object.defineProperty(e,"LDEventType",{enumerable:!0,get:function(){return t.LDEventType}})}(kc),function(e){var r=t&&t.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),i=t&&t.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(e,"__esModule",{value:!0}),e.subsystem=void 0,i(Zu,e),i(lc,e),i(hc,e),i(yc,e),i(mc,e),e.subsystem=kc}(Yu);var Ac={},Rc={},Mc={};Object.defineProperty(Mc,"__esModule",{value:!0});const Tc=ku;function Dc(e){if("string"==typeof e)return e;if(void 0===e)return"undefined";if(null===e)return"null";if(Object.prototype.hasOwnProperty.call(e,"toString"))try{return e.toString()}catch(e){}if("bigint"==typeof e)return`${e}n`;try{return JSON.stringify(e)}catch(e){return e instanceof TypeError&&e.message.indexOf("circular")>=0?"[Circular]":"[Not Stringifiable]"}}const jc={s:e=>Dc(e),d:e=>function(e){return"symbol"==typeof e?"NaN":"bigint"==typeof e?`${e}n`:String(Number(e))}(e),i:e=>function(e){return"symbol"==typeof e?"NaN":"bigint"==typeof e?`${e}n`:String(parseInt(e,10))}(e),f:e=>function(e){return"symbol"==typeof e?"NaN":String(parseFloat(e))}(e),j:e=>Dc(e),o:e=>Dc(e),O:e=>Dc(e),c:()=>""};Mc.default=function(...e){var t;const r=e.shift();if(Tc.TypeValidators.String.is(r)){let i="",n=0;for(;n<r.length;){const s=r.charAt(n);if("%"===s){if(n+1<r.length){const s=r.charAt(n+1);if(s in jc&&e.length){const r=e.shift();i+=null===(t=jc[s])||void 0===t?void 0:t.call(jc,r)}else i+="%"===s?"%":`%${s}`;n+=2}}else i+=s,n+=1}return e.length&&(i.length&&(i+=" "),i+=e.map(Dc).join(" ")),i}return e.map(Dc).join(" ")},Object.defineProperty(Rc,"__esModule",{value:!0});const $c=Mc,Nc={debug:0,info:1,warn:2,error:3,none:4},Fc=["debug","info","warn","error","none"];class Cc{static get(){return new Cc({})}constructor(e){var t,r,i;this.logLevel=null!==(r=Nc[null!==(t=e.level)&&void 0!==t?t:"info"])&&void 0!==r?r:Nc.info,this.name=null!==(i=e.name)&&void 0!==i?i:"LaunchDarkly",this.destination=e.destination,this.formatter=e.formatter}tryFormat(...e){var t;try{return this.formatter?null===(t=this.formatter)||void 0===t?void 0:t.call(this,...e):(0,$c.default)(...e)}catch(t){return(0,$c.default)(...e)}}tryWrite(e){try{this.destination(e)}catch(t){console.error(e)}}log(e,t){if(e>=this.logLevel){const r=`${Fc[e]}: [${this.name}]`;try{this.destination?this.tryWrite(this.tryFormat(r,...t)):console.error(...t)}catch(e){console.error(...t)}}}error(...e){this.log(Nc.error,e)}warn(...e){this.log(Nc.warn,e)}info(...e){this.log(Nc.info,e)}debug(...e){this.log(Nc.debug,e)}}Rc.default=Cc;var Lc={};Object.defineProperty(Lc,"__esModule",{value:!0});const Bc=ku,Vc={error:Bc.TypeValidators.Function,warn:Bc.TypeValidators.Function,info:Bc.TypeValidators.Function,debug:Bc.TypeValidators.Function};Lc.default=class{constructor(e,t){Object.entries(Vc).forEach((([t,r])=>{if(!r.is(e[t]))throw new Error(`Provided logger instance must support logger.${t}(...) method`)})),this.logger=e,this.fallback=t}log(e,t){try{this.logger[e](...t)}catch(r){this.fallback[e](...t)}}error(...e){this.log("error",e)}warn(...e){this.log("warn",e)}info(...e){this.log("info",e)}debug(...e){this.log("debug",e)}},Object.defineProperty(Ac,"__esModule",{value:!0}),Ac.SafeLogger=Ac.BasicLogger=void 0;const Uc=Rc;Ac.BasicLogger=Uc.default;const zc=Lc;Ac.SafeLogger=zc.default;var Kc={},Hc={},qc={};Object.defineProperty(qc,"__esModule",{value:!0});qc.default=class{static deprecated(e,t){return`"${e}" is deprecated, please use "${t}"`}static optionBelowMinimum(e,t,r){return`Config option "${e}" had invalid value of ${t}, using minimum of ${r} instead`}static unknownOption(e){return`Ignoring unknown config option "${e}"`}static wrongOptionType(e,t,r){return`Config option "${e}" should be of type ${t}, got ${r}, using default value`}static wrongOptionTypeBoolean(e,t){return`Config option "${e}" should be a boolean, got ${t}, converting to boolean`}static invalidTagValue(e){return`Config option "${e}" must only contain letters, numbers, ., _ or -.`}static tagValueTooLong(e){return`Value of "${e}" was longer than 64 characters and was discarded.`}static partialEndpoint(e){return`You have set custom uris without specifying the ${e} URI; connections may not work properly`}},Object.defineProperty(Hc,"__esModule",{value:!0});const Gc=qc,Wc=ku.TypeValidators.stringMatchingRegex(/^(\w|\.|-)+$/),Xc=(e,t)=>Wc.is(e)?e.length>64?{valid:!1,message:Gc.default.tagValueTooLong(t)}:{valid:!0}:{valid:!1,message:Gc.default.invalidTagValue(t)};Hc.default=class{constructor(e){var t,r;const i={},n=null==e?void 0:e.application;if(null!==(null==n?void 0:n.id)&&void 0!==(null==n?void 0:n.id)){const{valid:r,message:s}=Xc(n.id,"application.id");r?i["application-id"]=[n.id]:null===(t=e.logger)||void 0===t||t.warn(s)}if(null!==(null==n?void 0:n.version)&&void 0!==(null==n?void 0:n.version)){const{valid:t,message:s}=Xc(n.version,"application.version");t?i["application-version"]=[n.version]:null===(r=e.logger)||void 0===r||r.warn(s)}const s=Object.keys(i);s.length&&(this.value=s.sort().flatMap((e=>i[e].sort().map((t=>`${e}/${t}`)))).join(" "))}};var Jc={};function Yc(e){return e.replace(/\/+$/,"")}Object.defineProperty(Jc,"__esModule",{value:!0});Jc.default=class{constructor(e,t,r){this.streaming=Yc(e),this.polling=Yc(t),this.events=Yc(r)}};var Zc={};Object.defineProperty(Zc,"__esModule",{value:!0});Zc.default=class{constructor(e,t,r){this.platform=r,this.basicConfiguration={logger:t.logger,offline:t.offline,sdkKey:e,serviceEndpoints:t.serviceEndpoints}}},Object.defineProperty(Kc,"__esModule",{value:!0}),Kc.ClientContext=Kc.ServiceEndpoints=Kc.OptionMessages=Kc.ApplicationTags=void 0;const Qc=Hc;Kc.ApplicationTags=Qc.default;const ed=qc;Kc.OptionMessages=ed.default;const td=Jc;Kc.ServiceEndpoints=td.default;const rd=Zc;Kc.ClientContext=rd.default;var id={},nd={};Object.defineProperty(nd,"__esModule",{value:!0}),nd.default=()=>{},Object.defineProperty(id,"__esModule",{value:!0}),id.noop=void 0;const sd=nd;id.noop=sd.default;var ad={},od={},ld={};Object.defineProperty(ld,"__esModule",{value:!0});ld.default=class{constructor(e,t,r,i){this.key=t,this.data=r,this.metricValue=i,this.kind="custom",this.creationDate=Date.now(),this.context=e}};var ud={};Object.defineProperty(ud,"__esModule",{value:!0});ud.default=class{constructor(e,t,r,i,n,s,a,o,l,u,c){var d;this.key=r,this.kind="feature",this.creationDate=Date.now(),this.context=t,this.default=i,this.variation=null!==(d=n.variationIndex)&&void 0!==d?d:void 0,this.value=n.value,void 0!==s&&(this.version=s),void 0!==a&&(this.variation=a),void 0!==o&&(this.trackEvents=o),void 0!==l&&(this.prereqOf=l),void 0!==u&&(this.reason=u),void 0!==c&&(this.debugEventsUntilDate=c)}};var cd={};Object.defineProperty(cd,"__esModule",{value:!0});cd.default=class{constructor(e){this.kind="identify",this.creationDate=Date.now(),this.context=e}};var dd={},hd={},fd={};Object.defineProperty(fd,"__esModule",{value:!0}),fd.isIdentify=fd.isCustom=fd.isFeature=void 0,fd.isFeature=function(e){return"feature"===e.kind},fd.isCustom=function(e){return"custom"===e.kind},fd.isIdentify=function(e){return"identify"===e.kind};var vd={};Object.defineProperty(vd,"__esModule",{value:!0});vd.default=class{constructor(e,t,r,i,n,s){this.count=e,this.key=t,this.value=r,this.version=n,this.variation=s,this.default=i}increment(){this.count+=1}},Object.defineProperty(hd,"__esModule",{value:!0});const pd=fd,gd=vd;hd.default=class{constructor(){this.startDate=0,this.endDate=0,this.counters={},this.contextKinds={}}summarizeEvent(e){if((0,pd.isFeature)(e)){const t=function(e){return`${e.key}:${null!==e.variation&&void 0!==e.variation?e.variation:""}:${null!==e.version&&void 0!==e.version?e.version:""}`}(e),r=this.counters[t];let i=this.contextKinds[e.key];i||(i=new Set,this.contextKinds[e.key]=i),e.context.kinds.forEach((e=>i.add(e))),r?r.increment():this.counters[t]=new gd.default(1,e.key,e.value,e.default,e.version,e.variation),(0===this.startDate||e.creationDate<this.startDate)&&(this.startDate=e.creationDate),e.creationDate>this.endDate&&(this.endDate=e.creationDate)}}getSummary(){const e=Object.values(this.counters).reduce(((e,t)=>{let r=e[t.key];r||(r={default:t.default,counters:[],contextKinds:[...this.contextKinds[t.key]]},e[t.key]=r);const i={value:t.value,count:t.count};return void 0!==t.variation&&null!==t.variation&&(i.variation=t.variation),void 0!==t.version&&null!==t.version?i.version=t.version:i.unknown=!0,r.counters.push(i),e}),{});return{startDate:this.startDate,endDate:this.endDate,features:e,kind:"summary"}}clearSummary(){this.startDate=0,this.endDate=0,this.counters={},this.contextKinds={}}};var yd={};Object.defineProperty(yd,"__esModule",{value:!0});class md extends Error{constructor(e){super(e),this.name="LaunchDarklyInvalidSDKKeyError"}}yd.default=md;var bd=t&&t.__awaiter||function(e,t,r,i){return new(r||(r=Promise))((function(n,s){function a(e){try{l(i.next(e))}catch(e){s(e)}}function o(e){try{l(i.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,o)}l((i=i.apply(e,t||[])).next())}))};Object.defineProperty(dd,"__esModule",{value:!0});const Ed=Ic,_d=Ou,wd=qu,Od=hd,Sd=fd,xd=yd;dd.default=class{constructor(e,t,r,i,n){if(this.eventSender=r,this.contextDeduplicator=i,this.diagnosticsManager=n,this.summarizer=new Od.default,this.queue=[],this.lastKnownPastTime=0,this.droppedEvents=0,this.deduplicatedUsers=0,this.exceededCapacity=!1,this.eventsInLastBatch=0,this.shutdown=!1,this.flushUsersTimer=null,this.capacity=e.eventsCapacity,this.logger=t.basicConfiguration.logger,this.contextFilter=new wd.default(e.allAttributesPrivate,e.privateAttributes.map((e=>new _d.default(e)))),void 0!==this.contextDeduplicator.flushInterval&&(this.flushUsersTimer=void this.contextDeduplicator.flushInterval),this.flushTimer=void e.flushInterval,this.diagnosticsManager){const t=n.createInitEvent();this.postDiagnosticEvent(t),this.diagnosticsTimer=void e.diagnosticRecordingInterval}}postDiagnosticEvent(e){this.eventSender.sendEventData(Ed.LDEventType.DiagnosticEvent,e)}close(){clearInterval(this.flushTimer),this.flushUsersTimer&&clearInterval(this.flushUsersTimer),this.diagnosticsTimer&&clearInterval(this.diagnosticsTimer)}flush(){var e;return bd(this,void 0,void 0,(function*(){if(this.shutdown)throw new xd.default("Events cannot be posted because SDK key is invalid");const t=this.queue;this.queue=[];const r=this.summarizer.getSummary();this.summarizer.clearSummary(),Object.keys(r.features).length&&t.push(r),t.length&&(this.eventsInLastBatch=t.length,null===(e=this.logger)||void 0===e||e.debug("Flushing %d events",t.length),yield this.tryPostingEvents(t))}))}sendEvent(e){if(this.shutdown)return;this.summarizer.summarizeEvent(e);const t=(0,Sd.isFeature)(e),r=t&&e.trackEvents||!t,i=this.shouldDebugEvent(e),n=(0,Sd.isIdentify)(e),s=this.contextDeduplicator.processContext(e.context);s||n||(this.deduplicatedUsers+=1);s&&!n&&this.enqueue({kind:"index",creationDate:e.creationDate,context:this.contextFilter.filter(e.context)}),r&&this.enqueue(this.makeOutputEvent(e,!1)),i&&this.enqueue(this.makeOutputEvent(e,!0))}makeOutputEvent(e,t){switch(e.kind){case"feature":{const r={kind:t?"debug":"feature",creationDate:e.creationDate,key:e.key,value:e.value,default:e.default,prereqOf:e.prereqOf};return void 0!==e.variation&&(r.variation=e.variation),void 0!==e.version&&(r.version=e.version),e.reason&&(r.reason=e.reason),t?r.context=this.contextFilter.filter(e.context):r.contextKeys=e.context.kindsAndKeys,r}case"identify":return{kind:"identify",creationDate:e.creationDate,context:this.contextFilter.filter(e.context)};case"custom":{const t={kind:"custom",creationDate:e.creationDate,key:e.key,contextKeys:e.context.kindsAndKeys};return void 0!==e.data&&(t.data=e.data),void 0!==e.metricValue&&(t.metricValue=e.metricValue),t}default:return e}}enqueue(e){var t;this.queue.length<this.capacity?(this.queue.push(e),this.exceededCapacity=!1):(this.exceededCapacity||(this.exceededCapacity=!0,null===(t=this.logger)||void 0===t||t.warn("Exceeded event queue capacity. Increase capacity to avoid dropping events.")),this.droppedEvents+=1)}shouldDebugEvent(e){return(0,Sd.isFeature)(e)&&e.debugEventsUntilDate&&e.debugEventsUntilDate>this.lastKnownPastTime&&e.debugEventsUntilDate>Date.now()}tryPostingEvents(e){return bd(this,void 0,void 0,(function*(){const t=yield this.eventSender.sendEventData(Ed.LDEventType.AnalyticsEvents,e);if(t.status===Ed.LDDeliveryStatus.FailedAndMustShutDown&&(this.shutdown=!0),t.serverTime&&(this.lastKnownPastTime=t.serverTime),t.error)throw t.error}))}},Object.defineProperty(od,"__esModule",{value:!0}),od.EventProcessor=od.InputIdentifyEvent=od.InputEvalEvent=od.InputCustomEvent=void 0;const Pd=ld;od.InputCustomEvent=Pd.default;const kd=ud;od.InputEvalEvent=kd.default;const Id=cd;od.InputIdentifyEvent=Id.default;const Ad=dd;od.EventProcessor=Ad.default,function(e){var r=t&&t.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),i=t&&t.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(e,"__esModule",{value:!0}),i(od,e)}(ad),function(e){var r=t&&t.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),i=t&&t.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(e,"__esModule",{value:!0}),e.ContextFilter=e.Context=e.AttributeReference=e.internal=void 0;const n=Ou;e.AttributeReference=n.default;const s=Pu;e.Context=s.default;const a=qu;e.ContextFilter=a.default,i(Yu,e),i(ku,e),i(Ac,e),i(Kc,e),i(id,e),e.internal=ad}(wu);var Rd={},Md={},Td=t&&t.__awaiter||function(e,t,r,i){return new(r||(r=Promise))((function(n,s){function a(e){try{l(i.next(e))}catch(e){s(e)}}function o(e){try{l(i.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,o)}l((i=i.apply(e,t||[])).next())}))};Object.defineProperty(Md,"__esModule",{value:!0});Md.default=class{constructor(e){this.onRequestStatus=e}getStatus(){return this.lastStatus}requireStatus(){return Td(this,void 0,void 0,(function*(){return this.lastStatus||(yield this.onRequestStatus()),this.lastStatus}))}notify(){var e;this.lastStatus&&(null===(e=this.listener)||void 0===e||e.call(this,this.lastStatus))}setListener(e){this.listener=e}setStatus(e){this.lastStatus=e}};var Dd={};Object.defineProperty(Dd,"__esModule",{value:!0});Dd.default=class{constructor(e){this.keyMap=new Map,this.head=0,this.tail=0,this.size=0;const{max:t}=e;this.max=t,this.values=new Array(t),this.keys=new Array(t),this.next=new Uint32Array(t),this.prev=new Uint32Array(t),e.maxAge?(this.lastUpdated=new Array(t).fill(0),this.maxAge=e.maxAge):(this.lastUpdated=[],this.maxAge=0)}set(e,t){let r=this.keyMap.get(e);void 0===r?(r=this.index(),this.keys[r]=e,this.keyMap.set(e,r),this.next[this.tail]=r,this.prev[r]=this.tail,this.tail=r,this.size+=1):this.setTail(r),this.values[r]=t,this.maxAge&&(this.lastUpdated[r]=Date.now())}get(e){const t=this.keyMap.get(e);if(void 0!==t){if(this.maxAge){const e=this.lastUpdated[t];if(Date.now()-e>this.maxAge)return}return this.setTail(t),this.maxAge&&(this.lastUpdated[t]=Date.now()),this.values[t]}}clear(){this.head=0,this.tail=0,this.size=0,this.values.fill(void 0),this.keys.fill(void 0),this.next.fill(0),this.prev.fill(0)}index(){return 0===this.size?this.tail:this.size===this.max?this.evict():this.size}evict(){const{head:e}=this,t=this.keys[e];return this.head=this.next[e],this.keyMap.delete(t),this.size-=1,e}link(e,t){this.prev[t]=e,this.next[e]=t}setTail(e){e!==this.tail&&(e===this.head?this.head=this.next[e]:this.link(this.prev[e],this.next[e]),this.link(this.tail,e),this.tail=e)}};var jd=t&&t.__awaiter||function(e,t,r,i){return new(r||(r=Promise))((function(n,s){function a(e){try{l(i.next(e))}catch(e){s(e)}}function o(e){try{l(i.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,o)}l((i=i.apply(e,t||[])).next())}))};Object.defineProperty(Rd,"__esModule",{value:!0});const $d=wu,Nd=Md,Fd=Dd;Rd.default=class{constructor(e,t,r,i){this.store=e,this.logger=r,this.crypto=i,this.statusProvider=new Nd.default((()=>jd(this,void 0,void 0,(function*(){return this.pollStoreAndUpdateStatus()})))),this.staleTimeMs=1e3*($d.TypeValidators.Number.is(t.staleAfter)&&t.staleAfter>0?t.staleAfter:120);$d.TypeValidators.Number.is(t.statusPollInterval)&&t.statusPollInterval>0&&t.statusPollInterval;this.pollHandle=e?void 0:null,e&&(this.cache=new Fd.default({max:t.userCacheSize||1e3,maxAge:1e3*(t.userCacheTime||5)}))}close(){this.pollHandle&&(clearInterval(this.pollHandle),this.pollHandle=void 0),this.store&&this.store.close()}getUserMembership(e){var t,r,i;return jd(this,void 0,void 0,(function*(){if(!this.store)return;let n=null===(t=this.cache)||void 0===t?void 0:t.get(e);if(!n)try{n=yield this.store.getUserMembership(this.hashForUserKey(e)),null===(r=this.cache)||void 0===r||r.set(e,n)}catch(e){return null===(i=this.logger)||void 0===i||i.error(`Big Segment store membership query returned error: ${e}`),[null,"STORE_ERROR"]}this.statusProvider.getStatus()||(yield this.pollStoreAndUpdateStatus());const s=this.statusProvider.getStatus();return s.available?[n,s.stale?"STALE":"HEALTHY"]:[n,"STORE_ERROR"]}))}pollStoreAndUpdateStatus(){var e,t,r;return jd(this,void 0,void 0,(function*(){if(!this.store)return void this.statusProvider.setStatus({available:!1,stale:!1});let i;null===(e=this.logger)||void 0===e||e.debug("Querying Big Segment store status");try{const e=yield this.store.getMetadata();i={available:!0,stale:!e||!e.lastUpToDate||this.isStale(e.lastUpToDate)}}catch(e){null===(t=this.logger)||void 0===t||t.error(`Big Segment store status query returned error: ${e}`),i={available:!1,stale:!1}}const n=this.statusProvider.getStatus();n&&n.available===i.available&&n.stale===i.stale||(null===(r=this.logger)||void 0===r||r.debug("Big Segment store status changed from %s to %s",JSON.stringify(n),JSON.stringify(i)),this.statusProvider.setStatus(i),this.statusProvider.notify())}))}hashForUserKey(e){const t=this.crypto.createHash("sha256");return t.update(e),t.digest("base64")}isStale(e){return Date.now()-e>=this.staleTimeMs}};var Cd={};Object.defineProperty(Cd,"__esModule",{value:!0});class Ld{}Ld.missingContextKeyNoEvent="Context was unspecified or had no key; event will not be sent",Cd.default=Ld;var Bd={},Vd={};Object.defineProperty(Vd,"__esModule",{value:!0});class Ud{}Ud.Features={namespace:"features",streamApiPath:"/flags/",requestPath:"/sdk/latest-flags/"},Ud.Segments={namespace:"segments",streamApiPath:"/segments/",requestPath:"/sdk/latest-segments/"},Vd.default=Ud;var zd={},Kd={};Object.defineProperty(Kd,"__esModule",{value:!0});Kd.default=class{constructor(){this.itemsByNamespace={}}get(e,t){var r;return null===(r=this.itemsByNamespace[e])||void 0===r?void 0:r[t]}set(e,t,r){e in this.itemsByNamespace||(this.itemsByNamespace[e]={}),this.itemsByNamespace[e][t]=r}remove(e,t){const r=this.itemsByNamespace[e];r&&delete r[t]}removeAll(){this.itemsByNamespace={}}enumerate(e){Object.entries(this.itemsByNamespace).forEach((([t,r])=>{Object.entries(r).forEach((([r,i])=>{e(t,r,i)}))}))}mergeFrom(e){e.enumerate(this.set.bind(this))}},Object.defineProperty(zd,"__esModule",{value:!0});const Hd=Kd;zd.default=class{constructor(){this.dependenciesFrom=new Hd.default,this.dependenciesTo=new Hd.default}updateDependenciesFrom(e,t,r){const i=this.dependenciesFrom.get(e,t);null==i||i.enumerate(((r,i)=>{const n=this.dependenciesTo.get(r,i);null==n||n.remove(e,t)})),this.dependenciesFrom.set(e,t,r),null==r||r.enumerate(((r,i)=>{let n=this.dependenciesTo.get(r,i);n||(n=new Hd.default,this.dependenciesTo.set(r,i,n)),n.set(e,t,!0)}))}updateModifiedItems(e,t,r){if(!e.get(t,r)){e.set(t,r,!0);const i=this.dependenciesTo.get(t,r);null==i||i.enumerate(((t,r)=>{this.updateModifiedItems(e,t,r)}))}}reset(){this.dependenciesFrom.removeAll(),this.dependenciesTo.removeAll()}},Object.defineProperty(Bd,"__esModule",{value:!0});const qd=Vd,Gd=zd,Wd=Kd;function Xd(e,t){var r,i;const n=new Wd.default,s=e===qd.default.Features.namespace,a=e===qd.default.Segments.namespace;if(s){const i=t;null===(r=null==i?void 0:i.prerequisites)||void 0===r||r.forEach((t=>{n.set(e,t.key,!0)}))}if(s||a){const e=t;null===(i=null==e?void 0:e.rules)||void 0===i||i.forEach((e=>{var t;null===(t=e.clauses)||void 0===t||t.forEach((e=>{"segmentMatch"===e.op&&e.values.forEach((e=>{n.set(qd.default.Segments.namespace,e,!0)}))}))}))}return n}Bd.default=class{constructor(e,t,r){this.featureStore=e,this.hasEventListeners=t,this.onChange=r,this.dependencyTracker=new Gd.default}init(e,t){const r=this.hasEventListeners(),i=i=>{this.featureStore.init(e,(()=>{if(this.dependencyTracker.reset(),Object.entries(e).forEach((([e,t])=>{Object.keys(t||{}).forEach((r=>{const i=t[r];this.dependencyTracker.updateDependenciesFrom(e,r,Xd(e,i))}))})),r){const t=new Wd.default;Object.keys(e).forEach((r=>{const n=(null==i?void 0:i[r])||{},s=e[r],a=Object.assign(Object.assign({},n),s);Object.keys(a).forEach((e=>{this.addIfModified(r,e,n&&n[e],s&&s[e],t)}))})),this.sendChangeEvents(t)}null==t||t()}))};r?this.featureStore.all(qd.default.Features,(e=>{this.featureStore.all(qd.default.Segments,(t=>{const r={[qd.default.Features.namespace]:e,[qd.default.Segments.namespace]:t};i(r)}))})):i()}upsert(e,t,r){const{key:i}=t,n=this.hasEventListeners(),s=s=>{this.featureStore.upsert(e,t,(()=>{if(this.dependencyTracker.updateDependenciesFrom(e.namespace,i,Xd(e.namespace,t)),n){const r=new Wd.default;this.addIfModified(e.namespace,i,s,t,r),this.sendChangeEvents(r)}null==r||r()}))};n?this.featureStore.get(e,i,s):s()}addIfModified(e,t,r,i,n){i&&r&&i.version<=r.version||this.dependencyTracker.updateModifiedItems(n,e,t)}sendChangeEvents(e){e.enumerate(((e,t)=>{e===qd.default.Features.namespace&&this.onChange(t)}))}};var Jd={};Object.defineProperty(Jd,"__esModule",{value:!0});Jd.default=class{start(e){}stop(){}close(){}};var Yd={},Zd={};Object.defineProperty(Zd,"__esModule",{value:!0}),Zd.isHttpRecoverable=Zd.LDClientError=Zd.LDUnexpectedResponseError=Zd.LDStreamingError=Zd.LDPollingError=void 0;class Qd extends Error{constructor(e){super(e),this.name="LaunchDarklyPollingError"}}Zd.LDPollingError=Qd;class eh extends Error{constructor(e,t){super(e),this.code=t,this.name="LaunchDarklyStreamingError"}}Zd.LDStreamingError=eh;class th extends Error{constructor(e){super(e),this.name="LaunchDarklyUnexpectedResponseError"}}Zd.LDUnexpectedResponseError=th;class rh extends Error{constructor(e){super(e),this.name="LaunchDarklyClientError"}}Zd.LDClientError=rh,Zd.isHttpRecoverable=function(e){return!(e>=400&&e<500)||(400===e||408===e||429===e)};var ih={};Object.defineProperty(ih,"__esModule",{value:!0}),ih.deserializeSegment=ih.serializeSegment=ih.deserializeFlag=ih.serializeFlag=ih.deserializeDelete=ih.deserializePatch=ih.deserializePoll=ih.deserializeAll=ih.processSegment=ih.processFlag=ih.replacer=ih.reviver=void 0;const nh=wu,sh=Vd;function ah(e,t){if(null!==t)return t}function oh(e,t){if(!(t instanceof nh.AttributeReference||Array.isArray(t)&&t[0]&&t[0]instanceof nh.AttributeReference))return t}function lh(e){e&&e.bucketBy&&(e.bucketByAttributeReference=new nh.AttributeReference(e.bucketBy,!e.contextKind))}function uh(e){var t;if(e.fallthrough&&e.fallthrough.rollout){lh(e.fallthrough.rollout)}null===(t=null==e?void 0:e.rules)||void 0===t||t.forEach((e=>{var t;lh(e.rollout),null===(t=null==e?void 0:e.clauses)||void 0===t||t.forEach((e=>{e&&e.attribute?e.attributeReference=new nh.AttributeReference(e.attribute,!e.contextKind):e&&(e.attributeReference=nh.AttributeReference.invalidReference)}))}))}function ch(e){var t;null===(t=null==e?void 0:e.rules)||void 0===t||t.forEach((e=>{var t;e.bucketBy&&(e.bucketByAttributeReference=new nh.AttributeReference(e.bucketBy,!e.rolloutContextKind)),null===(t=null==e?void 0:e.clauses)||void 0===t||t.forEach((e=>{e&&e.attribute?e.attributeReference=new nh.AttributeReference(e.attribute,!e.contextKind):e&&(e.attributeReference=nh.AttributeReference.invalidReference)}))}))}function dh(e){try{return JSON.parse(e,ah)}catch(e){return}}ih.reviver=ah,ih.replacer=oh,ih.processFlag=uh,ih.processSegment=ch,ih.deserializeAll=function(e){var t,r;const i=dh(e);if(i)return Object.values((null===(t=null==i?void 0:i.data)||void 0===t?void 0:t.flags)||[]).forEach((e=>{uh(e)})),Object.values((null===(r=null==i?void 0:i.data)||void 0===r?void 0:r.segments)||[]).forEach((e=>{ch(e)})),i},ih.deserializePoll=function(e){const t=dh(e);if(t)return Object.values((null==t?void 0:t.flags)||[]).forEach((e=>{uh(e)})),Object.values((null==t?void 0:t.segments)||[]).forEach((e=>{ch(e)})),t},ih.deserializePatch=function(e){const t=dh(e);if(t)return t.path.startsWith(sh.default.Features.streamApiPath)?(uh(t.data),t.kind=sh.default.Features):t.path.startsWith(sh.default.Segments.streamApiPath)&&(ch(t.data),t.kind=sh.default.Segments),t},ih.deserializeDelete=function(e){const t=dh(e);if(t)return t.path.startsWith(sh.default.Features.streamApiPath)?t.kind=sh.default.Features:t.path.startsWith(sh.default.Segments.streamApiPath)&&(t.kind=sh.default.Segments),t},ih.serializeFlag=function(e){return JSON.stringify(e,oh)},ih.deserializeFlag=function(e){const t=dh(e);if(t)return uh(t),t},ih.serializeSegment=function(e){return JSON.stringify(e,oh)},ih.deserializeSegment=function(e){const t=dh(e);if(t)return ch(t),t};var hh={};Object.defineProperty(hh,"__esModule",{value:!0}),hh.default=function(e,t,r){let i;return i=e.status?`error ${e.status}${401===e.status?" (invalid SDK key)":""}`:`I/O error (${e.message||e})`,`Received ${i} for ${t} - ${null!=r?r:"giving up permanently"}`},Object.defineProperty(Yd,"__esModule",{value:!0});const fh=Zd,vh=ih,ph=Vd,gh=hh;Yd.default=class{constructor(e,t,r){this.requestor=t,this.featureStore=r,this.stopped=!1,this.logger=e.logger,this.pollInterval=e.pollInterval,this.featureStore=r}poll(e){var t;if(this.stopped)return;const r=t=>{var r,i;null===(r=this.logger)||void 0===r||r.error("Polling received invalid data"),null===(i=this.logger)||void 0===i||i.debug(`Invalid JSON follows: ${t}`),null==e||e(new fh.LDPollingError("Malformed JSON data in polling response"))},i=Date.now();null===(t=this.logger)||void 0===t||t.debug("Polling LaunchDarkly for feature flag updates"),this.requestor.requestAllData(((t,n)=>{var s,a,o;const l=Date.now()-i,u=Math.max(1e3*this.pollInterval-l,0);if(null===(s=this.logger)||void 0===s||s.debug("Elapsed: %d ms, sleeping for %d ms",l,u),t){if(t.status&&!(0,fh.isHttpRecoverable)(t.status)){const r=(0,gh.default)(t,"polling request");return null===(a=this.logger)||void 0===a||a.error(r),void(null==e||e(new fh.LDPollingError(r)))}null===(o=this.logger)||void 0===o||o.warn((0,gh.default)(t,"polling request","will retry"))}else if(n){const t=(0,vh.deserializePoll)(n);if(t){const r={[ph.default.Features.namespace]:t.flags,[ph.default.Segments.namespace]:t.segments};return void this.featureStore.init(r,(()=>{null==e||e(),this.timeoutHandle=e=>{e()}}))}r(n)}this.timeoutHandle=e=>{e()}}))}start(e){this.poll(e)}stop(){this.timeoutHandle&&(clearTimeout(this.timeoutHandle),this.timeoutHandle=void 0),this.stopped=!0}close(){this.stop()}};var yh={},mh={};Object.defineProperty(mh,"__esModule",{value:!0}),mh.default=function(e,t,r){const i=r.sdkData(),n={authorization:e,"user-agent":`NodeJSClient/${i.version}`};i.wrapperName&&(n["x-launchdarkly-wrapper"]=i.wrapperVersion?`${i.wrapperName}/${i.wrapperVersion}`:i.wrapperName);const s=t.tags.value;return s&&(n["x-launchdarkly-tags"]=s),n};var bh=t&&t.__awaiter||function(e,t,r,i){return new(r||(r=Promise))((function(n,s){function a(e){try{l(i.next(e))}catch(e){s(e)}}function o(e){try{l(i.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,o)}l((i=i.apply(e,t||[])).next())}))};Object.defineProperty(yh,"__esModule",{value:!0});const Eh=Zd,_h=mh;yh.default=class{constructor(e,t,r,i){this.requests=i,this.eTagCache={},this.headers=(0,_h.default)(e,t,r),this.uri=`${t.serviceEndpoints.polling}/sdk/latest-all`}requestWithETagCache(e,t){return bh(this,void 0,void 0,(function*(){const r=this.eTagCache[e],i=null==r?void 0:r.etag,n=i?Object.assign(Object.assign({},t),{headers:Object.assign(Object.assign({},t.headers),{"if-none-match":i})}):t,s=yield this.requests.fetch(e,n);if(304===s.status&&r)return{res:s,body:r.body};const a=s.headers.get("etag"),o=yield s.text();return a&&(this.eTagCache[e]={etag:a,body:o}),{res:s,body:o}}))}requestAllData(e){return bh(this,void 0,void 0,(function*(){const t={method:"GET",headers:this.headers};try{const{res:r,body:i}=yield this.requestWithETagCache(this.uri,t);if(200!==r.status&&304!==r.status){const t=new Eh.LDStreamingError(`Unexpected status code: ${r.status}`,r.status);return e(t,void 0)}return e(void 0,304===r.status?null:i)}catch(t){return e(t,void 0)}}))}};var wh={};Object.defineProperty(wh,"__esModule",{value:!0});const Oh=Zd,Sh=ih,xh=Vd,Ph=mh,kh=hh;function Ih(e,t){return t.startsWith(e.streamApiPath)?t.substring(e.streamApiPath.length):void 0}wh.default=class{constructor(e,t,r,i,n,s){this.featureStore=n,this.diagnosticsManager=s,this.headers=(0,Ph.default)(e,t,i),this.logger=t.logger,this.streamInitialReconnectDelay=t.streamInitialReconnectDelay,this.requests=r,this.streamUri=`${t.serviceEndpoints.streaming}/all`}logConnectionStarted(){this.connectionAttemptStartTime=Date.now()}logConnectionResult(e){this.connectionAttemptStartTime&&this.diagnosticsManager&&this.diagnosticsManager.recordStreamInit(this.connectionAttemptStartTime,!e,Date.now()-this.connectionAttemptStartTime),this.connectionAttemptStartTime=void 0}start(e){this.logConnectionStarted();const t=(t,r)=>{var i,n;null===(i=this.logger)||void 0===i||i.error(`Stream received invalid data in "${t}" message`),null===(n=this.logger)||void 0===n||n.debug(`Invalid JSON follows: ${r}`),null==e||e(new Oh.LDStreamingError("Malformed JSON data in event stream"))},r=this.requests.createEventSource(this.streamUri,{headers:this.headers,errorFilter:t=>{var r,i;return t.status&&!(0,Oh.isHttpRecoverable)(t.status)?(this.logConnectionResult(!1),null==e||e(new Oh.LDStreamingError(t.message,t.status)),null===(r=this.logger)||void 0===r||r.error((0,kh.default)(t,"streaming request")),!1):(null===(i=this.logger)||void 0===i||i.warn((0,kh.default)(t,"streaming request","will retry")),this.logConnectionResult(!1),this.logConnectionStarted(),!0)},initialRetryDelayMillis:1e3*this.streamInitialReconnectDelay,readTimeoutMillis:3e5,retryResetIntervalMillis:6e4});this.eventSource=r,r.onclose=()=>{var e;null===(e=this.logger)||void 0===e||e.info("Closed LaunchDarkly stream connection")},r.onerror=()=>{},r.onopen=()=>{var e;null===(e=this.logger)||void 0===e||e.info("Opened LaunchDarkly stream connection")},r.onretrying=e=>{var t;null===(t=this.logger)||void 0===t||t.info(`Will retry stream connection in ${e.delayMillis} milliseconds`)},r.addEventListener("put",(r=>{var i;if(null===(i=this.logger)||void 0===i||i.debug("Received put event"),r&&r.data){this.logConnectionResult(!0);const i=(0,Sh.deserializeAll)(r.data);if(!i)return void t("put",r.data);const n={[xh.default.Features.namespace]:i.data.flags,[xh.default.Segments.namespace]:i.data.segments};this.featureStore.init(n,(()=>null==e?void 0:e()))}else null==e||e(new Oh.LDStreamingError("Unexpected payload from event stream"))})),r.addEventListener("patch",(r=>{var i,n;if(null===(i=this.logger)||void 0===i||i.debug("Received patch event"),r&&r.data){const e=(0,Sh.deserializePatch)(r.data);if(!e)return void t("patch",r.data);if(e.kind){const t=Ih(e.kind,e.path);t&&(null===(n=this.logger)||void 0===n||n.debug(`Updating ${t} in ${e.kind.namespace}`),this.featureStore.upsert(e.kind,e.data,(()=>{})))}}else null==e||e(new Oh.LDStreamingError("Unexpected payload from event stream"))})),r.addEventListener("delete",(r=>{var i,n;if(null===(i=this.logger)||void 0===i||i.debug("Received delete event"),r&&r.data){const e=(0,Sh.deserializeDelete)(r.data);if(!e)return void t("delete",r.data);if(e.kind){const t=Ih(e.kind,e.path);t&&(null===(n=this.logger)||void 0===n||n.debug(`Deleting ${t} in ${e.kind.namespace}`),this.featureStore.upsert(e.kind,{key:t,version:e.version,deleted:!0},(()=>{})))}}else null==e||e(new Oh.LDStreamingError("Unexpected payload from event stream"))}))}stop(){var e;null===(e=this.eventSource)||void 0===e||e.close(),this.eventSource=void 0}close(){this.stop()}};var Ah={},Rh=t&&t.__awaiter||function(e,t,r,i){return new(r||(r=Promise))((function(n,s){function a(e){try{l(i.next(e))}catch(e){s(e)}}function o(e){try{l(i.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,o)}l((i=i.apply(e,t||[])).next())}))};function Mh(e,t,r){return Rh(this,void 0,void 0,(function*(){if(!e)return!1;for(let i=0;i<e.length;i+=1){const n=yield t(e[i],i);if(r){if(!n)return!1}else if(n)return!0}return r}))}Object.defineProperty(Ah,"__esModule",{value:!0}),Ah.firstSeriesAsync=Ah.allSeriesAsync=Ah.firstResult=void 0,Ah.firstResult=function(e,t){let r;return null==e||e.some(((e,i)=>(r=t(e,i),!!r))),r},Ah.allSeriesAsync=function(e,t){return Rh(this,void 0,void 0,(function*(){return Mh(e,t,!0)}))},Ah.firstSeriesAsync=function(e,t){return Rh(this,void 0,void 0,(function*(){return Mh(e,t,!1)}))};var Th,Dh={};Object.defineProperty(Dh,"__esModule",{value:!0}),function(e){e.MalformedFlag="MALFORMED_FLAG",e.UserNotSpecified="USER_NOT_SPECIFIED",e.FlagNotFound="FLAG_NOT_FOUND",e.ClientNotReady="CLIENT_NOT_READY"}(Th||(Th={})),Dh.default=Th;var jh={},$h={};Object.defineProperty($h,"__esModule",{value:!0});class Nh{static prerequisiteFailed(e){return{kind:"PREREQUISITE_FAILED",prerequisiteKey:e}}static ruleMatch(e,t){return{kind:"RULE_MATCH",ruleId:e,ruleIndex:t}}}Nh.Fallthrough={kind:"FALLTHROUGH"},Nh.Off={kind:"OFF"},Nh.TargetMatch={kind:"TARGET_MATCH"},$h.default=Nh,Object.defineProperty(jh,"__esModule",{value:!0});const Fh=$h;class Ch{constructor(e,t,r){this.isError=e,this.detail=t,this.message=r,this.isError=e,this.detail=t,this.message=r}get isOff(){return this.detail.reason.kind===Fh.default.Off.kind}setDefault(e){this.detail.value=e}static forError(e,t,r){return new Ch(!0,{value:null!=r?r:null,variationIndex:null,reason:{kind:"ERROR",errorKind:e}},t)}static forSuccess(e,t,r){return new Ch(!1,{value:e,variationIndex:void 0===r?null:r,reason:t})}}jh.default=Ch;var Lh={},Bh={};Object.defineProperty(Bh,"__esModule",{value:!0}),Bh.getBucketBy=Bh.getOffVariation=Bh.getVariation=void 0;const Vh=wu,Uh=Dh,zh=jh,Kh=new Vh.AttributeReference("key");function Hh(e,t,r){return Vh.TypeValidators.Number.is(t)&&t>=0&&t<e.variations.length?zh.default.forSuccess(e.variations[t],r,t):zh.default.forError(Uh.default.MalformedFlag,"Invalid variation index in flag")}Bh.getVariation=Hh,Bh.getOffVariation=function(e,t){return Vh.TypeValidators.Number.is(e.offVariation)?Hh(e,e.offVariation,t):zh.default.forSuccess(null,t)},Bh.getBucketBy=function(e,t){var r;return null!==(r=e?void 0:t)&&void 0!==r?r:Kh};var qh={};Object.defineProperty(qh,"__esModule",{value:!0});const Gh=wu,Wh=Bh,Xh=$h,Jh=Ah;function Yh(e,t,r){const i=r.key(t.contextKind);if(void 0!==i){if(t.values.indexOf(i)>=0)return(0,Wh.getVariation)(e,t.variation,Xh.default.TargetMatch)}}qh.default=function(e,t){var r;return(null===(r=e.contextTargets)||void 0===r?void 0:r.length)?(0,Jh.firstResult)(e.contextTargets,(r=>{if(!r.contextKind||r.contextKind===Gh.Context.userKind){const i=(e.targets||[]).find((e=>e.variation===r.variation));return i?Yh(e,i,t):void 0}return Yh(e,r,t)})):(0,Jh.firstResult)(e.targets,(r=>Yh(e,r,t)))};var Zh={};Object.defineProperty(Zh,"__esModule",{value:!0});Zh.default=class{constructor(e){this.crypto=e}sha1Hex(e){const t=this.crypto.createHash("sha1");return t.update(e),t.digest("hex")}bucket(e,t,r,i,n="user",s){const a=function(e){return"string"==typeof e?e:Number.isInteger(e)?String(e):null}(e.valueForKind(r,n));if(null===a){return[0,e.kinds.indexOf(n)>=0]}const o=`${s?Number(s):`${t}.${i}`}.${a}`;return[parseInt(this.sha1Hex(o).substring(0,15),16)/0x1000000000000000,!0]}};var Qh={},ef={},tf={exports:{}};var rf={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2};var nf="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};!function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:r}=rf,i=nf,n=(t=e.exports={}).re=[],s=t.src=[],a=t.t={};let o=0;const l=(e,t,r)=>{const l=o++;i(e,l,t),a[e]=l,s[l]=t,n[l]=new RegExp(t,r?"g":void 0)};l("NUMERICIDENTIFIER","0|[1-9]\\d*"),l("NUMERICIDENTIFIERLOOSE","[0-9]+"),l("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),l("MAINVERSION",`(${s[a.NUMERICIDENTIFIER]})\\.(${s[a.NUMERICIDENTIFIER]})\\.(${s[a.NUMERICIDENTIFIER]})`),l("MAINVERSIONLOOSE",`(${s[a.NUMERICIDENTIFIERLOOSE]})\\.(${s[a.NUMERICIDENTIFIERLOOSE]})\\.(${s[a.NUMERICIDENTIFIERLOOSE]})`),l("PRERELEASEIDENTIFIER",`(?:${s[a.NUMERICIDENTIFIER]}|${s[a.NONNUMERICIDENTIFIER]})`),l("PRERELEASEIDENTIFIERLOOSE",`(?:${s[a.NUMERICIDENTIFIERLOOSE]}|${s[a.NONNUMERICIDENTIFIER]})`),l("PRERELEASE",`(?:-(${s[a.PRERELEASEIDENTIFIER]}(?:\\.${s[a.PRERELEASEIDENTIFIER]})*))`),l("PRERELEASELOOSE",`(?:-?(${s[a.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${s[a.PRERELEASEIDENTIFIERLOOSE]})*))`),l("BUILDIDENTIFIER","[0-9A-Za-z-]+"),l("BUILD",`(?:\\+(${s[a.BUILDIDENTIFIER]}(?:\\.${s[a.BUILDIDENTIFIER]})*))`),l("FULLPLAIN",`v?${s[a.MAINVERSION]}${s[a.PRERELEASE]}?${s[a.BUILD]}?`),l("FULL",`^${s[a.FULLPLAIN]}$`),l("LOOSEPLAIN",`[v=\\s]*${s[a.MAINVERSIONLOOSE]}${s[a.PRERELEASELOOSE]}?${s[a.BUILD]}?`),l("LOOSE",`^${s[a.LOOSEPLAIN]}$`),l("GTLT","((?:<|>)?=?)"),l("XRANGEIDENTIFIERLOOSE",`${s[a.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),l("XRANGEIDENTIFIER",`${s[a.NUMERICIDENTIFIER]}|x|X|\\*`),l("XRANGEPLAIN",`[v=\\s]*(${s[a.XRANGEIDENTIFIER]})(?:\\.(${s[a.XRANGEIDENTIFIER]})(?:\\.(${s[a.XRANGEIDENTIFIER]})(?:${s[a.PRERELEASE]})?${s[a.BUILD]}?)?)?`),l("XRANGEPLAINLOOSE",`[v=\\s]*(${s[a.XRANGEIDENTIFIERLOOSE]})(?:\\.(${s[a.XRANGEIDENTIFIERLOOSE]})(?:\\.(${s[a.XRANGEIDENTIFIERLOOSE]})(?:${s[a.PRERELEASELOOSE]})?${s[a.BUILD]}?)?)?`),l("XRANGE",`^${s[a.GTLT]}\\s*${s[a.XRANGEPLAIN]}$`),l("XRANGELOOSE",`^${s[a.GTLT]}\\s*${s[a.XRANGEPLAINLOOSE]}$`),l("COERCE",`(^|[^\\d])(\\d{1,${r}})(?:\\.(\\d{1,${r}}))?(?:\\.(\\d{1,${r}}))?(?:$|[^\\d])`),l("COERCERTL",s[a.COERCE],!0),l("LONETILDE","(?:~>?)"),l("TILDETRIM",`(\\s*)${s[a.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",l("TILDE",`^${s[a.LONETILDE]}${s[a.XRANGEPLAIN]}$`),l("TILDELOOSE",`^${s[a.LONETILDE]}${s[a.XRANGEPLAINLOOSE]}$`),l("LONECARET","(?:\\^)"),l("CARETTRIM",`(\\s*)${s[a.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",l("CARET",`^${s[a.LONECARET]}${s[a.XRANGEPLAIN]}$`),l("CARETLOOSE",`^${s[a.LONECARET]}${s[a.XRANGEPLAINLOOSE]}$`),l("COMPARATORLOOSE",`^${s[a.GTLT]}\\s*(${s[a.LOOSEPLAIN]})$|^$`),l("COMPARATOR",`^${s[a.GTLT]}\\s*(${s[a.FULLPLAIN]})$|^$`),l("COMPARATORTRIM",`(\\s*)${s[a.GTLT]}\\s*(${s[a.LOOSEPLAIN]}|${s[a.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",l("HYPHENRANGE",`^\\s*(${s[a.XRANGEPLAIN]})\\s+-\\s+(${s[a.XRANGEPLAIN]})\\s*$`),l("HYPHENRANGELOOSE",`^\\s*(${s[a.XRANGEPLAINLOOSE]})\\s+-\\s+(${s[a.XRANGEPLAINLOOSE]})\\s*$`),l("STAR","(<|>)?=?\\s*\\*"),l("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),l("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}(tf,tf.exports);var sf=tf.exports;const af=Object.freeze({loose:!0}),of=Object.freeze({});var lf=e=>e?"object"!=typeof e?af:e:of;const uf=/^[0-9]+$/,cf=(e,t)=>{const r=uf.test(e),i=uf.test(t);return r&&i&&(e=+e,t=+t),e===t?0:r&&!i?-1:i&&!r?1:e<t?-1:1};var df={compareIdentifiers:cf,rcompareIdentifiers:(e,t)=>cf(t,e)};const hf=nf,{MAX_LENGTH:ff,MAX_SAFE_INTEGER:vf}=rf,{re:pf,t:gf}=sf,yf=lf,{compareIdentifiers:mf}=df;var bf=class e{constructor(t,r){if(r=yf(r),t instanceof e){if(t.loose===!!r.loose&&t.includePrerelease===!!r.includePrerelease)return t;t=t.version}else if("string"!=typeof t)throw new TypeError(`Invalid Version: ${t}`);if(t.length>ff)throw new TypeError(`version is longer than ${ff} characters`);hf("SemVer",t,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;const i=t.trim().match(r.loose?pf[gf.LOOSE]:pf[gf.FULL]);if(!i)throw new TypeError(`Invalid Version: ${t}`);if(this.raw=t,this.major=+i[1],this.minor=+i[2],this.patch=+i[3],this.major>vf||this.major<0)throw new TypeError("Invalid major version");if(this.minor>vf||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>vf||this.patch<0)throw new TypeError("Invalid patch version");i[4]?this.prerelease=i[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t<vf)return t}return e})):this.prerelease=[],this.build=i[5]?i[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(t){if(hf("SemVer.compare",this.version,this.options,t),!(t instanceof e)){if("string"==typeof t&&t===this.version)return 0;t=new e(t,this.options)}return t.version===this.version?0:this.compareMain(t)||this.comparePre(t)}compareMain(t){return t instanceof e||(t=new e(t,this.options)),mf(this.major,t.major)||mf(this.minor,t.minor)||mf(this.patch,t.patch)}comparePre(t){if(t instanceof e||(t=new e(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let r=0;do{const e=this.prerelease[r],i=t.prerelease[r];if(hf("prerelease compare",r,e,i),void 0===e&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===e)return-1;if(e!==i)return mf(e,i)}while(++r)}compareBuild(t){t instanceof e||(t=new e(t,this.options));let r=0;do{const e=this.build[r],i=t.build[r];if(hf("prerelease compare",r,e,i),void 0===e&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===e)return-1;if(e!==i)return mf(e,i)}while(++r)}inc(e,t,r){switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t,r);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,r);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t,r),this.inc("pre",t,r);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",t,r),this.inc("pre",t,r);break;case"major":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":if(0===this.prerelease.length)this.prerelease=[0];else{let e=this.prerelease.length;for(;--e>=0;)"number"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}if(t){const e=Number(r)?1:0;0===mf(this.prerelease[0],t)?isNaN(this.prerelease[1])&&(this.prerelease=[t,e]):this.prerelease=[t,e]}break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}};const{MAX_LENGTH:Ef}=rf,_f=bf;var wf=(e,t)=>{if(e instanceof _f)return e;if("string"!=typeof e)return null;if(e.length>Ef)return null;try{return new _f(e,t)}catch(e){return null}};const Of=wf;var Sf=(e,t)=>{const r=Of(e,t);return r?r.version:null};const xf=wf;var Pf=(e,t)=>{const r=xf(e.trim().replace(/^[=v]+/,""),t);return r?r.version:null};const kf=bf;var If=(e,t,r,i,n)=>{"string"==typeof r&&(n=i,i=r,r=void 0);try{return new kf(e instanceof kf?e.version:e,r).inc(t,i,n).version}catch(e){return null}};const Af=bf;var Rf=(e,t,r)=>new Af(e,r).compare(new Af(t,r));const Mf=Rf;var Tf=(e,t,r)=>0===Mf(e,t,r);const Df=wf,jf=Tf;var $f=(e,t)=>{const r=Df(e),i=Df(t);if(jf(r,i))return null;{const e=r.prerelease.length||i.prerelease.length,t=e?"pre":"",n=e?"prerelease":"";if(r.major!==i.major)return t+"major";if(r.minor!==i.minor)return t+"minor";if(r.patch!==i.patch)return t+"patch";if(!r.prerelease.length||!i.prerelease.length){if(r.patch)return"patch";if(r.minor)return"minor";if(r.major)return"major"}return n}};const Nf=bf;var Ff=(e,t)=>new Nf(e,t).major;const Cf=bf;var Lf=(e,t)=>new Cf(e,t).minor;const Bf=bf;var Vf=(e,t)=>new Bf(e,t).patch;const Uf=wf;var zf=(e,t)=>{const r=Uf(e,t);return r&&r.prerelease.length?r.prerelease:null};const Kf=Rf;var Hf=(e,t,r)=>Kf(t,e,r);const qf=Rf;var Gf=(e,t)=>qf(e,t,!0);const Wf=bf;var Xf=(e,t,r)=>{const i=new Wf(e,r),n=new Wf(t,r);return i.compare(n)||i.compareBuild(n)};const Jf=Xf;var Yf=(e,t)=>e.sort(((e,r)=>Jf(e,r,t)));const Zf=Xf;var Qf=(e,t)=>e.sort(((e,r)=>Zf(r,e,t)));const ev=Rf;var tv=(e,t,r)=>ev(e,t,r)>0;const rv=Rf;var iv=(e,t,r)=>rv(e,t,r)<0;const nv=Rf;var sv=(e,t,r)=>0!==nv(e,t,r);const av=Rf;var ov=(e,t,r)=>av(e,t,r)>=0;const lv=Rf;var uv=(e,t,r)=>lv(e,t,r)<=0;const cv=Tf,dv=sv,hv=tv,fv=ov,vv=iv,pv=uv;var gv=(e,t,r,i)=>{switch(t){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof r&&(r=r.version),e===r;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof r&&(r=r.version),e!==r;case"":case"=":case"==":return cv(e,r,i);case"!=":return dv(e,r,i);case">":return hv(e,r,i);case">=":return fv(e,r,i);case"<":return vv(e,r,i);case"<=":return pv(e,r,i);default:throw new TypeError(`Invalid operator: ${t}`)}};const yv=bf,mv=wf,{re:bv,t:Ev}=sf;var _v,wv,Ov,Sv,xv,Pv,kv,Iv,Av,Rv,Mv=(e,t)=>{if(e instanceof yv)return e;if("number"==typeof e&&(e=String(e)),"string"!=typeof e)return null;let r=null;if((t=t||{}).rtl){let t;for(;(t=bv[Ev.COERCERTL].exec(e))&&(!r||r.index+r[0].length!==e.length);)r&&t.index+t[0].length===r.index+r[0].length||(r=t),bv[Ev.COERCERTL].lastIndex=t.index+t[1].length+t[2].length;bv[Ev.COERCERTL].lastIndex=-1}else r=e.match(bv[Ev.COERCE]);return null===r?null:mv(`${r[2]}.${r[3]||"0"}.${r[4]||"0"}`,t)};function Tv(){if(Sv)return Ov;function e(t){var r=this;if(r instanceof e||(r=new e),r.tail=null,r.head=null,r.length=0,t&&"function"==typeof t.forEach)t.forEach((function(e){r.push(e)}));else if(arguments.length>0)for(var i=0,n=arguments.length;i<n;i++)r.push(arguments[i]);return r}function t(e,t,r){var i=t===e.head?new n(r,null,t,e):new n(r,t,t.next,e);return null===i.next&&(e.tail=i),null===i.prev&&(e.head=i),e.length++,i}function r(e,t){e.tail=new n(t,e.tail,null,e),e.head||(e.head=e.tail),e.length++}function i(e,t){e.head=new n(t,null,e.head,e),e.tail||(e.tail=e.head),e.length++}function n(e,t,r,i){if(!(this instanceof n))return new n(e,t,r,i);this.list=i,this.value=e,t?(t.next=this,this.prev=t):this.prev=null,r?(r.prev=this,this.next=r):this.next=null}Sv=1,Ov=e,e.Node=n,e.create=e,e.prototype.removeNode=function(e){if(e.list!==this)throw new Error("removing node which does not belong to this list");var t=e.next,r=e.prev;return t&&(t.prev=r),r&&(r.next=t),e===this.head&&(this.head=t),e===this.tail&&(this.tail=r),e.list.length--,e.next=null,e.prev=null,e.list=null,t},e.prototype.unshiftNode=function(e){if(e!==this.head){e.list&&e.list.removeNode(e);var t=this.head;e.list=this,e.next=t,t&&(t.prev=e),this.head=e,this.tail||(this.tail=e),this.length++}},e.prototype.pushNode=function(e){if(e!==this.tail){e.list&&e.list.removeNode(e);var t=this.tail;e.list=this,e.prev=t,t&&(t.next=e),this.tail=e,this.head||(this.head=e),this.length++}},e.prototype.push=function(){for(var e=0,t=arguments.length;e<t;e++)r(this,arguments[e]);return this.length},e.prototype.unshift=function(){for(var e=0,t=arguments.length;e<t;e++)i(this,arguments[e]);return this.length},e.prototype.pop=function(){if(this.tail){var e=this.tail.value;return this.tail=this.tail.prev,this.tail?this.tail.next=null:this.head=null,this.length--,e}},e.prototype.shift=function(){if(this.head){var e=this.head.value;return this.head=this.head.next,this.head?this.head.prev=null:this.tail=null,this.length--,e}},e.prototype.forEach=function(e,t){t=t||this;for(var r=this.head,i=0;null!==r;i++)e.call(t,r.value,i,this),r=r.next},e.prototype.forEachReverse=function(e,t){t=t||this;for(var r=this.tail,i=this.length-1;null!==r;i--)e.call(t,r.value,i,this),r=r.prev},e.prototype.get=function(e){for(var t=0,r=this.head;null!==r&&t<e;t++)r=r.next;if(t===e&&null!==r)return r.value},e.prototype.getReverse=function(e){for(var t=0,r=this.tail;null!==r&&t<e;t++)r=r.prev;if(t===e&&null!==r)return r.value},e.prototype.map=function(t,r){r=r||this;for(var i=new e,n=this.head;null!==n;)i.push(t.call(r,n.value,this)),n=n.next;return i},e.prototype.mapReverse=function(t,r){r=r||this;for(var i=new e,n=this.tail;null!==n;)i.push(t.call(r,n.value,this)),n=n.prev;return i},e.prototype.reduce=function(e,t){var r,i=this.head;if(arguments.length>1)r=t;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");i=this.head.next,r=this.head.value}for(var n=0;null!==i;n++)r=e(r,i.value,n),i=i.next;return r},e.prototype.reduceReverse=function(e,t){var r,i=this.tail;if(arguments.length>1)r=t;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");i=this.tail.prev,r=this.tail.value}for(var n=this.length-1;null!==i;n--)r=e(r,i.value,n),i=i.prev;return r},e.prototype.toArray=function(){for(var e=new Array(this.length),t=0,r=this.head;null!==r;t++)e[t]=r.value,r=r.next;return e},e.prototype.toArrayReverse=function(){for(var e=new Array(this.length),t=0,r=this.tail;null!==r;t++)e[t]=r.value,r=r.prev;return e},e.prototype.slice=function(t,r){(r=r||this.length)<0&&(r+=this.length),(t=t||0)<0&&(t+=this.length);var i=new e;if(r<t||r<0)return i;t<0&&(t=0),r>this.length&&(r=this.length);for(var n=0,s=this.head;null!==s&&n<t;n++)s=s.next;for(;null!==s&&n<r;n++,s=s.next)i.push(s.value);return i},e.prototype.sliceReverse=function(t,r){(r=r||this.length)<0&&(r+=this.length),(t=t||0)<0&&(t+=this.length);var i=new e;if(r<t||r<0)return i;t<0&&(t=0),r>this.length&&(r=this.length);for(var n=this.length,s=this.tail;null!==s&&n>r;n--)s=s.prev;for(;null!==s&&n>t;n--,s=s.prev)i.push(s.value);return i},e.prototype.splice=function(e,r,...i){e>this.length&&(e=this.length-1),e<0&&(e=this.length+e);for(var n=0,s=this.head;null!==s&&n<e;n++)s=s.next;var a=[];for(n=0;s&&n<r;n++)a.push(s.value),s=this.removeNode(s);null===s&&(s=this.tail),s!==this.head&&s!==this.tail&&(s=s.prev);for(n=0;n<i.length;n++)s=t(this,s,i[n]);return a},e.prototype.reverse=function(){for(var e=this.head,t=this.tail,r=e;null!==r;r=r.prev){var i=r.prev;r.prev=r.next,r.next=i}return this.head=t,this.tail=e,this};try{(wv?_v:(wv=1,_v=function(e){e.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}))(e)}catch(e){}return Ov}function Dv(){if(Iv)return kv;Iv=1;class e{constructor(t,r){if(r=i(r),t instanceof e)return t.loose===!!r.loose&&t.includePrerelease===!!r.includePrerelease?t:new e(t.raw,r);if(t instanceof n)return this.raw=t.value,this.set=[[t]],this.format(),this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=t,this.set=t.split("||").map((e=>this.parseRange(e.trim()))).filter((e=>e.length)),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${t}`);if(this.set.length>1){const e=this.set[0];if(this.set=this.set.filter((e=>!v(e[0]))),0===this.set.length)this.set=[e];else if(this.set.length>1)for(const e of this.set)if(1===e.length&&p(e[0])){this.set=[e];break}}this.format()}format(){return this.range=this.set.map((e=>e.join(" ").trim())).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();const t=((this.options.includePrerelease&&h)|(this.options.loose&&f))+":"+e,i=r.get(t);if(i)return i;const a=this.options.loose,p=a?o[l.HYPHENRANGELOOSE]:o[l.HYPHENRANGE];e=e.replace(p,k(this.options.includePrerelease)),s("hyphen replace",e),e=e.replace(o[l.COMPARATORTRIM],u),s("comparator trim",e);let g=(e=(e=(e=e.replace(o[l.TILDETRIM],c)).replace(o[l.CARETTRIM],d)).split(/\s+/).join(" ")).split(" ").map((e=>y(e,this.options))).join(" ").split(/\s+/).map((e=>P(e,this.options)));a&&(g=g.filter((e=>(s("loose invalid filter",e,this.options),!!e.match(o[l.COMPARATORLOOSE]))))),s("range list",g);const m=new Map,b=g.map((e=>new n(e,this.options)));for(const e of b){if(v(e))return[e];m.set(e.value,e)}m.size>1&&m.has("")&&m.delete("");const E=[...m.values()];return r.set(t,E),E}intersects(t,r){if(!(t instanceof e))throw new TypeError("a Range is required");return this.set.some((e=>g(e,r)&&t.set.some((t=>g(t,r)&&e.every((e=>t.every((t=>e.intersects(t,r)))))))))}test(e){if(!e)return!1;if("string"==typeof e)try{e=new a(e,this.options)}catch(e){return!1}for(let t=0;t<this.set.length;t++)if(I(this.set[t],e,this.options))return!0;return!1}}kv=e;const t=function(){if(Pv)return xv;Pv=1;const e=Tv(),t=Symbol("max"),r=Symbol("length"),i=Symbol("lengthCalculator"),n=Symbol("allowStale"),s=Symbol("maxAge"),a=Symbol("dispose"),o=Symbol("noDisposeOnSet"),l=Symbol("lruList"),u=Symbol("cache"),c=Symbol("updateAgeOnGet"),d=()=>1,h=(e,t,r)=>{const i=e[u].get(t);if(i){const t=i.value;if(f(e,t)){if(p(e,i),!e[n])return}else r&&(e[c]&&(i.value.now=Date.now()),e[l].unshiftNode(i));return t.value}},f=(e,t)=>{if(!t||!t.maxAge&&!e[s])return!1;const r=Date.now()-t.now;return t.maxAge?r>t.maxAge:e[s]&&r>e[s]},v=e=>{if(e[r]>e[t])for(let i=e[l].tail;e[r]>e[t]&&null!==i;){const t=i.prev;p(e,i),i=t}},p=(e,t)=>{if(t){const i=t.value;e[a]&&e[a](i.key,i.value),e[r]-=i.length,e[u].delete(i.key),e[l].removeNode(t)}};class g{constructor(e,t,r,i,n){this.key=e,this.value=t,this.length=r,this.now=i,this.maxAge=n||0}}const y=(e,t,r,i)=>{let s=r.value;f(e,s)&&(p(e,r),e[n]||(s=void 0)),s&&t.call(i,s.value,s.key,e)};return xv=class{constructor(e){if("number"==typeof e&&(e={max:e}),e||(e={}),e.max&&("number"!=typeof e.max||e.max<0))throw new TypeError("max must be a non-negative number");this[t]=e.max||1/0;const r=e.length||d;if(this[i]="function"!=typeof r?d:r,this[n]=e.stale||!1,e.maxAge&&"number"!=typeof e.maxAge)throw new TypeError("maxAge must be a number");this[s]=e.maxAge||0,this[a]=e.dispose,this[o]=e.noDisposeOnSet||!1,this[c]=e.updateAgeOnGet||!1,this.reset()}set max(e){if("number"!=typeof e||e<0)throw new TypeError("max must be a non-negative number");this[t]=e||1/0,v(this)}get max(){return this[t]}set allowStale(e){this[n]=!!e}get allowStale(){return this[n]}set maxAge(e){if("number"!=typeof e)throw new TypeError("maxAge must be a non-negative number");this[s]=e,v(this)}get maxAge(){return this[s]}set lengthCalculator(e){"function"!=typeof e&&(e=d),e!==this[i]&&(this[i]=e,this[r]=0,this[l].forEach((e=>{e.length=this[i](e.value,e.key),this[r]+=e.length}))),v(this)}get lengthCalculator(){return this[i]}get length(){return this[r]}get itemCount(){return this[l].length}rforEach(e,t){t=t||this;for(let r=this[l].tail;null!==r;){const i=r.prev;y(this,e,r,t),r=i}}forEach(e,t){t=t||this;for(let r=this[l].head;null!==r;){const i=r.next;y(this,e,r,t),r=i}}keys(){return this[l].toArray().map((e=>e.key))}values(){return this[l].toArray().map((e=>e.value))}reset(){this[a]&&this[l]&&this[l].length&&this[l].forEach((e=>this[a](e.key,e.value))),this[u]=new Map,this[l]=new e,this[r]=0}dump(){return this[l].map((e=>!f(this,e)&&{k:e.key,v:e.value,e:e.now+(e.maxAge||0)})).toArray().filter((e=>e))}dumpLru(){return this[l]}set(e,n,c){if((c=c||this[s])&&"number"!=typeof c)throw new TypeError("maxAge must be a number");const d=c?Date.now():0,h=this[i](n,e);if(this[u].has(e)){if(h>this[t])return p(this,this[u].get(e)),!1;const i=this[u].get(e).value;return this[a]&&(this[o]||this[a](e,i.value)),i.now=d,i.maxAge=c,i.value=n,this[r]+=h-i.length,i.length=h,this.get(e),v(this),!0}const f=new g(e,n,h,d,c);return f.length>this[t]?(this[a]&&this[a](e,n),!1):(this[r]+=f.length,this[l].unshift(f),this[u].set(e,this[l].head),v(this),!0)}has(e){if(!this[u].has(e))return!1;const t=this[u].get(e).value;return!f(this,t)}get(e){return h(this,e,!0)}peek(e){return h(this,e,!1)}pop(){const e=this[l].tail;return e?(p(this,e),e.value):null}del(e){p(this,this[u].get(e))}load(e){this.reset();const t=Date.now();for(let r=e.length-1;r>=0;r--){const i=e[r],n=i.e||0;if(0===n)this.set(i.k,i.v);else{const e=n-t;e>0&&this.set(i.k,i.v,e)}}}prune(){this[u].forEach(((e,t)=>h(this,t,!1)))}},xv}(),r=new t({max:1e3}),i=lf,n=jv(),s=nf,a=bf,{re:o,t:l,comparatorTrimReplace:u,tildeTrimReplace:c,caretTrimReplace:d}=sf,{FLAG_INCLUDE_PRERELEASE:h,FLAG_LOOSE:f}=rf,v=e=>"<0.0.0-0"===e.value,p=e=>""===e.value,g=(e,t)=>{let r=!0;const i=e.slice();let n=i.pop();for(;r&&i.length;)r=i.every((e=>n.intersects(e,t))),n=i.pop();return r},y=(e,t)=>(s("comp",e,t),e=_(e,t),s("caret",e),e=b(e,t),s("tildes",e),e=O(e,t),s("xrange",e),e=x(e,t),s("stars",e),e),m=e=>!e||"x"===e.toLowerCase()||"*"===e,b=(e,t)=>e.trim().split(/\s+/).map((e=>E(e,t))).join(" "),E=(e,t)=>{const r=t.loose?o[l.TILDELOOSE]:o[l.TILDE];return e.replace(r,((t,r,i,n,a)=>{let o;return s("tilde",e,t,r,i,n,a),m(r)?o="":m(i)?o=`>=${r}.0.0 <${+r+1}.0.0-0`:m(n)?o=`>=${r}.${i}.0 <${r}.${+i+1}.0-0`:a?(s("replaceTilde pr",a),o=`>=${r}.${i}.${n}-${a} <${r}.${+i+1}.0-0`):o=`>=${r}.${i}.${n} <${r}.${+i+1}.0-0`,s("tilde return",o),o}))},_=(e,t)=>e.trim().split(/\s+/).map((e=>w(e,t))).join(" "),w=(e,t)=>{s("caret",e,t);const r=t.loose?o[l.CARETLOOSE]:o[l.CARET],i=t.includePrerelease?"-0":"";return e.replace(r,((t,r,n,a,o)=>{let l;return s("caret",e,t,r,n,a,o),m(r)?l="":m(n)?l=`>=${r}.0.0${i} <${+r+1}.0.0-0`:m(a)?l="0"===r?`>=${r}.${n}.0${i} <${r}.${+n+1}.0-0`:`>=${r}.${n}.0${i} <${+r+1}.0.0-0`:o?(s("replaceCaret pr",o),l="0"===r?"0"===n?`>=${r}.${n}.${a}-${o} <${r}.${n}.${+a+1}-0`:`>=${r}.${n}.${a}-${o} <${r}.${+n+1}.0-0`:`>=${r}.${n}.${a}-${o} <${+r+1}.0.0-0`):(s("no pr"),l="0"===r?"0"===n?`>=${r}.${n}.${a}${i} <${r}.${n}.${+a+1}-0`:`>=${r}.${n}.${a}${i} <${r}.${+n+1}.0-0`:`>=${r}.${n}.${a} <${+r+1}.0.0-0`),s("caret return",l),l}))},O=(e,t)=>(s("replaceXRanges",e,t),e.split(/\s+/).map((e=>S(e,t))).join(" ")),S=(e,t)=>{e=e.trim();const r=t.loose?o[l.XRANGELOOSE]:o[l.XRANGE];return e.replace(r,((r,i,n,a,o,l)=>{s("xRange",e,r,i,n,a,o,l);const u=m(n),c=u||m(a),d=c||m(o),h=d;return"="===i&&h&&(i=""),l=t.includePrerelease?"-0":"",u?r=">"===i||"<"===i?"<0.0.0-0":"*":i&&h?(c&&(a=0),o=0,">"===i?(i=">=",c?(n=+n+1,a=0,o=0):(a=+a+1,o=0)):"<="===i&&(i="<",c?n=+n+1:a=+a+1),"<"===i&&(l="-0"),r=`${i+n}.${a}.${o}${l}`):c?r=`>=${n}.0.0${l} <${+n+1}.0.0-0`:d&&(r=`>=${n}.${a}.0${l} <${n}.${+a+1}.0-0`),s("xRange return",r),r}))},x=(e,t)=>(s("replaceStars",e,t),e.trim().replace(o[l.STAR],"")),P=(e,t)=>(s("replaceGTE0",e,t),e.trim().replace(o[t.includePrerelease?l.GTE0PRE:l.GTE0],"")),k=e=>(t,r,i,n,s,a,o,l,u,c,d,h,f)=>`${r=m(i)?"":m(n)?`>=${i}.0.0${e?"-0":""}`:m(s)?`>=${i}.${n}.0${e?"-0":""}`:a?`>=${r}`:`>=${r}${e?"-0":""}`} ${l=m(u)?"":m(c)?`<${+u+1}.0.0-0`:m(d)?`<${u}.${+c+1}.0-0`:h?`<=${u}.${c}.${d}-${h}`:e?`<${u}.${c}.${+d+1}-0`:`<=${l}`}`.trim(),I=(e,t,r)=>{for(let r=0;r<e.length;r++)if(!e[r].test(t))return!1;if(t.prerelease.length&&!r.includePrerelease){for(let r=0;r<e.length;r++)if(s(e[r].semver),e[r].semver!==n.ANY&&e[r].semver.prerelease.length>0){const i=e[r].semver;if(i.major===t.major&&i.minor===t.minor&&i.patch===t.patch)return!0}return!1}return!0};return kv}function jv(){if(Rv)return Av;Rv=1;const e=Symbol("SemVer ANY");class t{static get ANY(){return e}constructor(i,n){if(n=r(n),i instanceof t){if(i.loose===!!n.loose)return i;i=i.value}a("comparator",i,n),this.options=n,this.loose=!!n.loose,this.parse(i),this.semver===e?this.value="":this.value=this.operator+this.semver.version,a("comp",this)}parse(t){const r=this.options.loose?i[n.COMPARATORLOOSE]:i[n.COMPARATOR],s=t.match(r);if(!s)throw new TypeError(`Invalid comparator: ${t}`);this.operator=void 0!==s[1]?s[1]:"","="===this.operator&&(this.operator=""),s[2]?this.semver=new o(s[2],this.options.loose):this.semver=e}toString(){return this.value}test(t){if(a("Comparator.test",t,this.options.loose),this.semver===e||t===e)return!0;if("string"==typeof t)try{t=new o(t,this.options)}catch(e){return!1}return s(t,this.operator,this.semver,this.options)}intersects(e,i){if(!(e instanceof t))throw new TypeError("a Comparator is required");return""===this.operator?""===this.value||new l(e.value,i).test(this.value):""===e.operator?""===e.value||new l(this.value,i).test(e.semver):(!(i=r(i)).includePrerelease||"<0.0.0-0"!==this.value&&"<0.0.0-0"!==e.value)&&(!(!i.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0")))&&(!(!this.operator.startsWith(">")||!e.operator.startsWith(">"))||(!(!this.operator.startsWith("<")||!e.operator.startsWith("<"))||(!(this.semver.version!==e.semver.version||!this.operator.includes("=")||!e.operator.includes("="))||(!!(s(this.semver,"<",e.semver,i)&&this.operator.startsWith(">")&&e.operator.startsWith("<"))||!!(s(this.semver,">",e.semver,i)&&this.operator.startsWith("<")&&e.operator.startsWith(">")))))))}}Av=t;const r=lf,{re:i,t:n}=sf,s=gv,a=nf,o=bf,l=Dv();return Av}const $v=Dv();var Nv=(e,t,r)=>{try{t=new $v(t,r)}catch(e){return!1}return t.test(e)};const Fv=Dv();var Cv=(e,t)=>new Fv(e,t).set.map((e=>e.map((e=>e.value)).join(" ").trim().split(" ")));const Lv=bf,Bv=Dv();var Vv=(e,t,r)=>{let i=null,n=null,s=null;try{s=new Bv(t,r)}catch(e){return null}return e.forEach((e=>{s.test(e)&&(i&&-1!==n.compare(e)||(i=e,n=new Lv(i,r)))})),i};const Uv=bf,zv=Dv();var Kv=(e,t,r)=>{let i=null,n=null,s=null;try{s=new zv(t,r)}catch(e){return null}return e.forEach((e=>{s.test(e)&&(i&&1!==n.compare(e)||(i=e,n=new Uv(i,r)))})),i};const Hv=bf,qv=Dv(),Gv=tv;var Wv=(e,t)=>{e=new qv(e,t);let r=new Hv("0.0.0");if(e.test(r))return r;if(r=new Hv("0.0.0-0"),e.test(r))return r;r=null;for(let t=0;t<e.set.length;++t){const i=e.set[t];let n=null;i.forEach((e=>{const t=new Hv(e.semver.version);switch(e.operator){case">":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":n&&!Gv(t,n)||(n=t);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${e.operator}`)}})),!n||r&&!Gv(r,n)||(r=n)}return r&&e.test(r)?r:null};const Xv=Dv();var Jv=(e,t)=>{try{return new Xv(e,t).range||"*"}catch(e){return null}};const Yv=bf,Zv=jv(),{ANY:Qv}=Zv,ep=Dv(),tp=Nv,rp=tv,ip=iv,np=uv,sp=ov;var ap=(e,t,r,i)=>{let n,s,a,o,l;switch(e=new Yv(e,i),t=new ep(t,i),r){case">":n=rp,s=np,a=ip,o=">",l=">=";break;case"<":n=ip,s=sp,a=rp,o="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(tp(e,t,i))return!1;for(let r=0;r<t.set.length;++r){const u=t.set[r];let c=null,d=null;if(u.forEach((e=>{e.semver===Qv&&(e=new Zv(">=0.0.0")),c=c||e,d=d||e,n(e.semver,c.semver,i)?c=e:a(e.semver,d.semver,i)&&(d=e)})),c.operator===o||c.operator===l)return!1;if((!d.operator||d.operator===o)&&s(e,d.semver))return!1;if(d.operator===l&&a(e,d.semver))return!1}return!0};const op=ap;var lp=(e,t,r)=>op(e,t,">",r);const up=ap;var cp=(e,t,r)=>up(e,t,"<",r);const dp=Dv();var hp=(e,t,r)=>(e=new dp(e,r),t=new dp(t,r),e.intersects(t,r));const fp=Nv,vp=Rf;const pp=Dv(),gp=jv(),{ANY:yp}=gp,mp=Nv,bp=Rf,Ep=[new gp(">=0.0.0-0")],_p=[new gp(">=0.0.0")],wp=(e,t,r)=>{if(e===t)return!0;if(1===e.length&&e[0].semver===yp){if(1===t.length&&t[0].semver===yp)return!0;e=r.includePrerelease?Ep:_p}if(1===t.length&&t[0].semver===yp){if(r.includePrerelease)return!0;t=_p}const i=new Set;let n,s,a,o,l,u,c;for(const t of e)">"===t.operator||">="===t.operator?n=Op(n,t,r):"<"===t.operator||"<="===t.operator?s=Sp(s,t,r):i.add(t.semver);if(i.size>1)return null;if(n&&s){if(a=bp(n.semver,s.semver,r),a>0)return null;if(0===a&&(">="!==n.operator||"<="!==s.operator))return null}for(const e of i){if(n&&!mp(e,String(n),r))return null;if(s&&!mp(e,String(s),r))return null;for(const i of t)if(!mp(e,String(i),r))return!1;return!0}let d=!(!s||r.includePrerelease||!s.semver.prerelease.length)&&s.semver,h=!(!n||r.includePrerelease||!n.semver.prerelease.length)&&n.semver;d&&1===d.prerelease.length&&"<"===s.operator&&0===d.prerelease[0]&&(d=!1);for(const e of t){if(c=c||">"===e.operator||">="===e.operator,u=u||"<"===e.operator||"<="===e.operator,n)if(h&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===h.major&&e.semver.minor===h.minor&&e.semver.patch===h.patch&&(h=!1),">"===e.operator||">="===e.operator){if(o=Op(n,e,r),o===e&&o!==n)return!1}else if(">="===n.operator&&!mp(n.semver,String(e),r))return!1;if(s)if(d&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===d.major&&e.semver.minor===d.minor&&e.semver.patch===d.patch&&(d=!1),"<"===e.operator||"<="===e.operator){if(l=Sp(s,e,r),l===e&&l!==s)return!1}else if("<="===s.operator&&!mp(s.semver,String(e),r))return!1;if(!e.operator&&(s||n)&&0!==a)return!1}return!(n&&u&&!s&&0!==a)&&(!(s&&c&&!n&&0!==a)&&(!h&&!d))},Op=(e,t,r)=>{if(!e)return t;const i=bp(e.semver,t.semver,r);return i>0?e:i<0||">"===t.operator&&">="===e.operator?t:e},Sp=(e,t,r)=>{if(!e)return t;const i=bp(e.semver,t.semver,r);return i<0?e:i>0||"<"===t.operator&&"<="===e.operator?t:e};var xp=(e,t,r={})=>{if(e===t)return!0;e=new pp(e,r),t=new pp(t,r);let i=!1;e:for(const n of e.set){for(const e of t.set){const t=wp(n,e,r);if(i=i||null!==t,t)continue e}if(i)return!1}return!0};const Pp=sf,kp=rf,Ip=bf,Ap=df,Rp=(e,t,r)=>{const i=[];let n=null,s=null;const a=e.sort(((e,t)=>vp(e,t,r)));for(const e of a){fp(e,t,r)?(s=e,n||(n=e)):(s&&i.push([n,s]),s=null,n=null)}n&&i.push([n,null]);const o=[];for(const[e,t]of i)e===t?o.push(e):t||e!==a[0]?t?e===a[0]?o.push(`<=${t}`):o.push(`${e} - ${t}`):o.push(`>=${e}`):o.push("*");const l=o.join(" || "),u="string"==typeof t.raw?t.raw:String(t);return l.length<u.length?l:t};var Mp={parse:wf,valid:Sf,clean:Pf,inc:If,diff:$f,major:Ff,minor:Lf,patch:Vf,prerelease:zf,compare:Rf,rcompare:Hf,compareLoose:Gf,compareBuild:Xf,sort:Yf,rsort:Qf,gt:tv,lt:iv,eq:Tf,neq:sv,gte:ov,lte:uv,cmp:gv,coerce:Mv,Comparator:jv(),Range:Dv(),satisfies:Nv,toComparators:Cv,maxSatisfying:Vv,minSatisfying:Kv,minVersion:Wv,validRange:Jv,outside:ap,gtr:lp,ltr:cp,intersects:hp,simplifyRange:Rp,subset:xp,SemVer:Ip,re:Pp.re,src:Pp.src,tokens:Pp.t,SEMVER_SPEC_VERSION:kp.SEMVER_SPEC_VERSION,RELEASE_TYPES:kp.RELEASE_TYPES,compareIdentifiers:Ap.compareIdentifiers,rcompareIdentifiers:Ap.rcompareIdentifiers};Object.defineProperty(ef,"__esModule",{value:!0});const Tp=wu,Dp=Mp,jp=/^\d+(\.\d+)?(\.\d+)?/;function $p(e){if(Tp.TypeValidators.String.is(e)&&!e.startsWith("v")){const t=(0,Dp.parse)(e);if(t)return t;const r=jp.exec(e);if(r){let t=r[0];for(let e=1;e<r.length;e+=1)void 0===r[e]&&(t+=".0");return t+=e.substring(r[0].length),(0,Dp.parse)(t)}}return null}function Np(e){return(t,r)=>{const i=$p(t),n=$p(r);return!!(i&&n&&e(i,n))}}function Fp(e,t,r){return(i,n)=>!(!t.is(i)||!t.is(n))&&(r?e(r(i),r(n)):e(i,n))}function Cp(e){return"number"==typeof e?e:Date.parse(e)}const Lp={in:(e,t)=>e===t,endsWith:Fp(((e,t)=>e.endsWith(t)),Tp.TypeValidators.String),startsWith:Fp(((e,t)=>e.startsWith(t)),Tp.TypeValidators.String),matches:Fp(((e,t)=>function(e,t){try{return new RegExp(e).test(t)}catch(e){return!1}}(t,e)),Tp.TypeValidators.String),contains:Fp(((e,t)=>e.indexOf(t)>-1),Tp.TypeValidators.String),lessThan:Fp(((e,t)=>e<t),Tp.TypeValidators.Number),lessThanOrEqual:Fp(((e,t)=>e<=t),Tp.TypeValidators.Number),greaterThan:Fp(((e,t)=>e>t),Tp.TypeValidators.Number),greaterThanOrEqual:Fp(((e,t)=>e>=t),Tp.TypeValidators.Number),before:Fp(((e,t)=>e<t),Tp.TypeValidators.Date,Cp),after:Fp(((e,t)=>e>t),Tp.TypeValidators.Date,Cp),semVerEqual:Np(((e,t)=>0===e.compare(t))),semVerLessThan:Np(((e,t)=>e.compare(t)<0)),semVerGreaterThan:Np(((e,t)=>e.compare(t)>0))};ef.default=class{static is(e){return Object.prototype.hasOwnProperty.call(Lp,e)}static execute(e,t,r){var i,n;return null!==(n=null===(i=Lp[e])||void 0===i?void 0:i.call(Lp,t,r))&&void 0!==n&&n}},Object.defineProperty(Qh,"__esModule",{value:!0});const Bp=ef;function Vp(e,t){return e.negate?!t:t}function Up(e,t,r){return r.some((r=>Bp.default.execute(e,t,r)))}Qh.default=function(e,t){const r=t.valueForKind(e.attributeReference,e.contextKind);return null!=r&&(Array.isArray(r)?Vp(e,r.some((t=>Up(e.op,t,e.values)))):Vp(e,Up(e.op,r,e.values)))};var zp={};function Kp(e,t,r){if(t)for(let r=0;r<t.length;r+=1){const i=t[r],n=e.key(i.contextKind);if(n&&i.values.includes(n))return!0}if(r){const t=e.key("user");if(t&&r.includes(t))return!0}return!1}Object.defineProperty(zp,"__esModule",{value:!0}),zp.default=function(e,t){if(Kp(t,e.includedContexts,e.included))return!0;const r=Kp(t,e.excludedContexts,e.excluded);return r?!r:void 0};var Hp={};Object.defineProperty(Hp,"__esModule",{value:!0}),Hp.default=function(e){return`${e.key}.g${e.generation}`};var qp=t&&t.__awaiter||function(e,t,r,i){return new(r||(r=Promise))((function(n,s){function a(e){try{l(i.next(e))}catch(e){s(e)}}function o(e){try{l(i.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,o)}l((i=i.apply(e,t||[])).next())}))};Object.defineProperty(Lh,"__esModule",{value:!0});const Gp=jh,Wp=Bh,Xp=$h,Jp=Dh,Yp=qh,Zp=Ah,Qp=Zh,eg=Qh,tg=zp,rg=Hp,ig={HEALTHY:1,STALE:2,STORE_ERROR:3,NOT_CONFIGURED:4};function ng(e){return void 0!==e&&ig[e]||0}function sg(e,t){return void 0!==e&&ng(e)>ng(t)?e:t}class ag{}class og{constructor(e){this.isMatch=e,this.error=!1}}class lg{constructor(e){this.result=e,this.error=!0,this.isMatch=!1}}Lh.default=class{constructor(e,t){this.queries=t,this.bucketer=new Qp.default(e.crypto)}evaluate(e,t,r){return qp(this,void 0,void 0,(function*(){const i=new ag,n=yield this.evaluateInternal(e,t,i,[],r);return i.bigSegmentsStatus&&(n.detail.reason.bigSegmentsStatus=i.bigSegmentsStatus),n.events=i.events,n}))}evaluateInternal(e,t,r,i,n){return qp(this,void 0,void 0,(function*(){if(!e.on)return(0,Wp.getOffVariation)(e,Xp.default.Off);const s=yield this.checkPrerequisites(e,t,r,i,n);if(s)return s;const a=(0,Yp.default)(e,t);if(a)return a;const o=yield this.evaluateRules(e,t,r);return o||this.variationForContext(e.fallthrough,t,e,Xp.default.Fallthrough)}))}checkPrerequisites(e,t,r,i,n){return qp(this,void 0,void 0,(function*(){let s;if(e.prerequisites&&e.prerequisites.length)return yield(0,Zp.allSeriesAsync)(e.prerequisites,(a=>qp(this,void 0,void 0,(function*(){var o;if(-1!==i.indexOf(a.key))return s=Gp.default.forError(Jp.default.MalformedFlag,`Prerequisite of ${e.key} causing a circular reference. This is probably a temporary condition due to an incomplete update.`),!1;const l=[...i,a.key],u=yield this.queries.getFlag(a.key);if(!u)return s=(0,Wp.getOffVariation)(e,Xp.default.prerequisiteFailed(a.key)),!1;const c=yield this.evaluateInternal(u,t,r,l,n);return r.events=null!==(o=r.events)&&void 0!==o?o:[],n&&r.events.push(n.evalEvent(u,t,c.detail,null,e)),c.isError?(s=c,!1):!c.isOff&&c.detail.variationIndex===a.variation||(s=(0,Wp.getOffVariation)(e,Xp.default.prerequisiteFailed(a.key)),!1)})))),s||void 0}))}evaluateRules(e,t,r){return qp(this,void 0,void 0,(function*(){let i;return yield(0,Zp.firstSeriesAsync)(e.rules,((n,s)=>qp(this,void 0,void 0,(function*(){return i=yield this.ruleMatchContext(e,n,s,t,r,[]),!!i})))),i}))}clauseMatchContext(e,t,r,i){return qp(this,void 0,void 0,(function*(){let n;if("segmentMatch"===e.op){const s=yield(0,Zp.firstSeriesAsync)(e.values,(e=>qp(this,void 0,void 0,(function*(){const s=yield this.queries.getSegment(e);if(s){if(r.includes(s.key))return n=Gp.default.forError(Jp.default.MalformedFlag,`Segment rule referencing segment ${s.key} caused a circular reference. This is probably a temporary condition due to an incomplete update`),!0;const e=[...r,null==s?void 0:s.key],a=yield this.segmentMatchContext(s,t,i,e);return a.error&&(n=a.result),a.error||a.isMatch}return!1}))));return n?new lg(n):new og(s)}return e.attributeReference.isValid?new og((0,eg.default)(e,t)):new lg(Gp.default.forError(Jp.default.MalformedFlag,"Invalid attribute reference in clause"))}))}ruleMatchContext(e,t,r,i,n,s){return qp(this,void 0,void 0,(function*(){if(!t.clauses)return;let a;const o=yield(0,Zp.allSeriesAsync)(t.clauses,(e=>qp(this,void 0,void 0,(function*(){const t=yield this.clauseMatchContext(e,i,s,n);return a=t.result,t.error||t.isMatch}))));return a||(o?this.variationForContext(t,i,e,Xp.default.ruleMatch(t.id,r)):void 0)}))}variationForContext(e,t,r,i){if(void 0===e)return Gp.default.forError(Jp.default.MalformedFlag,"Fallthrough variation undefined");if(void 0!==e.variation)return(0,Wp.getVariation)(r,e.variation,i);if(e.rollout){const{rollout:n}=e,{variations:s}=n,a="experiment"===n.kind;if(s&&s.length){const e=(0,Wp.getBucketBy)(a,n.bucketByAttributeReference);if(!e.isValid)return Gp.default.forError(Jp.default.MalformedFlag,"Invalid attribute reference for bucketBy in rollout");const[o,l]=this.bucketer.bucket(t,r.key,e,r.salt||"",n.contextKind,n.seed),u=Object.assign({},i);let c=0;for(let e=0;e<s.length;e+=1){const t=s[e];if(c+=t.weight/1e5,o<c)return a&&l&&!t.untracked&&(u.inExperiment=!0),(0,Wp.getVariation)(r,t.variation,u)}const d=s[s.length-1];return a&&!d.untracked&&(u.inExperiment=!0),(0,Wp.getVariation)(r,d.variation,u)}}return Gp.default.forError(Jp.default.MalformedFlag,"Variation/rollout object with no variation or rollout")}segmentRuleMatchContext(e,t,r,i,n){return qp(this,void 0,void 0,(function*(){let s;const a=yield(0,Zp.allSeriesAsync)(t.clauses,(e=>qp(this,void 0,void 0,(function*(){const t=yield this.clauseMatchContext(e,r,n,i);return s=t.result,t.error||t.isMatch}))));if(s)return new lg(s);if(a){if(void 0===t.weight)return new og(a);const i=(0,Wp.getBucketBy)(!1,t.bucketByAttributeReference);if(!i.isValid)return new lg(Gp.default.forError(Jp.default.MalformedFlag,"Invalid attribute reference in clause"));const[n]=this.bucketer.bucket(r,e.key,i,e.salt||"",t.rolloutContextKind);return new og(n<t.weight/1e5)}return new og(!1)}))}simpleSegmentMatchContext(e,t,r,i){return qp(this,void 0,void 0,(function*(){const n=(0,tg.default)(e,t);if(void 0!==n)return new og(n);let s;const a=yield(0,Zp.firstSeriesAsync)(e.rules,(n=>qp(this,void 0,void 0,(function*(){const a=yield this.segmentRuleMatchContext(e,n,t,r,i);return s=a.result,a.error||a.isMatch}))));return s?new lg(s):new og(a)}))}segmentMatchContext(e,t,r,i){return qp(this,void 0,void 0,(function*(){if(!e.unbounded)return this.simpleSegmentMatchContext(e,t,r,i);if(!e.generation)return r.bigSegmentsStatus=sg(r.bigSegmentsStatus,"NOT_CONFIGURED"),new og(!1);const n=e.unboundedContextKind||"user",s=t.key(n);if(void 0===s)return new og(!1);if(r.bigSegmentsMembership&&r.bigSegmentsMembership[s])return this.bigSegmentMatchContext(r.bigSegmentsMembership[s],e,t,r);const a=yield this.queries.getBigSegmentsMembership(s);if(r.bigSegmentsMembership=r.bigSegmentsMembership||{},a){const[e,t]=a;r.bigSegmentsMembership[s]=e,r.bigSegmentsStatus=sg(r.bigSegmentsStatus,t)}else r.bigSegmentsStatus=sg(r.bigSegmentsStatus,"NOT_CONFIGURED");return this.bigSegmentMatchContext(r.bigSegmentsMembership[s],e,t,r)}))}bigSegmentMatchContext(e,t,r,i){return qp(this,void 0,void 0,(function*(){const n=(0,rg.default)(t);return(null==e?void 0:e[n])?new og(!0):this.simpleSegmentMatchContext(t,r,i,[])}))}};var ug={};Object.defineProperty(ug,"__esModule",{value:!0});const cg=Dd;ug.default=class{constructor(e){this.contextKeysCache=new cg.default({max:e.contextKeysCapacity}),this.flushInterval=e.contextKeysFlushInterval}processContext(e){const{canonicalKey:t}=e,r=this.contextKeysCache.get(t);return this.contextKeysCache.set(t,!0),!r}flush(){this.contextKeysCache.clear()}};var dg={},hg={},fg={};Object.defineProperty(fg,"__esModule",{value:!0});fg.default=class{constructor(){this.allData={},this.initCalled=!1}addItem(e,t,r){let i=this.allData[e.namespace];if(i||(i={},this.allData[e.namespace]=i),Object.hasOwnProperty.call(i,t)){const e=i[t];(!e||e.version<r.version)&&(i[t]=r)}else i[t]=r}get(e,t,r){const i=this.allData[e.namespace];if(i&&Object.prototype.hasOwnProperty.call(i,t)){const e=i[t];if(e&&!e.deleted)return null==r?void 0:r(e)}return null==r?void 0:r(null)}all(e,t){var r;const i={},n=null!==(r=this.allData[e.namespace])&&void 0!==r?r:{};Object.entries(n).forEach((([e,t])=>{t&&!t.deleted&&(i[e]=t)})),null==t||t(i)}init(e,t){this.initCalled=!0,this.allData=e,null==t||t()}delete(e,t,r,i){const n={version:r,deleted:!0};this.addItem(e,t,n),null==i||i()}upsert(e,t,r){this.addItem(e,t.key,t),null==r||r()}initialized(e){return null==e?void 0:e(this.initCalled)}close(){}getDescription(){return"memory"}},function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.defaultValues=void 0;const t=wu,r=fg,i={baseUri:t.TypeValidators.String,streamUri:t.TypeValidators.String,eventsUri:t.TypeValidators.String,timeout:t.TypeValidators.Number,capacity:t.TypeValidators.Number,logger:t.TypeValidators.Object,featureStore:t.TypeValidators.ObjectOrFactory,bigSegments:t.TypeValidators.Object,updateProcessor:t.TypeValidators.ObjectOrFactory,flushInterval:t.TypeValidators.Number,pollInterval:t.TypeValidators.numberWithMin(30),proxyOptions:t.TypeValidators.Object,offline:t.TypeValidators.Boolean,stream:t.TypeValidators.Boolean,streamInitialReconnectDelay:t.TypeValidators.Number,useLdd:t.TypeValidators.Boolean,sendEvents:t.TypeValidators.Boolean,allAttributesPrivate:t.TypeValidators.Boolean,privateAttributes:t.TypeValidators.StringArray,contextKeysCapacity:t.TypeValidators.Number,contextKeysFlushInterval:t.TypeValidators.Number,tlsParams:t.TypeValidators.Object,diagnosticOptOut:t.TypeValidators.Boolean,diagnosticRecordingInterval:t.TypeValidators.numberWithMin(60),wrapperName:t.TypeValidators.String,wrapperVersion:t.TypeValidators.String,application:t.TypeValidators.Object};e.defaultValues={baseUri:"https://sdk.launchdarkly.com",streamUri:"https://stream.launchdarkly.com",eventsUri:"https://events.launchdarkly.com",stream:!0,streamInitialReconnectDelay:1,sendEvents:!0,timeout:5,capacity:1e4,flushInterval:5,pollInterval:30,offline:!1,useLdd:!1,allAttributesPrivate:!1,privateAttributes:[],contextKeysCapacity:1e3,contextKeysFlushInterval:300,diagnosticOptOut:!1,diagnosticRecordingInterval:900,featureStore:()=>new r.default};e.default=class{constructor(r={}){r=r||{},this.logger=r.logger;const{errors:n,validatedOptions:s}=function(r){const n=[],s=Object.assign({},e.defaultValues);return Object.keys(r).forEach((a=>{var o;const l=r[a],u=i[a];if(u)if(u.is(l))s[a]=l;else if("boolean"===u.getType())n.push(t.OptionMessages.wrongOptionTypeBoolean(a,typeof l)),s[a]=!!l;else if(u instanceof t.NumberWithMinimum&&t.TypeValidators.Number.is(l)){const{min:e}=u;n.push(t.OptionMessages.optionBelowMinimum(a,l,e)),s[a]=e}else n.push(t.OptionMessages.wrongOptionType(a,u.getType(),typeof l)),s[a]=e.defaultValues[a];else null===(o=r.logger)||void 0===o||o.warn(t.OptionMessages.unknownOption(a))})),{errors:n,validatedOptions:s}}(r);n.forEach((e=>{var t;null===(t=this.logger)||void 0===t||t.warn(e)})),function(e,r){var i,n,s;const{baseUri:a,streamUri:o,eventsUri:l}=e,u=null!=o,c=null!=a,d=null!=l;u===c&&u===d||(!u&&r.stream&&(null===(i=r.logger)||void 0===i||i.warn(t.OptionMessages.partialEndpoint("streamUri"))),c||null===(n=r.logger)||void 0===n||n.warn(t.OptionMessages.partialEndpoint("baseUri")),!d&&r.sendEvents&&(null===(s=r.logger)||void 0===s||s.warn(t.OptionMessages.partialEndpoint("eventsUri"))))}(r,s),this.serviceEndpoints=new t.ServiceEndpoints(s.streamUri,s.baseUri,s.eventsUri),this.eventsCapacity=s.capacity,this.timeout=s.timeout,this.bigSegments=s.bigSegments,this.flushInterval=s.flushInterval,this.pollInterval=s.pollInterval,this.proxyOptions=s.proxyOptions,this.offline=s.offline,this.stream=s.stream,this.streamInitialReconnectDelay=s.streamInitialReconnectDelay,this.useLdd=s.useLdd,this.sendEvents=s.sendEvents,this.allAttributesPrivate=s.allAttributesPrivate,this.privateAttributes=s.privateAttributes,this.contextKeysCapacity=s.contextKeysCapacity,this.contextKeysFlushInterval=s.contextKeysFlushInterval,this.tlsParams=s.tlsParams,this.diagnosticOptOut=s.diagnosticOptOut,this.wrapperName=s.wrapperName,this.wrapperVersion=s.wrapperVersion,this.tags=new t.ApplicationTags(s),this.diagnosticRecordingInterval=s.diagnosticRecordingInterval,t.TypeValidators.Function.is(s.updateProcessor)?this.updateProcessorFactory=s.updateProcessor:this.updateProcessorFactory=()=>s.updateProcessor,t.TypeValidators.Function.is(s.featureStore)?this.featureStoreFactory=s.featureStore:this.featureStoreFactory=()=>s.featureStore}}}(hg),Object.defineProperty(dg,"__esModule",{value:!0});const vg=hg;function pg(e){return Math.trunc(1e3*e)}dg.default=class{constructor(e,t,r,i){this.config=t,this.platform=r,this.featureStore=i,this.streamInits=[],this.startTime=Date.now(),this.dataSinceDate=this.startTime,this.id={diagnosticId:r.crypto.randomUUID(),sdkKeySuffix:e.length>6?e.substring(e.length-6):e}}createInitEvent(){var e,t,r,i,n,s,a,o,l,u;const c=this.platform.info.sdkData(),d=this.platform.info.platformData();return{kind:"diagnostic-init",id:this.id,creationDate:this.startTime,sdk:c,configuration:{customBaseURI:this.config.serviceEndpoints.polling!==vg.defaultValues.baseUri,customStreamURI:this.config.serviceEndpoints.streaming!==vg.defaultValues.streamUri,customEventsURI:this.config.serviceEndpoints.events!==vg.defaultValues.eventsUri,eventsCapacity:this.config.eventsCapacity,connectTimeoutMillis:pg(this.config.timeout),socketTimeoutMillis:pg(this.config.timeout),eventsFlushIntervalMillis:pg(this.config.flushInterval),pollingIntervalMillis:pg(this.config.pollInterval),reconnectTimeMillis:pg(this.config.streamInitialReconnectDelay),streamingDisabled:!this.config.stream,usingRelayDaemon:this.config.useLdd,offline:this.config.offline,allAttributesPrivate:this.config.allAttributesPrivate,contextKeysCapacity:this.config.contextKeysCapacity,contextKeysFlushIntervalMillis:pg(this.config.contextKeysFlushInterval),usingProxy:!!(null===(t=(e=this.platform.requests).usingProxy)||void 0===t?void 0:t.call(e)),usingProxyAuthenticator:!!(null===(i=(r=this.platform.requests).usingProxyAuth)||void 0===i?void 0:i.call(r)),diagnosticRecordingIntervalMillis:pg(this.config.diagnosticRecordingInterval),dataStoreType:null!==(a=null===(s=(n=this.featureStore).getDescription)||void 0===s?void 0:s.call(n))&&void 0!==a?a:"memory"},platform:Object.assign({name:d.name,osArch:null===(o=d.os)||void 0===o?void 0:o.arch,osName:null===(l=d.os)||void 0===l?void 0:l.name,osVersion:null===(u=d.os)||void 0===u?void 0:u.version},d.additional||{})}}recordStreamInit(e,t,r){const i={timestamp:e,failed:t,durationMillis:r};this.streamInits.push(i)}createStatsEventAndReset(e,t,r){const i=Date.now(),n={kind:"diagnostic",id:this.id,creationDate:i,dataSinceDate:this.dataSinceDate,droppedEvents:e,deduplicatedUsers:t,eventsInLastBatch:r,streamInits:this.streamInits};return this.streamInits=[],this.dataSinceDate=i,n}};var gg={},yg={};Object.defineProperty(yg,"__esModule",{value:!0}),yg.default=function(e,t){if(t){if(t.inExperiment)return!0;switch(t.kind){case"RULE_MATCH":{const r=t.ruleIndex;if(void 0!==r){const t=e.rules||[];return r>=0&&r<t.length&&!!t[r].trackEvents}break}case"FALLTHROUGH":return!!e.trackEventsFallthrough}}return!1},Object.defineProperty(gg,"__esModule",{value:!0});const mg=wu,bg=yg;gg.default=class{constructor(e){this.withReasons=e}evalEvent(e,t,r,i,n){var s;const a=(0,bg.default)(e,r.reason);return new mg.internal.InputEvalEvent(this.withReasons,t,e.key,i,r,e.version,null!==(s=r.variationIndex)&&void 0!==s?s:void 0,e.trackEvents||a,null==n?void 0:n.key,this.withReasons||a?r.reason:void 0,e.debugEventsUntilDate)}unknownFlagEvent(e,t,r){return new mg.internal.InputEvalEvent(this.withReasons,t,e,r.value,r)}identifyEvent(e){return new mg.internal.InputIdentifyEvent(e)}customEvent(e,t,r,i){return new mg.internal.InputCustomEvent(t,e,null!=r?r:void 0,null!=i?i:void 0)}};var Eg={},_g=t&&t.__awaiter||function(e,t,r,i){return new(r||(r=Promise))((function(n,s){function a(e){try{l(i.next(e))}catch(e){s(e)}}function o(e){try{l(i.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,o)}l((i=i.apply(e,t||[])).next())}))};Object.defineProperty(Eg,"__esModule",{value:!0});const wg=wu,Og=mh,Sg=hh,xg=Zd;Eg.default=class{constructor(e,t){this.defaultHeaders=Object.assign({},(0,Og.default)(t.basicConfiguration.sdkKey,e,t.platform.info)),this.eventsUri=`${t.basicConfiguration.serviceEndpoints.events}/bulk`,this.diagnosticEventsUri=`${t.basicConfiguration.serviceEndpoints.events}/diagnostic`,this.requests=t.platform.requests,this.crypto=t.platform.crypto}tryPostingEvents(e,t,r,i){return _g(this,void 0,void 0,(function*(){const n={status:wg.subsystem.LDDeliveryStatus.Succeeded},s=Object.assign({},this.defaultHeaders);let a;r&&(s["x-launchdarkly-payload-id"]=r,s["x-launchDarkly-event-schema"]="4");try{const r=yield this.requests.fetch(t,{headers:s,body:JSON.stringify(e),method:"POST"}),i=Date.parse(r.headers.get("date")||"");if(i&&(n.serverTime=i),r.status<=204)return n;if(a=new xg.LDUnexpectedResponseError((0,Sg.default)({status:r.status,message:"some events were dropped"},"event posting")),!(0,xg.isHttpRecoverable)(r.status))return n.status=wg.subsystem.LDDeliveryStatus.FailedAndMustShutDown,n.error=a,n}catch(e){a=e}return a&&!i?(n.status=wg.subsystem.LDDeliveryStatus.Failed,n.error=a,n):(yield new Promise((e=>{})),this.tryPostingEvents(e,this.eventsUri,r,!1))}))}sendEventData(e,t){return _g(this,void 0,void 0,(function*(){const r=e===wg.subsystem.LDEventType.AnalyticsEvents?this.crypto.randomUUID():void 0,i=e===wg.subsystem.LDEventType.AnalyticsEvents?this.eventsUri:this.diagnosticEventsUri;return this.tryPostingEvents(t,i,r,!0)}))}};var Pg={},kg=t&&t.__awaiter||function(e,t,r,i){return new(r||(r=Promise))((function(n,s){function a(e){try{l(i.next(e))}catch(e){s(e)}}function o(e){try{l(i.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,o)}l((i=i.apply(e,t||[])).next())}))};Object.defineProperty(Pg,"__esModule",{value:!0});Pg.default=class{close(){}flush(){return kg(this,void 0,void 0,(function*(){}))}sendEvent(e){}};var Ig={};Object.defineProperty(Ig,"__esModule",{value:!0});Ig.default=class{constructor(e,t){this.valid=e,this.withReasons=t,this.flagValues={},this.flagMetadata={}}addFlag(e,t,r,i,n,s,a){this.flagValues[e.key]=t;const o={};void 0!==r&&(o.variation=r);const l=a&&!n&&!s&&void 0===e.debugEventsUntilDate;l||(o.version=e.version),i&&(s||this.withReasons&&!l)&&(o.reason=i),n&&(o.trackEvents=!0),s&&(o.trackReason=!0),void 0!==e.debugEventsUntilDate&&(o.debugEventsUntilDate=e.debugEventsUntilDate),this.flagMetadata[e.key]=o}build(){const e=this;return{valid:e.valid,allValues:()=>e.flagValues,getFlagValue:t=>e.flagValues[t],getFlagReason:t=>{var r;return null!==(r=e.flagMetadata[t]?e.flagMetadata[t].reason:null)&&void 0!==r?r:null},toJSON:()=>Object.assign(Object.assign({},e.flagValues),{$flagsState:e.flagMetadata,$valid:e.valid})}}};var Ag={},Rg={};Object.defineProperty(Rg,"__esModule",{value:!0}),Rg.default=function(e){return new Promise((t=>{e((e=>{t(e)}))}))};var Mg=t&&t.__awaiter||function(e,t,r,i){return new(r||(r=Promise))((function(n,s){function a(e){try{l(i.next(e))}catch(e){s(e)}}function o(e){try{l(i.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,o)}l((i=i.apply(e,t||[])).next())}))};Object.defineProperty(Ag,"__esModule",{value:!0});const Tg=Rg;Ag.default=class{constructor(e){this.store=e}get(e,t){return Mg(this,void 0,void 0,(function*(){return(0,Tg.default)((r=>{this.store.get(e,t,r)}))}))}all(e){return Mg(this,void 0,void 0,(function*(){return(0,Tg.default)((t=>{this.store.all(e,t)}))}))}init(e){return Mg(this,void 0,void 0,(function*(){return(0,Tg.default)((t=>{this.store.init(e,t)}))}))}delete(e,t,r){return Mg(this,void 0,void 0,(function*(){return(0,Tg.default)((i=>{this.store.delete(e,t,r,i)}))}))}upsert(e,t){return Mg(this,void 0,void 0,(function*(){return(0,Tg.default)((r=>{this.store.upsert(e,t,r)}))}))}initialized(){return Mg(this,void 0,void 0,(function*(){return(0,Tg.default)((e=>{this.store.initialized(e)}))}))}close(){this.store.close()}};var Dg=t&&t.__awaiter||function(e,t,r,i){return new(r||(r=Promise))((function(n,s){function a(e){try{l(i.next(e))}catch(e){s(e)}}function o(e){try{l(i.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,o)}l((i=i.apply(e,t||[])).next())}))};Object.defineProperty(_u,"__esModule",{value:!0});const jg=wu,$g=Rd,Ng=Cd,Fg=Bd,Cg=Jd,Lg=Yd,Bg=yh,Vg=wh,Ug=Zd,zg=Ah,Kg=Dh,Hg=jh,qg=Lh,Gg=ug,Wg=dg,Xg=gg,Jg=Eg,Yg=yg,Zg=Pg,Qg=Ig,ey=hg,ty=Ag,ry=Vd;var iy;!function(e){e[e.Initializing=0]="Initializing",e[e.Initialized=1]="Initialized",e[e.Failed=2]="Failed"}(iy||(iy={}));_u.default=class{constructor(e,t,r,i){var n,s,a,o,l;this.sdkKey=e,this.platform=t,this.initState=iy.Initializing,this.eventFactoryDefault=new Xg.default(!1),this.eventFactoryWithReasons=new Xg.default(!0),this.onError=i.onError,this.onFailed=i.onFailed,this.onReady=i.onReady;const{onUpdate:u,hasEventListeners:c}=i,d=new ey.default(r);if(!e&&!d.offline)throw new Error("You must configure the client with an SDK key");this.config=d,this.logger=d.logger;const h=new jg.ClientContext(e,d,t),f=d.featureStoreFactory(h),v=new Fg.default(f,c,u);!d.sendEvents||d.offline||d.diagnosticOptOut||(this.diagnosticsManager=new Wg.default(e,d,t,f));const p=()=>d.stream?new Vg.default(e,d,this.platform.requests,this.platform.info,v,this.diagnosticsManager):new Lg.default(d,new Bg.default(e,d,this.platform.info,this.platform.requests),v);d.offline||d.useLdd?this.updateProcessor=new Cg.default:this.updateProcessor=null!==(s=null===(n=d.updateProcessorFactory)||void 0===n?void 0:n.call(d,h,v))&&void 0!==s?s:p(),!d.sendEvents||d.offline?this.eventProcessor=new Zg.default:this.eventProcessor=new jg.internal.EventProcessor(d,h,new Jg.default(d,h),new Gg.default(d),this.diagnosticsManager);const g=new ty.default(f);this.featureStore=g;const y=new $g.default(null===(o=null===(a=d.bigSegments)||void 0===a?void 0:a.store)||void 0===o?void 0:o.call(a,h),null!==(l=d.bigSegments)&&void 0!==l?l:{},d.logger,this.platform.crypto);this.bigSegmentsManager=y,this.bigSegmentStatusProviderInternal=y.statusProvider;const m={getFlag(e){var t;return Dg(this,void 0,void 0,(function*(){return null!==(t=yield g.get(ry.default.Features,e))&&void 0!==t?t:void 0}))},getSegment(e){var t;return Dg(this,void 0,void 0,(function*(){return null!==(t=yield g.get(ry.default.Segments,e))&&void 0!==t?t:void 0}))},getBigSegmentsMembership:e=>y.getUserMembership(e)};this.evaluator=new qg.default(this.platform,m),this.updateProcessor.start((e=>{var t,r;if(e){let r;r=e.status&&401===e.status||e.code&&401===e.code?new Error("Authentication failed. Double check your SDK key."):e,this.onError(r),this.onFailed(r),null===(t=this.initReject)||void 0===t||t.call(this,r),this.initState=iy.Failed}else this.initialized()||(this.initState=iy.Initialized,null===(r=this.initResolve)||void 0===r||r.call(this,this),this.onReady())}))}initialized(){return this.initState===iy.Initialized}waitForInitialization(){return this.initState===iy.Initialized?Promise.resolve(this):(this.initializedPromise||(this.initializedPromise=new Promise(((e,t)=>{this.initResolve=e,this.initReject=t}))),this.initializedPromise)}variation(e,t,r,i){return Dg(this,void 0,void 0,(function*(){const n=yield this.evaluateIfPossible(e,t,r,this.eventFactoryDefault);if(!i)return n.detail.value;i(null,n.detail.value)}))}variationDetail(e,t,r,i){return Dg(this,void 0,void 0,(function*(){const n=yield this.evaluateIfPossible(e,t,r,this.eventFactoryWithReasons);return null==i||i(null,n.detail),n.detail}))}allFlagsState(e,t,r){var i,n,s,a,o;return Dg(this,void 0,void 0,(function*(){if(this.config.offline){null===(i=this.logger)||void 0===i||i.info("allFlagsState() called in offline mode. Returning empty state.");const e=new Qg.default(!1,!1).build();return null==r||r(null,e),e}const l=jg.Context.fromLDContext(e);if(!l.valid)return null===(n=this.logger)||void 0===n||n.info(`${null!==(s=l.message)&&void 0!==s?s:"Invalid context."}. Returning empty state.`),new Qg.default(!1,!1).build();let u=!0;if(!this.initialized()){(yield this.featureStore.initialized())?null===(a=this.logger)||void 0===a||a.warn("Called allFlagsState before client initialization; using last known values from data store"):(null===(o=this.logger)||void 0===o||o.warn("Called allFlagsState before client initialization. Data store not available; returning empty state"),u=!1)}const c=new Qg.default(u,!!(null==t?void 0:t.withReasons)),d=!!(null==t?void 0:t.clientSideOnly),h=!!(null==t?void 0:t.detailsOnlyForTrackedFlags),f=yield this.featureStore.all(ry.default.Features);yield(0,zg.allSeriesAsync)(Object.values(f),(e=>Dg(this,void 0,void 0,(function*(){var t;const r=e;if(d&&!r.clientSide)return!0;const i=yield this.evaluator.evaluate(r,l);i.isError&&this.onError(new Error(`Error for feature flag "${r.key}" while evaluating all flags: ${i.message}`));const n=(0,Yg.default)(r,i.detail.reason);return c.addFlag(r,i.detail.value,null!==(t=i.detail.variationIndex)&&void 0!==t?t:void 0,i.detail.reason,r.trackEvents||n,n,h),!0}))));const v=c.build();return null==r||r(null,v),v}))}secureModeHash(e){const t=jg.Context.fromLDContext(e),r=t.valid?t.canonicalKey:void 0,i=this.platform.crypto.createHmac("sha256",this.sdkKey);if(void 0===r)throw new Ug.LDClientError("Could not generate secure mode hash for invalid context");return i.update(r),i.digest("hex")}close(){this.eventProcessor.close(),this.updateProcessor.close(),this.featureStore.close(),this.bigSegmentsManager.close()}isOffline(){return this.config.offline}track(e,t,r,i){var n;const s=jg.Context.fromLDContext(t);s.valid?this.eventProcessor.sendEvent(this.eventFactoryDefault.customEvent(e,s,r,i)):null===(n=this.logger)||void 0===n||n.warn(Ng.default.missingContextKeyNoEvent)}identify(e){var t;const r=jg.Context.fromLDContext(e);r.valid?this.eventProcessor.sendEvent(this.eventFactoryDefault.identifyEvent(r)):null===(t=this.logger)||void 0===t||t.warn(Ng.default.missingContextKeyNoEvent)}flush(e){return Dg(this,void 0,void 0,(function*(){try{yield this.eventProcessor.flush()}catch(t){null==e||e(t,!1)}null==e||e(null,!0)}))}variationInternal(e,t,r,i){var n,s,a,o;return Dg(this,void 0,void 0,(function*(){if(this.config.offline)return null===(n=this.logger)||void 0===n||n.info("Variation called in offline mode. Returning default value."),Hg.default.forError(Kg.default.ClientNotReady,void 0,r);const l=jg.Context.fromLDContext(t);if(!l.valid)return this.onError(new Ug.LDClientError(`${null!==(s=l.message)&&void 0!==s?s:"Context not valid;"} returning default value.`)),Hg.default.forError(Kg.default.UserNotSpecified,void 0,r);const u=yield this.featureStore.get(ry.default.Features,e);if(!u){const t=new Ug.LDClientError(`Unknown feature flag "${e}"; returning default value`);this.onError(t);const i=Hg.default.forError(Kg.default.FlagNotFound,void 0,r);return this.eventProcessor.sendEvent(this.eventFactoryDefault.unknownFlagEvent(e,l,i.detail)),i}const c=yield this.evaluator.evaluate(u,l,i);return void 0!==c.detail.variationIndex&&null!==c.detail.variationIndex||(null===(a=this.logger)||void 0===a||a.debug("Result value is null in variation"),c.setDefault(r)),null===(o=c.events)||void 0===o||o.forEach((e=>{this.eventProcessor.sendEvent(e)})),this.eventProcessor.sendEvent(i.evalEvent(u,l,c.detail,r)),c}))}evaluateIfPossible(e,t,r,i){var n,s;return Dg(this,void 0,void 0,(function*(){if(!this.initialized()){return(yield this.featureStore.initialized())?(null===(n=this.logger)||void 0===n||n.warn("Variation called before LaunchDarkly client initialization completed (did you wait for the 'ready' event?) - using last known values from feature store"),this.variationInternal(e,t,r,i)):(null===(s=this.logger)||void 0===s||s.warn("Variation called before LaunchDarkly client initialization completed (did you wait for the'ready' event?) - using default value"),Hg.default.forError(Kg.default.ClientNotReady,void 0,r))}return this.variationInternal(e,t,r,i)}))}};var ny={},sy={},ay={},oy={},ly=t&&t.__awaiter||function(e,t,r,i){return new(r||(r=Promise))((function(n,s){function a(e){try{l(i.next(e))}catch(e){s(e)}}function o(e){try{l(i.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,o)}l((i=i.apply(e,t||[])).next())}))};Object.defineProperty(oy,"__esModule",{value:!0});oy.default=class{constructor(e,t,r,i){this.filesystem=e,this.paths=t,this.watch=r,this.callback=i,this.watchers=[],this.fileData={},this.fileTimestamps={}}loadAndWatch(){return ly(this,void 0,void 0,(function*(){const e=this.paths.map((e=>ly(this,void 0,void 0,(function*(){const t=yield this.filesystem.readFile(e),r=yield this.filesystem.getFileTimestamp(e);return{data:t,path:e,timeStamp:r}})))),t=yield Promise.all(e);t.forEach((e=>{this.fileData[e.path]=e.data,this.fileTimestamps[e.path]=e.timeStamp})),this.callback(t),this.watch&&this.paths.forEach((e=>{const t=this.filesystem.watch(e,((e,t)=>ly(this,void 0,void 0,(function*(){const e=yield this.filesystem.getFileTimestamp(t);if(e===this.fileTimestamps[t])return;this.fileTimestamps[t]=e;const r=yield this.filesystem.readFile(t);this.fileData[t]=r,this.debounceCallback()}))));this.watchers.push(t)}))}))}close(){this.watchers.forEach((e=>e.close()))}debounceCallback(){this.debounceHandle||(this.debounceHandle=e=>{e()})}};var uy=t&&t.__awaiter||function(e,t,r,i){return new(r||(r=Promise))((function(n,s){function a(e){try{l(i.next(e))}catch(e){s(e)}}function o(e){try{l(i.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,o)}l((i=i.apply(e,t||[])).next())}))};Object.defineProperty(ay,"__esModule",{value:!0});const cy=ih,dy=Vd,hy=oy;ay.default=class{constructor(e,t,r){var i;this.featureStore=r,this.allData={},this.fileLoader=new hy.default(t,e.paths,null!==(i=e.autoUpdate)&&void 0!==i&&i,(e=>{var t,r;try{this.processFileData(e)}catch(e){null===(t=this.initCallback)||void 0===t||t.call(this,e),null===(r=this.logger)||void 0===r||r.error(`Error processing files: ${e}`)}})),this.logger=e.logger,this.yamlParser=e.yamlParser}start(e){this.initCallback=e,(()=>{uy(this,void 0,void 0,(function*(){try{yield this.fileLoader.loadAndWatch()}catch(t){null==e||e(t)}}))})()}stop(){this.fileLoader.close()}close(){this.stop()}addItem(e,t){if(this.allData[e.namespace]||(this.allData[e.namespace]={}),this.allData[e.namespace][t.key])throw new Error(`found duplicate key: "${t.key}"`);this.allData[e.namespace][t.key]=t}processFileData(e){this.allData={},e.forEach((e=>{let t;if(e.path.endsWith(".yml")||e.path.endsWith(".yaml")){if(!this.yamlParser)throw new Error(`Attempted to parse yaml file (${e.path}) without parser.`);t=this.yamlParser(e.data)}else t=JSON.parse(e.data);this.processParsedData(t)})),this.featureStore.init(this.allData,(()=>{var e;null===(e=this.initCallback)||void 0===e||e.call(this),this.initCallback=void 0}))}processParsedData(e){Object.keys(e.flags||{}).forEach((t=>{(0,cy.processFlag)(e.flags[t]),this.addItem(dy.default.Features,e.flags[t])})),Object.keys(e.flagValues||{}).forEach((t=>{const r=function(e,t){return{key:e,on:!0,fallthrough:{variation:0},variations:[t],version:1}}(t,e.flagValues[t]);(0,cy.processFlag)(r),this.addItem(dy.default.Features,r)})),Object.keys(e.segments||{}).forEach((t=>{(0,cy.processSegment)(e.segments[t]),this.addItem(dy.default.Segments,e.segments[t])}))}},Object.defineProperty(sy,"__esModule",{value:!0});const fy=ay;sy.default=class{constructor(e){this.options=e}create(e,t){const r={paths:this.options.paths,autoUpdate:this.options.autoUpdate,logger:this.options.logger||e.basicConfiguration.logger,yamlParser:this.options.yamlParser};return new fy.default(r,e.platform.fileSystem,t)}getFactory(){return(e,t)=>this.create(e,t)}};var vy={},py={},gy={},yy={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.variationForBoolean=e.FALSE_VARIATION_INDEX=e.TRUE_VARIATION_INDEX=void 0,e.TRUE_VARIATION_INDEX=0,e.FALSE_VARIATION_INDEX=1,e.variationForBoolean=function(t){return t?e.TRUE_VARIATION_INDEX:e.FALSE_VARIATION_INDEX}}(yy);var my={};Object.defineProperty(my,"__esModule",{value:!0});const by=wu,Ey=yy;class _y{constructor(e,t,r){this.flagBuilder=e,this.clauses=[],t&&(this.clauses=[...t]),void 0!==r&&(this.variation=r)}andMatch(e,t,...r){return this.clauses.push({contextKind:e,attribute:t,attributeReference:new by.AttributeReference(t),op:"in",values:r,negate:!1}),this}andNotMatch(e,t,...r){return this.clauses.push({contextKind:e,attribute:t,attributeReference:new by.AttributeReference(t),op:"in",values:r,negate:!0}),this}thenReturn(e){return by.TypeValidators.Boolean.is(e)?(this.flagBuilder.booleanFlag(),this.thenReturn((0,Ey.variationForBoolean)(e))):(this.variation=e,this.flagBuilder.addRule(this),this.flagBuilder)}build(e){return{id:`rule${e}`,variation:this.variation,clauses:this.clauses}}clone(){return new _y(this.flagBuilder,this.clauses,this.variation)}}my.default=_y,Object.defineProperty(gy,"__esModule",{value:!0});const wy=wu,Oy=yy,Sy=my;class xy{constructor(e,t){this.key=e,this.data={on:!0,variations:[]},t&&(this.data={on:t.on,variations:[...t.variations]},void 0!==t.offVariation&&(this.data.offVariation=t.offVariation),void 0!==t.fallthroughVariation&&(this.data.offVariation=t.offVariation),t.targetsByVariation&&(this.data.targetsByVariation=JSON.parse(JSON.stringify(t.targetsByVariation))),t.rules&&(this.data.rules=[],t.rules.forEach((e=>{var t;null===(t=this.data.rules)||void 0===t||t.push(e.clone())}))))}get isBooleanFlag(){return 2===this.data.variations.length&&!0===this.data.variations[Oy.TRUE_VARIATION_INDEX]&&!1===this.data.variations[Oy.FALSE_VARIATION_INDEX]}booleanFlag(){return this.isBooleanFlag?this:this.variations(!0,!1).fallthroughVariation(Oy.TRUE_VARIATION_INDEX).offVariation(Oy.FALSE_VARIATION_INDEX)}variations(...e){return this.data.variations=[...e],this}on(e){return this.data.on=e,this}fallthroughVariation(e){return wy.TypeValidators.Boolean.is(e)?this.booleanFlag().fallthroughVariation((0,Oy.variationForBoolean)(e)):(this.data.fallthroughVariation=e,this)}offVariation(e){return wy.TypeValidators.Boolean.is(e)?this.booleanFlag().offVariation((0,Oy.variationForBoolean)(e)):(this.data.offVariation=e,this)}variationForAll(e){return this.on(!0).clearRules().clearAllTargets().fallthroughVariation(e)}valueForAll(e){return this.variations(e).variationForAll(0)}variationForUser(e,t){return this.variationForContext("user",e,t)}variationForContext(e,t,r){return wy.TypeValidators.Boolean.is(r)?this.booleanFlag().variationForContext(e,t,(0,Oy.variationForBoolean)(r)):(this.data.targetsByVariation||(this.data.targetsByVariation={}),this.data.variations.forEach(((i,n)=>{if(n===r){const r=this.data.targetsByVariation[n]||{};e in r||(r[e]=[]);-1!==r[e].indexOf(t)||r[e].push(t),this.data.targetsByVariation[n]=r}else{const r=this.data.targetsByVariation[n];if(r){const i=r[e];if(i){const n=i.indexOf(t);-1!==n&&(i.splice(n,1),i.length||delete r[e])}Object.keys(r).length||delete this.data.targetsByVariation[n]}}})),this)}clearRules(){return delete this.data.rules,this}clearAllTargets(){return delete this.data.targetsByVariation,this}ifMatch(e,t,...r){return new Sy.default(this).andMatch(e,t,...r)}ifNotMatch(e,t,...r){return new Sy.default(this).andNotMatch(e,t,...r)}addRule(e){this.data.rules||(this.data.rules=[]),this.data.rules.push(e)}build(e){const t={key:this.key,version:e,on:this.data.on,offVariation:this.data.offVariation,fallthrough:{variation:this.data.fallthroughVariation},variations:[...this.data.variations]};if(this.data.targetsByVariation){const e=[];Object.entries(this.data.targetsByVariation).forEach((([t,r])=>{Object.entries(r).forEach((([r,i])=>{e.push({contextKind:r,values:i,variation:parseInt(t,10)})}))})),t.contextTargets=e}return this.data.rules&&(t.rules=this.data.rules.map(((e,t)=>e.build(String(t))))),t}clone(){return new xy(this.key,this.data)}getKey(){return this.key}}gy.default=xy;var Py={},ky=t&&t.__awaiter||function(e,t,r,i){return new(r||(r=Promise))((function(n,s){function a(e){try{l(i.next(e))}catch(e){s(e)}}function o(e){try{l(i.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,o)}l((i=i.apply(e,t||[])).next())}))};Object.defineProperty(Py,"__esModule",{value:!0});const Iy=Vd;Py.default=class{constructor(e,t,r,i){this.featureStore=e,this.flags=t,this.segments=r,this.onStop=i}start(e){return ky(this,void 0,void 0,(function*(){yield this.featureStore.init({[Iy.default.Features.namespace]:Object.assign({},this.flags),[Iy.default.Segments.namespace]:Object.assign({},this.segments)}),null==e||e()}))}stop(){this.onStop(this)}close(){this.stop()}upsert(e,t){return ky(this,void 0,void 0,(function*(){return this.featureStore.upsert(e,t)}))}},Object.defineProperty(py,"__esModule",{value:!0});const Ay=Ag,Ry=ih,My=Vd,Ty=gy,Dy=Py;py.default=class{constructor(){this.currentFlags={},this.currentSegments={},this.dataSources=[],this.flagBuilders={}}getFactory(){return(e,t)=>{const r=new Dy.default(new Ay.default(t),this.currentFlags,this.currentSegments,(e=>{this.dataSources.splice(this.dataSources.indexOf(e))}));return this.dataSources.push(r),r}}flag(e){return this.flagBuilders[e]?this.flagBuilders[e].clone():new Ty.default(e).booleanFlag()}update(e){const t=e.getKey(),r=this.currentFlags[t],i=r?r.version:0,n=e.build(i+1);return this.currentFlags[t]=n,this.flagBuilders[t]=e.clone(),Promise.all(this.dataSources.map((e=>e.upsert(My.default.Features,n))))}usePreconfiguredFlag(e){const t=JSON.parse(JSON.stringify(e)),r=this.currentFlags[t.key],i=Object.assign(Object.assign({},t),{version:r?r.version+1:t.version});return(0,Ry.processFlag)(i),this.currentFlags[t.key]=i,Promise.all(this.dataSources.map((e=>e.upsert(My.default.Features,i))))}usePreconfiguredSegment(e){const t=JSON.parse(JSON.stringify(e)),r=this.currentSegments[t.key],i=Object.assign(Object.assign({},t),{version:r?r.version+1:t.version});return(0,Ry.processSegment)(i),this.currentSegments[t.key]=i,Promise.all(this.dataSources.map((e=>e.upsert(My.default.Segments,i))))}},Object.defineProperty(vy,"__esModule",{value:!0}),vy.TestDataRuleBuilder=vy.TestDataFlagBuilder=vy.TestData=void 0;const jy=py;vy.TestData=jy.default;const $y=gy;vy.TestDataFlagBuilder=$y.default;const Ny=my;vy.TestDataRuleBuilder=Ny.default,function(e){var r=t&&t.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),i=t&&t.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(e,"__esModule",{value:!0}),e.FileDataSourceFactory=void 0;const n=sy;e.FileDataSourceFactory=n.default,i(vy,e)}(ny);var Fy={},Cy={},Ly={};Object.defineProperty(Ly,"__esModule",{value:!0});var By={};Object.defineProperty(By,"__esModule",{value:!0}),function(e){var r=t&&t.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),i=t&&t.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(e,"__esModule",{value:!0}),i(Ly,e),i(By,e)}(Cy);var Vy={},Uy={};Object.defineProperty(Uy,"__esModule",{value:!0});var zy={};Object.defineProperty(zy,"__esModule",{value:!0});var Ky={};Object.defineProperty(Ky,"__esModule",{value:!0});var Hy={};Object.defineProperty(Hy,"__esModule",{value:!0}),function(e){var r=t&&t.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),i=t&&t.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(e,"__esModule",{value:!0}),i(Uy,e),i(zy,e),i(Ky,e),i(Hy,e)}(Vy);var qy={};Object.defineProperty(qy,"__esModule",{value:!0});var Gy={};Object.defineProperty(Gy,"__esModule",{value:!0});var Wy={};Object.defineProperty(Wy,"__esModule",{value:!0});var Xy={};Object.defineProperty(Xy,"__esModule",{value:!0});var Jy={},Yy={};Object.defineProperty(Yy,"__esModule",{value:!0}),function(e){var r=t&&t.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),i=t&&t.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(e,"__esModule",{value:!0}),i(Yy,e)}(Jy);var Zy={},Qy={};Object.defineProperty(Qy,"__esModule",{value:!0});var em={};Object.defineProperty(em,"__esModule",{value:!0});var tm={};Object.defineProperty(tm,"__esModule",{value:!0});var rm={};Object.defineProperty(rm,"__esModule",{value:!0});var im={};Object.defineProperty(im,"__esModule",{value:!0});var nm={};Object.defineProperty(nm,"__esModule",{value:!0});var sm={};Object.defineProperty(sm,"__esModule",{value:!0});var am={};Object.defineProperty(am,"__esModule",{value:!0});var om={};Object.defineProperty(om,"__esModule",{value:!0});var lm={};Object.defineProperty(lm,"__esModule",{value:!0}),function(e){var r=t&&t.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),i=t&&t.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(e,"__esModule",{value:!0}),i(Qy,e),i(em,e),i(tm,e),i(rm,e),i(im,e),i(Gy,e),i(nm,e),i(sm,e),i(am,e),i(om,e),i(lm,e)}(Zy);var um={},cm={};Object.defineProperty(cm,"__esModule",{value:!0});var dm={};Object.defineProperty(dm,"__esModule",{value:!0}),function(e){var r=t&&t.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),i=t&&t.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(e,"__esModule",{value:!0}),i(cm,e),i(Wy,e),i(Xy,e),i(dm,e)}(um),function(e){var r=t&&t.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),i=t&&t.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(e,"__esModule",{value:!0}),e.subsystems=e.interfaces=e.integrations=void 0,i(Cy,e),i(Vy,e),i(qy,e),i(Gy,e),i(Wy,e),i(Xy,e),e.integrations=Jy,e.interfaces=Zy,e.subsystems=um}(Fy);var hm={},fm={},vm={};function pm(e){return Date.now()>e.expiration}Object.defineProperty(vm,"__esModule",{value:!0});vm.default=class{constructor(e){this.options=e,this.storage=new Map,this.checkIntervalHandle=void e.checkInterval}get(e){const t=this.storage.get(e);if(!t||!pm(t))return null==t?void 0:t.value;this.storage.delete(e)}set(e,t){this.storage.set(e,{value:t,expiration:Date.now()+1e3*this.options.ttl})}delete(e){this.storage.delete(e)}clear(){this.storage.clear()}close(){this.clear(),this.checkIntervalHandle&&(clearInterval(this.checkIntervalHandle),this.checkIntervalHandle=null)}purgeStale(){this.storage.forEach(((e,t)=>{pm(e)&&this.storage.delete(t)}))}get size(){return this.storage.size}};var gm={};Object.defineProperty(gm,"__esModule",{value:!0}),gm.persistentStoreKinds=void 0;const ym=ih,mm=Vd;gm.persistentStoreKinds={segments:{namespace:mm.default.Segments.namespace,deserialize:e=>{const t=(0,ym.deserializeSegment)(e);if(t)return{version:t.version,item:t}},serialize:e=>{const t=(0,ym.serializeSegment)(e);return{version:e.version,deleted:e.deleted,serializedItem:t}},priority:0},features:{namespace:mm.default.Features.namespace,deserialize:e=>{const t=(0,ym.deserializeFlag)(e);if(t)return{version:t.version,item:t}},serialize:e=>{const t=(0,ym.serializeFlag)(e);return{version:e.version,deleted:e.deleted,serializedItem:t}},priority:1}};var bm={};Object.defineProperty(bm,"__esModule",{value:!0});const Em=gm;function _m(e,t){const r=[],i=new Set(Object.keys(t)),n=s=>{if(!i.has(s))return;i.delete(s);const a=t[s];var o;"features"===e.namespace&&(o=a,o.prerequisites&&o.prerequisites.length?o.prerequisites.map((e=>e.key)):[]).forEach((e=>{n(e)})),r.push({key:s,item:e.serialize(a)})};for(;i.size>0;){const e=i.values().next().value;n(e)}return r}bm.default=function(e){const t=[];return Object.keys(e).forEach((r=>{const i=Em.persistentStoreKinds[r];t.push({key:i,item:_m(i,e[r])})})),t.sort(((e,t)=>e.key.priority-t.key.priority)),t};var wm={};Object.defineProperty(wm,"__esModule",{value:!0});wm.default=class{constructor(){this.queue=[]}enqueue(e,t){this.queue.push([e,t]),1===this.queue.length&&this.executePendingUpdates()}executePendingUpdates(){if(this.queue.length>0){const[e,t]=this.queue[0];e((()=>{this.queue.shift(),this.queue.length,null==t||t()}))}}},Object.defineProperty(fm,"__esModule",{value:!0});const Om=vm,Sm=gm,xm=bm,Pm=wm;function km(e,t){return`${e.namespace}:${t}`}function Im(e){return`$all:${e.namespace}`}const Am="$checkedInit";function Rm(e){return!e||e.item.deleted?null:e.item}function Mm(e){return{version:e,item:{version:e,deleted:!0}}}function Tm(e,t){if(t.deleted||!t.serializedItem)return Mm(t.version);const r=e.deserialize(t.serializedItem);return void 0===r?Mm(t.version):0===r.version||r.version===t.version||void 0===r.item?r:{version:t.version,item:r.item}}fm.default=class{constructor(e,t){this.core=e,this.isInitialized=!1,this.queue=new Pm.default,t&&(this.itemCache=new Om.default({ttl:t,checkInterval:600}),this.allItemsCache=new Om.default({ttl:t,checkInterval:600}))}init(e,t){this.queue.enqueue((t=>{this.core.init((0,xm.default)(e),(()=>{this.isInitialized=!0,this.itemCache&&(this.itemCache.clear(),this.allItemsCache.clear(),Object.keys(e).forEach((t=>{const r=Sm.persistentStoreKinds[t],i=e[t];this.allItemsCache.set(Im(r),i),Object.keys(i).forEach((e=>{const t=i[e],n={version:t.version,item:t};this.itemCache.set(km(r,e),n)}))}))),t()}))}),t)}get(e,t,r){if(this.itemCache){const i=this.itemCache.get(km(e,t));if(i)return void r(Rm(i))}const i=Sm.persistentStoreKinds[e.namespace];this.core.get(i,t,(n=>{var s;if(n&&n.serializedItem){const a=Tm(i,n);null===(s=this.itemCache)||void 0===s||s.set(km(e,t),a),r(Rm(a))}r(null)}))}initialized(e){var t;this.isInitialized?e(!0):(null===(t=this.itemCache)||void 0===t?void 0:t.get(Am))?e(!1):this.core.initialized((t=>{var r;this.isInitialized=t,this.isInitialized||null===(r=this.itemCache)||void 0===r||r.set(Am,!0),e(this.isInitialized)}))}all(e,t){var r;const i=null===(r=this.allItemsCache)||void 0===r?void 0:r.get(Im(e));if(i)return void t(i);const n=Sm.persistentStoreKinds[e.namespace];this.core.getAll(n,(r=>{var i;if(!r)return void t({});const s={};r.forEach((({key:e,item:t})=>{const r=Rm(Tm(n,t));r&&(s[e]=r)})),null===(i=this.allItemsCache)||void 0===i||i.set(Im(e),s),t(s)}))}upsert(e,t,r){this.queue.enqueue((r=>{this.allItemsCache&&this.allItemsCache.clear();const i=Sm.persistentStoreKinds[e.namespace];this.core.upsert(i,t.key,i.serialize(t),((n,s)=>{var a,o;if(!n&&s)if(s.serializedItem){const r=Tm(i,s);null===(a=this.itemCache)||void 0===a||a.set(km(e,t.key),r)}else s.deleted&&(null===(o=this.itemCache)||void 0===o||o.set(t.key,{key:t.key,version:s.version,deleted:!0}));r()}))}),r)}delete(e,t,r,i){this.upsert(e,{key:t,version:r,deleted:!0},i)}close(){var e,t;null===(e=this.itemCache)||void 0===e||e.close(),null===(t=this.allItemsCache)||void 0===t||t.close(),this.core.close()}getDescription(){return this.core.getDescription()}},function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.deserializePoll=e.PersistentDataStoreWrapper=e.AsyncStoreFacade=void 0;const t=Ag;e.AsyncStoreFacade=t.default;const r=fm;e.PersistentDataStoreWrapper=r.default;const i=ih;Object.defineProperty(e,"deserializePoll",{enumerable:!0,get:function(){return i.deserializePoll}})}(hm);var Dm={},jm={};Object.defineProperty(jm,"__esModule",{value:!0});jm.default=class{constructor(e,t){this.handlers={},this.closed=!1,this.url=e,this.options=t}addEventListener(e,t){this.handlers[e]=t}close(){this.closed=!0}simulateError(e){this.options.errorFilter(e)||(this.closed=!0)}},Object.defineProperty(Dm,"__esModule",{value:!0}),Dm.NullEventSource=void 0;const $m=jm;Dm.NullEventSource=$m.default,function(e){var r=t&&t.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),i=t&&t.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(e,"__esModule",{value:!0}),e.BigSegmentStoreStatusProviderImpl=e.LDClientImpl=e.platform=e.integrations=void 0;const n=_u;e.LDClientImpl=n.default;const s=Md;e.BigSegmentStoreStatusProviderImpl=s.default,e.integrations=ny,e.platform=wu,i(Fy,e),i(hm,e),i(Dm,e),i(wu,e)}(Eu);const Nm=({options:e={},sdkKey:t,featureStoreProvider:r})=>{var i;const n=null!==(i=e.logger)&&void 0!==i?i:Eu.BasicLogger.get();return bu({sdkKey:t,options:e,edgeFeatureStore:new mu(r,t,"Akamai",n),platformName:"Akamai EdgeWorker",sdkName:"@launchdarkly/akamai-server-base-sdk",sdkVersion:"0.3.0"})};export{mu as EdgeFeatureStore,Nm as init};
34
34
  //# sourceMappingURL=bundle.es.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@launchdarkly/akamai-server-base-sdk",
3
- "version": "0.2.1",
3
+ "version": "0.3.0",
4
4
  "description": "Akamai LaunchDarkly EdgeWorker SDK",
5
5
  "homepage": "https://github.com/launchdarkly/js-core/tree/main/packages/sdk/akamai-base",
6
6
  "repository": {
@@ -25,7 +25,7 @@
25
25
  "dist"
26
26
  ],
27
27
  "scripts": {
28
- "doc": "../../../scripts/build-doc.sh .",
28
+ "doc": "npx typedoc --entryPointStrategy resolve src/index.ts",
29
29
  "build": "rollup -c rollup.config.js",
30
30
  "clean": "rimraf dist",
31
31
  "tsw": "yarn tsc --watch",
@@ -62,7 +62,7 @@
62
62
  "typescript": "^5.0.4"
63
63
  },
64
64
  "dependencies": {
65
- "@launchdarkly/akamai-edgeworker-sdk-common": "^0.1.1",
65
+ "@launchdarkly/akamai-edgeworker-sdk-common": "^0.2.0",
66
66
  "@launchdarkly/js-server-sdk-common": "^1.0.3"
67
67
  }
68
68
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@launchdarkly/akamai-server-base-sdk",
3
- "version": "0.2.1",
3
+ "version": "0.3.0",
4
4
  "description": "Akamai LaunchDarkly EdgeWorker SDK",
5
5
  "homepage": "https://github.com/launchdarkly/js-core/tree/main/packages/sdk/akamai-base",
6
6
  "repository": {
@@ -25,7 +25,7 @@
25
25
  "dist"
26
26
  ],
27
27
  "scripts": {
28
- "doc": "../../../scripts/build-doc.sh .",
28
+ "doc": "npx typedoc --entryPointStrategy resolve src/index.ts",
29
29
  "build": "rollup -c rollup.config.js",
30
30
  "clean": "rimraf dist",
31
31
  "tsw": "yarn tsc --watch",
@@ -62,7 +62,7 @@
62
62
  "typescript": "^5.0.4"
63
63
  },
64
64
  "dependencies": {
65
- "@launchdarkly/akamai-edgeworker-sdk-common": "^0.1.1",
65
+ "@launchdarkly/akamai-edgeworker-sdk-common": "^0.2.0",
66
66
  "@launchdarkly/js-server-sdk-common": "^1.0.3"
67
67
  }
68
68
  }