New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

flagsmith

Package Overview
Dependencies
Maintainers
1
Versions
184
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

flagsmith - npm Package Compare versions

Comparing version

to
1.1.0

2

index.js

@@ -1,1 +0,1 @@

!function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var n=e();for(var r in n)("object"==typeof exports?exports:t)[r]=n[r]}}(this,(function(){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=1)}([function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var n=[],r=!0,i=!1,o=void 0;try{for(var a,u=t[Symbol.iterator]();!(r=(a=u.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{!r&&u.return&&u.return()}finally{if(i)throw o}}return n}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")},o=n(3),a=(r=o)&&r.__esModule?r:{default:r};var u={getItem:function(t,e){return u.multiGet([t]).then((function(t){return t[0][1]})).then((function(t){return e&&e(null,t),t})).catch((function(t){return e&&e(t,null),t}))},setItem:function(t,e,n){return u.multiSet([[t,e]]).then((function(t){return n&&n(null,t),t})).catch((function(t){return n&&n(t,null),t}))},getAllKeys:function(t){return Promise.resolve(Object.keys(localStorage)).then((function(e){return t&&t(null,e),e})).catch((function(e){return t&&t(e,null),e}))},removeItem:function(t,e){return u.multiRemove([t]).then((function(){e&&e(null)})).catch((function(t){e&&e(t,null)}))},clear:function(){return new Promise((function(t){window.localStorage.clear(),t()}))},mergeItem:function(t,e){return u.multiMerge([[t,e]])},multiGet:function(t){return new Promise((function(e){e(t.reduce((function(t,e){return t.concat([[e,localStorage.getItem(e)]])}),[]))}))},multiSet:function(t){return new Promise((function(e,n){var r=[];return t.forEach((function(t){var e=i(t,2),n=e[0],o=e[1];try{localStorage.setItem(n,o)}catch(t){r.push(t)}})),r.length>0?n(r):e()}))},multiMerge:function(t){return new Promise((function(e,n){var r=[];return t.forEach((function(t){var e=i(t,2),n=e[0],o=e[1],u=localStorage.getItem(n);if(u)try{localStorage.setItem(n,JSON.stringify((0,a.default)(JSON.parse(u),JSON.parse(o))))}catch(t){r.push(t)}})),r.length>0?n(r):e()}))},multiRemove:function(t){return new Promise((function(e){t.forEach((function(t){return window.localStorage.removeItem(t)})),e()}))},flushGetRequests:function(){console.warn("AsyncStorage.flushGetRequests: Not supported on `web`")}};e.default=u},function(t,e,n){"use strict";n.r(e);var r=n(0),i=n.n(r),o=n(2).default,a=n(5)({AsyncStorage:i.a,fetch:o});"undefined"!=typeof window&&(window.flagsmith=a),e.default=a},function(t,e,n){"use strict";n.r(e),e.default=function(t,e){return e=e||{},new Promise((function(n,r){var i=new XMLHttpRequest,o=[],a=[],u={},c=function(){return{ok:2==(i.status/100|0),statusText:i.statusText,status:i.status,url:i.responseURL,text:function(){return Promise.resolve(i.responseText)},json:function(){return Promise.resolve(JSON.parse(i.responseText))},blob:function(){return Promise.resolve(new Blob([i.response]))},clone:c,headers:{keys:function(){return o},entries:function(){return a},get:function(t){return u[t.toLowerCase()]},has:function(t){return t.toLowerCase()in u}}}};for(var s in i.open(e.method||"get",t,!0),i.onload=function(){i.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,(function(t,e,n){o.push(e=e.toLowerCase()),a.push([e,n]),u[e]=u[e]?u[e]+","+n:n})),n(c())},i.onerror=r,i.withCredentials="include"==e.credentials,e.headers)i.setRequestHeader(s,e.headers[s]);i.send(e.body||null)}))}},function(t,e,n){(function(t){var n=200,r="__lodash_hash_undefined__",i=800,o=16,a=9007199254740991,u="[object Arguments]",c="[object AsyncFunction]",s="[object Function]",l="[object GeneratorFunction]",f="[object Null]",h="[object Object]",p="[object Proxy]",g="[object Undefined]",v=/^\[object .+?Constructor\]$/,y=/^(?:0|[1-9]\d*)$/,d={};d["[object Float32Array]"]=d["[object Float64Array]"]=d["[object Int8Array]"]=d["[object Int16Array]"]=d["[object Int32Array]"]=d["[object Uint8Array]"]=d["[object Uint8ClampedArray]"]=d["[object Uint16Array]"]=d["[object Uint32Array]"]=!0,d[u]=d["[object Array]"]=d["[object ArrayBuffer]"]=d["[object Boolean]"]=d["[object DataView]"]=d["[object Date]"]=d["[object Error]"]=d[s]=d["[object Map]"]=d["[object Number]"]=d[h]=d["[object RegExp]"]=d["[object Set]"]=d["[object String]"]=d["[object WeakMap]"]=!1;var b="object"==typeof global&&global&&global.Object===Object&&global,_="object"==typeof self&&self&&self.Object===Object&&self,m=b||_||Function("return this")(),j=e&&!e.nodeType&&e,O=j&&"object"==typeof t&&t&&!t.nodeType&&t,S=O&&O.exports===j,w=S&&b.process,P=function(){try{var t=O&&O.require&&O.require("util").types;return t||w&&w.binding&&w.binding("util")}catch(t){}}(),A=P&&P.isTypedArray;function I(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}var F,k,T,x=Array.prototype,E=Function.prototype,D=Object.prototype,N=m["__core-js_shared__"],z=E.toString,C=D.hasOwnProperty,L=(F=/[^.]+$/.exec(N&&N.keys&&N.keys.IE_PROTO||""))?"Symbol(src)_1."+F:"",J=D.toString,R=z.call(Object),M=RegExp("^"+z.call(C).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),U=S?m.Buffer:void 0,B=m.Symbol,G=m.Uint8Array,$=U?U.allocUnsafe:void 0,q=(k=Object.getPrototypeOf,T=Object,function(t){return k(T(t))}),H=Object.create,V=D.propertyIsEnumerable,K=x.splice,W=B?B.toStringTag:void 0,X=function(){try{var t=jt(Object,"defineProperty");return t({},"",{}),t}catch(t){}}(),Q=U?U.isBuffer:void 0,Y=Math.max,Z=Date.now,tt=jt(m,"Map"),et=jt(Object,"create"),nt=function(){function t(){}return function(e){if(!Dt(e))return{};if(H)return H(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}();function rt(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function it(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function ot(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function at(t){var e=this.__data__=new it(t);this.size=e.size}function ut(t,e){var n=Ft(t),r=!n&&It(t),i=!n&&!r&&Tt(t),o=!n&&!r&&!i&&zt(t),a=n||r||i||o,u=a?function(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}(t.length,String):[],c=u.length;for(var s in t)!e&&!C.call(t,s)||a&&("length"==s||i&&("offset"==s||"parent"==s)||o&&("buffer"==s||"byteLength"==s||"byteOffset"==s)||Ot(s,c))||u.push(s);return u}function ct(t,e,n){(void 0===n||At(t[e],n))&&(void 0!==n||e in t)||ft(t,e,n)}function st(t,e,n){var r=t[e];C.call(t,e)&&At(r,n)&&(void 0!==n||e in t)||ft(t,e,n)}function lt(t,e){for(var n=t.length;n--;)if(At(t[n][0],e))return n;return-1}function ft(t,e,n){"__proto__"==e&&X?X(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}rt.prototype.clear=function(){this.__data__=et?et(null):{},this.size=0},rt.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},rt.prototype.get=function(t){var e=this.__data__;if(et){var n=e[t];return n===r?void 0:n}return C.call(e,t)?e[t]:void 0},rt.prototype.has=function(t){var e=this.__data__;return et?void 0!==e[t]:C.call(e,t)},rt.prototype.set=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=et&&void 0===e?r:e,this},it.prototype.clear=function(){this.__data__=[],this.size=0},it.prototype.delete=function(t){var e=this.__data__,n=lt(e,t);return!(n<0)&&(n==e.length-1?e.pop():K.call(e,n,1),--this.size,!0)},it.prototype.get=function(t){var e=this.__data__,n=lt(e,t);return n<0?void 0:e[n][1]},it.prototype.has=function(t){return lt(this.__data__,t)>-1},it.prototype.set=function(t,e){var n=this.__data__,r=lt(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this},ot.prototype.clear=function(){this.size=0,this.__data__={hash:new rt,map:new(tt||it),string:new rt}},ot.prototype.delete=function(t){var e=mt(this,t).delete(t);return this.size-=e?1:0,e},ot.prototype.get=function(t){return mt(this,t).get(t)},ot.prototype.has=function(t){return mt(this,t).has(t)},ot.prototype.set=function(t,e){var n=mt(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this},at.prototype.clear=function(){this.__data__=new it,this.size=0},at.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},at.prototype.get=function(t){return this.__data__.get(t)},at.prototype.has=function(t){return this.__data__.has(t)},at.prototype.set=function(t,e){var r=this.__data__;if(r instanceof it){var i=r.__data__;if(!tt||i.length<n-1)return i.push([t,e]),this.size=++r.size,this;r=this.__data__=new ot(i)}return r.set(t,e),this.size=r.size,this};var ht,pt=function(t,e,n){for(var r=-1,i=Object(t),o=n(t),a=o.length;a--;){var u=o[ht?a:++r];if(!1===e(i[u],u,i))break}return t};function gt(t){return null==t?void 0===t?g:f:W&&W in Object(t)?function(t){var e=C.call(t,W),n=t[W];try{t[W]=void 0;var r=!0}catch(t){}var i=J.call(t);r&&(e?t[W]=n:delete t[W]);return i}(t):function(t){return J.call(t)}(t)}function vt(t){return Nt(t)&&gt(t)==u}function yt(t){return!(!Dt(t)||function(t){return!!L&&L in t}(t))&&(xt(t)?M:v).test(function(t){if(null!=t){try{return z.call(t)}catch(t){}try{return t+""}catch(t){}}return""}(t))}function dt(t){if(!Dt(t))return function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}(t);var e=St(t),n=[];for(var r in t)("constructor"!=r||!e&&C.call(t,r))&&n.push(r);return n}function bt(t,e,n,r,i){t!==e&&pt(e,(function(o,a){if(i||(i=new at),Dt(o))!function(t,e,n,r,i,o,a){var u=wt(t,n),c=wt(e,n),s=a.get(c);if(s)return void ct(t,n,s);var l=o?o(u,c,n+"",t,e,a):void 0,f=void 0===l;if(f){var p=Ft(c),g=!p&&Tt(c),v=!p&&!g&&zt(c);l=c,p||g||v?Ft(u)?l=u:Nt(m=u)&&kt(m)?l=function(t,e){var n=-1,r=t.length;e||(e=Array(r));for(;++n<r;)e[n]=t[n];return e}(u):g?(f=!1,l=function(t,e){if(e)return t.slice();var n=t.length,r=$?$(n):new t.constructor(n);return t.copy(r),r}(c,!0)):v?(f=!1,y=c,d=!0?(b=y.buffer,_=new b.constructor(b.byteLength),new G(_).set(new G(b)),_):y.buffer,l=new y.constructor(d,y.byteOffset,y.length)):l=[]:function(t){if(!Nt(t)||gt(t)!=h)return!1;var e=q(t);if(null===e)return!0;var n=C.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&z.call(n)==R}(c)||It(c)?(l=u,It(u)?l=function(t){return function(t,e,n,r){var i=!n;n||(n={});var o=-1,a=e.length;for(;++o<a;){var u=e[o],c=r?r(n[u],t[u],u,n,t):void 0;void 0===c&&(c=t[u]),i?ft(n,u,c):st(n,u,c)}return n}(t,Ct(t))}(u):Dt(u)&&!xt(u)||(l=function(t){return"function"!=typeof t.constructor||St(t)?{}:nt(q(t))}(c))):f=!1}var y,d,b,_;var m;f&&(a.set(c,l),i(l,c,r,o,a),a.delete(c));ct(t,n,l)}(t,e,a,n,bt,r,i);else{var u=r?r(wt(t,a),o,a+"",t,e,i):void 0;void 0===u&&(u=o),ct(t,a,u)}}),Ct)}function _t(t,e){return Pt(function(t,e,n){return e=Y(void 0===e?t.length-1:e,0),function(){for(var r=arguments,i=-1,o=Y(r.length-e,0),a=Array(o);++i<o;)a[i]=r[e+i];i=-1;for(var u=Array(e+1);++i<e;)u[i]=r[i];return u[e]=n(a),I(t,this,u)}}(t,e,Rt),t+"")}function mt(t,e){var n,r,i=t.__data__;return("string"==(r=typeof(n=e))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?i["string"==typeof e?"string":"hash"]:i.map}function jt(t,e){var n=function(t,e){return null==t?void 0:t[e]}(t,e);return yt(n)?n:void 0}function Ot(t,e){var n=typeof t;return!!(e=null==e?a:e)&&("number"==n||"symbol"!=n&&y.test(t))&&t>-1&&t%1==0&&t<e}function St(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||D)}function wt(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]}var Pt=function(t){var e=0,n=0;return function(){var r=Z(),a=o-(r-n);if(n=r,a>0){if(++e>=i)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(X?function(t,e){return X(t,"toString",{configurable:!0,enumerable:!1,value:(n=e,function(){return n}),writable:!0});var n}:Rt);function At(t,e){return t===e||t!=t&&e!=e}var It=vt(function(){return arguments}())?vt:function(t){return Nt(t)&&C.call(t,"callee")&&!V.call(t,"callee")},Ft=Array.isArray;function kt(t){return null!=t&&Et(t.length)&&!xt(t)}var Tt=Q||function(){return!1};function xt(t){if(!Dt(t))return!1;var e=gt(t);return e==s||e==l||e==c||e==p}function Et(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=a}function Dt(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function Nt(t){return null!=t&&"object"==typeof t}var zt=A?function(t){return function(e){return t(e)}}(A):function(t){return Nt(t)&&Et(t.length)&&!!d[gt(t)]};function Ct(t){return kt(t)?ut(t,!0):dt(t)}var Lt,Jt=(Lt=function(t,e,n){bt(t,e,n)},_t((function(t,e){var n=-1,r=e.length,i=r>1?e[r-1]:void 0,o=r>2?e[2]:void 0;for(i=Lt.length>3&&"function"==typeof i?(r--,i):void 0,o&&function(t,e,n){if(!Dt(n))return!1;var r=typeof e;return!!("number"==r?kt(n)&&Ot(e,n.length):"string"==r&&e in n)&&At(n[e],t)}(e[0],e[1],o)&&(i=r<3?void 0:i,r=1),t=Object(t);++n<r;){var a=e[n];a&&Lt(t,a,n,i)}return t})));function Rt(t){return t}t.exports=Jt}).call(this,n(4)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(t,e,n){function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function i(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function o(t,e){for(var n,r=0;r<e.length;r++)(n=e[r]).enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}function a(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var u,c,s="https://api.bullet-train.io/api/v1/",l=n(6),f=function(t){return"Attempted to "+t+" a user before calling flagsmith.init. Call flagsmith.init first, if you wish to prevent it sending a request for flags, call init with preventFetch:true."},h=function(){function t(e){var n=this;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),a(this,"getJSON",(function(t,e,r){var i={method:e||"GET",body:r,headers:{"x-environment-key":n.environmentID}};return"GET"!==e&&(i.headers["Content-Type"]="application/json; charset=utf-8"),u(t,i).then((function(t){return 200<=t.status&&300>t.status?t:t.text().then((function(t){var e=t;try{e=JSON.parse(t)}catch(t){}return Promise.reject(e)}))})).then((function(t){return t.json()}))})),a(this,"getFlags",(function(t,e){var r=n.onChange,o=n.onError,u=n.identity,c=n.api,s=(n.disableCache,!1),f=function(t,e){var o=t.flags,u=t.traits,c={},s={};if(u=u||[],(o=o||[]).forEach((function(t){c[t.feature.name.toLowerCase().replace(/ /g,"_")]={enabled:t.enabled,value:t.feature_state_value}})),u.forEach((function(t){s[t.trait_key.toLowerCase().replace(/ /g,"_")]=t.trait_value})),n.oldFlags=function(t){for(var e,n=1;n<arguments.length;n++)e=null==arguments[n]?{}:arguments[n],n%2?i(e,!0).forEach((function(n){a(t,n,e[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):i(e).forEach((function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))}));return t}({},n.flags),e){var f={};e.map((function(t){f[t.name]=t})),n.segments=f}var h=l(n.flags,c),p=l(n.traits,s);n.flags=c,n.traits=s,n.updateStorage(),r&&r(n.oldFlags,{isFromServer:!0,flagsChanged:!h,traitsChanged:!p})};return u?Promise.all([n.getJSON(c+"identities/?identifier="+encodeURIComponent(u))]).then((function(t){f(t[0],t[1])})).catch((function(t){var e=t.message;o&&o({message:e})})):Promise.all([n.getJSON(c+"flags/")]).then((function(e){f({flags:e[0]},null),t&&!s&&(s=!0,t())})).catch((function(t){e&&!s&&(s=!0,e(t)),o&&o(t)}))})),a(this,"getValue",(function(t){var e=n.flags&&n.flags[t],r=null;return e&&(r=e.value),r})),a(this,"getTrait",(function(t){return n.traits&&n.traits[t]})),a(this,"setTrait",(function(t,e){var r=n.getJSON,i=n.identity,o=n.api;if(o)return r("".concat(o,"traits/"),"POST",JSON.stringify({identity:{identifier:i},trait_key:t,trait_value:e})).then((function(){n.initialised&&n.getFlags()}));console.error(f("setTrait"))})),a(this,"setTraits",(function(t){var e=n.getJSON,i=n.identity,o=n.api;if(o){t&&"object"===r(t)||console.error("Expected object for flagsmith.setTraits");var a=Object.keys(t).map((function(e){return{identity:{identifier:i},trait_key:e,trait_value:t[e]}}));return e("".concat(o,"traits/bulk/"),"PUT",JSON.stringify(a)).then((function(){n.initialised&&n.getFlags()}))}console.error(f("setTraits"))})),a(this,"incrementTrait",(function(t,e){var r=n.getJSON,i=n.identity,o=n.api;return r("".concat(o,"traits/increment-value/"),"POST",JSON.stringify({trait_key:t,increment_by:e,identifier:i})).then(n.getFlags)})),a(this,"hasFeature",(function(t){var e=n.flags&&n.flags[t],r=!1;return e&&e.enabled&&(r=!0),r})),u=e.fetch?e.fetch:global.fetch,c=e.AsyncStorage}return function(t,e,n){e&&o(t.prototype,e),n&&o(t,n)}(t,[{key:"init",value:function(t){var e=this,n=t.environmentID,r=t.api,i=void 0===r?s:r,o=t.onChange,a=t.cacheFlags,u=t.onError,l=t.defaultFlags,f=t.preventFetch,h=t.enableLogs,p=t.AsyncStorage,g=t.state;return new Promise((function(t,r){if(e.environmentID=n,e.api=i,e.interval=null,e.onChange=o,e.onError=u,e.enableLogs=h,e.flags=Object.assign({},l)||{},e.initialised=!0,e.timer=e.enableLogs?(new Date).valueOf():null,p&&(c=p),e.cacheFlags=void 0!==c&&a,e.setState(g),!n)throw r("Please specify a environment id"),"Please specify a environment id";a?c.getItem("BULLET_TRAIN_DB",(function(n,i){if(i)try{var o=JSON.parse(i);o&&o.api===e.api&&o.environmentID===e.environmentID&&(e.setState(o),e.log("Retrieved flags from cache",o)),e.flags?(e.onChange&&e.onChange(null,{isFromServer:!1}),e.oldFlags=e.flags,t(),!f&&e.getFlags(Promise.resolve,Promise.reject)):!f&&e.getFlags(t,r)}catch(t){e.log("Exception fetching cached logs",t)}else f||e.getFlags(t,r)})):!f&&e.getFlags(t,r)}))}},{key:"getAllFlags",value:function(){return this.flags}},{key:"identify",value:function(t){return this.identity=t,this.initialised&&!this.interval?this.getFlags():Promise.resolve()}},{key:"getState",value:function(){return{api:this.api,environmentID:this.environmentID,flags:this.flags,identity:this.identity,segments:this.segments,traits:this.traits}}},{key:"setState",value:function(t){t&&(this.initialised=!0,this.api=t.api||this.api||s,this.environmentID=t.environmentID||this.environmentID,this.flags=t.flags||this.flags,this.identity=t.identity||this.identity,this.segments=t.segments||this.segments,this.traits=t.traits||this.traits)}},{key:"log",value:function(){if(this.enableLogs){for(var t=arguments.length,e=Array(t),n=0;n<t;n++)e[n]=arguments[n];console.log.apply(this,["FLAGSMITH:",(new Date).valueOf()-this.timer,"ms"].concat(e))}}},{key:"updateStorage",value:function(){if(this.cacheFlags){var t=JSON.stringify(this.getState());this.log("Setting storage",t),c.setItem("BULLET_TRAIN_DB",t)}}},{key:"logout",value:function(){this.identity=null,this.segments=null,this.traits=null,this.initialised&&!this.interval&&this.getFlags()}},{key:"startListening",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:1e3;this.interval||(this.interval=setInterval(this.getFlags,t))}},{key:"getSegments",value:function(){}},{key:"stopListening",value:function(){clearInterval(this.interval)}}]),t}();t.exports=function(t){var e=t.fetch,n=t.AsyncStorage;return new h({fetch:e,AsyncStorage:n})}},function(t,e,n){"use strict";t.exports=function t(e,n){if(e===n)return!0;if(e&&n&&"object"==typeof e&&"object"==typeof n){if(e.constructor!==n.constructor)return!1;var r,i,o;if(Array.isArray(e)){if((r=e.length)!=n.length)return!1;for(i=r;0!=i--;)if(!t(e[i],n[i]))return!1;return!0}if(e.constructor===RegExp)return e.source===n.source&&e.flags===n.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===n.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===n.toString();if((r=(o=Object.keys(e)).length)!==Object.keys(n).length)return!1;for(i=r;0!=i--;)if(!Object.prototype.hasOwnProperty.call(n,o[i]))return!1;for(i=r;0!=i--;){var a=o[i];if(!t(e[a],n[a]))return!1}return!0}return e!=e&&n!=n}}])}));
!function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var n=e();for(var r in n)("object"==typeof exports?exports:t)[r]=n[r]}}(this,(function(){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=1)}([function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var n=[],r=!0,i=!1,o=void 0;try{for(var a,u=t[Symbol.iterator]();!(r=(a=u.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{!r&&u.return&&u.return()}finally{if(i)throw o}}return n}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")},o=n(3),a=(r=o)&&r.__esModule?r:{default:r};var u={getItem:function(t,e){return u.multiGet([t]).then((function(t){return t[0][1]})).then((function(t){return e&&e(null,t),t})).catch((function(t){return e&&e(t,null),t}))},setItem:function(t,e,n){return u.multiSet([[t,e]]).then((function(t){return n&&n(null,t),t})).catch((function(t){return n&&n(t,null),t}))},getAllKeys:function(t){return Promise.resolve(Object.keys(localStorage)).then((function(e){return t&&t(null,e),e})).catch((function(e){return t&&t(e,null),e}))},removeItem:function(t,e){return u.multiRemove([t]).then((function(){e&&e(null)})).catch((function(t){e&&e(t,null)}))},clear:function(){return new Promise((function(t){window.localStorage.clear(),t()}))},mergeItem:function(t,e){return u.multiMerge([[t,e]])},multiGet:function(t){return new Promise((function(e){e(t.reduce((function(t,e){return t.concat([[e,localStorage.getItem(e)]])}),[]))}))},multiSet:function(t){return new Promise((function(e,n){var r=[];return t.forEach((function(t){var e=i(t,2),n=e[0],o=e[1];try{localStorage.setItem(n,o)}catch(t){r.push(t)}})),r.length>0?n(r):e()}))},multiMerge:function(t){return new Promise((function(e,n){var r=[];return t.forEach((function(t){var e=i(t,2),n=e[0],o=e[1],u=localStorage.getItem(n);if(u)try{localStorage.setItem(n,JSON.stringify((0,a.default)(JSON.parse(u),JSON.parse(o))))}catch(t){r.push(t)}})),r.length>0?n(r):e()}))},multiRemove:function(t){return new Promise((function(e){t.forEach((function(t){return window.localStorage.removeItem(t)})),e()}))},flushGetRequests:function(){console.warn("AsyncStorage.flushGetRequests: Not supported on `web`")}};e.default=u},function(t,e,n){"use strict";n.r(e);var r=n(0),i=n.n(r),o=n(2).default,a=n(5)({AsyncStorage:i.a,fetch:o});"undefined"!=typeof window&&(window.flagsmith=a),e.default=a},function(t,e,n){"use strict";n.r(e),e.default=function(t,e){return e=e||{},new Promise((function(n,r){var i=new XMLHttpRequest,o=[],a=[],u={},c=function(){return{ok:2==(i.status/100|0),statusText:i.statusText,status:i.status,url:i.responseURL,text:function(){return Promise.resolve(i.responseText)},json:function(){return Promise.resolve(JSON.parse(i.responseText))},blob:function(){return Promise.resolve(new Blob([i.response]))},clone:c,headers:{keys:function(){return o},entries:function(){return a},get:function(t){return u[t.toLowerCase()]},has:function(t){return t.toLowerCase()in u}}}};for(var s in i.open(e.method||"get",t,!0),i.onload=function(){i.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,(function(t,e,n){o.push(e=e.toLowerCase()),a.push([e,n]),u[e]=u[e]?u[e]+","+n:n})),n(c())},i.onerror=r,i.withCredentials="include"==e.credentials,e.headers)i.setRequestHeader(s,e.headers[s]);i.send(e.body||null)}))}},function(t,e,n){(function(t){var n=200,r="__lodash_hash_undefined__",i=800,o=16,a=9007199254740991,u="[object Arguments]",c="[object AsyncFunction]",s="[object Function]",l="[object GeneratorFunction]",f="[object Null]",v="[object Object]",h="[object Proxy]",g="[object Undefined]",p=/^\[object .+?Constructor\]$/,y=/^(?:0|[1-9]\d*)$/,d={};d["[object Float32Array]"]=d["[object Float64Array]"]=d["[object Int8Array]"]=d["[object Int16Array]"]=d["[object Int32Array]"]=d["[object Uint8Array]"]=d["[object Uint8ClampedArray]"]=d["[object Uint16Array]"]=d["[object Uint32Array]"]=!0,d[u]=d["[object Array]"]=d["[object ArrayBuffer]"]=d["[object Boolean]"]=d["[object DataView]"]=d["[object Date]"]=d["[object Error]"]=d[s]=d["[object Map]"]=d["[object Number]"]=d[v]=d["[object RegExp]"]=d["[object Set]"]=d["[object String]"]=d["[object WeakMap]"]=!1;var b="object"==typeof global&&global&&global.Object===Object&&global,_="object"==typeof self&&self&&self.Object===Object&&self,m=b||_||Function("return this")(),j=e&&!e.nodeType&&e,O=j&&"object"==typeof t&&t&&!t.nodeType&&t,S=O&&O.exports===j,w=S&&b.process,E=function(){try{var t=O&&O.require&&O.require("util").types;return t||w&&w.binding&&w.binding("util")}catch(t){}}(),I=E&&E.isTypedArray;function P(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}var A,F,T,k=Array.prototype,N=Function.prototype,x=Object.prototype,L=m["__core-js_shared__"],D=N.toString,J=x.hasOwnProperty,z=(A=/[^.]+$/.exec(L&&L.keys&&L.keys.IE_PROTO||""))?"Symbol(src)_1."+A:"",C=x.toString,R=D.call(Object),U=RegExp("^"+D.call(J).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),M=S?m.Buffer:void 0,B=m.Symbol,G=m.Uint8Array,$=M?M.allocUnsafe:void 0,q=(F=Object.getPrototypeOf,T=Object,function(t){return F(T(t))}),V=Object.create,H=x.propertyIsEnumerable,K=k.splice,W=B?B.toStringTag:void 0,X=function(){try{var t=jt(Object,"defineProperty");return t({},"",{}),t}catch(t){}}(),Q=M?M.isBuffer:void 0,Y=Math.max,Z=Date.now,tt=jt(m,"Map"),et=jt(Object,"create"),nt=function(){function t(){}return function(e){if(!xt(e))return{};if(V)return V(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}();function rt(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function it(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function ot(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function at(t){var e=this.__data__=new it(t);this.size=e.size}function ut(t,e){var n=At(t),r=!n&&Pt(t),i=!n&&!r&&Tt(t),o=!n&&!r&&!i&&Dt(t),a=n||r||i||o,u=a?function(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}(t.length,String):[],c=u.length;for(var s in t)!e&&!J.call(t,s)||a&&("length"==s||i&&("offset"==s||"parent"==s)||o&&("buffer"==s||"byteLength"==s||"byteOffset"==s)||Ot(s,c))||u.push(s);return u}function ct(t,e,n){(void 0===n||It(t[e],n))&&(void 0!==n||e in t)||ft(t,e,n)}function st(t,e,n){var r=t[e];J.call(t,e)&&It(r,n)&&(void 0!==n||e in t)||ft(t,e,n)}function lt(t,e){for(var n=t.length;n--;)if(It(t[n][0],e))return n;return-1}function ft(t,e,n){"__proto__"==e&&X?X(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}rt.prototype.clear=function(){this.__data__=et?et(null):{},this.size=0},rt.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},rt.prototype.get=function(t){var e=this.__data__;if(et){var n=e[t];return n===r?void 0:n}return J.call(e,t)?e[t]:void 0},rt.prototype.has=function(t){var e=this.__data__;return et?void 0!==e[t]:J.call(e,t)},rt.prototype.set=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=et&&void 0===e?r:e,this},it.prototype.clear=function(){this.__data__=[],this.size=0},it.prototype.delete=function(t){var e=this.__data__,n=lt(e,t);return!(n<0)&&(n==e.length-1?e.pop():K.call(e,n,1),--this.size,!0)},it.prototype.get=function(t){var e=this.__data__,n=lt(e,t);return n<0?void 0:e[n][1]},it.prototype.has=function(t){return lt(this.__data__,t)>-1},it.prototype.set=function(t,e){var n=this.__data__,r=lt(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this},ot.prototype.clear=function(){this.size=0,this.__data__={hash:new rt,map:new(tt||it),string:new rt}},ot.prototype.delete=function(t){var e=mt(this,t).delete(t);return this.size-=e?1:0,e},ot.prototype.get=function(t){return mt(this,t).get(t)},ot.prototype.has=function(t){return mt(this,t).has(t)},ot.prototype.set=function(t,e){var n=mt(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this},at.prototype.clear=function(){this.__data__=new it,this.size=0},at.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},at.prototype.get=function(t){return this.__data__.get(t)},at.prototype.has=function(t){return this.__data__.has(t)},at.prototype.set=function(t,e){var r=this.__data__;if(r instanceof it){var i=r.__data__;if(!tt||i.length<n-1)return i.push([t,e]),this.size=++r.size,this;r=this.__data__=new ot(i)}return r.set(t,e),this.size=r.size,this};var vt,ht=function(t,e,n){for(var r=-1,i=Object(t),o=n(t),a=o.length;a--;){var u=o[vt?a:++r];if(!1===e(i[u],u,i))break}return t};function gt(t){return null==t?void 0===t?g:f:W&&W in Object(t)?function(t){var e=J.call(t,W),n=t[W];try{t[W]=void 0;var r=!0}catch(t){}var i=C.call(t);r&&(e?t[W]=n:delete t[W]);return i}(t):function(t){return C.call(t)}(t)}function pt(t){return Lt(t)&&gt(t)==u}function yt(t){return!(!xt(t)||function(t){return!!z&&z in t}(t))&&(kt(t)?U:p).test(function(t){if(null!=t){try{return D.call(t)}catch(t){}try{return t+""}catch(t){}}return""}(t))}function dt(t){if(!xt(t))return function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}(t);var e=St(t),n=[];for(var r in t)("constructor"!=r||!e&&J.call(t,r))&&n.push(r);return n}function bt(t,e,n,r,i){t!==e&&ht(e,(function(o,a){if(i||(i=new at),xt(o))!function(t,e,n,r,i,o,a){var u=wt(t,n),c=wt(e,n),s=a.get(c);if(s)return void ct(t,n,s);var l=o?o(u,c,n+"",t,e,a):void 0,f=void 0===l;if(f){var h=At(c),g=!h&&Tt(c),p=!h&&!g&&Dt(c);l=c,h||g||p?At(u)?l=u:Lt(m=u)&&Ft(m)?l=function(t,e){var n=-1,r=t.length;e||(e=Array(r));for(;++n<r;)e[n]=t[n];return e}(u):g?(f=!1,l=function(t,e){if(e)return t.slice();var n=t.length,r=$?$(n):new t.constructor(n);return t.copy(r),r}(c,!0)):p?(f=!1,y=c,d=!0?(b=y.buffer,_=new b.constructor(b.byteLength),new G(_).set(new G(b)),_):y.buffer,l=new y.constructor(d,y.byteOffset,y.length)):l=[]:function(t){if(!Lt(t)||gt(t)!=v)return!1;var e=q(t);if(null===e)return!0;var n=J.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&D.call(n)==R}(c)||Pt(c)?(l=u,Pt(u)?l=function(t){return function(t,e,n,r){var i=!n;n||(n={});var o=-1,a=e.length;for(;++o<a;){var u=e[o],c=r?r(n[u],t[u],u,n,t):void 0;void 0===c&&(c=t[u]),i?ft(n,u,c):st(n,u,c)}return n}(t,Jt(t))}(u):xt(u)&&!kt(u)||(l=function(t){return"function"!=typeof t.constructor||St(t)?{}:nt(q(t))}(c))):f=!1}var y,d,b,_;var m;f&&(a.set(c,l),i(l,c,r,o,a),a.delete(c));ct(t,n,l)}(t,e,a,n,bt,r,i);else{var u=r?r(wt(t,a),o,a+"",t,e,i):void 0;void 0===u&&(u=o),ct(t,a,u)}}),Jt)}function _t(t,e){return Et(function(t,e,n){return e=Y(void 0===e?t.length-1:e,0),function(){for(var r=arguments,i=-1,o=Y(r.length-e,0),a=Array(o);++i<o;)a[i]=r[e+i];i=-1;for(var u=Array(e+1);++i<e;)u[i]=r[i];return u[e]=n(a),P(t,this,u)}}(t,e,Rt),t+"")}function mt(t,e){var n,r,i=t.__data__;return("string"==(r=typeof(n=e))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?i["string"==typeof e?"string":"hash"]:i.map}function jt(t,e){var n=function(t,e){return null==t?void 0:t[e]}(t,e);return yt(n)?n:void 0}function Ot(t,e){var n=typeof t;return!!(e=null==e?a:e)&&("number"==n||"symbol"!=n&&y.test(t))&&t>-1&&t%1==0&&t<e}function St(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||x)}function wt(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]}var Et=function(t){var e=0,n=0;return function(){var r=Z(),a=o-(r-n);if(n=r,a>0){if(++e>=i)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(X?function(t,e){return X(t,"toString",{configurable:!0,enumerable:!1,value:(n=e,function(){return n}),writable:!0});var n}:Rt);function It(t,e){return t===e||t!=t&&e!=e}var Pt=pt(function(){return arguments}())?pt:function(t){return Lt(t)&&J.call(t,"callee")&&!H.call(t,"callee")},At=Array.isArray;function Ft(t){return null!=t&&Nt(t.length)&&!kt(t)}var Tt=Q||function(){return!1};function kt(t){if(!xt(t))return!1;var e=gt(t);return e==s||e==l||e==c||e==h}function Nt(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=a}function xt(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function Lt(t){return null!=t&&"object"==typeof t}var Dt=I?function(t){return function(e){return t(e)}}(I):function(t){return Lt(t)&&Nt(t.length)&&!!d[gt(t)]};function Jt(t){return Ft(t)?ut(t,!0):dt(t)}var zt,Ct=(zt=function(t,e,n){bt(t,e,n)},_t((function(t,e){var n=-1,r=e.length,i=r>1?e[r-1]:void 0,o=r>2?e[2]:void 0;for(i=zt.length>3&&"function"==typeof i?(r--,i):void 0,o&&function(t,e,n){if(!xt(n))return!1;var r=typeof e;return!!("number"==r?Ft(n)&&Ot(e,n.length):"string"==r&&e in n)&&It(n[e],t)}(e[0],e[1],o)&&(i=r<3?void 0:i,r=1),t=Object(t);++n<r;){var a=e[n];a&&zt(t,a,n,i)}return t})));function Rt(t){return t}t.exports=Ct}).call(this,n(4)(t))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(t,e,n){function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function i(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function o(t){for(var e,n=1;n<arguments.length;n++)e=null==arguments[n]?{}:arguments[n],n%2?i(e,!0).forEach((function(n){u(t,n,e[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):i(e).forEach((function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))}));return t}function a(t,e){for(var n,r=0;r<e.length;r++)(n=e[r]).enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}function u(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var c,s,l="https://api.bullet-train.io/api/v1/",f=n(6),v=function(t){return"Attempted to "+t+" a user before calling flagsmith.init. Call flagsmith.init first, if you wish to prevent it sending a request for flags, call init with preventFetch:true."},h=function(){function t(e){var n=this;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),u(this,"getJSON",(function(t,e,r){var i={method:e||"GET",body:r,headers:{"x-environment-key":n.environmentID}};return"GET"!==e&&(i.headers["Content-Type"]="application/json; charset=utf-8"),c(t,i).then((function(t){return t.text().then((function(e){var n=e;try{n=JSON.parse(e)}catch(t){}return t.ok?n:Promise.reject(n)}))}))})),u(this,"getFlags",(function(t,e){var r=n.onChange,i=n.onError,a=n.identity,u=n.api,c=(n.disableCache,!1),s=function(t,e){var i=t.flags,a=t.traits,u={},c={};if(a=a||[],(i=i||[]).forEach((function(t){u[t.feature.name.toLowerCase().replace(/ /g,"_")]={id:t.feature.id,enabled:t.enabled,value:t.feature_state_value}})),a.forEach((function(t){c[t.trait_key.toLowerCase().replace(/ /g,"_")]=t.trait_value})),n.oldFlags=o({},n.flags),e){var s={};e.map((function(t){s[t.name]=t})),n.segments=s}var l=f(n.flags,u),v=f(n.traits,c);n.flags=u,n.traits=c,n.updateStorage(),r&&r(n.oldFlags,{isFromServer:!0,flagsChanged:!l,traitsChanged:!v})};return a?Promise.all([n.getJSON(u+"identities/?identifier="+encodeURIComponent(a))]).then((function(t){s(t[0],t[1])})).catch((function(t){var e=t.message;i&&i({message:e})})):Promise.all([n.getJSON(u+"flags/")]).then((function(e){s({flags:e[0]},null),t&&!c&&(c=!0,t())})).catch((function(t){e&&!c&&(c=!0,e(t)),i&&i(t)}))})),u(this,"analyticsFlags",(function(){var t=n.api;if(0!==Object.getOwnPropertyNames(n.evaluationEvent).length)return n.getJSON(t+"analytics/flags/","POST",JSON.stringify(n.evaluationEvent)).then((function(){state=n.getState(),n.setState(o({},state,{evaluationEvent:{}})),n.updateEventStorage()})).catch((function(t){n.log("Exception fetching evaluationEvent",t)}))})),u(this,"evaluateFlag",(function(t){n.enableAnalytics&&(void 0===n.evaluationEvent[t]&&(n.evaluationEvent[t]=0),n.evaluationEvent[t]+=1),n.updateEventStorage()})),u(this,"getValue",(function(t){var e=n.flags&&n.flags[t],r=null;return e&&(r=e.value),n.evaluateFlag(t),r})),u(this,"getTrait",(function(t){return n.traits&&n.traits[t]})),u(this,"setTrait",(function(t,e){var r=n.getJSON,i=n.identity,o=n.api;if(o)return r("".concat(o,"traits/"),"POST",JSON.stringify({identity:{identifier:i},trait_key:t,trait_value:e})).then((function(){n.initialised&&n.getFlags()}));console.error(v("setTrait"))})),u(this,"setTraits",(function(t){var e=n.getJSON,i=n.identity,o=n.api;if(o){t&&"object"===r(t)||console.error("Expected object for flagsmith.setTraits");var a=Object.keys(t).map((function(e){return{identity:{identifier:i},trait_key:e,trait_value:t[e]}}));return e("".concat(o,"traits/bulk/"),"PUT",JSON.stringify(a)).then((function(){n.initialised&&n.getFlags()}))}console.error(v("setTraits"))})),u(this,"incrementTrait",(function(t,e){var r=n.getJSON,i=n.identity,o=n.api;return r("".concat(o,"traits/increment-value/"),"POST",JSON.stringify({trait_key:t,increment_by:e,identifier:i})).then(n.getFlags)})),u(this,"hasFeature",(function(t){var e=n.flags&&n.flags[t],r=!1;return e&&e.enabled&&(r=!0),n.evaluateFlag(t),r})),c=e.fetch?e.fetch:global.fetch,s=e.AsyncStorage}return function(t,e,n){e&&a(t.prototype,e),n&&a(t,n)}(t,[{key:"init",value:function(t){var e=this,n=t.environmentID,r=t.api,i=void 0===r?l:r,a=t.onChange,u=t.cacheFlags,c=t.onError,f=t.defaultFlags,v=t.preventFetch,h=t.enableLogs,g=t.enableAnalytics,p=t.AsyncStorage,y=t.state;return new Promise((function(t,r){if(e.environmentID=n,e.api=i,e.getFlagInterval=null,e.analyticsInterval=null,e.onChange=a,e.onError=c,e.enableLogs=h,e.enableAnalytics=!!g&&g,e.flags=Object.assign({},f)||{},e.initialised=!0,e.ticks=1e4,e.timer=e.enableLogs?(new Date).valueOf():null,p&&(s=p),e.cacheFlags=void 0!==s&&u,e.setState(y),!n)throw r("Please specify a environment id"),"Please specify a environment id";s.getItem("BULLET_TRAIN_EVENT").then((function(t){if(t)try{e.evaluationEvent=JSON.parse(t)}catch(t){e.evaluationEvent={}}else e.evaluationEvent={};e.analyticsInterval=setInterval(e.analyticsFlags,e.ticks)})),e.enableAnalytics&&(e.analyticsInterval&&clearInterval(e.analyticsInterval),s.getItem("BULLET_TRAIN_EVENT",(function(t,n){if(n){var r=JSON.parse(n);r&&(y=e.getState(),e.log("Retrieved events from cache",n),e.setState(o({},y,{evaluationEvent:r})))}}))),u?s.getItem("BULLET_TRAIN_DB",(function(n,i){if(i)try{var o=JSON.parse(i);o&&o.api===e.api&&o.environmentID===e.environmentID&&(e.setState(o),e.log("Retrieved flags from cache",o)),e.flags?(e.onChange&&e.onChange(null,{isFromServer:!1}),e.oldFlags=e.flags,t(),!v&&e.getFlags(Promise.resolve,Promise.reject)):!v&&e.getFlags(t,r)}catch(t){e.log("Exception fetching cached logs",t)}else v||e.getFlags(t,r)})):!v&&e.getFlags(t,r)}))}},{key:"getAllFlags",value:function(){return this.flags}},{key:"identify",value:function(t){return this.identity=t,this.initialised&&!this.getFlagInterval?this.getFlags():Promise.resolve()}},{key:"getState",value:function(){return{api:this.api,environmentID:this.environmentID,flags:this.flags,identity:this.identity,segments:this.segments,traits:this.traits,evaluationEvent:this.evaluationEvent}}},{key:"setState",value:function(t){t&&(this.initialised=!0,this.api=t.api||this.api||l,this.environmentID=t.environmentID||this.environmentID,this.flags=t.flags||this.flags,this.identity=t.identity||this.identity,this.segments=t.segments||this.segments,this.traits=t.traits||this.traits,this.evaluationEvent=t.evaluationEvent||this.evaluationEvent)}},{key:"log",value:function(){if(this.enableLogs){for(var t=arguments.length,e=Array(t),n=0;n<t;n++)e[n]=arguments[n];console.log.apply(this,["FLAGSMITH:",(new Date).valueOf()-this.timer,"ms"].concat(e))}}},{key:"updateStorage",value:function(){if(this.cacheFlags){var t=JSON.stringify(this.getState());this.log("Setting storage",t),s.setItem("BULLET_TRAIN_DB",t)}}},{key:"updateEventStorage",value:function(){if(this.enableAnalytics){var t=JSON.stringify(this.getState().evaluationEvent);this.log("Setting event storage",t),s.setItem("BULLET_TRAIN_EVENT",t)}}},{key:"logout",value:function(){this.identity=null,this.segments=null,this.traits=null,this.initialised&&!this.getFlagInterval&&this.getFlags()}},{key:"startListening",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:1e3;this.getFlagInterval||(this.getFlagInterval=setInterval(this.getFlags,t))}},{key:"getSegments",value:function(){}},{key:"stopListening",value:function(){clearInterval(this.getFlagInterval)}}]),t}();t.exports=function(t){var e=t.fetch,n=t.AsyncStorage;return new h({fetch:e,AsyncStorage:n})}},function(t,e,n){"use strict";t.exports=function t(e,n){if(e===n)return!0;if(e&&n&&"object"==typeof e&&"object"==typeof n){if(e.constructor!==n.constructor)return!1;var r,i,o;if(Array.isArray(e)){if((r=e.length)!=n.length)return!1;for(i=r;0!=i--;)if(!t(e[i],n[i]))return!1;return!0}if(e.constructor===RegExp)return e.source===n.source&&e.flags===n.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===n.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===n.toString();if((r=(o=Object.keys(e)).length)!==Object.keys(n).length)return!1;for(i=r;0!=i--;)if(!Object.prototype.hasOwnProperty.call(n,o[i]))return!1;for(i=r;0!=i--;){var a=o[i];if(!t(e[a],n[a]))return!1}return!0}return e!=e&&n!=n}}])}));

@@ -1,1 +0,1 @@

!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var r=t();for(var n in r)("object"==typeof exports?exports:e)[n]=r[n]}}(this,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=6)}([function(e,t){e.exports=require("stream")},function(e,t){e.exports=require("zlib")},function(e,t){e.exports=require("url")},function(e,t){e.exports=require("http")},function(e,t){e.exports=require("https")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var r=[],n=!0,o=!1,i=void 0;try{for(var s,a=e[Symbol.iterator]();!(n=(s=a.next()).done)&&(r.push(s.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{!n&&a.return&&a.return()}finally{if(o)throw i}}return r}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},i=r(9),s=(n=i)&&n.__esModule?n:{default:n};var a={getItem:function(e,t){return a.multiGet([e]).then((function(e){return e[0][1]})).then((function(e){return t&&t(null,e),e})).catch((function(e){return t&&t(e,null),e}))},setItem:function(e,t,r){return a.multiSet([[e,t]]).then((function(e){return r&&r(null,e),e})).catch((function(e){return r&&r(e,null),e}))},getAllKeys:function(e){return Promise.resolve(Object.keys(localStorage)).then((function(t){return e&&e(null,t),t})).catch((function(t){return e&&e(t,null),t}))},removeItem:function(e,t){return a.multiRemove([e]).then((function(){t&&t(null)})).catch((function(e){t&&t(e,null)}))},clear:function(){return new Promise((function(e){window.localStorage.clear(),e()}))},mergeItem:function(e,t){return a.multiMerge([[e,t]])},multiGet:function(e){return new Promise((function(t){t(e.reduce((function(e,t){return e.concat([[t,localStorage.getItem(t)]])}),[]))}))},multiSet:function(e){return new Promise((function(t,r){var n=[];return e.forEach((function(e){var t=o(e,2),r=t[0],i=t[1];try{localStorage.setItem(r,i)}catch(e){n.push(e)}})),n.length>0?r(n):t()}))},multiMerge:function(e){return new Promise((function(t,r){var n=[];return e.forEach((function(e){var t=o(e,2),r=t[0],i=t[1],a=localStorage.getItem(r);if(a)try{localStorage.setItem(r,JSON.stringify((0,s.default)(JSON.parse(a),JSON.parse(i))))}catch(e){n.push(e)}})),n.length>0?r(n):t()}))},multiRemove:function(e){return new Promise((function(t){e.forEach((function(e){return window.localStorage.removeItem(e)})),t()}))},flushGetRequests:function(){console.warn("AsyncStorage.flushGetRequests: Not supported on `web`")}};t.default=a},function(e,t,r){"use strict";r.r(t);var n=r(5),o=r.n(n),i=r(7).default;"undefined"==typeof window&&(i=r(8).default);var s=r(11)({AsyncStorage:o.a,fetch:i});"undefined"!=typeof window&&(window.flagsmith=s),t.default=s},function(e,t,r){"use strict";r.r(t),t.default=function(e,t){return t=t||{},new Promise((function(r,n){var o=new XMLHttpRequest,i=[],s=[],a={},u=function(){return{ok:2==(o.status/100|0),statusText:o.statusText,status:o.status,url:o.responseURL,text:function(){return Promise.resolve(o.responseText)},json:function(){return Promise.resolve(JSON.parse(o.responseText))},blob:function(){return Promise.resolve(new Blob([o.response]))},clone:u,headers:{keys:function(){return i},entries:function(){return s},get:function(e){return a[e.toLowerCase()]},has:function(e){return e.toLowerCase()in a}}}};for(var c in o.open(t.method||"get",e,!0),o.onload=function(){o.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,(function(e,t,r){i.push(t=t.toLowerCase()),s.push([t,r]),a[t]=a[t]?a[t]+","+r:r})),r(u())},o.onerror=n,o.withCredentials="include"==t.credentials,t.headers)o.setRequestHeader(c,t.headers[c]);o.send(t.body||null)}))}},function(e,t,r){"use strict";r.r(t),r.d(t,"Headers",(function(){return A})),r.d(t,"Request",(function(){return M})),r.d(t,"Response",(function(){return I})),r.d(t,"FetchError",(function(){return h}));var n=r(0),o=r(3),i=r(2),s=r(4),a=r(1);const u=n.Readable,c=Symbol("buffer"),l=Symbol("type");class f{constructor(){this[l]="";const e=arguments[0],t=arguments[1],r=[];let n=0;if(e){const t=e,o=Number(t.length);for(let e=0;e<o;e++){const o=t[e];let i;n+=(i=o instanceof Buffer?o:ArrayBuffer.isView(o)?Buffer.from(o.buffer,o.byteOffset,o.byteLength):o instanceof ArrayBuffer?Buffer.from(o):o instanceof f?o[c]:Buffer.from("string"==typeof o?o:String(o))).length,r.push(i)}}this[c]=Buffer.concat(r);let o=t&&void 0!==t.type&&String(t.type).toLowerCase();o&&!/[^\u0020-\u007E]/.test(o)&&(this[l]=o)}get size(){return this[c].length}get type(){return this[l]}text(){return Promise.resolve(this[c].toString())}arrayBuffer(){const e=this[c],t=e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);return Promise.resolve(t)}stream(){const e=new u;return e._read=function(){},e.push(this[c]),e.push(null),e}toString(){return"[object Blob]"}slice(){const e=this.size,t=arguments[0],r=arguments[1];let n,o;n=void 0===t?0:t<0?Math.max(e+t,0):Math.min(t,e),o=void 0===r?e:r<0?Math.max(e+r,0):Math.min(r,e);const i=Math.max(o-n,0),s=this[c].slice(n,n+i),a=new f([],{type:arguments[2]});return a[c]=s,a}}function h(e,t,r){Error.call(this,e),this.message=e,this.type=t,r&&(this.code=this.errno=r.code),Error.captureStackTrace(this,this.constructor)}let p;Object.defineProperties(f.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}}),Object.defineProperty(f.prototype,Symbol.toStringTag,{value:"Blob",writable:!1,enumerable:!1,configurable:!0}),h.prototype=Object.create(Error.prototype),h.prototype.constructor=h,h.prototype.name="FetchError";try{p=require("encoding").convert}catch(e){}const d=Symbol("Body internals"),y=n.PassThrough;function g(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=r.size;let i=void 0===o?0:o;var s=r.timeout;let a=void 0===s?0:s;null==e?e=null:m(e)?e=Buffer.from(e.toString()):v(e)||Buffer.isBuffer(e)||("[object ArrayBuffer]"===Object.prototype.toString.call(e)?e=Buffer.from(e):ArrayBuffer.isView(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):e instanceof n||(e=Buffer.from(String(e)))),this[d]={body:e,disturbed:!1,error:null},this.size=i,this.timeout=a,e instanceof n&&e.on("error",(function(e){const r="AbortError"===e.name?e:new h(`Invalid response body while trying to fetch ${t.url}: ${e.message}`,"system",e);t[d].error=r}))}function b(){var e=this;if(this[d].disturbed)return g.Promise.reject(new TypeError(`body used already for: ${this.url}`));if(this[d].disturbed=!0,this[d].error)return g.Promise.reject(this[d].error);let t=this.body;if(null===t)return g.Promise.resolve(Buffer.alloc(0));if(v(t)&&(t=t.stream()),Buffer.isBuffer(t))return g.Promise.resolve(t);if(!(t instanceof n))return g.Promise.resolve(Buffer.alloc(0));let r=[],o=0,i=!1;return new g.Promise((function(n,s){let a;e.timeout&&(a=setTimeout((function(){i=!0,s(new h(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))}),e.timeout)),t.on("error",(function(t){"AbortError"===t.name?(i=!0,s(t)):s(new h(`Invalid response body while trying to fetch ${e.url}: ${t.message}`,"system",t))})),t.on("data",(function(t){if(!i&&null!==t){if(e.size&&o+t.length>e.size)return i=!0,void s(new h(`content size at ${e.url} over limit: ${e.size}`,"max-size"));o+=t.length,r.push(t)}})),t.on("end",(function(){if(!i){clearTimeout(a);try{n(Buffer.concat(r,o))}catch(t){s(new h(`Could not create Buffer from response body for ${e.url}: ${t.message}`,"system",t))}}}))}))}function m(e){return"object"==typeof e&&"function"==typeof e.append&&"function"==typeof e.delete&&"function"==typeof e.get&&"function"==typeof e.getAll&&"function"==typeof e.has&&"function"==typeof e.set&&("URLSearchParams"===e.constructor.name||"[object URLSearchParams]"===Object.prototype.toString.call(e)||"function"==typeof e.sort)}function v(e){return"object"==typeof e&&"function"==typeof e.arrayBuffer&&"string"==typeof e.type&&"function"==typeof e.stream&&"function"==typeof e.constructor&&"string"==typeof e.constructor.name&&/^(Blob|File)$/.test(e.constructor.name)&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}function w(e){let t,r,o=e.body;if(e.bodyUsed)throw new Error("cannot clone body after it is used");return o instanceof n&&"function"!=typeof o.getBoundary&&(t=new y,r=new y,o.pipe(t),o.pipe(r),e[d].body=t,o=r),o}function j(e){return null===e?null:"string"==typeof e?"text/plain;charset=UTF-8":m(e)?"application/x-www-form-urlencoded;charset=UTF-8":v(e)?e.type||null:Buffer.isBuffer(e)?null:"[object ArrayBuffer]"===Object.prototype.toString.call(e)?null:ArrayBuffer.isView(e)?null:"function"==typeof e.getBoundary?`multipart/form-data;boundary=${e.getBoundary()}`:e instanceof n?null:"text/plain;charset=UTF-8"}function _(e){const t=e.body;return null===t?0:v(t)?t.size:Buffer.isBuffer(t)?t.length:t&&"function"==typeof t.getLengthSync&&(t._lengthRetrievers&&0==t._lengthRetrievers.length||t.hasKnownLength&&t.hasKnownLength())?t.getLengthSync():null}g.prototype={get body(){return this[d].body},get bodyUsed(){return this[d].disturbed},arrayBuffer(){return b.call(this).then((function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}))},blob(){let e=this.headers&&this.headers.get("content-type")||"";return b.call(this).then((function(t){return Object.assign(new f([],{type:e.toLowerCase()}),{[c]:t})}))},json(){var e=this;return b.call(this).then((function(t){try{return JSON.parse(t.toString())}catch(t){return g.Promise.reject(new h(`invalid json response body at ${e.url} reason: ${t.message}`,"invalid-json"))}}))},text(){return b.call(this).then((function(e){return e.toString()}))},buffer(){return b.call(this)},textConverted(){var e=this;return b.call(this).then((function(t){return function(e,t){if("function"!=typeof p)throw new Error("The package `encoding` must be installed to use the textConverted() function");const r=t.get("content-type");let n,o,i="utf-8";r&&(n=/charset=([^;]*)/i.exec(r));o=e.slice(0,1024).toString(),!n&&o&&(n=/<meta.+?charset=(['"])(.+?)\1/i.exec(o));!n&&o&&(n=/<meta[\s]+?http-equiv=(['"])content-type\1[\s]+?content=(['"])(.+?)\2/i.exec(o))&&(n=/charset=(.*)/i.exec(n.pop()));!n&&o&&(n=/<\?xml.+?encoding=(['"])(.+?)\1/i.exec(o));n&&("gb2312"!==(i=n.pop())&&"gbk"!==i||(i="gb18030"));return p(e,"UTF-8",i).toString()}(t,e.headers)}))}},Object.defineProperties(g.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0}}),g.mixIn=function(e){for(const t of Object.getOwnPropertyNames(g.prototype))if(!(t in e)){const r=Object.getOwnPropertyDescriptor(g.prototype,t);Object.defineProperty(e,t,r)}},g.Promise=global.Promise;const O=/[^\^_`a-zA-Z\-0-9!#$%&'*+.|~]/,S=/[^\t\x20-\x7e\x80-\xff]/;function P(e){if(e=`${e}`,O.test(e)||""===e)throw new TypeError(`${e} is not a legal HTTP header name`)}function T(e){if(e=`${e}`,S.test(e))throw new TypeError(`${e} is not a legal HTTP header value`)}function x(e,t){t=t.toLowerCase();for(const r in e)if(r.toLowerCase()===t)return r}const E=Symbol("map");class A{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0;if(this[E]=Object.create(null),e instanceof A){const t=e.raw(),r=Object.keys(t);for(const e of r)for(const r of t[e])this.append(e,r)}else if(null==e);else{if("object"!=typeof e)throw new TypeError("Provided initializer must be an object");{const t=e[Symbol.iterator];if(null!=t){if("function"!=typeof t)throw new TypeError("Header pairs must be iterable");const r=[];for(const t of e){if("object"!=typeof t||"function"!=typeof t[Symbol.iterator])throw new TypeError("Each header pair must be iterable");r.push(Array.from(t))}for(const e of r){if(2!==e.length)throw new TypeError("Each header pair must be a name/value tuple");this.append(e[0],e[1])}}else for(const t of Object.keys(e)){const r=e[t];this.append(t,r)}}}}get(e){P(e=`${e}`);const t=x(this[E],e);return void 0===t?null:this[E][t].join(", ")}forEach(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,r=k(this),n=0;for(;n<r.length;){var o=r[n];const i=o[0],s=o[1];e.call(t,s,i,this),r=k(this),n++}}set(e,t){t=`${t}`,P(e=`${e}`),T(t);const r=x(this[E],e);this[E][void 0!==r?r:e]=[t]}append(e,t){t=`${t}`,P(e=`${e}`),T(t);const r=x(this[E],e);void 0!==r?this[E][r].push(t):this[E][e]=[t]}has(e){return P(e=`${e}`),void 0!==x(this[E],e)}delete(e){P(e=`${e}`);const t=x(this[E],e);void 0!==t&&delete this[E][t]}raw(){return this[E]}keys(){return C(this,"key")}values(){return C(this,"value")}[Symbol.iterator](){return C(this,"key+value")}}function k(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"key+value";return Object.keys(e[E]).sort().map("key"===t?function(e){return e.toLowerCase()}:"value"===t?function(t){return e[E][t].join(", ")}:function(t){return[t.toLowerCase(),e[E][t].join(", ")]})}A.prototype.entries=A.prototype[Symbol.iterator],Object.defineProperty(A.prototype,Symbol.toStringTag,{value:"Headers",writable:!1,enumerable:!1,configurable:!0}),Object.defineProperties(A.prototype,{get:{enumerable:!0},forEach:{enumerable:!0},set:{enumerable:!0},append:{enumerable:!0},has:{enumerable:!0},delete:{enumerable:!0},keys:{enumerable:!0},values:{enumerable:!0},entries:{enumerable:!0}});const B=Symbol("internal");function C(e,t){const r=Object.create(L);return r[B]={target:e,kind:t,index:0},r}const L=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==L)throw new TypeError("Value of `this` is not a HeadersIterator");var e=this[B];const t=e.target,r=e.kind,n=e.index,o=k(t,r);return n>=o.length?{value:void 0,done:!0}:(this[B].index=n+1,{value:o[n],done:!1})}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));function $(e){const t=Object.assign({__proto__:null},e[E]),r=x(e[E],"Host");return void 0!==r&&(t[r]=t[r][0]),t}Object.defineProperty(L,Symbol.toStringTag,{value:"HeadersIterator",writable:!1,enumerable:!1,configurable:!0});const z=Symbol("Response internals"),F=o.STATUS_CODES;class I{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};g.call(this,e,t);const r=t.status||200,n=new A(t.headers);if(null!=e&&!n.has("Content-Type")){const t=j(e);t&&n.append("Content-Type",t)}this[z]={url:t.url,status:r,statusText:t.statusText||F[r],headers:n,counter:t.counter}}get url(){return this[z].url||""}get status(){return this[z].status}get ok(){return this[z].status>=200&&this[z].status<300}get redirected(){return this[z].counter>0}get statusText(){return this[z].statusText}get headers(){return this[z].headers}clone(){return new I(w(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}}g.mixIn(I.prototype),Object.defineProperties(I.prototype,{url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}}),Object.defineProperty(I.prototype,Symbol.toStringTag,{value:"Response",writable:!1,enumerable:!1,configurable:!0});const R=Symbol("Request internals"),U=i.parse,D=i.format,N="destroy"in n.Readable.prototype;function q(e){return"object"==typeof e&&"object"==typeof e[R]}class M{constructor(e){let t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};q(e)?t=U(e.url):(t=e&&e.href?U(e.href):U(`${e}`),e={});let n=r.method||e.method||"GET";if(n=n.toUpperCase(),(null!=r.body||q(e)&&null!==e.body)&&("GET"===n||"HEAD"===n))throw new TypeError("Request with GET/HEAD method cannot have body");let o=null!=r.body?r.body:q(e)&&null!==e.body?w(e):null;g.call(this,o,{timeout:r.timeout||e.timeout||0,size:r.size||e.size||0});const i=new A(r.headers||e.headers||{});if(null!=o&&!i.has("Content-Type")){const e=j(o);e&&i.append("Content-Type",e)}let s=q(e)?e.signal:null;if("signal"in r&&(s=r.signal),null!=s&&!function(e){const t=e&&"object"==typeof e&&Object.getPrototypeOf(e);return!(!t||"AbortSignal"!==t.constructor.name)}(s))throw new TypeError("Expected signal to be an instanceof AbortSignal");this[R]={method:n,redirect:r.redirect||e.redirect||"follow",headers:i,parsedURL:t,signal:s},this.follow=void 0!==r.follow?r.follow:void 0!==e.follow?e.follow:20,this.compress=void 0!==r.compress?r.compress:void 0===e.compress||e.compress,this.counter=r.counter||e.counter||0,this.agent=r.agent||e.agent}get method(){return this[R].method}get url(){return D(this[R].parsedURL)}get headers(){return this[R].headers}get redirect(){return this[R].redirect}get signal(){return this[R].signal}clone(){return new M(this)}}function H(e){Error.call(this,e),this.type="aborted",this.message=e,Error.captureStackTrace(this,this.constructor)}g.mixIn(M.prototype),Object.defineProperty(M.prototype,Symbol.toStringTag,{value:"Request",writable:!1,enumerable:!1,configurable:!0}),Object.defineProperties(M.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0}}),H.prototype=Object.create(Error.prototype),H.prototype.constructor=H,H.prototype.name="AbortError";const J=n.PassThrough,G=i.resolve;function V(e,t){if(!V.Promise)throw new Error("native promise missing, set fetch.Promise to your favorite alternative");return g.Promise=V.Promise,new V.Promise((function(r,i){const u=new M(e,t),c=function(e){const t=e[R].parsedURL,r=new A(e[R].headers);if(r.has("Accept")||r.set("Accept","*/*"),!t.protocol||!t.hostname)throw new TypeError("Only absolute URLs are supported");if(!/^https?:$/.test(t.protocol))throw new TypeError("Only HTTP(S) protocols are supported");if(e.signal&&e.body instanceof n.Readable&&!N)throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8");let o=null;if(null==e.body&&/^(POST|PUT)$/i.test(e.method)&&(o="0"),null!=e.body){const t=_(e);"number"==typeof t&&(o=String(t))}o&&r.set("Content-Length",o),r.has("User-Agent")||r.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)"),e.compress&&!r.has("Accept-Encoding")&&r.set("Accept-Encoding","gzip,deflate");let i=e.agent;return"function"==typeof i&&(i=i(t)),r.has("Connection")||i||r.set("Connection","close"),Object.assign({},t,{method:e.method,headers:$(r),agent:i})}(u),l=("https:"===c.protocol?s:o).request,f=u.signal;let p=null;const d=function(){let e=new H("The user aborted a request.");i(e),u.body&&u.body instanceof n.Readable&&u.body.destroy(e),p&&p.body&&p.body.emit("error",e)};if(f&&f.aborted)return void d();const y=function(){d(),m()},g=l(c);let b;function m(){g.abort(),f&&f.removeEventListener("abort",y),clearTimeout(b)}f&&f.addEventListener("abort",y),u.timeout&&g.once("socket",(function(e){b=setTimeout((function(){i(new h(`network timeout at: ${u.url}`,"request-timeout")),m()}),u.timeout)})),g.on("error",(function(e){i(new h(`request to ${u.url} failed, reason: ${e.message}`,"system",e)),m()})),g.on("response",(function(e){clearTimeout(b);const t=function(e){const t=new A;for(const r of Object.keys(e))if(!O.test(r))if(Array.isArray(e[r]))for(const n of e[r])S.test(n)||(void 0===t[E][r]?t[E][r]=[n]:t[E][r].push(n));else S.test(e[r])||(t[E][r]=[e[r]]);return t}(e.headers);if(V.isRedirect(e.statusCode)){const n=t.get("Location"),o=null===n?null:G(u.url,n);switch(u.redirect){case"error":return i(new h(`redirect mode is set to error: ${u.url}`,"no-redirect")),void m();case"manual":if(null!==o)try{t.set("Location",o)}catch(e){i(e)}break;case"follow":if(null===o)break;if(u.counter>=u.follow)return i(new h(`maximum redirect reached at: ${u.url}`,"max-redirect")),void m();const n={headers:new A(u.headers),follow:u.follow,counter:u.counter+1,agent:u.agent,compress:u.compress,method:u.method,body:u.body,signal:u.signal,timeout:u.timeout};return 303!==e.statusCode&&u.body&&null===_(u)?(i(new h("Cannot follow redirect with body being a readable stream","unsupported-redirect")),void m()):(303!==e.statusCode&&(301!==e.statusCode&&302!==e.statusCode||"POST"!==u.method)||(n.method="GET",n.body=void 0,n.headers.delete("content-length")),r(V(new M(o,n))),void m())}}e.once("end",(function(){f&&f.removeEventListener("abort",y)}));let n=e.pipe(new J);const o={url:u.url,status:e.statusCode,statusText:e.statusMessage,headers:t,size:u.size,timeout:u.timeout,counter:u.counter},s=t.get("Content-Encoding");if(!u.compress||"HEAD"===u.method||null===s||204===e.statusCode||304===e.statusCode)return p=new I(n,o),void r(p);const c={flush:a.Z_SYNC_FLUSH,finishFlush:a.Z_SYNC_FLUSH};if("gzip"==s||"x-gzip"==s)return n=n.pipe(a.createGunzip(c)),p=new I(n,o),void r(p);if("deflate"!=s&&"x-deflate"!=s){if("br"==s&&"function"==typeof a.createBrotliDecompress)return n=n.pipe(a.createBrotliDecompress()),p=new I(n,o),void r(p);p=new I(n,o),r(p)}else{e.pipe(new J).once("data",(function(e){n=8==(15&e[0])?n.pipe(a.createInflate()):n.pipe(a.createInflateRaw()),p=new I(n,o),r(p)}))}})),function(e,t){const r=t.body;null===r?e.end():v(r)?r.stream().pipe(e):Buffer.isBuffer(r)?(e.write(r),e.end()):r.pipe(e)}(g,u)}))}V.isRedirect=function(e){return 301===e||302===e||303===e||307===e||308===e},V.Promise=global.Promise,t.default=V},function(e,t,r){(function(e){var r=200,n="__lodash_hash_undefined__",o=800,i=16,s=9007199254740991,a="[object Arguments]",u="[object AsyncFunction]",c="[object Function]",l="[object GeneratorFunction]",f="[object Null]",h="[object Object]",p="[object Proxy]",d="[object Undefined]",y=/^\[object .+?Constructor\]$/,g=/^(?:0|[1-9]\d*)$/,b={};b["[object Float32Array]"]=b["[object Float64Array]"]=b["[object Int8Array]"]=b["[object Int16Array]"]=b["[object Int32Array]"]=b["[object Uint8Array]"]=b["[object Uint8ClampedArray]"]=b["[object Uint16Array]"]=b["[object Uint32Array]"]=!0,b[a]=b["[object Array]"]=b["[object ArrayBuffer]"]=b["[object Boolean]"]=b["[object DataView]"]=b["[object Date]"]=b["[object Error]"]=b[c]=b["[object Map]"]=b["[object Number]"]=b[h]=b["[object RegExp]"]=b["[object Set]"]=b["[object String]"]=b["[object WeakMap]"]=!1;var m="object"==typeof global&&global&&global.Object===Object&&global,v="object"==typeof self&&self&&self.Object===Object&&self,w=m||v||Function("return this")(),j=t&&!t.nodeType&&t,_=j&&"object"==typeof e&&e&&!e.nodeType&&e,O=_&&_.exports===j,S=O&&m.process,P=function(){try{var e=_&&_.require&&_.require("util").types;return e||S&&S.binding&&S.binding("util")}catch(e){}}(),T=P&&P.isTypedArray;function x(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}var E,A,k,B=Array.prototype,C=Function.prototype,L=Object.prototype,$=w["__core-js_shared__"],z=C.toString,F=L.hasOwnProperty,I=(E=/[^.]+$/.exec($&&$.keys&&$.keys.IE_PROTO||""))?"Symbol(src)_1."+E:"",R=L.toString,U=z.call(Object),D=RegExp("^"+z.call(F).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),N=O?w.Buffer:void 0,q=w.Symbol,M=w.Uint8Array,H=N?N.allocUnsafe:void 0,J=(A=Object.getPrototypeOf,k=Object,function(e){return A(k(e))}),G=Object.create,V=L.propertyIsEnumerable,K=B.splice,Z=q?q.toStringTag:void 0,Y=function(){try{var e=je(Object,"defineProperty");return e({},"",{}),e}catch(e){}}(),W=N?N.isBuffer:void 0,X=Math.max,Q=Date.now,ee=je(w,"Map"),te=je(Object,"create"),re=function(){function e(){}return function(t){if(!Le(t))return{};if(G)return G(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();function ne(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function oe(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function ie(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function se(e){var t=this.__data__=new oe(e);this.size=t.size}function ae(e,t){var r=Ee(e),n=!r&&xe(e),o=!r&&!n&&ke(e),i=!r&&!n&&!o&&ze(e),s=r||n||o||i,a=s?function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}(e.length,String):[],u=a.length;for(var c in e)!t&&!F.call(e,c)||s&&("length"==c||o&&("offset"==c||"parent"==c)||i&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||_e(c,u))||a.push(c);return a}function ue(e,t,r){(void 0===r||Te(e[t],r))&&(void 0!==r||t in e)||fe(e,t,r)}function ce(e,t,r){var n=e[t];F.call(e,t)&&Te(n,r)&&(void 0!==r||t in e)||fe(e,t,r)}function le(e,t){for(var r=e.length;r--;)if(Te(e[r][0],t))return r;return-1}function fe(e,t,r){"__proto__"==t&&Y?Y(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}ne.prototype.clear=function(){this.__data__=te?te(null):{},this.size=0},ne.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},ne.prototype.get=function(e){var t=this.__data__;if(te){var r=t[e];return r===n?void 0:r}return F.call(t,e)?t[e]:void 0},ne.prototype.has=function(e){var t=this.__data__;return te?void 0!==t[e]:F.call(t,e)},ne.prototype.set=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=te&&void 0===t?n:t,this},oe.prototype.clear=function(){this.__data__=[],this.size=0},oe.prototype.delete=function(e){var t=this.__data__,r=le(t,e);return!(r<0)&&(r==t.length-1?t.pop():K.call(t,r,1),--this.size,!0)},oe.prototype.get=function(e){var t=this.__data__,r=le(t,e);return r<0?void 0:t[r][1]},oe.prototype.has=function(e){return le(this.__data__,e)>-1},oe.prototype.set=function(e,t){var r=this.__data__,n=le(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this},ie.prototype.clear=function(){this.size=0,this.__data__={hash:new ne,map:new(ee||oe),string:new ne}},ie.prototype.delete=function(e){var t=we(this,e).delete(e);return this.size-=t?1:0,t},ie.prototype.get=function(e){return we(this,e).get(e)},ie.prototype.has=function(e){return we(this,e).has(e)},ie.prototype.set=function(e,t){var r=we(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this},se.prototype.clear=function(){this.__data__=new oe,this.size=0},se.prototype.delete=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r},se.prototype.get=function(e){return this.__data__.get(e)},se.prototype.has=function(e){return this.__data__.has(e)},se.prototype.set=function(e,t){var n=this.__data__;if(n instanceof oe){var o=n.__data__;if(!ee||o.length<r-1)return o.push([e,t]),this.size=++n.size,this;n=this.__data__=new ie(o)}return n.set(e,t),this.size=n.size,this};var he,pe=function(e,t,r){for(var n=-1,o=Object(e),i=r(e),s=i.length;s--;){var a=i[he?s:++n];if(!1===t(o[a],a,o))break}return e};function de(e){return null==e?void 0===e?d:f:Z&&Z in Object(e)?function(e){var t=F.call(e,Z),r=e[Z];try{e[Z]=void 0;var n=!0}catch(e){}var o=R.call(e);n&&(t?e[Z]=r:delete e[Z]);return o}(e):function(e){return R.call(e)}(e)}function ye(e){return $e(e)&&de(e)==a}function ge(e){return!(!Le(e)||function(e){return!!I&&I in e}(e))&&(Be(e)?D:y).test(function(e){if(null!=e){try{return z.call(e)}catch(e){}try{return e+""}catch(e){}}return""}(e))}function be(e){if(!Le(e))return function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}(e);var t=Oe(e),r=[];for(var n in e)("constructor"!=n||!t&&F.call(e,n))&&r.push(n);return r}function me(e,t,r,n,o){e!==t&&pe(t,(function(i,s){if(o||(o=new se),Le(i))!function(e,t,r,n,o,i,s){var a=Se(e,r),u=Se(t,r),c=s.get(u);if(c)return void ue(e,r,c);var l=i?i(a,u,r+"",e,t,s):void 0,f=void 0===l;if(f){var p=Ee(u),d=!p&&ke(u),y=!p&&!d&&ze(u);l=u,p||d||y?Ee(a)?l=a:$e(w=a)&&Ae(w)?l=function(e,t){var r=-1,n=e.length;t||(t=Array(n));for(;++r<n;)t[r]=e[r];return t}(a):d?(f=!1,l=function(e,t){if(t)return e.slice();var r=e.length,n=H?H(r):new e.constructor(r);return e.copy(n),n}(u,!0)):y?(f=!1,g=u,b=!0?(m=g.buffer,v=new m.constructor(m.byteLength),new M(v).set(new M(m)),v):g.buffer,l=new g.constructor(b,g.byteOffset,g.length)):l=[]:function(e){if(!$e(e)||de(e)!=h)return!1;var t=J(e);if(null===t)return!0;var r=F.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&z.call(r)==U}(u)||xe(u)?(l=a,xe(a)?l=function(e){return function(e,t,r,n){var o=!r;r||(r={});var i=-1,s=t.length;for(;++i<s;){var a=t[i],u=n?n(r[a],e[a],a,r,e):void 0;void 0===u&&(u=e[a]),o?fe(r,a,u):ce(r,a,u)}return r}(e,Fe(e))}(a):Le(a)&&!Be(a)||(l=function(e){return"function"!=typeof e.constructor||Oe(e)?{}:re(J(e))}(u))):f=!1}var g,b,m,v;var w;f&&(s.set(u,l),o(l,u,n,i,s),s.delete(u));ue(e,r,l)}(e,t,s,r,me,n,o);else{var a=n?n(Se(e,s),i,s+"",e,t,o):void 0;void 0===a&&(a=i),ue(e,s,a)}}),Fe)}function ve(e,t){return Pe(function(e,t,r){return t=X(void 0===t?e.length-1:t,0),function(){for(var n=arguments,o=-1,i=X(n.length-t,0),s=Array(i);++o<i;)s[o]=n[t+o];o=-1;for(var a=Array(t+1);++o<t;)a[o]=n[o];return a[t]=r(s),x(e,this,a)}}(e,t,Ue),e+"")}function we(e,t){var r,n,o=e.__data__;return("string"==(n=typeof(r=t))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof t?"string":"hash"]:o.map}function je(e,t){var r=function(e,t){return null==e?void 0:e[t]}(e,t);return ge(r)?r:void 0}function _e(e,t){var r=typeof e;return!!(t=null==t?s:t)&&("number"==r||"symbol"!=r&&g.test(e))&&e>-1&&e%1==0&&e<t}function Oe(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||L)}function Se(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}var Pe=function(e){var t=0,r=0;return function(){var n=Q(),s=i-(n-r);if(r=n,s>0){if(++t>=o)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}(Y?function(e,t){return Y(e,"toString",{configurable:!0,enumerable:!1,value:(r=t,function(){return r}),writable:!0});var r}:Ue);function Te(e,t){return e===t||e!=e&&t!=t}var xe=ye(function(){return arguments}())?ye:function(e){return $e(e)&&F.call(e,"callee")&&!V.call(e,"callee")},Ee=Array.isArray;function Ae(e){return null!=e&&Ce(e.length)&&!Be(e)}var ke=W||function(){return!1};function Be(e){if(!Le(e))return!1;var t=de(e);return t==c||t==l||t==u||t==p}function Ce(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=s}function Le(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function $e(e){return null!=e&&"object"==typeof e}var ze=T?function(e){return function(t){return e(t)}}(T):function(e){return $e(e)&&Ce(e.length)&&!!b[de(e)]};function Fe(e){return Ae(e)?ae(e,!0):be(e)}var Ie,Re=(Ie=function(e,t,r){me(e,t,r)},ve((function(e,t){var r=-1,n=t.length,o=n>1?t[n-1]:void 0,i=n>2?t[2]:void 0;for(o=Ie.length>3&&"function"==typeof o?(n--,o):void 0,i&&function(e,t,r){if(!Le(r))return!1;var n=typeof t;return!!("number"==n?Ae(r)&&_e(t,r.length):"string"==n&&t in r)&&Te(r[t],e)}(t[0],t[1],i)&&(o=n<3?void 0:o,n=1),e=Object(e);++r<n;){var s=t[r];s&&Ie(e,s,r,o)}return e})));function Ue(e){return e}e.exports=Re}).call(this,r(10)(e))},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,r){function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e,t){for(var r,n=0;n<t.length;n++)(r=t[n]).enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}function s(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var a,u,c="https://api.bullet-train.io/api/v1/",l=r(12),f=function(e){return"Attempted to "+e+" a user before calling flagsmith.init. Call flagsmith.init first, if you wish to prevent it sending a request for flags, call init with preventFetch:true."},h=function(){function e(t){var r=this;(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")})(this,e),s(this,"getJSON",(function(e,t,n){var o={method:t||"GET",body:n,headers:{"x-environment-key":r.environmentID}};return"GET"!==t&&(o.headers["Content-Type"]="application/json; charset=utf-8"),a(e,o).then((function(e){return 200<=e.status&&300>e.status?e:e.text().then((function(e){var t=e;try{t=JSON.parse(e)}catch(e){}return Promise.reject(t)}))})).then((function(e){return e.json()}))})),s(this,"getFlags",(function(e,t){var n=r.onChange,i=r.onError,a=r.identity,u=r.api,c=(r.disableCache,!1),f=function(e,t){var i=e.flags,a=e.traits,u={},c={};if(a=a||[],(i=i||[]).forEach((function(e){u[e.feature.name.toLowerCase().replace(/ /g,"_")]={enabled:e.enabled,value:e.feature_state_value}})),a.forEach((function(e){c[e.trait_key.toLowerCase().replace(/ /g,"_")]=e.trait_value})),r.oldFlags=function(e){for(var t,r=1;r<arguments.length;r++)t=null==arguments[r]?{}:arguments[r],r%2?o(t,!0).forEach((function(r){s(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(t).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}));return e}({},r.flags),t){var f={};t.map((function(e){f[e.name]=e})),r.segments=f}var h=l(r.flags,u),p=l(r.traits,c);r.flags=u,r.traits=c,r.updateStorage(),n&&n(r.oldFlags,{isFromServer:!0,flagsChanged:!h,traitsChanged:!p})};return a?Promise.all([r.getJSON(u+"identities/?identifier="+encodeURIComponent(a))]).then((function(e){f(e[0],e[1])})).catch((function(e){var t=e.message;i&&i({message:t})})):Promise.all([r.getJSON(u+"flags/")]).then((function(t){f({flags:t[0]},null),e&&!c&&(c=!0,e())})).catch((function(e){t&&!c&&(c=!0,t(e)),i&&i(e)}))})),s(this,"getValue",(function(e){var t=r.flags&&r.flags[e],n=null;return t&&(n=t.value),n})),s(this,"getTrait",(function(e){return r.traits&&r.traits[e]})),s(this,"setTrait",(function(e,t){var n=r.getJSON,o=r.identity,i=r.api;if(i)return n("".concat(i,"traits/"),"POST",JSON.stringify({identity:{identifier:o},trait_key:e,trait_value:t})).then((function(){r.initialised&&r.getFlags()}));console.error(f("setTrait"))})),s(this,"setTraits",(function(e){var t=r.getJSON,o=r.identity,i=r.api;if(i){e&&"object"===n(e)||console.error("Expected object for flagsmith.setTraits");var s=Object.keys(e).map((function(t){return{identity:{identifier:o},trait_key:t,trait_value:e[t]}}));return t("".concat(i,"traits/bulk/"),"PUT",JSON.stringify(s)).then((function(){r.initialised&&r.getFlags()}))}console.error(f("setTraits"))})),s(this,"incrementTrait",(function(e,t){var n=r.getJSON,o=r.identity,i=r.api;return n("".concat(i,"traits/increment-value/"),"POST",JSON.stringify({trait_key:e,increment_by:t,identifier:o})).then(r.getFlags)})),s(this,"hasFeature",(function(e){var t=r.flags&&r.flags[e],n=!1;return t&&t.enabled&&(n=!0),n})),a=t.fetch?t.fetch:global.fetch,u=t.AsyncStorage}return function(e,t,r){t&&i(e.prototype,t),r&&i(e,r)}(e,[{key:"init",value:function(e){var t=this,r=e.environmentID,n=e.api,o=void 0===n?c:n,i=e.onChange,s=e.cacheFlags,a=e.onError,l=e.defaultFlags,f=e.preventFetch,h=e.enableLogs,p=e.AsyncStorage,d=e.state;return new Promise((function(e,n){if(t.environmentID=r,t.api=o,t.interval=null,t.onChange=i,t.onError=a,t.enableLogs=h,t.flags=Object.assign({},l)||{},t.initialised=!0,t.timer=t.enableLogs?(new Date).valueOf():null,p&&(u=p),t.cacheFlags=void 0!==u&&s,t.setState(d),!r)throw n("Please specify a environment id"),"Please specify a environment id";s?u.getItem("BULLET_TRAIN_DB",(function(r,o){if(o)try{var i=JSON.parse(o);i&&i.api===t.api&&i.environmentID===t.environmentID&&(t.setState(i),t.log("Retrieved flags from cache",i)),t.flags?(t.onChange&&t.onChange(null,{isFromServer:!1}),t.oldFlags=t.flags,e(),!f&&t.getFlags(Promise.resolve,Promise.reject)):!f&&t.getFlags(e,n)}catch(e){t.log("Exception fetching cached logs",e)}else f||t.getFlags(e,n)})):!f&&t.getFlags(e,n)}))}},{key:"getAllFlags",value:function(){return this.flags}},{key:"identify",value:function(e){return this.identity=e,this.initialised&&!this.interval?this.getFlags():Promise.resolve()}},{key:"getState",value:function(){return{api:this.api,environmentID:this.environmentID,flags:this.flags,identity:this.identity,segments:this.segments,traits:this.traits}}},{key:"setState",value:function(e){e&&(this.initialised=!0,this.api=e.api||this.api||c,this.environmentID=e.environmentID||this.environmentID,this.flags=e.flags||this.flags,this.identity=e.identity||this.identity,this.segments=e.segments||this.segments,this.traits=e.traits||this.traits)}},{key:"log",value:function(){if(this.enableLogs){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];console.log.apply(this,["FLAGSMITH:",(new Date).valueOf()-this.timer,"ms"].concat(t))}}},{key:"updateStorage",value:function(){if(this.cacheFlags){var e=JSON.stringify(this.getState());this.log("Setting storage",e),u.setItem("BULLET_TRAIN_DB",e)}}},{key:"logout",value:function(){this.identity=null,this.segments=null,this.traits=null,this.initialised&&!this.interval&&this.getFlags()}},{key:"startListening",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:1e3;this.interval||(this.interval=setInterval(this.getFlags,e))}},{key:"getSegments",value:function(){}},{key:"stopListening",value:function(){clearInterval(this.interval)}}]),e}();e.exports=function(e){var t=e.fetch,r=e.AsyncStorage;return new h({fetch:t,AsyncStorage:r})}},function(e,t,r){"use strict";e.exports=function e(t,r){if(t===r)return!0;if(t&&r&&"object"==typeof t&&"object"==typeof r){if(t.constructor!==r.constructor)return!1;var n,o,i;if(Array.isArray(t)){if((n=t.length)!=r.length)return!1;for(o=n;0!=o--;)if(!e(t[o],r[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if((n=(i=Object.keys(t)).length)!==Object.keys(r).length)return!1;for(o=n;0!=o--;)if(!Object.prototype.hasOwnProperty.call(r,i[o]))return!1;for(o=n;0!=o--;){var s=i[o];if(!e(t[s],r[s]))return!1}return!0}return t!=t&&r!=r}}])}));
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var r in n)("object"==typeof exports?exports:e)[r]=n[r]}}(this,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=6)}([function(e,t){e.exports=require("stream")},function(e,t){e.exports=require("zlib")},function(e,t){e.exports=require("url")},function(e,t){e.exports=require("http")},function(e,t){e.exports=require("https")},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,o=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{!r&&s.return&&s.return()}finally{if(o)throw i}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},i=n(9),a=(r=i)&&r.__esModule?r:{default:r};var s={getItem:function(e,t){return s.multiGet([e]).then((function(e){return e[0][1]})).then((function(e){return t&&t(null,e),e})).catch((function(e){return t&&t(e,null),e}))},setItem:function(e,t,n){return s.multiSet([[e,t]]).then((function(e){return n&&n(null,e),e})).catch((function(e){return n&&n(e,null),e}))},getAllKeys:function(e){return Promise.resolve(Object.keys(localStorage)).then((function(t){return e&&e(null,t),t})).catch((function(t){return e&&e(t,null),t}))},removeItem:function(e,t){return s.multiRemove([e]).then((function(){t&&t(null)})).catch((function(e){t&&t(e,null)}))},clear:function(){return new Promise((function(e){window.localStorage.clear(),e()}))},mergeItem:function(e,t){return s.multiMerge([[e,t]])},multiGet:function(e){return new Promise((function(t){t(e.reduce((function(e,t){return e.concat([[t,localStorage.getItem(t)]])}),[]))}))},multiSet:function(e){return new Promise((function(t,n){var r=[];return e.forEach((function(e){var t=o(e,2),n=t[0],i=t[1];try{localStorage.setItem(n,i)}catch(e){r.push(e)}})),r.length>0?n(r):t()}))},multiMerge:function(e){return new Promise((function(t,n){var r=[];return e.forEach((function(e){var t=o(e,2),n=t[0],i=t[1],s=localStorage.getItem(n);if(s)try{localStorage.setItem(n,JSON.stringify((0,a.default)(JSON.parse(s),JSON.parse(i))))}catch(e){r.push(e)}})),r.length>0?n(r):t()}))},multiRemove:function(e){return new Promise((function(t){e.forEach((function(e){return window.localStorage.removeItem(e)})),t()}))},flushGetRequests:function(){console.warn("AsyncStorage.flushGetRequests: Not supported on `web`")}};t.default=s},function(e,t,n){"use strict";n.r(t);var r=n(5),o=n.n(r),i=n(7).default;"undefined"==typeof window&&(i=n(8).default);var a=n(11)({AsyncStorage:o.a,fetch:i});"undefined"!=typeof window&&(window.flagsmith=a),t.default=a},function(e,t,n){"use strict";n.r(t),t.default=function(e,t){return t=t||{},new Promise((function(n,r){var o=new XMLHttpRequest,i=[],a=[],s={},u=function(){return{ok:2==(o.status/100|0),statusText:o.statusText,status:o.status,url:o.responseURL,text:function(){return Promise.resolve(o.responseText)},json:function(){return Promise.resolve(JSON.parse(o.responseText))},blob:function(){return Promise.resolve(new Blob([o.response]))},clone:u,headers:{keys:function(){return i},entries:function(){return a},get:function(e){return s[e.toLowerCase()]},has:function(e){return e.toLowerCase()in s}}}};for(var c in o.open(t.method||"get",e,!0),o.onload=function(){o.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,(function(e,t,n){i.push(t=t.toLowerCase()),a.push([t,n]),s[t]=s[t]?s[t]+","+n:n})),n(u())},o.onerror=r,o.withCredentials="include"==t.credentials,t.headers)o.setRequestHeader(c,t.headers[c]);o.send(t.body||null)}))}},function(e,t,n){"use strict";n.r(t),n.d(t,"Headers",(function(){return A})),n.d(t,"Request",(function(){return J})),n.d(t,"Response",(function(){return z})),n.d(t,"FetchError",(function(){return h}));var r=n(0),o=n(3),i=n(2),a=n(4),s=n(1);const u=r.Readable,c=Symbol("buffer"),l=Symbol("type");class f{constructor(){this[l]="";const e=arguments[0],t=arguments[1],n=[];let r=0;if(e){const t=e,o=Number(t.length);for(let e=0;e<o;e++){const o=t[e];let i;r+=(i=o instanceof Buffer?o:ArrayBuffer.isView(o)?Buffer.from(o.buffer,o.byteOffset,o.byteLength):o instanceof ArrayBuffer?Buffer.from(o):o instanceof f?o[c]:Buffer.from("string"==typeof o?o:String(o))).length,n.push(i)}}this[c]=Buffer.concat(n);let o=t&&void 0!==t.type&&String(t.type).toLowerCase();o&&!/[^\u0020-\u007E]/.test(o)&&(this[l]=o)}get size(){return this[c].length}get type(){return this[l]}text(){return Promise.resolve(this[c].toString())}arrayBuffer(){const e=this[c],t=e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);return Promise.resolve(t)}stream(){const e=new u;return e._read=function(){},e.push(this[c]),e.push(null),e}toString(){return"[object Blob]"}slice(){const e=this.size,t=arguments[0],n=arguments[1];let r,o;r=void 0===t?0:t<0?Math.max(e+t,0):Math.min(t,e),o=void 0===n?e:n<0?Math.max(e+n,0):Math.min(n,e);const i=Math.max(o-r,0),a=this[c].slice(r,r+i),s=new f([],{type:arguments[2]});return s[c]=a,s}}function h(e,t,n){Error.call(this,e),this.message=e,this.type=t,n&&(this.code=this.errno=n.code),Error.captureStackTrace(this,this.constructor)}let p;Object.defineProperties(f.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}}),Object.defineProperty(f.prototype,Symbol.toStringTag,{value:"Blob",writable:!1,enumerable:!1,configurable:!0}),h.prototype=Object.create(Error.prototype),h.prototype.constructor=h,h.prototype.name="FetchError";try{p=require("encoding").convert}catch(e){}const d=Symbol("Body internals"),y=r.PassThrough;function g(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=n.size;let i=void 0===o?0:o;var a=n.timeout;let s=void 0===a?0:a;null==e?e=null:v(e)?e=Buffer.from(e.toString()):m(e)||Buffer.isBuffer(e)||("[object ArrayBuffer]"===Object.prototype.toString.call(e)?e=Buffer.from(e):ArrayBuffer.isView(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):e instanceof r||(e=Buffer.from(String(e)))),this[d]={body:e,disturbed:!1,error:null},this.size=i,this.timeout=s,e instanceof r&&e.on("error",(function(e){const n="AbortError"===e.name?e:new h(`Invalid response body while trying to fetch ${t.url}: ${e.message}`,"system",e);t[d].error=n}))}function b(){var e=this;if(this[d].disturbed)return g.Promise.reject(new TypeError(`body used already for: ${this.url}`));if(this[d].disturbed=!0,this[d].error)return g.Promise.reject(this[d].error);let t=this.body;if(null===t)return g.Promise.resolve(Buffer.alloc(0));if(m(t)&&(t=t.stream()),Buffer.isBuffer(t))return g.Promise.resolve(t);if(!(t instanceof r))return g.Promise.resolve(Buffer.alloc(0));let n=[],o=0,i=!1;return new g.Promise((function(r,a){let s;e.timeout&&(s=setTimeout((function(){i=!0,a(new h(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))}),e.timeout)),t.on("error",(function(t){"AbortError"===t.name?(i=!0,a(t)):a(new h(`Invalid response body while trying to fetch ${e.url}: ${t.message}`,"system",t))})),t.on("data",(function(t){if(!i&&null!==t){if(e.size&&o+t.length>e.size)return i=!0,void a(new h(`content size at ${e.url} over limit: ${e.size}`,"max-size"));o+=t.length,n.push(t)}})),t.on("end",(function(){if(!i){clearTimeout(s);try{r(Buffer.concat(n,o))}catch(t){a(new h(`Could not create Buffer from response body for ${e.url}: ${t.message}`,"system",t))}}}))}))}function v(e){return"object"==typeof e&&"function"==typeof e.append&&"function"==typeof e.delete&&"function"==typeof e.get&&"function"==typeof e.getAll&&"function"==typeof e.has&&"function"==typeof e.set&&("URLSearchParams"===e.constructor.name||"[object URLSearchParams]"===Object.prototype.toString.call(e)||"function"==typeof e.sort)}function m(e){return"object"==typeof e&&"function"==typeof e.arrayBuffer&&"string"==typeof e.type&&"function"==typeof e.stream&&"function"==typeof e.constructor&&"string"==typeof e.constructor.name&&/^(Blob|File)$/.test(e.constructor.name)&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}function w(e){let t,n,o=e.body;if(e.bodyUsed)throw new Error("cannot clone body after it is used");return o instanceof r&&"function"!=typeof o.getBoundary&&(t=new y,n=new y,o.pipe(t),o.pipe(n),e[d].body=t,o=n),o}function _(e){return null===e?null:"string"==typeof e?"text/plain;charset=UTF-8":v(e)?"application/x-www-form-urlencoded;charset=UTF-8":m(e)?e.type||null:Buffer.isBuffer(e)?null:"[object ArrayBuffer]"===Object.prototype.toString.call(e)?null:ArrayBuffer.isView(e)?null:"function"==typeof e.getBoundary?`multipart/form-data;boundary=${e.getBoundary()}`:e instanceof r?null:"text/plain;charset=UTF-8"}function j(e){const t=e.body;return null===t?0:m(t)?t.size:Buffer.isBuffer(t)?t.length:t&&"function"==typeof t.getLengthSync&&(t._lengthRetrievers&&0==t._lengthRetrievers.length||t.hasKnownLength&&t.hasKnownLength())?t.getLengthSync():null}g.prototype={get body(){return this[d].body},get bodyUsed(){return this[d].disturbed},arrayBuffer(){return b.call(this).then((function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}))},blob(){let e=this.headers&&this.headers.get("content-type")||"";return b.call(this).then((function(t){return Object.assign(new f([],{type:e.toLowerCase()}),{[c]:t})}))},json(){var e=this;return b.call(this).then((function(t){try{return JSON.parse(t.toString())}catch(t){return g.Promise.reject(new h(`invalid json response body at ${e.url} reason: ${t.message}`,"invalid-json"))}}))},text(){return b.call(this).then((function(e){return e.toString()}))},buffer(){return b.call(this)},textConverted(){var e=this;return b.call(this).then((function(t){return function(e,t){if("function"!=typeof p)throw new Error("The package `encoding` must be installed to use the textConverted() function");const n=t.get("content-type");let r,o,i="utf-8";n&&(r=/charset=([^;]*)/i.exec(n));o=e.slice(0,1024).toString(),!r&&o&&(r=/<meta.+?charset=(['"])(.+?)\1/i.exec(o));!r&&o&&(r=/<meta[\s]+?http-equiv=(['"])content-type\1[\s]+?content=(['"])(.+?)\2/i.exec(o))&&(r=/charset=(.*)/i.exec(r.pop()));!r&&o&&(r=/<\?xml.+?encoding=(['"])(.+?)\1/i.exec(o));r&&("gb2312"!==(i=r.pop())&&"gbk"!==i||(i="gb18030"));return p(e,"UTF-8",i).toString()}(t,e.headers)}))}},Object.defineProperties(g.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0}}),g.mixIn=function(e){for(const t of Object.getOwnPropertyNames(g.prototype))if(!(t in e)){const n=Object.getOwnPropertyDescriptor(g.prototype,t);Object.defineProperty(e,t,n)}},g.Promise=global.Promise;const S=/[^\^_`a-zA-Z\-0-9!#$%&'*+.|~]/,O=/[^\t\x20-\x7e\x80-\xff]/;function E(e){if(e=`${e}`,S.test(e)||""===e)throw new TypeError(`${e} is not a legal HTTP header name`)}function T(e){if(e=`${e}`,O.test(e))throw new TypeError(`${e} is not a legal HTTP header value`)}function P(e,t){t=t.toLowerCase();for(const n in e)if(n.toLowerCase()===t)return n}const x=Symbol("map");class A{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0;if(this[x]=Object.create(null),e instanceof A){const t=e.raw(),n=Object.keys(t);for(const e of n)for(const n of t[e])this.append(e,n)}else if(null==e);else{if("object"!=typeof e)throw new TypeError("Provided initializer must be an object");{const t=e[Symbol.iterator];if(null!=t){if("function"!=typeof t)throw new TypeError("Header pairs must be iterable");const n=[];for(const t of e){if("object"!=typeof t||"function"!=typeof t[Symbol.iterator])throw new TypeError("Each header pair must be iterable");n.push(Array.from(t))}for(const e of n){if(2!==e.length)throw new TypeError("Each header pair must be a name/value tuple");this.append(e[0],e[1])}}else for(const t of Object.keys(e)){const n=e[t];this.append(t,n)}}}}get(e){E(e=`${e}`);const t=P(this[x],e);return void 0===t?null:this[x][t].join(", ")}forEach(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n=I(this),r=0;for(;r<n.length;){var o=n[r];const i=o[0],a=o[1];e.call(t,a,i,this),n=I(this),r++}}set(e,t){t=`${t}`,E(e=`${e}`),T(t);const n=P(this[x],e);this[x][void 0!==n?n:e]=[t]}append(e,t){t=`${t}`,E(e=`${e}`),T(t);const n=P(this[x],e);void 0!==n?this[x][n].push(t):this[x][e]=[t]}has(e){return E(e=`${e}`),void 0!==P(this[x],e)}delete(e){E(e=`${e}`);const t=P(this[x],e);void 0!==t&&delete this[x][t]}raw(){return this[x]}keys(){return B(this,"key")}values(){return B(this,"value")}[Symbol.iterator](){return B(this,"key+value")}}function I(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"key+value";return Object.keys(e[x]).sort().map("key"===t?function(e){return e.toLowerCase()}:"value"===t?function(t){return e[x][t].join(", ")}:function(t){return[t.toLowerCase(),e[x][t].join(", ")]})}A.prototype.entries=A.prototype[Symbol.iterator],Object.defineProperty(A.prototype,Symbol.toStringTag,{value:"Headers",writable:!1,enumerable:!1,configurable:!0}),Object.defineProperties(A.prototype,{get:{enumerable:!0},forEach:{enumerable:!0},set:{enumerable:!0},append:{enumerable:!0},has:{enumerable:!0},delete:{enumerable:!0},keys:{enumerable:!0},values:{enumerable:!0},entries:{enumerable:!0}});const k=Symbol("internal");function B(e,t){const n=Object.create(F);return n[k]={target:e,kind:t,index:0},n}const F=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==F)throw new TypeError("Value of `this` is not a HeadersIterator");var e=this[k];const t=e.target,n=e.kind,r=e.index,o=I(t,n);return r>=o.length?{value:void 0,done:!0}:(this[k].index=r+1,{value:o[r],done:!1})}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));function L(e){const t=Object.assign({__proto__:null},e[x]),n=P(e[x],"Host");return void 0!==n&&(t[n]=t[n][0]),t}Object.defineProperty(F,Symbol.toStringTag,{value:"HeadersIterator",writable:!1,enumerable:!1,configurable:!0});const C=Symbol("Response internals"),$=o.STATUS_CODES;class z{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};g.call(this,e,t);const n=t.status||200,r=new A(t.headers);if(null!=e&&!r.has("Content-Type")){const t=_(e);t&&r.append("Content-Type",t)}this[C]={url:t.url,status:n,statusText:t.statusText||$[n],headers:r,counter:t.counter}}get url(){return this[C].url||""}get status(){return this[C].status}get ok(){return this[C].status>=200&&this[C].status<300}get redirected(){return this[C].counter>0}get statusText(){return this[C].statusText}get headers(){return this[C].headers}clone(){return new z(w(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}}g.mixIn(z.prototype),Object.defineProperties(z.prototype,{url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}}),Object.defineProperty(z.prototype,Symbol.toStringTag,{value:"Response",writable:!1,enumerable:!1,configurable:!0});const R=Symbol("Request internals"),N=i.parse,U=i.format,D="destroy"in r.Readable.prototype;function q(e){return"object"==typeof e&&"object"==typeof e[R]}class J{constructor(e){let t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};q(e)?t=N(e.url):(t=e&&e.href?N(e.href):N(`${e}`),e={});let r=n.method||e.method||"GET";if(r=r.toUpperCase(),(null!=n.body||q(e)&&null!==e.body)&&("GET"===r||"HEAD"===r))throw new TypeError("Request with GET/HEAD method cannot have body");let o=null!=n.body?n.body:q(e)&&null!==e.body?w(e):null;g.call(this,o,{timeout:n.timeout||e.timeout||0,size:n.size||e.size||0});const i=new A(n.headers||e.headers||{});if(null!=o&&!i.has("Content-Type")){const e=_(o);e&&i.append("Content-Type",e)}let a=q(e)?e.signal:null;if("signal"in n&&(a=n.signal),null!=a&&!function(e){const t=e&&"object"==typeof e&&Object.getPrototypeOf(e);return!(!t||"AbortSignal"!==t.constructor.name)}(a))throw new TypeError("Expected signal to be an instanceof AbortSignal");this[R]={method:r,redirect:n.redirect||e.redirect||"follow",headers:i,parsedURL:t,signal:a},this.follow=void 0!==n.follow?n.follow:void 0!==e.follow?e.follow:20,this.compress=void 0!==n.compress?n.compress:void 0===e.compress||e.compress,this.counter=n.counter||e.counter||0,this.agent=n.agent||e.agent}get method(){return this[R].method}get url(){return U(this[R].parsedURL)}get headers(){return this[R].headers}get redirect(){return this[R].redirect}get signal(){return this[R].signal}clone(){return new J(this)}}function M(e){Error.call(this,e),this.type="aborted",this.message=e,Error.captureStackTrace(this,this.constructor)}g.mixIn(J.prototype),Object.defineProperty(J.prototype,Symbol.toStringTag,{value:"Request",writable:!1,enumerable:!1,configurable:!0}),Object.defineProperties(J.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0}}),M.prototype=Object.create(Error.prototype),M.prototype.constructor=M,M.prototype.name="AbortError";const H=r.PassThrough,G=i.resolve;function V(e,t){if(!V.Promise)throw new Error("native promise missing, set fetch.Promise to your favorite alternative");return g.Promise=V.Promise,new V.Promise((function(n,i){const u=new J(e,t),c=function(e){const t=e[R].parsedURL,n=new A(e[R].headers);if(n.has("Accept")||n.set("Accept","*/*"),!t.protocol||!t.hostname)throw new TypeError("Only absolute URLs are supported");if(!/^https?:$/.test(t.protocol))throw new TypeError("Only HTTP(S) protocols are supported");if(e.signal&&e.body instanceof r.Readable&&!D)throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8");let o=null;if(null==e.body&&/^(POST|PUT)$/i.test(e.method)&&(o="0"),null!=e.body){const t=j(e);"number"==typeof t&&(o=String(t))}o&&n.set("Content-Length",o),n.has("User-Agent")||n.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)"),e.compress&&!n.has("Accept-Encoding")&&n.set("Accept-Encoding","gzip,deflate");let i=e.agent;return"function"==typeof i&&(i=i(t)),n.has("Connection")||i||n.set("Connection","close"),Object.assign({},t,{method:e.method,headers:L(n),agent:i})}(u),l=("https:"===c.protocol?a:o).request,f=u.signal;let p=null;const d=function(){let e=new M("The user aborted a request.");i(e),u.body&&u.body instanceof r.Readable&&u.body.destroy(e),p&&p.body&&p.body.emit("error",e)};if(f&&f.aborted)return void d();const y=function(){d(),v()},g=l(c);let b;function v(){g.abort(),f&&f.removeEventListener("abort",y),clearTimeout(b)}f&&f.addEventListener("abort",y),u.timeout&&g.once("socket",(function(e){b=setTimeout((function(){i(new h(`network timeout at: ${u.url}`,"request-timeout")),v()}),u.timeout)})),g.on("error",(function(e){i(new h(`request to ${u.url} failed, reason: ${e.message}`,"system",e)),v()})),g.on("response",(function(e){clearTimeout(b);const t=function(e){const t=new A;for(const n of Object.keys(e))if(!S.test(n))if(Array.isArray(e[n]))for(const r of e[n])O.test(r)||(void 0===t[x][n]?t[x][n]=[r]:t[x][n].push(r));else O.test(e[n])||(t[x][n]=[e[n]]);return t}(e.headers);if(V.isRedirect(e.statusCode)){const r=t.get("Location"),o=null===r?null:G(u.url,r);switch(u.redirect){case"error":return i(new h(`redirect mode is set to error: ${u.url}`,"no-redirect")),void v();case"manual":if(null!==o)try{t.set("Location",o)}catch(e){i(e)}break;case"follow":if(null===o)break;if(u.counter>=u.follow)return i(new h(`maximum redirect reached at: ${u.url}`,"max-redirect")),void v();const r={headers:new A(u.headers),follow:u.follow,counter:u.counter+1,agent:u.agent,compress:u.compress,method:u.method,body:u.body,signal:u.signal,timeout:u.timeout};return 303!==e.statusCode&&u.body&&null===j(u)?(i(new h("Cannot follow redirect with body being a readable stream","unsupported-redirect")),void v()):(303!==e.statusCode&&(301!==e.statusCode&&302!==e.statusCode||"POST"!==u.method)||(r.method="GET",r.body=void 0,r.headers.delete("content-length")),n(V(new J(o,r))),void v())}}e.once("end",(function(){f&&f.removeEventListener("abort",y)}));let r=e.pipe(new H);const o={url:u.url,status:e.statusCode,statusText:e.statusMessage,headers:t,size:u.size,timeout:u.timeout,counter:u.counter},a=t.get("Content-Encoding");if(!u.compress||"HEAD"===u.method||null===a||204===e.statusCode||304===e.statusCode)return p=new z(r,o),void n(p);const c={flush:s.Z_SYNC_FLUSH,finishFlush:s.Z_SYNC_FLUSH};if("gzip"==a||"x-gzip"==a)return r=r.pipe(s.createGunzip(c)),p=new z(r,o),void n(p);if("deflate"!=a&&"x-deflate"!=a){if("br"==a&&"function"==typeof s.createBrotliDecompress)return r=r.pipe(s.createBrotliDecompress()),p=new z(r,o),void n(p);p=new z(r,o),n(p)}else{e.pipe(new H).once("data",(function(e){r=8==(15&e[0])?r.pipe(s.createInflate()):r.pipe(s.createInflateRaw()),p=new z(r,o),n(p)}))}})),function(e,t){const n=t.body;null===n?e.end():m(n)?n.stream().pipe(e):Buffer.isBuffer(n)?(e.write(n),e.end()):n.pipe(e)}(g,u)}))}V.isRedirect=function(e){return 301===e||302===e||303===e||307===e||308===e},V.Promise=global.Promise,t.default=V},function(e,t,n){(function(e){var n=200,r="__lodash_hash_undefined__",o=800,i=16,a=9007199254740991,s="[object Arguments]",u="[object AsyncFunction]",c="[object Function]",l="[object GeneratorFunction]",f="[object Null]",h="[object Object]",p="[object Proxy]",d="[object Undefined]",y=/^\[object .+?Constructor\]$/,g=/^(?:0|[1-9]\d*)$/,b={};b["[object Float32Array]"]=b["[object Float64Array]"]=b["[object Int8Array]"]=b["[object Int16Array]"]=b["[object Int32Array]"]=b["[object Uint8Array]"]=b["[object Uint8ClampedArray]"]=b["[object Uint16Array]"]=b["[object Uint32Array]"]=!0,b[s]=b["[object Array]"]=b["[object ArrayBuffer]"]=b["[object Boolean]"]=b["[object DataView]"]=b["[object Date]"]=b["[object Error]"]=b[c]=b["[object Map]"]=b["[object Number]"]=b[h]=b["[object RegExp]"]=b["[object Set]"]=b["[object String]"]=b["[object WeakMap]"]=!1;var v="object"==typeof global&&global&&global.Object===Object&&global,m="object"==typeof self&&self&&self.Object===Object&&self,w=v||m||Function("return this")(),_=t&&!t.nodeType&&t,j=_&&"object"==typeof e&&e&&!e.nodeType&&e,S=j&&j.exports===_,O=S&&v.process,E=function(){try{var e=j&&j.require&&j.require("util").types;return e||O&&O.binding&&O.binding("util")}catch(e){}}(),T=E&&E.isTypedArray;function P(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}var x,A,I,k=Array.prototype,B=Function.prototype,F=Object.prototype,L=w["__core-js_shared__"],C=B.toString,$=F.hasOwnProperty,z=(x=/[^.]+$/.exec(L&&L.keys&&L.keys.IE_PROTO||""))?"Symbol(src)_1."+x:"",R=F.toString,N=C.call(Object),U=RegExp("^"+C.call($).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),D=S?w.Buffer:void 0,q=w.Symbol,J=w.Uint8Array,M=D?D.allocUnsafe:void 0,H=(A=Object.getPrototypeOf,I=Object,function(e){return A(I(e))}),G=Object.create,V=F.propertyIsEnumerable,K=k.splice,Z=q?q.toStringTag:void 0,Y=function(){try{var e=_e(Object,"defineProperty");return e({},"",{}),e}catch(e){}}(),W=D?D.isBuffer:void 0,X=Math.max,Q=Date.now,ee=_e(w,"Map"),te=_e(Object,"create"),ne=function(){function e(){}return function(t){if(!Fe(t))return{};if(G)return G(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();function re(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function oe(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function ie(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function ae(e){var t=this.__data__=new oe(e);this.size=t.size}function se(e,t){var n=xe(e),r=!n&&Pe(e),o=!n&&!r&&Ie(e),i=!n&&!r&&!o&&Ce(e),a=n||r||o||i,s=a?function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}(e.length,String):[],u=s.length;for(var c in e)!t&&!$.call(e,c)||a&&("length"==c||o&&("offset"==c||"parent"==c)||i&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||je(c,u))||s.push(c);return s}function ue(e,t,n){(void 0===n||Te(e[t],n))&&(void 0!==n||t in e)||fe(e,t,n)}function ce(e,t,n){var r=e[t];$.call(e,t)&&Te(r,n)&&(void 0!==n||t in e)||fe(e,t,n)}function le(e,t){for(var n=e.length;n--;)if(Te(e[n][0],t))return n;return-1}function fe(e,t,n){"__proto__"==t&&Y?Y(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}re.prototype.clear=function(){this.__data__=te?te(null):{},this.size=0},re.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},re.prototype.get=function(e){var t=this.__data__;if(te){var n=t[e];return n===r?void 0:n}return $.call(t,e)?t[e]:void 0},re.prototype.has=function(e){var t=this.__data__;return te?void 0!==t[e]:$.call(t,e)},re.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=te&&void 0===t?r:t,this},oe.prototype.clear=function(){this.__data__=[],this.size=0},oe.prototype.delete=function(e){var t=this.__data__,n=le(t,e);return!(n<0)&&(n==t.length-1?t.pop():K.call(t,n,1),--this.size,!0)},oe.prototype.get=function(e){var t=this.__data__,n=le(t,e);return n<0?void 0:t[n][1]},oe.prototype.has=function(e){return le(this.__data__,e)>-1},oe.prototype.set=function(e,t){var n=this.__data__,r=le(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},ie.prototype.clear=function(){this.size=0,this.__data__={hash:new re,map:new(ee||oe),string:new re}},ie.prototype.delete=function(e){var t=we(this,e).delete(e);return this.size-=t?1:0,t},ie.prototype.get=function(e){return we(this,e).get(e)},ie.prototype.has=function(e){return we(this,e).has(e)},ie.prototype.set=function(e,t){var n=we(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},ae.prototype.clear=function(){this.__data__=new oe,this.size=0},ae.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},ae.prototype.get=function(e){return this.__data__.get(e)},ae.prototype.has=function(e){return this.__data__.has(e)},ae.prototype.set=function(e,t){var r=this.__data__;if(r instanceof oe){var o=r.__data__;if(!ee||o.length<n-1)return o.push([e,t]),this.size=++r.size,this;r=this.__data__=new ie(o)}return r.set(e,t),this.size=r.size,this};var he,pe=function(e,t,n){for(var r=-1,o=Object(e),i=n(e),a=i.length;a--;){var s=i[he?a:++r];if(!1===t(o[s],s,o))break}return e};function de(e){return null==e?void 0===e?d:f:Z&&Z in Object(e)?function(e){var t=$.call(e,Z),n=e[Z];try{e[Z]=void 0;var r=!0}catch(e){}var o=R.call(e);r&&(t?e[Z]=n:delete e[Z]);return o}(e):function(e){return R.call(e)}(e)}function ye(e){return Le(e)&&de(e)==s}function ge(e){return!(!Fe(e)||function(e){return!!z&&z in e}(e))&&(ke(e)?U:y).test(function(e){if(null!=e){try{return C.call(e)}catch(e){}try{return e+""}catch(e){}}return""}(e))}function be(e){if(!Fe(e))return function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}(e);var t=Se(e),n=[];for(var r in e)("constructor"!=r||!t&&$.call(e,r))&&n.push(r);return n}function ve(e,t,n,r,o){e!==t&&pe(t,(function(i,a){if(o||(o=new ae),Fe(i))!function(e,t,n,r,o,i,a){var s=Oe(e,n),u=Oe(t,n),c=a.get(u);if(c)return void ue(e,n,c);var l=i?i(s,u,n+"",e,t,a):void 0,f=void 0===l;if(f){var p=xe(u),d=!p&&Ie(u),y=!p&&!d&&Ce(u);l=u,p||d||y?xe(s)?l=s:Le(w=s)&&Ae(w)?l=function(e,t){var n=-1,r=e.length;t||(t=Array(r));for(;++n<r;)t[n]=e[n];return t}(s):d?(f=!1,l=function(e,t){if(t)return e.slice();var n=e.length,r=M?M(n):new e.constructor(n);return e.copy(r),r}(u,!0)):y?(f=!1,g=u,b=!0?(v=g.buffer,m=new v.constructor(v.byteLength),new J(m).set(new J(v)),m):g.buffer,l=new g.constructor(b,g.byteOffset,g.length)):l=[]:function(e){if(!Le(e)||de(e)!=h)return!1;var t=H(e);if(null===t)return!0;var n=$.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&C.call(n)==N}(u)||Pe(u)?(l=s,Pe(s)?l=function(e){return function(e,t,n,r){var o=!n;n||(n={});var i=-1,a=t.length;for(;++i<a;){var s=t[i],u=r?r(n[s],e[s],s,n,e):void 0;void 0===u&&(u=e[s]),o?fe(n,s,u):ce(n,s,u)}return n}(e,$e(e))}(s):Fe(s)&&!ke(s)||(l=function(e){return"function"!=typeof e.constructor||Se(e)?{}:ne(H(e))}(u))):f=!1}var g,b,v,m;var w;f&&(a.set(u,l),o(l,u,r,i,a),a.delete(u));ue(e,n,l)}(e,t,a,n,ve,r,o);else{var s=r?r(Oe(e,a),i,a+"",e,t,o):void 0;void 0===s&&(s=i),ue(e,a,s)}}),$e)}function me(e,t){return Ee(function(e,t,n){return t=X(void 0===t?e.length-1:t,0),function(){for(var r=arguments,o=-1,i=X(r.length-t,0),a=Array(i);++o<i;)a[o]=r[t+o];o=-1;for(var s=Array(t+1);++o<t;)s[o]=r[o];return s[t]=n(a),P(e,this,s)}}(e,t,Ne),e+"")}function we(e,t){var n,r,o=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?o["string"==typeof t?"string":"hash"]:o.map}function _e(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return ge(n)?n:void 0}function je(e,t){var n=typeof e;return!!(t=null==t?a:t)&&("number"==n||"symbol"!=n&&g.test(e))&&e>-1&&e%1==0&&e<t}function Se(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||F)}function Oe(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}var Ee=function(e){var t=0,n=0;return function(){var r=Q(),a=i-(r-n);if(n=r,a>0){if(++t>=o)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}(Y?function(e,t){return Y(e,"toString",{configurable:!0,enumerable:!1,value:(n=t,function(){return n}),writable:!0});var n}:Ne);function Te(e,t){return e===t||e!=e&&t!=t}var Pe=ye(function(){return arguments}())?ye:function(e){return Le(e)&&$.call(e,"callee")&&!V.call(e,"callee")},xe=Array.isArray;function Ae(e){return null!=e&&Be(e.length)&&!ke(e)}var Ie=W||function(){return!1};function ke(e){if(!Fe(e))return!1;var t=de(e);return t==c||t==l||t==u||t==p}function Be(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=a}function Fe(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Le(e){return null!=e&&"object"==typeof e}var Ce=T?function(e){return function(t){return e(t)}}(T):function(e){return Le(e)&&Be(e.length)&&!!b[de(e)]};function $e(e){return Ae(e)?se(e,!0):be(e)}var ze,Re=(ze=function(e,t,n){ve(e,t,n)},me((function(e,t){var n=-1,r=t.length,o=r>1?t[r-1]:void 0,i=r>2?t[2]:void 0;for(o=ze.length>3&&"function"==typeof o?(r--,o):void 0,i&&function(e,t,n){if(!Fe(n))return!1;var r=typeof t;return!!("number"==r?Ae(n)&&je(t,n.length):"string"==r&&t in n)&&Te(n[t],e)}(t[0],t[1],i)&&(o=r<3?void 0:o,r=1),e=Object(e);++n<r;){var a=t[n];a&&ze(e,a,n,o)}return e})));function Ne(e){return e}e.exports=Re}).call(this,n(10)(e))},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,n){function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t,n=1;n<arguments.length;n++)t=null==arguments[n]?{}:arguments[n],n%2?o(t,!0).forEach((function(n){s(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(t).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}));return e}function a(e,t){for(var n,r=0;r<t.length;r++)(n=t[r]).enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var u,c,l="https://api.bullet-train.io/api/v1/",f=n(12),h=function(e){return"Attempted to "+e+" a user before calling flagsmith.init. Call flagsmith.init first, if you wish to prevent it sending a request for flags, call init with preventFetch:true."},p=function(){function e(t){var n=this;(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")})(this,e),s(this,"getJSON",(function(e,t,r){var o={method:t||"GET",body:r,headers:{"x-environment-key":n.environmentID}};return"GET"!==t&&(o.headers["Content-Type"]="application/json; charset=utf-8"),u(e,o).then((function(e){return e.text().then((function(t){var n=t;try{n=JSON.parse(t)}catch(e){}return e.ok?n:Promise.reject(n)}))}))})),s(this,"getFlags",(function(e,t){var r=n.onChange,o=n.onError,a=n.identity,s=n.api,u=(n.disableCache,!1),c=function(e,t){var o=e.flags,a=e.traits,s={},u={};if(a=a||[],(o=o||[]).forEach((function(e){s[e.feature.name.toLowerCase().replace(/ /g,"_")]={id:e.feature.id,enabled:e.enabled,value:e.feature_state_value}})),a.forEach((function(e){u[e.trait_key.toLowerCase().replace(/ /g,"_")]=e.trait_value})),n.oldFlags=i({},n.flags),t){var c={};t.map((function(e){c[e.name]=e})),n.segments=c}var l=f(n.flags,s),h=f(n.traits,u);n.flags=s,n.traits=u,n.updateStorage(),r&&r(n.oldFlags,{isFromServer:!0,flagsChanged:!l,traitsChanged:!h})};return a?Promise.all([n.getJSON(s+"identities/?identifier="+encodeURIComponent(a))]).then((function(e){c(e[0],e[1])})).catch((function(e){var t=e.message;o&&o({message:t})})):Promise.all([n.getJSON(s+"flags/")]).then((function(t){c({flags:t[0]},null),e&&!u&&(u=!0,e())})).catch((function(e){t&&!u&&(u=!0,t(e)),o&&o(e)}))})),s(this,"analyticsFlags",(function(){var e=n.api;if(0!==Object.getOwnPropertyNames(n.evaluationEvent).length)return n.getJSON(e+"analytics/flags/","POST",JSON.stringify(n.evaluationEvent)).then((function(){state=n.getState(),n.setState(i({},state,{evaluationEvent:{}})),n.updateEventStorage()})).catch((function(e){n.log("Exception fetching evaluationEvent",e)}))})),s(this,"evaluateFlag",(function(e){n.enableAnalytics&&(void 0===n.evaluationEvent[e]&&(n.evaluationEvent[e]=0),n.evaluationEvent[e]+=1),n.updateEventStorage()})),s(this,"getValue",(function(e){var t=n.flags&&n.flags[e],r=null;return t&&(r=t.value),n.evaluateFlag(e),r})),s(this,"getTrait",(function(e){return n.traits&&n.traits[e]})),s(this,"setTrait",(function(e,t){var r=n.getJSON,o=n.identity,i=n.api;if(i)return r("".concat(i,"traits/"),"POST",JSON.stringify({identity:{identifier:o},trait_key:e,trait_value:t})).then((function(){n.initialised&&n.getFlags()}));console.error(h("setTrait"))})),s(this,"setTraits",(function(e){var t=n.getJSON,o=n.identity,i=n.api;if(i){e&&"object"===r(e)||console.error("Expected object for flagsmith.setTraits");var a=Object.keys(e).map((function(t){return{identity:{identifier:o},trait_key:t,trait_value:e[t]}}));return t("".concat(i,"traits/bulk/"),"PUT",JSON.stringify(a)).then((function(){n.initialised&&n.getFlags()}))}console.error(h("setTraits"))})),s(this,"incrementTrait",(function(e,t){var r=n.getJSON,o=n.identity,i=n.api;return r("".concat(i,"traits/increment-value/"),"POST",JSON.stringify({trait_key:e,increment_by:t,identifier:o})).then(n.getFlags)})),s(this,"hasFeature",(function(e){var t=n.flags&&n.flags[e],r=!1;return t&&t.enabled&&(r=!0),n.evaluateFlag(e),r})),u=t.fetch?t.fetch:global.fetch,c=t.AsyncStorage}return function(e,t,n){t&&a(e.prototype,t),n&&a(e,n)}(e,[{key:"init",value:function(e){var t=this,n=e.environmentID,r=e.api,o=void 0===r?l:r,a=e.onChange,s=e.cacheFlags,u=e.onError,f=e.defaultFlags,h=e.preventFetch,p=e.enableLogs,d=e.enableAnalytics,y=e.AsyncStorage,g=e.state;return new Promise((function(e,r){if(t.environmentID=n,t.api=o,t.getFlagInterval=null,t.analyticsInterval=null,t.onChange=a,t.onError=u,t.enableLogs=p,t.enableAnalytics=!!d&&d,t.flags=Object.assign({},f)||{},t.initialised=!0,t.ticks=1e4,t.timer=t.enableLogs?(new Date).valueOf():null,y&&(c=y),t.cacheFlags=void 0!==c&&s,t.setState(g),!n)throw r("Please specify a environment id"),"Please specify a environment id";c.getItem("BULLET_TRAIN_EVENT").then((function(e){if(e)try{t.evaluationEvent=JSON.parse(e)}catch(e){t.evaluationEvent={}}else t.evaluationEvent={};t.analyticsInterval=setInterval(t.analyticsFlags,t.ticks)})),t.enableAnalytics&&(t.analyticsInterval&&clearInterval(t.analyticsInterval),c.getItem("BULLET_TRAIN_EVENT",(function(e,n){if(n){var r=JSON.parse(n);r&&(g=t.getState(),t.log("Retrieved events from cache",n),t.setState(i({},g,{evaluationEvent:r})))}}))),s?c.getItem("BULLET_TRAIN_DB",(function(n,o){if(o)try{var i=JSON.parse(o);i&&i.api===t.api&&i.environmentID===t.environmentID&&(t.setState(i),t.log("Retrieved flags from cache",i)),t.flags?(t.onChange&&t.onChange(null,{isFromServer:!1}),t.oldFlags=t.flags,e(),!h&&t.getFlags(Promise.resolve,Promise.reject)):!h&&t.getFlags(e,r)}catch(e){t.log("Exception fetching cached logs",e)}else h||t.getFlags(e,r)})):!h&&t.getFlags(e,r)}))}},{key:"getAllFlags",value:function(){return this.flags}},{key:"identify",value:function(e){return this.identity=e,this.initialised&&!this.getFlagInterval?this.getFlags():Promise.resolve()}},{key:"getState",value:function(){return{api:this.api,environmentID:this.environmentID,flags:this.flags,identity:this.identity,segments:this.segments,traits:this.traits,evaluationEvent:this.evaluationEvent}}},{key:"setState",value:function(e){e&&(this.initialised=!0,this.api=e.api||this.api||l,this.environmentID=e.environmentID||this.environmentID,this.flags=e.flags||this.flags,this.identity=e.identity||this.identity,this.segments=e.segments||this.segments,this.traits=e.traits||this.traits,this.evaluationEvent=e.evaluationEvent||this.evaluationEvent)}},{key:"log",value:function(){if(this.enableLogs){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];console.log.apply(this,["FLAGSMITH:",(new Date).valueOf()-this.timer,"ms"].concat(t))}}},{key:"updateStorage",value:function(){if(this.cacheFlags){var e=JSON.stringify(this.getState());this.log("Setting storage",e),c.setItem("BULLET_TRAIN_DB",e)}}},{key:"updateEventStorage",value:function(){if(this.enableAnalytics){var e=JSON.stringify(this.getState().evaluationEvent);this.log("Setting event storage",e),c.setItem("BULLET_TRAIN_EVENT",e)}}},{key:"logout",value:function(){this.identity=null,this.segments=null,this.traits=null,this.initialised&&!this.getFlagInterval&&this.getFlags()}},{key:"startListening",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:1e3;this.getFlagInterval||(this.getFlagInterval=setInterval(this.getFlags,e))}},{key:"getSegments",value:function(){}},{key:"stopListening",value:function(){clearInterval(this.getFlagInterval)}}]),e}();e.exports=function(e){var t=e.fetch,n=e.AsyncStorage;return new p({fetch:t,AsyncStorage:n})}},function(e,t,n){"use strict";e.exports=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){if(t.constructor!==n.constructor)return!1;var r,o,i;if(Array.isArray(t)){if((r=t.length)!=n.length)return!1;for(o=r;0!=o--;)if(!e(t[o],n[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((r=(i=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(o=r;0!=o--;)if(!Object.prototype.hasOwnProperty.call(n,i[o]))return!1;for(o=r;0!=o--;){var a=i[o];if(!e(t[a],n[a]))return!1}return!0}return t!=t&&n!=n}}])}));
!function (e, t) {
if ("object" == typeof exports && "object" == typeof module) module.exports = t();else if ("function" == typeof define && define.amd) define([], t);else {
var r = t();
var n = t();
for (var n in r) ("object" == typeof exports ? exports : e)[n] = r[n];
for (var r in n) ("object" == typeof exports ? exports : e)[r] = n[r];
}

@@ -11,18 +11,18 @@ }(this, function () {

function r(n) {
if (t[n]) return t[n].exports;
var o = t[n] = {
i: n,
function n(r) {
if (t[r]) return t[r].exports;
var o = t[r] = {
i: r,
l: !1,
exports: {}
};
return e[n].call(o.exports, o, o.exports, r), o.l = !0, o.exports;
return e[r].call(o.exports, o, o.exports, n), o.l = !0, o.exports;
}
return r.m = e, r.c = t, r.d = function (e, t, n) {
r.o(e, t) || Object.defineProperty(e, t, {
return n.m = e, n.c = t, n.d = function (e, t, r) {
n.o(e, t) || Object.defineProperty(e, t, {
enumerable: !0,
get: n
get: r
});
}, r.r = function (e) {
}, n.r = function (e) {
"undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {

@@ -33,14 +33,14 @@ value: "Module"

});
}, r.t = function (e, t) {
if (1 & t && (e = r(e)), 8 & t) return e;
}, n.t = function (e, t) {
if (1 & t && (e = n(e)), 8 & t) return e;
if (4 & t && "object" == typeof e && e && e.__esModule) return e;
var n = Object.create(null);
if (r.r(n), Object.defineProperty(n, "default", {
var r = Object.create(null);
if (n.r(r), Object.defineProperty(r, "default", {
enumerable: !0,
value: e
}), 2 & t && "string" != typeof e) for (var o in e) r.d(n, o, function (t) {
}), 2 & t && "string" != typeof e) for (var o in e) n.d(r, o, function (t) {
return e[t];
}.bind(null, o));
return n;
}, r.n = function (e) {
return r;
}, n.n = function (e) {
var t = e && e.__esModule ? function () {

@@ -51,6 +51,6 @@ return e.default;

};
return r.d(t, "a", t), t;
}, r.o = function (e, t) {
return n.d(t, "a", t), t;
}, n.o = function (e, t) {
return Object.prototype.hasOwnProperty.call(e, t);
}, r.p = "", r(r.s = 6);
}, n.p = "", n(n.s = 6);
}([function (e, t) {

@@ -66,3 +66,3 @@ e.exports = require("stream");

e.exports = require("https");
}, function (e, t, r) {
}, function (e, t, n) {
"use strict";

@@ -74,8 +74,8 @@

var n,
var r,
o = function (e, t) {
if (Array.isArray(e)) return e;
if (Symbol.iterator in Object(e)) return function (e, t) {
var r = [],
n = !0,
var n = [],
r = !0,
o = !1,

@@ -85,3 +85,3 @@ i = void 0;

try {
for (var s, a = e[Symbol.iterator](); !(n = (s = a.next()).done) && (r.push(s.value), !t || r.length !== t); n = !0);
for (var a, s = e[Symbol.iterator](); !(r = (a = s.next()).done) && (n.push(a.value), !t || n.length !== t); r = !0);
} catch (e) {

@@ -91,3 +91,3 @@ o = !0, i = e;

try {
!n && a.return && a.return();
!r && s.return && s.return();
} finally {

@@ -98,14 +98,14 @@ if (o) throw i;

return r;
return n;
}(e, t);
throw new TypeError("Invalid attempt to destructure non-iterable instance");
},
i = r(9),
s = (n = i) && n.__esModule ? n : {
default: n
i = n(9),
a = (r = i) && r.__esModule ? r : {
default: r
};
var a = {
var s = {
getItem: function (e, t) {
return a.multiGet([e]).then(function (e) {
return s.multiGet([e]).then(function (e) {
return e[0][1];

@@ -118,7 +118,7 @@ }).then(function (e) {

},
setItem: function (e, t, r) {
return a.multiSet([[e, t]]).then(function (e) {
return r && r(null, e), e;
setItem: function (e, t, n) {
return s.multiSet([[e, t]]).then(function (e) {
return n && n(null, e), e;
}).catch(function (e) {
return r && r(e, null), e;
return n && n(e, null), e;
});

@@ -134,3 +134,3 @@ },

removeItem: function (e, t) {
return a.multiRemove([e]).then(function () {
return s.multiRemove([e]).then(function () {
t && t(null);

@@ -147,3 +147,3 @@ }).catch(function (e) {

mergeItem: function (e, t) {
return a.multiMerge([[e, t]]);
return s.multiMerge([[e, t]]);
},

@@ -158,31 +158,31 @@ multiGet: function (e) {

multiSet: function (e) {
return new Promise(function (t, r) {
var n = [];
return new Promise(function (t, n) {
var r = [];
return e.forEach(function (e) {
var t = o(e, 2),
r = t[0],
n = t[0],
i = t[1];
try {
localStorage.setItem(r, i);
localStorage.setItem(n, i);
} catch (e) {
n.push(e);
r.push(e);
}
}), n.length > 0 ? r(n) : t();
}), r.length > 0 ? n(r) : t();
});
},
multiMerge: function (e) {
return new Promise(function (t, r) {
var n = [];
return new Promise(function (t, n) {
var r = [];
return e.forEach(function (e) {
var t = o(e, 2),
r = t[0],
n = t[0],
i = t[1],
a = localStorage.getItem(r);
if (a) try {
localStorage.setItem(r, JSON.stringify((0, s.default)(JSON.parse(a), JSON.parse(i))));
s = localStorage.getItem(n);
if (s) try {
localStorage.setItem(n, JSON.stringify((0, a.default)(JSON.parse(s), JSON.parse(i))));
} catch (e) {
n.push(e);
r.push(e);
}
}), n.length > 0 ? r(n) : t();
}), r.length > 0 ? n(r) : t();
});

@@ -201,25 +201,25 @@ },

};
t.default = a;
}, function (e, t, r) {
t.default = s;
}, function (e, t, n) {
"use strict";
r.r(t);
var n = r(5),
o = r.n(n),
i = r(7).default;
"undefined" == typeof window && (i = r(8).default);
var s = r(11)({
n.r(t);
var r = n(5),
o = n.n(r),
i = n(7).default;
"undefined" == typeof window && (i = n(8).default);
var a = n(11)({
AsyncStorage: o.a,
fetch: i
});
"undefined" != typeof window && (window.flagsmith = s), t.default = s;
}, function (e, t, r) {
"undefined" != typeof window && (window.flagsmith = a), t.default = a;
}, function (e, t, n) {
"use strict";
r.r(t), t.default = function (e, t) {
return t = t || {}, new Promise(function (r, n) {
n.r(t), t.default = function (e, t) {
return t = t || {}, new Promise(function (n, r) {
var o = new XMLHttpRequest(),
i = [],
s = [],
a = {},
a = [],
s = {},
u = function () {

@@ -246,9 +246,9 @@ return {

entries: function () {
return s;
return a;
},
get: function (e) {
return a[e.toLowerCase()];
return s[e.toLowerCase()];
},
has: function (e) {
return e.toLowerCase() in a;
return e.toLowerCase() in s;
}

@@ -260,6 +260,6 @@ }

for (var c in o.open(t.method || "get", e, !0), o.onload = function () {
o.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm, function (e, t, r) {
i.push(t = t.toLowerCase()), s.push([t, r]), a[t] = a[t] ? a[t] + "," + r : r;
}), r(u());
}, o.onerror = n, o.withCredentials = "include" == t.credentials, t.headers) o.setRequestHeader(c, t.headers[c]);
o.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm, function (e, t, n) {
i.push(t = t.toLowerCase()), a.push([t, n]), s[t] = s[t] ? s[t] + "," + n : n;
}), n(u());
}, o.onerror = r, o.withCredentials = "include" == t.credentials, t.headers) o.setRequestHeader(c, t.headers[c]);

@@ -269,20 +269,20 @@ o.send(t.body || null);

};
}, function (e, t, r) {
}, function (e, t, n) {
"use strict";
r.r(t), r.d(t, "Headers", function () {
n.r(t), n.d(t, "Headers", function () {
return A;
}), r.d(t, "Request", function () {
return M;
}), r.d(t, "Response", function () {
return I;
}), r.d(t, "FetchError", function () {
}), n.d(t, "Request", function () {
return J;
}), n.d(t, "Response", function () {
return z;
}), n.d(t, "FetchError", function () {
return h;
});
var n = r(0),
o = r(3),
i = r(2),
s = r(4),
a = r(1);
const u = n.Readable,
var r = n(0),
o = n(3),
i = n(2),
a = n(4),
s = n(1);
const u = r.Readable,
c = Symbol("buffer"),

@@ -296,4 +296,4 @@ l = Symbol("type");

t = arguments[1],
r = [];
let n = 0;
n = [];
let r = 0;

@@ -307,7 +307,7 @@ if (e) {

let i;
n += (i = o instanceof Buffer ? o : ArrayBuffer.isView(o) ? Buffer.from(o.buffer, o.byteOffset, o.byteLength) : o instanceof ArrayBuffer ? Buffer.from(o) : o instanceof f ? o[c] : Buffer.from("string" == typeof o ? o : String(o))).length, r.push(i);
r += (i = o instanceof Buffer ? o : ArrayBuffer.isView(o) ? Buffer.from(o.buffer, o.byteOffset, o.byteLength) : o instanceof ArrayBuffer ? Buffer.from(o) : o instanceof f ? o[c] : Buffer.from("string" == typeof o ? o : String(o))).length, n.push(i);
}
}
this[c] = Buffer.concat(r);
this[c] = Buffer.concat(n);
let o = t && void 0 !== t.type && String(t.type).toLowerCase();

@@ -347,11 +347,11 @@ o && !/[^\u0020-\u007E]/.test(o) && (this[l] = o);

t = arguments[0],
r = arguments[1];
let n, o;
n = void 0 === t ? 0 : t < 0 ? Math.max(e + t, 0) : Math.min(t, e), o = void 0 === r ? e : r < 0 ? Math.max(e + r, 0) : Math.min(r, e);
const i = Math.max(o - n, 0),
s = this[c].slice(n, n + i),
a = new f([], {
n = arguments[1];
let r, o;
r = void 0 === t ? 0 : t < 0 ? Math.max(e + t, 0) : Math.min(t, e), o = void 0 === n ? e : n < 0 ? Math.max(e + n, 0) : Math.min(n, e);
const i = Math.max(o - r, 0),
a = this[c].slice(r, r + i),
s = new f([], {
type: arguments[2]
});
return a[c] = s, a;
return s[c] = a, s;
}

@@ -361,4 +361,4 @@

function h(e, t, r) {
Error.call(this, e), this.message = e, this.type = t, r && (this.code = this.errno = r.code), Error.captureStackTrace(this, this.constructor);
function h(e, t, n) {
Error.call(this, e), this.message = e, this.type = t, n && (this.code = this.errno = n.code), Error.captureStackTrace(this, this.constructor);
}

@@ -389,18 +389,18 @@

const d = Symbol("Body internals"),
y = n.PassThrough;
y = r.PassThrough;
function g(e) {
var t = this,
r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
o = r.size;
n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
o = n.size;
let i = void 0 === o ? 0 : o;
var s = r.timeout;
let a = void 0 === s ? 0 : s;
null == e ? e = null : m(e) ? e = Buffer.from(e.toString()) : v(e) || Buffer.isBuffer(e) || ("[object ArrayBuffer]" === Object.prototype.toString.call(e) ? e = Buffer.from(e) : ArrayBuffer.isView(e) ? e = Buffer.from(e.buffer, e.byteOffset, e.byteLength) : e instanceof n || (e = Buffer.from(String(e)))), this[d] = {
var a = n.timeout;
let s = void 0 === a ? 0 : a;
null == e ? e = null : v(e) ? e = Buffer.from(e.toString()) : m(e) || Buffer.isBuffer(e) || ("[object ArrayBuffer]" === Object.prototype.toString.call(e) ? e = Buffer.from(e) : ArrayBuffer.isView(e) ? e = Buffer.from(e.buffer, e.byteOffset, e.byteLength) : e instanceof r || (e = Buffer.from(String(e)))), this[d] = {
body: e,
disturbed: !1,
error: null
}, this.size = i, this.timeout = a, e instanceof n && e.on("error", function (e) {
const r = "AbortError" === e.name ? e : new h(`Invalid response body while trying to fetch ${t.url}: ${e.message}`, "system", e);
t[d].error = r;
}, this.size = i, this.timeout = s, e instanceof r && e.on("error", function (e) {
const n = "AbortError" === e.name ? e : new h(`Invalid response body while trying to fetch ${t.url}: ${e.message}`, "system", e);
t[d].error = n;
});

@@ -415,26 +415,26 @@ }

if (null === t) return g.Promise.resolve(Buffer.alloc(0));
if (v(t) && (t = t.stream()), Buffer.isBuffer(t)) return g.Promise.resolve(t);
if (!(t instanceof n)) return g.Promise.resolve(Buffer.alloc(0));
let r = [],
if (m(t) && (t = t.stream()), Buffer.isBuffer(t)) return g.Promise.resolve(t);
if (!(t instanceof r)) return g.Promise.resolve(Buffer.alloc(0));
let n = [],
o = 0,
i = !1;
return new g.Promise(function (n, s) {
let a;
e.timeout && (a = setTimeout(function () {
i = !0, s(new h(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`, "body-timeout"));
return new g.Promise(function (r, a) {
let s;
e.timeout && (s = setTimeout(function () {
i = !0, a(new h(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`, "body-timeout"));
}, e.timeout)), t.on("error", function (t) {
"AbortError" === t.name ? (i = !0, s(t)) : s(new h(`Invalid response body while trying to fetch ${e.url}: ${t.message}`, "system", t));
"AbortError" === t.name ? (i = !0, a(t)) : a(new h(`Invalid response body while trying to fetch ${e.url}: ${t.message}`, "system", t));
}), t.on("data", function (t) {
if (!i && null !== t) {
if (e.size && o + t.length > e.size) return i = !0, void s(new h(`content size at ${e.url} over limit: ${e.size}`, "max-size"));
o += t.length, r.push(t);
if (e.size && o + t.length > e.size) return i = !0, void a(new h(`content size at ${e.url} over limit: ${e.size}`, "max-size"));
o += t.length, n.push(t);
}
}), t.on("end", function () {
if (!i) {
clearTimeout(a);
clearTimeout(s);
try {
n(Buffer.concat(r, o));
r(Buffer.concat(n, o));
} catch (t) {
s(new h(`Could not create Buffer from response body for ${e.url}: ${t.message}`, "system", t));
a(new h(`Could not create Buffer from response body for ${e.url}: ${t.message}`, "system", t));
}

@@ -446,7 +446,7 @@ }

function m(e) {
function v(e) {
return "object" == typeof e && "function" == typeof e.append && "function" == typeof e.delete && "function" == typeof e.get && "function" == typeof e.getAll && "function" == typeof e.has && "function" == typeof e.set && ("URLSearchParams" === e.constructor.name || "[object URLSearchParams]" === Object.prototype.toString.call(e) || "function" == typeof e.sort);
}
function v(e) {
function m(e) {
return "object" == typeof e && "function" == typeof e.arrayBuffer && "string" == typeof e.type && "function" == typeof e.stream && "function" == typeof e.constructor && "string" == typeof e.constructor.name && /^(Blob|File)$/.test(e.constructor.name) && /^(Blob|File)$/.test(e[Symbol.toStringTag]);

@@ -457,15 +457,15 @@ }

let t,
r,
n,
o = e.body;
if (e.bodyUsed) throw new Error("cannot clone body after it is used");
return o instanceof n && "function" != typeof o.getBoundary && (t = new y(), r = new y(), o.pipe(t), o.pipe(r), e[d].body = t, o = r), o;
return o instanceof r && "function" != typeof o.getBoundary && (t = new y(), n = new y(), o.pipe(t), o.pipe(n), e[d].body = t, o = n), o;
}
function j(e) {
return null === e ? null : "string" == typeof e ? "text/plain;charset=UTF-8" : m(e) ? "application/x-www-form-urlencoded;charset=UTF-8" : v(e) ? e.type || null : Buffer.isBuffer(e) ? null : "[object ArrayBuffer]" === Object.prototype.toString.call(e) ? null : ArrayBuffer.isView(e) ? null : "function" == typeof e.getBoundary ? `multipart/form-data;boundary=${e.getBoundary()}` : e instanceof n ? null : "text/plain;charset=UTF-8";
function _(e) {
return null === e ? null : "string" == typeof e ? "text/plain;charset=UTF-8" : v(e) ? "application/x-www-form-urlencoded;charset=UTF-8" : m(e) ? e.type || null : Buffer.isBuffer(e) ? null : "[object ArrayBuffer]" === Object.prototype.toString.call(e) ? null : ArrayBuffer.isView(e) ? null : "function" == typeof e.getBoundary ? `multipart/form-data;boundary=${e.getBoundary()}` : e instanceof r ? null : "text/plain;charset=UTF-8";
}
function _(e) {
function j(e) {
const t = e.body;
return null === t ? 0 : v(t) ? t.size : Buffer.isBuffer(t) ? t.length : t && "function" == typeof t.getLengthSync && (t._lengthRetrievers && 0 == t._lengthRetrievers.length || t.hasKnownLength && t.hasKnownLength()) ? t.getLengthSync() : null;
return null === t ? 0 : m(t) ? t.size : Buffer.isBuffer(t) ? t.length : t && "function" == typeof t.getLengthSync && (t._lengthRetrievers && 0 == t._lengthRetrievers.length || t.hasKnownLength && t.hasKnownLength()) ? t.getLengthSync() : null;
}

@@ -525,11 +525,11 @@

if ("function" != typeof p) throw new Error("The package `encoding` must be installed to use the textConverted() function");
const r = t.get("content-type");
let n,
const n = t.get("content-type");
let r,
o,
i = "utf-8";
r && (n = /charset=([^;]*)/i.exec(r));
o = e.slice(0, 1024).toString(), !n && o && (n = /<meta.+?charset=(['"])(.+?)\1/i.exec(o));
!n && o && (n = /<meta[\s]+?http-equiv=(['"])content-type\1[\s]+?content=(['"])(.+?)\2/i.exec(o)) && (n = /charset=(.*)/i.exec(n.pop()));
!n && o && (n = /<\?xml.+?encoding=(['"])(.+?)\1/i.exec(o));
n && ("gb2312" !== (i = n.pop()) && "gbk" !== i || (i = "gb18030"));
n && (r = /charset=([^;]*)/i.exec(n));
o = e.slice(0, 1024).toString(), !r && o && (r = /<meta.+?charset=(['"])(.+?)\1/i.exec(o));
!r && o && (r = /<meta[\s]+?http-equiv=(['"])content-type\1[\s]+?content=(['"])(.+?)\2/i.exec(o)) && (r = /charset=(.*)/i.exec(r.pop()));
!r && o && (r = /<\?xml.+?encoding=(['"])(.+?)\1/i.exec(o));
r && ("gb2312" !== (i = r.pop()) && "gbk" !== i || (i = "gb18030"));
return p(e, "UTF-8", i).toString();

@@ -561,24 +561,24 @@ }(t, e.headers);

for (const t of Object.getOwnPropertyNames(g.prototype)) if (!(t in e)) {
const r = Object.getOwnPropertyDescriptor(g.prototype, t);
Object.defineProperty(e, t, r);
const n = Object.getOwnPropertyDescriptor(g.prototype, t);
Object.defineProperty(e, t, n);
}
}, g.Promise = global.Promise;
const O = /[^\^_`a-zA-Z\-0-9!#$%&'*+.|~]/,
S = /[^\t\x20-\x7e\x80-\xff]/;
const S = /[^\^_`a-zA-Z\-0-9!#$%&'*+.|~]/,
O = /[^\t\x20-\x7e\x80-\xff]/;
function P(e) {
if (e = `${e}`, O.test(e) || "" === e) throw new TypeError(`${e} is not a legal HTTP header name`);
function E(e) {
if (e = `${e}`, S.test(e) || "" === e) throw new TypeError(`${e} is not a legal HTTP header name`);
}
function T(e) {
if (e = `${e}`, S.test(e)) throw new TypeError(`${e} is not a legal HTTP header value`);
if (e = `${e}`, O.test(e)) throw new TypeError(`${e} is not a legal HTTP header value`);
}
function x(e, t) {
function P(e, t) {
t = t.toLowerCase();
for (const r in e) if (r.toLowerCase() === t) return r;
for (const n in e) if (n.toLowerCase() === t) return n;
}
const E = Symbol("map");
const x = Symbol("map");

@@ -589,7 +589,7 @@ class A {

if (this[E] = Object.create(null), e instanceof A) {
if (this[x] = Object.create(null), e instanceof A) {
const t = e.raw(),
r = Object.keys(t);
n = Object.keys(t);
for (const e of r) for (const r of t[e]) this.append(e, r);
for (const e of n) for (const n of t[e]) this.append(e, n);
} else if (null == e) ;else {

@@ -602,10 +602,10 @@ if ("object" != typeof e) throw new TypeError("Provided initializer must be an object");

if ("function" != typeof t) throw new TypeError("Header pairs must be iterable");
const r = [];
const n = [];
for (const t of e) {
if ("object" != typeof t || "function" != typeof t[Symbol.iterator]) throw new TypeError("Each header pair must be iterable");
r.push(Array.from(t));
n.push(Array.from(t));
}
for (const e of r) {
for (const e of n) {
if (2 !== e.length) throw new TypeError("Each header pair must be a name/value tuple");

@@ -615,4 +615,4 @@ this.append(e[0], e[1]);

} else for (const t of Object.keys(e)) {
const r = e[t];
this.append(t, r);
const n = e[t];
this.append(t, n);
}

@@ -624,5 +624,5 @@ }

get(e) {
P(e = `${e}`);
const t = x(this[E], e);
return void 0 === t ? null : this[E][t].join(", ");
E(e = `${e}`);
const t = P(this[x], e);
return void 0 === t ? null : this[x][t].join(", ");
}

@@ -632,10 +632,10 @@

let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : void 0,
r = k(this),
n = 0;
n = I(this),
r = 0;
for (; n < r.length;) {
var o = r[n];
for (; r < n.length;) {
var o = n[r];
const i = o[0],
s = o[1];
e.call(t, s, i, this), r = k(this), n++;
a = o[1];
e.call(t, a, i, this), n = I(this), r++;
}

@@ -645,37 +645,37 @@ }

set(e, t) {
t = `${t}`, P(e = `${e}`), T(t);
const r = x(this[E], e);
this[E][void 0 !== r ? r : e] = [t];
t = `${t}`, E(e = `${e}`), T(t);
const n = P(this[x], e);
this[x][void 0 !== n ? n : e] = [t];
}
append(e, t) {
t = `${t}`, P(e = `${e}`), T(t);
const r = x(this[E], e);
void 0 !== r ? this[E][r].push(t) : this[E][e] = [t];
t = `${t}`, E(e = `${e}`), T(t);
const n = P(this[x], e);
void 0 !== n ? this[x][n].push(t) : this[x][e] = [t];
}
has(e) {
return P(e = `${e}`), void 0 !== x(this[E], e);
return E(e = `${e}`), void 0 !== P(this[x], e);
}
delete(e) {
P(e = `${e}`);
const t = x(this[E], e);
void 0 !== t && delete this[E][t];
E(e = `${e}`);
const t = P(this[x], e);
void 0 !== t && delete this[x][t];
}
raw() {
return this[E];
return this[x];
}
keys() {
return C(this, "key");
return B(this, "key");
}
values() {
return C(this, "value");
return B(this, "value");
}
[Symbol.iterator]() {
return C(this, "key+value");
return B(this, "key+value");
}

@@ -685,10 +685,10 @@

function k(e) {
function I(e) {
let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "key+value";
return Object.keys(e[E]).sort().map("key" === t ? function (e) {
return Object.keys(e[x]).sort().map("key" === t ? function (e) {
return e.toLowerCase();
} : "value" === t ? function (t) {
return e[E][t].join(", ");
return e[x][t].join(", ");
} : function (t) {
return [t.toLowerCase(), e[E][t].join(", ")];
return [t.toLowerCase(), e[x][t].join(", ")];
});

@@ -731,26 +731,26 @@ }

});
const B = Symbol("internal");
const k = Symbol("internal");
function C(e, t) {
const r = Object.create(L);
return r[B] = {
function B(e, t) {
const n = Object.create(F);
return n[k] = {
target: e,
kind: t,
index: 0
}, r;
}, n;
}
const L = Object.setPrototypeOf({
const F = Object.setPrototypeOf({
next() {
if (!this || Object.getPrototypeOf(this) !== L) throw new TypeError("Value of `this` is not a HeadersIterator");
var e = this[B];
if (!this || Object.getPrototypeOf(this) !== F) throw new TypeError("Value of `this` is not a HeadersIterator");
var e = this[k];
const t = e.target,
r = e.kind,
n = e.index,
o = k(t, r);
return n >= o.length ? {
n = e.kind,
r = e.index,
o = I(t, n);
return r >= o.length ? {
value: void 0,
done: !0
} : (this[B].index = n + 1, {
value: o[n],
} : (this[k].index = r + 1, {
value: o[r],
done: !1

@@ -762,11 +762,11 @@ });

function $(e) {
function L(e) {
const t = Object.assign({
__proto__: null
}, e[E]),
r = x(e[E], "Host");
return void 0 !== r && (t[r] = t[r][0]), t;
}, e[x]),
n = P(e[x], "Host");
return void 0 !== n && (t[n] = t[n][0]), t;
}
Object.defineProperty(L, Symbol.toStringTag, {
Object.defineProperty(F, Symbol.toStringTag, {
value: "HeadersIterator",

@@ -777,6 +777,6 @@ writable: !1,

});
const z = Symbol("Response internals"),
F = o.STATUS_CODES;
const C = Symbol("Response internals"),
$ = o.STATUS_CODES;
class I {
class z {
constructor() {

@@ -786,15 +786,16 @@ let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null,

g.call(this, e, t);
const r = t.status || 200,
n = new A(t.headers);
const n = t.status || 200,
r = new A(t.headers);
if (null != e && !n.has("Content-Type")) {
const t = j(e);
t && n.append("Content-Type", t);
if (null != e && !r.has("Content-Type")) {
const t = _(e);
t && r.append("Content-Type", t);
}
this[z] = {
this[C] = {
url: t.url,
status: r,
statusText: t.statusText || F[r],
headers: n,
status: n,
statusText: t.statusText || $[n],
headers: r,
counter: t.counter

@@ -805,27 +806,27 @@ };

get url() {
return this[z].url || "";
return this[C].url || "";
}
get status() {
return this[z].status;
return this[C].status;
}
get ok() {
return this[z].status >= 200 && this[z].status < 300;
return this[C].status >= 200 && this[C].status < 300;
}
get redirected() {
return this[z].counter > 0;
return this[C].counter > 0;
}
get statusText() {
return this[z].statusText;
return this[C].statusText;
}
get headers() {
return this[z].headers;
return this[C].headers;
}
clone() {
return new I(w(this), {
return new z(w(this), {
url: this.url,

@@ -842,3 +843,3 @@ status: this.status,

g.mixIn(I.prototype), Object.defineProperties(I.prototype, {
g.mixIn(z.prototype), Object.defineProperties(z.prototype, {
url: {

@@ -865,3 +866,3 @@ enumerable: !0

}
}), Object.defineProperty(I.prototype, Symbol.toStringTag, {
}), Object.defineProperty(z.prototype, Symbol.toStringTag, {
value: "Response",

@@ -873,5 +874,5 @@ writable: !1,

const R = Symbol("Request internals"),
U = i.parse,
D = i.format,
N = "destroy" in n.Readable.prototype;
N = i.parse,
U = i.format,
D = "destroy" in r.Readable.prototype;

@@ -882,33 +883,34 @@ function q(e) {

class M {
class J {
constructor(e) {
let t,
r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
q(e) ? t = U(e.url) : (t = e && e.href ? U(e.href) : U(`${e}`), e = {});
let n = r.method || e.method || "GET";
if (n = n.toUpperCase(), (null != r.body || q(e) && null !== e.body) && ("GET" === n || "HEAD" === n)) throw new TypeError("Request with GET/HEAD method cannot have body");
let o = null != r.body ? r.body : q(e) && null !== e.body ? w(e) : null;
n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
q(e) ? t = N(e.url) : (t = e && e.href ? N(e.href) : N(`${e}`), e = {});
let r = n.method || e.method || "GET";
if (r = r.toUpperCase(), (null != n.body || q(e) && null !== e.body) && ("GET" === r || "HEAD" === r)) throw new TypeError("Request with GET/HEAD method cannot have body");
let o = null != n.body ? n.body : q(e) && null !== e.body ? w(e) : null;
g.call(this, o, {
timeout: r.timeout || e.timeout || 0,
size: r.size || e.size || 0
timeout: n.timeout || e.timeout || 0,
size: n.size || e.size || 0
});
const i = new A(r.headers || e.headers || {});
const i = new A(n.headers || e.headers || {});
if (null != o && !i.has("Content-Type")) {
const e = j(o);
const e = _(o);
e && i.append("Content-Type", e);
}
let s = q(e) ? e.signal : null;
if ("signal" in r && (s = r.signal), null != s && !function (e) {
let a = q(e) ? e.signal : null;
if ("signal" in n && (a = n.signal), null != a && !function (e) {
const t = e && "object" == typeof e && Object.getPrototypeOf(e);
return !(!t || "AbortSignal" !== t.constructor.name);
}(s)) throw new TypeError("Expected signal to be an instanceof AbortSignal");
}(a)) throw new TypeError("Expected signal to be an instanceof AbortSignal");
this[R] = {
method: n,
redirect: r.redirect || e.redirect || "follow",
method: r,
redirect: n.redirect || e.redirect || "follow",
headers: i,
parsedURL: t,
signal: s
}, this.follow = void 0 !== r.follow ? r.follow : void 0 !== e.follow ? e.follow : 20, this.compress = void 0 !== r.compress ? r.compress : void 0 === e.compress || e.compress, this.counter = r.counter || e.counter || 0, this.agent = r.agent || e.agent;
signal: a
}, this.follow = void 0 !== n.follow ? n.follow : void 0 !== e.follow ? e.follow : 20, this.compress = void 0 !== n.compress ? n.compress : void 0 === e.compress || e.compress, this.counter = n.counter || e.counter || 0, this.agent = n.agent || e.agent;
}

@@ -921,3 +923,3 @@

get url() {
return D(this[R].parsedURL);
return U(this[R].parsedURL);
}

@@ -938,3 +940,3 @@

clone() {
return new M(this);
return new J(this);
}

@@ -944,7 +946,7 @@

function H(e) {
function M(e) {
Error.call(this, e), this.type = "aborted", this.message = e, Error.captureStackTrace(this, this.constructor);
}
g.mixIn(M.prototype), Object.defineProperty(M.prototype, Symbol.toStringTag, {
g.mixIn(J.prototype), Object.defineProperty(J.prototype, Symbol.toStringTag, {
value: "Request",

@@ -954,3 +956,3 @@ writable: !1,

configurable: !0
}), Object.defineProperties(M.prototype, {
}), Object.defineProperties(J.prototype, {
method: {

@@ -974,4 +976,4 @@ enumerable: !0

}
}), H.prototype = Object.create(Error.prototype), H.prototype.constructor = H, H.prototype.name = "AbortError";
const J = n.PassThrough,
}), M.prototype = Object.create(Error.prototype), M.prototype.constructor = M, M.prototype.name = "AbortError";
const H = r.PassThrough,
G = i.resolve;

@@ -981,27 +983,26 @@

if (!V.Promise) throw new Error("native promise missing, set fetch.Promise to your favorite alternative");
return g.Promise = V.Promise, new V.Promise(function (r, i) {
const u = new M(e, t),
return g.Promise = V.Promise, new V.Promise(function (n, i) {
const u = new J(e, t),
c = function (e) {
const t = e[R].parsedURL,
r = new A(e[R].headers);
if (r.has("Accept") || r.set("Accept", "*/*"), !t.protocol || !t.hostname) throw new TypeError("Only absolute URLs are supported");
n = new A(e[R].headers);
if (n.has("Accept") || n.set("Accept", "*/*"), !t.protocol || !t.hostname) throw new TypeError("Only absolute URLs are supported");
if (!/^https?:$/.test(t.protocol)) throw new TypeError("Only HTTP(S) protocols are supported");
if (e.signal && e.body instanceof n.Readable && !N) throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8");
if (e.signal && e.body instanceof r.Readable && !D) throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8");
let o = null;
if (null == e.body && /^(POST|PUT)$/i.test(e.method) && (o = "0"), null != e.body) {
const t = _(e);
const t = j(e);
"number" == typeof t && (o = String(t));
}
o && r.set("Content-Length", o), r.has("User-Agent") || r.set("User-Agent", "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)"), e.compress && !r.has("Accept-Encoding") && r.set("Accept-Encoding", "gzip,deflate");
o && n.set("Content-Length", o), n.has("User-Agent") || n.set("User-Agent", "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)"), e.compress && !n.has("Accept-Encoding") && n.set("Accept-Encoding", "gzip,deflate");
let i = e.agent;
return "function" == typeof i && (i = i(t)), r.has("Connection") || i || r.set("Connection", "close"), Object.assign({}, t, {
return "function" == typeof i && (i = i(t)), n.has("Connection") || i || n.set("Connection", "close"), Object.assign({}, t, {
method: e.method,
headers: $(r),
headers: L(n),
agent: i
});
}(u),
l = ("https:" === c.protocol ? s : o).request,
l = ("https:" === c.protocol ? a : o).request,
f = u.signal;

@@ -1012,4 +1013,4 @@

const d = function () {
let e = new H("The user aborted a request.");
i(e), u.body && u.body instanceof n.Readable && u.body.destroy(e), p && p.body && p.body.emit("error", e);
let e = new M("The user aborted a request.");
i(e), u.body && u.body instanceof r.Readable && u.body.destroy(e), p && p.body && p.body.emit("error", e);
};

@@ -1020,3 +1021,3 @@

const y = function () {
d(), m();
d(), v();
},

@@ -1027,3 +1028,3 @@ g = l(c);

function m() {
function v() {
g.abort(), f && f.removeEventListener("abort", y), clearTimeout(b);

@@ -1034,6 +1035,6 @@ }

b = setTimeout(function () {
i(new h(`network timeout at: ${u.url}`, "request-timeout")), m();
i(new h(`network timeout at: ${u.url}`, "request-timeout")), v();
}, u.timeout);
}), g.on("error", function (e) {
i(new h(`request to ${u.url} failed, reason: ${e.message}`, "system", e)), m();
i(new h(`request to ${u.url} failed, reason: ${e.message}`, "system", e)), v();
}), g.on("response", function (e) {

@@ -1045,3 +1046,3 @@ clearTimeout(b);

for (const r of Object.keys(e)) if (!O.test(r)) if (Array.isArray(e[r])) for (const n of e[r]) S.test(n) || (void 0 === t[E][r] ? t[E][r] = [n] : t[E][r].push(n));else S.test(e[r]) || (t[E][r] = [e[r]]);
for (const n of Object.keys(e)) if (!S.test(n)) if (Array.isArray(e[n])) for (const r of e[n]) O.test(r) || (void 0 === t[x][n] ? t[x][n] = [r] : t[x][n].push(r));else O.test(e[n]) || (t[x][n] = [e[n]]);

@@ -1052,8 +1053,8 @@ return t;

if (V.isRedirect(e.statusCode)) {
const n = t.get("Location"),
o = null === n ? null : G(u.url, n);
const r = t.get("Location"),
o = null === r ? null : G(u.url, r);
switch (u.redirect) {
case "error":
return i(new h(`redirect mode is set to error: ${u.url}`, "no-redirect")), void m();
return i(new h(`redirect mode is set to error: ${u.url}`, "no-redirect")), void v();

@@ -1070,4 +1071,4 @@ case "manual":

if (null === o) break;
if (u.counter >= u.follow) return i(new h(`maximum redirect reached at: ${u.url}`, "max-redirect")), void m();
const n = {
if (u.counter >= u.follow) return i(new h(`maximum redirect reached at: ${u.url}`, "max-redirect")), void v();
const r = {
headers: new A(u.headers),

@@ -1083,3 +1084,3 @@ follow: u.follow,

};
return 303 !== e.statusCode && u.body && null === _(u) ? (i(new h("Cannot follow redirect with body being a readable stream", "unsupported-redirect")), void m()) : (303 !== e.statusCode && (301 !== e.statusCode && 302 !== e.statusCode || "POST" !== u.method) || (n.method = "GET", n.body = void 0, n.headers.delete("content-length")), r(V(new M(o, n))), void m());
return 303 !== e.statusCode && u.body && null === j(u) ? (i(new h("Cannot follow redirect with body being a readable stream", "unsupported-redirect")), void v()) : (303 !== e.statusCode && (301 !== e.statusCode && 302 !== e.statusCode || "POST" !== u.method) || (r.method = "GET", r.body = void 0, r.headers.delete("content-length")), n(V(new J(o, r))), void v());
}

@@ -1091,3 +1092,3 @@ }

});
let n = e.pipe(new J());
let r = e.pipe(new H());
const o = {

@@ -1102,21 +1103,21 @@ url: u.url,

},
s = t.get("Content-Encoding");
if (!u.compress || "HEAD" === u.method || null === s || 204 === e.statusCode || 304 === e.statusCode) return p = new I(n, o), void r(p);
a = t.get("Content-Encoding");
if (!u.compress || "HEAD" === u.method || null === a || 204 === e.statusCode || 304 === e.statusCode) return p = new z(r, o), void n(p);
const c = {
flush: a.Z_SYNC_FLUSH,
finishFlush: a.Z_SYNC_FLUSH
flush: s.Z_SYNC_FLUSH,
finishFlush: s.Z_SYNC_FLUSH
};
if ("gzip" == s || "x-gzip" == s) return n = n.pipe(a.createGunzip(c)), p = new I(n, o), void r(p);
if ("gzip" == a || "x-gzip" == a) return r = r.pipe(s.createGunzip(c)), p = new z(r, o), void n(p);
if ("deflate" != s && "x-deflate" != s) {
if ("br" == s && "function" == typeof a.createBrotliDecompress) return n = n.pipe(a.createBrotliDecompress()), p = new I(n, o), void r(p);
p = new I(n, o), r(p);
if ("deflate" != a && "x-deflate" != a) {
if ("br" == a && "function" == typeof s.createBrotliDecompress) return r = r.pipe(s.createBrotliDecompress()), p = new z(r, o), void n(p);
p = new z(r, o), n(p);
} else {
e.pipe(new J()).once("data", function (e) {
n = 8 == (15 & e[0]) ? n.pipe(a.createInflate()) : n.pipe(a.createInflateRaw()), p = new I(n, o), r(p);
e.pipe(new H()).once("data", function (e) {
r = 8 == (15 & e[0]) ? r.pipe(s.createInflate()) : r.pipe(s.createInflateRaw()), p = new z(r, o), n(p);
});
}
}), function (e, t) {
const r = t.body;
null === r ? e.end() : v(r) ? r.stream().pipe(e) : Buffer.isBuffer(r) ? (e.write(r), e.end()) : r.pipe(e);
const n = t.body;
null === n ? e.end() : m(n) ? n.stream().pipe(e) : Buffer.isBuffer(n) ? (e.write(n), e.end()) : n.pipe(e);
}(g, u);

@@ -1129,10 +1130,10 @@ });

}, V.Promise = global.Promise, t.default = V;
}, function (e, t, r) {
}, function (e, t, n) {
(function (e) {
var r = 200,
n = "__lodash_hash_undefined__",
var n = 200,
r = "__lodash_hash_undefined__",
o = 800,
i = 16,
s = 9007199254740991,
a = "[object Arguments]",
a = 9007199254740991,
s = "[object Arguments]",
u = "[object AsyncFunction]",

@@ -1148,22 +1149,22 @@ c = "[object Function]",

b = {};
b["[object Float32Array]"] = b["[object Float64Array]"] = b["[object Int8Array]"] = b["[object Int16Array]"] = b["[object Int32Array]"] = b["[object Uint8Array]"] = b["[object Uint8ClampedArray]"] = b["[object Uint16Array]"] = b["[object Uint32Array]"] = !0, b[a] = b["[object Array]"] = b["[object ArrayBuffer]"] = b["[object Boolean]"] = b["[object DataView]"] = b["[object Date]"] = b["[object Error]"] = b[c] = b["[object Map]"] = b["[object Number]"] = b[h] = b["[object RegExp]"] = b["[object Set]"] = b["[object String]"] = b["[object WeakMap]"] = !1;
b["[object Float32Array]"] = b["[object Float64Array]"] = b["[object Int8Array]"] = b["[object Int16Array]"] = b["[object Int32Array]"] = b["[object Uint8Array]"] = b["[object Uint8ClampedArray]"] = b["[object Uint16Array]"] = b["[object Uint32Array]"] = !0, b[s] = b["[object Array]"] = b["[object ArrayBuffer]"] = b["[object Boolean]"] = b["[object DataView]"] = b["[object Date]"] = b["[object Error]"] = b[c] = b["[object Map]"] = b["[object Number]"] = b[h] = b["[object RegExp]"] = b["[object Set]"] = b["[object String]"] = b["[object WeakMap]"] = !1;
var m = "object" == typeof global && global && global.Object === Object && global,
v = "object" == typeof self && self && self.Object === Object && self,
w = m || v || Function("return this")(),
j = t && !t.nodeType && t,
_ = j && "object" == typeof e && e && !e.nodeType && e,
O = _ && _.exports === j,
S = O && m.process,
P = function () {
var v = "object" == typeof global && global && global.Object === Object && global,
m = "object" == typeof self && self && self.Object === Object && self,
w = v || m || Function("return this")(),
_ = t && !t.nodeType && t,
j = _ && "object" == typeof e && e && !e.nodeType && e,
S = j && j.exports === _,
O = S && v.process,
E = function () {
try {
var e = _ && _.require && _.require("util").types;
var e = j && j.require && j.require("util").types;
return e || S && S.binding && S.binding("util");
return e || O && O.binding && O.binding("util");
} catch (e) {}
}(),
T = P && P.isTypedArray;
T = E && E.isTypedArray;
function x(e, t, r) {
switch (r.length) {
function P(e, t, n) {
switch (n.length) {
case 0:

@@ -1173,68 +1174,69 @@ return e.call(t);

case 1:
return e.call(t, r[0]);
return e.call(t, n[0]);
case 2:
return e.call(t, r[0], r[1]);
return e.call(t, n[0], n[1]);
case 3:
return e.call(t, r[0], r[1], r[2]);
return e.call(t, n[0], n[1], n[2]);
}
return e.apply(t, r);
return e.apply(t, n);
}
var E,
var x,
A,
k,
B = Array.prototype,
C = Function.prototype,
L = Object.prototype,
$ = w["__core-js_shared__"],
z = C.toString,
F = L.hasOwnProperty,
I = (E = /[^.]+$/.exec($ && $.keys && $.keys.IE_PROTO || "")) ? "Symbol(src)_1." + E : "",
R = L.toString,
U = z.call(Object),
D = RegExp("^" + z.call(F).replace(/[\\^$.*+?()[\]{}|]/g, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"),
N = O ? w.Buffer : void 0,
I,
k = Array.prototype,
B = Function.prototype,
F = Object.prototype,
L = w["__core-js_shared__"],
C = B.toString,
$ = F.hasOwnProperty,
z = (x = /[^.]+$/.exec(L && L.keys && L.keys.IE_PROTO || "")) ? "Symbol(src)_1." + x : "",
R = F.toString,
N = C.call(Object),
U = RegExp("^" + C.call($).replace(/[\\^$.*+?()[\]{}|]/g, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"),
D = S ? w.Buffer : void 0,
q = w.Symbol,
M = w.Uint8Array,
H = N ? N.allocUnsafe : void 0,
J = (A = Object.getPrototypeOf, k = Object, function (e) {
return A(k(e));
J = w.Uint8Array,
M = D ? D.allocUnsafe : void 0,
H = (A = Object.getPrototypeOf, I = Object, function (e) {
return A(I(e));
}),
G = Object.create,
V = L.propertyIsEnumerable,
K = B.splice,
V = F.propertyIsEnumerable,
K = k.splice,
Z = q ? q.toStringTag : void 0,
Y = function () {
try {
var e = je(Object, "defineProperty");
var e = _e(Object, "defineProperty");
return e({}, "", {}), e;
} catch (e) {}
}(),
W = N ? N.isBuffer : void 0,
W = D ? D.isBuffer : void 0,
X = Math.max,
Q = Date.now,
ee = je(w, "Map"),
te = je(Object, "create"),
re = function () {
ee = _e(w, "Map"),
te = _e(Object, "create"),
ne = function () {
function e() {}
return function (t) {
if (!Le(t)) return {};
if (!Fe(t)) return {};
if (G) return G(t);
e.prototype = t;
var r = new e();
return e.prototype = void 0, r;
var n = new e();
return e.prototype = void 0, n;
};
}();
function ne(e) {
function re(e) {
var t = -1,
r = null == e ? 0 : e.length;
n = null == e ? 0 : e.length;
for (this.clear(); ++t < r;) {
var n = e[t];
this.set(n[0], n[1]);
for (this.clear(); ++t < n;) {
var r = e[t];
this.set(r[0], r[1]);
}

@@ -1245,7 +1247,7 @@ }

var t = -1,
r = null == e ? 0 : e.length;
n = null == e ? 0 : e.length;
for (this.clear(); ++t < r;) {
var n = e[t];
this.set(n[0], n[1]);
for (this.clear(); ++t < n;) {
var r = e[t];
this.set(r[0], r[1]);
}

@@ -1256,11 +1258,11 @@ }

var t = -1,
r = null == e ? 0 : e.length;
n = null == e ? 0 : e.length;
for (this.clear(); ++t < r;) {
var n = e[t];
this.set(n[0], n[1]);
for (this.clear(); ++t < n;) {
var r = e[t];
this.set(r[0], r[1]);
}
}
function se(e) {
function ae(e) {
var t = this.__data__ = new oe(e);

@@ -1270,31 +1272,31 @@ this.size = t.size;

function ae(e, t) {
var r = Ee(e),
n = !r && xe(e),
o = !r && !n && ke(e),
i = !r && !n && !o && ze(e),
s = r || n || o || i,
a = s ? function (e, t) {
for (var r = -1, n = Array(e); ++r < e;) n[r] = t(r);
function se(e, t) {
var n = xe(e),
r = !n && Pe(e),
o = !n && !r && Ie(e),
i = !n && !r && !o && Ce(e),
a = n || r || o || i,
s = a ? function (e, t) {
for (var n = -1, r = Array(e); ++n < e;) r[n] = t(n);
return n;
return r;
}(e.length, String) : [],
u = a.length;
u = s.length;
for (var c in e) !t && !F.call(e, c) || s && ("length" == c || o && ("offset" == c || "parent" == c) || i && ("buffer" == c || "byteLength" == c || "byteOffset" == c) || _e(c, u)) || a.push(c);
for (var c in e) !t && !$.call(e, c) || a && ("length" == c || o && ("offset" == c || "parent" == c) || i && ("buffer" == c || "byteLength" == c || "byteOffset" == c) || je(c, u)) || s.push(c);
return a;
return s;
}
function ue(e, t, r) {
(void 0 === r || Te(e[t], r)) && (void 0 !== r || t in e) || fe(e, t, r);
function ue(e, t, n) {
(void 0 === n || Te(e[t], n)) && (void 0 !== n || t in e) || fe(e, t, n);
}
function ce(e, t, r) {
var n = e[t];
F.call(e, t) && Te(n, r) && (void 0 !== r || t in e) || fe(e, t, r);
function ce(e, t, n) {
var r = e[t];
$.call(e, t) && Te(r, n) && (void 0 !== n || t in e) || fe(e, t, n);
}
function le(e, t) {
for (var r = e.length; r--;) if (Te(e[r][0], t)) return r;
for (var n = e.length; n--;) if (Te(e[n][0], t)) return n;

@@ -1304,31 +1306,31 @@ return -1;

function fe(e, t, r) {
function fe(e, t, n) {
"__proto__" == t && Y ? Y(e, t, {
configurable: !0,
enumerable: !0,
value: r,
value: n,
writable: !0
}) : e[t] = r;
}) : e[t] = n;
}
ne.prototype.clear = function () {
re.prototype.clear = function () {
this.__data__ = te ? te(null) : {}, this.size = 0;
}, ne.prototype.delete = function (e) {
}, re.prototype.delete = function (e) {
var t = this.has(e) && delete this.__data__[e];
return this.size -= t ? 1 : 0, t;
}, ne.prototype.get = function (e) {
}, re.prototype.get = function (e) {
var t = this.__data__;
if (te) {
var r = t[e];
return r === n ? void 0 : r;
var n = t[e];
return n === r ? void 0 : n;
}
return F.call(t, e) ? t[e] : void 0;
}, ne.prototype.has = function (e) {
return $.call(t, e) ? t[e] : void 0;
}, re.prototype.has = function (e) {
var t = this.__data__;
return te ? void 0 !== t[e] : F.call(t, e);
}, ne.prototype.set = function (e, t) {
var r = this.__data__;
return this.size += this.has(e) ? 0 : 1, r[e] = te && void 0 === t ? n : t, this;
return te ? void 0 !== t[e] : $.call(t, e);
}, re.prototype.set = function (e, t) {
var n = this.__data__;
return this.size += this.has(e) ? 0 : 1, n[e] = te && void 0 === t ? r : t, this;
}, oe.prototype.clear = function () {

@@ -1338,19 +1340,19 @@ this.__data__ = [], this.size = 0;

var t = this.__data__,
r = le(t, e);
return !(r < 0) && (r == t.length - 1 ? t.pop() : K.call(t, r, 1), --this.size, !0);
n = le(t, e);
return !(n < 0) && (n == t.length - 1 ? t.pop() : K.call(t, n, 1), --this.size, !0);
}, oe.prototype.get = function (e) {
var t = this.__data__,
r = le(t, e);
return r < 0 ? void 0 : t[r][1];
n = le(t, e);
return n < 0 ? void 0 : t[n][1];
}, oe.prototype.has = function (e) {
return le(this.__data__, e) > -1;
}, oe.prototype.set = function (e, t) {
var r = this.__data__,
n = le(r, e);
return n < 0 ? (++this.size, r.push([e, t])) : r[n][1] = t, this;
var n = this.__data__,
r = le(n, e);
return r < 0 ? (++this.size, n.push([e, t])) : n[r][1] = t, this;
}, ie.prototype.clear = function () {
this.size = 0, this.__data__ = {
hash: new ne(),
hash: new re(),
map: new (ee || oe)(),
string: new ne()
string: new re()
};

@@ -1365,32 +1367,32 @@ }, ie.prototype.delete = function (e) {

}, ie.prototype.set = function (e, t) {
var r = we(this, e),
n = r.size;
return r.set(e, t), this.size += r.size == n ? 0 : 1, this;
}, se.prototype.clear = function () {
var n = we(this, e),
r = n.size;
return n.set(e, t), this.size += n.size == r ? 0 : 1, this;
}, ae.prototype.clear = function () {
this.__data__ = new oe(), this.size = 0;
}, se.prototype.delete = function (e) {
}, ae.prototype.delete = function (e) {
var t = this.__data__,
r = t.delete(e);
return this.size = t.size, r;
}, se.prototype.get = function (e) {
n = t.delete(e);
return this.size = t.size, n;
}, ae.prototype.get = function (e) {
return this.__data__.get(e);
}, se.prototype.has = function (e) {
}, ae.prototype.has = function (e) {
return this.__data__.has(e);
}, se.prototype.set = function (e, t) {
var n = this.__data__;
}, ae.prototype.set = function (e, t) {
var r = this.__data__;
if (n instanceof oe) {
var o = n.__data__;
if (!ee || o.length < r - 1) return o.push([e, t]), this.size = ++n.size, this;
n = this.__data__ = new ie(o);
if (r instanceof oe) {
var o = r.__data__;
if (!ee || o.length < n - 1) return o.push([e, t]), this.size = ++r.size, this;
r = this.__data__ = new ie(o);
}
return n.set(e, t), this.size = n.size, this;
return r.set(e, t), this.size = r.size, this;
};
var he,
pe = function (e, t, r) {
for (var n = -1, o = Object(e), i = r(e), s = i.length; s--;) {
var a = i[he ? s : ++n];
if (!1 === t(o[a], a, o)) break;
pe = function (e, t, n) {
for (var r = -1, o = Object(e), i = n(e), a = i.length; a--;) {
var s = i[he ? a : ++r];
if (!1 === t(o[s], s, o)) break;
}

@@ -1403,12 +1405,12 @@

return null == e ? void 0 === e ? d : f : Z && Z in Object(e) ? function (e) {
var t = F.call(e, Z),
r = e[Z];
var t = $.call(e, Z),
n = e[Z];
try {
e[Z] = void 0;
var n = !0;
var r = !0;
} catch (e) {}
var o = R.call(e);
n && (t ? e[Z] = r : delete e[Z]);
r && (t ? e[Z] = n : delete e[Z]);
return o;

@@ -1421,12 +1423,12 @@ }(e) : function (e) {

function ye(e) {
return $e(e) && de(e) == a;
return Le(e) && de(e) == s;
}
function ge(e) {
return !(!Le(e) || function (e) {
return !!I && I in e;
}(e)) && (Be(e) ? D : y).test(function (e) {
return !(!Fe(e) || function (e) {
return !!z && z in e;
}(e)) && (ke(e) ? U : y).test(function (e) {
if (null != e) {
try {
return z.call(e);
return C.call(e);
} catch (e) {}

@@ -1444,130 +1446,130 @@

function be(e) {
if (!Le(e)) return function (e) {
if (!Fe(e)) return function (e) {
var t = [];
if (null != e) for (var r in Object(e)) t.push(r);
if (null != e) for (var n in Object(e)) t.push(n);
return t;
}(e);
var t = Oe(e),
r = [];
var t = Se(e),
n = [];
for (var n in e) ("constructor" != n || !t && F.call(e, n)) && r.push(n);
for (var r in e) ("constructor" != r || !t && $.call(e, r)) && n.push(r);
return r;
return n;
}
function me(e, t, r, n, o) {
e !== t && pe(t, function (i, s) {
if (o || (o = new se()), Le(i)) !function (e, t, r, n, o, i, s) {
var a = Se(e, r),
u = Se(t, r),
c = s.get(u);
if (c) return void ue(e, r, c);
var l = i ? i(a, u, r + "", e, t, s) : void 0,
function ve(e, t, n, r, o) {
e !== t && pe(t, function (i, a) {
if (o || (o = new ae()), Fe(i)) !function (e, t, n, r, o, i, a) {
var s = Oe(e, n),
u = Oe(t, n),
c = a.get(u);
if (c) return void ue(e, n, c);
var l = i ? i(s, u, n + "", e, t, a) : void 0,
f = void 0 === l;
if (f) {
var p = Ee(u),
d = !p && ke(u),
y = !p && !d && ze(u);
l = u, p || d || y ? Ee(a) ? l = a : $e(w = a) && Ae(w) ? l = function (e, t) {
var r = -1,
n = e.length;
t || (t = Array(n));
var p = xe(u),
d = !p && Ie(u),
y = !p && !d && Ce(u);
l = u, p || d || y ? xe(s) ? l = s : Le(w = s) && Ae(w) ? l = function (e, t) {
var n = -1,
r = e.length;
t || (t = Array(r));
for (; ++r < n;) t[r] = e[r];
for (; ++n < r;) t[n] = e[n];
return t;
}(a) : d ? (f = !1, l = function (e, t) {
}(s) : d ? (f = !1, l = function (e, t) {
if (t) return e.slice();
var r = e.length,
n = H ? H(r) : new e.constructor(r);
return e.copy(n), n;
}(u, !0)) : y ? (f = !1, g = u, b = !0 ? (m = g.buffer, v = new m.constructor(m.byteLength), new M(v).set(new M(m)), v) : g.buffer, l = new g.constructor(b, g.byteOffset, g.length)) : l = [] : function (e) {
if (!$e(e) || de(e) != h) return !1;
var t = J(e);
var n = e.length,
r = M ? M(n) : new e.constructor(n);
return e.copy(r), r;
}(u, !0)) : y ? (f = !1, g = u, b = !0 ? (v = g.buffer, m = new v.constructor(v.byteLength), new J(m).set(new J(v)), m) : g.buffer, l = new g.constructor(b, g.byteOffset, g.length)) : l = [] : function (e) {
if (!Le(e) || de(e) != h) return !1;
var t = H(e);
if (null === t) return !0;
var r = F.call(t, "constructor") && t.constructor;
return "function" == typeof r && r instanceof r && z.call(r) == U;
}(u) || xe(u) ? (l = a, xe(a) ? l = function (e) {
return function (e, t, r, n) {
var o = !r;
r || (r = {});
var n = $.call(t, "constructor") && t.constructor;
return "function" == typeof n && n instanceof n && C.call(n) == N;
}(u) || Pe(u) ? (l = s, Pe(s) ? l = function (e) {
return function (e, t, n, r) {
var o = !n;
n || (n = {});
var i = -1,
s = t.length;
a = t.length;
for (; ++i < s;) {
var a = t[i],
u = n ? n(r[a], e[a], a, r, e) : void 0;
void 0 === u && (u = e[a]), o ? fe(r, a, u) : ce(r, a, u);
for (; ++i < a;) {
var s = t[i],
u = r ? r(n[s], e[s], s, n, e) : void 0;
void 0 === u && (u = e[s]), o ? fe(n, s, u) : ce(n, s, u);
}
return r;
}(e, Fe(e));
}(a) : Le(a) && !Be(a) || (l = function (e) {
return "function" != typeof e.constructor || Oe(e) ? {} : re(J(e));
return n;
}(e, $e(e));
}(s) : Fe(s) && !ke(s) || (l = function (e) {
return "function" != typeof e.constructor || Se(e) ? {} : ne(H(e));
}(u))) : f = !1;
}
var g, b, m, v;
var g, b, v, m;
var w;
f && (s.set(u, l), o(l, u, n, i, s), s.delete(u));
ue(e, r, l);
}(e, t, s, r, me, n, o);else {
var a = n ? n(Se(e, s), i, s + "", e, t, o) : void 0;
void 0 === a && (a = i), ue(e, s, a);
f && (a.set(u, l), o(l, u, r, i, a), a.delete(u));
ue(e, n, l);
}(e, t, a, n, ve, r, o);else {
var s = r ? r(Oe(e, a), i, a + "", e, t, o) : void 0;
void 0 === s && (s = i), ue(e, a, s);
}
}, Fe);
}, $e);
}
function ve(e, t) {
return Pe(function (e, t, r) {
function me(e, t) {
return Ee(function (e, t, n) {
return t = X(void 0 === t ? e.length - 1 : t, 0), function () {
for (var n = arguments, o = -1, i = X(n.length - t, 0), s = Array(i); ++o < i;) s[o] = n[t + o];
for (var r = arguments, o = -1, i = X(r.length - t, 0), a = Array(i); ++o < i;) a[o] = r[t + o];
o = -1;
for (var a = Array(t + 1); ++o < t;) a[o] = n[o];
for (var s = Array(t + 1); ++o < t;) s[o] = r[o];
return a[t] = r(s), x(e, this, a);
return s[t] = n(a), P(e, this, s);
};
}(e, t, Ue), e + "");
}(e, t, Ne), e + "");
}
function we(e, t) {
var r,
n,
var n,
r,
o = e.__data__;
return ("string" == (n = typeof (r = t)) || "number" == n || "symbol" == n || "boolean" == n ? "__proto__" !== r : null === r) ? o["string" == typeof t ? "string" : "hash"] : o.map;
return ("string" == (r = typeof (n = t)) || "number" == r || "symbol" == r || "boolean" == r ? "__proto__" !== n : null === n) ? o["string" == typeof t ? "string" : "hash"] : o.map;
}
function je(e, t) {
var r = function (e, t) {
function _e(e, t) {
var n = function (e, t) {
return null == e ? void 0 : e[t];
}(e, t);
return ge(r) ? r : void 0;
return ge(n) ? n : void 0;
}
function _e(e, t) {
var r = typeof e;
return !!(t = null == t ? s : t) && ("number" == r || "symbol" != r && g.test(e)) && e > -1 && e % 1 == 0 && e < t;
function je(e, t) {
var n = typeof e;
return !!(t = null == t ? a : t) && ("number" == n || "symbol" != n && g.test(e)) && e > -1 && e % 1 == 0 && e < t;
}
function Oe(e) {
function Se(e) {
var t = e && e.constructor;
return e === ("function" == typeof t && t.prototype || L);
return e === ("function" == typeof t && t.prototype || F);
}
function Se(e, t) {
function Oe(e, t) {
if (("constructor" !== t || "function" != typeof e[t]) && "__proto__" != t) return e[t];
}
var Pe = function (e) {
var Ee = function (e) {
var t = 0,
r = 0;
n = 0;
return function () {
var n = Q(),
s = i - (n - r);
var r = Q(),
a = i - (r - n);
if (r = n, s > 0) {
if (n = r, a > 0) {
if (++t >= o) return arguments[0];

@@ -1582,9 +1584,9 @@ } else t = 0;

enumerable: !1,
value: (r = t, function () {
return r;
value: (n = t, function () {
return n;
}),
writable: !0
});
var r;
} : Ue);
var n;
} : Ne);

@@ -1595,19 +1597,19 @@ function Te(e, t) {

var xe = ye(function () {
var Pe = ye(function () {
return arguments;
}()) ? ye : function (e) {
return $e(e) && F.call(e, "callee") && !V.call(e, "callee");
return Le(e) && $.call(e, "callee") && !V.call(e, "callee");
},
Ee = Array.isArray;
xe = Array.isArray;
function Ae(e) {
return null != e && Ce(e.length) && !Be(e);
return null != e && Be(e.length) && !ke(e);
}
var ke = W || function () {
var Ie = W || function () {
return !1;
};
function Be(e) {
if (!Le(e)) return !1;
function ke(e) {
if (!Fe(e)) return !1;
var t = de(e);

@@ -1617,7 +1619,7 @@ return t == c || t == l || t == u || t == p;

function Ce(e) {
return "number" == typeof e && e > -1 && e % 1 == 0 && e <= s;
function Be(e) {
return "number" == typeof e && e > -1 && e % 1 == 0 && e <= a;
}
function Le(e) {
function Fe(e) {
var t = typeof e;

@@ -1627,7 +1629,7 @@ return null != e && ("object" == t || "function" == t);

function $e(e) {
function Le(e) {
return null != e && "object" == typeof e;
}
var ze = T ? function (e) {
var Ce = T ? function (e) {
return function (t) {

@@ -1637,25 +1639,25 @@ return e(t);

}(T) : function (e) {
return $e(e) && Ce(e.length) && !!b[de(e)];
return Le(e) && Be(e.length) && !!b[de(e)];
};
function Fe(e) {
return Ae(e) ? ae(e, !0) : be(e);
function $e(e) {
return Ae(e) ? se(e, !0) : be(e);
}
var Ie,
Re = (Ie = function (e, t, r) {
me(e, t, r);
}, ve(function (e, t) {
var r = -1,
n = t.length,
o = n > 1 ? t[n - 1] : void 0,
i = n > 2 ? t[2] : void 0;
var ze,
Re = (ze = function (e, t, n) {
ve(e, t, n);
}, me(function (e, t) {
var n = -1,
r = t.length,
o = r > 1 ? t[r - 1] : void 0,
i = r > 2 ? t[2] : void 0;
for (o = Ie.length > 3 && "function" == typeof o ? (n--, o) : void 0, i && function (e, t, r) {
if (!Le(r)) return !1;
var n = typeof t;
return !!("number" == n ? Ae(r) && _e(t, r.length) : "string" == n && (t in r)) && Te(r[t], e);
}(t[0], t[1], i) && (o = n < 3 ? void 0 : o, n = 1), e = Object(e); ++r < n;) {
var s = t[r];
s && Ie(e, s, r, o);
for (o = ze.length > 3 && "function" == typeof o ? (r--, o) : void 0, i && function (e, t, n) {
if (!Fe(n)) return !1;
var r = typeof t;
return !!("number" == r ? Ae(n) && je(t, n.length) : "string" == r && (t in n)) && Te(n[t], e);
}(t[0], t[1], i) && (o = r < 3 ? void 0 : o, r = 1), e = Object(e); ++n < r;) {
var a = t[n];
a && ze(e, a, n, o);
}

@@ -1666,3 +1668,3 @@

function Ue(e) {
function Ne(e) {
return e;

@@ -1672,3 +1674,3 @@ }

e.exports = Re;
}).call(this, r(10)(e));
}).call(this, n(10)(e));
}, function (e, t) {

@@ -1688,5 +1690,5 @@ e.exports = function (e) {

};
}, function (e, t, r) {
function n(e) {
return (n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {
}, function (e, t, n) {
function r(e) {
return (r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {
return typeof e;

@@ -1699,74 +1701,83 @@ } : function (e) {

function o(e, t) {
var r = Object.keys(e);
var n = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var n = Object.getOwnPropertySymbols(e);
t && (n = n.filter(function (t) {
var r = Object.getOwnPropertySymbols(e);
t && (r = r.filter(function (t) {
return Object.getOwnPropertyDescriptor(e, t).enumerable;
})), r.push.apply(r, n);
})), n.push.apply(n, r);
}
return r;
return n;
}
function i(e, t) {
for (var r, n = 0; n < t.length; n++) (r = t[n]).enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);
function i(e) {
for (var t, n = 1; n < arguments.length; n++) t = null == arguments[n] ? {} : arguments[n], n % 2 ? o(t, !0).forEach(function (n) {
s(e, n, t[n]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : o(t).forEach(function (n) {
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(t, n));
});
return e;
}
function s(e, t, r) {
function a(e, t) {
for (var n, r = 0; r < t.length; r++) (n = t[r]).enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);
}
function s(e, t, n) {
return t in e ? Object.defineProperty(e, t, {
value: r,
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = r, e;
}) : e[t] = n, e;
}
var a,
u,
c = "https://api.bullet-train.io/api/v1/",
l = r(12),
f = function (e) {
var u,
c,
l = "https://api.bullet-train.io/api/v1/",
f = n(12),
h = function (e) {
return "Attempted to " + e + " a user before calling flagsmith.init. Call flagsmith.init first, if you wish to prevent it sending a request for flags, call init with preventFetch:true.";
},
h = function () {
p = function () {
function e(t) {
var r = this;
var n = this;
(function (e, t) {
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
})(this, e), s(this, "getJSON", function (e, t, n) {
})(this, e), s(this, "getJSON", function (e, t, r) {
var o = {
method: t || "GET",
body: n,
body: r,
headers: {
"x-environment-key": r.environmentID
"x-environment-key": n.environmentID
}
};
return "GET" !== t && (o.headers["Content-Type"] = "application/json; charset=utf-8"), a(e, o).then(function (e) {
return 200 <= e.status && 300 > e.status ? e : e.text().then(function (e) {
var t = e;
return "GET" !== t && (o.headers["Content-Type"] = "application/json; charset=utf-8"), u(e, o).then(function (e) {
return e.text().then(function (t) {
var n = t;
try {
t = JSON.parse(e);
n = JSON.parse(t);
} catch (e) {}
return Promise.reject(t);
return e.ok ? n : Promise.reject(n);
});
}).then(function (e) {
return e.json();
});
}), s(this, "getFlags", function (e, t) {
var n = r.onChange,
i = r.onError,
a = r.identity,
u = r.api,
c = (r.disableCache, !1),
f = function (e, t) {
var i = e.flags,
var r = n.onChange,
o = n.onError,
a = n.identity,
s = n.api,
u = (n.disableCache, !1),
c = function (e, t) {
var o = e.flags,
a = e.traits,
u = {},
c = {};
s = {},
u = {};
if (a = a || [], (i = i || []).forEach(function (e) {
u[e.feature.name.toLowerCase().replace(/ /g, "_")] = {
if (a = a || [], (o = o || []).forEach(function (e) {
s[e.feature.name.toLowerCase().replace(/ /g, "_")] = {
id: e.feature.id,
enabled: e.enabled,

@@ -1776,52 +1787,55 @@ value: e.feature_state_value

}), a.forEach(function (e) {
c[e.trait_key.toLowerCase().replace(/ /g, "_")] = e.trait_value;
}), r.oldFlags = function (e) {
for (var t, r = 1; r < arguments.length; r++) t = null == arguments[r] ? {} : arguments[r], r % 2 ? o(t, !0).forEach(function (r) {
s(e, r, t[r]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : o(t).forEach(function (r) {
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
});
return e;
}({}, r.flags), t) {
var f = {};
u[e.trait_key.toLowerCase().replace(/ /g, "_")] = e.trait_value;
}), n.oldFlags = i({}, n.flags), t) {
var c = {};
t.map(function (e) {
f[e.name] = e;
}), r.segments = f;
c[e.name] = e;
}), n.segments = c;
}
var h = l(r.flags, u),
p = l(r.traits, c);
r.flags = u, r.traits = c, r.updateStorage(), n && n(r.oldFlags, {
var l = f(n.flags, s),
h = f(n.traits, u);
n.flags = s, n.traits = u, n.updateStorage(), r && r(n.oldFlags, {
isFromServer: !0,
flagsChanged: !h,
traitsChanged: !p
flagsChanged: !l,
traitsChanged: !h
});
};
return a ? Promise.all([r.getJSON(u + "identities/?identifier=" + encodeURIComponent(a))]).then(function (e) {
f(e[0], e[1]);
return a ? Promise.all([n.getJSON(s + "identities/?identifier=" + encodeURIComponent(a))]).then(function (e) {
c(e[0], e[1]);
}).catch(function (e) {
var t = e.message;
i && i({
o && o({
message: t
});
}) : Promise.all([r.getJSON(u + "flags/")]).then(function (t) {
f({
}) : Promise.all([n.getJSON(s + "flags/")]).then(function (t) {
c({
flags: t[0]
}, null), e && !c && (c = !0, e());
}, null), e && !u && (u = !0, e());
}).catch(function (e) {
t && !c && (c = !0, t(e)), i && i(e);
t && !u && (u = !0, t(e)), o && o(e);
});
}), s(this, "analyticsFlags", function () {
var e = n.api;
if (0 !== Object.getOwnPropertyNames(n.evaluationEvent).length) return n.getJSON(e + "analytics/flags/", "POST", JSON.stringify(n.evaluationEvent)).then(function () {
state = n.getState(), n.setState(i({}, state, {
evaluationEvent: {}
})), n.updateEventStorage();
}).catch(function (e) {
n.log("Exception fetching evaluationEvent", e);
});
}), s(this, "evaluateFlag", function (e) {
n.enableAnalytics && (void 0 === n.evaluationEvent[e] && (n.evaluationEvent[e] = 0), n.evaluationEvent[e] += 1), n.updateEventStorage();
}), s(this, "getValue", function (e) {
var t = r.flags && r.flags[e],
n = null;
return t && (n = t.value), n;
var t = n.flags && n.flags[e],
r = null;
return t && (r = t.value), n.evaluateFlag(e), r;
}), s(this, "getTrait", function (e) {
return r.traits && r.traits[e];
return n.traits && n.traits[e];
}), s(this, "setTrait", function (e, t) {
var n = r.getJSON,
o = r.identity,
i = r.api;
if (i) return n("".concat(i, "traits/"), "POST", JSON.stringify({
var r = n.getJSON,
o = n.identity,
i = n.api;
if (i) return r("".concat(i, "traits/"), "POST", JSON.stringify({
identity: {

@@ -1833,13 +1847,13 @@ identifier: o

})).then(function () {
r.initialised && r.getFlags();
n.initialised && n.getFlags();
});
console.error(f("setTrait"));
console.error(h("setTrait"));
}), s(this, "setTraits", function (e) {
var t = r.getJSON,
o = r.identity,
i = r.api;
var t = n.getJSON,
o = n.identity,
i = n.api;
if (i) {
e && "object" === n(e) || console.error("Expected object for flagsmith.setTraits");
var s = Object.keys(e).map(function (t) {
e && "object" === r(e) || console.error("Expected object for flagsmith.setTraits");
var a = Object.keys(e).map(function (t) {
return {

@@ -1853,26 +1867,26 @@ identity: {

});
return t("".concat(i, "traits/bulk/"), "PUT", JSON.stringify(s)).then(function () {
r.initialised && r.getFlags();
return t("".concat(i, "traits/bulk/"), "PUT", JSON.stringify(a)).then(function () {
n.initialised && n.getFlags();
});
}
console.error(f("setTraits"));
console.error(h("setTraits"));
}), s(this, "incrementTrait", function (e, t) {
var n = r.getJSON,
o = r.identity,
i = r.api;
return n("".concat(i, "traits/increment-value/"), "POST", JSON.stringify({
var r = n.getJSON,
o = n.identity,
i = n.api;
return r("".concat(i, "traits/increment-value/"), "POST", JSON.stringify({
trait_key: e,
increment_by: t,
identifier: o
})).then(r.getFlags);
})).then(n.getFlags);
}), s(this, "hasFeature", function (e) {
var t = r.flags && r.flags[e],
n = !1;
return t && t.enabled && (n = !0), n;
}), a = t.fetch ? t.fetch : global.fetch, u = t.AsyncStorage;
var t = n.flags && n.flags[e],
r = !1;
return t && t.enabled && (r = !0), n.evaluateFlag(e), r;
}), u = t.fetch ? t.fetch : global.fetch, c = t.AsyncStorage;
}
return function (e, t, r) {
t && i(e.prototype, t), r && i(e, r);
return function (e, t, n) {
t && a(e.prototype, t), n && a(e, n);
}(e, [{

@@ -1882,16 +1896,31 @@ key: "init",

var t = this,
r = e.environmentID,
n = e.api,
o = void 0 === n ? c : n,
i = e.onChange,
n = e.environmentID,
r = e.api,
o = void 0 === r ? l : r,
a = e.onChange,
s = e.cacheFlags,
a = e.onError,
l = e.defaultFlags,
f = e.preventFetch,
h = e.enableLogs,
p = e.AsyncStorage,
d = e.state;
return new Promise(function (e, n) {
if (t.environmentID = r, t.api = o, t.interval = null, t.onChange = i, t.onError = a, t.enableLogs = h, t.flags = Object.assign({}, l) || {}, t.initialised = !0, t.timer = t.enableLogs ? new Date().valueOf() : null, p && (u = p), t.cacheFlags = void 0 !== u && s, t.setState(d), !r) throw n("Please specify a environment id"), "Please specify a environment id";
s ? u.getItem("BULLET_TRAIN_DB", function (r, o) {
u = e.onError,
f = e.defaultFlags,
h = e.preventFetch,
p = e.enableLogs,
d = e.enableAnalytics,
y = e.AsyncStorage,
g = e.state;
return new Promise(function (e, r) {
if (t.environmentID = n, t.api = o, t.getFlagInterval = null, t.analyticsInterval = null, t.onChange = a, t.onError = u, t.enableLogs = p, t.enableAnalytics = !!d && d, t.flags = Object.assign({}, f) || {}, t.initialised = !0, t.ticks = 1e4, t.timer = t.enableLogs ? new Date().valueOf() : null, y && (c = y), t.cacheFlags = void 0 !== c && s, t.setState(g), !n) throw r("Please specify a environment id"), "Please specify a environment id";
c.getItem("BULLET_TRAIN_EVENT").then(function (e) {
if (e) try {
t.evaluationEvent = JSON.parse(e);
} catch (e) {
t.evaluationEvent = {};
} else t.evaluationEvent = {};
t.analyticsInterval = setInterval(t.analyticsFlags, t.ticks);
}), t.enableAnalytics && (t.analyticsInterval && clearInterval(t.analyticsInterval), c.getItem("BULLET_TRAIN_EVENT", function (e, n) {
if (n) {
var r = JSON.parse(n);
r && (g = t.getState(), t.log("Retrieved events from cache", n), t.setState(i({}, g, {
evaluationEvent: r
})));
}
})), s ? c.getItem("BULLET_TRAIN_DB", function (n, o) {
if (o) try {

@@ -1901,7 +1930,7 @@ var i = JSON.parse(o);

isFromServer: !1
}), t.oldFlags = t.flags, e(), !f && t.getFlags(Promise.resolve, Promise.reject)) : !f && t.getFlags(e, n);
}), t.oldFlags = t.flags, e(), !h && t.getFlags(Promise.resolve, Promise.reject)) : !h && t.getFlags(e, r);
} catch (e) {
t.log("Exception fetching cached logs", e);
} else f || t.getFlags(e, n);
}) : !f && t.getFlags(e, n);
} else h || t.getFlags(e, r);
}) : !h && t.getFlags(e, r);
});

@@ -1917,3 +1946,3 @@ }

value: function (e) {
return this.identity = e, this.initialised && !this.interval ? this.getFlags() : Promise.resolve();
return this.identity = e, this.initialised && !this.getFlagInterval ? this.getFlags() : Promise.resolve();
}

@@ -1929,3 +1958,4 @@ }, {

segments: this.segments,
traits: this.traits
traits: this.traits,
evaluationEvent: this.evaluationEvent
};

@@ -1936,3 +1966,3 @@ }

value: function (e) {
e && (this.initialised = !0, this.api = e.api || this.api || c, this.environmentID = e.environmentID || this.environmentID, this.flags = e.flags || this.flags, this.identity = e.identity || this.identity, this.segments = e.segments || this.segments, this.traits = e.traits || this.traits);
e && (this.initialised = !0, this.api = e.api || this.api || l, this.environmentID = e.environmentID || this.environmentID, this.flags = e.flags || this.flags, this.identity = e.identity || this.identity, this.segments = e.segments || this.segments, this.traits = e.traits || this.traits, this.evaluationEvent = e.evaluationEvent || this.evaluationEvent);
}

@@ -1943,3 +1973,3 @@ }, {

if (this.enableLogs) {
for (var e = arguments.length, t = Array(e), r = 0; r < e; r++) t[r] = arguments[r];
for (var e = arguments.length, t = Array(e), n = 0; n < e; n++) t[n] = arguments[n];

@@ -1954,9 +1984,17 @@ console.log.apply(this, ["FLAGSMITH:", new Date().valueOf() - this.timer, "ms"].concat(t));

var e = JSON.stringify(this.getState());
this.log("Setting storage", e), u.setItem("BULLET_TRAIN_DB", e);
this.log("Setting storage", e), c.setItem("BULLET_TRAIN_DB", e);
}
}
}, {
key: "updateEventStorage",
value: function () {
if (this.enableAnalytics) {
var e = JSON.stringify(this.getState().evaluationEvent);
this.log("Setting event storage", e), c.setItem("BULLET_TRAIN_EVENT", e);
}
}
}, {
key: "logout",
value: function () {
this.identity = null, this.segments = null, this.traits = null, this.initialised && !this.interval && this.getFlags();
this.identity = null, this.segments = null, this.traits = null, this.initialised && !this.getFlagInterval && this.getFlags();
}

@@ -1967,3 +2005,3 @@ }, {

var e = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : 1e3;
this.interval || (this.interval = setInterval(this.getFlags, e));
this.getFlagInterval || (this.getFlagInterval = setInterval(this.getFlags, e));
}

@@ -1976,3 +2014,3 @@ }, {

value: function () {
clearInterval(this.interval);
clearInterval(this.getFlagInterval);
}

@@ -1984,22 +2022,22 @@ }]), e;

var t = e.fetch,
r = e.AsyncStorage;
return new h({
n = e.AsyncStorage;
return new p({
fetch: t,
AsyncStorage: r
AsyncStorage: n
});
};
}, function (e, t, r) {
}, function (e, t, n) {
"use strict";
e.exports = function e(t, r) {
if (t === r) return !0;
e.exports = function e(t, n) {
if (t === n) return !0;
if (t && r && "object" == typeof t && "object" == typeof r) {
if (t.constructor !== r.constructor) return !1;
var n, o, i;
if (t && n && "object" == typeof t && "object" == typeof n) {
if (t.constructor !== n.constructor) return !1;
var r, o, i;
if (Array.isArray(t)) {
if ((n = t.length) != r.length) return !1;
if ((r = t.length) != n.length) return !1;
for (o = n; 0 != o--;) if (!e(t[o], r[o])) return !1;
for (o = r; 0 != o--;) if (!e(t[o], n[o])) return !1;

@@ -2009,12 +2047,12 @@ return !0;

if (t.constructor === RegExp) return t.source === r.source && t.flags === r.flags;
if (t.valueOf !== Object.prototype.valueOf) return t.valueOf() === r.valueOf();
if (t.toString !== Object.prototype.toString) return t.toString() === r.toString();
if ((n = (i = Object.keys(t)).length) !== Object.keys(r).length) return !1;
if (t.constructor === RegExp) return t.source === n.source && t.flags === n.flags;
if (t.valueOf !== Object.prototype.valueOf) return t.valueOf() === n.valueOf();
if (t.toString !== Object.prototype.toString) return t.toString() === n.toString();
if ((r = (i = Object.keys(t)).length) !== Object.keys(n).length) return !1;
for (o = n; 0 != o--;) if (!Object.prototype.hasOwnProperty.call(r, i[o])) return !1;
for (o = r; 0 != o--;) if (!Object.prototype.hasOwnProperty.call(n, i[o])) return !1;
for (o = n; 0 != o--;) {
var s = i[o];
if (!e(t[s], r[s])) return !1;
for (o = r; 0 != o--;) {
var a = i[o];
if (!e(t[a], n[a])) return !1;
}

@@ -2025,5 +2063,5 @@

return t != t && r != r;
return t != t && n != n;
};
}]);
});
{
"name": "flagsmith",
"version": "1.0.0",
"version": "1.1.0",
"description": "Feature flagging to support continuous development",

@@ -5,0 +5,0 @@ "main": "./index.js",

@@ -58,2 +58,3 @@ <img width="100%" src="https://raw.githubusercontent.com/SolidStateGroup/bullet-train-frontend/master/hero.png"/>

| ```cacheFlags``` | Any time flags are retrieved they will be cached, flags and identities will then be retrieved from local storage before hitting the API ``` | | null
| ```enableAnalytics``` | Enable sending analytics for getValue and hasFeature evaluations. | | false
| ```enableLogs``` | Enables logging for key Flagsmith events ``` | | null

@@ -60,0 +61,0 @@ | ```defaultFlags``` | Allows you define default features, these will all be overridden on first retrieval of features. | | null