@ops-ai/feature-flags-toggly 1.6.1 → 1.7.1
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/README.md +20 -0
- package/dist/feature-flags-toggly.bundle.js +1 -1
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -280,6 +280,26 @@ const performanceHook = {
|
|
|
280
280
|
};
|
|
281
281
|
```
|
|
282
282
|
|
|
283
|
+
## Entity context
|
|
284
|
+
|
|
285
|
+
Target features by **page entity** (order, product, account) in addition to user rollouts. Pass the entity on each `isFeatureOn` / `evaluateFeatureGate` call — not on global user identity.
|
|
286
|
+
|
|
287
|
+
```js
|
|
288
|
+
Toggly.registerContext('Order', function (order) {
|
|
289
|
+
return {
|
|
290
|
+
kind: 'Order',
|
|
291
|
+
key: String(order.id),
|
|
292
|
+
attributes: { Status: order.status },
|
|
293
|
+
};
|
|
294
|
+
});
|
|
295
|
+
|
|
296
|
+
if (Toggly.isFeatureOn('OrderBadge', order, 'Order')) {
|
|
297
|
+
// enabled for this order
|
|
298
|
+
}
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
Evaluated-signed defs may be `boolean | EntityGate`. Use `isFeatureOn` (not `=== true`) so gate objects resolve offline. See [Entity & page context](https://docs.toggly.io/docs/core-concepts/entity-context).
|
|
302
|
+
|
|
283
303
|
## Find out more about Toggly.io
|
|
284
304
|
|
|
285
305
|
Visit [our official website](https://toggly.io) or [check out a video overview of our product](https://docs.toggly.io/).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{var e={149(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.emptyCacheLruIndex=function(){return{entries:{}}},t.parseCacheLruIndex=function(e){if(!e)return{entries:{}};try{const t=JSON.parse(e);if(!t||"object"!=typeof t||"object"!=typeof t.entries||!t.entries)return{entries:{}};const n={};for(const[e,r]of Object.entries(t.entries)){if(!r||"object"!=typeof r)continue;const t=r.lastAccessed;"number"==typeof t&&Number.isFinite(t)&&(n[e]={lastAccessed:t})}return{entries:n}}catch{return{entries:{}}}},t.serializeCacheLruIndex=function(e){return JSON.stringify({entries:e.entries})},t.touchCacheLruKey=function(e,t,n=Date.now()){return{entries:{...e.entries,[t]:{lastAccessed:n}}}},t.removeCacheLruKeys=function(e,t){const n={...e.entries};for(const e of t)delete n[e];return{entries:n}},t.selectCacheLruKeysToEvict=function(e,t,n){if(!Number.isFinite(t)||t<=0)return[];const r=Math.floor(t);if(r<=0)return[];const o=Object.keys(e.entries),a=o.length-r;if(a<=0)return[];const i=function(e){const t=new Set;if(e?.protectKey&&t.add(e.protectKey),e?.protectKeys)for(const n of e.protectKeys)n&&t.add(n);return t}(n),c=o.slice().sort((t,n)=>e.entries[t].lastAccessed-e.entries[n].lastAccessed||t.localeCompare(n)),u=[];for(const e of c){if(u.length>=a)break;i.has(e)||u.push(e)}return u},t.isCacheLruEnabled=function(e){return"number"==typeof e&&Number.isFinite(e)&&e>0}},99(e,t){"use strict";function n(e){if(!e)return;const n=Object.entries(e).filter(([e,t])=>e&&null!=t&&String(t).length>0).sort(([e],[t])=>e.localeCompare(t));return 0!==n.length?Object.fromEntries(n.slice(0,t.MAX_EVALUATION_CLAIMS)):void 0}Object.defineProperty(t,"__esModule",{value:!0}),t.MAX_EVALUATION_CLAIMS=void 0,t.normalizeEvaluationClaims=n,t.appendEvaluationContext=function(e,t,r="evaluated"){if(!t)return;if(t.identity&&("variants"===r?e.searchParams.set("userId",t.identity):e.searchParams.set("u",t.identity)),t.groups)for(const n of t.groups){const t=n.trim();t&&e.searchParams.append("g",t)}const o=n(t.claims);if(o)for(const[t,n]of Object.entries(o))e.searchParams.set(`claim.${t}`,String(n))},t.evaluationContextCacheKey=function(e){if(!e)return"";const t=[];if(e.identity&&t.push(`u:${e.identity}`),e.groups?.length&&t.push(`g:${[...e.groups].sort().join(",")}`),e.claims&&Object.keys(e.claims).length>0){const r=n(e.claims);if(r){const e=Object.entries(r).sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>`${e}=${t}`);t.push(`c:${e.join("&")}`)}}return t.join("|")},t.MAX_EVALUATION_CLAIMS=20},467(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.touchCacheLruKey=t.serializeCacheLruIndex=t.selectCacheLruKeysToEvict=t.removeCacheLruKeys=t.parseCacheLruIndex=t.isCacheLruEnabled=t.emptyCacheLruIndex=t.normalizeEvaluationClaims=t.evaluationContextCacheKey=t.appendEvaluationContext=t.MAX_EVALUATION_CLAIMS=void 0;var r=n(99);Object.defineProperty(t,"MAX_EVALUATION_CLAIMS",{enumerable:!0,get:function(){return r.MAX_EVALUATION_CLAIMS}}),Object.defineProperty(t,"appendEvaluationContext",{enumerable:!0,get:function(){return r.appendEvaluationContext}}),Object.defineProperty(t,"evaluationContextCacheKey",{enumerable:!0,get:function(){return r.evaluationContextCacheKey}}),Object.defineProperty(t,"normalizeEvaluationClaims",{enumerable:!0,get:function(){return r.normalizeEvaluationClaims}});var o=n(149);Object.defineProperty(t,"emptyCacheLruIndex",{enumerable:!0,get:function(){return o.emptyCacheLruIndex}}),Object.defineProperty(t,"isCacheLruEnabled",{enumerable:!0,get:function(){return o.isCacheLruEnabled}}),Object.defineProperty(t,"parseCacheLruIndex",{enumerable:!0,get:function(){return o.parseCacheLruIndex}}),Object.defineProperty(t,"removeCacheLruKeys",{enumerable:!0,get:function(){return o.removeCacheLruKeys}}),Object.defineProperty(t,"selectCacheLruKeysToEvict",{enumerable:!0,get:function(){return o.selectCacheLruKeysToEvict}}),Object.defineProperty(t,"serializeCacheLruIndex",{enumerable:!0,get:function(){return o.serializeCacheLruIndex}}),Object.defineProperty(t,"touchCacheLruKey",{enumerable:!0,get:function(){return o.touchCacheLruKey}})},272(e,t){"use strict";function n(e){const t=new Map;for(const n of e)for(const e of n.flagKeys){const r=t.get(e);if(void 0!==r&&r!==n.id)throw new Error(`Flag key "${e}" is registered on multiple local gates ("${r}" and "${n.id}")`);t.set(e,n.id)}return t}function r(e,t,n){const r=n.get(e);if(void 0===r)return!0;const o=function(e,t){return e.find(e=>e.id===t)}(t,r);return o?.isEnabled()??!0}function o(e,t,n,o){return!!e&&r(t,n,o)}Object.defineProperty(t,"__esModule",{value:!0}),t.buildFlagGateIndex=n,t.isLocalPrerequisiteMet=r,t.applyLocalGate=o,t.applyLocalGatesToMap=function(e,t,r){const a=r??n(t),i={};for(const[n,r]of Object.entries(e))i[n]=o(r,n,t,a);return i}},257(e,t){"use strict";var n=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(o,a){function i(e){try{u(r.next(e))}catch(e){a(e)}}function c(e){try{u(r.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(i,c)}u((r=r.apply(e,t||[])).next())})},r=this&&this.__generator||function(e,t){var n,r,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function c(c){return function(u){return function(c){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,r=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!((o=(o=i.trys).length>0&&o[o.length-1])||6!==c[0]&&2!==c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,u])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.HookExecutor=void 0;var o=function(){function e(){this.hooks=[]}return e.prototype.addHook=function(e){var t=e.getMetadata();this.hooks.find(function(e){return e.getMetadata().name===t.name})?console.warn('[Toggly] Hook with name "'.concat(t.name,'" already registered. Skipping.')):this.hooks.push(e)},e.prototype.removeHook=function(e){var t=this.hooks.findIndex(function(t){return t.getMetadata().name===e});return t>-1&&(this.hooks.splice(t,1),!0)},e.prototype.executeBeforeEvaluation=function(e,t){return n(this,void 0,void 0,function(){var n,o,a,i,c,u;return r(this,function(r){switch(r.label){case 0:n=new Map,o=0,a=this.hooks,r.label=1;case 1:if(!(o<a.length))return[3,6];if(!(i=a[o]).beforeEvaluation)return[3,5];r.label=2;case 2:return r.trys.push([2,4,,5]),[4,i.beforeEvaluation(e,t)];case 3:return c=r.sent(),n.set(i.getMetadata().name,c),[3,5];case 4:return u=r.sent(),console.error('[Toggly] Error in hook "'.concat(i.getMetadata().name,'.beforeEvaluation":'),u),[3,5];case 5:return o++,[3,1];case 6:return[2,n]}})})},e.prototype.executeAfterEvaluation=function(e,t,o){return n(this,void 0,void 0,function(){var n,a,i,c;return r(this,function(r){switch(r.label){case 0:n=this.hooks.length-1,r.label=1;case 1:if(!(n>=0))return[3,6];if(!(a=this.hooks[n]).afterEvaluation)return[3,5];r.label=2;case 2:return r.trys.push([2,4,,5]),i=t.get(a.getMetadata().name),[4,a.afterEvaluation(e,i,o)];case 3:return r.sent(),[3,5];case 4:return c=r.sent(),console.error('[Toggly] Error in hook "'.concat(a.getMetadata().name,'.afterEvaluation":'),c),[3,5];case 5:return n--,[3,1];case 6:return[2]}})})},e.prototype.executeBeforeIdentify=function(e){return n(this,void 0,void 0,function(){var t,n,o,a,i,c;return r(this,function(r){switch(r.label){case 0:t=new Map,n=0,o=this.hooks,r.label=1;case 1:if(!(n<o.length))return[3,6];if(!(a=o[n]).beforeIdentify)return[3,5];r.label=2;case 2:return r.trys.push([2,4,,5]),[4,a.beforeIdentify(e)];case 3:return i=r.sent(),t.set(a.getMetadata().name,i),[3,5];case 4:return c=r.sent(),console.error('[Toggly] Error in hook "'.concat(a.getMetadata().name,'.beforeIdentify":'),c),[3,5];case 5:return n++,[3,1];case 6:return[2,t]}})})},e.prototype.executeAfterIdentify=function(e,t){return n(this,void 0,void 0,function(){var n,o,a,i;return r(this,function(r){switch(r.label){case 0:n=this.hooks.length-1,r.label=1;case 1:if(!(n>=0))return[3,6];if(!(o=this.hooks[n]).afterIdentify)return[3,5];r.label=2;case 2:return r.trys.push([2,4,,5]),a=t.get(o.getMetadata().name),[4,o.afterIdentify(e,a)];case 3:return r.sent(),[3,5];case 4:return i=r.sent(),console.error('[Toggly] Error in hook "'.concat(o.getMetadata().name,'.afterIdentify":'),i),[3,5];case 5:return n--,[3,1];case 6:return[2]}})})},e.prototype.executeAfterRefresh=function(e){return n(this,void 0,void 0,function(){var t,n,o,a;return r(this,function(r){switch(r.label){case 0:t=0,n=this.hooks,r.label=1;case 1:if(!(t<n.length))return[3,6];if(!(o=n[t]).afterRefresh)return[3,5];r.label=2;case 2:return r.trys.push([2,4,,5]),[4,o.afterRefresh(e)];case 3:return r.sent(),[3,5];case 4:return a=r.sent(),console.error('[Toggly] Error in hook "'.concat(o.getMetadata().name,'.afterRefresh":'),a),[3,5];case 5:return t++,[3,1];case 6:return[2]}})})},e}();t.HookExecutor=o},424(e,t){"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.FeatureRequirement=void 0,(n=t.FeatureRequirement||(t.FeatureRequirement={}))[n.all=0]="all",n[n.any=1]="any"},264(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,o)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),o(n(565),t),o(n(93),t),o(n(424),t),o(n(726),t),o(n(963),t),o(n(291),t)},291(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},726(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StorageKeys=void 0;var n="toggly:";t.StorageKeys={identityKey:"".concat(n,"identity"),groupsKey:"".concat(n,"groups"),claimsKey:"".concat(n,"claims"),cacheLruKey:"".concat(n,"cache-lru"),flagsCacheKey:function(e,t,r){void 0===r&&(r="");var o=r?":".concat(r):"";return"".concat(n,"flags:").concat(e,":").concat(t).concat(o)},variantsCacheKey:function(e,t,r){void 0===r&&(r="");var o=r?":".concat(r):"";return"".concat(n,"variants:").concat(e,":").concat(t).concat(o)},definitionsRevisionCacheKey:function(e,t){return"".concat(n,"revision:").concat(e,":").concat(t)}}},565(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},93(e,t){"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.TogglyInitResponse=t.TogglyLoadFeatureFlagsResponse=void 0,(n=t.TogglyLoadFeatureFlagsResponse||(t.TogglyLoadFeatureFlagsResponse={}))[n.fetched=0]="fetched",n[n.cached=1]="cached",n[n.defaults=2]="defaults",n[n.error=3]="error";t.TogglyInitResponse=function(e){this.status=e}},963(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},336(e,t){"use strict";var n=this&&this.__assign||function(){return n=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},n.apply(this,arguments)};function r(){return"toggly-".concat(t.SDK_ID,"/").concat(t.SDK_VERSION)}function o(){var e;return(e={})[t.SDK_HEADER_ID]=t.SDK_ID,e[t.SDK_HEADER_VERSION]=t.SDK_VERSION,e}function a(){var e,t=globalThis;return void 0!==t.window&&void 0!==t.document||"ReactNative"===(null===(e=t.navigator)||void 0===e?void 0:e.product)}Object.defineProperty(t,"__esModule",{value:!0}),t.buildDefinitionFetchHeaders=t.usesSdkCustomHeaders=t.appendSdkQueryParams=t.sdkCustomHeaders=t.sdkUserAgent=t.SDK_HEADER_VERSION=t.SDK_HEADER_ID=t.SDK_VERSION=t.SDK_ID=void 0,t.SDK_ID="javascript",t.SDK_VERSION="1.3.1",t.SDK_HEADER_ID="X-Toggly-Sdk",t.SDK_HEADER_VERSION="X-Toggly-Sdk-Version",t.sdkUserAgent=r,t.sdkCustomHeaders=o,t.appendSdkQueryParams=function(e){e.set("sdk",t.SDK_ID),e.set("sdkVersion",t.SDK_VERSION)},t.usesSdkCustomHeaders=a,t.buildDefinitionFetchHeaders=function(e){void 0===e&&(e={});var t=n({},e);return a()?Object.assign(t,o()):t["User-Agent"]=r(),t}},10(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(o,a){function i(e){try{u(r.next(e))}catch(e){a(e)}}function c(e){try{u(r.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(i,c)}u((r=r.apply(e,t||[])).next())})},o=this&&this.__generator||function(e,t){var n,r,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function c(c){return function(u){return function(c){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,r=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!((o=(o=i.trys).length>0&&o[o.length-1])||6!==c[0]&&2!==c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,u])}}};function a(e,t){for(var n=0,r=0,o=!1,a=!1;n<e.length;){var u=e[n];if(o)a?a=!1:"\\"===u?a=!0:'"'===u&&(o=!1),n+=1;else if('"'!==u)"{"===u||"["===u?r+=1:"}"!==u&&"]"!==u||(r-=1),n+=1;else{if(1===r){var s=i(e,n);if(null==s)return null;for(var l=e.slice(n+1,s),f=s+1;f<e.length&&/\s/.test(e[f]);)f+=1;if(l===t&&f<e.length&&":"===e[f]){for(f+=1;f<e.length&&/\s/.test(e[f]);)f+=1;return c(e,f)}n=s+1;continue}o=!0,n+=1}}return null}function i(e,t){for(var n=!1,r=t+1;r<e.length;r++){var o=e[r];if(n)n=!1;else if("\\"!==o){if('"'===o)return r}else n=!0}return null}function c(e,t){if(t>=e.length)return null;var n=e[t];if("{"===n||"["===n){for(var r=0,o=!1,a=!1,c=t;c<e.length;c++){var u=e[c];if(o)a?a=!1:"\\"===u?a=!0:'"'===u&&(o=!1);else if('"'===u)o=!0;else if("{"===u||"["===u)r+=1;else if(("}"===u||"]"===u)&&0==(r-=1))return e.slice(t,c+1)}return null}if('"'===n){var s=i(e,t);return null==s?null:e.slice(t,s+1)}for(var l=t;l<e.length&&/[^\s,}\]]/.test(e[l]);)l+=1;return e.slice(t,l)}function u(e){var t=function(e){var t=e.length%4;return 0===t?e:e+"=".repeat(4-t)}(e.replace(/-/g,"+").replace(/_/g,"/")),n=globalThis.Buffer;if(n){var r=n.from(t,"base64");return Uint8Array.from(r)}if("function"!=typeof atob)throw new Error("base64 decoding is not available in this environment");for(var o=atob(t),a=new Uint8Array(o.length),i=0;i<o.length;i++)a[i]=o.charCodeAt(i);return a}function s(e){if(e.length<8||48!==e[0])throw new Error("invalid DER signature");var t=1,n=function(){var n=e[t++];if(n<128)return n;var r=127&n;if(0===r||r>2||t+r>e.length)throw new Error("invalid DER length");for(var o=0,a=0;a<r;a++)o=o<<8|e[t++];return o};n();var r=function(){if(2!==e[t++])throw new Error("invalid DER integer");var r=n();if(t+r>e.length)throw new Error("invalid DER integer length");for(var o=t,a=t+r;a-o>32&&0===e[o];)o+=1;var i=new Uint8Array(32),c=e.subarray(o,a);if(c.length>32)throw new Error("DER integer too large for P-256");return i.set(c,32-c.length),t=a,i},o=r(),a=r(),i=new Uint8Array(64);return i.set(o,0),i.set(a,32),i}function l(){var e;return"undefined"!=typeof process&&"string"==typeof(null===(e=process.versions)||void 0===e?void 0:e.node)}function f(e){return r(this,void 0,void 0,function(){var t,r;return o(this,function(o){switch(o.label){case 0:return l()?[2,n(60).createHash("sha1").update(e).digest("hex").toUpperCase()]:"undefined"!=typeof crypto&&crypto.subtle?(t=e.slice(),[4,crypto.subtle.digest("SHA-1",t)]):[3,2];case 1:return r=o.sent(),[2,Array.from(new Uint8Array(r)).map(function(e){return e.toString(16).padStart(2,"0").toUpperCase()}).join("")];case 2:throw new Error("WebCrypto is required to validate JWKs")}})})}function d(e){return r(this,void 0,void 0,function(){var t,r;return o(this,function(o){switch(o.label){case 0:if(l())return t=n(60),[2,Uint8Array.from(t.createHash("sha256").update(e).digest())];if("undefined"==typeof crypto||!crypto.subtle)throw new Error("WebCrypto is required to hash signed definitions");return[4,crypto.subtle.digest("SHA-256",e.slice())];case 1:return r=o.sent(),[2,new Uint8Array(r)]}})})}function g(e,t){return r(this,void 0,void 0,function(){var n,r,a,i;return o(this,function(o){switch(o.label){case 0:return n=u(e),r=u(t),(a=new Uint8Array(n.length+r.length)).set(n,0),a.set(r,n.length),[4,f(a)];case 1:return i=o.sent(),[2,"".concat(i,"ES256")]}})})}Object.defineProperty(t,"__esModule",{value:!0}),t.verifySignedDefinitions=t.computeKid=t.derSignatureToP1363=t.base64ToBytes=t.parseDefinitionsFromRaw=t.parseSignedEnvelope=t.extractRawJsonProperty=void 0,t.extractRawJsonProperty=a,t.parseSignedEnvelope=function(e){var t,n=JSON.parse(e);if(null==n||"object"!=typeof n||"string"!=typeof n.signature||0===n.signature.length||"string"!=typeof n.kid||0===n.kid.length||"number"!=typeof n.timestamp)throw new Error("Invalid signed definitions envelope");var r=null!==(t=a(e,"defs"))&&void 0!==t?t:a(e,"data");if(!r)throw new Error("Signed envelope missing defs");return{envelope:n,defsRaw:r}},t.parseDefinitionsFromRaw=function(e){return JSON.parse(e)},t.base64ToBytes=u,t.derSignatureToP1363=s,t.computeKid=g,t.verifySignedDefinitions=function(e,t,a,i){var c,f,h,v,y,p;return r(this,void 0,void 0,function(){var r,_,b,m,E,w,S,C,k,I;return o(this,function(o){switch(o.label){case 0:if((null==i?void 0:i.length)&&!i.includes(t.kid))throw new Error("kid not allowed: ".concat(t.kid));if(!(r=a.keys.find(function(e){return e.kid===t.kid})))throw new Error('no matching jwk for kid "'.concat(t.kid,'"'));if("ES256"!==r.alg)throw new Error("unsupported alg: ".concat(null!==(c=r.alg)&&void 0!==c?c:""));if("P-256"!==r.crv)throw new Error("unsupported crv: ".concat(null!==(f=r.crv)&&void 0!==f?f:""));if(!r.x||!r.y)throw new Error("missing x or y coordinate");return[4,g(r.x,r.y)];case 1:if(_=o.sent(),r.kid!==_)throw new Error("invalid kid: expected ".concat(_,", got ").concat(r.kid));return[4,d((new TextEncoder).encode("".concat(e,"|").concat(t.timestamp)))];case 2:return[4,d(b=o.sent())];case 3:if(m=o.sent(),E=u(t.signature),l()){if(w=n(60),S=w.createPublicKey({key:{kty:null!==(h=r.kty)&&void 0!==h?h:"EC",crv:null!==(v=r.crv)&&void 0!==v?v:"P-256",x:r.x,y:r.y},format:"jwk"}),C=64===E.length?"ieee-p1363":"der",!w.verify(null,m,{key:S,dsaEncoding:C},E))throw new Error("invalid signature");return[2]}if("undefined"==typeof crypto||!crypto.subtle)throw new Error("WebCrypto is required to verify signed definitions");return[4,crypto.subtle.importKey("jwk",{kty:null!==(y=r.kty)&&void 0!==y?y:"EC",crv:null!==(p=r.crv)&&void 0!==p?p:"P-256",x:r.x,y:r.y,ext:!0},{name:"ECDSA",namedCurve:"P-256"},!1,["verify"])];case 4:return k=o.sent(),I=function(e){return 64===e.length?e:s(e)}(E),[4,crypto.subtle.verify({name:"ECDSA",hash:"SHA-256"},k,I,b)];case 5:if(!o.sent())throw new Error("invalid signature");return[2]}})})}},765(e,t,n){"use strict";var r=this&&this.__assign||function(){return r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},r.apply(this,arguments)},o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(o,a){function i(e){try{u(r.next(e))}catch(e){a(e)}}function c(e){try{u(r.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(i,c)}u((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function c(c){return function(u){return function(c){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,r=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!((o=(o=i.trys).length>0&&o[o.length-1])||6!==c[0]&&2!==c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,u])}}},i=this&&this.__spreadArray||function(e,t,n){if(n||2===arguments.length)for(var r,o=0,a=t.length;o<a;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))};Object.defineProperty(t,"__esModule",{value:!0}),t.Toggly=void 0;var c=n(831),u=n(264),s=n(257),l=n(467),f=n(272),d=n(23),g=n(336),h=n(10),v="undefined"!=typeof window&&void 0!==window.localStorage,y=function(){function e(){}return Object.defineProperty(e,"_revisionCacheKey",{get:function(){var t,n,r,o;return u.StorageKeys.definitionsRevisionCacheKey(null!==(n=null===(t=e._config)||void 0===t?void 0:t.appKey)&&void 0!==n?n:"",null!==(o=null===(r=e._config)||void 0===r?void 0:r.environment)&&void 0!==o?o:"Production")},enumerable:!1,configurable:!0}),Object.defineProperty(e,"definitionsRevision",{get:function(){if(e._cachedDefinitionsRevision)return e._cachedDefinitionsRevision;if(!e._persistCache)return null;try{return localStorage.getItem(e._revisionCacheKey)}catch(e){return null}},enumerable:!1,configurable:!0}),e.cacheDefinitionsRevision=function(t){if(t&&(e._cachedDefinitionsRevision=t,e._persistCache))try{localStorage.setItem(e._revisionCacheKey,t)}catch(t){e._reportError("Error writing definitions revision cache",t)}},e.scheduleDebouncedRefresh=function(t){void 0===t&&(t=!1),e._refreshDebounceTimer&&clearTimeout(e._refreshDebounceTimer),e._refreshDebounceTimer=setTimeout(function(){e._refreshDebounceTimer=null,t&&e._config.verifySignatures&&(e._cachedDefinitionsRevision=null,e._inMemoryJwks=null),e.refresh()},d.REFRESH_DEBOUNCE_MS)},e.handleWsSyncMessage=function(t){var n=e.definitionsRevision;(0,d.shouldFetchOnSync)(t,n)&&e.scheduleDebouncedRefresh(),t.etag&&e.cacheDefinitionsRevision(t.etag)},e.handleWsUpdateMessage=function(t){if((0,d.shouldFetchOnSigningKeyUpdated)(t))e.scheduleDebouncedRefresh(!0);else{var n=e.definitionsRevision;(0,d.shouldFetchOnFlagsUpdated)(t,n)&&e.scheduleDebouncedRefresh(),t.etag&&e.cacheDefinitionsRevision(t.etag)}},e.buildFetchHeaders=function(){return(0,g.buildDefinitionFetchHeaders)(e.definitionsRevision?{"If-None-Match":e.definitionsRevision}:{})},e.applyFetchRevision=function(t){var n=(0,d.extractDefinitionsRevision)(t);n&&e.cacheDefinitionsRevision(n.replace(/^"+|"+$/g,""))},Object.defineProperty(e,"_persistCache",{get:function(){var t;return!1!==(null===(t=e._config)||void 0===t?void 0:t.persistCache)&&v},enumerable:!1,configurable:!0}),Object.defineProperty(e,"_contextCacheKey",{get:function(){return(0,l.evaluationContextCacheKey)(e.evaluationContext)},enumerable:!1,configurable:!0}),Object.defineProperty(e,"_flagsCacheKey",{get:function(){var t,n,r,o;return u.StorageKeys.flagsCacheKey(null!==(n=null===(t=e._config)||void 0===t?void 0:t.appKey)&&void 0!==n?n:"",null!==(o=null===(r=e._config)||void 0===r?void 0:r.environment)&&void 0!==o?o:"Production",e._contextCacheKey)},enumerable:!1,configurable:!0}),Object.defineProperty(e,"lastError",{get:function(){return e._lastError},enumerable:!1,configurable:!0}),e._reportError=function(t,n){var r,o,a;e._lastError=t,null===(o=null===(r=e._config)||void 0===r?void 0:r.onError)||void 0===o||o.call(r,t,n),(null===(a=e._config)||void 0===a?void 0:a.isDebug)&&console.warn("[Toggly] ".concat(t),n)},e._getFallbackFlags=function(){var t,n,r;return e._hasLoadedFlags&&e._inMemoryFlags?e._inMemoryFlags:null!==(r=null!==(n=null!==(t=e._cachedFeatureFlags)&&void 0!==t?t:e._inMemoryFlags)&&void 0!==n?n:e._config.flagDefaults)&&void 0!==r?r:{}},Object.defineProperty(e,"_variantsCacheKey",{get:function(){var t,n,r,o;return u.StorageKeys.variantsCacheKey(null!==(n=null===(t=e._config)||void 0===t?void 0:t.appKey)&&void 0!==n?n:"",null!==(o=null===(r=e._config)||void 0===r?void 0:r.environment)&&void 0!==o?o:"Production",e._contextCacheKey)},enumerable:!1,configurable:!0}),e.init=function(t){return void 0===t&&(t={}),e._config=Object.assign({baseURI:"https://definitions.toggly.io",verifySignatures:!1,reloadOnFeatureFlagValidation:!1,connectTimeout:5e3,featureFlagsRefreshInterval:18e4,isDebug:!1,environment:"Production",flagDefaults:{},hooks:[],persistCache:!0},t),e._inMemoryFlags=e._config.flagDefaults?r({},e._config.flagDefaults):null,e._hasLoadedFlags=!1,e._lastError=void 0,e._cachedDefinitionsRevision=null,e._wsReconnectAttempt=0,e._config.hooks&&e._config.hooks.forEach(function(t){return e._hookExecutor.addHook(t)}),e._config.localGates&&e.setLocalGates(e._config.localGates),e.identity||(e.identity=(0,c.v4)()),e.startRefreshInterval(),e.startWebSocket(),e.refresh()},Object.defineProperty(e,"featureFlagsValue",{get:function(){var t,n,r;if(e._inMemoryFlags)return e._inMemoryFlags;var o=e._cachedFeatureFlags;return(null===(t=e._config)||void 0===t?void 0:t.appKey)&&o?(e._inMemoryFlags=o,e._hasLoadedFlags=!0,o):null!==(r=null===(n=e._config)||void 0===n?void 0:n.flagDefaults)&&void 0!==r?r:{}},enumerable:!1,configurable:!0}),Object.defineProperty(e,"identity",{get:function(){var e;return v&&null!==(e=localStorage.getItem(u.StorageKeys.identityKey))&&void 0!==e?e:""},set:function(t){var n=e._hookExecutor.executeBeforeIdentify(t);v&&localStorage.setItem(u.StorageKeys.identityKey,t),Promise.resolve(n).then(function(n){return e._hookExecutor.executeAfterIdentify(t,n)}).catch(function(e){return console.error("[Toggly] Hook execution error:",e)})},enumerable:!1,configurable:!0}),e.clearIdentity=function(){if(e.identity){var t=e._hookExecutor.executeBeforeIdentify("");v&&localStorage.removeItem(u.StorageKeys.identityKey),Promise.resolve(t).then(function(t){return e._hookExecutor.executeAfterIdentify("",t)}).catch(function(e){return console.error("[Toggly] Hook execution error:",e)})}else v&&localStorage.removeItem(u.StorageKeys.identityKey)},Object.defineProperty(e,"groups",{get:function(){var e;if(!v)return[];try{return JSON.parse(null!==(e=localStorage.getItem(u.StorageKeys.groupsKey))&&void 0!==e?e:"[]")}catch(e){return[]}},set:function(e){v&&localStorage.setItem(u.StorageKeys.groupsKey,JSON.stringify(null!=e?e:[]))},enumerable:!1,configurable:!0}),Object.defineProperty(e,"claims",{get:function(){var e;if(!v)return{};try{return JSON.parse(null!==(e=localStorage.getItem(u.StorageKeys.claimsKey))&&void 0!==e?e:"{}")}catch(e){return{}}},set:function(e){v&&localStorage.setItem(u.StorageKeys.claimsKey,JSON.stringify(null!=e?e:{}))},enumerable:!1,configurable:!0}),Object.defineProperty(e,"evaluationContext",{get:function(){var t=e.identity||void 0,n=e.groups,r=e.claims;return{identity:t,groups:n.length?n:void 0,claims:Object.keys(r).length?r:void 0}},enumerable:!1,configurable:!0}),e.setContext=function(t){return void 0!==t.identity&&(t.identity?e.identity=t.identity:e.clearIdentity()),void 0!==t.groups&&(e.groups=t.groups),void 0!==t.claims&&(e.claims=t.claims),e._inMemoryFlags=null,e._hasLoadedFlags=!1,e.refresh()},e.clearContext=function(){return e.clearIdentity(),e.groups=[],e.claims={},e._inMemoryFlags=null,e._hasLoadedFlags=!1,e.refresh()},e.buildEvaluatedUrl=function(t){var n="variants"===t?"evaluated-variants-signed":"evaluated-signed",r=new URL("".concat(e._config.baseURI,"/").concat(n,"/").concat(e._config.appKey,"/").concat(e._config.environment));return(0,l.appendEvaluationContext)(r,e.evaluationContext,t),r.toString()},e.fetchJwks=function(t){return void 0===t&&(t=!1),o(this,void 0,void 0,function(){var n,r;return a(this,function(o){switch(o.label){case 0:return!t&&e._inMemoryJwks?[2,e._inMemoryJwks]:[4,fetch("".concat(e._config.baseURI,"/.well-known/jwks"),{headers:e.buildFetchHeaders()})];case 1:if(!(n=o.sent()).ok)throw new Error("Failed to fetch JWKs: ".concat(n.status," ").concat(n.statusText));return[4,n.json()];case 2:return r=o.sent(),e._inMemoryJwks=r,[2,r]}})})},e.readResponseBody=function(e){return o(this,void 0,void 0,function(){var t,n;return a(this,function(r){switch(r.label){case 0:return"function"==typeof e.text?[2,e.text()]:(n=(t=JSON).stringify,[4,e.json()]);case 1:return[2,n.apply(t,[r.sent()])]}})})},e.parseEvaluatedSignedBody=function(t){var n;return o(this,void 0,void 0,function(){var r,o,i,c,u;return a(this,function(a){switch(a.label){case 0:return e._config.verifySignatures?(o=(0,h.parseSignedEnvelope)(t),i=o.envelope,c=o.defsRaw,[4,e.fetchJwks()]):(r=JSON.parse(t),[2,{defs:null!==(n=null==r?void 0:r.defs)&&void 0!==n?n:r}]);case 1:return u=a.sent(),[4,(0,h.verifySignedDefinitions)(c,{signature:i.signature,timestamp:i.timestamp,kid:i.kid},u)];case 2:return a.sent(),[2,{defs:(0,h.parseDefinitionsFromRaw)(c)}]}})})},Object.defineProperty(e,"_cachedFeatureFlags",{get:function(){if(!e._persistCache)return null;try{var t=localStorage.getItem(e._flagsCacheKey),n=JSON.parse(null!=t?t:"null");return null!=t&&null!=n&&e._touchCacheKey(e._flagsCacheKey),n}catch(t){return e._reportError("Error reading cached feature flags",t),null}},enumerable:!1,configurable:!0}),e.cacheFeatureFlags=function(t){if(e._inMemoryFlags=t,e._hasLoadedFlags=!0,e._persistCache)try{var n=e._flagsCacheKey;localStorage.setItem(n,JSON.stringify(t)),e._touchCacheKey(n),e._enforceMaxCacheKeys([n,e._variantsCacheKey])}catch(t){e._reportError("Error writing feature flags cache",t)}},e.clearFeatureFlagsCache=function(){if(e._inMemoryFlags=null,v)try{var t=e._flagsCacheKey,n=e._variantsCacheKey;localStorage.removeItem(t),localStorage.removeItem(n),localStorage.removeItem(e._revisionCacheKey),e._removeCacheKeysFromLruIndex([t,n])}catch(t){e._reportError("Error clearing feature flags cache",t)}},Object.defineProperty(e,"variantsValue",{get:function(){var t;if(!(null===(t=e._config)||void 0===t?void 0:t.enableVariants))return null;if(e._persistCache)try{var n=localStorage.getItem(e._variantsCacheKey),r=JSON.parse(null!=n?n:"null");return null!=n&&null!=r&&e._touchCacheKey(e._variantsCacheKey),r}catch(e){return null}return null},enumerable:!1,configurable:!0}),e.cacheVariants=function(t){if(e._persistCache)try{var n=e._variantsCacheKey;localStorage.setItem(n,JSON.stringify(t)),e._touchCacheKey(n),e._enforceMaxCacheKeys([e._flagsCacheKey,n])}catch(t){e._reportError("Error writing variants cache",t)}},e._isTrackedCacheKey=function(e){return e.startsWith("toggly:flags:")||e.startsWith("toggly:variants:")},e._loadLruIndex=function(){try{return(0,l.parseCacheLruIndex)(localStorage.getItem(u.StorageKeys.cacheLruKey))}catch(e){return(0,l.parseCacheLruIndex)(null)}},e._saveLruIndex=function(t){try{localStorage.setItem(u.StorageKeys.cacheLruKey,(0,l.serializeCacheLruIndex)(t))}catch(t){e._reportError("Error writing cache LRU index",t)}},e._touchCacheKey=function(t){var n;if(e._persistCache&&(0,l.isCacheLruEnabled)(null===(n=e._config)||void 0===n?void 0:n.maxCacheKeys)&&e._isTrackedCacheKey(t))try{var r=(0,l.touchCacheLruKey)(e._loadLruIndex(),t);e._saveLruIndex(r)}catch(t){e._reportError("Error updating cache LRU index",t)}},e._enforceMaxCacheKeys=function(t){var n,r=null===(n=e._config)||void 0===n?void 0:n.maxCacheKeys;if(e._persistCache&&(0,l.isCacheLruEnabled)(r))try{var o=e._loadLruIndex(),a=(0,l.selectCacheLruKeysToEvict)(o,r,{protectKeys:t}).filter(function(t){return e._isTrackedCacheKey(t)});if(0===a.length)return;for(var i=0,c=a;i<c.length;i++){var u=c[i];try{localStorage.removeItem(u)}catch(e){}}o=(0,l.removeCacheLruKeys)(o,a),e._saveLruIndex(o)}catch(t){e._reportError("Error enforcing cache LRU limit",t)}},e._removeCacheKeysFromLruIndex=function(t){var n;if(e._persistCache&&(0,l.isCacheLruEnabled)(null===(n=e._config)||void 0===n?void 0:n.maxCacheKeys))try{var r=(0,l.removeCacheLruKeys)(e._loadLruIndex(),t);e._saveLruIndex(r)}catch(t){e._reportError("Error updating cache LRU index",t)}},e.getVariant=function(t){var n=e.variantsValue;if(!n)return null;var r=n[t];return r&&r.variant&&e._isEffectiveFlagEnabled(t,!0===r.enabled)?{name:r.variant,configurationValue:r.configurationValue}:null},e.getVariantValue=function(t){var n,r=e.getVariant(t);return null!==(n=null==r?void 0:r.configurationValue)&&void 0!==n?n:null},e.fetchFeatureFlags=function(){var t=this;return e._config.enableVariants?e.fetchFeatureFlagsWithVariants():new Promise(function(n){var r=e.buildEvaluatedUrl("evaluated");Promise.resolve().then(function(){return fetch(r,{headers:e.buildFetchHeaders()})}).then(function(t){if(e.applyFetchRevision(t),304===t.status){var r=e._getFallbackFlags();return n(r),null}if(!t.ok)throw new Error("Failed to fetch feature flags: ".concat(t.status," ").concat(t.statusText));return e.readResponseBody(t)}).then(function(r){return o(t,void 0,void 0,function(){var t,o,i;return a(this,function(a){switch(a.label){case 0:return r?[4,e.parseEvaluatedSignedBody(r)]:(t=e._getFallbackFlags(),n(t),[2]);case 1:return o=a.sent().defs,i=o&&"object"==typeof o?o:{},e.cacheFeatureFlags(i),n(i),e._config.isDebug&&console.log("Toggly.fetchFeatureFlags - ".concat(JSON.stringify(i))),[2]}})})}).catch(function(t){e._reportError("Error fetching feature flags",t);var r=e._getFallbackFlags();n(r),e._config.isDebug&&console.log("Toggly.loadedFromCache - ".concat(JSON.stringify(r)))})})},e.fetchFeatureFlagsWithVariants=function(){var t=this;return new Promise(function(n){var r=e.buildEvaluatedUrl("variants");Promise.resolve().then(function(){return fetch(r,{headers:e.buildFetchHeaders()})}).then(function(t){if(e.applyFetchRevision(t),304===t.status){var r=e._getFallbackFlags();return n(r),null}if(!t.ok)throw new Error("Failed to fetch feature flags: ".concat(t.status," ").concat(t.statusText));return e.readResponseBody(t)}).then(function(r){return o(t,void 0,void 0,function(){var t,o,i,c,u,s,l,f,d;return a(this,function(a){switch(a.label){case 0:return r?[4,e.parseEvaluatedSignedBody(r)]:(t=e._getFallbackFlags(),n(t),[2]);case 1:for(o=a.sent().defs,i=o&&"object"==typeof o&&!Array.isArray(o)?o:{},e.cacheVariants(i),c={},u=0,s=Object.entries(i);u<s.length;u++)l=s[u],f=l[0],d=l[1],c[f]=d.enabled;return e.cacheFeatureFlags(c),n(c),e._config.isDebug&&console.log("Toggly.fetchFeatureFlagsWithVariants - ".concat(JSON.stringify(i))),[2]}})})}).catch(function(t){e._reportError("Error fetching feature flags",t);var r=e._getFallbackFlags();n(r),e._config.isDebug&&console.log("Toggly.loadedFromCache - ".concat(JSON.stringify(r)))})})},e.refresh=function(){if(e._config.isDebug&&console.log("Toggly.refresh"),!e._config.appKey){e._config.isDebug&&console.log("Toggly.usedFlagDefaults - ".concat(JSON.stringify(e._config.flagDefaults)));var t=e._config.flagDefaults;return e._inMemoryFlags=t,Promise.resolve(e._hookExecutor.executeAfterRefresh(t)).catch(function(e){return console.error("[Toggly] Hook execution error:",e)}),new Promise(function(e,n){e(t)})}return e.fetchFeatureFlags().then(function(t){return Promise.resolve(e._hookExecutor.executeAfterRefresh(t)).catch(function(e){return console.error("[Toggly] Hook execution error:",e)}),t})},e._getEffectiveFlagValue=function(t,n){var r=!0===t[n];return(0,f.applyLocalGate)(r,n,e._localGates,e._localGateIndex)},e._isEffectiveFlagEnabled=function(t,n){return(0,f.applyLocalGate)(n,t,e._localGates,e._localGateIndex)},e._evaluateFeatureGate=function(t,n,r,o){return void 0===t&&(t={}),void 0===r&&(r=u.FeatureRequirement.all),void 0===o&&(o=!1),n.length>0&&0===Object.keys(t).length?o:(a=r===u.FeatureRequirement.any?n.reduce(function(n,r){return n||e._getEffectiveFlagValue(t,r)},!1):n.reduce(function(n,r){return n&&e._getEffectiveFlagValue(t,r)},!0),e._config.isDebug&&console.log("Toggly._evaluateFeatureGate - ".concat(JSON.stringify(n))),a=o?!a:a);var a},e.evaluateFeatureGate=function(t,n,r){if(void 0===n&&(n=u.FeatureRequirement.all),void 0===r&&(r=!1),0===t.length)return e._evaluateFeatureGate(e.featureFlagsValue,t,n,r);var o=t[0],a=e._hookExecutor.executeBeforeEvaluation(o),i=e._evaluateFeatureGate(e.featureFlagsValue,t,n,r);return Promise.resolve(a).then(function(t){return e._hookExecutor.executeAfterEvaluation(o,t,i)}).catch(function(e){return console.error("[Toggly] Hook execution error:",e)}),i},e.isFeatureOn=function(t){var n=e._hookExecutor.executeBeforeEvaluation(t),r=e._evaluateFeatureGate(e.featureFlagsValue,[t]);return Promise.resolve(n).then(function(n){return e._hookExecutor.executeAfterEvaluation(t,n,r)}).catch(function(e){return console.error("[Toggly] Hook execution error:",e)}),r},e.isFeatureOff=function(t){var n=e._hookExecutor.executeBeforeEvaluation(t),r=e._evaluateFeatureGate(e.featureFlagsValue,[t],u.FeatureRequirement.all,!0);return Promise.resolve(n).then(function(n){return e._hookExecutor.executeAfterEvaluation(t,n,r)}).catch(function(e){return console.error("[Toggly] Hook execution error:",e)}),r},e.addHook=function(t){e._hookExecutor.addHook(t)},e.removeHook=function(t){return e._hookExecutor.removeHook(t)},e.setLocalGates=function(t){e._localGates=i([],t,!0),e._localGateIndex=(0,f.buildFlagGateIndex)(e._localGates)},e.notifyLocalGatesChanged=function(){e._localGatesChangedListeners.forEach(function(e){try{e()}catch(e){console.error("[Toggly] Local gate listener error:",e)}})},e.subscribeLocalGatesChanged=function(t){return e._localGatesChangedListeners.add(t),function(){e._localGatesChangedListeners.delete(t)}},e.startWebSocket=function(){if(e._config.appKey&&!1!==e._config.enableLiveUpdates){e.stopWebSocket();var t=(0,d.buildWebSocketUrl)(e._config.baseURI,e._config.appKey,e.definitionsRevision);e._config.isDebug&&console.log("[Toggly] WebSocket connecting to ".concat(t));var n=new WebSocket(t);n.onopen=function(){e._wsConnected=!0,e._wsReconnectAttempt=0,e._lastFallbackRefresh=Date.now(),e._config.isDebug&&console.log("[Toggly] WebSocket connected")},n.onmessage=function(t){var n=t.data;if("string"==typeof n){if("update"===n||"flags-updated"===n)return e._config.isDebug&&console.log("[Toggly] WebSocket received text: ".concat(n)),void e.scheduleDebouncedRefresh();try{var r=JSON.parse(n);if("ping"===r.type)return;if("sync"===r.type)return e._config.isDebug&&console.log("[Toggly] WebSocket received sync"),void e.handleWsSyncMessage(r);"flags-updated"!==r.type&&"update"!==r.type&&"signing-key-updated"!==r.type||(e._config.isDebug&&console.log("[Toggly] WebSocket received: ".concat(r.type)),e.handleWsUpdateMessage(r))}catch(t){e._config.isDebug&&console.log("[Toggly] WebSocket received unrecognized message: ".concat(n))}}},n.onclose=function(){e._wsConnected=!1,e._ws=null;var t=(0,d.getNextReconnectDelayMs)(e._wsReconnectAttempt);e._wsReconnectAttempt+=1,e._config.isDebug&&console.log("[Toggly] WebSocket closed, reconnecting in ".concat(t,"ms")),e._wsReconnectTimer=setTimeout(function(){e.startWebSocket()},t)},n.onerror=function(e){console.error("[Toggly] WebSocket error:",e)},e._ws=n}},e.stopWebSocket=function(){e._wsReconnectTimer&&(clearTimeout(e._wsReconnectTimer),e._wsReconnectTimer=null),e._refreshDebounceTimer&&(clearTimeout(e._refreshDebounceTimer),e._refreshDebounceTimer=null),e._ws&&(e._ws.onopen=null,e._ws.onmessage=null,e._ws.onclose=null,e._ws.onerror=null,e._ws.close(),e._ws=null),e._wsConnected=!1},e.cancelRefreshInterval=function(){window.clearInterval(e._refreshInterval),e._refreshInterval=void 0,e.stopWebSocket()},e.startRefreshInterval=function(){e.cancelRefreshInterval(),e._config.appKey&&e._config.featureFlagsRefreshInterval>0&&(e._refreshInterval=window.setInterval(function(){e._wsConnected&&Date.now()-e._lastFallbackRefresh<e._fallbackRefreshInterval?e._config.isDebug&&console.log("[Toggly] Skipping interval refresh, WebSocket is connected"):(e._lastFallbackRefresh=Date.now(),e.refresh())},e._config.featureFlagsRefreshInterval))},e._hookExecutor=new s.HookExecutor,e._localGates=[],e._inMemoryJwks=null,e._localGateIndex=new Map,e._localGatesChangedListeners=new Set,e._inMemoryFlags=null,e._hasLoadedFlags=!1,e._ws=null,e._wsConnected=!1,e._wsReconnectTimer=null,e._wsReconnectAttempt=0,e._refreshDebounceTimer=null,e._cachedDefinitionsRevision=null,e._lastFallbackRefresh=0,e._fallbackRefreshInterval=12e5,e}();t.Toggly=y,"undefined"!=typeof window&&(window.Toggly=y)},23(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.extractDefinitionsRevision=t.shouldFetchOnSigningKeyUpdated=t.shouldFetchOnFlagsUpdated=t.shouldFetchOnSync=t.getNextReconnectDelayMs=t.buildWebSocketUrl=t.REFRESH_DEBOUNCE_MS=t.WS_RECONNECT_MAX_MS=t.WS_RECONNECT_BASE_MS=t.DEFINITIONS_REVISION_HEADER=void 0;var r=n(336);t.DEFINITIONS_REVISION_HEADER="X-Definitions-Revision",t.WS_RECONNECT_BASE_MS=5e3,t.WS_RECONNECT_MAX_MS=6e4,t.REFRESH_DEBOUNCE_MS=300,t.buildWebSocketUrl=function(e,t,n){var o=e.replace(/^https:\/\//,"wss://").replace(/^http:\/\//,"ws://").replace(/\/$/,""),a=new URLSearchParams;n&&a.set("rev",n),(0,r.appendSdkQueryParams)(a);var i=a.toString();return"".concat(o,"/").concat(t,"/ws").concat(i?"?".concat(i):"")},t.getNextReconnectDelayMs=function(e){return Math.min(t.WS_RECONNECT_BASE_MS*Math.pow(2,e),t.WS_RECONNECT_MAX_MS)},t.shouldFetchOnSync=function(e,t){return!("sync"!==e.type||!0===e.unchanged||t&&(!e.etag||e.etag===t))},t.shouldFetchOnFlagsUpdated=function(e,t){return!("flags-updated"!==e.type&&"update"!==e.type||e.etag&&t&&e.etag===t)},t.shouldFetchOnSigningKeyUpdated=function(e){return"signing-key-updated"===e.type},t.extractDefinitionsRevision=function(e){var n,r;return(null===(n=e.headers)||void 0===n?void 0:n.get)?null!==(r=e.headers.get(t.DEFINITIONS_REVISION_HEADER))&&void 0!==r?r:e.headers.get("ETag"):null}},831(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"NIL",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return f.default}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(t,"v1",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(t,"v3",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(t,"v4",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(t,"v5",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(t,"validate",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(t,"version",{enumerable:!0,get:function(){return u.default}});var r=d(n(518)),o=d(n(948)),a=d(n(73)),i=d(n(186)),c=d(n(808)),u=d(n(775)),s=d(n(37)),l=d(n(910)),f=d(n(792));function d(e){return e&&e.__esModule?e:{default:e}}},311(e,t){"use strict";function n(e){return 14+(e+64>>>9<<4)+1}function r(e,t){const n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}function o(e,t,n,o,a,i){return r((c=r(r(t,e),r(o,i)))<<(u=a)|c>>>32-u,n);var c,u}function a(e,t,n,r,a,i,c){return o(t&n|~t&r,e,t,a,i,c)}function i(e,t,n,r,a,i,c){return o(t&r|n&~r,e,t,a,i,c)}function c(e,t,n,r,a,i,c){return o(t^n^r,e,t,a,i,c)}function u(e,t,n,r,a,i,c){return o(n^(t|~r),e,t,a,i,c)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(e){if("string"==typeof e){const t=unescape(encodeURIComponent(e));e=new Uint8Array(t.length);for(let n=0;n<t.length;++n)e[n]=t.charCodeAt(n)}return function(e){const t=[],n=32*e.length,r="0123456789abcdef";for(let o=0;o<n;o+=8){const n=e[o>>5]>>>o%32&255,a=parseInt(r.charAt(n>>>4&15)+r.charAt(15&n),16);t.push(a)}return t}(function(e,t){e[t>>5]|=128<<t%32,e[n(t)-1]=t;let o=1732584193,s=-271733879,l=-1732584194,f=271733878;for(let t=0;t<e.length;t+=16){const n=o,d=s,g=l,h=f;o=a(o,s,l,f,e[t],7,-680876936),f=a(f,o,s,l,e[t+1],12,-389564586),l=a(l,f,o,s,e[t+2],17,606105819),s=a(s,l,f,o,e[t+3],22,-1044525330),o=a(o,s,l,f,e[t+4],7,-176418897),f=a(f,o,s,l,e[t+5],12,1200080426),l=a(l,f,o,s,e[t+6],17,-1473231341),s=a(s,l,f,o,e[t+7],22,-45705983),o=a(o,s,l,f,e[t+8],7,1770035416),f=a(f,o,s,l,e[t+9],12,-1958414417),l=a(l,f,o,s,e[t+10],17,-42063),s=a(s,l,f,o,e[t+11],22,-1990404162),o=a(o,s,l,f,e[t+12],7,1804603682),f=a(f,o,s,l,e[t+13],12,-40341101),l=a(l,f,o,s,e[t+14],17,-1502002290),s=a(s,l,f,o,e[t+15],22,1236535329),o=i(o,s,l,f,e[t+1],5,-165796510),f=i(f,o,s,l,e[t+6],9,-1069501632),l=i(l,f,o,s,e[t+11],14,643717713),s=i(s,l,f,o,e[t],20,-373897302),o=i(o,s,l,f,e[t+5],5,-701558691),f=i(f,o,s,l,e[t+10],9,38016083),l=i(l,f,o,s,e[t+15],14,-660478335),s=i(s,l,f,o,e[t+4],20,-405537848),o=i(o,s,l,f,e[t+9],5,568446438),f=i(f,o,s,l,e[t+14],9,-1019803690),l=i(l,f,o,s,e[t+3],14,-187363961),s=i(s,l,f,o,e[t+8],20,1163531501),o=i(o,s,l,f,e[t+13],5,-1444681467),f=i(f,o,s,l,e[t+2],9,-51403784),l=i(l,f,o,s,e[t+7],14,1735328473),s=i(s,l,f,o,e[t+12],20,-1926607734),o=c(o,s,l,f,e[t+5],4,-378558),f=c(f,o,s,l,e[t+8],11,-2022574463),l=c(l,f,o,s,e[t+11],16,1839030562),s=c(s,l,f,o,e[t+14],23,-35309556),o=c(o,s,l,f,e[t+1],4,-1530992060),f=c(f,o,s,l,e[t+4],11,1272893353),l=c(l,f,o,s,e[t+7],16,-155497632),s=c(s,l,f,o,e[t+10],23,-1094730640),o=c(o,s,l,f,e[t+13],4,681279174),f=c(f,o,s,l,e[t],11,-358537222),l=c(l,f,o,s,e[t+3],16,-722521979),s=c(s,l,f,o,e[t+6],23,76029189),o=c(o,s,l,f,e[t+9],4,-640364487),f=c(f,o,s,l,e[t+12],11,-421815835),l=c(l,f,o,s,e[t+15],16,530742520),s=c(s,l,f,o,e[t+2],23,-995338651),o=u(o,s,l,f,e[t],6,-198630844),f=u(f,o,s,l,e[t+7],10,1126891415),l=u(l,f,o,s,e[t+14],15,-1416354905),s=u(s,l,f,o,e[t+5],21,-57434055),o=u(o,s,l,f,e[t+12],6,1700485571),f=u(f,o,s,l,e[t+3],10,-1894986606),l=u(l,f,o,s,e[t+10],15,-1051523),s=u(s,l,f,o,e[t+1],21,-2054922799),o=u(o,s,l,f,e[t+8],6,1873313359),f=u(f,o,s,l,e[t+15],10,-30611744),l=u(l,f,o,s,e[t+6],15,-1560198380),s=u(s,l,f,o,e[t+13],21,1309151649),o=u(o,s,l,f,e[t+4],6,-145523070),f=u(f,o,s,l,e[t+11],10,-1120210379),l=u(l,f,o,s,e[t+2],15,718787259),s=u(s,l,f,o,e[t+9],21,-343485551),o=r(o,n),s=r(s,d),l=r(l,g),f=r(f,h)}return[o,s,l,f]}(function(e){if(0===e.length)return[];const t=8*e.length,r=new Uint32Array(n(t));for(let n=0;n<t;n+=8)r[n>>5]|=(255&e[n/8])<<n%32;return r}(e),8*e.length))}},140(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};t.default=n},808(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default="00000000-0000-0000-0000-000000000000"},792(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,o=(r=n(37))&&r.__esModule?r:{default:r};t.default=function(e){if(!(0,o.default)(e))throw TypeError("Invalid UUID");let t;const n=new Uint8Array(16);return n[0]=(t=parseInt(e.slice(0,8),16))>>>24,n[1]=t>>>16&255,n[2]=t>>>8&255,n[3]=255&t,n[4]=(t=parseInt(e.slice(9,13),16))>>>8,n[5]=255&t,n[6]=(t=parseInt(e.slice(14,18),16))>>>8,n[7]=255&t,n[8]=(t=parseInt(e.slice(19,23),16))>>>8,n[9]=255&t,n[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,n[11]=t/4294967296&255,n[12]=t>>>24&255,n[13]=t>>>16&255,n[14]=t>>>8&255,n[15]=255&t,n}},656(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i},858(e,t){"use strict";let n;Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){if(!n&&(n="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!n))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return n(r)};const r=new Uint8Array(16)},42(e,t){"use strict";function n(e,t,n,r){switch(e){case 0:return t&n^~t&r;case 1:case 3:return t^n^r;case 2:return t&n^t&r^n&r}}function r(e,t){return e<<t|e>>>32-t}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(e){const t=[1518500249,1859775393,2400959708,3395469782],o=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){const t=unescape(encodeURIComponent(e));e=[];for(let n=0;n<t.length;++n)e.push(t.charCodeAt(n))}else Array.isArray(e)||(e=Array.prototype.slice.call(e));e.push(128);const a=e.length/4+2,i=Math.ceil(a/16),c=new Array(i);for(let t=0;t<i;++t){const n=new Uint32Array(16);for(let r=0;r<16;++r)n[r]=e[64*t+4*r]<<24|e[64*t+4*r+1]<<16|e[64*t+4*r+2]<<8|e[64*t+4*r+3];c[t]=n}c[i-1][14]=8*(e.length-1)/Math.pow(2,32),c[i-1][14]=Math.floor(c[i-1][14]),c[i-1][15]=8*(e.length-1)&4294967295;for(let e=0;e<i;++e){const a=new Uint32Array(80);for(let t=0;t<16;++t)a[t]=c[e][t];for(let e=16;e<80;++e)a[e]=r(a[e-3]^a[e-8]^a[e-14]^a[e-16],1);let i=o[0],u=o[1],s=o[2],l=o[3],f=o[4];for(let e=0;e<80;++e){const o=Math.floor(e/20),c=r(i,5)+n(o,u,s,l)+f+t[o]+a[e]>>>0;f=l,l=s,s=r(u,30)>>>0,u=i,i=c}o[0]=o[0]+i>>>0,o[1]=o[1]+u>>>0,o[2]=o[2]+s>>>0,o[3]=o[3]+l>>>0,o[4]=o[4]+f>>>0}return[o[0]>>24&255,o[0]>>16&255,o[0]>>8&255,255&o[0],o[1]>>24&255,o[1]>>16&255,o[1]>>8&255,255&o[1],o[2]>>24&255,o[2]>>16&255,o[2]>>8&255,255&o[2],o[3]>>24&255,o[3]>>16&255,o[3]>>8&255,255&o[3],o[4]>>24&255,o[4]>>16&255,o[4]>>8&255,255&o[4]]}},910(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.unsafeStringify=i;var r,o=(r=n(37))&&r.__esModule?r:{default:r};const a=[];for(let e=0;e<256;++e)a.push((e+256).toString(16).slice(1));function i(e,t=0){return(a[e[t+0]]+a[e[t+1]]+a[e[t+2]]+a[e[t+3]]+"-"+a[e[t+4]]+a[e[t+5]]+"-"+a[e[t+6]]+a[e[t+7]]+"-"+a[e[t+8]]+a[e[t+9]]+"-"+a[e[t+10]]+a[e[t+11]]+a[e[t+12]]+a[e[t+13]]+a[e[t+14]]+a[e[t+15]]).toLowerCase()}t.default=function(e,t=0){const n=i(e,t);if(!(0,o.default)(n))throw TypeError("Stringified UUID is invalid");return n}},518(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,o=(r=n(858))&&r.__esModule?r:{default:r},a=n(910);let i,c,u=0,s=0;t.default=function(e,t,n){let r=t&&n||0;const l=t||new Array(16);let f=(e=e||{}).node||i,d=void 0!==e.clockseq?e.clockseq:c;if(null==f||null==d){const t=e.random||(e.rng||o.default)();null==f&&(f=i=[1|t[0],t[1],t[2],t[3],t[4],t[5]]),null==d&&(d=c=16383&(t[6]<<8|t[7]))}let g=void 0!==e.msecs?e.msecs:Date.now(),h=void 0!==e.nsecs?e.nsecs:s+1;const v=g-u+(h-s)/1e4;if(v<0&&void 0===e.clockseq&&(d=d+1&16383),(v<0||g>u)&&void 0===e.nsecs&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");u=g,s=h,c=d,g+=122192928e5;const y=(1e4*(268435455&g)+h)%4294967296;l[r++]=y>>>24&255,l[r++]=y>>>16&255,l[r++]=y>>>8&255,l[r++]=255&y;const p=g/4294967296*1e4&268435455;l[r++]=p>>>8&255,l[r++]=255&p,l[r++]=p>>>24&15|16,l[r++]=p>>>16&255,l[r++]=d>>>8|128,l[r++]=255&d;for(let e=0;e<6;++e)l[r+e]=f[e];return t||(0,a.unsafeStringify)(l)}},948(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=a(n(25)),o=a(n(311));function a(e){return e&&e.__esModule?e:{default:e}}var i=(0,r.default)("v3",48,o.default);t.default=i},25(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.URL=t.DNS=void 0,t.default=function(e,t,n){function r(e,r,i,c){var u;if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));const t=[];for(let n=0;n<e.length;++n)t.push(e.charCodeAt(n));return t}(e)),"string"==typeof r&&(r=(0,a.default)(r)),16!==(null===(u=r)||void 0===u?void 0:u.length))throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let s=new Uint8Array(16+e.length);if(s.set(r),s.set(e,r.length),s=n(s),s[6]=15&s[6]|t,s[8]=63&s[8]|128,i){c=c||0;for(let e=0;e<16;++e)i[c+e]=s[e];return i}return(0,o.unsafeStringify)(s)}try{r.name=e}catch(e){}return r.DNS=i,r.URL=c,r};var r,o=n(910),a=(r=n(792))&&r.__esModule?r:{default:r};const i="6ba7b810-9dad-11d1-80b4-00c04fd430c8";t.DNS=i;const c="6ba7b811-9dad-11d1-80b4-00c04fd430c8";t.URL=c},73(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=i(n(140)),o=i(n(858)),a=n(910);function i(e){return e&&e.__esModule?e:{default:e}}t.default=function(e,t,n){if(r.default.randomUUID&&!t&&!e)return r.default.randomUUID();const i=(e=e||{}).random||(e.rng||o.default)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,t){n=n||0;for(let e=0;e<16;++e)t[n+e]=i[e];return t}return(0,a.unsafeStringify)(i)}},186(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=a(n(25)),o=a(n(42));function a(e){return e&&e.__esModule?e:{default:e}}var i=(0,r.default)("v5",80,o.default);t.default=i},37(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,o=(r=n(656))&&r.__esModule?r:{default:r};t.default=function(e){return"string"==typeof e&&o.default.test(e)}},775(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,o=(r=n(37))&&r.__esModule?r:{default:r};t.default=function(e){if(!(0,o.default)(e))throw TypeError("Invalid UUID");return parseInt(e.slice(14,15),16)}},60(){}},t={};!function n(r){var o=t[r];if(void 0!==o)return o.exports;var a=t[r]={exports:{}};return e[r].call(a.exports,a,a.exports,n),a.exports}(765)})();
|
|
1
|
+
(()=>{var e={406(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.emptyCacheLruIndex=function(){return{entries:{}}},t.parseCacheLruIndex=function(e){if(!e)return{entries:{}};try{const t=JSON.parse(e);if(!t||"object"!=typeof t||"object"!=typeof t.entries||!t.entries)return{entries:{}};const n={};for(const[e,r]of Object.entries(t.entries)){if(!r||"object"!=typeof r)continue;const t=r.lastAccessed;"number"==typeof t&&Number.isFinite(t)&&(n[e]={lastAccessed:t})}return{entries:n}}catch{return{entries:{}}}},t.serializeCacheLruIndex=function(e){return JSON.stringify({entries:e.entries})},t.touchCacheLruKey=function(e,t,n=Date.now()){return{entries:{...e.entries,[t]:{lastAccessed:n}}}},t.removeCacheLruKeys=function(e,t){const n={...e.entries};for(const e of t)delete n[e];return{entries:n}},t.selectCacheLruKeysToEvict=function(e,t,n){if(!Number.isFinite(t)||t<=0)return[];const r=Math.floor(t);if(r<=0)return[];const o=Object.keys(e.entries),a=o.length-r;if(a<=0)return[];const i=function(e){const t=new Set;if(e?.protectKey&&t.add(e.protectKey),e?.protectKeys)for(const n of e.protectKeys)n&&t.add(n);return t}(n),s=o.slice().sort((t,n)=>e.entries[t].lastAccessed-e.entries[n].lastAccessed||t.localeCompare(n)),u=[];for(const e of s){if(u.length>=a)break;i.has(e)||u.push(e)}return u},t.isCacheLruEnabled=function(e){return"number"==typeof e&&Number.isFinite(e)&&e>0}},762(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isEntityGate=i,t.resolveEvaluatedDefinition=s,t.toBooleanDefinitions=function(e,t){const n={};for(const r of Object.keys(e))n[r]=s(e[r],t);return n},t.applyEntityGate=u,t.registerContext=function(e,t){d.set(e,t)},t.resolveEntityContext=g,t.mapEntityContext=y,t.clearRegisteredContexts=function(){d.clear()},t.normalizeEntityContext=function(e,t){return e?"object"==typeof e&&"kind"in e&&"key"in e&&"attributes"in e?e:t?y(t,e):null:null},t.evaluateResolvedKeys=h,t.evaluateStoredFeatureKeys=v,t.evaluateEvaluatedGate=function(e,t,n="all",r=!1,o){return v(e,t,n,r,t=>s(e[t],o))};const n=new Set(["eq","neq"]),r=new Set(["gt","gte","lt","lte"]),o=new Set(["in"]),a=new Set(["contains"]);function i(e){if("object"!=typeof e||null===e)return!1;const t=e;return!!Array.isArray(t.rules)&&(null==t.requirement||"all"===t.requirement||"any"===t.requirement)}function s(e,t,n=!1){return null==e?n:!0===e||!1!==e&&!!i(e)&&!!t&&u(e,t.attributes)}function u(e,t){if(0===e.rules.length)return!1;const i="any"===e.requirement?"any":"all",s=e.rules.map(e=>function(e,t){const i=function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return t;const n=t.toLowerCase();return Object.keys(e).find(e=>e.toLowerCase()===n)}(t,e.property);if(void 0===i)return!1;const s=t[i],u=e.op.toLowerCase(),d=e.type??"string";return n.has(u)?function(e,t,n){const r=(null==e?"":String(e)).toLowerCase()===t.toLowerCase();return n?r:!r}(s,e.value,"eq"===u):r.has(u)?function(e,t,n,r){if("datetime"===n){const n=l(e),o=l(t);return null!=n&&null!=o&&c(n,o,r)}if("number"!==n)return!1;const o=f(e),a=f(t);return null!=o&&null!=a&&c(o,a,r)}(s,e.value,d,u):o.has(u)?function(e,t){const n=null==e?"":String(e);return t.split(",").map(e=>e.trim()).filter(Boolean).some(e=>e.toLowerCase()===n.toLowerCase())}(s,e.value):!!a.has(u)&&function(e,t,n){if("string[]"===n&&Array.isArray(e))return e.some(e=>String(e).toLowerCase()===t.toLowerCase());return(null==e?"":String(e)).toLowerCase().includes(t.toLowerCase())}(s,e.value,d)}(e,t));return"all"===i?s.every(Boolean):s.some(Boolean)}function c(e,t,n){switch(n){case"gt":return e>t;case"gte":return e>=t;case"lt":return e<t;case"lte":return e<=t;default:return!1}}function l(e){if(e instanceof Date)return e.getTime();if("number"==typeof e)return e;const t=null==e?"":String(e);if(!t)return null;const n=Date.parse(t);return Number.isNaN(n)?null:n}function f(e){if("number"==typeof e&&Number.isFinite(e))return e;const t=null==e?"":String(e);if(!t)return null;const n=Number(t);return Number.isNaN(n)?null:n}const d=new Map;function g(e,t){const n=d.get(e);return n?n(t):null}function y(e,t,n){return n?n(t):g(e,t)}function h(e,t,n,r){if(0===e.length)return!n;const o="any"===t?e.some(r):e.every(r);return n?!o:o}function v(e,t,n,r,o){return t.length>0&&(!e||0===Object.keys(e).length)?r:h(t,n,r,o)}},487(e,t){"use strict";function n(e){if(!e)return;const n=Object.entries(e).filter(([e,t])=>e&&null!=t&&String(t).length>0).sort(([e],[t])=>e.localeCompare(t));return 0!==n.length?Object.fromEntries(n.slice(0,t.MAX_EVALUATION_CLAIMS)):void 0}function r(e,t,r="evaluated"){if(!t)return;if(t.identity&&("variants"===r?e.searchParams.set("userId",t.identity):e.searchParams.set("u",t.identity)),t.groups)for(const n of t.groups){const t=n.trim();t&&e.searchParams.append("g",t)}const o=n(t.claims);if(o)for(const[t,n]of Object.entries(o))e.searchParams.set(`claim.${t}`,String(n))}Object.defineProperty(t,"__esModule",{value:!0}),t.MAX_EVALUATION_CLAIMS=void 0,t.normalizeEvaluationClaims=n,t.buildEvaluatedSignedUrl=function(e,t,n,o,a){const i=e.replace(/\/$/,""),s=new URL(`${i}/${a?"evaluated-variants-signed":"evaluated-signed"}/${t}/${n}`);return r(s,o,a?"variants":"evaluated"),s.toString()},t.appendEvaluationContext=r,t.evaluationContextCacheKey=function(e){if(!e)return"";const t=[];if(e.identity&&t.push(`u:${e.identity}`),e.groups?.length&&t.push(`g:${[...e.groups].sort().join(",")}`),e.claims&&Object.keys(e.claims).length>0){const r=n(e.claims);if(r){const e=Object.entries(r).sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>`${e}=${t}`);t.push(`c:${e.join("&")}`)}}return t.join("|")},t.MAX_EVALUATION_CLAIMS=20},207(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.toBooleanDefinitions=t.resolveEvaluatedDefinition=t.resolveEntityContext=t.registerContext=t.normalizeEntityContext=t.mapEntityContext=t.isEntityGate=t.evaluateStoredFeatureKeys=t.evaluateResolvedKeys=t.evaluateEvaluatedGate=t.clearRegisteredContexts=t.applyEntityGate=t.serializeJsonForInlineScript=t.touchCacheLruKey=t.serializeCacheLruIndex=t.selectCacheLruKeysToEvict=t.removeCacheLruKeys=t.parseCacheLruIndex=t.isCacheLruEnabled=t.emptyCacheLruIndex=t.normalizeEvaluationClaims=t.evaluationContextCacheKey=t.buildEvaluatedSignedUrl=t.appendEvaluationContext=t.MAX_EVALUATION_CLAIMS=void 0;var r=n(487);Object.defineProperty(t,"MAX_EVALUATION_CLAIMS",{enumerable:!0,get:function(){return r.MAX_EVALUATION_CLAIMS}}),Object.defineProperty(t,"appendEvaluationContext",{enumerable:!0,get:function(){return r.appendEvaluationContext}}),Object.defineProperty(t,"buildEvaluatedSignedUrl",{enumerable:!0,get:function(){return r.buildEvaluatedSignedUrl}}),Object.defineProperty(t,"evaluationContextCacheKey",{enumerable:!0,get:function(){return r.evaluationContextCacheKey}}),Object.defineProperty(t,"normalizeEvaluationClaims",{enumerable:!0,get:function(){return r.normalizeEvaluationClaims}});var o=n(406);Object.defineProperty(t,"emptyCacheLruIndex",{enumerable:!0,get:function(){return o.emptyCacheLruIndex}}),Object.defineProperty(t,"isCacheLruEnabled",{enumerable:!0,get:function(){return o.isCacheLruEnabled}}),Object.defineProperty(t,"parseCacheLruIndex",{enumerable:!0,get:function(){return o.parseCacheLruIndex}}),Object.defineProperty(t,"removeCacheLruKeys",{enumerable:!0,get:function(){return o.removeCacheLruKeys}}),Object.defineProperty(t,"selectCacheLruKeysToEvict",{enumerable:!0,get:function(){return o.selectCacheLruKeysToEvict}}),Object.defineProperty(t,"serializeCacheLruIndex",{enumerable:!0,get:function(){return o.serializeCacheLruIndex}}),Object.defineProperty(t,"touchCacheLruKey",{enumerable:!0,get:function(){return o.touchCacheLruKey}});var a=n(441);Object.defineProperty(t,"serializeJsonForInlineScript",{enumerable:!0,get:function(){return a.serializeJsonForInlineScript}});var i=n(762);Object.defineProperty(t,"applyEntityGate",{enumerable:!0,get:function(){return i.applyEntityGate}}),Object.defineProperty(t,"clearRegisteredContexts",{enumerable:!0,get:function(){return i.clearRegisteredContexts}}),Object.defineProperty(t,"evaluateEvaluatedGate",{enumerable:!0,get:function(){return i.evaluateEvaluatedGate}}),Object.defineProperty(t,"evaluateResolvedKeys",{enumerable:!0,get:function(){return i.evaluateResolvedKeys}}),Object.defineProperty(t,"evaluateStoredFeatureKeys",{enumerable:!0,get:function(){return i.evaluateStoredFeatureKeys}}),Object.defineProperty(t,"isEntityGate",{enumerable:!0,get:function(){return i.isEntityGate}}),Object.defineProperty(t,"mapEntityContext",{enumerable:!0,get:function(){return i.mapEntityContext}}),Object.defineProperty(t,"normalizeEntityContext",{enumerable:!0,get:function(){return i.normalizeEntityContext}}),Object.defineProperty(t,"registerContext",{enumerable:!0,get:function(){return i.registerContext}}),Object.defineProperty(t,"resolveEntityContext",{enumerable:!0,get:function(){return i.resolveEntityContext}}),Object.defineProperty(t,"resolveEvaluatedDefinition",{enumerable:!0,get:function(){return i.resolveEvaluatedDefinition}}),Object.defineProperty(t,"toBooleanDefinitions",{enumerable:!0,get:function(){return i.toBooleanDefinitions}})},441(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.serializeJsonForInlineScript=function(e){return JSON.stringify(e).replace(/<\/script/gi,"<\\/script")}},484(e,t){"use strict";function n(e){const t=new Map;for(const n of e)for(const e of n.flagKeys){const r=t.get(e);if(void 0!==r&&r!==n.id)throw new Error(`Flag key "${e}" is registered on multiple local gates ("${r}" and "${n.id}")`);t.set(e,n.id)}return t}function r(e,t,n){const r=n.get(e);if(void 0===r)return!0;const o=function(e,t){return e.find(e=>e.id===t)}(t,r);return o?.isEnabled()??!0}function o(e,t,n,o){return!!e&&r(t,n,o)}Object.defineProperty(t,"__esModule",{value:!0}),t.buildFlagGateIndex=n,t.isLocalPrerequisiteMet=r,t.applyLocalGate=o,t.applyLocalGatesToMap=function(e,t,r){const a=r??n(t),i={};for(const[n,r]of Object.entries(e))i[n]=o(r,n,t,a);return i}},300(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isEvaluatedDefinitions=function(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)},t.isEntityGate=function(e){if("object"!=typeof e||null===e)return!1;const t=e;return!!Array.isArray(t.rules)&&(null==t.requirement||"all"===t.requirement||"any"===t.requirement)}},65(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assertEnvelopeFreshness=function(e,t){const n=t?.maxSignatureAgeSeconds;if(null==n||n<=0)return;if(!Number.isFinite(e))throw new Error("invalid signature timestamp");const r=t?.nowSeconds??Math.floor(Date.now()/1e3);if(e>r+(t?.maxClockSkewSeconds??60))throw new Error("signature timestamp is in the future");if(r-e>n)throw new Error("signature timestamp exceeded maxSignatureAgeSeconds")}},558(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isEvaluatedDefinitions=t.isEntityGate=t.resolveEvaluatedFetchErrorState=t.asVariantDefsRecord=t.unwrapDefsPayload=t.parseEvaluatedResponseBody=t.readResponseBody=t.signedDefsClientOptions=t.fetchEvaluatedSignedDefinitions=t.readAndParseEvaluatedResponseCached=t.readAndParseEvaluatedResponse=t.InMemoryJwksCache=t.verifySignedDefinitions=t.computeKid=t.derSignatureToP1363=t.base64ToBytes=t.parseDefinitionsFromRaw=t.parseSignedEnvelope=t.extractRawJsonProperty=t.assertEnvelopeFreshness=void 0;var r=n(65);Object.defineProperty(t,"assertEnvelopeFreshness",{enumerable:!0,get:function(){return r.assertEnvelopeFreshness}});var o=n(623);Object.defineProperty(t,"extractRawJsonProperty",{enumerable:!0,get:function(){return o.extractRawJsonProperty}}),Object.defineProperty(t,"parseSignedEnvelope",{enumerable:!0,get:function(){return o.parseSignedEnvelope}}),Object.defineProperty(t,"parseDefinitionsFromRaw",{enumerable:!0,get:function(){return o.parseDefinitionsFromRaw}}),Object.defineProperty(t,"base64ToBytes",{enumerable:!0,get:function(){return o.base64ToBytes}}),Object.defineProperty(t,"derSignatureToP1363",{enumerable:!0,get:function(){return o.derSignatureToP1363}}),Object.defineProperty(t,"computeKid",{enumerable:!0,get:function(){return o.computeKid}}),Object.defineProperty(t,"verifySignedDefinitions",{enumerable:!0,get:function(){return o.verifySignedDefinitions}});var a=n(6);Object.defineProperty(t,"InMemoryJwksCache",{enumerable:!0,get:function(){return a.InMemoryJwksCache}}),Object.defineProperty(t,"readAndParseEvaluatedResponse",{enumerable:!0,get:function(){return a.readAndParseEvaluatedResponse}}),Object.defineProperty(t,"readAndParseEvaluatedResponseCached",{enumerable:!0,get:function(){return a.readAndParseEvaluatedResponseCached}}),Object.defineProperty(t,"fetchEvaluatedSignedDefinitions",{enumerable:!0,get:function(){return a.fetchEvaluatedSignedDefinitions}}),Object.defineProperty(t,"signedDefsClientOptions",{enumerable:!0,get:function(){return a.signedDefsClientOptions}}),Object.defineProperty(t,"readResponseBody",{enumerable:!0,get:function(){return a.readResponseBody}}),Object.defineProperty(t,"parseEvaluatedResponseBody",{enumerable:!0,get:function(){return a.parseEvaluatedResponseBody}}),Object.defineProperty(t,"unwrapDefsPayload",{enumerable:!0,get:function(){return a.unwrapDefsPayload}}),Object.defineProperty(t,"asVariantDefsRecord",{enumerable:!0,get:function(){return a.asVariantDefsRecord}}),Object.defineProperty(t,"resolveEvaluatedFetchErrorState",{enumerable:!0,get:function(){return a.resolveEvaluatedFetchErrorState}});var i=n(300);Object.defineProperty(t,"isEntityGate",{enumerable:!0,get:function(){return i.isEntityGate}}),Object.defineProperty(t,"isEvaluatedDefinitions",{enumerable:!0,get:function(){return i.isEvaluatedDefinitions}})},623(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assertEnvelopeFreshness=void 0,t.extractRawJsonProperty=a,t.parseSignedEnvelope=function(e){const t=JSON.parse(e);if(null==t||"object"!=typeof t||"string"!=typeof t.signature||0===t.signature.length||"string"!=typeof t.kid||0===t.kid.length||"number"!=typeof t.timestamp)throw new Error("Invalid signed definitions envelope");const n=a(e,"defs")??a(e,"data");if(!n)throw new Error("Signed envelope missing defs");return{envelope:t,defsRaw:n}},t.parseDefinitionsFromRaw=function(e){return JSON.parse(e)},t.base64ToBytes=u,t.derSignatureToP1363=c,t.computeKid=d,t.verifySignedDefinitions=async function(e,t,o,a,i){if((0,r.assertEnvelopeFreshness)(t.timestamp,i),a?.length&&!a.includes(t.kid))throw new Error(`kid not allowed: ${t.kid}`);const s=o.keys.find(e=>e.kid===t.kid);if(!s)throw new Error(`no matching jwk for kid "${t.kid}"`);if("ES256"!==s.alg)throw new Error(`unsupported alg: ${s.alg??""}`);if("P-256"!==s.crv)throw new Error(`unsupported crv: ${s.crv??""}`);if(!s.x||!s.y)throw new Error("missing x or y coordinate");const g=await d(s.x,s.y);if(s.kid!==g)throw new Error(`invalid kid: expected ${g}, got ${s.kid}`);const y=(new TextEncoder).encode(`${e}|${t.timestamp}`),h=await f(y),v=await f(h),p=u(t.signature);if(l()){const e=n(868),t=e.createPublicKey({key:{kty:s.kty??"EC",crv:s.crv??"P-256",x:s.x,y:s.y},format:"jwk"}),r=64===p.length?"ieee-p1363":"der";if(!e.verify(null,v,{key:t,dsaEncoding:r},p))throw new Error("invalid signature");return}if("undefined"==typeof crypto||!crypto.subtle)throw new Error("WebCrypto is required to verify signed definitions");const b=await crypto.subtle.importKey("jwk",{kty:s.kty??"EC",crv:s.crv??"P-256",x:s.x,y:s.y,ext:!0},{name:"ECDSA",namedCurve:"P-256"},!1,["verify"]),_=function(e){return 64===e.length?e:c(e)}(p);if(!await crypto.subtle.verify({name:"ECDSA",hash:"SHA-256"},b,_,h))throw new Error("invalid signature")};const r=n(65);var o=n(65);function a(e,t){let n=0,r=0,o=!1,a=!1;for(;n<e.length;){const u=e[n];if(o)a?a=!1:"\\"===u?a=!0:'"'===u&&(o=!1),n+=1;else if('"'!==u)"{"===u||"["===u?r+=1:"}"!==u&&"]"!==u||(r-=1),n+=1;else{if(1===r){const r=i(e,n);if(null==r)return null;const o=e.slice(n+1,r);let a=r+1;for(;a<e.length&&/\s/.test(e[a]);)a+=1;if(o===t&&a<e.length&&":"===e[a]){for(a+=1;a<e.length&&/\s/.test(e[a]);)a+=1;return s(e,a)}n=r+1;continue}o=!0,n+=1}}return null}function i(e,t){let n=!1;for(let r=t+1;r<e.length;r++){const t=e[r];if(n)n=!1;else if("\\"!==t){if('"'===t)return r}else n=!0}return null}function s(e,t){if(t>=e.length)return null;const n=e[t];if("{"===n||"["===n){let n=0,r=!1,o=!1;for(let a=t;a<e.length;a++){const i=e[a];if(r)o?o=!1:"\\"===i?o=!0:'"'===i&&(r=!1);else if('"'===i)r=!0;else if("{"===i||"["===i)n+=1;else if(("}"===i||"]"===i)&&(n-=1,0===n))return e.slice(t,a+1)}return null}if('"'===n){const n=i(e,t);return null==n?null:e.slice(t,n+1)}let r=t;for(;r<e.length&&/[^\s,}\]]/.test(e[r]);)r+=1;return e.slice(t,r)}function u(e){const t=function(e){const t=e.length%4;return 0===t?e:e+"=".repeat(4-t)}(e.replace(/-/g,"+").replace(/_/g,"/")),n=globalThis.Buffer;if(n){const e=n.from(t,"base64");return Uint8Array.from(e)}if("function"!=typeof atob)throw new Error("base64 decoding is not available in this environment");const r=atob(t),o=new Uint8Array(r.length);for(let e=0;e<r.length;e++)o[e]=r.charCodeAt(e);return o}function c(e){if(e.length<8||48!==e[0])throw new Error("invalid DER signature");let t=1;const n=()=>{const n=e[t++];if(n<128)return n;const r=127&n;if(0===r||r>2||t+r>e.length)throw new Error("invalid DER length");let o=0;for(let n=0;n<r;n++)o=o<<8|e[t++];return o};n();const r=()=>{if(2!==e[t++])throw new Error("invalid DER integer");const r=n();if(t+r>e.length)throw new Error("invalid DER integer length");let o=t,a=t+r;for(;a-o>32&&0===e[o];)o+=1;const i=new Uint8Array(32),s=e.subarray(o,a);if(s.length>32)throw new Error("DER integer too large for P-256");return i.set(s,32-s.length),t=a,i},o=r(),a=r(),i=new Uint8Array(64);return i.set(o,0),i.set(a,32),i}function l(){return"undefined"!=typeof process&&"string"==typeof process.versions?.node}async function f(e){if(l()){const t=n(868);return Uint8Array.from(t.createHash("sha256").update(e).digest())}if("undefined"==typeof crypto||!crypto.subtle)throw new Error("WebCrypto is required to hash signed definitions");const t=await crypto.subtle.digest("SHA-256",e.slice());return new Uint8Array(t)}async function d(e,t){const r=u(e),o=u(t),a=new Uint8Array(r.length+o.length);return a.set(r,0),a.set(o,r.length),`${await async function(e){if(l())return n(868).createHash("sha1").update(e).digest("hex").toUpperCase();if("undefined"!=typeof crypto&&crypto.subtle){const t=e.slice(),n=await crypto.subtle.digest("SHA-1",t);return Array.from(new Uint8Array(n)).map(e=>e.toString(16).padStart(2,"0").toUpperCase()).join("")}throw new Error("WebCrypto is required to validate JWKs")}(a)}ES256`}Object.defineProperty(t,"assertEnvelopeFreshness",{enumerable:!0,get:function(){return o.assertEnvelopeFreshness}})},6(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InMemoryJwksCache=void 0,t.readResponseBody=i,t.parseEvaluatedResponseBody=s,t.readAndParseEvaluatedResponse=u,t.readAndParseEvaluatedResponseCached=c,t.fetchEvaluatedSignedDefinitions=async function(e,t,n,r={}){const o=n.fetchImpl??fetch,a=function(e){if(!e)return{};if(Array.isArray(e))return Object.fromEntries(e);if("function"==typeof e.forEach){const t={};return e.forEach((e,n)=>{t[n]=e}),t}const t={};for(const[n,r]of Object.entries(e))"string"==typeof r&&(t[n]=r);return t}(r.headers);r.revision&&(a["If-None-Match"]=r.revision);const i=await o(e,{headers:a}),s=function(e){const t=e.headers;return t&&"function"==typeof t.get?t.get(l)??t.get("ETag"):null}(i);if(304===i.status)return{notModified:!0,revision:s};if(!i.ok)throw new Error(`Failed to fetch feature flags: ${i.status} ${i.statusText}`);return{notModified:!1,defs:await c(i,t,n,r.headers),revision:s}},t.signedDefsClientOptions=f,t.unwrapDefsPayload=d,t.asVariantDefsRecord=function(e){return e&&"object"==typeof e&&!Array.isArray(e)?e:{}},t.resolveEvaluatedFetchErrorState=function(e){if(e.enableVariants){const t=e.readVariants()??null;return t?{variants:t,features:e.variantsToFlags(t)}:e.featuresAlreadyLoaded?null:{variants:null,features:e.readFlags()??e.defaults}}return e.featuresAlreadyLoaded?null:{variants:null,features:e.readFlags()??e.defaults}};const r=n(623);function o(e){const t=e.baseURI??e.baseUri??e.baseUrl;if(!t)throw new Error("baseURI (or baseUri) is required when verifySignatures is enabled");return t}async function a(e,t,n=fetch){const r=e.replace(/\/$/,""),o=await n(`${r}/.well-known/jwks`,{method:"GET",headers:t});if(!o.ok)throw new Error(`JWKS fetch failed: HTTP ${o.status}`);return await o.json()}async function i(e){return"function"==typeof e.text?e.text():JSON.stringify(await e.json())}async function s(e,t){if(!t.verifySignatures)return JSON.parse(e);const{envelope:n,defsRaw:i}=(0,r.parseSignedEnvelope)(e),s=t.getJwks?await t.getJwks():await a(o(t),t.headers,t.fetchImpl??fetch);return await(0,r.verifySignedDefinitions)(i,{signature:n.signature,timestamp:n.timestamp,kid:n.kid},s,t.allowedKeyIds,null!=t.maxSignatureAgeSeconds?{maxSignatureAgeSeconds:t.maxSignatureAgeSeconds}:null),(0,r.parseDefinitionsFromRaw)(i)}async function u(e,t){const n=await s(await i(e),t);return t.verifySignatures?n:d(n)}async function c(e,t,n,r){return u(e,f({verifySignatures:n.verifySignatures,baseURI:n.baseURI,baseUri:n.baseUri??n.baseUrl,allowedKeyIds:n.allowedKeyIds,maxSignatureAgeSeconds:n.maxSignatureAgeSeconds,headers:r,fetchImpl:n.fetchImpl},t))}t.InMemoryJwksCache=class{constructor(){this.jwks=null}clear(){this.jwks=null}async get(e,t=!1){return!t&&this.jwks||(this.jwks=await a(o(e),e.headers,e.fetchImpl??fetch)),this.jwks}};const l="X-Definitions-Revision";function f(e,t){const n=e.baseURI??e.baseUri??e.baseUrl;return{...e,baseURI:n,maxSignatureAgeSeconds:e.maxSignatureAgeSeconds??void 0,getJwks:()=>t.get({baseURI:n,headers:e.headers,fetchImpl:e.fetchImpl})}}function d(e){if("object"==typeof e&&null!==e&&"defs"in e){const t=e.defs;if(void 0!==t)return t}return e}},257(e,t){"use strict";var n=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(o,a){function i(e){try{u(r.next(e))}catch(e){a(e)}}function s(e){try{u(r.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(i,s)}u((r=r.apply(e,t||[])).next())})},r=this&&this.__generator||function(e,t){var n,r,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,s[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,r=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!((o=(o=i.trys).length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){i.label=s[1];break}if(6===s[0]&&i.label<o[1]){i.label=o[1],o=s;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(s);break}o[2]&&i.ops.pop(),i.trys.pop();continue}s=t.call(e,i)}catch(e){s=[6,e],r=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,u])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.HookExecutor=void 0;var o=function(){function e(){this.hooks=[]}return e.prototype.addHook=function(e){var t=e.getMetadata();this.hooks.find(function(e){return e.getMetadata().name===t.name})?console.warn('[Toggly] Hook with name "'.concat(t.name,'" already registered. Skipping.')):this.hooks.push(e)},e.prototype.removeHook=function(e){var t=this.hooks.findIndex(function(t){return t.getMetadata().name===e});return t>-1&&(this.hooks.splice(t,1),!0)},e.prototype.executeBeforeEvaluation=function(e,t){return n(this,void 0,void 0,function(){var n,o,a,i,s,u;return r(this,function(r){switch(r.label){case 0:n=new Map,o=0,a=this.hooks,r.label=1;case 1:if(!(o<a.length))return[3,6];if(!(i=a[o]).beforeEvaluation)return[3,5];r.label=2;case 2:return r.trys.push([2,4,,5]),[4,i.beforeEvaluation(e,t)];case 3:return s=r.sent(),n.set(i.getMetadata().name,s),[3,5];case 4:return u=r.sent(),console.error('[Toggly] Error in hook "'.concat(i.getMetadata().name,'.beforeEvaluation":'),u),[3,5];case 5:return o++,[3,1];case 6:return[2,n]}})})},e.prototype.executeAfterEvaluation=function(e,t,o){return n(this,void 0,void 0,function(){var n,a,i,s;return r(this,function(r){switch(r.label){case 0:n=this.hooks.length-1,r.label=1;case 1:if(!(n>=0))return[3,6];if(!(a=this.hooks[n]).afterEvaluation)return[3,5];r.label=2;case 2:return r.trys.push([2,4,,5]),i=t.get(a.getMetadata().name),[4,a.afterEvaluation(e,i,o)];case 3:return r.sent(),[3,5];case 4:return s=r.sent(),console.error('[Toggly] Error in hook "'.concat(a.getMetadata().name,'.afterEvaluation":'),s),[3,5];case 5:return n--,[3,1];case 6:return[2]}})})},e.prototype.executeBeforeIdentify=function(e){return n(this,void 0,void 0,function(){var t,n,o,a,i,s;return r(this,function(r){switch(r.label){case 0:t=new Map,n=0,o=this.hooks,r.label=1;case 1:if(!(n<o.length))return[3,6];if(!(a=o[n]).beforeIdentify)return[3,5];r.label=2;case 2:return r.trys.push([2,4,,5]),[4,a.beforeIdentify(e)];case 3:return i=r.sent(),t.set(a.getMetadata().name,i),[3,5];case 4:return s=r.sent(),console.error('[Toggly] Error in hook "'.concat(a.getMetadata().name,'.beforeIdentify":'),s),[3,5];case 5:return n++,[3,1];case 6:return[2,t]}})})},e.prototype.executeAfterIdentify=function(e,t){return n(this,void 0,void 0,function(){var n,o,a,i;return r(this,function(r){switch(r.label){case 0:n=this.hooks.length-1,r.label=1;case 1:if(!(n>=0))return[3,6];if(!(o=this.hooks[n]).afterIdentify)return[3,5];r.label=2;case 2:return r.trys.push([2,4,,5]),a=t.get(o.getMetadata().name),[4,o.afterIdentify(e,a)];case 3:return r.sent(),[3,5];case 4:return i=r.sent(),console.error('[Toggly] Error in hook "'.concat(o.getMetadata().name,'.afterIdentify":'),i),[3,5];case 5:return n--,[3,1];case 6:return[2]}})})},e.prototype.executeAfterRefresh=function(e){return n(this,void 0,void 0,function(){var t,n,o,a;return r(this,function(r){switch(r.label){case 0:t=0,n=this.hooks,r.label=1;case 1:if(!(t<n.length))return[3,6];if(!(o=n[t]).afterRefresh)return[3,5];r.label=2;case 2:return r.trys.push([2,4,,5]),[4,o.afterRefresh(e)];case 3:return r.sent(),[3,5];case 4:return a=r.sent(),console.error('[Toggly] Error in hook "'.concat(o.getMetadata().name,'.afterRefresh":'),a),[3,5];case 5:return t++,[3,1];case 6:return[2]}})})},e}();t.HookExecutor=o},424(e,t){"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.FeatureRequirement=void 0,(n=t.FeatureRequirement||(t.FeatureRequirement={}))[n.all=0]="all",n[n.any=1]="any"},264(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,o)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),o(n(565),t),o(n(93),t),o(n(424),t),o(n(726),t),o(n(963),t),o(n(291),t)},291(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},726(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StorageKeys=void 0;var n="toggly:";t.StorageKeys={identityKey:"".concat(n,"identity"),groupsKey:"".concat(n,"groups"),claimsKey:"".concat(n,"claims"),cacheLruKey:"".concat(n,"cache-lru"),flagsCacheKey:function(e,t,r){void 0===r&&(r="");var o=r?":".concat(r):"";return"".concat(n,"flags:").concat(e,":").concat(t).concat(o)},variantsCacheKey:function(e,t,r){void 0===r&&(r="");var o=r?":".concat(r):"";return"".concat(n,"variants:").concat(e,":").concat(t).concat(o)},definitionsRevisionCacheKey:function(e,t){return"".concat(n,"revision:").concat(e,":").concat(t)}}},565(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},93(e,t){"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.TogglyInitResponse=t.TogglyLoadFeatureFlagsResponse=void 0,(n=t.TogglyLoadFeatureFlagsResponse||(t.TogglyLoadFeatureFlagsResponse={}))[n.fetched=0]="fetched",n[n.cached=1]="cached",n[n.defaults=2]="defaults",n[n.error=3]="error";t.TogglyInitResponse=function(e){this.status=e}},963(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},336(e,t){"use strict";var n=this&&this.__assign||function(){return n=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},n.apply(this,arguments)};function r(){return"toggly-".concat(t.SDK_ID,"/").concat(t.SDK_VERSION)}function o(){var e;return(e={})[t.SDK_HEADER_ID]=t.SDK_ID,e[t.SDK_HEADER_VERSION]=t.SDK_VERSION,e}function a(){var e,t=globalThis;return void 0!==t.window&&void 0!==t.document||"ReactNative"===(null===(e=t.navigator)||void 0===e?void 0:e.product)}Object.defineProperty(t,"__esModule",{value:!0}),t.buildDefinitionFetchHeaders=t.usesSdkCustomHeaders=t.appendSdkQueryParams=t.sdkCustomHeaders=t.sdkUserAgent=t.SDK_HEADER_VERSION=t.SDK_HEADER_ID=t.SDK_VERSION=t.SDK_ID=void 0,t.SDK_ID="javascript",t.SDK_VERSION="1.3.1",t.SDK_HEADER_ID="X-Toggly-Sdk",t.SDK_HEADER_VERSION="X-Toggly-Sdk-Version",t.sdkUserAgent=r,t.sdkCustomHeaders=o,t.appendSdkQueryParams=function(e){e.set("sdk",t.SDK_ID),e.set("sdkVersion",t.SDK_VERSION)},t.usesSdkCustomHeaders=a,t.buildDefinitionFetchHeaders=function(e){void 0===e&&(e={});var t=n({},e);return a()?Object.assign(t,o()):t["User-Agent"]=r(),t}},10(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.verifySignedDefinitions=t.computeKid=t.derSignatureToP1363=t.base64ToBytes=t.parseDefinitionsFromRaw=t.parseSignedEnvelope=t.extractRawJsonProperty=t.assertEnvelopeFreshness=void 0;var r=n(558);Object.defineProperty(t,"assertEnvelopeFreshness",{enumerable:!0,get:function(){return r.assertEnvelopeFreshness}}),Object.defineProperty(t,"extractRawJsonProperty",{enumerable:!0,get:function(){return r.extractRawJsonProperty}}),Object.defineProperty(t,"parseSignedEnvelope",{enumerable:!0,get:function(){return r.parseSignedEnvelope}}),Object.defineProperty(t,"parseDefinitionsFromRaw",{enumerable:!0,get:function(){return r.parseDefinitionsFromRaw}}),Object.defineProperty(t,"base64ToBytes",{enumerable:!0,get:function(){return r.base64ToBytes}}),Object.defineProperty(t,"derSignatureToP1363",{enumerable:!0,get:function(){return r.derSignatureToP1363}}),Object.defineProperty(t,"computeKid",{enumerable:!0,get:function(){return r.computeKid}}),Object.defineProperty(t,"verifySignedDefinitions",{enumerable:!0,get:function(){return r.verifySignedDefinitions}})},765(e,t,n){"use strict";var r=this&&this.__assign||function(){return r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},r.apply(this,arguments)},o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(o,a){function i(e){try{u(r.next(e))}catch(e){a(e)}}function s(e){try{u(r.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(i,s)}u((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,s[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,r=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!((o=(o=i.trys).length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){i.label=s[1];break}if(6===s[0]&&i.label<o[1]){i.label=o[1],o=s;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(s);break}o[2]&&i.ops.pop(),i.trys.pop();continue}s=t.call(e,i)}catch(e){s=[6,e],r=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,u])}}},i=this&&this.__spreadArray||function(e,t,n){if(n||2===arguments.length)for(var r,o=0,a=t.length;o<a;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))};Object.defineProperty(t,"__esModule",{value:!0}),t.Toggly=void 0;var s=n(831),u=n(264),c=n(257),l=n(207),f=n(484),d=n(23),g=n(336),y=n(10),h="undefined"!=typeof window&&void 0!==window.localStorage,v=function(){function e(){}return Object.defineProperty(e,"_revisionCacheKey",{get:function(){var t,n,r,o;return u.StorageKeys.definitionsRevisionCacheKey(null!==(n=null===(t=e._config)||void 0===t?void 0:t.appKey)&&void 0!==n?n:"",null!==(o=null===(r=e._config)||void 0===r?void 0:r.environment)&&void 0!==o?o:"Production")},enumerable:!1,configurable:!0}),Object.defineProperty(e,"definitionsRevision",{get:function(){if(e._cachedDefinitionsRevision)return e._cachedDefinitionsRevision;if(!e._persistCache)return null;try{return localStorage.getItem(e._revisionCacheKey)}catch(e){return null}},enumerable:!1,configurable:!0}),e.cacheDefinitionsRevision=function(t){if(t&&(e._cachedDefinitionsRevision=t,e._persistCache))try{localStorage.setItem(e._revisionCacheKey,t)}catch(t){e._reportError("Error writing definitions revision cache",t)}},e.scheduleDebouncedRefresh=function(t){void 0===t&&(t=!1),e._refreshDebounceTimer&&clearTimeout(e._refreshDebounceTimer),e._refreshDebounceTimer=setTimeout(function(){e._refreshDebounceTimer=null,t&&e._config.verifySignatures&&(e._cachedDefinitionsRevision=null,e._inMemoryJwks=null),e.refresh()},d.REFRESH_DEBOUNCE_MS)},e.handleWsSyncMessage=function(t){var n=e.definitionsRevision;(0,d.shouldFetchOnSync)(t,n)&&e.scheduleDebouncedRefresh(),t.etag&&e.cacheDefinitionsRevision(t.etag)},e.handleWsUpdateMessage=function(t){if((0,d.shouldFetchOnSigningKeyUpdated)(t))e.scheduleDebouncedRefresh(!0);else{var n=e.definitionsRevision;(0,d.shouldFetchOnFlagsUpdated)(t,n)&&e.scheduleDebouncedRefresh(),t.etag&&e.cacheDefinitionsRevision(t.etag)}},e.buildFetchHeaders=function(){return(0,g.buildDefinitionFetchHeaders)(e.definitionsRevision?{"If-None-Match":e.definitionsRevision}:{})},e.applyFetchRevision=function(t){var n=(0,d.extractDefinitionsRevision)(t);n&&e.cacheDefinitionsRevision(n.replace(/^"+|"+$/g,""))},Object.defineProperty(e,"_persistCache",{get:function(){var t;return!1!==(null===(t=e._config)||void 0===t?void 0:t.persistCache)&&h},enumerable:!1,configurable:!0}),Object.defineProperty(e,"_contextCacheKey",{get:function(){return(0,l.evaluationContextCacheKey)(e.evaluationContext)},enumerable:!1,configurable:!0}),Object.defineProperty(e,"_flagsCacheKey",{get:function(){var t,n,r,o;return u.StorageKeys.flagsCacheKey(null!==(n=null===(t=e._config)||void 0===t?void 0:t.appKey)&&void 0!==n?n:"",null!==(o=null===(r=e._config)||void 0===r?void 0:r.environment)&&void 0!==o?o:"Production",e._contextCacheKey)},enumerable:!1,configurable:!0}),Object.defineProperty(e,"lastError",{get:function(){return e._lastError},enumerable:!1,configurable:!0}),e._reportError=function(t,n){var r,o,a;e._lastError=t,null===(o=null===(r=e._config)||void 0===r?void 0:r.onError)||void 0===o||o.call(r,t,n),(null===(a=e._config)||void 0===a?void 0:a.isDebug)&&console.warn("[Toggly] ".concat(t),n)},e._getFallbackFlags=function(){var t,n,r;return e._hasLoadedFlags&&e._inMemoryFlags?e._inMemoryFlags:null!==(r=null!==(n=null!==(t=e._cachedFeatureFlags)&&void 0!==t?t:e._inMemoryFlags)&&void 0!==n?n:e._config.flagDefaults)&&void 0!==r?r:{}},Object.defineProperty(e,"_variantsCacheKey",{get:function(){var t,n,r,o;return u.StorageKeys.variantsCacheKey(null!==(n=null===(t=e._config)||void 0===t?void 0:t.appKey)&&void 0!==n?n:"",null!==(o=null===(r=e._config)||void 0===r?void 0:r.environment)&&void 0!==o?o:"Production",e._contextCacheKey)},enumerable:!1,configurable:!0}),e.init=function(t){return void 0===t&&(t={}),e._config=Object.assign({baseURI:"https://definitions.toggly.io",verifySignatures:!1,reloadOnFeatureFlagValidation:!1,connectTimeout:5e3,featureFlagsRefreshInterval:18e4,isDebug:!1,environment:"Production",flagDefaults:{},hooks:[],persistCache:!0},t),e._inMemoryFlags=e._config.flagDefaults?r({},e._config.flagDefaults):null,e._hasLoadedFlags=!1,e._lastError=void 0,e._cachedDefinitionsRevision=null,e._wsReconnectAttempt=0,e._config.hooks&&e._config.hooks.forEach(function(t){return e._hookExecutor.addHook(t)}),e._config.localGates&&e.setLocalGates(e._config.localGates),e.identity||(e.identity=(0,s.v4)()),e.startRefreshInterval(),e.startWebSocket(),e.refresh()},Object.defineProperty(e,"featureFlagsValue",{get:function(){var t,n,r;if(e._inMemoryFlags)return e._inMemoryFlags;var o=e._cachedFeatureFlags;return(null===(t=e._config)||void 0===t?void 0:t.appKey)&&o?(e._inMemoryFlags=o,e._hasLoadedFlags=!0,o):null!==(r=null===(n=e._config)||void 0===n?void 0:n.flagDefaults)&&void 0!==r?r:{}},enumerable:!1,configurable:!0}),Object.defineProperty(e,"identity",{get:function(){var e;return h&&null!==(e=localStorage.getItem(u.StorageKeys.identityKey))&&void 0!==e?e:""},set:function(t){var n=e._hookExecutor.executeBeforeIdentify(t);h&&localStorage.setItem(u.StorageKeys.identityKey,t),Promise.resolve(n).then(function(n){return e._hookExecutor.executeAfterIdentify(t,n)}).catch(function(e){return console.error("[Toggly] Hook execution error:",e)})},enumerable:!1,configurable:!0}),e.clearIdentity=function(){if(e.identity){var t=e._hookExecutor.executeBeforeIdentify("");h&&localStorage.removeItem(u.StorageKeys.identityKey),Promise.resolve(t).then(function(t){return e._hookExecutor.executeAfterIdentify("",t)}).catch(function(e){return console.error("[Toggly] Hook execution error:",e)})}else h&&localStorage.removeItem(u.StorageKeys.identityKey)},Object.defineProperty(e,"groups",{get:function(){var e;if(!h)return[];try{return JSON.parse(null!==(e=localStorage.getItem(u.StorageKeys.groupsKey))&&void 0!==e?e:"[]")}catch(e){return[]}},set:function(e){h&&localStorage.setItem(u.StorageKeys.groupsKey,JSON.stringify(null!=e?e:[]))},enumerable:!1,configurable:!0}),Object.defineProperty(e,"claims",{get:function(){var e;if(!h)return{};try{return JSON.parse(null!==(e=localStorage.getItem(u.StorageKeys.claimsKey))&&void 0!==e?e:"{}")}catch(e){return{}}},set:function(e){h&&localStorage.setItem(u.StorageKeys.claimsKey,JSON.stringify(null!=e?e:{}))},enumerable:!1,configurable:!0}),Object.defineProperty(e,"evaluationContext",{get:function(){var t=e.identity||void 0,n=e.groups,r=e.claims;return{identity:t,groups:n.length?n:void 0,claims:Object.keys(r).length?r:void 0}},enumerable:!1,configurable:!0}),e.setContext=function(t){return void 0!==t.identity&&(t.identity?e.identity=t.identity:e.clearIdentity()),void 0!==t.groups&&(e.groups=t.groups),void 0!==t.claims&&(e.claims=t.claims),e._inMemoryFlags=null,e._hasLoadedFlags=!1,e.refresh()},e.clearContext=function(){return e.clearIdentity(),e.groups=[],e.claims={},e._inMemoryFlags=null,e._hasLoadedFlags=!1,e.refresh()},e.buildEvaluatedUrl=function(t){var n="variants"===t?"evaluated-variants-signed":"evaluated-signed",r=new URL("".concat(e._config.baseURI,"/").concat(n,"/").concat(e._config.appKey,"/").concat(e._config.environment));return(0,l.appendEvaluationContext)(r,e.evaluationContext,t),r.toString()},e.fetchJwks=function(t){return void 0===t&&(t=!1),o(this,void 0,void 0,function(){var n,r;return a(this,function(o){switch(o.label){case 0:return!t&&e._inMemoryJwks?[2,e._inMemoryJwks]:[4,fetch("".concat(e._config.baseURI,"/.well-known/jwks"),{headers:e.buildFetchHeaders()})];case 1:if(!(n=o.sent()).ok)throw new Error("Failed to fetch JWKs: ".concat(n.status," ").concat(n.statusText));return[4,n.json()];case 2:return r=o.sent(),e._inMemoryJwks=r,[2,r]}})})},e.readResponseBody=function(e){return o(this,void 0,void 0,function(){var t,n;return a(this,function(r){switch(r.label){case 0:return"function"==typeof e.text?[2,e.text()]:(n=(t=JSON).stringify,[4,e.json()]);case 1:return[2,n.apply(t,[r.sent()])]}})})},e.parseEvaluatedSignedBody=function(t){var n;return o(this,void 0,void 0,function(){var r,o,i,s,u;return a(this,function(a){switch(a.label){case 0:return e._config.verifySignatures?(o=(0,y.parseSignedEnvelope)(t),i=o.envelope,s=o.defsRaw,[4,e.fetchJwks()]):(r=JSON.parse(t),[2,{defs:null!==(n=null==r?void 0:r.defs)&&void 0!==n?n:r}]);case 1:return u=a.sent(),[4,(0,y.verifySignedDefinitions)(s,{signature:i.signature,timestamp:i.timestamp,kid:i.kid},u,e._config.allowedKeyIds,{maxSignatureAgeSeconds:e._config.maxSignatureAgeSeconds})];case 2:return a.sent(),[2,{defs:(0,y.parseDefinitionsFromRaw)(s)}]}})})},Object.defineProperty(e,"_cachedFeatureFlags",{get:function(){if(!e._persistCache)return null;try{var t=localStorage.getItem(e._flagsCacheKey),n=JSON.parse(null!=t?t:"null");return null!=t&&null!=n&&e._touchCacheKey(e._flagsCacheKey),n}catch(t){return e._reportError("Error reading cached feature flags",t),null}},enumerable:!1,configurable:!0}),e.cacheFeatureFlags=function(t){if(e._inMemoryFlags=t,e._hasLoadedFlags=!0,e._persistCache)try{var n=e._flagsCacheKey;localStorage.setItem(n,JSON.stringify(t)),e._touchCacheKey(n),e._enforceMaxCacheKeys([n,e._variantsCacheKey])}catch(t){e._reportError("Error writing feature flags cache",t)}},e.clearFeatureFlagsCache=function(){if(e._inMemoryFlags=null,h)try{var t=e._flagsCacheKey,n=e._variantsCacheKey;localStorage.removeItem(t),localStorage.removeItem(n),localStorage.removeItem(e._revisionCacheKey),e._removeCacheKeysFromLruIndex([t,n])}catch(t){e._reportError("Error clearing feature flags cache",t)}},Object.defineProperty(e,"variantsValue",{get:function(){var t;if(!(null===(t=e._config)||void 0===t?void 0:t.enableVariants))return null;if(e._persistCache)try{var n=localStorage.getItem(e._variantsCacheKey),r=JSON.parse(null!=n?n:"null");return null!=n&&null!=r&&e._touchCacheKey(e._variantsCacheKey),r}catch(e){return null}return null},enumerable:!1,configurable:!0}),e.cacheVariants=function(t){if(e._persistCache)try{var n=e._variantsCacheKey;localStorage.setItem(n,JSON.stringify(t)),e._touchCacheKey(n),e._enforceMaxCacheKeys([e._flagsCacheKey,n])}catch(t){e._reportError("Error writing variants cache",t)}},e._isTrackedCacheKey=function(e){return e.startsWith("toggly:flags:")||e.startsWith("toggly:variants:")},e._loadLruIndex=function(){try{return(0,l.parseCacheLruIndex)(localStorage.getItem(u.StorageKeys.cacheLruKey))}catch(e){return(0,l.parseCacheLruIndex)(null)}},e._saveLruIndex=function(t){try{localStorage.setItem(u.StorageKeys.cacheLruKey,(0,l.serializeCacheLruIndex)(t))}catch(t){e._reportError("Error writing cache LRU index",t)}},e._touchCacheKey=function(t){var n;if(e._persistCache&&(0,l.isCacheLruEnabled)(null===(n=e._config)||void 0===n?void 0:n.maxCacheKeys)&&e._isTrackedCacheKey(t))try{var r=(0,l.touchCacheLruKey)(e._loadLruIndex(),t);e._saveLruIndex(r)}catch(t){e._reportError("Error updating cache LRU index",t)}},e._enforceMaxCacheKeys=function(t){var n,r=null===(n=e._config)||void 0===n?void 0:n.maxCacheKeys;if(e._persistCache&&(0,l.isCacheLruEnabled)(r))try{var o=e._loadLruIndex(),a=(0,l.selectCacheLruKeysToEvict)(o,r,{protectKeys:t}).filter(function(t){return e._isTrackedCacheKey(t)});if(0===a.length)return;for(var i=0,s=a;i<s.length;i++){var u=s[i];try{localStorage.removeItem(u)}catch(e){}}o=(0,l.removeCacheLruKeys)(o,a),e._saveLruIndex(o)}catch(t){e._reportError("Error enforcing cache LRU limit",t)}},e._removeCacheKeysFromLruIndex=function(t){var n;if(e._persistCache&&(0,l.isCacheLruEnabled)(null===(n=e._config)||void 0===n?void 0:n.maxCacheKeys))try{var r=(0,l.removeCacheLruKeys)(e._loadLruIndex(),t);e._saveLruIndex(r)}catch(t){e._reportError("Error updating cache LRU index",t)}},e.getVariant=function(t){var n=e.variantsValue;if(!n)return null;var r=n[t];return r&&r.variant&&e._isEffectiveFlagEnabled(t,!0===r.enabled)?{name:r.variant,configurationValue:r.configurationValue}:null},e.getVariantValue=function(t){var n,r=e.getVariant(t);return null!==(n=null==r?void 0:r.configurationValue)&&void 0!==n?n:null},e.fetchFeatureFlags=function(){var t=this;return e._config.enableVariants?e.fetchFeatureFlagsWithVariants():new Promise(function(n){var r=e.buildEvaluatedUrl("evaluated");Promise.resolve().then(function(){return fetch(r,{headers:e.buildFetchHeaders()})}).then(function(t){if(e.applyFetchRevision(t),304===t.status){var r=e._getFallbackFlags();return n((0,l.toBooleanDefinitions)(r)),null}if(!t.ok)throw new Error("Failed to fetch feature flags: ".concat(t.status," ").concat(t.statusText));return e.readResponseBody(t)}).then(function(r){return o(t,void 0,void 0,function(){var t,o,i;return a(this,function(a){switch(a.label){case 0:return r?[4,e.parseEvaluatedSignedBody(r)]:(t=e._getFallbackFlags(),n((0,l.toBooleanDefinitions)(t)),[2]);case 1:return o=a.sent().defs,i=o&&"object"==typeof o?o:{},e.cacheFeatureFlags(i),n((0,l.toBooleanDefinitions)(i)),e._config.isDebug&&console.log("Toggly.fetchFeatureFlags - ".concat(JSON.stringify(i))),[2]}})})}).catch(function(t){e._reportError("Error fetching feature flags",t);var r=e._getFallbackFlags();n((0,l.toBooleanDefinitions)(r)),e._config.isDebug&&console.log("Toggly.loadedFromCache - ".concat(JSON.stringify(r)))})})},e.fetchFeatureFlagsWithVariants=function(){var t=this;return new Promise(function(n){var r=e.buildEvaluatedUrl("variants");Promise.resolve().then(function(){return fetch(r,{headers:e.buildFetchHeaders()})}).then(function(t){if(e.applyFetchRevision(t),304===t.status){var r=e._getFallbackFlags();return n((0,l.toBooleanDefinitions)(r)),null}if(!t.ok)throw new Error("Failed to fetch feature flags: ".concat(t.status," ").concat(t.statusText));return e.readResponseBody(t)}).then(function(r){return o(t,void 0,void 0,function(){var t,o,i,s,u,c,f,d,g;return a(this,function(a){switch(a.label){case 0:return r?[4,e.parseEvaluatedSignedBody(r)]:(t=e._getFallbackFlags(),n((0,l.toBooleanDefinitions)(t)),[2]);case 1:for(o=a.sent().defs,i=o&&"object"==typeof o&&!Array.isArray(o)?o:{},e.cacheVariants(i),s={},u=0,c=Object.entries(i);u<c.length;u++)f=c[u],d=f[0],g=f[1],s[d]=g.enabled;return e.cacheFeatureFlags(s),n(s),e._config.isDebug&&console.log("Toggly.fetchFeatureFlagsWithVariants - ".concat(JSON.stringify(i))),[2]}})})}).catch(function(t){e._reportError("Error fetching feature flags",t);var r=e._getFallbackFlags();n((0,l.toBooleanDefinitions)(r)),e._config.isDebug&&console.log("Toggly.loadedFromCache - ".concat(JSON.stringify(r)))})})},e.refresh=function(){if(e._config.isDebug&&console.log("Toggly.refresh"),!e._config.appKey){e._config.isDebug&&console.log("Toggly.usedFlagDefaults - ".concat(JSON.stringify(e._config.flagDefaults)));var t=e._config.flagDefaults;return e._inMemoryFlags=t,Promise.resolve(e._hookExecutor.executeAfterRefresh(t)).catch(function(e){return console.error("[Toggly] Hook execution error:",e)}),new Promise(function(e,n){e(t)})}return e.fetchFeatureFlags().then(function(t){return Promise.resolve(e._hookExecutor.executeAfterRefresh(t)).catch(function(e){return console.error("[Toggly] Hook execution error:",e)}),t})},e._getEffectiveFlagValue=function(t,n,r){var o=(0,l.resolveEvaluatedDefinition)(t[n],r);return(0,f.applyLocalGate)(o,n,e._localGates,e._localGateIndex)},e._isEffectiveFlagEnabled=function(t,n,r){var o=r?(0,l.resolveEvaluatedDefinition)(e.featureFlagsValue[t],r):n;return(0,f.applyLocalGate)(o,t,e._localGates,e._localGateIndex)},e._evaluateFeatureGate=function(t,n,r,o,a){return void 0===t&&(t={}),void 0===r&&(r=u.FeatureRequirement.all),void 0===o&&(o=!1),n.length>0&&0===Object.keys(t).length?o:(i=r===u.FeatureRequirement.any?n.reduce(function(n,r){return n||e._getEffectiveFlagValue(t,r,a)},!1):n.reduce(function(n,r){return n&&e._getEffectiveFlagValue(t,r,a)},!0),e._config.isDebug&&console.log("Toggly._evaluateFeatureGate - ".concat(JSON.stringify(n))),i=o?!i:i);var i},e.evaluateFeatureGate=function(t,n,r,o,a){void 0===n&&(n=u.FeatureRequirement.all),void 0===r&&(r=!1);var i=(0,l.normalizeEntityContext)(o,a);if(0===t.length)return e._evaluateFeatureGate(e.featureFlagsValue,t,n,r,i);var s=t[0],c=e._hookExecutor.executeBeforeEvaluation(s),f=e._evaluateFeatureGate(e.featureFlagsValue,t,n,r,i);return Promise.resolve(c).then(function(t){return e._hookExecutor.executeAfterEvaluation(s,t,f)}).catch(function(e){return console.error("[Toggly] Hook execution error:",e)}),f},e.isFeatureOn=function(t,n,r){var o=(0,l.normalizeEntityContext)(n,r),a=e._hookExecutor.executeBeforeEvaluation(t),i=e._evaluateFeatureGate(e.featureFlagsValue,[t],u.FeatureRequirement.all,!1,o);return Promise.resolve(a).then(function(n){return e._hookExecutor.executeAfterEvaluation(t,n,i)}).catch(function(e){return console.error("[Toggly] Hook execution error:",e)}),i},e.registerContext=function(e,t){(0,l.registerContext)(e,t)},e.isFeatureOff=function(t){var n=e._hookExecutor.executeBeforeEvaluation(t),r=e._evaluateFeatureGate(e.featureFlagsValue,[t],u.FeatureRequirement.all,!0);return Promise.resolve(n).then(function(n){return e._hookExecutor.executeAfterEvaluation(t,n,r)}).catch(function(e){return console.error("[Toggly] Hook execution error:",e)}),r},e.addHook=function(t){e._hookExecutor.addHook(t)},e.removeHook=function(t){return e._hookExecutor.removeHook(t)},e.setLocalGates=function(t){e._localGates=i([],t,!0),e._localGateIndex=(0,f.buildFlagGateIndex)(e._localGates)},e.notifyLocalGatesChanged=function(){e._localGatesChangedListeners.forEach(function(e){try{e()}catch(e){console.error("[Toggly] Local gate listener error:",e)}})},e.subscribeLocalGatesChanged=function(t){return e._localGatesChangedListeners.add(t),function(){e._localGatesChangedListeners.delete(t)}},e.startWebSocket=function(){if(e._config.appKey&&!1!==e._config.enableLiveUpdates){e.stopWebSocket();var t=(0,d.buildWebSocketUrl)(e._config.baseURI,e._config.appKey,e.definitionsRevision);e._config.isDebug&&console.log("[Toggly] WebSocket connecting to ".concat(t));var n=new WebSocket(t);n.onopen=function(){e._wsConnected=!0,e._wsReconnectAttempt=0,e._lastFallbackRefresh=Date.now(),e._config.isDebug&&console.log("[Toggly] WebSocket connected")},n.onmessage=function(t){var n=t.data;if("string"==typeof n){if("update"===n||"flags-updated"===n)return e._config.isDebug&&console.log("[Toggly] WebSocket received text: ".concat(n)),void e.scheduleDebouncedRefresh();try{var r=JSON.parse(n);if("ping"===r.type)return;if("sync"===r.type)return e._config.isDebug&&console.log("[Toggly] WebSocket received sync"),void e.handleWsSyncMessage(r);"flags-updated"!==r.type&&"update"!==r.type&&"signing-key-updated"!==r.type||(e._config.isDebug&&console.log("[Toggly] WebSocket received: ".concat(r.type)),e.handleWsUpdateMessage(r))}catch(t){e._config.isDebug&&console.log("[Toggly] WebSocket received unrecognized message: ".concat(n))}}},n.onclose=function(){e._wsConnected=!1,e._ws=null;var t=(0,d.getNextReconnectDelayMs)(e._wsReconnectAttempt);e._wsReconnectAttempt+=1,e._config.isDebug&&console.log("[Toggly] WebSocket closed, reconnecting in ".concat(t,"ms")),e._wsReconnectTimer=setTimeout(function(){e.startWebSocket()},t)},n.onerror=function(e){console.error("[Toggly] WebSocket error:",e)},e._ws=n}},e.stopWebSocket=function(){e._wsReconnectTimer&&(clearTimeout(e._wsReconnectTimer),e._wsReconnectTimer=null),e._refreshDebounceTimer&&(clearTimeout(e._refreshDebounceTimer),e._refreshDebounceTimer=null),e._ws&&(e._ws.onopen=null,e._ws.onmessage=null,e._ws.onclose=null,e._ws.onerror=null,e._ws.close(),e._ws=null),e._wsConnected=!1},e.cancelRefreshInterval=function(){window.clearInterval(e._refreshInterval),e._refreshInterval=void 0,e.stopWebSocket()},e.startRefreshInterval=function(){e.cancelRefreshInterval(),e._config.appKey&&e._config.featureFlagsRefreshInterval>0&&(e._refreshInterval=window.setInterval(function(){e._wsConnected&&Date.now()-e._lastFallbackRefresh<e._fallbackRefreshInterval?e._config.isDebug&&console.log("[Toggly] Skipping interval refresh, WebSocket is connected"):(e._lastFallbackRefresh=Date.now(),e.refresh())},e._config.featureFlagsRefreshInterval))},e._hookExecutor=new c.HookExecutor,e._localGates=[],e._inMemoryJwks=null,e._localGateIndex=new Map,e._localGatesChangedListeners=new Set,e._inMemoryFlags=null,e._hasLoadedFlags=!1,e._ws=null,e._wsConnected=!1,e._wsReconnectTimer=null,e._wsReconnectAttempt=0,e._refreshDebounceTimer=null,e._cachedDefinitionsRevision=null,e._lastFallbackRefresh=0,e._fallbackRefreshInterval=12e5,e}();t.Toggly=v,"undefined"!=typeof window&&(window.Toggly=v)},23(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.extractDefinitionsRevision=t.shouldFetchOnSigningKeyUpdated=t.shouldFetchOnFlagsUpdated=t.shouldFetchOnSync=t.getNextReconnectDelayMs=t.buildWebSocketUrl=t.REFRESH_DEBOUNCE_MS=t.WS_RECONNECT_MAX_MS=t.WS_RECONNECT_BASE_MS=t.DEFINITIONS_REVISION_HEADER=void 0;var r=n(336);t.DEFINITIONS_REVISION_HEADER="X-Definitions-Revision",t.WS_RECONNECT_BASE_MS=5e3,t.WS_RECONNECT_MAX_MS=6e4,t.REFRESH_DEBOUNCE_MS=300,t.buildWebSocketUrl=function(e,t,n){var o=e.replace(/^https:\/\//,"wss://").replace(/^http:\/\//,"ws://").replace(/\/$/,""),a=new URLSearchParams;n&&a.set("rev",n),(0,r.appendSdkQueryParams)(a);var i=a.toString();return"".concat(o,"/").concat(t,"/ws").concat(i?"?".concat(i):"")},t.getNextReconnectDelayMs=function(e){return Math.min(t.WS_RECONNECT_BASE_MS*Math.pow(2,e),t.WS_RECONNECT_MAX_MS)},t.shouldFetchOnSync=function(e,t){return!("sync"!==e.type||!0===e.unchanged||t&&(!e.etag||e.etag===t))},t.shouldFetchOnFlagsUpdated=function(e,t){return!("flags-updated"!==e.type&&"update"!==e.type||e.etag&&t&&e.etag===t)},t.shouldFetchOnSigningKeyUpdated=function(e){return"signing-key-updated"===e.type},t.extractDefinitionsRevision=function(e){var n,r;return(null===(n=e.headers)||void 0===n?void 0:n.get)?null!==(r=e.headers.get(t.DEFINITIONS_REVISION_HEADER))&&void 0!==r?r:e.headers.get("ETag"):null}},831(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"NIL",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return f.default}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(t,"v1",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(t,"v3",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(t,"v4",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(t,"v5",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(t,"validate",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(t,"version",{enumerable:!0,get:function(){return u.default}});var r=d(n(518)),o=d(n(948)),a=d(n(73)),i=d(n(186)),s=d(n(808)),u=d(n(775)),c=d(n(37)),l=d(n(910)),f=d(n(792));function d(e){return e&&e.__esModule?e:{default:e}}},311(e,t){"use strict";function n(e){return 14+(e+64>>>9<<4)+1}function r(e,t){const n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}function o(e,t,n,o,a,i){return r((s=r(r(t,e),r(o,i)))<<(u=a)|s>>>32-u,n);var s,u}function a(e,t,n,r,a,i,s){return o(t&n|~t&r,e,t,a,i,s)}function i(e,t,n,r,a,i,s){return o(t&r|n&~r,e,t,a,i,s)}function s(e,t,n,r,a,i,s){return o(t^n^r,e,t,a,i,s)}function u(e,t,n,r,a,i,s){return o(n^(t|~r),e,t,a,i,s)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(e){if("string"==typeof e){const t=unescape(encodeURIComponent(e));e=new Uint8Array(t.length);for(let n=0;n<t.length;++n)e[n]=t.charCodeAt(n)}return function(e){const t=[],n=32*e.length,r="0123456789abcdef";for(let o=0;o<n;o+=8){const n=e[o>>5]>>>o%32&255,a=parseInt(r.charAt(n>>>4&15)+r.charAt(15&n),16);t.push(a)}return t}(function(e,t){e[t>>5]|=128<<t%32,e[n(t)-1]=t;let o=1732584193,c=-271733879,l=-1732584194,f=271733878;for(let t=0;t<e.length;t+=16){const n=o,d=c,g=l,y=f;o=a(o,c,l,f,e[t],7,-680876936),f=a(f,o,c,l,e[t+1],12,-389564586),l=a(l,f,o,c,e[t+2],17,606105819),c=a(c,l,f,o,e[t+3],22,-1044525330),o=a(o,c,l,f,e[t+4],7,-176418897),f=a(f,o,c,l,e[t+5],12,1200080426),l=a(l,f,o,c,e[t+6],17,-1473231341),c=a(c,l,f,o,e[t+7],22,-45705983),o=a(o,c,l,f,e[t+8],7,1770035416),f=a(f,o,c,l,e[t+9],12,-1958414417),l=a(l,f,o,c,e[t+10],17,-42063),c=a(c,l,f,o,e[t+11],22,-1990404162),o=a(o,c,l,f,e[t+12],7,1804603682),f=a(f,o,c,l,e[t+13],12,-40341101),l=a(l,f,o,c,e[t+14],17,-1502002290),c=a(c,l,f,o,e[t+15],22,1236535329),o=i(o,c,l,f,e[t+1],5,-165796510),f=i(f,o,c,l,e[t+6],9,-1069501632),l=i(l,f,o,c,e[t+11],14,643717713),c=i(c,l,f,o,e[t],20,-373897302),o=i(o,c,l,f,e[t+5],5,-701558691),f=i(f,o,c,l,e[t+10],9,38016083),l=i(l,f,o,c,e[t+15],14,-660478335),c=i(c,l,f,o,e[t+4],20,-405537848),o=i(o,c,l,f,e[t+9],5,568446438),f=i(f,o,c,l,e[t+14],9,-1019803690),l=i(l,f,o,c,e[t+3],14,-187363961),c=i(c,l,f,o,e[t+8],20,1163531501),o=i(o,c,l,f,e[t+13],5,-1444681467),f=i(f,o,c,l,e[t+2],9,-51403784),l=i(l,f,o,c,e[t+7],14,1735328473),c=i(c,l,f,o,e[t+12],20,-1926607734),o=s(o,c,l,f,e[t+5],4,-378558),f=s(f,o,c,l,e[t+8],11,-2022574463),l=s(l,f,o,c,e[t+11],16,1839030562),c=s(c,l,f,o,e[t+14],23,-35309556),o=s(o,c,l,f,e[t+1],4,-1530992060),f=s(f,o,c,l,e[t+4],11,1272893353),l=s(l,f,o,c,e[t+7],16,-155497632),c=s(c,l,f,o,e[t+10],23,-1094730640),o=s(o,c,l,f,e[t+13],4,681279174),f=s(f,o,c,l,e[t],11,-358537222),l=s(l,f,o,c,e[t+3],16,-722521979),c=s(c,l,f,o,e[t+6],23,76029189),o=s(o,c,l,f,e[t+9],4,-640364487),f=s(f,o,c,l,e[t+12],11,-421815835),l=s(l,f,o,c,e[t+15],16,530742520),c=s(c,l,f,o,e[t+2],23,-995338651),o=u(o,c,l,f,e[t],6,-198630844),f=u(f,o,c,l,e[t+7],10,1126891415),l=u(l,f,o,c,e[t+14],15,-1416354905),c=u(c,l,f,o,e[t+5],21,-57434055),o=u(o,c,l,f,e[t+12],6,1700485571),f=u(f,o,c,l,e[t+3],10,-1894986606),l=u(l,f,o,c,e[t+10],15,-1051523),c=u(c,l,f,o,e[t+1],21,-2054922799),o=u(o,c,l,f,e[t+8],6,1873313359),f=u(f,o,c,l,e[t+15],10,-30611744),l=u(l,f,o,c,e[t+6],15,-1560198380),c=u(c,l,f,o,e[t+13],21,1309151649),o=u(o,c,l,f,e[t+4],6,-145523070),f=u(f,o,c,l,e[t+11],10,-1120210379),l=u(l,f,o,c,e[t+2],15,718787259),c=u(c,l,f,o,e[t+9],21,-343485551),o=r(o,n),c=r(c,d),l=r(l,g),f=r(f,y)}return[o,c,l,f]}(function(e){if(0===e.length)return[];const t=8*e.length,r=new Uint32Array(n(t));for(let n=0;n<t;n+=8)r[n>>5]|=(255&e[n/8])<<n%32;return r}(e),8*e.length))}},140(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};t.default=n},808(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default="00000000-0000-0000-0000-000000000000"},792(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,o=(r=n(37))&&r.__esModule?r:{default:r};t.default=function(e){if(!(0,o.default)(e))throw TypeError("Invalid UUID");let t;const n=new Uint8Array(16);return n[0]=(t=parseInt(e.slice(0,8),16))>>>24,n[1]=t>>>16&255,n[2]=t>>>8&255,n[3]=255&t,n[4]=(t=parseInt(e.slice(9,13),16))>>>8,n[5]=255&t,n[6]=(t=parseInt(e.slice(14,18),16))>>>8,n[7]=255&t,n[8]=(t=parseInt(e.slice(19,23),16))>>>8,n[9]=255&t,n[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,n[11]=t/4294967296&255,n[12]=t>>>24&255,n[13]=t>>>16&255,n[14]=t>>>8&255,n[15]=255&t,n}},656(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i},858(e,t){"use strict";let n;Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){if(!n&&(n="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!n))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return n(r)};const r=new Uint8Array(16)},42(e,t){"use strict";function n(e,t,n,r){switch(e){case 0:return t&n^~t&r;case 1:case 3:return t^n^r;case 2:return t&n^t&r^n&r}}function r(e,t){return e<<t|e>>>32-t}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(e){const t=[1518500249,1859775393,2400959708,3395469782],o=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){const t=unescape(encodeURIComponent(e));e=[];for(let n=0;n<t.length;++n)e.push(t.charCodeAt(n))}else Array.isArray(e)||(e=Array.prototype.slice.call(e));e.push(128);const a=e.length/4+2,i=Math.ceil(a/16),s=new Array(i);for(let t=0;t<i;++t){const n=new Uint32Array(16);for(let r=0;r<16;++r)n[r]=e[64*t+4*r]<<24|e[64*t+4*r+1]<<16|e[64*t+4*r+2]<<8|e[64*t+4*r+3];s[t]=n}s[i-1][14]=8*(e.length-1)/Math.pow(2,32),s[i-1][14]=Math.floor(s[i-1][14]),s[i-1][15]=8*(e.length-1)&4294967295;for(let e=0;e<i;++e){const a=new Uint32Array(80);for(let t=0;t<16;++t)a[t]=s[e][t];for(let e=16;e<80;++e)a[e]=r(a[e-3]^a[e-8]^a[e-14]^a[e-16],1);let i=o[0],u=o[1],c=o[2],l=o[3],f=o[4];for(let e=0;e<80;++e){const o=Math.floor(e/20),s=r(i,5)+n(o,u,c,l)+f+t[o]+a[e]>>>0;f=l,l=c,c=r(u,30)>>>0,u=i,i=s}o[0]=o[0]+i>>>0,o[1]=o[1]+u>>>0,o[2]=o[2]+c>>>0,o[3]=o[3]+l>>>0,o[4]=o[4]+f>>>0}return[o[0]>>24&255,o[0]>>16&255,o[0]>>8&255,255&o[0],o[1]>>24&255,o[1]>>16&255,o[1]>>8&255,255&o[1],o[2]>>24&255,o[2]>>16&255,o[2]>>8&255,255&o[2],o[3]>>24&255,o[3]>>16&255,o[3]>>8&255,255&o[3],o[4]>>24&255,o[4]>>16&255,o[4]>>8&255,255&o[4]]}},910(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.unsafeStringify=i;var r,o=(r=n(37))&&r.__esModule?r:{default:r};const a=[];for(let e=0;e<256;++e)a.push((e+256).toString(16).slice(1));function i(e,t=0){return(a[e[t+0]]+a[e[t+1]]+a[e[t+2]]+a[e[t+3]]+"-"+a[e[t+4]]+a[e[t+5]]+"-"+a[e[t+6]]+a[e[t+7]]+"-"+a[e[t+8]]+a[e[t+9]]+"-"+a[e[t+10]]+a[e[t+11]]+a[e[t+12]]+a[e[t+13]]+a[e[t+14]]+a[e[t+15]]).toLowerCase()}t.default=function(e,t=0){const n=i(e,t);if(!(0,o.default)(n))throw TypeError("Stringified UUID is invalid");return n}},518(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,o=(r=n(858))&&r.__esModule?r:{default:r},a=n(910);let i,s,u=0,c=0;t.default=function(e,t,n){let r=t&&n||0;const l=t||new Array(16);let f=(e=e||{}).node||i,d=void 0!==e.clockseq?e.clockseq:s;if(null==f||null==d){const t=e.random||(e.rng||o.default)();null==f&&(f=i=[1|t[0],t[1],t[2],t[3],t[4],t[5]]),null==d&&(d=s=16383&(t[6]<<8|t[7]))}let g=void 0!==e.msecs?e.msecs:Date.now(),y=void 0!==e.nsecs?e.nsecs:c+1;const h=g-u+(y-c)/1e4;if(h<0&&void 0===e.clockseq&&(d=d+1&16383),(h<0||g>u)&&void 0===e.nsecs&&(y=0),y>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");u=g,c=y,s=d,g+=122192928e5;const v=(1e4*(268435455&g)+y)%4294967296;l[r++]=v>>>24&255,l[r++]=v>>>16&255,l[r++]=v>>>8&255,l[r++]=255&v;const p=g/4294967296*1e4&268435455;l[r++]=p>>>8&255,l[r++]=255&p,l[r++]=p>>>24&15|16,l[r++]=p>>>16&255,l[r++]=d>>>8|128,l[r++]=255&d;for(let e=0;e<6;++e)l[r+e]=f[e];return t||(0,a.unsafeStringify)(l)}},948(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=a(n(25)),o=a(n(311));function a(e){return e&&e.__esModule?e:{default:e}}var i=(0,r.default)("v3",48,o.default);t.default=i},25(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.URL=t.DNS=void 0,t.default=function(e,t,n){function r(e,r,i,s){var u;if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));const t=[];for(let n=0;n<e.length;++n)t.push(e.charCodeAt(n));return t}(e)),"string"==typeof r&&(r=(0,a.default)(r)),16!==(null===(u=r)||void 0===u?void 0:u.length))throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let c=new Uint8Array(16+e.length);if(c.set(r),c.set(e,r.length),c=n(c),c[6]=15&c[6]|t,c[8]=63&c[8]|128,i){s=s||0;for(let e=0;e<16;++e)i[s+e]=c[e];return i}return(0,o.unsafeStringify)(c)}try{r.name=e}catch(e){}return r.DNS=i,r.URL=s,r};var r,o=n(910),a=(r=n(792))&&r.__esModule?r:{default:r};const i="6ba7b810-9dad-11d1-80b4-00c04fd430c8";t.DNS=i;const s="6ba7b811-9dad-11d1-80b4-00c04fd430c8";t.URL=s},73(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=i(n(140)),o=i(n(858)),a=n(910);function i(e){return e&&e.__esModule?e:{default:e}}t.default=function(e,t,n){if(r.default.randomUUID&&!t&&!e)return r.default.randomUUID();const i=(e=e||{}).random||(e.rng||o.default)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,t){n=n||0;for(let e=0;e<16;++e)t[n+e]=i[e];return t}return(0,a.unsafeStringify)(i)}},186(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=a(n(25)),o=a(n(42));function a(e){return e&&e.__esModule?e:{default:e}}var i=(0,r.default)("v5",80,o.default);t.default=i},37(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,o=(r=n(656))&&r.__esModule?r:{default:r};t.default=function(e){return"string"==typeof e&&o.default.test(e)}},775(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,o=(r=n(37))&&r.__esModule?r:{default:r};t.default=function(e){if(!(0,o.default)(e))throw TypeError("Invalid UUID");return parseInt(e.slice(14,15),16)}},868(){}},t={};!function n(r){var o=t[r];if(void 0!==o)return o.exports;var a=t[r]={exports:{}};return e[r].call(a.exports,a,a.exports,n),a.exports}(765)})();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ops-ai/feature-flags-toggly",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.1",
|
|
4
4
|
"description": "Provides feature flags support for Javascript applications allowing you to enable and disable features easily. Can be used with or without Toggly.io.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -25,8 +25,9 @@
|
|
|
25
25
|
"dist"
|
|
26
26
|
],
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@ops-ai/toggly-hooks-types": "
|
|
29
|
-
"@ops-ai/toggly-local-gates": "
|
|
28
|
+
"@ops-ai/toggly-hooks-types": "^1.4.3",
|
|
29
|
+
"@ops-ai/toggly-local-gates": "^1.0.1",
|
|
30
|
+
"@ops-ai/toggly-signed-defs": "^1.2.3",
|
|
30
31
|
"rxjs": "^7.5.7",
|
|
31
32
|
"uuid": "^9.0.0"
|
|
32
33
|
},
|