/*! For license information please see main.b16695b6316dfd5b68d4.bundle.js.LICENSE.txt */ (()=>{var e={59713:e=>{e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},e.exports.default=e.exports,e.exports.__esModule=!0},95318:e=>{e.exports=function(e){return e&&e.__esModule?e:{default:e}},e.exports.default=e.exports,e.exports.__esModule=!0},20862:(e,t,n)=>{var o=n(50008).default;function r(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return r=function(){return e},e}e.exports=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==o(e)&&"function"!=typeof e)return{default:e};var t=r();if(t&&t.has(e))return t.get(e);var n={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var s=i?Object.getOwnPropertyDescriptor(e,a):null;s&&(s.get||s.set)?Object.defineProperty(n,a,s):n[a]=e[a]}return n.default=e,t&&t.set(e,n),n},e.exports.default=e.exports,e.exports.__esModule=!0},50008:e=>{function t(n){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(e.exports=t=function(e){return typeof e},e.exports.default=e.exports,e.exports.__esModule=!0):(e.exports=t=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.default=e.exports,e.exports.__esModule=!0),t(n)}e.exports=t,e.exports.default=e.exports,e.exports.__esModule=!0},18508:e=>{function t(e){this._db=e,this._operations=[],this._written=!1}t.prototype._checkWritten=function(){if(this._written)throw new Error("write() already called on this batch")},t.prototype.put=function(e,t){this._checkWritten();var n=this._db._checkKeyValue(e,"key",this._db._isBuffer);if(n)throw n;if(n=this._db._checkKeyValue(t,"value",this._db._isBuffer))throw n;return this._db._isBuffer(e)||(e=String(e)),this._db._isBuffer(t)||(t=String(t)),"function"==typeof this._put?this._put(e,t):this._operations.push({type:"put",key:e,value:t}),this},t.prototype.del=function(e){this._checkWritten();var t=this._db._checkKeyValue(e,"key",this._db._isBuffer);if(t)throw t;return this._db._isBuffer(e)||(e=String(e)),"function"==typeof this._del?this._del(e):this._operations.push({type:"del",key:e}),this},t.prototype.clear=function(){return this._checkWritten(),this._operations=[],"function"==typeof this._clear&&this._clear(),this},t.prototype.write=function(e,t){if(this._checkWritten(),"function"==typeof e&&(t=e),"function"!=typeof t)throw new Error("write() requires a callback argument");return"object"!=typeof e&&(e={}),this._written=!0,"function"==typeof this._write?this._write(t):"function"==typeof this._db._batch?this._db._batch(this._operations,e,t):void process.nextTick(t)},e.exports=t},43538:e=>{function t(e){this.db=e,this._ended=!1,this._nexting=!1}t.prototype.next=function(e){var t=this;if("function"!=typeof e)throw new Error("next() requires a callback argument");return t._ended?e(new Error("cannot call next() after end()")):t._nexting?e(new Error("cannot call next() before previous next() has completed")):(t._nexting=!0,"function"==typeof t._next?t._next((function(){t._nexting=!1,e.apply(null,arguments)})):void process.nextTick((function(){t._nexting=!1,e()})))},t.prototype.end=function(e){if("function"!=typeof e)throw new Error("end() requires a callback argument");return this._ended?e(new Error("end() already called on iterator")):(this._ended=!0,"function"==typeof this._end?this._end(e):void process.nextTick(e))},e.exports=t},32554:(e,t,n)=>{var o=n(77915),r=n(43538),i=n(18508);function a(e){if(!arguments.length||void 0===e)throw new Error("constructor requires at least a location argument");if("string"!=typeof e)throw new Error("constructor requires a location string argument");this.location=e}a.prototype.open=function(e,t){if("function"==typeof e&&(t=e),"function"!=typeof t)throw new Error("open() requires a callback argument");if("object"!=typeof e&&(e={}),"function"==typeof this._open)return this._open(e,t);process.nextTick(t)},a.prototype.close=function(e){if("function"!=typeof e)throw new Error("close() requires a callback argument");if("function"==typeof this._close)return this._close(e);process.nextTick(e)},a.prototype.get=function(e,t,n){var o;if("function"==typeof t&&(n=t),"function"!=typeof n)throw new Error("get() requires a callback argument");return(o=this._checkKeyValue(e,"key",this._isBuffer))?n(o):(this._isBuffer(e)||(e=String(e)),"object"!=typeof t&&(t={}),"function"==typeof this._get?this._get(e,t,n):void process.nextTick((function(){n(new Error("NotFound"))})))},a.prototype.put=function(e,t,n,o){var r;if("function"==typeof n&&(o=n),"function"!=typeof o)throw new Error("put() requires a callback argument");return(r=this._checkKeyValue(e,"key",this._isBuffer))||(r=this._checkKeyValue(t,"value",this._isBuffer))?o(r):(this._isBuffer(e)||(e=String(e)),this._isBuffer(t)||process.browser||(t=String(t)),"object"!=typeof n&&(n={}),"function"==typeof this._put?this._put(e,t,n,o):void process.nextTick(o))},a.prototype.del=function(e,t,n){var o;if("function"==typeof t&&(n=t),"function"!=typeof n)throw new Error("del() requires a callback argument");return(o=this._checkKeyValue(e,"key",this._isBuffer))?n(o):(this._isBuffer(e)||(e=String(e)),"object"!=typeof t&&(t={}),"function"==typeof this._del?this._del(e,t,n):void process.nextTick(n))},a.prototype.batch=function(e,t,n){if(!arguments.length)return this._chainedBatch();if("function"==typeof t&&(n=t),"function"!=typeof n)throw new Error("batch(array) requires a callback argument");if(!Array.isArray(e))return n(new Error("batch(array) requires an array argument"));"object"!=typeof t&&(t={});for(var o,r,i=0,a=e.length;i{e.exports=function(){for(var e={},t=0;t{"use strict";for(var t=/[\\\"\x00-\x1F]/g,n={},o=0;o<32;++o)n[String.fromCharCode(o)]="\\U"+("0000"+o.toString(16)).slice(-4).toUpperCase();function r(e){return t.lastIndex=0,e.replace(t,(function(e){return n[e]}))}n["\b"]="\\b",n["\t"]="\\t",n["\n"]="\\n",n["\f"]="\\f",n["\r"]="\\r",n['"']='\\"',n["\\"]="\\\\",e.exports={stringify:function e(t){switch(typeof t){case"string":return'"'+r(t)+'"';case"number":return isFinite(t)?t:"null";case"boolean":return t;case"object":return null===t?"null":Array.isArray(t)?function(t){for(var n="[",o="",r=0;r{e.exports=function(e,n,o){if(e.filter)return e.filter(n,o);if(null==e)throw new TypeError;if("function"!=typeof n)throw new TypeError;for(var r=[],i=0;i{"use strict";const o=t;o.bignum=n(4590),o.define=n(22500).define,o.base=n(71979),o.constants=n(36826),o.decoders=n(78307),o.encoders=n(56579)},22500:(e,t,n)=>{"use strict";const o=n(56579),r=n(78307),i=n(35717);function a(e,t){this.name=e,this.body=t,this.decoders={},this.encoders={}}t.define=function(e,t){return new a(e,t)},a.prototype._createNamed=function(e){const t=this.name;function n(e){this._initNamed(e,t)}return i(n,e),n.prototype._initNamed=function(t,n){e.call(this,t,n)},new n(this)},a.prototype._getDecoder=function(e){return e=e||"der",this.decoders.hasOwnProperty(e)||(this.decoders[e]=this._createNamed(r[e])),this.decoders[e]},a.prototype.decode=function(e,t,n){return this._getDecoder(t).decode(e,n)},a.prototype._getEncoder=function(e){return e=e||"der",this.encoders.hasOwnProperty(e)||(this.encoders[e]=this._createNamed(o[e])),this.encoders[e]},a.prototype.encode=function(e,t,n){return this._getEncoder(t).encode(e,n)}},36625:(e,t,n)=>{"use strict";const o=n(35717),r=n(98465).b,i=n(2399).Buffer;function a(e,t){r.call(this,t),i.isBuffer(e)?(this.base=e,this.offset=0,this.length=e.length):this.error("Input not Buffer")}function s(e,t){if(Array.isArray(e))this.length=0,this.value=e.map((function(e){return s.isEncoderBuffer(e)||(e=new s(e,t)),this.length+=e.length,e}),this);else if("number"==typeof e){if(!(0<=e&&e<=255))return t.error("non-byte EncoderBuffer value");this.value=e,this.length=1}else if("string"==typeof e)this.value=e,this.length=i.byteLength(e);else{if(!i.isBuffer(e))return t.error("Unsupported type: "+typeof e);this.value=e,this.length=e.length}}o(a,r),t.C=a,a.isDecoderBuffer=function(e){return e instanceof a||"object"==typeof e&&i.isBuffer(e.base)&&"DecoderBuffer"===e.constructor.name&&"number"==typeof e.offset&&"number"==typeof e.length&&"function"==typeof e.save&&"function"==typeof e.restore&&"function"==typeof e.isEmpty&&"function"==typeof e.readUInt8&&"function"==typeof e.skip&&"function"==typeof e.raw},a.prototype.save=function(){return{offset:this.offset,reporter:r.prototype.save.call(this)}},a.prototype.restore=function(e){const t=new a(this.base);return t.offset=e.offset,t.length=this.offset,this.offset=e.offset,r.prototype.restore.call(this,e.reporter),t},a.prototype.isEmpty=function(){return this.offset===this.length},a.prototype.readUInt8=function(e){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(e||"DecoderBuffer overrun")},a.prototype.skip=function(e,t){if(!(this.offset+e<=this.length))return this.error(t||"DecoderBuffer overrun");const n=new a(this.base);return n._reporterState=this._reporterState,n.offset=this.offset,n.length=this.offset+e,this.offset+=e,n},a.prototype.raw=function(e){return this.base.slice(e?e.offset:this.offset,this.length)},t.R=s,s.isEncoderBuffer=function(e){return e instanceof s||"object"==typeof e&&"EncoderBuffer"===e.constructor.name&&"number"==typeof e.length&&"function"==typeof e.join},s.prototype.join=function(e,t){return e||(e=i.alloc(this.length)),t||(t=0),0===this.length||(Array.isArray(this.value)?this.value.forEach((function(n){n.join(e,t),t+=n.length})):("number"==typeof this.value?e[t]=this.value:"string"==typeof this.value?e.write(this.value,t):i.isBuffer(this.value)&&this.value.copy(e,t),t+=this.length)),e}},71979:(e,t,n)=>{"use strict";const o=t;o.Reporter=n(98465).b,o.DecoderBuffer=n(36625).C,o.EncoderBuffer=n(36625).R,o.Node=n(41949)},41949:(e,t,n)=>{"use strict";const o=n(98465).b,r=n(36625).R,i=n(36625).C,a=n(79746),s=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],u=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(s);function c(e,t,n){const o={};this._baseState=o,o.name=n,o.enc=e,o.parent=t||null,o.children=null,o.tag=null,o.args=null,o.reverseArgs=null,o.choice=null,o.optional=!1,o.any=!1,o.obj=!1,o.use=null,o.useDecoder=null,o.key=null,o.default=null,o.explicit=null,o.implicit=null,o.contains=null,o.parent||(o.children=[],this._wrap())}e.exports=c;const l=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];c.prototype.clone=function(){const e=this._baseState,t={};l.forEach((function(n){t[n]=e[n]}));const n=new this.constructor(t.parent);return n._baseState=t,n},c.prototype._wrap=function(){const e=this._baseState;u.forEach((function(t){this[t]=function(){const n=new this.constructor(this);return e.children.push(n),n[t].apply(n,arguments)}}),this)},c.prototype._init=function(e){const t=this._baseState;a(null===t.parent),e.call(this),t.children=t.children.filter((function(e){return e._baseState.parent===this}),this),a.equal(t.children.length,1,"Root node can have only one child")},c.prototype._useArgs=function(e){const t=this._baseState,n=e.filter((function(e){return e instanceof this.constructor}),this);e=e.filter((function(e){return!(e instanceof this.constructor)}),this),0!==n.length&&(a(null===t.children),t.children=n,n.forEach((function(e){e._baseState.parent=this}),this)),0!==e.length&&(a(null===t.args),t.args=e,t.reverseArgs=e.map((function(e){if("object"!=typeof e||e.constructor!==Object)return e;const t={};return Object.keys(e).forEach((function(n){n==(0|n)&&(n|=0);const o=e[n];t[o]=n})),t})))},["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"].forEach((function(e){c.prototype[e]=function(){const t=this._baseState;throw new Error(e+" not implemented for encoding: "+t.enc)}})),s.forEach((function(e){c.prototype[e]=function(){const t=this._baseState,n=Array.prototype.slice.call(arguments);return a(null===t.tag),t.tag=e,this._useArgs(n),this}})),c.prototype.use=function(e){a(e);const t=this._baseState;return a(null===t.use),t.use=e,this},c.prototype.optional=function(){return this._baseState.optional=!0,this},c.prototype.def=function(e){const t=this._baseState;return a(null===t.default),t.default=e,t.optional=!0,this},c.prototype.explicit=function(e){const t=this._baseState;return a(null===t.explicit&&null===t.implicit),t.explicit=e,this},c.prototype.implicit=function(e){const t=this._baseState;return a(null===t.explicit&&null===t.implicit),t.implicit=e,this},c.prototype.obj=function(){const e=this._baseState,t=Array.prototype.slice.call(arguments);return e.obj=!0,0!==t.length&&this._useArgs(t),this},c.prototype.key=function(e){const t=this._baseState;return a(null===t.key),t.key=e,this},c.prototype.any=function(){return this._baseState.any=!0,this},c.prototype.choice=function(e){const t=this._baseState;return a(null===t.choice),t.choice=e,this._useArgs(Object.keys(e).map((function(t){return e[t]}))),this},c.prototype.contains=function(e){const t=this._baseState;return a(null===t.use),t.contains=e,this},c.prototype._decode=function(e,t){const n=this._baseState;if(null===n.parent)return e.wrapResult(n.children[0]._decode(e,t));let o,r=n.default,a=!0,s=null;if(null!==n.key&&(s=e.enterKey(n.key)),n.optional){let o=null;if(null!==n.explicit?o=n.explicit:null!==n.implicit?o=n.implicit:null!==n.tag&&(o=n.tag),null!==o||n.any){if(a=this._peekTag(e,o,n.any),e.isError(a))return a}else{const o=e.save();try{null===n.choice?this._decodeGeneric(n.tag,e,t):this._decodeChoice(e,t),a=!0}catch(e){a=!1}e.restore(o)}}if(n.obj&&a&&(o=e.enterObject()),a){if(null!==n.explicit){const t=this._decodeTag(e,n.explicit);if(e.isError(t))return t;e=t}const o=e.offset;if(null===n.use&&null===n.choice){let t;n.any&&(t=e.save());const o=this._decodeTag(e,null!==n.implicit?n.implicit:n.tag,n.any);if(e.isError(o))return o;n.any?r=e.raw(t):e=o}if(t&&t.track&&null!==n.tag&&t.track(e.path(),o,e.length,"tagged"),t&&t.track&&null!==n.tag&&t.track(e.path(),e.offset,e.length,"content"),n.any||(r=null===n.choice?this._decodeGeneric(n.tag,e,t):this._decodeChoice(e,t)),e.isError(r))return r;if(n.any||null!==n.choice||null===n.children||n.children.forEach((function(n){n._decode(e,t)})),n.contains&&("octstr"===n.tag||"bitstr"===n.tag)){const o=new i(r);r=this._getUse(n.contains,e._reporterState.obj)._decode(o,t)}}return n.obj&&a&&(r=e.leaveObject(o)),null===n.key||null===r&&!0!==a?null!==s&&e.exitKey(s):e.leaveKey(s,n.key,r),r},c.prototype._decodeGeneric=function(e,t,n){const o=this._baseState;return"seq"===e||"set"===e?null:"seqof"===e||"setof"===e?this._decodeList(t,e,o.args[0],n):/str$/.test(e)?this._decodeStr(t,e,n):"objid"===e&&o.args?this._decodeObjid(t,o.args[0],o.args[1],n):"objid"===e?this._decodeObjid(t,null,null,n):"gentime"===e||"utctime"===e?this._decodeTime(t,e,n):"null_"===e?this._decodeNull(t,n):"bool"===e?this._decodeBool(t,n):"objDesc"===e?this._decodeStr(t,e,n):"int"===e||"enum"===e?this._decodeInt(t,o.args&&o.args[0],n):null!==o.use?this._getUse(o.use,t._reporterState.obj)._decode(t,n):t.error("unknown tag: "+e)},c.prototype._getUse=function(e,t){const n=this._baseState;return n.useDecoder=this._use(e,t),a(null===n.useDecoder._baseState.parent),n.useDecoder=n.useDecoder._baseState.children[0],n.implicit!==n.useDecoder._baseState.implicit&&(n.useDecoder=n.useDecoder.clone(),n.useDecoder._baseState.implicit=n.implicit),n.useDecoder},c.prototype._decodeChoice=function(e,t){const n=this._baseState;let o=null,r=!1;return Object.keys(n.choice).some((function(i){const a=e.save(),s=n.choice[i];try{const n=s._decode(e,t);if(e.isError(n))return!1;o={type:i,value:n},r=!0}catch(t){return e.restore(a),!1}return!0}),this),r?o:e.error("Choice not matched")},c.prototype._createEncoderBuffer=function(e){return new r(e,this.reporter)},c.prototype._encode=function(e,t,n){const o=this._baseState;if(null!==o.default&&o.default===e)return;const r=this._encodeValue(e,t,n);return void 0===r||this._skipDefault(r,t,n)?void 0:r},c.prototype._encodeValue=function(e,t,n){const r=this._baseState;if(null===r.parent)return r.children[0]._encode(e,t||new o);let i=null;if(this.reporter=t,r.optional&&void 0===e){if(null===r.default)return;e=r.default}let a=null,s=!1;if(r.any)i=this._createEncoderBuffer(e);else if(r.choice)i=this._encodeChoice(e,t);else if(r.contains)a=this._getUse(r.contains,n)._encode(e,t),s=!0;else if(r.children)a=r.children.map((function(n){if("null_"===n._baseState.tag)return n._encode(null,t,e);if(null===n._baseState.key)return t.error("Child should have a key");const o=t.enterKey(n._baseState.key);if("object"!=typeof e)return t.error("Child expected, but input is not object");const r=n._encode(e[n._baseState.key],t,e);return t.leaveKey(o),r}),this).filter((function(e){return e})),a=this._createEncoderBuffer(a);else if("seqof"===r.tag||"setof"===r.tag){if(!r.args||1!==r.args.length)return t.error("Too many args for : "+r.tag);if(!Array.isArray(e))return t.error("seqof/setof, but data is not Array");const n=this.clone();n._baseState.implicit=null,a=this._createEncoderBuffer(e.map((function(n){const o=this._baseState;return this._getUse(o.args[0],e)._encode(n,t)}),n))}else null!==r.use?i=this._getUse(r.use,n)._encode(e,t):(a=this._encodePrimitive(r.tag,e),s=!0);if(!r.any&&null===r.choice){const e=null!==r.implicit?r.implicit:r.tag,n=null===r.implicit?"universal":"context";null===e?null===r.use&&t.error("Tag could be omitted only for .use()"):null===r.use&&(i=this._encodeComposite(e,s,n,a))}return null!==r.explicit&&(i=this._encodeComposite(r.explicit,!1,"context",i)),i},c.prototype._encodeChoice=function(e,t){const n=this._baseState,o=n.choice[e.type];return o||a(!1,e.type+" not found in "+JSON.stringify(Object.keys(n.choice))),o._encode(e.value,t)},c.prototype._encodePrimitive=function(e,t){const n=this._baseState;if(/str$/.test(e))return this._encodeStr(t,e);if("objid"===e&&n.args)return this._encodeObjid(t,n.reverseArgs[0],n.args[1]);if("objid"===e)return this._encodeObjid(t,null,null);if("gentime"===e||"utctime"===e)return this._encodeTime(t,e);if("null_"===e)return this._encodeNull();if("int"===e||"enum"===e)return this._encodeInt(t,n.args&&n.reverseArgs[0]);if("bool"===e)return this._encodeBool(t);if("objDesc"===e)return this._encodeStr(t,e);throw new Error("Unsupported tag: "+e)},c.prototype._isNumstr=function(e){return/^[0-9 ]*$/.test(e)},c.prototype._isPrintstr=function(e){return/^[A-Za-z0-9 '()+,-./:=?]*$/.test(e)}},98465:(e,t,n)=>{"use strict";const o=n(35717);function r(e){this._reporterState={obj:null,path:[],options:e||{},errors:[]}}function i(e,t){this.path=e,this.rethrow(t)}t.b=r,r.prototype.isError=function(e){return e instanceof i},r.prototype.save=function(){const e=this._reporterState;return{obj:e.obj,pathLen:e.path.length}},r.prototype.restore=function(e){const t=this._reporterState;t.obj=e.obj,t.path=t.path.slice(0,e.pathLen)},r.prototype.enterKey=function(e){return this._reporterState.path.push(e)},r.prototype.exitKey=function(e){const t=this._reporterState;t.path=t.path.slice(0,e-1)},r.prototype.leaveKey=function(e,t,n){const o=this._reporterState;this.exitKey(e),null!==o.obj&&(o.obj[t]=n)},r.prototype.path=function(){return this._reporterState.path.join("/")},r.prototype.enterObject=function(){const e=this._reporterState,t=e.obj;return e.obj={},t},r.prototype.leaveObject=function(e){const t=this._reporterState,n=t.obj;return t.obj=e,n},r.prototype.error=function(e){let t;const n=this._reporterState,o=e instanceof i;if(t=o?e:new i(n.path.map((function(e){return"["+JSON.stringify(e)+"]"})).join(""),e.message||e,e.stack),!n.options.partial)throw t;return o||n.errors.push(t),t},r.prototype.wrapResult=function(e){const t=this._reporterState;return t.options.partial?{result:this.isError(e)?null:e,errors:t.errors}:e},o(i,Error),i.prototype.rethrow=function(e){if(this.message=e+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,i),!this.stack)try{throw new Error(this.message)}catch(e){this.stack=e.stack}return this}},70160:(e,t)=>{"use strict";function n(e){const t={};return Object.keys(e).forEach((function(n){(0|n)==n&&(n|=0);const o=e[n];t[o]=n})),t}t.tagClass={0:"universal",1:"application",2:"context",3:"private"},t.tagClassByName=n(t.tagClass),t.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},t.tagByName=n(t.tag)},36826:(e,t,n)=>{"use strict";const o=t;o._reverse=function(e){const t={};return Object.keys(e).forEach((function(n){(0|n)==n&&(n|=0);const o=e[n];t[o]=n})),t},o.der=n(70160)},41671:(e,t,n)=>{"use strict";const o=n(35717),r=n(4590),i=n(36625).C,a=n(41949),s=n(70160);function u(e){this.enc="der",this.name=e.name,this.entity=e,this.tree=new c,this.tree._init(e.body)}function c(e){a.call(this,"der",e)}function l(e,t){let n=e.readUInt8(t);if(e.isError(n))return n;const o=s.tagClass[n>>6],r=0==(32&n);if(31==(31&n)){let o=n;for(n=0;128==(128&o);){if(o=e.readUInt8(t),e.isError(o))return o;n<<=7,n|=127&o}}else n&=31;return{cls:o,primitive:r,tag:n,tagStr:s.tag[n]}}function d(e,t,n){let o=e.readUInt8(n);if(e.isError(o))return o;if(!t&&128===o)return null;if(0==(128&o))return o;const r=127&o;if(r>4)return e.error("length octect is too long");o=0;for(let t=0;t{"use strict";const o=t;o.der=n(41671),o.pem=n(59631)},59631:(e,t,n)=>{"use strict";const o=n(35717),r=n(2399).Buffer,i=n(41671);function a(e){i.call(this,e),this.enc="pem"}o(a,i),e.exports=a,a.prototype.decode=function(e,t){const n=e.toString().split(/[\r\n]+/g),o=t.label.toUpperCase(),a=/^-----(BEGIN|END) ([^-]+)-----$/;let s=-1,u=-1;for(let e=0;e{"use strict";const o=n(35717),r=n(2399).Buffer,i=n(41949),a=n(70160);function s(e){this.enc="der",this.name=e.name,this.entity=e,this.tree=new u,this.tree._init(e.body)}function u(e){i.call(this,"der",e)}function c(e){return e<10?"0"+e:e}e.exports=s,s.prototype.encode=function(e,t){return this.tree._encode(e,t).join()},o(u,i),u.prototype._encodeComposite=function(e,t,n,o){const i=function(e,t,n,o){let r;if("seqof"===e?e="seq":"setof"===e&&(e="set"),a.tagByName.hasOwnProperty(e))r=a.tagByName[e];else{if("number"!=typeof e||(0|e)!==e)return o.error("Unknown tag: "+e);r=e}return r>=31?o.error("Multi-octet tag encoding unsupported"):(t||(r|=32),r|=a.tagClassByName[n||"universal"]<<6,r)}(e,t,n,this.reporter);if(o.length<128){const e=r.alloc(2);return e[0]=i,e[1]=o.length,this._createEncoderBuffer([e,o])}let s=1;for(let e=o.length;e>=256;e>>=8)s++;const u=r.alloc(2+s);u[0]=i,u[1]=128|s;for(let e=1+s,t=o.length;t>0;e--,t>>=8)u[e]=255&t;return this._createEncoderBuffer([u,o])},u.prototype._encodeStr=function(e,t){if("bitstr"===t)return this._createEncoderBuffer([0|e.unused,e.data]);if("bmpstr"===t){const t=r.alloc(2*e.length);for(let n=0;n=40)return this.reporter.error("Second objid identifier OOB");e.splice(0,2,40*e[0]+e[1])}let o=0;for(let t=0;t=128;n>>=7)o++}const i=r.alloc(o);let a=i.length-1;for(let t=e.length-1;t>=0;t--){let n=e[t];for(i[a--]=127&n;(n>>=7)>0;)i[a--]=128|127&n}return this._createEncoderBuffer(i)},u.prototype._encodeTime=function(e,t){let n;const o=new Date(e);return"gentime"===t?n=[c(o.getUTCFullYear()),c(o.getUTCMonth()+1),c(o.getUTCDate()),c(o.getUTCHours()),c(o.getUTCMinutes()),c(o.getUTCSeconds()),"Z"].join(""):"utctime"===t?n=[c(o.getUTCFullYear()%100),c(o.getUTCMonth()+1),c(o.getUTCDate()),c(o.getUTCHours()),c(o.getUTCMinutes()),c(o.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+t+" time is not supported yet"),this._encodeStr(n,"octstr")},u.prototype._encodeNull=function(){return this._createEncoderBuffer("")},u.prototype._encodeInt=function(e,t){if("string"==typeof e){if(!t)return this.reporter.error("String int or enum given, but no values map");if(!t.hasOwnProperty(e))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(e));e=t[e]}if("number"!=typeof e&&!r.isBuffer(e)){const t=e.toArray();!e.sign&&128&t[0]&&t.unshift(0),e=r.from(t)}if(r.isBuffer(e)){let t=e.length;0===e.length&&t++;const n=r.alloc(t);return e.copy(n),0===e.length&&(n[0]=0),this._createEncoderBuffer(n)}if(e<128)return this._createEncoderBuffer(e);if(e<256)return this._createEncoderBuffer([0,e]);let n=1;for(let t=e;t>=256;t>>=8)n++;const o=new Array(n);for(let t=o.length-1;t>=0;t--)o[t]=255&e,e>>=8;return 128&o[0]&&o.unshift(0),this._createEncoderBuffer(r.from(o))},u.prototype._encodeBool=function(e){return this._createEncoderBuffer(e?255:0)},u.prototype._use=function(e,t){return"function"==typeof e&&(e=e(t)),e._getEncoder("der").tree},u.prototype._skipDefault=function(e,t,n){const o=this._baseState;let r;if(null===o.default)return!1;const i=e.join();if(void 0===o.defaultBuffer&&(o.defaultBuffer=this._encodeValue(o.default,t,n).join()),i.length!==o.defaultBuffer.length)return!1;for(r=0;r{"use strict";const o=t;o.der=n(66984),o.pem=n(2883)},2883:(e,t,n)=>{"use strict";const o=n(35717),r=n(66984);function i(e){r.call(this,e),this.enc="pem"}o(i,r),e.exports=i,i.prototype.encode=function(e,t){const n=r.prototype.encode.call(this,e).toString("base64"),o=["-----BEGIN "+t.label+"-----"];for(let e=0;e=65&&n<=70?n-55:n>=97&&n<=102?n-87:n-48&15}function u(e,t,n){var o=s(e,n);return n-1>=t&&(o|=s(e,n-1)<<4),o}function c(e,t,n,o){for(var r=0,i=Math.min(e.length,n),a=t;a=49?s-49+10:s>=17?s-17+10:s}return r}i.isBN=function(e){return e instanceof i||null!==e&&"object"==typeof e&&e.constructor.wordSize===i.wordSize&&Array.isArray(e.words)},i.max=function(e,t){return e.cmp(t)>0?e:t},i.min=function(e,t){return e.cmp(t)<0?e:t},i.prototype._init=function(e,t,n){if("number"==typeof e)return this._initNumber(e,t,n);if("object"==typeof e)return this._initArray(e,t,n);"hex"===t&&(t=16),o(t===(0|t)&&t>=2&&t<=36);var r=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&(r++,this.negative=1),r=0;r-=3)a=e[r]|e[r-1]<<8|e[r-2]<<16,this.words[i]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);else if("le"===n)for(r=0,i=0;r>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);return this.strip()},i.prototype._parseHex=function(e,t,n){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var o=0;o=t;o-=2)r=u(e,t,o)<=18?(i-=18,a+=1,this.words[a]|=r>>>26):i+=8;else for(o=(e.length-t)%2==0?t+1:t;o=18?(i-=18,a+=1,this.words[a]|=r>>>26):i+=8;this.strip()},i.prototype._parseBase=function(e,t,n){this.words=[0],this.length=1;for(var o=0,r=1;r<=67108863;r*=t)o++;o--,r=r/t|0;for(var i=e.length-n,a=i%o,s=Math.min(i,i-a)+n,u=0,l=n;l1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},i.prototype.inspect=function(){return(this.red?""};var l=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],d=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],h=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function p(e,t,n){n.negative=t.negative^e.negative;var o=e.length+t.length|0;n.length=o,o=o-1|0;var r=0|e.words[0],i=0|t.words[0],a=r*i,s=67108863&a,u=a/67108864|0;n.words[0]=s;for(var c=1;c>>26,d=67108863&u,h=Math.min(c,t.length-1),p=Math.max(0,c-e.length+1);p<=h;p++){var f=c-p|0;l+=(a=(r=0|e.words[f])*(i=0|t.words[p])+d)/67108864|0,d=67108863&a}n.words[c]=0|d,u=0|l}return 0!==u?n.words[c]=0|u:n.length--,n.strip()}i.prototype.toString=function(e,t){var n;if(t=0|t||1,16===(e=e||10)||"hex"===e){n="";for(var r=0,i=0,a=0;a>>24-r&16777215)||a!==this.length-1?l[6-u.length]+u+n:u+n,(r+=2)>=26&&(r-=26,a--)}for(0!==i&&(n=i.toString(16)+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(e===(0|e)&&e>=2&&e<=36){var c=d[e],p=h[e];n="";var f=this.clone();for(f.negative=0;!f.isZero();){var g=f.modn(p).toString(e);n=(f=f.idivn(p)).isZero()?g+n:l[c-g.length]+g+n}for(this.isZero()&&(n="0"+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}o(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&o(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toBuffer=function(e,t){return o(void 0!==a),this.toArrayLike(a,e,t)},i.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},i.prototype.toArrayLike=function(e,t,n){var r=this.byteLength(),i=n||Math.max(1,r);o(r<=i,"byte array longer than desired length"),o(i>0,"Requested array length <= 0"),this.strip();var a,s,u="le"===t,c=new e(i),l=this.clone();if(u){for(s=0;!l.isZero();s++)a=l.andln(255),l.iushrn(8),c[s]=a;for(;s=4096&&(n+=13,t>>>=13),t>=64&&(n+=7,t>>>=7),t>=8&&(n+=4,t>>>=4),t>=2&&(n+=2,t>>>=2),n+t},i.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,n=0;return 0==(8191&t)&&(n+=13,t>>>=13),0==(127&t)&&(n+=7,t>>>=7),0==(15&t)&&(n+=4,t>>>=4),0==(3&t)&&(n+=2,t>>>=2),0==(1&t)&&n++,n},i.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},i.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},i.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var n=0;ne.length?this.clone().iand(e):e.clone().iand(this)},i.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},i.prototype.iuxor=function(e){var t,n;this.length>e.length?(t=this,n=e):(t=e,n=this);for(var o=0;oe.length?this.clone().ixor(e):e.clone().ixor(this)},i.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},i.prototype.inotn=function(e){o("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),n=e%26;this._expand(t),n>0&&t--;for(var r=0;r0&&(this.words[r]=~this.words[r]&67108863>>26-n),this.strip()},i.prototype.notn=function(e){return this.clone().inotn(e)},i.prototype.setn=function(e,t){o("number"==typeof e&&e>=0);var n=e/26|0,r=e%26;return this._expand(n+1),this.words[n]=t?this.words[n]|1<e.length?(n=this,o=e):(n=e,o=this);for(var r=0,i=0;i>>26;for(;0!==r&&i>>26;if(this.length=n.length,0!==r)this.words[this.length]=r,this.length++;else if(n!==this)for(;ie.length?this.clone().iadd(e):e.clone().iadd(this)},i.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var n,o,r=this.cmp(e);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;r>0?(n=this,o=e):(n=e,o=this);for(var i=0,a=0;a>26,this.words[a]=67108863&t;for(;0!==i&&a>26,this.words[a]=67108863&t;if(0===i&&a>>13,p=0|a[1],f=8191&p,g=p>>>13,m=0|a[2],_=8191&m,F=m>>>13,y=0|a[3],b=8191&y,v=y>>>13,w=0|a[4],E=8191&w,k=w>>>13,D=0|a[5],S=8191&D,x=D>>>13,C=0|a[6],A=8191&C,T=C>>>13,R=0|a[7],I=8191&R,M=R>>>13,O=0|a[8],B=8191&O,N=O>>>13,L=0|a[9],P=8191&L,U=L>>>13,j=0|s[0],q=8191&j,z=j>>>13,K=0|s[1],G=8191&K,$=K>>>13,H=0|s[2],V=8191&H,W=H>>>13,Y=0|s[3],Z=8191&Y,X=Y>>>13,J=0|s[4],Q=8191&J,ee=J>>>13,te=0|s[5],ne=8191&te,oe=te>>>13,re=0|s[6],ie=8191&re,ae=re>>>13,se=0|s[7],ue=8191&se,ce=se>>>13,le=0|s[8],de=8191&le,he=le>>>13,pe=0|s[9],fe=8191&pe,ge=pe>>>13;n.negative=e.negative^t.negative,n.length=19;var me=(c+(o=Math.imul(d,q))|0)+((8191&(r=(r=Math.imul(d,z))+Math.imul(h,q)|0))<<13)|0;c=((i=Math.imul(h,z))+(r>>>13)|0)+(me>>>26)|0,me&=67108863,o=Math.imul(f,q),r=(r=Math.imul(f,z))+Math.imul(g,q)|0,i=Math.imul(g,z);var _e=(c+(o=o+Math.imul(d,G)|0)|0)+((8191&(r=(r=r+Math.imul(d,$)|0)+Math.imul(h,G)|0))<<13)|0;c=((i=i+Math.imul(h,$)|0)+(r>>>13)|0)+(_e>>>26)|0,_e&=67108863,o=Math.imul(_,q),r=(r=Math.imul(_,z))+Math.imul(F,q)|0,i=Math.imul(F,z),o=o+Math.imul(f,G)|0,r=(r=r+Math.imul(f,$)|0)+Math.imul(g,G)|0,i=i+Math.imul(g,$)|0;var Fe=(c+(o=o+Math.imul(d,V)|0)|0)+((8191&(r=(r=r+Math.imul(d,W)|0)+Math.imul(h,V)|0))<<13)|0;c=((i=i+Math.imul(h,W)|0)+(r>>>13)|0)+(Fe>>>26)|0,Fe&=67108863,o=Math.imul(b,q),r=(r=Math.imul(b,z))+Math.imul(v,q)|0,i=Math.imul(v,z),o=o+Math.imul(_,G)|0,r=(r=r+Math.imul(_,$)|0)+Math.imul(F,G)|0,i=i+Math.imul(F,$)|0,o=o+Math.imul(f,V)|0,r=(r=r+Math.imul(f,W)|0)+Math.imul(g,V)|0,i=i+Math.imul(g,W)|0;var ye=(c+(o=o+Math.imul(d,Z)|0)|0)+((8191&(r=(r=r+Math.imul(d,X)|0)+Math.imul(h,Z)|0))<<13)|0;c=((i=i+Math.imul(h,X)|0)+(r>>>13)|0)+(ye>>>26)|0,ye&=67108863,o=Math.imul(E,q),r=(r=Math.imul(E,z))+Math.imul(k,q)|0,i=Math.imul(k,z),o=o+Math.imul(b,G)|0,r=(r=r+Math.imul(b,$)|0)+Math.imul(v,G)|0,i=i+Math.imul(v,$)|0,o=o+Math.imul(_,V)|0,r=(r=r+Math.imul(_,W)|0)+Math.imul(F,V)|0,i=i+Math.imul(F,W)|0,o=o+Math.imul(f,Z)|0,r=(r=r+Math.imul(f,X)|0)+Math.imul(g,Z)|0,i=i+Math.imul(g,X)|0;var be=(c+(o=o+Math.imul(d,Q)|0)|0)+((8191&(r=(r=r+Math.imul(d,ee)|0)+Math.imul(h,Q)|0))<<13)|0;c=((i=i+Math.imul(h,ee)|0)+(r>>>13)|0)+(be>>>26)|0,be&=67108863,o=Math.imul(S,q),r=(r=Math.imul(S,z))+Math.imul(x,q)|0,i=Math.imul(x,z),o=o+Math.imul(E,G)|0,r=(r=r+Math.imul(E,$)|0)+Math.imul(k,G)|0,i=i+Math.imul(k,$)|0,o=o+Math.imul(b,V)|0,r=(r=r+Math.imul(b,W)|0)+Math.imul(v,V)|0,i=i+Math.imul(v,W)|0,o=o+Math.imul(_,Z)|0,r=(r=r+Math.imul(_,X)|0)+Math.imul(F,Z)|0,i=i+Math.imul(F,X)|0,o=o+Math.imul(f,Q)|0,r=(r=r+Math.imul(f,ee)|0)+Math.imul(g,Q)|0,i=i+Math.imul(g,ee)|0;var ve=(c+(o=o+Math.imul(d,ne)|0)|0)+((8191&(r=(r=r+Math.imul(d,oe)|0)+Math.imul(h,ne)|0))<<13)|0;c=((i=i+Math.imul(h,oe)|0)+(r>>>13)|0)+(ve>>>26)|0,ve&=67108863,o=Math.imul(A,q),r=(r=Math.imul(A,z))+Math.imul(T,q)|0,i=Math.imul(T,z),o=o+Math.imul(S,G)|0,r=(r=r+Math.imul(S,$)|0)+Math.imul(x,G)|0,i=i+Math.imul(x,$)|0,o=o+Math.imul(E,V)|0,r=(r=r+Math.imul(E,W)|0)+Math.imul(k,V)|0,i=i+Math.imul(k,W)|0,o=o+Math.imul(b,Z)|0,r=(r=r+Math.imul(b,X)|0)+Math.imul(v,Z)|0,i=i+Math.imul(v,X)|0,o=o+Math.imul(_,Q)|0,r=(r=r+Math.imul(_,ee)|0)+Math.imul(F,Q)|0,i=i+Math.imul(F,ee)|0,o=o+Math.imul(f,ne)|0,r=(r=r+Math.imul(f,oe)|0)+Math.imul(g,ne)|0,i=i+Math.imul(g,oe)|0;var we=(c+(o=o+Math.imul(d,ie)|0)|0)+((8191&(r=(r=r+Math.imul(d,ae)|0)+Math.imul(h,ie)|0))<<13)|0;c=((i=i+Math.imul(h,ae)|0)+(r>>>13)|0)+(we>>>26)|0,we&=67108863,o=Math.imul(I,q),r=(r=Math.imul(I,z))+Math.imul(M,q)|0,i=Math.imul(M,z),o=o+Math.imul(A,G)|0,r=(r=r+Math.imul(A,$)|0)+Math.imul(T,G)|0,i=i+Math.imul(T,$)|0,o=o+Math.imul(S,V)|0,r=(r=r+Math.imul(S,W)|0)+Math.imul(x,V)|0,i=i+Math.imul(x,W)|0,o=o+Math.imul(E,Z)|0,r=(r=r+Math.imul(E,X)|0)+Math.imul(k,Z)|0,i=i+Math.imul(k,X)|0,o=o+Math.imul(b,Q)|0,r=(r=r+Math.imul(b,ee)|0)+Math.imul(v,Q)|0,i=i+Math.imul(v,ee)|0,o=o+Math.imul(_,ne)|0,r=(r=r+Math.imul(_,oe)|0)+Math.imul(F,ne)|0,i=i+Math.imul(F,oe)|0,o=o+Math.imul(f,ie)|0,r=(r=r+Math.imul(f,ae)|0)+Math.imul(g,ie)|0,i=i+Math.imul(g,ae)|0;var Ee=(c+(o=o+Math.imul(d,ue)|0)|0)+((8191&(r=(r=r+Math.imul(d,ce)|0)+Math.imul(h,ue)|0))<<13)|0;c=((i=i+Math.imul(h,ce)|0)+(r>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,o=Math.imul(B,q),r=(r=Math.imul(B,z))+Math.imul(N,q)|0,i=Math.imul(N,z),o=o+Math.imul(I,G)|0,r=(r=r+Math.imul(I,$)|0)+Math.imul(M,G)|0,i=i+Math.imul(M,$)|0,o=o+Math.imul(A,V)|0,r=(r=r+Math.imul(A,W)|0)+Math.imul(T,V)|0,i=i+Math.imul(T,W)|0,o=o+Math.imul(S,Z)|0,r=(r=r+Math.imul(S,X)|0)+Math.imul(x,Z)|0,i=i+Math.imul(x,X)|0,o=o+Math.imul(E,Q)|0,r=(r=r+Math.imul(E,ee)|0)+Math.imul(k,Q)|0,i=i+Math.imul(k,ee)|0,o=o+Math.imul(b,ne)|0,r=(r=r+Math.imul(b,oe)|0)+Math.imul(v,ne)|0,i=i+Math.imul(v,oe)|0,o=o+Math.imul(_,ie)|0,r=(r=r+Math.imul(_,ae)|0)+Math.imul(F,ie)|0,i=i+Math.imul(F,ae)|0,o=o+Math.imul(f,ue)|0,r=(r=r+Math.imul(f,ce)|0)+Math.imul(g,ue)|0,i=i+Math.imul(g,ce)|0;var ke=(c+(o=o+Math.imul(d,de)|0)|0)+((8191&(r=(r=r+Math.imul(d,he)|0)+Math.imul(h,de)|0))<<13)|0;c=((i=i+Math.imul(h,he)|0)+(r>>>13)|0)+(ke>>>26)|0,ke&=67108863,o=Math.imul(P,q),r=(r=Math.imul(P,z))+Math.imul(U,q)|0,i=Math.imul(U,z),o=o+Math.imul(B,G)|0,r=(r=r+Math.imul(B,$)|0)+Math.imul(N,G)|0,i=i+Math.imul(N,$)|0,o=o+Math.imul(I,V)|0,r=(r=r+Math.imul(I,W)|0)+Math.imul(M,V)|0,i=i+Math.imul(M,W)|0,o=o+Math.imul(A,Z)|0,r=(r=r+Math.imul(A,X)|0)+Math.imul(T,Z)|0,i=i+Math.imul(T,X)|0,o=o+Math.imul(S,Q)|0,r=(r=r+Math.imul(S,ee)|0)+Math.imul(x,Q)|0,i=i+Math.imul(x,ee)|0,o=o+Math.imul(E,ne)|0,r=(r=r+Math.imul(E,oe)|0)+Math.imul(k,ne)|0,i=i+Math.imul(k,oe)|0,o=o+Math.imul(b,ie)|0,r=(r=r+Math.imul(b,ae)|0)+Math.imul(v,ie)|0,i=i+Math.imul(v,ae)|0,o=o+Math.imul(_,ue)|0,r=(r=r+Math.imul(_,ce)|0)+Math.imul(F,ue)|0,i=i+Math.imul(F,ce)|0,o=o+Math.imul(f,de)|0,r=(r=r+Math.imul(f,he)|0)+Math.imul(g,de)|0,i=i+Math.imul(g,he)|0;var De=(c+(o=o+Math.imul(d,fe)|0)|0)+((8191&(r=(r=r+Math.imul(d,ge)|0)+Math.imul(h,fe)|0))<<13)|0;c=((i=i+Math.imul(h,ge)|0)+(r>>>13)|0)+(De>>>26)|0,De&=67108863,o=Math.imul(P,G),r=(r=Math.imul(P,$))+Math.imul(U,G)|0,i=Math.imul(U,$),o=o+Math.imul(B,V)|0,r=(r=r+Math.imul(B,W)|0)+Math.imul(N,V)|0,i=i+Math.imul(N,W)|0,o=o+Math.imul(I,Z)|0,r=(r=r+Math.imul(I,X)|0)+Math.imul(M,Z)|0,i=i+Math.imul(M,X)|0,o=o+Math.imul(A,Q)|0,r=(r=r+Math.imul(A,ee)|0)+Math.imul(T,Q)|0,i=i+Math.imul(T,ee)|0,o=o+Math.imul(S,ne)|0,r=(r=r+Math.imul(S,oe)|0)+Math.imul(x,ne)|0,i=i+Math.imul(x,oe)|0,o=o+Math.imul(E,ie)|0,r=(r=r+Math.imul(E,ae)|0)+Math.imul(k,ie)|0,i=i+Math.imul(k,ae)|0,o=o+Math.imul(b,ue)|0,r=(r=r+Math.imul(b,ce)|0)+Math.imul(v,ue)|0,i=i+Math.imul(v,ce)|0,o=o+Math.imul(_,de)|0,r=(r=r+Math.imul(_,he)|0)+Math.imul(F,de)|0,i=i+Math.imul(F,he)|0;var Se=(c+(o=o+Math.imul(f,fe)|0)|0)+((8191&(r=(r=r+Math.imul(f,ge)|0)+Math.imul(g,fe)|0))<<13)|0;c=((i=i+Math.imul(g,ge)|0)+(r>>>13)|0)+(Se>>>26)|0,Se&=67108863,o=Math.imul(P,V),r=(r=Math.imul(P,W))+Math.imul(U,V)|0,i=Math.imul(U,W),o=o+Math.imul(B,Z)|0,r=(r=r+Math.imul(B,X)|0)+Math.imul(N,Z)|0,i=i+Math.imul(N,X)|0,o=o+Math.imul(I,Q)|0,r=(r=r+Math.imul(I,ee)|0)+Math.imul(M,Q)|0,i=i+Math.imul(M,ee)|0,o=o+Math.imul(A,ne)|0,r=(r=r+Math.imul(A,oe)|0)+Math.imul(T,ne)|0,i=i+Math.imul(T,oe)|0,o=o+Math.imul(S,ie)|0,r=(r=r+Math.imul(S,ae)|0)+Math.imul(x,ie)|0,i=i+Math.imul(x,ae)|0,o=o+Math.imul(E,ue)|0,r=(r=r+Math.imul(E,ce)|0)+Math.imul(k,ue)|0,i=i+Math.imul(k,ce)|0,o=o+Math.imul(b,de)|0,r=(r=r+Math.imul(b,he)|0)+Math.imul(v,de)|0,i=i+Math.imul(v,he)|0;var xe=(c+(o=o+Math.imul(_,fe)|0)|0)+((8191&(r=(r=r+Math.imul(_,ge)|0)+Math.imul(F,fe)|0))<<13)|0;c=((i=i+Math.imul(F,ge)|0)+(r>>>13)|0)+(xe>>>26)|0,xe&=67108863,o=Math.imul(P,Z),r=(r=Math.imul(P,X))+Math.imul(U,Z)|0,i=Math.imul(U,X),o=o+Math.imul(B,Q)|0,r=(r=r+Math.imul(B,ee)|0)+Math.imul(N,Q)|0,i=i+Math.imul(N,ee)|0,o=o+Math.imul(I,ne)|0,r=(r=r+Math.imul(I,oe)|0)+Math.imul(M,ne)|0,i=i+Math.imul(M,oe)|0,o=o+Math.imul(A,ie)|0,r=(r=r+Math.imul(A,ae)|0)+Math.imul(T,ie)|0,i=i+Math.imul(T,ae)|0,o=o+Math.imul(S,ue)|0,r=(r=r+Math.imul(S,ce)|0)+Math.imul(x,ue)|0,i=i+Math.imul(x,ce)|0,o=o+Math.imul(E,de)|0,r=(r=r+Math.imul(E,he)|0)+Math.imul(k,de)|0,i=i+Math.imul(k,he)|0;var Ce=(c+(o=o+Math.imul(b,fe)|0)|0)+((8191&(r=(r=r+Math.imul(b,ge)|0)+Math.imul(v,fe)|0))<<13)|0;c=((i=i+Math.imul(v,ge)|0)+(r>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,o=Math.imul(P,Q),r=(r=Math.imul(P,ee))+Math.imul(U,Q)|0,i=Math.imul(U,ee),o=o+Math.imul(B,ne)|0,r=(r=r+Math.imul(B,oe)|0)+Math.imul(N,ne)|0,i=i+Math.imul(N,oe)|0,o=o+Math.imul(I,ie)|0,r=(r=r+Math.imul(I,ae)|0)+Math.imul(M,ie)|0,i=i+Math.imul(M,ae)|0,o=o+Math.imul(A,ue)|0,r=(r=r+Math.imul(A,ce)|0)+Math.imul(T,ue)|0,i=i+Math.imul(T,ce)|0,o=o+Math.imul(S,de)|0,r=(r=r+Math.imul(S,he)|0)+Math.imul(x,de)|0,i=i+Math.imul(x,he)|0;var Ae=(c+(o=o+Math.imul(E,fe)|0)|0)+((8191&(r=(r=r+Math.imul(E,ge)|0)+Math.imul(k,fe)|0))<<13)|0;c=((i=i+Math.imul(k,ge)|0)+(r>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,o=Math.imul(P,ne),r=(r=Math.imul(P,oe))+Math.imul(U,ne)|0,i=Math.imul(U,oe),o=o+Math.imul(B,ie)|0,r=(r=r+Math.imul(B,ae)|0)+Math.imul(N,ie)|0,i=i+Math.imul(N,ae)|0,o=o+Math.imul(I,ue)|0,r=(r=r+Math.imul(I,ce)|0)+Math.imul(M,ue)|0,i=i+Math.imul(M,ce)|0,o=o+Math.imul(A,de)|0,r=(r=r+Math.imul(A,he)|0)+Math.imul(T,de)|0,i=i+Math.imul(T,he)|0;var Te=(c+(o=o+Math.imul(S,fe)|0)|0)+((8191&(r=(r=r+Math.imul(S,ge)|0)+Math.imul(x,fe)|0))<<13)|0;c=((i=i+Math.imul(x,ge)|0)+(r>>>13)|0)+(Te>>>26)|0,Te&=67108863,o=Math.imul(P,ie),r=(r=Math.imul(P,ae))+Math.imul(U,ie)|0,i=Math.imul(U,ae),o=o+Math.imul(B,ue)|0,r=(r=r+Math.imul(B,ce)|0)+Math.imul(N,ue)|0,i=i+Math.imul(N,ce)|0,o=o+Math.imul(I,de)|0,r=(r=r+Math.imul(I,he)|0)+Math.imul(M,de)|0,i=i+Math.imul(M,he)|0;var Re=(c+(o=o+Math.imul(A,fe)|0)|0)+((8191&(r=(r=r+Math.imul(A,ge)|0)+Math.imul(T,fe)|0))<<13)|0;c=((i=i+Math.imul(T,ge)|0)+(r>>>13)|0)+(Re>>>26)|0,Re&=67108863,o=Math.imul(P,ue),r=(r=Math.imul(P,ce))+Math.imul(U,ue)|0,i=Math.imul(U,ce),o=o+Math.imul(B,de)|0,r=(r=r+Math.imul(B,he)|0)+Math.imul(N,de)|0,i=i+Math.imul(N,he)|0;var Ie=(c+(o=o+Math.imul(I,fe)|0)|0)+((8191&(r=(r=r+Math.imul(I,ge)|0)+Math.imul(M,fe)|0))<<13)|0;c=((i=i+Math.imul(M,ge)|0)+(r>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,o=Math.imul(P,de),r=(r=Math.imul(P,he))+Math.imul(U,de)|0,i=Math.imul(U,he);var Me=(c+(o=o+Math.imul(B,fe)|0)|0)+((8191&(r=(r=r+Math.imul(B,ge)|0)+Math.imul(N,fe)|0))<<13)|0;c=((i=i+Math.imul(N,ge)|0)+(r>>>13)|0)+(Me>>>26)|0,Me&=67108863;var Oe=(c+(o=Math.imul(P,fe))|0)+((8191&(r=(r=Math.imul(P,ge))+Math.imul(U,fe)|0))<<13)|0;return c=((i=Math.imul(U,ge))+(r>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,u[0]=me,u[1]=_e,u[2]=Fe,u[3]=ye,u[4]=be,u[5]=ve,u[6]=we,u[7]=Ee,u[8]=ke,u[9]=De,u[10]=Se,u[11]=xe,u[12]=Ce,u[13]=Ae,u[14]=Te,u[15]=Re,u[16]=Ie,u[17]=Me,u[18]=Oe,0!==c&&(u[19]=c,n.length++),n};function g(e,t,n){return(new m).mulp(e,t,n)}function m(e,t){this.x=e,this.y=t}Math.imul||(f=p),i.prototype.mulTo=function(e,t){var n=this.length+e.length;return 10===this.length&&10===e.length?f(this,e,t):n<63?p(this,e,t):n<1024?function(e,t,n){n.negative=t.negative^e.negative,n.length=e.length+t.length;for(var o=0,r=0,i=0;i>>26)|0)>>>26,a&=67108863}n.words[i]=s,o=a,a=r}return 0!==o?n.words[i]=o:n.length--,n.strip()}(this,e,t):g(this,e,t)},m.prototype.makeRBT=function(e){for(var t=new Array(e),n=i.prototype._countBits(e)-1,o=0;o>=1;return o},m.prototype.permute=function(e,t,n,o,r,i){for(var a=0;a>>=1)r++;return 1<>>=13,n[2*a+1]=8191&i,i>>>=13;for(a=2*t;a>=26,t+=r/67108864|0,t+=i>>>26,this.words[n]=67108863&i}return 0!==t&&(this.words[n]=t,this.length++),this},i.prototype.muln=function(e){return this.clone().imuln(e)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),n=0;n>>r}return t}(e);if(0===t.length)return new i(1);for(var n=this,o=0;o=0);var t,n=e%26,r=(e-n)/26,i=67108863>>>26-n<<26-n;if(0!==n){var a=0;for(t=0;t>>26-n}a&&(this.words[t]=a,this.length++)}if(0!==r){for(t=this.length-1;t>=0;t--)this.words[t+r]=this.words[t];for(t=0;t=0),r=t?(t-t%26)/26:0;var i=e%26,a=Math.min((e-i)/26,this.length),s=67108863^67108863>>>i<a)for(this.length-=a,c=0;c=0&&(0!==l||c>=r);c--){var d=0|this.words[c];this.words[c]=l<<26-i|d>>>i,l=d&s}return u&&0!==l&&(u.words[u.length++]=l),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.ishrn=function(e,t,n){return o(0===this.negative),this.iushrn(e,t,n)},i.prototype.shln=function(e){return this.clone().ishln(e)},i.prototype.ushln=function(e){return this.clone().iushln(e)},i.prototype.shrn=function(e){return this.clone().ishrn(e)},i.prototype.ushrn=function(e){return this.clone().iushrn(e)},i.prototype.testn=function(e){o("number"==typeof e&&e>=0);var t=e%26,n=(e-t)/26,r=1<=0);var t=e%26,n=(e-t)/26;if(o(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==t&&n++,this.length=Math.min(n,this.length),0!==t){var r=67108863^67108863>>>t<=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},i.prototype.isubn=function(e){if(o("number"==typeof e),o(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t>26)-(u/67108864|0),this.words[r+n]=67108863&i}for(;r>26,this.words[r+n]=67108863&i;if(0===s)return this.strip();for(o(-1===s),s=0,r=0;r>26,this.words[r]=67108863&i;return this.negative=1,this.strip()},i.prototype._wordDiv=function(e,t){var n=(this.length,e.length),o=this.clone(),r=e,a=0|r.words[r.length-1];0!=(n=26-this._countBits(a))&&(r=r.ushln(n),o.iushln(n),a=0|r.words[r.length-1]);var s,u=o.length-r.length;if("mod"!==t){(s=new i(null)).length=u+1,s.words=new Array(s.length);for(var c=0;c=0;d--){var h=67108864*(0|o.words[r.length+d])+(0|o.words[r.length+d-1]);for(h=Math.min(h/a|0,67108863),o._ishlnsubmul(r,h,d);0!==o.negative;)h--,o.negative=0,o._ishlnsubmul(r,1,d),o.isZero()||(o.negative^=1);s&&(s.words[d]=h)}return s&&s.strip(),o.strip(),"div"!==t&&0!==n&&o.iushrn(n),{div:s||null,mod:o}},i.prototype.divmod=function(e,t,n){return o(!e.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,t),"mod"!==t&&(r=s.div.neg()),"div"!==t&&(a=s.mod.neg(),n&&0!==a.negative&&a.iadd(e)),{div:r,mod:a}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),t),"mod"!==t&&(r=s.div.neg()),{div:r,mod:s.mod}):0!=(this.negative&e.negative)?(s=this.neg().divmod(e.neg(),t),"div"!==t&&(a=s.mod.neg(),n&&0!==a.negative&&a.isub(e)),{div:s.div,mod:a}):e.length>this.length||this.cmp(e)<0?{div:new i(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new i(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new i(this.modn(e.words[0]))}:this._wordDiv(e,t);var r,a,s},i.prototype.div=function(e){return this.divmod(e,"div",!1).div},i.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},i.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},i.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var n=0!==t.div.negative?t.mod.isub(e):t.mod,o=e.ushrn(1),r=e.andln(1),i=n.cmp(o);return i<0||1===r&&0===i?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},i.prototype.modn=function(e){o(e<=67108863);for(var t=(1<<26)%e,n=0,r=this.length-1;r>=0;r--)n=(t*n+(0|this.words[r]))%e;return n},i.prototype.idivn=function(e){o(e<=67108863);for(var t=0,n=this.length-1;n>=0;n--){var r=(0|this.words[n])+67108864*t;this.words[n]=r/e|0,t=r%e}return this.strip()},i.prototype.divn=function(e){return this.clone().idivn(e)},i.prototype.egcd=function(e){o(0===e.negative),o(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var r=new i(1),a=new i(0),s=new i(0),u=new i(1),c=0;t.isEven()&&n.isEven();)t.iushrn(1),n.iushrn(1),++c;for(var l=n.clone(),d=t.clone();!t.isZero();){for(var h=0,p=1;0==(t.words[0]&p)&&h<26;++h,p<<=1);if(h>0)for(t.iushrn(h);h-- >0;)(r.isOdd()||a.isOdd())&&(r.iadd(l),a.isub(d)),r.iushrn(1),a.iushrn(1);for(var f=0,g=1;0==(n.words[0]&g)&&f<26;++f,g<<=1);if(f>0)for(n.iushrn(f);f-- >0;)(s.isOdd()||u.isOdd())&&(s.iadd(l),u.isub(d)),s.iushrn(1),u.iushrn(1);t.cmp(n)>=0?(t.isub(n),r.isub(s),a.isub(u)):(n.isub(t),s.isub(r),u.isub(a))}return{a:s,b:u,gcd:n.iushln(c)}},i.prototype._invmp=function(e){o(0===e.negative),o(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var r,a=new i(1),s=new i(0),u=n.clone();t.cmpn(1)>0&&n.cmpn(1)>0;){for(var c=0,l=1;0==(t.words[0]&l)&&c<26;++c,l<<=1);if(c>0)for(t.iushrn(c);c-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);for(var d=0,h=1;0==(n.words[0]&h)&&d<26;++d,h<<=1);if(d>0)for(n.iushrn(d);d-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);t.cmp(n)>=0?(t.isub(n),a.isub(s)):(n.isub(t),s.isub(a))}return(r=0===t.cmpn(1)?a:s).cmpn(0)<0&&r.iadd(e),r},i.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),n=e.clone();t.negative=0,n.negative=0;for(var o=0;t.isEven()&&n.isEven();o++)t.iushrn(1),n.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;n.isEven();)n.iushrn(1);var r=t.cmp(n);if(r<0){var i=t;t=n,n=i}else if(0===r||0===n.cmpn(1))break;t.isub(n)}return n.iushln(o)},i.prototype.invm=function(e){return this.egcd(e).a.umod(e)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(e){return this.words[0]&e},i.prototype.bincn=function(e){o("number"==typeof e);var t=e%26,n=(e-t)/26,r=1<>>26,s&=67108863,this.words[a]=s}return 0!==i&&(this.words[a]=i,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(e){var t,n=e<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this.strip(),this.length>1)t=1;else{n&&(e=-e),o(e<=67108863,"Number is too big");var r=0|this.words[0];t=r===e?0:re.length)return 1;if(this.length=0;n--){var o=0|this.words[n],r=0|e.words[n];if(o!==r){or&&(t=1);break}}return t},i.prototype.gtn=function(e){return 1===this.cmpn(e)},i.prototype.gt=function(e){return 1===this.cmp(e)},i.prototype.gten=function(e){return this.cmpn(e)>=0},i.prototype.gte=function(e){return this.cmp(e)>=0},i.prototype.ltn=function(e){return-1===this.cmpn(e)},i.prototype.lt=function(e){return-1===this.cmp(e)},i.prototype.lten=function(e){return this.cmpn(e)<=0},i.prototype.lte=function(e){return this.cmp(e)<=0},i.prototype.eqn=function(e){return 0===this.cmpn(e)},i.prototype.eq=function(e){return 0===this.cmp(e)},i.red=function(e){return new E(e)},i.prototype.toRed=function(e){return o(!this.red,"Already a number in reduction context"),o(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},i.prototype.fromRed=function(){return o(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(e){return this.red=e,this},i.prototype.forceRed=function(e){return o(!this.red,"Already a number in reduction context"),this._forceRed(e)},i.prototype.redAdd=function(e){return o(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},i.prototype.redIAdd=function(e){return o(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},i.prototype.redSub=function(e){return o(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},i.prototype.redISub=function(e){return o(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},i.prototype.redShl=function(e){return o(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},i.prototype.redMul=function(e){return o(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},i.prototype.redIMul=function(e){return o(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},i.prototype.redSqr=function(){return o(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return o(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return o(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return o(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return o(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(e){return o(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var _={k256:null,p224:null,p192:null,p25519:null};function F(e,t){this.name=e,this.p=new i(t,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function y(){F.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){F.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function v(){F.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function w(){F.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(e){if("string"==typeof e){var t=i._prime(e);this.m=t.p,this.prime=t}else o(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function k(e){E.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}F.prototype._tmp=function(){var e=new i(null);return e.words=new Array(Math.ceil(this.n/13)),e},F.prototype.ireduce=function(e){var t,n=e;do{this.split(n,this.tmp),t=(n=(n=this.imulK(n)).iadd(this.tmp)).bitLength()}while(t>this.n);var o=t0?n.isub(this.p):void 0!==n.strip?n.strip():n._strip(),n},F.prototype.split=function(e,t){e.iushrn(this.n,0,t)},F.prototype.imulK=function(e){return e.imul(this.k)},r(y,F),y.prototype.split=function(e,t){for(var n=4194303,o=Math.min(e.length,9),r=0;r>>22,i=a}i>>>=22,e.words[r-10]=i,0===i&&e.length>10?e.length-=10:e.length-=9},y.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,n=0;n>>=26,e.words[n]=r,t=o}return 0!==t&&(e.words[e.length++]=t),e},i._prime=function(e){if(_[e])return _[e];var t;if("k256"===e)t=new y;else if("p224"===e)t=new b;else if("p192"===e)t=new v;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new w}return _[e]=t,t},E.prototype._verify1=function(e){o(0===e.negative,"red works only with positives"),o(e.red,"red works only with red numbers")},E.prototype._verify2=function(e,t){o(0==(e.negative|t.negative),"red works only with positives"),o(e.red&&e.red===t.red,"red works only with red numbers")},E.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},E.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},E.prototype.add=function(e,t){this._verify2(e,t);var n=e.add(t);return n.cmp(this.m)>=0&&n.isub(this.m),n._forceRed(this)},E.prototype.iadd=function(e,t){this._verify2(e,t);var n=e.iadd(t);return n.cmp(this.m)>=0&&n.isub(this.m),n},E.prototype.sub=function(e,t){this._verify2(e,t);var n=e.sub(t);return n.cmpn(0)<0&&n.iadd(this.m),n._forceRed(this)},E.prototype.isub=function(e,t){this._verify2(e,t);var n=e.isub(t);return n.cmpn(0)<0&&n.iadd(this.m),n},E.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},E.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},E.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},E.prototype.isqr=function(e){return this.imul(e,e.clone())},E.prototype.sqr=function(e){return this.mul(e,e)},E.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(o(t%2==1),3===t){var n=this.m.add(new i(1)).iushrn(2);return this.pow(e,n)}for(var r=this.m.subn(1),a=0;!r.isZero()&&0===r.andln(1);)a++,r.iushrn(1);o(!r.isZero());var s=new i(1).toRed(this),u=s.redNeg(),c=this.m.subn(1).iushrn(1),l=this.m.bitLength();for(l=new i(2*l*l).toRed(this);0!==this.pow(l,c).cmp(u);)l.redIAdd(u);for(var d=this.pow(l,r),h=this.pow(e,r.addn(1).iushrn(1)),p=this.pow(e,r),f=a;0!==p.cmp(s);){for(var g=p,m=0;0!==g.cmp(s);m++)g=g.redSqr();o(m=0;o--){for(var c=t.words[o],l=u-1;l>=0;l--){var d=c>>l&1;r!==n[0]&&(r=this.sqr(r)),0!==d||0!==a?(a<<=1,a|=d,(4==++s||0===o&&0===l)&&(r=this.mul(r,n[a]),s=0,a=0)):s=0}u=26}return r},E.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},E.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},i.mont=function(e){return new k(e)},r(k,E),k.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},k.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},k.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var n=e.imul(t),o=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=n.isub(o).iushrn(this.shift),i=r;return r.cmp(this.m)>=0?i=r.isub(this.m):r.cmpn(0)<0&&(i=r.iadd(this.m)),i._forceRed(this)},k.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new i(0)._forceRed(this);var n=e.mul(t),o=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=n.isub(o).iushrn(this.shift),a=r;return r.cmp(this.m)>=0?a=r.isub(this.m):r.cmpn(0)<0&&(a=r.iadd(this.m)),a._forceRed(this)},k.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e=n.nmd(e),this)},79367:function(e,t){var n,o;void 0===(o="function"==typeof(n=function(e,t){"use strict";var n,o,r="function"==typeof Map?new Map:(n=[],o=[],{has:function(e){return n.indexOf(e)>-1},get:function(e){return o[n.indexOf(e)]},set:function(e,t){-1===n.indexOf(e)&&(n.push(e),o.push(t))},delete:function(e){var t=n.indexOf(e);t>-1&&(n.splice(t,1),o.splice(t,1))}}),i=function(e){return new Event(e,{bubbles:!0})};try{new Event("test")}catch(e){i=function(e){var t=document.createEvent("Event");return t.initEvent(e,!0,!1),t}}function a(e){if(e&&e.nodeName&&"TEXTAREA"===e.nodeName&&!r.has(e)){var t=null,n=null,o=null,a=function(){e.clientWidth!==n&&d()},s=function(t){window.removeEventListener("resize",a,!1),e.removeEventListener("input",d,!1),e.removeEventListener("keyup",d,!1),e.removeEventListener("autosize:destroy",s,!1),e.removeEventListener("autosize:update",d,!1),Object.keys(t).forEach((function(n){e.style[n]=t[n]})),r.delete(e)}.bind(e,{height:e.style.height,resize:e.style.resize,overflowY:e.style.overflowY,overflowX:e.style.overflowX,wordWrap:e.style.wordWrap});e.addEventListener("autosize:destroy",s,!1),"onpropertychange"in e&&"oninput"in e&&e.addEventListener("keyup",d,!1),window.addEventListener("resize",a,!1),e.addEventListener("input",d,!1),e.addEventListener("autosize:update",d,!1),e.style.overflowX="hidden",e.style.wordWrap="break-word",r.set(e,{destroy:s,update:d}),"vertical"===(u=window.getComputedStyle(e,null)).resize?e.style.resize="none":"both"===u.resize&&(e.style.resize="horizontal"),t="content-box"===u.boxSizing?-(parseFloat(u.paddingTop)+parseFloat(u.paddingBottom)):parseFloat(u.borderTopWidth)+parseFloat(u.borderBottomWidth),isNaN(t)&&(t=0),d()}var u;function c(t){var n=e.style.width;e.style.width="0px",e.offsetWidth,e.style.width=n,e.style.overflowY=t}function l(){if(0!==e.scrollHeight){var o=function(e){for(var t=[];e&&e.parentNode&&e.parentNode instanceof Element;)e.parentNode.scrollTop&&t.push({node:e.parentNode,scrollTop:e.parentNode.scrollTop}),e=e.parentNode;return t}(e),r=document.documentElement&&document.documentElement.scrollTop;e.style.height="",e.style.height=e.scrollHeight+t+"px",n=e.clientWidth,o.forEach((function(e){e.node.scrollTop=e.scrollTop})),r&&(document.documentElement.scrollTop=r)}}function d(){l();var t=Math.round(parseFloat(e.style.height)),n=window.getComputedStyle(e,null),r="content-box"===n.boxSizing?Math.round(parseFloat(n.height)):e.offsetHeight;if(r{"use strict";var o=n(2190);e.exports=function(){return o(["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"],(function(e){return"function"==typeof n.g[e]}))}},79456:(e,t,n)=>{"use strict";var o=n(67294),r=n(73935);function i(e,t){for(var n=0;n=0;l--){var d=r[l];"."===d?p(r,l):".."===d?(p(r,l),c++):c&&(p(r,l),c--)}if(!s)for(;c--;c)r.unshift("..");!s||""===r[0]||r[0]&&h(r[0])||r.unshift("");var f=r.join("/");return n&&"/"!==f.substr(-1)&&(f+="/"),f}(r.pathname,o.pathname)):r.pathname=o.pathname:r.pathname||(r.pathname="/"),r}function w(){var e=null,t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,o,r){if(null!=e){var i="function"==typeof e?e(t,n):e;"string"==typeof i?"function"==typeof o?o(i,r):r(!0):r(!1!==i)}else r(!0)},appendListener:function(e){var n=!0;function o(){n&&e.apply(void 0,arguments)}return t.push(o),function(){n=!1,t=t.filter((function(e){return e!==o}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),o=0;o=0||(r[n]=e[n]);return r}n(59864);var N=n(8679),L=n.n(N),P=function(e){var t=I();return t.displayName="Router-History",t}(),U=function(e){var t=I();return t.displayName="Router",t}(),j=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen((function(e){n._isMounted?n.setState({location:e}):n._pendingLocation=e}))),n}u(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){this._isMounted=!0,this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&this.unlisten()},n.render=function(){return o.createElement(U.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},o.createElement(P.Provider,{children:this.props.children||null,value:this.props.history}))},t}(o.Component);o.Component;var q=function(e){function t(){return e.apply(this,arguments)||this}u(t,e);var n=t.prototype;return n.componentDidMount=function(){this.props.onMount&&this.props.onMount.call(this,this)},n.componentDidUpdate=function(e){this.props.onUpdate&&this.props.onUpdate.call(this,this,e)},n.componentWillUnmount=function(){this.props.onUnmount&&this.props.onUnmount.call(this,this)},n.render=function(){return null},t}(o.Component),z={},K=0;function G(e,t){return void 0===e&&(e="/"),void 0===t&&(t={}),"/"===e?e:function(e){if(z[e])return z[e];var t=O().compile(e);return K<1e4&&(z[e]=t,K++),t}(e)(t,{pretty:!0})}function $(e){var t=e.computedMatch,n=e.to,r=e.push,i=void 0!==r&&r;return o.createElement(U.Consumer,null,(function(e){e||m(!1);var r=e.history,a=e.staticContext,s=i?r.push:r.replace,u=v(t?"string"==typeof n?G(n,t.params):d({},n,{pathname:G(n.pathname,t.params)}):n);return a?(s(u),null):o.createElement(q,{onMount:function(){s(u)},onUpdate:function(e,t){var n,o,r=v(t.to);n=r,o=d({},u,{key:r.key}),n.pathname===o.pathname&&n.search===o.search&&n.hash===o.hash&&n.key===o.key&&g(n.state,o.state)||s(u)},to:n})}))}var H={},V=0;function W(e,t){void 0===t&&(t={}),("string"==typeof t||Array.isArray(t))&&(t={path:t});var n=t,o=n.path,r=n.exact,i=void 0!==r&&r,a=n.strict,s=void 0!==a&&a,u=n.sensitive,c=void 0!==u&&u;return[].concat(o).reduce((function(t,n){if(!n&&""!==n)return null;if(t)return t;var o=function(e,t){var n=""+t.end+t.strict+t.sensitive,o=H[n]||(H[n]={});if(o[e])return o[e];var r=[],i={regexp:O()(e,r,t),keys:r};return V<1e4&&(o[e]=i,V++),i}(n,{end:i,strict:s,sensitive:c}),r=o.regexp,a=o.keys,u=r.exec(e);if(!u)return null;var l=u[0],d=u.slice(1),h=e===l;return i&&!h?null:{path:n,url:"/"===n&&""===l?"/":l,isExact:h,params:a.reduce((function(e,t,n){return e[t.name]=d[n],e}),{})}}),null)}var Y=function(e){function t(){return e.apply(this,arguments)||this}return u(t,e),t.prototype.render=function(){var e=this;return o.createElement(U.Consumer,null,(function(t){t||m(!1);var n=e.props.location||t.location,r=d({},t,{location:n,match:e.props.computedMatch?e.props.computedMatch:e.props.path?W(n.pathname,e.props):t.match}),i=e.props,a=i.children,s=i.component,u=i.render;return Array.isArray(a)&&0===a.length&&(a=null),o.createElement(U.Provider,{value:r},r.match?a?"function"==typeof a?a(r):a:s?o.createElement(s,r):u?u(r):null:"function"==typeof a?a(r):null)}))},t}(o.Component);o.Component;var Z=function(e){function t(){return e.apply(this,arguments)||this}return u(t,e),t.prototype.render=function(){var e=this;return o.createElement(U.Consumer,null,(function(t){t||m(!1);var n,r,i=e.props.location||t.location;return o.Children.forEach(e.props.children,(function(e){if(null==r&&o.isValidElement(e)){n=e;var a=e.props.path||e.props.from;r=a?W(i.pathname,d({},e.props,{path:a})):t.match}})),r?o.cloneElement(n,{location:i,computedMatch:r}):null}))},t}(o.Component);o.useContext;var X=function(e){function t(){for(var t,n=arguments.length,o=new Array(n),r=0;r=0||(r[n]=e[n]);return r}(e,["sitekey","onChange","theme","type","tabindex","onExpired","onErrored","size","stoken","grecaptcha","badge","hl"]));return o.createElement("div",de({},t,{ref:this.handleRecaptchaRef}))},r}(o.Component);function fe(){return(fe=Object.assign||function(e){for(var t=1;t-1&&t[n].parentNode&&t[n].parentNode.removeChild(t[n]);var o=_e[e];o&&(delete o.observers[this.asyncScriptLoaderGetScriptLoaderID()],!0===me.removeOnUnmount&&delete _e[e])},a.render=function(){var t=me.globalName,n=this.props,r=(n.asyncScriptOnLoad,n.forwardedRef),i=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(n,["asyncScriptOnLoad","forwardedRef"]);return t&&"undefined"!=typeof window&&(i[t]=void 0!==window[t]?window[t]:void 0),i.ref=r,(0,o.createElement)(e,i)},i}(o.Component),r=(0,o.forwardRef)((function(e,t){return(0,o.createElement)(n,fe({},e,{forwardedRef:t}))}));return r.displayName="AsyncScriptLoader("+t+")",r.propTypes={asyncScriptOnLoad:l().func},L()(r,e)})(pe);var ve=n(8743),we=n(17187),Ee=n.n(we);const ke=new(n(65203).Dispatcher);function De(e){return(De="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 Se(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function xe(e,t){for(var n=0;n600&&(i=Math.floor(i*(600/a)),a=600),i>800&&(a=Math.floor(a*(800/i)),i=800);var s=document.createElement("canvas");s.width=i,s.height=a,s.getContext("2d").drawImage(e,0,0,i,a),s.toBlob((function(e){r({thumbnail:e,info:{w:i,h:a,mimetype:e.type,size:e.size}})}),o)}))}const Ge=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Ne(e,t)}(c,e);var t,n,o,r,i,a,s,u=(a=c,s=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=Pe(a);if(s){var n=Pe(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return Le(this,e)});function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),(t=u.call(this)).matrixClient=e,t.roomIdToInput=new Map,t}return t=c,(n=[{key:"cleanEmptyEntry",value:function(e){var t=this.getInput(e);void 0===t.attachment&&(void 0===t.message||""===t.message)&&this.roomIdToInput.delete(e)}},{key:"getInput",value:function(e){return this.roomIdToInput.get(e)||{}}},{key:"setMessage",value:function(e,t){var n=this.getInput(e);n.message=t,this.roomIdToInput.set(e,n),""===t&&this.cleanEmptyEntry(e)}},{key:"getMessage",value:function(e){var t=this.getInput(e);return void 0===t.message?"":t.message}},{key:"setAttachment",value:function(e,t){var n=this.getInput(e);n.attachment={file:t},this.roomIdToInput.set(e,n)}},{key:"getAttachment",value:function(e){var t=this.getInput(e);return void 0===t.attachment?null:t.attachment.file}},{key:"cancelAttachment",value:function(e){var t=this.getInput(e);if(void 0!==t.attachment){var n=t.attachment.uploadingPromise;n&&(this.matrixClient.cancelUpload(n),delete t.attachment.uploadingPromise),t.message?(delete t.attachment,delete t.isSending,this.roomIdToInput.set(e,t)):this.roomIdToInput.delete(e),this.emit(se.events.roomsInput.ATTACHMENT_CANCELED,e)}}},{key:"isSending",value:function(e){var t;return(null===(t=this.roomIdToInput.get(e))||void 0===t?void 0:t.isSending)||!1}},{key:"sendInput",value:(i=je(regeneratorRuntime.mark((function e(t){var n,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((n=this.getInput(t)).isSending=!0,this.roomIdToInput.set(t,n),!n.attachment){e.next=6;break}return e.next=6,this.sendFile(t,n.attachment.file);case 6:""!==this.getMessage(t).trim()&&(o={body:n.message,msgtype:"m.text"},this.matrixClient.sendMessage(t,o)),this.isSending(t)&&this.roomIdToInput.delete(t),this.emit(se.events.roomsInput.MESSAGE_SENT,t);case 9:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"sendFile",value:(r=je(regeneratorRuntime.mark((function e(t,n){var o,r,i,a,s,u,c,l,d=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=n.type.slice(0,n.type.indexOf("/")),r={mimetype:n.type,size:n.size},i={info:r},a=null,"image"!==o){e.next=14;break}return e.next=7,qe(n);case 7:s=e.sent,r.w=s.w,r.h=s.h,i.msgtype="m.image",i.body=n.name||"Image",e.next=40;break;case 14:if("video"!==o){e.next=39;break}return i.msgtype="m.video",i.body=n.name||"Video",e.prev=17,e.next=20,ze(n);case 20:return u=e.sent,r.w=u.videoWidth,r.h=u.videoHeight,e.next=25,Ke(u,u.videoWidth,u.videoHeight,"image/jpeg");case 25:return c=e.sent,e.next=28,this.uploadFile(t,c.thumbnail);case 28:l=e.sent,r.thumbnail_info=c.info,this.matrixClient.isRoomEncrypted(t)?r.thumbnail_file=l.file:r.thumbnail_url=l.url,e.next=37;break;case 33:return e.prev=33,e.t0=e.catch(17),this.emit(se.events.roomsInput.FILE_UPLOAD_CANCELED,t),e.abrupt("return");case 37:e.next=40;break;case 39:"audio"===o?(i.msgtype="m.audio",i.body=n.name||"Audio"):(i.msgtype="m.file",i.body=n.name||"File");case 40:return e.prev=40,e.next=43,this.uploadFile(t,n,(function(e){d.emit(se.events.roomsInput.UPLOAD_PROGRESS_CHANGES,t,e)}));case 43:a=e.sent,this.emit(se.events.roomsInput.FILE_UPLOADED,t),e.next=51;break;case 47:return e.prev=47,e.t1=e.catch(40),this.emit(se.events.roomsInput.FILE_UPLOAD_CANCELED,t),e.abrupt("return");case 51:if(!this.matrixClient.isRoomEncrypted(t)){e.next=57;break}return i.file=a.file,e.next=55,this.matrixClient.sendMessage(t,i);case 55:e.next=60;break;case 57:return i.url=a.url,e.next=60,this.matrixClient.sendMessage(t,i);case 60:case"end":return e.stop()}}),e,this,[[17,33],[40,47]])}))),function(e,t){return r.apply(this,arguments)})},{key:"uploadFile",value:(o=je(regeneratorRuntime.mark((function e(t,n,o){var r,i,a,s,u,c,l,d;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=this.matrixClient.isRoomEncrypted(t),i=null,a=null,!r){e.next=16;break}return e.next=6,n.arrayBuffer();case 6:if(s=e.sent,void 0!==this.getInput(t).attachment){e.next=9;break}throw new Error("Attachment canceled");case 9:return e.next=11,Me.encryptAttachment(s);case 11:if(u=e.sent,void 0!==this.getInput(t).attachment){e.next=14;break}throw new Error("Attachment canceled");case 14:i=u.info,a=new Blob([u.data]);case 16:return c=this.matrixClient.uploadContent(r?a:n,{includeFilename:!r,progressHandler:o}),(l=this.getInput(t)).attachment.uploadingPromise=c,this.roomIdToInput.set(t,l),e.next=22,c;case 22:if(d=e.sent,delete l.attachment.uploadingPromise,this.roomIdToInput.set(t,l),!r){e.next=29;break}return i.url=d,n.type&&(i.mimetype=n.type),e.abrupt("return",{file:i});case 29:return e.abrupt("return",{url:d});case 30:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return o.apply(this,arguments)})}])&&Be(t.prototype,n),c}(Ee());function $e(e){return($e="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 He(e,t,n,o,r,i,a){try{var s=e[i](a),u=s.value}catch(e){return void n(e)}s.done?t(u):Promise.resolve(u).then(o,r)}function Ve(e){return function(){var t=this,n=arguments;return new Promise((function(o,r){var i=e.apply(t,n);function a(e){He(i,o,r,a,s,"next",e)}function s(e){He(i,o,r,a,s,"throw",e)}a(void 0)}))}}function We(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ye(e,t){for(var n=0;n=0;o-=1)return e.timeline[o].getId()!==n;return!0}function ct(e,t,n,o,r,i,a){try{var s=e[i](a),u=s.value}catch(e){return void n(e)}s.done?t(u):Promise.resolve(u).then(o,r)}function lt(e){return function(){var t=this,n=arguments;return new Promise((function(o,r){var i=e.apply(t,n);function a(e){ct(i,o,r,a,s,"next",e)}function s(e){ct(i,o,r,a,s,"throw",e)}a(void 0)}))}}function dt(){return(dt=lt(regeneratorRuntime.mark((function e(t,n,o){var r,i,a,s,u;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=null,e.prev=1,e.next=4,ot(n);case 4:a=e.sent,e.next=10;break;case 7:e.prev=7,e.t0=e.catch(1),a="https://".concat(n);case 10:if(void 0!==a){e.next=12;break}throw new Error("Homeserver not found");case 12:return s=ve.createClient({baseUrl:a}),e.next=15,s.login("m.login.password",{user:"@".concat(t,":").concat(n),password:o,initial_device_display_name:se.DEVICE_DISPLAY_NAME});case 15:u=e.sent,localStorage.setItem(se.secretKey.ACCESS_TOKEN,u.access_token),localStorage.setItem(se.secretKey.DEVICE_ID,u.device_id),localStorage.setItem(se.secretKey.USER_ID,u.user_id),localStorage.setItem(se.secretKey.BASE_URL,(null==u||null===(r=u.well_known)||void 0===r||null===(i=r["m.homeserver"])||void 0===i?void 0:i.base_url)||a);case 20:case"end":return e.stop()}}),e,null,[[1,7]])})))).apply(this,arguments)}function ht(e,t){return pt.apply(this,arguments)}function pt(){return(pt=lt(regeneratorRuntime.mark((function e(t,n){var o,r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,fetch("".concat(t,"/_matrix/client/r0/register"),{method:"POST",body:JSON.stringify(n),headers:{"Content-Type":"application/json; charset=utf-8"},credentials:"same-origin"});case 3:return o=e.sent,e.next=6,o.json();case 6:return r=e.sent,e.abrupt("return",r);case 10:throw e.prev=10,e.t0=e.catch(0),new Error(e.t0);case 13:case"end":return e.stop()}}),e,null,[[0,10]])})))).apply(this,arguments)}function ft(e,t){return gt.apply(this,arguments)}function gt(){return(gt=lt(regeneratorRuntime.mark((function e(t,n){var o,r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,fetch("".concat(t,"/_matrix/client/r0/register/email/requestToken "),{method:"POST",body:JSON.stringify(n),headers:{"Content-Type":"application/json; charset=utf-8"},credentials:"same-origin"});case 3:return o=e.sent,e.next=6,o.json();case 6:return r=e.sent,e.abrupt("return",r);case 10:throw e.prev=10,e.t0=e.catch(0),new Error(e.t0);case 13:case"end":return e.stop()}}),e,null,[[0,10]])})))).apply(this,arguments)}var mt=null,_t=null,Ft=null;function yt(){return(yt=lt(regeneratorRuntime.mark((function e(t,n,o,r,i,a,s){var u,c,l,d,h,p;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ot(n);case 2:if(void 0!==(u=e.sent)){e.next=5;break}throw new Error("Homeserver not found");case 5:return c=ve.createClient({baseUrl:u}),e.next=8,c.isUsernameAvailable(t);case 8:if(e.sent){e.next=11;break}throw new Error("Username not available");case 11:if("string"!=typeof i){e.next=16;break}return e.next=14,ht(u,{auth:{type:"m.login.recaptcha",session:mt,response:i}});case 14:e.next=30;break;case 16:if(!0!==a){e.next=21;break}return e.next=19,ht(u,{auth:{type:"m.login.terms",session:mt}});case 19:e.next=30;break;case 21:if(!0===s){e.next=30;break}return mt=null,_t=c.generateClientSecret(),e.next=26,ft(u,{email:r,client_secret:_t,send_attempt:1});case 26:if("string"!=typeof(l=e.sent).error){e.next=29;break}throw new Error(l.error);case 29:Ft=l.sid;case 30:return e.next=32,ht(u,{auth:{session:null!==mt?mt:void 0}});case 32:if(d=e.sent,mt=d.session,void 0!==d.completed&&0!==d.completed.length){e.next=36;break}return e.abrupt("return",{type:"recaptcha",public_key:d.params["m.login.recaptcha"].public_key});case 36:if("m.login.recaptcha"!==d.completed.find((function(e){return"m.login.recaptcha"===e}))||d.completed.find((function(e){return"m.login.terms"===e}))){e.next=38;break}return e.abrupt("return",{type:"terms",en:d.params["m.login.terms"].policies.privacy_policy.en});case 38:if(!s&&"m.login.terms"!==d.completed.find((function(e){return"m.login.terms"===e}))){e.next=50;break}return h={client_secret:_t,sid:Ft},e.next=42,ht(u,{auth:{session:mt,type:"m.login.email.identity",threepidCreds:h,threepid_creds:h},username:t,password:o});case 42:if("M_UNAUTHORIZED"!==(p=e.sent).errcode){e.next=45;break}return e.abrupt("return",{type:"email"});case 45:return localStorage.setItem(se.secretKey.ACCESS_TOKEN,p.access_token),localStorage.setItem(se.secretKey.DEVICE_ID,p.device_id),localStorage.setItem(se.secretKey.USER_ID,p.user_id),localStorage.setItem(se.secretKey.BASE_URL,u),e.abrupt("return",{type:"done"});case 50:return e.abrupt("return",{});case 51:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function bt(e){var t=e.id,n=e.className,r=e.variant,i=e.children,a=""!==n?"".concat(n," "):"";return"h1"===r?o.createElement("h1",{id:""===t?void 0:t,className:"".concat(a,"text text-h1")},i):"h2"===r?o.createElement("h2",{id:""===t?void 0:t,className:"".concat(a,"text text-h2")},i):"s1"===r?o.createElement("h4",{id:""===t?void 0:t,className:"".concat(a,"text text-s1")},i):o.createElement("p",{id:""===t?void 0:t,className:"".concat(a,"text text-").concat(r)},i)}bt.defaultProps={id:"",className:"",variant:"b1"},bt.propTypes={id:l().string,className:l().string,variant:l().oneOf(["h1","h2","s1","b1","b2","b3"]),children:l().node.isRequired};const vt=bt;function wt(e){var t=e.color,n=e.size,r=e.src,i={WebkitMaskImage:"url(".concat(r,")"),maskImage:"url(".concat(r,")")};return null!==t&&(i.backgroundColor=t),o.createElement("span",{className:"ic-raw ic-raw-".concat(n),style:i}," ")}wt.defaultProps={color:null,size:"normal"},wt.propTypes={color:l().string,size:l().oneOf(["large","normal","small","extra-small"]),src:l().string.isRequired};const Et=wt;function kt(e){return(kt="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 Dt(e,t){for(var n=e.nativeEvent.composedPath(),o=function(e){return n[e]===document?(console.warn(Dt,"blurOnBubbling: not found selector in bubbling path"),"break"):n[e].matches(t)?(setTimeout((function(){return n[e].blur()}),50),{v:!0}):void 0},r=0;re.length)&&(t=e.length);for(var n=0,o=new Array(t);n255?Ht(u.current,"Your user ID, including the hostname, can't be more than 255 characters long."):p():Ht(h.current,Kt):Ht(d.current,qt):Ht(l.current,jt):Ht(u.current,Lt)};return o.createElement(o.Fragment,null,"loading"===(null==a?void 0:a.type)&&o.createElement(Zt,{message:a.message}),"recaptcha"===(null==a?void 0:a.type)&&o.createElement(Xt,{message:"Please check the box below to proceed.",sitekey:a.sitekey,onChange:function(e){"string"==typeof e&&p(e)}}),"terms"===(null==a?void 0:a.type)&&o.createElement(Jt,{url:a.en.url,onSubmit:p}),"email"===(null==a?void 0:a.type)&&o.createElement(Qt,null,o.createElement("div",{style:{margin:"var(--sp-normal)",maxWidth:"450px"}},o.createElement(vt,{variant:"h2"},"Verify email"),o.createElement("div",{style:{margin:"var(--sp-normal) 0"}},o.createElement(vt,{variant:"b1"},"Please check your email"," ",o.createElement("b",null,"(".concat(h.current.value,")"))," ","and validate before continuing further.")),o.createElement(xt,{variant:"primary",onClick:function(){return p(void 0,void 0,!0)}},"Continue"))),o.createElement(Yt,null,o.createElement("div",{className:"auth-form__wrapper flex-v--center"},o.createElement("form",{onSubmit:f,className:"auth-form"},o.createElement(vt,{variant:"h2"},"login"===r?"Login":"Register"),o.createElement("div",{className:"username__wrapper"},o.createElement(Tt,{forwardRef:u,onChange:function(e){return Vt(e,"login"===r?Bt:Nt,Lt)},id:"auth_username",label:"Username",required:!0}),o.createElement(Tt,{forwardRef:c,id:"auth_homeserver",placeholder:"Homeserver",value:"matrix.org",required:!0})),o.createElement(Tt,{forwardRef:l,onChange:function(e){return Vt(e,"login"===r?Pt:Ut,jt)},id:"auth_password",type:"password",label:"Password",required:!0}),"register"===r&&o.createElement(o.Fragment,null,o.createElement(Tt,{forwardRef:d,onChange:function(e){return Vt(e,new RegExp("^(".concat(l.current.value,")$")),qt)},id:"auth_confirmPassword",type:"password",label:"Confirm password",required:!0}),o.createElement(Tt,{forwardRef:h,onChange:function(e){return Vt(e,zt,Kt)},id:"auth_email",type:"email",label:"Email",required:!0})),o.createElement("div",{className:"submit-btn__wrapper flex--end"},o.createElement(vt,{id:"auth_error",className:"error-message",variant:"b3"},"Error"),o.createElement(xt,{id:"auth_submit-btn",variant:"primary",type:"submit"},"login"===r?"Login":"Register")))),o.createElement("div",{className:"flex--center"},o.createElement(vt,{variant:"b2"},"".concat("login"===r?"Don't have":"Already have"," an account?"),o.createElement(oe,{to:"login"===r?"/register":"/login"},"login"===r?" Register":" Login")))))}function Yt(e){var t=e.children;return o.createElement("div",{className:"auth__wrapper flex--center"},o.createElement("div",{className:"auth-card"},o.createElement("div",{className:"auth-card__interactive flex-v"},o.createElement("div",{className:"app-ident flex"},o.createElement("img",{className:"app-ident__logo noselect",src:Mt,alt:"Cinny logo"}),o.createElement("div",{className:"app-ident__text flex-v--center"},o.createElement(vt,{variant:"h2"},"Cinny"),o.createElement(vt,{variant:"b2"},"Yet another matrix client."))),t)))}function Zt(e){var t=e.message;return o.createElement(Qt,null,o.createElement(It,null),o.createElement("div",{style:{marginTop:"var(--sp-normal)"}},o.createElement(vt,{variant:"b1"},t)))}function Xt(e){var t=e.message,n=e.sitekey,r=e.onChange;return o.createElement(Qt,null,o.createElement("div",{style:{marginBottom:"var(--sp-normal)"}},o.createElement(vt,{variant:"s1"},t)),o.createElement(be,{sitekey:n,onChange:r}))}function Jt(e){var t=e.url,n=e.onSubmit;return o.createElement(Qt,null,o.createElement("form",{onSubmit:function(){return n(void 0,!0)}},o.createElement("div",{style:{margin:"var(--sp-normal)",maxWidth:"450px"}},o.createElement(vt,{variant:"h2"},"Agree with terms"),o.createElement("div",{style:{marginBottom:"var(--sp-normal)"}}),o.createElement(vt,{variant:"b1"},"In order to complete registration, you need to agree with terms and conditions."),o.createElement("div",{style:{display:"flex",alignItems:"center",margin:"var(--sp-normal) 0"}},o.createElement("input",{id:"termsCheckbox",type:"checkbox",required:!0}),o.createElement(vt,{variant:"b1"},"I accept ",o.createElement("a",{style:{cursor:"pointer"},href:t,rel:"noreferrer",target:"_blank"},"Terms and Conditions"))),o.createElement(xt,{id:"termsBtn",type:"submit",variant:"primary"},"Submit"))))}function Qt(e){var t=e.children;return o.createElement("div",{className:"process-wrapper"},t)}Wt.propTypes={type:l().string.isRequired},Yt.propTypes={children:l().node.isRequired},Zt.propTypes={message:l().string.isRequired},Xt.propTypes={message:l().string.isRequired,sitekey:l().string.isRequired,onChange:l().func.isRequired},Jt.propTypes={url:l().string.isRequired,onSubmit:l().func.isRequired},Qt.propTypes={children:l().node.isRequired};const en=Wt;function tn(e){return(tn="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 nn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function on(e,t){for(var n=0;n=0?e.ownerDocument.body:En(e)&&An(e)?e:Mn(In(e))}function On(e,t){var n;void 0===t&&(t=[]);var o=Mn(e),r=o===(null==(n=e.ownerDocument)?void 0:n.body),i=bn(o),a=r?[i].concat(i.visualViewport||[],An(o)?o:[]):o,s=t.concat(a);return r?s:s.concat(On(In(a)))}function Bn(e){return["table","td","th"].indexOf(Dn(e))>=0}function Nn(e){return En(e)&&"fixed"!==Cn(e).position?e.offsetParent:null}function Ln(e){for(var t=bn(e),n=Nn(e);n&&Bn(n)&&"static"===Cn(n).position;)n=Nn(n);return n&&("html"===Dn(n)||"body"===Dn(n)&&"static"===Cn(n).position)?t:n||function(e){var t=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&En(e)&&"fixed"===Cn(e).position)return null;for(var n=In(e);En(n)&&["html","body"].indexOf(Dn(n))<0;){var o=Cn(n);if("none"!==o.transform||"none"!==o.perspective||"paint"===o.contain||-1!==["transform","perspective"].indexOf(o.willChange)||t&&"filter"===o.willChange||t&&o.filter&&"none"!==o.filter)return n;n=n.parentNode}return null}(e)||t}var Pn="top",Un="bottom",jn="right",qn="left",zn="auto",Kn=[Pn,Un,jn,qn],Gn="start",$n="end",Hn="viewport",Vn="popper",Wn=Kn.reduce((function(e,t){return e.concat([t+"-"+Gn,t+"-"+$n])}),[]),Yn=[].concat(Kn,[zn]).reduce((function(e,t){return e.concat([t,t+"-"+Gn,t+"-"+$n])}),[]),Zn=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Xn(e){var t=new Map,n=new Set,o=[];function r(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!n.has(e)){var o=t.get(e);o&&r(o)}})),o.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||r(e)})),o}var Jn={placement:"bottom",modifiers:[],strategy:"absolute"};function Qn(){for(var e=arguments.length,t=new Array(e),n=0;n=0?"x":"y"}function ao(e){var t,n=e.reference,o=e.element,r=e.placement,i=r?oo(r):null,a=r?ro(r):null,s=n.x+n.width/2-o.width/2,u=n.y+n.height/2-o.height/2;switch(i){case Pn:t={x:s,y:n.y-o.height};break;case Un:t={x:s,y:n.y+n.height};break;case jn:t={x:n.x+n.width,y:u};break;case qn:t={x:n.x-o.width,y:u};break;default:t={x:n.x,y:n.y}}var c=i?io(i):null;if(null!=c){var l="y"===c?"height":"width";switch(a){case Gn:t[c]=t[c]-(n[l]/2-o[l]/2);break;case $n:t[c]=t[c]+(n[l]/2-o[l]/2)}}return t}const so={name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state,n=e.name;t.modifiersData[n]=ao({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}};var uo=Math.max,co=Math.min,lo=Math.round,ho={top:"auto",right:"auto",bottom:"auto",left:"auto"};function po(e){var t,n=e.popper,o=e.popperRect,r=e.placement,i=e.offsets,a=e.position,s=e.gpuAcceleration,u=e.adaptive,c=e.roundOffsets,l=!0===c?function(e){var t=e.x,n=e.y,o=window.devicePixelRatio||1;return{x:lo(lo(t*o)/o)||0,y:lo(lo(n*o)/o)||0}}(i):"function"==typeof c?c(i):i,d=l.x,h=void 0===d?0:d,p=l.y,f=void 0===p?0:p,g=i.hasOwnProperty("x"),m=i.hasOwnProperty("y"),_=qn,F=Pn,y=window;if(u){var b=Ln(n),v="clientHeight",w="clientWidth";b===bn(n)&&"static"!==Cn(b=Sn(n)).position&&(v="scrollHeight",w="scrollWidth"),b=b,r===Pn&&(F=Un,f-=b[v]-o.height,f*=s?1:-1),r===qn&&(_=jn,h-=b[w]-o.width,h*=s?1:-1)}var E,k=Object.assign({position:a},u&&ho);return s?Object.assign({},k,((E={})[F]=m?"0":"",E[_]=g?"0":"",E.transform=(y.devicePixelRatio||1)<2?"translate("+h+"px, "+f+"px)":"translate3d("+h+"px, "+f+"px, 0)",E)):Object.assign({},k,((t={})[F]=m?f+"px":"",t[_]=g?h+"px":"",t.transform="",t))}const fo={name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var n=t.styles[e]||{},o=t.attributes[e]||{},r=t.elements[e];En(r)&&Dn(r)&&(Object.assign(r.style,n),Object.keys(o).forEach((function(e){var t=o[e];!1===t?r.removeAttribute(e):r.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach((function(e){var o=t.elements[e],r=t.attributes[e]||{},i=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce((function(e,t){return e[t]="",e}),{});En(o)&&Dn(o)&&(Object.assign(o.style,i),Object.keys(r).forEach((function(e){o.removeAttribute(e)})))}))}},requires:["computeStyles"]};var go={left:"right",right:"left",bottom:"top",top:"bottom"};function mo(e){return e.replace(/left|right|bottom|top/g,(function(e){return go[e]}))}var _o={start:"end",end:"start"};function Fo(e){return e.replace(/start|end/g,(function(e){return _o[e]}))}function yo(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&kn(n)){var o=t;do{if(o&&e.isSameNode(o))return!0;o=o.parentNode||o.host}while(o)}return!1}function bo(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function vo(e,t){return t===Hn?bo(function(e){var t=bn(e),n=Sn(e),o=t.visualViewport,r=n.clientWidth,i=n.clientHeight,a=0,s=0;return o&&(r=o.width,i=o.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(a=o.offsetLeft,s=o.offsetTop)),{width:r,height:i,x:a+xn(e),y:s}}(e)):En(t)?function(e){var t=yn(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}(t):bo(function(e){var t,n=Sn(e),o=vn(e),r=null==(t=e.ownerDocument)?void 0:t.body,i=uo(n.scrollWidth,n.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),a=uo(n.scrollHeight,n.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),s=-o.scrollLeft+xn(e),u=-o.scrollTop;return"rtl"===Cn(r||n).direction&&(s+=uo(n.clientWidth,r?r.clientWidth:0)-i),{width:i,height:a,x:s,y:u}}(Sn(e)))}function wo(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function Eo(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}function ko(e,t){void 0===t&&(t={});var n=t,o=n.placement,r=void 0===o?e.placement:o,i=n.boundary,a=void 0===i?"clippingParents":i,s=n.rootBoundary,u=void 0===s?Hn:s,c=n.elementContext,l=void 0===c?Vn:c,d=n.altBoundary,h=void 0!==d&&d,p=n.padding,f=void 0===p?0:p,g=wo("number"!=typeof f?f:Eo(f,Kn)),m=l===Vn?"reference":Vn,_=e.elements.reference,F=e.rects.popper,y=e.elements[h?m:l],b=function(e,t,n){var o="clippingParents"===t?function(e){var t=On(In(e)),n=["absolute","fixed"].indexOf(Cn(e).position)>=0&&En(e)?Ln(e):e;return wn(n)?t.filter((function(e){return wn(e)&&yo(e,n)&&"body"!==Dn(e)})):[]}(e):[].concat(t),r=[].concat(o,[n]),i=r[0],a=r.reduce((function(t,n){var o=vo(e,n);return t.top=uo(o.top,t.top),t.right=co(o.right,t.right),t.bottom=co(o.bottom,t.bottom),t.left=uo(o.left,t.left),t}),vo(e,i));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(wn(y)?y:y.contextElement||Sn(e.elements.popper),a,u),v=yn(_),w=ao({reference:v,element:F,strategy:"absolute",placement:r}),E=bo(Object.assign({},F,w)),k=l===Vn?E:v,D={top:b.top-k.top+g.top,bottom:k.bottom-b.bottom+g.bottom,left:b.left-k.left+g.left,right:k.right-b.right+g.right},S=e.modifiersData.offset;if(l===Vn&&S){var x=S[r];Object.keys(D).forEach((function(e){var t=[jn,Un].indexOf(e)>=0?1:-1,n=[Pn,Un].indexOf(e)>=0?"y":"x";D[e]+=x[n]*t}))}return D}function Do(e,t,n){return uo(e,co(t,n))}function So(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function xo(e){return[Pn,jn,Un,qn].some((function(t){return e[t]>=0}))}var Co=eo({defaultModifiers:[no,so,{name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,n=e.options,o=n.gpuAcceleration,r=void 0===o||o,i=n.adaptive,a=void 0===i||i,s=n.roundOffsets,u=void 0===s||s,c={placement:oo(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:r};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,po(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:u})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,po(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:u})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}},fo,{name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,n=e.options,o=e.name,r=n.offset,i=void 0===r?[0,0]:r,a=Yn.reduce((function(e,n){return e[n]=function(e,t,n){var o=oo(e),r=[qn,Pn].indexOf(o)>=0?-1:1,i="function"==typeof n?n(Object.assign({},t,{placement:e})):n,a=i[0],s=i[1];return a=a||0,s=(s||0)*r,[qn,jn].indexOf(o)>=0?{x:s,y:a}:{x:a,y:s}}(n,t.rects,i),e}),{}),s=a[t.placement],u=s.x,c=s.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=u,t.modifiersData.popperOffsets.y+=c),t.modifiersData[o]=a}},{name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,o=e.name;if(!t.modifiersData[o]._skip){for(var r=n.mainAxis,i=void 0===r||r,a=n.altAxis,s=void 0===a||a,u=n.fallbackPlacements,c=n.padding,l=n.boundary,d=n.rootBoundary,h=n.altBoundary,p=n.flipVariations,f=void 0===p||p,g=n.allowedAutoPlacements,m=t.options.placement,_=oo(m),F=u||(_!==m&&f?function(e){if(oo(e)===zn)return[];var t=mo(e);return[Fo(e),t,Fo(t)]}(m):[mo(m)]),y=[m].concat(F).reduce((function(e,n){return e.concat(oo(n)===zn?function(e,t){void 0===t&&(t={});var n=t,o=n.placement,r=n.boundary,i=n.rootBoundary,a=n.padding,s=n.flipVariations,u=n.allowedAutoPlacements,c=void 0===u?Yn:u,l=ro(o),d=l?s?Wn:Wn.filter((function(e){return ro(e)===l})):Kn,h=d.filter((function(e){return c.indexOf(e)>=0}));0===h.length&&(h=d);var p=h.reduce((function(t,n){return t[n]=ko(e,{placement:n,boundary:r,rootBoundary:i,padding:a})[oo(n)],t}),{});return Object.keys(p).sort((function(e,t){return p[e]-p[t]}))}(t,{placement:n,boundary:l,rootBoundary:d,padding:c,flipVariations:f,allowedAutoPlacements:g}):n)}),[]),b=t.rects.reference,v=t.rects.popper,w=new Map,E=!0,k=y[0],D=0;D=0,T=A?"width":"height",R=ko(t,{placement:S,boundary:l,rootBoundary:d,altBoundary:h,padding:c}),I=A?C?jn:qn:C?Un:Pn;b[T]>v[T]&&(I=mo(I));var M=mo(I),O=[];if(i&&O.push(R[x]<=0),s&&O.push(R[I]<=0,R[M]<=0),O.every((function(e){return e}))){k=S,E=!1;break}w.set(S,O)}if(E)for(var B=function(e){var t=y.find((function(t){var n=w.get(t);if(n)return n.slice(0,e).every((function(e){return e}))}));if(t)return k=t,"break"},N=f?3:1;N>0&&"break"!==B(N);N--);t.placement!==k&&(t.modifiersData[o]._skip=!0,t.placement=k,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}},{name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,o=e.name,r=n.mainAxis,i=void 0===r||r,a=n.altAxis,s=void 0!==a&&a,u=n.boundary,c=n.rootBoundary,l=n.altBoundary,d=n.padding,h=n.tether,p=void 0===h||h,f=n.tetherOffset,g=void 0===f?0:f,m=ko(t,{boundary:u,rootBoundary:c,padding:d,altBoundary:l}),_=oo(t.placement),F=ro(t.placement),y=!F,b=io(_),v="x"===b?"y":"x",w=t.modifiersData.popperOffsets,E=t.rects.reference,k=t.rects.popper,D="function"==typeof g?g(Object.assign({},t.rects,{placement:t.placement})):g,S={x:0,y:0};if(w){if(i||s){var x="y"===b?Pn:qn,C="y"===b?Un:jn,A="y"===b?"height":"width",T=w[b],R=w[b]+m[x],I=w[b]-m[C],M=p?-k[A]/2:0,O=F===Gn?E[A]:k[A],B=F===Gn?-k[A]:-E[A],N=t.elements.arrow,L=p&&N?Rn(N):{width:0,height:0},P=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},U=P[x],j=P[C],q=Do(0,E[A],L[A]),z=y?E[A]/2-M-q-U-D:O-q-U-D,K=y?-E[A]/2+M+q+j+D:B+q+j+D,G=t.elements.arrow&&Ln(t.elements.arrow),$=G?"y"===b?G.clientTop||0:G.clientLeft||0:0,H=t.modifiersData.offset?t.modifiersData.offset[t.placement][b]:0,V=w[b]+z-H-$,W=w[b]+K-H;if(i){var Y=Do(p?co(R,V):R,T,p?uo(I,W):I);w[b]=Y,S[b]=Y-T}if(s){var Z="x"===b?Pn:qn,X="x"===b?Un:jn,J=w[v],Q=J+m[Z],ee=J-m[X],te=Do(p?co(Q,V):Q,J,p?uo(ee,W):ee);w[v]=te,S[v]=te-J}}t.modifiersData[o]=S}},requiresIfExists:["offset"]},{name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state,o=e.name,r=e.options,i=n.elements.arrow,a=n.modifiersData.popperOffsets,s=oo(n.placement),u=io(s),c=[qn,jn].indexOf(s)>=0?"height":"width";if(i&&a){var l=function(e,t){return wo("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:Eo(e,Kn))}(r.padding,n),d=Rn(i),h="y"===u?Pn:qn,p="y"===u?Un:jn,f=n.rects.reference[c]+n.rects.reference[u]-a[u]-n.rects.popper[c],g=a[u]-n.rects.reference[u],m=Ln(i),_=m?"y"===u?m.clientHeight||0:m.clientWidth||0:0,F=f/2-g/2,y=l[h],b=_-d[c]-l[p],v=_/2-d[c]/2+F,w=Do(y,v,b),E=u;n.modifiersData[o]=((t={})[E]=w,t.centerOffset=w-v,t)}},effect:function(e){var t=e.state,n=e.options.element,o=void 0===n?"[data-popper-arrow]":n;null!=o&&("string"!=typeof o||(o=t.elements.popper.querySelector(o)))&&yo(t.elements.popper,o)&&(t.elements.arrow=o)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]},{name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,n=e.name,o=t.rects.reference,r=t.rects.popper,i=t.modifiersData.preventOverflow,a=ko(t,{elementContext:"reference"}),s=ko(t,{altBoundary:!0}),u=So(a,o),c=So(s,r,i),l=xo(u),d=xo(c);t.modifiersData[n]={referenceClippingOffsets:u,popperEscapeOffsets:c,isReferenceHidden:l,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":l,"data-popper-escaped":d})}}]}),Ao="tippy-content",To="tippy-arrow",Ro="tippy-svg-arrow",Io={passive:!0,capture:!0};function Mo(e,t,n){if(Array.isArray(e)){var o=e[t];return null==o?Array.isArray(n)?n[t]:n:o}return e}function Oo(e,t){var n={}.toString.call(e);return 0===n.indexOf("[object")&&n.indexOf(t+"]")>-1}function Bo(e,t){return"function"==typeof e?e.apply(void 0,t):e}function No(e,t){return 0===t?e:function(o){clearTimeout(n),n=setTimeout((function(){e(o)}),t)};var n}function Lo(e){return[].concat(e)}function Po(e,t){-1===e.indexOf(t)&&e.push(t)}function Uo(e){return[].slice.call(e)}function jo(){return document.createElement("div")}function qo(e){return["Element","Fragment"].some((function(t){return Oo(e,t)}))}function zo(e,t){e.forEach((function(e){e&&(e.style.transitionDuration=t+"ms")}))}function Ko(e,t){e.forEach((function(e){e&&e.setAttribute("data-state",t)}))}function Go(e,t,n){var o=t+"EventListener";["transitionend","webkitTransitionEnd"].forEach((function(t){e[o](t,n)}))}var $o={isTouch:!1},Ho=0;function Vo(){$o.isTouch||($o.isTouch=!0,window.performance&&document.addEventListener("mousemove",Wo))}function Wo(){var e=performance.now();e-Ho<20&&($o.isTouch=!1,document.removeEventListener("mousemove",Wo)),Ho=e}function Yo(){var e,t=document.activeElement;if((e=t)&&e._tippy&&e._tippy.reference===e){var n=t._tippy;t.blur&&!n.state.isVisible&&t.blur()}}var Zo="undefined"!=typeof window&&"undefined"!=typeof document?navigator.userAgent:"",Xo=/MSIE |Trident\//.test(Zo),Jo=Object.assign({appendTo:function(){return document.body},aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},{animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},{},{allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999}),Qo=Object.keys(Jo);function er(e){var t=(e.plugins||[]).reduce((function(t,n){var o=n.name,r=n.defaultValue;return o&&(t[o]=void 0!==e[o]?e[o]:r),t}),{});return Object.assign({},e,{},t)}function tr(e,t){var n=Object.assign({},t,{content:Bo(t.content,[e])},t.ignoreAttributes?{}:function(e,t){return(t?Object.keys(er(Object.assign({},Jo,{plugins:t}))):Qo).reduce((function(t,n){var o=(e.getAttribute("data-tippy-"+n)||"").trim();if(!o)return t;if("content"===n)t[n]=o;else try{t[n]=JSON.parse(o)}catch(e){t[n]=o}return t}),{})}(e,t.plugins));return n.aria=Object.assign({},Jo.aria,{},n.aria),n.aria={expanded:"auto"===n.aria.expanded?t.interactive:n.aria.expanded,content:"auto"===n.aria.content?t.interactive?null:"describedby":n.aria.content},n}function nr(e,t){e.innerHTML=t}function or(e){var t=jo();return!0===e?t.className=To:(t.className=Ro,qo(e)?t.appendChild(e):nr(t,e)),t}function rr(e,t){qo(t.content)?(nr(e,""),e.appendChild(t.content)):"function"!=typeof t.content&&(t.allowHTML?nr(e,t.content):e.textContent=t.content)}function ir(e){var t=e.firstElementChild,n=Uo(t.children);return{box:t,content:n.find((function(e){return e.classList.contains(Ao)})),arrow:n.find((function(e){return e.classList.contains(To)||e.classList.contains(Ro)})),backdrop:n.find((function(e){return e.classList.contains("tippy-backdrop")}))}}function ar(e){var t=jo(),n=jo();n.className="tippy-box",n.setAttribute("data-state","hidden"),n.setAttribute("tabindex","-1");var o=jo();function r(n,o){var r=ir(t),i=r.box,a=r.content,s=r.arrow;o.theme?i.setAttribute("data-theme",o.theme):i.removeAttribute("data-theme"),"string"==typeof o.animation?i.setAttribute("data-animation",o.animation):i.removeAttribute("data-animation"),o.inertia?i.setAttribute("data-inertia",""):i.removeAttribute("data-inertia"),i.style.maxWidth="number"==typeof o.maxWidth?o.maxWidth+"px":o.maxWidth,o.role?i.setAttribute("role",o.role):i.removeAttribute("role"),n.content===o.content&&n.allowHTML===o.allowHTML||rr(a,e.props),o.arrow?s?n.arrow!==o.arrow&&(i.removeChild(s),i.appendChild(or(o.arrow))):i.appendChild(or(o.arrow)):s&&i.removeChild(s)}return o.className=Ao,o.setAttribute("data-state","hidden"),rr(o,e.props),t.appendChild(n),n.appendChild(o),r(e.props,e.props),{popper:t,onUpdate:r}}ar.$$tippy=!0;var sr=1,ur=[],cr=[];function lr(e,t){var n,o,r,i,a,s,u,c,l,d=tr(e,Object.assign({},Jo,{},er((n=t,Object.keys(n).reduce((function(e,t){return void 0!==n[t]&&(e[t]=n[t]),e}),{}))))),h=!1,p=!1,f=!1,g=!1,m=[],_=No(W,d.interactiveDebounce),F=sr++,y=(l=d.plugins).filter((function(e,t){return l.indexOf(e)===t})),b={id:F,reference:e,popper:jo(),popperInstance:null,props:d,state:{isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},plugins:y,clearDelayTimeouts:function(){clearTimeout(o),clearTimeout(r),cancelAnimationFrame(i)},setProps:function(t){if(!b.state.isDestroyed){O("onBeforeUpdate",[b,t]),H();var n=b.props,o=tr(e,Object.assign({},b.props,{},t,{ignoreAttributes:!0}));b.props=o,$(),n.interactiveDebounce!==o.interactiveDebounce&&(L(),_=No(W,o.interactiveDebounce)),n.triggerTarget&&!o.triggerTarget?Lo(n.triggerTarget).forEach((function(e){e.removeAttribute("aria-expanded")})):o.triggerTarget&&e.removeAttribute("aria-expanded"),N(),M(),E&&E(n,o),b.popperInstance&&(J(),ee().forEach((function(e){requestAnimationFrame(e._tippy.popperInstance.forceUpdate)}))),O("onAfterUpdate",[b,t])}},setContent:function(e){b.setProps({content:e})},show:function(){var e=b.state.isVisible,t=b.state.isDestroyed,n=!b.state.isEnabled,o=$o.isTouch&&!b.props.touch,r=Mo(b.props.duration,0,Jo.duration);if(!(e||t||n||o||A().hasAttribute("disabled")||(O("onShow",[b],!1),!1===b.props.onShow(b)))){if(b.state.isVisible=!0,C()&&(w.style.visibility="visible"),M(),q(),b.state.isMounted||(w.style.transition="none"),C()){var i=R();zo([i.box,i.content],0)}var a,s,c;u=function(){var e;if(b.state.isVisible&&!g){if(g=!0,w.offsetHeight,w.style.transition=b.props.moveTransition,C()&&b.props.animation){var t=R(),n=t.box,o=t.content;zo([n,o],r),Ko([n,o],"visible")}B(),N(),Po(cr,b),null==(e=b.popperInstance)||e.forceUpdate(),b.state.isMounted=!0,O("onMount",[b]),b.props.animation&&C()&&function(e,t){K(e,(function(){b.state.isShown=!0,O("onShown",[b])}))}(r)}},s=b.props.appendTo,c=A(),(a=b.props.interactive&&s===Jo.appendTo||"parent"===s?c.parentNode:Bo(s,[c])).contains(w)||a.appendChild(w),J()}},hide:function(){var e=!b.state.isVisible,t=b.state.isDestroyed,n=!b.state.isEnabled,o=Mo(b.props.duration,1,Jo.duration);if(!(e||t||n)&&(O("onHide",[b],!1),!1!==b.props.onHide(b))){if(b.state.isVisible=!1,b.state.isShown=!1,g=!1,h=!1,C()&&(w.style.visibility="hidden"),L(),z(),M(),C()){var r=R(),i=r.box,a=r.content;b.props.animation&&(zo([i,a],o),Ko([i,a],"hidden"))}B(),N(),b.props.animation?C()&&function(e,t){K(e,(function(){!b.state.isVisible&&w.parentNode&&w.parentNode.contains(w)&&t()}))}(o,b.unmount):b.unmount()}},hideWithInteractivity:function(e){T().addEventListener("mousemove",_),Po(ur,_),_(e)},enable:function(){b.state.isEnabled=!0},disable:function(){b.hide(),b.state.isEnabled=!1},unmount:function(){b.state.isVisible&&b.hide(),b.state.isMounted&&(Q(),ee().forEach((function(e){e._tippy.unmount()})),w.parentNode&&w.parentNode.removeChild(w),cr=cr.filter((function(e){return e!==b})),b.state.isMounted=!1,O("onHidden",[b]))},destroy:function(){b.state.isDestroyed||(b.clearDelayTimeouts(),b.unmount(),H(),delete e._tippy,b.state.isDestroyed=!0,O("onDestroy",[b]))}};if(!d.render)return b;var v=d.render(b),w=v.popper,E=v.onUpdate;w.setAttribute("data-tippy-root",""),w.id="tippy-"+b.id,b.popper=w,e._tippy=b,w._tippy=b;var k=y.map((function(e){return e.fn(b)})),D=e.hasAttribute("aria-expanded");return $(),N(),M(),O("onCreate",[b]),d.showOnCreate&&te(),w.addEventListener("mouseenter",(function(){b.props.interactive&&b.state.isVisible&&b.clearDelayTimeouts()})),w.addEventListener("mouseleave",(function(e){b.props.interactive&&b.props.trigger.indexOf("mouseenter")>=0&&(T().addEventListener("mousemove",_),_(e))})),b;function S(){var e=b.props.touch;return Array.isArray(e)?e:[e,0]}function x(){return"hold"===S()[0]}function C(){var e;return!!(null==(e=b.props.render)?void 0:e.$$tippy)}function A(){return c||e}function T(){var e,t,n=A().parentNode;return n?(null==(t=Lo(n)[0])||null==(e=t.ownerDocument)?void 0:e.body)?t.ownerDocument:document:document}function R(){return ir(w)}function I(e){return b.state.isMounted&&!b.state.isVisible||$o.isTouch||a&&"focus"===a.type?0:Mo(b.props.delay,e?0:1,Jo.delay)}function M(){w.style.pointerEvents=b.props.interactive&&b.state.isVisible?"":"none",w.style.zIndex=""+b.props.zIndex}function O(e,t,n){var o;void 0===n&&(n=!0),k.forEach((function(n){n[e]&&n[e].apply(void 0,t)})),n&&(o=b.props)[e].apply(o,t)}function B(){var t=b.props.aria;if(t.content){var n="aria-"+t.content,o=w.id;Lo(b.props.triggerTarget||e).forEach((function(e){var t=e.getAttribute(n);if(b.state.isVisible)e.setAttribute(n,t?t+" "+o:o);else{var r=t&&t.replace(o,"").trim();r?e.setAttribute(n,r):e.removeAttribute(n)}}))}}function N(){!D&&b.props.aria.expanded&&Lo(b.props.triggerTarget||e).forEach((function(e){b.props.interactive?e.setAttribute("aria-expanded",b.state.isVisible&&e===A()?"true":"false"):e.removeAttribute("aria-expanded")}))}function L(){T().removeEventListener("mousemove",_),ur=ur.filter((function(e){return e!==_}))}function P(e){if(!($o.isTouch&&(f||"mousedown"===e.type)||b.props.interactive&&w.contains(e.target))){if(A().contains(e.target)){if($o.isTouch)return;if(b.state.isVisible&&b.props.trigger.indexOf("click")>=0)return}else O("onClickOutside",[b,e]);!0===b.props.hideOnClick&&(b.clearDelayTimeouts(),b.hide(),p=!0,setTimeout((function(){p=!1})),b.state.isMounted||z())}}function U(){f=!0}function j(){f=!1}function q(){var e=T();e.addEventListener("mousedown",P,!0),e.addEventListener("touchend",P,Io),e.addEventListener("touchstart",j,Io),e.addEventListener("touchmove",U,Io)}function z(){var e=T();e.removeEventListener("mousedown",P,!0),e.removeEventListener("touchend",P,Io),e.removeEventListener("touchstart",j,Io),e.removeEventListener("touchmove",U,Io)}function K(e,t){var n=R().box;function o(e){e.target===n&&(Go(n,"remove",o),t())}if(0===e)return t();Go(n,"remove",s),Go(n,"add",o),s=o}function G(t,n,o){void 0===o&&(o=!1),Lo(b.props.triggerTarget||e).forEach((function(e){e.addEventListener(t,n,o),m.push({node:e,eventType:t,handler:n,options:o})}))}function $(){var e;x()&&(G("touchstart",V,{passive:!0}),G("touchend",Y,{passive:!0})),(e=b.props.trigger,e.split(/\s+/).filter(Boolean)).forEach((function(e){if("manual"!==e)switch(G(e,V),e){case"mouseenter":G("mouseleave",Y);break;case"focus":G(Xo?"focusout":"blur",Z);break;case"focusin":G("focusout",Z)}}))}function H(){m.forEach((function(e){var t=e.node,n=e.eventType,o=e.handler,r=e.options;t.removeEventListener(n,o,r)})),m=[]}function V(e){var t,n=!1;if(b.state.isEnabled&&!X(e)&&!p){var o="focus"===(null==(t=a)?void 0:t.type);a=e,c=e.currentTarget,N(),!b.state.isVisible&&Oo(e,"MouseEvent")&&ur.forEach((function(t){return t(e)})),"click"===e.type&&(b.props.trigger.indexOf("mouseenter")<0||h)&&!1!==b.props.hideOnClick&&b.state.isVisible?n=!0:te(e),"click"===e.type&&(h=!n),n&&!o&&ne(e)}}function W(e){var t=e.target,n=A().contains(t)||w.contains(t);"mousemove"===e.type&&n||function(e,t){var n=t.clientX,o=t.clientY;return e.every((function(e){var t=e.popperRect,r=e.popperState,i=e.props.interactiveBorder,a=r.placement.split("-")[0],s=r.modifiersData.offset;if(!s)return!0;var u="bottom"===a?s.top.y:0,c="top"===a?s.bottom.y:0,l="right"===a?s.left.x:0,d="left"===a?s.right.x:0,h=t.top-o+u>i,p=o-t.bottom-c>i,f=t.left-n+l>i,g=n-t.right-d>i;return h||p||f||g}))}(ee().concat(w).map((function(e){var t,n=null==(t=e._tippy.popperInstance)?void 0:t.state;return n?{popperRect:e.getBoundingClientRect(),popperState:n,props:d}:null})).filter(Boolean),e)&&(L(),ne(e))}function Y(e){X(e)||b.props.trigger.indexOf("click")>=0&&h||(b.props.interactive?b.hideWithInteractivity(e):ne(e))}function Z(e){b.props.trigger.indexOf("focusin")<0&&e.target!==A()||b.props.interactive&&e.relatedTarget&&w.contains(e.relatedTarget)||ne(e)}function X(e){return!!$o.isTouch&&x()!==e.type.indexOf("touch")>=0}function J(){Q();var t=b.props,n=t.popperOptions,o=t.placement,r=t.offset,i=t.getReferenceClientRect,a=t.moveTransition,s=C()?ir(w).arrow:null,c=i?{getBoundingClientRect:i,contextElement:i.contextElement||A()}:e,l=[{name:"offset",options:{offset:r}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!a}},{name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(e){var t=e.state;if(C()){var n=R().box;["placement","reference-hidden","escaped"].forEach((function(e){"placement"===e?n.setAttribute("data-placement",t.placement):t.attributes.popper["data-popper-"+e]?n.setAttribute("data-"+e,""):n.removeAttribute("data-"+e)})),t.attributes.popper={}}}}];C()&&s&&l.push({name:"arrow",options:{element:s,padding:3}}),l.push.apply(l,(null==n?void 0:n.modifiers)||[]),b.popperInstance=Co(c,w,Object.assign({},n,{placement:o,onFirstUpdate:u,modifiers:l}))}function Q(){b.popperInstance&&(b.popperInstance.destroy(),b.popperInstance=null)}function ee(){return Uo(w.querySelectorAll("[data-tippy-root]"))}function te(e){b.clearDelayTimeouts(),e&&O("onTrigger",[b,e]),q();var t=I(!0),n=S(),r=n[0],i=n[1];$o.isTouch&&"hold"===r&&i&&(t=i),t?o=setTimeout((function(){b.show()}),t):b.show()}function ne(e){if(b.clearDelayTimeouts(),O("onUntrigger",[b,e]),b.state.isVisible){if(!(b.props.trigger.indexOf("mouseenter")>=0&&b.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(e.type)>=0&&h)){var t=I(!1);t?r=setTimeout((function(){b.state.isVisible&&b.hide()}),t):i=requestAnimationFrame((function(){b.hide()}))}}else z()}}function dr(e,t){void 0===t&&(t={});var n=Jo.plugins.concat(t.plugins||[]);document.addEventListener("touchstart",Vo,Io),window.addEventListener("blur",Yo);var o,r=Object.assign({},t,{plugins:n}),i=(o=e,qo(o)?[o]:function(e){return Oo(e,"NodeList")}(o)?Uo(o):Array.isArray(o)?o:Uo(document.querySelectorAll(o))).reduce((function(e,t){var n=t&&lr(t,r);return n&&e.push(n),e}),[]);return qo(e)?i[0]:i}dr.defaultProps=Jo,dr.setDefaultProps=function(e){Object.keys(e).forEach((function(t){Jo[t]=e[t]}))},dr.currentInput=$o,Object.assign({},fo,{effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow)}}),dr.setDefaultProps({render:ar});const hr=dr;function pr(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var fr="undefined"!=typeof window&&"undefined"!=typeof document;function gr(e,t){e&&("function"==typeof e&&e(t),{}.hasOwnProperty.call(e,"current")&&(e.current=t))}function mr(){return fr&&document.createElement("div")}function _r(e,t){if(e===t)return!0;if("object"==typeof e&&null!=e&&"object"==typeof t&&null!=t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e){if(!t.hasOwnProperty(n))return!1;if(!_r(e[n],t[n]))return!1}return!0}return!1}function Fr(e){var t=[];return e.forEach((function(e){t.find((function(t){return _r(e,t)}))||t.push(e)})),t}var yr=fr?o.useLayoutEffect:o.useEffect;function br(e,t,n){n.split(/\s+/).forEach((function(n){n&&e.classList[t](n)}))}var vr={name:"className",defaultValue:"",fn:function(e){var t=e.popper.firstElementChild,n=function(){var t;return!!(null==(t=e.props.render)?void 0:t.$$tippy)};function o(){e.props.className&&!n()||br(t,"add",e.props.className)}return{onCreate:o,onBeforeUpdate:function(){n()&&br(t,"remove",e.props.className)},onAfterUpdate:o}}};function wr(e){return function(t){var n,i,a=t.children,s=t.content,u=t.visible,c=t.singleton,l=t.render,d=t.reference,h=t.disabled,p=void 0!==h&&h,f=t.ignoreAttributes,g=void 0===f||f,m=(t.__source,t.__self,pr(t,["children","content","visible","singleton","render","reference","disabled","ignoreAttributes","__source","__self"])),_=void 0!==u,F=void 0!==c,y=(0,o.useState)(!1),b=y[0],v=y[1],w=(0,o.useState)({}),E=w[0],k=w[1],D=(0,o.useState)(),S=D[0],x=D[1],C=(n=function(){return{container:mr(),renders:1}},(i=(0,o.useRef)()).current||(i.current="function"==typeof n?n():n),i.current),A=Object.assign({ignoreAttributes:g},m,{content:C.container});_&&(A.trigger="manual",A.hideOnClick=!1),F&&(p=!0);var T=A,R=A.plugins||[];l&&(T=Object.assign({},A,{plugins:F?[].concat(R,[{fn:function(){return{onTrigger:function(e,t){var n=c.data.children.find((function(e){return e.instance.reference===t.currentTarget})).content;x(n)}}}}]):R,render:function(){return{popper:C.container}}}));var I=[d].concat(a?[a.type]:[]);return yr((function(){var t=d;d&&d.hasOwnProperty("current")&&(t=d.current);var n=e(t||C.ref||mr(),Object.assign({},T,{plugins:[vr].concat(A.plugins||[])}));return C.instance=n,p&&n.disable(),u&&n.show(),F&&c.hook({instance:n,content:s,props:T}),v(!0),function(){n.destroy(),null==c||c.cleanup(n)}}),I),yr((function(){var e,t,n,o,r;if(1!==C.renders){var i=C.instance;i.setProps((t=i.props,n=T,Object.assign({},n,{popperOptions:Object.assign({},t.popperOptions,n.popperOptions,{modifiers:Fr([].concat((null==(o=t.popperOptions)?void 0:o.modifiers)||[],(null==(r=n.popperOptions)?void 0:r.modifiers)||[]))})}))),null==(e=i.popperInstance)||e.forceUpdate(),p?i.disable():i.enable(),_&&(u?i.show():i.hide()),F&&c.hook({instance:i,content:s,props:T})}else C.renders++})),yr((function(){var e;if(l){var t=C.instance;t.setProps({popperOptions:Object.assign({},t.props.popperOptions,{modifiers:[].concat(((null==(e=t.props.popperOptions)?void 0:e.modifiers)||[]).filter((function(e){return"$$tippyReact"!==e.name})),[{name:"$$tippyReact",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(e){var t,n=e.state,o=null==(t=n.modifiersData)?void 0:t.hide;E.placement===n.placement&&E.referenceHidden===(null==o?void 0:o.isReferenceHidden)&&E.escaped===(null==o?void 0:o.hasPopperEscaped)||k({placement:n.placement,referenceHidden:null==o?void 0:o.isReferenceHidden,escaped:null==o?void 0:o.hasPopperEscaped}),n.attributes.popper={}}}])})})}}),[E.placement,E.referenceHidden,E.escaped].concat(I)),o.createElement(o.Fragment,null,a?(0,o.cloneElement)(a,{ref:function(e){C.ref=e,gr(a.ref,e)}}):null,b&&(0,r.createPortal)(l?l(function(e){var t={"data-placement":e.placement};return e.referenceHidden&&(t["data-reference-hidden"]=""),e.escaped&&(t["data-escaped"]=""),t}(E),S,C.instance):s,C.container))}}const Er=function(e,t){return(0,o.forwardRef)((function(n,r){var i=n.children,a=pr(n,["children"]);return o.createElement(e,Object.assign({},t,a),i?(0,o.cloneElement)(i,{ref:function(e){gr(r,e),gr(i.ref,e)}}):null)}))}(wr(hr));function kr(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);ne.length)&&(t=e.length);for(var n=0,o=new Array(t);ne.length)&&(t=e.length);for(var n=0,o=new Array(t);ne.length)&&(t=e.length);for(var n=0,o=new Array(t);no.toLowerCase()?1:0}function ci(e){var t=e.tabId;return o.createElement(Hr,null,o.createElement(Vr,null,o.createElement(vt,{variant:"s1"},"channels"===t?"Home":"Direct messages")),"dm"===t?o.createElement(Yr,{onClick:function(){return pn()},tooltip:"Start DM",src:Jr,size:"normal"}):o.createElement(Ir,{content:function(e){return o.createElement(o.Fragment,null,o.createElement(Mr,null,"Add channel"),o.createElement(Or,{iconSrc:ti,onClick:function(){e(),ke.dispatch({type:se.actions.navigation.OPEN_CREATE_CHANNEL})}},"Create new channel"),o.createElement(Or,{iconSrc:Pr,onClick:function(){e(),hn()}},"Add Public channel"))},render:function(e){return o.createElement(Yr,{onClick:e,tooltip:"Add channel",src:Jr,size:"normal"})}}))}function li(){return o.createElement("div",{className:"breadcrumb__wrapper"},o.createElement(Fn,{horizontal:!0,vertical:!1},o.createElement("div",null)))}function di(e,t,n,r){var i,a=Qe.matrixClient,s=null===(i=e.getAvatarFallbackMember())||void 0===i?void 0:i.getAvatarUrl(a.baseUrl,24,24,"crop");return void 0===s&&(s=null),o.createElement(Xr,{key:t,iconSrc:r?null:e.isSpaceRoom()?"invite"===e.getJoinRule()?oi:ni:"invite"===e.getJoinRule()?ei:Qr,imageSrc:r?s:null,roomId:t,unread:ut(e),onClick:function(){return ln(t)},notificationCount:e.getUnreadNotificationCount("total"),alert:0!==e.getUnreadNotificationCount("highlight"),selected:n},e.name)}function hi(e){var t=e.selectedRoomId,n=Qe.matrixClient;return ii(Qe.roomList.directs).sort(ui).map((function(e){return di(n.getRoom(e),e,t===e,!0)}))}function pi(e){var t=e.selectedRoomId,n=Qe.matrixClient,r=ii(Qe.roomList.spaces).sort(ui),i=ii(Qe.roomList.rooms).sort(ui);return o.createElement(o.Fragment,null,0!==r.length&&o.createElement(vt,{className:"cat-header",variant:"b3"},"Spaces"),r.map((function(e){return di(n.getRoom(e),e,t===e,!1)})),0!==i.length&&o.createElement(vt,{className:"cat-header",variant:"b3"},"Channels"),i.map((function(e){return di(n.getRoom(e),e,t===e,!1)})))}function fi(e){var t=e.tabId,n=ri((0,o.useState)(null),2),r=n[0],i=n[1],a=ri((0,o.useState)(),2)[1],s=function(e){return i(e)},u=function(){return a({})},c=function(){var e=Qe.roomList,t=e.spaces,n=e.rooms,o=e.directs;t.has(r)||n.has(r)||o.has(r)||ln(null)};return(0,o.useEffect)((function(){return cn.on(se.events.navigation.ROOM_SELECTED,s),Qe.roomList.on(se.events.roomList.ROOMLIST_UPDATED,u),function(){cn.removeListener(se.events.navigation.ROOM_SELECTED,s),Qe.roomList.removeListener(se.events.roomList.ROOMLIST_UPDATED,u)}}),[]),(0,o.useEffect)((function(){return Qe.roomList.on(se.events.roomList.ROOMLIST_UPDATED,c),function(){Qe.roomList.removeListener(se.events.roomList.ROOMLIST_UPDATED,c)}}),[r]),o.createElement("div",{className:"channels-container"},"channels"===t?o.createElement(pi,{selectedRoomId:r}):o.createElement(hi,{selectedRoomId:r}))}function gi(e){var t=e.tabId;return o.createElement("div",{className:"drawer"},o.createElement(ci,{tabId:t}),o.createElement("div",{className:"drawer__content-wrapper"},o.createElement(li,null),o.createElement("div",{className:"channels__wrapper"},o.createElement(Fn,{autoHide:!0},o.createElement(fi,{tabId:t})))))}ci.propTypes={tabId:l().string.isRequired},hi.defaultProps={selectedRoomId:null},hi.propTypes={selectedRoomId:l().string},pi.defaultProps={selectedRoomId:null},pi.propTypes={selectedRoomId:l().string},fi.propTypes={tabId:l().string.isRequired},gi.propTypes={tabId:l().string.isRequired};const mi=gi;function _i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);ne.length)&&(t=e.length);for(var n=0,o=new Array(t);n0&&(t.ongoingDecryptionCount-=1),t.timeline=t.room.timeline,0===t.ongoingDecryptionCount&&t.emit(se.events.roomTimeline.EVENT))},t._listenTypingEvent=function(e,n){var o;n.roomId===t.roomId&&(n.typing?t.typingMembers.add(n.userId):t.typingMembers.delete(n.userId),t.emit(se.events.roomTimeline.TYPING_MEMBERS_UPDATED,new Set(function(e){if(Array.isArray(e))return ki(e)}(o=t.typingMembers)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(o)||function(e,t){if(e){if("string"==typeof e)return ki(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ki(e,t):void 0}}(o)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())))},t._listenReciptEvent=function(e,n){if(n.roomId===t.roomId){var o=e.getContent();if(0!==t.timeline.length){var r=o[t.timeline[t.timeline.length-1].getId()];void 0!==r&&r["m.read"]&&t.emit(se.events.roomTimeline.READ_RECEIPT)}}},t.matrixClient.on("Room.timeline",t._listenRoomTimeline),t.matrixClient.on("Event.decrypted",t._listenDecryptEvent),t.matrixClient.on("RoomMember.typing",t._listenTypingEvent),t.matrixClient.on("Room.receipt",t._listenReciptEvent),window.selectedRoom=Ci(t),t.isEncryptedRoom()&&t.room.decryptAllEvents(),t}return t=a,(n=[{key:"isEncryptedRoom",value:function(){return this.matrixClient.isRoomEncrypted(this.roomId)}},{key:"isEdited",value:function(e){var t;return"m.replace"===(null===(t=e.getRelation())||void 0===t?void 0:t.rel_type)}},{key:"getRelateToId",value:function(e){var t=e.getRelation();return t&&t.event_id}},{key:"addToMap",value:function(e,t){var n=this.getRelateToId(t);return null===n?null:(void 0===e.get(n)&&e.set(n,[]),e.get(n).push(t),t)}},{key:"getEditedTimeline",value:function(){var e=this,t=new Map;return this.timeline.forEach((function(n){e.isEdited(n)&&e.addToMap(t,n)})),t}},{key:"isReaction",value:function(e){return"m.reaction"===e.getType()}},{key:"getReactionTimeline",value:function(){var e=this,t=new Map;return this.timeline.forEach((function(n){e.isReaction(n)&&e.addToMap(t,n)})),t}},{key:"paginateBack",value:function(){var e=this;this.isOngoingPagination||(this.isOngoingPagination=!0,this.matrixClient.scrollback(this.room,30).then(function(){var t,n=(t=regeneratorRuntime.mark((function t(n){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(null!==n.oldState.paginationToken){t.next=7;break}if(e.isOngoingPagination=!1,!e.isEncryptedRoom()){t.next=5;break}return t.next=5,e.room.decryptAllEvents();case 5:return e.emit(se.events.roomTimeline.PAGINATED,!1),t.abrupt("return");case 7:if(e.editedTimeline=e.getEditedTimeline(),e.reactionTimeline=e.getReactionTimeline(),e.isOngoingPagination=!1,!e.isEncryptedRoom()){t.next=13;break}return t.next=13,e.room.decryptAllEvents();case 13:e.emit(se.events.roomTimeline.PAGINATED,!0);case 14:case"end":return t.stop()}}),t)})),function(){var e=this,n=arguments;return new Promise((function(o,r){var i=t.apply(e,n);function a(e){Ei(i,o,r,a,s,"next",e)}function s(e){Ei(i,o,r,a,s,"throw",e)}a(void 0)}))});return function(e){return n.apply(this,arguments)}}()))}},{key:"removeInternalListeners",value:function(){this.matrixClient.removeListener("Room.timeline",this._listenRoomTimeline),this.matrixClient.removeListener("Event.decrypted",this._listenDecryptEvent),this.matrixClient.removeListener("RoomMember.typing",this._listenTypingEvent),this.matrixClient.removeListener("Room.receipt",this._listenReciptEvent)}}])&&Di(t.prototype,n),a}(Ee());function Ri(e,t,n,o,r,i,a){try{var s=e[i](a),u=s.value}catch(e){return void n(e)}s.done?t(u):Promise.resolve(u).then(o,r)}function Ii(e){return function(){var t=this,n=arguments;return new Promise((function(o,r){var i=e.apply(t,n);function a(e){Ri(i,o,r,a,s,"next",e)}function s(e){Ri(i,o,r,a,s,"throw",e)}a(void 0)}))}}function Mi(e,t){var n=Qe.matrixClient,o=n.getAccountData("m.direct"),r={};if(void 0!==o&&(r=o.getContent()),Object.keys(r).forEach((function(n){var o=r[n];if(n!==t){var i=o.indexOf(e);i>-1&&o.splice(i,1)}})),t){var i=r[t]||[];-1===i.indexOf(e)&&i.push(e),r[t]=i}return n.setAccountData("m.direct",r)}function Oi(e,t){var n,o;return e.getJoinedMembers().forEach((function(e){e.userId!==t&&(void 0===n||e.events.member&&e.events.member.getTs()e.length)&&(t=e.length);for(var n=0,o=new Array(t);n=4?[t[0],t[1],t[2],t[3],"".concat(t[0],".").concat(t[1]),"".concat(t[0],".").concat(t[2]),"".concat(t[0],".").concat(t[3]),"".concat(t[1],".").concat(t[0]),"".concat(t[1],".").concat(t[2]),"".concat(t[1],".").concat(t[3]),"".concat(t[2],".").concat(t[0]),"".concat(t[2],".").concat(t[1]),"".concat(t[2],".").concat(t[3]),"".concat(t[3],".").concat(t[0]),"".concat(t[3],".").concat(t[1]),"".concat(t[3],".").concat(t[2]),"".concat(t[0],".").concat(t[1],".").concat(t[2]),"".concat(t[0],".").concat(t[1],".").concat(t[3]),"".concat(t[0],".").concat(t[2],".").concat(t[1]),"".concat(t[0],".").concat(t[2],".").concat(t[3]),"".concat(t[0],".").concat(t[3],".").concat(t[1]),"".concat(t[0],".").concat(t[3],".").concat(t[2]),"".concat(t[1],".").concat(t[0],".").concat(t[2]),"".concat(t[1],".").concat(t[0],".").concat(t[3]),"".concat(t[1],".").concat(t[2],".").concat(t[0]),"".concat(t[1],".").concat(t[2],".").concat(t[3]),"".concat(t[1],".").concat(t[3],".").concat(t[0]),"".concat(t[1],".").concat(t[3],".").concat(t[2]),"".concat(t[2],".").concat(t[0],".").concat(t[1]),"".concat(t[2],".").concat(t[0],".").concat(t[3]),"".concat(t[2],".").concat(t[1],".").concat(t[0]),"".concat(t[2],".").concat(t[1],".").concat(t[3]),"".concat(t[2],".").concat(t[3],".").concat(t[0]),"".concat(t[2],".").concat(t[3],".").concat(t[1]),"".concat(t[3],".").concat(t[0],".").concat(t[1]),"".concat(t[3],".").concat(t[0],".").concat(t[2]),"".concat(t[3],".").concat(t[1],".").concat(t[0]),"".concat(t[3],".").concat(t[1],".").concat(t[2]),"".concat(t[3],".").concat(t[2],".").concat(t[0]),"".concat(t[3],".").concat(t[2],".").concat(t[1]),"".concat(t[0],".").concat(t[1],".").concat(t[2],".").concat(t[3]),"".concat(t[0],".").concat(t[1],".").concat(t[3],".").concat(t[2]),"".concat(t[0],".").concat(t[2],".").concat(t[1],".").concat(t[3]),"".concat(t[0],".").concat(t[2],".").concat(t[3],".").concat(t[1]),"".concat(t[0],".").concat(t[3],".").concat(t[1],".").concat(t[2]),"".concat(t[0],".").concat(t[3],".").concat(t[2],".").concat(t[1]),"".concat(t[1],".").concat(t[0],".").concat(t[2],".").concat(t[3]),"".concat(t[1],".").concat(t[0],".").concat(t[3],".").concat(t[2]),"".concat(t[1],".").concat(t[2],".").concat(t[0],".").concat(t[3]),"".concat(t[1],".").concat(t[2],".").concat(t[3],".").concat(t[0]),"".concat(t[1],".").concat(t[3],".").concat(t[0],".").concat(t[2]),"".concat(t[1],".").concat(t[3],".").concat(t[2],".").concat(t[0]),"".concat(t[2],".").concat(t[0],".").concat(t[1],".").concat(t[3]),"".concat(t[2],".").concat(t[0],".").concat(t[3],".").concat(t[1]),"".concat(t[2],".").concat(t[1],".").concat(t[0],".").concat(t[3]),"".concat(t[2],".").concat(t[1],".").concat(t[3],".").concat(t[0]),"".concat(t[2],".").concat(t[3],".").concat(t[0],".").concat(t[1]),"".concat(t[2],".").concat(t[3],".").concat(t[1],".").concat(t[0]),"".concat(t[3],".").concat(t[0],".").concat(t[1],".").concat(t[2]),"".concat(t[3],".").concat(t[0],".").concat(t[2],".").concat(t[1]),"".concat(t[3],".").concat(t[1],".").concat(t[0],".").concat(t[2]),"".concat(t[3],".").concat(t[1],".").concat(t[2],".").concat(t[0]),"".concat(t[3],".").concat(t[2],".").concat(t[0],".").concat(t[1]),"".concat(t[3],".").concat(t[2],".").concat(t[1],".").concat(t[0])]:void 0),ea[o]}function na(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,o=e.filter((function(e){return"token"!==e})),r=ta(o);return r.reduce((function(e,t){return Qi({},e,n[t])}),t)}function oa(e){return e.join(" ")}function ra(e){var t=e.node,n=e.stylesheet,r=e.style,i=void 0===r?{}:r,a=e.useInlineStyles,s=e.key,u=t.properties,c=t.type,l=t.tagName,h=t.value;if("text"===c)return h;if(l){var p,f=function(e,t){var n=0;return function(o){return n+=1,o.map((function(o,r){return ra({node:o,stylesheet:e,useInlineStyles:t,key:"code-segment-".concat(n,"-").concat(r)})}))}}(n,a);if(a){var g=Object.keys(n).reduce((function(e,t){return t.split(".").forEach((function(t){e.includes(t)||e.push(t)})),e}),[]),m=u.className&&u.className.includes("token")?["token"]:[],_=u.className&&m.concat(u.className.filter((function(e){return!g.includes(e)})));p=Qi({},u,{className:oa(_)||void 0,style:na(u.className,Object.assign({},u.style,i),n)})}else p=Qi({},u,{className:oa(u.className)});var F=f(t.children);return o.createElement(l,d({key:s},p),F)}}var ia=/\n/g;function aa(e){var t=e.codeString,n=e.codeStyle,r=e.containerStyle,i=void 0===r?{float:"left",paddingRight:"10px"}:r,a=e.numberStyle,s=void 0===a?{}:a,u=e.startingLineNumber;return o.createElement("code",{style:Object.assign({},n,i)},function(e){var t=e.startingLineNumber,n=e.style;return e.lines.map((function(e,r){var i=r+t;return o.createElement("span",{key:"line-".concat(r),className:"react-syntax-highlighter-line-number",style:"function"==typeof n?n(i):n},"".concat(i,"\n"))}))}({lines:t.replace(/\n$/,"").split("\n"),style:s,startingLineNumber:u}))}function sa(e,t){return{type:"element",tagName:"span",properties:{key:"line-number--".concat(e),className:["comment","linenumber","react-syntax-highlighter-line-number"],style:t},children:[{type:"text",value:e}]}}function ua(e,t,n){var o;return Qi({},{display:"inline-block",minWidth:(o=n,"".concat(o.toString().length,".25em")),paddingRight:"1em",textAlign:"right",userSelect:"none"},"function"==typeof e?e(t):e)}function ca(e){var t=e.children,n=e.lineNumber,o=e.lineNumberStyle,r=e.largestLineNumber,i=e.showInlineLineNumbers,a=e.lineProps,s=void 0===a?{}:a,u=e.className,c=void 0===u?[]:u,l=e.showLineNumbers,d=e.wrapLongLines,h="function"==typeof s?s(n):s;if(h.className=c,n&&i){var p=ua(o,n,r);t.unshift(sa(n,p))}return d&l&&(h.style=Qi({},h.style,{display:"flex"})),{type:"element",tagName:"span",properties:h,children:t}}function la(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],o=0;o2&&void 0!==arguments[2]?arguments[2]:[];return ca({children:e,lineNumber:t,lineNumberStyle:s,largestLineNumber:a,showInlineLineNumbers:r,lineProps:n,className:i,showLineNumbers:o,wrapLongLines:u})}function g(e,t){if(o&&t&&r){var n=ua(s,t,a);e.unshift(sa(t,n))}return e}function m(e,n){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return t||o.length>0?f(e,n,o):g(e,n)}for(var _=function(){var e=l[p],t=e.children[0].value;if(t.match(ia)){var n=t.split("\n");n.forEach((function(t,r){var a=o&&d.length+i,s={type:"text",value:"".concat(t,"\n")};if(0===r){var u=m(l.slice(h+1,p).concat(ca({children:[s],className:e.properties.className})),a);d.push(u)}else if(r===n.length-1)if(l[p+1]&&l[p+1].children&&l[p+1].children[0]){var c=ca({children:[{type:"text",value:"".concat(t)}],className:e.properties.className});l.splice(p+1,0,c)}else{var f=m([s],a,e.properties.className);d.push(f)}else{var g=m([s],a,e.properties.className);d.push(g)}})),h=p}p++};p code[class*="language-"]':{background:"#f5f2f0",padding:".1em",borderRadius:".3em",whiteSpace:"normal"},comment:{color:"slategray"},prolog:{color:"slategray"},doctype:{color:"slategray"},cdata:{color:"slategray"},punctuation:{color:"#999"},namespace:{Opacity:".7"},property:{color:"#905"},tag:{color:"#905"},boolean:{color:"#905"},number:{color:"#905"},constant:{color:"#905"},symbol:{color:"#905"},deleted:{color:"#905"},selector:{color:"#690"},"attr-name":{color:"#690"},string:{color:"#690"},char:{color:"#690"},builtin:{color:"#690"},inserted:{color:"#690"},operator:{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},entity:{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)",cursor:"help"},url:{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},".language-css .token.string":{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},".style .token.string":{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},atrule:{color:"#07a"},"attr-value":{color:"#07a"},keyword:{color:"#07a"},function:{color:"#DD4A68"},"class-name":{color:"#DD4A68"},regex:{color:"#e90"},important:{color:"#e90",fontWeight:"bold"},variable:{color:"#e90"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}},function(e){var t=e.language,n=e.children,r=e.style,i=void 0===r?ga:r,a=e.customStyle,s=void 0===a?{}:a,u=e.codeTagProps,c=void 0===u?{className:t?"language-".concat(t):void 0,style:Qi({},i['code[class*="language-"]'],i['code[class*="language-'.concat(t,'"]')])}:u,l=e.useInlineStyles,d=void 0===l||l,h=e.showLineNumbers,p=void 0!==h&&h,f=e.showInlineLineNumbers,g=void 0===f||f,m=e.startingLineNumber,_=void 0===m?1:m,F=e.lineNumberContainerStyle,y=e.lineNumberStyle,b=void 0===y?{}:y,v=e.wrapLines,w=e.wrapLongLines,E=void 0!==w&&w,k=e.lineProps,D=void 0===k?{}:k,S=e.renderer,x=e.PreTag,C=void 0===x?"pre":x,A=e.CodeTag,T=void 0===A?"code":A,R=e.code,I=void 0===R?Array.isArray(n)?n[0]:n:R,M=e.astGenerator,O=function(e,t){if(null==e)return{};var n,o,r=B(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,["language","children","style","customStyle","codeTagProps","useInlineStyles","showLineNumbers","showInlineLineNumbers","startingLineNumber","lineNumberContainerStyle","lineNumberStyle","wrapLines","wrapLongLines","lineProps","renderer","PreTag","CodeTag","code","astGenerator"]);M=M||fa;var N=p?o.createElement(aa,{containerStyle:F,codeStyle:c.style||{},numberStyle:b,startingLineNumber:_,codeString:I}):null,L=i.hljs||i['pre[class*="language-"]']||{backgroundColor:"#fff"},P=pa(M)?"hljs":"prismjs",U=d?Object.assign({},O,{style:Object.assign({},L,s)}):Object.assign({},O,{className:O.className?"".concat(P," ").concat(O.className):P,style:Object.assign({},s)});if(!M)return o.createElement(C,U,N,o.createElement(T,c,I));(void 0===v&&S||E)&&(v=!0),S=S||ha;var j=[{type:"text",value:I}],q=function(e){var t=e.astGenerator,n=e.language,o=e.code,r=e.defaultCodeValue;if(pa(t)){var i=function(e,t){return-1!==e.listLanguages().indexOf(t)}(t,n);return"text"===n?{value:r,language:"text"}:i?t.highlight(n,o):t.highlightAuto(o)}try{return n&&"text"!==n?{value:t.highlight(o,n)}:{value:r}}catch(e){return{value:r}}}({astGenerator:M,language:t,code:I,defaultCodeValue:j});null===q.language&&(q.value=j);var z=da(q,v,D,p,g,_,q.value.length+_,b,E);return c.style=Qi({},c.style,E?{whiteSpace:"pre-wrap"}:{whiteSpace:"pre"}),o.createElement(C,U,o.createElement(T,c,!g&&N,S({rows:z,stylesheet:i,useInlineStyles:d})))});_a.supportedLanguages=["abap","abnf","actionscript","ada","agda","al","antlr4","apacheconf","apl","applescript","aql","arduino","arff","asciidoc","asm6502","aspnet","autohotkey","autoit","bash","basic","batch","bbcode","birb","bison","bnf","brainfuck","brightscript","bro","bsl","c","cil","clike","clojure","cmake","coffeescript","concurnas","cpp","crystal","csharp","csp","css-extras","css","cypher","d","dart","dax","dhall","diff","django","dns-zone-file","docker","ebnf","editorconfig","eiffel","ejs","elixir","elm","erb","erlang","etlua","excel-formula","factor","firestore-security-rules","flow","fortran","fsharp","ftl","gcode","gdscript","gedcom","gherkin","git","glsl","gml","go","graphql","groovy","haml","handlebars","haskell","haxe","hcl","hlsl","hpkp","hsts","http","ichigojam","icon","iecst","ignore","inform7","ini","io","j","java","javadoc","javadoclike","javascript","javastacktrace","jolie","jq","js-extras","js-templates","jsdoc","json","json5","jsonp","jsstacktrace","jsx","julia","keyman","kotlin","latex","latte","less","lilypond","liquid","lisp","livescript","llvm","lolcode","lua","makefile","markdown","markup-templating","markup","matlab","mel","mizar","mongodb","monkey","moonscript","n1ql","n4js","nand2tetris-hdl","naniscript","nasm","neon","nginx","nim","nix","nsis","objectivec","ocaml","opencl","oz","parigp","parser","pascal","pascaligo","pcaxis","peoplecode","perl","php-extras","php","phpdoc","plsql","powerquery","powershell","processing","prolog","properties","protobuf","pug","puppet","pure","purebasic","purescript","python","q","qml","qore","r","racket","reason","regex","renpy","rest","rip","roboconf","robotframework","ruby","rust","sas","sass","scala","scheme","scss","shell-session","smali","smalltalk","smarty","sml","solidity","solution-file","soy","sparql","splunk-spl","sqf","sql","stan","stylus","swift","t4-cs","t4-templating","t4-vb","tap","tcl","textile","toml","tsx","tt2","turtle","twig","typescript","typoscript","unrealscript","vala","vbnet","velocity","verilog","vhdl","vim","visual-basic","warpscript","wasm","wiki","xeora","xml-doc","xojo","xquery","yaml","yang","zig"];const Fa=_a,ya={'code[class*="language-"]':{color:"black",background:"none",fontFamily:"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",fontSize:"1em",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",maxHeight:"inherit",height:"inherit",padding:"0 1em",display:"block",overflow:"auto"},'pre[class*="language-"]':{color:"black",background:"none",fontFamily:"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",fontSize:"1em",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",position:"relative",margin:".5em 0",overflow:"visible",padding:"0",backgroundColor:"#fdfdfd",WebkitBoxSizing:"border-box",MozBoxSizing:"border-box",boxSizing:"border-box",marginBottom:"1em"},'pre[class*="language-"]>code':{position:"relative",borderLeft:"10px solid #358ccb",boxShadow:"-1px 0px 0px 0px #358ccb, 0px 0px 0px 1px #dfdfdf",backgroundColor:"#fdfdfd",backgroundImage:"linear-gradient(transparent 50%, rgba(69, 142, 209, 0.04) 50%)",backgroundSize:"3em 3em",backgroundOrigin:"content-box",backgroundAttachment:"local"},':not(pre) > code[class*="language-"]':{backgroundColor:"#fdfdfd",WebkitBoxSizing:"border-box",MozBoxSizing:"border-box",boxSizing:"border-box",marginBottom:"1em",position:"relative",padding:".2em",borderRadius:"0.3em",color:"#c92c2c",border:"1px solid rgba(0, 0, 0, 0.1)",display:"inline",whiteSpace:"normal"},'pre[class*="language-"]:before':{content:"''",zIndex:"-2",display:"block",position:"absolute",bottom:"0.75em",left:"0.18em",width:"40%",height:"20%",maxHeight:"13em",boxShadow:"0px 13px 8px #979797",WebkitTransform:"rotate(-2deg)",MozTransform:"rotate(-2deg)",msTransform:"rotate(-2deg)",OTransform:"rotate(-2deg)",transform:"rotate(-2deg)"},'pre[class*="language-"]:after':{content:"''",zIndex:"-2",display:"block",position:"absolute",bottom:"0.75em",left:"auto",width:"40%",height:"20%",maxHeight:"13em",boxShadow:"0px 13px 8px #979797",WebkitTransform:"rotate(2deg)",MozTransform:"rotate(2deg)",msTransform:"rotate(2deg)",OTransform:"rotate(2deg)",transform:"rotate(2deg)",right:"0.75em"},comment:{color:"#7D8B99"},"block-comment":{color:"#7D8B99"},prolog:{color:"#7D8B99"},doctype:{color:"#7D8B99"},cdata:{color:"#7D8B99"},punctuation:{color:"#5F6364"},property:{color:"#c92c2c"},tag:{color:"#c92c2c"},boolean:{color:"#c92c2c"},number:{color:"#c92c2c"},"function-name":{color:"#c92c2c"},constant:{color:"#c92c2c"},symbol:{color:"#c92c2c"},deleted:{color:"#c92c2c"},selector:{color:"#2f9c0a"},"attr-name":{color:"#2f9c0a"},string:{color:"#2f9c0a"},char:{color:"#2f9c0a"},function:{color:"#2f9c0a"},builtin:{color:"#2f9c0a"},inserted:{color:"#2f9c0a"},operator:{color:"#a67f59",background:"rgba(255, 255, 255, 0.5)"},entity:{color:"#a67f59",background:"rgba(255, 255, 255, 0.5)",cursor:"help"},url:{color:"#a67f59",background:"rgba(255, 255, 255, 0.5)"},variable:{color:"#a67f59",background:"rgba(255, 255, 255, 0.5)"},atrule:{color:"#1990b8"},"attr-value":{color:"#1990b8"},keyword:{color:"#1990b8"},"class-name":{color:"#1990b8"},regex:{color:"#e90"},important:{color:"#e90",fontWeight:"normal"},".language-css .token.string":{color:"#a67f59",background:"rgba(255, 255, 255, 0.5)"},".style .token.string":{color:"#a67f59",background:"rgba(255, 255, 255, 0.5)"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"},namespace:{Opacity:".7"},'pre[class*="language-"].line-numbers.line-numbers':{paddingLeft:"0"},'pre[class*="language-"].line-numbers.line-numbers code':{paddingLeft:"3.8em"},'pre[class*="language-"].line-numbers.line-numbers .line-numbers-rows':{left:"0"},'pre[class*="language-"][data-line]':{paddingTop:"0",paddingBottom:"0",paddingLeft:"0"},"pre[data-line] code":{position:"relative",paddingLeft:"4em"},"pre .line-highlight":{marginTop:"0"}},ba=n.p+"assets/reply-arrow.4652dfc3651a804bb60877d388196c95.svg";var va={code:function(e){var t=e.inline,n=e.className,r=e.children,i=/language-(\w+)/.exec(n||"");return!t&&i?o.createElement(Fa,{style:ya,language:i[1],PreTag:"div",showLineNumbers:!0},String(r).replace(/\n$/,"")):o.createElement("code",{className:n},String(r))}};function wa(){return o.createElement("div",{className:"ph-msg"},o.createElement("div",{className:"ph-msg__avatar-container"},o.createElement("div",{className:"ph-msg__avatar"})),o.createElement("div",{className:"ph-msg__main-container"},o.createElement("div",{className:"ph-msg__header"}),o.createElement("div",{className:"ph-msg__content"},o.createElement("div",null),o.createElement("div",null),o.createElement("div",null),o.createElement("div",null))))}function Ea(e){var t=e.color,n=e.avatarSrc,r=e.name,i=e.content,a=e.time,s=e.markdown,u=e.contentOnly,c=e.reply,l=e.edited,d=e.reactions,h=u?"message--content-only":"message--full";return o.createElement("div",{className:"message ".concat(h)},o.createElement("div",{className:"message__avatar-container"},!u&&o.createElement(Sr,{imageSrc:n,text:r.slice(0,1),bgColor:t,size:"small"})),o.createElement("div",{className:"message__main-container"},!u&&o.createElement("div",{className:"message__header"},o.createElement("div",{style:{color:t},className:"message__profile"},o.createElement(vt,{variant:"b1"},r)),o.createElement("div",{className:"message__time"},o.createElement(vt,{variant:"b3"},a))),o.createElement("div",{className:"message__content"},null!==c&&o.createElement("div",{className:"message__reply-content"},o.createElement(vt,{variant:"b2"},o.createElement(Et,{color:c.color,size:"extra-small",src:ba}),o.createElement("span",{style:{color:c.color}},c.to),o.createElement(o.Fragment,null," ".concat(c.content)))),o.createElement("div",{className:"text text-b1"},s?function(e){return o.createElement(Vi(),{remarkPlugins:[Yi()],components:va,linkTarget:"_blank"},e)}(i):function(e){return o.createElement($i(),{options:{target:{url:"_blank"}}},e)}(i)),l&&o.createElement(vt,{className:"message__edited",variant:"b3"},"(edited)"),d&&o.createElement("div",{className:"message__reactions text text-b3 noselect"},d.map((function(e){return o.createElement("button",{key:e.id,onClick:function(){return alert("Sending reactions is yet to be implemented.")},type:"button",className:"msg__reaction".concat(e.active?" msg__reaction--active":"")},"".concat(e.key," ").concat(e.count))}))))))}Ea.defaultProps={color:"var(--tc-surface-high)",avatarSrc:null,markdown:!1,contentOnly:!1,reply:null,edited:!1,reactions:null},Ea.propTypes={color:l().string,avatarSrc:l().string,name:l().string.isRequired,content:l().node.isRequired,time:l().string.isRequired,markdown:l().bool,contentOnly:l().bool,reply:l().shape({color:l().string.isRequired,to:l().string.isRequired,content:l().string.isRequired}),edited:l().bool,reactions:l().arrayOf(l().exact({id:l().string,key:l().string,count:l().number,active:l().bool}))};const ka=n.p+"assets/download.ab30aec19573b4189334338c801b4180.svg",Da=n.p+"assets/external.c37f42201429884adc1da8fc5ee65b88.svg",Sa=n.p+"assets/play.8838e717b724f8097895aae1dad87e92.svg";function xa(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],o=!0,r=!1,i=void 0;try{for(var a,s=e[Symbol.iterator]();!(o=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);o=!0);}catch(e){r=!0,i=e}finally{try{o||null==s.return||s.return()}finally{if(r)throw i}}return n}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Ca(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ca(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ca(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n>10),56320+(1023&t))},toCodePoint:_},onerror:function(){this.parentNode&&this.parentNode.replaceChild(u(this.alt,!1),this)},parse:function(t,n){return n&&"function"!=typeof n||(n={callback:n}),("string"==typeof t?p:h)(t,{callback:n.callback||c,attributes:"function"==typeof n.attributes?n.attributes:g,base:"string"==typeof n.base?n.base:e.base,ext:n.ext||e.ext,size:n.folder||(o=n.size||e.size,"number"==typeof o?o+"x"+o:o),className:n.className||e.className,onerror:n.onerror||e.onerror});var o},replace:m,test:function(e){n.lastIndex=0;var t=n.test(e);return n.lastIndex=0,t}},t={"&":"&","<":"<",">":">","'":"'",'"':"""},n=/(?:\ud83d\udc68\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83e\uddd1\ud83c[\udffc-\udfff]|\ud83e\uddd1\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83e\uddd1\ud83c[\udffb\udffd-\udfff]|\ud83e\uddd1\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83e\uddd1\ud83c[\udffb\udffc\udffe\udfff]|\ud83e\uddd1\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83e\uddd1\ud83c[\udffb-\udffd\udfff]|\ud83e\uddd1\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83e\uddd1\ud83c[\udffb-\udffe]|\ud83d\udc68\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffc-\udfff]|\ud83d\udc68\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffd-\udfff]|\ud83d\udc68\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffc\udffe\udfff]|\ud83d\udc68\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffd\udfff]|\ud83d\udc68\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffe]|\ud83d\udc69\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffc-\udfff]|\ud83d\udc69\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffc-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffd-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb\udffd-\udfff]|\ud83d\udc69\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffc\udffe\udfff]|\ud83d\udc69\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb\udffc\udffe\udfff]|\ud83d\udc69\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffd\udfff]|\ud83d\udc69\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb-\udffd\udfff]|\ud83d\udc69\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffe]|\ud83d\udc69\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb-\udffe]|\ud83e\uddd1\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83e\uddd1\ud83c[\udffc-\udfff]|\ud83e\uddd1\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83e\uddd1\ud83c[\udffb\udffd-\udfff]|\ud83e\uddd1\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83e\uddd1\ud83c[\udffb\udffc\udffe\udfff]|\ud83e\uddd1\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83e\uddd1\ud83c[\udffb-\udffd\udfff]|\ud83e\uddd1\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83e\uddd1\ud83c[\udffb-\udffe]|\ud83e\uddd1\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83d\udc68\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68|\ud83d\udc69\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d[\udc68\udc69]|\ud83d\udc68\u200d\u2764\ufe0f\u200d\ud83d\udc68|\ud83d\udc69\u200d\u2764\ufe0f\u200d\ud83d[\udc68\udc69]|\ud83e\uddd1\u200d\ud83e\udd1d\u200d\ud83e\uddd1|\ud83d\udc6b\ud83c[\udffb-\udfff]|\ud83d\udc6c\ud83c[\udffb-\udfff]|\ud83d\udc6d\ud83c[\udffb-\udfff]|\ud83d\udc8f\ud83c[\udffb-\udfff]|\ud83d\udc91\ud83c[\udffb-\udfff]|\ud83d[\udc6b-\udc6d\udc8f\udc91])|(?:\ud83d[\udc68\udc69]|\ud83e\uddd1)(?:\ud83c[\udffb-\udfff])?\u200d(?:\u2695\ufe0f|\u2696\ufe0f|\u2708\ufe0f|\ud83c[\udf3e\udf73\udf7c\udf84\udf93\udfa4\udfa8\udfeb\udfed]|\ud83d[\udcbb\udcbc\udd27\udd2c\ude80\ude92]|\ud83e[\uddaf-\uddb3\uddbc\uddbd])|(?:\ud83c[\udfcb\udfcc]|\ud83d[\udd74\udd75]|\u26f9)((?:\ud83c[\udffb-\udfff]|\ufe0f)\u200d[\u2640\u2642]\ufe0f)|(?:\ud83c[\udfc3\udfc4\udfca]|\ud83d[\udc6e\udc70\udc71\udc73\udc77\udc81\udc82\udc86\udc87\ude45-\ude47\ude4b\ude4d\ude4e\udea3\udeb4-\udeb6]|\ud83e[\udd26\udd35\udd37-\udd39\udd3d\udd3e\uddb8\uddb9\uddcd-\uddcf\uddd4\uddd6-\udddd])(?:\ud83c[\udffb-\udfff])?\u200d[\u2640\u2642]\ufe0f|(?:\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d[\udc66\udc67]|\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f|\ud83c\udff3\ufe0f\u200d\ud83c\udf08|\ud83d\ude36\u200d\ud83c\udf2b\ufe0f|\u2764\ufe0f\u200d\ud83d\udd25|\u2764\ufe0f\u200d\ud83e\ude79|\ud83c\udff4\u200d\u2620\ufe0f|\ud83d\udc15\u200d\ud83e\uddba|\ud83d\udc3b\u200d\u2744\ufe0f|\ud83d\udc41\u200d\ud83d\udde8|\ud83d\udc68\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\ud83d[\udc66\udc67]|\ud83d\udc6f\u200d\u2640\ufe0f|\ud83d\udc6f\u200d\u2642\ufe0f|\ud83d\ude2e\u200d\ud83d\udca8|\ud83d\ude35\u200d\ud83d\udcab|\ud83e\udd3c\u200d\u2640\ufe0f|\ud83e\udd3c\u200d\u2642\ufe0f|\ud83e\uddde\u200d\u2640\ufe0f|\ud83e\uddde\u200d\u2642\ufe0f|\ud83e\udddf\u200d\u2640\ufe0f|\ud83e\udddf\u200d\u2642\ufe0f|\ud83d\udc08\u200d\u2b1b)|[#*0-9]\ufe0f?\u20e3|(?:[©®\u2122\u265f]\ufe0f)|(?:\ud83c[\udc04\udd70\udd71\udd7e\udd7f\ude02\ude1a\ude2f\ude37\udf21\udf24-\udf2c\udf36\udf7d\udf96\udf97\udf99-\udf9b\udf9e\udf9f\udfcd\udfce\udfd4-\udfdf\udff3\udff5\udff7]|\ud83d[\udc3f\udc41\udcfd\udd49\udd4a\udd6f\udd70\udd73\udd76-\udd79\udd87\udd8a-\udd8d\udda5\udda8\uddb1\uddb2\uddbc\uddc2-\uddc4\uddd1-\uddd3\udddc-\uddde\udde1\udde3\udde8\uddef\uddf3\uddfa\udecb\udecd-\udecf\udee0-\udee5\udee9\udef0\udef3]|[\u203c\u2049\u2139\u2194-\u2199\u21a9\u21aa\u231a\u231b\u2328\u23cf\u23ed-\u23ef\u23f1\u23f2\u23f8-\u23fa\u24c2\u25aa\u25ab\u25b6\u25c0\u25fb-\u25fe\u2600-\u2604\u260e\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262a\u262e\u262f\u2638-\u263a\u2640\u2642\u2648-\u2653\u2660\u2663\u2665\u2666\u2668\u267b\u267f\u2692-\u2697\u2699\u269b\u269c\u26a0\u26a1\u26a7\u26aa\u26ab\u26b0\u26b1\u26bd\u26be\u26c4\u26c5\u26c8\u26cf\u26d1\u26d3\u26d4\u26e9\u26ea\u26f0-\u26f5\u26f8\u26fa\u26fd\u2702\u2708\u2709\u270f\u2712\u2714\u2716\u271d\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u2764\u27a1\u2934\u2935\u2b05-\u2b07\u2b1b\u2b1c\u2b50\u2b55\u3030\u303d\u3297\u3299])(?:\ufe0f|(?!\ufe0e))|(?:(?:\ud83c[\udfcb\udfcc]|\ud83d[\udd74\udd75\udd90]|[\u261d\u26f7\u26f9\u270c\u270d])(?:\ufe0f|(?!\ufe0e))|(?:\ud83c[\udf85\udfc2-\udfc4\udfc7\udfca]|\ud83d[\udc42\udc43\udc46-\udc50\udc66-\udc69\udc6e\udc70-\udc78\udc7c\udc81-\udc83\udc85-\udc87\udcaa\udd7a\udd95\udd96\ude45-\ude47\ude4b-\ude4f\udea3\udeb4-\udeb6\udec0\udecc]|\ud83e[\udd0c\udd0f\udd18-\udd1c\udd1e\udd1f\udd26\udd30-\udd39\udd3d\udd3e\udd77\uddb5\uddb6\uddb8\uddb9\uddbb\uddcd-\uddcf\uddd1-\udddd]|[\u270a\u270b]))(?:\ud83c[\udffb-\udfff])?|(?:\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f|\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc73\udb40\udc63\udb40\udc74\udb40\udc7f|\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc77\udb40\udc6c\udb40\udc73\udb40\udc7f|\ud83c\udde6\ud83c[\udde8-\uddec\uddee\uddf1\uddf2\uddf4\uddf6-\uddfa\uddfc\uddfd\uddff]|\ud83c\udde7\ud83c[\udde6\udde7\udde9-\uddef\uddf1-\uddf4\uddf6-\uddf9\uddfb\uddfc\uddfe\uddff]|\ud83c\udde8\ud83c[\udde6\udde8\udde9\uddeb-\uddee\uddf0-\uddf5\uddf7\uddfa-\uddff]|\ud83c\udde9\ud83c[\uddea\uddec\uddef\uddf0\uddf2\uddf4\uddff]|\ud83c\uddea\ud83c[\udde6\udde8\uddea\uddec\udded\uddf7-\uddfa]|\ud83c\uddeb\ud83c[\uddee-\uddf0\uddf2\uddf4\uddf7]|\ud83c\uddec\ud83c[\udde6\udde7\udde9-\uddee\uddf1-\uddf3\uddf5-\uddfa\uddfc\uddfe]|\ud83c\udded\ud83c[\uddf0\uddf2\uddf3\uddf7\uddf9\uddfa]|\ud83c\uddee\ud83c[\udde8-\uddea\uddf1-\uddf4\uddf6-\uddf9]|\ud83c\uddef\ud83c[\uddea\uddf2\uddf4\uddf5]|\ud83c\uddf0\ud83c[\uddea\uddec-\uddee\uddf2\uddf3\uddf5\uddf7\uddfc\uddfe\uddff]|\ud83c\uddf1\ud83c[\udde6-\udde8\uddee\uddf0\uddf7-\uddfb\uddfe]|\ud83c\uddf2\ud83c[\udde6\udde8-\udded\uddf0-\uddff]|\ud83c\uddf3\ud83c[\udde6\udde8\uddea-\uddec\uddee\uddf1\uddf4\uddf5\uddf7\uddfa\uddff]|\ud83c\uddf4\ud83c\uddf2|\ud83c\uddf5\ud83c[\udde6\uddea-\udded\uddf0-\uddf3\uddf7-\uddf9\uddfc\uddfe]|\ud83c\uddf6\ud83c\udde6|\ud83c\uddf7\ud83c[\uddea\uddf4\uddf8\uddfa\uddfc]|\ud83c\uddf8\ud83c[\udde6-\uddea\uddec-\uddf4\uddf7-\uddf9\uddfb\uddfd-\uddff]|\ud83c\uddf9\ud83c[\udde6\udde8\udde9\uddeb-\udded\uddef-\uddf4\uddf7\uddf9\uddfb\uddfc\uddff]|\ud83c\uddfa\ud83c[\udde6\uddec\uddf2\uddf3\uddf8\uddfe\uddff]|\ud83c\uddfb\ud83c[\udde6\udde8\uddea\uddec\uddee\uddf3\uddfa]|\ud83c\uddfc\ud83c[\uddeb\uddf8]|\ud83c\uddfd\ud83c\uddf0|\ud83c\uddfe\ud83c[\uddea\uddf9]|\ud83c\uddff\ud83c[\udde6\uddf2\uddfc]|\ud83c[\udccf\udd8e\udd91-\udd9a\udde6-\uddff\ude01\ude32-\ude36\ude38-\ude3a\ude50\ude51\udf00-\udf20\udf2d-\udf35\udf37-\udf7c\udf7e-\udf84\udf86-\udf93\udfa0-\udfc1\udfc5\udfc6\udfc8\udfc9\udfcf-\udfd3\udfe0-\udff0\udff4\udff8-\udfff]|\ud83d[\udc00-\udc3e\udc40\udc44\udc45\udc51-\udc65\udc6a\udc6f\udc79-\udc7b\udc7d-\udc80\udc84\udc88-\udc8e\udc90\udc92-\udca9\udcab-\udcfc\udcff-\udd3d\udd4b-\udd4e\udd50-\udd67\udda4\uddfb-\ude44\ude48-\ude4a\ude80-\udea2\udea4-\udeb3\udeb7-\udebf\udec1-\udec5\uded0-\uded2\uded5-\uded7\udeeb\udeec\udef4-\udefc\udfe0-\udfeb]|\ud83e[\udd0d\udd0e\udd10-\udd17\udd1d\udd20-\udd25\udd27-\udd2f\udd3a\udd3c\udd3f-\udd45\udd47-\udd76\udd78\udd7a-\uddb4\uddb7\uddba\uddbc-\uddcb\uddd0\uddde-\uddff\ude70-\ude74\ude78-\ude7a\ude80-\ude86\ude90-\udea8\udeb0-\udeb6\udec0-\udec2\uded0-\uded6]|[\u23e9-\u23ec\u23f0\u23f3\u267e\u26ce\u2705\u2728\u274c\u274e\u2753-\u2755\u2795-\u2797\u27b0\u27bf\ue50a])|\ufe0f/g,o=/\uFE0F/g,r=String.fromCharCode(8205),i=/[&<>'"]/g,a=/^(?:iframe|noframes|noscript|script|select|style|textarea)$/,s=String.fromCharCode;return e;function u(e,t){return document.createTextNode(t?e.replace(o,""):e)}function c(e,t){return"".concat(t.base,t.size,"/",e,t.ext)}function l(e,t){for(var n,o,r=e.childNodes,i=r.length;i--;)3===(o=(n=r[i]).nodeType)?t.push(n):1!==o||"ownerSVGElement"in n||a.test(n.nodeName.toLowerCase())||l(n,t);return t}function d(e){return _(e.indexOf(r)<0?e.replace(o,""):e)}function h(e,t){for(var o,r,i,a,s,c,h,p,f,g,m,_,F,y=l(e,[]),b=y.length;b--;){for(i=!1,a=document.createDocumentFragment(),c=(s=y[b]).nodeValue,p=0;h=n.exec(c);){if((f=h.index)!==p&&a.appendChild(u(c.slice(p,f),!0)),_=d(m=h[0]),p=f+m.length,F=t.callback(_,t),_&&F){for(r in(g=new Image).onerror=t.onerror,g.setAttribute("draggable","false"),o=t.attributes(m,_))o.hasOwnProperty(r)&&0!==r.indexOf("on")&&!g.hasAttribute(r)&&g.setAttribute(r,o[r]);g.className=t.className,g.alt=m,g.src=F,i=!0,a.appendChild(g)}g||a.appendChild(u(m,!1)),g=null}i&&(p")}return r}))}function f(e){return t[e]}function g(){return null}function m(e,t){return String(e).replace(n,t)}function _(e,t){for(var n=[],o=0,r=0,i=0;i"},{"annotation":"smiling face with halo","group":0,"hexcode":"1F607","order":13,"tags":["angel","face","fantasy","halo","innocent"],"unicode":"😇","emoticon":"o:)"},{"annotation":"smiling face with hearts","group":0,"hexcode":"1F970","order":14,"tags":["adore","crush","hearts","in love"],"unicode":"🥰"},{"annotation":"smiling face with heart-eyes","group":0,"hexcode":"1F60D","order":15,"tags":["eye","face","love","smile"],"unicode":"😍"},{"annotation":"star-struck","group":0,"hexcode":"1F929","order":16,"tags":["eyes","face","grinning","star"],"unicode":"🤩"},{"annotation":"face blowing a kiss","group":0,"hexcode":"1F618","order":17,"tags":["face","kiss"],"unicode":"😘","emoticon":":x"},{"annotation":"kissing face","group":0,"hexcode":"1F617","order":18,"tags":["face","kiss"],"unicode":"😗"},{"annotation":"smiling face","group":0,"hexcode":"263A","order":20,"tags":["face","outlined","relaxed","smile"],"unicode":"☺️"},{"annotation":"kissing face with closed eyes","group":0,"hexcode":"1F61A","order":21,"tags":["closed","eye","face","kiss"],"unicode":"😚","emoticon":":*"},{"annotation":"kissing face with smiling eyes","group":0,"hexcode":"1F619","order":22,"tags":["eye","face","kiss","smile"],"unicode":"😙"},{"annotation":"smiling face with tear","group":0,"hexcode":"1F972","order":23,"tags":["grateful","proud","relieved","smiling","tear","touched"],"unicode":"🥲"},{"annotation":"face savoring food","group":0,"hexcode":"1F60B","order":24,"tags":["delicious","face","savouring","smile","yum"],"unicode":"😋"},{"annotation":"face with tongue","group":0,"hexcode":"1F61B","order":25,"tags":["face","tongue"],"unicode":"😛","emoticon":":p"},{"annotation":"winking face with tongue","group":0,"hexcode":"1F61C","order":26,"tags":["eye","face","joke","tongue","wink"],"unicode":"😜","emoticon":";p"},{"annotation":"zany face","group":0,"hexcode":"1F92A","order":27,"tags":["eye","goofy","large","small"],"unicode":"🤪"},{"annotation":"squinting face with tongue","group":0,"hexcode":"1F61D","order":28,"tags":["eye","face","horrible","taste","tongue"],"unicode":"😝","emoticon":"xp"},{"annotation":"money-mouth face","group":0,"hexcode":"1F911","order":29,"tags":["face","money","mouth"],"unicode":"🤑"},{"annotation":"hugging face","group":0,"hexcode":"1F917","order":30,"tags":["face","hug","hugging"],"unicode":"🤗"},{"annotation":"face with hand over mouth","group":0,"hexcode":"1F92D","order":31,"tags":["whoops"],"unicode":"🤭"},{"annotation":"shushing face","group":0,"hexcode":"1F92B","order":32,"tags":["quiet","shush"],"unicode":"🤫"},{"annotation":"thinking face","group":0,"hexcode":"1F914","order":33,"tags":["face","thinking"],"unicode":"🤔","emoticon":":l"},{"annotation":"zipper-mouth face","group":0,"hexcode":"1F910","order":34,"tags":["face","mouth","zipper"],"unicode":"🤐","emoticon":":z"},{"annotation":"face with raised eyebrow","group":0,"hexcode":"1F928","order":35,"tags":["distrust","skeptic"],"unicode":"🤨"},{"annotation":"neutral face","group":0,"hexcode":"1F610","order":36,"tags":["deadpan","face","meh","neutral"],"unicode":"😐️","emoticon":":|"},{"annotation":"expressionless face","group":0,"hexcode":"1F611","order":37,"tags":["expressionless","face","inexpressive","meh","unexpressive"],"unicode":"😑"},{"annotation":"face without mouth","group":0,"hexcode":"1F636","order":38,"tags":["face","mouth","quiet","silent"],"unicode":"😶","emoticon":":#"},{"annotation":"face in clouds","group":0,"hexcode":"1F636-200D-1F32B-FE0F","order":39,"tags":["absentminded","face in the fog","head in clouds"],"unicode":"😶‍🌫️"},{"annotation":"smirking face","group":0,"hexcode":"1F60F","order":41,"tags":["face","smirk"],"unicode":"😏","emoticon":":j"},{"annotation":"unamused face","group":0,"hexcode":"1F612","order":42,"tags":["face","unamused","unhappy"],"unicode":"😒","emoticon":":?"},{"annotation":"face with rolling eyes","group":0,"hexcode":"1F644","order":43,"tags":["eyeroll","eyes","face","rolling"],"unicode":"🙄"},{"annotation":"grimacing face","group":0,"hexcode":"1F62C","order":44,"tags":["face","grimace"],"unicode":"😬","emoticon":"8D"},{"annotation":"face exhaling","group":0,"hexcode":"1F62E-200D-1F4A8","order":45,"tags":["exhale","gasp","groan","relief","whisper","whistle"],"unicode":"😮‍💨"},{"annotation":"lying face","group":0,"hexcode":"1F925","order":46,"tags":["face","lie","pinocchio"],"unicode":"🤥"},{"annotation":"relieved face","group":0,"hexcode":"1F60C","order":47,"tags":["face","relieved"],"unicode":"😌"},{"annotation":"pensive face","group":0,"hexcode":"1F614","order":48,"tags":["dejected","face","pensive"],"unicode":"😔"},{"annotation":"sleepy face","group":0,"hexcode":"1F62A","order":49,"tags":["face","sleep"],"unicode":"😪"},{"annotation":"drooling face","group":0,"hexcode":"1F924","order":50,"tags":["drooling","face"],"unicode":"🤤"},{"annotation":"sleeping face","group":0,"hexcode":"1F634","order":51,"tags":["face","sleep","zzz"],"unicode":"😴"},{"annotation":"face with medical mask","group":0,"hexcode":"1F637","order":52,"tags":["cold","doctor","face","mask","sick"],"unicode":"😷"},{"annotation":"face with thermometer","group":0,"hexcode":"1F912","order":53,"tags":["face","ill","sick","thermometer"],"unicode":"🤒"},{"annotation":"face with head-bandage","group":0,"hexcode":"1F915","order":54,"tags":["bandage","face","hurt","injury"],"unicode":"🤕"},{"annotation":"nauseated face","group":0,"hexcode":"1F922","order":55,"tags":["face","nauseated","vomit"],"unicode":"🤢","emoticon":"%("},{"annotation":"face vomiting","group":0,"hexcode":"1F92E","order":56,"tags":["puke","sick","vomit"],"unicode":"🤮"},{"annotation":"sneezing face","group":0,"hexcode":"1F927","order":57,"tags":["face","gesundheit","sneeze"],"unicode":"🤧"},{"annotation":"hot face","group":0,"hexcode":"1F975","order":58,"tags":["feverish","heat stroke","hot","red-faced","sweating"],"unicode":"🥵"},{"annotation":"cold face","group":0,"hexcode":"1F976","order":59,"tags":["blue-faced","cold","freezing","frostbite","icicles"],"unicode":"🥶"},{"annotation":"woozy face","group":0,"hexcode":"1F974","order":60,"tags":["dizzy","intoxicated","tipsy","uneven eyes","wavy mouth"],"unicode":"🥴","emoticon":":&"},{"annotation":"knocked-out face","group":0,"hexcode":"1F635","order":61,"tags":["dead","face","knocked out"],"unicode":"😵","emoticon":"xo"},{"annotation":"face with spiral eyes","group":0,"hexcode":"1F635-200D-1F4AB","order":62,"tags":["dizzy","hypnotized","spiral","trouble","whoa"],"unicode":"😵‍💫"},{"annotation":"exploding head","group":0,"hexcode":"1F92F","order":63,"tags":["mind blown","shocked"],"unicode":"🤯"},{"annotation":"cowboy hat face","group":0,"hexcode":"1F920","order":64,"tags":["cowboy","cowgirl","face","hat"],"unicode":"🤠"},{"annotation":"partying face","group":0,"hexcode":"1F973","order":65,"tags":["celebration","hat","horn","party"],"unicode":"🥳"},{"annotation":"disguised face","group":0,"hexcode":"1F978","order":66,"tags":["disguise","face","glasses","incognito","nose"],"unicode":"🥸"},{"annotation":"smiling face with sunglasses","group":0,"hexcode":"1F60E","order":67,"tags":["bright","cool","face","sun","sunglasses"],"unicode":"😎","emoticon":"8)"},{"annotation":"nerd face","group":0,"hexcode":"1F913","order":68,"tags":["face","geek","nerd"],"unicode":"🤓","emoticon":":B"},{"annotation":"face with monocle","group":0,"hexcode":"1F9D0","order":69,"tags":["stuffy"],"unicode":"🧐"},{"annotation":"confused face","group":0,"hexcode":"1F615","order":70,"tags":["confused","face","meh"],"unicode":"😕","emoticon":":/"},{"annotation":"worried face","group":0,"hexcode":"1F61F","order":71,"tags":["face","worried"],"unicode":"😟"},{"annotation":"slightly frowning face","group":0,"hexcode":"1F641","order":72,"tags":["face","frown"],"unicode":"🙁"},{"annotation":"frowning face","group":0,"hexcode":"2639","order":74,"tags":["face","frown"],"unicode":"☹️","emoticon":":("},{"annotation":"face with open mouth","group":0,"hexcode":"1F62E","order":75,"tags":["face","mouth","open","sympathy"],"unicode":"😮"},{"annotation":"hushed face","group":0,"hexcode":"1F62F","order":76,"tags":["face","hushed","stunned","surprised"],"unicode":"😯"},{"annotation":"astonished face","group":0,"hexcode":"1F632","order":77,"tags":["astonished","face","shocked","totally"],"unicode":"😲","emoticon":":o"},{"annotation":"flushed face","group":0,"hexcode":"1F633","order":78,"tags":["dazed","face","flushed"],"unicode":"😳","emoticon":":$"},{"annotation":"pleading face","group":0,"hexcode":"1F97A","order":79,"tags":["begging","mercy","puppy eyes"],"unicode":"🥺"},{"annotation":"frowning face with open mouth","group":0,"hexcode":"1F626","order":80,"tags":["face","frown","mouth","open"],"unicode":"😦"},{"annotation":"anguished face","group":0,"hexcode":"1F627","order":81,"tags":["anguished","face"],"unicode":"😧","emoticon":":s"},{"annotation":"fearful face","group":0,"hexcode":"1F628","order":82,"tags":["face","fear","fearful","scared"],"unicode":"😨"},{"annotation":"anxious face with sweat","group":0,"hexcode":"1F630","order":83,"tags":["blue","cold","face","rushed","sweat"],"unicode":"😰"},{"annotation":"sad but relieved face","group":0,"hexcode":"1F625","order":84,"tags":["disappointed","face","relieved","whew"],"unicode":"😥"},{"annotation":"crying face","group":0,"hexcode":"1F622","order":85,"tags":["cry","face","sad","tear"],"unicode":"😢","emoticon":":\'("},{"annotation":"loudly crying face","group":0,"hexcode":"1F62D","order":86,"tags":["cry","face","sad","sob","tear"],"unicode":"😭","emoticon":":\'o"},{"annotation":"face screaming in fear","group":0,"hexcode":"1F631","order":87,"tags":["face","fear","munch","scared","scream"],"unicode":"😱","emoticon":"Dx"},{"annotation":"confounded face","group":0,"hexcode":"1F616","order":88,"tags":["confounded","face"],"unicode":"😖","emoticon":"x("},{"annotation":"persevering face","group":0,"hexcode":"1F623","order":89,"tags":["face","persevere"],"unicode":"😣"},{"annotation":"disappointed face","group":0,"hexcode":"1F61E","order":90,"tags":["disappointed","face"],"unicode":"😞"},{"annotation":"downcast face with sweat","group":0,"hexcode":"1F613","order":91,"tags":["cold","face","sweat"],"unicode":"😓","emoticon":":<"},{"annotation":"weary face","group":0,"hexcode":"1F629","order":92,"tags":["face","tired","weary"],"unicode":"😩","emoticon":"D:"},{"annotation":"tired face","group":0,"hexcode":"1F62B","order":93,"tags":["face","tired"],"unicode":"😫","emoticon":":c"},{"annotation":"yawning face","group":0,"hexcode":"1F971","order":94,"tags":["bored","tired","yawn"],"unicode":"🥱"},{"annotation":"face with steam from nose","group":0,"hexcode":"1F624","order":95,"tags":["face","triumph","won"],"unicode":"😤"},{"annotation":"pouting face","group":0,"hexcode":"1F621","order":96,"tags":["angry","face","mad","pouting","rage","red"],"unicode":"😡","emoticon":">:/"},{"annotation":"angry face","group":0,"hexcode":"1F620","order":97,"tags":["anger","angry","face","mad"],"unicode":"😠"},{"annotation":"face with symbols on mouth","group":0,"hexcode":"1F92C","order":98,"tags":["swearing"],"unicode":"🤬","emoticon":":@"},{"annotation":"smiling face with horns","group":0,"hexcode":"1F608","order":99,"tags":["face","fairy tale","fantasy","horns","smile"],"unicode":"😈","emoticon":">:)"},{"annotation":"angry face with horns","group":0,"hexcode":"1F47F","order":100,"tags":["demon","devil","face","fantasy","imp"],"unicode":"👿","emoticon":">:("},{"annotation":"skull","group":0,"hexcode":"1F480","order":101,"tags":["death","face","fairy tale","monster"],"unicode":"💀"},{"annotation":"skull and crossbones","group":0,"hexcode":"2620","order":103,"tags":["crossbones","death","face","monster","skull"],"unicode":"☠️"},{"annotation":"pile of poo","group":0,"hexcode":"1F4A9","order":104,"tags":["dung","face","monster","poo","poop"],"unicode":"💩"},{"annotation":"clown face","group":0,"hexcode":"1F921","order":105,"tags":["clown","face"],"unicode":"🤡"},{"annotation":"ogre","group":0,"hexcode":"1F479","order":106,"tags":["creature","face","fairy tale","fantasy","monster"],"unicode":"👹","emoticon":">0)"},{"annotation":"goblin","group":0,"hexcode":"1F47A","order":107,"tags":["creature","face","fairy tale","fantasy","monster"],"unicode":"👺"},{"annotation":"ghost","group":0,"hexcode":"1F47B","order":108,"tags":["creature","face","fairy tale","fantasy","monster"],"unicode":"👻"},{"annotation":"alien","group":0,"hexcode":"1F47D","order":109,"tags":["creature","extraterrestrial","face","fantasy","ufo"],"unicode":"👽️"},{"annotation":"alien monster","group":0,"hexcode":"1F47E","order":110,"tags":["alien","creature","extraterrestrial","face","monster","ufo"],"unicode":"👾"},{"annotation":"robot","group":0,"hexcode":"1F916","order":111,"tags":["face","monster"],"unicode":"🤖"},{"annotation":"grinning cat","group":0,"hexcode":"1F63A","order":112,"tags":["cat","face","grinning","mouth","open","smile"],"unicode":"😺"},{"annotation":"grinning cat with smiling eyes","group":0,"hexcode":"1F638","order":113,"tags":["cat","eye","face","grin","smile"],"unicode":"😸"},{"annotation":"cat with tears of joy","group":0,"hexcode":"1F639","order":114,"tags":["cat","face","joy","tear"],"unicode":"😹"},{"annotation":"smiling cat with heart-eyes","group":0,"hexcode":"1F63B","order":115,"tags":["cat","eye","face","heart","love","smile"],"unicode":"😻"},{"annotation":"cat with wry smile","group":0,"hexcode":"1F63C","order":116,"tags":["cat","face","ironic","smile","wry"],"unicode":"😼"},{"annotation":"kissing cat","group":0,"hexcode":"1F63D","order":117,"tags":["cat","eye","face","kiss"],"unicode":"😽","emoticon":":3"},{"annotation":"weary cat","group":0,"hexcode":"1F640","order":118,"tags":["cat","face","oh","surprised","weary"],"unicode":"🙀"},{"annotation":"crying cat","group":0,"hexcode":"1F63F","order":119,"tags":["cat","cry","face","sad","tear"],"unicode":"😿"},{"annotation":"pouting cat","group":0,"hexcode":"1F63E","order":120,"tags":["cat","face","pouting"],"unicode":"😾"},{"annotation":"see-no-evil monkey","group":0,"hexcode":"1F648","order":121,"tags":["evil","face","forbidden","monkey","see"],"unicode":"🙈"},{"annotation":"hear-no-evil monkey","group":0,"hexcode":"1F649","order":122,"tags":["evil","face","forbidden","hear","monkey"],"unicode":"🙉"},{"annotation":"speak-no-evil monkey","group":0,"hexcode":"1F64A","order":123,"tags":["evil","face","forbidden","monkey","speak"],"unicode":"🙊"},{"annotation":"kiss mark","group":0,"hexcode":"1F48B","order":124,"tags":["kiss","lips"],"unicode":"💋"},{"annotation":"love letter","group":0,"hexcode":"1F48C","order":125,"tags":["heart","letter","love","mail"],"unicode":"💌"},{"annotation":"heart with arrow","group":0,"hexcode":"1F498","order":126,"tags":["arrow","cupid"],"unicode":"💘"},{"annotation":"heart with ribbon","group":0,"hexcode":"1F49D","order":127,"tags":["ribbon","valentine"],"unicode":"💝"},{"annotation":"sparkling heart","group":0,"hexcode":"1F496","order":128,"tags":["excited","sparkle"],"unicode":"💖"},{"annotation":"growing heart","group":0,"hexcode":"1F497","order":129,"tags":["excited","growing","nervous","pulse"],"unicode":"💗"},{"annotation":"beating heart","group":0,"hexcode":"1F493","order":130,"tags":["beating","heartbeat","pulsating"],"unicode":"💓"},{"annotation":"revolving hearts","group":0,"hexcode":"1F49E","order":131,"tags":["revolving"],"unicode":"💞"},{"annotation":"two hearts","group":0,"hexcode":"1F495","order":132,"tags":["love"],"unicode":"💕"},{"annotation":"heart decoration","group":0,"hexcode":"1F49F","order":133,"tags":["heart"],"unicode":"💟"},{"annotation":"heart exclamation","group":0,"hexcode":"2763","order":135,"tags":["exclamation","mark","punctuation"],"unicode":"❣️"},{"annotation":"broken heart","group":0,"hexcode":"1F494","order":136,"tags":["break","broken"],"unicode":"💔","emoticon":"","skins":[{"annotation":"man mage: light skin tone","group":1,"hexcode":"1F9D9-1F3FB-200D-2642-FE0F","order":1623,"unicode":"🧙🏻‍♂️"},{"annotation":"man mage: medium-light skin tone","group":1,"hexcode":"1F9D9-1F3FC-200D-2642-FE0F","order":1625,"unicode":"🧙🏼‍♂️"},{"annotation":"man mage: medium skin tone","group":1,"hexcode":"1F9D9-1F3FD-200D-2642-FE0F","order":1627,"unicode":"🧙🏽‍♂️"},{"annotation":"man mage: medium-dark skin tone","group":1,"hexcode":"1F9D9-1F3FE-200D-2642-FE0F","order":1629,"unicode":"🧙🏾‍♂️"},{"annotation":"man mage: dark skin tone","group":1,"hexcode":"1F9D9-1F3FF-200D-2642-FE0F","order":1631,"unicode":"🧙🏿‍♂️"}]},{"annotation":"woman mage","group":1,"hexcode":"1F9D9-200D-2640-FE0F","order":1633,"tags":["sorceress","witch"],"unicode":"🧙‍♀️","skins":[{"annotation":"woman mage: light skin tone","group":1,"hexcode":"1F9D9-1F3FB-200D-2640-FE0F","order":1635,"unicode":"🧙🏻‍♀️"},{"annotation":"woman mage: medium-light skin tone","group":1,"hexcode":"1F9D9-1F3FC-200D-2640-FE0F","order":1637,"unicode":"🧙🏼‍♀️"},{"annotation":"woman mage: medium skin tone","group":1,"hexcode":"1F9D9-1F3FD-200D-2640-FE0F","order":1639,"unicode":"🧙🏽‍♀️"},{"annotation":"woman mage: medium-dark skin tone","group":1,"hexcode":"1F9D9-1F3FE-200D-2640-FE0F","order":1641,"unicode":"🧙🏾‍♀️"},{"annotation":"woman mage: dark skin tone","group":1,"hexcode":"1F9D9-1F3FF-200D-2640-FE0F","order":1643,"unicode":"🧙🏿‍♀️"}]},{"annotation":"fairy","group":1,"hexcode":"1F9DA","order":1645,"tags":["oberon","puck","titania"],"unicode":"🧚","skins":[{"annotation":"fairy: light skin tone","group":1,"hexcode":"1F9DA-1F3FB","order":1646,"unicode":"🧚🏻"},{"annotation":"fairy: medium-light skin tone","group":1,"hexcode":"1F9DA-1F3FC","order":1647,"unicode":"🧚🏼"},{"annotation":"fairy: medium skin tone","group":1,"hexcode":"1F9DA-1F3FD","order":1648,"unicode":"🧚🏽"},{"annotation":"fairy: medium-dark skin tone","group":1,"hexcode":"1F9DA-1F3FE","order":1649,"unicode":"🧚🏾"},{"annotation":"fairy: dark skin tone","group":1,"hexcode":"1F9DA-1F3FF","order":1650,"unicode":"🧚🏿"}]},{"annotation":"man fairy","group":1,"hexcode":"1F9DA-200D-2642-FE0F","order":1651,"tags":["oberon","puck"],"unicode":"🧚‍♂️","skins":[{"annotation":"man fairy: light skin tone","group":1,"hexcode":"1F9DA-1F3FB-200D-2642-FE0F","order":1653,"unicode":"🧚🏻‍♂️"},{"annotation":"man fairy: medium-light skin tone","group":1,"hexcode":"1F9DA-1F3FC-200D-2642-FE0F","order":1655,"unicode":"🧚🏼‍♂️"},{"annotation":"man fairy: medium skin tone","group":1,"hexcode":"1F9DA-1F3FD-200D-2642-FE0F","order":1657,"unicode":"🧚🏽‍♂️"},{"annotation":"man fairy: medium-dark skin tone","group":1,"hexcode":"1F9DA-1F3FE-200D-2642-FE0F","order":1659,"unicode":"🧚🏾‍♂️"},{"annotation":"man fairy: dark skin tone","group":1,"hexcode":"1F9DA-1F3FF-200D-2642-FE0F","order":1661,"unicode":"🧚🏿‍♂️"}]},{"annotation":"woman fairy","group":1,"hexcode":"1F9DA-200D-2640-FE0F","order":1663,"tags":["titania"],"unicode":"🧚‍♀️","skins":[{"annotation":"woman fairy: light skin tone","group":1,"hexcode":"1F9DA-1F3FB-200D-2640-FE0F","order":1665,"unicode":"🧚🏻‍♀️"},{"annotation":"woman fairy: medium-light skin tone","group":1,"hexcode":"1F9DA-1F3FC-200D-2640-FE0F","order":1667,"unicode":"🧚🏼‍♀️"},{"annotation":"woman fairy: medium skin tone","group":1,"hexcode":"1F9DA-1F3FD-200D-2640-FE0F","order":1669,"unicode":"🧚🏽‍♀️"},{"annotation":"woman fairy: medium-dark skin tone","group":1,"hexcode":"1F9DA-1F3FE-200D-2640-FE0F","order":1671,"unicode":"🧚🏾‍♀️"},{"annotation":"woman fairy: dark skin tone","group":1,"hexcode":"1F9DA-1F3FF-200D-2640-FE0F","order":1673,"unicode":"🧚🏿‍♀️"}]},{"annotation":"vampire","group":1,"hexcode":"1F9DB","order":1675,"tags":["dracula","undead"],"unicode":"🧛","emoticon":":E","skins":[{"annotation":"vampire: light skin tone","group":1,"hexcode":"1F9DB-1F3FB","order":1676,"unicode":"🧛🏻"},{"annotation":"vampire: medium-light skin tone","group":1,"hexcode":"1F9DB-1F3FC","order":1677,"unicode":"🧛🏼"},{"annotation":"vampire: medium skin tone","group":1,"hexcode":"1F9DB-1F3FD","order":1678,"unicode":"🧛🏽"},{"annotation":"vampire: medium-dark skin tone","group":1,"hexcode":"1F9DB-1F3FE","order":1679,"unicode":"🧛🏾"},{"annotation":"vampire: dark skin tone","group":1,"hexcode":"1F9DB-1F3FF","order":1680,"unicode":"🧛🏿"}]},{"annotation":"man vampire","group":1,"hexcode":"1F9DB-200D-2642-FE0F","order":1681,"tags":["dracula","undead"],"unicode":"🧛‍♂️","skins":[{"annotation":"man vampire: light skin tone","group":1,"hexcode":"1F9DB-1F3FB-200D-2642-FE0F","order":1683,"unicode":"🧛🏻‍♂️"},{"annotation":"man vampire: medium-light skin tone","group":1,"hexcode":"1F9DB-1F3FC-200D-2642-FE0F","order":1685,"unicode":"🧛🏼‍♂️"},{"annotation":"man vampire: medium skin tone","group":1,"hexcode":"1F9DB-1F3FD-200D-2642-FE0F","order":1687,"unicode":"🧛🏽‍♂️"},{"annotation":"man vampire: medium-dark skin tone","group":1,"hexcode":"1F9DB-1F3FE-200D-2642-FE0F","order":1689,"unicode":"🧛🏾‍♂️"},{"annotation":"man vampire: dark skin tone","group":1,"hexcode":"1F9DB-1F3FF-200D-2642-FE0F","order":1691,"unicode":"🧛🏿‍♂️"}]},{"annotation":"woman vampire","group":1,"hexcode":"1F9DB-200D-2640-FE0F","order":1693,"tags":["undead"],"unicode":"🧛‍♀️","skins":[{"annotation":"woman vampire: light skin tone","group":1,"hexcode":"1F9DB-1F3FB-200D-2640-FE0F","order":1695,"unicode":"🧛🏻‍♀️"},{"annotation":"woman vampire: medium-light skin tone","group":1,"hexcode":"1F9DB-1F3FC-200D-2640-FE0F","order":1697,"unicode":"🧛🏼‍♀️"},{"annotation":"woman vampire: medium skin tone","group":1,"hexcode":"1F9DB-1F3FD-200D-2640-FE0F","order":1699,"unicode":"🧛🏽‍♀️"},{"annotation":"woman vampire: medium-dark skin tone","group":1,"hexcode":"1F9DB-1F3FE-200D-2640-FE0F","order":1701,"unicode":"🧛🏾‍♀️"},{"annotation":"woman vampire: dark skin tone","group":1,"hexcode":"1F9DB-1F3FF-200D-2640-FE0F","order":1703,"unicode":"🧛🏿‍♀️"}]},{"annotation":"merperson","group":1,"hexcode":"1F9DC","order":1705,"tags":["mermaid","merman","merwoman"],"unicode":"🧜","skins":[{"annotation":"merperson: light skin tone","group":1,"hexcode":"1F9DC-1F3FB","order":1706,"unicode":"🧜🏻"},{"annotation":"merperson: medium-light skin tone","group":1,"hexcode":"1F9DC-1F3FC","order":1707,"unicode":"🧜🏼"},{"annotation":"merperson: medium skin tone","group":1,"hexcode":"1F9DC-1F3FD","order":1708,"unicode":"🧜🏽"},{"annotation":"merperson: medium-dark skin tone","group":1,"hexcode":"1F9DC-1F3FE","order":1709,"unicode":"🧜🏾"},{"annotation":"merperson: dark skin tone","group":1,"hexcode":"1F9DC-1F3FF","order":1710,"unicode":"🧜🏿"}]},{"annotation":"merman","group":1,"hexcode":"1F9DC-200D-2642-FE0F","order":1711,"tags":["triton"],"unicode":"🧜‍♂️","skins":[{"annotation":"merman: light skin tone","group":1,"hexcode":"1F9DC-1F3FB-200D-2642-FE0F","order":1713,"unicode":"🧜🏻‍♂️"},{"annotation":"merman: medium-light skin tone","group":1,"hexcode":"1F9DC-1F3FC-200D-2642-FE0F","order":1715,"unicode":"🧜🏼‍♂️"},{"annotation":"merman: medium skin tone","group":1,"hexcode":"1F9DC-1F3FD-200D-2642-FE0F","order":1717,"unicode":"🧜🏽‍♂️"},{"annotation":"merman: medium-dark skin tone","group":1,"hexcode":"1F9DC-1F3FE-200D-2642-FE0F","order":1719,"unicode":"🧜🏾‍♂️"},{"annotation":"merman: dark skin tone","group":1,"hexcode":"1F9DC-1F3FF-200D-2642-FE0F","order":1721,"unicode":"🧜🏿‍♂️"}]},{"annotation":"mermaid","group":1,"hexcode":"1F9DC-200D-2640-FE0F","order":1723,"tags":["merwoman"],"unicode":"🧜‍♀️","skins":[{"annotation":"mermaid: light skin tone","group":1,"hexcode":"1F9DC-1F3FB-200D-2640-FE0F","order":1725,"unicode":"🧜🏻‍♀️"},{"annotation":"mermaid: medium-light skin tone","group":1,"hexcode":"1F9DC-1F3FC-200D-2640-FE0F","order":1727,"unicode":"🧜🏼‍♀️"},{"annotation":"mermaid: medium skin tone","group":1,"hexcode":"1F9DC-1F3FD-200D-2640-FE0F","order":1729,"unicode":"🧜🏽‍♀️"},{"annotation":"mermaid: medium-dark skin tone","group":1,"hexcode":"1F9DC-1F3FE-200D-2640-FE0F","order":1731,"unicode":"🧜🏾‍♀️"},{"annotation":"mermaid: dark skin tone","group":1,"hexcode":"1F9DC-1F3FF-200D-2640-FE0F","order":1733,"unicode":"🧜🏿‍♀️"}]},{"annotation":"elf","group":1,"hexcode":"1F9DD","order":1735,"tags":["magical"],"unicode":"🧝","skins":[{"annotation":"elf: light skin tone","group":1,"hexcode":"1F9DD-1F3FB","order":1736,"unicode":"🧝🏻"},{"annotation":"elf: medium-light skin tone","group":1,"hexcode":"1F9DD-1F3FC","order":1737,"unicode":"🧝🏼"},{"annotation":"elf: medium skin tone","group":1,"hexcode":"1F9DD-1F3FD","order":1738,"unicode":"🧝🏽"},{"annotation":"elf: medium-dark skin tone","group":1,"hexcode":"1F9DD-1F3FE","order":1739,"unicode":"🧝🏾"},{"annotation":"elf: dark skin tone","group":1,"hexcode":"1F9DD-1F3FF","order":1740,"unicode":"🧝🏿"}]},{"annotation":"man elf","group":1,"hexcode":"1F9DD-200D-2642-FE0F","order":1741,"tags":["magical"],"unicode":"🧝‍♂️","skins":[{"annotation":"man elf: light skin tone","group":1,"hexcode":"1F9DD-1F3FB-200D-2642-FE0F","order":1743,"unicode":"🧝🏻‍♂️"},{"annotation":"man elf: medium-light skin tone","group":1,"hexcode":"1F9DD-1F3FC-200D-2642-FE0F","order":1745,"unicode":"🧝🏼‍♂️"},{"annotation":"man elf: medium skin tone","group":1,"hexcode":"1F9DD-1F3FD-200D-2642-FE0F","order":1747,"unicode":"🧝🏽‍♂️"},{"annotation":"man elf: medium-dark skin tone","group":1,"hexcode":"1F9DD-1F3FE-200D-2642-FE0F","order":1749,"unicode":"🧝🏾‍♂️"},{"annotation":"man elf: dark skin tone","group":1,"hexcode":"1F9DD-1F3FF-200D-2642-FE0F","order":1751,"unicode":"🧝🏿‍♂️"}]},{"annotation":"woman elf","group":1,"hexcode":"1F9DD-200D-2640-FE0F","order":1753,"tags":["magical"],"unicode":"🧝‍♀️","skins":[{"annotation":"woman elf: light skin tone","group":1,"hexcode":"1F9DD-1F3FB-200D-2640-FE0F","order":1755,"unicode":"🧝🏻‍♀️"},{"annotation":"woman elf: medium-light skin tone","group":1,"hexcode":"1F9DD-1F3FC-200D-2640-FE0F","order":1757,"unicode":"🧝🏼‍♀️"},{"annotation":"woman elf: medium skin tone","group":1,"hexcode":"1F9DD-1F3FD-200D-2640-FE0F","order":1759,"unicode":"🧝🏽‍♀️"},{"annotation":"woman elf: medium-dark skin tone","group":1,"hexcode":"1F9DD-1F3FE-200D-2640-FE0F","order":1761,"unicode":"🧝🏾‍♀️"},{"annotation":"woman elf: dark skin tone","group":1,"hexcode":"1F9DD-1F3FF-200D-2640-FE0F","order":1763,"unicode":"🧝🏿‍♀️"}]},{"annotation":"genie","group":1,"hexcode":"1F9DE","order":1765,"tags":["djinn"],"unicode":"🧞"},{"annotation":"man genie","group":1,"hexcode":"1F9DE-200D-2642-FE0F","order":1766,"tags":["djinn"],"unicode":"🧞‍♂️"},{"annotation":"woman genie","group":1,"hexcode":"1F9DE-200D-2640-FE0F","order":1768,"tags":["djinn"],"unicode":"🧞‍♀️"},{"annotation":"zombie","group":1,"hexcode":"1F9DF","order":1770,"tags":["undead","walking dead"],"unicode":"🧟","emoticon":"8#"},{"annotation":"man zombie","group":1,"hexcode":"1F9DF-200D-2642-FE0F","order":1771,"tags":["undead","walking dead"],"unicode":"🧟‍♂️"},{"annotation":"woman zombie","group":1,"hexcode":"1F9DF-200D-2640-FE0F","order":1773,"tags":["undead","walking dead"],"unicode":"🧟‍♀️"},{"annotation":"person getting massage","group":1,"hexcode":"1F486","order":1775,"tags":["face","massage","salon"],"unicode":"💆","skins":[{"annotation":"person getting massage: light skin tone","group":1,"hexcode":"1F486-1F3FB","order":1776,"unicode":"💆🏻"},{"annotation":"person getting massage: medium-light skin tone","group":1,"hexcode":"1F486-1F3FC","order":1777,"unicode":"💆🏼"},{"annotation":"person getting massage: medium skin tone","group":1,"hexcode":"1F486-1F3FD","order":1778,"unicode":"💆🏽"},{"annotation":"person getting massage: medium-dark skin tone","group":1,"hexcode":"1F486-1F3FE","order":1779,"unicode":"💆🏾"},{"annotation":"person getting massage: dark skin tone","group":1,"hexcode":"1F486-1F3FF","order":1780,"unicode":"💆🏿"}]},{"annotation":"man getting massage","group":1,"hexcode":"1F486-200D-2642-FE0F","order":1781,"tags":["face","man","massage"],"unicode":"💆‍♂️","skins":[{"annotation":"man getting massage: light skin tone","group":1,"hexcode":"1F486-1F3FB-200D-2642-FE0F","order":1783,"unicode":"💆🏻‍♂️"},{"annotation":"man getting massage: medium-light skin tone","group":1,"hexcode":"1F486-1F3FC-200D-2642-FE0F","order":1785,"unicode":"💆🏼‍♂️"},{"annotation":"man getting massage: medium skin tone","group":1,"hexcode":"1F486-1F3FD-200D-2642-FE0F","order":1787,"unicode":"💆🏽‍♂️"},{"annotation":"man getting massage: medium-dark skin tone","group":1,"hexcode":"1F486-1F3FE-200D-2642-FE0F","order":1789,"unicode":"💆🏾‍♂️"},{"annotation":"man getting massage: dark skin tone","group":1,"hexcode":"1F486-1F3FF-200D-2642-FE0F","order":1791,"unicode":"💆🏿‍♂️"}]},{"annotation":"woman getting massage","group":1,"hexcode":"1F486-200D-2640-FE0F","order":1793,"tags":["face","massage","woman"],"unicode":"💆‍♀️","skins":[{"annotation":"woman getting massage: light skin tone","group":1,"hexcode":"1F486-1F3FB-200D-2640-FE0F","order":1795,"unicode":"💆🏻‍♀️"},{"annotation":"woman getting massage: medium-light skin tone","group":1,"hexcode":"1F486-1F3FC-200D-2640-FE0F","order":1797,"unicode":"💆🏼‍♀️"},{"annotation":"woman getting massage: medium skin tone","group":1,"hexcode":"1F486-1F3FD-200D-2640-FE0F","order":1799,"unicode":"💆🏽‍♀️"},{"annotation":"woman getting massage: medium-dark skin tone","group":1,"hexcode":"1F486-1F3FE-200D-2640-FE0F","order":1801,"unicode":"💆🏾‍♀️"},{"annotation":"woman getting massage: dark skin tone","group":1,"hexcode":"1F486-1F3FF-200D-2640-FE0F","order":1803,"unicode":"💆🏿‍♀️"}]},{"annotation":"person getting haircut","group":1,"hexcode":"1F487","order":1805,"tags":["barber","beauty","haircut","parlor"],"unicode":"💇","skins":[{"annotation":"person getting haircut: light skin tone","group":1,"hexcode":"1F487-1F3FB","order":1806,"unicode":"💇🏻"},{"annotation":"person getting haircut: medium-light skin tone","group":1,"hexcode":"1F487-1F3FC","order":1807,"unicode":"💇🏼"},{"annotation":"person getting haircut: medium skin tone","group":1,"hexcode":"1F487-1F3FD","order":1808,"unicode":"💇🏽"},{"annotation":"person getting haircut: medium-dark skin tone","group":1,"hexcode":"1F487-1F3FE","order":1809,"unicode":"💇🏾"},{"annotation":"person getting haircut: dark skin tone","group":1,"hexcode":"1F487-1F3FF","order":1810,"unicode":"💇🏿"}]},{"annotation":"man getting haircut","group":1,"hexcode":"1F487-200D-2642-FE0F","order":1811,"tags":["haircut","man"],"unicode":"💇‍♂️","skins":[{"annotation":"man getting haircut: light skin tone","group":1,"hexcode":"1F487-1F3FB-200D-2642-FE0F","order":1813,"unicode":"💇🏻‍♂️"},{"annotation":"man getting haircut: medium-light skin tone","group":1,"hexcode":"1F487-1F3FC-200D-2642-FE0F","order":1815,"unicode":"💇🏼‍♂️"},{"annotation":"man getting haircut: medium skin tone","group":1,"hexcode":"1F487-1F3FD-200D-2642-FE0F","order":1817,"unicode":"💇🏽‍♂️"},{"annotation":"man getting haircut: medium-dark skin tone","group":1,"hexcode":"1F487-1F3FE-200D-2642-FE0F","order":1819,"unicode":"💇🏾‍♂️"},{"annotation":"man getting haircut: dark skin tone","group":1,"hexcode":"1F487-1F3FF-200D-2642-FE0F","order":1821,"unicode":"💇🏿‍♂️"}]},{"annotation":"woman getting haircut","group":1,"hexcode":"1F487-200D-2640-FE0F","order":1823,"tags":["haircut","woman"],"unicode":"💇‍♀️","skins":[{"annotation":"woman getting haircut: light skin tone","group":1,"hexcode":"1F487-1F3FB-200D-2640-FE0F","order":1825,"unicode":"💇🏻‍♀️"},{"annotation":"woman getting haircut: medium-light skin tone","group":1,"hexcode":"1F487-1F3FC-200D-2640-FE0F","order":1827,"unicode":"💇🏼‍♀️"},{"annotation":"woman getting haircut: medium skin tone","group":1,"hexcode":"1F487-1F3FD-200D-2640-FE0F","order":1829,"unicode":"💇🏽‍♀️"},{"annotation":"woman getting haircut: medium-dark skin tone","group":1,"hexcode":"1F487-1F3FE-200D-2640-FE0F","order":1831,"unicode":"💇🏾‍♀️"},{"annotation":"woman getting haircut: dark skin tone","group":1,"hexcode":"1F487-1F3FF-200D-2640-FE0F","order":1833,"unicode":"💇🏿‍♀️"}]},{"annotation":"person walking","group":1,"hexcode":"1F6B6","order":1835,"tags":["hike","walk","walking"],"unicode":"🚶","skins":[{"annotation":"person walking: light skin tone","group":1,"hexcode":"1F6B6-1F3FB","order":1836,"unicode":"🚶🏻"},{"annotation":"person walking: medium-light skin tone","group":1,"hexcode":"1F6B6-1F3FC","order":1837,"unicode":"🚶🏼"},{"annotation":"person walking: medium skin tone","group":1,"hexcode":"1F6B6-1F3FD","order":1838,"unicode":"🚶🏽"},{"annotation":"person walking: medium-dark skin tone","group":1,"hexcode":"1F6B6-1F3FE","order":1839,"unicode":"🚶🏾"},{"annotation":"person walking: dark skin tone","group":1,"hexcode":"1F6B6-1F3FF","order":1840,"unicode":"🚶🏿"}]},{"annotation":"man walking","group":1,"hexcode":"1F6B6-200D-2642-FE0F","order":1841,"tags":["hike","man","walk"],"unicode":"🚶‍♂️","skins":[{"annotation":"man walking: light skin tone","group":1,"hexcode":"1F6B6-1F3FB-200D-2642-FE0F","order":1843,"unicode":"🚶🏻‍♂️"},{"annotation":"man walking: medium-light skin tone","group":1,"hexcode":"1F6B6-1F3FC-200D-2642-FE0F","order":1845,"unicode":"🚶🏼‍♂️"},{"annotation":"man walking: medium skin tone","group":1,"hexcode":"1F6B6-1F3FD-200D-2642-FE0F","order":1847,"unicode":"🚶🏽‍♂️"},{"annotation":"man walking: medium-dark skin tone","group":1,"hexcode":"1F6B6-1F3FE-200D-2642-FE0F","order":1849,"unicode":"🚶🏾‍♂️"},{"annotation":"man walking: dark skin tone","group":1,"hexcode":"1F6B6-1F3FF-200D-2642-FE0F","order":1851,"unicode":"🚶🏿‍♂️"}]},{"annotation":"woman walking","group":1,"hexcode":"1F6B6-200D-2640-FE0F","order":1853,"tags":["hike","walk","woman"],"unicode":"🚶‍♀️","skins":[{"annotation":"woman walking: light skin tone","group":1,"hexcode":"1F6B6-1F3FB-200D-2640-FE0F","order":1855,"unicode":"🚶🏻‍♀️"},{"annotation":"woman walking: medium-light skin tone","group":1,"hexcode":"1F6B6-1F3FC-200D-2640-FE0F","order":1857,"unicode":"🚶🏼‍♀️"},{"annotation":"woman walking: medium skin tone","group":1,"hexcode":"1F6B6-1F3FD-200D-2640-FE0F","order":1859,"unicode":"🚶🏽‍♀️"},{"annotation":"woman walking: medium-dark skin tone","group":1,"hexcode":"1F6B6-1F3FE-200D-2640-FE0F","order":1861,"unicode":"🚶🏾‍♀️"},{"annotation":"woman walking: dark skin tone","group":1,"hexcode":"1F6B6-1F3FF-200D-2640-FE0F","order":1863,"unicode":"🚶🏿‍♀️"}]},{"annotation":"person standing","group":1,"hexcode":"1F9CD","order":1865,"tags":["stand","standing"],"unicode":"🧍","skins":[{"annotation":"person standing: light skin tone","group":1,"hexcode":"1F9CD-1F3FB","order":1866,"unicode":"🧍🏻"},{"annotation":"person standing: medium-light skin tone","group":1,"hexcode":"1F9CD-1F3FC","order":1867,"unicode":"🧍🏼"},{"annotation":"person standing: medium skin tone","group":1,"hexcode":"1F9CD-1F3FD","order":1868,"unicode":"🧍🏽"},{"annotation":"person standing: medium-dark skin tone","group":1,"hexcode":"1F9CD-1F3FE","order":1869,"unicode":"🧍🏾"},{"annotation":"person standing: dark skin tone","group":1,"hexcode":"1F9CD-1F3FF","order":1870,"unicode":"🧍🏿"}]},{"annotation":"man standing","group":1,"hexcode":"1F9CD-200D-2642-FE0F","order":1871,"tags":["man","standing"],"unicode":"🧍‍♂️","skins":[{"annotation":"man standing: light skin tone","group":1,"hexcode":"1F9CD-1F3FB-200D-2642-FE0F","order":1873,"unicode":"🧍🏻‍♂️"},{"annotation":"man standing: medium-light skin tone","group":1,"hexcode":"1F9CD-1F3FC-200D-2642-FE0F","order":1875,"unicode":"🧍🏼‍♂️"},{"annotation":"man standing: medium skin tone","group":1,"hexcode":"1F9CD-1F3FD-200D-2642-FE0F","order":1877,"unicode":"🧍🏽‍♂️"},{"annotation":"man standing: medium-dark skin tone","group":1,"hexcode":"1F9CD-1F3FE-200D-2642-FE0F","order":1879,"unicode":"🧍🏾‍♂️"},{"annotation":"man standing: dark skin tone","group":1,"hexcode":"1F9CD-1F3FF-200D-2642-FE0F","order":1881,"unicode":"🧍🏿‍♂️"}]},{"annotation":"woman standing","group":1,"hexcode":"1F9CD-200D-2640-FE0F","order":1883,"tags":["standing","woman"],"unicode":"🧍‍♀️","skins":[{"annotation":"woman standing: light skin tone","group":1,"hexcode":"1F9CD-1F3FB-200D-2640-FE0F","order":1885,"unicode":"🧍🏻‍♀️"},{"annotation":"woman standing: medium-light skin tone","group":1,"hexcode":"1F9CD-1F3FC-200D-2640-FE0F","order":1887,"unicode":"🧍🏼‍♀️"},{"annotation":"woman standing: medium skin tone","group":1,"hexcode":"1F9CD-1F3FD-200D-2640-FE0F","order":1889,"unicode":"🧍🏽‍♀️"},{"annotation":"woman standing: medium-dark skin tone","group":1,"hexcode":"1F9CD-1F3FE-200D-2640-FE0F","order":1891,"unicode":"🧍🏾‍♀️"},{"annotation":"woman standing: dark skin tone","group":1,"hexcode":"1F9CD-1F3FF-200D-2640-FE0F","order":1893,"unicode":"🧍🏿‍♀️"}]},{"annotation":"person kneeling","group":1,"hexcode":"1F9CE","order":1895,"tags":["kneel","kneeling"],"unicode":"🧎","skins":[{"annotation":"person kneeling: light skin tone","group":1,"hexcode":"1F9CE-1F3FB","order":1896,"unicode":"🧎🏻"},{"annotation":"person kneeling: medium-light skin tone","group":1,"hexcode":"1F9CE-1F3FC","order":1897,"unicode":"🧎🏼"},{"annotation":"person kneeling: medium skin tone","group":1,"hexcode":"1F9CE-1F3FD","order":1898,"unicode":"🧎🏽"},{"annotation":"person kneeling: medium-dark skin tone","group":1,"hexcode":"1F9CE-1F3FE","order":1899,"unicode":"🧎🏾"},{"annotation":"person kneeling: dark skin tone","group":1,"hexcode":"1F9CE-1F3FF","order":1900,"unicode":"🧎🏿"}]},{"annotation":"man kneeling","group":1,"hexcode":"1F9CE-200D-2642-FE0F","order":1901,"tags":["kneeling","man"],"unicode":"🧎‍♂️","skins":[{"annotation":"man kneeling: light skin tone","group":1,"hexcode":"1F9CE-1F3FB-200D-2642-FE0F","order":1903,"unicode":"🧎🏻‍♂️"},{"annotation":"man kneeling: medium-light skin tone","group":1,"hexcode":"1F9CE-1F3FC-200D-2642-FE0F","order":1905,"unicode":"🧎🏼‍♂️"},{"annotation":"man kneeling: medium skin tone","group":1,"hexcode":"1F9CE-1F3FD-200D-2642-FE0F","order":1907,"unicode":"🧎🏽‍♂️"},{"annotation":"man kneeling: medium-dark skin tone","group":1,"hexcode":"1F9CE-1F3FE-200D-2642-FE0F","order":1909,"unicode":"🧎🏾‍♂️"},{"annotation":"man kneeling: dark skin tone","group":1,"hexcode":"1F9CE-1F3FF-200D-2642-FE0F","order":1911,"unicode":"🧎🏿‍♂️"}]},{"annotation":"woman kneeling","group":1,"hexcode":"1F9CE-200D-2640-FE0F","order":1913,"tags":["kneeling","woman"],"unicode":"🧎‍♀️","skins":[{"annotation":"woman kneeling: light skin tone","group":1,"hexcode":"1F9CE-1F3FB-200D-2640-FE0F","order":1915,"unicode":"🧎🏻‍♀️"},{"annotation":"woman kneeling: medium-light skin tone","group":1,"hexcode":"1F9CE-1F3FC-200D-2640-FE0F","order":1917,"unicode":"🧎🏼‍♀️"},{"annotation":"woman kneeling: medium skin tone","group":1,"hexcode":"1F9CE-1F3FD-200D-2640-FE0F","order":1919,"unicode":"🧎🏽‍♀️"},{"annotation":"woman kneeling: medium-dark skin tone","group":1,"hexcode":"1F9CE-1F3FE-200D-2640-FE0F","order":1921,"unicode":"🧎🏾‍♀️"},{"annotation":"woman kneeling: dark skin tone","group":1,"hexcode":"1F9CE-1F3FF-200D-2640-FE0F","order":1923,"unicode":"🧎🏿‍♀️"}]},{"annotation":"person with white cane","group":1,"hexcode":"1F9D1-200D-1F9AF","order":1925,"tags":["accessibility","blind"],"unicode":"🧑‍🦯","skins":[{"annotation":"person with white cane: light skin tone","group":1,"hexcode":"1F9D1-1F3FB-200D-1F9AF","order":1926,"unicode":"🧑🏻‍🦯"},{"annotation":"person with white cane: medium-light skin tone","group":1,"hexcode":"1F9D1-1F3FC-200D-1F9AF","order":1927,"unicode":"🧑🏼‍🦯"},{"annotation":"person with white cane: medium skin tone","group":1,"hexcode":"1F9D1-1F3FD-200D-1F9AF","order":1928,"unicode":"🧑🏽‍🦯"},{"annotation":"person with white cane: medium-dark skin tone","group":1,"hexcode":"1F9D1-1F3FE-200D-1F9AF","order":1929,"unicode":"🧑🏾‍🦯"},{"annotation":"person with white cane: dark skin tone","group":1,"hexcode":"1F9D1-1F3FF-200D-1F9AF","order":1930,"unicode":"🧑🏿‍🦯"}]},{"annotation":"man with white cane","group":1,"hexcode":"1F468-200D-1F9AF","order":1931,"tags":["accessibility","blind","man"],"unicode":"👨‍🦯","skins":[{"annotation":"man with white cane: light skin tone","group":1,"hexcode":"1F468-1F3FB-200D-1F9AF","order":1932,"unicode":"👨🏻‍🦯"},{"annotation":"man with white cane: medium-light skin tone","group":1,"hexcode":"1F468-1F3FC-200D-1F9AF","order":1933,"unicode":"👨🏼‍🦯"},{"annotation":"man with white cane: medium skin tone","group":1,"hexcode":"1F468-1F3FD-200D-1F9AF","order":1934,"unicode":"👨🏽‍🦯"},{"annotation":"man with white cane: medium-dark skin tone","group":1,"hexcode":"1F468-1F3FE-200D-1F9AF","order":1935,"unicode":"👨🏾‍🦯"},{"annotation":"man with white cane: dark skin tone","group":1,"hexcode":"1F468-1F3FF-200D-1F9AF","order":1936,"unicode":"👨🏿‍🦯"}]},{"annotation":"woman with white cane","group":1,"hexcode":"1F469-200D-1F9AF","order":1937,"tags":["accessibility","blind","woman"],"unicode":"👩‍🦯","skins":[{"annotation":"woman with white cane: light skin tone","group":1,"hexcode":"1F469-1F3FB-200D-1F9AF","order":1938,"unicode":"👩🏻‍🦯"},{"annotation":"woman with white cane: medium-light skin tone","group":1,"hexcode":"1F469-1F3FC-200D-1F9AF","order":1939,"unicode":"👩🏼‍🦯"},{"annotation":"woman with white cane: medium skin tone","group":1,"hexcode":"1F469-1F3FD-200D-1F9AF","order":1940,"unicode":"👩🏽‍🦯"},{"annotation":"woman with white cane: medium-dark skin tone","group":1,"hexcode":"1F469-1F3FE-200D-1F9AF","order":1941,"unicode":"👩🏾‍🦯"},{"annotation":"woman with white cane: dark skin tone","group":1,"hexcode":"1F469-1F3FF-200D-1F9AF","order":1942,"unicode":"👩🏿‍🦯"}]},{"annotation":"person in motorized wheelchair","group":1,"hexcode":"1F9D1-200D-1F9BC","order":1943,"tags":["accessibility","wheelchair"],"unicode":"🧑‍🦼","skins":[{"annotation":"person in motorized wheelchair: light skin tone","group":1,"hexcode":"1F9D1-1F3FB-200D-1F9BC","order":1944,"unicode":"🧑🏻‍🦼"},{"annotation":"person in motorized wheelchair: medium-light skin tone","group":1,"hexcode":"1F9D1-1F3FC-200D-1F9BC","order":1945,"unicode":"🧑🏼‍🦼"},{"annotation":"person in motorized wheelchair: medium skin tone","group":1,"hexcode":"1F9D1-1F3FD-200D-1F9BC","order":1946,"unicode":"🧑🏽‍🦼"},{"annotation":"person in motorized wheelchair: medium-dark skin tone","group":1,"hexcode":"1F9D1-1F3FE-200D-1F9BC","order":1947,"unicode":"🧑🏾‍🦼"},{"annotation":"person in motorized wheelchair: dark skin tone","group":1,"hexcode":"1F9D1-1F3FF-200D-1F9BC","order":1948,"unicode":"🧑🏿‍🦼"}]},{"annotation":"man in motorized wheelchair","group":1,"hexcode":"1F468-200D-1F9BC","order":1949,"tags":["accessibility","man","wheelchair"],"unicode":"👨‍🦼","skins":[{"annotation":"man in motorized wheelchair: light skin tone","group":1,"hexcode":"1F468-1F3FB-200D-1F9BC","order":1950,"unicode":"👨🏻‍🦼"},{"annotation":"man in motorized wheelchair: medium-light skin tone","group":1,"hexcode":"1F468-1F3FC-200D-1F9BC","order":1951,"unicode":"👨🏼‍🦼"},{"annotation":"man in motorized wheelchair: medium skin tone","group":1,"hexcode":"1F468-1F3FD-200D-1F9BC","order":1952,"unicode":"👨🏽‍🦼"},{"annotation":"man in motorized wheelchair: medium-dark skin tone","group":1,"hexcode":"1F468-1F3FE-200D-1F9BC","order":1953,"unicode":"👨🏾‍🦼"},{"annotation":"man in motorized wheelchair: dark skin tone","group":1,"hexcode":"1F468-1F3FF-200D-1F9BC","order":1954,"unicode":"👨🏿‍🦼"}]},{"annotation":"woman in motorized wheelchair","group":1,"hexcode":"1F469-200D-1F9BC","order":1955,"tags":["accessibility","wheelchair","woman"],"unicode":"👩‍🦼","skins":[{"annotation":"woman in motorized wheelchair: light skin tone","group":1,"hexcode":"1F469-1F3FB-200D-1F9BC","order":1956,"unicode":"👩🏻‍🦼"},{"annotation":"woman in motorized wheelchair: medium-light skin tone","group":1,"hexcode":"1F469-1F3FC-200D-1F9BC","order":1957,"unicode":"👩🏼‍🦼"},{"annotation":"woman in motorized wheelchair: medium skin tone","group":1,"hexcode":"1F469-1F3FD-200D-1F9BC","order":1958,"unicode":"👩🏽‍🦼"},{"annotation":"woman in motorized wheelchair: medium-dark skin tone","group":1,"hexcode":"1F469-1F3FE-200D-1F9BC","order":1959,"unicode":"👩🏾‍🦼"},{"annotation":"woman in motorized wheelchair: dark skin tone","group":1,"hexcode":"1F469-1F3FF-200D-1F9BC","order":1960,"unicode":"👩🏿‍🦼"}]},{"annotation":"person in manual wheelchair","group":1,"hexcode":"1F9D1-200D-1F9BD","order":1961,"tags":["accessibility","wheelchair"],"unicode":"🧑‍🦽","skins":[{"annotation":"person in manual wheelchair: light skin tone","group":1,"hexcode":"1F9D1-1F3FB-200D-1F9BD","order":1962,"unicode":"🧑🏻‍🦽"},{"annotation":"person in manual wheelchair: medium-light skin tone","group":1,"hexcode":"1F9D1-1F3FC-200D-1F9BD","order":1963,"unicode":"🧑🏼‍🦽"},{"annotation":"person in manual wheelchair: medium skin tone","group":1,"hexcode":"1F9D1-1F3FD-200D-1F9BD","order":1964,"unicode":"🧑🏽‍🦽"},{"annotation":"person in manual wheelchair: medium-dark skin tone","group":1,"hexcode":"1F9D1-1F3FE-200D-1F9BD","order":1965,"unicode":"🧑🏾‍🦽"},{"annotation":"person in manual wheelchair: dark skin tone","group":1,"hexcode":"1F9D1-1F3FF-200D-1F9BD","order":1966,"unicode":"🧑🏿‍🦽"}]},{"annotation":"man in manual wheelchair","group":1,"hexcode":"1F468-200D-1F9BD","order":1967,"tags":["accessibility","man","wheelchair"],"unicode":"👨‍🦽","skins":[{"annotation":"man in manual wheelchair: light skin tone","group":1,"hexcode":"1F468-1F3FB-200D-1F9BD","order":1968,"unicode":"👨🏻‍🦽"},{"annotation":"man in manual wheelchair: medium-light skin tone","group":1,"hexcode":"1F468-1F3FC-200D-1F9BD","order":1969,"unicode":"👨🏼‍🦽"},{"annotation":"man in manual wheelchair: medium skin tone","group":1,"hexcode":"1F468-1F3FD-200D-1F9BD","order":1970,"unicode":"👨🏽‍🦽"},{"annotation":"man in manual wheelchair: medium-dark skin tone","group":1,"hexcode":"1F468-1F3FE-200D-1F9BD","order":1971,"unicode":"👨🏾‍🦽"},{"annotation":"man in manual wheelchair: dark skin tone","group":1,"hexcode":"1F468-1F3FF-200D-1F9BD","order":1972,"unicode":"👨🏿‍🦽"}]},{"annotation":"woman in manual wheelchair","group":1,"hexcode":"1F469-200D-1F9BD","order":1973,"tags":["accessibility","wheelchair","woman"],"unicode":"👩‍🦽","skins":[{"annotation":"woman in manual wheelchair: light skin tone","group":1,"hexcode":"1F469-1F3FB-200D-1F9BD","order":1974,"unicode":"👩🏻‍🦽"},{"annotation":"woman in manual wheelchair: medium-light skin tone","group":1,"hexcode":"1F469-1F3FC-200D-1F9BD","order":1975,"unicode":"👩🏼‍🦽"},{"annotation":"woman in manual wheelchair: medium skin tone","group":1,"hexcode":"1F469-1F3FD-200D-1F9BD","order":1976,"unicode":"👩🏽‍🦽"},{"annotation":"woman in manual wheelchair: medium-dark skin tone","group":1,"hexcode":"1F469-1F3FE-200D-1F9BD","order":1977,"unicode":"👩🏾‍🦽"},{"annotation":"woman in manual wheelchair: dark skin tone","group":1,"hexcode":"1F469-1F3FF-200D-1F9BD","order":1978,"unicode":"👩🏿‍🦽"}]},{"annotation":"person running","group":1,"hexcode":"1F3C3","order":1979,"tags":["marathon","running"],"unicode":"🏃","skins":[{"annotation":"person running: light skin tone","group":1,"hexcode":"1F3C3-1F3FB","order":1980,"unicode":"🏃🏻"},{"annotation":"person running: medium-light skin tone","group":1,"hexcode":"1F3C3-1F3FC","order":1981,"unicode":"🏃🏼"},{"annotation":"person running: medium skin tone","group":1,"hexcode":"1F3C3-1F3FD","order":1982,"unicode":"🏃🏽"},{"annotation":"person running: medium-dark skin tone","group":1,"hexcode":"1F3C3-1F3FE","order":1983,"unicode":"🏃🏾"},{"annotation":"person running: dark skin tone","group":1,"hexcode":"1F3C3-1F3FF","order":1984,"unicode":"🏃🏿"}]},{"annotation":"man running","group":1,"hexcode":"1F3C3-200D-2642-FE0F","order":1985,"tags":["man","marathon","racing","running"],"unicode":"🏃‍♂️","skins":[{"annotation":"man running: light skin tone","group":1,"hexcode":"1F3C3-1F3FB-200D-2642-FE0F","order":1987,"unicode":"🏃🏻‍♂️"},{"annotation":"man running: medium-light skin tone","group":1,"hexcode":"1F3C3-1F3FC-200D-2642-FE0F","order":1989,"unicode":"🏃🏼‍♂️"},{"annotation":"man running: medium skin tone","group":1,"hexcode":"1F3C3-1F3FD-200D-2642-FE0F","order":1991,"unicode":"🏃🏽‍♂️"},{"annotation":"man running: medium-dark skin tone","group":1,"hexcode":"1F3C3-1F3FE-200D-2642-FE0F","order":1993,"unicode":"🏃🏾‍♂️"},{"annotation":"man running: dark skin tone","group":1,"hexcode":"1F3C3-1F3FF-200D-2642-FE0F","order":1995,"unicode":"🏃🏿‍♂️"}]},{"annotation":"woman running","group":1,"hexcode":"1F3C3-200D-2640-FE0F","order":1997,"tags":["marathon","racing","running","woman"],"unicode":"🏃‍♀️","skins":[{"annotation":"woman running: light skin tone","group":1,"hexcode":"1F3C3-1F3FB-200D-2640-FE0F","order":1999,"unicode":"🏃🏻‍♀️"},{"annotation":"woman running: medium-light skin tone","group":1,"hexcode":"1F3C3-1F3FC-200D-2640-FE0F","order":2001,"unicode":"🏃🏼‍♀️"},{"annotation":"woman running: medium skin tone","group":1,"hexcode":"1F3C3-1F3FD-200D-2640-FE0F","order":2003,"unicode":"🏃🏽‍♀️"},{"annotation":"woman running: medium-dark skin tone","group":1,"hexcode":"1F3C3-1F3FE-200D-2640-FE0F","order":2005,"unicode":"🏃🏾‍♀️"},{"annotation":"woman running: dark skin tone","group":1,"hexcode":"1F3C3-1F3FF-200D-2640-FE0F","order":2007,"unicode":"🏃🏿‍♀️"}]},{"annotation":"woman dancing","group":1,"hexcode":"1F483","order":2009,"tags":["dance","dancing","woman"],"unicode":"💃","skins":[{"annotation":"woman dancing: light skin tone","group":1,"hexcode":"1F483-1F3FB","order":2010,"unicode":"💃🏻"},{"annotation":"woman dancing: medium-light skin tone","group":1,"hexcode":"1F483-1F3FC","order":2011,"unicode":"💃🏼"},{"annotation":"woman dancing: medium skin tone","group":1,"hexcode":"1F483-1F3FD","order":2012,"unicode":"💃🏽"},{"annotation":"woman dancing: medium-dark skin tone","group":1,"hexcode":"1F483-1F3FE","order":2013,"unicode":"💃🏾"},{"annotation":"woman dancing: dark skin tone","group":1,"hexcode":"1F483-1F3FF","order":2014,"unicode":"💃🏿"}]},{"annotation":"man dancing","group":1,"hexcode":"1F57A","order":2015,"tags":["dance","dancing","man"],"unicode":"🕺","skins":[{"annotation":"man dancing: light skin tone","group":1,"hexcode":"1F57A-1F3FB","order":2016,"unicode":"🕺🏻"},{"annotation":"man dancing: medium-light skin tone","group":1,"hexcode":"1F57A-1F3FC","order":2017,"unicode":"🕺🏼"},{"annotation":"man dancing: medium skin tone","group":1,"hexcode":"1F57A-1F3FD","order":2018,"unicode":"🕺🏽"},{"annotation":"man dancing: medium-dark skin tone","group":1,"hexcode":"1F57A-1F3FE","order":2019,"unicode":"🕺🏾"},{"annotation":"man dancing: dark skin tone","group":1,"hexcode":"1F57A-1F3FF","order":2020,"unicode":"🕺🏿"}]},{"annotation":"person in suit levitating","group":1,"hexcode":"1F574","order":2022,"tags":["business","person","suit"],"unicode":"🕴️","skins":[{"annotation":"person in suit levitating: light skin tone","group":1,"hexcode":"1F574-1F3FB","order":2023,"unicode":"🕴🏻"},{"annotation":"person in suit levitating: medium-light skin tone","group":1,"hexcode":"1F574-1F3FC","order":2024,"unicode":"🕴🏼"},{"annotation":"person in suit levitating: medium skin tone","group":1,"hexcode":"1F574-1F3FD","order":2025,"unicode":"🕴🏽"},{"annotation":"person in suit levitating: medium-dark skin tone","group":1,"hexcode":"1F574-1F3FE","order":2026,"unicode":"🕴🏾"},{"annotation":"person in suit levitating: dark skin tone","group":1,"hexcode":"1F574-1F3FF","order":2027,"unicode":"🕴🏿"}]},{"annotation":"people with bunny ears","group":1,"hexcode":"1F46F","order":2028,"tags":["bunny ear","dancer","partying"],"unicode":"👯"},{"annotation":"men with bunny ears","group":1,"hexcode":"1F46F-200D-2642-FE0F","order":2029,"tags":["bunny ear","dancer","men","partying"],"unicode":"👯‍♂️"},{"annotation":"women with bunny ears","group":1,"hexcode":"1F46F-200D-2640-FE0F","order":2031,"tags":["bunny ear","dancer","partying","women"],"unicode":"👯‍♀️"},{"annotation":"person in steamy room","group":1,"hexcode":"1F9D6","order":2033,"tags":["sauna","steam room"],"unicode":"🧖","skins":[{"annotation":"person in steamy room: light skin tone","group":1,"hexcode":"1F9D6-1F3FB","order":2034,"unicode":"🧖🏻"},{"annotation":"person in steamy room: medium-light skin tone","group":1,"hexcode":"1F9D6-1F3FC","order":2035,"unicode":"🧖🏼"},{"annotation":"person in steamy room: medium skin tone","group":1,"hexcode":"1F9D6-1F3FD","order":2036,"unicode":"🧖🏽"},{"annotation":"person in steamy room: medium-dark skin tone","group":1,"hexcode":"1F9D6-1F3FE","order":2037,"unicode":"🧖🏾"},{"annotation":"person in steamy room: dark skin tone","group":1,"hexcode":"1F9D6-1F3FF","order":2038,"unicode":"🧖🏿"}]},{"annotation":"man in steamy room","group":1,"hexcode":"1F9D6-200D-2642-FE0F","order":2039,"tags":["sauna","steam room"],"unicode":"🧖‍♂️","skins":[{"annotation":"man in steamy room: light skin tone","group":1,"hexcode":"1F9D6-1F3FB-200D-2642-FE0F","order":2041,"unicode":"🧖🏻‍♂️"},{"annotation":"man in steamy room: medium-light skin tone","group":1,"hexcode":"1F9D6-1F3FC-200D-2642-FE0F","order":2043,"unicode":"🧖🏼‍♂️"},{"annotation":"man in steamy room: medium skin tone","group":1,"hexcode":"1F9D6-1F3FD-200D-2642-FE0F","order":2045,"unicode":"🧖🏽‍♂️"},{"annotation":"man in steamy room: medium-dark skin tone","group":1,"hexcode":"1F9D6-1F3FE-200D-2642-FE0F","order":2047,"unicode":"🧖🏾‍♂️"},{"annotation":"man in steamy room: dark skin tone","group":1,"hexcode":"1F9D6-1F3FF-200D-2642-FE0F","order":2049,"unicode":"🧖🏿‍♂️"}]},{"annotation":"woman in steamy room","group":1,"hexcode":"1F9D6-200D-2640-FE0F","order":2051,"tags":["sauna","steam room"],"unicode":"🧖‍♀️","skins":[{"annotation":"woman in steamy room: light skin tone","group":1,"hexcode":"1F9D6-1F3FB-200D-2640-FE0F","order":2053,"unicode":"🧖🏻‍♀️"},{"annotation":"woman in steamy room: medium-light skin tone","group":1,"hexcode":"1F9D6-1F3FC-200D-2640-FE0F","order":2055,"unicode":"🧖🏼‍♀️"},{"annotation":"woman in steamy room: medium skin tone","group":1,"hexcode":"1F9D6-1F3FD-200D-2640-FE0F","order":2057,"unicode":"🧖🏽‍♀️"},{"annotation":"woman in steamy room: medium-dark skin tone","group":1,"hexcode":"1F9D6-1F3FE-200D-2640-FE0F","order":2059,"unicode":"🧖🏾‍♀️"},{"annotation":"woman in steamy room: dark skin tone","group":1,"hexcode":"1F9D6-1F3FF-200D-2640-FE0F","order":2061,"unicode":"🧖🏿‍♀️"}]},{"annotation":"person climbing","group":1,"hexcode":"1F9D7","order":2063,"tags":["climber"],"unicode":"🧗","skins":[{"annotation":"person climbing: light skin tone","group":1,"hexcode":"1F9D7-1F3FB","order":2064,"unicode":"🧗🏻"},{"annotation":"person climbing: medium-light skin tone","group":1,"hexcode":"1F9D7-1F3FC","order":2065,"unicode":"🧗🏼"},{"annotation":"person climbing: medium skin tone","group":1,"hexcode":"1F9D7-1F3FD","order":2066,"unicode":"🧗🏽"},{"annotation":"person climbing: medium-dark skin tone","group":1,"hexcode":"1F9D7-1F3FE","order":2067,"unicode":"🧗🏾"},{"annotation":"person climbing: dark skin tone","group":1,"hexcode":"1F9D7-1F3FF","order":2068,"unicode":"🧗🏿"}]},{"annotation":"man climbing","group":1,"hexcode":"1F9D7-200D-2642-FE0F","order":2069,"tags":["climber"],"unicode":"🧗‍♂️","skins":[{"annotation":"man climbing: light skin tone","group":1,"hexcode":"1F9D7-1F3FB-200D-2642-FE0F","order":2071,"unicode":"🧗🏻‍♂️"},{"annotation":"man climbing: medium-light skin tone","group":1,"hexcode":"1F9D7-1F3FC-200D-2642-FE0F","order":2073,"unicode":"🧗🏼‍♂️"},{"annotation":"man climbing: medium skin tone","group":1,"hexcode":"1F9D7-1F3FD-200D-2642-FE0F","order":2075,"unicode":"🧗🏽‍♂️"},{"annotation":"man climbing: medium-dark skin tone","group":1,"hexcode":"1F9D7-1F3FE-200D-2642-FE0F","order":2077,"unicode":"🧗🏾‍♂️"},{"annotation":"man climbing: dark skin tone","group":1,"hexcode":"1F9D7-1F3FF-200D-2642-FE0F","order":2079,"unicode":"🧗🏿‍♂️"}]},{"annotation":"woman climbing","group":1,"hexcode":"1F9D7-200D-2640-FE0F","order":2081,"tags":["climber"],"unicode":"🧗‍♀️","skins":[{"annotation":"woman climbing: light skin tone","group":1,"hexcode":"1F9D7-1F3FB-200D-2640-FE0F","order":2083,"unicode":"🧗🏻‍♀️"},{"annotation":"woman climbing: medium-light skin tone","group":1,"hexcode":"1F9D7-1F3FC-200D-2640-FE0F","order":2085,"unicode":"🧗🏼‍♀️"},{"annotation":"woman climbing: medium skin tone","group":1,"hexcode":"1F9D7-1F3FD-200D-2640-FE0F","order":2087,"unicode":"🧗🏽‍♀️"},{"annotation":"woman climbing: medium-dark skin tone","group":1,"hexcode":"1F9D7-1F3FE-200D-2640-FE0F","order":2089,"unicode":"🧗🏾‍♀️"},{"annotation":"woman climbing: dark skin tone","group":1,"hexcode":"1F9D7-1F3FF-200D-2640-FE0F","order":2091,"unicode":"🧗🏿‍♀️"}]},{"annotation":"person fencing","group":1,"hexcode":"1F93A","order":2093,"tags":["fencer","fencing","sword"],"unicode":"🤺"},{"annotation":"horse racing","group":1,"hexcode":"1F3C7","order":2094,"tags":["horse","jockey","racehorse","racing"],"unicode":"🏇","skins":[{"annotation":"horse racing: light skin tone","group":1,"hexcode":"1F3C7-1F3FB","order":2095,"unicode":"🏇🏻"},{"annotation":"horse racing: medium-light skin tone","group":1,"hexcode":"1F3C7-1F3FC","order":2096,"unicode":"🏇🏼"},{"annotation":"horse racing: medium skin tone","group":1,"hexcode":"1F3C7-1F3FD","order":2097,"unicode":"🏇🏽"},{"annotation":"horse racing: medium-dark skin tone","group":1,"hexcode":"1F3C7-1F3FE","order":2098,"unicode":"🏇🏾"},{"annotation":"horse racing: dark skin tone","group":1,"hexcode":"1F3C7-1F3FF","order":2099,"unicode":"🏇🏿"}]},{"annotation":"skier","group":1,"hexcode":"26F7","order":2101,"tags":["ski","snow"],"unicode":"⛷️"},{"annotation":"snowboarder","group":1,"hexcode":"1F3C2","order":2102,"tags":["ski","snow","snowboard"],"unicode":"🏂️","skins":[{"annotation":"snowboarder: light skin tone","group":1,"hexcode":"1F3C2-1F3FB","order":2103,"unicode":"🏂🏻"},{"annotation":"snowboarder: medium-light skin tone","group":1,"hexcode":"1F3C2-1F3FC","order":2104,"unicode":"🏂🏼"},{"annotation":"snowboarder: medium skin tone","group":1,"hexcode":"1F3C2-1F3FD","order":2105,"unicode":"🏂🏽"},{"annotation":"snowboarder: medium-dark skin tone","group":1,"hexcode":"1F3C2-1F3FE","order":2106,"unicode":"🏂🏾"},{"annotation":"snowboarder: dark skin tone","group":1,"hexcode":"1F3C2-1F3FF","order":2107,"unicode":"🏂🏿"}]},{"annotation":"person golfing","group":1,"hexcode":"1F3CC","order":2109,"tags":["ball","golf"],"unicode":"🏌️","skins":[{"annotation":"person golfing: light skin tone","group":1,"hexcode":"1F3CC-1F3FB","order":2110,"unicode":"🏌🏻"},{"annotation":"person golfing: medium-light skin tone","group":1,"hexcode":"1F3CC-1F3FC","order":2111,"unicode":"🏌🏼"},{"annotation":"person golfing: medium skin tone","group":1,"hexcode":"1F3CC-1F3FD","order":2112,"unicode":"🏌🏽"},{"annotation":"person golfing: medium-dark skin tone","group":1,"hexcode":"1F3CC-1F3FE","order":2113,"unicode":"🏌🏾"},{"annotation":"person golfing: dark skin tone","group":1,"hexcode":"1F3CC-1F3FF","order":2114,"unicode":"🏌🏿"}]},{"annotation":"man golfing","group":1,"hexcode":"1F3CC-FE0F-200D-2642-FE0F","order":2115,"tags":["golf","man"],"unicode":"🏌️‍♂️","skins":[{"annotation":"man golfing: light skin tone","group":1,"hexcode":"1F3CC-1F3FB-200D-2642-FE0F","order":2119,"unicode":"🏌🏻‍♂️"},{"annotation":"man golfing: medium-light skin tone","group":1,"hexcode":"1F3CC-1F3FC-200D-2642-FE0F","order":2121,"unicode":"🏌🏼‍♂️"},{"annotation":"man golfing: medium skin tone","group":1,"hexcode":"1F3CC-1F3FD-200D-2642-FE0F","order":2123,"unicode":"🏌🏽‍♂️"},{"annotation":"man golfing: medium-dark skin tone","group":1,"hexcode":"1F3CC-1F3FE-200D-2642-FE0F","order":2125,"unicode":"🏌🏾‍♂️"},{"annotation":"man golfing: dark skin tone","group":1,"hexcode":"1F3CC-1F3FF-200D-2642-FE0F","order":2127,"unicode":"🏌🏿‍♂️"}]},{"annotation":"woman golfing","group":1,"hexcode":"1F3CC-FE0F-200D-2640-FE0F","order":2129,"tags":["golf","woman"],"unicode":"🏌️‍♀️","skins":[{"annotation":"woman golfing: light skin tone","group":1,"hexcode":"1F3CC-1F3FB-200D-2640-FE0F","order":2133,"unicode":"🏌🏻‍♀️"},{"annotation":"woman golfing: medium-light skin tone","group":1,"hexcode":"1F3CC-1F3FC-200D-2640-FE0F","order":2135,"unicode":"🏌🏼‍♀️"},{"annotation":"woman golfing: medium skin tone","group":1,"hexcode":"1F3CC-1F3FD-200D-2640-FE0F","order":2137,"unicode":"🏌🏽‍♀️"},{"annotation":"woman golfing: medium-dark skin tone","group":1,"hexcode":"1F3CC-1F3FE-200D-2640-FE0F","order":2139,"unicode":"🏌🏾‍♀️"},{"annotation":"woman golfing: dark skin tone","group":1,"hexcode":"1F3CC-1F3FF-200D-2640-FE0F","order":2141,"unicode":"🏌🏿‍♀️"}]},{"annotation":"person surfing","group":1,"hexcode":"1F3C4","order":2143,"tags":["surfing"],"unicode":"🏄️","skins":[{"annotation":"person surfing: light skin tone","group":1,"hexcode":"1F3C4-1F3FB","order":2144,"unicode":"🏄🏻"},{"annotation":"person surfing: medium-light skin tone","group":1,"hexcode":"1F3C4-1F3FC","order":2145,"unicode":"🏄🏼"},{"annotation":"person surfing: medium skin tone","group":1,"hexcode":"1F3C4-1F3FD","order":2146,"unicode":"🏄🏽"},{"annotation":"person surfing: medium-dark skin tone","group":1,"hexcode":"1F3C4-1F3FE","order":2147,"unicode":"🏄🏾"},{"annotation":"person surfing: dark skin tone","group":1,"hexcode":"1F3C4-1F3FF","order":2148,"unicode":"🏄🏿"}]},{"annotation":"man surfing","group":1,"hexcode":"1F3C4-200D-2642-FE0F","order":2149,"tags":["man","surfing"],"unicode":"🏄‍♂️","skins":[{"annotation":"man surfing: light skin tone","group":1,"hexcode":"1F3C4-1F3FB-200D-2642-FE0F","order":2151,"unicode":"🏄🏻‍♂️"},{"annotation":"man surfing: medium-light skin tone","group":1,"hexcode":"1F3C4-1F3FC-200D-2642-FE0F","order":2153,"unicode":"🏄🏼‍♂️"},{"annotation":"man surfing: medium skin tone","group":1,"hexcode":"1F3C4-1F3FD-200D-2642-FE0F","order":2155,"unicode":"🏄🏽‍♂️"},{"annotation":"man surfing: medium-dark skin tone","group":1,"hexcode":"1F3C4-1F3FE-200D-2642-FE0F","order":2157,"unicode":"🏄🏾‍♂️"},{"annotation":"man surfing: dark skin tone","group":1,"hexcode":"1F3C4-1F3FF-200D-2642-FE0F","order":2159,"unicode":"🏄🏿‍♂️"}]},{"annotation":"woman surfing","group":1,"hexcode":"1F3C4-200D-2640-FE0F","order":2161,"tags":["surfing","woman"],"unicode":"🏄‍♀️","skins":[{"annotation":"woman surfing: light skin tone","group":1,"hexcode":"1F3C4-1F3FB-200D-2640-FE0F","order":2163,"unicode":"🏄🏻‍♀️"},{"annotation":"woman surfing: medium-light skin tone","group":1,"hexcode":"1F3C4-1F3FC-200D-2640-FE0F","order":2165,"unicode":"🏄🏼‍♀️"},{"annotation":"woman surfing: medium skin tone","group":1,"hexcode":"1F3C4-1F3FD-200D-2640-FE0F","order":2167,"unicode":"🏄🏽‍♀️"},{"annotation":"woman surfing: medium-dark skin tone","group":1,"hexcode":"1F3C4-1F3FE-200D-2640-FE0F","order":2169,"unicode":"🏄🏾‍♀️"},{"annotation":"woman surfing: dark skin tone","group":1,"hexcode":"1F3C4-1F3FF-200D-2640-FE0F","order":2171,"unicode":"🏄🏿‍♀️"}]},{"annotation":"person rowing boat","group":1,"hexcode":"1F6A3","order":2173,"tags":["boat","rowboat"],"unicode":"🚣","skins":[{"annotation":"person rowing boat: light skin tone","group":1,"hexcode":"1F6A3-1F3FB","order":2174,"unicode":"🚣🏻"},{"annotation":"person rowing boat: medium-light skin tone","group":1,"hexcode":"1F6A3-1F3FC","order":2175,"unicode":"🚣🏼"},{"annotation":"person rowing boat: medium skin tone","group":1,"hexcode":"1F6A3-1F3FD","order":2176,"unicode":"🚣🏽"},{"annotation":"person rowing boat: medium-dark skin tone","group":1,"hexcode":"1F6A3-1F3FE","order":2177,"unicode":"🚣🏾"},{"annotation":"person rowing boat: dark skin tone","group":1,"hexcode":"1F6A3-1F3FF","order":2178,"unicode":"🚣🏿"}]},{"annotation":"man rowing boat","group":1,"hexcode":"1F6A3-200D-2642-FE0F","order":2179,"tags":["boat","man","rowboat"],"unicode":"🚣‍♂️","skins":[{"annotation":"man rowing boat: light skin tone","group":1,"hexcode":"1F6A3-1F3FB-200D-2642-FE0F","order":2181,"unicode":"🚣🏻‍♂️"},{"annotation":"man rowing boat: medium-light skin tone","group":1,"hexcode":"1F6A3-1F3FC-200D-2642-FE0F","order":2183,"unicode":"🚣🏼‍♂️"},{"annotation":"man rowing boat: medium skin tone","group":1,"hexcode":"1F6A3-1F3FD-200D-2642-FE0F","order":2185,"unicode":"🚣🏽‍♂️"},{"annotation":"man rowing boat: medium-dark skin tone","group":1,"hexcode":"1F6A3-1F3FE-200D-2642-FE0F","order":2187,"unicode":"🚣🏾‍♂️"},{"annotation":"man rowing boat: dark skin tone","group":1,"hexcode":"1F6A3-1F3FF-200D-2642-FE0F","order":2189,"unicode":"🚣🏿‍♂️"}]},{"annotation":"woman rowing boat","group":1,"hexcode":"1F6A3-200D-2640-FE0F","order":2191,"tags":["boat","rowboat","woman"],"unicode":"🚣‍♀️","skins":[{"annotation":"woman rowing boat: light skin tone","group":1,"hexcode":"1F6A3-1F3FB-200D-2640-FE0F","order":2193,"unicode":"🚣🏻‍♀️"},{"annotation":"woman rowing boat: medium-light skin tone","group":1,"hexcode":"1F6A3-1F3FC-200D-2640-FE0F","order":2195,"unicode":"🚣🏼‍♀️"},{"annotation":"woman rowing boat: medium skin tone","group":1,"hexcode":"1F6A3-1F3FD-200D-2640-FE0F","order":2197,"unicode":"🚣🏽‍♀️"},{"annotation":"woman rowing boat: medium-dark skin tone","group":1,"hexcode":"1F6A3-1F3FE-200D-2640-FE0F","order":2199,"unicode":"🚣🏾‍♀️"},{"annotation":"woman rowing boat: dark skin tone","group":1,"hexcode":"1F6A3-1F3FF-200D-2640-FE0F","order":2201,"unicode":"🚣🏿‍♀️"}]},{"annotation":"person swimming","group":1,"hexcode":"1F3CA","order":2203,"tags":["swim"],"unicode":"🏊️","skins":[{"annotation":"person swimming: light skin tone","group":1,"hexcode":"1F3CA-1F3FB","order":2204,"unicode":"🏊🏻"},{"annotation":"person swimming: medium-light skin tone","group":1,"hexcode":"1F3CA-1F3FC","order":2205,"unicode":"🏊🏼"},{"annotation":"person swimming: medium skin tone","group":1,"hexcode":"1F3CA-1F3FD","order":2206,"unicode":"🏊🏽"},{"annotation":"person swimming: medium-dark skin tone","group":1,"hexcode":"1F3CA-1F3FE","order":2207,"unicode":"🏊🏾"},{"annotation":"person swimming: dark skin tone","group":1,"hexcode":"1F3CA-1F3FF","order":2208,"unicode":"🏊🏿"}]},{"annotation":"man swimming","group":1,"hexcode":"1F3CA-200D-2642-FE0F","order":2209,"tags":["man","swim"],"unicode":"🏊‍♂️","skins":[{"annotation":"man swimming: light skin tone","group":1,"hexcode":"1F3CA-1F3FB-200D-2642-FE0F","order":2211,"unicode":"🏊🏻‍♂️"},{"annotation":"man swimming: medium-light skin tone","group":1,"hexcode":"1F3CA-1F3FC-200D-2642-FE0F","order":2213,"unicode":"🏊🏼‍♂️"},{"annotation":"man swimming: medium skin tone","group":1,"hexcode":"1F3CA-1F3FD-200D-2642-FE0F","order":2215,"unicode":"🏊🏽‍♂️"},{"annotation":"man swimming: medium-dark skin tone","group":1,"hexcode":"1F3CA-1F3FE-200D-2642-FE0F","order":2217,"unicode":"🏊🏾‍♂️"},{"annotation":"man swimming: dark skin tone","group":1,"hexcode":"1F3CA-1F3FF-200D-2642-FE0F","order":2219,"unicode":"🏊🏿‍♂️"}]},{"annotation":"woman swimming","group":1,"hexcode":"1F3CA-200D-2640-FE0F","order":2221,"tags":["swim","woman"],"unicode":"🏊‍♀️","skins":[{"annotation":"woman swimming: light skin tone","group":1,"hexcode":"1F3CA-1F3FB-200D-2640-FE0F","order":2223,"unicode":"🏊🏻‍♀️"},{"annotation":"woman swimming: medium-light skin tone","group":1,"hexcode":"1F3CA-1F3FC-200D-2640-FE0F","order":2225,"unicode":"🏊🏼‍♀️"},{"annotation":"woman swimming: medium skin tone","group":1,"hexcode":"1F3CA-1F3FD-200D-2640-FE0F","order":2227,"unicode":"🏊🏽‍♀️"},{"annotation":"woman swimming: medium-dark skin tone","group":1,"hexcode":"1F3CA-1F3FE-200D-2640-FE0F","order":2229,"unicode":"🏊🏾‍♀️"},{"annotation":"woman swimming: dark skin tone","group":1,"hexcode":"1F3CA-1F3FF-200D-2640-FE0F","order":2231,"unicode":"🏊🏿‍♀️"}]},{"annotation":"person bouncing ball","group":1,"hexcode":"26F9","order":2234,"tags":["ball"],"unicode":"⛹️","skins":[{"annotation":"person bouncing ball: light skin tone","group":1,"hexcode":"26F9-1F3FB","order":2235,"unicode":"⛹🏻"},{"annotation":"person bouncing ball: medium-light skin tone","group":1,"hexcode":"26F9-1F3FC","order":2236,"unicode":"⛹🏼"},{"annotation":"person bouncing ball: medium skin tone","group":1,"hexcode":"26F9-1F3FD","order":2237,"unicode":"⛹🏽"},{"annotation":"person bouncing ball: medium-dark skin tone","group":1,"hexcode":"26F9-1F3FE","order":2238,"unicode":"⛹🏾"},{"annotation":"person bouncing ball: dark skin tone","group":1,"hexcode":"26F9-1F3FF","order":2239,"unicode":"⛹🏿"}]},{"annotation":"man bouncing ball","group":1,"hexcode":"26F9-FE0F-200D-2642-FE0F","order":2240,"tags":["ball","man"],"unicode":"⛹️‍♂️","skins":[{"annotation":"man bouncing ball: light skin tone","group":1,"hexcode":"26F9-1F3FB-200D-2642-FE0F","order":2244,"unicode":"⛹🏻‍♂️"},{"annotation":"man bouncing ball: medium-light skin tone","group":1,"hexcode":"26F9-1F3FC-200D-2642-FE0F","order":2246,"unicode":"⛹🏼‍♂️"},{"annotation":"man bouncing ball: medium skin tone","group":1,"hexcode":"26F9-1F3FD-200D-2642-FE0F","order":2248,"unicode":"⛹🏽‍♂️"},{"annotation":"man bouncing ball: medium-dark skin tone","group":1,"hexcode":"26F9-1F3FE-200D-2642-FE0F","order":2250,"unicode":"⛹🏾‍♂️"},{"annotation":"man bouncing ball: dark skin tone","group":1,"hexcode":"26F9-1F3FF-200D-2642-FE0F","order":2252,"unicode":"⛹🏿‍♂️"}]},{"annotation":"woman bouncing ball","group":1,"hexcode":"26F9-FE0F-200D-2640-FE0F","order":2254,"tags":["ball","woman"],"unicode":"⛹️‍♀️","skins":[{"annotation":"woman bouncing ball: light skin tone","group":1,"hexcode":"26F9-1F3FB-200D-2640-FE0F","order":2258,"unicode":"⛹🏻‍♀️"},{"annotation":"woman bouncing ball: medium-light skin tone","group":1,"hexcode":"26F9-1F3FC-200D-2640-FE0F","order":2260,"unicode":"⛹🏼‍♀️"},{"annotation":"woman bouncing ball: medium skin tone","group":1,"hexcode":"26F9-1F3FD-200D-2640-FE0F","order":2262,"unicode":"⛹🏽‍♀️"},{"annotation":"woman bouncing ball: medium-dark skin tone","group":1,"hexcode":"26F9-1F3FE-200D-2640-FE0F","order":2264,"unicode":"⛹🏾‍♀️"},{"annotation":"woman bouncing ball: dark skin tone","group":1,"hexcode":"26F9-1F3FF-200D-2640-FE0F","order":2266,"unicode":"⛹🏿‍♀️"}]},{"annotation":"person lifting weights","group":1,"hexcode":"1F3CB","order":2269,"tags":["lifter","weight"],"unicode":"🏋️","skins":[{"annotation":"person lifting weights: light skin tone","group":1,"hexcode":"1F3CB-1F3FB","order":2270,"unicode":"🏋🏻"},{"annotation":"person lifting weights: medium-light skin tone","group":1,"hexcode":"1F3CB-1F3FC","order":2271,"unicode":"🏋🏼"},{"annotation":"person lifting weights: medium skin tone","group":1,"hexcode":"1F3CB-1F3FD","order":2272,"unicode":"🏋🏽"},{"annotation":"person lifting weights: medium-dark skin tone","group":1,"hexcode":"1F3CB-1F3FE","order":2273,"unicode":"🏋🏾"},{"annotation":"person lifting weights: dark skin tone","group":1,"hexcode":"1F3CB-1F3FF","order":2274,"unicode":"🏋🏿"}]},{"annotation":"man lifting weights","group":1,"hexcode":"1F3CB-FE0F-200D-2642-FE0F","order":2275,"tags":["man","weight lifter"],"unicode":"🏋️‍♂️","skins":[{"annotation":"man lifting weights: light skin tone","group":1,"hexcode":"1F3CB-1F3FB-200D-2642-FE0F","order":2279,"unicode":"🏋🏻‍♂️"},{"annotation":"man lifting weights: medium-light skin tone","group":1,"hexcode":"1F3CB-1F3FC-200D-2642-FE0F","order":2281,"unicode":"🏋🏼‍♂️"},{"annotation":"man lifting weights: medium skin tone","group":1,"hexcode":"1F3CB-1F3FD-200D-2642-FE0F","order":2283,"unicode":"🏋🏽‍♂️"},{"annotation":"man lifting weights: medium-dark skin tone","group":1,"hexcode":"1F3CB-1F3FE-200D-2642-FE0F","order":2285,"unicode":"🏋🏾‍♂️"},{"annotation":"man lifting weights: dark skin tone","group":1,"hexcode":"1F3CB-1F3FF-200D-2642-FE0F","order":2287,"unicode":"🏋🏿‍♂️"}]},{"annotation":"woman lifting weights","group":1,"hexcode":"1F3CB-FE0F-200D-2640-FE0F","order":2289,"tags":["weight lifter","woman"],"unicode":"🏋️‍♀️","skins":[{"annotation":"woman lifting weights: light skin tone","group":1,"hexcode":"1F3CB-1F3FB-200D-2640-FE0F","order":2293,"unicode":"🏋🏻‍♀️"},{"annotation":"woman lifting weights: medium-light skin tone","group":1,"hexcode":"1F3CB-1F3FC-200D-2640-FE0F","order":2295,"unicode":"🏋🏼‍♀️"},{"annotation":"woman lifting weights: medium skin tone","group":1,"hexcode":"1F3CB-1F3FD-200D-2640-FE0F","order":2297,"unicode":"🏋🏽‍♀️"},{"annotation":"woman lifting weights: medium-dark skin tone","group":1,"hexcode":"1F3CB-1F3FE-200D-2640-FE0F","order":2299,"unicode":"🏋🏾‍♀️"},{"annotation":"woman lifting weights: dark skin tone","group":1,"hexcode":"1F3CB-1F3FF-200D-2640-FE0F","order":2301,"unicode":"🏋🏿‍♀️"}]},{"annotation":"person biking","group":1,"hexcode":"1F6B4","order":2303,"tags":["bicycle","biking","cyclist"],"unicode":"🚴","skins":[{"annotation":"person biking: light skin tone","group":1,"hexcode":"1F6B4-1F3FB","order":2304,"unicode":"🚴🏻"},{"annotation":"person biking: medium-light skin tone","group":1,"hexcode":"1F6B4-1F3FC","order":2305,"unicode":"🚴🏼"},{"annotation":"person biking: medium skin tone","group":1,"hexcode":"1F6B4-1F3FD","order":2306,"unicode":"🚴🏽"},{"annotation":"person biking: medium-dark skin tone","group":1,"hexcode":"1F6B4-1F3FE","order":2307,"unicode":"🚴🏾"},{"annotation":"person biking: dark skin tone","group":1,"hexcode":"1F6B4-1F3FF","order":2308,"unicode":"🚴🏿"}]},{"annotation":"man biking","group":1,"hexcode":"1F6B4-200D-2642-FE0F","order":2309,"tags":["bicycle","biking","cyclist","man"],"unicode":"🚴‍♂️","skins":[{"annotation":"man biking: light skin tone","group":1,"hexcode":"1F6B4-1F3FB-200D-2642-FE0F","order":2311,"unicode":"🚴🏻‍♂️"},{"annotation":"man biking: medium-light skin tone","group":1,"hexcode":"1F6B4-1F3FC-200D-2642-FE0F","order":2313,"unicode":"🚴🏼‍♂️"},{"annotation":"man biking: medium skin tone","group":1,"hexcode":"1F6B4-1F3FD-200D-2642-FE0F","order":2315,"unicode":"🚴🏽‍♂️"},{"annotation":"man biking: medium-dark skin tone","group":1,"hexcode":"1F6B4-1F3FE-200D-2642-FE0F","order":2317,"unicode":"🚴🏾‍♂️"},{"annotation":"man biking: dark skin tone","group":1,"hexcode":"1F6B4-1F3FF-200D-2642-FE0F","order":2319,"unicode":"🚴🏿‍♂️"}]},{"annotation":"woman biking","group":1,"hexcode":"1F6B4-200D-2640-FE0F","order":2321,"tags":["bicycle","biking","cyclist","woman"],"unicode":"🚴‍♀️","skins":[{"annotation":"woman biking: light skin tone","group":1,"hexcode":"1F6B4-1F3FB-200D-2640-FE0F","order":2323,"unicode":"🚴🏻‍♀️"},{"annotation":"woman biking: medium-light skin tone","group":1,"hexcode":"1F6B4-1F3FC-200D-2640-FE0F","order":2325,"unicode":"🚴🏼‍♀️"},{"annotation":"woman biking: medium skin tone","group":1,"hexcode":"1F6B4-1F3FD-200D-2640-FE0F","order":2327,"unicode":"🚴🏽‍♀️"},{"annotation":"woman biking: medium-dark skin tone","group":1,"hexcode":"1F6B4-1F3FE-200D-2640-FE0F","order":2329,"unicode":"🚴🏾‍♀️"},{"annotation":"woman biking: dark skin tone","group":1,"hexcode":"1F6B4-1F3FF-200D-2640-FE0F","order":2331,"unicode":"🚴🏿‍♀️"}]},{"annotation":"person mountain biking","group":1,"hexcode":"1F6B5","order":2333,"tags":["bicycle","bicyclist","bike","cyclist","mountain"],"unicode":"🚵","skins":[{"annotation":"person mountain biking: light skin tone","group":1,"hexcode":"1F6B5-1F3FB","order":2334,"unicode":"🚵🏻"},{"annotation":"person mountain biking: medium-light skin tone","group":1,"hexcode":"1F6B5-1F3FC","order":2335,"unicode":"🚵🏼"},{"annotation":"person mountain biking: medium skin tone","group":1,"hexcode":"1F6B5-1F3FD","order":2336,"unicode":"🚵🏽"},{"annotation":"person mountain biking: medium-dark skin tone","group":1,"hexcode":"1F6B5-1F3FE","order":2337,"unicode":"🚵🏾"},{"annotation":"person mountain biking: dark skin tone","group":1,"hexcode":"1F6B5-1F3FF","order":2338,"unicode":"🚵🏿"}]},{"annotation":"man mountain biking","group":1,"hexcode":"1F6B5-200D-2642-FE0F","order":2339,"tags":["bicycle","bike","cyclist","man","mountain"],"unicode":"🚵‍♂️","skins":[{"annotation":"man mountain biking: light skin tone","group":1,"hexcode":"1F6B5-1F3FB-200D-2642-FE0F","order":2341,"unicode":"🚵🏻‍♂️"},{"annotation":"man mountain biking: medium-light skin tone","group":1,"hexcode":"1F6B5-1F3FC-200D-2642-FE0F","order":2343,"unicode":"🚵🏼‍♂️"},{"annotation":"man mountain biking: medium skin tone","group":1,"hexcode":"1F6B5-1F3FD-200D-2642-FE0F","order":2345,"unicode":"🚵🏽‍♂️"},{"annotation":"man mountain biking: medium-dark skin tone","group":1,"hexcode":"1F6B5-1F3FE-200D-2642-FE0F","order":2347,"unicode":"🚵🏾‍♂️"},{"annotation":"man mountain biking: dark skin tone","group":1,"hexcode":"1F6B5-1F3FF-200D-2642-FE0F","order":2349,"unicode":"🚵🏿‍♂️"}]},{"annotation":"woman mountain biking","group":1,"hexcode":"1F6B5-200D-2640-FE0F","order":2351,"tags":["bicycle","bike","biking","cyclist","mountain","woman"],"unicode":"🚵‍♀️","skins":[{"annotation":"woman mountain biking: light skin tone","group":1,"hexcode":"1F6B5-1F3FB-200D-2640-FE0F","order":2353,"unicode":"🚵🏻‍♀️"},{"annotation":"woman mountain biking: medium-light skin tone","group":1,"hexcode":"1F6B5-1F3FC-200D-2640-FE0F","order":2355,"unicode":"🚵🏼‍♀️"},{"annotation":"woman mountain biking: medium skin tone","group":1,"hexcode":"1F6B5-1F3FD-200D-2640-FE0F","order":2357,"unicode":"🚵🏽‍♀️"},{"annotation":"woman mountain biking: medium-dark skin tone","group":1,"hexcode":"1F6B5-1F3FE-200D-2640-FE0F","order":2359,"unicode":"🚵🏾‍♀️"},{"annotation":"woman mountain biking: dark skin tone","group":1,"hexcode":"1F6B5-1F3FF-200D-2640-FE0F","order":2361,"unicode":"🚵🏿‍♀️"}]},{"annotation":"person cartwheeling","group":1,"hexcode":"1F938","order":2363,"tags":["cartwheel","gymnastics"],"unicode":"🤸","skins":[{"annotation":"person cartwheeling: light skin tone","group":1,"hexcode":"1F938-1F3FB","order":2364,"unicode":"🤸🏻"},{"annotation":"person cartwheeling: medium-light skin tone","group":1,"hexcode":"1F938-1F3FC","order":2365,"unicode":"🤸🏼"},{"annotation":"person cartwheeling: medium skin tone","group":1,"hexcode":"1F938-1F3FD","order":2366,"unicode":"🤸🏽"},{"annotation":"person cartwheeling: medium-dark skin tone","group":1,"hexcode":"1F938-1F3FE","order":2367,"unicode":"🤸🏾"},{"annotation":"person cartwheeling: dark skin tone","group":1,"hexcode":"1F938-1F3FF","order":2368,"unicode":"🤸🏿"}]},{"annotation":"man cartwheeling","group":1,"hexcode":"1F938-200D-2642-FE0F","order":2369,"tags":["cartwheel","gymnastics","man"],"unicode":"🤸‍♂️","skins":[{"annotation":"man cartwheeling: light skin tone","group":1,"hexcode":"1F938-1F3FB-200D-2642-FE0F","order":2371,"unicode":"🤸🏻‍♂️"},{"annotation":"man cartwheeling: medium-light skin tone","group":1,"hexcode":"1F938-1F3FC-200D-2642-FE0F","order":2373,"unicode":"🤸🏼‍♂️"},{"annotation":"man cartwheeling: medium skin tone","group":1,"hexcode":"1F938-1F3FD-200D-2642-FE0F","order":2375,"unicode":"🤸🏽‍♂️"},{"annotation":"man cartwheeling: medium-dark skin tone","group":1,"hexcode":"1F938-1F3FE-200D-2642-FE0F","order":2377,"unicode":"🤸🏾‍♂️"},{"annotation":"man cartwheeling: dark skin tone","group":1,"hexcode":"1F938-1F3FF-200D-2642-FE0F","order":2379,"unicode":"🤸🏿‍♂️"}]},{"annotation":"woman cartwheeling","group":1,"hexcode":"1F938-200D-2640-FE0F","order":2381,"tags":["cartwheel","gymnastics","woman"],"unicode":"🤸‍♀️","skins":[{"annotation":"woman cartwheeling: light skin tone","group":1,"hexcode":"1F938-1F3FB-200D-2640-FE0F","order":2383,"unicode":"🤸🏻‍♀️"},{"annotation":"woman cartwheeling: medium-light skin tone","group":1,"hexcode":"1F938-1F3FC-200D-2640-FE0F","order":2385,"unicode":"🤸🏼‍♀️"},{"annotation":"woman cartwheeling: medium skin tone","group":1,"hexcode":"1F938-1F3FD-200D-2640-FE0F","order":2387,"unicode":"🤸🏽‍♀️"},{"annotation":"woman cartwheeling: medium-dark skin tone","group":1,"hexcode":"1F938-1F3FE-200D-2640-FE0F","order":2389,"unicode":"🤸🏾‍♀️"},{"annotation":"woman cartwheeling: dark skin tone","group":1,"hexcode":"1F938-1F3FF-200D-2640-FE0F","order":2391,"unicode":"🤸🏿‍♀️"}]},{"annotation":"people wrestling","group":1,"hexcode":"1F93C","order":2393,"tags":["wrestle","wrestler"],"unicode":"🤼"},{"annotation":"men wrestling","group":1,"hexcode":"1F93C-200D-2642-FE0F","order":2394,"tags":["men","wrestle"],"unicode":"🤼‍♂️"},{"annotation":"women wrestling","group":1,"hexcode":"1F93C-200D-2640-FE0F","order":2396,"tags":["women","wrestle"],"unicode":"🤼‍♀️"},{"annotation":"person playing water polo","group":1,"hexcode":"1F93D","order":2398,"tags":["polo","water"],"unicode":"🤽","skins":[{"annotation":"person playing water polo: light skin tone","group":1,"hexcode":"1F93D-1F3FB","order":2399,"unicode":"🤽🏻"},{"annotation":"person playing water polo: medium-light skin tone","group":1,"hexcode":"1F93D-1F3FC","order":2400,"unicode":"🤽🏼"},{"annotation":"person playing water polo: medium skin tone","group":1,"hexcode":"1F93D-1F3FD","order":2401,"unicode":"🤽🏽"},{"annotation":"person playing water polo: medium-dark skin tone","group":1,"hexcode":"1F93D-1F3FE","order":2402,"unicode":"🤽🏾"},{"annotation":"person playing water polo: dark skin tone","group":1,"hexcode":"1F93D-1F3FF","order":2403,"unicode":"🤽🏿"}]},{"annotation":"man playing water polo","group":1,"hexcode":"1F93D-200D-2642-FE0F","order":2404,"tags":["man","water polo"],"unicode":"🤽‍♂️","skins":[{"annotation":"man playing water polo: light skin tone","group":1,"hexcode":"1F93D-1F3FB-200D-2642-FE0F","order":2406,"unicode":"🤽🏻‍♂️"},{"annotation":"man playing water polo: medium-light skin tone","group":1,"hexcode":"1F93D-1F3FC-200D-2642-FE0F","order":2408,"unicode":"🤽🏼‍♂️"},{"annotation":"man playing water polo: medium skin tone","group":1,"hexcode":"1F93D-1F3FD-200D-2642-FE0F","order":2410,"unicode":"🤽🏽‍♂️"},{"annotation":"man playing water polo: medium-dark skin tone","group":1,"hexcode":"1F93D-1F3FE-200D-2642-FE0F","order":2412,"unicode":"🤽🏾‍♂️"},{"annotation":"man playing water polo: dark skin tone","group":1,"hexcode":"1F93D-1F3FF-200D-2642-FE0F","order":2414,"unicode":"🤽🏿‍♂️"}]},{"annotation":"woman playing water polo","group":1,"hexcode":"1F93D-200D-2640-FE0F","order":2416,"tags":["water polo","woman"],"unicode":"🤽‍♀️","skins":[{"annotation":"woman playing water polo: light skin tone","group":1,"hexcode":"1F93D-1F3FB-200D-2640-FE0F","order":2418,"unicode":"🤽🏻‍♀️"},{"annotation":"woman playing water polo: medium-light skin tone","group":1,"hexcode":"1F93D-1F3FC-200D-2640-FE0F","order":2420,"unicode":"🤽🏼‍♀️"},{"annotation":"woman playing water polo: medium skin tone","group":1,"hexcode":"1F93D-1F3FD-200D-2640-FE0F","order":2422,"unicode":"🤽🏽‍♀️"},{"annotation":"woman playing water polo: medium-dark skin tone","group":1,"hexcode":"1F93D-1F3FE-200D-2640-FE0F","order":2424,"unicode":"🤽🏾‍♀️"},{"annotation":"woman playing water polo: dark skin tone","group":1,"hexcode":"1F93D-1F3FF-200D-2640-FE0F","order":2426,"unicode":"🤽🏿‍♀️"}]},{"annotation":"person playing handball","group":1,"hexcode":"1F93E","order":2428,"tags":["ball","handball"],"unicode":"🤾","skins":[{"annotation":"person playing handball: light skin tone","group":1,"hexcode":"1F93E-1F3FB","order":2429,"unicode":"🤾🏻"},{"annotation":"person playing handball: medium-light skin tone","group":1,"hexcode":"1F93E-1F3FC","order":2430,"unicode":"🤾🏼"},{"annotation":"person playing handball: medium skin tone","group":1,"hexcode":"1F93E-1F3FD","order":2431,"unicode":"🤾🏽"},{"annotation":"person playing handball: medium-dark skin tone","group":1,"hexcode":"1F93E-1F3FE","order":2432,"unicode":"🤾🏾"},{"annotation":"person playing handball: dark skin tone","group":1,"hexcode":"1F93E-1F3FF","order":2433,"unicode":"🤾🏿"}]},{"annotation":"man playing handball","group":1,"hexcode":"1F93E-200D-2642-FE0F","order":2434,"tags":["handball","man"],"unicode":"🤾‍♂️","skins":[{"annotation":"man playing handball: light skin tone","group":1,"hexcode":"1F93E-1F3FB-200D-2642-FE0F","order":2436,"unicode":"🤾🏻‍♂️"},{"annotation":"man playing handball: medium-light skin tone","group":1,"hexcode":"1F93E-1F3FC-200D-2642-FE0F","order":2438,"unicode":"🤾🏼‍♂️"},{"annotation":"man playing handball: medium skin tone","group":1,"hexcode":"1F93E-1F3FD-200D-2642-FE0F","order":2440,"unicode":"🤾🏽‍♂️"},{"annotation":"man playing handball: medium-dark skin tone","group":1,"hexcode":"1F93E-1F3FE-200D-2642-FE0F","order":2442,"unicode":"🤾🏾‍♂️"},{"annotation":"man playing handball: dark skin tone","group":1,"hexcode":"1F93E-1F3FF-200D-2642-FE0F","order":2444,"unicode":"🤾🏿‍♂️"}]},{"annotation":"woman playing handball","group":1,"hexcode":"1F93E-200D-2640-FE0F","order":2446,"tags":["handball","woman"],"unicode":"🤾‍♀️","skins":[{"annotation":"woman playing handball: light skin tone","group":1,"hexcode":"1F93E-1F3FB-200D-2640-FE0F","order":2448,"unicode":"🤾🏻‍♀️"},{"annotation":"woman playing handball: medium-light skin tone","group":1,"hexcode":"1F93E-1F3FC-200D-2640-FE0F","order":2450,"unicode":"🤾🏼‍♀️"},{"annotation":"woman playing handball: medium skin tone","group":1,"hexcode":"1F93E-1F3FD-200D-2640-FE0F","order":2452,"unicode":"🤾🏽‍♀️"},{"annotation":"woman playing handball: medium-dark skin tone","group":1,"hexcode":"1F93E-1F3FE-200D-2640-FE0F","order":2454,"unicode":"🤾🏾‍♀️"},{"annotation":"woman playing handball: dark skin tone","group":1,"hexcode":"1F93E-1F3FF-200D-2640-FE0F","order":2456,"unicode":"🤾🏿‍♀️"}]},{"annotation":"person juggling","group":1,"hexcode":"1F939","order":2458,"tags":["balance","juggle","multitask","skill"],"unicode":"🤹","skins":[{"annotation":"person juggling: light skin tone","group":1,"hexcode":"1F939-1F3FB","order":2459,"unicode":"🤹🏻"},{"annotation":"person juggling: medium-light skin tone","group":1,"hexcode":"1F939-1F3FC","order":2460,"unicode":"🤹🏼"},{"annotation":"person juggling: medium skin tone","group":1,"hexcode":"1F939-1F3FD","order":2461,"unicode":"🤹🏽"},{"annotation":"person juggling: medium-dark skin tone","group":1,"hexcode":"1F939-1F3FE","order":2462,"unicode":"🤹🏾"},{"annotation":"person juggling: dark skin tone","group":1,"hexcode":"1F939-1F3FF","order":2463,"unicode":"🤹🏿"}]},{"annotation":"man juggling","group":1,"hexcode":"1F939-200D-2642-FE0F","order":2464,"tags":["juggling","man","multitask"],"unicode":"🤹‍♂️","skins":[{"annotation":"man juggling: light skin tone","group":1,"hexcode":"1F939-1F3FB-200D-2642-FE0F","order":2466,"unicode":"🤹🏻‍♂️"},{"annotation":"man juggling: medium-light skin tone","group":1,"hexcode":"1F939-1F3FC-200D-2642-FE0F","order":2468,"unicode":"🤹🏼‍♂️"},{"annotation":"man juggling: medium skin tone","group":1,"hexcode":"1F939-1F3FD-200D-2642-FE0F","order":2470,"unicode":"🤹🏽‍♂️"},{"annotation":"man juggling: medium-dark skin tone","group":1,"hexcode":"1F939-1F3FE-200D-2642-FE0F","order":2472,"unicode":"🤹🏾‍♂️"},{"annotation":"man juggling: dark skin tone","group":1,"hexcode":"1F939-1F3FF-200D-2642-FE0F","order":2474,"unicode":"🤹🏿‍♂️"}]},{"annotation":"woman juggling","group":1,"hexcode":"1F939-200D-2640-FE0F","order":2476,"tags":["juggling","multitask","woman"],"unicode":"🤹‍♀️","skins":[{"annotation":"woman juggling: light skin tone","group":1,"hexcode":"1F939-1F3FB-200D-2640-FE0F","order":2478,"unicode":"🤹🏻‍♀️"},{"annotation":"woman juggling: medium-light skin tone","group":1,"hexcode":"1F939-1F3FC-200D-2640-FE0F","order":2480,"unicode":"🤹🏼‍♀️"},{"annotation":"woman juggling: medium skin tone","group":1,"hexcode":"1F939-1F3FD-200D-2640-FE0F","order":2482,"unicode":"🤹🏽‍♀️"},{"annotation":"woman juggling: medium-dark skin tone","group":1,"hexcode":"1F939-1F3FE-200D-2640-FE0F","order":2484,"unicode":"🤹🏾‍♀️"},{"annotation":"woman juggling: dark skin tone","group":1,"hexcode":"1F939-1F3FF-200D-2640-FE0F","order":2486,"unicode":"🤹🏿‍♀️"}]},{"annotation":"person in lotus position","group":1,"hexcode":"1F9D8","order":2488,"tags":["meditation","yoga"],"unicode":"🧘","skins":[{"annotation":"person in lotus position: light skin tone","group":1,"hexcode":"1F9D8-1F3FB","order":2489,"unicode":"🧘🏻"},{"annotation":"person in lotus position: medium-light skin tone","group":1,"hexcode":"1F9D8-1F3FC","order":2490,"unicode":"🧘🏼"},{"annotation":"person in lotus position: medium skin tone","group":1,"hexcode":"1F9D8-1F3FD","order":2491,"unicode":"🧘🏽"},{"annotation":"person in lotus position: medium-dark skin tone","group":1,"hexcode":"1F9D8-1F3FE","order":2492,"unicode":"🧘🏾"},{"annotation":"person in lotus position: dark skin tone","group":1,"hexcode":"1F9D8-1F3FF","order":2493,"unicode":"🧘🏿"}]},{"annotation":"man in lotus position","group":1,"hexcode":"1F9D8-200D-2642-FE0F","order":2494,"tags":["meditation","yoga"],"unicode":"🧘‍♂️","skins":[{"annotation":"man in lotus position: light skin tone","group":1,"hexcode":"1F9D8-1F3FB-200D-2642-FE0F","order":2496,"unicode":"🧘🏻‍♂️"},{"annotation":"man in lotus position: medium-light skin tone","group":1,"hexcode":"1F9D8-1F3FC-200D-2642-FE0F","order":2498,"unicode":"🧘🏼‍♂️"},{"annotation":"man in lotus position: medium skin tone","group":1,"hexcode":"1F9D8-1F3FD-200D-2642-FE0F","order":2500,"unicode":"🧘🏽‍♂️"},{"annotation":"man in lotus position: medium-dark skin tone","group":1,"hexcode":"1F9D8-1F3FE-200D-2642-FE0F","order":2502,"unicode":"🧘🏾‍♂️"},{"annotation":"man in lotus position: dark skin tone","group":1,"hexcode":"1F9D8-1F3FF-200D-2642-FE0F","order":2504,"unicode":"🧘🏿‍♂️"}]},{"annotation":"woman in lotus position","group":1,"hexcode":"1F9D8-200D-2640-FE0F","order":2506,"tags":["meditation","yoga"],"unicode":"🧘‍♀️","skins":[{"annotation":"woman in lotus position: light skin tone","group":1,"hexcode":"1F9D8-1F3FB-200D-2640-FE0F","order":2508,"unicode":"🧘🏻‍♀️"},{"annotation":"woman in lotus position: medium-light skin tone","group":1,"hexcode":"1F9D8-1F3FC-200D-2640-FE0F","order":2510,"unicode":"🧘🏼‍♀️"},{"annotation":"woman in lotus position: medium skin tone","group":1,"hexcode":"1F9D8-1F3FD-200D-2640-FE0F","order":2512,"unicode":"🧘🏽‍♀️"},{"annotation":"woman in lotus position: medium-dark skin tone","group":1,"hexcode":"1F9D8-1F3FE-200D-2640-FE0F","order":2514,"unicode":"🧘🏾‍♀️"},{"annotation":"woman in lotus position: dark skin tone","group":1,"hexcode":"1F9D8-1F3FF-200D-2640-FE0F","order":2516,"unicode":"🧘🏿‍♀️"}]},{"annotation":"person taking bath","group":1,"hexcode":"1F6C0","order":2518,"tags":["bath","bathtub"],"unicode":"🛀","skins":[{"annotation":"person taking bath: light skin tone","group":1,"hexcode":"1F6C0-1F3FB","order":2519,"unicode":"🛀🏻"},{"annotation":"person taking bath: medium-light skin tone","group":1,"hexcode":"1F6C0-1F3FC","order":2520,"unicode":"🛀🏼"},{"annotation":"person taking bath: medium skin tone","group":1,"hexcode":"1F6C0-1F3FD","order":2521,"unicode":"🛀🏽"},{"annotation":"person taking bath: medium-dark skin tone","group":1,"hexcode":"1F6C0-1F3FE","order":2522,"unicode":"🛀🏾"},{"annotation":"person taking bath: dark skin tone","group":1,"hexcode":"1F6C0-1F3FF","order":2523,"unicode":"🛀🏿"}]},{"annotation":"person in bed","group":1,"hexcode":"1F6CC","order":2524,"tags":["hotel","sleep"],"unicode":"🛌","skins":[{"annotation":"person in bed: light skin tone","group":1,"hexcode":"1F6CC-1F3FB","order":2525,"unicode":"🛌🏻"},{"annotation":"person in bed: medium-light skin tone","group":1,"hexcode":"1F6CC-1F3FC","order":2526,"unicode":"🛌🏼"},{"annotation":"person in bed: medium skin tone","group":1,"hexcode":"1F6CC-1F3FD","order":2527,"unicode":"🛌🏽"},{"annotation":"person in bed: medium-dark skin tone","group":1,"hexcode":"1F6CC-1F3FE","order":2528,"unicode":"🛌🏾"},{"annotation":"person in bed: dark skin tone","group":1,"hexcode":"1F6CC-1F3FF","order":2529,"unicode":"🛌🏿"}]},{"annotation":"people holding hands","group":1,"hexcode":"1F9D1-200D-1F91D-200D-1F9D1","order":2530,"tags":["couple","hand","hold","holding hands","person"],"unicode":"🧑‍🤝‍🧑","skins":[{"annotation":"people holding hands: light skin tone","group":1,"hexcode":"1F9D1-1F3FB-200D-1F91D-200D-1F9D1-1F3FB","order":2531,"unicode":"🧑🏻‍🤝‍🧑🏻"},{"annotation":"people holding hands: light skin tone, medium-light skin tone","group":1,"hexcode":"1F9D1-1F3FB-200D-1F91D-200D-1F9D1-1F3FC","order":2532,"unicode":"🧑🏻‍🤝‍🧑🏼"},{"annotation":"people holding hands: light skin tone, medium skin tone","group":1,"hexcode":"1F9D1-1F3FB-200D-1F91D-200D-1F9D1-1F3FD","order":2533,"unicode":"🧑🏻‍🤝‍🧑🏽"},{"annotation":"people holding hands: light skin tone, medium-dark skin tone","group":1,"hexcode":"1F9D1-1F3FB-200D-1F91D-200D-1F9D1-1F3FE","order":2534,"unicode":"🧑🏻‍🤝‍🧑🏾"},{"annotation":"people holding hands: light skin tone, dark skin tone","group":1,"hexcode":"1F9D1-1F3FB-200D-1F91D-200D-1F9D1-1F3FF","order":2535,"unicode":"🧑🏻‍🤝‍🧑🏿"},{"annotation":"people holding hands: medium-light skin tone, light skin tone","group":1,"hexcode":"1F9D1-1F3FC-200D-1F91D-200D-1F9D1-1F3FB","order":2536,"unicode":"🧑🏼‍🤝‍🧑🏻"},{"annotation":"people holding hands: medium-light skin tone","group":1,"hexcode":"1F9D1-1F3FC-200D-1F91D-200D-1F9D1-1F3FC","order":2537,"unicode":"🧑🏼‍🤝‍🧑🏼"},{"annotation":"people holding hands: medium-light skin tone, medium skin tone","group":1,"hexcode":"1F9D1-1F3FC-200D-1F91D-200D-1F9D1-1F3FD","order":2538,"unicode":"🧑🏼‍🤝‍🧑🏽"},{"annotation":"people holding hands: medium-light skin tone, medium-dark skin tone","group":1,"hexcode":"1F9D1-1F3FC-200D-1F91D-200D-1F9D1-1F3FE","order":2539,"unicode":"🧑🏼‍🤝‍🧑🏾"},{"annotation":"people holding hands: medium-light skin tone, dark skin tone","group":1,"hexcode":"1F9D1-1F3FC-200D-1F91D-200D-1F9D1-1F3FF","order":2540,"unicode":"🧑🏼‍🤝‍🧑🏿"},{"annotation":"people holding hands: medium skin tone, light skin tone","group":1,"hexcode":"1F9D1-1F3FD-200D-1F91D-200D-1F9D1-1F3FB","order":2541,"unicode":"🧑🏽‍🤝‍🧑🏻"},{"annotation":"people holding hands: medium skin tone, medium-light skin tone","group":1,"hexcode":"1F9D1-1F3FD-200D-1F91D-200D-1F9D1-1F3FC","order":2542,"unicode":"🧑🏽‍🤝‍🧑🏼"},{"annotation":"people holding hands: medium skin tone","group":1,"hexcode":"1F9D1-1F3FD-200D-1F91D-200D-1F9D1-1F3FD","order":2543,"unicode":"🧑🏽‍🤝‍🧑🏽"},{"annotation":"people holding hands: medium skin tone, medium-dark skin tone","group":1,"hexcode":"1F9D1-1F3FD-200D-1F91D-200D-1F9D1-1F3FE","order":2544,"unicode":"🧑🏽‍🤝‍🧑🏾"},{"annotation":"people holding hands: medium skin tone, dark skin tone","group":1,"hexcode":"1F9D1-1F3FD-200D-1F91D-200D-1F9D1-1F3FF","order":2545,"unicode":"🧑🏽‍🤝‍🧑🏿"},{"annotation":"people holding hands: medium-dark skin tone, light skin tone","group":1,"hexcode":"1F9D1-1F3FE-200D-1F91D-200D-1F9D1-1F3FB","order":2546,"unicode":"🧑🏾‍🤝‍🧑🏻"},{"annotation":"people holding hands: medium-dark skin tone, medium-light skin tone","group":1,"hexcode":"1F9D1-1F3FE-200D-1F91D-200D-1F9D1-1F3FC","order":2547,"unicode":"🧑🏾‍🤝‍🧑🏼"},{"annotation":"people holding hands: medium-dark skin tone, medium skin tone","group":1,"hexcode":"1F9D1-1F3FE-200D-1F91D-200D-1F9D1-1F3FD","order":2548,"unicode":"🧑🏾‍🤝‍🧑🏽"},{"annotation":"people holding hands: medium-dark skin tone","group":1,"hexcode":"1F9D1-1F3FE-200D-1F91D-200D-1F9D1-1F3FE","order":2549,"unicode":"🧑🏾‍🤝‍🧑🏾"},{"annotation":"people holding hands: medium-dark skin tone, dark skin tone","group":1,"hexcode":"1F9D1-1F3FE-200D-1F91D-200D-1F9D1-1F3FF","order":2550,"unicode":"🧑🏾‍🤝‍🧑🏿"},{"annotation":"people holding hands: dark skin tone, light skin tone","group":1,"hexcode":"1F9D1-1F3FF-200D-1F91D-200D-1F9D1-1F3FB","order":2551,"unicode":"🧑🏿‍🤝‍🧑🏻"},{"annotation":"people holding hands: dark skin tone, medium-light skin tone","group":1,"hexcode":"1F9D1-1F3FF-200D-1F91D-200D-1F9D1-1F3FC","order":2552,"unicode":"🧑🏿‍🤝‍🧑🏼"},{"annotation":"people holding hands: dark skin tone, medium skin tone","group":1,"hexcode":"1F9D1-1F3FF-200D-1F91D-200D-1F9D1-1F3FD","order":2553,"unicode":"🧑🏿‍🤝‍🧑🏽"},{"annotation":"people holding hands: dark skin tone, medium-dark skin tone","group":1,"hexcode":"1F9D1-1F3FF-200D-1F91D-200D-1F9D1-1F3FE","order":2554,"unicode":"🧑🏿‍🤝‍🧑🏾"},{"annotation":"people holding hands: dark skin tone","group":1,"hexcode":"1F9D1-1F3FF-200D-1F91D-200D-1F9D1-1F3FF","order":2555,"unicode":"🧑🏿‍🤝‍🧑🏿"}]},{"annotation":"women holding hands","group":1,"hexcode":"1F46D","order":2556,"tags":["couple","hand","holding hands","women"],"unicode":"👭","skins":[{"annotation":"women holding hands: light skin tone","group":1,"hexcode":"1F46D-1F3FB","order":2557,"unicode":"👭🏻"},{"annotation":"women holding hands: medium-light skin tone","group":1,"hexcode":"1F46D-1F3FC","order":2563,"unicode":"👭🏼"},{"annotation":"women holding hands: medium skin tone","group":1,"hexcode":"1F46D-1F3FD","order":2569,"unicode":"👭🏽"},{"annotation":"women holding hands: medium-dark skin tone","group":1,"hexcode":"1F46D-1F3FE","order":2575,"unicode":"👭🏾"},{"annotation":"women holding hands: dark skin tone","group":1,"hexcode":"1F46D-1F3FF","order":2581,"unicode":"👭🏿"},{"annotation":"women holding hands: light skin tone, medium-light skin tone","group":1,"hexcode":"1F469-1F3FB-200D-1F91D-200D-1F469-1F3FC","order":2558,"unicode":"👩🏻‍🤝‍👩🏼"},{"annotation":"women holding hands: light skin tone, medium skin tone","group":1,"hexcode":"1F469-1F3FB-200D-1F91D-200D-1F469-1F3FD","order":2559,"unicode":"👩🏻‍🤝‍👩🏽"},{"annotation":"women holding hands: light skin tone, medium-dark skin tone","group":1,"hexcode":"1F469-1F3FB-200D-1F91D-200D-1F469-1F3FE","order":2560,"unicode":"👩🏻‍🤝‍👩🏾"},{"annotation":"women holding hands: light skin tone, dark skin tone","group":1,"hexcode":"1F469-1F3FB-200D-1F91D-200D-1F469-1F3FF","order":2561,"unicode":"👩🏻‍🤝‍👩🏿"},{"annotation":"women holding hands: medium-light skin tone, light skin tone","group":1,"hexcode":"1F469-1F3FC-200D-1F91D-200D-1F469-1F3FB","order":2562,"unicode":"👩🏼‍🤝‍👩🏻"},{"annotation":"women holding hands: medium-light skin tone, medium skin tone","group":1,"hexcode":"1F469-1F3FC-200D-1F91D-200D-1F469-1F3FD","order":2564,"unicode":"👩🏼‍🤝‍👩🏽"},{"annotation":"women holding hands: medium-light skin tone, medium-dark skin tone","group":1,"hexcode":"1F469-1F3FC-200D-1F91D-200D-1F469-1F3FE","order":2565,"unicode":"👩🏼‍🤝‍👩🏾"},{"annotation":"women holding hands: medium-light skin tone, dark skin tone","group":1,"hexcode":"1F469-1F3FC-200D-1F91D-200D-1F469-1F3FF","order":2566,"unicode":"👩🏼‍🤝‍👩🏿"},{"annotation":"women holding hands: medium skin tone, light skin tone","group":1,"hexcode":"1F469-1F3FD-200D-1F91D-200D-1F469-1F3FB","order":2567,"unicode":"👩🏽‍🤝‍👩🏻"},{"annotation":"women holding hands: medium skin tone, medium-light skin tone","group":1,"hexcode":"1F469-1F3FD-200D-1F91D-200D-1F469-1F3FC","order":2568,"unicode":"👩🏽‍🤝‍👩🏼"},{"annotation":"women holding hands: medium skin tone, medium-dark skin tone","group":1,"hexcode":"1F469-1F3FD-200D-1F91D-200D-1F469-1F3FE","order":2570,"unicode":"👩🏽‍🤝‍👩🏾"},{"annotation":"women holding hands: medium skin tone, dark skin tone","group":1,"hexcode":"1F469-1F3FD-200D-1F91D-200D-1F469-1F3FF","order":2571,"unicode":"👩🏽‍🤝‍👩🏿"},{"annotation":"women holding hands: medium-dark skin tone, light skin tone","group":1,"hexcode":"1F469-1F3FE-200D-1F91D-200D-1F469-1F3FB","order":2572,"unicode":"👩🏾‍🤝‍👩🏻"},{"annotation":"women holding hands: medium-dark skin tone, medium-light skin tone","group":1,"hexcode":"1F469-1F3FE-200D-1F91D-200D-1F469-1F3FC","order":2573,"unicode":"👩🏾‍🤝‍👩🏼"},{"annotation":"women holding hands: medium-dark skin tone, medium skin tone","group":1,"hexcode":"1F469-1F3FE-200D-1F91D-200D-1F469-1F3FD","order":2574,"unicode":"👩🏾‍🤝‍👩🏽"},{"annotation":"women holding hands: medium-dark skin tone, dark skin tone","group":1,"hexcode":"1F469-1F3FE-200D-1F91D-200D-1F469-1F3FF","order":2576,"unicode":"👩🏾‍🤝‍👩🏿"},{"annotation":"women holding hands: dark skin tone, light skin tone","group":1,"hexcode":"1F469-1F3FF-200D-1F91D-200D-1F469-1F3FB","order":2577,"unicode":"👩🏿‍🤝‍👩🏻"},{"annotation":"women holding hands: dark skin tone, medium-light skin tone","group":1,"hexcode":"1F469-1F3FF-200D-1F91D-200D-1F469-1F3FC","order":2578,"unicode":"👩🏿‍🤝‍👩🏼"},{"annotation":"women holding hands: dark skin tone, medium skin tone","group":1,"hexcode":"1F469-1F3FF-200D-1F91D-200D-1F469-1F3FD","order":2579,"unicode":"👩🏿‍🤝‍👩🏽"},{"annotation":"women holding hands: dark skin tone, medium-dark skin tone","group":1,"hexcode":"1F469-1F3FF-200D-1F91D-200D-1F469-1F3FE","order":2580,"unicode":"👩🏿‍🤝‍👩🏾"}]},{"annotation":"woman and man holding hands","group":1,"hexcode":"1F46B","order":2582,"tags":["couple","hand","hold","holding hands","man","woman"],"unicode":"👫","skins":[{"annotation":"woman and man holding hands: light skin tone","group":1,"hexcode":"1F46B-1F3FB","order":2583,"unicode":"👫🏻"},{"annotation":"woman and man holding hands: medium-light skin tone","group":1,"hexcode":"1F46B-1F3FC","order":2589,"unicode":"👫🏼"},{"annotation":"woman and man holding hands: medium skin tone","group":1,"hexcode":"1F46B-1F3FD","order":2595,"unicode":"👫🏽"},{"annotation":"woman and man holding hands: medium-dark skin tone","group":1,"hexcode":"1F46B-1F3FE","order":2601,"unicode":"👫🏾"},{"annotation":"woman and man holding hands: dark skin tone","group":1,"hexcode":"1F46B-1F3FF","order":2607,"unicode":"👫🏿"},{"annotation":"woman and man holding hands: light skin tone, medium-light skin tone","group":1,"hexcode":"1F469-1F3FB-200D-1F91D-200D-1F468-1F3FC","order":2584,"unicode":"👩🏻‍🤝‍👨🏼"},{"annotation":"woman and man holding hands: light skin tone, medium skin tone","group":1,"hexcode":"1F469-1F3FB-200D-1F91D-200D-1F468-1F3FD","order":2585,"unicode":"👩🏻‍🤝‍👨🏽"},{"annotation":"woman and man holding hands: light skin tone, medium-dark skin tone","group":1,"hexcode":"1F469-1F3FB-200D-1F91D-200D-1F468-1F3FE","order":2586,"unicode":"👩🏻‍🤝‍👨🏾"},{"annotation":"woman and man holding hands: light skin tone, dark skin tone","group":1,"hexcode":"1F469-1F3FB-200D-1F91D-200D-1F468-1F3FF","order":2587,"unicode":"👩🏻‍🤝‍👨🏿"},{"annotation":"woman and man holding hands: medium-light skin tone, light skin tone","group":1,"hexcode":"1F469-1F3FC-200D-1F91D-200D-1F468-1F3FB","order":2588,"unicode":"👩🏼‍🤝‍👨🏻"},{"annotation":"woman and man holding hands: medium-light skin tone, medium skin tone","group":1,"hexcode":"1F469-1F3FC-200D-1F91D-200D-1F468-1F3FD","order":2590,"unicode":"👩🏼‍🤝‍👨🏽"},{"annotation":"woman and man holding hands: medium-light skin tone, medium-dark skin tone","group":1,"hexcode":"1F469-1F3FC-200D-1F91D-200D-1F468-1F3FE","order":2591,"unicode":"👩🏼‍🤝‍👨🏾"},{"annotation":"woman and man holding hands: medium-light skin tone, dark skin tone","group":1,"hexcode":"1F469-1F3FC-200D-1F91D-200D-1F468-1F3FF","order":2592,"unicode":"👩🏼‍🤝‍👨🏿"},{"annotation":"woman and man holding hands: medium skin tone, light skin tone","group":1,"hexcode":"1F469-1F3FD-200D-1F91D-200D-1F468-1F3FB","order":2593,"unicode":"👩🏽‍🤝‍👨🏻"},{"annotation":"woman and man holding hands: medium skin tone, medium-light skin tone","group":1,"hexcode":"1F469-1F3FD-200D-1F91D-200D-1F468-1F3FC","order":2594,"unicode":"👩🏽‍🤝‍👨🏼"},{"annotation":"woman and man holding hands: medium skin tone, medium-dark skin tone","group":1,"hexcode":"1F469-1F3FD-200D-1F91D-200D-1F468-1F3FE","order":2596,"unicode":"👩🏽‍🤝‍👨🏾"},{"annotation":"woman and man holding hands: medium skin tone, dark skin tone","group":1,"hexcode":"1F469-1F3FD-200D-1F91D-200D-1F468-1F3FF","order":2597,"unicode":"👩🏽‍🤝‍👨🏿"},{"annotation":"woman and man holding hands: medium-dark skin tone, light skin tone","group":1,"hexcode":"1F469-1F3FE-200D-1F91D-200D-1F468-1F3FB","order":2598,"unicode":"👩🏾‍🤝‍👨🏻"},{"annotation":"woman and man holding hands: medium-dark skin tone, medium-light skin tone","group":1,"hexcode":"1F469-1F3FE-200D-1F91D-200D-1F468-1F3FC","order":2599,"unicode":"👩🏾‍🤝‍👨🏼"},{"annotation":"woman and man holding hands: medium-dark skin tone, medium skin tone","group":1,"hexcode":"1F469-1F3FE-200D-1F91D-200D-1F468-1F3FD","order":2600,"unicode":"👩🏾‍🤝‍👨🏽"},{"annotation":"woman and man holding hands: medium-dark skin tone, dark skin tone","group":1,"hexcode":"1F469-1F3FE-200D-1F91D-200D-1F468-1F3FF","order":2602,"unicode":"👩🏾‍🤝‍👨🏿"},{"annotation":"woman and man holding hands: dark skin tone, light skin tone","group":1,"hexcode":"1F469-1F3FF-200D-1F91D-200D-1F468-1F3FB","order":2603,"unicode":"👩🏿‍🤝‍👨🏻"},{"annotation":"woman and man holding hands: dark skin tone, medium-light skin tone","group":1,"hexcode":"1F469-1F3FF-200D-1F91D-200D-1F468-1F3FC","order":2604,"unicode":"👩🏿‍🤝‍👨🏼"},{"annotation":"woman and man holding hands: dark skin tone, medium skin tone","group":1,"hexcode":"1F469-1F3FF-200D-1F91D-200D-1F468-1F3FD","order":2605,"unicode":"👩🏿‍🤝‍👨🏽"},{"annotation":"woman and man holding hands: dark skin tone, medium-dark skin tone","group":1,"hexcode":"1F469-1F3FF-200D-1F91D-200D-1F468-1F3FE","order":2606,"unicode":"👩🏿‍🤝‍👨🏾"}]},{"annotation":"men holding hands","group":1,"hexcode":"1F46C","order":2608,"tags":["couple","gemini","holding hands","man","men","twins","zodiac"],"unicode":"👬","skins":[{"annotation":"men holding hands: light skin tone","group":1,"hexcode":"1F46C-1F3FB","order":2609,"unicode":"👬🏻"},{"annotation":"men holding hands: medium-light skin tone","group":1,"hexcode":"1F46C-1F3FC","order":2615,"unicode":"👬🏼"},{"annotation":"men holding hands: medium skin tone","group":1,"hexcode":"1F46C-1F3FD","order":2621,"unicode":"👬🏽"},{"annotation":"men holding hands: medium-dark skin tone","group":1,"hexcode":"1F46C-1F3FE","order":2627,"unicode":"👬🏾"},{"annotation":"men holding hands: dark skin tone","group":1,"hexcode":"1F46C-1F3FF","order":2633,"unicode":"👬🏿"},{"annotation":"men holding hands: light skin tone, medium-light skin tone","group":1,"hexcode":"1F468-1F3FB-200D-1F91D-200D-1F468-1F3FC","order":2610,"unicode":"👨🏻‍🤝‍👨🏼"},{"annotation":"men holding hands: light skin tone, medium skin tone","group":1,"hexcode":"1F468-1F3FB-200D-1F91D-200D-1F468-1F3FD","order":2611,"unicode":"👨🏻‍🤝‍👨🏽"},{"annotation":"men holding hands: light skin tone, medium-dark skin tone","group":1,"hexcode":"1F468-1F3FB-200D-1F91D-200D-1F468-1F3FE","order":2612,"unicode":"👨🏻‍🤝‍👨🏾"},{"annotation":"men holding hands: light skin tone, dark skin tone","group":1,"hexcode":"1F468-1F3FB-200D-1F91D-200D-1F468-1F3FF","order":2613,"unicode":"👨🏻‍🤝‍👨🏿"},{"annotation":"men holding hands: medium-light skin tone, light skin tone","group":1,"hexcode":"1F468-1F3FC-200D-1F91D-200D-1F468-1F3FB","order":2614,"unicode":"👨🏼‍🤝‍👨🏻"},{"annotation":"men holding hands: medium-light skin tone, medium skin tone","group":1,"hexcode":"1F468-1F3FC-200D-1F91D-200D-1F468-1F3FD","order":2616,"unicode":"👨🏼‍🤝‍👨🏽"},{"annotation":"men holding hands: medium-light skin tone, medium-dark skin tone","group":1,"hexcode":"1F468-1F3FC-200D-1F91D-200D-1F468-1F3FE","order":2617,"unicode":"👨🏼‍🤝‍👨🏾"},{"annotation":"men holding hands: medium-light skin tone, dark skin tone","group":1,"hexcode":"1F468-1F3FC-200D-1F91D-200D-1F468-1F3FF","order":2618,"unicode":"👨🏼‍🤝‍👨🏿"},{"annotation":"men holding hands: medium skin tone, light skin tone","group":1,"hexcode":"1F468-1F3FD-200D-1F91D-200D-1F468-1F3FB","order":2619,"unicode":"👨🏽‍🤝‍👨🏻"},{"annotation":"men holding hands: medium skin tone, medium-light skin tone","group":1,"hexcode":"1F468-1F3FD-200D-1F91D-200D-1F468-1F3FC","order":2620,"unicode":"👨🏽‍🤝‍👨🏼"},{"annotation":"men holding hands: medium skin tone, medium-dark skin tone","group":1,"hexcode":"1F468-1F3FD-200D-1F91D-200D-1F468-1F3FE","order":2622,"unicode":"👨🏽‍🤝‍👨🏾"},{"annotation":"men holding hands: medium skin tone, dark skin tone","group":1,"hexcode":"1F468-1F3FD-200D-1F91D-200D-1F468-1F3FF","order":2623,"unicode":"👨🏽‍🤝‍👨🏿"},{"annotation":"men holding hands: medium-dark skin tone, light skin tone","group":1,"hexcode":"1F468-1F3FE-200D-1F91D-200D-1F468-1F3FB","order":2624,"unicode":"👨🏾‍🤝‍👨🏻"},{"annotation":"men holding hands: medium-dark skin tone, medium-light skin tone","group":1,"hexcode":"1F468-1F3FE-200D-1F91D-200D-1F468-1F3FC","order":2625,"unicode":"👨🏾‍🤝‍👨🏼"},{"annotation":"men holding hands: medium-dark skin tone, medium skin tone","group":1,"hexcode":"1F468-1F3FE-200D-1F91D-200D-1F468-1F3FD","order":2626,"unicode":"👨🏾‍🤝‍👨🏽"},{"annotation":"men holding hands: medium-dark skin tone, dark skin tone","group":1,"hexcode":"1F468-1F3FE-200D-1F91D-200D-1F468-1F3FF","order":2628,"unicode":"👨🏾‍🤝‍👨🏿"},{"annotation":"men holding hands: dark skin tone, light skin tone","group":1,"hexcode":"1F468-1F3FF-200D-1F91D-200D-1F468-1F3FB","order":2629,"unicode":"👨🏿‍🤝‍👨🏻"},{"annotation":"men holding hands: dark skin tone, medium-light skin tone","group":1,"hexcode":"1F468-1F3FF-200D-1F91D-200D-1F468-1F3FC","order":2630,"unicode":"👨🏿‍🤝‍👨🏼"},{"annotation":"men holding hands: dark skin tone, medium skin tone","group":1,"hexcode":"1F468-1F3FF-200D-1F91D-200D-1F468-1F3FD","order":2631,"unicode":"👨🏿‍🤝‍👨🏽"},{"annotation":"men holding hands: dark skin tone, medium-dark skin tone","group":1,"hexcode":"1F468-1F3FF-200D-1F91D-200D-1F468-1F3FE","order":2632,"unicode":"👨🏿‍🤝‍👨🏾"}]},{"annotation":"kiss","group":1,"hexcode":"1F48F","order":2634,"tags":["couple"],"unicode":"💏","skins":[{"annotation":"kiss: light skin tone","group":1,"hexcode":"1F48F-1F3FB","order":2635,"unicode":"💏🏻"},{"annotation":"kiss: medium-light skin tone","group":1,"hexcode":"1F48F-1F3FC","order":2636,"unicode":"💏🏼"},{"annotation":"kiss: medium skin tone","group":1,"hexcode":"1F48F-1F3FD","order":2637,"unicode":"💏🏽"},{"annotation":"kiss: medium-dark skin tone","group":1,"hexcode":"1F48F-1F3FE","order":2638,"unicode":"💏🏾"},{"annotation":"kiss: dark skin tone","group":1,"hexcode":"1F48F-1F3FF","order":2639,"unicode":"💏🏿"},{"annotation":"kiss: person, person, light skin tone, medium-light skin tone","group":1,"hexcode":"1F9D1-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FC","order":2640,"unicode":"🧑🏻‍❤️‍💋‍🧑🏼"},{"annotation":"kiss: person, person, light skin tone, medium skin tone","group":1,"hexcode":"1F9D1-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FD","order":2642,"unicode":"🧑🏻‍❤️‍💋‍🧑🏽"},{"annotation":"kiss: person, person, light skin tone, medium-dark skin tone","group":1,"hexcode":"1F9D1-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FE","order":2644,"unicode":"🧑🏻‍❤️‍💋‍🧑🏾"},{"annotation":"kiss: person, person, light skin tone, dark skin tone","group":1,"hexcode":"1F9D1-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FF","order":2646,"unicode":"🧑🏻‍❤️‍💋‍🧑🏿"},{"annotation":"kiss: person, person, medium-light skin tone, light skin tone","group":1,"hexcode":"1F9D1-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FB","order":2648,"unicode":"🧑🏼‍❤️‍💋‍🧑🏻"},{"annotation":"kiss: person, person, medium-light skin tone, medium skin tone","group":1,"hexcode":"1F9D1-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FD","order":2650,"unicode":"🧑🏼‍❤️‍💋‍🧑🏽"},{"annotation":"kiss: person, person, medium-light skin tone, medium-dark skin tone","group":1,"hexcode":"1F9D1-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FE","order":2652,"unicode":"🧑🏼‍❤️‍💋‍🧑🏾"},{"annotation":"kiss: person, person, medium-light skin tone, dark skin tone","group":1,"hexcode":"1F9D1-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FF","order":2654,"unicode":"🧑🏼‍❤️‍💋‍🧑🏿"},{"annotation":"kiss: person, person, medium skin tone, light skin tone","group":1,"hexcode":"1F9D1-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FB","order":2656,"unicode":"🧑🏽‍❤️‍💋‍🧑🏻"},{"annotation":"kiss: person, person, medium skin tone, medium-light skin tone","group":1,"hexcode":"1F9D1-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FC","order":2658,"unicode":"🧑🏽‍❤️‍💋‍🧑🏼"},{"annotation":"kiss: person, person, medium skin tone, medium-dark skin tone","group":1,"hexcode":"1F9D1-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FE","order":2660,"unicode":"🧑🏽‍❤️‍💋‍🧑🏾"},{"annotation":"kiss: person, person, medium skin tone, dark skin tone","group":1,"hexcode":"1F9D1-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FF","order":2662,"unicode":"🧑🏽‍❤️‍💋‍🧑🏿"},{"annotation":"kiss: person, person, medium-dark skin tone, light skin tone","group":1,"hexcode":"1F9D1-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FB","order":2664,"unicode":"🧑🏾‍❤️‍💋‍🧑🏻"},{"annotation":"kiss: person, person, medium-dark skin tone, medium-light skin tone","group":1,"hexcode":"1F9D1-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FC","order":2666,"unicode":"🧑🏾‍❤️‍💋‍🧑🏼"},{"annotation":"kiss: person, person, medium-dark skin tone, medium skin tone","group":1,"hexcode":"1F9D1-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FD","order":2668,"unicode":"🧑🏾‍❤️‍💋‍🧑🏽"},{"annotation":"kiss: person, person, medium-dark skin tone, dark skin tone","group":1,"hexcode":"1F9D1-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FF","order":2670,"unicode":"🧑🏾‍❤️‍💋‍🧑🏿"},{"annotation":"kiss: person, person, dark skin tone, light skin tone","group":1,"hexcode":"1F9D1-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FB","order":2672,"unicode":"🧑🏿‍❤️‍💋‍🧑🏻"},{"annotation":"kiss: person, person, dark skin tone, medium-light skin tone","group":1,"hexcode":"1F9D1-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FC","order":2674,"unicode":"🧑🏿‍❤️‍💋‍🧑🏼"},{"annotation":"kiss: person, person, dark skin tone, medium skin tone","group":1,"hexcode":"1F9D1-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FD","order":2676,"unicode":"🧑🏿‍❤️‍💋‍🧑🏽"},{"annotation":"kiss: person, person, dark skin tone, medium-dark skin tone","group":1,"hexcode":"1F9D1-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FE","order":2678,"unicode":"🧑🏿‍❤️‍💋‍🧑🏾"}]},{"annotation":"kiss: woman, man","group":1,"hexcode":"1F469-200D-2764-FE0F-200D-1F48B-200D-1F468","order":2680,"tags":["couple","kiss","man","woman"],"unicode":"👩‍❤️‍💋‍👨","skins":[{"annotation":"kiss: woman, man, light skin tone","group":1,"hexcode":"1F469-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FB","order":2682,"unicode":"👩🏻‍❤️‍💋‍👨🏻"},{"annotation":"kiss: woman, man, light skin tone, medium-light skin tone","group":1,"hexcode":"1F469-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FC","order":2684,"unicode":"👩🏻‍❤️‍💋‍👨🏼"},{"annotation":"kiss: woman, man, light skin tone, medium skin tone","group":1,"hexcode":"1F469-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FD","order":2686,"unicode":"👩🏻‍❤️‍💋‍👨🏽"},{"annotation":"kiss: woman, man, light skin tone, medium-dark skin tone","group":1,"hexcode":"1F469-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FE","order":2688,"unicode":"👩🏻‍❤️‍💋‍👨🏾"},{"annotation":"kiss: woman, man, light skin tone, dark skin tone","group":1,"hexcode":"1F469-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FF","order":2690,"unicode":"👩🏻‍❤️‍💋‍👨🏿"},{"annotation":"kiss: woman, man, medium-light skin tone, light skin tone","group":1,"hexcode":"1F469-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FB","order":2692,"unicode":"👩🏼‍❤️‍💋‍👨🏻"},{"annotation":"kiss: woman, man, medium-light skin tone","group":1,"hexcode":"1F469-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FC","order":2694,"unicode":"👩🏼‍❤️‍💋‍👨🏼"},{"annotation":"kiss: woman, man, medium-light skin tone, medium skin tone","group":1,"hexcode":"1F469-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FD","order":2696,"unicode":"👩🏼‍❤️‍💋‍👨🏽"},{"annotation":"kiss: woman, man, medium-light skin tone, medium-dark skin tone","group":1,"hexcode":"1F469-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FE","order":2698,"unicode":"👩🏼‍❤️‍💋‍👨🏾"},{"annotation":"kiss: woman, man, medium-light skin tone, dark skin tone","group":1,"hexcode":"1F469-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FF","order":2700,"unicode":"👩🏼‍❤️‍💋‍👨🏿"},{"annotation":"kiss: woman, man, medium skin tone, light skin tone","group":1,"hexcode":"1F469-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FB","order":2702,"unicode":"👩🏽‍❤️‍💋‍👨🏻"},{"annotation":"kiss: woman, man, medium skin tone, medium-light skin tone","group":1,"hexcode":"1F469-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FC","order":2704,"unicode":"👩🏽‍❤️‍💋‍👨🏼"},{"annotation":"kiss: woman, man, medium skin tone","group":1,"hexcode":"1F469-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FD","order":2706,"unicode":"👩🏽‍❤️‍💋‍👨🏽"},{"annotation":"kiss: woman, man, medium skin tone, medium-dark skin tone","group":1,"hexcode":"1F469-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FE","order":2708,"unicode":"👩🏽‍❤️‍💋‍👨🏾"},{"annotation":"kiss: woman, man, medium skin tone, dark skin tone","group":1,"hexcode":"1F469-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FF","order":2710,"unicode":"👩🏽‍❤️‍💋‍👨🏿"},{"annotation":"kiss: woman, man, medium-dark skin tone, light skin tone","group":1,"hexcode":"1F469-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FB","order":2712,"unicode":"👩🏾‍❤️‍💋‍👨🏻"},{"annotation":"kiss: woman, man, medium-dark skin tone, medium-light skin tone","group":1,"hexcode":"1F469-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FC","order":2714,"unicode":"👩🏾‍❤️‍💋‍👨🏼"},{"annotation":"kiss: woman, man, medium-dark skin tone, medium skin tone","group":1,"hexcode":"1F469-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FD","order":2716,"unicode":"👩🏾‍❤️‍💋‍👨🏽"},{"annotation":"kiss: woman, man, medium-dark skin tone","group":1,"hexcode":"1F469-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FE","order":2718,"unicode":"👩🏾‍❤️‍💋‍👨🏾"},{"annotation":"kiss: woman, man, medium-dark skin tone, dark skin tone","group":1,"hexcode":"1F469-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FF","order":2720,"unicode":"👩🏾‍❤️‍💋‍👨🏿"},{"annotation":"kiss: woman, man, dark skin tone, light skin tone","group":1,"hexcode":"1F469-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FB","order":2722,"unicode":"👩🏿‍❤️‍💋‍👨🏻"},{"annotation":"kiss: woman, man, dark skin tone, medium-light skin tone","group":1,"hexcode":"1F469-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FC","order":2724,"unicode":"👩🏿‍❤️‍💋‍👨🏼"},{"annotation":"kiss: woman, man, dark skin tone, medium skin tone","group":1,"hexcode":"1F469-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FD","order":2726,"unicode":"👩🏿‍❤️‍💋‍👨🏽"},{"annotation":"kiss: woman, man, dark skin tone, medium-dark skin tone","group":1,"hexcode":"1F469-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FE","order":2728,"unicode":"👩🏿‍❤️‍💋‍👨🏾"},{"annotation":"kiss: woman, man, dark skin tone","group":1,"hexcode":"1F469-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FF","order":2730,"unicode":"👩🏿‍❤️‍💋‍👨🏿"}]},{"annotation":"kiss: man, man","group":1,"hexcode":"1F468-200D-2764-FE0F-200D-1F48B-200D-1F468","order":2732,"tags":["couple","kiss","man"],"unicode":"👨‍❤️‍💋‍👨","skins":[{"annotation":"kiss: man, man, light skin tone","group":1,"hexcode":"1F468-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FB","order":2734,"unicode":"👨🏻‍❤️‍💋‍👨🏻"},{"annotation":"kiss: man, man, light skin tone, medium-light skin tone","group":1,"hexcode":"1F468-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FC","order":2736,"unicode":"👨🏻‍❤️‍💋‍👨🏼"},{"annotation":"kiss: man, man, light skin tone, medium skin tone","group":1,"hexcode":"1F468-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FD","order":2738,"unicode":"👨🏻‍❤️‍💋‍👨🏽"},{"annotation":"kiss: man, man, light skin tone, medium-dark skin tone","group":1,"hexcode":"1F468-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FE","order":2740,"unicode":"👨🏻‍❤️‍💋‍👨🏾"},{"annotation":"kiss: man, man, light skin tone, dark skin tone","group":1,"hexcode":"1F468-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FF","order":2742,"unicode":"👨🏻‍❤️‍💋‍👨🏿"},{"annotation":"kiss: man, man, medium-light skin tone, light skin tone","group":1,"hexcode":"1F468-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FB","order":2744,"unicode":"👨🏼‍❤️‍💋‍👨🏻"},{"annotation":"kiss: man, man, medium-light skin tone","group":1,"hexcode":"1F468-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FC","order":2746,"unicode":"👨🏼‍❤️‍💋‍👨🏼"},{"annotation":"kiss: man, man, medium-light skin tone, medium skin tone","group":1,"hexcode":"1F468-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FD","order":2748,"unicode":"👨🏼‍❤️‍💋‍👨🏽"},{"annotation":"kiss: man, man, medium-light skin tone, medium-dark skin tone","group":1,"hexcode":"1F468-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FE","order":2750,"unicode":"👨🏼‍❤️‍💋‍👨🏾"},{"annotation":"kiss: man, man, medium-light skin tone, dark skin tone","group":1,"hexcode":"1F468-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FF","order":2752,"unicode":"👨🏼‍❤️‍💋‍👨🏿"},{"annotation":"kiss: man, man, medium skin tone, light skin tone","group":1,"hexcode":"1F468-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FB","order":2754,"unicode":"👨🏽‍❤️‍💋‍👨🏻"},{"annotation":"kiss: man, man, medium skin tone, medium-light skin tone","group":1,"hexcode":"1F468-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FC","order":2756,"unicode":"👨🏽‍❤️‍💋‍👨🏼"},{"annotation":"kiss: man, man, medium skin tone","group":1,"hexcode":"1F468-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FD","order":2758,"unicode":"👨🏽‍❤️‍💋‍👨🏽"},{"annotation":"kiss: man, man, medium skin tone, medium-dark skin tone","group":1,"hexcode":"1F468-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FE","order":2760,"unicode":"👨🏽‍❤️‍💋‍👨🏾"},{"annotation":"kiss: man, man, medium skin tone, dark skin tone","group":1,"hexcode":"1F468-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FF","order":2762,"unicode":"👨🏽‍❤️‍💋‍👨🏿"},{"annotation":"kiss: man, man, medium-dark skin tone, light skin tone","group":1,"hexcode":"1F468-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FB","order":2764,"unicode":"👨🏾‍❤️‍💋‍👨🏻"},{"annotation":"kiss: man, man, medium-dark skin tone, medium-light skin tone","group":1,"hexcode":"1F468-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FC","order":2766,"unicode":"👨🏾‍❤️‍💋‍👨🏼"},{"annotation":"kiss: man, man, medium-dark skin tone, medium skin tone","group":1,"hexcode":"1F468-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FD","order":2768,"unicode":"👨🏾‍❤️‍💋‍👨🏽"},{"annotation":"kiss: man, man, medium-dark skin tone","group":1,"hexcode":"1F468-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FE","order":2770,"unicode":"👨🏾‍❤️‍💋‍👨🏾"},{"annotation":"kiss: man, man, medium-dark skin tone, dark skin tone","group":1,"hexcode":"1F468-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FF","order":2772,"unicode":"👨🏾‍❤️‍💋‍👨🏿"},{"annotation":"kiss: man, man, dark skin tone, light skin tone","group":1,"hexcode":"1F468-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FB","order":2774,"unicode":"👨🏿‍❤️‍💋‍👨🏻"},{"annotation":"kiss: man, man, dark skin tone, medium-light skin tone","group":1,"hexcode":"1F468-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FC","order":2776,"unicode":"👨🏿‍❤️‍💋‍👨🏼"},{"annotation":"kiss: man, man, dark skin tone, medium skin tone","group":1,"hexcode":"1F468-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FD","order":2778,"unicode":"👨🏿‍❤️‍💋‍👨🏽"},{"annotation":"kiss: man, man, dark skin tone, medium-dark skin tone","group":1,"hexcode":"1F468-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FE","order":2780,"unicode":"👨🏿‍❤️‍💋‍👨🏾"},{"annotation":"kiss: man, man, dark skin tone","group":1,"hexcode":"1F468-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FF","order":2782,"unicode":"👨🏿‍❤️‍💋‍👨🏿"}]},{"annotation":"kiss: woman, woman","group":1,"hexcode":"1F469-200D-2764-FE0F-200D-1F48B-200D-1F469","order":2784,"tags":["couple","kiss","woman"],"unicode":"👩‍❤️‍💋‍👩","skins":[{"annotation":"kiss: woman, woman, light skin tone","group":1,"hexcode":"1F469-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FB","order":2786,"unicode":"👩🏻‍❤️‍💋‍👩🏻"},{"annotation":"kiss: woman, woman, light skin tone, medium-light skin tone","group":1,"hexcode":"1F469-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FC","order":2788,"unicode":"👩🏻‍❤️‍💋‍👩🏼"},{"annotation":"kiss: woman, woman, light skin tone, medium skin tone","group":1,"hexcode":"1F469-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FD","order":2790,"unicode":"👩🏻‍❤️‍💋‍👩🏽"},{"annotation":"kiss: woman, woman, light skin tone, medium-dark skin tone","group":1,"hexcode":"1F469-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FE","order":2792,"unicode":"👩🏻‍❤️‍💋‍👩🏾"},{"annotation":"kiss: woman, woman, light skin tone, dark skin tone","group":1,"hexcode":"1F469-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FF","order":2794,"unicode":"👩🏻‍❤️‍💋‍👩🏿"},{"annotation":"kiss: woman, woman, medium-light skin tone, light skin tone","group":1,"hexcode":"1F469-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FB","order":2796,"unicode":"👩🏼‍❤️‍💋‍👩🏻"},{"annotation":"kiss: woman, woman, medium-light skin tone","group":1,"hexcode":"1F469-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FC","order":2798,"unicode":"👩🏼‍❤️‍💋‍👩🏼"},{"annotation":"kiss: woman, woman, medium-light skin tone, medium skin tone","group":1,"hexcode":"1F469-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FD","order":2800,"unicode":"👩🏼‍❤️‍💋‍👩🏽"},{"annotation":"kiss: woman, woman, medium-light skin tone, medium-dark skin tone","group":1,"hexcode":"1F469-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FE","order":2802,"unicode":"👩🏼‍❤️‍💋‍👩🏾"},{"annotation":"kiss: woman, woman, medium-light skin tone, dark skin tone","group":1,"hexcode":"1F469-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FF","order":2804,"unicode":"👩🏼‍❤️‍💋‍👩🏿"},{"annotation":"kiss: woman, woman, medium skin tone, light skin tone","group":1,"hexcode":"1F469-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FB","order":2806,"unicode":"👩🏽‍❤️‍💋‍👩🏻"},{"annotation":"kiss: woman, woman, medium skin tone, medium-light skin tone","group":1,"hexcode":"1F469-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FC","order":2808,"unicode":"👩🏽‍❤️‍💋‍👩🏼"},{"annotation":"kiss: woman, woman, medium skin tone","group":1,"hexcode":"1F469-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FD","order":2810,"unicode":"👩🏽‍❤️‍💋‍👩🏽"},{"annotation":"kiss: woman, woman, medium skin tone, medium-dark skin tone","group":1,"hexcode":"1F469-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FE","order":2812,"unicode":"👩🏽‍❤️‍💋‍👩🏾"},{"annotation":"kiss: woman, woman, medium skin tone, dark skin tone","group":1,"hexcode":"1F469-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FF","order":2814,"unicode":"👩🏽‍❤️‍💋‍👩🏿"},{"annotation":"kiss: woman, woman, medium-dark skin tone, light skin tone","group":1,"hexcode":"1F469-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FB","order":2816,"unicode":"👩🏾‍❤️‍💋‍👩🏻"},{"annotation":"kiss: woman, woman, medium-dark skin tone, medium-light skin tone","group":1,"hexcode":"1F469-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FC","order":2818,"unicode":"👩🏾‍❤️‍💋‍👩🏼"},{"annotation":"kiss: woman, woman, medium-dark skin tone, medium skin tone","group":1,"hexcode":"1F469-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FD","order":2820,"unicode":"👩🏾‍❤️‍💋‍👩🏽"},{"annotation":"kiss: woman, woman, medium-dark skin tone","group":1,"hexcode":"1F469-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FE","order":2822,"unicode":"👩🏾‍❤️‍💋‍👩🏾"},{"annotation":"kiss: woman, woman, medium-dark skin tone, dark skin tone","group":1,"hexcode":"1F469-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FF","order":2824,"unicode":"👩🏾‍❤️‍💋‍👩🏿"},{"annotation":"kiss: woman, woman, dark skin tone, light skin tone","group":1,"hexcode":"1F469-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FB","order":2826,"unicode":"👩🏿‍❤️‍💋‍👩🏻"},{"annotation":"kiss: woman, woman, dark skin tone, medium-light skin tone","group":1,"hexcode":"1F469-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FC","order":2828,"unicode":"👩🏿‍❤️‍💋‍👩🏼"},{"annotation":"kiss: woman, woman, dark skin tone, medium skin tone","group":1,"hexcode":"1F469-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FD","order":2830,"unicode":"👩🏿‍❤️‍💋‍👩🏽"},{"annotation":"kiss: woman, woman, dark skin tone, medium-dark skin tone","group":1,"hexcode":"1F469-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FE","order":2832,"unicode":"👩🏿‍❤️‍💋‍👩🏾"},{"annotation":"kiss: woman, woman, dark skin tone","group":1,"hexcode":"1F469-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FF","order":2834,"unicode":"👩🏿‍❤️‍💋‍👩🏿"}]},{"annotation":"couple with heart","group":1,"hexcode":"1F491","order":2836,"tags":["couple","love"],"unicode":"💑","skins":[{"annotation":"couple with heart: light skin tone","group":1,"hexcode":"1F491-1F3FB","order":2837,"unicode":"💑🏻"},{"annotation":"couple with heart: medium-light skin tone","group":1,"hexcode":"1F491-1F3FC","order":2838,"unicode":"💑🏼"},{"annotation":"couple with heart: medium skin tone","group":1,"hexcode":"1F491-1F3FD","order":2839,"unicode":"💑🏽"},{"annotation":"couple with heart: medium-dark skin tone","group":1,"hexcode":"1F491-1F3FE","order":2840,"unicode":"💑🏾"},{"annotation":"couple with heart: dark skin tone","group":1,"hexcode":"1F491-1F3FF","order":2841,"unicode":"💑🏿"},{"annotation":"couple with heart: person, person, light skin tone, medium-light skin tone","group":1,"hexcode":"1F9D1-1F3FB-200D-2764-FE0F-200D-1F9D1-1F3FC","order":2842,"unicode":"🧑🏻‍❤️‍🧑🏼"},{"annotation":"couple with heart: person, person, light skin tone, medium skin tone","group":1,"hexcode":"1F9D1-1F3FB-200D-2764-FE0F-200D-1F9D1-1F3FD","order":2844,"unicode":"🧑🏻‍❤️‍🧑🏽"},{"annotation":"couple with heart: person, person, light skin tone, medium-dark skin tone","group":1,"hexcode":"1F9D1-1F3FB-200D-2764-FE0F-200D-1F9D1-1F3FE","order":2846,"unicode":"🧑🏻‍❤️‍🧑🏾"},{"annotation":"couple with heart: person, person, light skin tone, dark skin tone","group":1,"hexcode":"1F9D1-1F3FB-200D-2764-FE0F-200D-1F9D1-1F3FF","order":2848,"unicode":"🧑🏻‍❤️‍🧑🏿"},{"annotation":"couple with heart: person, person, medium-light skin tone, light skin tone","group":1,"hexcode":"1F9D1-1F3FC-200D-2764-FE0F-200D-1F9D1-1F3FB","order":2850,"unicode":"🧑🏼‍❤️‍🧑🏻"},{"annotation":"couple with heart: person, person, medium-light skin tone, medium skin tone","group":1,"hexcode":"1F9D1-1F3FC-200D-2764-FE0F-200D-1F9D1-1F3FD","order":2852,"unicode":"🧑🏼‍❤️‍🧑🏽"},{"annotation":"couple with heart: person, person, medium-light skin tone, medium-dark skin tone","group":1,"hexcode":"1F9D1-1F3FC-200D-2764-FE0F-200D-1F9D1-1F3FE","order":2854,"unicode":"🧑🏼‍❤️‍🧑🏾"},{"annotation":"couple with heart: person, person, medium-light skin tone, dark skin tone","group":1,"hexcode":"1F9D1-1F3FC-200D-2764-FE0F-200D-1F9D1-1F3FF","order":2856,"unicode":"🧑🏼‍❤️‍🧑🏿"},{"annotation":"couple with heart: person, person, medium skin tone, light skin tone","group":1,"hexcode":"1F9D1-1F3FD-200D-2764-FE0F-200D-1F9D1-1F3FB","order":2858,"unicode":"🧑🏽‍❤️‍🧑🏻"},{"annotation":"couple with heart: person, person, medium skin tone, medium-light skin tone","group":1,"hexcode":"1F9D1-1F3FD-200D-2764-FE0F-200D-1F9D1-1F3FC","order":2860,"unicode":"🧑🏽‍❤️‍🧑🏼"},{"annotation":"couple with heart: person, person, medium skin tone, medium-dark skin tone","group":1,"hexcode":"1F9D1-1F3FD-200D-2764-FE0F-200D-1F9D1-1F3FE","order":2862,"unicode":"🧑🏽‍❤️‍🧑🏾"},{"annotation":"couple with heart: person, person, medium skin tone, dark skin tone","group":1,"hexcode":"1F9D1-1F3FD-200D-2764-FE0F-200D-1F9D1-1F3FF","order":2864,"unicode":"🧑🏽‍❤️‍🧑🏿"},{"annotation":"couple with heart: person, person, medium-dark skin tone, light skin tone","group":1,"hexcode":"1F9D1-1F3FE-200D-2764-FE0F-200D-1F9D1-1F3FB","order":2866,"unicode":"🧑🏾‍❤️‍🧑🏻"},{"annotation":"couple with heart: person, person, medium-dark skin tone, medium-light skin tone","group":1,"hexcode":"1F9D1-1F3FE-200D-2764-FE0F-200D-1F9D1-1F3FC","order":2868,"unicode":"🧑🏾‍❤️‍🧑🏼"},{"annotation":"couple with heart: person, person, medium-dark skin tone, medium skin tone","group":1,"hexcode":"1F9D1-1F3FE-200D-2764-FE0F-200D-1F9D1-1F3FD","order":2870,"unicode":"🧑🏾‍❤️‍🧑🏽"},{"annotation":"couple with heart: person, person, medium-dark skin tone, dark skin tone","group":1,"hexcode":"1F9D1-1F3FE-200D-2764-FE0F-200D-1F9D1-1F3FF","order":2872,"unicode":"🧑🏾‍❤️‍🧑🏿"},{"annotation":"couple with heart: person, person, dark skin tone, light skin tone","group":1,"hexcode":"1F9D1-1F3FF-200D-2764-FE0F-200D-1F9D1-1F3FB","order":2874,"unicode":"🧑🏿‍❤️‍🧑🏻"},{"annotation":"couple with heart: person, person, dark skin tone, medium-light skin tone","group":1,"hexcode":"1F9D1-1F3FF-200D-2764-FE0F-200D-1F9D1-1F3FC","order":2876,"unicode":"🧑🏿‍❤️‍🧑🏼"},{"annotation":"couple with heart: person, person, dark skin tone, medium skin tone","group":1,"hexcode":"1F9D1-1F3FF-200D-2764-FE0F-200D-1F9D1-1F3FD","order":2878,"unicode":"🧑🏿‍❤️‍🧑🏽"},{"annotation":"couple with heart: person, person, dark skin tone, medium-dark skin tone","group":1,"hexcode":"1F9D1-1F3FF-200D-2764-FE0F-200D-1F9D1-1F3FE","order":2880,"unicode":"🧑🏿‍❤️‍🧑🏾"}]},{"annotation":"couple with heart: woman, man","group":1,"hexcode":"1F469-200D-2764-FE0F-200D-1F468","order":2882,"tags":["couple","couple with heart","love","man","woman"],"unicode":"👩‍❤️‍👨","skins":[{"annotation":"couple with heart: woman, man, light skin tone","group":1,"hexcode":"1F469-1F3FB-200D-2764-FE0F-200D-1F468-1F3FB","order":2884,"unicode":"👩🏻‍❤️‍👨🏻"},{"annotation":"couple with heart: woman, man, light skin tone, medium-light skin tone","group":1,"hexcode":"1F469-1F3FB-200D-2764-FE0F-200D-1F468-1F3FC","order":2886,"unicode":"👩🏻‍❤️‍👨🏼"},{"annotation":"couple with heart: woman, man, light skin tone, medium skin tone","group":1,"hexcode":"1F469-1F3FB-200D-2764-FE0F-200D-1F468-1F3FD","order":2888,"unicode":"👩🏻‍❤️‍👨🏽"},{"annotation":"couple with heart: woman, man, light skin tone, medium-dark skin tone","group":1,"hexcode":"1F469-1F3FB-200D-2764-FE0F-200D-1F468-1F3FE","order":2890,"unicode":"👩🏻‍❤️‍👨🏾"},{"annotation":"couple with heart: woman, man, light skin tone, dark skin tone","group":1,"hexcode":"1F469-1F3FB-200D-2764-FE0F-200D-1F468-1F3FF","order":2892,"unicode":"👩🏻‍❤️‍👨🏿"},{"annotation":"couple with heart: woman, man, medium-light skin tone, light skin tone","group":1,"hexcode":"1F469-1F3FC-200D-2764-FE0F-200D-1F468-1F3FB","order":2894,"unicode":"👩🏼‍❤️‍👨🏻"},{"annotation":"couple with heart: woman, man, medium-light skin tone","group":1,"hexcode":"1F469-1F3FC-200D-2764-FE0F-200D-1F468-1F3FC","order":2896,"unicode":"👩🏼‍❤️‍👨🏼"},{"annotation":"couple with heart: woman, man, medium-light skin tone, medium skin tone","group":1,"hexcode":"1F469-1F3FC-200D-2764-FE0F-200D-1F468-1F3FD","order":2898,"unicode":"👩🏼‍❤️‍👨🏽"},{"annotation":"couple with heart: woman, man, medium-light skin tone, medium-dark skin tone","group":1,"hexcode":"1F469-1F3FC-200D-2764-FE0F-200D-1F468-1F3FE","order":2900,"unicode":"👩🏼‍❤️‍👨🏾"},{"annotation":"couple with heart: woman, man, medium-light skin tone, dark skin tone","group":1,"hexcode":"1F469-1F3FC-200D-2764-FE0F-200D-1F468-1F3FF","order":2902,"unicode":"👩🏼‍❤️‍👨🏿"},{"annotation":"couple with heart: woman, man, medium skin tone, light skin tone","group":1,"hexcode":"1F469-1F3FD-200D-2764-FE0F-200D-1F468-1F3FB","order":2904,"unicode":"👩🏽‍❤️‍👨🏻"},{"annotation":"couple with heart: woman, man, medium skin tone, medium-light skin tone","group":1,"hexcode":"1F469-1F3FD-200D-2764-FE0F-200D-1F468-1F3FC","order":2906,"unicode":"👩🏽‍❤️‍👨🏼"},{"annotation":"couple with heart: woman, man, medium skin tone","group":1,"hexcode":"1F469-1F3FD-200D-2764-FE0F-200D-1F468-1F3FD","order":2908,"unicode":"👩🏽‍❤️‍👨🏽"},{"annotation":"couple with heart: woman, man, medium skin tone, medium-dark skin tone","group":1,"hexcode":"1F469-1F3FD-200D-2764-FE0F-200D-1F468-1F3FE","order":2910,"unicode":"👩🏽‍❤️‍👨🏾"},{"annotation":"couple with heart: woman, man, medium skin tone, dark skin tone","group":1,"hexcode":"1F469-1F3FD-200D-2764-FE0F-200D-1F468-1F3FF","order":2912,"unicode":"👩🏽‍❤️‍👨🏿"},{"annotation":"couple with heart: woman, man, medium-dark skin tone, light skin tone","group":1,"hexcode":"1F469-1F3FE-200D-2764-FE0F-200D-1F468-1F3FB","order":2914,"unicode":"👩🏾‍❤️‍👨🏻"},{"annotation":"couple with heart: woman, man, medium-dark skin tone, medium-light skin tone","group":1,"hexcode":"1F469-1F3FE-200D-2764-FE0F-200D-1F468-1F3FC","order":2916,"unicode":"👩🏾‍❤️‍👨🏼"},{"annotation":"couple with heart: woman, man, medium-dark skin tone, medium skin tone","group":1,"hexcode":"1F469-1F3FE-200D-2764-FE0F-200D-1F468-1F3FD","order":2918,"unicode":"👩🏾‍❤️‍👨🏽"},{"annotation":"couple with heart: woman, man, medium-dark skin tone","group":1,"hexcode":"1F469-1F3FE-200D-2764-FE0F-200D-1F468-1F3FE","order":2920,"unicode":"👩🏾‍❤️‍👨🏾"},{"annotation":"couple with heart: woman, man, medium-dark skin tone, dark skin tone","group":1,"hexcode":"1F469-1F3FE-200D-2764-FE0F-200D-1F468-1F3FF","order":2922,"unicode":"👩🏾‍❤️‍👨🏿"},{"annotation":"couple with heart: woman, man, dark skin tone, light skin tone","group":1,"hexcode":"1F469-1F3FF-200D-2764-FE0F-200D-1F468-1F3FB","order":2924,"unicode":"👩🏿‍❤️‍👨🏻"},{"annotation":"couple with heart: woman, man, dark skin tone, medium-light skin tone","group":1,"hexcode":"1F469-1F3FF-200D-2764-FE0F-200D-1F468-1F3FC","order":2926,"unicode":"👩🏿‍❤️‍👨🏼"},{"annotation":"couple with heart: woman, man, dark skin tone, medium skin tone","group":1,"hexcode":"1F469-1F3FF-200D-2764-FE0F-200D-1F468-1F3FD","order":2928,"unicode":"👩🏿‍❤️‍👨🏽"},{"annotation":"couple with heart: woman, man, dark skin tone, medium-dark skin tone","group":1,"hexcode":"1F469-1F3FF-200D-2764-FE0F-200D-1F468-1F3FE","order":2930,"unicode":"👩🏿‍❤️‍👨🏾"},{"annotation":"couple with heart: woman, man, dark skin tone","group":1,"hexcode":"1F469-1F3FF-200D-2764-FE0F-200D-1F468-1F3FF","order":2932,"unicode":"👩🏿‍❤️‍👨🏿"}]},{"annotation":"couple with heart: man, man","group":1,"hexcode":"1F468-200D-2764-FE0F-200D-1F468","order":2934,"tags":["couple","couple with heart","love","man"],"unicode":"👨‍❤️‍👨","skins":[{"annotation":"couple with heart: man, man, light skin tone","group":1,"hexcode":"1F468-1F3FB-200D-2764-FE0F-200D-1F468-1F3FB","order":2936,"unicode":"👨🏻‍❤️‍👨🏻"},{"annotation":"couple with heart: man, man, light skin tone, medium-light skin tone","group":1,"hexcode":"1F468-1F3FB-200D-2764-FE0F-200D-1F468-1F3FC","order":2938,"unicode":"👨🏻‍❤️‍👨🏼"},{"annotation":"couple with heart: man, man, light skin tone, medium skin tone","group":1,"hexcode":"1F468-1F3FB-200D-2764-FE0F-200D-1F468-1F3FD","order":2940,"unicode":"👨🏻‍❤️‍👨🏽"},{"annotation":"couple with heart: man, man, light skin tone, medium-dark skin tone","group":1,"hexcode":"1F468-1F3FB-200D-2764-FE0F-200D-1F468-1F3FE","order":2942,"unicode":"👨🏻‍❤️‍👨🏾"},{"annotation":"couple with heart: man, man, light skin tone, dark skin tone","group":1,"hexcode":"1F468-1F3FB-200D-2764-FE0F-200D-1F468-1F3FF","order":2944,"unicode":"👨🏻‍❤️‍👨🏿"},{"annotation":"couple with heart: man, man, medium-light skin tone, light skin tone","group":1,"hexcode":"1F468-1F3FC-200D-2764-FE0F-200D-1F468-1F3FB","order":2946,"unicode":"👨🏼‍❤️‍👨🏻"},{"annotation":"couple with heart: man, man, medium-light skin tone","group":1,"hexcode":"1F468-1F3FC-200D-2764-FE0F-200D-1F468-1F3FC","order":2948,"unicode":"👨🏼‍❤️‍👨🏼"},{"annotation":"couple with heart: man, man, medium-light skin tone, medium skin tone","group":1,"hexcode":"1F468-1F3FC-200D-2764-FE0F-200D-1F468-1F3FD","order":2950,"unicode":"👨🏼‍❤️‍👨🏽"},{"annotation":"couple with heart: man, man, medium-light skin tone, medium-dark skin tone","group":1,"hexcode":"1F468-1F3FC-200D-2764-FE0F-200D-1F468-1F3FE","order":2952,"unicode":"👨🏼‍❤️‍👨🏾"},{"annotation":"couple with heart: man, man, medium-light skin tone, dark skin tone","group":1,"hexcode":"1F468-1F3FC-200D-2764-FE0F-200D-1F468-1F3FF","order":2954,"unicode":"👨🏼‍❤️‍👨🏿"},{"annotation":"couple with heart: man, man, medium skin tone, light skin tone","group":1,"hexcode":"1F468-1F3FD-200D-2764-FE0F-200D-1F468-1F3FB","order":2956,"unicode":"👨🏽‍❤️‍👨🏻"},{"annotation":"couple with heart: man, man, medium skin tone, medium-light skin tone","group":1,"hexcode":"1F468-1F3FD-200D-2764-FE0F-200D-1F468-1F3FC","order":2958,"unicode":"👨🏽‍❤️‍👨🏼"},{"annotation":"couple with heart: man, man, medium skin tone","group":1,"hexcode":"1F468-1F3FD-200D-2764-FE0F-200D-1F468-1F3FD","order":2960,"unicode":"👨🏽‍❤️‍👨🏽"},{"annotation":"couple with heart: man, man, medium skin tone, medium-dark skin tone","group":1,"hexcode":"1F468-1F3FD-200D-2764-FE0F-200D-1F468-1F3FE","order":2962,"unicode":"👨🏽‍❤️‍👨🏾"},{"annotation":"couple with heart: man, man, medium skin tone, dark skin tone","group":1,"hexcode":"1F468-1F3FD-200D-2764-FE0F-200D-1F468-1F3FF","order":2964,"unicode":"👨🏽‍❤️‍👨🏿"},{"annotation":"couple with heart: man, man, medium-dark skin tone, light skin tone","group":1,"hexcode":"1F468-1F3FE-200D-2764-FE0F-200D-1F468-1F3FB","order":2966,"unicode":"👨🏾‍❤️‍👨🏻"},{"annotation":"couple with heart: man, man, medium-dark skin tone, medium-light skin tone","group":1,"hexcode":"1F468-1F3FE-200D-2764-FE0F-200D-1F468-1F3FC","order":2968,"unicode":"👨🏾‍❤️‍👨🏼"},{"annotation":"couple with heart: man, man, medium-dark skin tone, medium skin tone","group":1,"hexcode":"1F468-1F3FE-200D-2764-FE0F-200D-1F468-1F3FD","order":2970,"unicode":"👨🏾‍❤️‍👨🏽"},{"annotation":"couple with heart: man, man, medium-dark skin tone","group":1,"hexcode":"1F468-1F3FE-200D-2764-FE0F-200D-1F468-1F3FE","order":2972,"unicode":"👨🏾‍❤️‍👨🏾"},{"annotation":"couple with heart: man, man, medium-dark skin tone, dark skin tone","group":1,"hexcode":"1F468-1F3FE-200D-2764-FE0F-200D-1F468-1F3FF","order":2974,"unicode":"👨🏾‍❤️‍👨🏿"},{"annotation":"couple with heart: man, man, dark skin tone, light skin tone","group":1,"hexcode":"1F468-1F3FF-200D-2764-FE0F-200D-1F468-1F3FB","order":2976,"unicode":"👨🏿‍❤️‍👨🏻"},{"annotation":"couple with heart: man, man, dark skin tone, medium-light skin tone","group":1,"hexcode":"1F468-1F3FF-200D-2764-FE0F-200D-1F468-1F3FC","order":2978,"unicode":"👨🏿‍❤️‍👨🏼"},{"annotation":"couple with heart: man, man, dark skin tone, medium skin tone","group":1,"hexcode":"1F468-1F3FF-200D-2764-FE0F-200D-1F468-1F3FD","order":2980,"unicode":"👨🏿‍❤️‍👨🏽"},{"annotation":"couple with heart: man, man, dark skin tone, medium-dark skin tone","group":1,"hexcode":"1F468-1F3FF-200D-2764-FE0F-200D-1F468-1F3FE","order":2982,"unicode":"👨🏿‍❤️‍👨🏾"},{"annotation":"couple with heart: man, man, dark skin tone","group":1,"hexcode":"1F468-1F3FF-200D-2764-FE0F-200D-1F468-1F3FF","order":2984,"unicode":"👨🏿‍❤️‍👨🏿"}]},{"annotation":"couple with heart: woman, woman","group":1,"hexcode":"1F469-200D-2764-FE0F-200D-1F469","order":2986,"tags":["couple","couple with heart","love","woman"],"unicode":"👩‍❤️‍👩","skins":[{"annotation":"couple with heart: woman, woman, light skin tone","group":1,"hexcode":"1F469-1F3FB-200D-2764-FE0F-200D-1F469-1F3FB","order":2988,"unicode":"👩🏻‍❤️‍👩🏻"},{"annotation":"couple with heart: woman, woman, light skin tone, medium-light skin tone","group":1,"hexcode":"1F469-1F3FB-200D-2764-FE0F-200D-1F469-1F3FC","order":2990,"unicode":"👩🏻‍❤️‍👩🏼"},{"annotation":"couple with heart: woman, woman, light skin tone, medium skin tone","group":1,"hexcode":"1F469-1F3FB-200D-2764-FE0F-200D-1F469-1F3FD","order":2992,"unicode":"👩🏻‍❤️‍👩🏽"},{"annotation":"couple with heart: woman, woman, light skin tone, medium-dark skin tone","group":1,"hexcode":"1F469-1F3FB-200D-2764-FE0F-200D-1F469-1F3FE","order":2994,"unicode":"👩🏻‍❤️‍👩🏾"},{"annotation":"couple with heart: woman, woman, light skin tone, dark skin tone","group":1,"hexcode":"1F469-1F3FB-200D-2764-FE0F-200D-1F469-1F3FF","order":2996,"unicode":"👩🏻‍❤️‍👩🏿"},{"annotation":"couple with heart: woman, woman, medium-light skin tone, light skin tone","group":1,"hexcode":"1F469-1F3FC-200D-2764-FE0F-200D-1F469-1F3FB","order":2998,"unicode":"👩🏼‍❤️‍👩🏻"},{"annotation":"couple with heart: woman, woman, medium-light skin tone","group":1,"hexcode":"1F469-1F3FC-200D-2764-FE0F-200D-1F469-1F3FC","order":3000,"unicode":"👩🏼‍❤️‍👩🏼"},{"annotation":"couple with heart: woman, woman, medium-light skin tone, medium skin tone","group":1,"hexcode":"1F469-1F3FC-200D-2764-FE0F-200D-1F469-1F3FD","order":3002,"unicode":"👩🏼‍❤️‍👩🏽"},{"annotation":"couple with heart: woman, woman, medium-light skin tone, medium-dark skin tone","group":1,"hexcode":"1F469-1F3FC-200D-2764-FE0F-200D-1F469-1F3FE","order":3004,"unicode":"👩🏼‍❤️‍👩🏾"},{"annotation":"couple with heart: woman, woman, medium-light skin tone, dark skin tone","group":1,"hexcode":"1F469-1F3FC-200D-2764-FE0F-200D-1F469-1F3FF","order":3006,"unicode":"👩🏼‍❤️‍👩🏿"},{"annotation":"couple with heart: woman, woman, medium skin tone, light skin tone","group":1,"hexcode":"1F469-1F3FD-200D-2764-FE0F-200D-1F469-1F3FB","order":3008,"unicode":"👩🏽‍❤️‍👩🏻"},{"annotation":"couple with heart: woman, woman, medium skin tone, medium-light skin tone","group":1,"hexcode":"1F469-1F3FD-200D-2764-FE0F-200D-1F469-1F3FC","order":3010,"unicode":"👩🏽‍❤️‍👩🏼"},{"annotation":"couple with heart: woman, woman, medium skin tone","group":1,"hexcode":"1F469-1F3FD-200D-2764-FE0F-200D-1F469-1F3FD","order":3012,"unicode":"👩🏽‍❤️‍👩🏽"},{"annotation":"couple with heart: woman, woman, medium skin tone, medium-dark skin tone","group":1,"hexcode":"1F469-1F3FD-200D-2764-FE0F-200D-1F469-1F3FE","order":3014,"unicode":"👩🏽‍❤️‍👩🏾"},{"annotation":"couple with heart: woman, woman, medium skin tone, dark skin tone","group":1,"hexcode":"1F469-1F3FD-200D-2764-FE0F-200D-1F469-1F3FF","order":3016,"unicode":"👩🏽‍❤️‍👩🏿"},{"annotation":"couple with heart: woman, woman, medium-dark skin tone, light skin tone","group":1,"hexcode":"1F469-1F3FE-200D-2764-FE0F-200D-1F469-1F3FB","order":3018,"unicode":"👩🏾‍❤️‍👩🏻"},{"annotation":"couple with heart: woman, woman, medium-dark skin tone, medium-light skin tone","group":1,"hexcode":"1F469-1F3FE-200D-2764-FE0F-200D-1F469-1F3FC","order":3020,"unicode":"👩🏾‍❤️‍👩🏼"},{"annotation":"couple with heart: woman, woman, medium-dark skin tone, medium skin tone","group":1,"hexcode":"1F469-1F3FE-200D-2764-FE0F-200D-1F469-1F3FD","order":3022,"unicode":"👩🏾‍❤️‍👩🏽"},{"annotation":"couple with heart: woman, woman, medium-dark skin tone","group":1,"hexcode":"1F469-1F3FE-200D-2764-FE0F-200D-1F469-1F3FE","order":3024,"unicode":"👩🏾‍❤️‍👩🏾"},{"annotation":"couple with heart: woman, woman, medium-dark skin tone, dark skin tone","group":1,"hexcode":"1F469-1F3FE-200D-2764-FE0F-200D-1F469-1F3FF","order":3026,"unicode":"👩🏾‍❤️‍👩🏿"},{"annotation":"couple with heart: woman, woman, dark skin tone, light skin tone","group":1,"hexcode":"1F469-1F3FF-200D-2764-FE0F-200D-1F469-1F3FB","order":3028,"unicode":"👩🏿‍❤️‍👩🏻"},{"annotation":"couple with heart: woman, woman, dark skin tone, medium-light skin tone","group":1,"hexcode":"1F469-1F3FF-200D-2764-FE0F-200D-1F469-1F3FC","order":3030,"unicode":"👩🏿‍❤️‍👩🏼"},{"annotation":"couple with heart: woman, woman, dark skin tone, medium skin tone","group":1,"hexcode":"1F469-1F3FF-200D-2764-FE0F-200D-1F469-1F3FD","order":3032,"unicode":"👩🏿‍❤️‍👩🏽"},{"annotation":"couple with heart: woman, woman, dark skin tone, medium-dark skin tone","group":1,"hexcode":"1F469-1F3FF-200D-2764-FE0F-200D-1F469-1F3FE","order":3034,"unicode":"👩🏿‍❤️‍👩🏾"},{"annotation":"couple with heart: woman, woman, dark skin tone","group":1,"hexcode":"1F469-1F3FF-200D-2764-FE0F-200D-1F469-1F3FF","order":3036,"unicode":"👩🏿‍❤️‍👩🏿"}]},{"annotation":"family","group":1,"hexcode":"1F46A","order":3038,"tags":["family"],"unicode":"👪️"},{"annotation":"family: man, woman, boy","group":1,"hexcode":"1F468-200D-1F469-200D-1F466","order":3039,"tags":["boy","family","man","woman"],"unicode":"👨‍👩‍👦"},{"annotation":"family: man, woman, girl","group":1,"hexcode":"1F468-200D-1F469-200D-1F467","order":3040,"tags":["family","girl","man","woman"],"unicode":"👨‍👩‍👧"},{"annotation":"family: man, woman, girl, boy","group":1,"hexcode":"1F468-200D-1F469-200D-1F467-200D-1F466","order":3041,"tags":["boy","family","girl","man","woman"],"unicode":"👨‍👩‍👧‍👦"},{"annotation":"family: man, woman, boy, boy","group":1,"hexcode":"1F468-200D-1F469-200D-1F466-200D-1F466","order":3042,"tags":["boy","family","man","woman"],"unicode":"👨‍👩‍👦‍👦"},{"annotation":"family: man, woman, girl, girl","group":1,"hexcode":"1F468-200D-1F469-200D-1F467-200D-1F467","order":3043,"tags":["family","girl","man","woman"],"unicode":"👨‍👩‍👧‍👧"},{"annotation":"family: man, man, boy","group":1,"hexcode":"1F468-200D-1F468-200D-1F466","order":3044,"tags":["boy","family","man"],"unicode":"👨‍👨‍👦"},{"annotation":"family: man, man, girl","group":1,"hexcode":"1F468-200D-1F468-200D-1F467","order":3045,"tags":["family","girl","man"],"unicode":"👨‍👨‍👧"},{"annotation":"family: man, man, girl, boy","group":1,"hexcode":"1F468-200D-1F468-200D-1F467-200D-1F466","order":3046,"tags":["boy","family","girl","man"],"unicode":"👨‍👨‍👧‍👦"},{"annotation":"family: man, man, boy, boy","group":1,"hexcode":"1F468-200D-1F468-200D-1F466-200D-1F466","order":3047,"tags":["boy","family","man"],"unicode":"👨‍👨‍👦‍👦"},{"annotation":"family: man, man, girl, girl","group":1,"hexcode":"1F468-200D-1F468-200D-1F467-200D-1F467","order":3048,"tags":["family","girl","man"],"unicode":"👨‍👨‍👧‍👧"},{"annotation":"family: woman, woman, boy","group":1,"hexcode":"1F469-200D-1F469-200D-1F466","order":3049,"tags":["boy","family","woman"],"unicode":"👩‍👩‍👦"},{"annotation":"family: woman, woman, girl","group":1,"hexcode":"1F469-200D-1F469-200D-1F467","order":3050,"tags":["family","girl","woman"],"unicode":"👩‍👩‍👧"},{"annotation":"family: woman, woman, girl, boy","group":1,"hexcode":"1F469-200D-1F469-200D-1F467-200D-1F466","order":3051,"tags":["boy","family","girl","woman"],"unicode":"👩‍👩‍👧‍👦"},{"annotation":"family: woman, woman, boy, boy","group":1,"hexcode":"1F469-200D-1F469-200D-1F466-200D-1F466","order":3052,"tags":["boy","family","woman"],"unicode":"👩‍👩‍👦‍👦"},{"annotation":"family: woman, woman, girl, girl","group":1,"hexcode":"1F469-200D-1F469-200D-1F467-200D-1F467","order":3053,"tags":["family","girl","woman"],"unicode":"👩‍👩‍👧‍👧"},{"annotation":"family: man, boy","group":1,"hexcode":"1F468-200D-1F466","order":3054,"tags":["boy","family","man"],"unicode":"👨‍👦"},{"annotation":"family: man, boy, boy","group":1,"hexcode":"1F468-200D-1F466-200D-1F466","order":3055,"tags":["boy","family","man"],"unicode":"👨‍👦‍👦"},{"annotation":"family: man, girl","group":1,"hexcode":"1F468-200D-1F467","order":3056,"tags":["family","girl","man"],"unicode":"👨‍👧"},{"annotation":"family: man, girl, boy","group":1,"hexcode":"1F468-200D-1F467-200D-1F466","order":3057,"tags":["boy","family","girl","man"],"unicode":"👨‍👧‍👦"},{"annotation":"family: man, girl, girl","group":1,"hexcode":"1F468-200D-1F467-200D-1F467","order":3058,"tags":["family","girl","man"],"unicode":"👨‍👧‍👧"},{"annotation":"family: woman, boy","group":1,"hexcode":"1F469-200D-1F466","order":3059,"tags":["boy","family","woman"],"unicode":"👩‍👦"},{"annotation":"family: woman, boy, boy","group":1,"hexcode":"1F469-200D-1F466-200D-1F466","order":3060,"tags":["boy","family","woman"],"unicode":"👩‍👦‍👦"},{"annotation":"family: woman, girl","group":1,"hexcode":"1F469-200D-1F467","order":3061,"tags":["family","girl","woman"],"unicode":"👩‍👧"},{"annotation":"family: woman, girl, boy","group":1,"hexcode":"1F469-200D-1F467-200D-1F466","order":3062,"tags":["boy","family","girl","woman"],"unicode":"👩‍👧‍👦"},{"annotation":"family: woman, girl, girl","group":1,"hexcode":"1F469-200D-1F467-200D-1F467","order":3063,"tags":["family","girl","woman"],"unicode":"👩‍👧‍👧"},{"annotation":"speaking head","group":1,"hexcode":"1F5E3","order":3065,"tags":["face","head","silhouette","speak","speaking"],"unicode":"🗣️"},{"annotation":"bust in silhouette","group":1,"hexcode":"1F464","order":3066,"tags":["bust","silhouette"],"unicode":"👤"},{"annotation":"busts in silhouette","group":1,"hexcode":"1F465","order":3067,"tags":["bust","silhouette"],"unicode":"👥"},{"annotation":"people hugging","group":1,"hexcode":"1FAC2","order":3068,"tags":["goodbye","hello","hug","thanks"],"unicode":"🫂"},{"annotation":"footprints","group":1,"hexcode":"1F463","order":3069,"tags":["clothing","footprint","print"],"unicode":"👣"},{"annotation":"light skin tone","group":2,"hexcode":"1F3FB","order":3070,"tags":["skin tone","type 1–2"],"unicode":"🏻"},{"annotation":"medium-light skin tone","group":2,"hexcode":"1F3FC","order":3071,"tags":["skin tone","type 3"],"unicode":"🏼"},{"annotation":"medium skin tone","group":2,"hexcode":"1F3FD","order":3072,"tags":["skin tone","type 4"],"unicode":"🏽"},{"annotation":"medium-dark skin tone","group":2,"hexcode":"1F3FE","order":3073,"tags":["skin tone","type 5"],"unicode":"🏾"},{"annotation":"dark skin tone","group":2,"hexcode":"1F3FF","order":3074,"tags":["skin tone","type 6"],"unicode":"🏿"},{"annotation":"red hair","group":2,"hexcode":"1F9B0","order":3075,"tags":["ginger","redhead"],"unicode":"🦰"},{"annotation":"curly hair","group":2,"hexcode":"1F9B1","order":3076,"tags":["afro","curly","ringlets"],"unicode":"🦱"},{"annotation":"white hair","group":2,"hexcode":"1F9B3","order":3077,"tags":["gray","hair","old","white"],"unicode":"🦳"},{"annotation":"bald","group":2,"hexcode":"1F9B2","order":3078,"tags":["chemotherapy","hairless","no hair","shaven"],"unicode":"🦲"},{"annotation":"monkey face","group":3,"hexcode":"1F435","order":3079,"tags":["face","monkey"],"unicode":"🐵"},{"annotation":"monkey","group":3,"hexcode":"1F412","order":3080,"tags":["monkey"],"unicode":"🐒"},{"annotation":"gorilla","group":3,"hexcode":"1F98D","order":3081,"tags":["gorilla"],"unicode":"🦍"},{"annotation":"orangutan","group":3,"hexcode":"1F9A7","order":3082,"tags":["ape"],"unicode":"🦧"},{"annotation":"dog face","group":3,"hexcode":"1F436","order":3083,"tags":["dog","face","pet"],"unicode":"🐶"},{"annotation":"dog","group":3,"hexcode":"1F415","order":3084,"tags":["pet"],"unicode":"🐕️"},{"annotation":"guide dog","group":3,"hexcode":"1F9AE","order":3085,"tags":["accessibility","blind","guide"],"unicode":"🦮"},{"annotation":"service dog","group":3,"hexcode":"1F415-200D-1F9BA","order":3086,"tags":["accessibility","assistance","dog","service"],"unicode":"🐕‍🦺"},{"annotation":"poodle","group":3,"hexcode":"1F429","order":3087,"tags":["dog"],"unicode":"🐩"},{"annotation":"wolf","group":3,"hexcode":"1F43A","order":3088,"tags":["face"],"unicode":"🐺"},{"annotation":"fox","group":3,"hexcode":"1F98A","order":3089,"tags":["face"],"unicode":"🦊"},{"annotation":"raccoon","group":3,"hexcode":"1F99D","order":3090,"tags":["curious","sly"],"unicode":"🦝"},{"annotation":"cat face","group":3,"hexcode":"1F431","order":3091,"tags":["cat","face","pet"],"unicode":"🐱"},{"annotation":"cat","group":3,"hexcode":"1F408","order":3092,"tags":["pet"],"unicode":"🐈️"},{"annotation":"black cat","group":3,"hexcode":"1F408-200D-2B1B","order":3093,"tags":["black","cat","unlucky"],"unicode":"🐈‍⬛"},{"annotation":"lion","group":3,"hexcode":"1F981","order":3094,"tags":["face","leo","zodiac"],"unicode":"🦁"},{"annotation":"tiger face","group":3,"hexcode":"1F42F","order":3095,"tags":["face","tiger"],"unicode":"🐯"},{"annotation":"tiger","group":3,"hexcode":"1F405","order":3096,"tags":["tiger"],"unicode":"🐅"},{"annotation":"leopard","group":3,"hexcode":"1F406","order":3097,"tags":["leopard"],"unicode":"🐆"},{"annotation":"horse face","group":3,"hexcode":"1F434","order":3098,"tags":["face","horse"],"unicode":"🐴"},{"annotation":"horse","group":3,"hexcode":"1F40E","order":3099,"tags":["equestrian","racehorse","racing"],"unicode":"🐎"},{"annotation":"unicorn","group":3,"hexcode":"1F984","order":3100,"tags":["face"],"unicode":"🦄"},{"annotation":"zebra","group":3,"hexcode":"1F993","order":3101,"tags":["stripe"],"unicode":"🦓"},{"annotation":"deer","group":3,"hexcode":"1F98C","order":3102,"tags":["deer"],"unicode":"🦌"},{"annotation":"bison","group":3,"hexcode":"1F9AC","order":3103,"tags":["buffalo","herd","wisent"],"unicode":"🦬"},{"annotation":"cow face","group":3,"hexcode":"1F42E","order":3104,"tags":["cow","face"],"unicode":"🐮"},{"annotation":"ox","group":3,"hexcode":"1F402","order":3105,"tags":["bull","taurus","zodiac"],"unicode":"🐂"},{"annotation":"water buffalo","group":3,"hexcode":"1F403","order":3106,"tags":["buffalo","water"],"unicode":"🐃"},{"annotation":"cow","group":3,"hexcode":"1F404","order":3107,"tags":["cow"],"unicode":"🐄"},{"annotation":"pig face","group":3,"hexcode":"1F437","order":3108,"tags":["face","pig"],"unicode":"🐷"},{"annotation":"pig","group":3,"hexcode":"1F416","order":3109,"tags":["sow"],"unicode":"🐖"},{"annotation":"boar","group":3,"hexcode":"1F417","order":3110,"tags":["pig"],"unicode":"🐗"},{"annotation":"pig nose","group":3,"hexcode":"1F43D","order":3111,"tags":["face","nose","pig"],"unicode":"🐽"},{"annotation":"ram","group":3,"hexcode":"1F40F","order":3112,"tags":["aries","male","sheep","zodiac"],"unicode":"🐏"},{"annotation":"ewe","group":3,"hexcode":"1F411","order":3113,"tags":["female","sheep"],"unicode":"🐑"},{"annotation":"goat","group":3,"hexcode":"1F410","order":3114,"tags":["capricorn","zodiac"],"unicode":"🐐"},{"annotation":"camel","group":3,"hexcode":"1F42A","order":3115,"tags":["dromedary","hump"],"unicode":"🐪"},{"annotation":"two-hump camel","group":3,"hexcode":"1F42B","order":3116,"tags":["bactrian","camel","hump"],"unicode":"🐫"},{"annotation":"llama","group":3,"hexcode":"1F999","order":3117,"tags":["alpaca","guanaco","vicuña","wool"],"unicode":"🦙"},{"annotation":"giraffe","group":3,"hexcode":"1F992","order":3118,"tags":["spots"],"unicode":"🦒"},{"annotation":"elephant","group":3,"hexcode":"1F418","order":3119,"tags":["elephant"],"unicode":"🐘"},{"annotation":"mammoth","group":3,"hexcode":"1F9A3","order":3120,"tags":["extinction","large","tusk","woolly"],"unicode":"🦣"},{"annotation":"rhinoceros","group":3,"hexcode":"1F98F","order":3121,"tags":["rhinoceros"],"unicode":"🦏"},{"annotation":"hippopotamus","group":3,"hexcode":"1F99B","order":3122,"tags":["hippo"],"unicode":"🦛"},{"annotation":"mouse face","group":3,"hexcode":"1F42D","order":3123,"tags":["face","mouse"],"unicode":"🐭"},{"annotation":"mouse","group":3,"hexcode":"1F401","order":3124,"tags":["mouse"],"unicode":"🐁"},{"annotation":"rat","group":3,"hexcode":"1F400","order":3125,"tags":["rat"],"unicode":"🐀"},{"annotation":"hamster","group":3,"hexcode":"1F439","order":3126,"tags":["face","pet"],"unicode":"🐹"},{"annotation":"rabbit face","group":3,"hexcode":"1F430","order":3127,"tags":["bunny","face","pet","rabbit"],"unicode":"🐰"},{"annotation":"rabbit","group":3,"hexcode":"1F407","order":3128,"tags":["bunny","pet"],"unicode":"🐇"},{"annotation":"chipmunk","group":3,"hexcode":"1F43F","order":3130,"tags":["squirrel"],"unicode":"🐿️"},{"annotation":"beaver","group":3,"hexcode":"1F9AB","order":3131,"tags":["dam"],"unicode":"🦫"},{"annotation":"hedgehog","group":3,"hexcode":"1F994","order":3132,"tags":["spiny"],"unicode":"🦔"},{"annotation":"bat","group":3,"hexcode":"1F987","order":3133,"tags":["vampire"],"unicode":"🦇"},{"annotation":"bear","group":3,"hexcode":"1F43B","order":3134,"tags":["face"],"unicode":"🐻"},{"annotation":"polar bear","group":3,"hexcode":"1F43B-200D-2744-FE0F","order":3135,"tags":["arctic","bear","white"],"unicode":"🐻‍❄️"},{"annotation":"koala","group":3,"hexcode":"1F428","order":3137,"tags":["bear"],"unicode":"🐨"},{"annotation":"panda","group":3,"hexcode":"1F43C","order":3138,"tags":["face"],"unicode":"🐼"},{"annotation":"sloth","group":3,"hexcode":"1F9A5","order":3139,"tags":["lazy","slow"],"unicode":"🦥"},{"annotation":"otter","group":3,"hexcode":"1F9A6","order":3140,"tags":["fishing","playful"],"unicode":"🦦"},{"annotation":"skunk","group":3,"hexcode":"1F9A8","order":3141,"tags":["stink"],"unicode":"🦨"},{"annotation":"kangaroo","group":3,"hexcode":"1F998","order":3142,"tags":["australia","joey","jump","marsupial"],"unicode":"🦘"},{"annotation":"badger","group":3,"hexcode":"1F9A1","order":3143,"tags":["honey badger","pester"],"unicode":"🦡"},{"annotation":"paw prints","group":3,"hexcode":"1F43E","order":3144,"tags":["feet","paw","print"],"unicode":"🐾"},{"annotation":"turkey","group":3,"hexcode":"1F983","order":3145,"tags":["bird"],"unicode":"🦃"},{"annotation":"chicken","group":3,"hexcode":"1F414","order":3146,"tags":["bird"],"unicode":"🐔"},{"annotation":"rooster","group":3,"hexcode":"1F413","order":3147,"tags":["bird"],"unicode":"🐓"},{"annotation":"hatching chick","group":3,"hexcode":"1F423","order":3148,"tags":["baby","bird","chick","hatching"],"unicode":"🐣"},{"annotation":"baby chick","group":3,"hexcode":"1F424","order":3149,"tags":["baby","bird","chick"],"unicode":"🐤"},{"annotation":"front-facing baby chick","group":3,"hexcode":"1F425","order":3150,"tags":["baby","bird","chick"],"unicode":"🐥"},{"annotation":"bird","group":3,"hexcode":"1F426","order":3151,"tags":["bird"],"unicode":"🐦️"},{"annotation":"penguin","group":3,"hexcode":"1F427","order":3152,"tags":["bird"],"unicode":"🐧"},{"annotation":"dove","group":3,"hexcode":"1F54A","order":3154,"tags":["bird","fly","peace"],"unicode":"🕊️"},{"annotation":"eagle","group":3,"hexcode":"1F985","order":3155,"tags":["bird"],"unicode":"🦅"},{"annotation":"duck","group":3,"hexcode":"1F986","order":3156,"tags":["bird"],"unicode":"🦆"},{"annotation":"swan","group":3,"hexcode":"1F9A2","order":3157,"tags":["bird","cygnet","ugly duckling"],"unicode":"🦢"},{"annotation":"owl","group":3,"hexcode":"1F989","order":3158,"tags":["bird","wise"],"unicode":"🦉"},{"annotation":"dodo","group":3,"hexcode":"1F9A4","order":3159,"tags":["extinction","large","mauritius"],"unicode":"🦤"},{"annotation":"feather","group":3,"hexcode":"1FAB6","order":3160,"tags":["bird","flight","light","plumage"],"unicode":"🪶"},{"annotation":"flamingo","group":3,"hexcode":"1F9A9","order":3161,"tags":["flamboyant","tropical"],"unicode":"🦩"},{"annotation":"peacock","group":3,"hexcode":"1F99A","order":3162,"tags":["bird","ostentatious","peahen","proud"],"unicode":"🦚"},{"annotation":"parrot","group":3,"hexcode":"1F99C","order":3163,"tags":["bird","pirate","talk"],"unicode":"🦜"},{"annotation":"frog","group":3,"hexcode":"1F438","order":3164,"tags":["face"],"unicode":"🐸"},{"annotation":"crocodile","group":3,"hexcode":"1F40A","order":3165,"tags":["crocodile"],"unicode":"🐊"},{"annotation":"turtle","group":3,"hexcode":"1F422","order":3166,"tags":["terrapin","tortoise"],"unicode":"🐢"},{"annotation":"lizard","group":3,"hexcode":"1F98E","order":3167,"tags":["reptile"],"unicode":"🦎"},{"annotation":"snake","group":3,"hexcode":"1F40D","order":3168,"tags":["bearer","ophiuchus","serpent","zodiac"],"unicode":"🐍"},{"annotation":"dragon face","group":3,"hexcode":"1F432","order":3169,"tags":["dragon","face","fairy tale"],"unicode":"🐲"},{"annotation":"dragon","group":3,"hexcode":"1F409","order":3170,"tags":["fairy tale"],"unicode":"🐉"},{"annotation":"sauropod","group":3,"hexcode":"1F995","order":3171,"tags":["brachiosaurus","brontosaurus","diplodocus"],"unicode":"🦕"},{"annotation":"T-Rex","group":3,"hexcode":"1F996","order":3172,"tags":["t-rex","tyrannosaurus rex"],"unicode":"🦖"},{"annotation":"spouting whale","group":3,"hexcode":"1F433","order":3173,"tags":["face","spouting","whale"],"unicode":"🐳"},{"annotation":"whale","group":3,"hexcode":"1F40B","order":3174,"tags":["whale"],"unicode":"🐋"},{"annotation":"dolphin","group":3,"hexcode":"1F42C","order":3175,"tags":["flipper"],"unicode":"🐬"},{"annotation":"seal","group":3,"hexcode":"1F9AD","order":3176,"tags":["sea lion"],"unicode":"🦭"},{"annotation":"fish","group":3,"hexcode":"1F41F","order":3177,"tags":["pisces","zodiac"],"unicode":"🐟️"},{"annotation":"tropical fish","group":3,"hexcode":"1F420","order":3178,"tags":["fish","tropical"],"unicode":"🐠"},{"annotation":"blowfish","group":3,"hexcode":"1F421","order":3179,"tags":["fish"],"unicode":"🐡"},{"annotation":"shark","group":3,"hexcode":"1F988","order":3180,"tags":["fish"],"unicode":"🦈"},{"annotation":"octopus","group":3,"hexcode":"1F419","order":3181,"tags":["octopus"],"unicode":"🐙"},{"annotation":"spiral shell","group":3,"hexcode":"1F41A","order":3182,"tags":["shell","spiral"],"unicode":"🐚"},{"annotation":"snail","group":3,"hexcode":"1F40C","order":3183,"tags":["snail"],"unicode":"🐌"},{"annotation":"butterfly","group":3,"hexcode":"1F98B","order":3184,"tags":["insect","pretty"],"unicode":"🦋"},{"annotation":"bug","group":3,"hexcode":"1F41B","order":3185,"tags":["insect"],"unicode":"🐛"},{"annotation":"ant","group":3,"hexcode":"1F41C","order":3186,"tags":["insect"],"unicode":"🐜"},{"annotation":"honeybee","group":3,"hexcode":"1F41D","order":3187,"tags":["bee","insect"],"unicode":"🐝"},{"annotation":"beetle","group":3,"hexcode":"1FAB2","order":3188,"tags":["bug","insect"],"unicode":"🪲"},{"annotation":"lady beetle","group":3,"hexcode":"1F41E","order":3189,"tags":["beetle","insect","ladybird","ladybug"],"unicode":"🐞"},{"annotation":"cricket","group":3,"hexcode":"1F997","order":3190,"tags":["grasshopper"],"unicode":"🦗"},{"annotation":"cockroach","group":3,"hexcode":"1FAB3","order":3191,"tags":["insect","pest","roach"],"unicode":"🪳"},{"annotation":"spider","group":3,"hexcode":"1F577","order":3193,"tags":["insect"],"unicode":"🕷️"},{"annotation":"spider web","group":3,"hexcode":"1F578","order":3195,"tags":["spider","web"],"unicode":"🕸️"},{"annotation":"scorpion","group":3,"hexcode":"1F982","order":3196,"tags":["scorpio","zodiac"],"unicode":"🦂"},{"annotation":"mosquito","group":3,"hexcode":"1F99F","order":3197,"tags":["disease","fever","malaria","pest","virus"],"unicode":"🦟"},{"annotation":"fly","group":3,"hexcode":"1FAB0","order":3198,"tags":["disease","maggot","pest","rotting"],"unicode":"🪰"},{"annotation":"worm","group":3,"hexcode":"1FAB1","order":3199,"tags":["annelid","earthworm","parasite"],"unicode":"🪱"},{"annotation":"microbe","group":3,"hexcode":"1F9A0","order":3200,"tags":["amoeba","bacteria","virus"],"unicode":"🦠"},{"annotation":"bouquet","group":3,"hexcode":"1F490","order":3201,"tags":["flower"],"unicode":"💐"},{"annotation":"cherry blossom","group":3,"hexcode":"1F338","order":3202,"tags":["blossom","cherry","flower"],"unicode":"🌸"},{"annotation":"white flower","group":3,"hexcode":"1F4AE","order":3203,"tags":["flower"],"unicode":"💮"},{"annotation":"rosette","group":3,"hexcode":"1F3F5","order":3205,"tags":["plant"],"unicode":"🏵️"},{"annotation":"rose","group":3,"hexcode":"1F339","order":3206,"tags":["flower"],"unicode":"🌹"},{"annotation":"wilted flower","group":3,"hexcode":"1F940","order":3207,"tags":["flower","wilted"],"unicode":"🥀"},{"annotation":"hibiscus","group":3,"hexcode":"1F33A","order":3208,"tags":["flower"],"unicode":"🌺"},{"annotation":"sunflower","group":3,"hexcode":"1F33B","order":3209,"tags":["flower","sun"],"unicode":"🌻"},{"annotation":"blossom","group":3,"hexcode":"1F33C","order":3210,"tags":["flower"],"unicode":"🌼"},{"annotation":"tulip","group":3,"hexcode":"1F337","order":3211,"tags":["flower"],"unicode":"🌷"},{"annotation":"seedling","group":3,"hexcode":"1F331","order":3212,"tags":["young"],"unicode":"🌱"},{"annotation":"potted plant","group":3,"hexcode":"1FAB4","order":3213,"tags":["boring","grow","house","nurturing","plant","useless"],"unicode":"🪴"},{"annotation":"evergreen tree","group":3,"hexcode":"1F332","order":3214,"tags":["tree"],"unicode":"🌲"},{"annotation":"deciduous tree","group":3,"hexcode":"1F333","order":3215,"tags":["deciduous","shedding","tree"],"unicode":"🌳"},{"annotation":"palm tree","group":3,"hexcode":"1F334","order":3216,"tags":["palm","tree"],"unicode":"🌴"},{"annotation":"cactus","group":3,"hexcode":"1F335","order":3217,"tags":["plant"],"unicode":"🌵"},{"annotation":"sheaf of rice","group":3,"hexcode":"1F33E","order":3218,"tags":["ear","grain","rice"],"unicode":"🌾"},{"annotation":"herb","group":3,"hexcode":"1F33F","order":3219,"tags":["leaf"],"unicode":"🌿"},{"annotation":"shamrock","group":3,"hexcode":"2618","order":3221,"tags":["plant"],"unicode":"☘️"},{"annotation":"four leaf clover","group":3,"hexcode":"1F340","order":3222,"tags":["4","clover","four","four-leaf clover","leaf"],"unicode":"🍀"},{"annotation":"maple leaf","group":3,"hexcode":"1F341","order":3223,"tags":["falling","leaf","maple"],"unicode":"🍁"},{"annotation":"fallen leaf","group":3,"hexcode":"1F342","order":3224,"tags":["falling","leaf"],"unicode":"🍂"},{"annotation":"leaf fluttering in wind","group":3,"hexcode":"1F343","order":3225,"tags":["blow","flutter","leaf","wind"],"unicode":"🍃"},{"annotation":"grapes","group":4,"hexcode":"1F347","order":3226,"tags":["fruit","grape"],"unicode":"🍇"},{"annotation":"melon","group":4,"hexcode":"1F348","order":3227,"tags":["fruit"],"unicode":"🍈"},{"annotation":"watermelon","group":4,"hexcode":"1F349","order":3228,"tags":["fruit"],"unicode":"🍉"},{"annotation":"tangerine","group":4,"hexcode":"1F34A","order":3229,"tags":["fruit","orange"],"unicode":"🍊"},{"annotation":"lemon","group":4,"hexcode":"1F34B","order":3230,"tags":["citrus","fruit"],"unicode":"🍋"},{"annotation":"banana","group":4,"hexcode":"1F34C","order":3231,"tags":["fruit"],"unicode":"🍌"},{"annotation":"pineapple","group":4,"hexcode":"1F34D","order":3232,"tags":["fruit"],"unicode":"🍍"},{"annotation":"mango","group":4,"hexcode":"1F96D","order":3233,"tags":["fruit","tropical"],"unicode":"🥭"},{"annotation":"red apple","group":4,"hexcode":"1F34E","order":3234,"tags":["apple","fruit","red"],"unicode":"🍎"},{"annotation":"green apple","group":4,"hexcode":"1F34F","order":3235,"tags":["apple","fruit","green"],"unicode":"🍏"},{"annotation":"pear","group":4,"hexcode":"1F350","order":3236,"tags":["fruit"],"unicode":"🍐"},{"annotation":"peach","group":4,"hexcode":"1F351","order":3237,"tags":["fruit"],"unicode":"🍑"},{"annotation":"cherries","group":4,"hexcode":"1F352","order":3238,"tags":["berries","cherry","fruit","red"],"unicode":"🍒"},{"annotation":"strawberry","group":4,"hexcode":"1F353","order":3239,"tags":["berry","fruit"],"unicode":"🍓"},{"annotation":"blueberries","group":4,"hexcode":"1FAD0","order":3240,"tags":["berry","bilberry","blue","blueberry"],"unicode":"🫐"},{"annotation":"kiwi fruit","group":4,"hexcode":"1F95D","order":3241,"tags":["food","fruit","kiwi"],"unicode":"🥝"},{"annotation":"tomato","group":4,"hexcode":"1F345","order":3242,"tags":["fruit","vegetable"],"unicode":"🍅"},{"annotation":"olive","group":4,"hexcode":"1FAD2","order":3243,"tags":["food"],"unicode":"🫒"},{"annotation":"coconut","group":4,"hexcode":"1F965","order":3244,"tags":["palm","piña colada"],"unicode":"🥥"},{"annotation":"avocado","group":4,"hexcode":"1F951","order":3245,"tags":["food","fruit"],"unicode":"🥑"},{"annotation":"eggplant","group":4,"hexcode":"1F346","order":3246,"tags":["aubergine","vegetable"],"unicode":"🍆"},{"annotation":"potato","group":4,"hexcode":"1F954","order":3247,"tags":["food","vegetable"],"unicode":"🥔"},{"annotation":"carrot","group":4,"hexcode":"1F955","order":3248,"tags":["food","vegetable"],"unicode":"🥕"},{"annotation":"ear of corn","group":4,"hexcode":"1F33D","order":3249,"tags":["corn","ear","maize","maze"],"unicode":"🌽"},{"annotation":"hot pepper","group":4,"hexcode":"1F336","order":3251,"tags":["hot","pepper"],"unicode":"🌶️"},{"annotation":"bell pepper","group":4,"hexcode":"1FAD1","order":3252,"tags":["capsicum","pepper","vegetable"],"unicode":"🫑"},{"annotation":"cucumber","group":4,"hexcode":"1F952","order":3253,"tags":["food","pickle","vegetable"],"unicode":"🥒"},{"annotation":"leafy green","group":4,"hexcode":"1F96C","order":3254,"tags":["bok choy","cabbage","kale","lettuce"],"unicode":"🥬"},{"annotation":"broccoli","group":4,"hexcode":"1F966","order":3255,"tags":["wild cabbage"],"unicode":"🥦"},{"annotation":"garlic","group":4,"hexcode":"1F9C4","order":3256,"tags":["flavoring"],"unicode":"🧄"},{"annotation":"onion","group":4,"hexcode":"1F9C5","order":3257,"tags":["flavoring"],"unicode":"🧅"},{"annotation":"mushroom","group":4,"hexcode":"1F344","order":3258,"tags":["toadstool"],"unicode":"🍄"},{"annotation":"peanuts","group":4,"hexcode":"1F95C","order":3259,"tags":["food","nut","peanut","vegetable"],"unicode":"🥜"},{"annotation":"chestnut","group":4,"hexcode":"1F330","order":3260,"tags":["plant"],"unicode":"🌰"},{"annotation":"bread","group":4,"hexcode":"1F35E","order":3261,"tags":["loaf"],"unicode":"🍞"},{"annotation":"croissant","group":4,"hexcode":"1F950","order":3262,"tags":["bread","breakfast","food","french","roll"],"unicode":"🥐"},{"annotation":"baguette bread","group":4,"hexcode":"1F956","order":3263,"tags":["baguette","bread","food","french"],"unicode":"🥖"},{"annotation":"flatbread","group":4,"hexcode":"1FAD3","order":3264,"tags":["arepa","lavash","naan","pita"],"unicode":"🫓"},{"annotation":"pretzel","group":4,"hexcode":"1F968","order":3265,"tags":["twisted"],"unicode":"🥨"},{"annotation":"bagel","group":4,"hexcode":"1F96F","order":3266,"tags":["bakery","breakfast","schmear"],"unicode":"🥯"},{"annotation":"pancakes","group":4,"hexcode":"1F95E","order":3267,"tags":["breakfast","crêpe","food","hotcake","pancake"],"unicode":"🥞"},{"annotation":"waffle","group":4,"hexcode":"1F9C7","order":3268,"tags":["breakfast","indecisive","iron"],"unicode":"🧇"},{"annotation":"cheese wedge","group":4,"hexcode":"1F9C0","order":3269,"tags":["cheese"],"unicode":"🧀"},{"annotation":"meat on bone","group":4,"hexcode":"1F356","order":3270,"tags":["bone","meat"],"unicode":"🍖"},{"annotation":"poultry leg","group":4,"hexcode":"1F357","order":3271,"tags":["bone","chicken","drumstick","leg","poultry"],"unicode":"🍗"},{"annotation":"cut of meat","group":4,"hexcode":"1F969","order":3272,"tags":["chop","lambchop","porkchop","steak"],"unicode":"🥩"},{"annotation":"bacon","group":4,"hexcode":"1F953","order":3273,"tags":["breakfast","food","meat"],"unicode":"🥓"},{"annotation":"hamburger","group":4,"hexcode":"1F354","order":3274,"tags":["burger"],"unicode":"🍔"},{"annotation":"french fries","group":4,"hexcode":"1F35F","order":3275,"tags":["french","fries"],"unicode":"🍟"},{"annotation":"pizza","group":4,"hexcode":"1F355","order":3276,"tags":["cheese","slice"],"unicode":"🍕"},{"annotation":"hot dog","group":4,"hexcode":"1F32D","order":3277,"tags":["frankfurter","hotdog","sausage"],"unicode":"🌭"},{"annotation":"sandwich","group":4,"hexcode":"1F96A","order":3278,"tags":["bread"],"unicode":"🥪"},{"annotation":"taco","group":4,"hexcode":"1F32E","order":3279,"tags":["mexican"],"unicode":"🌮"},{"annotation":"burrito","group":4,"hexcode":"1F32F","order":3280,"tags":["mexican","wrap"],"unicode":"🌯"},{"annotation":"tamale","group":4,"hexcode":"1FAD4","order":3281,"tags":["mexican","wrapped"],"unicode":"🫔"},{"annotation":"stuffed flatbread","group":4,"hexcode":"1F959","order":3282,"tags":["falafel","flatbread","food","gyro","kebab","stuffed"],"unicode":"🥙"},{"annotation":"falafel","group":4,"hexcode":"1F9C6","order":3283,"tags":["chickpea","meatball"],"unicode":"🧆"},{"annotation":"egg","group":4,"hexcode":"1F95A","order":3284,"tags":["breakfast","food"],"unicode":"🥚"},{"annotation":"cooking","group":4,"hexcode":"1F373","order":3285,"tags":["breakfast","egg","frying","pan"],"unicode":"🍳"},{"annotation":"shallow pan of food","group":4,"hexcode":"1F958","order":3286,"tags":["casserole","food","paella","pan","shallow"],"unicode":"🥘"},{"annotation":"pot of food","group":4,"hexcode":"1F372","order":3287,"tags":["pot","stew"],"unicode":"🍲"},{"annotation":"fondue","group":4,"hexcode":"1FAD5","order":3288,"tags":["cheese","chocolate","melted","pot","swiss"],"unicode":"🫕"},{"annotation":"bowl with spoon","group":4,"hexcode":"1F963","order":3289,"tags":["breakfast","cereal","congee"],"unicode":"🥣"},{"annotation":"green salad","group":4,"hexcode":"1F957","order":3290,"tags":["food","green","salad"],"unicode":"🥗"},{"annotation":"popcorn","group":4,"hexcode":"1F37F","order":3291,"tags":["popcorn"],"unicode":"🍿"},{"annotation":"butter","group":4,"hexcode":"1F9C8","order":3292,"tags":["dairy"],"unicode":"🧈"},{"annotation":"salt","group":4,"hexcode":"1F9C2","order":3293,"tags":["condiment","shaker"],"unicode":"🧂"},{"annotation":"canned food","group":4,"hexcode":"1F96B","order":3294,"tags":["can"],"unicode":"🥫"},{"annotation":"bento box","group":4,"hexcode":"1F371","order":3295,"tags":["bento","box"],"unicode":"🍱"},{"annotation":"rice cracker","group":4,"hexcode":"1F358","order":3296,"tags":["cracker","rice"],"unicode":"🍘"},{"annotation":"rice ball","group":4,"hexcode":"1F359","order":3297,"tags":["ball","japanese","rice"],"unicode":"🍙"},{"annotation":"cooked rice","group":4,"hexcode":"1F35A","order":3298,"tags":["cooked","rice"],"unicode":"🍚"},{"annotation":"curry rice","group":4,"hexcode":"1F35B","order":3299,"tags":["curry","rice"],"unicode":"🍛"},{"annotation":"steaming bowl","group":4,"hexcode":"1F35C","order":3300,"tags":["bowl","noodle","ramen","steaming"],"unicode":"🍜"},{"annotation":"spaghetti","group":4,"hexcode":"1F35D","order":3301,"tags":["pasta"],"unicode":"🍝"},{"annotation":"roasted sweet potato","group":4,"hexcode":"1F360","order":3302,"tags":["potato","roasted","sweet"],"unicode":"🍠"},{"annotation":"oden","group":4,"hexcode":"1F362","order":3303,"tags":["kebab","seafood","skewer","stick"],"unicode":"🍢"},{"annotation":"sushi","group":4,"hexcode":"1F363","order":3304,"tags":["sushi"],"unicode":"🍣"},{"annotation":"fried shrimp","group":4,"hexcode":"1F364","order":3305,"tags":["fried","prawn","shrimp","tempura"],"unicode":"🍤"},{"annotation":"fish cake with swirl","group":4,"hexcode":"1F365","order":3306,"tags":["cake","fish","pastry","swirl"],"unicode":"🍥"},{"annotation":"moon cake","group":4,"hexcode":"1F96E","order":3307,"tags":["autumn","festival","yuèbǐng"],"unicode":"🥮"},{"annotation":"dango","group":4,"hexcode":"1F361","order":3308,"tags":["dessert","japanese","skewer","stick","sweet"],"unicode":"🍡"},{"annotation":"dumpling","group":4,"hexcode":"1F95F","order":3309,"tags":["empanada","gyōza","jiaozi","pierogi","potsticker"],"unicode":"🥟"},{"annotation":"fortune cookie","group":4,"hexcode":"1F960","order":3310,"tags":["prophecy"],"unicode":"🥠"},{"annotation":"takeout box","group":4,"hexcode":"1F961","order":3311,"tags":["oyster pail"],"unicode":"🥡"},{"annotation":"crab","group":4,"hexcode":"1F980","order":3312,"tags":["cancer","zodiac"],"unicode":"🦀"},{"annotation":"lobster","group":4,"hexcode":"1F99E","order":3313,"tags":["bisque","claws","seafood"],"unicode":"🦞"},{"annotation":"shrimp","group":4,"hexcode":"1F990","order":3314,"tags":["food","shellfish","small"],"unicode":"🦐"},{"annotation":"squid","group":4,"hexcode":"1F991","order":3315,"tags":["food","molusc"],"unicode":"🦑"},{"annotation":"oyster","group":4,"hexcode":"1F9AA","order":3316,"tags":["diving","pearl"],"unicode":"🦪"},{"annotation":"soft ice cream","group":4,"hexcode":"1F366","order":3317,"tags":["cream","dessert","ice","icecream","soft","sweet"],"unicode":"🍦"},{"annotation":"shaved ice","group":4,"hexcode":"1F367","order":3318,"tags":["dessert","ice","shaved","sweet"],"unicode":"🍧"},{"annotation":"ice cream","group":4,"hexcode":"1F368","order":3319,"tags":["cream","dessert","ice","sweet"],"unicode":"🍨"},{"annotation":"doughnut","group":4,"hexcode":"1F369","order":3320,"tags":["breakfast","dessert","donut","sweet"],"unicode":"🍩"},{"annotation":"cookie","group":4,"hexcode":"1F36A","order":3321,"tags":["dessert","sweet"],"unicode":"🍪"},{"annotation":"birthday cake","group":4,"hexcode":"1F382","order":3322,"tags":["birthday","cake","celebration","dessert","pastry","sweet"],"unicode":"🎂"},{"annotation":"shortcake","group":4,"hexcode":"1F370","order":3323,"tags":["cake","dessert","pastry","slice","sweet"],"unicode":"🍰"},{"annotation":"cupcake","group":4,"hexcode":"1F9C1","order":3324,"tags":["bakery","sweet"],"unicode":"🧁"},{"annotation":"pie","group":4,"hexcode":"1F967","order":3325,"tags":["filling","pastry"],"unicode":"🥧"},{"annotation":"chocolate bar","group":4,"hexcode":"1F36B","order":3326,"tags":["bar","chocolate","dessert","sweet"],"unicode":"🍫"},{"annotation":"candy","group":4,"hexcode":"1F36C","order":3327,"tags":["dessert","sweet"],"unicode":"🍬"},{"annotation":"lollipop","group":4,"hexcode":"1F36D","order":3328,"tags":["candy","dessert","sweet"],"unicode":"🍭"},{"annotation":"custard","group":4,"hexcode":"1F36E","order":3329,"tags":["dessert","pudding","sweet"],"unicode":"🍮"},{"annotation":"honey pot","group":4,"hexcode":"1F36F","order":3330,"tags":["honey","honeypot","pot","sweet"],"unicode":"🍯"},{"annotation":"baby bottle","group":4,"hexcode":"1F37C","order":3331,"tags":["baby","bottle","drink","milk"],"unicode":"🍼"},{"annotation":"glass of milk","group":4,"hexcode":"1F95B","order":3332,"tags":["drink","glass","milk"],"unicode":"🥛"},{"annotation":"hot beverage","group":4,"hexcode":"2615","order":3333,"tags":["beverage","coffee","drink","hot","steaming","tea"],"unicode":"☕️"},{"annotation":"teapot","group":4,"hexcode":"1FAD6","order":3334,"tags":["drink","pot","tea"],"unicode":"🫖"},{"annotation":"teacup without handle","group":4,"hexcode":"1F375","order":3335,"tags":["beverage","cup","drink","tea","teacup"],"unicode":"🍵"},{"annotation":"sake","group":4,"hexcode":"1F376","order":3336,"tags":["bar","beverage","bottle","cup","drink"],"unicode":"🍶"},{"annotation":"bottle with popping cork","group":4,"hexcode":"1F37E","order":3337,"tags":["bar","bottle","cork","drink","popping"],"unicode":"🍾"},{"annotation":"wine glass","group":4,"hexcode":"1F377","order":3338,"tags":["bar","beverage","drink","glass","wine"],"unicode":"🍷"},{"annotation":"cocktail glass","group":4,"hexcode":"1F378","order":3339,"tags":["bar","cocktail","drink","glass"],"unicode":"🍸️"},{"annotation":"tropical drink","group":4,"hexcode":"1F379","order":3340,"tags":["bar","drink","tropical"],"unicode":"🍹"},{"annotation":"beer mug","group":4,"hexcode":"1F37A","order":3341,"tags":["bar","beer","drink","mug"],"unicode":"🍺"},{"annotation":"clinking beer mugs","group":4,"hexcode":"1F37B","order":3342,"tags":["bar","beer","clink","drink","mug"],"unicode":"🍻"},{"annotation":"clinking glasses","group":4,"hexcode":"1F942","order":3343,"tags":["celebrate","clink","drink","glass"],"unicode":"🥂"},{"annotation":"tumbler glass","group":4,"hexcode":"1F943","order":3344,"tags":["glass","liquor","shot","tumbler","whisky"],"unicode":"🥃"},{"annotation":"cup with straw","group":4,"hexcode":"1F964","order":3345,"tags":["juice","soda"],"unicode":"🥤"},{"annotation":"bubble tea","group":4,"hexcode":"1F9CB","order":3346,"tags":["bubble","milk","pearl","tea"],"unicode":"🧋"},{"annotation":"beverage box","group":4,"hexcode":"1F9C3","order":3347,"tags":["beverage","box","juice","straw","sweet"],"unicode":"🧃"},{"annotation":"mate","group":4,"hexcode":"1F9C9","order":3348,"tags":["drink"],"unicode":"🧉"},{"annotation":"ice","group":4,"hexcode":"1F9CA","order":3349,"tags":["cold","ice cube","iceberg"],"unicode":"🧊"},{"annotation":"chopsticks","group":4,"hexcode":"1F962","order":3350,"tags":["hashi"],"unicode":"🥢"},{"annotation":"fork and knife with plate","group":4,"hexcode":"1F37D","order":3352,"tags":["cooking","fork","knife","plate"],"unicode":"🍽️"},{"annotation":"fork and knife","group":4,"hexcode":"1F374","order":3353,"tags":["cooking","cutlery","fork","knife"],"unicode":"🍴"},{"annotation":"spoon","group":4,"hexcode":"1F944","order":3354,"tags":["tableware"],"unicode":"🥄"},{"annotation":"kitchen knife","group":4,"hexcode":"1F52A","order":3355,"tags":["cooking","hocho","knife","tool","weapon"],"unicode":"🔪"},{"annotation":"amphora","group":4,"hexcode":"1F3FA","order":3356,"tags":["aquarius","cooking","drink","jug","zodiac"],"unicode":"🏺"},{"annotation":"globe showing Europe-Africa","group":5,"hexcode":"1F30D","order":3357,"tags":["africa","earth","europe","globe","globe showing europe-africa","world"],"unicode":"🌍️"},{"annotation":"globe showing Americas","group":5,"hexcode":"1F30E","order":3358,"tags":["americas","earth","globe","globe showing americas","world"],"unicode":"🌎️"},{"annotation":"globe showing Asia-Australia","group":5,"hexcode":"1F30F","order":3359,"tags":["asia","australia","earth","globe","globe showing asia-australia","world"],"unicode":"🌏️"},{"annotation":"globe with meridians","group":5,"hexcode":"1F310","order":3360,"tags":["earth","globe","meridians","world"],"unicode":"🌐"},{"annotation":"world map","group":5,"hexcode":"1F5FA","order":3362,"tags":["map","world"],"unicode":"🗺️"},{"annotation":"map of Japan","group":5,"hexcode":"1F5FE","order":3363,"tags":["japan","map","map of japan"],"unicode":"🗾"},{"annotation":"compass","group":5,"hexcode":"1F9ED","order":3364,"tags":["magnetic","navigation","orienteering"],"unicode":"🧭"},{"annotation":"snow-capped mountain","group":5,"hexcode":"1F3D4","order":3366,"tags":["cold","mountain","snow"],"unicode":"🏔️"},{"annotation":"mountain","group":5,"hexcode":"26F0","order":3368,"tags":["mountain"],"unicode":"⛰️"},{"annotation":"volcano","group":5,"hexcode":"1F30B","order":3369,"tags":["eruption","mountain"],"unicode":"🌋"},{"annotation":"mount fuji","group":5,"hexcode":"1F5FB","order":3370,"tags":["fuji","mountain"],"unicode":"🗻"},{"annotation":"camping","group":5,"hexcode":"1F3D5","order":3372,"tags":["camping"],"unicode":"🏕️"},{"annotation":"beach with umbrella","group":5,"hexcode":"1F3D6","order":3374,"tags":["beach","umbrella"],"unicode":"🏖️"},{"annotation":"desert","group":5,"hexcode":"1F3DC","order":3376,"tags":["desert"],"unicode":"🏜️"},{"annotation":"desert island","group":5,"hexcode":"1F3DD","order":3378,"tags":["desert","island"],"unicode":"🏝️"},{"annotation":"national park","group":5,"hexcode":"1F3DE","order":3380,"tags":["park"],"unicode":"🏞️"},{"annotation":"stadium","group":5,"hexcode":"1F3DF","order":3382,"tags":["stadium"],"unicode":"🏟️"},{"annotation":"classical building","group":5,"hexcode":"1F3DB","order":3384,"tags":["classical"],"unicode":"🏛️"},{"annotation":"building construction","group":5,"hexcode":"1F3D7","order":3386,"tags":["construction"],"unicode":"🏗️"},{"annotation":"brick","group":5,"hexcode":"1F9F1","order":3387,"tags":["bricks","clay","mortar","wall"],"unicode":"🧱"},{"annotation":"rock","group":5,"hexcode":"1FAA8","order":3388,"tags":["boulder","heavy","solid","stone"],"unicode":"🪨"},{"annotation":"wood","group":5,"hexcode":"1FAB5","order":3389,"tags":["log","lumber","timber"],"unicode":"🪵"},{"annotation":"hut","group":5,"hexcode":"1F6D6","order":3390,"tags":["house","roundhouse","yurt"],"unicode":"🛖"},{"annotation":"houses","group":5,"hexcode":"1F3D8","order":3392,"tags":["houses"],"unicode":"🏘️"},{"annotation":"derelict house","group":5,"hexcode":"1F3DA","order":3394,"tags":["derelict","house"],"unicode":"🏚️"},{"annotation":"house","group":5,"hexcode":"1F3E0","order":3395,"tags":["home"],"unicode":"🏠️"},{"annotation":"house with garden","group":5,"hexcode":"1F3E1","order":3396,"tags":["garden","home","house"],"unicode":"🏡"},{"annotation":"office building","group":5,"hexcode":"1F3E2","order":3397,"tags":["building"],"unicode":"🏢"},{"annotation":"Japanese post office","group":5,"hexcode":"1F3E3","order":3398,"tags":["japanese","japanese post office","post"],"unicode":"🏣"},{"annotation":"post office","group":5,"hexcode":"1F3E4","order":3399,"tags":["european","post"],"unicode":"🏤"},{"annotation":"hospital","group":5,"hexcode":"1F3E5","order":3400,"tags":["doctor","medicine"],"unicode":"🏥"},{"annotation":"bank","group":5,"hexcode":"1F3E6","order":3401,"tags":["building"],"unicode":"🏦"},{"annotation":"hotel","group":5,"hexcode":"1F3E8","order":3402,"tags":["building"],"unicode":"🏨"},{"annotation":"love hotel","group":5,"hexcode":"1F3E9","order":3403,"tags":["hotel","love"],"unicode":"🏩"},{"annotation":"convenience store","group":5,"hexcode":"1F3EA","order":3404,"tags":["convenience","store"],"unicode":"🏪"},{"annotation":"school","group":5,"hexcode":"1F3EB","order":3405,"tags":["building"],"unicode":"🏫"},{"annotation":"department store","group":5,"hexcode":"1F3EC","order":3406,"tags":["department","store"],"unicode":"🏬"},{"annotation":"factory","group":5,"hexcode":"1F3ED","order":3407,"tags":["building"],"unicode":"🏭️"},{"annotation":"Japanese castle","group":5,"hexcode":"1F3EF","order":3408,"tags":["castle","japanese"],"unicode":"🏯"},{"annotation":"castle","group":5,"hexcode":"1F3F0","order":3409,"tags":["european"],"unicode":"🏰"},{"annotation":"wedding","group":5,"hexcode":"1F492","order":3410,"tags":["chapel","romance"],"unicode":"💒"},{"annotation":"Tokyo tower","group":5,"hexcode":"1F5FC","order":3411,"tags":["tokyo","tower"],"unicode":"🗼"},{"annotation":"Statue of Liberty","group":5,"hexcode":"1F5FD","order":3412,"tags":["liberty","statue","statue of liberty"],"unicode":"🗽"},{"annotation":"church","group":5,"hexcode":"26EA","order":3413,"tags":["christian","cross","religion"],"unicode":"⛪️"},{"annotation":"mosque","group":5,"hexcode":"1F54C","order":3414,"tags":["islam","muslim","religion"],"unicode":"🕌"},{"annotation":"hindu temple","group":5,"hexcode":"1F6D5","order":3415,"tags":["hindu","temple"],"unicode":"🛕"},{"annotation":"synagogue","group":5,"hexcode":"1F54D","order":3416,"tags":["jew","jewish","religion","temple"],"unicode":"🕍"},{"annotation":"shinto shrine","group":5,"hexcode":"26E9","order":3418,"tags":["religion","shinto","shrine"],"unicode":"⛩️"},{"annotation":"kaaba","group":5,"hexcode":"1F54B","order":3419,"tags":["islam","muslim","religion"],"unicode":"🕋"},{"annotation":"fountain","group":5,"hexcode":"26F2","order":3420,"tags":["fountain"],"unicode":"⛲️"},{"annotation":"tent","group":5,"hexcode":"26FA","order":3421,"tags":["camping"],"unicode":"⛺️"},{"annotation":"foggy","group":5,"hexcode":"1F301","order":3422,"tags":["fog"],"unicode":"🌁"},{"annotation":"night with stars","group":5,"hexcode":"1F303","order":3423,"tags":["night","star"],"unicode":"🌃"},{"annotation":"cityscape","group":5,"hexcode":"1F3D9","order":3425,"tags":["city"],"unicode":"🏙️"},{"annotation":"sunrise over mountains","group":5,"hexcode":"1F304","order":3426,"tags":["morning","mountain","sun","sunrise"],"unicode":"🌄"},{"annotation":"sunrise","group":5,"hexcode":"1F305","order":3427,"tags":["morning","sun"],"unicode":"🌅"},{"annotation":"cityscape at dusk","group":5,"hexcode":"1F306","order":3428,"tags":["city","dusk","evening","landscape","sunset"],"unicode":"🌆"},{"annotation":"sunset","group":5,"hexcode":"1F307","order":3429,"tags":["dusk","sun"],"unicode":"🌇"},{"annotation":"bridge at night","group":5,"hexcode":"1F309","order":3430,"tags":["bridge","night"],"unicode":"🌉"},{"annotation":"hot springs","group":5,"hexcode":"2668","order":3432,"tags":["hot","hotsprings","springs","steaming"],"unicode":"♨️"},{"annotation":"carousel horse","group":5,"hexcode":"1F3A0","order":3433,"tags":["carousel","horse"],"unicode":"🎠"},{"annotation":"ferris wheel","group":5,"hexcode":"1F3A1","order":3434,"tags":["amusement park","ferris","wheel"],"unicode":"🎡"},{"annotation":"roller coaster","group":5,"hexcode":"1F3A2","order":3435,"tags":["amusement park","coaster","roller"],"unicode":"🎢"},{"annotation":"barber pole","group":5,"hexcode":"1F488","order":3436,"tags":["barber","haircut","pole"],"unicode":"💈"},{"annotation":"circus tent","group":5,"hexcode":"1F3AA","order":3437,"tags":["circus","tent"],"unicode":"🎪"},{"annotation":"locomotive","group":5,"hexcode":"1F682","order":3438,"tags":["engine","railway","steam","train"],"unicode":"🚂"},{"annotation":"railway car","group":5,"hexcode":"1F683","order":3439,"tags":["car","electric","railway","train","tram","trolleybus"],"unicode":"🚃"},{"annotation":"high-speed train","group":5,"hexcode":"1F684","order":3440,"tags":["railway","shinkansen","speed","train"],"unicode":"🚄"},{"annotation":"bullet train","group":5,"hexcode":"1F685","order":3441,"tags":["bullet","railway","shinkansen","speed","train"],"unicode":"🚅"},{"annotation":"train","group":5,"hexcode":"1F686","order":3442,"tags":["railway"],"unicode":"🚆"},{"annotation":"metro","group":5,"hexcode":"1F687","order":3443,"tags":["subway"],"unicode":"🚇️"},{"annotation":"light rail","group":5,"hexcode":"1F688","order":3444,"tags":["railway"],"unicode":"🚈"},{"annotation":"station","group":5,"hexcode":"1F689","order":3445,"tags":["railway","train"],"unicode":"🚉"},{"annotation":"tram","group":5,"hexcode":"1F68A","order":3446,"tags":["trolleybus"],"unicode":"🚊"},{"annotation":"monorail","group":5,"hexcode":"1F69D","order":3447,"tags":["vehicle"],"unicode":"🚝"},{"annotation":"mountain railway","group":5,"hexcode":"1F69E","order":3448,"tags":["car","mountain","railway"],"unicode":"🚞"},{"annotation":"tram car","group":5,"hexcode":"1F68B","order":3449,"tags":["car","tram","trolleybus"],"unicode":"🚋"},{"annotation":"bus","group":5,"hexcode":"1F68C","order":3450,"tags":["vehicle"],"unicode":"🚌"},{"annotation":"oncoming bus","group":5,"hexcode":"1F68D","order":3451,"tags":["bus","oncoming"],"unicode":"🚍️"},{"annotation":"trolleybus","group":5,"hexcode":"1F68E","order":3452,"tags":["bus","tram","trolley"],"unicode":"🚎"},{"annotation":"minibus","group":5,"hexcode":"1F690","order":3453,"tags":["bus"],"unicode":"🚐"},{"annotation":"ambulance","group":5,"hexcode":"1F691","order":3454,"tags":["vehicle"],"unicode":"🚑️"},{"annotation":"fire engine","group":5,"hexcode":"1F692","order":3455,"tags":["engine","fire","truck"],"unicode":"🚒"},{"annotation":"police car","group":5,"hexcode":"1F693","order":3456,"tags":["car","patrol","police"],"unicode":"🚓"},{"annotation":"oncoming police car","group":5,"hexcode":"1F694","order":3457,"tags":["car","oncoming","police"],"unicode":"🚔️"},{"annotation":"taxi","group":5,"hexcode":"1F695","order":3458,"tags":["vehicle"],"unicode":"🚕"},{"annotation":"oncoming taxi","group":5,"hexcode":"1F696","order":3459,"tags":["oncoming","taxi"],"unicode":"🚖"},{"annotation":"automobile","group":5,"hexcode":"1F697","order":3460,"tags":["car"],"unicode":"🚗"},{"annotation":"oncoming automobile","group":5,"hexcode":"1F698","order":3461,"tags":["automobile","car","oncoming"],"unicode":"🚘️"},{"annotation":"sport utility vehicle","group":5,"hexcode":"1F699","order":3462,"tags":["recreational","sport utility"],"unicode":"🚙"},{"annotation":"pickup truck","group":5,"hexcode":"1F6FB","order":3463,"tags":["pick-up","pickup","truck"],"unicode":"🛻"},{"annotation":"delivery truck","group":5,"hexcode":"1F69A","order":3464,"tags":["delivery","truck"],"unicode":"🚚"},{"annotation":"articulated lorry","group":5,"hexcode":"1F69B","order":3465,"tags":["lorry","semi","truck"],"unicode":"🚛"},{"annotation":"tractor","group":5,"hexcode":"1F69C","order":3466,"tags":["vehicle"],"unicode":"🚜"},{"annotation":"racing car","group":5,"hexcode":"1F3CE","order":3468,"tags":["car","racing"],"unicode":"🏎️"},{"annotation":"motorcycle","group":5,"hexcode":"1F3CD","order":3470,"tags":["racing"],"unicode":"🏍️"},{"annotation":"motor scooter","group":5,"hexcode":"1F6F5","order":3471,"tags":["motor","scooter"],"unicode":"🛵"},{"annotation":"manual wheelchair","group":5,"hexcode":"1F9BD","order":3472,"tags":["accessibility"],"unicode":"🦽"},{"annotation":"motorized wheelchair","group":5,"hexcode":"1F9BC","order":3473,"tags":["accessibility"],"unicode":"🦼"},{"annotation":"auto rickshaw","group":5,"hexcode":"1F6FA","order":3474,"tags":["tuk tuk"],"unicode":"🛺"},{"annotation":"bicycle","group":5,"hexcode":"1F6B2","order":3475,"tags":["bike"],"unicode":"🚲️"},{"annotation":"kick scooter","group":5,"hexcode":"1F6F4","order":3476,"tags":["kick","scooter"],"unicode":"🛴"},{"annotation":"skateboard","group":5,"hexcode":"1F6F9","order":3477,"tags":["board"],"unicode":"🛹"},{"annotation":"roller skate","group":5,"hexcode":"1F6FC","order":3478,"tags":["roller","skate"],"unicode":"🛼"},{"annotation":"bus stop","group":5,"hexcode":"1F68F","order":3479,"tags":["bus","busstop","stop"],"unicode":"🚏"},{"annotation":"motorway","group":5,"hexcode":"1F6E3","order":3481,"tags":["highway","road"],"unicode":"🛣️"},{"annotation":"railway track","group":5,"hexcode":"1F6E4","order":3483,"tags":["railway","train"],"unicode":"🛤️"},{"annotation":"oil drum","group":5,"hexcode":"1F6E2","order":3485,"tags":["drum","oil"],"unicode":"🛢️"},{"annotation":"fuel pump","group":5,"hexcode":"26FD","order":3486,"tags":["diesel","fuel","fuelpump","gas","pump","station"],"unicode":"⛽️"},{"annotation":"police car light","group":5,"hexcode":"1F6A8","order":3487,"tags":["beacon","car","light","police","revolving"],"unicode":"🚨"},{"annotation":"horizontal traffic light","group":5,"hexcode":"1F6A5","order":3488,"tags":["light","signal","traffic"],"unicode":"🚥"},{"annotation":"vertical traffic light","group":5,"hexcode":"1F6A6","order":3489,"tags":["light","signal","traffic"],"unicode":"🚦"},{"annotation":"stop sign","group":5,"hexcode":"1F6D1","order":3490,"tags":["octagonal","sign","stop"],"unicode":"🛑"},{"annotation":"construction","group":5,"hexcode":"1F6A7","order":3491,"tags":["barrier"],"unicode":"🚧"},{"annotation":"anchor","group":5,"hexcode":"2693","order":3492,"tags":["ship","tool"],"unicode":"⚓️"},{"annotation":"sailboat","group":5,"hexcode":"26F5","order":3493,"tags":["boat","resort","sea","yacht"],"unicode":"⛵️"},{"annotation":"canoe","group":5,"hexcode":"1F6F6","order":3494,"tags":["boat"],"unicode":"🛶"},{"annotation":"speedboat","group":5,"hexcode":"1F6A4","order":3495,"tags":["boat"],"unicode":"🚤"},{"annotation":"passenger ship","group":5,"hexcode":"1F6F3","order":3497,"tags":["passenger","ship"],"unicode":"🛳️"},{"annotation":"ferry","group":5,"hexcode":"26F4","order":3499,"tags":["boat","passenger"],"unicode":"⛴️"},{"annotation":"motor boat","group":5,"hexcode":"1F6E5","order":3501,"tags":["boat","motorboat"],"unicode":"🛥️"},{"annotation":"ship","group":5,"hexcode":"1F6A2","order":3502,"tags":["boat","passenger"],"unicode":"🚢"},{"annotation":"airplane","group":5,"hexcode":"2708","order":3504,"tags":["aeroplane"],"unicode":"✈️"},{"annotation":"small airplane","group":5,"hexcode":"1F6E9","order":3506,"tags":["aeroplane","airplane"],"unicode":"🛩️"},{"annotation":"airplane departure","group":5,"hexcode":"1F6EB","order":3507,"tags":["aeroplane","airplane","check-in","departure","departures"],"unicode":"🛫"},{"annotation":"airplane arrival","group":5,"hexcode":"1F6EC","order":3508,"tags":["aeroplane","airplane","arrivals","arriving","landing"],"unicode":"🛬"},{"annotation":"parachute","group":5,"hexcode":"1FA82","order":3509,"tags":["hang-glide","parasail","skydive"],"unicode":"🪂"},{"annotation":"seat","group":5,"hexcode":"1F4BA","order":3510,"tags":["chair"],"unicode":"💺"},{"annotation":"helicopter","group":5,"hexcode":"1F681","order":3511,"tags":["vehicle"],"unicode":"🚁"},{"annotation":"suspension railway","group":5,"hexcode":"1F69F","order":3512,"tags":["railway","suspension"],"unicode":"🚟"},{"annotation":"mountain cableway","group":5,"hexcode":"1F6A0","order":3513,"tags":["cable","gondola","mountain"],"unicode":"🚠"},{"annotation":"aerial tramway","group":5,"hexcode":"1F6A1","order":3514,"tags":["aerial","cable","car","gondola","tramway"],"unicode":"🚡"},{"annotation":"satellite","group":5,"hexcode":"1F6F0","order":3516,"tags":["space"],"unicode":"🛰️"},{"annotation":"rocket","group":5,"hexcode":"1F680","order":3517,"tags":["space"],"unicode":"🚀"},{"annotation":"flying saucer","group":5,"hexcode":"1F6F8","order":3518,"tags":["ufo"],"unicode":"🛸"},{"annotation":"bellhop bell","group":5,"hexcode":"1F6CE","order":3520,"tags":["bell","bellhop","hotel"],"unicode":"🛎️"},{"annotation":"luggage","group":5,"hexcode":"1F9F3","order":3521,"tags":["packing","travel"],"unicode":"🧳"},{"annotation":"hourglass done","group":5,"hexcode":"231B","order":3522,"tags":["sand","timer"],"unicode":"⌛️"},{"annotation":"hourglass not done","group":5,"hexcode":"23F3","order":3523,"tags":["hourglass","sand","timer"],"unicode":"⏳️"},{"annotation":"watch","group":5,"hexcode":"231A","order":3524,"tags":["clock"],"unicode":"⌚️"},{"annotation":"alarm clock","group":5,"hexcode":"23F0","order":3525,"tags":["alarm","clock"],"unicode":"⏰"},{"annotation":"stopwatch","group":5,"hexcode":"23F1","order":3527,"tags":["clock"],"unicode":"⏱️"},{"annotation":"timer clock","group":5,"hexcode":"23F2","order":3529,"tags":["clock","timer"],"unicode":"⏲️"},{"annotation":"mantelpiece clock","group":5,"hexcode":"1F570","order":3531,"tags":["clock"],"unicode":"🕰️"},{"annotation":"twelve o’clock","group":5,"hexcode":"1F55B","order":3532,"tags":["00","12","12:00","clock","o’clock","twelve"],"unicode":"🕛️"},{"annotation":"twelve-thirty","group":5,"hexcode":"1F567","order":3533,"tags":["12","12:30","clock","thirty","twelve"],"unicode":"🕧️"},{"annotation":"one o’clock","group":5,"hexcode":"1F550","order":3534,"tags":["00","1","1:00","clock","one","o’clock"],"unicode":"🕐️"},{"annotation":"one-thirty","group":5,"hexcode":"1F55C","order":3535,"tags":["1","1:30","clock","one","thirty"],"unicode":"🕜️"},{"annotation":"two o’clock","group":5,"hexcode":"1F551","order":3536,"tags":["00","2","2:00","clock","o’clock","two"],"unicode":"🕑️"},{"annotation":"two-thirty","group":5,"hexcode":"1F55D","order":3537,"tags":["2","2:30","clock","thirty","two"],"unicode":"🕝️"},{"annotation":"three o’clock","group":5,"hexcode":"1F552","order":3538,"tags":["00","3","3:00","clock","o’clock","three"],"unicode":"🕒️"},{"annotation":"three-thirty","group":5,"hexcode":"1F55E","order":3539,"tags":["3","3:30","clock","thirty","three"],"unicode":"🕞️"},{"annotation":"four o’clock","group":5,"hexcode":"1F553","order":3540,"tags":["00","4","4:00","clock","four","o’clock"],"unicode":"🕓️"},{"annotation":"four-thirty","group":5,"hexcode":"1F55F","order":3541,"tags":["4","4:30","clock","four","thirty"],"unicode":"🕟️"},{"annotation":"five o’clock","group":5,"hexcode":"1F554","order":3542,"tags":["00","5","5:00","clock","five","o’clock"],"unicode":"🕔️"},{"annotation":"five-thirty","group":5,"hexcode":"1F560","order":3543,"tags":["5","5:30","clock","five","thirty"],"unicode":"🕠️"},{"annotation":"six o’clock","group":5,"hexcode":"1F555","order":3544,"tags":["00","6","6:00","clock","o’clock","six"],"unicode":"🕕️"},{"annotation":"six-thirty","group":5,"hexcode":"1F561","order":3545,"tags":["6","6:30","clock","six","thirty"],"unicode":"🕡️"},{"annotation":"seven o’clock","group":5,"hexcode":"1F556","order":3546,"tags":["00","7","7:00","clock","o’clock","seven"],"unicode":"🕖️"},{"annotation":"seven-thirty","group":5,"hexcode":"1F562","order":3547,"tags":["7","7:30","clock","seven","thirty"],"unicode":"🕢️"},{"annotation":"eight o’clock","group":5,"hexcode":"1F557","order":3548,"tags":["00","8","8:00","clock","eight","o’clock"],"unicode":"🕗️"},{"annotation":"eight-thirty","group":5,"hexcode":"1F563","order":3549,"tags":["8","8:30","clock","eight","thirty"],"unicode":"🕣️"},{"annotation":"nine o’clock","group":5,"hexcode":"1F558","order":3550,"tags":["00","9","9:00","clock","nine","o’clock"],"unicode":"🕘️"},{"annotation":"nine-thirty","group":5,"hexcode":"1F564","order":3551,"tags":["9","9:30","clock","nine","thirty"],"unicode":"🕤️"},{"annotation":"ten o’clock","group":5,"hexcode":"1F559","order":3552,"tags":["00","10","10:00","clock","o’clock","ten"],"unicode":"🕙️"},{"annotation":"ten-thirty","group":5,"hexcode":"1F565","order":3553,"tags":["10","10:30","clock","ten","thirty"],"unicode":"🕥️"},{"annotation":"eleven o’clock","group":5,"hexcode":"1F55A","order":3554,"tags":["00","11","11:00","clock","eleven","o’clock"],"unicode":"🕚️"},{"annotation":"eleven-thirty","group":5,"hexcode":"1F566","order":3555,"tags":["11","11:30","clock","eleven","thirty"],"unicode":"🕦️"},{"annotation":"new moon","group":5,"hexcode":"1F311","order":3556,"tags":["dark","moon"],"unicode":"🌑"},{"annotation":"waxing crescent moon","group":5,"hexcode":"1F312","order":3557,"tags":["crescent","moon","waxing"],"unicode":"🌒"},{"annotation":"first quarter moon","group":5,"hexcode":"1F313","order":3558,"tags":["moon","quarter"],"unicode":"🌓"},{"annotation":"waxing gibbous moon","group":5,"hexcode":"1F314","order":3559,"tags":["gibbous","moon","waxing"],"unicode":"🌔"},{"annotation":"full moon","group":5,"hexcode":"1F315","order":3560,"tags":["full","moon"],"unicode":"🌕️"},{"annotation":"waning gibbous moon","group":5,"hexcode":"1F316","order":3561,"tags":["gibbous","moon","waning"],"unicode":"🌖"},{"annotation":"last quarter moon","group":5,"hexcode":"1F317","order":3562,"tags":["moon","quarter"],"unicode":"🌗"},{"annotation":"waning crescent moon","group":5,"hexcode":"1F318","order":3563,"tags":["crescent","moon","waning"],"unicode":"🌘"},{"annotation":"crescent moon","group":5,"hexcode":"1F319","order":3564,"tags":["crescent","moon"],"unicode":"🌙"},{"annotation":"new moon face","group":5,"hexcode":"1F31A","order":3565,"tags":["face","moon"],"unicode":"🌚"},{"annotation":"first quarter moon face","group":5,"hexcode":"1F31B","order":3566,"tags":["face","moon","quarter"],"unicode":"🌛"},{"annotation":"last quarter moon face","group":5,"hexcode":"1F31C","order":3567,"tags":["face","moon","quarter"],"unicode":"🌜️"},{"annotation":"thermometer","group":5,"hexcode":"1F321","order":3569,"tags":["weather"],"unicode":"🌡️"},{"annotation":"sun","group":5,"hexcode":"2600","order":3571,"tags":["bright","rays","sunny"],"unicode":"☀️"},{"annotation":"full moon face","group":5,"hexcode":"1F31D","order":3572,"tags":["bright","face","full","moon"],"unicode":"🌝"},{"annotation":"sun with face","group":5,"hexcode":"1F31E","order":3573,"tags":["bright","face","sun"],"unicode":"🌞"},{"annotation":"ringed planet","group":5,"hexcode":"1FA90","order":3574,"tags":["saturn","saturnine"],"unicode":"🪐"},{"annotation":"star","group":5,"hexcode":"2B50","order":3575,"tags":["star"],"unicode":"⭐️"},{"annotation":"glowing star","group":5,"hexcode":"1F31F","order":3576,"tags":["glittery","glow","shining","sparkle","star"],"unicode":"🌟"},{"annotation":"shooting star","group":5,"hexcode":"1F320","order":3577,"tags":["falling","shooting","star"],"unicode":"🌠"},{"annotation":"milky way","group":5,"hexcode":"1F30C","order":3578,"tags":["space"],"unicode":"🌌"},{"annotation":"cloud","group":5,"hexcode":"2601","order":3580,"tags":["weather"],"unicode":"☁️"},{"annotation":"sun behind cloud","group":5,"hexcode":"26C5","order":3581,"tags":["cloud","sun"],"unicode":"⛅️"},{"annotation":"cloud with lightning and rain","group":5,"hexcode":"26C8","order":3583,"tags":["cloud","rain","thunder"],"unicode":"⛈️"},{"annotation":"sun behind small cloud","group":5,"hexcode":"1F324","order":3585,"tags":["cloud","sun"],"unicode":"🌤️"},{"annotation":"sun behind large cloud","group":5,"hexcode":"1F325","order":3587,"tags":["cloud","sun"],"unicode":"🌥️"},{"annotation":"sun behind rain cloud","group":5,"hexcode":"1F326","order":3589,"tags":["cloud","rain","sun"],"unicode":"🌦️"},{"annotation":"cloud with rain","group":5,"hexcode":"1F327","order":3591,"tags":["cloud","rain"],"unicode":"🌧️"},{"annotation":"cloud with snow","group":5,"hexcode":"1F328","order":3593,"tags":["cloud","cold","snow"],"unicode":"🌨️"},{"annotation":"cloud with lightning","group":5,"hexcode":"1F329","order":3595,"tags":["cloud","lightning"],"unicode":"🌩️"},{"annotation":"tornado","group":5,"hexcode":"1F32A","order":3597,"tags":["cloud","whirlwind"],"unicode":"🌪️"},{"annotation":"fog","group":5,"hexcode":"1F32B","order":3599,"tags":["cloud"],"unicode":"🌫️"},{"annotation":"wind face","group":5,"hexcode":"1F32C","order":3601,"tags":["blow","cloud","face","wind"],"unicode":"🌬️"},{"annotation":"cyclone","group":5,"hexcode":"1F300","order":3602,"tags":["dizzy","hurricane","twister","typhoon"],"unicode":"🌀"},{"annotation":"rainbow","group":5,"hexcode":"1F308","order":3603,"tags":["rain"],"unicode":"🌈"},{"annotation":"closed umbrella","group":5,"hexcode":"1F302","order":3604,"tags":["clothing","rain","umbrella"],"unicode":"🌂"},{"annotation":"umbrella","group":5,"hexcode":"2602","order":3606,"tags":["clothing","rain"],"unicode":"☂️"},{"annotation":"umbrella with rain drops","group":5,"hexcode":"2614","order":3607,"tags":["clothing","drop","rain","umbrella"],"unicode":"☔️"},{"annotation":"umbrella on ground","group":5,"hexcode":"26F1","order":3609,"tags":["rain","sun","umbrella"],"unicode":"⛱️"},{"annotation":"high voltage","group":5,"hexcode":"26A1","order":3610,"tags":["danger","electric","lightning","voltage","zap"],"unicode":"⚡️"},{"annotation":"snowflake","group":5,"hexcode":"2744","order":3612,"tags":["cold","snow"],"unicode":"❄️"},{"annotation":"snowman","group":5,"hexcode":"2603","order":3614,"tags":["cold","snow"],"unicode":"☃️"},{"annotation":"snowman without snow","group":5,"hexcode":"26C4","order":3615,"tags":["cold","snow","snowman"],"unicode":"⛄️"},{"annotation":"comet","group":5,"hexcode":"2604","order":3617,"tags":["space"],"unicode":"☄️"},{"annotation":"fire","group":5,"hexcode":"1F525","order":3618,"tags":["flame","tool"],"unicode":"🔥"},{"annotation":"droplet","group":5,"hexcode":"1F4A7","order":3619,"tags":["cold","comic","drop","sweat"],"unicode":"💧"},{"annotation":"water wave","group":5,"hexcode":"1F30A","order":3620,"tags":["ocean","water","wave"],"unicode":"🌊"},{"annotation":"jack-o-lantern","group":6,"hexcode":"1F383","order":3621,"tags":["celebration","halloween","jack","lantern"],"unicode":"🎃"},{"annotation":"Christmas tree","group":6,"hexcode":"1F384","order":3622,"tags":["celebration","christmas","tree"],"unicode":"🎄"},{"annotation":"fireworks","group":6,"hexcode":"1F386","order":3623,"tags":["celebration"],"unicode":"🎆"},{"annotation":"sparkler","group":6,"hexcode":"1F387","order":3624,"tags":["celebration","fireworks","sparkle"],"unicode":"🎇"},{"annotation":"firecracker","group":6,"hexcode":"1F9E8","order":3625,"tags":["dynamite","explosive","fireworks"],"unicode":"🧨"},{"annotation":"sparkles","group":6,"hexcode":"2728","order":3626,"tags":["*","sparkle","star"],"unicode":"✨"},{"annotation":"balloon","group":6,"hexcode":"1F388","order":3627,"tags":["celebration"],"unicode":"🎈"},{"annotation":"party popper","group":6,"hexcode":"1F389","order":3628,"tags":["celebration","party","popper","tada"],"unicode":"🎉"},{"annotation":"confetti ball","group":6,"hexcode":"1F38A","order":3629,"tags":["ball","celebration","confetti"],"unicode":"🎊"},{"annotation":"tanabata tree","group":6,"hexcode":"1F38B","order":3630,"tags":["banner","celebration","japanese","tree"],"unicode":"🎋"},{"annotation":"pine decoration","group":6,"hexcode":"1F38D","order":3631,"tags":["bamboo","celebration","japanese","pine"],"unicode":"🎍"},{"annotation":"Japanese dolls","group":6,"hexcode":"1F38E","order":3632,"tags":["celebration","doll","festival","japanese","japanese dolls"],"unicode":"🎎"},{"annotation":"carp streamer","group":6,"hexcode":"1F38F","order":3633,"tags":["carp","celebration","streamer"],"unicode":"🎏"},{"annotation":"wind chime","group":6,"hexcode":"1F390","order":3634,"tags":["bell","celebration","chime","wind"],"unicode":"🎐"},{"annotation":"moon viewing ceremony","group":6,"hexcode":"1F391","order":3635,"tags":["celebration","ceremony","moon"],"unicode":"🎑"},{"annotation":"red envelope","group":6,"hexcode":"1F9E7","order":3636,"tags":["gift","good luck","hóngbāo","lai see","money"],"unicode":"🧧"},{"annotation":"ribbon","group":6,"hexcode":"1F380","order":3637,"tags":["celebration"],"unicode":"🎀"},{"annotation":"wrapped gift","group":6,"hexcode":"1F381","order":3638,"tags":["box","celebration","gift","present","wrapped"],"unicode":"🎁"},{"annotation":"reminder ribbon","group":6,"hexcode":"1F397","order":3640,"tags":["celebration","reminder","ribbon"],"unicode":"🎗️"},{"annotation":"admission tickets","group":6,"hexcode":"1F39F","order":3642,"tags":["admission","ticket"],"unicode":"🎟️"},{"annotation":"ticket","group":6,"hexcode":"1F3AB","order":3643,"tags":["admission"],"unicode":"🎫"},{"annotation":"military medal","group":6,"hexcode":"1F396","order":3645,"tags":["celebration","medal","military"],"unicode":"🎖️"},{"annotation":"trophy","group":6,"hexcode":"1F3C6","order":3646,"tags":["prize"],"unicode":"🏆️"},{"annotation":"sports medal","group":6,"hexcode":"1F3C5","order":3647,"tags":["medal"],"unicode":"🏅"},{"annotation":"1st place medal","group":6,"hexcode":"1F947","order":3648,"tags":["first","gold","medal"],"unicode":"🥇"},{"annotation":"2nd place medal","group":6,"hexcode":"1F948","order":3649,"tags":["medal","second","silver"],"unicode":"🥈"},{"annotation":"3rd place medal","group":6,"hexcode":"1F949","order":3650,"tags":["bronze","medal","third"],"unicode":"🥉"},{"annotation":"soccer ball","group":6,"hexcode":"26BD","order":3651,"tags":["ball","football","soccer"],"unicode":"⚽️"},{"annotation":"baseball","group":6,"hexcode":"26BE","order":3652,"tags":["ball"],"unicode":"⚾️"},{"annotation":"softball","group":6,"hexcode":"1F94E","order":3653,"tags":["ball","glove","underarm"],"unicode":"🥎"},{"annotation":"basketball","group":6,"hexcode":"1F3C0","order":3654,"tags":["ball","hoop"],"unicode":"🏀"},{"annotation":"volleyball","group":6,"hexcode":"1F3D0","order":3655,"tags":["ball","game"],"unicode":"🏐"},{"annotation":"american football","group":6,"hexcode":"1F3C8","order":3656,"tags":["american","ball","football"],"unicode":"🏈"},{"annotation":"rugby football","group":6,"hexcode":"1F3C9","order":3657,"tags":["ball","football","rugby"],"unicode":"🏉"},{"annotation":"tennis","group":6,"hexcode":"1F3BE","order":3658,"tags":["ball","racquet"],"unicode":"🎾"},{"annotation":"flying disc","group":6,"hexcode":"1F94F","order":3659,"tags":["ultimate"],"unicode":"🥏"},{"annotation":"bowling","group":6,"hexcode":"1F3B3","order":3660,"tags":["ball","game"],"unicode":"🎳"},{"annotation":"cricket game","group":6,"hexcode":"1F3CF","order":3661,"tags":["ball","bat","game"],"unicode":"🏏"},{"annotation":"field hockey","group":6,"hexcode":"1F3D1","order":3662,"tags":["ball","field","game","hockey","stick"],"unicode":"🏑"},{"annotation":"ice hockey","group":6,"hexcode":"1F3D2","order":3663,"tags":["game","hockey","ice","puck","stick"],"unicode":"🏒"},{"annotation":"lacrosse","group":6,"hexcode":"1F94D","order":3664,"tags":["ball","goal","stick"],"unicode":"🥍"},{"annotation":"ping pong","group":6,"hexcode":"1F3D3","order":3665,"tags":["ball","bat","game","paddle","table tennis"],"unicode":"🏓"},{"annotation":"badminton","group":6,"hexcode":"1F3F8","order":3666,"tags":["birdie","game","racquet","shuttlecock"],"unicode":"🏸"},{"annotation":"boxing glove","group":6,"hexcode":"1F94A","order":3667,"tags":["boxing","glove"],"unicode":"🥊"},{"annotation":"martial arts uniform","group":6,"hexcode":"1F94B","order":3668,"tags":["judo","karate","martial arts","taekwondo","uniform"],"unicode":"🥋"},{"annotation":"goal net","group":6,"hexcode":"1F945","order":3669,"tags":["goal","net"],"unicode":"🥅"},{"annotation":"flag in hole","group":6,"hexcode":"26F3","order":3670,"tags":["golf","hole"],"unicode":"⛳️"},{"annotation":"ice skate","group":6,"hexcode":"26F8","order":3672,"tags":["ice","skate"],"unicode":"⛸️"},{"annotation":"fishing pole","group":6,"hexcode":"1F3A3","order":3673,"tags":["fish","pole"],"unicode":"🎣"},{"annotation":"diving mask","group":6,"hexcode":"1F93F","order":3674,"tags":["diving","scuba","snorkeling"],"unicode":"🤿"},{"annotation":"running shirt","group":6,"hexcode":"1F3BD","order":3675,"tags":["athletics","running","sash","shirt"],"unicode":"🎽"},{"annotation":"skis","group":6,"hexcode":"1F3BF","order":3676,"tags":["ski","snow"],"unicode":"🎿"},{"annotation":"sled","group":6,"hexcode":"1F6F7","order":3677,"tags":["sledge","sleigh"],"unicode":"🛷"},{"annotation":"curling stone","group":6,"hexcode":"1F94C","order":3678,"tags":["game","rock"],"unicode":"🥌"},{"annotation":"bullseye","group":6,"hexcode":"1F3AF","order":3679,"tags":["dart","direct hit","game","hit","target"],"unicode":"🎯"},{"annotation":"yo-yo","group":6,"hexcode":"1FA80","order":3680,"tags":["fluctuate","toy"],"unicode":"🪀"},{"annotation":"kite","group":6,"hexcode":"1FA81","order":3681,"tags":["fly","soar"],"unicode":"🪁"},{"annotation":"pool 8 ball","group":6,"hexcode":"1F3B1","order":3682,"tags":["8","ball","billiard","eight","game"],"unicode":"🎱"},{"annotation":"crystal ball","group":6,"hexcode":"1F52E","order":3683,"tags":["ball","crystal","fairy tale","fantasy","fortune","tool"],"unicode":"🔮"},{"annotation":"magic wand","group":6,"hexcode":"1FA84","order":3684,"tags":["magic","witch","wizard"],"unicode":"🪄"},{"annotation":"nazar amulet","group":6,"hexcode":"1F9FF","order":3685,"tags":["bead","charm","evil-eye","nazar","talisman"],"unicode":"🧿"},{"annotation":"video game","group":6,"hexcode":"1F3AE","order":3686,"tags":["controller","game"],"unicode":"🎮️"},{"annotation":"joystick","group":6,"hexcode":"1F579","order":3688,"tags":["game","video game"],"unicode":"🕹️"},{"annotation":"slot machine","group":6,"hexcode":"1F3B0","order":3689,"tags":["game","slot"],"unicode":"🎰"},{"annotation":"game die","group":6,"hexcode":"1F3B2","order":3690,"tags":["dice","die","game"],"unicode":"🎲"},{"annotation":"puzzle piece","group":6,"hexcode":"1F9E9","order":3691,"tags":["clue","interlocking","jigsaw","piece","puzzle"],"unicode":"🧩"},{"annotation":"teddy bear","group":6,"hexcode":"1F9F8","order":3692,"tags":["plaything","plush","stuffed","toy"],"unicode":"🧸"},{"annotation":"piñata","group":6,"hexcode":"1FA85","order":3693,"tags":["celebration","party"],"unicode":"🪅"},{"annotation":"nesting dolls","group":6,"hexcode":"1FA86","order":3694,"tags":["doll","nesting","russia"],"unicode":"🪆"},{"annotation":"spade suit","group":6,"hexcode":"2660","order":3696,"tags":["card","game"],"unicode":"♠️"},{"annotation":"heart suit","group":6,"hexcode":"2665","order":3698,"tags":["card","game"],"unicode":"♥️"},{"annotation":"diamond suit","group":6,"hexcode":"2666","order":3700,"tags":["card","game"],"unicode":"♦️"},{"annotation":"club suit","group":6,"hexcode":"2663","order":3702,"tags":["card","game"],"unicode":"♣️"},{"annotation":"chess pawn","group":6,"hexcode":"265F","order":3704,"tags":["chess","dupe","expendable"],"unicode":"♟️"},{"annotation":"joker","group":6,"hexcode":"1F0CF","order":3705,"tags":["card","game","wildcard"],"unicode":"🃏"},{"annotation":"mahjong red dragon","group":6,"hexcode":"1F004","order":3706,"tags":["game","mahjong","red"],"unicode":"🀄️"},{"annotation":"flower playing cards","group":6,"hexcode":"1F3B4","order":3707,"tags":["card","flower","game","japanese","playing"],"unicode":"🎴"},{"annotation":"performing arts","group":6,"hexcode":"1F3AD","order":3708,"tags":["art","mask","performing","theater","theatre"],"unicode":"🎭️"},{"annotation":"framed picture","group":6,"hexcode":"1F5BC","order":3710,"tags":["art","frame","museum","painting","picture"],"unicode":"🖼️"},{"annotation":"artist palette","group":6,"hexcode":"1F3A8","order":3711,"tags":["art","museum","painting","palette"],"unicode":"🎨"},{"annotation":"thread","group":6,"hexcode":"1F9F5","order":3712,"tags":["needle","sewing","spool","string"],"unicode":"🧵"},{"annotation":"sewing needle","group":6,"hexcode":"1FAA1","order":3713,"tags":["embroidery","needle","sewing","stitches","sutures","tailoring"],"unicode":"🪡"},{"annotation":"yarn","group":6,"hexcode":"1F9F6","order":3714,"tags":["ball","crochet","knit"],"unicode":"🧶"},{"annotation":"knot","group":6,"hexcode":"1FAA2","order":3715,"tags":["rope","tangled","tie","twine","twist"],"unicode":"🪢"},{"annotation":"glasses","group":7,"hexcode":"1F453","order":3716,"tags":["clothing","eye","eyeglasses","eyewear"],"unicode":"👓️"},{"annotation":"sunglasses","group":7,"hexcode":"1F576","order":3718,"tags":["dark","eye","eyewear","glasses"],"unicode":"🕶️"},{"annotation":"goggles","group":7,"hexcode":"1F97D","order":3719,"tags":["eye protection","swimming","welding"],"unicode":"🥽"},{"annotation":"lab coat","group":7,"hexcode":"1F97C","order":3720,"tags":["doctor","experiment","scientist"],"unicode":"🥼"},{"annotation":"safety vest","group":7,"hexcode":"1F9BA","order":3721,"tags":["emergency","safety","vest"],"unicode":"🦺"},{"annotation":"necktie","group":7,"hexcode":"1F454","order":3722,"tags":["clothing","tie"],"unicode":"👔"},{"annotation":"t-shirt","group":7,"hexcode":"1F455","order":3723,"tags":["clothing","shirt","tshirt"],"unicode":"👕"},{"annotation":"jeans","group":7,"hexcode":"1F456","order":3724,"tags":["clothing","pants","trousers"],"unicode":"👖"},{"annotation":"scarf","group":7,"hexcode":"1F9E3","order":3725,"tags":["neck"],"unicode":"🧣"},{"annotation":"gloves","group":7,"hexcode":"1F9E4","order":3726,"tags":["hand"],"unicode":"🧤"},{"annotation":"coat","group":7,"hexcode":"1F9E5","order":3727,"tags":["jacket"],"unicode":"🧥"},{"annotation":"socks","group":7,"hexcode":"1F9E6","order":3728,"tags":["stocking"],"unicode":"🧦"},{"annotation":"dress","group":7,"hexcode":"1F457","order":3729,"tags":["clothing"],"unicode":"👗"},{"annotation":"kimono","group":7,"hexcode":"1F458","order":3730,"tags":["clothing"],"unicode":"👘"},{"annotation":"sari","group":7,"hexcode":"1F97B","order":3731,"tags":["clothing","dress"],"unicode":"🥻"},{"annotation":"one-piece swimsuit","group":7,"hexcode":"1FA71","order":3732,"tags":["bathing suit"],"unicode":"🩱"},{"annotation":"briefs","group":7,"hexcode":"1FA72","order":3733,"tags":["bathing suit","one-piece","swimsuit","underwear"],"unicode":"🩲"},{"annotation":"shorts","group":7,"hexcode":"1FA73","order":3734,"tags":["bathing suit","pants","underwear"],"unicode":"🩳"},{"annotation":"bikini","group":7,"hexcode":"1F459","order":3735,"tags":["clothing","swim"],"unicode":"👙"},{"annotation":"woman’s clothes","group":7,"hexcode":"1F45A","order":3736,"tags":["clothing","woman"],"unicode":"👚"},{"annotation":"purse","group":7,"hexcode":"1F45B","order":3737,"tags":["clothing","coin"],"unicode":"👛"},{"annotation":"handbag","group":7,"hexcode":"1F45C","order":3738,"tags":["bag","clothing","purse"],"unicode":"👜"},{"annotation":"clutch bag","group":7,"hexcode":"1F45D","order":3739,"tags":["bag","clothing","pouch"],"unicode":"👝"},{"annotation":"shopping bags","group":7,"hexcode":"1F6CD","order":3741,"tags":["bag","hotel","shopping"],"unicode":"🛍️"},{"annotation":"backpack","group":7,"hexcode":"1F392","order":3742,"tags":["bag","rucksack","satchel","school"],"unicode":"🎒"},{"annotation":"thong sandal","group":7,"hexcode":"1FA74","order":3743,"tags":["beach sandals","sandals","thong sandals","thongs","zōri"],"unicode":"🩴"},{"annotation":"man’s shoe","group":7,"hexcode":"1F45E","order":3744,"tags":["clothing","man","shoe"],"unicode":"👞"},{"annotation":"running shoe","group":7,"hexcode":"1F45F","order":3745,"tags":["athletic","clothing","shoe","sneaker"],"unicode":"👟"},{"annotation":"hiking boot","group":7,"hexcode":"1F97E","order":3746,"tags":["backpacking","boot","camping","hiking"],"unicode":"🥾"},{"annotation":"flat shoe","group":7,"hexcode":"1F97F","order":3747,"tags":["ballet flat","slip-on","slipper"],"unicode":"🥿"},{"annotation":"high-heeled shoe","group":7,"hexcode":"1F460","order":3748,"tags":["clothing","heel","shoe","woman"],"unicode":"👠"},{"annotation":"woman’s sandal","group":7,"hexcode":"1F461","order":3749,"tags":["clothing","sandal","shoe","woman"],"unicode":"👡"},{"annotation":"ballet shoes","group":7,"hexcode":"1FA70","order":3750,"tags":["ballet","dance"],"unicode":"🩰"},{"annotation":"woman’s boot","group":7,"hexcode":"1F462","order":3751,"tags":["boot","clothing","shoe","woman"],"unicode":"👢"},{"annotation":"crown","group":7,"hexcode":"1F451","order":3752,"tags":["clothing","king","queen"],"unicode":"👑"},{"annotation":"woman’s hat","group":7,"hexcode":"1F452","order":3753,"tags":["clothing","hat","woman"],"unicode":"👒"},{"annotation":"top hat","group":7,"hexcode":"1F3A9","order":3754,"tags":["clothing","hat","top","tophat"],"unicode":"🎩"},{"annotation":"graduation cap","group":7,"hexcode":"1F393","order":3755,"tags":["cap","celebration","clothing","graduation","hat"],"unicode":"🎓️"},{"annotation":"billed cap","group":7,"hexcode":"1F9E2","order":3756,"tags":["baseball cap"],"unicode":"🧢"},{"annotation":"military helmet","group":7,"hexcode":"1FA96","order":3757,"tags":["army","helmet","military","soldier","warrior"],"unicode":"🪖"},{"annotation":"rescue worker’s helmet","group":7,"hexcode":"26D1","order":3759,"tags":["aid","cross","face","hat","helmet"],"unicode":"⛑️"},{"annotation":"prayer beads","group":7,"hexcode":"1F4FF","order":3760,"tags":["beads","clothing","necklace","prayer","religion"],"unicode":"📿"},{"annotation":"lipstick","group":7,"hexcode":"1F484","order":3761,"tags":["cosmetics","makeup"],"unicode":"💄"},{"annotation":"ring","group":7,"hexcode":"1F48D","order":3762,"tags":["diamond"],"unicode":"💍"},{"annotation":"gem stone","group":7,"hexcode":"1F48E","order":3763,"tags":["diamond","gem","jewel"],"unicode":"💎"},{"annotation":"muted speaker","group":7,"hexcode":"1F507","order":3764,"tags":["mute","quiet","silent","speaker"],"unicode":"🔇"},{"annotation":"speaker low volume","group":7,"hexcode":"1F508","order":3765,"tags":["soft"],"unicode":"🔈️"},{"annotation":"speaker medium volume","group":7,"hexcode":"1F509","order":3766,"tags":["medium"],"unicode":"🔉"},{"annotation":"speaker high volume","group":7,"hexcode":"1F50A","order":3767,"tags":["loud"],"unicode":"🔊"},{"annotation":"loudspeaker","group":7,"hexcode":"1F4E2","order":3768,"tags":["loud","public address"],"unicode":"📢"},{"annotation":"megaphone","group":7,"hexcode":"1F4E3","order":3769,"tags":["cheering"],"unicode":"📣"},{"annotation":"postal horn","group":7,"hexcode":"1F4EF","order":3770,"tags":["horn","post","postal"],"unicode":"📯"},{"annotation":"bell","group":7,"hexcode":"1F514","order":3771,"tags":["bell"],"unicode":"🔔"},{"annotation":"bell with slash","group":7,"hexcode":"1F515","order":3772,"tags":["bell","forbidden","mute","quiet","silent"],"unicode":"🔕"},{"annotation":"musical score","group":7,"hexcode":"1F3BC","order":3773,"tags":["music","score"],"unicode":"🎼"},{"annotation":"musical note","group":7,"hexcode":"1F3B5","order":3774,"tags":["music","note"],"unicode":"🎵"},{"annotation":"musical notes","group":7,"hexcode":"1F3B6","order":3775,"tags":["music","note","notes"],"unicode":"🎶"},{"annotation":"studio microphone","group":7,"hexcode":"1F399","order":3777,"tags":["mic","microphone","music","studio"],"unicode":"🎙️"},{"annotation":"level slider","group":7,"hexcode":"1F39A","order":3779,"tags":["level","music","slider"],"unicode":"🎚️"},{"annotation":"control knobs","group":7,"hexcode":"1F39B","order":3781,"tags":["control","knobs","music"],"unicode":"🎛️"},{"annotation":"microphone","group":7,"hexcode":"1F3A4","order":3782,"tags":["karaoke","mic"],"unicode":"🎤"},{"annotation":"headphone","group":7,"hexcode":"1F3A7","order":3783,"tags":["earbud"],"unicode":"🎧️"},{"annotation":"radio","group":7,"hexcode":"1F4FB","order":3784,"tags":["video"],"unicode":"📻️"},{"annotation":"saxophone","group":7,"hexcode":"1F3B7","order":3785,"tags":["instrument","music","sax"],"unicode":"🎷"},{"annotation":"accordion","group":7,"hexcode":"1FA97","order":3786,"tags":["concertina","squeeze box"],"unicode":"🪗"},{"annotation":"guitar","group":7,"hexcode":"1F3B8","order":3787,"tags":["instrument","music"],"unicode":"🎸"},{"annotation":"musical keyboard","group":7,"hexcode":"1F3B9","order":3788,"tags":["instrument","keyboard","music","piano"],"unicode":"🎹"},{"annotation":"trumpet","group":7,"hexcode":"1F3BA","order":3789,"tags":["instrument","music"],"unicode":"🎺"},{"annotation":"violin","group":7,"hexcode":"1F3BB","order":3790,"tags":["instrument","music"],"unicode":"🎻"},{"annotation":"banjo","group":7,"hexcode":"1FA95","order":3791,"tags":["music","stringed"],"unicode":"🪕"},{"annotation":"drum","group":7,"hexcode":"1F941","order":3792,"tags":["drumsticks","music"],"unicode":"🥁"},{"annotation":"long drum","group":7,"hexcode":"1FA98","order":3793,"tags":["beat","conga","drum","rhythm"],"unicode":"🪘"},{"annotation":"mobile phone","group":7,"hexcode":"1F4F1","order":3794,"tags":["cell","mobile","phone","telephone"],"unicode":"📱"},{"annotation":"mobile phone with arrow","group":7,"hexcode":"1F4F2","order":3795,"tags":["arrow","cell","mobile","phone","receive"],"unicode":"📲"},{"annotation":"telephone","group":7,"hexcode":"260E","order":3797,"tags":["phone"],"unicode":"☎️"},{"annotation":"telephone receiver","group":7,"hexcode":"1F4DE","order":3798,"tags":["phone","receiver","telephone"],"unicode":"📞"},{"annotation":"pager","group":7,"hexcode":"1F4DF","order":3799,"tags":["pager"],"unicode":"📟️"},{"annotation":"fax machine","group":7,"hexcode":"1F4E0","order":3800,"tags":["fax"],"unicode":"📠"},{"annotation":"battery","group":7,"hexcode":"1F50B","order":3801,"tags":["battery"],"unicode":"🔋"},{"annotation":"electric plug","group":7,"hexcode":"1F50C","order":3802,"tags":["electric","electricity","plug"],"unicode":"🔌"},{"annotation":"laptop","group":7,"hexcode":"1F4BB","order":3803,"tags":["computer","pc","personal"],"unicode":"💻️"},{"annotation":"desktop computer","group":7,"hexcode":"1F5A5","order":3805,"tags":["computer","desktop"],"unicode":"🖥️"},{"annotation":"printer","group":7,"hexcode":"1F5A8","order":3807,"tags":["computer"],"unicode":"🖨️"},{"annotation":"keyboard","group":7,"hexcode":"2328","order":3809,"tags":["computer"],"unicode":"⌨️"},{"annotation":"computer mouse","group":7,"hexcode":"1F5B1","order":3811,"tags":["computer"],"unicode":"🖱️"},{"annotation":"trackball","group":7,"hexcode":"1F5B2","order":3813,"tags":["computer"],"unicode":"🖲️"},{"annotation":"computer disk","group":7,"hexcode":"1F4BD","order":3814,"tags":["computer","disk","minidisk","optical"],"unicode":"💽"},{"annotation":"floppy disk","group":7,"hexcode":"1F4BE","order":3815,"tags":["computer","disk","floppy"],"unicode":"💾"},{"annotation":"optical disk","group":7,"hexcode":"1F4BF","order":3816,"tags":["cd","computer","disk","optical"],"unicode":"💿️"},{"annotation":"dvd","group":7,"hexcode":"1F4C0","order":3817,"tags":["blu-ray","computer","disk","optical"],"unicode":"📀"},{"annotation":"abacus","group":7,"hexcode":"1F9EE","order":3818,"tags":["calculation"],"unicode":"🧮"},{"annotation":"movie camera","group":7,"hexcode":"1F3A5","order":3819,"tags":["camera","cinema","movie"],"unicode":"🎥"},{"annotation":"film frames","group":7,"hexcode":"1F39E","order":3821,"tags":["cinema","film","frames","movie"],"unicode":"🎞️"},{"annotation":"film projector","group":7,"hexcode":"1F4FD","order":3823,"tags":["cinema","film","movie","projector","video"],"unicode":"📽️"},{"annotation":"clapper board","group":7,"hexcode":"1F3AC","order":3824,"tags":["clapper","movie"],"unicode":"🎬️"},{"annotation":"television","group":7,"hexcode":"1F4FA","order":3825,"tags":["tv","video"],"unicode":"📺️"},{"annotation":"camera","group":7,"hexcode":"1F4F7","order":3826,"tags":["video"],"unicode":"📷️"},{"annotation":"camera with flash","group":7,"hexcode":"1F4F8","order":3827,"tags":["camera","flash","video"],"unicode":"📸"},{"annotation":"video camera","group":7,"hexcode":"1F4F9","order":3828,"tags":["camera","video"],"unicode":"📹️"},{"annotation":"videocassette","group":7,"hexcode":"1F4FC","order":3829,"tags":["tape","vhs","video"],"unicode":"📼"},{"annotation":"magnifying glass tilted left","group":7,"hexcode":"1F50D","order":3830,"tags":["glass","magnifying","search","tool"],"unicode":"🔍️"},{"annotation":"magnifying glass tilted right","group":7,"hexcode":"1F50E","order":3831,"tags":["glass","magnifying","search","tool"],"unicode":"🔎"},{"annotation":"candle","group":7,"hexcode":"1F56F","order":3833,"tags":["light"],"unicode":"🕯️"},{"annotation":"light bulb","group":7,"hexcode":"1F4A1","order":3834,"tags":["bulb","comic","electric","idea","light"],"unicode":"💡"},{"annotation":"flashlight","group":7,"hexcode":"1F526","order":3835,"tags":["electric","light","tool","torch"],"unicode":"🔦"},{"annotation":"red paper lantern","group":7,"hexcode":"1F3EE","order":3836,"tags":["bar","lantern","light","red"],"unicode":"🏮"},{"annotation":"diya lamp","group":7,"hexcode":"1FA94","order":3837,"tags":["diya","lamp","oil"],"unicode":"🪔"},{"annotation":"notebook with decorative cover","group":7,"hexcode":"1F4D4","order":3838,"tags":["book","cover","decorated","notebook"],"unicode":"📔"},{"annotation":"closed book","group":7,"hexcode":"1F4D5","order":3839,"tags":["book","closed"],"unicode":"📕"},{"annotation":"open book","group":7,"hexcode":"1F4D6","order":3840,"tags":["book","open"],"unicode":"📖"},{"annotation":"green book","group":7,"hexcode":"1F4D7","order":3841,"tags":["book","green"],"unicode":"📗"},{"annotation":"blue book","group":7,"hexcode":"1F4D8","order":3842,"tags":["blue","book"],"unicode":"📘"},{"annotation":"orange book","group":7,"hexcode":"1F4D9","order":3843,"tags":["book","orange"],"unicode":"📙"},{"annotation":"books","group":7,"hexcode":"1F4DA","order":3844,"tags":["book"],"unicode":"📚️"},{"annotation":"notebook","group":7,"hexcode":"1F4D3","order":3845,"tags":["notebook"],"unicode":"📓"},{"annotation":"ledger","group":7,"hexcode":"1F4D2","order":3846,"tags":["notebook"],"unicode":"📒"},{"annotation":"page with curl","group":7,"hexcode":"1F4C3","order":3847,"tags":["curl","document","page"],"unicode":"📃"},{"annotation":"scroll","group":7,"hexcode":"1F4DC","order":3848,"tags":["paper"],"unicode":"📜"},{"annotation":"page facing up","group":7,"hexcode":"1F4C4","order":3849,"tags":["document","page"],"unicode":"📄"},{"annotation":"newspaper","group":7,"hexcode":"1F4F0","order":3850,"tags":["news","paper"],"unicode":"📰"},{"annotation":"rolled-up newspaper","group":7,"hexcode":"1F5DE","order":3852,"tags":["news","newspaper","paper","rolled"],"unicode":"🗞️"},{"annotation":"bookmark tabs","group":7,"hexcode":"1F4D1","order":3853,"tags":["bookmark","mark","marker","tabs"],"unicode":"📑"},{"annotation":"bookmark","group":7,"hexcode":"1F516","order":3854,"tags":["mark"],"unicode":"🔖"},{"annotation":"label","group":7,"hexcode":"1F3F7","order":3856,"tags":["label"],"unicode":"🏷️"},{"annotation":"money bag","group":7,"hexcode":"1F4B0","order":3857,"tags":["bag","dollar","money","moneybag"],"unicode":"💰️"},{"annotation":"coin","group":7,"hexcode":"1FA99","order":3858,"tags":["gold","metal","money","silver","treasure"],"unicode":"🪙"},{"annotation":"yen banknote","group":7,"hexcode":"1F4B4","order":3859,"tags":["banknote","bill","currency","money","note","yen"],"unicode":"💴"},{"annotation":"dollar banknote","group":7,"hexcode":"1F4B5","order":3860,"tags":["banknote","bill","currency","dollar","money","note"],"unicode":"💵"},{"annotation":"euro banknote","group":7,"hexcode":"1F4B6","order":3861,"tags":["banknote","bill","currency","euro","money","note"],"unicode":"💶"},{"annotation":"pound banknote","group":7,"hexcode":"1F4B7","order":3862,"tags":["banknote","bill","currency","money","note","pound"],"unicode":"💷"},{"annotation":"money with wings","group":7,"hexcode":"1F4B8","order":3863,"tags":["banknote","bill","fly","money","wings"],"unicode":"💸"},{"annotation":"credit card","group":7,"hexcode":"1F4B3","order":3864,"tags":["card","credit","money"],"unicode":"💳️"},{"annotation":"receipt","group":7,"hexcode":"1F9FE","order":3865,"tags":["accounting","bookkeeping","evidence","proof"],"unicode":"🧾"},{"annotation":"chart increasing with yen","group":7,"hexcode":"1F4B9","order":3866,"tags":["chart","graph","growth","money","yen"],"unicode":"💹"},{"annotation":"envelope","group":7,"hexcode":"2709","order":3868,"tags":["email","letter"],"unicode":"✉️"},{"annotation":"e-mail","group":7,"hexcode":"1F4E7","order":3869,"tags":["email","letter","mail"],"unicode":"📧"},{"annotation":"incoming envelope","group":7,"hexcode":"1F4E8","order":3870,"tags":["e-mail","email","envelope","incoming","letter","receive"],"unicode":"📨"},{"annotation":"envelope with arrow","group":7,"hexcode":"1F4E9","order":3871,"tags":["arrow","e-mail","email","envelope","outgoing"],"unicode":"📩"},{"annotation":"outbox tray","group":7,"hexcode":"1F4E4","order":3872,"tags":["box","letter","mail","outbox","sent","tray"],"unicode":"📤️"},{"annotation":"inbox tray","group":7,"hexcode":"1F4E5","order":3873,"tags":["box","inbox","letter","mail","receive","tray"],"unicode":"📥️"},{"annotation":"package","group":7,"hexcode":"1F4E6","order":3874,"tags":["box","parcel"],"unicode":"📦️"},{"annotation":"closed mailbox with raised flag","group":7,"hexcode":"1F4EB","order":3875,"tags":["closed","mail","mailbox","postbox"],"unicode":"📫️"},{"annotation":"closed mailbox with lowered flag","group":7,"hexcode":"1F4EA","order":3876,"tags":["closed","lowered","mail","mailbox","postbox"],"unicode":"📪️"},{"annotation":"open mailbox with raised flag","group":7,"hexcode":"1F4EC","order":3877,"tags":["mail","mailbox","open","postbox"],"unicode":"📬️"},{"annotation":"open mailbox with lowered flag","group":7,"hexcode":"1F4ED","order":3878,"tags":["lowered","mail","mailbox","open","postbox"],"unicode":"📭️"},{"annotation":"postbox","group":7,"hexcode":"1F4EE","order":3879,"tags":["mail","mailbox"],"unicode":"📮"},{"annotation":"ballot box with ballot","group":7,"hexcode":"1F5F3","order":3881,"tags":["ballot","box"],"unicode":"🗳️"},{"annotation":"pencil","group":7,"hexcode":"270F","order":3883,"tags":["pencil"],"unicode":"✏️"},{"annotation":"black nib","group":7,"hexcode":"2712","order":3885,"tags":["nib","pen"],"unicode":"✒️"},{"annotation":"fountain pen","group":7,"hexcode":"1F58B","order":3887,"tags":["fountain","pen"],"unicode":"🖋️"},{"annotation":"pen","group":7,"hexcode":"1F58A","order":3889,"tags":["ballpoint"],"unicode":"🖊️"},{"annotation":"paintbrush","group":7,"hexcode":"1F58C","order":3891,"tags":["painting"],"unicode":"🖌️"},{"annotation":"crayon","group":7,"hexcode":"1F58D","order":3893,"tags":["crayon"],"unicode":"🖍️"},{"annotation":"memo","group":7,"hexcode":"1F4DD","order":3894,"tags":["pencil"],"unicode":"📝"},{"annotation":"briefcase","group":7,"hexcode":"1F4BC","order":3895,"tags":["briefcase"],"unicode":"💼"},{"annotation":"file folder","group":7,"hexcode":"1F4C1","order":3896,"tags":["file","folder"],"unicode":"📁"},{"annotation":"open file folder","group":7,"hexcode":"1F4C2","order":3897,"tags":["file","folder","open"],"unicode":"📂"},{"annotation":"card index dividers","group":7,"hexcode":"1F5C2","order":3899,"tags":["card","dividers","index"],"unicode":"🗂️"},{"annotation":"calendar","group":7,"hexcode":"1F4C5","order":3900,"tags":["date"],"unicode":"📅"},{"annotation":"tear-off calendar","group":7,"hexcode":"1F4C6","order":3901,"tags":["calendar"],"unicode":"📆"},{"annotation":"spiral notepad","group":7,"hexcode":"1F5D2","order":3903,"tags":["note","pad","spiral"],"unicode":"🗒️"},{"annotation":"spiral calendar","group":7,"hexcode":"1F5D3","order":3905,"tags":["calendar","pad","spiral"],"unicode":"🗓️"},{"annotation":"card index","group":7,"hexcode":"1F4C7","order":3906,"tags":["card","index","rolodex"],"unicode":"📇"},{"annotation":"chart increasing","group":7,"hexcode":"1F4C8","order":3907,"tags":["chart","graph","growth","trend","upward"],"unicode":"📈"},{"annotation":"chart decreasing","group":7,"hexcode":"1F4C9","order":3908,"tags":["chart","down","graph","trend"],"unicode":"📉"},{"annotation":"bar chart","group":7,"hexcode":"1F4CA","order":3909,"tags":["bar","chart","graph"],"unicode":"📊"},{"annotation":"clipboard","group":7,"hexcode":"1F4CB","order":3910,"tags":["clipboard"],"unicode":"📋️"},{"annotation":"pushpin","group":7,"hexcode":"1F4CC","order":3911,"tags":["pin"],"unicode":"📌"},{"annotation":"round pushpin","group":7,"hexcode":"1F4CD","order":3912,"tags":["pin","pushpin"],"unicode":"📍"},{"annotation":"paperclip","group":7,"hexcode":"1F4CE","order":3913,"tags":["paperclip"],"unicode":"📎"},{"annotation":"linked paperclips","group":7,"hexcode":"1F587","order":3915,"tags":["link","paperclip"],"unicode":"🖇️"},{"annotation":"straight ruler","group":7,"hexcode":"1F4CF","order":3916,"tags":["ruler","straight edge"],"unicode":"📏"},{"annotation":"triangular ruler","group":7,"hexcode":"1F4D0","order":3917,"tags":["ruler","set","triangle"],"unicode":"📐"},{"annotation":"scissors","group":7,"hexcode":"2702","order":3919,"tags":["cutting","tool"],"unicode":"✂️"},{"annotation":"card file box","group":7,"hexcode":"1F5C3","order":3921,"tags":["box","card","file"],"unicode":"🗃️"},{"annotation":"file cabinet","group":7,"hexcode":"1F5C4","order":3923,"tags":["cabinet","file","filing"],"unicode":"🗄️"},{"annotation":"wastebasket","group":7,"hexcode":"1F5D1","order":3925,"tags":["wastebasket"],"unicode":"🗑️"},{"annotation":"locked","group":7,"hexcode":"1F512","order":3926,"tags":["closed"],"unicode":"🔒️"},{"annotation":"unlocked","group":7,"hexcode":"1F513","order":3927,"tags":["lock","open","unlock"],"unicode":"🔓️"},{"annotation":"locked with pen","group":7,"hexcode":"1F50F","order":3928,"tags":["ink","lock","nib","pen","privacy"],"unicode":"🔏"},{"annotation":"locked with key","group":7,"hexcode":"1F510","order":3929,"tags":["closed","key","lock","secure"],"unicode":"🔐"},{"annotation":"key","group":7,"hexcode":"1F511","order":3930,"tags":["lock","password"],"unicode":"🔑"},{"annotation":"old key","group":7,"hexcode":"1F5DD","order":3932,"tags":["clue","key","lock","old"],"unicode":"🗝️"},{"annotation":"hammer","group":7,"hexcode":"1F528","order":3933,"tags":["tool"],"unicode":"🔨"},{"annotation":"axe","group":7,"hexcode":"1FA93","order":3934,"tags":["chop","hatchet","split","wood"],"unicode":"🪓"},{"annotation":"pick","group":7,"hexcode":"26CF","order":3936,"tags":["mining","tool"],"unicode":"⛏️"},{"annotation":"hammer and pick","group":7,"hexcode":"2692","order":3938,"tags":["hammer","pick","tool"],"unicode":"⚒️"},{"annotation":"hammer and wrench","group":7,"hexcode":"1F6E0","order":3940,"tags":["hammer","spanner","tool","wrench"],"unicode":"🛠️"},{"annotation":"dagger","group":7,"hexcode":"1F5E1","order":3942,"tags":["knife","weapon"],"unicode":"🗡️"},{"annotation":"crossed swords","group":7,"hexcode":"2694","order":3944,"tags":["crossed","swords","weapon"],"unicode":"⚔️"},{"annotation":"water pistol","group":7,"hexcode":"1F52B","order":3945,"tags":["gun","handgun","pistol","revolver","tool","water","weapon"],"unicode":"🔫"},{"annotation":"boomerang","group":7,"hexcode":"1FA83","order":3946,"tags":["australia","rebound","repercussion"],"unicode":"🪃"},{"annotation":"bow and arrow","group":7,"hexcode":"1F3F9","order":3947,"tags":["archer","arrow","bow","sagittarius","zodiac"],"unicode":"🏹"},{"annotation":"shield","group":7,"hexcode":"1F6E1","order":3949,"tags":["weapon"],"unicode":"🛡️"},{"annotation":"carpentry saw","group":7,"hexcode":"1FA9A","order":3950,"tags":["carpenter","lumber","saw","tool"],"unicode":"🪚"},{"annotation":"wrench","group":7,"hexcode":"1F527","order":3951,"tags":["spanner","tool"],"unicode":"🔧"},{"annotation":"screwdriver","group":7,"hexcode":"1FA9B","order":3952,"tags":["screw","tool"],"unicode":"🪛"},{"annotation":"nut and bolt","group":7,"hexcode":"1F529","order":3953,"tags":["bolt","nut","tool"],"unicode":"🔩"},{"annotation":"gear","group":7,"hexcode":"2699","order":3955,"tags":["cog","cogwheel","tool"],"unicode":"⚙️"},{"annotation":"clamp","group":7,"hexcode":"1F5DC","order":3957,"tags":["compress","tool","vice"],"unicode":"🗜️"},{"annotation":"balance scale","group":7,"hexcode":"2696","order":3959,"tags":["balance","justice","libra","scale","zodiac"],"unicode":"⚖️"},{"annotation":"white cane","group":7,"hexcode":"1F9AF","order":3960,"tags":["accessibility","blind"],"unicode":"🦯"},{"annotation":"link","group":7,"hexcode":"1F517","order":3961,"tags":["link"],"unicode":"🔗"},{"annotation":"chains","group":7,"hexcode":"26D3","order":3963,"tags":["chain"],"unicode":"⛓️"},{"annotation":"hook","group":7,"hexcode":"1FA9D","order":3964,"tags":["catch","crook","curve","ensnare","selling point"],"unicode":"🪝"},{"annotation":"toolbox","group":7,"hexcode":"1F9F0","order":3965,"tags":["chest","mechanic","tool"],"unicode":"🧰"},{"annotation":"magnet","group":7,"hexcode":"1F9F2","order":3966,"tags":["attraction","horseshoe","magnetic"],"unicode":"🧲"},{"annotation":"ladder","group":7,"hexcode":"1FA9C","order":3967,"tags":["climb","rung","step"],"unicode":"🪜"},{"annotation":"alembic","group":7,"hexcode":"2697","order":3969,"tags":["chemistry","tool"],"unicode":"⚗️"},{"annotation":"test tube","group":7,"hexcode":"1F9EA","order":3970,"tags":["chemist","chemistry","experiment","lab","science"],"unicode":"🧪"},{"annotation":"petri dish","group":7,"hexcode":"1F9EB","order":3971,"tags":["bacteria","biologist","biology","culture","lab"],"unicode":"🧫"},{"annotation":"dna","group":7,"hexcode":"1F9EC","order":3972,"tags":["biologist","evolution","gene","genetics","life"],"unicode":"🧬"},{"annotation":"microscope","group":7,"hexcode":"1F52C","order":3973,"tags":["science","tool"],"unicode":"🔬"},{"annotation":"telescope","group":7,"hexcode":"1F52D","order":3974,"tags":["science","tool"],"unicode":"🔭"},{"annotation":"satellite antenna","group":7,"hexcode":"1F4E1","order":3975,"tags":["antenna","dish","satellite"],"unicode":"📡"},{"annotation":"syringe","group":7,"hexcode":"1F489","order":3976,"tags":["medicine","needle","shot","sick"],"unicode":"💉"},{"annotation":"drop of blood","group":7,"hexcode":"1FA78","order":3977,"tags":["bleed","blood donation","injury","medicine","menstruation"],"unicode":"🩸"},{"annotation":"pill","group":7,"hexcode":"1F48A","order":3978,"tags":["doctor","medicine","sick"],"unicode":"💊"},{"annotation":"adhesive bandage","group":7,"hexcode":"1FA79","order":3979,"tags":["bandage"],"unicode":"🩹"},{"annotation":"stethoscope","group":7,"hexcode":"1FA7A","order":3980,"tags":["doctor","heart","medicine"],"unicode":"🩺"},{"annotation":"door","group":7,"hexcode":"1F6AA","order":3981,"tags":["door"],"unicode":"🚪"},{"annotation":"elevator","group":7,"hexcode":"1F6D7","order":3982,"tags":["accessibility","hoist","lift"],"unicode":"🛗"},{"annotation":"mirror","group":7,"hexcode":"1FA9E","order":3983,"tags":["reflection","reflector","speculum"],"unicode":"🪞"},{"annotation":"window","group":7,"hexcode":"1FA9F","order":3984,"tags":["frame","fresh air","opening","transparent","view"],"unicode":"🪟"},{"annotation":"bed","group":7,"hexcode":"1F6CF","order":3986,"tags":["hotel","sleep"],"unicode":"🛏️"},{"annotation":"couch and lamp","group":7,"hexcode":"1F6CB","order":3988,"tags":["couch","hotel","lamp"],"unicode":"🛋️"},{"annotation":"chair","group":7,"hexcode":"1FA91","order":3989,"tags":["seat","sit"],"unicode":"🪑"},{"annotation":"toilet","group":7,"hexcode":"1F6BD","order":3990,"tags":["toilet"],"unicode":"🚽"},{"annotation":"plunger","group":7,"hexcode":"1FAA0","order":3991,"tags":["force cup","plumber","suction","toilet"],"unicode":"🪠"},{"annotation":"shower","group":7,"hexcode":"1F6BF","order":3992,"tags":["water"],"unicode":"🚿"},{"annotation":"bathtub","group":7,"hexcode":"1F6C1","order":3993,"tags":["bath"],"unicode":"🛁"},{"annotation":"mouse trap","group":7,"hexcode":"1FAA4","order":3994,"tags":["bait","mousetrap","snare","trap"],"unicode":"🪤"},{"annotation":"razor","group":7,"hexcode":"1FA92","order":3995,"tags":["sharp","shave"],"unicode":"🪒"},{"annotation":"lotion bottle","group":7,"hexcode":"1F9F4","order":3996,"tags":["lotion","moisturizer","shampoo","sunscreen"],"unicode":"🧴"},{"annotation":"safety pin","group":7,"hexcode":"1F9F7","order":3997,"tags":["diaper","punk rock"],"unicode":"🧷"},{"annotation":"broom","group":7,"hexcode":"1F9F9","order":3998,"tags":["cleaning","sweeping","witch"],"unicode":"🧹"},{"annotation":"basket","group":7,"hexcode":"1F9FA","order":3999,"tags":["farming","laundry","picnic"],"unicode":"🧺"},{"annotation":"roll of paper","group":7,"hexcode":"1F9FB","order":4000,"tags":["paper towels","toilet paper"],"unicode":"🧻"},{"annotation":"bucket","group":7,"hexcode":"1FAA3","order":4001,"tags":["cask","pail","vat"],"unicode":"🪣"},{"annotation":"soap","group":7,"hexcode":"1F9FC","order":4002,"tags":["bar","bathing","cleaning","lather","soapdish"],"unicode":"🧼"},{"annotation":"toothbrush","group":7,"hexcode":"1FAA5","order":4003,"tags":["bathroom","brush","clean","dental","hygiene","teeth"],"unicode":"🪥"},{"annotation":"sponge","group":7,"hexcode":"1F9FD","order":4004,"tags":["absorbing","cleaning","porous"],"unicode":"🧽"},{"annotation":"fire extinguisher","group":7,"hexcode":"1F9EF","order":4005,"tags":["extinguish","fire","quench"],"unicode":"🧯"},{"annotation":"shopping cart","group":7,"hexcode":"1F6D2","order":4006,"tags":["cart","shopping","trolley"],"unicode":"🛒"},{"annotation":"cigarette","group":7,"hexcode":"1F6AC","order":4007,"tags":["smoking"],"unicode":"🚬"},{"annotation":"coffin","group":7,"hexcode":"26B0","order":4009,"tags":["death"],"unicode":"⚰️"},{"annotation":"headstone","group":7,"hexcode":"1FAA6","order":4010,"tags":["cemetery","grave","graveyard","tombstone"],"unicode":"🪦"},{"annotation":"funeral urn","group":7,"hexcode":"26B1","order":4012,"tags":["ashes","death","funeral","urn"],"unicode":"⚱️"},{"annotation":"moai","group":7,"hexcode":"1F5FF","order":4013,"tags":["face","moyai","statue"],"unicode":"🗿"},{"annotation":"placard","group":7,"hexcode":"1FAA7","order":4014,"tags":["demonstration","picket","protest","sign"],"unicode":"🪧"},{"annotation":"ATM sign","group":8,"hexcode":"1F3E7","order":4015,"tags":["atm","atm sign","automated","bank","teller"],"unicode":"🏧"},{"annotation":"litter in bin sign","group":8,"hexcode":"1F6AE","order":4016,"tags":["litter","litter bin"],"unicode":"🚮"},{"annotation":"potable water","group":8,"hexcode":"1F6B0","order":4017,"tags":["drinking","potable","water"],"unicode":"🚰"},{"annotation":"wheelchair symbol","group":8,"hexcode":"267F","order":4018,"tags":["access"],"unicode":"♿️"},{"annotation":"men’s room","group":8,"hexcode":"1F6B9","order":4019,"tags":["lavatory","man","restroom","wc"],"unicode":"🚹️"},{"annotation":"women’s room","group":8,"hexcode":"1F6BA","order":4020,"tags":["lavatory","restroom","wc","woman"],"unicode":"🚺️"},{"annotation":"restroom","group":8,"hexcode":"1F6BB","order":4021,"tags":["lavatory","wc"],"unicode":"🚻"},{"annotation":"baby symbol","group":8,"hexcode":"1F6BC","order":4022,"tags":["baby","changing"],"unicode":"🚼️"},{"annotation":"water closet","group":8,"hexcode":"1F6BE","order":4023,"tags":["closet","lavatory","restroom","water","wc"],"unicode":"🚾"},{"annotation":"passport control","group":8,"hexcode":"1F6C2","order":4024,"tags":["control","passport"],"unicode":"🛂"},{"annotation":"customs","group":8,"hexcode":"1F6C3","order":4025,"tags":["customs"],"unicode":"🛃"},{"annotation":"baggage claim","group":8,"hexcode":"1F6C4","order":4026,"tags":["baggage","claim"],"unicode":"🛄"},{"annotation":"left luggage","group":8,"hexcode":"1F6C5","order":4027,"tags":["baggage","locker","luggage"],"unicode":"🛅"},{"annotation":"warning","group":8,"hexcode":"26A0","order":4029,"tags":["warning"],"unicode":"⚠️"},{"annotation":"children crossing","group":8,"hexcode":"1F6B8","order":4030,"tags":["child","crossing","pedestrian","traffic"],"unicode":"🚸"},{"annotation":"no entry","group":8,"hexcode":"26D4","order":4031,"tags":["entry","forbidden","no","not","prohibited","traffic"],"unicode":"⛔️"},{"annotation":"prohibited","group":8,"hexcode":"1F6AB","order":4032,"tags":["entry","forbidden","no","not"],"unicode":"🚫"},{"annotation":"no bicycles","group":8,"hexcode":"1F6B3","order":4033,"tags":["bicycle","bike","forbidden","no","prohibited"],"unicode":"🚳"},{"annotation":"no smoking","group":8,"hexcode":"1F6AD","order":4034,"tags":["forbidden","no","not","prohibited","smoking"],"unicode":"🚭️"},{"annotation":"no littering","group":8,"hexcode":"1F6AF","order":4035,"tags":["forbidden","litter","no","not","prohibited"],"unicode":"🚯"},{"annotation":"non-potable water","group":8,"hexcode":"1F6B1","order":4036,"tags":["non-drinking","non-potable","water"],"unicode":"🚱"},{"annotation":"no pedestrians","group":8,"hexcode":"1F6B7","order":4037,"tags":["forbidden","no","not","pedestrian","prohibited"],"unicode":"🚷"},{"annotation":"no mobile phones","group":8,"hexcode":"1F4F5","order":4038,"tags":["cell","forbidden","mobile","no","phone"],"unicode":"📵"},{"annotation":"no one under eighteen","group":8,"hexcode":"1F51E","order":4039,"tags":["18","age restriction","eighteen","prohibited","underage"],"unicode":"🔞"},{"annotation":"radioactive","group":8,"hexcode":"2622","order":4041,"tags":["sign"],"unicode":"☢️"},{"annotation":"biohazard","group":8,"hexcode":"2623","order":4043,"tags":["sign"],"unicode":"☣️"},{"annotation":"up arrow","group":8,"hexcode":"2B06","order":4045,"tags":["arrow","cardinal","direction","north"],"unicode":"⬆️"},{"annotation":"up-right arrow","group":8,"hexcode":"2197","order":4047,"tags":["arrow","direction","intercardinal","northeast"],"unicode":"↗️"},{"annotation":"right arrow","group":8,"hexcode":"27A1","order":4049,"tags":["arrow","cardinal","direction","east"],"unicode":"➡️"},{"annotation":"down-right arrow","group":8,"hexcode":"2198","order":4051,"tags":["arrow","direction","intercardinal","southeast"],"unicode":"↘️"},{"annotation":"down arrow","group":8,"hexcode":"2B07","order":4053,"tags":["arrow","cardinal","direction","down","south"],"unicode":"⬇️"},{"annotation":"down-left arrow","group":8,"hexcode":"2199","order":4055,"tags":["arrow","direction","intercardinal","southwest"],"unicode":"↙️"},{"annotation":"left arrow","group":8,"hexcode":"2B05","order":4057,"tags":["arrow","cardinal","direction","west"],"unicode":"⬅️"},{"annotation":"up-left arrow","group":8,"hexcode":"2196","order":4059,"tags":["arrow","direction","intercardinal","northwest"],"unicode":"↖️"},{"annotation":"up-down arrow","group":8,"hexcode":"2195","order":4061,"tags":["arrow"],"unicode":"↕️"},{"annotation":"left-right arrow","group":8,"hexcode":"2194","order":4063,"tags":["arrow"],"unicode":"↔️"},{"annotation":"right arrow curving left","group":8,"hexcode":"21A9","order":4065,"tags":["arrow"],"unicode":"↩️"},{"annotation":"left arrow curving right","group":8,"hexcode":"21AA","order":4067,"tags":["arrow"],"unicode":"↪️"},{"annotation":"right arrow curving up","group":8,"hexcode":"2934","order":4069,"tags":["arrow"],"unicode":"⤴️"},{"annotation":"right arrow curving down","group":8,"hexcode":"2935","order":4071,"tags":["arrow","down"],"unicode":"⤵️"},{"annotation":"clockwise vertical arrows","group":8,"hexcode":"1F503","order":4072,"tags":["arrow","clockwise","reload"],"unicode":"🔃"},{"annotation":"counterclockwise arrows button","group":8,"hexcode":"1F504","order":4073,"tags":["anticlockwise","arrow","counterclockwise","withershins"],"unicode":"🔄"},{"annotation":"BACK arrow","group":8,"hexcode":"1F519","order":4074,"tags":["arrow","back","back arrow"],"unicode":"🔙"},{"annotation":"END arrow","group":8,"hexcode":"1F51A","order":4075,"tags":["arrow","end","end arrow"],"unicode":"🔚"},{"annotation":"ON! arrow","group":8,"hexcode":"1F51B","order":4076,"tags":["arrow","mark","on","on! arrow"],"unicode":"🔛"},{"annotation":"SOON arrow","group":8,"hexcode":"1F51C","order":4077,"tags":["arrow","soon","soon arrow"],"unicode":"🔜"},{"annotation":"TOP arrow","group":8,"hexcode":"1F51D","order":4078,"tags":["arrow","top","top arrow","up"],"unicode":"🔝"},{"annotation":"place of worship","group":8,"hexcode":"1F6D0","order":4079,"tags":["religion","worship"],"unicode":"🛐"},{"annotation":"atom symbol","group":8,"hexcode":"269B","order":4081,"tags":["atheist","atom"],"unicode":"⚛️"},{"annotation":"om","group":8,"hexcode":"1F549","order":4083,"tags":["hindu","religion"],"unicode":"🕉️"},{"annotation":"star of David","group":8,"hexcode":"2721","order":4085,"tags":["david","jew","jewish","religion","star","star of david"],"unicode":"✡️"},{"annotation":"wheel of dharma","group":8,"hexcode":"2638","order":4087,"tags":["buddhist","dharma","religion","wheel"],"unicode":"☸️"},{"annotation":"yin yang","group":8,"hexcode":"262F","order":4089,"tags":["religion","tao","taoist","yang","yin"],"unicode":"☯️"},{"annotation":"latin cross","group":8,"hexcode":"271D","order":4091,"tags":["christian","cross","religion"],"unicode":"✝️"},{"annotation":"orthodox cross","group":8,"hexcode":"2626","order":4093,"tags":["christian","cross","religion"],"unicode":"☦️"},{"annotation":"star and crescent","group":8,"hexcode":"262A","order":4095,"tags":["islam","muslim","religion"],"unicode":"☪️"},{"annotation":"peace symbol","group":8,"hexcode":"262E","order":4097,"tags":["peace"],"unicode":"☮️"},{"annotation":"menorah","group":8,"hexcode":"1F54E","order":4098,"tags":["candelabrum","candlestick","religion"],"unicode":"🕎"},{"annotation":"dotted six-pointed star","group":8,"hexcode":"1F52F","order":4099,"tags":["fortune","star"],"unicode":"🔯"},{"annotation":"Aries","group":8,"hexcode":"2648","order":4100,"tags":["aries","ram","zodiac"],"unicode":"♈️"},{"annotation":"Taurus","group":8,"hexcode":"2649","order":4101,"tags":["bull","ox","taurus","zodiac"],"unicode":"♉️"},{"annotation":"Gemini","group":8,"hexcode":"264A","order":4102,"tags":["gemini","twins","zodiac"],"unicode":"♊️"},{"annotation":"Cancer","group":8,"hexcode":"264B","order":4103,"tags":["cancer","crab","zodiac"],"unicode":"♋️"},{"annotation":"Leo","group":8,"hexcode":"264C","order":4104,"tags":["leo","lion","zodiac"],"unicode":"♌️"},{"annotation":"Virgo","group":8,"hexcode":"264D","order":4105,"tags":["virgo","zodiac"],"unicode":"♍️"},{"annotation":"Libra","group":8,"hexcode":"264E","order":4106,"tags":["balance","justice","libra","scales","zodiac"],"unicode":"♎️"},{"annotation":"Scorpio","group":8,"hexcode":"264F","order":4107,"tags":["scorpio","scorpion","scorpius","zodiac"],"unicode":"♏️"},{"annotation":"Sagittarius","group":8,"hexcode":"2650","order":4108,"tags":["archer","sagittarius","zodiac"],"unicode":"♐️"},{"annotation":"Capricorn","group":8,"hexcode":"2651","order":4109,"tags":["capricorn","goat","zodiac"],"unicode":"♑️"},{"annotation":"Aquarius","group":8,"hexcode":"2652","order":4110,"tags":["aquarius","bearer","water","zodiac"],"unicode":"♒️"},{"annotation":"Pisces","group":8,"hexcode":"2653","order":4111,"tags":["fish","pisces","zodiac"],"unicode":"♓️"},{"annotation":"Ophiuchus","group":8,"hexcode":"26CE","order":4112,"tags":["bearer","ophiuchus","serpent","snake","zodiac"],"unicode":"⛎"},{"annotation":"shuffle tracks button","group":8,"hexcode":"1F500","order":4113,"tags":["arrow","crossed"],"unicode":"🔀"},{"annotation":"repeat button","group":8,"hexcode":"1F501","order":4114,"tags":["arrow","clockwise","repeat"],"unicode":"🔁"},{"annotation":"repeat single button","group":8,"hexcode":"1F502","order":4115,"tags":["arrow","clockwise","once"],"unicode":"🔂"},{"annotation":"play button","group":8,"hexcode":"25B6","order":4117,"tags":["arrow","play","right","triangle"],"unicode":"▶️"},{"annotation":"fast-forward button","group":8,"hexcode":"23E9","order":4118,"tags":["arrow","double","fast","forward"],"unicode":"⏩️"},{"annotation":"next track button","group":8,"hexcode":"23ED","order":4120,"tags":["arrow","next scene","next track","triangle"],"unicode":"⏭️"},{"annotation":"play or pause button","group":8,"hexcode":"23EF","order":4122,"tags":["arrow","pause","play","right","triangle"],"unicode":"⏯️"},{"annotation":"reverse button","group":8,"hexcode":"25C0","order":4124,"tags":["arrow","left","reverse","triangle"],"unicode":"◀️"},{"annotation":"fast reverse button","group":8,"hexcode":"23EA","order":4125,"tags":["arrow","double","rewind"],"unicode":"⏪️"},{"annotation":"last track button","group":8,"hexcode":"23EE","order":4127,"tags":["arrow","previous scene","previous track","triangle"],"unicode":"⏮️"},{"annotation":"upwards button","group":8,"hexcode":"1F53C","order":4128,"tags":["arrow","button","red"],"unicode":"🔼"},{"annotation":"fast up button","group":8,"hexcode":"23EB","order":4129,"tags":["arrow","double"],"unicode":"⏫"},{"annotation":"downwards button","group":8,"hexcode":"1F53D","order":4130,"tags":["arrow","button","down","red"],"unicode":"🔽"},{"annotation":"fast down button","group":8,"hexcode":"23EC","order":4131,"tags":["arrow","double","down"],"unicode":"⏬"},{"annotation":"pause button","group":8,"hexcode":"23F8","order":4133,"tags":["bar","double","pause","vertical"],"unicode":"⏸️"},{"annotation":"stop button","group":8,"hexcode":"23F9","order":4135,"tags":["square","stop"],"unicode":"⏹️"},{"annotation":"record button","group":8,"hexcode":"23FA","order":4137,"tags":["circle","record"],"unicode":"⏺️"},{"annotation":"eject button","group":8,"hexcode":"23CF","order":4139,"tags":["eject"],"unicode":"⏏️"},{"annotation":"cinema","group":8,"hexcode":"1F3A6","order":4140,"tags":["camera","film","movie"],"unicode":"🎦"},{"annotation":"dim button","group":8,"hexcode":"1F505","order":4141,"tags":["brightness","dim","low"],"unicode":"🔅"},{"annotation":"bright button","group":8,"hexcode":"1F506","order":4142,"tags":["bright","brightness"],"unicode":"🔆"},{"annotation":"antenna bars","group":8,"hexcode":"1F4F6","order":4143,"tags":["antenna","bar","cell","mobile","phone"],"unicode":"📶"},{"annotation":"vibration mode","group":8,"hexcode":"1F4F3","order":4144,"tags":["cell","mobile","mode","phone","telephone","vibration"],"unicode":"📳"},{"annotation":"mobile phone off","group":8,"hexcode":"1F4F4","order":4145,"tags":["cell","mobile","off","phone","telephone"],"unicode":"📴"},{"annotation":"female sign","group":8,"hexcode":"2640","order":4147,"tags":["woman"],"unicode":"♀️"},{"annotation":"male sign","group":8,"hexcode":"2642","order":4149,"tags":["man"],"unicode":"♂️"},{"annotation":"transgender symbol","group":8,"hexcode":"26A7","order":4151,"tags":["transgender"],"unicode":"⚧️"},{"annotation":"multiply","group":8,"hexcode":"2716","order":4153,"tags":["cancel","multiplication","sign","x","×"],"unicode":"✖️"},{"annotation":"plus","group":8,"hexcode":"2795","order":4154,"tags":["+","math","sign"],"unicode":"➕"},{"annotation":"minus","group":8,"hexcode":"2796","order":4155,"tags":["-","math","sign","−"],"unicode":"➖"},{"annotation":"divide","group":8,"hexcode":"2797","order":4156,"tags":["division","math","sign","÷"],"unicode":"➗"},{"annotation":"infinity","group":8,"hexcode":"267E","order":4158,"tags":["forever","unbounded","universal"],"unicode":"♾️"},{"annotation":"double exclamation mark","group":8,"hexcode":"203C","order":4160,"tags":["!","!!","bangbang","exclamation","mark"],"unicode":"‼️"},{"annotation":"exclamation question mark","group":8,"hexcode":"2049","order":4162,"tags":["!","!?","?","exclamation","interrobang","mark","punctuation","question"],"unicode":"⁉️"},{"annotation":"red question mark","group":8,"hexcode":"2753","order":4163,"tags":["?","mark","punctuation","question"],"unicode":"❓️"},{"annotation":"white question mark","group":8,"hexcode":"2754","order":4164,"tags":["?","mark","outlined","punctuation","question"],"unicode":"❔"},{"annotation":"white exclamation mark","group":8,"hexcode":"2755","order":4165,"tags":["!","exclamation","mark","outlined","punctuation"],"unicode":"❕"},{"annotation":"red exclamation mark","group":8,"hexcode":"2757","order":4166,"tags":["!","exclamation","mark","punctuation"],"unicode":"❗️"},{"annotation":"wavy dash","group":8,"hexcode":"3030","order":4168,"tags":["dash","punctuation","wavy"],"unicode":"〰️"},{"annotation":"currency exchange","group":8,"hexcode":"1F4B1","order":4169,"tags":["bank","currency","exchange","money"],"unicode":"💱"},{"annotation":"heavy dollar sign","group":8,"hexcode":"1F4B2","order":4170,"tags":["currency","dollar","money"],"unicode":"💲"},{"annotation":"medical symbol","group":8,"hexcode":"2695","order":4172,"tags":["aesculapius","medicine","staff"],"unicode":"⚕️"},{"annotation":"recycling symbol","group":8,"hexcode":"267B","order":4174,"tags":["recycle"],"unicode":"♻️"},{"annotation":"fleur-de-lis","group":8,"hexcode":"269C","order":4176,"tags":["fleur-de-lis"],"unicode":"⚜️"},{"annotation":"trident emblem","group":8,"hexcode":"1F531","order":4177,"tags":["anchor","emblem","ship","tool","trident"],"unicode":"🔱"},{"annotation":"name badge","group":8,"hexcode":"1F4DB","order":4178,"tags":["badge","name"],"unicode":"📛"},{"annotation":"Japanese symbol for beginner","group":8,"hexcode":"1F530","order":4179,"tags":["beginner","chevron","japanese","japanese symbol for beginner","leaf"],"unicode":"🔰"},{"annotation":"hollow red circle","group":8,"hexcode":"2B55","order":4180,"tags":["circle","large","o","red"],"unicode":"⭕️"},{"annotation":"check mark button","group":8,"hexcode":"2705","order":4181,"tags":["button","check","mark","✓"],"unicode":"✅"},{"annotation":"check box with check","group":8,"hexcode":"2611","order":4183,"tags":["box","check","✓"],"unicode":"☑️"},{"annotation":"check mark","group":8,"hexcode":"2714","order":4185,"tags":["check","mark","✓"],"unicode":"✔️"},{"annotation":"cross mark","group":8,"hexcode":"274C","order":4186,"tags":["cancel","cross","mark","multiplication","multiply","x","×"],"unicode":"❌"},{"annotation":"cross mark button","group":8,"hexcode":"274E","order":4187,"tags":["mark","square","x","×"],"unicode":"❎"},{"annotation":"curly loop","group":8,"hexcode":"27B0","order":4188,"tags":["curl","loop"],"unicode":"➰"},{"annotation":"double curly loop","group":8,"hexcode":"27BF","order":4189,"tags":["curl","double","loop"],"unicode":"➿"},{"annotation":"part alternation mark","group":8,"hexcode":"303D","order":4191,"tags":["mark","part"],"unicode":"〽️"},{"annotation":"eight-spoked asterisk","group":8,"hexcode":"2733","order":4193,"tags":["*","asterisk"],"unicode":"✳️"},{"annotation":"eight-pointed star","group":8,"hexcode":"2734","order":4195,"tags":["*","star"],"unicode":"✴️"},{"annotation":"sparkle","group":8,"hexcode":"2747","order":4197,"tags":["*"],"unicode":"❇️"},{"annotation":"copyright","group":8,"hexcode":"00A9","order":4199,"tags":["c"],"unicode":"©️"},{"annotation":"registered","group":8,"hexcode":"00AE","order":4201,"tags":["r"],"unicode":"®️"},{"annotation":"trade mark","group":8,"hexcode":"2122","order":4203,"tags":["mark","tm","trademark"],"unicode":"™️"},{"annotation":"keycap: #","group":8,"hexcode":"0023-FE0F-20E3","order":4204,"tags":["keycap"],"unicode":"#️⃣"},{"annotation":"keycap: *","group":8,"hexcode":"002A-FE0F-20E3","order":4206,"tags":["keycap"],"unicode":"*️⃣"},{"annotation":"keycap: 0","group":8,"hexcode":"0030-FE0F-20E3","order":4208,"tags":["keycap"],"unicode":"0️⃣"},{"annotation":"keycap: 1","group":8,"hexcode":"0031-FE0F-20E3","order":4210,"tags":["keycap"],"unicode":"1️⃣"},{"annotation":"keycap: 2","group":8,"hexcode":"0032-FE0F-20E3","order":4212,"tags":["keycap"],"unicode":"2️⃣"},{"annotation":"keycap: 3","group":8,"hexcode":"0033-FE0F-20E3","order":4214,"tags":["keycap"],"unicode":"3️⃣"},{"annotation":"keycap: 4","group":8,"hexcode":"0034-FE0F-20E3","order":4216,"tags":["keycap"],"unicode":"4️⃣"},{"annotation":"keycap: 5","group":8,"hexcode":"0035-FE0F-20E3","order":4218,"tags":["keycap"],"unicode":"5️⃣"},{"annotation":"keycap: 6","group":8,"hexcode":"0036-FE0F-20E3","order":4220,"tags":["keycap"],"unicode":"6️⃣"},{"annotation":"keycap: 7","group":8,"hexcode":"0037-FE0F-20E3","order":4222,"tags":["keycap"],"unicode":"7️⃣"},{"annotation":"keycap: 8","group":8,"hexcode":"0038-FE0F-20E3","order":4224,"tags":["keycap"],"unicode":"8️⃣"},{"annotation":"keycap: 9","group":8,"hexcode":"0039-FE0F-20E3","order":4226,"tags":["keycap"],"unicode":"9️⃣"},{"annotation":"keycap: 10","group":8,"hexcode":"1F51F","order":4228,"tags":["keycap"],"unicode":"🔟"},{"annotation":"input latin uppercase","group":8,"hexcode":"1F520","order":4229,"tags":["abcd","input","latin","letters","uppercase"],"unicode":"🔠"},{"annotation":"input latin lowercase","group":8,"hexcode":"1F521","order":4230,"tags":["abcd","input","latin","letters","lowercase"],"unicode":"🔡"},{"annotation":"input numbers","group":8,"hexcode":"1F522","order":4231,"tags":["1234","input","numbers"],"unicode":"🔢"},{"annotation":"input symbols","group":8,"hexcode":"1F523","order":4232,"tags":["input","〒♪&%"],"unicode":"🔣"},{"annotation":"input latin letters","group":8,"hexcode":"1F524","order":4233,"tags":["abc","alphabet","input","latin","letters"],"unicode":"🔤"},{"annotation":"A button (blood type)","group":8,"hexcode":"1F170","order":4235,"tags":["a","a button (blood type)","blood type"],"unicode":"🅰️"},{"annotation":"AB button (blood type)","group":8,"hexcode":"1F18E","order":4236,"tags":["ab","ab button (blood type)","blood type"],"unicode":"🆎"},{"annotation":"B button (blood type)","group":8,"hexcode":"1F171","order":4238,"tags":["b","b button (blood type)","blood type"],"unicode":"🅱️"},{"annotation":"CL button","group":8,"hexcode":"1F191","order":4239,"tags":["cl","cl button"],"unicode":"🆑"},{"annotation":"COOL button","group":8,"hexcode":"1F192","order":4240,"tags":["cool","cool button"],"unicode":"🆒"},{"annotation":"FREE button","group":8,"hexcode":"1F193","order":4241,"tags":["free","free button"],"unicode":"🆓"},{"annotation":"information","group":8,"hexcode":"2139","order":4243,"tags":["i"],"unicode":"ℹ️"},{"annotation":"ID button","group":8,"hexcode":"1F194","order":4244,"tags":["id","id button","identity"],"unicode":"🆔"},{"annotation":"circled M","group":8,"hexcode":"24C2","order":4246,"tags":["circle","circled m","m"],"unicode":"Ⓜ️"},{"annotation":"NEW button","group":8,"hexcode":"1F195","order":4247,"tags":["new","new button"],"unicode":"🆕"},{"annotation":"NG button","group":8,"hexcode":"1F196","order":4248,"tags":["ng","ng button"],"unicode":"🆖"},{"annotation":"O button (blood type)","group":8,"hexcode":"1F17E","order":4250,"tags":["blood type","o","o button (blood type)"],"unicode":"🅾️"},{"annotation":"OK button","group":8,"hexcode":"1F197","order":4251,"tags":["ok","ok button"],"unicode":"🆗"},{"annotation":"P button","group":8,"hexcode":"1F17F","order":4253,"tags":["p button","parking"],"unicode":"🅿️"},{"annotation":"SOS button","group":8,"hexcode":"1F198","order":4254,"tags":["help","sos","sos button"],"unicode":"🆘"},{"annotation":"UP! button","group":8,"hexcode":"1F199","order":4255,"tags":["mark","up","up! button"],"unicode":"🆙"},{"annotation":"VS button","group":8,"hexcode":"1F19A","order":4256,"tags":["versus","vs","vs button"],"unicode":"🆚"},{"annotation":"Japanese “here” button","group":8,"hexcode":"1F201","order":4257,"tags":["japanese","japanese “here” button","katakana","“here”","ココ"],"unicode":"🈁"},{"annotation":"Japanese “service charge” button","group":8,"hexcode":"1F202","order":4259,"tags":["japanese","japanese “service charge” button","katakana","“service charge”","サ"],"unicode":"🈂️"},{"annotation":"Japanese “monthly amount” button","group":8,"hexcode":"1F237","order":4261,"tags":["ideograph","japanese","japanese “monthly amount” button","“monthly amount”","月"],"unicode":"🈷️"},{"annotation":"Japanese “not free of charge” button","group":8,"hexcode":"1F236","order":4262,"tags":["ideograph","japanese","japanese “not free of charge” button","“not free of charge”","有"],"unicode":"🈶"},{"annotation":"Japanese “reserved” button","group":8,"hexcode":"1F22F","order":4263,"tags":["ideograph","japanese","japanese “reserved” button","“reserved”","指"],"unicode":"🈯️"},{"annotation":"Japanese “bargain” button","group":8,"hexcode":"1F250","order":4264,"tags":["ideograph","japanese","japanese “bargain” button","“bargain”","得"],"unicode":"🉐"},{"annotation":"Japanese “discount” button","group":8,"hexcode":"1F239","order":4265,"tags":["ideograph","japanese","japanese “discount” button","“discount”","割"],"unicode":"🈹"},{"annotation":"Japanese “free of charge” button","group":8,"hexcode":"1F21A","order":4266,"tags":["ideograph","japanese","japanese “free of charge” button","“free of charge”","無"],"unicode":"🈚️"},{"annotation":"Japanese “prohibited” button","group":8,"hexcode":"1F232","order":4267,"tags":["ideograph","japanese","japanese “prohibited” button","“prohibited”","禁"],"unicode":"🈲"},{"annotation":"Japanese “acceptable” button","group":8,"hexcode":"1F251","order":4268,"tags":["ideograph","japanese","japanese “acceptable” button","“acceptable”","可"],"unicode":"🉑"},{"annotation":"Japanese “application” button","group":8,"hexcode":"1F238","order":4269,"tags":["ideograph","japanese","japanese “application” button","“application”","申"],"unicode":"🈸"},{"annotation":"Japanese “passing grade” button","group":8,"hexcode":"1F234","order":4270,"tags":["ideograph","japanese","japanese “passing grade” button","“passing grade”","合"],"unicode":"🈴"},{"annotation":"Japanese “vacancy” button","group":8,"hexcode":"1F233","order":4271,"tags":["ideograph","japanese","japanese “vacancy” button","“vacancy”","空"],"unicode":"🈳"},{"annotation":"Japanese “congratulations” button","group":8,"hexcode":"3297","order":4273,"tags":["ideograph","japanese","japanese “congratulations” button","“congratulations”","祝"],"unicode":"㊗️"},{"annotation":"Japanese “secret” button","group":8,"hexcode":"3299","order":4275,"tags":["ideograph","japanese","japanese “secret” button","“secret”","秘"],"unicode":"㊙️"},{"annotation":"Japanese “open for business” button","group":8,"hexcode":"1F23A","order":4276,"tags":["ideograph","japanese","japanese “open for business” button","“open for business”","営"],"unicode":"🈺"},{"annotation":"Japanese “no vacancy” button","group":8,"hexcode":"1F235","order":4277,"tags":["ideograph","japanese","japanese “no vacancy” button","“no vacancy”","満"],"unicode":"🈵"},{"annotation":"red circle","group":8,"hexcode":"1F534","order":4278,"tags":["circle","geometric","red"],"unicode":"🔴"},{"annotation":"orange circle","group":8,"hexcode":"1F7E0","order":4279,"tags":["circle","orange"],"unicode":"🟠"},{"annotation":"yellow circle","group":8,"hexcode":"1F7E1","order":4280,"tags":["circle","yellow"],"unicode":"🟡"},{"annotation":"green circle","group":8,"hexcode":"1F7E2","order":4281,"tags":["circle","green"],"unicode":"🟢"},{"annotation":"blue circle","group":8,"hexcode":"1F535","order":4282,"tags":["blue","circle","geometric"],"unicode":"🔵"},{"annotation":"purple circle","group":8,"hexcode":"1F7E3","order":4283,"tags":["circle","purple"],"unicode":"🟣"},{"annotation":"brown circle","group":8,"hexcode":"1F7E4","order":4284,"tags":["brown","circle"],"unicode":"🟤"},{"annotation":"black circle","group":8,"hexcode":"26AB","order":4285,"tags":["circle","geometric"],"unicode":"⚫️"},{"annotation":"white circle","group":8,"hexcode":"26AA","order":4286,"tags":["circle","geometric"],"unicode":"⚪️"},{"annotation":"red square","group":8,"hexcode":"1F7E5","order":4287,"tags":["red","square"],"unicode":"🟥"},{"annotation":"orange square","group":8,"hexcode":"1F7E7","order":4288,"tags":["orange","square"],"unicode":"🟧"},{"annotation":"yellow square","group":8,"hexcode":"1F7E8","order":4289,"tags":["square","yellow"],"unicode":"🟨"},{"annotation":"green square","group":8,"hexcode":"1F7E9","order":4290,"tags":["green","square"],"unicode":"🟩"},{"annotation":"blue square","group":8,"hexcode":"1F7E6","order":4291,"tags":["blue","square"],"unicode":"🟦"},{"annotation":"purple square","group":8,"hexcode":"1F7EA","order":4292,"tags":["purple","square"],"unicode":"🟪"},{"annotation":"brown square","group":8,"hexcode":"1F7EB","order":4293,"tags":["brown","square"],"unicode":"🟫"},{"annotation":"black large square","group":8,"hexcode":"2B1B","order":4294,"tags":["geometric","square"],"unicode":"⬛️"},{"annotation":"white large square","group":8,"hexcode":"2B1C","order":4295,"tags":["geometric","square"],"unicode":"⬜️"},{"annotation":"black medium square","group":8,"hexcode":"25FC","order":4297,"tags":["geometric","square"],"unicode":"◼️"},{"annotation":"white medium square","group":8,"hexcode":"25FB","order":4299,"tags":["geometric","square"],"unicode":"◻️"},{"annotation":"black medium-small square","group":8,"hexcode":"25FE","order":4300,"tags":["geometric","square"],"unicode":"◾️"},{"annotation":"white medium-small square","group":8,"hexcode":"25FD","order":4301,"tags":["geometric","square"],"unicode":"◽️"},{"annotation":"black small square","group":8,"hexcode":"25AA","order":4303,"tags":["geometric","square"],"unicode":"▪️"},{"annotation":"white small square","group":8,"hexcode":"25AB","order":4305,"tags":["geometric","square"],"unicode":"▫️"},{"annotation":"large orange diamond","group":8,"hexcode":"1F536","order":4306,"tags":["diamond","geometric","orange"],"unicode":"🔶"},{"annotation":"large blue diamond","group":8,"hexcode":"1F537","order":4307,"tags":["blue","diamond","geometric"],"unicode":"🔷"},{"annotation":"small orange diamond","group":8,"hexcode":"1F538","order":4308,"tags":["diamond","geometric","orange"],"unicode":"🔸"},{"annotation":"small blue diamond","group":8,"hexcode":"1F539","order":4309,"tags":["blue","diamond","geometric"],"unicode":"🔹"},{"annotation":"red triangle pointed up","group":8,"hexcode":"1F53A","order":4310,"tags":["geometric","red"],"unicode":"🔺"},{"annotation":"red triangle pointed down","group":8,"hexcode":"1F53B","order":4311,"tags":["down","geometric","red"],"unicode":"🔻"},{"annotation":"diamond with a dot","group":8,"hexcode":"1F4A0","order":4312,"tags":["comic","diamond","geometric","inside"],"unicode":"💠"},{"annotation":"radio button","group":8,"hexcode":"1F518","order":4313,"tags":["button","geometric","radio"],"unicode":"🔘"},{"annotation":"white square button","group":8,"hexcode":"1F533","order":4314,"tags":["button","geometric","outlined","square"],"unicode":"🔳"},{"annotation":"black square button","group":8,"hexcode":"1F532","order":4315,"tags":["button","geometric","square"],"unicode":"🔲"},{"annotation":"chequered flag","group":9,"hexcode":"1F3C1","order":4316,"tags":["checkered","chequered","racing"],"unicode":"🏁"},{"annotation":"triangular flag","group":9,"hexcode":"1F6A9","order":4317,"tags":["post"],"unicode":"🚩"},{"annotation":"crossed flags","group":9,"hexcode":"1F38C","order":4318,"tags":["celebration","cross","crossed","japanese"],"unicode":"🎌"},{"annotation":"black flag","group":9,"hexcode":"1F3F4","order":4319,"tags":["waving"],"unicode":"🏴"},{"annotation":"white flag","group":9,"hexcode":"1F3F3","order":4321,"tags":["waving"],"unicode":"🏳️"},{"annotation":"rainbow flag","group":9,"hexcode":"1F3F3-FE0F-200D-1F308","order":4322,"tags":["pride","rainbow"],"unicode":"🏳️‍🌈"},{"annotation":"transgender flag","group":9,"hexcode":"1F3F3-FE0F-200D-26A7-FE0F","order":4324,"tags":["flag","light blue","pink","transgender","white"],"unicode":"🏳️‍⚧️"},{"annotation":"pirate flag","group":9,"hexcode":"1F3F4-200D-2620-FE0F","order":4328,"tags":["jolly roger","pirate","plunder","treasure"],"unicode":"🏴‍☠️"},{"annotation":"flag: Ascension Island","group":9,"hexcode":"1F1E6-1F1E8","order":4330,"tags":["AC","flag"],"unicode":"🇦🇨"},{"annotation":"flag: Andorra","group":9,"hexcode":"1F1E6-1F1E9","order":4331,"tags":["AD","flag"],"unicode":"🇦🇩"},{"annotation":"flag: United Arab Emirates","group":9,"hexcode":"1F1E6-1F1EA","order":4332,"tags":["AE","flag"],"unicode":"🇦🇪"},{"annotation":"flag: Afghanistan","group":9,"hexcode":"1F1E6-1F1EB","order":4333,"tags":["AF","flag"],"unicode":"🇦🇫"},{"annotation":"flag: Antigua & Barbuda","group":9,"hexcode":"1F1E6-1F1EC","order":4334,"tags":["AG","flag"],"unicode":"🇦🇬"},{"annotation":"flag: Anguilla","group":9,"hexcode":"1F1E6-1F1EE","order":4335,"tags":["AI","flag"],"unicode":"🇦🇮"},{"annotation":"flag: Albania","group":9,"hexcode":"1F1E6-1F1F1","order":4336,"tags":["AL","flag"],"unicode":"🇦🇱"},{"annotation":"flag: Armenia","group":9,"hexcode":"1F1E6-1F1F2","order":4337,"tags":["AM","flag"],"unicode":"🇦🇲"},{"annotation":"flag: Angola","group":9,"hexcode":"1F1E6-1F1F4","order":4338,"tags":["AO","flag"],"unicode":"🇦🇴"},{"annotation":"flag: Antarctica","group":9,"hexcode":"1F1E6-1F1F6","order":4339,"tags":["AQ","flag"],"unicode":"🇦🇶"},{"annotation":"flag: Argentina","group":9,"hexcode":"1F1E6-1F1F7","order":4340,"tags":["AR","flag"],"unicode":"🇦🇷"},{"annotation":"flag: American Samoa","group":9,"hexcode":"1F1E6-1F1F8","order":4341,"tags":["AS","flag"],"unicode":"🇦🇸"},{"annotation":"flag: Austria","group":9,"hexcode":"1F1E6-1F1F9","order":4342,"tags":["AT","flag"],"unicode":"🇦🇹"},{"annotation":"flag: Australia","group":9,"hexcode":"1F1E6-1F1FA","order":4343,"tags":["AU","flag"],"unicode":"🇦🇺"},{"annotation":"flag: Aruba","group":9,"hexcode":"1F1E6-1F1FC","order":4344,"tags":["AW","flag"],"unicode":"🇦🇼"},{"annotation":"flag: Åland Islands","group":9,"hexcode":"1F1E6-1F1FD","order":4345,"tags":["AX","flag"],"unicode":"🇦🇽"},{"annotation":"flag: Azerbaijan","group":9,"hexcode":"1F1E6-1F1FF","order":4346,"tags":["AZ","flag"],"unicode":"🇦🇿"},{"annotation":"flag: Bosnia & Herzegovina","group":9,"hexcode":"1F1E7-1F1E6","order":4347,"tags":["BA","flag"],"unicode":"🇧🇦"},{"annotation":"flag: Barbados","group":9,"hexcode":"1F1E7-1F1E7","order":4348,"tags":["BB","flag"],"unicode":"🇧🇧"},{"annotation":"flag: Bangladesh","group":9,"hexcode":"1F1E7-1F1E9","order":4349,"tags":["BD","flag"],"unicode":"🇧🇩"},{"annotation":"flag: Belgium","group":9,"hexcode":"1F1E7-1F1EA","order":4350,"tags":["BE","flag"],"unicode":"🇧🇪"},{"annotation":"flag: Burkina Faso","group":9,"hexcode":"1F1E7-1F1EB","order":4351,"tags":["BF","flag"],"unicode":"🇧🇫"},{"annotation":"flag: Bulgaria","group":9,"hexcode":"1F1E7-1F1EC","order":4352,"tags":["BG","flag"],"unicode":"🇧🇬"},{"annotation":"flag: Bahrain","group":9,"hexcode":"1F1E7-1F1ED","order":4353,"tags":["BH","flag"],"unicode":"🇧🇭"},{"annotation":"flag: Burundi","group":9,"hexcode":"1F1E7-1F1EE","order":4354,"tags":["BI","flag"],"unicode":"🇧🇮"},{"annotation":"flag: Benin","group":9,"hexcode":"1F1E7-1F1EF","order":4355,"tags":["BJ","flag"],"unicode":"🇧🇯"},{"annotation":"flag: St. Barthélemy","group":9,"hexcode":"1F1E7-1F1F1","order":4356,"tags":["BL","flag"],"unicode":"🇧🇱"},{"annotation":"flag: Bermuda","group":9,"hexcode":"1F1E7-1F1F2","order":4357,"tags":["BM","flag"],"unicode":"🇧🇲"},{"annotation":"flag: Brunei","group":9,"hexcode":"1F1E7-1F1F3","order":4358,"tags":["BN","flag"],"unicode":"🇧🇳"},{"annotation":"flag: Bolivia","group":9,"hexcode":"1F1E7-1F1F4","order":4359,"tags":["BO","flag"],"unicode":"🇧🇴"},{"annotation":"flag: Caribbean Netherlands","group":9,"hexcode":"1F1E7-1F1F6","order":4360,"tags":["BQ","flag"],"unicode":"🇧🇶"},{"annotation":"flag: Brazil","group":9,"hexcode":"1F1E7-1F1F7","order":4361,"tags":["BR","flag"],"unicode":"🇧🇷"},{"annotation":"flag: Bahamas","group":9,"hexcode":"1F1E7-1F1F8","order":4362,"tags":["BS","flag"],"unicode":"🇧🇸"},{"annotation":"flag: Bhutan","group":9,"hexcode":"1F1E7-1F1F9","order":4363,"tags":["BT","flag"],"unicode":"🇧🇹"},{"annotation":"flag: Bouvet Island","group":9,"hexcode":"1F1E7-1F1FB","order":4364,"tags":["BV","flag"],"unicode":"🇧🇻"},{"annotation":"flag: Botswana","group":9,"hexcode":"1F1E7-1F1FC","order":4365,"tags":["BW","flag"],"unicode":"🇧🇼"},{"annotation":"flag: Belarus","group":9,"hexcode":"1F1E7-1F1FE","order":4366,"tags":["BY","flag"],"unicode":"🇧🇾"},{"annotation":"flag: Belize","group":9,"hexcode":"1F1E7-1F1FF","order":4367,"tags":["BZ","flag"],"unicode":"🇧🇿"},{"annotation":"flag: Canada","group":9,"hexcode":"1F1E8-1F1E6","order":4368,"tags":["CA","flag"],"unicode":"🇨🇦"},{"annotation":"flag: Cocos (Keeling) Islands","group":9,"hexcode":"1F1E8-1F1E8","order":4369,"tags":["CC","flag"],"unicode":"🇨🇨"},{"annotation":"flag: Congo - Kinshasa","group":9,"hexcode":"1F1E8-1F1E9","order":4370,"tags":["CD","flag"],"unicode":"🇨🇩"},{"annotation":"flag: Central African Republic","group":9,"hexcode":"1F1E8-1F1EB","order":4371,"tags":["CF","flag"],"unicode":"🇨🇫"},{"annotation":"flag: Congo - Brazzaville","group":9,"hexcode":"1F1E8-1F1EC","order":4372,"tags":["CG","flag"],"unicode":"🇨🇬"},{"annotation":"flag: Switzerland","group":9,"hexcode":"1F1E8-1F1ED","order":4373,"tags":["CH","flag"],"unicode":"🇨🇭"},{"annotation":"flag: Côte d’Ivoire","group":9,"hexcode":"1F1E8-1F1EE","order":4374,"tags":["CI","flag"],"unicode":"🇨🇮"},{"annotation":"flag: Cook Islands","group":9,"hexcode":"1F1E8-1F1F0","order":4375,"tags":["CK","flag"],"unicode":"🇨🇰"},{"annotation":"flag: Chile","group":9,"hexcode":"1F1E8-1F1F1","order":4376,"tags":["CL","flag"],"unicode":"🇨🇱"},{"annotation":"flag: Cameroon","group":9,"hexcode":"1F1E8-1F1F2","order":4377,"tags":["CM","flag"],"unicode":"🇨🇲"},{"annotation":"flag: China","group":9,"hexcode":"1F1E8-1F1F3","order":4378,"tags":["CN","flag"],"unicode":"🇨🇳"},{"annotation":"flag: Colombia","group":9,"hexcode":"1F1E8-1F1F4","order":4379,"tags":["CO","flag"],"unicode":"🇨🇴"},{"annotation":"flag: Clipperton Island","group":9,"hexcode":"1F1E8-1F1F5","order":4380,"tags":["CP","flag"],"unicode":"🇨🇵"},{"annotation":"flag: Costa Rica","group":9,"hexcode":"1F1E8-1F1F7","order":4381,"tags":["CR","flag"],"unicode":"🇨🇷"},{"annotation":"flag: Cuba","group":9,"hexcode":"1F1E8-1F1FA","order":4382,"tags":["CU","flag"],"unicode":"🇨🇺"},{"annotation":"flag: Cape Verde","group":9,"hexcode":"1F1E8-1F1FB","order":4383,"tags":["CV","flag"],"unicode":"🇨🇻"},{"annotation":"flag: Curaçao","group":9,"hexcode":"1F1E8-1F1FC","order":4384,"tags":["CW","flag"],"unicode":"🇨🇼"},{"annotation":"flag: Christmas Island","group":9,"hexcode":"1F1E8-1F1FD","order":4385,"tags":["CX","flag"],"unicode":"🇨🇽"},{"annotation":"flag: Cyprus","group":9,"hexcode":"1F1E8-1F1FE","order":4386,"tags":["CY","flag"],"unicode":"🇨🇾"},{"annotation":"flag: Czechia","group":9,"hexcode":"1F1E8-1F1FF","order":4387,"tags":["CZ","flag"],"unicode":"🇨🇿"},{"annotation":"flag: Germany","group":9,"hexcode":"1F1E9-1F1EA","order":4388,"tags":["DE","flag"],"unicode":"🇩🇪"},{"annotation":"flag: Diego Garcia","group":9,"hexcode":"1F1E9-1F1EC","order":4389,"tags":["DG","flag"],"unicode":"🇩🇬"},{"annotation":"flag: Djibouti","group":9,"hexcode":"1F1E9-1F1EF","order":4390,"tags":["DJ","flag"],"unicode":"🇩🇯"},{"annotation":"flag: Denmark","group":9,"hexcode":"1F1E9-1F1F0","order":4391,"tags":["DK","flag"],"unicode":"🇩🇰"},{"annotation":"flag: Dominica","group":9,"hexcode":"1F1E9-1F1F2","order":4392,"tags":["DM","flag"],"unicode":"🇩🇲"},{"annotation":"flag: Dominican Republic","group":9,"hexcode":"1F1E9-1F1F4","order":4393,"tags":["DO","flag"],"unicode":"🇩🇴"},{"annotation":"flag: Algeria","group":9,"hexcode":"1F1E9-1F1FF","order":4394,"tags":["DZ","flag"],"unicode":"🇩🇿"},{"annotation":"flag: Ceuta & Melilla","group":9,"hexcode":"1F1EA-1F1E6","order":4395,"tags":["EA","flag"],"unicode":"🇪🇦"},{"annotation":"flag: Ecuador","group":9,"hexcode":"1F1EA-1F1E8","order":4396,"tags":["EC","flag"],"unicode":"🇪🇨"},{"annotation":"flag: Estonia","group":9,"hexcode":"1F1EA-1F1EA","order":4397,"tags":["EE","flag"],"unicode":"🇪🇪"},{"annotation":"flag: Egypt","group":9,"hexcode":"1F1EA-1F1EC","order":4398,"tags":["EG","flag"],"unicode":"🇪🇬"},{"annotation":"flag: Western Sahara","group":9,"hexcode":"1F1EA-1F1ED","order":4399,"tags":["EH","flag"],"unicode":"🇪🇭"},{"annotation":"flag: Eritrea","group":9,"hexcode":"1F1EA-1F1F7","order":4400,"tags":["ER","flag"],"unicode":"🇪🇷"},{"annotation":"flag: Spain","group":9,"hexcode":"1F1EA-1F1F8","order":4401,"tags":["ES","flag"],"unicode":"🇪🇸"},{"annotation":"flag: Ethiopia","group":9,"hexcode":"1F1EA-1F1F9","order":4402,"tags":["ET","flag"],"unicode":"🇪🇹"},{"annotation":"flag: European Union","group":9,"hexcode":"1F1EA-1F1FA","order":4403,"tags":["EU","flag"],"unicode":"🇪🇺"},{"annotation":"flag: Finland","group":9,"hexcode":"1F1EB-1F1EE","order":4404,"tags":["FI","flag"],"unicode":"🇫🇮"},{"annotation":"flag: Fiji","group":9,"hexcode":"1F1EB-1F1EF","order":4405,"tags":["FJ","flag"],"unicode":"🇫🇯"},{"annotation":"flag: Falkland Islands","group":9,"hexcode":"1F1EB-1F1F0","order":4406,"tags":["FK","flag"],"unicode":"🇫🇰"},{"annotation":"flag: Micronesia","group":9,"hexcode":"1F1EB-1F1F2","order":4407,"tags":["FM","flag"],"unicode":"🇫🇲"},{"annotation":"flag: Faroe Islands","group":9,"hexcode":"1F1EB-1F1F4","order":4408,"tags":["FO","flag"],"unicode":"🇫🇴"},{"annotation":"flag: France","group":9,"hexcode":"1F1EB-1F1F7","order":4409,"tags":["FR","flag"],"unicode":"🇫🇷"},{"annotation":"flag: Gabon","group":9,"hexcode":"1F1EC-1F1E6","order":4410,"tags":["GA","flag"],"unicode":"🇬🇦"},{"annotation":"flag: United Kingdom","group":9,"hexcode":"1F1EC-1F1E7","order":4411,"tags":["GB","flag"],"unicode":"🇬🇧"},{"annotation":"flag: Grenada","group":9,"hexcode":"1F1EC-1F1E9","order":4412,"tags":["GD","flag"],"unicode":"🇬🇩"},{"annotation":"flag: Georgia","group":9,"hexcode":"1F1EC-1F1EA","order":4413,"tags":["GE","flag"],"unicode":"🇬🇪"},{"annotation":"flag: French Guiana","group":9,"hexcode":"1F1EC-1F1EB","order":4414,"tags":["GF","flag"],"unicode":"🇬🇫"},{"annotation":"flag: Guernsey","group":9,"hexcode":"1F1EC-1F1EC","order":4415,"tags":["GG","flag"],"unicode":"🇬🇬"},{"annotation":"flag: Ghana","group":9,"hexcode":"1F1EC-1F1ED","order":4416,"tags":["GH","flag"],"unicode":"🇬🇭"},{"annotation":"flag: Gibraltar","group":9,"hexcode":"1F1EC-1F1EE","order":4417,"tags":["GI","flag"],"unicode":"🇬🇮"},{"annotation":"flag: Greenland","group":9,"hexcode":"1F1EC-1F1F1","order":4418,"tags":["GL","flag"],"unicode":"🇬🇱"},{"annotation":"flag: Gambia","group":9,"hexcode":"1F1EC-1F1F2","order":4419,"tags":["GM","flag"],"unicode":"🇬🇲"},{"annotation":"flag: Guinea","group":9,"hexcode":"1F1EC-1F1F3","order":4420,"tags":["GN","flag"],"unicode":"🇬🇳"},{"annotation":"flag: Guadeloupe","group":9,"hexcode":"1F1EC-1F1F5","order":4421,"tags":["GP","flag"],"unicode":"🇬🇵"},{"annotation":"flag: Equatorial Guinea","group":9,"hexcode":"1F1EC-1F1F6","order":4422,"tags":["GQ","flag"],"unicode":"🇬🇶"},{"annotation":"flag: Greece","group":9,"hexcode":"1F1EC-1F1F7","order":4423,"tags":["GR","flag"],"unicode":"🇬🇷"},{"annotation":"flag: South Georgia & South Sandwich Islands","group":9,"hexcode":"1F1EC-1F1F8","order":4424,"tags":["GS","flag"],"unicode":"🇬🇸"},{"annotation":"flag: Guatemala","group":9,"hexcode":"1F1EC-1F1F9","order":4425,"tags":["GT","flag"],"unicode":"🇬🇹"},{"annotation":"flag: Guam","group":9,"hexcode":"1F1EC-1F1FA","order":4426,"tags":["GU","flag"],"unicode":"🇬🇺"},{"annotation":"flag: Guinea-Bissau","group":9,"hexcode":"1F1EC-1F1FC","order":4427,"tags":["GW","flag"],"unicode":"🇬🇼"},{"annotation":"flag: Guyana","group":9,"hexcode":"1F1EC-1F1FE","order":4428,"tags":["GY","flag"],"unicode":"🇬🇾"},{"annotation":"flag: Hong Kong SAR China","group":9,"hexcode":"1F1ED-1F1F0","order":4429,"tags":["HK","flag"],"unicode":"🇭🇰"},{"annotation":"flag: Heard & McDonald Islands","group":9,"hexcode":"1F1ED-1F1F2","order":4430,"tags":["HM","flag"],"unicode":"🇭🇲"},{"annotation":"flag: Honduras","group":9,"hexcode":"1F1ED-1F1F3","order":4431,"tags":["HN","flag"],"unicode":"🇭🇳"},{"annotation":"flag: Croatia","group":9,"hexcode":"1F1ED-1F1F7","order":4432,"tags":["HR","flag"],"unicode":"🇭🇷"},{"annotation":"flag: Haiti","group":9,"hexcode":"1F1ED-1F1F9","order":4433,"tags":["HT","flag"],"unicode":"🇭🇹"},{"annotation":"flag: Hungary","group":9,"hexcode":"1F1ED-1F1FA","order":4434,"tags":["HU","flag"],"unicode":"🇭🇺"},{"annotation":"flag: Canary Islands","group":9,"hexcode":"1F1EE-1F1E8","order":4435,"tags":["IC","flag"],"unicode":"🇮🇨"},{"annotation":"flag: Indonesia","group":9,"hexcode":"1F1EE-1F1E9","order":4436,"tags":["ID","flag"],"unicode":"🇮🇩"},{"annotation":"flag: Ireland","group":9,"hexcode":"1F1EE-1F1EA","order":4437,"tags":["IE","flag"],"unicode":"🇮🇪"},{"annotation":"flag: Israel","group":9,"hexcode":"1F1EE-1F1F1","order":4438,"tags":["IL","flag"],"unicode":"🇮🇱"},{"annotation":"flag: Isle of Man","group":9,"hexcode":"1F1EE-1F1F2","order":4439,"tags":["IM","flag"],"unicode":"🇮🇲"},{"annotation":"flag: India","group":9,"hexcode":"1F1EE-1F1F3","order":4440,"tags":["IN","flag"],"unicode":"🇮🇳"},{"annotation":"flag: British Indian Ocean Territory","group":9,"hexcode":"1F1EE-1F1F4","order":4441,"tags":["IO","flag"],"unicode":"🇮🇴"},{"annotation":"flag: Iraq","group":9,"hexcode":"1F1EE-1F1F6","order":4442,"tags":["IQ","flag"],"unicode":"🇮🇶"},{"annotation":"flag: Iran","group":9,"hexcode":"1F1EE-1F1F7","order":4443,"tags":["IR","flag"],"unicode":"🇮🇷"},{"annotation":"flag: Iceland","group":9,"hexcode":"1F1EE-1F1F8","order":4444,"tags":["IS","flag"],"unicode":"🇮🇸"},{"annotation":"flag: Italy","group":9,"hexcode":"1F1EE-1F1F9","order":4445,"tags":["IT","flag"],"unicode":"🇮🇹"},{"annotation":"flag: Jersey","group":9,"hexcode":"1F1EF-1F1EA","order":4446,"tags":["JE","flag"],"unicode":"🇯🇪"},{"annotation":"flag: Jamaica","group":9,"hexcode":"1F1EF-1F1F2","order":4447,"tags":["JM","flag"],"unicode":"🇯🇲"},{"annotation":"flag: Jordan","group":9,"hexcode":"1F1EF-1F1F4","order":4448,"tags":["JO","flag"],"unicode":"🇯🇴"},{"annotation":"flag: Japan","group":9,"hexcode":"1F1EF-1F1F5","order":4449,"tags":["JP","flag"],"unicode":"🇯🇵"},{"annotation":"flag: Kenya","group":9,"hexcode":"1F1F0-1F1EA","order":4450,"tags":["KE","flag"],"unicode":"🇰🇪"},{"annotation":"flag: Kyrgyzstan","group":9,"hexcode":"1F1F0-1F1EC","order":4451,"tags":["KG","flag"],"unicode":"🇰🇬"},{"annotation":"flag: Cambodia","group":9,"hexcode":"1F1F0-1F1ED","order":4452,"tags":["KH","flag"],"unicode":"🇰🇭"},{"annotation":"flag: Kiribati","group":9,"hexcode":"1F1F0-1F1EE","order":4453,"tags":["KI","flag"],"unicode":"🇰🇮"},{"annotation":"flag: Comoros","group":9,"hexcode":"1F1F0-1F1F2","order":4454,"tags":["KM","flag"],"unicode":"🇰🇲"},{"annotation":"flag: St. Kitts & Nevis","group":9,"hexcode":"1F1F0-1F1F3","order":4455,"tags":["KN","flag"],"unicode":"🇰🇳"},{"annotation":"flag: North Korea","group":9,"hexcode":"1F1F0-1F1F5","order":4456,"tags":["KP","flag"],"unicode":"🇰🇵"},{"annotation":"flag: South Korea","group":9,"hexcode":"1F1F0-1F1F7","order":4457,"tags":["KR","flag"],"unicode":"🇰🇷"},{"annotation":"flag: Kuwait","group":9,"hexcode":"1F1F0-1F1FC","order":4458,"tags":["KW","flag"],"unicode":"🇰🇼"},{"annotation":"flag: Cayman Islands","group":9,"hexcode":"1F1F0-1F1FE","order":4459,"tags":["KY","flag"],"unicode":"🇰🇾"},{"annotation":"flag: Kazakhstan","group":9,"hexcode":"1F1F0-1F1FF","order":4460,"tags":["KZ","flag"],"unicode":"🇰🇿"},{"annotation":"flag: Laos","group":9,"hexcode":"1F1F1-1F1E6","order":4461,"tags":["LA","flag"],"unicode":"🇱🇦"},{"annotation":"flag: Lebanon","group":9,"hexcode":"1F1F1-1F1E7","order":4462,"tags":["LB","flag"],"unicode":"🇱🇧"},{"annotation":"flag: St. Lucia","group":9,"hexcode":"1F1F1-1F1E8","order":4463,"tags":["LC","flag"],"unicode":"🇱🇨"},{"annotation":"flag: Liechtenstein","group":9,"hexcode":"1F1F1-1F1EE","order":4464,"tags":["LI","flag"],"unicode":"🇱🇮"},{"annotation":"flag: Sri Lanka","group":9,"hexcode":"1F1F1-1F1F0","order":4465,"tags":["LK","flag"],"unicode":"🇱🇰"},{"annotation":"flag: Liberia","group":9,"hexcode":"1F1F1-1F1F7","order":4466,"tags":["LR","flag"],"unicode":"🇱🇷"},{"annotation":"flag: Lesotho","group":9,"hexcode":"1F1F1-1F1F8","order":4467,"tags":["LS","flag"],"unicode":"🇱🇸"},{"annotation":"flag: Lithuania","group":9,"hexcode":"1F1F1-1F1F9","order":4468,"tags":["LT","flag"],"unicode":"🇱🇹"},{"annotation":"flag: Luxembourg","group":9,"hexcode":"1F1F1-1F1FA","order":4469,"tags":["LU","flag"],"unicode":"🇱🇺"},{"annotation":"flag: Latvia","group":9,"hexcode":"1F1F1-1F1FB","order":4470,"tags":["LV","flag"],"unicode":"🇱🇻"},{"annotation":"flag: Libya","group":9,"hexcode":"1F1F1-1F1FE","order":4471,"tags":["LY","flag"],"unicode":"🇱🇾"},{"annotation":"flag: Morocco","group":9,"hexcode":"1F1F2-1F1E6","order":4472,"tags":["MA","flag"],"unicode":"🇲🇦"},{"annotation":"flag: Monaco","group":9,"hexcode":"1F1F2-1F1E8","order":4473,"tags":["MC","flag"],"unicode":"🇲🇨"},{"annotation":"flag: Moldova","group":9,"hexcode":"1F1F2-1F1E9","order":4474,"tags":["MD","flag"],"unicode":"🇲🇩"},{"annotation":"flag: Montenegro","group":9,"hexcode":"1F1F2-1F1EA","order":4475,"tags":["ME","flag"],"unicode":"🇲🇪"},{"annotation":"flag: St. Martin","group":9,"hexcode":"1F1F2-1F1EB","order":4476,"tags":["MF","flag"],"unicode":"🇲🇫"},{"annotation":"flag: Madagascar","group":9,"hexcode":"1F1F2-1F1EC","order":4477,"tags":["MG","flag"],"unicode":"🇲🇬"},{"annotation":"flag: Marshall Islands","group":9,"hexcode":"1F1F2-1F1ED","order":4478,"tags":["MH","flag"],"unicode":"🇲🇭"},{"annotation":"flag: North Macedonia","group":9,"hexcode":"1F1F2-1F1F0","order":4479,"tags":["MK","flag"],"unicode":"🇲🇰"},{"annotation":"flag: Mali","group":9,"hexcode":"1F1F2-1F1F1","order":4480,"tags":["ML","flag"],"unicode":"🇲🇱"},{"annotation":"flag: Myanmar (Burma)","group":9,"hexcode":"1F1F2-1F1F2","order":4481,"tags":["MM","flag"],"unicode":"🇲🇲"},{"annotation":"flag: Mongolia","group":9,"hexcode":"1F1F2-1F1F3","order":4482,"tags":["MN","flag"],"unicode":"🇲🇳"},{"annotation":"flag: Macao SAR China","group":9,"hexcode":"1F1F2-1F1F4","order":4483,"tags":["MO","flag"],"unicode":"🇲🇴"},{"annotation":"flag: Northern Mariana Islands","group":9,"hexcode":"1F1F2-1F1F5","order":4484,"tags":["MP","flag"],"unicode":"🇲🇵"},{"annotation":"flag: Martinique","group":9,"hexcode":"1F1F2-1F1F6","order":4485,"tags":["MQ","flag"],"unicode":"🇲🇶"},{"annotation":"flag: Mauritania","group":9,"hexcode":"1F1F2-1F1F7","order":4486,"tags":["MR","flag"],"unicode":"🇲🇷"},{"annotation":"flag: Montserrat","group":9,"hexcode":"1F1F2-1F1F8","order":4487,"tags":["MS","flag"],"unicode":"🇲🇸"},{"annotation":"flag: Malta","group":9,"hexcode":"1F1F2-1F1F9","order":4488,"tags":["MT","flag"],"unicode":"🇲🇹"},{"annotation":"flag: Mauritius","group":9,"hexcode":"1F1F2-1F1FA","order":4489,"tags":["MU","flag"],"unicode":"🇲🇺"},{"annotation":"flag: Maldives","group":9,"hexcode":"1F1F2-1F1FB","order":4490,"tags":["MV","flag"],"unicode":"🇲🇻"},{"annotation":"flag: Malawi","group":9,"hexcode":"1F1F2-1F1FC","order":4491,"tags":["MW","flag"],"unicode":"🇲🇼"},{"annotation":"flag: Mexico","group":9,"hexcode":"1F1F2-1F1FD","order":4492,"tags":["MX","flag"],"unicode":"🇲🇽"},{"annotation":"flag: Malaysia","group":9,"hexcode":"1F1F2-1F1FE","order":4493,"tags":["MY","flag"],"unicode":"🇲🇾"},{"annotation":"flag: Mozambique","group":9,"hexcode":"1F1F2-1F1FF","order":4494,"tags":["MZ","flag"],"unicode":"🇲🇿"},{"annotation":"flag: Namibia","group":9,"hexcode":"1F1F3-1F1E6","order":4495,"tags":["NA","flag"],"unicode":"🇳🇦"},{"annotation":"flag: New Caledonia","group":9,"hexcode":"1F1F3-1F1E8","order":4496,"tags":["NC","flag"],"unicode":"🇳🇨"},{"annotation":"flag: Niger","group":9,"hexcode":"1F1F3-1F1EA","order":4497,"tags":["NE","flag"],"unicode":"🇳🇪"},{"annotation":"flag: Norfolk Island","group":9,"hexcode":"1F1F3-1F1EB","order":4498,"tags":["NF","flag"],"unicode":"🇳🇫"},{"annotation":"flag: Nigeria","group":9,"hexcode":"1F1F3-1F1EC","order":4499,"tags":["NG","flag"],"unicode":"🇳🇬"},{"annotation":"flag: Nicaragua","group":9,"hexcode":"1F1F3-1F1EE","order":4500,"tags":["NI","flag"],"unicode":"🇳🇮"},{"annotation":"flag: Netherlands","group":9,"hexcode":"1F1F3-1F1F1","order":4501,"tags":["NL","flag"],"unicode":"🇳🇱"},{"annotation":"flag: Norway","group":9,"hexcode":"1F1F3-1F1F4","order":4502,"tags":["NO","flag"],"unicode":"🇳🇴"},{"annotation":"flag: Nepal","group":9,"hexcode":"1F1F3-1F1F5","order":4503,"tags":["NP","flag"],"unicode":"🇳🇵"},{"annotation":"flag: Nauru","group":9,"hexcode":"1F1F3-1F1F7","order":4504,"tags":["NR","flag"],"unicode":"🇳🇷"},{"annotation":"flag: Niue","group":9,"hexcode":"1F1F3-1F1FA","order":4505,"tags":["NU","flag"],"unicode":"🇳🇺"},{"annotation":"flag: New Zealand","group":9,"hexcode":"1F1F3-1F1FF","order":4506,"tags":["NZ","flag"],"unicode":"🇳🇿"},{"annotation":"flag: Oman","group":9,"hexcode":"1F1F4-1F1F2","order":4507,"tags":["OM","flag"],"unicode":"🇴🇲"},{"annotation":"flag: Panama","group":9,"hexcode":"1F1F5-1F1E6","order":4508,"tags":["PA","flag"],"unicode":"🇵🇦"},{"annotation":"flag: Peru","group":9,"hexcode":"1F1F5-1F1EA","order":4509,"tags":["PE","flag"],"unicode":"🇵🇪"},{"annotation":"flag: French Polynesia","group":9,"hexcode":"1F1F5-1F1EB","order":4510,"tags":["PF","flag"],"unicode":"🇵🇫"},{"annotation":"flag: Papua New Guinea","group":9,"hexcode":"1F1F5-1F1EC","order":4511,"tags":["PG","flag"],"unicode":"🇵🇬"},{"annotation":"flag: Philippines","group":9,"hexcode":"1F1F5-1F1ED","order":4512,"tags":["PH","flag"],"unicode":"🇵🇭"},{"annotation":"flag: Pakistan","group":9,"hexcode":"1F1F5-1F1F0","order":4513,"tags":["PK","flag"],"unicode":"🇵🇰"},{"annotation":"flag: Poland","group":9,"hexcode":"1F1F5-1F1F1","order":4514,"tags":["PL","flag"],"unicode":"🇵🇱"},{"annotation":"flag: St. Pierre & Miquelon","group":9,"hexcode":"1F1F5-1F1F2","order":4515,"tags":["PM","flag"],"unicode":"🇵🇲"},{"annotation":"flag: Pitcairn Islands","group":9,"hexcode":"1F1F5-1F1F3","order":4516,"tags":["PN","flag"],"unicode":"🇵🇳"},{"annotation":"flag: Puerto Rico","group":9,"hexcode":"1F1F5-1F1F7","order":4517,"tags":["PR","flag"],"unicode":"🇵🇷"},{"annotation":"flag: Palestinian Territories","group":9,"hexcode":"1F1F5-1F1F8","order":4518,"tags":["PS","flag"],"unicode":"🇵🇸"},{"annotation":"flag: Portugal","group":9,"hexcode":"1F1F5-1F1F9","order":4519,"tags":["PT","flag"],"unicode":"🇵🇹"},{"annotation":"flag: Palau","group":9,"hexcode":"1F1F5-1F1FC","order":4520,"tags":["PW","flag"],"unicode":"🇵🇼"},{"annotation":"flag: Paraguay","group":9,"hexcode":"1F1F5-1F1FE","order":4521,"tags":["PY","flag"],"unicode":"🇵🇾"},{"annotation":"flag: Qatar","group":9,"hexcode":"1F1F6-1F1E6","order":4522,"tags":["QA","flag"],"unicode":"🇶🇦"},{"annotation":"flag: Réunion","group":9,"hexcode":"1F1F7-1F1EA","order":4523,"tags":["RE","flag"],"unicode":"🇷🇪"},{"annotation":"flag: Romania","group":9,"hexcode":"1F1F7-1F1F4","order":4524,"tags":["RO","flag"],"unicode":"🇷🇴"},{"annotation":"flag: Serbia","group":9,"hexcode":"1F1F7-1F1F8","order":4525,"tags":["RS","flag"],"unicode":"🇷🇸"},{"annotation":"flag: Russia","group":9,"hexcode":"1F1F7-1F1FA","order":4526,"tags":["RU","flag"],"unicode":"🇷🇺"},{"annotation":"flag: Rwanda","group":9,"hexcode":"1F1F7-1F1FC","order":4527,"tags":["RW","flag"],"unicode":"🇷🇼"},{"annotation":"flag: Saudi Arabia","group":9,"hexcode":"1F1F8-1F1E6","order":4528,"tags":["SA","flag"],"unicode":"🇸🇦"},{"annotation":"flag: Solomon Islands","group":9,"hexcode":"1F1F8-1F1E7","order":4529,"tags":["SB","flag"],"unicode":"🇸🇧"},{"annotation":"flag: Seychelles","group":9,"hexcode":"1F1F8-1F1E8","order":4530,"tags":["SC","flag"],"unicode":"🇸🇨"},{"annotation":"flag: Sudan","group":9,"hexcode":"1F1F8-1F1E9","order":4531,"tags":["SD","flag"],"unicode":"🇸🇩"},{"annotation":"flag: Sweden","group":9,"hexcode":"1F1F8-1F1EA","order":4532,"tags":["SE","flag"],"unicode":"🇸🇪"},{"annotation":"flag: Singapore","group":9,"hexcode":"1F1F8-1F1EC","order":4533,"tags":["SG","flag"],"unicode":"🇸🇬"},{"annotation":"flag: St. Helena","group":9,"hexcode":"1F1F8-1F1ED","order":4534,"tags":["SH","flag"],"unicode":"🇸🇭"},{"annotation":"flag: Slovenia","group":9,"hexcode":"1F1F8-1F1EE","order":4535,"tags":["SI","flag"],"unicode":"🇸🇮"},{"annotation":"flag: Svalbard & Jan Mayen","group":9,"hexcode":"1F1F8-1F1EF","order":4536,"tags":["SJ","flag"],"unicode":"🇸🇯"},{"annotation":"flag: Slovakia","group":9,"hexcode":"1F1F8-1F1F0","order":4537,"tags":["SK","flag"],"unicode":"🇸🇰"},{"annotation":"flag: Sierra Leone","group":9,"hexcode":"1F1F8-1F1F1","order":4538,"tags":["SL","flag"],"unicode":"🇸🇱"},{"annotation":"flag: San Marino","group":9,"hexcode":"1F1F8-1F1F2","order":4539,"tags":["SM","flag"],"unicode":"🇸🇲"},{"annotation":"flag: Senegal","group":9,"hexcode":"1F1F8-1F1F3","order":4540,"tags":["SN","flag"],"unicode":"🇸🇳"},{"annotation":"flag: Somalia","group":9,"hexcode":"1F1F8-1F1F4","order":4541,"tags":["SO","flag"],"unicode":"🇸🇴"},{"annotation":"flag: Suriname","group":9,"hexcode":"1F1F8-1F1F7","order":4542,"tags":["SR","flag"],"unicode":"🇸🇷"},{"annotation":"flag: South Sudan","group":9,"hexcode":"1F1F8-1F1F8","order":4543,"tags":["SS","flag"],"unicode":"🇸🇸"},{"annotation":"flag: São Tomé & Príncipe","group":9,"hexcode":"1F1F8-1F1F9","order":4544,"tags":["ST","flag"],"unicode":"🇸🇹"},{"annotation":"flag: El Salvador","group":9,"hexcode":"1F1F8-1F1FB","order":4545,"tags":["SV","flag"],"unicode":"🇸🇻"},{"annotation":"flag: Sint Maarten","group":9,"hexcode":"1F1F8-1F1FD","order":4546,"tags":["SX","flag"],"unicode":"🇸🇽"},{"annotation":"flag: Syria","group":9,"hexcode":"1F1F8-1F1FE","order":4547,"tags":["SY","flag"],"unicode":"🇸🇾"},{"annotation":"flag: Eswatini","group":9,"hexcode":"1F1F8-1F1FF","order":4548,"tags":["SZ","flag"],"unicode":"🇸🇿"},{"annotation":"flag: Tristan da Cunha","group":9,"hexcode":"1F1F9-1F1E6","order":4549,"tags":["TA","flag"],"unicode":"🇹🇦"},{"annotation":"flag: Turks & Caicos Islands","group":9,"hexcode":"1F1F9-1F1E8","order":4550,"tags":["TC","flag"],"unicode":"🇹🇨"},{"annotation":"flag: Chad","group":9,"hexcode":"1F1F9-1F1E9","order":4551,"tags":["TD","flag"],"unicode":"🇹🇩"},{"annotation":"flag: French Southern Territories","group":9,"hexcode":"1F1F9-1F1EB","order":4552,"tags":["TF","flag"],"unicode":"🇹🇫"},{"annotation":"flag: Togo","group":9,"hexcode":"1F1F9-1F1EC","order":4553,"tags":["TG","flag"],"unicode":"🇹🇬"},{"annotation":"flag: Thailand","group":9,"hexcode":"1F1F9-1F1ED","order":4554,"tags":["TH","flag"],"unicode":"🇹🇭"},{"annotation":"flag: Tajikistan","group":9,"hexcode":"1F1F9-1F1EF","order":4555,"tags":["TJ","flag"],"unicode":"🇹🇯"},{"annotation":"flag: Tokelau","group":9,"hexcode":"1F1F9-1F1F0","order":4556,"tags":["TK","flag"],"unicode":"🇹🇰"},{"annotation":"flag: Timor-Leste","group":9,"hexcode":"1F1F9-1F1F1","order":4557,"tags":["TL","flag"],"unicode":"🇹🇱"},{"annotation":"flag: Turkmenistan","group":9,"hexcode":"1F1F9-1F1F2","order":4558,"tags":["TM","flag"],"unicode":"🇹🇲"},{"annotation":"flag: Tunisia","group":9,"hexcode":"1F1F9-1F1F3","order":4559,"tags":["TN","flag"],"unicode":"🇹🇳"},{"annotation":"flag: Tonga","group":9,"hexcode":"1F1F9-1F1F4","order":4560,"tags":["TO","flag"],"unicode":"🇹🇴"},{"annotation":"flag: Turkey","group":9,"hexcode":"1F1F9-1F1F7","order":4561,"tags":["TR","flag"],"unicode":"🇹🇷"},{"annotation":"flag: Trinidad & Tobago","group":9,"hexcode":"1F1F9-1F1F9","order":4562,"tags":["TT","flag"],"unicode":"🇹🇹"},{"annotation":"flag: Tuvalu","group":9,"hexcode":"1F1F9-1F1FB","order":4563,"tags":["TV","flag"],"unicode":"🇹🇻"},{"annotation":"flag: Taiwan","group":9,"hexcode":"1F1F9-1F1FC","order":4564,"tags":["TW","flag"],"unicode":"🇹🇼"},{"annotation":"flag: Tanzania","group":9,"hexcode":"1F1F9-1F1FF","order":4565,"tags":["TZ","flag"],"unicode":"🇹🇿"},{"annotation":"flag: Ukraine","group":9,"hexcode":"1F1FA-1F1E6","order":4566,"tags":["UA","flag"],"unicode":"🇺🇦"},{"annotation":"flag: Uganda","group":9,"hexcode":"1F1FA-1F1EC","order":4567,"tags":["UG","flag"],"unicode":"🇺🇬"},{"annotation":"flag: U.S. Outlying Islands","group":9,"hexcode":"1F1FA-1F1F2","order":4568,"tags":["UM","flag"],"unicode":"🇺🇲"},{"annotation":"flag: United Nations","group":9,"hexcode":"1F1FA-1F1F3","order":4569,"tags":["UN","flag"],"unicode":"🇺🇳"},{"annotation":"flag: United States","group":9,"hexcode":"1F1FA-1F1F8","order":4570,"tags":["US","flag"],"unicode":"🇺🇸"},{"annotation":"flag: Uruguay","group":9,"hexcode":"1F1FA-1F1FE","order":4571,"tags":["UY","flag"],"unicode":"🇺🇾"},{"annotation":"flag: Uzbekistan","group":9,"hexcode":"1F1FA-1F1FF","order":4572,"tags":["UZ","flag"],"unicode":"🇺🇿"},{"annotation":"flag: Vatican City","group":9,"hexcode":"1F1FB-1F1E6","order":4573,"tags":["VA","flag"],"unicode":"🇻🇦"},{"annotation":"flag: St. Vincent & Grenadines","group":9,"hexcode":"1F1FB-1F1E8","order":4574,"tags":["VC","flag"],"unicode":"🇻🇨"},{"annotation":"flag: Venezuela","group":9,"hexcode":"1F1FB-1F1EA","order":4575,"tags":["VE","flag"],"unicode":"🇻🇪"},{"annotation":"flag: British Virgin Islands","group":9,"hexcode":"1F1FB-1F1EC","order":4576,"tags":["VG","flag"],"unicode":"🇻🇬"},{"annotation":"flag: U.S. Virgin Islands","group":9,"hexcode":"1F1FB-1F1EE","order":4577,"tags":["VI","flag"],"unicode":"🇻🇮"},{"annotation":"flag: Vietnam","group":9,"hexcode":"1F1FB-1F1F3","order":4578,"tags":["VN","flag"],"unicode":"🇻🇳"},{"annotation":"flag: Vanuatu","group":9,"hexcode":"1F1FB-1F1FA","order":4579,"tags":["VU","flag"],"unicode":"🇻🇺"},{"annotation":"flag: Wallis & Futuna","group":9,"hexcode":"1F1FC-1F1EB","order":4580,"tags":["WF","flag"],"unicode":"🇼🇫"},{"annotation":"flag: Samoa","group":9,"hexcode":"1F1FC-1F1F8","order":4581,"tags":["WS","flag"],"unicode":"🇼🇸"},{"annotation":"flag: Kosovo","group":9,"hexcode":"1F1FD-1F1F0","order":4582,"tags":["XK","flag"],"unicode":"🇽🇰"},{"annotation":"flag: Yemen","group":9,"hexcode":"1F1FE-1F1EA","order":4583,"tags":["YE","flag"],"unicode":"🇾🇪"},{"annotation":"flag: Mayotte","group":9,"hexcode":"1F1FE-1F1F9","order":4584,"tags":["YT","flag"],"unicode":"🇾🇹"},{"annotation":"flag: South Africa","group":9,"hexcode":"1F1FF-1F1E6","order":4585,"tags":["ZA","flag"],"unicode":"🇿🇦"},{"annotation":"flag: Zambia","group":9,"hexcode":"1F1FF-1F1F2","order":4586,"tags":["ZM","flag"],"unicode":"🇿🇲"},{"annotation":"flag: Zimbabwe","group":9,"hexcode":"1F1FF-1F1FC","order":4587,"tags":["ZW","flag"],"unicode":"🇿🇼"},{"annotation":"flag: England","group":9,"hexcode":"1F3F4-E0067-E0062-E0065-E006E-E0067-E007F","order":4588,"tags":["flag","gbeng"],"unicode":"🏴󠁧󠁢󠁥󠁮󠁧󠁿"},{"annotation":"flag: Scotland","group":9,"hexcode":"1F3F4-E0067-E0062-E0073-E0063-E0074-E007F","order":4589,"tags":["flag","gbsct"],"unicode":"🏴󠁧󠁢󠁳󠁣󠁴󠁿"},{"annotation":"flag: Wales","group":9,"hexcode":"1F3F4-E0067-E0062-E0077-E006C-E0073-E007F","order":4590,"tags":["flag","gbwls"],"unicode":"🏴󠁧󠁢󠁷󠁬󠁳󠁿"}]'),ns=JSON.parse('{"2049":"interrobang","2122":"tm","2139":"information_source","2194":"left_right_arrow","2195":"arrow_up_down","2196":"arrow_upper_left","2197":"arrow_upper_right","2198":"arrow_lower_right","2199":"arrow_lower_left","2328":"keyboard","2600":"sunny","2601":"cloud","2602":"umbrella2","2603":"snowman2","2604":"comet","2611":"ballot_box_with_check","2614":"umbrella","2615":"coffee","2618":"shamrock","2620":["skull_crossbones","skull_and_crossbones"],"2622":["radioactive","radioactive_sign"],"2623":["biohazard","biohazard_sign"],"2626":"orthodox_cross","2638":"wheel_of_dharma","2639":["frowning2","white_frowning_face"],"2640":"female_sign","2642":"male_sign","2648":"aries","2649":"taurus","2650":"sagittarius","2651":"capricorn","2652":"aquarius","2653":"pisces","2660":"spades","2663":"clubs","2665":"hearts","2666":"diamonds","2668":"hotsprings","2692":["hammer_pick","hammer_and_pick"],"2693":"anchor","2694":"crossed_swords","2695":"medical_symbol","2696":"scales","2697":"alembic","2699":"gear","2702":"scissors","2705":"white_check_mark","2708":"airplane","2709":"envelope","2712":"black_nib","2714":"heavy_check_mark","2716":"heavy_multiplication_x","2721":"star_of_david","2728":"sparkles","2733":"eight_spoked_asterisk","2734":"eight_pointed_black_star","2744":"snowflake","2747":"sparkle","2753":"question","2754":"grey_question","2755":"grey_exclamation","2757":"exclamation","2763":["heart_exclamation","heavy_heart_exclamation_mark_ornament"],"2764":"heart","2795":"heavy_plus_sign","2796":"heavy_minus_sign","2797":"heavy_division_sign","2934":"arrow_heading_up","2935":"arrow_heading_down","3030":"wavy_dash","3297":"congratulations","3299":"secret","1F600":"grinning","1F603":"smiley","1F604":"smile","1F601":"grin","1F606":["laughing","satisfied"],"1F605":"sweat_smile","1F602":"joy","1F923":["rofl","rolling_on_the_floor_laughing"],"263A":"relaxed","1F60A":"blush","1F607":"innocent","1F642":["slight_smile","slightly_smiling_face"],"1F643":["upside_down","upside_down_face"],"1F609":"wink","1F60C":"relieved","1F972":"smiling_face_with_tear","1F60D":"heart_eyes","1F970":"smiling_face_with_3_hearts","1F618":"kissing_heart","1F617":"kissing","1F619":"kissing_smiling_eyes","1F61A":"kissing_closed_eyes","1F60B":"yum","1F61B":"stuck_out_tongue","1F61D":"stuck_out_tongue_closed_eyes","1F61C":"stuck_out_tongue_winking_eye","1F92A":"zany_face","1F928":"face_with_raised_eyebrow","1F9D0":"face_with_monocle","1F913":["nerd","nerd_face"],"1F60E":"sunglasses","1F929":"star_struck","1F973":"partying_face","1F60F":"smirk","1F612":"unamused","1F61E":"disappointed","1F614":"pensive","1F61F":"worried","1F615":"confused","1F641":["slight_frown","slightly_frowning_face"],"1F623":"persevere","1F616":"confounded","1F62B":"tired_face","1F629":"weary","1F97A":"pleading_face","1F622":"cry","1F62D":"sob","1F624":"triumph","1F62E-200D-1F4A8":"face_exhaling","1F620":"angry","1F621":"rage","1F92C":"face_with_symbols_over_mouth","1F92F":"exploding_head","1F633":"flushed","1F636-200D-1F32B-FE0F":"face_in_clouds","1F975":"hot_face","1F976":"cold_face","1F631":"scream","1F628":"fearful","1F630":"cold_sweat","1F625":"disappointed_relieved","1F613":"sweat","1F917":["hugging","hugging_face"],"1F914":["thinking","thinking_face"],"1F92D":"face_with_hand_over_mouth","1F971":"yawning_face","1F92B":"shushing_face","1F925":["lying_face","liar"],"1F636":"no_mouth","1F610":"neutral_face","1F611":"expressionless","1F62C":"grimacing","1F644":["rolling_eyes","face_with_rolling_eyes"],"1F62F":"hushed","1F626":"frowning","1F627":"anguished","1F62E":"open_mouth","1F632":"astonished","1F634":"sleeping","1F924":["drooling_face","drool"],"1F62A":"sleepy","1F635":"dizzy_face","1F635-200D-1F4AB":"face_with_spiral_eyes","1F910":["zipper_mouth","zipper_mouth_face"],"1F974":"woozy_face","1F922":["nauseated_face","sick"],"1F92E":"face_vomiting","1F927":["sneezing_face","sneeze"],"1F637":"mask","1F912":["thermometer_face","face_with_thermometer"],"1F915":["head_bandage","face_with_head_bandage"],"1F911":["money_mouth","money_mouth_face"],"1F920":["cowboy","face_with_cowboy_hat"],"1F978":"disguised_face","1F608":"smiling_imp","1F47F":"imp","1F479":"japanese_ogre","1F47A":"japanese_goblin","1F921":["clown","clown_face"],"1F4A9":["poop","shit","hankey","poo"],"1F47B":"ghost","1F480":["skull","skeleton"],"1F47D":"alien","1F47E":"space_invader","1F916":["robot","robot_face"],"1F383":"jack_o_lantern","1F63A":"smiley_cat","1F638":"smile_cat","1F639":"joy_cat","1F63B":"heart_eyes_cat","1F63C":"smirk_cat","1F63D":"kissing_cat","1F640":"scream_cat","1F63F":"crying_cat_face","1F63E":"pouting_cat","1F932":"palms_up_together","1F932-1F3FB":["palms_up_together_tone1","palms_up_together_light_skin_tone"],"1F932-1F3FC":["palms_up_together_tone2","palms_up_together_medium_light_skin_tone"],"1F932-1F3FD":["palms_up_together_tone3","palms_up_together_medium_skin_tone"],"1F932-1F3FE":["palms_up_together_tone4","palms_up_together_medium_dark_skin_tone"],"1F932-1F3FF":["palms_up_together_tone5","palms_up_together_dark_skin_tone"],"1F450":"open_hands","1F450-1F3FB":"open_hands_tone1","1F450-1F3FC":"open_hands_tone2","1F450-1F3FD":"open_hands_tone3","1F450-1F3FE":"open_hands_tone4","1F450-1F3FF":"open_hands_tone5","1F64C":"raised_hands","1F64C-1F3FB":"raised_hands_tone1","1F64C-1F3FC":"raised_hands_tone2","1F64C-1F3FD":"raised_hands_tone3","1F64C-1F3FE":"raised_hands_tone4","1F64C-1F3FF":"raised_hands_tone5","1F44F":"clap","1F44F-1F3FB":"clap_tone1","1F44F-1F3FC":"clap_tone2","1F44F-1F3FD":"clap_tone3","1F44F-1F3FE":"clap_tone4","1F44F-1F3FF":"clap_tone5","1F91D":["handshake","shaking_hands"],"1F44D":["thumbsup","+1","thumbup"],"1F44D-1F3FB":["thumbsup_tone1","+1_tone1","thumbup_tone1"],"1F44D-1F3FC":["thumbsup_tone2","+1_tone2","thumbup_tone2"],"1F44D-1F3FD":["thumbsup_tone3","+1_tone3","thumbup_tone3"],"1F44D-1F3FE":["thumbsup_tone4","+1_tone4","thumbup_tone4"],"1F44D-1F3FF":["thumbsup_tone5","+1_tone5","thumbup_tone5"],"1F44E":["thumbsdown","-1","thumbdown"],"1F44E-1F3FB":["thumbsdown_tone1","-1_tone1","thumbdown_tone1"],"1F44E-1F3FC":["thumbsdown_tone2","-1_tone2","thumbdown_tone2"],"1F44E-1F3FD":["thumbsdown_tone3","-1_tone3","thumbdown_tone3"],"1F44E-1F3FE":["thumbsdown_tone4","-1_tone4","thumbdown_tone4"],"1F44E-1F3FF":["thumbsdown_tone5","-1_tone5","thumbdown_tone5"],"1F44A":"punch","1F44A-1F3FB":"punch_tone1","1F44A-1F3FC":"punch_tone2","1F44A-1F3FD":"punch_tone3","1F44A-1F3FE":"punch_tone4","1F44A-1F3FF":"punch_tone5","270A":"fist","270A-1F3FB":"fist_tone1","270A-1F3FC":"fist_tone2","270A-1F3FD":"fist_tone3","270A-1F3FE":"fist_tone4","270A-1F3FF":"fist_tone5","1F91B":["left_facing_fist","left_fist"],"1F91B-1F3FB":["left_facing_fist_tone1","left_fist_tone1"],"1F91B-1F3FC":["left_facing_fist_tone2","left_fist_tone2"],"1F91B-1F3FD":["left_facing_fist_tone3","left_fist_tone3"],"1F91B-1F3FE":["left_facing_fist_tone4","left_fist_tone4"],"1F91B-1F3FF":["left_facing_fist_tone5","left_fist_tone5"],"1F91C":["right_facing_fist","right_fist"],"1F91C-1F3FB":["right_facing_fist_tone1","right_fist_tone1"],"1F91C-1F3FC":["right_facing_fist_tone2","right_fist_tone2"],"1F91C-1F3FD":["right_facing_fist_tone3","right_fist_tone3"],"1F91C-1F3FE":["right_facing_fist_tone4","right_fist_tone4"],"1F91C-1F3FF":["right_facing_fist_tone5","right_fist_tone5"],"1F91E":["fingers_crossed","hand_with_index_and_middle_finger_crossed"],"1F91E-1F3FB":["fingers_crossed_tone1","hand_with_index_and_middle_fingers_crossed_tone1"],"1F91E-1F3FC":["fingers_crossed_tone2","hand_with_index_and_middle_fingers_crossed_tone2"],"1F91E-1F3FD":["fingers_crossed_tone3","hand_with_index_and_middle_fingers_crossed_tone3"],"1F91E-1F3FE":["fingers_crossed_tone4","hand_with_index_and_middle_fingers_crossed_tone4"],"1F91E-1F3FF":["fingers_crossed_tone5","hand_with_index_and_middle_fingers_crossed_tone5"],"270C":"v","270C-1F3FB":"v_tone1","270C-1F3FC":"v_tone2","270C-1F3FD":"v_tone3","270C-1F3FE":"v_tone4","270C-1F3FF":"v_tone5","1F91F":"love_you_gesture","1F91F-1F3FB":["love_you_gesture_tone1","love_you_gesture_light_skin_tone"],"1F91F-1F3FC":["love_you_gesture_tone2","love_you_gesture_medium_light_skin_tone"],"1F91F-1F3FD":["love_you_gesture_tone3","love_you_gesture_medium_skin_tone"],"1F91F-1F3FE":["love_you_gesture_tone4","love_you_gesture_medium_dark_skin_tone"],"1F91F-1F3FF":["love_you_gesture_tone5","love_you_gesture_dark_skin_tone"],"1F918":["metal","sign_of_the_horns"],"1F918-1F3FB":["metal_tone1","sign_of_the_horns_tone1"],"1F918-1F3FC":["metal_tone2","sign_of_the_horns_tone2"],"1F918-1F3FD":["metal_tone3","sign_of_the_horns_tone3"],"1F918-1F3FE":["metal_tone4","sign_of_the_horns_tone4"],"1F918-1F3FF":["metal_tone5","sign_of_the_horns_tone5"],"1F44C":"ok_hand","1F44C-1F3FB":"ok_hand_tone1","1F44C-1F3FC":"ok_hand_tone2","1F44C-1F3FD":"ok_hand_tone3","1F44C-1F3FE":"ok_hand_tone4","1F44C-1F3FF":"ok_hand_tone5","1F90F":"pinching_hand","1F90F-1F3FB":["pinching_hand_tone1","pinching_hand_light_skin_tone"],"1F90F-1F3FC":["pinching_hand_tone2","pinching_hand_medium_light_skin_tone"],"1F90F-1F3FD":["pinching_hand_tone3","pinching_hand_medium_skin_tone"],"1F90F-1F3FE":["pinching_hand_tone4","pinching_hand_medium_dark_skin_tone"],"1F90F-1F3FF":["pinching_hand_tone5","pinching_hand_dark_skin_tone"],"1F90C":"pinched_fingers","1F90C-1F3FC":["pinched_fingers_tone2","pinched_fingers_medium_light_skin_tone"],"1F90C-1F3FB":["pinched_fingers_tone1","pinched_fingers_light_skin_tone"],"1F90C-1F3FD":["pinched_fingers_tone3","pinched_fingers_medium_skin_tone"],"1F90C-1F3FE":["pinched_fingers_tone4","pinched_fingers_medium_dark_skin_tone"],"1F90C-1F3FF":["pinched_fingers_tone5","pinched_fingers_dark_skin_tone"],"1F448":"point_left","1F448-1F3FB":"point_left_tone1","1F448-1F3FC":"point_left_tone2","1F448-1F3FD":"point_left_tone3","1F448-1F3FE":"point_left_tone4","1F448-1F3FF":"point_left_tone5","1F449":"point_right","1F449-1F3FB":"point_right_tone1","1F449-1F3FC":"point_right_tone2","1F449-1F3FD":"point_right_tone3","1F449-1F3FE":"point_right_tone4","1F449-1F3FF":"point_right_tone5","1F446":"point_up_2","1F446-1F3FB":"point_up_2_tone1","1F446-1F3FC":"point_up_2_tone2","1F446-1F3FD":"point_up_2_tone3","1F446-1F3FE":"point_up_2_tone4","1F446-1F3FF":"point_up_2_tone5","1F447":"point_down","1F447-1F3FB":"point_down_tone1","1F447-1F3FC":"point_down_tone2","1F447-1F3FD":"point_down_tone3","1F447-1F3FE":"point_down_tone4","1F447-1F3FF":"point_down_tone5","261D":"point_up","261D-1F3FB":"point_up_tone1","261D-1F3FC":"point_up_tone2","261D-1F3FD":"point_up_tone3","261D-1F3FE":"point_up_tone4","261D-1F3FF":"point_up_tone5","270B":"raised_hand","270B-1F3FB":"raised_hand_tone1","270B-1F3FC":"raised_hand_tone2","270B-1F3FD":"raised_hand_tone3","270B-1F3FE":"raised_hand_tone4","270B-1F3FF":"raised_hand_tone5","1F91A":["raised_back_of_hand","back_of_hand"],"1F91A-1F3FB":["raised_back_of_hand_tone1","back_of_hand_tone1"],"1F91A-1F3FC":["raised_back_of_hand_tone2","back_of_hand_tone2"],"1F91A-1F3FD":["raised_back_of_hand_tone3","back_of_hand_tone3"],"1F91A-1F3FE":["raised_back_of_hand_tone4","back_of_hand_tone4"],"1F91A-1F3FF":["raised_back_of_hand_tone5","back_of_hand_tone5"],"1F590":["hand_splayed","raised_hand_with_fingers_splayed"],"1F590-1F3FB":["hand_splayed_tone1","raised_hand_with_fingers_splayed_tone1"],"1F590-1F3FC":["hand_splayed_tone2","raised_hand_with_fingers_splayed_tone2"],"1F590-1F3FD":["hand_splayed_tone3","raised_hand_with_fingers_splayed_tone3"],"1F590-1F3FE":["hand_splayed_tone4","raised_hand_with_fingers_splayed_tone4"],"1F590-1F3FF":["hand_splayed_tone5","raised_hand_with_fingers_splayed_tone5"],"1F596":["vulcan","raised_hand_with_part_between_middle_and_ring_fingers"],"1F596-1F3FB":["vulcan_tone1","raised_hand_with_part_between_middle_and_ring_fingers_tone1"],"1F596-1F3FC":["vulcan_tone2","raised_hand_with_part_between_middle_and_ring_fingers_tone2"],"1F596-1F3FD":["vulcan_tone3","raised_hand_with_part_between_middle_and_ring_fingers_tone3"],"1F596-1F3FE":["vulcan_tone4","raised_hand_with_part_between_middle_and_ring_fingers_tone4"],"1F596-1F3FF":["vulcan_tone5","raised_hand_with_part_between_middle_and_ring_fingers_tone5"],"1F44B":"wave","1F44B-1F3FB":"wave_tone1","1F44B-1F3FC":"wave_tone2","1F44B-1F3FD":"wave_tone3","1F44B-1F3FE":"wave_tone4","1F44B-1F3FF":"wave_tone5","1F919":["call_me","call_me_hand"],"1F919-1F3FB":["call_me_tone1","call_me_hand_tone1"],"1F919-1F3FC":["call_me_tone2","call_me_hand_tone2"],"1F919-1F3FD":["call_me_tone3","call_me_hand_tone3"],"1F919-1F3FE":["call_me_tone4","call_me_hand_tone4"],"1F919-1F3FF":["call_me_tone5","call_me_hand_tone5"],"1F4AA":"muscle","1F4AA-1F3FB":"muscle_tone1","1F4AA-1F3FC":"muscle_tone2","1F4AA-1F3FD":"muscle_tone3","1F4AA-1F3FE":"muscle_tone4","1F4AA-1F3FF":"muscle_tone5","1F9BE":"mechanical_arm","1F595":["middle_finger","reversed_hand_with_middle_finger_extended"],"1F595-1F3FB":["middle_finger_tone1","reversed_hand_with_middle_finger_extended_tone1"],"1F595-1F3FC":["middle_finger_tone2","reversed_hand_with_middle_finger_extended_tone2"],"1F595-1F3FD":["middle_finger_tone3","reversed_hand_with_middle_finger_extended_tone3"],"1F595-1F3FE":["middle_finger_tone4","reversed_hand_with_middle_finger_extended_tone4"],"1F595-1F3FF":["middle_finger_tone5","reversed_hand_with_middle_finger_extended_tone5"],"270D":"writing_hand","270D-1F3FB":"writing_hand_tone1","270D-1F3FC":"writing_hand_tone2","270D-1F3FD":"writing_hand_tone3","270D-1F3FE":"writing_hand_tone4","270D-1F3FF":"writing_hand_tone5","1F64F":"pray","1F64F-1F3FB":"pray_tone1","1F64F-1F3FC":"pray_tone2","1F64F-1F3FD":"pray_tone3","1F64F-1F3FE":"pray_tone4","1F64F-1F3FF":"pray_tone5","1F9B6":"foot","1F9B6-1F3FB":["foot_tone1","foot_light_skin_tone"],"1F9B6-1F3FC":["foot_tone2","foot_medium_light_skin_tone"],"1F9B6-1F3FD":["foot_tone3","foot_medium_skin_tone"],"1F9B6-1F3FE":["foot_tone4","foot_medium_dark_skin_tone"],"1F9B6-1F3FF":["foot_tone5","foot_dark_skin_tone"],"1F9B5":"leg","1F9B5-1F3FB":["leg_tone1","leg_light_skin_tone"],"1F9B5-1F3FC":["leg_tone2","leg_medium_light_skin_tone"],"1F9B5-1F3FD":["leg_tone3","leg_medium_skin_tone"],"1F9B5-1F3FE":["leg_tone4","leg_medium_dark_skin_tone"],"1F9B5-1F3FF":["leg_tone5","leg_dark_skin_tone"],"1F9BF":"mechanical_leg","1F484":"lipstick","1F48B":"kiss","1F444":"lips","1F9B7":"tooth","1F445":"tongue","1F442":"ear","1F442-1F3FB":"ear_tone1","1F442-1F3FC":"ear_tone2","1F9D1-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FE":["kiss_person_person_tone5_tone4","kiss_person_person_dark_skin_tone_medium_dark_skin_tone"],"1F442-1F3FD":"ear_tone3","1F442-1F3FE":"ear_tone4","1F442-1F3FF":"ear_tone5","1F9BB":"ear_with_hearing_aid","1F9BB-1F3FB":["ear_with_hearing_aid_tone1","ear_with_hearing_aid_light_skin_tone"],"1F9BB-1F3FC":["ear_with_hearing_aid_tone2","ear_with_hearing_aid_medium_light_skin_tone"],"1F9BB-1F3FD":["ear_with_hearing_aid_tone3","ear_with_hearing_aid_medium_skin_tone"],"1F9BB-1F3FE":["ear_with_hearing_aid_tone4","ear_with_hearing_aid_medium_dark_skin_tone"],"1F9BB-1F3FF":["ear_with_hearing_aid_tone5","ear_with_hearing_aid_dark_skin_tone"],"1F443":"nose","1F443-1F3FB":"nose_tone1","1F443-1F3FC":"nose_tone2","1F443-1F3FD":"nose_tone3","1F443-1F3FE":"nose_tone4","1F443-1F3FF":"nose_tone5","1F463":"footprints","1F441":"eye","1F440":"eyes","1F9E0":"brain","1FAC0":"anatomical_heart","1FAC1":"lungs","1F9B4":"bone","1F5E3":["speaking_head","speaking_head_in_silhouette"],"1F464":"bust_in_silhouette","1F465":"busts_in_silhouette","1FAC2":"people_hugging","1F476":"baby","1F476-1F3FB":"baby_tone1","1F476-1F3FC":"baby_tone2","1F476-1F3FD":"baby_tone3","1F476-1F3FE":"baby_tone4","1F476-1F3FF":"baby_tone5","1F467":"girl","1F467-1F3FB":"girl_tone1","1F467-1F3FC":"girl_tone2","1F467-1F3FD":"girl_tone3","1F467-1F3FE":"girl_tone4","1F467-1F3FF":"girl_tone5","1F9D2":"child","1F9D2-1F3FB":["child_tone1","child_light_skin_tone"],"1F9D2-1F3FC":["child_tone2","child_medium_light_skin_tone"],"1F9D2-1F3FD":["child_tone3","child_medium_skin_tone"],"1F9D2-1F3FE":["child_tone4","child_medium_dark_skin_tone"],"1F9D2-1F3FF":["child_tone5","child_dark_skin_tone"],"1F466":"boy","1F466-1F3FB":"boy_tone1","1F466-1F3FC":"boy_tone2","1F466-1F3FD":"boy_tone3","1F466-1F3FE":"boy_tone4","1F466-1F3FF":"boy_tone5","1F469":"woman","1F469-1F3FB":"woman_tone1","1F469-1F3FC":"woman_tone2","1F469-1F3FD":"woman_tone3","1F469-1F3FE":"woman_tone4","1F469-1F3FF":"woman_tone5","1F9D1":"adult","1F9D1-1F3FB":["adult_tone1","adult_light_skin_tone"],"1F9D1-1F3FC":["adult_tone2","adult_medium_light_skin_tone"],"1F9D1-1F3FD":["adult_tone3","adult_medium_skin_tone"],"1F9D1-1F3FE":["adult_tone4","adult_medium_dark_skin_tone"],"1F9D1-1F3FF":["adult_tone5","adult_dark_skin_tone"],"1F468":"man","1F468-1F3FB":"man_tone1","1F468-1F3FC":"man_tone2","1F468-1F3FD":"man_tone3","1F468-1F3FE":"man_tone4","1F468-1F3FF":"man_tone5","1F9D1-200D-1F9B1":"person_curly_hair","1F9D1-1F3FB-200D-1F9B1":["person_tone1_curly_hair","person_light_skin_tone_curly_hair"],"1F9D1-1F3FC-200D-1F9B1":["person_tone2_curly_hair","person_medium_light_skin_tone_curly_hair"],"1F9D1-1F3FD-200D-1F9B1":["person_tone3_curly_hair","person_medium_skin_tone_curly_hair"],"1F9D1-1F3FE-200D-1F9B1":["person_tone4_curly_hair","person_medium_dark_skin_tone_curly_hair"],"1F9D1-1F3FF-200D-1F9B1":["person_tone5_curly_hair","person_dark_skin_tone_curly_hair"],"1F469-200D-1F9B1":"woman_curly_haired","1F469-1F3FB-200D-1F9B1":["woman_curly_haired_tone1","woman_curly_haired_light_skin_tone"],"1F469-1F3FC-200D-1F9B1":["woman_curly_haired_tone2","woman_curly_haired_medium_light_skin_tone"],"1F469-1F3FD-200D-1F9B1":["woman_curly_haired_tone3","woman_curly_haired_medium_skin_tone"],"1F469-1F3FE-200D-1F9B1":["woman_curly_haired_tone4","woman_curly_haired_medium_dark_skin_tone"],"1F469-1F3FF-200D-1F9B1":["woman_curly_haired_tone5","woman_curly_haired_dark_skin_tone"],"1F468-200D-1F9B1":"man_curly_haired","1F468-1F3FB-200D-1F9B1":["man_curly_haired_tone1","man_curly_haired_light_skin_tone"],"1F468-1F3FC-200D-1F9B1":["man_curly_haired_tone2","man_curly_haired_medium_light_skin_tone"],"1F468-1F3FD-200D-1F9B1":["man_curly_haired_tone3","man_curly_haired_medium_skin_tone"],"1F468-1F3FE-200D-1F9B1":["man_curly_haired_tone4","man_curly_haired_medium_dark_skin_tone"],"1F468-1F3FF-200D-1F9B1":["man_curly_haired_tone5","man_curly_haired_dark_skin_tone"],"1F9D1-200D-1F9B0":"person_red_hair","1F9D1-1F3FB-200D-1F9B0":["person_tone1_red_hair","person_light_skin_tone_red_hair"],"1F9D1-1F3FC-200D-1F9B0":["person_tone2_red_hair","person_medium_light_skin_tone_red_hair"],"1F9D1-1F3FD-200D-1F9B0":["person_tone3_red_hair","person_medium_skin_tone_red_hair"],"1F9D1-1F3FE-200D-1F9B0":["person_tone4_red_hair","person_medium_dark_skin_tone_red_hair"],"1F9D1-1F3FF-200D-1F9B0":["person_tone5_red_hair","person_dark_skin_tone_red_hair"],"1F469-200D-1F9B0":"woman_red_haired","1F469-1F3FB-200D-1F9B0":["woman_red_haired_tone1","woman_red_haired_light_skin_tone"],"1F469-1F3FC-200D-1F9B0":["woman_red_haired_tone2","woman_red_haired_medium_light_skin_tone"],"1F469-1F3FD-200D-1F9B0":["woman_red_haired_tone3","woman_red_haired_medium_skin_tone"],"1F469-1F3FE-200D-1F9B0":["woman_red_haired_tone4","woman_red_haired_medium_dark_skin_tone"],"1F469-1F3FF-200D-1F9B0":["woman_red_haired_tone5","woman_red_haired_dark_skin_tone"],"1F468-200D-1F9B0":"man_red_haired","1F468-1F3FB-200D-1F9B0":["man_red_haired_tone1","man_red_haired_light_skin_tone"],"1F468-1F3FC-200D-1F9B0":["man_red_haired_tone2","man_red_haired_medium_light_skin_tone"],"1F468-1F3FD-200D-1F9B0":["man_red_haired_tone3","man_red_haired_medium_skin_tone"],"1F468-1F3FE-200D-1F9B0":["man_red_haired_tone4","man_red_haired_medium_dark_skin_tone"],"1F468-1F3FF-200D-1F9B0":["man_red_haired_tone5","man_red_haired_dark_skin_tone"],"1F471-200D-2640-FE0F":"blond-haired_woman","1F471-1F3FB-200D-2640-FE0F":["blond-haired_woman_tone1","blond-haired_woman_light_skin_tone"],"1F471-1F3FC-200D-2640-FE0F":["blond-haired_woman_tone2","blond-haired_woman_medium_light_skin_tone"],"1F471-1F3FD-200D-2640-FE0F":["blond-haired_woman_tone3","blond-haired_woman_medium_skin_tone"],"1F471-1F3FE-200D-2640-FE0F":["blond-haired_woman_tone4","blond-haired_woman_medium_dark_skin_tone"],"1F471-1F3FF-200D-2640-FE0F":["blond-haired_woman_tone5","blond-haired_woman_dark_skin_tone"],"1F471":["blond_haired_person","person_with_blond_hair"],"1F471-1F3FB":["blond_haired_person_tone1","person_with_blond_hair_tone1"],"1F471-1F3FC":["blond_haired_person_tone2","person_with_blond_hair_tone2"],"1F471-1F3FD":["blond_haired_person_tone3","person_with_blond_hair_tone3"],"1F471-1F3FE":["blond_haired_person_tone4","person_with_blond_hair_tone4"],"1F471-1F3FF":["blond_haired_person_tone5","person_with_blond_hair_tone5"],"1F471-200D-2642-FE0F":"blond-haired_man","1F471-1F3FB-200D-2642-FE0F":["blond-haired_man_tone1","blond-haired_man_light_skin_tone"],"1F471-1F3FC-200D-2642-FE0F":["blond-haired_man_tone2","blond-haired_man_medium_light_skin_tone"],"1F471-1F3FD-200D-2642-FE0F":["blond-haired_man_tone3","blond-haired_man_medium_skin_tone"],"1F471-1F3FE-200D-2642-FE0F":["blond-haired_man_tone4","blond-haired_man_medium_dark_skin_tone"],"1F471-1F3FF-200D-2642-FE0F":["blond-haired_man_tone5","blond-haired_man_dark_skin_tone"],"1F9D1-200D-1F9B3":"person_white_hair","1F9D1-1F3FB-200D-1F9B3":["person_tone1_white_hair","person_light_skin_tone_white_hair"],"1F9D1-1F3FC-200D-1F9B3":["person_tone2_white_hair","person_medium_light_skin_tone_white_hair"],"1F9D1-1F3FD-200D-1F9B3":["person_tone3_white_hair","person_medium_skin_tone_white_hair"],"1F9D1-1F3FE-200D-1F9B3":["person_tone4_white_hair","person_medium_dark_skin_tone_white_hair"],"1F9D1-1F3FF-200D-1F9B3":["person_tone5_white_hair","person_dark_skin_tone_white_hair"],"1F469-200D-1F9B3":"woman_white_haired","1F469-1F3FB-200D-1F9B3":["woman_white_haired_tone1","woman_white_haired_light_skin_tone"],"1F469-1F3FC-200D-1F9B3":["woman_white_haired_tone2","woman_white_haired_medium_light_skin_tone"],"1F469-1F3FD-200D-1F9B3":["woman_white_haired_tone3","woman_white_haired_medium_skin_tone"],"1F469-1F3FE-200D-1F9B3":["woman_white_haired_tone4","woman_white_haired_medium_dark_skin_tone"],"1F469-1F3FF-200D-1F9B3":["woman_white_haired_tone5","woman_white_haired_dark_skin_tone"],"1F468-200D-1F9B3":"man_white_haired","1F468-1F3FB-200D-1F9B3":["man_white_haired_tone1","man_white_haired_light_skin_tone"],"1F468-1F3FC-200D-1F9B3":["man_white_haired_tone2","man_white_haired_medium_light_skin_tone"],"1F468-1F3FD-200D-1F9B3":["man_white_haired_tone3","man_white_haired_medium_skin_tone"],"1F468-1F3FE-200D-1F9B3":["man_white_haired_tone4","man_white_haired_medium_dark_skin_tone"],"1F468-1F3FF-200D-1F9B3":["man_white_haired_tone5","man_white_haired_dark_skin_tone"],"1F9D1-200D-1F9B2":"person_bald","1F9D1-1F3FB-200D-1F9B2":["person_tone1_bald","person_light_skin_tone_bald"],"1F9D1-1F3FC-200D-1F9B2":["person_tone2_bald","person_medium_light_skin_tone_bald"],"1F9D1-1F3FD-200D-1F9B2":["person_tone3_bald","person_medium_skin_tone_bald"],"1F9D1-1F3FE-200D-1F9B2":["person_tone4_bald","person_medium_dark_skin_tone_bald"],"1F9D1-1F3FF-200D-1F9B2":["person_tone5_bald","person_dark_skin_tone_bald"],"1F469-200D-1F9B2":"woman_bald","1F469-1F3FB-200D-1F9B2":["woman_bald_tone1","woman_bald_light_skin_tone"],"1F469-1F3FC-200D-1F9B2":["woman_bald_tone2","woman_bald_medium_light_skin_tone"],"1F469-1F3FD-200D-1F9B2":["woman_bald_tone3","woman_bald_medium_skin_tone"],"1F469-1F3FE-200D-1F9B2":["woman_bald_tone4","woman_bald_medium_dark_skin_tone"],"1F469-1F3FF-200D-1F9B2":["woman_bald_tone5","woman_bald_dark_skin_tone"],"1F468-200D-1F9B2":"man_bald","1F468-1F3FB-200D-1F9B2":["man_bald_tone1","man_bald_light_skin_tone"],"1F468-1F3FC-200D-1F9B2":["man_bald_tone2","man_bald_medium_light_skin_tone"],"1F468-1F3FD-200D-1F9B2":["man_bald_tone3","man_bald_medium_skin_tone"],"1F468-1F3FE-200D-1F9B2":["man_bald_tone4","man_bald_medium_dark_skin_tone"],"1F468-1F3FF-200D-1F9B2":["man_bald_tone5","man_bald_dark_skin_tone"],"1F9D4":"bearded_person","1F9D4-1F3FB":["bearded_person_tone1","bearded_person_light_skin_tone"],"1F9D4-1F3FC":["bearded_person_tone2","bearded_person_medium_light_skin_tone"],"1F9D4-1F3FD":["bearded_person_tone3","bearded_person_medium_skin_tone"],"1F9D4-1F3FE":["bearded_person_tone4","bearded_person_medium_dark_skin_tone"],"1F9D4-1F3FF":["bearded_person_tone5","bearded_person_dark_skin_tone"],"1F9D4-200D-2642-FE0F":"man_beard","1F9D4-1F3FB-200D-2642-FE0F":["man_tone1_beard","man_light_skin_tone_beard"],"1F9D4-1F3FC-200D-2642-FE0F":["man_tone2_beard","man_medium_light_skin_tone_beard"],"1F9D4-1F3FD-200D-2642-FE0F":["man_tone3_beard","man_medium_skin_tone_beard"],"1F9D4-1F3FE-200D-2642-FE0F":["man_tone4_beard","man_medium_dark_skin_tone_beard"],"1F9D4-1F3FF-200D-2642-FE0F":["man_tone5_beard","man_dark_skin_tone_beard"],"1F9D4-200D-2640-FE0F":"woman_beard","1F9D4-1F3FB-200D-2640-FE0F":["woman_tone1_beard","woman_light_skin_tone_beard"],"1F9D4-1F3FC-200D-2640-FE0F":["woman_tone2_beard","woman_medium_light_skin_tone_beard"],"1F9D4-1F3FD-200D-2640-FE0F":["woman_tone3_beard","woman_medium_skin_tone_beard"],"1F9D4-1F3FE-200D-2640-FE0F":["woman_tone4_beard","woman_medium_dark_skin_tone_beard"],"1F9D4-1F3FF-200D-2640-FE0F":["woman_tone5_beard","woman_dark_skin_tone_beard"],"1F475":["older_woman","grandma"],"1F475-1F3FB":["older_woman_tone1","grandma_tone1"],"1F475-1F3FC":["older_woman_tone2","grandma_tone2"],"1F475-1F3FD":["older_woman_tone3","grandma_tone3"],"1F475-1F3FE":["older_woman_tone4","grandma_tone4"],"1F475-1F3FF":["older_woman_tone5","grandma_tone5"],"1F9D3":"older_adult","1F9D3-1F3FB":["older_adult_tone1","older_adult_light_skin_tone"],"1F9D3-1F3FC":["older_adult_tone2","older_adult_medium_light_skin_tone"],"1F9D3-1F3FD":["older_adult_tone3","older_adult_medium_skin_tone"],"1F9D3-1F3FE":["older_adult_tone4","older_adult_medium_dark_skin_tone"],"1F9D3-1F3FF":["older_adult_tone5","older_adult_dark_skin_tone"],"1F474":"older_man","1F474-1F3FB":"older_man_tone1","1F474-1F3FC":"older_man_tone2","1F474-1F3FD":"older_man_tone3","1F474-1F3FE":"older_man_tone4","1F474-1F3FF":"older_man_tone5","1F472":["man_with_chinese_cap","man_with_gua_pi_mao"],"1F472-1F3FB":["man_with_chinese_cap_tone1","man_with_gua_pi_mao_tone1"],"1F472-1F3FC":["man_with_chinese_cap_tone2","man_with_gua_pi_mao_tone2"],"1F472-1F3FD":["man_with_chinese_cap_tone3","man_with_gua_pi_mao_tone3"],"1F472-1F3FE":["man_with_chinese_cap_tone4","man_with_gua_pi_mao_tone4"],"1F472-1F3FF":["man_with_chinese_cap_tone5","man_with_gua_pi_mao_tone5"],"1F473":["person_wearing_turban","man_with_turban"],"1F473-1F3FB":["person_wearing_turban_tone1","man_with_turban_tone1"],"1F473-1F3FC":["person_wearing_turban_tone2","man_with_turban_tone2"],"1F473-1F3FD":["person_wearing_turban_tone3","man_with_turban_tone3"],"1F473-1F3FE":["person_wearing_turban_tone4","man_with_turban_tone4"],"1F473-1F3FF":["person_wearing_turban_tone5","man_with_turban_tone5"],"1F473-200D-2640-FE0F":"woman_wearing_turban","1F473-1F3FB-200D-2640-FE0F":["woman_wearing_turban_tone1","woman_wearing_turban_light_skin_tone"],"1F473-1F3FC-200D-2640-FE0F":["woman_wearing_turban_tone2","woman_wearing_turban_medium_light_skin_tone"],"1F473-1F3FD-200D-2640-FE0F":["woman_wearing_turban_tone3","woman_wearing_turban_medium_skin_tone"],"1F473-1F3FE-200D-2640-FE0F":["woman_wearing_turban_tone4","woman_wearing_turban_medium_dark_skin_tone"],"1F473-1F3FF-200D-2640-FE0F":["woman_wearing_turban_tone5","woman_wearing_turban_dark_skin_tone"],"1F473-200D-2642-FE0F":"man_wearing_turban","1F473-1F3FB-200D-2642-FE0F":["man_wearing_turban_tone1","man_wearing_turban_light_skin_tone"],"1F473-1F3FC-200D-2642-FE0F":["man_wearing_turban_tone2","man_wearing_turban_medium_light_skin_tone"],"1F473-1F3FD-200D-2642-FE0F":["man_wearing_turban_tone3","man_wearing_turban_medium_skin_tone"],"1F473-1F3FE-200D-2642-FE0F":["man_wearing_turban_tone4","man_wearing_turban_medium_dark_skin_tone"],"1F473-1F3FF-200D-2642-FE0F":["man_wearing_turban_tone5","man_wearing_turban_dark_skin_tone"],"1F9D5":"woman_with_headscarf","1F9D5-1F3FB":["woman_with_headscarf_tone1","woman_with_headscarf_light_skin_tone"],"1F9D5-1F3FC":["woman_with_headscarf_tone2","woman_with_headscarf_medium_light_skin_tone"],"1F9D5-1F3FD":["woman_with_headscarf_tone3","woman_with_headscarf_medium_skin_tone"],"1F9D5-1F3FE":["woman_with_headscarf_tone4","woman_with_headscarf_medium_dark_skin_tone"],"1F9D5-1F3FF":["woman_with_headscarf_tone5","woman_with_headscarf_dark_skin_tone"],"1F46E":["police_officer","cop"],"1F46E-1F3FB":["police_officer_tone1","cop_tone1"],"1F46E-1F3FC":["police_officer_tone2","cop_tone2"],"1F46E-1F3FD":["police_officer_tone3","cop_tone3"],"1F46E-1F3FE":["police_officer_tone4","cop_tone4"],"1F46E-1F3FF":["police_officer_tone5","cop_tone5"],"1F46E-200D-2640-FE0F":"woman_police_officer","1F46E-1F3FB-200D-2640-FE0F":["woman_police_officer_tone1","woman_police_officer_light_skin_tone"],"1F46E-1F3FC-200D-2640-FE0F":["woman_police_officer_tone2","woman_police_officer_medium_light_skin_tone"],"1F46E-1F3FD-200D-2640-FE0F":["woman_police_officer_tone3","woman_police_officer_medium_skin_tone"],"1F46E-1F3FE-200D-2640-FE0F":["woman_police_officer_tone4","woman_police_officer_medium_dark_skin_tone"],"1F46E-1F3FF-200D-2640-FE0F":["woman_police_officer_tone5","woman_police_officer_dark_skin_tone"],"1F46E-200D-2642-FE0F":"man_police_officer","1F46E-1F3FB-200D-2642-FE0F":["man_police_officer_tone1","man_police_officer_light_skin_tone"],"1F46E-1F3FC-200D-2642-FE0F":["man_police_officer_tone2","man_police_officer_medium_light_skin_tone"],"1F46E-1F3FD-200D-2642-FE0F":["man_police_officer_tone3","man_police_officer_medium_skin_tone"],"1F46E-1F3FE-200D-2642-FE0F":["man_police_officer_tone4","man_police_officer_medium_dark_skin_tone"],"1F46E-1F3FF-200D-2642-FE0F":["man_police_officer_tone5","man_police_officer_dark_skin_tone"],"1F477":"construction_worker","1F477-1F3FB":"construction_worker_tone1","1F477-1F3FC":"construction_worker_tone2","1F477-1F3FD":"construction_worker_tone3","1F477-1F3FE":"construction_worker_tone4","1F477-1F3FF":"construction_worker_tone5","1F477-200D-2640-FE0F":"woman_construction_worker","1F477-1F3FB-200D-2640-FE0F":["woman_construction_worker_tone1","woman_construction_worker_light_skin_tone"],"1F477-1F3FC-200D-2640-FE0F":["woman_construction_worker_tone2","woman_construction_worker_medium_light_skin_tone"],"1F477-1F3FD-200D-2640-FE0F":["woman_construction_worker_tone3","woman_construction_worker_medium_skin_tone"],"1F477-1F3FE-200D-2640-FE0F":["woman_construction_worker_tone4","woman_construction_worker_medium_dark_skin_tone"],"1F477-1F3FF-200D-2640-FE0F":["woman_construction_worker_tone5","woman_construction_worker_dark_skin_tone"],"1F477-200D-2642-FE0F":"man_construction_worker","1F477-1F3FB-200D-2642-FE0F":["man_construction_worker_tone1","man_construction_worker_light_skin_tone"],"1F477-1F3FC-200D-2642-FE0F":["man_construction_worker_tone2","man_construction_worker_medium_light_skin_tone"],"1F477-1F3FD-200D-2642-FE0F":["man_construction_worker_tone3","man_construction_worker_medium_skin_tone"],"1F477-1F3FE-200D-2642-FE0F":["man_construction_worker_tone4","man_construction_worker_medium_dark_skin_tone"],"1F477-1F3FF-200D-2642-FE0F":["man_construction_worker_tone5","man_construction_worker_dark_skin_tone"],"1F482":["guard","guardsman"],"1F482-1F3FB":["guard_tone1","guardsman_tone1"],"1F482-1F3FC":["guard_tone2","guardsman_tone2"],"1F482-1F3FD":["guard_tone3","guardsman_tone3"],"1F482-1F3FE":["guard_tone4","guardsman_tone4"],"1F482-1F3FF":["guard_tone5","guardsman_tone5"],"1F482-200D-2640-FE0F":"woman_guard","1F482-1F3FB-200D-2640-FE0F":["woman_guard_tone1","woman_guard_light_skin_tone"],"1F482-1F3FC-200D-2640-FE0F":["woman_guard_tone2","woman_guard_medium_light_skin_tone"],"1F482-1F3FD-200D-2640-FE0F":["woman_guard_tone3","woman_guard_medium_skin_tone"],"1F482-1F3FE-200D-2640-FE0F":["woman_guard_tone4","woman_guard_medium_dark_skin_tone"],"1F482-1F3FF-200D-2640-FE0F":["woman_guard_tone5","woman_guard_dark_skin_tone"],"1F482-200D-2642-FE0F":"man_guard","1F482-1F3FB-200D-2642-FE0F":["man_guard_tone1","man_guard_light_skin_tone"],"1F482-1F3FC-200D-2642-FE0F":["man_guard_tone2","man_guard_medium_light_skin_tone"],"1F482-1F3FD-200D-2642-FE0F":["man_guard_tone3","man_guard_medium_skin_tone"],"1F482-1F3FE-200D-2642-FE0F":["man_guard_tone4","man_guard_medium_dark_skin_tone"],"1F482-1F3FF-200D-2642-FE0F":["man_guard_tone5","man_guard_dark_skin_tone"],"1F575":["detective","spy","sleuth_or_spy"],"1F575-1F3FB":["detective_tone1","spy_tone1","sleuth_or_spy_tone1"],"1F575-1F3FC":["detective_tone2","spy_tone2","sleuth_or_spy_tone2"],"1F575-1F3FD":["detective_tone3","spy_tone3","sleuth_or_spy_tone3"],"1F575-1F3FE":["detective_tone4","spy_tone4","sleuth_or_spy_tone4"],"1F575-1F3FF":["detective_tone5","spy_tone5","sleuth_or_spy_tone5"],"1F575-FE0F-200D-2640-FE0F":"woman_detective","1F575-1F3FB-200D-2640-FE0F":["woman_detective_tone1","woman_detective_light_skin_tone"],"1F575-1F3FC-200D-2640-FE0F":["woman_detective_tone2","woman_detective_medium_light_skin_tone"],"1F575-1F3FD-200D-2640-FE0F":["woman_detective_tone3","woman_detective_medium_skin_tone"],"1F575-1F3FE-200D-2640-FE0F":["woman_detective_tone4","woman_detective_medium_dark_skin_tone"],"1F575-1F3FF-200D-2640-FE0F":["woman_detective_tone5","woman_detective_dark_skin_tone"],"1F575-FE0F-200D-2642-FE0F":"man_detective","1F575-1F3FB-200D-2642-FE0F":["man_detective_tone1","man_detective_light_skin_tone"],"1F575-1F3FC-200D-2642-FE0F":["man_detective_tone2","man_detective_medium_light_skin_tone"],"1F575-1F3FD-200D-2642-FE0F":["man_detective_tone3","man_detective_medium_skin_tone"],"1F575-1F3FE-200D-2642-FE0F":["man_detective_tone4","man_detective_medium_dark_skin_tone"],"1F575-1F3FF-200D-2642-FE0F":["man_detective_tone5","man_detective_dark_skin_tone"],"1F9D1-200D-2695-FE0F":"health_worker","1F9D1-1F3FB-200D-2695-FE0F":["health_worker_tone1","health_worker_light_skin_tone"],"1F9D1-1F3FC-200D-2695-FE0F":["health_worker_tone2","health_worker_medium_light_skin_tone"],"1F9D1-1F3FD-200D-2695-FE0F":["health_worker_tone3","health_worker_medium_skin_tone"],"1F9D1-1F3FE-200D-2695-FE0F":["health_worker_tone4","health_worker_medium_dark_skin_tone"],"1F9D1-1F3FF-200D-2695-FE0F":["health_worker_tone5","health_worker_dark_skin_tone"],"1F469-200D-2695-FE0F":"woman_health_worker","1F469-1F3FB-200D-2695-FE0F":["woman_health_worker_tone1","woman_health_worker_light_skin_tone"],"1F469-1F3FC-200D-2695-FE0F":["woman_health_worker_tone2","woman_health_worker_medium_light_skin_tone"],"1F469-1F3FD-200D-2695-FE0F":["woman_health_worker_tone3","woman_health_worker_medium_skin_tone"],"1F469-1F3FE-200D-2695-FE0F":["woman_health_worker_tone4","woman_health_worker_medium_dark_skin_tone"],"1F469-1F3FF-200D-2695-FE0F":["woman_health_worker_tone5","woman_health_worker_dark_skin_tone"],"1F468-200D-2695-FE0F":"man_health_worker","1F468-1F3FB-200D-2695-FE0F":["man_health_worker_tone1","man_health_worker_light_skin_tone"],"1F468-1F3FC-200D-2695-FE0F":["man_health_worker_tone2","man_health_worker_medium_light_skin_tone"],"1F468-1F3FD-200D-2695-FE0F":["man_health_worker_tone3","man_health_worker_medium_skin_tone"],"1F468-1F3FE-200D-2695-FE0F":["man_health_worker_tone4","man_health_worker_medium_dark_skin_tone"],"1F468-1F3FF-200D-2695-FE0F":["man_health_worker_tone5","man_health_worker_dark_skin_tone"],"1F9D1-200D-1F33E":"farmer","1F9D1-1F3FB-200D-1F33E":["farmer_tone1","farmer_light_skin_tone"],"1F9D1-1F3FC-200D-1F33E":["farmer_tone2","farmer_medium_light_skin_tone"],"1F9D1-1F3FD-200D-1F33E":["farmer_tone3","farmer_medium_skin_tone"],"1F9D1-1F3FE-200D-1F33E":["farmer_tone4","farmer_medium_dark_skin_tone"],"1F9D1-1F3FF-200D-1F33E":["farmer_tone5","farmer_dark_skin_tone"],"1F469-200D-1F33E":"woman_farmer","1F469-1F3FB-200D-1F33E":["woman_farmer_tone1","woman_farmer_light_skin_tone"],"1F469-1F3FC-200D-1F33E":["woman_farmer_tone2","woman_farmer_medium_light_skin_tone"],"1F469-1F3FD-200D-1F33E":["woman_farmer_tone3","woman_farmer_medium_skin_tone"],"1F469-1F3FE-200D-1F33E":["woman_farmer_tone4","woman_farmer_medium_dark_skin_tone"],"1F469-1F3FF-200D-1F33E":["woman_farmer_tone5","woman_farmer_dark_skin_tone"],"1F468-200D-1F33E":"man_farmer","1F468-1F3FB-200D-1F33E":["man_farmer_tone1","man_farmer_light_skin_tone"],"1F468-1F3FC-200D-1F33E":["man_farmer_tone2","man_farmer_medium_light_skin_tone"],"1F468-1F3FD-200D-1F33E":["man_farmer_tone3","man_farmer_medium_skin_tone"],"1F468-1F3FE-200D-1F33E":["man_farmer_tone4","man_farmer_medium_dark_skin_tone"],"1F468-1F3FF-200D-1F33E":["man_farmer_tone5","man_farmer_dark_skin_tone"],"1F9D1-200D-1F373":"cook","1F9D1-1F3FB-200D-1F373":["cook_tone1","cook_light_skin_tone"],"1F9D1-1F3FC-200D-1F373":["cook_tone2","cook_medium_light_skin_tone"],"1F9D1-1F3FD-200D-1F373":["cook_tone3","cook_medium_skin_tone"],"1F9D1-1F3FE-200D-1F373":["cook_tone4","cook_medium_dark_skin_tone"],"1F9D1-1F3FF-200D-1F373":["cook_tone5","cook_dark_skin_tone"],"1F469-200D-1F373":"woman_cook","1F469-1F3FB-200D-1F373":["woman_cook_tone1","woman_cook_light_skin_tone"],"1F469-1F3FC-200D-1F373":["woman_cook_tone2","woman_cook_medium_light_skin_tone"],"1F469-1F3FD-200D-1F373":["woman_cook_tone3","woman_cook_medium_skin_tone"],"1F469-1F3FE-200D-1F373":["woman_cook_tone4","woman_cook_medium_dark_skin_tone"],"1F469-1F3FF-200D-1F373":["woman_cook_tone5","woman_cook_dark_skin_tone"],"1F468-200D-1F373":"man_cook","1F468-1F3FB-200D-1F373":["man_cook_tone1","man_cook_light_skin_tone"],"1F468-1F3FC-200D-1F373":["man_cook_tone2","man_cook_medium_light_skin_tone"],"1F468-1F3FD-200D-1F373":["man_cook_tone3","man_cook_medium_skin_tone"],"1F468-1F3FE-200D-1F373":["man_cook_tone4","man_cook_medium_dark_skin_tone"],"1F468-1F3FF-200D-1F373":["man_cook_tone5","man_cook_dark_skin_tone"],"1F9D1-200D-1F393":"student","1F9D1-1F3FB-200D-1F393":["student_tone1","student_light_skin_tone"],"1F9D1-1F3FC-200D-1F393":["student_tone2","student_medium_light_skin_tone"],"1F9D1-1F3FD-200D-1F393":["student_tone3","student_medium_skin_tone"],"1F9D1-1F3FE-200D-1F393":["student_tone4","student_medium_dark_skin_tone"],"1F9D1-1F3FF-200D-1F393":["student_tone5","student_dark_skin_tone"],"1F469-200D-1F393":"woman_student","1F469-1F3FB-200D-1F393":["woman_student_tone1","woman_student_light_skin_tone"],"1F469-1F3FC-200D-1F393":["woman_student_tone2","woman_student_medium_light_skin_tone"],"1F469-1F3FD-200D-1F393":["woman_student_tone3","woman_student_medium_skin_tone"],"1F469-1F3FE-200D-1F393":["woman_student_tone4","woman_student_medium_dark_skin_tone"],"1F469-1F3FF-200D-1F393":["woman_student_tone5","woman_student_dark_skin_tone"],"1F468-200D-1F393":"man_student","1F468-1F3FB-200D-1F393":["man_student_tone1","man_student_light_skin_tone"],"1F468-1F3FC-200D-1F393":["man_student_tone2","man_student_medium_light_skin_tone"],"1F468-1F3FD-200D-1F393":["man_student_tone3","man_student_medium_skin_tone"],"1F468-1F3FE-200D-1F393":["man_student_tone4","man_student_medium_dark_skin_tone"],"1F468-1F3FF-200D-1F393":["man_student_tone5","man_student_dark_skin_tone"],"1F9D1-200D-1F3A4":"singer","1F9D1-1F3FB-200D-1F3A4":["singer_tone1","singer_light_skin_tone"],"1F9D1-1F3FC-200D-1F3A4":["singer_tone2","singer_medium_light_skin_tone"],"1F9D1-1F3FD-200D-1F3A4":["singer_tone3","singer_medium_skin_tone"],"1F9D1-1F3FE-200D-1F3A4":["singer_tone4","singer_medium_dark_skin_tone"],"1F9D1-1F3FF-200D-1F3A4":["singer_tone5","singer_dark_skin_tone"],"1F469-200D-1F3A4":"woman_singer","1F469-1F3FB-200D-1F3A4":["woman_singer_tone1","woman_singer_light_skin_tone"],"1F469-1F3FC-200D-1F3A4":["woman_singer_tone2","woman_singer_medium_light_skin_tone"],"1F469-1F3FD-200D-1F3A4":["woman_singer_tone3","woman_singer_medium_skin_tone"],"1F469-1F3FE-200D-1F3A4":["woman_singer_tone4","woman_singer_medium_dark_skin_tone"],"1F469-1F3FF-200D-1F3A4":["woman_singer_tone5","woman_singer_dark_skin_tone"],"1F468-200D-1F3A4":"man_singer","1F468-1F3FB-200D-1F3A4":["man_singer_tone1","man_singer_light_skin_tone"],"1F468-1F3FC-200D-1F3A4":["man_singer_tone2","man_singer_medium_light_skin_tone"],"1F468-1F3FD-200D-1F3A4":["man_singer_tone3","man_singer_medium_skin_tone"],"1F468-1F3FE-200D-1F3A4":["man_singer_tone4","man_singer_medium_dark_skin_tone"],"1F468-1F3FF-200D-1F3A4":["man_singer_tone5","man_singer_dark_skin_tone"],"1F9D1-200D-1F3EB":"teacher","1F9D1-1F3FB-200D-1F3EB":["teacher_tone1","teacher_light_skin_tone"],"1F9D1-1F3FC-200D-1F3EB":["teacher_tone2","teacher_medium_light_skin_tone"],"1F9D1-1F3FD-200D-1F3EB":["teacher_tone3","teacher_medium_skin_tone"],"1F9D1-1F3FE-200D-1F3EB":["teacher_tone4","teacher_medium_dark_skin_tone"],"1F9D1-1F3FF-200D-1F3EB":["teacher_tone5","teacher_dark_skin_tone"],"1F469-200D-1F3EB":"woman_teacher","1F469-1F3FB-200D-1F3EB":["woman_teacher_tone1","woman_teacher_light_skin_tone"],"1F469-1F3FC-200D-1F3EB":["woman_teacher_tone2","woman_teacher_medium_light_skin_tone"],"1F469-1F3FD-200D-1F3EB":["woman_teacher_tone3","woman_teacher_medium_skin_tone"],"1F469-1F3FE-200D-1F3EB":["woman_teacher_tone4","woman_teacher_medium_dark_skin_tone"],"1F469-1F3FF-200D-1F3EB":["woman_teacher_tone5","woman_teacher_dark_skin_tone"],"1F468-200D-1F3EB":"man_teacher","1F468-1F3FB-200D-1F3EB":["man_teacher_tone1","man_teacher_light_skin_tone"],"1F468-1F3FC-200D-1F3EB":["man_teacher_tone2","man_teacher_medium_light_skin_tone"],"1F468-1F3FD-200D-1F3EB":["man_teacher_tone3","man_teacher_medium_skin_tone"],"1F468-1F3FE-200D-1F3EB":["man_teacher_tone4","man_teacher_medium_dark_skin_tone"],"1F468-1F3FF-200D-1F3EB":["man_teacher_tone5","man_teacher_dark_skin_tone"],"1F9D1-200D-1F3ED":"factory_worker","1F9D1-1F3FB-200D-1F3ED":["factory_worker_tone1","factory_worker_light_skin_tone"],"1F9D1-1F3FC-200D-1F3ED":["factory_worker_tone2","factory_worker_medium_light_skin_tone"],"1F9D1-1F3FD-200D-1F3ED":["factory_worker_tone3","factory_worker_medium_skin_tone"],"1F9D1-1F3FE-200D-1F3ED":["factory_worker_tone4","factory_worker_medium_dark_skin_tone"],"1F9D1-1F3FF-200D-1F3ED":["factory_worker_tone5","factory_worker_dark_skin_tone"],"1F469-200D-1F3ED":"woman_factory_worker","1F469-1F3FB-200D-1F3ED":["woman_factory_worker_tone1","woman_factory_worker_light_skin_tone"],"1F469-1F3FC-200D-1F3ED":["woman_factory_worker_tone2","woman_factory_worker_medium_light_skin_tone"],"1F469-1F3FD-200D-1F3ED":["woman_factory_worker_tone3","woman_factory_worker_medium_skin_tone"],"1F469-1F3FE-200D-1F3ED":["woman_factory_worker_tone4","woman_factory_worker_medium_dark_skin_tone"],"1F469-1F3FF-200D-1F3ED":["woman_factory_worker_tone5","woman_factory_worker_dark_skin_tone"],"1F468-200D-1F3ED":"man_factory_worker","1F468-1F3FB-200D-1F3ED":["man_factory_worker_tone1","man_factory_worker_light_skin_tone"],"1F468-1F3FC-200D-1F3ED":["man_factory_worker_tone2","man_factory_worker_medium_light_skin_tone"],"1F468-1F3FD-200D-1F3ED":["man_factory_worker_tone3","man_factory_worker_medium_skin_tone"],"1F468-1F3FE-200D-1F3ED":["man_factory_worker_tone4","man_factory_worker_medium_dark_skin_tone"],"1F468-1F3FF-200D-1F3ED":["man_factory_worker_tone5","man_factory_worker_dark_skin_tone"],"1F9D1-200D-1F4BB":"technologist","1F9D1-1F3FB-200D-1F4BB":["technologist_tone1","technologist_light_skin_tone"],"1F9D1-1F3FC-200D-1F4BB":["technologist_tone2","technologist_medium_light_skin_tone"],"1F9D1-1F3FD-200D-1F4BB":["technologist_tone3","technologist_medium_skin_tone"],"1F9D1-1F3FE-200D-1F4BB":["technologist_tone4","technologist_medium_dark_skin_tone"],"1F9D1-1F3FF-200D-1F4BB":["technologist_tone5","technologist_dark_skin_tone"],"1F469-200D-1F4BB":"woman_technologist","1F469-1F3FB-200D-1F4BB":["woman_technologist_tone1","woman_technologist_light_skin_tone"],"1F469-1F3FC-200D-1F4BB":["woman_technologist_tone2","woman_technologist_medium_light_skin_tone"],"1F469-1F3FD-200D-1F4BB":["woman_technologist_tone3","woman_technologist_medium_skin_tone"],"1F469-1F3FE-200D-1F4BB":["woman_technologist_tone4","woman_technologist_medium_dark_skin_tone"],"1F469-1F3FF-200D-1F4BB":["woman_technologist_tone5","woman_technologist_dark_skin_tone"],"1F468-200D-1F4BB":"man_technologist","1F468-1F3FB-200D-1F4BB":["man_technologist_tone1","man_technologist_light_skin_tone"],"1F468-1F3FC-200D-1F4BB":["man_technologist_tone2","man_technologist_medium_light_skin_tone"],"1F468-1F3FD-200D-1F4BB":["man_technologist_tone3","man_technologist_medium_skin_tone"],"1F468-1F3FE-200D-1F4BB":["man_technologist_tone4","man_technologist_medium_dark_skin_tone"],"1F468-1F3FF-200D-1F4BB":["man_technologist_tone5","man_technologist_dark_skin_tone"],"1F9D1-200D-1F4BC":"office_worker","1F9D1-1F3FB-200D-1F4BC":["office_worker_tone1","office_worker_light_skin_tone"],"1F9D1-1F3FC-200D-1F4BC":["office_worker_tone2","office_worker_medium_light_skin_tone"],"1F9D1-1F3FD-200D-1F4BC":["office_worker_tone3","office_worker_medium_skin_tone"],"1F9D1-1F3FE-200D-1F4BC":["office_worker_tone4","office_worker_medium_dark_skin_tone"],"1F9D1-1F3FF-200D-1F4BC":["office_worker_tone5","office_worker_dark_skin_tone"],"1F469-200D-1F4BC":"woman_office_worker","1F469-1F3FB-200D-1F4BC":["woman_office_worker_tone1","woman_office_worker_light_skin_tone"],"1F469-1F3FC-200D-1F4BC":["woman_office_worker_tone2","woman_office_worker_medium_light_skin_tone"],"1F469-1F3FD-200D-1F4BC":["woman_office_worker_tone3","woman_office_worker_medium_skin_tone"],"1F469-1F3FE-200D-1F4BC":["woman_office_worker_tone4","woman_office_worker_medium_dark_skin_tone"],"1F469-1F3FF-200D-1F4BC":["woman_office_worker_tone5","woman_office_worker_dark_skin_tone"],"1F468-200D-1F4BC":"man_office_worker","1F468-1F3FB-200D-1F4BC":["man_office_worker_tone1","man_office_worker_light_skin_tone"],"1F468-1F3FC-200D-1F4BC":["man_office_worker_tone2","man_office_worker_medium_light_skin_tone"],"1F468-1F3FD-200D-1F4BC":["man_office_worker_tone3","man_office_worker_medium_skin_tone"],"1F468-1F3FE-200D-1F4BC":["man_office_worker_tone4","man_office_worker_medium_dark_skin_tone"],"1F468-1F3FF-200D-1F4BC":["man_office_worker_tone5","man_office_worker_dark_skin_tone"],"1F9D1-200D-1F527":"mechanic","1F9D1-1F3FB-200D-1F527":["mechanic_tone1","mechanic_light_skin_tone"],"1F9D1-1F3FC-200D-1F527":["mechanic_tone2","mechanic_medium_light_skin_tone"],"1F9D1-1F3FD-200D-1F527":["mechanic_tone3","mechanic_medium_skin_tone"],"1F9D1-1F3FE-200D-1F527":["mechanic_tone4","mechanic_medium_dark_skin_tone"],"1F9D1-1F3FF-200D-1F527":["mechanic_tone5","mechanic_dark_skin_tone"],"1F469-200D-1F527":"woman_mechanic","1F469-1F3FB-200D-1F527":["woman_mechanic_tone1","woman_mechanic_light_skin_tone"],"1F469-1F3FC-200D-1F527":["woman_mechanic_tone2","woman_mechanic_medium_light_skin_tone"],"1F469-1F3FD-200D-1F527":["woman_mechanic_tone3","woman_mechanic_medium_skin_tone"],"1F469-1F3FE-200D-1F527":["woman_mechanic_tone4","woman_mechanic_medium_dark_skin_tone"],"1F469-1F3FF-200D-1F527":["woman_mechanic_tone5","woman_mechanic_dark_skin_tone"],"1F468-200D-1F527":"man_mechanic","1F468-1F3FB-200D-1F527":["man_mechanic_tone1","man_mechanic_light_skin_tone"],"1F468-1F3FC-200D-1F527":["man_mechanic_tone2","man_mechanic_medium_light_skin_tone"],"1F468-1F3FD-200D-1F527":["man_mechanic_tone3","man_mechanic_medium_skin_tone"],"1F468-1F3FE-200D-1F527":["man_mechanic_tone4","man_mechanic_medium_dark_skin_tone"],"1F468-1F3FF-200D-1F527":["man_mechanic_tone5","man_mechanic_dark_skin_tone"],"1F9D1-200D-1F52C":"scientist","1F9D1-1F3FB-200D-1F52C":["scientist_tone1","scientist_light_skin_tone"],"1F9D1-1F3FC-200D-1F52C":["scientist_tone2","scientist_medium_light_skin_tone"],"1F9D1-1F3FD-200D-1F52C":["scientist_tone3","scientist_medium_skin_tone"],"1F9D1-1F3FE-200D-1F52C":["scientist_tone4","scientist_medium_dark_skin_tone"],"1F9D1-1F3FF-200D-1F52C":["scientist_tone5","scientist_dark_skin_tone"],"1F469-200D-1F52C":"woman_scientist","1F469-1F3FB-200D-1F52C":["woman_scientist_tone1","woman_scientist_light_skin_tone"],"1F469-1F3FC-200D-1F52C":["woman_scientist_tone2","woman_scientist_medium_light_skin_tone"],"1F469-1F3FD-200D-1F52C":["woman_scientist_tone3","woman_scientist_medium_skin_tone"],"1F469-1F3FE-200D-1F52C":["woman_scientist_tone4","woman_scientist_medium_dark_skin_tone"],"1F469-1F3FF-200D-1F52C":["woman_scientist_tone5","woman_scientist_dark_skin_tone"],"1F468-200D-1F52C":"man_scientist","1F468-1F3FB-200D-1F52C":["man_scientist_tone1","man_scientist_light_skin_tone"],"1F468-1F3FC-200D-1F52C":["man_scientist_tone2","man_scientist_medium_light_skin_tone"],"1F468-1F3FD-200D-1F52C":["man_scientist_tone3","man_scientist_medium_skin_tone"],"1F468-1F3FE-200D-1F52C":["man_scientist_tone4","man_scientist_medium_dark_skin_tone"],"1F468-1F3FF-200D-1F52C":["man_scientist_tone5","man_scientist_dark_skin_tone"],"1F9D1-200D-1F3A8":"artist","1F9D1-1F3FB-200D-1F3A8":["artist_tone1","artist_light_skin_tone"],"1F9D1-1F3FC-200D-1F3A8":["artist_tone2","artist_medium_light_skin_tone"],"1F9D1-1F3FD-200D-1F3A8":["artist_tone3","artist_medium_skin_tone"],"1F9D1-1F3FE-200D-1F3A8":["artist_tone4","artist_medium_dark_skin_tone"],"1F9D1-1F3FF-200D-1F3A8":["artist_tone5","artist_dark_skin_tone"],"1F469-200D-1F3A8":"woman_artist","1F469-1F3FB-200D-1F3A8":["woman_artist_tone1","woman_artist_light_skin_tone"],"1F469-1F3FC-200D-1F3A8":["woman_artist_tone2","woman_artist_medium_light_skin_tone"],"1F469-1F3FD-200D-1F3A8":["woman_artist_tone3","woman_artist_medium_skin_tone"],"1F469-1F3FE-200D-1F3A8":["woman_artist_tone4","woman_artist_medium_dark_skin_tone"],"1F469-1F3FF-200D-1F3A8":["woman_artist_tone5","woman_artist_dark_skin_tone"],"1F468-200D-1F3A8":"man_artist","1F468-1F3FB-200D-1F3A8":["man_artist_tone1","man_artist_light_skin_tone"],"1F468-1F3FC-200D-1F3A8":["man_artist_tone2","man_artist_medium_light_skin_tone"],"1F468-1F3FD-200D-1F3A8":["man_artist_tone3","man_artist_medium_skin_tone"],"1F468-1F3FE-200D-1F3A8":["man_artist_tone4","man_artist_medium_dark_skin_tone"],"1F468-1F3FF-200D-1F3A8":["man_artist_tone5","man_artist_dark_skin_tone"],"1F9D1-200D-1F692":"firefighter","1F9D1-1F3FB-200D-1F692":["firefighter_tone1","firefighter_light_skin_tone"],"1F9D1-1F3FC-200D-1F692":["firefighter_tone2","firefighter_medium_light_skin_tone"],"1F9D1-1F3FD-200D-1F692":["firefighter_tone3","firefighter_medium_skin_tone"],"1F9D1-1F3FE-200D-1F692":["firefighter_tone4","firefighter_medium_dark_skin_tone"],"1F9D1-1F3FF-200D-1F692":["firefighter_tone5","firefighter_dark_skin_tone"],"1F469-200D-1F692":"woman_firefighter","1F469-1F3FB-200D-1F692":["woman_firefighter_tone1","woman_firefighter_light_skin_tone"],"1F469-1F3FC-200D-1F692":["woman_firefighter_tone2","woman_firefighter_medium_light_skin_tone"],"1F469-1F3FD-200D-1F692":["woman_firefighter_tone3","woman_firefighter_medium_skin_tone"],"1F469-1F3FE-200D-1F692":["woman_firefighter_tone4","woman_firefighter_medium_dark_skin_tone"],"1F469-1F3FF-200D-1F692":["woman_firefighter_tone5","woman_firefighter_dark_skin_tone"],"1F468-200D-1F692":"man_firefighter","1F468-1F3FB-200D-1F692":["man_firefighter_tone1","man_firefighter_light_skin_tone"],"1F468-1F3FC-200D-1F692":["man_firefighter_tone2","man_firefighter_medium_light_skin_tone"],"1F468-1F3FD-200D-1F692":["man_firefighter_tone3","man_firefighter_medium_skin_tone"],"1F468-1F3FE-200D-1F692":["man_firefighter_tone4","man_firefighter_medium_dark_skin_tone"],"1F468-1F3FF-200D-1F692":["man_firefighter_tone5","man_firefighter_dark_skin_tone"],"1F9D1-200D-2708-FE0F":"pilot","1F9D1-1F3FB-200D-2708-FE0F":["pilot_tone1","pilot_light_skin_tone"],"1F9D1-1F3FC-200D-2708-FE0F":["pilot_tone2","pilot_medium_light_skin_tone"],"1F9D1-1F3FD-200D-2708-FE0F":["pilot_tone3","pilot_medium_skin_tone"],"1F9D1-1F3FE-200D-2708-FE0F":["pilot_tone4","pilot_medium_dark_skin_tone"],"1F9D1-1F3FF-200D-2708-FE0F":["pilot_tone5","pilot_dark_skin_tone"],"1F469-200D-2708-FE0F":"woman_pilot","1F469-1F3FB-200D-2708-FE0F":["woman_pilot_tone1","woman_pilot_light_skin_tone"],"1F469-1F3FC-200D-2708-FE0F":["woman_pilot_tone2","woman_pilot_medium_light_skin_tone"],"1F469-1F3FD-200D-2708-FE0F":["woman_pilot_tone3","woman_pilot_medium_skin_tone"],"1F469-1F3FE-200D-2708-FE0F":["woman_pilot_tone4","woman_pilot_medium_dark_skin_tone"],"1F469-1F3FF-200D-2708-FE0F":["woman_pilot_tone5","woman_pilot_dark_skin_tone"],"1F468-200D-2708-FE0F":"man_pilot","1F468-1F3FB-200D-2708-FE0F":["man_pilot_tone1","man_pilot_light_skin_tone"],"1F468-1F3FC-200D-2708-FE0F":["man_pilot_tone2","man_pilot_medium_light_skin_tone"],"1F468-1F3FD-200D-2708-FE0F":["man_pilot_tone3","man_pilot_medium_skin_tone"],"1F468-1F3FE-200D-2708-FE0F":["man_pilot_tone4","man_pilot_medium_dark_skin_tone"],"1F468-1F3FF-200D-2708-FE0F":["man_pilot_tone5","man_pilot_dark_skin_tone"],"1F9D1-200D-1F680":"astronaut","1F9D1-1F3FB-200D-1F680":["astronaut_tone1","astronaut_light_skin_tone"],"1F9D1-1F3FC-200D-1F680":["astronaut_tone2","astronaut_medium_light_skin_tone"],"1F9D1-1F3FD-200D-1F680":["astronaut_tone3","astronaut_medium_skin_tone"],"1F9D1-1F3FE-200D-1F680":["astronaut_tone4","astronaut_medium_dark_skin_tone"],"1F9D1-1F3FF-200D-1F680":["astronaut_tone5","astronaut_dark_skin_tone"],"1F469-200D-1F680":"woman_astronaut","1F469-1F3FB-200D-1F680":["woman_astronaut_tone1","woman_astronaut_light_skin_tone"],"1F469-1F3FC-200D-1F680":["woman_astronaut_tone2","woman_astronaut_medium_light_skin_tone"],"1F469-1F3FD-200D-1F680":["woman_astronaut_tone3","woman_astronaut_medium_skin_tone"],"1F469-1F3FE-200D-1F680":["woman_astronaut_tone4","woman_astronaut_medium_dark_skin_tone"],"1F469-1F3FF-200D-1F680":["woman_astronaut_tone5","woman_astronaut_dark_skin_tone"],"1F468-200D-1F680":"man_astronaut","1F468-1F3FB-200D-1F680":["man_astronaut_tone1","man_astronaut_light_skin_tone"],"1F468-1F3FC-200D-1F680":["man_astronaut_tone2","man_astronaut_medium_light_skin_tone"],"1F468-1F3FD-200D-1F680":["man_astronaut_tone3","man_astronaut_medium_skin_tone"],"1F468-1F3FE-200D-1F680":["man_astronaut_tone4","man_astronaut_medium_dark_skin_tone"],"1F468-1F3FF-200D-1F680":["man_astronaut_tone5","man_astronaut_dark_skin_tone"],"1F9D1-200D-2696-FE0F":"judge","1F9D1-1F3FB-200D-2696-FE0F":["judge_tone1","judge_light_skin_tone"],"1F9D1-1F3FC-200D-2696-FE0F":["judge_tone2","judge_medium_light_skin_tone"],"1F9D1-1F3FD-200D-2696-FE0F":["judge_tone3","judge_medium_skin_tone"],"1F9D1-1F3FE-200D-2696-FE0F":["judge_tone4","judge_medium_dark_skin_tone"],"1F9D1-1F3FF-200D-2696-FE0F":["judge_tone5","judge_dark_skin_tone"],"1F469-200D-2696-FE0F":"woman_judge","1F469-1F3FB-200D-2696-FE0F":["woman_judge_tone1","woman_judge_light_skin_tone"],"1F469-1F3FC-200D-2696-FE0F":["woman_judge_tone2","woman_judge_medium_light_skin_tone"],"1F469-1F3FD-200D-2696-FE0F":["woman_judge_tone3","woman_judge_medium_skin_tone"],"1F469-1F3FE-200D-2696-FE0F":["woman_judge_tone4","woman_judge_medium_dark_skin_tone"],"1F469-1F3FF-200D-2696-FE0F":["woman_judge_tone5","woman_judge_dark_skin_tone"],"1F468-200D-2696-FE0F":"man_judge","1F468-1F3FB-200D-2696-FE0F":["man_judge_tone1","man_judge_light_skin_tone"],"1F468-1F3FC-200D-2696-FE0F":["man_judge_tone2","man_judge_medium_light_skin_tone"],"1F468-1F3FD-200D-2696-FE0F":["man_judge_tone3","man_judge_medium_skin_tone"],"1F468-1F3FE-200D-2696-FE0F":["man_judge_tone4","man_judge_medium_dark_skin_tone"],"1F468-1F3FF-200D-2696-FE0F":["man_judge_tone5","man_judge_dark_skin_tone"],"1F470":"person_with_veil","1F470-1F3FB":"person_with_veil_tone1","1F470-1F3FC":"person_with_veil_tone2","1F470-1F3FD":"person_with_veil_tone3","1F470-1F3FE":"person_with_veil_tone4","1F470-1F3FF":"person_with_veil_tone5","1F470-200D-2640-FE0F":"woman_with_veil","1F470-1F3FB-200D-2640-FE0F":["woman_with_veil_tone1","woman_with_veil_light_skin_tone"],"1F470-1F3FC-200D-2640-FE0F":["woman_with_veil_tone2","woman_with_veil_medium_light_skin_tone"],"1F470-1F3FD-200D-2640-FE0F":["woman_with_veil_tone3","woman_with_veil_medium_skin_tone"],"1F470-1F3FE-200D-2640-FE0F":["woman_with_veil_tone4","woman_with_veil_medium_dark_skin_tone"],"1F470-1F3FF-200D-2640-FE0F":["woman_with_veil_tone5","woman_with_veil_dark_skin_tone"],"1F470-200D-2642-FE0F":"man_with_veil","1F470-1F3FB-200D-2642-FE0F":["man_with_veil_tone1","man_with_veil_light_skin_tone"],"1F470-1F3FC-200D-2642-FE0F":["man_with_veil_tone2","man_with_veil_medium_light_skin_tone"],"1F470-1F3FD-200D-2642-FE0F":["man_with_veil_tone3","man_with_veil_medium_skin_tone"],"1F470-1F3FE-200D-2642-FE0F":["man_with_veil_tone4","man_with_veil_medium_dark_skin_tone"],"1F470-1F3FF-200D-2642-FE0F":["man_with_veil_tone5","man_with_veil_dark_skin_tone"],"1F935":"person_in_tuxedo","1F935-1F3FB":["person_in_tuxedo_tone1","tuxedo_tone1"],"1F935-1F3FC":["person_in_tuxedo_tone2","tuxedo_tone2"],"1F935-1F3FD":["person_in_tuxedo_tone3","tuxedo_tone3"],"1F935-1F3FE":["person_in_tuxedo_tone4","tuxedo_tone4"],"1F935-1F3FF":["person_in_tuxedo_tone5","tuxedo_tone5"],"1F935-200D-2640-FE0F":"woman_in_tuxedo","1F935-1F3FB-200D-2640-FE0F":["woman_in_tuxedo_tone1","woman_in_tuxedo_light_skin_tone"],"1F935-1F3FC-200D-2640-FE0F":["woman_in_tuxedo_tone2","woman_in_tuxedo_medium_light_skin_tone"],"1F935-1F3FD-200D-2640-FE0F":["woman_in_tuxedo_tone3","woman_in_tuxedo_medium_skin_tone"],"1F935-1F3FE-200D-2640-FE0F":["woman_in_tuxedo_tone4","woman_in_tuxedo_medium_dark_skin_tone"],"1F935-1F3FF-200D-2640-FE0F":["woman_in_tuxedo_tone5","woman_in_tuxedo_dark_skin_tone"],"1F935-200D-2642-FE0F":"man_in_tuxedo","1F935-1F3FB-200D-2642-FE0F":["man_in_tuxedo_tone1","man_in_tuxedo_light_skin_tone"],"1F935-1F3FC-200D-2642-FE0F":["man_in_tuxedo_tone2","man_in_tuxedo_medium_light_skin_tone"],"1F935-1F3FD-200D-2642-FE0F":["man_in_tuxedo_tone3","man_in_tuxedo_medium_skin_tone"],"1F935-1F3FE-200D-2642-FE0F":["man_in_tuxedo_tone4","man_in_tuxedo_medium_dark_skin_tone"],"1F935-1F3FF-200D-2642-FE0F":["man_in_tuxedo_tone5","man_in_tuxedo_dark_skin_tone"],"1F478":"princess","1F478-1F3FB":"princess_tone1","1F478-1F3FC":"princess_tone2","1F478-1F3FD":"princess_tone3","1F478-1F3FE":"princess_tone4","1F478-1F3FF":"princess_tone5","1F934":"prince","1F934-1F3FB":"prince_tone1","1F934-1F3FC":"prince_tone2","1F934-1F3FD":"prince_tone3","1F934-1F3FE":"prince_tone4","1F934-1F3FF":"prince_tone5","1F9B8":"superhero","1F9B8-1F3FB":["superhero_tone1","superhero_light_skin_tone"],"1F9B8-1F3FC":["superhero_tone2","superhero_medium_light_skin_tone"],"1F9B8-1F3FD":["superhero_tone3","superhero_medium_skin_tone"],"1F9B8-1F3FE":["superhero_tone4","superhero_medium_dark_skin_tone"],"1F9B8-1F3FF":["superhero_tone5","superhero_dark_skin_tone"],"1F9B8-200D-2640-FE0F":"woman_superhero","1F9B8-1F3FB-200D-2640-FE0F":["woman_superhero_tone1","woman_superhero_light_skin_tone"],"1F9B8-1F3FC-200D-2640-FE0F":["woman_superhero_tone2","woman_superhero_medium_light_skin_tone"],"1F9B8-1F3FD-200D-2640-FE0F":["woman_superhero_tone3","woman_superhero_medium_skin_tone"],"1F9B8-1F3FE-200D-2640-FE0F":["woman_superhero_tone4","woman_superhero_medium_dark_skin_tone"],"1F9B8-1F3FF-200D-2640-FE0F":["woman_superhero_tone5","woman_superhero_dark_skin_tone"],"1F9B8-200D-2642-FE0F":"man_superhero","1F9B8-1F3FB-200D-2642-FE0F":["man_superhero_tone1","man_superhero_light_skin_tone"],"1F9B8-1F3FC-200D-2642-FE0F":["man_superhero_tone2","man_superhero_medium_light_skin_tone"],"1F9B8-1F3FD-200D-2642-FE0F":["man_superhero_tone3","man_superhero_medium_skin_tone"],"1F9B8-1F3FE-200D-2642-FE0F":["man_superhero_tone4","man_superhero_medium_dark_skin_tone"],"1F9B8-1F3FF-200D-2642-FE0F":["man_superhero_tone5","man_superhero_dark_skin_tone"],"1F9B9":"supervillain","1F9B9-1F3FB":["supervillain_tone1","supervillain_light_skin_tone"],"1F9B9-1F3FC":["supervillain_tone2","supervillain_medium_light_skin_tone"],"1F9B9-1F3FD":["supervillain_tone3","supervillain_medium_skin_tone"],"1F9B9-1F3FE":["supervillain_tone4","supervillain_medium_dark_skin_tone"],"1F9B9-1F3FF":["supervillain_tone5","supervillain_dark_skin_tone"],"1F9B9-200D-2640-FE0F":"woman_supervillain","1F9B9-1F3FB-200D-2640-FE0F":["woman_supervillain_tone1","woman_supervillain_light_skin_tone"],"1F9B9-1F3FC-200D-2640-FE0F":["woman_supervillain_tone2","woman_supervillain_medium_light_skin_tone"],"1F9B9-1F3FD-200D-2640-FE0F":["woman_supervillain_tone3","woman_supervillain_medium_skin_tone"],"1F9B9-1F3FE-200D-2640-FE0F":["woman_supervillain_tone4","woman_supervillain_medium_dark_skin_tone"],"1F9B9-1F3FF-200D-2640-FE0F":["woman_supervillain_tone5","woman_supervillain_dark_skin_tone"],"1F9B9-200D-2642-FE0F":"man_supervillain","1F9B9-1F3FB-200D-2642-FE0F":["man_supervillain_tone1","man_supervillain_light_skin_tone"],"1F9B9-1F3FC-200D-2642-FE0F":["man_supervillain_tone2","man_supervillain_medium_light_skin_tone"],"1F9B9-1F3FD-200D-2642-FE0F":["man_supervillain_tone3","man_supervillain_medium_skin_tone"],"1F9B9-1F3FE-200D-2642-FE0F":["man_supervillain_tone4","man_supervillain_medium_dark_skin_tone"],"1F9B9-1F3FF-200D-2642-FE0F":["man_supervillain_tone5","man_supervillain_dark_skin_tone"],"1F977":"ninja","1F977-1F3FB":["ninja_tone1","ninja_light_skin_tone"],"1F977-1F3FC":["ninja_tone2","ninja_medium_light_skin_tone"],"1F977-1F3FD":["ninja_tone3","ninja_medium_skin_tone"],"1F977-1F3FE":["ninja_tone4","ninja_medium_dark_skin_tone"],"1F977-1F3FF":["ninja_tone5","ninja_dark_skin_tone"],"1F9D1-200D-1F384":"mx_claus","1F9D1-1F3FB-200D-1F384":["mx_claus_tone1","mx_claus_light_skin_tone"],"1F9D1-1F3FC-200D-1F384":["mx_claus_tone2","mx_claus_medium_light_skin_tone"],"1F9D1-1F3FD-200D-1F384":["mx_claus_tone3","mx_claus_medium_skin_tone"],"1F9D1-1F3FE-200D-1F384":["mx_claus_tone4","mx_claus_medium_dark_skin_tone"],"1F9D1-1F3FF-200D-1F384":["mx_claus_tone5","mx_claus_dark_skin_tone"],"1F936":["mrs_claus","mother_christmas"],"1F936-1F3FB":["mrs_claus_tone1","mother_christmas_tone1"],"1F936-1F3FC":["mrs_claus_tone2","mother_christmas_tone2"],"1F936-1F3FD":["mrs_claus_tone3","mother_christmas_tone3"],"1F936-1F3FE":["mrs_claus_tone4","mother_christmas_tone4"],"1F936-1F3FF":["mrs_claus_tone5","mother_christmas_tone5"],"1F385":"santa","1F385-1F3FB":"santa_tone1","1F385-1F3FC":"santa_tone2","1F385-1F3FD":"santa_tone3","1F385-1F3FE":"santa_tone4","1F385-1F3FF":"santa_tone5","1F9D9":"mage","1F9D9-1F3FB":["mage_tone1","mage_light_skin_tone"],"1F9D9-1F3FC":["mage_tone2","mage_medium_light_skin_tone"],"1F9D9-1F3FD":["mage_tone3","mage_medium_skin_tone"],"1F9D9-1F3FE":["mage_tone4","mage_medium_dark_skin_tone"],"1F9D9-1F3FF":["mage_tone5","mage_dark_skin_tone"],"1F9D9-200D-2640-FE0F":"woman_mage","1F9D9-1F3FB-200D-2640-FE0F":["woman_mage_tone1","woman_mage_light_skin_tone"],"1F9D9-1F3FC-200D-2640-FE0F":["woman_mage_tone2","woman_mage_medium_light_skin_tone"],"1F9D9-1F3FD-200D-2640-FE0F":["woman_mage_tone3","woman_mage_medium_skin_tone"],"1F9D9-1F3FE-200D-2640-FE0F":["woman_mage_tone4","woman_mage_medium_dark_skin_tone"],"1F9D9-1F3FF-200D-2640-FE0F":["woman_mage_tone5","woman_mage_dark_skin_tone"],"1F9D9-200D-2642-FE0F":"man_mage","1F9D9-1F3FB-200D-2642-FE0F":["man_mage_tone1","man_mage_light_skin_tone"],"1F9D9-1F3FC-200D-2642-FE0F":["man_mage_tone2","man_mage_medium_light_skin_tone"],"1F9D9-1F3FD-200D-2642-FE0F":["man_mage_tone3","man_mage_medium_skin_tone"],"1F9D9-1F3FE-200D-2642-FE0F":["man_mage_tone4","man_mage_medium_dark_skin_tone"],"1F9D9-1F3FF-200D-2642-FE0F":["man_mage_tone5","man_mage_dark_skin_tone"],"1F9DD":"elf","1F9DD-1F3FB":["elf_tone1","elf_light_skin_tone"],"1F9DD-1F3FC":["elf_tone2","elf_medium_light_skin_tone"],"1F9DD-1F3FD":["elf_tone3","elf_medium_skin_tone"],"1F9DD-1F3FE":["elf_tone4","elf_medium_dark_skin_tone"],"1F9DD-1F3FF":["elf_tone5","elf_dark_skin_tone"],"1F9DD-200D-2640-FE0F":"woman_elf","1F9DD-1F3FB-200D-2640-FE0F":["woman_elf_tone1","woman_elf_light_skin_tone"],"1F9DD-1F3FC-200D-2640-FE0F":["woman_elf_tone2","woman_elf_medium_light_skin_tone"],"1F9DD-1F3FD-200D-2640-FE0F":["woman_elf_tone3","woman_elf_medium_skin_tone"],"1F9DD-1F3FE-200D-2640-FE0F":["woman_elf_tone4","woman_elf_medium_dark_skin_tone"],"1F9DD-1F3FF-200D-2640-FE0F":["woman_elf_tone5","woman_elf_dark_skin_tone"],"1F9DD-200D-2642-FE0F":"man_elf","1F9DD-1F3FB-200D-2642-FE0F":["man_elf_tone1","man_elf_light_skin_tone"],"1F9DD-1F3FC-200D-2642-FE0F":["man_elf_tone2","man_elf_medium_light_skin_tone"],"1F9DD-1F3FD-200D-2642-FE0F":["man_elf_tone3","man_elf_medium_skin_tone"],"1F9DD-1F3FE-200D-2642-FE0F":["man_elf_tone4","man_elf_medium_dark_skin_tone"],"1F9DD-1F3FF-200D-2642-FE0F":["man_elf_tone5","man_elf_dark_skin_tone"],"1F9DB":"vampire","1F9DB-1F3FB":["vampire_tone1","vampire_light_skin_tone"],"1F9DB-1F3FC":["vampire_tone2","vampire_medium_light_skin_tone"],"1F9DB-1F3FD":["vampire_tone3","vampire_medium_skin_tone"],"1F9DB-1F3FE":["vampire_tone4","vampire_medium_dark_skin_tone"],"1F9DB-1F3FF":["vampire_tone5","vampire_dark_skin_tone"],"1F9DB-200D-2640-FE0F":"woman_vampire","1F9DB-1F3FB-200D-2640-FE0F":["woman_vampire_tone1","woman_vampire_light_skin_tone"],"1F9DB-1F3FC-200D-2640-FE0F":["woman_vampire_tone2","woman_vampire_medium_light_skin_tone"],"1F9DB-1F3FD-200D-2640-FE0F":["woman_vampire_tone3","woman_vampire_medium_skin_tone"],"1F9DB-1F3FE-200D-2640-FE0F":["woman_vampire_tone4","woman_vampire_medium_dark_skin_tone"],"1F9DB-1F3FF-200D-2640-FE0F":["woman_vampire_tone5","woman_vampire_dark_skin_tone"],"1F9DB-200D-2642-FE0F":"man_vampire","1F9DB-1F3FB-200D-2642-FE0F":["man_vampire_tone1","man_vampire_light_skin_tone"],"1F9DB-1F3FC-200D-2642-FE0F":["man_vampire_tone2","man_vampire_medium_light_skin_tone"],"1F9DB-1F3FD-200D-2642-FE0F":["man_vampire_tone3","man_vampire_medium_skin_tone"],"1F9DB-1F3FE-200D-2642-FE0F":["man_vampire_tone4","man_vampire_medium_dark_skin_tone"],"1F9DB-1F3FF-200D-2642-FE0F":["man_vampire_tone5","man_vampire_dark_skin_tone"],"1F9DF":"zombie","1F9DF-200D-2640-FE0F":"woman_zombie","1F9DF-200D-2642-FE0F":"man_zombie","1F9DE":"genie","1F9DE-200D-2640-FE0F":"woman_genie","1F9DE-200D-2642-FE0F":"man_genie","1F9DC":"merperson","1F9DC-1F3FB":["merperson_tone1","merperson_light_skin_tone"],"1F9DC-1F3FC":["merperson_tone2","merperson_medium_light_skin_tone"],"1F9DC-1F3FD":["merperson_tone3","merperson_medium_skin_tone"],"1F9DC-1F3FE":["merperson_tone4","merperson_medium_dark_skin_tone"],"1F9DC-1F3FF":["merperson_tone5","merperson_dark_skin_tone"],"1F9DC-200D-2640-FE0F":"mermaid","1F9DC-1F3FB-200D-2640-FE0F":["mermaid_tone1","mermaid_light_skin_tone"],"1F9DC-1F3FC-200D-2640-FE0F":["mermaid_tone2","mermaid_medium_light_skin_tone"],"1F9DC-1F3FD-200D-2640-FE0F":["mermaid_tone3","mermaid_medium_skin_tone"],"1F9DC-1F3FE-200D-2640-FE0F":["mermaid_tone4","mermaid_medium_dark_skin_tone"],"1F9DC-1F3FF-200D-2640-FE0F":["mermaid_tone5","mermaid_dark_skin_tone"],"1F9DC-200D-2642-FE0F":"merman","1F9DC-1F3FB-200D-2642-FE0F":["merman_tone1","merman_light_skin_tone"],"1F9DC-1F3FC-200D-2642-FE0F":["merman_tone2","merman_medium_light_skin_tone"],"1F9DC-1F3FD-200D-2642-FE0F":["merman_tone3","merman_medium_skin_tone"],"1F9DC-1F3FE-200D-2642-FE0F":["merman_tone4","merman_medium_dark_skin_tone"],"1F9DC-1F3FF-200D-2642-FE0F":["merman_tone5","merman_dark_skin_tone"],"1F9DA":"fairy","1F9DA-1F3FB":["fairy_tone1","fairy_light_skin_tone"],"1F9DA-1F3FC":["fairy_tone2","fairy_medium_light_skin_tone"],"1F9DA-1F3FD":["fairy_tone3","fairy_medium_skin_tone"],"1F9DA-1F3FE":["fairy_tone4","fairy_medium_dark_skin_tone"],"1F9DA-1F3FF":["fairy_tone5","fairy_dark_skin_tone"],"1F9DA-200D-2640-FE0F":"woman_fairy","1F9DA-1F3FB-200D-2640-FE0F":["woman_fairy_tone1","woman_fairy_light_skin_tone"],"1F9DA-1F3FC-200D-2640-FE0F":["woman_fairy_tone2","woman_fairy_medium_light_skin_tone"],"1F9DA-1F3FD-200D-2640-FE0F":["woman_fairy_tone3","woman_fairy_medium_skin_tone"],"1F9DA-1F3FE-200D-2640-FE0F":["woman_fairy_tone4","woman_fairy_medium_dark_skin_tone"],"1F9DA-1F3FF-200D-2640-FE0F":["woman_fairy_tone5","woman_fairy_dark_skin_tone"],"1F9DA-200D-2642-FE0F":"man_fairy","1F9DA-1F3FB-200D-2642-FE0F":["man_fairy_tone1","man_fairy_light_skin_tone"],"1F9DA-1F3FC-200D-2642-FE0F":["man_fairy_tone2","man_fairy_medium_light_skin_tone"],"1F9DA-1F3FD-200D-2642-FE0F":["man_fairy_tone3","man_fairy_medium_skin_tone"],"1F9DA-1F3FE-200D-2642-FE0F":["man_fairy_tone4","man_fairy_medium_dark_skin_tone"],"1F9DA-1F3FF-200D-2642-FE0F":["man_fairy_tone5","man_fairy_dark_skin_tone"],"1F47C":"angel","1F47C-1F3FB":"angel_tone1","1F47C-1F3FC":"angel_tone2","1F47C-1F3FD":"angel_tone3","1F47C-1F3FE":"angel_tone4","1F47C-1F3FF":"angel_tone5","1F930":["pregnant_woman","expecting_woman"],"1F930-1F3FB":["pregnant_woman_tone1","expecting_woman_tone1"],"1F930-1F3FC":["pregnant_woman_tone2","expecting_woman_tone2"],"1F930-1F3FD":["pregnant_woman_tone3","expecting_woman_tone3"],"1F930-1F3FE":["pregnant_woman_tone4","expecting_woman_tone4"],"1F930-1F3FF":["pregnant_woman_tone5","expecting_woman_tone5"],"1F931":"breast_feeding","1F931-1F3FB":["breast_feeding_tone1","breast_feeding_light_skin_tone"],"1F931-1F3FC":["breast_feeding_tone2","breast_feeding_medium_light_skin_tone"],"1F931-1F3FD":["breast_feeding_tone3","breast_feeding_medium_skin_tone"],"1F931-1F3FE":["breast_feeding_tone4","breast_feeding_medium_dark_skin_tone"],"1F931-1F3FF":["breast_feeding_tone5","breast_feeding_dark_skin_tone"],"1F9D1-200D-1F37C":"person_feeding_baby","1F9D1-1F3FB-200D-1F37C":["person_feeding_baby_tone1","person_feeding_baby_light_skin_tone"],"1F9D1-1F3FC-200D-1F37C":["person_feeding_baby_tone2","person_feeding_baby_medium_light_skin_tone"],"1F9D1-1F3FD-200D-1F37C":["person_feeding_baby_tone3","person_feeding_baby_medium_skin_tone"],"1F9D1-1F3FE-200D-1F37C":["person_feeding_baby_tone4","person_feeding_baby_medium_dark_skin_tone"],"1F9D1-1F3FF-200D-1F37C":["person_feeding_baby_tone5","person_feeding_baby_dark_skin_tone"],"1F469-200D-1F37C":"woman_feeding_baby","1F469-1F3FB-200D-1F37C":["woman_feeding_baby_tone1","woman_feeding_baby_light_skin_tone"],"1F469-1F3FC-200D-1F37C":["woman_feeding_baby_tone2","woman_feeding_baby_medium_light_skin_tone"],"1F469-1F3FD-200D-1F37C":["woman_feeding_baby_tone3","woman_feeding_baby_medium_skin_tone"],"1F469-1F3FE-200D-1F37C":["woman_feeding_baby_tone4","woman_feeding_baby_medium_dark_skin_tone"],"1F469-1F3FF-200D-1F37C":["woman_feeding_baby_tone5","woman_feeding_baby_dark_skin_tone"],"1F468-200D-1F37C":"man_feeding_baby","1F468-1F3FB-200D-1F37C":["man_feeding_baby_tone1","man_feeding_baby_light_skin_tone"],"1F468-1F3FC-200D-1F37C":["man_feeding_baby_tone2","man_feeding_baby_medium_light_skin_tone"],"1F468-1F3FD-200D-1F37C":["man_feeding_baby_tone3","man_feeding_baby_medium_skin_tone"],"1F468-1F3FE-200D-1F37C":["man_feeding_baby_tone4","man_feeding_baby_medium_dark_skin_tone"],"1F468-1F3FF-200D-1F37C":["man_feeding_baby_tone5","man_feeding_baby_dark_skin_tone"],"1F647":["person_bowing","bow"],"1F647-1F3FB":["person_bowing_tone1","bow_tone1"],"1F647-1F3FC":["person_bowing_tone2","bow_tone2"],"1F647-1F3FD":["person_bowing_tone3","bow_tone3"],"1F647-1F3FE":["person_bowing_tone4","bow_tone4"],"1F647-1F3FF":["person_bowing_tone5","bow_tone5"],"1F647-200D-2640-FE0F":"woman_bowing","1F647-1F3FB-200D-2640-FE0F":["woman_bowing_tone1","woman_bowing_light_skin_tone"],"1F647-1F3FC-200D-2640-FE0F":["woman_bowing_tone2","woman_bowing_medium_light_skin_tone"],"1F647-1F3FD-200D-2640-FE0F":["woman_bowing_tone3","woman_bowing_medium_skin_tone"],"1F647-1F3FE-200D-2640-FE0F":["woman_bowing_tone4","woman_bowing_medium_dark_skin_tone"],"1F647-1F3FF-200D-2640-FE0F":["woman_bowing_tone5","woman_bowing_dark_skin_tone"],"1F647-200D-2642-FE0F":"man_bowing","1F647-1F3FB-200D-2642-FE0F":["man_bowing_tone1","man_bowing_light_skin_tone"],"1F647-1F3FC-200D-2642-FE0F":["man_bowing_tone2","man_bowing_medium_light_skin_tone"],"1F647-1F3FD-200D-2642-FE0F":["man_bowing_tone3","man_bowing_medium_skin_tone"],"1F647-1F3FE-200D-2642-FE0F":["man_bowing_tone4","man_bowing_medium_dark_skin_tone"],"1F647-1F3FF-200D-2642-FE0F":["man_bowing_tone5","man_bowing_dark_skin_tone"],"1F481":["person_tipping_hand","information_desk_person"],"1F481-1F3FB":["person_tipping_hand_tone1","information_desk_person_tone1"],"1F481-1F3FC":["person_tipping_hand_tone2","information_desk_person_tone2"],"1F481-1F3FD":["person_tipping_hand_tone3","information_desk_person_tone3"],"1F481-1F3FE":["person_tipping_hand_tone4","information_desk_person_tone4"],"1F481-1F3FF":["person_tipping_hand_tone5","information_desk_person_tone5"],"1F481-200D-2640-FE0F":"woman_tipping_hand","1F481-1F3FB-200D-2640-FE0F":["woman_tipping_hand_tone1","woman_tipping_hand_light_skin_tone"],"1F481-1F3FC-200D-2640-FE0F":["woman_tipping_hand_tone2","woman_tipping_hand_medium_light_skin_tone"],"1F481-1F3FD-200D-2640-FE0F":["woman_tipping_hand_tone3","woman_tipping_hand_medium_skin_tone"],"1F481-1F3FE-200D-2640-FE0F":["woman_tipping_hand_tone4","woman_tipping_hand_medium_dark_skin_tone"],"1F481-1F3FF-200D-2640-FE0F":["woman_tipping_hand_tone5","woman_tipping_hand_dark_skin_tone"],"1F481-200D-2642-FE0F":"man_tipping_hand","1F481-1F3FB-200D-2642-FE0F":["man_tipping_hand_tone1","man_tipping_hand_light_skin_tone"],"1F481-1F3FC-200D-2642-FE0F":["man_tipping_hand_tone2","man_tipping_hand_medium_light_skin_tone"],"1F481-1F3FD-200D-2642-FE0F":["man_tipping_hand_tone3","man_tipping_hand_medium_skin_tone"],"1F481-1F3FE-200D-2642-FE0F":["man_tipping_hand_tone4","man_tipping_hand_medium_dark_skin_tone"],"1F481-1F3FF-200D-2642-FE0F":["man_tipping_hand_tone5","man_tipping_hand_dark_skin_tone"],"1F645":["person_gesturing_no","no_good"],"1F645-1F3FB":["person_gesturing_no_tone1","no_good_tone1"],"1F645-1F3FC":["person_gesturing_no_tone2","no_good_tone2"],"1F645-1F3FD":["person_gesturing_no_tone3","no_good_tone3"],"1F645-1F3FE":["person_gesturing_no_tone4","no_good_tone4"],"1F645-1F3FF":["person_gesturing_no_tone5","no_good_tone5"],"1F645-200D-2640-FE0F":"woman_gesturing_no","1F645-1F3FB-200D-2640-FE0F":["woman_gesturing_no_tone1","woman_gesturing_no_light_skin_tone"],"1F645-1F3FC-200D-2640-FE0F":["woman_gesturing_no_tone2","woman_gesturing_no_medium_light_skin_tone"],"1F645-1F3FD-200D-2640-FE0F":["woman_gesturing_no_tone3","woman_gesturing_no_medium_skin_tone"],"1F645-1F3FE-200D-2640-FE0F":["woman_gesturing_no_tone4","woman_gesturing_no_medium_dark_skin_tone"],"1F645-1F3FF-200D-2640-FE0F":["woman_gesturing_no_tone5","woman_gesturing_no_dark_skin_tone"],"1F645-200D-2642-FE0F":"man_gesturing_no","1F645-1F3FB-200D-2642-FE0F":["man_gesturing_no_tone1","man_gesturing_no_light_skin_tone"],"1F645-1F3FC-200D-2642-FE0F":["man_gesturing_no_tone2","man_gesturing_no_medium_light_skin_tone"],"1F645-1F3FD-200D-2642-FE0F":["man_gesturing_no_tone3","man_gesturing_no_medium_skin_tone"],"1F645-1F3FE-200D-2642-FE0F":["man_gesturing_no_tone4","man_gesturing_no_medium_dark_skin_tone"],"1F645-1F3FF-200D-2642-FE0F":["man_gesturing_no_tone5","man_gesturing_no_dark_skin_tone"],"1F646":["person_gesturing_ok","ok_woman"],"1F646-1F3FB":["person_gesturing_ok_tone1","ok_woman_tone1"],"1F646-1F3FC":["person_gesturing_ok_tone2","ok_woman_tone2"],"1F646-1F3FD":["person_gesturing_ok_tone3","ok_woman_tone3"],"1F646-1F3FE":["person_gesturing_ok_tone4","ok_woman_tone4"],"1F646-1F3FF":["person_gesturing_ok_tone5","ok_woman_tone5"],"1F646-200D-2640-FE0F":"woman_gesturing_ok","1F646-1F3FB-200D-2640-FE0F":["woman_gesturing_ok_tone1","woman_gesturing_ok_light_skin_tone"],"1F646-1F3FC-200D-2640-FE0F":["woman_gesturing_ok_tone2","woman_gesturing_ok_medium_light_skin_tone"],"1F646-1F3FD-200D-2640-FE0F":["woman_gesturing_ok_tone3","woman_gesturing_ok_medium_skin_tone"],"1F646-1F3FE-200D-2640-FE0F":["woman_gesturing_ok_tone4","woman_gesturing_ok_medium_dark_skin_tone"],"1F646-1F3FF-200D-2640-FE0F":["woman_gesturing_ok_tone5","woman_gesturing_ok_dark_skin_tone"],"1F646-200D-2642-FE0F":"man_gesturing_ok","1F646-1F3FB-200D-2642-FE0F":["man_gesturing_ok_tone1","man_gesturing_ok_light_skin_tone"],"1F646-1F3FC-200D-2642-FE0F":["man_gesturing_ok_tone2","man_gesturing_ok_medium_light_skin_tone"],"1F646-1F3FD-200D-2642-FE0F":["man_gesturing_ok_tone3","man_gesturing_ok_medium_skin_tone"],"1F646-1F3FE-200D-2642-FE0F":["man_gesturing_ok_tone4","man_gesturing_ok_medium_dark_skin_tone"],"1F646-1F3FF-200D-2642-FE0F":["man_gesturing_ok_tone5","man_gesturing_ok_dark_skin_tone"],"1F64B":["person_raising_hand","raising_hand"],"1F64B-1F3FB":["person_raising_hand_tone1","raising_hand_tone1"],"1F64B-1F3FC":["person_raising_hand_tone2","raising_hand_tone2"],"1F64B-1F3FD":["person_raising_hand_tone3","raising_hand_tone3"],"1F64B-1F3FE":["person_raising_hand_tone4","raising_hand_tone4"],"1F64B-1F3FF":["person_raising_hand_tone5","raising_hand_tone5"],"1F64B-200D-2640-FE0F":"woman_raising_hand","1F64B-1F3FB-200D-2640-FE0F":["woman_raising_hand_tone1","woman_raising_hand_light_skin_tone"],"1F64B-1F3FC-200D-2640-FE0F":["woman_raising_hand_tone2","woman_raising_hand_medium_light_skin_tone"],"1F64B-1F3FD-200D-2640-FE0F":["woman_raising_hand_tone3","woman_raising_hand_medium_skin_tone"],"1F64B-1F3FE-200D-2640-FE0F":["woman_raising_hand_tone4","woman_raising_hand_medium_dark_skin_tone"],"1F64B-1F3FF-200D-2640-FE0F":["woman_raising_hand_tone5","woman_raising_hand_dark_skin_tone"],"1F64B-200D-2642-FE0F":"man_raising_hand","1F64B-1F3FB-200D-2642-FE0F":["man_raising_hand_tone1","man_raising_hand_light_skin_tone"],"1F64B-1F3FC-200D-2642-FE0F":["man_raising_hand_tone2","man_raising_hand_medium_light_skin_tone"],"1F64B-1F3FD-200D-2642-FE0F":["man_raising_hand_tone3","man_raising_hand_medium_skin_tone"],"1F64B-1F3FE-200D-2642-FE0F":["man_raising_hand_tone4","man_raising_hand_medium_dark_skin_tone"],"1F64B-1F3FF-200D-2642-FE0F":["man_raising_hand_tone5","man_raising_hand_dark_skin_tone"],"1F9CF":"deaf_person","1F9CF-1F3FB":["deaf_person_tone1","deaf_person_light_skin_tone"],"1F9CF-1F3FC":["deaf_person_tone2","deaf_person_medium_light_skin_tone"],"1F9CF-1F3FD":["deaf_person_tone3","deaf_person_medium_skin_tone"],"1F9CF-1F3FE":["deaf_person_tone4","deaf_person_medium_dark_skin_tone"],"1F9CF-1F3FF":["deaf_person_tone5","deaf_person_dark_skin_tone"],"1F9CF-200D-2640-FE0F":"deaf_woman","1F9CF-1F3FB-200D-2640-FE0F":["deaf_woman_tone1","deaf_woman_light_skin_tone"],"1F9CF-1F3FC-200D-2640-FE0F":["deaf_woman_tone2","deaf_woman_medium_light_skin_tone"],"1F9CF-1F3FD-200D-2640-FE0F":["deaf_woman_tone3","deaf_woman_medium_skin_tone"],"1F9CF-1F3FE-200D-2640-FE0F":["deaf_woman_tone4","deaf_woman_medium_dark_skin_tone"],"1F9CF-1F3FF-200D-2640-FE0F":["deaf_woman_tone5","deaf_woman_dark_skin_tone"],"1F9CF-200D-2642-FE0F":"deaf_man","1F9CF-1F3FB-200D-2642-FE0F":["deaf_man_tone1","deaf_man_light_skin_tone"],"1F9CF-1F3FC-200D-2642-FE0F":["deaf_man_tone2","deaf_man_medium_light_skin_tone"],"1F9CF-1F3FD-200D-2642-FE0F":["deaf_man_tone3","deaf_man_medium_skin_tone"],"1F9CF-1F3FE-200D-2642-FE0F":["deaf_man_tone4","deaf_man_medium_dark_skin_tone"],"1F9CF-1F3FF-200D-2642-FE0F":["deaf_man_tone5","deaf_man_dark_skin_tone"],"1F926":["person_facepalming","face_palm","facepalm"],"1F926-1F3FB":["person_facepalming_tone1","face_palm_tone1","facepalm_tone1"],"1F926-1F3FC":["person_facepalming_tone2","face_palm_tone2","facepalm_tone2"],"1F926-1F3FD":["person_facepalming_tone3","face_palm_tone3","facepalm_tone3"],"1F926-1F3FE":["person_facepalming_tone4","face_palm_tone4","facepalm_tone4"],"1F926-1F3FF":["person_facepalming_tone5","face_palm_tone5","facepalm_tone5"],"1F926-200D-2640-FE0F":"woman_facepalming","1F926-1F3FB-200D-2640-FE0F":["woman_facepalming_tone1","woman_facepalming_light_skin_tone"],"1F926-1F3FC-200D-2640-FE0F":["woman_facepalming_tone2","woman_facepalming_medium_light_skin_tone"],"1F926-1F3FD-200D-2640-FE0F":["woman_facepalming_tone3","woman_facepalming_medium_skin_tone"],"1F926-1F3FE-200D-2640-FE0F":["woman_facepalming_tone4","woman_facepalming_medium_dark_skin_tone"],"1F926-1F3FF-200D-2640-FE0F":["woman_facepalming_tone5","woman_facepalming_dark_skin_tone"],"1F926-200D-2642-FE0F":"man_facepalming","1F926-1F3FB-200D-2642-FE0F":["man_facepalming_tone1","man_facepalming_light_skin_tone"],"1F926-1F3FC-200D-2642-FE0F":["man_facepalming_tone2","man_facepalming_medium_light_skin_tone"],"1F926-1F3FD-200D-2642-FE0F":["man_facepalming_tone3","man_facepalming_medium_skin_tone"],"1F926-1F3FE-200D-2642-FE0F":["man_facepalming_tone4","man_facepalming_medium_dark_skin_tone"],"1F926-1F3FF-200D-2642-FE0F":["man_facepalming_tone5","man_facepalming_dark_skin_tone"],"1F937":["person_shrugging","shrug"],"1F937-1F3FB":["person_shrugging_tone1","shrug_tone1"],"1F937-1F3FC":["person_shrugging_tone2","shrug_tone2"],"1F937-1F3FD":["person_shrugging_tone3","shrug_tone3"],"1F937-1F3FE":["person_shrugging_tone4","shrug_tone4"],"1F937-1F3FF":["person_shrugging_tone5","shrug_tone5"],"1F937-200D-2640-FE0F":"woman_shrugging","1F937-1F3FB-200D-2640-FE0F":["woman_shrugging_tone1","woman_shrugging_light_skin_tone"],"1F937-1F3FC-200D-2640-FE0F":["woman_shrugging_tone2","woman_shrugging_medium_light_skin_tone"],"1F937-1F3FD-200D-2640-FE0F":["woman_shrugging_tone3","woman_shrugging_medium_skin_tone"],"1F937-1F3FE-200D-2640-FE0F":["woman_shrugging_tone4","woman_shrugging_medium_dark_skin_tone"],"1F937-1F3FF-200D-2640-FE0F":["woman_shrugging_tone5","woman_shrugging_dark_skin_tone"],"1F937-200D-2642-FE0F":"man_shrugging","1F937-1F3FB-200D-2642-FE0F":["man_shrugging_tone1","man_shrugging_light_skin_tone"],"1F937-1F3FC-200D-2642-FE0F":["man_shrugging_tone2","man_shrugging_medium_light_skin_tone"],"1F937-1F3FD-200D-2642-FE0F":["man_shrugging_tone3","man_shrugging_medium_skin_tone"],"1F937-1F3FE-200D-2642-FE0F":["man_shrugging_tone4","man_shrugging_medium_dark_skin_tone"],"1F937-1F3FF-200D-2642-FE0F":["man_shrugging_tone5","man_shrugging_dark_skin_tone"],"1F64E":["person_pouting","person_with_pouting_face"],"1F64E-1F3FB":["person_pouting_tone1","person_with_pouting_face_tone1"],"1F64E-1F3FC":["person_pouting_tone2","person_with_pouting_face_tone2"],"1F64E-1F3FD":["person_pouting_tone3","person_with_pouting_face_tone3"],"1F64E-1F3FE":["person_pouting_tone4","person_with_pouting_face_tone4"],"1F64E-1F3FF":["person_pouting_tone5","person_with_pouting_face_tone5"],"1F64E-200D-2640-FE0F":"woman_pouting","1F64E-1F3FB-200D-2640-FE0F":["woman_pouting_tone1","woman_pouting_light_skin_tone"],"1F64E-1F3FC-200D-2640-FE0F":["woman_pouting_tone2","woman_pouting_medium_light_skin_tone"],"1F64E-1F3FD-200D-2640-FE0F":["woman_pouting_tone3","woman_pouting_medium_skin_tone"],"1F64E-1F3FE-200D-2640-FE0F":["woman_pouting_tone4","woman_pouting_medium_dark_skin_tone"],"1F64E-1F3FF-200D-2640-FE0F":["woman_pouting_tone5","woman_pouting_dark_skin_tone"],"1F64E-200D-2642-FE0F":"man_pouting","1F64E-1F3FB-200D-2642-FE0F":["man_pouting_tone1","man_pouting_light_skin_tone"],"1F64E-1F3FC-200D-2642-FE0F":["man_pouting_tone2","man_pouting_medium_light_skin_tone"],"1F64E-1F3FD-200D-2642-FE0F":["man_pouting_tone3","man_pouting_medium_skin_tone"],"1F64E-1F3FE-200D-2642-FE0F":["man_pouting_tone4","man_pouting_medium_dark_skin_tone"],"1F64E-1F3FF-200D-2642-FE0F":["man_pouting_tone5","man_pouting_dark_skin_tone"],"1F64D":"person_frowning","1F64D-1F3FB":"person_frowning_tone1","1F64D-1F3FC":"person_frowning_tone2","1F64D-1F3FD":"person_frowning_tone3","1F64D-1F3FE":"person_frowning_tone4","1F64D-1F3FF":"person_frowning_tone5","1F64D-200D-2640-FE0F":"woman_frowning","1F64D-1F3FB-200D-2640-FE0F":["woman_frowning_tone1","woman_frowning_light_skin_tone"],"1F64D-1F3FC-200D-2640-FE0F":["woman_frowning_tone2","woman_frowning_medium_light_skin_tone"],"1F64D-1F3FD-200D-2640-FE0F":["woman_frowning_tone3","woman_frowning_medium_skin_tone"],"1F64D-1F3FE-200D-2640-FE0F":["woman_frowning_tone4","woman_frowning_medium_dark_skin_tone"],"1F64D-1F3FF-200D-2640-FE0F":["woman_frowning_tone5","woman_frowning_dark_skin_tone"],"1F64D-200D-2642-FE0F":"man_frowning","1F64D-1F3FB-200D-2642-FE0F":["man_frowning_tone1","man_frowning_light_skin_tone"],"1F64D-1F3FC-200D-2642-FE0F":["man_frowning_tone2","man_frowning_medium_light_skin_tone"],"1F64D-1F3FD-200D-2642-FE0F":["man_frowning_tone3","man_frowning_medium_skin_tone"],"1F64D-1F3FE-200D-2642-FE0F":["man_frowning_tone4","man_frowning_medium_dark_skin_tone"],"1F64D-1F3FF-200D-2642-FE0F":["man_frowning_tone5","man_frowning_dark_skin_tone"],"1F487":["person_getting_haircut","haircut"],"1F487-1F3FB":["person_getting_haircut_tone1","haircut_tone1"],"1F487-1F3FC":["person_getting_haircut_tone2","haircut_tone2"],"1F487-1F3FD":["person_getting_haircut_tone3","haircut_tone3"],"1F487-1F3FE":["person_getting_haircut_tone4","haircut_tone4"],"1F487-1F3FF":["person_getting_haircut_tone5","haircut_tone5"],"1F487-200D-2640-FE0F":"woman_getting_haircut","1F487-1F3FB-200D-2640-FE0F":["woman_getting_haircut_tone1","woman_getting_haircut_light_skin_tone"],"1F487-1F3FC-200D-2640-FE0F":["woman_getting_haircut_tone2","woman_getting_haircut_medium_light_skin_tone"],"1F487-1F3FD-200D-2640-FE0F":["woman_getting_haircut_tone3","woman_getting_haircut_medium_skin_tone"],"1F487-1F3FE-200D-2640-FE0F":["woman_getting_haircut_tone4","woman_getting_haircut_medium_dark_skin_tone"],"1F487-1F3FF-200D-2640-FE0F":["woman_getting_haircut_tone5","woman_getting_haircut_dark_skin_tone"],"1F487-200D-2642-FE0F":"man_getting_haircut","1F487-1F3FB-200D-2642-FE0F":["man_getting_haircut_tone1","man_getting_haircut_light_skin_tone"],"1F487-1F3FC-200D-2642-FE0F":["man_getting_haircut_tone2","man_getting_haircut_medium_light_skin_tone"],"1F487-1F3FD-200D-2642-FE0F":["man_getting_haircut_tone3","man_getting_haircut_medium_skin_tone"],"1F487-1F3FE-200D-2642-FE0F":["man_getting_haircut_tone4","man_getting_haircut_medium_dark_skin_tone"],"1F487-1F3FF-200D-2642-FE0F":["man_getting_haircut_tone5","man_getting_haircut_dark_skin_tone"],"1F486":["person_getting_massage","massage"],"1F486-1F3FB":["person_getting_massage_tone1","massage_tone1"],"1F486-1F3FC":["person_getting_massage_tone2","massage_tone2"],"1F486-1F3FD":["person_getting_massage_tone3","massage_tone3"],"1F486-1F3FE":["person_getting_massage_tone4","massage_tone4"],"1F486-1F3FF":["person_getting_massage_tone5","massage_tone5"],"1F486-200D-2640-FE0F":"woman_getting_face_massage","1F486-1F3FB-200D-2640-FE0F":["woman_getting_face_massage_tone1","woman_getting_face_massage_light_skin_tone"],"1F486-1F3FC-200D-2640-FE0F":["woman_getting_face_massage_tone2","woman_getting_face_massage_medium_light_skin_tone"],"1F486-1F3FD-200D-2640-FE0F":["woman_getting_face_massage_tone3","woman_getting_face_massage_medium_skin_tone"],"1F486-1F3FE-200D-2640-FE0F":["woman_getting_face_massage_tone4","woman_getting_face_massage_medium_dark_skin_tone"],"1F486-1F3FF-200D-2640-FE0F":["woman_getting_face_massage_tone5","woman_getting_face_massage_dark_skin_tone"],"1F486-200D-2642-FE0F":"man_getting_face_massage","1F486-1F3FB-200D-2642-FE0F":["man_getting_face_massage_tone1","man_getting_face_massage_light_skin_tone"],"1F486-1F3FC-200D-2642-FE0F":["man_getting_face_massage_tone2","man_getting_face_massage_medium_light_skin_tone"],"1F486-1F3FD-200D-2642-FE0F":["man_getting_face_massage_tone3","man_getting_face_massage_medium_skin_tone"],"1F486-1F3FE-200D-2642-FE0F":["man_getting_face_massage_tone4","man_getting_face_massage_medium_dark_skin_tone"],"1F486-1F3FF-200D-2642-FE0F":["man_getting_face_massage_tone5","man_getting_face_massage_dark_skin_tone"],"1F9D6":"person_in_steamy_room","1F9D6-1F3FB":["person_in_steamy_room_tone1","person_in_steamy_room_light_skin_tone"],"1F9D6-1F3FC":["person_in_steamy_room_tone2","person_in_steamy_room_medium_light_skin_tone"],"1F9D6-1F3FD":["person_in_steamy_room_tone3","person_in_steamy_room_medium_skin_tone"],"1F9D6-1F3FE":["person_in_steamy_room_tone4","person_in_steamy_room_medium_dark_skin_tone"],"1F9D6-1F3FF":["person_in_steamy_room_tone5","person_in_steamy_room_dark_skin_tone"],"1F9D6-200D-2640-FE0F":"woman_in_steamy_room","1F9D6-1F3FB-200D-2640-FE0F":["woman_in_steamy_room_tone1","woman_in_steamy_room_light_skin_tone"],"1F9D6-1F3FC-200D-2640-FE0F":["woman_in_steamy_room_tone2","woman_in_steamy_room_medium_light_skin_tone"],"1F9D6-1F3FD-200D-2640-FE0F":["woman_in_steamy_room_tone3","woman_in_steamy_room_medium_skin_tone"],"1F9D6-1F3FE-200D-2640-FE0F":["woman_in_steamy_room_tone4","woman_in_steamy_room_medium_dark_skin_tone"],"1F9D6-1F3FF-200D-2640-FE0F":["woman_in_steamy_room_tone5","woman_in_steamy_room_dark_skin_tone"],"1F9D6-200D-2642-FE0F":"man_in_steamy_room","1F9D6-1F3FB-200D-2642-FE0F":["man_in_steamy_room_tone1","man_in_steamy_room_light_skin_tone"],"1F9D6-1F3FC-200D-2642-FE0F":["man_in_steamy_room_tone2","man_in_steamy_room_medium_light_skin_tone"],"1F9D6-1F3FD-200D-2642-FE0F":["man_in_steamy_room_tone3","man_in_steamy_room_medium_skin_tone"],"1F9D6-1F3FE-200D-2642-FE0F":["man_in_steamy_room_tone4","man_in_steamy_room_medium_dark_skin_tone"],"1F9D6-1F3FF-200D-2642-FE0F":["man_in_steamy_room_tone5","man_in_steamy_room_dark_skin_tone"],"1F485":"nail_care","1F485-1F3FB":"nail_care_tone1","1F485-1F3FC":"nail_care_tone2","1F485-1F3FD":"nail_care_tone3","1F485-1F3FE":"nail_care_tone4","1F485-1F3FF":"nail_care_tone5","1F933":"selfie","1F933-1F3FB":"selfie_tone1","1F933-1F3FC":"selfie_tone2","1F933-1F3FD":"selfie_tone3","1F933-1F3FE":"selfie_tone4","1F933-1F3FF":"selfie_tone5","1F483":"dancer","1F483-1F3FB":"dancer_tone1","1F483-1F3FC":"dancer_tone2","1F483-1F3FD":"dancer_tone3","1F483-1F3FE":"dancer_tone4","1F483-1F3FF":"dancer_tone5","1F57A":["man_dancing","male_dancer"],"1F57A-1F3FB":["man_dancing_tone1","male_dancer_tone1"],"1F57A-1F3FC":["man_dancing_tone2","male_dancer_tone2"],"1F57A-1F3FD":["man_dancing_tone3","male_dancer_tone3"],"1F57A-1F3FF":["man_dancing_tone5","male_dancer_tone5"],"1F57A-1F3FE":["man_dancing_tone4","male_dancer_tone4"],"1F46F":["people_with_bunny_ears_partying","dancers"],"1F46F-200D-2640-FE0F":"women_with_bunny_ears_partying","1F46F-200D-2642-FE0F":"men_with_bunny_ears_partying","1F574":["levitate","man_in_business_suit_levitating"],"1F574-1F3FB":["levitate_tone1","man_in_business_suit_levitating_tone1","man_in_business_suit_levitating_light_skin_tone"],"1F574-1F3FC":["levitate_tone2","man_in_business_suit_levitating_tone2","man_in_business_suit_levitating_medium_light_skin_tone"],"1F574-1F3FD":["levitate_tone3","man_in_business_suit_levitating_tone3","man_in_business_suit_levitating_medium_skin_tone"],"1F574-1F3FE":["levitate_tone4","man_in_business_suit_levitating_tone4","man_in_business_suit_levitating_medium_dark_skin_tone"],"1F574-1F3FF":["levitate_tone5","man_in_business_suit_levitating_tone5","man_in_business_suit_levitating_dark_skin_tone"],"1F9D1-200D-1F9BD":"person_in_manual_wheelchair","1F9D1-1F3FB-200D-1F9BD":["person_in_manual_wheelchair_tone1","person_in_manual_wheelchair_light_skin_tone"],"1F9D1-1F3FC-200D-1F9BD":["person_in_manual_wheelchair_tone2","person_in_manual_wheelchair_medium_light_skin_tone"],"1F9D1-1F3FD-200D-1F9BD":["person_in_manual_wheelchair_tone3","person_in_manual_wheelchair_medium_skin_tone"],"1F9D1-1F3FE-200D-1F9BD":["person_in_manual_wheelchair_tone4","person_in_manual_wheelchair_medium_dark_skin_tone"],"1F9D1-1F3FF-200D-1F9BD":["person_in_manual_wheelchair_tone5","person_in_manual_wheelchair_dark_skin_tone"],"1F469-200D-1F9BD":"woman_in_manual_wheelchair","1F469-1F3FB-200D-1F9BD":["woman_in_manual_wheelchair_tone1","woman_in_manual_wheelchair_light_skin_tone"],"1F469-1F3FC-200D-1F9BD":["woman_in_manual_wheelchair_tone2","woman_in_manual_wheelchair_medium_light_skin_tone"],"1F469-1F3FD-200D-1F9BD":["woman_in_manual_wheelchair_tone3","woman_in_manual_wheelchair_medium_skin_tone"],"1F469-1F3FE-200D-1F9BD":["woman_in_manual_wheelchair_tone4","woman_in_manual_wheelchair_medium_dark_skin_tone"],"1F469-1F3FF-200D-1F9BD":["woman_in_manual_wheelchair_tone5","woman_in_manual_wheelchair_dark_skin_tone"],"1F468-200D-1F9BD":"man_in_manual_wheelchair","1F468-1F3FB-200D-1F9BD":["man_in_manual_wheelchair_tone1","man_in_manual_wheelchair_light_skin_tone"],"1F468-1F3FC-200D-1F9BD":["man_in_manual_wheelchair_tone2","man_in_manual_wheelchair_medium_light_skin_tone"],"1F468-1F3FD-200D-1F9BD":["man_in_manual_wheelchair_tone3","man_in_manual_wheelchair_medium_skin_tone"],"1F468-1F3FE-200D-1F9BD":["man_in_manual_wheelchair_tone4","man_in_manual_wheelchair_medium_dark_skin_tone"],"1F468-1F3FF-200D-1F9BD":["man_in_manual_wheelchair_tone5","man_in_manual_wheelchair_dark_skin_tone"],"1F9D1-200D-1F9BC":"person_in_motorized_wheelchair","1F9D1-1F3FB-200D-1F9BC":["person_in_motorized_wheelchair_tone1","person_in_motorized_wheelchair_light_skin_tone"],"1F9D1-1F3FC-200D-1F9BC":["person_in_motorized_wheelchair_tone2","person_in_motorized_wheelchair_medium_light_skin_tone"],"1F9D1-1F3FD-200D-1F9BC":["person_in_motorized_wheelchair_tone3","person_in_motorized_wheelchair_medium_skin_tone"],"1F9D1-1F3FE-200D-1F9BC":["person_in_motorized_wheelchair_tone4","person_in_motorized_wheelchair_medium_dark_skin_tone"],"1F9D1-1F3FF-200D-1F9BC":["person_in_motorized_wheelchair_tone5","person_in_motorized_wheelchair_dark_skin_tone"],"1F469-200D-1F9BC":"woman_in_motorized_wheelchair","1F469-1F3FB-200D-1F9BC":["woman_in_motorized_wheelchair_tone1","woman_in_motorized_wheelchair_light_skin_tone"],"1F469-1F3FC-200D-1F9BC":["woman_in_motorized_wheelchair_tone2","woman_in_motorized_wheelchair_medium_light_skin_tone"],"1F469-1F3FD-200D-1F9BC":["woman_in_motorized_wheelchair_tone3","woman_in_motorized_wheelchair_medium_skin_tone"],"1F469-1F3FE-200D-1F9BC":["woman_in_motorized_wheelchair_tone4","woman_in_motorized_wheelchair_medium_dark_skin_tone"],"1F469-1F3FF-200D-1F9BC":["woman_in_motorized_wheelchair_tone5","woman_in_motorized_wheelchair_dark_skin_tone"],"1F468-200D-1F9BC":"man_in_motorized_wheelchair","1F468-1F3FB-200D-1F9BC":["man_in_motorized_wheelchair_tone1","man_in_motorized_wheelchair_light_skin_tone"],"1F468-1F3FC-200D-1F9BC":["man_in_motorized_wheelchair_tone2","man_in_motorized_wheelchair_medium_light_skin_tone"],"1F468-1F3FD-200D-1F9BC":["man_in_motorized_wheelchair_tone3","man_in_motorized_wheelchair_medium_skin_tone"],"1F468-1F3FE-200D-1F9BC":["man_in_motorized_wheelchair_tone4","man_in_motorized_wheelchair_medium_dark_skin_tone"],"1F468-1F3FF-200D-1F9BC":["man_in_motorized_wheelchair_tone5","man_in_motorized_wheelchair_dark_skin_tone"],"1F6B6":["person_walking","walking"],"1F6B6-1F3FB":["person_walking_tone1","walking_tone1"],"1F6B6-1F3FC":["person_walking_tone2","walking_tone2"],"1F6B6-1F3FD":["person_walking_tone3","walking_tone3"],"1F6B6-1F3FE":["person_walking_tone4","walking_tone4"],"1F6B6-1F3FF":["person_walking_tone5","walking_tone5"],"1F6B6-200D-2640-FE0F":"woman_walking","1F6B6-1F3FB-200D-2640-FE0F":["woman_walking_tone1","woman_walking_light_skin_tone"],"1F6B6-1F3FC-200D-2640-FE0F":["woman_walking_tone2","woman_walking_medium_light_skin_tone"],"1F6B6-1F3FD-200D-2640-FE0F":["woman_walking_tone3","woman_walking_medium_skin_tone"],"1F6B6-1F3FE-200D-2640-FE0F":["woman_walking_tone4","woman_walking_medium_dark_skin_tone"],"1F6B6-1F3FF-200D-2640-FE0F":["woman_walking_tone5","woman_walking_dark_skin_tone"],"1F6B6-200D-2642-FE0F":"man_walking","1F6B6-1F3FB-200D-2642-FE0F":["man_walking_tone1","man_walking_light_skin_tone"],"1F6B6-1F3FC-200D-2642-FE0F":["man_walking_tone2","man_walking_medium_light_skin_tone"],"1F6B6-1F3FD-200D-2642-FE0F":["man_walking_tone3","man_walking_medium_skin_tone"],"1F6B6-1F3FE-200D-2642-FE0F":["man_walking_tone4","man_walking_medium_dark_skin_tone"],"1F6B6-1F3FF-200D-2642-FE0F":["man_walking_tone5","man_walking_dark_skin_tone"],"1F9D1-200D-1F9AF":"person_with_probing_cane","1F9D1-1F3FB-200D-1F9AF":["person_with_probing_cane_tone1","person_with_probing_cane_light_skin_tone"],"1F9D1-1F3FC-200D-1F9AF":["person_with_probing_cane_tone2","person_with_probing_cane_medium_light_skin_tone"],"1F9D1-1F3FD-200D-1F9AF":["person_with_probing_cane_tone3","person_with_probing_cane_medium_skin_tone"],"1F9D1-1F3FE-200D-1F9AF":["person_with_probing_cane_tone4","person_with_probing_cane_medium_dark_skin_tone"],"1F9D1-1F3FF-200D-1F9AF":["person_with_probing_cane_tone5","person_with_probing_cane_dark_skin_tone"],"1F469-200D-1F9AF":"woman_with_probing_cane","1F469-1F3FB-200D-1F9AF":["woman_with_probing_cane_tone1","woman_with_probing_cane_light_skin_tone"],"1F469-1F3FC-200D-1F9AF":["woman_with_probing_cane_tone2","woman_with_probing_cane_medium_light_skin_tone"],"1F469-1F3FD-200D-1F9AF":["woman_with_probing_cane_tone3","woman_with_probing_cane_medium_skin_tone"],"1F469-1F3FE-200D-1F9AF":["woman_with_probing_cane_tone4","woman_with_probing_cane_medium_dark_skin_tone"],"1F469-1F3FF-200D-1F9AF":["woman_with_probing_cane_tone5","woman_with_probing_cane_dark_skin_tone"],"1F468-200D-1F9AF":"man_with_probing_cane","1F468-1F3FB-200D-1F9AF":["man_with_probing_cane_tone1","man_with_probing_cane_light_skin_tone"],"1F468-1F3FD-200D-1F9AF":["man_with_probing_cane_tone3","man_with_probing_cane_medium_skin_tone"],"1F468-1F3FC-200D-1F9AF":["man_with_probing_cane_tone2","man_with_probing_cane_medium_light_skin_tone"],"1F468-1F3FE-200D-1F9AF":["man_with_probing_cane_tone4","man_with_probing_cane_medium_dark_skin_tone"],"1F468-1F3FF-200D-1F9AF":["man_with_probing_cane_tone5","man_with_probing_cane_dark_skin_tone"],"1F9CE":"person_kneeling","1F9CE-1F3FB":["person_kneeling_tone1","person_kneeling_light_skin_tone"],"1F9CE-1F3FC":["person_kneeling_tone2","person_kneeling_medium_light_skin_tone"],"1F9CE-1F3FD":["person_kneeling_tone3","person_kneeling_medium_skin_tone"],"1F9CE-1F3FE":["person_kneeling_tone4","person_kneeling_medium_dark_skin_tone"],"1F9CE-1F3FF":["person_kneeling_tone5","person_kneeling_dark_skin_tone"],"1F9CE-200D-2640-FE0F":"woman_kneeling","1F9CE-1F3FB-200D-2640-FE0F":["woman_kneeling_tone1","woman_kneeling_light_skin_tone"],"1F9CE-1F3FC-200D-2640-FE0F":["woman_kneeling_tone2","woman_kneeling_medium_light_skin_tone"],"1F9CE-1F3FD-200D-2640-FE0F":["woman_kneeling_tone3","woman_kneeling_medium_skin_tone"],"1F9CE-1F3FE-200D-2640-FE0F":["woman_kneeling_tone4","woman_kneeling_medium_dark_skin_tone"],"1F9CE-1F3FF-200D-2640-FE0F":["woman_kneeling_tone5","woman_kneeling_dark_skin_tone"],"1F9CE-200D-2642-FE0F":"man_kneeling","1F9CE-1F3FB-200D-2642-FE0F":["man_kneeling_tone1","man_kneeling_light_skin_tone"],"1F9CE-1F3FC-200D-2642-FE0F":["man_kneeling_tone2","man_kneeling_medium_light_skin_tone"],"1F9CE-1F3FD-200D-2642-FE0F":["man_kneeling_tone3","man_kneeling_medium_skin_tone"],"1F9CE-1F3FE-200D-2642-FE0F":["man_kneeling_tone4","man_kneeling_medium_dark_skin_tone"],"1F9CE-1F3FF-200D-2642-FE0F":["man_kneeling_tone5","man_kneeling_dark_skin_tone"],"1F3C3":["person_running","runner"],"1F3C3-1F3FB":["person_running_tone1","runner_tone1"],"1F3C3-1F3FC":["person_running_tone2","runner_tone2"],"1F3C3-1F3FD":["person_running_tone3","runner_tone3"],"1F3C3-1F3FE":["person_running_tone4","runner_tone4"],"1F3C3-1F3FF":["person_running_tone5","runner_tone5"],"1F3C3-200D-2640-FE0F":"woman_running","1F3C3-1F3FB-200D-2640-FE0F":["woman_running_tone1","woman_running_light_skin_tone"],"1F3C3-1F3FC-200D-2640-FE0F":["woman_running_tone2","woman_running_medium_light_skin_tone"],"1F3C3-1F3FD-200D-2640-FE0F":["woman_running_tone3","woman_running_medium_skin_tone"],"1F3C3-1F3FE-200D-2640-FE0F":["woman_running_tone4","woman_running_medium_dark_skin_tone"],"1F3C3-1F3FF-200D-2640-FE0F":["woman_running_tone5","woman_running_dark_skin_tone"],"1F3C3-200D-2642-FE0F":"man_running","1F3C3-1F3FB-200D-2642-FE0F":["man_running_tone1","man_running_light_skin_tone"],"1F3C3-1F3FC-200D-2642-FE0F":["man_running_tone2","man_running_medium_light_skin_tone"],"1F3C3-1F3FD-200D-2642-FE0F":["man_running_tone3","man_running_medium_skin_tone"],"1F3C3-1F3FE-200D-2642-FE0F":["man_running_tone4","man_running_medium_dark_skin_tone"],"1F3C3-1F3FF-200D-2642-FE0F":["man_running_tone5","man_running_dark_skin_tone"],"1F9CD":"person_standing","1F9CD-1F3FB":["person_standing_tone1","person_standing_light_skin_tone"],"1F9CD-1F3FC":["person_standing_tone2","person_standing_medium_light_skin_tone"],"1F9CD-1F3FD":["person_standing_tone3","person_standing_medium_skin_tone"],"1F9CD-1F3FE":["person_standing_tone4","person_standing_medium_dark_skin_tone"],"1F9CD-1F3FF":["person_standing_tone5","person_standing_dark_skin_tone"],"1F9CD-200D-2640-FE0F":"woman_standing","1F9CD-1F3FB-200D-2640-FE0F":["woman_standing_tone1","woman_standing_light_skin_tone"],"1F9CD-1F3FC-200D-2640-FE0F":["woman_standing_tone2","woman_standing_medium_light_skin_tone"],"1F9CD-1F3FD-200D-2640-FE0F":["woman_standing_tone3","woman_standing_medium_skin_tone"],"1F9CD-1F3FE-200D-2640-FE0F":["woman_standing_tone4","woman_standing_medium_dark_skin_tone"],"1F9CD-1F3FF-200D-2640-FE0F":["woman_standing_tone5","woman_standing_dark_skin_tone"],"1F9CD-200D-2642-FE0F":"man_standing","1F9CD-1F3FB-200D-2642-FE0F":["man_standing_tone1","man_standing_light_skin_tone"],"1F9CD-1F3FC-200D-2642-FE0F":["man_standing_tone2","man_standing_medium_light_skin_tone"],"1F9CD-1F3FD-200D-2642-FE0F":["man_standing_tone3","man_standing_medium_skin_tone"],"1F9CD-1F3FE-200D-2642-FE0F":["man_standing_tone4","man_standing_medium_dark_skin_tone"],"1F9CD-1F3FF-200D-2642-FE0F":["man_standing_tone5","man_standing_dark_skin_tone"],"1F9D1-200D-1F91D-200D-1F9D1":"people_holding_hands","1F9D1-1F3FB-200D-1F91D-200D-1F9D1-1F3FB":["people_holding_hands_tone1","people_holding_hands_light_skin_tone"],"1F9D1-1F3FB-200D-1F91D-200D-1F9D1-1F3FC":["people_holding_hands_tone1_tone2","people_holding_hands_light_skin_tone_medium_light_skin_tone"],"1F9D1-1F3FB-200D-1F91D-200D-1F9D1-1F3FD":["people_holding_hands_tone1_tone3","people_holding_hands_light_skin_tone_medium_skin_tone"],"1F9D1-1F3FB-200D-1F91D-200D-1F9D1-1F3FE":["people_holding_hands_tone1_tone4","people_holding_hands_light_skin_tone_medium_dark_skin_tone"],"1F9D1-1F3FB-200D-1F91D-200D-1F9D1-1F3FF":["people_holding_hands_tone1_tone5","people_holding_hands_light_skin_tone_dark_skin_tone"],"1F9D1-1F3FC-200D-1F91D-200D-1F9D1-1F3FB":["people_holding_hands_tone2_tone1","people_holding_hands_medium_light_skin_tone_light_skin_tone"],"1F9D1-1F3FC-200D-1F91D-200D-1F9D1-1F3FC":["people_holding_hands_tone2","people_holding_hands_medium_light_skin_tone"],"1F9D1-1F3FC-200D-1F91D-200D-1F9D1-1F3FD":["people_holding_hands_tone2_tone3","people_holding_hands_medium_light_skin_tone_medium_skin_tone"],"1F9D1-1F3FC-200D-1F91D-200D-1F9D1-1F3FE":["people_holding_hands_tone2_tone4","people_holding_hands_medium_light_skin_tone_medium_dark_skin_tone"],"1F9D1-1F3FC-200D-1F91D-200D-1F9D1-1F3FF":["people_holding_hands_tone2_tone5","people_holding_hands_medium_light_skin_tone_dark_skin_tone"],"1F9D1-1F3FD-200D-1F91D-200D-1F9D1-1F3FB":["people_holding_hands_tone3_tone1","people_holding_hands_medium_skin_tone_light_skin_tone"],"1F9D1-1F3FD-200D-1F91D-200D-1F9D1-1F3FC":["people_holding_hands_tone3_tone2","people_holding_hands_medium_skin_tone_medium_light_skin_tone"],"1F9D1-1F3FD-200D-1F91D-200D-1F9D1-1F3FD":["people_holding_hands_tone3","people_holding_hands_medium_skin_tone"],"1F9D1-1F3FD-200D-1F91D-200D-1F9D1-1F3FE":["people_holding_hands_tone3_tone4","people_holding_hands_medium_skin_tone_medium_dark_skin_tone"],"1F9D1-1F3FD-200D-1F91D-200D-1F9D1-1F3FF":["people_holding_hands_tone3_tone5","people_holding_hands_medium_skin_tone_dark_skin_tone"],"1F9D1-1F3FE-200D-1F91D-200D-1F9D1-1F3FB":["people_holding_hands_tone4_tone1","people_holding_hands_medium_dark_skin_tone_light_skin_tone"],"1F9D1-1F3FE-200D-1F91D-200D-1F9D1-1F3FC":["people_holding_hands_tone4_tone2","people_holding_hands_medium_dark_skin_tone_medium_light_skin_tone"],"1F9D1-1F3FE-200D-1F91D-200D-1F9D1-1F3FD":["people_holding_hands_tone4_tone3","people_holding_hands_medium_dark_skin_tone_medium_skin_tone"],"1F9D1-1F3FE-200D-1F91D-200D-1F9D1-1F3FE":["people_holding_hands_tone4","people_holding_hands_medium_dark_skin_tone"],"1F9D1-1F3FE-200D-1F91D-200D-1F9D1-1F3FF":["people_holding_hands_tone4_tone5","people_holding_hands_medium_dark_skin_tone_dark_skin_tone"],"1F9D1-1F3FF-200D-1F91D-200D-1F9D1-1F3FB":["people_holding_hands_tone5_tone1","people_holding_hands_dark_skin_tone_light_skin_tone"],"1F9D1-1F3FF-200D-1F91D-200D-1F9D1-1F3FC":["people_holding_hands_tone5_tone2","people_holding_hands_dark_skin_tone_medium_light_skin_tone"],"1F9D1-1F3FF-200D-1F91D-200D-1F9D1-1F3FD":["people_holding_hands_tone5_tone3","people_holding_hands_dark_skin_tone_medium_skin_tone"],"1F9D1-1F3FF-200D-1F91D-200D-1F9D1-1F3FE":["people_holding_hands_tone5_tone4","people_holding_hands_dark_skin_tone_medium_dark_skin_tone"],"1F9D1-1F3FF-200D-1F91D-200D-1F9D1-1F3FF":["people_holding_hands_tone5","people_holding_hands_dark_skin_tone"],"1F46B":"couple","1F46B-1F3FB":["woman_and_man_holding_hands_tone1","woman_and_man_holding_hands_light_skin_tone"],"1F469-1F3FB-200D-1F91D-200D-1F468-1F3FC":["woman_and_man_holding_hands_tone1_tone2","woman_and_man_holding_hands_light_skin_tone_medium_light_skin_tone"],"1F469-1F3FB-200D-1F91D-200D-1F468-1F3FD":["woman_and_man_holding_hands_tone1_tone3","woman_and_man_holding_hands_light_skin_tone_medium_skin_tone"],"1F469-1F3FB-200D-1F91D-200D-1F468-1F3FE":["woman_and_man_holding_hands_tone1_tone4","woman_and_man_holding_hands_light_skin_tone_medium_dark_skin_tone"],"1F469-1F3FB-200D-1F91D-200D-1F468-1F3FF":["woman_and_man_holding_hands_tone1_tone5","woman_and_man_holding_hands_light_skin_tone_dark_skin_tone"],"1F469-1F3FC-200D-1F91D-200D-1F468-1F3FB":["woman_and_man_holding_hands_tone2_tone1","woman_and_man_holding_hands_medium_light_skin_tone_light_skin_tone"],"1F46B-1F3FC":["woman_and_man_holding_hands_tone2","woman_and_man_holding_hands_medium_light_skin_tone"],"1F469-1F3FC-200D-1F91D-200D-1F468-1F3FD":["woman_and_man_holding_hands_tone2_tone3","woman_and_man_holding_hands_medium_light_skin_tone_medium_skin_tone"],"1F469-1F3FC-200D-1F91D-200D-1F468-1F3FE":["woman_and_man_holding_hands_tone2_tone4","woman_and_man_holding_hands_medium_light_skin_tone_medium_dark_skin_tone"],"1F469-1F3FC-200D-1F91D-200D-1F468-1F3FF":["woman_and_man_holding_hands_tone2_tone5","woman_and_man_holding_hands_medium_light_skin_tone_dark_skin_tone"],"1F469-1F3FD-200D-1F91D-200D-1F468-1F3FB":["woman_and_man_holding_hands_tone3_tone1","woman_and_man_holding_hands_medium_skin_tone_light_skin_tone"],"1F469-1F3FD-200D-1F91D-200D-1F468-1F3FC":["woman_and_man_holding_hands_tone3_tone2","woman_and_man_holding_hands_medium_skin_tone_medium_light_skin_tone"],"1F46B-1F3FD":["woman_and_man_holding_hands_tone3","woman_and_man_holding_hands_medium_skin_tone"],"1F469-1F3FD-200D-1F91D-200D-1F468-1F3FE":["woman_and_man_holding_hands_tone3_tone4","woman_and_man_holding_hands_medium_skin_tone_medium_dark_skin_tone"],"1F469-1F3FD-200D-1F91D-200D-1F468-1F3FF":["woman_and_man_holding_hands_tone3_tone5","woman_and_man_holding_hands_medium_skin_tone_dark_skin_tone"],"1F469-1F3FE-200D-1F91D-200D-1F468-1F3FB":["woman_and_man_holding_hands_tone4_tone1","woman_and_man_holding_hands_medium_dark_skin_tone_light_skin_tone"],"1F469-1F3FE-200D-1F91D-200D-1F468-1F3FC":["woman_and_man_holding_hands_tone4_tone2","woman_and_man_holding_hands_medium_dark_skin_tone_medium_light_skin_tone"],"1F469-1F3FE-200D-1F91D-200D-1F468-1F3FD":["woman_and_man_holding_hands_tone4_tone3","woman_and_man_holding_hands_medium_dark_skin_tone_medium_skin_tone"],"1F46B-1F3FE":["woman_and_man_holding_hands_tone4","woman_and_man_holding_hands_medium_dark_skin_tone"],"1F469-1F3FE-200D-1F91D-200D-1F468-1F3FF":["woman_and_man_holding_hands_tone4_tone5","woman_and_man_holding_hands_medium_dark_skin_tone_dark_skin_tone"],"1F469-1F3FF-200D-1F91D-200D-1F468-1F3FB":["woman_and_man_holding_hands_tone5_tone1","woman_and_man_holding_hands_dark_skin_tone_light_skin_tone"],"1F469-1F3FF-200D-1F91D-200D-1F468-1F3FC":["woman_and_man_holding_hands_tone5_tone2","woman_and_man_holding_hands_dark_skin_tone_medium_light_skin_tone"],"1F469-1F3FF-200D-1F91D-200D-1F468-1F3FD":["woman_and_man_holding_hands_tone5_tone3","woman_and_man_holding_hands_dark_skin_tone_medium_skin_tone"],"1F469-1F3FF-200D-1F91D-200D-1F468-1F3FE":["woman_and_man_holding_hands_tone5_tone4","woman_and_man_holding_hands_dark_skin_tone_medium_dark_skin_tone"],"1F46B-1F3FF":["woman_and_man_holding_hands_tone5","woman_and_man_holding_hands_dark_skin_tone"],"1F46D":"two_women_holding_hands","1F46D-1F3FB":["women_holding_hands_tone1","women_holding_hands_light_skin_tone"],"1F469-1F3FB-200D-1F91D-200D-1F469-1F3FC":["women_holding_hands_tone1_tone2","women_holding_hands_light_skin_tone_medium_light_skin_tone"],"1F469-1F3FB-200D-1F91D-200D-1F469-1F3FD":["women_holding_hands_tone1_tone3","women_holding_hands_light_skin_tone_medium_skin_tone"],"1F469-1F3FB-200D-1F91D-200D-1F469-1F3FE":["women_holding_hands_tone1_tone4","women_holding_hands_light_skin_tone_medium_dark_skin_tone"],"1F469-1F3FB-200D-1F91D-200D-1F469-1F3FF":["women_holding_hands_tone1_tone5","women_holding_hands_light_skin_tone_dark_skin_tone"],"1F469-1F3FC-200D-1F91D-200D-1F469-1F3FB":["women_holding_hands_tone2_tone1","women_holding_hands_medium_light_skin_tone_light_skin_tone"],"1F46D-1F3FC":["women_holding_hands_tone2","women_holding_hands_medium_light_skin_tone"],"1F469-1F3FC-200D-1F91D-200D-1F469-1F3FD":["women_holding_hands_tone2_tone3","women_holding_hands_medium_light_skin_tone_medium_skin_tone"],"1F469-1F3FC-200D-1F91D-200D-1F469-1F3FE":["women_holding_hands_tone2_tone4","women_holding_hands_medium_light_skin_tone_medium_dark_skin_tone"],"1F469-1F3FC-200D-1F91D-200D-1F469-1F3FF":["women_holding_hands_tone2_tone5","women_holding_hands_medium_light_skin_tone_dark_skin_tone"],"1F469-1F3FD-200D-1F91D-200D-1F469-1F3FB":["women_holding_hands_tone3_tone1","women_holding_hands_medium_skin_tone_light_skin_tone"],"1F469-1F3FD-200D-1F91D-200D-1F469-1F3FC":["women_holding_hands_tone3_tone2","women_holding_hands_medium_skin_tone_medium_light_skin_tone"],"1F46D-1F3FD":["women_holding_hands_tone3","women_holding_hands_medium_skin_tone"],"1F469-1F3FD-200D-1F91D-200D-1F469-1F3FE":["women_holding_hands_tone3_tone4","women_holding_hands_medium_skin_tone_medium_dark_skin_tone"],"1F469-1F3FD-200D-1F91D-200D-1F469-1F3FF":["women_holding_hands_tone3_tone5","women_holding_hands_medium_skin_tone_dark_skin_tone"],"1F469-1F3FE-200D-1F91D-200D-1F469-1F3FB":["women_holding_hands_tone4_tone1","women_holding_hands_medium_dark_skin_tone_light_skin_tone"],"1F469-1F3FE-200D-1F91D-200D-1F469-1F3FC":["women_holding_hands_tone4_tone2","women_holding_hands_medium_dark_skin_tone_medium_light_skin_tone"],"1F469-1F3FE-200D-1F91D-200D-1F469-1F3FD":["women_holding_hands_tone4_tone3","women_holding_hands_medium_dark_skin_tone_medium_skin_tone"],"1F46D-1F3FE":["women_holding_hands_tone4","women_holding_hands_medium_dark_skin_tone"],"1F469-1F3FE-200D-1F91D-200D-1F469-1F3FF":["women_holding_hands_tone4_tone5","women_holding_hands_medium_dark_skin_tone_dark_skin_tone"],"1F469-1F3FF-200D-1F91D-200D-1F469-1F3FB":["women_holding_hands_tone5_tone1","women_holding_hands_dark_skin_tone_light_skin_tone"],"1F469-1F3FF-200D-1F91D-200D-1F469-1F3FC":["women_holding_hands_tone5_tone2","women_holding_hands_dark_skin_tone_medium_light_skin_tone"],"1F469-1F3FF-200D-1F91D-200D-1F469-1F3FD":["women_holding_hands_tone5_tone3","women_holding_hands_dark_skin_tone_medium_skin_tone"],"1F469-1F3FF-200D-1F91D-200D-1F469-1F3FE":["women_holding_hands_tone5_tone4","women_holding_hands_dark_skin_tone_medium_dark_skin_tone"],"1F46D-1F3FF":["women_holding_hands_tone5","women_holding_hands_dark_skin_tone"],"1F46C":"two_men_holding_hands","1F46C-1F3FB":["men_holding_hands_tone1","men_holding_hands_light_skin_tone"],"1F468-1F3FB-200D-1F91D-200D-1F468-1F3FC":["men_holding_hands_tone1_tone2","men_holding_hands_light_skin_tone_medium_light_skin_tone"],"1F468-1F3FB-200D-1F91D-200D-1F468-1F3FD":["men_holding_hands_tone1_tone3","men_holding_hands_light_skin_tone_medium_skin_tone"],"1F468-1F3FB-200D-1F91D-200D-1F468-1F3FE":["men_holding_hands_tone1_tone4","men_holding_hands_light_skin_tone_medium_dark_skin_tone"],"1F468-1F3FB-200D-1F91D-200D-1F468-1F3FF":["men_holding_hands_tone1_tone5","men_holding_hands_light_skin_tone_dark_skin_tone"],"1F468-1F3FC-200D-1F91D-200D-1F468-1F3FB":["men_holding_hands_tone2_tone1","men_holding_hands_medium_light_skin_tone_light_skin_tone"],"1F46C-1F3FC":["men_holding_hands_tone2","men_holding_hands_medium_light_skin_tone"],"1F468-1F3FC-200D-1F91D-200D-1F468-1F3FD":["men_holding_hands_tone2_tone3","men_holding_hands_medium_light_skin_tone_medium_skin_tone"],"1F468-1F3FC-200D-1F91D-200D-1F468-1F3FE":["men_holding_hands_tone2_tone4","men_holding_hands_medium_light_skin_tone_medium_dark_skin_tone"],"1F468-1F3FC-200D-1F91D-200D-1F468-1F3FF":["men_holding_hands_tone2_tone5","men_holding_hands_medium_light_skin_tone_dark_skin_tone"],"1F468-1F3FD-200D-1F91D-200D-1F468-1F3FB":["men_holding_hands_tone3_tone1","men_holding_hands_medium_skin_tone_light_skin_tone"],"1F468-1F3FD-200D-1F91D-200D-1F468-1F3FC":["men_holding_hands_tone3_tone2","men_holding_hands_medium_skin_tone_medium_light_skin_tone"],"1F46C-1F3FD":["men_holding_hands_tone3","men_holding_hands_medium_skin_tone"],"1F468-1F3FD-200D-1F91D-200D-1F468-1F3FE":["men_holding_hands_tone3_tone4","men_holding_hands_medium_skin_tone_medium_dark_skin_tone"],"1F468-1F3FD-200D-1F91D-200D-1F468-1F3FF":["men_holding_hands_tone3_tone5","men_holding_hands_medium_skin_tone_dark_skin_tone"],"1F468-1F3FE-200D-1F91D-200D-1F468-1F3FB":["men_holding_hands_tone4_tone1","men_holding_hands_medium_dark_skin_tone_light_skin_tone"],"1F468-1F3FE-200D-1F91D-200D-1F468-1F3FC":["men_holding_hands_tone4_tone2","men_holding_hands_medium_dark_skin_tone_medium_light_skin_tone"],"1F468-1F3FE-200D-1F91D-200D-1F468-1F3FD":["men_holding_hands_tone4_tone3","men_holding_hands_medium_dark_skin_tone_medium_skin_tone"],"1F46C-1F3FE":["men_holding_hands_tone4","men_holding_hands_medium_dark_skin_tone"],"1F468-1F3FE-200D-1F91D-200D-1F468-1F3FF":["men_holding_hands_tone4_tone5","men_holding_hands_medium_dark_skin_tone_dark_skin_tone"],"1F468-1F3FF-200D-1F91D-200D-1F468-1F3FB":["men_holding_hands_tone5_tone1","men_holding_hands_dark_skin_tone_light_skin_tone"],"1F468-1F3FF-200D-1F91D-200D-1F468-1F3FC":["men_holding_hands_tone5_tone2","men_holding_hands_dark_skin_tone_medium_light_skin_tone"],"1F468-1F3FF-200D-1F91D-200D-1F468-1F3FD":["men_holding_hands_tone5_tone3","men_holding_hands_dark_skin_tone_medium_skin_tone"],"1F468-1F3FF-200D-1F91D-200D-1F468-1F3FE":["men_holding_hands_tone5_tone4","men_holding_hands_dark_skin_tone_medium_dark_skin_tone"],"1F46C-1F3FF":["men_holding_hands_tone5","men_holding_hands_dark_skin_tone"],"1F491":"couple_with_heart","1F491-1F3FB":["couple_with_heart_tone1","couple_with_heart_light_skin_tone"],"1F9D1-1F3FB-200D-2764-FE0F-200D-1F9D1-1F3FC":["couple_with_heart_person_person_tone1_tone2","couple_with_heart_person_person_light_skin_tone_medium_light_skin_tone"],"1F9D1-1F3FB-200D-2764-FE0F-200D-1F9D1-1F3FD":["couple_with_heart_person_person_tone1_tone3","couple_with_heart_person_person_light_skin_tone_medium_skin_tone"],"1F9D1-1F3FB-200D-2764-FE0F-200D-1F9D1-1F3FE":["couple_with_heart_person_person_tone1_tone4","couple_with_heart_person_person_light_skin_tone_medium_dark_skin_tone"],"1F9D1-1F3FB-200D-2764-FE0F-200D-1F9D1-1F3FF":["couple_with_heart_person_person_tone1_tone5","couple_with_heart_person_person_light_skin_tone_dark_skin_tone"],"1F9D1-1F3FC-200D-2764-FE0F-200D-1F9D1-1F3FB":["couple_with_heart_person_person_tone2_tone1","couple_with_heart_person_person_medium_light_skin_tone_light_skin_tone"],"1F491-1F3FC":["couple_with_heart_tone2","couple_with_heart_medium_light_skin_tone"],"1F9D1-1F3FC-200D-2764-FE0F-200D-1F9D1-1F3FD":["couple_with_heart_person_person_tone2_tone3","couple_with_heart_person_person_medium_light_skin_tone_medium_skin_tone"],"1F9D1-1F3FC-200D-2764-FE0F-200D-1F9D1-1F3FE":["couple_with_heart_person_person_tone2_tone4","couple_with_heart_person_person_medium_light_skin_tone_medium_dark_skin_tone"],"1F9D1-1F3FC-200D-2764-FE0F-200D-1F9D1-1F3FF":["couple_with_heart_person_person_tone2_tone5","couple_with_heart_person_person_medium_light_skin_tone_dark_skin_tone"],"1F9D1-1F3FD-200D-2764-FE0F-200D-1F9D1-1F3FB":["couple_with_heart_person_person_tone3_tone1","couple_with_heart_person_person_medium_skin_tone_light_skin_tone"],"1F9D1-1F3FD-200D-2764-FE0F-200D-1F9D1-1F3FC":["couple_with_heart_person_person_tone3_tone2","couple_with_heart_person_person_medium_skin_tone_medium_light_skin_tone"],"1F491-1F3FD":["couple_with_heart_tone3","couple_with_heart_medium_skin_tone"],"1F9D1-1F3FD-200D-2764-FE0F-200D-1F9D1-1F3FE":["couple_with_heart_person_person_tone3_tone4","couple_with_heart_person_person_medium_skin_tone_medium_dark_skin_tone"],"1F9D1-1F3FD-200D-2764-FE0F-200D-1F9D1-1F3FF":["couple_with_heart_person_person_tone3_tone5","couple_with_heart_person_person_medium_skin_tone_dark_skin_tone"],"1F9D1-1F3FE-200D-2764-FE0F-200D-1F9D1-1F3FB":["couple_with_heart_person_person_tone4_tone1","couple_with_heart_person_person_medium_dark_skin_tone_light_skin_tone"],"1F9D1-1F3FE-200D-2764-FE0F-200D-1F9D1-1F3FC":["couple_with_heart_person_person_tone4_tone2","couple_with_heart_person_person_medium_dark_skin_tone_medium_light_skin_tone"],"1F9D1-1F3FE-200D-2764-FE0F-200D-1F9D1-1F3FD":["couple_with_heart_person_person_tone4_tone3","couple_with_heart_person_person_medium_dark_skin_tone_medium_skin_tone"],"1F491-1F3FE":["couple_with_heart_tone4","couple_with_heart_medium_dark_skin_tone"],"1F9D1-1F3FE-200D-2764-FE0F-200D-1F9D1-1F3FF":["couple_with_heart_person_person_tone4_tone5","couple_with_heart_person_person_medium_dark_skin_tone_dark_skin_tone"],"1F9D1-1F3FF-200D-2764-FE0F-200D-1F9D1-1F3FB":["couple_with_heart_person_person_tone5_tone1","couple_with_heart_person_person_dark_skin_tone_light_skin_tone"],"1F9D1-1F3FF-200D-2764-FE0F-200D-1F9D1-1F3FC":["couple_with_heart_person_person_tone5_tone2","couple_with_heart_person_person_dark_skin_tone_medium_light_skin_tone"],"1F9D1-1F3FF-200D-2764-FE0F-200D-1F9D1-1F3FD":["couple_with_heart_person_person_tone5_tone3","couple_with_heart_person_person_dark_skin_tone_medium_skin_tone"],"1F9D1-1F3FF-200D-2764-FE0F-200D-1F9D1-1F3FE":["couple_with_heart_person_person_tone5_tone4","couple_with_heart_person_person_dark_skin_tone_medium_dark_skin_tone"],"1F491-1F3FF":["couple_with_heart_tone5","couple_with_heart_dark_skin_tone"],"1F469-200D-2764-FE0F-200D-1F468":"couple_with_heart_woman_man","1F469-1F3FB-200D-2764-FE0F-200D-1F468-1F3FB":["couple_with_heart_woman_man_tone1","couple_with_heart_woman_man_light_skin_tone"],"1F469-1F3FB-200D-2764-FE0F-200D-1F468-1F3FC":["couple_with_heart_woman_man_tone1_tone2","couple_with_heart_woman_man_light_skin_tone_medium_light_skin_tone"],"1F469-1F3FB-200D-2764-FE0F-200D-1F468-1F3FD":["couple_with_heart_woman_man_tone1_tone3","couple_with_heart_woman_man_light_skin_tone_medium_skin_tone"],"1F469-1F3FB-200D-2764-FE0F-200D-1F468-1F3FE":["couple_with_heart_woman_man_tone1_tone4","couple_with_heart_woman_man_light_skin_tone_medium_dark_skin_tone"],"1F469-1F3FB-200D-2764-FE0F-200D-1F468-1F3FF":["couple_with_heart_woman_man_tone1_tone5","couple_with_heart_woman_man_light_skin_tone_dark_skin_tone"],"1F469-1F3FC-200D-2764-FE0F-200D-1F468-1F3FB":["couple_with_heart_woman_man_tone2_tone1","couple_with_heart_woman_man_medium_light_skin_tone_light_skin_tone"],"1F469-1F3FC-200D-2764-FE0F-200D-1F468-1F3FC":["couple_with_heart_woman_man_tone2","couple_with_heart_woman_man_medium_light_skin_tone"],"1F469-1F3FC-200D-2764-FE0F-200D-1F468-1F3FD":["couple_with_heart_woman_man_tone2_tone3","couple_with_heart_woman_man_medium_light_skin_tone_medium_skin_tone"],"1F469-1F3FC-200D-2764-FE0F-200D-1F468-1F3FE":["couple_with_heart_woman_man_tone2_tone4","couple_with_heart_woman_man_medium_light_skin_tone_medium_dark_skin_tone"],"1F469-1F3FC-200D-2764-FE0F-200D-1F468-1F3FF":["couple_with_heart_woman_man_tone2_tone5","couple_with_heart_woman_man_medium_light_skin_tone_dark_skin_tone"],"1F469-1F3FD-200D-2764-FE0F-200D-1F468-1F3FB":["couple_with_heart_woman_man_tone3_tone1","couple_with_heart_woman_man_medium_skin_tone_light_skin_tone"],"1F469-1F3FD-200D-2764-FE0F-200D-1F468-1F3FC":["couple_with_heart_woman_man_tone3_tone2","couple_with_heart_woman_man_medium_skin_tone_medium_light_skin_tone"],"1F469-1F3FD-200D-2764-FE0F-200D-1F468-1F3FD":["couple_with_heart_woman_man_tone3","couple_with_heart_woman_man_medium_skin_tone"],"1F469-1F3FD-200D-2764-FE0F-200D-1F468-1F3FE":["couple_with_heart_woman_man_tone3_tone4","couple_with_heart_woman_man_medium_skin_tone_medium_dark_skin_tone"],"1F469-1F3FD-200D-2764-FE0F-200D-1F468-1F3FF":["couple_with_heart_woman_man_tone3_tone5","couple_with_heart_woman_man_medium_skin_tone_dark_skin_tone"],"1F469-1F3FE-200D-2764-FE0F-200D-1F468-1F3FB":["couple_with_heart_woman_man_tone4_tone1","couple_with_heart_woman_man_medium_dark_skin_tone_light_skin_tone"],"1F469-1F3FE-200D-2764-FE0F-200D-1F468-1F3FC":["couple_with_heart_woman_man_tone4_tone2","couple_with_heart_woman_man_medium_dark_skin_tone_medium_light_skin_tone"],"1F469-1F3FE-200D-2764-FE0F-200D-1F468-1F3FD":["couple_with_heart_woman_man_tone4_tone3","couple_with_heart_woman_man_medium_dark_skin_tone_medium_skin_tone"],"1F469-1F3FE-200D-2764-FE0F-200D-1F468-1F3FE":["couple_with_heart_woman_man_tone4","couple_with_heart_woman_man_medium_dark_skin_tone"],"1F469-1F3FE-200D-2764-FE0F-200D-1F468-1F3FF":["couple_with_heart_woman_man_tone4_tone5","couple_with_heart_woman_man_medium_dark_skin_tone_dark_skin_tone"],"1F469-1F3FF-200D-2764-FE0F-200D-1F468-1F3FB":["couple_with_heart_woman_man_tone5_tone1","couple_with_heart_woman_man_dark_skin_tone_light_skin_tone"],"1F469-1F3FF-200D-2764-FE0F-200D-1F468-1F3FC":["couple_with_heart_woman_man_tone5_tone2","couple_with_heart_woman_man_dark_skin_tone_medium_light_skin_tone"],"1F469-1F3FF-200D-2764-FE0F-200D-1F468-1F3FD":["couple_with_heart_woman_man_tone5_tone3","couple_with_heart_woman_man_dark_skin_tone_medium_skin_tone"],"1F469-1F3FF-200D-2764-FE0F-200D-1F468-1F3FE":["couple_with_heart_woman_man_tone5_tone4","couple_with_heart_woman_man_dark_skin_tone_medium_dark_skin_tone"],"1F469-1F3FF-200D-2764-FE0F-200D-1F468-1F3FF":["couple_with_heart_woman_man_tone5","couple_with_heart_woman_man_dark_skin_tone"],"1F469-200D-2764-FE0F-200D-1F469":["couple_ww","couple_with_heart_ww"],"1F469-1F3FB-200D-2764-FE0F-200D-1F469-1F3FB":["couple_with_heart_woman_woman_tone1","couple_with_heart_woman_woman_light_skin_tone"],"1F469-1F3FB-200D-2764-FE0F-200D-1F469-1F3FC":["couple_with_heart_woman_woman_tone1_tone2","couple_with_heart_woman_woman_light_skin_tone_medium_light_skin_tone"],"1F469-1F3FB-200D-2764-FE0F-200D-1F469-1F3FD":["couple_with_heart_woman_woman_tone1_tone3","couple_with_heart_woman_woman_light_skin_tone_medium_skin_tone"],"1F469-1F3FB-200D-2764-FE0F-200D-1F469-1F3FE":["couple_with_heart_woman_woman_tone1_tone4","couple_with_heart_woman_woman_light_skin_tone_medium_dark_skin_tone"],"1F469-1F3FB-200D-2764-FE0F-200D-1F469-1F3FF":["couple_with_heart_woman_woman_tone1_tone5","couple_with_heart_woman_woman_light_skin_tone_dark_skin_tone"],"1F469-1F3FC-200D-2764-FE0F-200D-1F469-1F3FB":["couple_with_heart_woman_woman_tone2_tone1","couple_with_heart_woman_woman_medium_light_skin_tone_light_skin_tone"],"1F469-1F3FC-200D-2764-FE0F-200D-1F469-1F3FC":["couple_with_heart_woman_woman_tone2","couple_with_heart_woman_woman_medium_light_skin_tone"],"1F469-1F3FC-200D-2764-FE0F-200D-1F469-1F3FD":["couple_with_heart_woman_woman_tone2_tone3","couple_with_heart_woman_woman_medium_light_skin_tone_medium_skin_tone"],"1F469-1F3FC-200D-2764-FE0F-200D-1F469-1F3FE":["couple_with_heart_woman_woman_tone2_tone4","couple_with_heart_woman_woman_medium_light_skin_tone_medium_dark_skin_tone"],"1F469-1F3FC-200D-2764-FE0F-200D-1F469-1F3FF":["couple_with_heart_woman_woman_tone2_tone5","couple_with_heart_woman_woman_medium_light_skin_tone_dark_skin_tone"],"1F469-1F3FD-200D-2764-FE0F-200D-1F469-1F3FB":["couple_with_heart_woman_woman_tone3_tone1","couple_with_heart_woman_woman_medium_skin_tone_light_skin_tone"],"1F469-1F3FD-200D-2764-FE0F-200D-1F469-1F3FC":["couple_with_heart_woman_woman_tone3_tone2","couple_with_heart_woman_woman_medium_skin_tone_medium_light_skin_tone"],"1F469-1F3FD-200D-2764-FE0F-200D-1F469-1F3FD":["couple_with_heart_woman_woman_tone3","couple_with_heart_woman_woman_medium_skin_tone"],"1F469-1F3FD-200D-2764-FE0F-200D-1F469-1F3FE":["couple_with_heart_woman_woman_tone3_tone4","couple_with_heart_woman_woman_medium_skin_tone_medium_dark_skin_tone"],"1F469-1F3FD-200D-2764-FE0F-200D-1F469-1F3FF":["couple_with_heart_woman_woman_tone3_tone5","couple_with_heart_woman_woman_medium_skin_tone_dark_skin_tone"],"1F469-1F3FE-200D-2764-FE0F-200D-1F469-1F3FB":["couple_with_heart_woman_woman_tone4_tone1","couple_with_heart_woman_woman_medium_dark_skin_tone_light_skin_tone"],"1F469-1F3FE-200D-2764-FE0F-200D-1F469-1F3FC":["couple_with_heart_woman_woman_tone4_tone2","couple_with_heart_woman_woman_medium_dark_skin_tone_medium_light_skin_tone"],"1F469-1F3FE-200D-2764-FE0F-200D-1F469-1F3FD":["couple_with_heart_woman_woman_tone4_tone3","couple_with_heart_woman_woman_medium_dark_skin_tone_medium_skin_tone"],"1F469-1F3FE-200D-2764-FE0F-200D-1F469-1F3FE":["couple_with_heart_woman_woman_tone4","couple_with_heart_woman_woman_medium_dark_skin_tone"],"1F469-1F3FE-200D-2764-FE0F-200D-1F469-1F3FF":["couple_with_heart_woman_woman_tone4_tone5","couple_with_heart_woman_woman_medium_dark_skin_tone_dark_skin_tone"],"1F469-1F3FF-200D-2764-FE0F-200D-1F469-1F3FB":["couple_with_heart_woman_woman_tone5_tone1","couple_with_heart_woman_woman_dark_skin_tone_light_skin_tone"],"1F469-1F3FF-200D-2764-FE0F-200D-1F469-1F3FC":["couple_with_heart_woman_woman_tone5_tone2","couple_with_heart_woman_woman_dark_skin_tone_medium_light_skin_tone"],"1F469-1F3FF-200D-2764-FE0F-200D-1F469-1F3FD":["couple_with_heart_woman_woman_tone5_tone3","couple_with_heart_woman_woman_dark_skin_tone_medium_skin_tone"],"1F469-1F3FF-200D-2764-FE0F-200D-1F469-1F3FE":["couple_with_heart_woman_woman_tone5_tone4","couple_with_heart_woman_woman_dark_skin_tone_medium_dark_skin_tone"],"1F469-1F3FF-200D-2764-FE0F-200D-1F469-1F3FF":["couple_with_heart_woman_woman_tone5","couple_with_heart_woman_woman_dark_skin_tone"],"1F468-200D-2764-FE0F-200D-1F468":["couple_mm","couple_with_heart_mm"],"1F468-1F3FB-200D-2764-FE0F-200D-1F468-1F3FB":["couple_with_heart_man_man_tone1","couple_with_heart_man_man_light_skin_tone"],"1F468-1F3FB-200D-2764-FE0F-200D-1F468-1F3FC":["couple_with_heart_man_man_tone1_tone2","couple_with_heart_man_man_light_skin_tone_medium_light_skin_tone"],"1F468-1F3FB-200D-2764-FE0F-200D-1F468-1F3FD":["couple_with_heart_man_man_tone1_tone3","couple_with_heart_man_man_light_skin_tone_medium_skin_tone"],"1F468-1F3FB-200D-2764-FE0F-200D-1F468-1F3FE":["couple_with_heart_man_man_tone1_tone4","couple_with_heart_man_man_light_skin_tone_medium_dark_skin_tone"],"1F468-1F3FB-200D-2764-FE0F-200D-1F468-1F3FF":["couple_with_heart_man_man_tone1_tone5","couple_with_heart_man_man_light_skin_tone_dark_skin_tone"],"1F468-1F3FC-200D-2764-FE0F-200D-1F468-1F3FB":["couple_with_heart_man_man_tone2_tone1","couple_with_heart_man_man_medium_light_skin_tone_light_skin_tone"],"1F468-1F3FC-200D-2764-FE0F-200D-1F468-1F3FC":["couple_with_heart_man_man_tone2","couple_with_heart_man_man_medium_light_skin_tone"],"1F468-1F3FC-200D-2764-FE0F-200D-1F468-1F3FD":["couple_with_heart_man_man_tone2_tone3","couple_with_heart_man_man_medium_light_skin_tone_medium_skin_tone"],"1F468-1F3FC-200D-2764-FE0F-200D-1F468-1F3FE":["couple_with_heart_man_man_tone2_tone4","couple_with_heart_man_man_medium_light_skin_tone_medium_dark_skin_tone"],"1F468-1F3FC-200D-2764-FE0F-200D-1F468-1F3FF":["couple_with_heart_man_man_tone2_tone5","couple_with_heart_man_man_medium_light_skin_tone_dark_skin_tone"],"1F468-1F3FD-200D-2764-FE0F-200D-1F468-1F3FB":["couple_with_heart_man_man_tone3_tone1","couple_with_heart_man_man_medium_skin_tone_light_skin_tone"],"1F468-1F3FD-200D-2764-FE0F-200D-1F468-1F3FC":["couple_with_heart_man_man_tone3_tone2","couple_with_heart_man_man_medium_skin_tone_medium_light_skin_tone"],"1F468-1F3FD-200D-2764-FE0F-200D-1F468-1F3FD":["couple_with_heart_man_man_tone3","couple_with_heart_man_man_medium_skin_tone"],"1F468-1F3FD-200D-2764-FE0F-200D-1F468-1F3FE":["couple_with_heart_man_man_tone3_tone4","couple_with_heart_man_man_medium_skin_tone_medium_dark_skin_tone"],"1F468-1F3FD-200D-2764-FE0F-200D-1F468-1F3FF":["couple_with_heart_man_man_tone3_tone5","couple_with_heart_man_man_medium_skin_tone_dark_skin_tone"],"1F468-1F3FE-200D-2764-FE0F-200D-1F468-1F3FB":["couple_with_heart_man_man_tone4_tone1","couple_with_heart_man_man_medium_dark_skin_tone_light_skin_tone"],"1F468-1F3FE-200D-2764-FE0F-200D-1F468-1F3FC":["couple_with_heart_man_man_tone4_tone2","couple_with_heart_man_man_medium_dark_skin_tone_medium_light_skin_tone"],"1F468-1F3FE-200D-2764-FE0F-200D-1F468-1F3FD":["couple_with_heart_man_man_tone4_tone3","couple_with_heart_man_man_medium_dark_skin_tone_medium_skin_tone"],"1F468-1F3FE-200D-2764-FE0F-200D-1F468-1F3FE":["couple_with_heart_man_man_tone4","couple_with_heart_man_man_medium_dark_skin_tone"],"1F468-1F3FE-200D-2764-FE0F-200D-1F468-1F3FF":["couple_with_heart_man_man_tone4_tone5","couple_with_heart_man_man_medium_dark_skin_tone_dark_skin_tone"],"1F468-1F3FF-200D-2764-FE0F-200D-1F468-1F3FB":["couple_with_heart_man_man_tone5_tone1","couple_with_heart_man_man_dark_skin_tone_light_skin_tone"],"1F468-1F3FF-200D-2764-FE0F-200D-1F468-1F3FC":["couple_with_heart_man_man_tone5_tone2","couple_with_heart_man_man_dark_skin_tone_medium_light_skin_tone"],"1F468-1F3FF-200D-2764-FE0F-200D-1F468-1F3FD":["couple_with_heart_man_man_tone5_tone3","couple_with_heart_man_man_dark_skin_tone_medium_skin_tone"],"1F468-1F3FF-200D-2764-FE0F-200D-1F468-1F3FE":["couple_with_heart_man_man_tone5_tone4","couple_with_heart_man_man_dark_skin_tone_medium_dark_skin_tone"],"1F468-1F3FF-200D-2764-FE0F-200D-1F468-1F3FF":["couple_with_heart_man_man_tone5","couple_with_heart_man_man_dark_skin_tone"],"1F48F":"couplekiss","1F48F-1F3FB":["kiss_tone1","kiss_light_skin_tone"],"1F9D1-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FC":["kiss_person_person_tone1_tone2","kiss_person_person_light_skin_tone_medium_light_skin_tone"],"1F9D1-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FD":["kiss_person_person_tone1_tone3","kiss_person_person_light_skin_tone_medium_skin_tone"],"1F9D1-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FE":["kiss_person_person_tone1_tone4","kiss_person_person_light_skin_tone_medium_dark_skin_tone"],"1F9D1-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FF":["kiss_person_person_tone1_tone5","kiss_person_person_light_skin_tone_dark_skin_tone"],"1F9D1-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FB":["kiss_person_person_tone2_tone1","kiss_person_person_medium_light_skin_tone_light_skin_tone"],"1F48F-1F3FC":["kiss_tone2","kiss_medium_light_skin_tone"],"1F9D1-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FD":["kiss_person_person_tone2_tone3","kiss_person_person_medium_light_skin_tone_medium_skin_tone"],"1F9D1-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FE":["kiss_person_person_tone2_tone4","kiss_person_person_medium_light_skin_tone_medium_dark_skin_tone"],"1F9D1-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FF":["kiss_person_person_tone2_tone5","kiss_person_person_medium_light_skin_tone_dark_skin_tone"],"1F9D1-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FB":["kiss_person_person_tone3_tone1","kiss_person_person_medium_skin_tone_light_skin_tone"],"1F9D1-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FC":["kiss_person_person_tone3_tone2","kiss_person_person_medium_skin_tone_medium_light_skin_tone"],"1F48F-1F3FD":["kiss_tone3","kiss_medium_skin_tone"],"1F9D1-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FE":["kiss_person_person_tone3_tone4","kiss_person_person_medium_skin_tone_medium_dark_skin_tone"],"1F9D1-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FF":["kiss_person_person_tone3_tone5","kiss_person_person_medium_skin_tone_dark_skin_tone"],"1F9D1-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FB":["kiss_person_person_tone4_tone1","kiss_person_person_medium_dark_skin_tone_light_skin_tone"],"1F9D1-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FC":["kiss_person_person_tone4_tone2","kiss_person_person_medium_dark_skin_tone_medium_light_skin_tone"],"1F9D1-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FD":["kiss_person_person_tone4_tone3","kiss_person_person_medium_dark_skin_tone_medium_skin_tone"],"1F48F-1F3FE":["kiss_tone4","kiss_medium_dark_skin_tone"],"1F9D1-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FF":["kiss_person_person_tone4_tone5","kiss_person_person_medium_dark_skin_tone_dark_skin_tone"],"1F9D1-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FB":["kiss_person_person_tone5_tone1","kiss_person_person_dark_skin_tone_light_skin_tone"],"1F9D1-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FC":["kiss_person_person_tone5_tone2","kiss_person_person_dark_skin_tone_medium_light_skin_tone"],"1F9D1-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FD":["kiss_person_person_tone5_tone3","kiss_person_person_dark_skin_tone_medium_skin_tone"],"1F48F-1F3FF":["kiss_tone5","kiss_dark_skin_tone"],"1F469-200D-2764-FE0F-200D-1F48B-200D-1F468":"kiss_woman_man","1F469-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FB":["kiss_woman_man_tone1","kiss_woman_man_light_skin_tone"],"1F469-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FC":["kiss_woman_man_tone1_tone2","kiss_woman_man_light_skin_tone_medium_light_skin_tone"],"1F469-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FD":["kiss_woman_man_tone1_tone3","kiss_woman_man_light_skin_tone_medium_skin_tone"],"1F469-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FE":["kiss_woman_man_tone1_tone4","kiss_woman_man_light_skin_tone_medium_dark_skin_tone"],"1F469-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FF":["kiss_woman_man_tone1_tone5","kiss_woman_man_light_skin_tone_dark_skin_tone"],"1F469-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FB":["kiss_woman_man_tone2_tone1","kiss_woman_man_medium_light_skin_tone_light_skin_tone"],"1F469-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FC":["kiss_woman_man_tone2","kiss_woman_man_medium_light_skin_tone"],"1F469-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FD":["kiss_woman_man_tone2_tone3","kiss_woman_man_medium_light_skin_tone_medium_skin_tone"],"1F469-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FE":["kiss_woman_man_tone2_tone4","kiss_woman_man_medium_light_skin_tone_medium_dark_skin_tone"],"1F469-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FF":["kiss_woman_man_tone2_tone5","kiss_woman_man_medium_light_skin_tone_dark_skin_tone"],"1F469-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FB":["kiss_woman_man_tone3_tone1","kiss_woman_man_medium_skin_tone_light_skin_tone"],"1F469-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FC":["kiss_woman_man_tone3_tone2","kiss_woman_man_medium_skin_tone_medium_light_skin_tone"],"1F469-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FD":["kiss_woman_man_tone3","kiss_woman_man_medium_skin_tone"],"1F469-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FE":["kiss_woman_man_tone3_tone4","kiss_woman_man_medium_skin_tone_medium_dark_skin_tone"],"1F469-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FF":["kiss_woman_man_tone3_tone5","kiss_woman_man_medium_skin_tone_dark_skin_tone"],"1F469-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FB":["kiss_woman_man_tone4_tone1","kiss_woman_man_medium_dark_skin_tone_light_skin_tone"],"1F469-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FC":["kiss_woman_man_tone4_tone2","kiss_woman_man_medium_dark_skin_tone_medium_light_skin_tone"],"1F469-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FD":["kiss_woman_man_tone4_tone3","kiss_woman_man_medium_dark_skin_tone_medium_skin_tone"],"1F469-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FE":["kiss_woman_man_tone4","kiss_woman_man_medium_dark_skin_tone"],"1F469-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FF":["kiss_woman_man_tone4_tone5","kiss_woman_man_medium_dark_skin_tone_dark_skin_tone"],"1F469-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FB":["kiss_woman_man_tone5_tone1","kiss_woman_man_dark_skin_tone_light_skin_tone"],"1F469-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FC":["kiss_woman_man_tone5_tone2","kiss_woman_man_dark_skin_tone_medium_light_skin_tone"],"1F469-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FD":["kiss_woman_man_tone5_tone3","kiss_woman_man_dark_skin_tone_medium_skin_tone"],"1F469-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FE":["kiss_woman_man_tone5_tone4","kiss_woman_man_dark_skin_tone_medium_dark_skin_tone"],"1F469-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FF":["kiss_woman_man_tone5","kiss_woman_man_dark_skin_tone"],"1F469-200D-2764-FE0F-200D-1F48B-200D-1F469":["kiss_ww","couplekiss_ww"],"1F469-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FB":["kiss_woman_woman_tone1","kiss_woman_woman_light_skin_tone"],"1F469-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FC":["kiss_woman_woman_tone1_tone2","kiss_woman_woman_light_skin_tone_medium_light_skin_tone"],"1F469-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FD":["kiss_woman_woman_tone1_tone3","kiss_woman_woman_light_skin_tone_medium_skin_tone"],"1F469-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FE":["kiss_woman_woman_tone1_tone4","kiss_woman_woman_light_skin_tone_medium_dark_skin_tone"],"1F469-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FF":["kiss_woman_woman_tone1_tone5","kiss_woman_woman_light_skin_tone_dark_skin_tone"],"1F469-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FB":["kiss_woman_woman_tone2_tone1","kiss_woman_woman_medium_light_skin_tone_light_skin_tone"],"1F469-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FC":["kiss_woman_woman_tone2","kiss_woman_woman_medium_light_skin_tone"],"1F469-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FD":["kiss_woman_woman_tone2_tone3","kiss_woman_woman_medium_light_skin_tone_medium_skin_tone"],"1F469-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FE":["kiss_woman_woman_tone2_tone4","kiss_woman_woman_medium_light_skin_tone_medium_dark_skin_tone"],"1F469-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FF":["kiss_woman_woman_tone2_tone5","kiss_woman_woman_medium_light_skin_tone_dark_skin_tone"],"1F469-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FB":["kiss_woman_woman_tone3_tone1","kiss_woman_woman_medium_skin_tone_light_skin_tone"],"1F469-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FC":["kiss_woman_woman_tone3_tone2","kiss_woman_woman_medium_skin_tone_medium_light_skin_tone"],"1F469-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FD":["kiss_woman_woman_tone3","kiss_woman_woman_medium_skin_tone"],"1F469-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FE":["kiss_woman_woman_tone3_tone4","kiss_woman_woman_medium_skin_tone_medium_dark_skin_tone"],"1F469-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FF":["kiss_woman_woman_tone3_tone5","kiss_woman_woman_medium_skin_tone_dark_skin_tone"],"1F469-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FB":["kiss_woman_woman_tone4_tone1","kiss_woman_woman_medium_dark_skin_tone_light_skin_tone"],"1F469-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FC":["kiss_woman_woman_tone4_tone2","kiss_woman_woman_medium_dark_skin_tone_medium_light_skin_tone"],"1F469-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FD":["kiss_woman_woman_tone4_tone3","kiss_woman_woman_medium_dark_skin_tone_medium_skin_tone"],"1F469-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FE":["kiss_woman_woman_tone4","kiss_woman_woman_medium_dark_skin_tone"],"1F469-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FF":["kiss_woman_woman_tone4_tone5","kiss_woman_woman_medium_dark_skin_tone_dark_skin_tone"],"1F469-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FB":["kiss_woman_woman_tone5_tone1","kiss_woman_woman_dark_skin_tone_light_skin_tone"],"1F469-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FC":["kiss_woman_woman_tone5_tone2","kiss_woman_woman_dark_skin_tone_medium_light_skin_tone"],"1F469-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FD":["kiss_woman_woman_tone5_tone3","kiss_woman_woman_dark_skin_tone_medium_skin_tone"],"1F469-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FE":["kiss_woman_woman_tone5_tone4","kiss_woman_woman_dark_skin_tone_medium_dark_skin_tone"],"1F469-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FF":["kiss_woman_woman_tone5","kiss_woman_woman_dark_skin_tone"],"1F468-200D-2764-FE0F-200D-1F48B-200D-1F468":["kiss_mm","couplekiss_mm"],"1F468-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FB":["kiss_man_man_tone1","kiss_man_man_light_skin_tone"],"1F468-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FC":["kiss_man_man_tone1_tone2","kiss_man_man_light_skin_tone_medium_light_skin_tone"],"1F468-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FD":["kiss_man_man_tone1_tone3","kiss_man_man_light_skin_tone_medium_skin_tone"],"1F468-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FE":["kiss_man_man_tone1_tone4","kiss_man_man_light_skin_tone_medium_dark_skin_tone"],"1F468-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FF":["kiss_man_man_tone1_tone5","kiss_man_man_light_skin_tone_dark_skin_tone"],"1F468-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FB":["kiss_man_man_tone2_tone1","kiss_man_man_medium_light_skin_tone_light_skin_tone"],"1F468-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FC":["kiss_man_man_tone2","kiss_man_man_medium_light_skin_tone"],"1F468-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FD":["kiss_man_man_tone2_tone3","kiss_man_man_medium_light_skin_tone_medium_skin_tone"],"1F468-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FE":["kiss_man_man_tone2_tone4","kiss_man_man_medium_light_skin_tone_medium_dark_skin_tone"],"1F468-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FF":["kiss_man_man_tone2_tone5","kiss_man_man_medium_light_skin_tone_dark_skin_tone"],"1F468-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FB":["kiss_man_man_tone3_tone1","kiss_man_man_medium_skin_tone_light_skin_tone"],"1F468-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FC":["kiss_man_man_tone3_tone2","kiss_man_man_medium_skin_tone_medium_light_skin_tone"],"1F468-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FD":["kiss_man_man_tone3","kiss_man_man_medium_skin_tone"],"1F468-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FE":["kiss_man_man_tone3_tone4","kiss_man_man_medium_skin_tone_medium_dark_skin_tone"],"1F468-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FF":["kiss_man_man_tone3_tone5","kiss_man_man_medium_skin_tone_dark_skin_tone"],"1F468-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FB":["kiss_man_man_tone4_tone1","kiss_man_man_medium_dark_skin_tone_light_skin_tone"],"1F468-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FC":["kiss_man_man_tone4_tone2","kiss_man_man_medium_dark_skin_tone_medium_light_skin_tone"],"1F468-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FD":["kiss_man_man_tone4_tone3","kiss_man_man_medium_dark_skin_tone_medium_skin_tone"],"1F468-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FE":["kiss_man_man_tone4","kiss_man_man_medium_dark_skin_tone"],"1F468-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FF":["kiss_man_man_tone4_tone5","kiss_man_man_medium_dark_skin_tone_dark_skin_tone"],"1F468-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FB":["kiss_man_man_tone5_tone1","kiss_man_man_dark_skin_tone_light_skin_tone"],"1F468-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FC":["kiss_man_man_tone5_tone2","kiss_man_man_dark_skin_tone_medium_light_skin_tone"],"1F468-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FD":["kiss_man_man_tone5_tone3","kiss_man_man_dark_skin_tone_medium_skin_tone"],"1F468-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FE":["kiss_man_man_tone5_tone4","kiss_man_man_dark_skin_tone_medium_dark_skin_tone"],"1F468-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FF":["kiss_man_man_tone5","kiss_man_man_dark_skin_tone"],"1F46A":"family","1F468-200D-1F469-200D-1F466":"family_man_woman_boy","1F468-200D-1F469-200D-1F467":"family_mwg","1F468-200D-1F469-200D-1F467-200D-1F466":"family_mwgb","1F468-200D-1F469-200D-1F466-200D-1F466":"family_mwbb","1F468-200D-1F469-200D-1F467-200D-1F467":"family_mwgg","1F469-200D-1F469-200D-1F466":"family_wwb","1F469-200D-1F469-200D-1F467":"family_wwg","1F469-200D-1F469-200D-1F467-200D-1F466":"family_wwgb","1F469-200D-1F469-200D-1F466-200D-1F466":"family_wwbb","1F469-200D-1F469-200D-1F467-200D-1F467":"family_wwgg","1F468-200D-1F468-200D-1F466":"family_mmb","1F468-200D-1F468-200D-1F467":"family_mmg","1F468-200D-1F468-200D-1F467-200D-1F466":"family_mmgb","1F468-200D-1F468-200D-1F466-200D-1F466":"family_mmbb","1F468-200D-1F468-200D-1F467-200D-1F467":"family_mmgg","1F469-200D-1F466":"family_woman_boy","1F469-200D-1F467":"family_woman_girl","1F469-200D-1F467-200D-1F466":"family_woman_girl_boy","1F469-200D-1F466-200D-1F466":"family_woman_boy_boy","1F469-200D-1F467-200D-1F467":"family_woman_girl_girl","1F468-200D-1F466":"family_man_boy","1F468-200D-1F467":"family_man_girl","1F468-200D-1F467-200D-1F466":"family_man_girl_boy","1F468-200D-1F466-200D-1F466":"family_man_boy_boy","1F468-200D-1F467-200D-1F467":"family_man_girl_girl","1F9F6":"yarn","1F9F5":"thread","1F9E5":"coat","1F97C":"lab_coat","1F9BA":"safety_vest","1F45A":"womans_clothes","1F455":"shirt","1F456":"jeans","1FA72":"briefs","1FA73":"shorts","1F454":"necktie","1F457":"dress","1F459":"bikini","1FA71":"one_piece_swimsuit","1F458":"kimono","1F97B":"sari","1F97F":"womans_flat_shoe","1F460":"high_heel","1F461":"sandal","1F462":"boot","1F45E":"mans_shoe","1F45F":"athletic_shoe","1F97E":"hiking_boot","1FA74":"thong_sandal","1F9E6":"socks","1F9E4":"gloves","1F9E3":"scarf","1F3A9":"tophat","1F9E2":"billed_cap","1F452":"womans_hat","1F393":"mortar_board","26D1":["helmet_with_cross","helmet_with_white_cross"],"1FA96":"military_helmet","1F451":"crown","1F48D":"ring","1F45D":"pouch","1F45B":"purse","1F45C":"handbag","1F4BC":"briefcase","1F392":"school_satchel","1F9F3":"luggage","1F453":"eyeglasses","1F576":"dark_sunglasses","1F97D":"goggles","1F302":"closed_umbrella","1F9B1":"curly_haired","1F9B0":"red_haired","1F9B3":"white_haired","1F9B2":"bald","1F436":"dog","1F431":"cat","1F42D":"mouse","1F439":"hamster","1F430":"rabbit","1F98A":["fox","fox_face"],"1F43B":"bear","1F43C":"panda_face","1F43B-200D-2744-FE0F":"polar_bear","1F428":"koala","1F42F":"tiger","1F981":["lion_face","lion"],"1F42E":"cow","1F437":"pig","1F43D":"pig_nose","1F438":"frog","1F435":"monkey_face","1F648":"see_no_evil","1F649":"hear_no_evil","1F64A":"speak_no_evil","1F412":"monkey","1F414":"chicken","1F427":"penguin","1F426":"bird","1F424":"baby_chick","1F423":"hatching_chick","1F425":"hatched_chick","1F986":"duck","1F9A4":"dodo","1F985":"eagle","1F989":"owl","1F987":"bat","1F43A":"wolf","1F417":"boar","1F434":"horse","1F984":["unicorn","unicorn_face"],"1F41D":"bee","1F41B":"bug","1F98B":"butterfly","1F40C":"snail","1FAB1":"worm","1F41E":"lady_beetle","1F41C":"ant","1FAB0":"fly","1F99F":"mosquito","1FAB3":"cockroach","1FAB2":"beetle","1F997":"cricket","1F577":"spider","1F578":"spider_web","1F982":"scorpion","1F422":"turtle","1F40D":"snake","1F98E":"lizard","1F996":"t_rex","1F995":"sauropod","1F419":"octopus","1F991":"squid","1F990":"shrimp","1F99E":"lobster","1F980":"crab","1F421":"blowfish","1F420":"tropical_fish","1F41F":"fish","1F9AD":"seal","1F42C":"dolphin","1F433":"whale","1F40B":"whale2","1F988":"shark","1F40A":"crocodile","1F405":"tiger2","1F406":"leopard","1F993":"zebra","1F98D":"gorilla","1F9A7":"orangutan","1F418":"elephant","1F9A3":"mammoth","1F9AC":"bison","1F99B":"hippopotamus","1F98F":["rhino","rhinoceros"],"1F42A":"dromedary_camel","1F42B":"camel","1F992":"giraffe","1F998":"kangaroo","1F403":"water_buffalo","1F402":"ox","1F404":"cow2","1F40E":"racehorse","1F416":"pig2","1F40F":"ram","1F411":"sheep","1F999":"llama","1F410":"goat","1F98C":"deer","1F415":"dog2","1F429":"poodle","1F9AE":"guide_dog","1F415-200D-1F9BA":"service_dog","1F408":"cat2","1F408-200D-2B1B":"black_cat","1F413":"rooster","1F983":"turkey","1F99A":"peacock","1F99C":"parrot","1F9A2":"swan","1F9A9":"flamingo","1F54A":["dove","dove_of_peace"],"1F407":"rabbit2","1F99D":"raccoon","1F9A8":"skunk","1F9A1":"badger","1F9AB":"beaver","1F9A6":"otter","1F9A5":"sloth","1F401":"mouse2","1F400":"rat","1F43F":"chipmunk","1F994":"hedgehog","1F43E":["feet","paw_prints"],"1F409":"dragon","1F432":"dragon_face","1F335":"cactus","1F384":"christmas_tree","1F332":"evergreen_tree","1F333":"deciduous_tree","1F334":"palm_tree","1F331":"seedling","1F33F":"herb","1F340":"four_leaf_clover","1F38D":"bamboo","1F38B":"tanabata_tree","1F343":"leaves","1F342":"fallen_leaf","1F341":"maple_leaf","1FAB6":"feather","1F344":"mushroom","1F41A":"shell","1FAA8":"rock","1FAB5":"wood","1F33E":"ear_of_rice","1FAB4":"potted_plant","1F490":"bouquet","1F337":"tulip","1F339":"rose","1F940":["wilted_rose","wilted_flower"],"1F33A":"hibiscus","1F338":"cherry_blossom","1F33C":"blossom","1F33B":"sunflower","1F31E":"sun_with_face","1F31D":"full_moon_with_face","1F31B":"first_quarter_moon_with_face","1F31C":"last_quarter_moon_with_face","1F31A":"new_moon_with_face","1F315":"full_moon","1F316":"waning_gibbous_moon","1F317":"last_quarter_moon","1F318":"waning_crescent_moon","1F311":"new_moon","1F312":"waxing_crescent_moon","1F313":"first_quarter_moon","1F314":"waxing_gibbous_moon","1F319":"crescent_moon","1F30E":"earth_americas","1F30D":"earth_africa","1F30F":"earth_asia","1FA90":"ringed_planet","1F4AB":"dizzy","2B50":"star","1F31F":"star2","26A1":"zap","1F4A5":"boom","1F525":["fire","flame"],"1F32A":["cloud_tornado","cloud_with_tornado"],"1F308":"rainbow","1F324":["white_sun_small_cloud","white_sun_with_small_cloud"],"26C5":"partly_sunny","1F325":["white_sun_cloud","white_sun_behind_cloud"],"1F326":["white_sun_rain_cloud","white_sun_behind_cloud_with_rain"],"1F327":["cloud_rain","cloud_with_rain"],"26C8":["thunder_cloud_rain","thunder_cloud_and_rain"],"1F329":["cloud_lightning","cloud_with_lightning"],"1F328":["cloud_snow","cloud_with_snow"],"26C4":"snowman","1F32C":"wind_blowing_face","1F4A8":"dash","1F4A7":"droplet","1F4A6":"sweat_drops","1F30A":"ocean","1F32B":"fog","1F34F":"green_apple","1F34E":"apple","1F350":"pear","1F34A":"tangerine","1F34B":"lemon","1F34C":"banana","1F349":"watermelon","1F347":"grapes","1FAD0":"blueberries","1F353":"strawberry","1F348":"melon","1F352":"cherries","1F351":"peach","1F96D":"mango","1F34D":"pineapple","1F965":"coconut","1F95D":["kiwi","kiwifruit"],"1F345":"tomato","1F346":"eggplant","1F951":"avocado","1FAD2":"olive","1F966":"broccoli","1F96C":"leafy_green","1FAD1":"bell_pepper","1F952":"cucumber","1F336":"hot_pepper","1F33D":"corn","1F955":"carrot","1F9C4":"garlic","1F9C5":"onion","1F954":"potato","1F360":"sweet_potato","1F950":"croissant","1F96F":"bagel","1F35E":"bread","1F956":["french_bread","baguette_bread"],"1FAD3":"flatbread","1F968":"pretzel","1F9C0":["cheese","cheese_wedge"],"1F95A":"egg","1F373":"cooking","1F9C8":"butter","1F95E":"pancakes","1F9C7":"waffle","1F953":"bacon","1F969":"cut_of_meat","1F357":"poultry_leg","1F356":"meat_on_bone","1F32D":["hotdog","hot_dog"],"1F354":"hamburger","1F35F":"fries","1F355":"pizza","1F96A":"sandwich","1F959":["stuffed_flatbread","stuffed_pita"],"1F9C6":"falafel","1F32E":"taco","1F32F":"burrito","1FAD4":"tamale","1F957":["salad","green_salad"],"1F958":["shallow_pan_of_food","paella"],"1FAD5":"fondue","1F96B":"canned_food","1F35D":"spaghetti","1F35C":"ramen","1F372":"stew","1F35B":"curry","1F363":"sushi","1F371":"bento","1F95F":"dumpling","1F9AA":"oyster","1F364":"fried_shrimp","1F359":"rice_ball","1F35A":"rice","1F358":"rice_cracker","1F365":"fish_cake","1F960":"fortune_cookie","1F96E":"moon_cake","1F362":"oden","1F361":"dango","1F367":"shaved_ice","1F368":"ice_cream","1F366":"icecream","1F967":"pie","1F9C1":"cupcake","1F370":"cake","1F382":"birthday","1F36E":["custard","pudding","flan"],"1F36D":"lollipop","1F36C":"candy","1F36B":"chocolate_bar","1F37F":"popcorn","1F369":"doughnut","1F36A":"cookie","1F330":"chestnut","1F95C":["peanuts","shelled_peanut"],"1F36F":"honey_pot","1F95B":["milk","glass_of_milk"],"1F37C":"baby_bottle","1F375":"tea","1FAD6":"teapot","1F9C9":"mate","1F9CB":"bubble_tea","1F9C3":"beverage_box","1F964":"cup_with_straw","1F376":"sake","1F37A":"beer","1F37B":"beers","1F942":["champagne_glass","clinking_glass"],"1F377":"wine_glass","1F943":["tumbler_glass","whisky"],"1F378":"cocktail","1F379":"tropical_drink","1F37E":["champagne","bottle_with_popping_cork"],"1F9CA":"ice_cube","1F944":"spoon","1F374":"fork_and_knife","1F37D":["fork_knife_plate","fork_and_knife_with_plate"],"1F963":"bowl_with_spoon","1F961":"takeout_box","1F962":"chopsticks","1F9C2":"salt","26BD":"soccer","1F3C0":"basketball","1F3C8":"football","26BE":"baseball","1F94E":"softball","1F3BE":"tennis","1F3D0":"volleyball","1F3C9":"rugby_football","1F94F":"flying_disc","1FA83":"boomerang","1F3B1":"8ball","1FA80":"yo_yo","1F3D3":["ping_pong","table_tennis"],"1F3F8":"badminton","1F3D2":"hockey","1F3D1":"field_hockey","1F94D":"lacrosse","1F3CF":["cricket_game","cricket_bat_ball"],"1F945":["goal","goal_net"],"26F3":"golf","1FA81":"kite","1F3F9":["bow_and_arrow","archery"],"1F3A3":"fishing_pole_and_fish","1F93F":"diving_mask","1F94A":["boxing_glove","boxing_gloves"],"1F94B":["martial_arts_uniform","karate_uniform"],"1F3BD":"running_shirt_with_sash","1F6F9":"skateboard","1F6FC":"roller_skate","1F6F7":"sled","26F8":"ice_skate","1F94C":"curling_stone","1F3BF":"ski","26F7":"skier","1F3C2":"snowboarder","1F3C2-1F3FB":["snowboarder_tone1","snowboarder_light_skin_tone"],"1F3C2-1F3FC":["snowboarder_tone2","snowboarder_medium_light_skin_tone"],"1F3C2-1F3FD":["snowboarder_tone3","snowboarder_medium_skin_tone"],"1F3C2-1F3FE":["snowboarder_tone4","snowboarder_medium_dark_skin_tone"],"1F3C2-1F3FF":["snowboarder_tone5","snowboarder_dark_skin_tone"],"1FA82":"parachute","1F3CB":["person_lifting_weights","lifter","weight_lifter"],"1F3CB-1F3FB":["person_lifting_weights_tone1","lifter_tone1","weight_lifter_tone1"],"1F3CB-1F3FC":["person_lifting_weights_tone2","lifter_tone2","weight_lifter_tone2"],"1F3CB-1F3FD":["person_lifting_weights_tone3","lifter_tone3","weight_lifter_tone3"],"1F3CB-1F3FE":["person_lifting_weights_tone4","lifter_tone4","weight_lifter_tone4"],"1F3CB-1F3FF":["person_lifting_weights_tone5","lifter_tone5","weight_lifter_tone5"],"1F3CB-FE0F-200D-2640-FE0F":"woman_lifting_weights","1F3CB-1F3FB-200D-2640-FE0F":["woman_lifting_weights_tone1","woman_lifting_weights_light_skin_tone"],"1F3CB-1F3FC-200D-2640-FE0F":["woman_lifting_weights_tone2","woman_lifting_weights_medium_light_skin_tone"],"1F3CB-1F3FD-200D-2640-FE0F":["woman_lifting_weights_tone3","woman_lifting_weights_medium_skin_tone"],"1F3CB-1F3FE-200D-2640-FE0F":["woman_lifting_weights_tone4","woman_lifting_weights_medium_dark_skin_tone"],"1F3CB-1F3FF-200D-2640-FE0F":["woman_lifting_weights_tone5","woman_lifting_weights_dark_skin_tone"],"1F3CB-FE0F-200D-2642-FE0F":"man_lifting_weights","1F3CB-1F3FB-200D-2642-FE0F":["man_lifting_weights_tone1","man_lifting_weights_light_skin_tone"],"1F3CB-1F3FC-200D-2642-FE0F":["man_lifting_weights_tone2","man_lifting_weights_medium_light_skin_tone"],"1F3CB-1F3FD-200D-2642-FE0F":["man_lifting_weights_tone3","man_lifting_weights_medium_skin_tone"],"1F3CB-1F3FE-200D-2642-FE0F":["man_lifting_weights_tone4","man_lifting_weights_medium_dark_skin_tone"],"1F3CB-1F3FF-200D-2642-FE0F":["man_lifting_weights_tone5","man_lifting_weights_dark_skin_tone"],"1F93C":["people_wrestling","wrestlers","wrestling"],"1F93C-200D-2640-FE0F":"women_wrestling","1F93C-200D-2642-FE0F":"men_wrestling","1F938":["person_doing_cartwheel","cartwheel"],"1F938-1F3FB":["person_doing_cartwheel_tone1","cartwheel_tone1"],"1F938-1F3FC":["person_doing_cartwheel_tone2","cartwheel_tone2"],"1F938-1F3FD":["person_doing_cartwheel_tone3","cartwheel_tone3"],"1F938-1F3FE":["person_doing_cartwheel_tone4","cartwheel_tone4"],"1F938-1F3FF":["person_doing_cartwheel_tone5","cartwheel_tone5"],"1F938-200D-2640-FE0F":"woman_cartwheeling","1F938-1F3FB-200D-2640-FE0F":["woman_cartwheeling_tone1","woman_cartwheeling_light_skin_tone"],"1F938-1F3FC-200D-2640-FE0F":["woman_cartwheeling_tone2","woman_cartwheeling_medium_light_skin_tone"],"1F938-1F3FD-200D-2640-FE0F":["woman_cartwheeling_tone3","woman_cartwheeling_medium_skin_tone"],"1F938-1F3FE-200D-2640-FE0F":["woman_cartwheeling_tone4","woman_cartwheeling_medium_dark_skin_tone"],"1F938-1F3FF-200D-2640-FE0F":["woman_cartwheeling_tone5","woman_cartwheeling_dark_skin_tone"],"1F938-200D-2642-FE0F":"man_cartwheeling","1F938-1F3FB-200D-2642-FE0F":["man_cartwheeling_tone1","man_cartwheeling_light_skin_tone"],"1F938-1F3FC-200D-2642-FE0F":["man_cartwheeling_tone2","man_cartwheeling_medium_light_skin_tone"],"1F938-1F3FD-200D-2642-FE0F":["man_cartwheeling_tone3","man_cartwheeling_medium_skin_tone"],"1F938-1F3FE-200D-2642-FE0F":["man_cartwheeling_tone4","man_cartwheeling_medium_dark_skin_tone"],"1F938-1F3FF-200D-2642-FE0F":["man_cartwheeling_tone5","man_cartwheeling_dark_skin_tone"],"26F9":["person_bouncing_ball","basketball_player","person_with_ball"],"26F9-1F3FB":["person_bouncing_ball_tone1","basketball_player_tone1","person_with_ball_tone1"],"26F9-1F3FC":["person_bouncing_ball_tone2","basketball_player_tone2","person_with_ball_tone2"],"26F9-1F3FD":["person_bouncing_ball_tone3","basketball_player_tone3","person_with_ball_tone3"],"26F9-1F3FE":["person_bouncing_ball_tone4","basketball_player_tone4","person_with_ball_tone4"],"26F9-1F3FF":["person_bouncing_ball_tone5","basketball_player_tone5","person_with_ball_tone5"],"26F9-FE0F-200D-2640-FE0F":"woman_bouncing_ball","26F9-1F3FB-200D-2640-FE0F":["woman_bouncing_ball_tone1","woman_bouncing_ball_light_skin_tone"],"26F9-1F3FC-200D-2640-FE0F":["woman_bouncing_ball_tone2","woman_bouncing_ball_medium_light_skin_tone"],"26F9-1F3FD-200D-2640-FE0F":["woman_bouncing_ball_tone3","woman_bouncing_ball_medium_skin_tone"],"26F9-1F3FE-200D-2640-FE0F":["woman_bouncing_ball_tone4","woman_bouncing_ball_medium_dark_skin_tone"],"26F9-1F3FF-200D-2640-FE0F":["woman_bouncing_ball_tone5","woman_bouncing_ball_dark_skin_tone"],"26F9-FE0F-200D-2642-FE0F":"man_bouncing_ball","26F9-1F3FB-200D-2642-FE0F":["man_bouncing_ball_tone1","man_bouncing_ball_light_skin_tone"],"26F9-1F3FC-200D-2642-FE0F":["man_bouncing_ball_tone2","man_bouncing_ball_medium_light_skin_tone"],"26F9-1F3FD-200D-2642-FE0F":["man_bouncing_ball_tone3","man_bouncing_ball_medium_skin_tone"],"26F9-1F3FE-200D-2642-FE0F":["man_bouncing_ball_tone4","man_bouncing_ball_medium_dark_skin_tone"],"26F9-1F3FF-200D-2642-FE0F":["man_bouncing_ball_tone5","man_bouncing_ball_dark_skin_tone"],"1F93A":["person_fencing","fencer","fencing"],"1F93E":["person_playing_handball","handball"],"1F93E-1F3FB":["person_playing_handball_tone1","handball_tone1"],"1F93E-1F3FC":["person_playing_handball_tone2","handball_tone2"],"1F93E-1F3FD":["person_playing_handball_tone3","handball_tone3"],"1F93E-1F3FE":["person_playing_handball_tone4","handball_tone4"],"1F93E-1F3FF":["person_playing_handball_tone5","handball_tone5"],"1F93E-200D-2640-FE0F":"woman_playing_handball","1F93E-1F3FB-200D-2640-FE0F":["woman_playing_handball_tone1","woman_playing_handball_light_skin_tone"],"1F93E-1F3FC-200D-2640-FE0F":["woman_playing_handball_tone2","woman_playing_handball_medium_light_skin_tone"],"1F93E-1F3FD-200D-2640-FE0F":["woman_playing_handball_tone3","woman_playing_handball_medium_skin_tone"],"1F93E-1F3FE-200D-2640-FE0F":["woman_playing_handball_tone4","woman_playing_handball_medium_dark_skin_tone"],"1F93E-1F3FF-200D-2640-FE0F":["woman_playing_handball_tone5","woman_playing_handball_dark_skin_tone"],"1F93E-200D-2642-FE0F":"man_playing_handball","1F93E-1F3FB-200D-2642-FE0F":["man_playing_handball_tone1","man_playing_handball_light_skin_tone"],"1F93E-1F3FC-200D-2642-FE0F":["man_playing_handball_tone2","man_playing_handball_medium_light_skin_tone"],"1F93E-1F3FD-200D-2642-FE0F":["man_playing_handball_tone3","man_playing_handball_medium_skin_tone"],"1F93E-1F3FE-200D-2642-FE0F":["man_playing_handball_tone4","man_playing_handball_medium_dark_skin_tone"],"1F93E-1F3FF-200D-2642-FE0F":["man_playing_handball_tone5","man_playing_handball_dark_skin_tone"],"1F3CC":["person_golfing","golfer"],"1F3CC-1F3FB":["person_golfing_tone1","person_golfing_light_skin_tone"],"1F3CC-1F3FC":["person_golfing_tone2","person_golfing_medium_light_skin_tone"],"1F3CC-1F3FD":["person_golfing_tone3","person_golfing_medium_skin_tone"],"1F3CC-1F3FE":["person_golfing_tone4","person_golfing_medium_dark_skin_tone"],"1F3CC-1F3FF":["person_golfing_tone5","person_golfing_dark_skin_tone"],"1F3CC-FE0F-200D-2640-FE0F":"woman_golfing","1F3CC-1F3FB-200D-2640-FE0F":["woman_golfing_tone1","woman_golfing_light_skin_tone"],"1F3CC-1F3FC-200D-2640-FE0F":["woman_golfing_tone2","woman_golfing_medium_light_skin_tone"],"1F3CC-1F3FD-200D-2640-FE0F":["woman_golfing_tone3","woman_golfing_medium_skin_tone"],"1F3CC-1F3FE-200D-2640-FE0F":["woman_golfing_tone4","woman_golfing_medium_dark_skin_tone"],"1F3CC-1F3FF-200D-2640-FE0F":["woman_golfing_tone5","woman_golfing_dark_skin_tone"],"1F3CC-FE0F-200D-2642-FE0F":"man_golfing","1F3CC-1F3FB-200D-2642-FE0F":["man_golfing_tone1","man_golfing_light_skin_tone"],"1F3CC-1F3FC-200D-2642-FE0F":["man_golfing_tone2","man_golfing_medium_light_skin_tone"],"1F3CC-1F3FD-200D-2642-FE0F":["man_golfing_tone3","man_golfing_medium_skin_tone"],"1F3CC-1F3FE-200D-2642-FE0F":["man_golfing_tone4","man_golfing_medium_dark_skin_tone"],"1F3CC-1F3FF-200D-2642-FE0F":["man_golfing_tone5","man_golfing_dark_skin_tone"],"1F3C7":"horse_racing","1F3C7-1F3FB":"horse_racing_tone1","1F3C7-1F3FC":"horse_racing_tone2","1F3C7-1F3FD":"horse_racing_tone3","1F3C7-1F3FE":"horse_racing_tone4","1F3C7-1F3FF":"horse_racing_tone5","1F9D8":"person_in_lotus_position","1F9D8-1F3FB":["person_in_lotus_position_tone1","person_in_lotus_position_light_skin_tone"],"1F9D8-1F3FC":["person_in_lotus_position_tone2","person_in_lotus_position_medium_light_skin_tone"],"1F9D8-1F3FD":["person_in_lotus_position_tone3","person_in_lotus_position_medium_skin_tone"],"1F9D8-1F3FE":["person_in_lotus_position_tone4","person_in_lotus_position_medium_dark_skin_tone"],"1F9D8-1F3FF":["person_in_lotus_position_tone5","person_in_lotus_position_dark_skin_tone"],"1F9D8-200D-2640-FE0F":"woman_in_lotus_position","1F9D8-1F3FB-200D-2640-FE0F":["woman_in_lotus_position_tone1","woman_in_lotus_position_light_skin_tone"],"1F9D8-1F3FC-200D-2640-FE0F":["woman_in_lotus_position_tone2","woman_in_lotus_position_medium_light_skin_tone"],"1F9D8-1F3FD-200D-2640-FE0F":["woman_in_lotus_position_tone3","woman_in_lotus_position_medium_skin_tone"],"1F9D8-1F3FE-200D-2640-FE0F":["woman_in_lotus_position_tone4","woman_in_lotus_position_medium_dark_skin_tone"],"1F9D8-1F3FF-200D-2640-FE0F":["woman_in_lotus_position_tone5","woman_in_lotus_position_dark_skin_tone"],"1F9D8-200D-2642-FE0F":"man_in_lotus_position","1F9D8-1F3FB-200D-2642-FE0F":["man_in_lotus_position_tone1","man_in_lotus_position_light_skin_tone"],"1F9D8-1F3FC-200D-2642-FE0F":["man_in_lotus_position_tone2","man_in_lotus_position_medium_light_skin_tone"],"1F9D8-1F3FD-200D-2642-FE0F":["man_in_lotus_position_tone3","man_in_lotus_position_medium_skin_tone"],"1F9D8-1F3FE-200D-2642-FE0F":["man_in_lotus_position_tone4","man_in_lotus_position_medium_dark_skin_tone"],"1F9D8-1F3FF-200D-2642-FE0F":["man_in_lotus_position_tone5","man_in_lotus_position_dark_skin_tone"],"1F3C4":["person_surfing","surfer"],"1F3C4-1F3FB":["person_surfing_tone1","surfer_tone1"],"1F3C4-1F3FC":["person_surfing_tone2","surfer_tone2"],"1F3C4-1F3FD":["person_surfing_tone3","surfer_tone3"],"1F3C4-1F3FE":["person_surfing_tone4","surfer_tone4"],"1F3C4-1F3FF":["person_surfing_tone5","surfer_tone5"],"1F3C4-200D-2640-FE0F":"woman_surfing","1F3C4-1F3FB-200D-2640-FE0F":["woman_surfing_tone1","woman_surfing_light_skin_tone"],"1F3C4-1F3FC-200D-2640-FE0F":["woman_surfing_tone2","woman_surfing_medium_light_skin_tone"],"1F3C4-1F3FD-200D-2640-FE0F":["woman_surfing_tone3","woman_surfing_medium_skin_tone"],"1F3C4-1F3FE-200D-2640-FE0F":["woman_surfing_tone4","woman_surfing_medium_dark_skin_tone"],"1F3C4-1F3FF-200D-2640-FE0F":["woman_surfing_tone5","woman_surfing_dark_skin_tone"],"1F3C4-200D-2642-FE0F":"man_surfing","1F3C4-1F3FB-200D-2642-FE0F":["man_surfing_tone1","man_surfing_light_skin_tone"],"1F3C4-1F3FC-200D-2642-FE0F":["man_surfing_tone2","man_surfing_medium_light_skin_tone"],"1F3C4-1F3FD-200D-2642-FE0F":["man_surfing_tone3","man_surfing_medium_skin_tone"],"1F3C4-1F3FE-200D-2642-FE0F":["man_surfing_tone4","man_surfing_medium_dark_skin_tone"],"1F3C4-1F3FF-200D-2642-FE0F":["man_surfing_tone5","man_surfing_dark_skin_tone"],"1F3CA":["person_swimming","swimmer"],"1F3CA-1F3FB":["person_swimming_tone1","swimmer_tone1"],"1F3CA-1F3FC":["person_swimming_tone2","swimmer_tone2"],"1F3CA-1F3FD":["person_swimming_tone3","swimmer_tone3"],"1F3CA-1F3FE":["person_swimming_tone4","swimmer_tone4"],"1F3CA-1F3FF":["person_swimming_tone5","swimmer_tone5"],"1F3CA-200D-2640-FE0F":"woman_swimming","1F3CA-1F3FB-200D-2640-FE0F":["woman_swimming_tone1","woman_swimming_light_skin_tone"],"1F3CA-1F3FC-200D-2640-FE0F":["woman_swimming_tone2","woman_swimming_medium_light_skin_tone"],"1F3CA-1F3FD-200D-2640-FE0F":["woman_swimming_tone3","woman_swimming_medium_skin_tone"],"1F3CA-1F3FE-200D-2640-FE0F":["woman_swimming_tone4","woman_swimming_medium_dark_skin_tone"],"1F3CA-1F3FF-200D-2640-FE0F":["woman_swimming_tone5","woman_swimming_dark_skin_tone"],"1F3CA-200D-2642-FE0F":"man_swimming","1F3CA-1F3FB-200D-2642-FE0F":["man_swimming_tone1","man_swimming_light_skin_tone"],"1F3CA-1F3FC-200D-2642-FE0F":["man_swimming_tone2","man_swimming_medium_light_skin_tone"],"1F3CA-1F3FD-200D-2642-FE0F":["man_swimming_tone3","man_swimming_medium_skin_tone"],"1F3CA-1F3FE-200D-2642-FE0F":["man_swimming_tone4","man_swimming_medium_dark_skin_tone"],"1F3CA-1F3FF-200D-2642-FE0F":["man_swimming_tone5","man_swimming_dark_skin_tone"],"1F93D":["person_playing_water_polo","water_polo"],"1F93D-1F3FB":["person_playing_water_polo_tone1","water_polo_tone1"],"1F93D-1F3FC":["person_playing_water_polo_tone2","water_polo_tone2"],"1F93D-1F3FD":["person_playing_water_polo_tone3","water_polo_tone3"],"1F93D-1F3FE":["person_playing_water_polo_tone4","water_polo_tone4"],"1F93D-1F3FF":["person_playing_water_polo_tone5","water_polo_tone5"],"1F93D-200D-2640-FE0F":"woman_playing_water_polo","1F93D-1F3FB-200D-2640-FE0F":["woman_playing_water_polo_tone1","woman_playing_water_polo_light_skin_tone"],"1F93D-1F3FC-200D-2640-FE0F":["woman_playing_water_polo_tone2","woman_playing_water_polo_medium_light_skin_tone"],"1F93D-1F3FD-200D-2640-FE0F":["woman_playing_water_polo_tone3","woman_playing_water_polo_medium_skin_tone"],"1F93D-1F3FE-200D-2640-FE0F":["woman_playing_water_polo_tone4","woman_playing_water_polo_medium_dark_skin_tone"],"1F93D-1F3FF-200D-2640-FE0F":["woman_playing_water_polo_tone5","woman_playing_water_polo_dark_skin_tone"],"1F93D-200D-2642-FE0F":"man_playing_water_polo","1F93D-1F3FB-200D-2642-FE0F":["man_playing_water_polo_tone1","man_playing_water_polo_light_skin_tone"],"1F93D-1F3FC-200D-2642-FE0F":["man_playing_water_polo_tone2","man_playing_water_polo_medium_light_skin_tone"],"1F93D-1F3FD-200D-2642-FE0F":["man_playing_water_polo_tone3","man_playing_water_polo_medium_skin_tone"],"1F93D-1F3FE-200D-2642-FE0F":["man_playing_water_polo_tone4","man_playing_water_polo_medium_dark_skin_tone"],"1F93D-1F3FF-200D-2642-FE0F":["man_playing_water_polo_tone5","man_playing_water_polo_dark_skin_tone"],"1F6A3":["person_rowing_boat","rowboat"],"1F6A3-1F3FB":["person_rowing_boat_tone1","rowboat_tone1"],"1F6A3-1F3FC":["person_rowing_boat_tone2","rowboat_tone2"],"1F6A3-1F3FD":["person_rowing_boat_tone3","rowboat_tone3"],"1F6A3-1F3FE":["person_rowing_boat_tone4","rowboat_tone4"],"1F6A3-1F3FF":["person_rowing_boat_tone5","rowboat_tone5"],"1F6A3-200D-2640-FE0F":"woman_rowing_boat","1F6A3-1F3FB-200D-2640-FE0F":["woman_rowing_boat_tone1","woman_rowing_boat_light_skin_tone"],"1F6A3-1F3FC-200D-2640-FE0F":["woman_rowing_boat_tone2","woman_rowing_boat_medium_light_skin_tone"],"1F6A3-1F3FD-200D-2640-FE0F":["woman_rowing_boat_tone3","woman_rowing_boat_medium_skin_tone"],"1F6A3-1F3FE-200D-2640-FE0F":["woman_rowing_boat_tone4","woman_rowing_boat_medium_dark_skin_tone"],"1F6A3-1F3FF-200D-2640-FE0F":["woman_rowing_boat_tone5","woman_rowing_boat_dark_skin_tone"],"1F6A3-200D-2642-FE0F":"man_rowing_boat","1F6A3-1F3FB-200D-2642-FE0F":["man_rowing_boat_tone1","man_rowing_boat_light_skin_tone"],"1F6A3-1F3FC-200D-2642-FE0F":["man_rowing_boat_tone2","man_rowing_boat_medium_light_skin_tone"],"1F6A3-1F3FD-200D-2642-FE0F":["man_rowing_boat_tone3","man_rowing_boat_medium_skin_tone"],"1F6A3-1F3FE-200D-2642-FE0F":["man_rowing_boat_tone4","man_rowing_boat_medium_dark_skin_tone"],"1F6A3-1F3FF-200D-2642-FE0F":["man_rowing_boat_tone5","man_rowing_boat_dark_skin_tone"],"1F9D7":"person_climbing","1F9D7-1F3FB":["person_climbing_tone1","person_climbing_light_skin_tone"],"1F9D7-1F3FC":["person_climbing_tone2","person_climbing_medium_light_skin_tone"],"1F9D7-1F3FD":["person_climbing_tone3","person_climbing_medium_skin_tone"],"1F9D7-1F3FE":["person_climbing_tone4","person_climbing_medium_dark_skin_tone"],"1F9D7-1F3FF":["person_climbing_tone5","person_climbing_dark_skin_tone"],"1F9D7-200D-2640-FE0F":"woman_climbing","1F9D7-1F3FB-200D-2640-FE0F":["woman_climbing_tone1","woman_climbing_light_skin_tone"],"1F9D7-1F3FC-200D-2640-FE0F":["woman_climbing_tone2","woman_climbing_medium_light_skin_tone"],"1F9D7-1F3FD-200D-2640-FE0F":["woman_climbing_tone3","woman_climbing_medium_skin_tone"],"1F9D7-1F3FE-200D-2640-FE0F":["woman_climbing_tone4","woman_climbing_medium_dark_skin_tone"],"1F9D7-1F3FF-200D-2640-FE0F":["woman_climbing_tone5","woman_climbing_dark_skin_tone"],"1F9D7-200D-2642-FE0F":"man_climbing","1F9D7-1F3FB-200D-2642-FE0F":["man_climbing_tone1","man_climbing_light_skin_tone"],"1F9D7-1F3FC-200D-2642-FE0F":["man_climbing_tone2","man_climbing_medium_light_skin_tone"],"1F9D7-1F3FD-200D-2642-FE0F":["man_climbing_tone3","man_climbing_medium_skin_tone"],"1F9D7-1F3FE-200D-2642-FE0F":["man_climbing_tone4","man_climbing_medium_dark_skin_tone"],"1F9D7-1F3FF-200D-2642-FE0F":["man_climbing_tone5","man_climbing_dark_skin_tone"],"1F6B5":["person_mountain_biking","mountain_bicyclist"],"1F6B5-1F3FB":["person_mountain_biking_tone1","mountain_bicyclist_tone1"],"1F6B5-1F3FC":["person_mountain_biking_tone2","mountain_bicyclist_tone2"],"1F6B5-1F3FD":["person_mountain_biking_tone3","mountain_bicyclist_tone3"],"1F6B5-1F3FE":["person_mountain_biking_tone4","mountain_bicyclist_tone4"],"1F6B5-1F3FF":["person_mountain_biking_tone5","mountain_bicyclist_tone5"],"1F6B5-200D-2640-FE0F":"woman_mountain_biking","1F6B5-1F3FB-200D-2640-FE0F":["woman_mountain_biking_tone1","woman_mountain_biking_light_skin_tone"],"1F6B5-1F3FC-200D-2640-FE0F":["woman_mountain_biking_tone2","woman_mountain_biking_medium_light_skin_tone"],"1F6B5-1F3FD-200D-2640-FE0F":["woman_mountain_biking_tone3","woman_mountain_biking_medium_skin_tone"],"1F6B5-1F3FE-200D-2640-FE0F":["woman_mountain_biking_tone4","woman_mountain_biking_medium_dark_skin_tone"],"1F6B5-1F3FF-200D-2640-FE0F":["woman_mountain_biking_tone5","woman_mountain_biking_dark_skin_tone"],"1F6B5-200D-2642-FE0F":"man_mountain_biking","1F6B5-1F3FB-200D-2642-FE0F":["man_mountain_biking_tone1","man_mountain_biking_light_skin_tone"],"1F6B5-1F3FC-200D-2642-FE0F":["man_mountain_biking_tone2","man_mountain_biking_medium_light_skin_tone"],"1F6B5-1F3FD-200D-2642-FE0F":["man_mountain_biking_tone3","man_mountain_biking_medium_skin_tone"],"1F6B5-1F3FE-200D-2642-FE0F":["man_mountain_biking_tone4","man_mountain_biking_medium_dark_skin_tone"],"1F6B5-1F3FF-200D-2642-FE0F":["man_mountain_biking_tone5","man_mountain_biking_dark_skin_tone"],"1F6B4":["person_biking","bicyclist"],"1F6B4-1F3FB":["person_biking_tone1","bicyclist_tone1"],"1F6B4-1F3FC":["person_biking_tone2","bicyclist_tone2"],"1F6B4-1F3FD":["person_biking_tone3","bicyclist_tone3"],"1F6B4-1F3FE":["person_biking_tone4","bicyclist_tone4"],"1F6B4-1F3FF":["person_biking_tone5","bicyclist_tone5"],"1F6B4-200D-2640-FE0F":"woman_biking","1F6B4-1F3FB-200D-2640-FE0F":["woman_biking_tone1","woman_biking_light_skin_tone"],"1F6B4-1F3FC-200D-2640-FE0F":["woman_biking_tone2","woman_biking_medium_light_skin_tone"],"1F6B4-1F3FD-200D-2640-FE0F":["woman_biking_tone3","woman_biking_medium_skin_tone"],"1F6B4-1F3FE-200D-2640-FE0F":["woman_biking_tone4","woman_biking_medium_dark_skin_tone"],"1F6B4-1F3FF-200D-2640-FE0F":["woman_biking_tone5","woman_biking_dark_skin_tone"],"1F6B4-200D-2642-FE0F":"man_biking","1F6B4-1F3FB-200D-2642-FE0F":["man_biking_tone1","man_biking_light_skin_tone"],"1F6B4-1F3FC-200D-2642-FE0F":["man_biking_tone2","man_biking_medium_light_skin_tone"],"1F6B4-1F3FD-200D-2642-FE0F":["man_biking_tone3","man_biking_medium_skin_tone"],"1F6B4-1F3FE-200D-2642-FE0F":["man_biking_tone4","man_biking_medium_dark_skin_tone"],"1F6B4-1F3FF-200D-2642-FE0F":["man_biking_tone5","man_biking_dark_skin_tone"],"1F3C6":"trophy","1F947":["first_place","first_place_medal"],"1F948":["second_place","second_place_medal"],"1F949":["third_place","third_place_medal"],"1F3C5":["medal","sports_medal"],"1F396":"military_medal","1F3F5":"rosette","1F397":"reminder_ribbon","1F3AB":"ticket","1F39F":["tickets","admission_tickets"],"1F3AA":"circus_tent","1F939":["person_juggling","juggling","juggler"],"1F939-1F3FB":["person_juggling_tone1","juggling_tone1","juggler_tone1"],"1F939-1F3FC":["person_juggling_tone2","juggling_tone2","juggler_tone2"],"1F939-1F3FD":["person_juggling_tone3","juggling_tone3","juggler_tone3"],"1F939-1F3FE":["person_juggling_tone4","juggling_tone4","juggler_tone4"],"1F939-1F3FF":["person_juggling_tone5","juggling_tone5","juggler_tone5"],"1F939-200D-2640-FE0F":"woman_juggling","1F939-1F3FB-200D-2640-FE0F":["woman_juggling_tone1","woman_juggling_light_skin_tone"],"1F939-1F3FC-200D-2640-FE0F":["woman_juggling_tone2","woman_juggling_medium_light_skin_tone"],"1F939-1F3FD-200D-2640-FE0F":["woman_juggling_tone3","woman_juggling_medium_skin_tone"],"1F939-1F3FE-200D-2640-FE0F":["woman_juggling_tone4","woman_juggling_medium_dark_skin_tone"],"1F939-1F3FF-200D-2640-FE0F":["woman_juggling_tone5","woman_juggling_dark_skin_tone"],"1F939-200D-2642-FE0F":"man_juggling","1F939-1F3FB-200D-2642-FE0F":["man_juggling_tone1","man_juggling_light_skin_tone"],"1F939-1F3FC-200D-2642-FE0F":["man_juggling_tone2","man_juggling_medium_light_skin_tone"],"1F939-1F3FD-200D-2642-FE0F":["man_juggling_tone3","man_juggling_medium_skin_tone"],"1F939-1F3FE-200D-2642-FE0F":["man_juggling_tone4","man_juggling_medium_dark_skin_tone"],"1F939-1F3FF-200D-2642-FE0F":["man_juggling_tone5","man_juggling_dark_skin_tone"],"1F3AD":"performing_arts","1FA70":"ballet_shoes","1F3A8":"art","1F3AC":"clapper","1F3A4":"microphone","1F3A7":"headphones","1F3BC":"musical_score","1F3B9":"musical_keyboard","1F941":["drum","drum_with_drumsticks"],"1FA98":"long_drum","1F3B7":"saxophone","1F3BA":"trumpet","1F3B8":"guitar","1FA95":"banjo","1F3BB":"violin","1FA97":"accordion","1F3B2":"game_die","265F":"chess_pawn","1F3AF":"dart","1F3B3":"bowling","1F3AE":"video_game","1F3B0":"slot_machine","1F9E9":"jigsaw","1F697":"red_car","1F695":"taxi","1F699":"blue_car","1F6FB":"pickup_truck","1F68C":"bus","1F68E":"trolleybus","1F3CE":["race_car","racing_car"],"1F693":"police_car","1F691":"ambulance","1F692":"fire_engine","1F690":"minibus","1F69A":"truck","1F69B":"articulated_lorry","1F69C":"tractor","1F9AF":"probing_cane","1F9BD":"manual_wheelchair","1F9BC":"motorized_wheelchair","1F6F4":"scooter","1F6B2":"bike","1F6F5":["motor_scooter","motorbike"],"1F3CD":["motorcycle","racing_motorcycle"],"1F6FA":"auto_rickshaw","1F6A8":"rotating_light","1F694":"oncoming_police_car","1F68D":"oncoming_bus","1F698":"oncoming_automobile","1F696":"oncoming_taxi","1F6A1":"aerial_tramway","1F6A0":"mountain_cableway","1F69F":"suspension_railway","1F683":"railway_car","1F68B":"train","1F69E":"mountain_railway","1F69D":"monorail","1F684":"bullettrain_side","1F685":"bullettrain_front","1F688":"light_rail","1F682":"steam_locomotive","1F686":"train2","1F687":"metro","1F68A":"tram","1F689":"station","1F6EB":"airplane_departure","1F6EC":"airplane_arriving","1F6E9":["airplane_small","small_airplane"],"1F4BA":"seat","1F6F0":"satellite_orbital","1F680":"rocket","1F6F8":"flying_saucer","1F681":"helicopter","1F6F6":["canoe","kayak"],"26F5":"sailboat","1F6A4":"speedboat","1F6E5":"motorboat","1F6F3":["cruise_ship","passenger_ship"],"26F4":"ferry","1F6A2":"ship","26FD":"fuelpump","1F6A7":"construction","1F6A6":"vertical_traffic_light","1F6A5":"traffic_light","1F68F":"busstop","1F5FA":["map","world_map"],"1F5FF":"moyai","1F5FD":"statue_of_liberty","1F5FC":"tokyo_tower","1F3F0":"european_castle","1F3EF":"japanese_castle","1F3DF":"stadium","1F3A1":"ferris_wheel","1F3A2":"roller_coaster","1F3A0":"carousel_horse","26F2":"fountain","26F1":["beach_umbrella","umbrella_on_ground"],"1F3D6":["beach","beach_with_umbrella"],"1F3DD":["island","desert_island"],"1F3DC":"desert","1F30B":"volcano","26F0":"mountain","1F3D4":["mountain_snow","snow_capped_mountain"],"1F5FB":"mount_fuji","1F3D5":"camping","26FA":"tent","1F3E0":"house","1F3E1":"house_with_garden","1F3D8":["homes","house_buildings"],"1F3DA":["house_abandoned","derelict_house_building"],"1F6D6":"hut","1F3D7":["construction_site","building_construction"],"1F3ED":"factory","1F3E2":"office","1F3EC":"department_store","1F3E3":"post_office","1F3E4":"european_post_office","1F3E5":"hospital","1F3E6":"bank","1F3E8":"hotel","1F3EA":"convenience_store","1F3EB":"school","1F3E9":"love_hotel","1F492":"wedding","1F3DB":"classical_building","26EA":"church","1F54C":"mosque","1F54D":"synagogue","1F6D5":"hindu_temple","1F54B":"kaaba","26E9":"shinto_shrine","1F6E4":["railway_track","railroad_track"],"1F6E3":"motorway","1F5FE":"japan","1F391":"rice_scene","1F3DE":["park","national_park"],"1F305":"sunrise","1F304":"sunrise_over_mountains","1F320":"stars","1F387":"sparkler","1F386":"fireworks","1F307":["city_sunset","city_sunrise"],"1F306":"city_dusk","1F3D9":"cityscape","1F303":"night_with_stars","1F30C":"milky_way","1F309":"bridge_at_night","1F301":"foggy","231A":"watch","1F4F1":"mobile_phone","1F4F2":"calling","1F4BB":"computer","1F5A5":["desktop","desktop_computer"],"1F5A8":"printer","1F5B1":["mouse_three_button","three_button_mouse"],"1F5B2":"trackball","1F579":"joystick","1F5DC":"compression","1F4BD":"minidisc","1F4BE":"floppy_disk","1F4BF":"cd","1F4C0":"dvd","1F4FC":"vhs","1F4F7":"camera","1F4F8":"camera_with_flash","1F4F9":"video_camera","1F3A5":"movie_camera","1F4FD":["projector","film_projector"],"1F39E":"film_frames","1F4DE":"telephone_receiver","260E":"telephone","1F4DF":"pager","1F4E0":"fax","1F4FA":"tv","1F4FB":"radio","1F399":["microphone2","studio_microphone"],"1F39A":"level_slider","1F39B":"control_knobs","1F9ED":"compass","23F1":"stopwatch","23F2":["timer","timer_clock"],"23F0":"alarm_clock","1F570":["clock","mantlepiece_clock"],"231B":"hourglass","23F3":"hourglass_flowing_sand","1F4E1":"satellite","1F50B":"battery","1F50C":"electric_plug","1F4A1":"bulb","1F526":"flashlight","1F56F":"candle","1FA94":"diya_lamp","1F9EF":"fire_extinguisher","1F6E2":["oil","oil_drum"],"1F4B8":"money_with_wings","1F4B5":"dollar","1F4B4":"yen","1F4B6":"euro","1F4B7":"pound","1FA99":"coin","1F4B0":"moneybag","1F4B3":"credit_card","1F48E":"gem","1FA9C":"ladder","1F9F0":"toolbox","1FA9B":"screwdriver","1F527":"wrench","1F528":"hammer","1F6E0":["tools","hammer_and_wrench"],"26CF":"pick","1F529":"nut_and_bolt","1F9F1":"bricks","26D3":"chains","1FA9D":"hook","1FAA2":"knot","1F9F2":"magnet","1F52B":"gun","1F4A3":"bomb","1F9E8":"firecracker","1FA93":"axe","1FA9A":"carpentry_saw","1F52A":"knife","1F5E1":["dagger","dagger_knife"],"1F6E1":"shield","1F6AC":"smoking","26B0":"coffin","1FAA6":"headstone","26B1":["urn","funeral_urn"],"1F3FA":"amphora","1FA84":"magic_wand","1F52E":"crystal_ball","1F4FF":"prayer_beads","1F9FF":"nazar_amulet","1F488":"barber","1F52D":"telescope","1F52C":"microscope","1F573":"hole","1FA9F":"window","1FA79":"adhesive_bandage","1FA7A":"stethoscope","1F48A":"pill","1F489":"syringe","1FA78":"drop_of_blood","1F9EC":"dna","1F9A0":"microbe","1F9EB":"petri_dish","1F9EA":"test_tube","1F321":"thermometer","1FAA4":"mouse_trap","1F9F9":"broom","1F9FA":"basket","1FAA1":"sewing_needle","1F9FB":"roll_of_paper","1F6BD":"toilet","1FAA0":"plunger","1FAA3":"bucket","1F6B0":"potable_water","1F6BF":"shower","1F6C1":"bathtub","1F6C0":"bath","1F6C0-1F3FB":"bath_tone1","1F6C0-1F3FC":"bath_tone2","1F6C0-1F3FD":"bath_tone3","1F6C0-1F3FE":"bath_tone4","1F6C0-1F3FF":"bath_tone5","1FAA5":"toothbrush","1F9FC":"soap","1FA92":"razor","1F9FD":"sponge","1F9F4":"squeeze_bottle","1F6CE":["bellhop","bellhop_bell"],"1F511":"key","1F5DD":["key2","old_key"],"1F6AA":"door","1FA91":"chair","1FA9E":"mirror","1F6CB":["couch","couch_and_lamp"],"1F6CF":"bed","1F6CC":"sleeping_accommodation","1F6CC-1F3FB":["person_in_bed_tone1","person_in_bed_light_skin_tone"],"1F6CC-1F3FC":["person_in_bed_tone2","person_in_bed_medium_light_skin_tone"],"1F6CC-1F3FD":["person_in_bed_tone3","person_in_bed_medium_skin_tone"],"1F6CC-1F3FE":["person_in_bed_tone4","person_in_bed_medium_dark_skin_tone"],"1F6CC-1F3FF":["person_in_bed_tone5","person_in_bed_dark_skin_tone"],"1F9F8":"teddy_bear","1F5BC":["frame_photo","frame_with_picture"],"1F6CD":"shopping_bags","1F6D2":["shopping_cart","shopping_trolley"],"1F381":"gift","1F388":"balloon","1F38F":"flags","1F380":"ribbon","1F38A":"confetti_ball","1F389":"tada","1FA85":"pinata","1FA86":"nesting_dolls","1F38E":"dolls","1F3EE":"izakaya_lantern","1F390":"wind_chime","1F9E7":"red_envelope","1F4E9":"envelope_with_arrow","1F4E8":"incoming_envelope","1F4E7":["e-mail","email"],"1F48C":"love_letter","1F4E5":"inbox_tray","1F4E4":"outbox_tray","1F4E6":"package","1F3F7":"label","1F4EA":"mailbox_closed","1F4EB":"mailbox","1F4EC":"mailbox_with_mail","1F4ED":"mailbox_with_no_mail","1F4EE":"postbox","1F4EF":"postal_horn","1FAA7":"placard","1F4DC":"scroll","1F4C3":"page_with_curl","1F4C4":"page_facing_up","1F4D1":"bookmark_tabs","1F9FE":"receipt","1F4CA":"bar_chart","1F4C8":"chart_with_upwards_trend","1F4C9":"chart_with_downwards_trend","1F5D2":["notepad_spiral","spiral_note_pad"],"1F5D3":["calendar_spiral","spiral_calendar_pad"],"1F4C6":"calendar","1F4C5":"date","1F5D1":"wastebasket","1F4C7":"card_index","1F5C3":["card_box","card_file_box"],"1F5F3":["ballot_box","ballot_box_with_ballot"],"1F5C4":"file_cabinet","1F4CB":"clipboard","1F4C1":"file_folder","1F4C2":"open_file_folder","1F5C2":["dividers","card_index_dividers"],"1F5DE":["newspaper2","rolled_up_newspaper"],"1F4F0":"newspaper","1F4D3":"notebook","1F4D4":"notebook_with_decorative_cover","1F4D2":"ledger","1F4D5":"closed_book","1F4D7":"green_book","1F4D8":"blue_book","1F4D9":"orange_book","1F4DA":"books","1F4D6":"book","1F516":"bookmark","1F9F7":"safety_pin","1F517":"link","1F4CE":"paperclip","1F587":["paperclips","linked_paperclips"],"1F4D0":"triangular_ruler","1F4CF":"straight_ruler","1F9EE":"abacus","1F4CC":"pushpin","1F4CD":"round_pushpin","1F58A":["pen_ballpoint","lower_left_ballpoint_pen"],"1F58B":["pen_fountain","lower_left_fountain_pen"],"1F58C":["paintbrush","lower_left_paintbrush"],"1F58D":["crayon","lower_left_crayon"],"1F4DD":["pencil","memo"],"270F":"pencil2","1F50D":"mag","1F50E":"mag_right","1F50F":"lock_with_ink_pen","1F510":"closed_lock_with_key","1F512":"lock","1F513":"unlock","1F9E1":"orange_heart","1F49B":"yellow_heart","1F49A":"green_heart","1F499":"blue_heart","1F49C":"purple_heart","1F5A4":"black_heart","1F90E":"brown_heart","1F90D":"white_heart","1F494":"broken_heart","1F495":"two_hearts","1F49E":"revolving_hearts","1F493":"heartbeat","1F497":"heartpulse","1F496":"sparkling_heart","1F498":"cupid","1F49D":"gift_heart","2764-FE0F-200D-1FA79":"mending_heart","2764-FE0F-200D-1F525":"heart_on_fire","1F49F":"heart_decoration","262E":["peace","peace_symbol"],"271D":["cross","latin_cross"],"262A":"star_and_crescent","1F549":"om_symbol","1F52F":"six_pointed_star","1F54E":"menorah","262F":"yin_yang","1F6D0":["place_of_worship","worship_symbol"],"26CE":"ophiuchus","264A":"gemini","264B":"cancer","264C":"leo","264D":"virgo","264E":"libra","264F":"scorpius","1F194":"id","269B":["atom","atom_symbol"],"1F251":"accept","1F4F4":"mobile_phone_off","1F4F3":"vibration_mode","1F236":"u6709","1F21A":"u7121","1F238":"u7533","1F23A":"u55b6","1F237":"u6708","1F19A":"vs","1F4AE":"white_flower","1F250":"ideograph_advantage","1F234":"u5408","1F235":"u6e80","1F239":"u5272","1F232":"u7981","1F170":"a","1F171":"b","1F18E":"ab","1F191":"cl","1F17E":"o2","1F198":"sos","274C":"x","2B55":"o","1F6D1":["octagonal_sign","stop_sign"],"26D4":"no_entry","1F4DB":"name_badge","1F6AB":"no_entry_sign","1F4AF":"100","1F4A2":"anger","1F6B7":"no_pedestrians","1F6AF":"do_not_litter","1F6B3":"no_bicycles","1F6B1":"non-potable_water","1F51E":"underage","1F4F5":"no_mobile_phones","1F6AD":"no_smoking","203C":"bangbang","1F505":"low_brightness","1F506":"high_brightness","303D":"part_alternation_mark","26A0":"warning","1F6B8":"children_crossing","1F531":"trident","269C":"fleur-de-lis","1F530":"beginner","267B":"recycle","1F22F":"u6307","1F4B9":"chart","274E":"negative_squared_cross_mark","1F310":"globe_with_meridians","1F4A0":"diamond_shape_with_a_dot_inside","24C2":"m","1F300":"cyclone","1F4A4":"zzz","1F3E7":"atm","1F6BE":"wc","267F":"wheelchair","1F17F":"parking","1F233":"u7a7a","1F202":"sa","1F6C2":"passport_control","1F6C3":"customs","1F6C4":"baggage_claim","1F6C5":"left_luggage","1F6D7":"elevator","1F6B9":"mens","1F6BA":"womens","1F6BC":"baby_symbol","1F6BB":"restroom","1F6AE":"put_litter_in_its_place","1F3A6":"cinema","1F4F6":"signal_strength","1F201":"koko","1F523":"symbols","1F524":"abc","1F521":"abcd","1F520":"capital_abcd","1F196":"ng","1F197":"ok","1F199":"up","1F192":"cool","1F195":"new","1F193":"free","0030-FE0F-20E3":"zero","0031-FE0F-20E3":"one","0032-FE0F-20E3":"two","0033-FE0F-20E3":"three","0034-FE0F-20E3":"four","0035-FE0F-20E3":"five","0036-FE0F-20E3":"six","0037-FE0F-20E3":"seven","0038-FE0F-20E3":"eight","0039-FE0F-20E3":"nine","1F51F":"keycap_ten","1F522":"1234","0023-FE0F-20E3":"hash","002A-FE0F-20E3":["asterisk","keycap_asterisk"],"23CF":["eject","eject_symbol"],"25B6":"arrow_forward","23F8":["pause_button","double_vertical_bar"],"23EF":"play_pause","23F9":"stop_button","23FA":"record_button","23ED":["track_next","next_track"],"23EE":["track_previous","previous_track"],"23E9":"fast_forward","23EA":"rewind","23EB":"arrow_double_up","23EC":"arrow_double_down","25C0":"arrow_backward","1F53C":"arrow_up_small","1F53D":"arrow_down_small","27A1":"arrow_right","2B05":"arrow_left","2B06":"arrow_up","2B07":"arrow_down","21AA":"arrow_right_hook","21A9":"leftwards_arrow_with_hook","1F500":"twisted_rightwards_arrows","1F501":"repeat","1F502":"repeat_one","1F504":"arrows_counterclockwise","1F503":"arrows_clockwise","1F3B5":"musical_note","1F3B6":"notes","267E":"infinity","1F4B2":"heavy_dollar_sign","1F4B1":"currency_exchange","00A9":"copyright","00AE":"registered","27B0":"curly_loop","27BF":"loop","1F51A":"end","1F519":"back","1F51B":"on","1F51D":"top","1F51C":"soon","1F518":"radio_button","26AA":"white_circle","26AB":"black_circle","1F534":"red_circle","1F535":"blue_circle","1F7E4":"brown_circle","1F7E3":"purple_circle","1F7E2":"green_circle","1F7E1":"yellow_circle","1F7E0":"orange_circle","1F53A":"small_red_triangle","1F53B":"small_red_triangle_down","1F538":"small_orange_diamond","1F539":"small_blue_diamond","1F536":"large_orange_diamond","1F537":"large_blue_diamond","1F533":"white_square_button","1F532":"black_square_button","25AA":"black_small_square","25AB":"white_small_square","25FE":"black_medium_small_square","25FD":"white_medium_small_square","25FC":"black_medium_square","25FB":"white_medium_square","2B1B":"black_large_square","2B1C":"white_large_square","1F7E7":"orange_square","1F7E6":"blue_square","1F7E5":"red_square","1F7EB":"brown_square","1F7EA":"purple_square","1F7E9":"green_square","1F7E8":"yellow_square","1F508":"speaker","1F507":"mute","1F509":"sound","1F50A":"loud_sound","1F514":"bell","1F515":"no_bell","1F4E3":"mega","1F4E2":"loudspeaker","1F5E8":["speech_left","left_speech_bubble"],"1F441-FE0F-200D-1F5E8-FE0F":"eye_in_speech_bubble","1F4AC":"speech_balloon","1F4AD":"thought_balloon","1F5EF":["anger_right","right_anger_bubble"],"1F0CF":"black_joker","1F3B4":"flower_playing_cards","1F004":"mahjong","1F550":"clock1","1F551":"clock2","1F552":"clock3","1F553":"clock4","1F554":"clock5","1F555":"clock6","1F556":"clock7","1F557":"clock8","1F558":"clock9","1F559":"clock10","1F55A":"clock11","1F55B":"clock12","1F55C":"clock130","1F55D":"clock230","1F55E":"clock330","1F55F":"clock430","1F560":"clock530","1F561":"clock630","1F562":"clock730","1F563":"clock830","1F564":"clock930","1F565":"clock1030","1F566":"clock1130","1F567":"clock1230","26A7":"transgender_symbol","1F3F3":["flag_white","waving_white_flag"],"1F3F4":["flag_black","waving_black_flag"],"1F3C1":"checkered_flag","1F6A9":"triangular_flag_on_post","1F3F3-FE0F-200D-1F308":["rainbow_flag","gay_pride_flag"],"1F3F3-FE0F-200D-26A7-FE0F":"transgender_flag","1F3F4-200D-2620-FE0F":"pirate_flag","1F1E6-1F1EB":["flag_af","af"],"1F1E6-1F1FD":["flag_ax","ax"],"1F1E6-1F1F1":["flag_al","al"],"1F1E9-1F1FF":["flag_dz","dz"],"1F1E6-1F1F8":["flag_as","as"],"1F1E6-1F1E9":["flag_ad","ad"],"1F1E6-1F1F4":["flag_ao","ao"],"1F1E6-1F1EE":["flag_ai","ai"],"1F1E6-1F1F6":["flag_aq","aq"],"1F1E6-1F1EC":["flag_ag","ag"],"1F1E6-1F1F7":["flag_ar","ar"],"1F1E6-1F1F2":["flag_am","am"],"1F1E6-1F1FC":["flag_aw","aw"],"1F1E6-1F1FA":["flag_au","au"],"1F1E6-1F1F9":["flag_at","at"],"1F1E6-1F1FF":["flag_az","az"],"1F1E7-1F1F8":["flag_bs","bs"],"1F1E7-1F1ED":["flag_bh","bh"],"1F1E7-1F1E9":["flag_bd","bd"],"1F1E7-1F1E7":["flag_bb","bb"],"1F1E7-1F1FE":["flag_by","by"],"1F1E7-1F1EA":["flag_be","be"],"1F1E7-1F1FF":["flag_bz","bz"],"1F1E7-1F1EF":["flag_bj","bj"],"1F1E7-1F1F2":["flag_bm","bm"],"1F1E7-1F1F9":["flag_bt","bt"],"1F1E7-1F1F4":["flag_bo","bo"],"1F1E7-1F1E6":["flag_ba","ba"],"1F1E7-1F1FC":["flag_bw","bw"],"1F1E7-1F1F7":["flag_br","br"],"1F1EE-1F1F4":["flag_io","io"],"1F1FB-1F1EC":["flag_vg","vg"],"1F1E7-1F1F3":["flag_bn","bn"],"1F1E7-1F1EC":["flag_bg","bg"],"1F1E7-1F1EB":["flag_bf","bf"],"1F1E7-1F1EE":["flag_bi","bi"],"1F1F0-1F1ED":["flag_kh","kh"],"1F1E8-1F1F2":["flag_cm","cm"],"1F1E8-1F1E6":["flag_ca","ca"],"1F1EE-1F1E8":["flag_ic","ic"],"1F1E8-1F1FB":["flag_cv","cv"],"1F1E7-1F1F6":["flag_bq","bq"],"1F1F0-1F1FE":["flag_ky","ky"],"1F1E8-1F1EB":["flag_cf","cf"],"1F1F9-1F1E9":["flag_td","td"],"1F1E8-1F1F1":["flag_cl","chile"],"1F1E8-1F1F3":["flag_cn","cn"],"1F1E8-1F1FD":["flag_cx","cx"],"1F1E8-1F1E8":["flag_cc","cc"],"1F1E8-1F1F4":["flag_co","co"],"1F1F0-1F1F2":["flag_km","km"],"1F1E8-1F1EC":["flag_cg","cg"],"1F1E8-1F1E9":["flag_cd","congo"],"1F1E8-1F1F0":["flag_ck","ck"],"1F1E8-1F1F7":["flag_cr","cr"],"1F1E8-1F1EE":["flag_ci","ci"],"1F1ED-1F1F7":["flag_hr","hr"],"1F1E8-1F1FA":["flag_cu","cu"],"1F1E8-1F1FC":["flag_cw","cw"],"1F1E8-1F1FE":["flag_cy","cy"],"1F1E8-1F1FF":["flag_cz","cz"],"1F1E9-1F1F0":["flag_dk","dk"],"1F1E9-1F1EF":["flag_dj","dj"],"1F1E9-1F1F2":["flag_dm","dm"],"1F1E9-1F1F4":["flag_do","do"],"1F1EA-1F1E8":["flag_ec","ec"],"1F1EA-1F1EC":["flag_eg","eg"],"1F1F8-1F1FB":["flag_sv","sv"],"1F1EC-1F1F6":["flag_gq","gq"],"1F1EA-1F1F7":["flag_er","er"],"1F1EA-1F1EA":["flag_ee","ee"],"1F1EA-1F1F9":["flag_et","et"],"1F1EA-1F1FA":["flag_eu","eu"],"1F1EB-1F1F0":["flag_fk","fk"],"1F1EB-1F1F4":["flag_fo","fo"],"1F1EB-1F1EF":["flag_fj","fj"],"1F1EB-1F1EE":["flag_fi","fi"],"1F1EB-1F1F7":["flag_fr","fr"],"1F1EC-1F1EB":["flag_gf","gf"],"1F1F5-1F1EB":["flag_pf","pf"],"1F1F9-1F1EB":["flag_tf","tf"],"1F1EC-1F1E6":["flag_ga","ga"],"1F1EC-1F1F2":["flag_gm","gm"],"1F1EC-1F1EA":["flag_ge","ge"],"1F1E9-1F1EA":["flag_de","de"],"1F1EC-1F1ED":["flag_gh","gh"],"1F1EC-1F1EE":["flag_gi","gi"],"1F1EC-1F1F7":["flag_gr","gr"],"1F1EC-1F1F1":["flag_gl","gl"],"1F1EC-1F1E9":["flag_gd","gd"],"1F1EC-1F1F5":["flag_gp","gp"],"1F1EC-1F1FA":["flag_gu","gu"],"1F1EC-1F1F9":["flag_gt","gt"],"1F1EC-1F1EC":["flag_gg","gg"],"1F1EC-1F1F3":["flag_gn","gn"],"1F1EC-1F1FC":["flag_gw","gw"],"1F1EC-1F1FE":["flag_gy","gy"],"1F1ED-1F1F9":["flag_ht","ht"],"1F1ED-1F1F3":["flag_hn","hn"],"1F1ED-1F1F0":["flag_hk","hk"],"1F1ED-1F1FA":["flag_hu","hu"],"1F1EE-1F1F8":["flag_is","is"],"1F1EE-1F1F3":["flag_in","in"],"1F1EE-1F1E9":["flag_id","indonesia"],"1F1EE-1F1F7":["flag_ir","ir"],"1F1EE-1F1F6":["flag_iq","iq"],"1F1EE-1F1EA":["flag_ie","ie"],"1F1EE-1F1F2":["flag_im","im"],"1F1EE-1F1F1":["flag_il","il"],"1F1EE-1F1F9":["flag_it","it"],"1F1EF-1F1F2":["flag_jm","jm"],"1F1EF-1F1F5":["flag_jp","jp"],"1F38C":"crossed_flags","1F1EF-1F1EA":["flag_je","je"],"1F1EF-1F1F4":["flag_jo","jo"],"1F1F0-1F1FF":["flag_kz","kz"],"1F1F0-1F1EA":["flag_ke","ke"],"1F1F0-1F1EE":["flag_ki","ki"],"1F1FD-1F1F0":["flag_xk","xk"],"1F1F0-1F1FC":["flag_kw","kw"],"1F1F0-1F1EC":["flag_kg","kg"],"1F1F1-1F1E6":["flag_la","la"],"1F1F1-1F1FB":["flag_lv","lv"],"1F1F1-1F1E7":["flag_lb","lb"],"1F1F1-1F1F8":["flag_ls","ls"],"1F1F1-1F1F7":["flag_lr","lr"],"1F1F1-1F1FE":["flag_ly","ly"],"1F1F1-1F1EE":["flag_li","li"],"1F1F1-1F1F9":["flag_lt","lt"],"1F1F1-1F1FA":["flag_lu","lu"],"1F1F2-1F1F4":["flag_mo","mo"],"1F1F2-1F1F0":["flag_mk","mk"],"1F1F2-1F1EC":["flag_mg","mg"],"1F1F2-1F1FC":["flag_mw","mw"],"1F1F2-1F1FE":["flag_my","my"],"1F1F2-1F1FB":["flag_mv","mv"],"1F1F2-1F1F1":["flag_ml","ml"],"1F1F2-1F1F9":["flag_mt","mt"],"1F1F2-1F1ED":["flag_mh","mh"],"1F1F2-1F1F6":["flag_mq","mq"],"1F1F2-1F1F7":["flag_mr","mr"],"1F1F2-1F1FA":["flag_mu","mu"],"1F1FE-1F1F9":["flag_yt","yt"],"1F1F2-1F1FD":["flag_mx","mx"],"1F1EB-1F1F2":["flag_fm","fm"],"1F1F2-1F1E9":["flag_md","md"],"1F1F2-1F1E8":["flag_mc","mc"],"1F1F2-1F1F3":["flag_mn","mn"],"1F1F2-1F1EA":["flag_me","me"],"1F1F2-1F1F8":["flag_ms","ms"],"1F1F2-1F1E6":["flag_ma","ma"],"1F1F2-1F1FF":["flag_mz","mz"],"1F1F2-1F1F2":["flag_mm","mm"],"1F1F3-1F1E6":["flag_na","na"],"1F1F3-1F1F7":["flag_nr","nr"],"1F1F3-1F1F5":["flag_np","np"],"1F1F3-1F1F1":["flag_nl","nl"],"1F1F3-1F1E8":["flag_nc","nc"],"1F1F3-1F1FF":["flag_nz","nz"],"1F1F3-1F1EE":["flag_ni","ni"],"1F1F3-1F1EA":["flag_ne","ne"],"1F1F3-1F1EC":["flag_ng","nigeria"],"1F1F3-1F1FA":["flag_nu","nu"],"1F1F3-1F1EB":["flag_nf","nf"],"1F1F0-1F1F5":["flag_kp","kp"],"1F1F2-1F1F5":["flag_mp","mp"],"1F1F3-1F1F4":["flag_no","no"],"1F1F4-1F1F2":["flag_om","om"],"1F1F5-1F1F0":["flag_pk","pk"],"1F1F5-1F1FC":["flag_pw","pw"],"1F1F5-1F1F8":["flag_ps","ps"],"1F1F5-1F1E6":["flag_pa","pa"],"1F1F5-1F1EC":["flag_pg","pg"],"1F1F5-1F1FE":["flag_py","py"],"1F1F5-1F1EA":["flag_pe","pe"],"1F1F5-1F1ED":["flag_ph","ph"],"1F1F5-1F1F3":["flag_pn","pn"],"1F1F5-1F1F1":["flag_pl","pl"],"1F1F5-1F1F9":["flag_pt","pt"],"1F1F5-1F1F7":["flag_pr","pr"],"1F1F6-1F1E6":["flag_qa","qa"],"1F1F7-1F1EA":["flag_re","re"],"1F1F7-1F1F4":["flag_ro","ro"],"1F1F7-1F1FA":["flag_ru","ru"],"1F1F7-1F1FC":["flag_rw","rw"],"1F1FC-1F1F8":["flag_ws","ws"],"1F1F8-1F1F2":["flag_sm","sm"],"1F1F8-1F1F9":["flag_st","st"],"1F1F8-1F1E6":["flag_sa","saudiarabia","saudi"],"1F1F8-1F1F3":["flag_sn","sn"],"1F1F7-1F1F8":["flag_rs","rs"],"1F1F8-1F1E8":["flag_sc","sc"],"1F1F8-1F1F1":["flag_sl","sl"],"1F1F8-1F1EC":["flag_sg","sg"],"1F1F8-1F1FD":["flag_sx","sx"],"1F1F8-1F1F0":["flag_sk","sk"],"1F1F8-1F1EE":["flag_si","si"],"1F1EC-1F1F8":["flag_gs","gs"],"1F1F8-1F1E7":["flag_sb","sb"],"1F1F8-1F1F4":["flag_so","so"],"1F1FF-1F1E6":["flag_za","za"],"1F1F0-1F1F7":["flag_kr","kr"],"1F1F8-1F1F8":["flag_ss","ss"],"1F1EA-1F1F8":["flag_es","es"],"1F1F1-1F1F0":["flag_lk","lk"],"1F1E7-1F1F1":["flag_bl","bl"],"1F1F8-1F1ED":["flag_sh","sh"],"1F1F0-1F1F3":["flag_kn","kn"],"1F1F1-1F1E8":["flag_lc","lc"],"1F1F5-1F1F2":["flag_pm","pm"],"1F1FB-1F1E8":["flag_vc","vc"],"1F1F8-1F1E9":["flag_sd","sd"],"1F1F8-1F1F7":["flag_sr","sr"],"1F1F8-1F1FF":["flag_sz","sz"],"1F1F8-1F1EA":["flag_se","se"],"1F1E8-1F1ED":["flag_ch","ch"],"1F1F8-1F1FE":["flag_sy","sy"],"1F1F9-1F1FC":["flag_tw","tw"],"1F1F9-1F1EF":["flag_tj","tj"],"1F1F9-1F1FF":["flag_tz","tz"],"1F1F9-1F1ED":["flag_th","th"],"1F1F9-1F1F1":["flag_tl","tl"],"1F1F9-1F1EC":["flag_tg","tg"],"1F1F9-1F1F0":["flag_tk","tk"],"1F1F9-1F1F4":["flag_to","to"],"1F1F9-1F1F9":["flag_tt","tt"],"1F1F9-1F1F3":["flag_tn","tn"],"1F1F9-1F1F7":["flag_tr","tr"],"1F1F9-1F1F2":["flag_tm","turkmenistan"],"1F1F9-1F1E8":["flag_tc","tc"],"1F1FB-1F1EE":["flag_vi","vi"],"1F1F9-1F1FB":["flag_tv","tuvalu"],"1F1FA-1F1EC":["flag_ug","ug"],"1F1FA-1F1E6":["flag_ua","ua"],"1F1E6-1F1EA":["flag_ae","ae"],"1F1EC-1F1E7":["flag_gb","gb"],"1F3F4-E0067-E0062-E0065-E006E-E0067-E007F":"england","1F3F4-E0067-E0062-E0073-E0063-E0074-E007F":"scotland","1F3F4-E0067-E0062-E0077-E006C-E0073-E007F":"wales","1F1FA-1F1F8":["flag_us","us"],"1F1FA-1F1FE":["flag_uy","uy"],"1F1FA-1F1FF":["flag_uz","uz"],"1F1FB-1F1FA":["flag_vu","vu"],"1F1FB-1F1E6":["flag_va","va"],"1F1FB-1F1EA":["flag_ve","ve"],"1F1FB-1F1F3":["flag_vn","vn"],"1F1FC-1F1EB":["flag_wf","wf"],"1F1EA-1F1ED":["flag_eh","eh"],"1F1FE-1F1EA":["flag_ye","ye"],"1F1FF-1F1F2":["flag_zm","zm"],"1F1FF-1F1FC":["flag_zw","zw"],"1F1E6-1F1E8":["flag_ac","ac"],"1F1E7-1F1FB":["flag_bv","bv"],"1F1E8-1F1F5":["flag_cp","cp"],"1F1EA-1F1E6":["flag_ea","ea"],"1F1E9-1F1EC":["flag_dg","dg"],"1F1ED-1F1F2":["flag_hm","hm"],"1F1F2-1F1EB":["flag_mf","mf"],"1F1F8-1F1EF":["flag_sj","sj"],"1F1F9-1F1E6":["flag_ta","ta"],"1F1FA-1F1F2":["flag_um","um"],"1F1FA-1F1F3":"united_nations","1F3FB":"tone1","1F3FC":"tone2","1F3FD":"tone3","1F3FE":"tone4","1F3FF":"tone5","1F1FF":"regional_indicator_z","1F1FE":"regional_indicator_y","1F1FD":"regional_indicator_x","1F1FC":"regional_indicator_w","1F1FB":"regional_indicator_v","1F1FA":"regional_indicator_u","1F1F9":"regional_indicator_t","1F1F8":"regional_indicator_s","1F1F7":"regional_indicator_r","1F1F6":"regional_indicator_q","1F1F5":"regional_indicator_p","1F1F4":"regional_indicator_o","1F1F3":"regional_indicator_n","1F1F2":"regional_indicator_m","1F1F1":"regional_indicator_l","1F1F0":"regional_indicator_k","1F1EF":"regional_indicator_j","1F1EE":"regional_indicator_i","1F1ED":"regional_indicator_h","1F1EC":"regional_indicator_g","1F1EB":"regional_indicator_f","1F1EA":"regional_indicator_e","1F1E9":"regional_indicator_d","1F1E8":"regional_indicator_c","1F1E7":"regional_indicator_b","1F1E6":"regional_indicator_a"}');function os(e){return Array.isArray?Array.isArray(e):"[object Array]"===cs(e)}function rs(e){return"string"==typeof e}function is(e){return"number"==typeof e}function as(e){return"object"==typeof e}function ss(e){return null!=e}function us(e){return!e.trim().length}function cs(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const ls=Object.prototype.hasOwnProperty;class ds{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach((e=>{let n=hs(e);t+=n.weight,this._keys.push(n),this._keyMap[n.id]=n,t+=n.weight})),this._keys.forEach((e=>{e.weight/=t}))}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function hs(e){let t=null,n=null,o=null,r=1;if(rs(e)||os(e))o=e,t=ps(e),n=fs(e);else{if(!ls.call(e,"name"))throw new Error("Missing name property in key");const i=e.name;if(o=i,ls.call(e,"weight")&&(r=e.weight,r<=0))throw new Error((e=>`Property 'weight' in key '${e}' must be a positive integer`)(i));t=ps(i),n=fs(i)}return{path:t,id:n,weight:r,src:o}}function ps(e){return os(e)?e:e.split(".")}function fs(e){return os(e)?e.join("."):e}var gs={isCaseSensitive:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(e,t)=>e.score===t.score?e.idx{if(ss(e))if(t[i]){const a=e[t[i]];if(!ss(a))return;if(i===t.length-1&&(rs(a)||is(a)||function(e){return!0===e||!1===e||function(e){return as(e)&&null!==e}(e)&&"[object Boolean]"==cs(e)}(a)))n.push(function(e){return null==e?"":function(e){if("string"==typeof e)return e;let t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(e)}(a));else if(os(a)){o=!0;for(let e=0,n=a.length;e{this._keysMap[e.id]=t}))}create(){!this.isCreated&&this.docs.length&&(this.isCreated=!0,rs(this.docs[0])?this.docs.forEach(((e,t)=>{this._addString(e,t)})):this.docs.forEach(((e,t)=>{this._addObject(e,t)})),this.norm.clear())}add(e){const t=this.size();rs(e)?this._addString(e,t):this._addObject(e,t)}removeAt(e){this.records.splice(e,1);for(let t=e,n=this.size();t{let r=this.getFn(e,t.path);if(ss(r))if(os(r)){let e=[];const t=[{nestedArrIndex:-1,value:r}];for(;t.length;){const{nestedArrIndex:n,value:o}=t.pop();if(ss(o))if(rs(o)&&!us(o)){let t={v:o,i:n,n:this.norm.get(o)};e.push(t)}else os(o)&&o.forEach(((e,n)=>{t.push({nestedArrIndex:n,value:e})}))}n.$[o]=e}else if(!us(r)){let e={v:r,n:this.norm.get(r)};n.$[o]=e}})),this.records.push(n)}toJSON(){return{keys:this.keys,records:this.records}}}function Fs(e,t,{getFn:n=gs.getFn}={}){const o=new _s({getFn:n});return o.setKeys(e.map(hs)),o.setSources(t),o.create(),o}function ys(e,{errors:t=0,currentLocation:n=0,expectedLocation:o=0,distance:r=gs.distance,ignoreLocation:i=gs.ignoreLocation}={}){const a=t/e.length;if(i)return a;const s=Math.abs(o-n);return r?a+s/r:s?1:a}const bs=32;function vs(e){let t={};for(let n=0,o=e.length;n{this.chunks.push({pattern:e,alphabet:vs(e),startIndex:t})},l=this.pattern.length;if(l>bs){let e=0;const t=l%bs,n=l-t;for(;e{const{isMatch:f,score:g,indices:m}=function(e,t,n,{location:o=gs.location,distance:r=gs.distance,threshold:i=gs.threshold,findAllMatches:a=gs.findAllMatches,minMatchCharLength:s=gs.minMatchCharLength,includeMatches:u=gs.includeMatches,ignoreLocation:c=gs.ignoreLocation}={}){if(t.length>bs)throw new Error("Pattern length exceeds max of 32.");const l=t.length,d=e.length,h=Math.max(0,Math.min(o,d));let p=i,f=h;const g=s>1||u,m=g?Array(d):[];let _;for(;(_=e.indexOf(t,f))>-1;){let e=ys(t,{currentLocation:_,expectedLocation:h,distance:r,ignoreLocation:c});if(p=Math.min(e,p),f=_+l,g){let e=0;for(;e=u;i-=1){let a=i-1,s=n[e.charAt(a)];if(g&&(m[a]=+!!s),w[i]=(w[i+1]<<1|1)&s,o&&(w[i]|=(F[i+1]|F[i])<<1|1|F[i+1]),w[i]&v&&(y=ys(t,{errors:o,currentLocation:a,expectedLocation:h,distance:r,ignoreLocation:c}),y<=p)){if(p=y,f=a,f<=h)break;u=Math.max(1,2*h-f)}}if(ys(t,{errors:o+1,currentLocation:h,expectedLocation:h,distance:r,ignoreLocation:c})>p)break;F=w}const w={isMatch:f>=0,score:Math.max(.001,y)};if(g){const e=function(e=[],t=gs.minMatchCharLength){let n=[],o=-1,r=-1,i=0;for(let a=e.length;i=t&&n.push([o,r]),o=-1)}return e[i-1]&&i-o>=t&&n.push([o,i-1]),n}(m,s);e.length?u&&(w.indices=e):w.isMatch=!1}return w}(e,t,h,{location:o+p,distance:r,threshold:i,findAllMatches:a,minMatchCharLength:s,includeMatches:n,ignoreLocation:u});f&&(d=!0),l+=g,f&&m&&(c=[...c,...m])}));let h={isMatch:d,score:d?l/this.chunks.length:1};return d&&n&&(h.indices=c),h}}class Es{constructor(e){this.pattern=e}static isMultiMatch(e){return ks(e,this.multiRegex)}static isSingleMatch(e){return ks(e,this.singleRegex)}search(){}}function ks(e,t){const n=e.match(t);return n?n[1]:null}class Ds extends Es{constructor(e,{location:t=gs.location,threshold:n=gs.threshold,distance:o=gs.distance,includeMatches:r=gs.includeMatches,findAllMatches:i=gs.findAllMatches,minMatchCharLength:a=gs.minMatchCharLength,isCaseSensitive:s=gs.isCaseSensitive,ignoreLocation:u=gs.ignoreLocation}={}){super(e),this._bitapSearch=new ws(e,{location:t,threshold:n,distance:o,includeMatches:r,findAllMatches:i,minMatchCharLength:a,isCaseSensitive:s,ignoreLocation:u})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(e){return this._bitapSearch.searchIn(e)}}class Ss extends Es{constructor(e){super(e)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(e){let t,n=0;const o=[],r=this.pattern.length;for(;(t=e.indexOf(this.pattern,n))>-1;)n=t+r,o.push([t,n-1]);const i=!!o.length;return{isMatch:i,score:i?0:1,indices:o}}}const xs=[class extends Es{constructor(e){super(e)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(e){const t=e===this.pattern;return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}},Ss,class extends Es{constructor(e){super(e)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(e){const t=e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}},class extends Es{constructor(e){super(e)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(e){const t=!e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}},class extends Es{constructor(e){super(e)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(e){const t=!e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}},class extends Es{constructor(e){super(e)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(e){const t=e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[e.length-this.pattern.length,e.length-1]}}},class extends Es{constructor(e){super(e)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(e){const t=-1===e.indexOf(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}},Ds],Cs=xs.length,As=/ +(?=([^\"]*\"[^\"]*\")*[^\"]*$)/,Ts=new Set([Ds.type,Ss.type]);const Rs=[];function Is(e,t){for(let n=0,o=Rs.length;n!(!e.$and&&!e.$or),Bs=e=>({[Ms]:Object.keys(e).map((t=>({[t]:e[t]})))});function Ns(e,t,{auto:n=!0}={}){const o=e=>{let r=Object.keys(e);const i=(e=>!!e.$path)(e);if(!i&&r.length>1&&!Os(e))return o(Bs(e));if((e=>!os(e)&&as(e)&&!Os(e))(e)){const o=i?e.$path:r[0],a=i?e.$val:e[o];if(!rs(a))throw new Error((e=>`Invalid value for key ${e}`)(o));const s={keyId:fs(o),pattern:a};return n&&(s.searcher=Is(a,t)),s}let a={children:[],operator:r[0]};return r.forEach((t=>{const n=e[t];os(n)&&n.forEach((e=>{a.children.push(o(e))}))})),a};return Os(e)||(e=Bs(e)),o(e)}function Ls(e,t){const n=e.matches;t.matches=[],ss(n)&&n.forEach((e=>{if(!ss(e.indices)||!e.indices.length)return;const{indices:n,value:o}=e;let r={indices:n,value:o};e.key&&(r.key=e.key.src),e.idx>-1&&(r.refIndex=e.idx),t.matches.push(r)}))}function Ps(e,t){t.score=e.score}class Us{constructor(e,t={},n){this.options={...gs,...t},this.options.useExtendedSearch,this._keyStore=new ds(this.options.keys),this.setCollection(e,n)}setCollection(e,t){if(this._docs=e,t&&!(t instanceof _s))throw new Error("Incorrect 'index' type");this._myIndex=t||Fs(this.options.keys,this._docs,{getFn:this.options.getFn})}add(e){ss(e)&&(this._docs.push(e),this._myIndex.add(e))}remove(e=(()=>!1)){const t=[];for(let n=0,o=this._docs.length;n{let n=1;e.matches.forEach((({key:e,norm:o,score:r})=>{const i=e?e.weight:null;n*=Math.pow(0===r&&i?Number.EPSILON:r,(i||1)*(t?1:o))})),e.score=n}))}(s,{ignoreFieldNorm:a}),r&&s.sort(i),is(t)&&t>-1&&(s=s.slice(0,t)),function(e,t,{includeMatches:n=gs.includeMatches,includeScore:o=gs.includeScore}={}){const r=[];return n&&r.push(Ls),o&&r.push(Ps),e.map((e=>{const{idx:n}=e,o={item:t[n],refIndex:n};return r.length&&r.forEach((t=>{t(e,o)})),o}))}(s,this._docs,{includeMatches:n,includeScore:o})}_searchStringList(e){const t=Is(e,this.options),{records:n}=this._myIndex,o=[];return n.forEach((({v:e,i:n,n:r})=>{if(!ss(e))return;const{isMatch:i,score:a,indices:s}=t.searchIn(e);i&&o.push({item:e,idx:n,matches:[{score:a,value:e,norm:r,indices:s}]})})),o}_searchLogical(e){const t=Ns(e,this.options),n=(e,t,o)=>{if(!e.children){const{keyId:n,searcher:r}=e,i=this._findMatches({key:this._keyStore.get(n),value:this._myIndex.getValueForItemAtKeyId(t,n),searcher:r});return i&&i.length?[{idx:o,item:t,matches:i}]:[]}switch(e.operator){case Ms:{const r=[];for(let i=0,a=e.children.length;i{if(ss(e)){let a=n(t,e,o);a.length&&(r[o]||(r[o]={idx:o,item:e,matches:[]},i.push(r[o])),a.forEach((({matches:e})=>{r[o].matches.push(...e)})))}})),i}_searchObjectList(e){const t=Is(e,this.options),{keys:n,records:o}=this._myIndex,r=[];return o.forEach((({$:e,i:o})=>{if(!ss(e))return;let i=[];n.forEach(((n,o)=>{i.push(...this._findMatches({key:n,value:e[o],searcher:t}))})),i.length&&r.push({idx:o,item:e,matches:i})})),r}_findMatches({key:e,value:t,searcher:n}){if(!ss(t))return[];let o=[];if(os(t))t.forEach((({v:t,i:r,n:i})=>{if(!ss(t))return;const{isMatch:a,score:s,indices:u}=n.searchIn(t);a&&o.push({score:s,key:e,value:t,idx:r,norm:i,indices:u})}));else{const{v:r,n:i}=t,{isMatch:a,score:s,indices:u}=n.searchIn(r);a&&o.push({score:s,key:e,value:r,norm:i,indices:u})}return o}}Us.version="6.4.6",Us.createIndex=Fs,Us.parseIndex=function(e,{getFn:t=gs.getFn}={}){const{keys:n,records:o}=e,r=new _s({getFn:t});return r.setKeys(n),r.setIndexRecords(o),r},Us.config=gs,Us.parseQuery=Ns,function(...e){Rs.push(...e)}(class{constructor(e,{isCaseSensitive:t=gs.isCaseSensitive,includeMatches:n=gs.includeMatches,minMatchCharLength:o=gs.minMatchCharLength,ignoreLocation:r=gs.ignoreLocation,findAllMatches:i=gs.findAllMatches,location:a=gs.location,threshold:s=gs.threshold,distance:u=gs.distance}={}){this.query=null,this.options={isCaseSensitive:t,includeMatches:n,minMatchCharLength:o,findAllMatches:i,ignoreLocation:r,location:a,threshold:s,distance:u},this.pattern=t?e:e.toLowerCase(),this.query=function(e,t={}){return e.split("|").map((e=>{let n=e.trim().split(As).filter((e=>e&&!!e.trim())),o=[];for(let e=0,r=n.length;ee.length)&&(t=e.length);for(var n=0,o=new Array(t);n=t)return"break";var s=n[a];i.push(o.createElement("span",{key:a},Qa(es.parse(s.unicode,{attributes:function(){var e;return{unicode:s.unicode,shortcodes:null===(e=s.shortcodes)||void 0===e?void 0:e.toString()}}}))))},s=r;s20&&(t=t.slice(0,20)),t.map((function(e){return e.item}))}(e)):i([])}return(0,o.useEffect)((function(){return ou.on("search-emoji",a),function(){ou.removeListener("search-emoji",a)}}),[]),0!==r.length&&o.createElement(ru,{key:"-1",name:"Search results",emojis:r})}function au(e){var t=e.onSelect,n=(0,o.useRef)(null),r=(0,o.useRef)(null);function i(e){return!1===e.classList.contains("emoji")}function a(e){var t=e.getAttribute("unicode"),n=e.getAttribute("shortcodes");return{unicode:t,shortcodes:n=void 0===n?void 0:n.split(",")}}function s(e){var t=e,n=r.current.firstElementChild,o=n.childElementCount;o>Gs.length&&(t+=o-Gs.length),n.children[t].scrollIntoView()}return o.createElement("div",{id:"emoji-board",className:"emoji-board"},o.createElement("div",{className:"emoji-board__content"},o.createElement("div",{className:"emoji-board__emojis"},o.createElement(Fn,{ref:r,autoHide:!0},o.createElement("div",{onMouseMove:function(e){if(!i(e.target)){var t=a(e.target).shortcodes;void 0!==t?n.current.placeholder!==t[0]&&n.current.setAttribute("placeholder",":".concat(t[0],":")):n.current.placeholder="Search"}},onClick:function(e){if(!i(e.target)){var n=e.target;t(a(n))}}},o.createElement(iu,null),Gs.map((function(e){return o.createElement(ru,{key:e.name,name:e.name,emojis:e.emojis})}))))),o.createElement("div",{className:"emoji-board__search"},o.createElement(Et,{size:"small",src:Vs}),o.createElement(Tt,{onChange:function(e){var t=e.target.value;setTimeout((function(){e.target.value===t&&(ou.emit("search-emoji",t),r.current.scrollTop=0)}),500)},forwardRef:n,placeholder:"Search"}))),o.createElement("div",{className:"emoji-board__nav"},o.createElement(Yr,{onClick:function(){return s(0)},src:Ws,tooltip:"Smileys",tooltipPlacement:"right"}),o.createElement(Yr,{onClick:function(){return s(1)},src:Ys,tooltip:"Animals",tooltipPlacement:"right"}),o.createElement(Yr,{onClick:function(){return s(2)},src:Zs,tooltip:"Food",tooltipPlacement:"right"}),o.createElement(Yr,{onClick:function(){return s(3)},src:Xs,tooltip:"Activity",tooltipPlacement:"right"}),o.createElement(Yr,{onClick:function(){return s(4)},src:Js,tooltip:"Travel",tooltipPlacement:"right"}),o.createElement(Yr,{onClick:function(){return s(5)},src:Qs,tooltip:"Objects",tooltipPlacement:"right"}),o.createElement(Yr,{onClick:function(){return s(6)},src:eu,tooltip:"Symbols",tooltipPlacement:"right"}),o.createElement(Yr,{onClick:function(){return s(7)},src:tu,tooltip:"Flags",tooltipPlacement:"right"})))}ru.propTypes={name:l().string.isRequired,emojis:l().arrayOf(l().shape({length:l().number,unicode:l().string,shortcodes:l().oneOfType([l().string,l().arrayOf(l().string)])})).isRequired},au.propTypes={onSelect:l().func.isRequired};const su=au,uu=n.p+"assets/vertical-menu.180cbca47512a24456ba0a74e64a5405.svg",cu=n.p+"assets/circle-plus.d6fd1e875f585a026f8196da8e1a7b64.svg",lu=n.p+"assets/send.507da28d5579add6eccc11cba4870a69.svg",du=n.p+"assets/add-user.d87fd7bdbcd69110487cade29b6cdab6.svg",hu=n.p+"assets/chevron-bottom.8fba8942b34b3f8d54820d2dfde94cc2.svg",pu=n.p+"assets/shield.498420bdf2ec5957adc2646fa892026d.svg",fu=n.p+"assets/vlc.12ce0b57b1b136a0150c3c5f147ef08f.svg",gu=n.p+"assets/volume-full.a74609ebaadf79cabc7fee7590f52793.svg",mu=n.p+"assets/file.71d04d960aa446d4672fc1f60cd462dc.svg";function _u(e,t,n,o,r,i,a){try{var s=e[i](a),u=s.value}catch(e){return void n(e)}s.done?t(u):Promise.resolve(u).then(o,r)}function Fu(e){return function(){var t=this,n=arguments;return new Promise((function(o,r){var i=e.apply(t,n);function a(e){_u(i,o,r,a,s,"next",e)}function s(e){_u(i,o,r,a,s,"throw",e)}a(void 0)}))}}function yu(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],o=!0,r=!1,i=void 0;try{for(var a,s=e[Symbol.iterator]();!(o=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);o=!0);}catch(e){r=!0,i=e}finally{try{o||null==s.return||s.return()}finally{if(r)throw i}}return n}}(e,t)||bu(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function bu(e,t){if(e){if("string"==typeof e)return vu(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?vu(e,t):void 0}}function vu(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n"))return null;var t=e.slice(e.indexOf("@")),n=t.slice(0,t.indexOf(">")),o=(t=t.slice(t.indexOf(">")+2)).slice(0,t.indexOf("\n\n"));return t=t.slice(t.indexOf("\n\n")+2),""===n?null:{userId:n,replyContent:o,content:t}}function Du(e){var t=e.current.scrollHeight-e.current.offsetHeight;e.current.scrollTop=t}function Su(e){var t=e.current;return t.scrollHeight-(t.scrollTop+t.offsetHeight)<=e.current.lastElementChild.lastElementChild.lastElementChild.offsetHeight+48}function xu(e){var t,n=e.roomId,r=Qe.matrixClient,i=r.getRoom(n).getAvatarUrl(r.baseUrl,36,36,"crop"),a=r.getRoom(n).name,s=Qe.roomList.directs.has(n),u=null===(t=r.getRoom(n).currentState.getStateEvents("m.room.topic")[0])||void 0===t?void 0:t.getContent().topic;return o.createElement(Hr,null,o.createElement(Sr,{imageSrc:i,text:a.slice(0,1),bgColor:gn(a),size:"small"}),o.createElement(Vr,null,o.createElement(vt,{variant:"h2"},a),void 0!==u&&o.createElement("p",{title:u,className:"text text-b3"},u)),o.createElement(Yr,{onClick:dn,tooltip:"People",src:Lr}),o.createElement(Ir,{placement:"bottom",content:function(e){return o.createElement(o.Fragment,null,o.createElement(Mr,null,"Options"),o.createElement(Or,{iconSrc:du,onClick:function(){pn(n),e()}},"Invite"),o.createElement(Or,{iconSrc:Ga,variant:"danger",onClick:function(){return Ni(n,s)}},"Leave"))},render:function(e){return o.createElement(Yr,{onClick:e,tooltip:"Options",src:uu})}}))}xu.propTypes={roomId:l().string.isRequired};var Cu=!0;function Au(e){var t,n=e.roomId,r=e.roomTimeline,i=e.timelineScroll,a=yu((0,o.useState)(!1),2),s=a[0],u=a[1],c=yu((0,o.useState)(null),2),l=c[0],d=c[1],h=yu((0,o.useState)(null),2),p=h[0],f=h[1],g=Qe.matrixClient;function m(){!0!==i.isScrollable()&&r.paginateBack()}function _(){var e=r.room,t=r.timeline;ut(e)&&0!==t.length&&g.sendReadReceipt(t[t.length-1])}function F(){r.isOngoingPagination||s||r.paginateBack()}function y(e){Cu=e,e&&_()}var b=function(e){e?(f({}),m()):u(!0)},v=function(){Cu&&_(),d({})};(0,o.useEffect)((function(){u(!1),Cu=!0}),[n]),(0,o.useEffect)((function(){return _()}),[r]),(0,o.useEffect)((function(){return r.on(se.events.roomTimeline.EVENT,v),r.on(se.events.roomTimeline.PAGINATED,b),wu.on("reached-top",F),wu.on("toggle-reached-bottom",y),function(){r.removeListener(se.events.roomTimeline.EVENT,v),r.removeListener(se.events.roomTimeline.PAGINATED,b),wu.removeListener("reached-top",F),wu.removeListener("toggle-reached-bottom",y)}}),[r,s,p]),(0,o.useLayoutEffect)((function(){i.reachBottom(),m()}),[r]),(0,o.useLayoutEffect)((function(){null!==p&&i.tryRestoringScroll()}),[p]),(0,o.useEffect)((function(){null!==l&&Cu&&i.reachBottom()}),[l]);var w=null,E=null===(t=r.room.currentState.getStateEvents("m.room.topic")[0])||void 0===t?void 0:t.getContent().topic;return o.createElement("div",{className:"channel-view__content"},o.createElement("div",{className:"timeline__wrapper"},"m.room.create"!==r.timeline[0].getType()&&!s&&o.createElement(o.Fragment,null,o.createElement(wa,{key:Math.random().toString(20).substr(2,6)}),o.createElement(wa,{key:Math.random().toString(20).substr(2,6)}),o.createElement(wa,{key:Math.random().toString(20).substr(2,6)})),"m.room.create"!==r.timeline[0].getType()&&s&&o.createElement(Xa,{key:Math.random().toString(20).substr(2,6),avatarSrc:r.room.getAvatarUrl(Qe.matrixClient.baseUrl,80,80,"crop"),name:r.room.name,heading:"Welcome to ".concat(r.room.name),desc:"This is the beginning of ".concat(r.room.name," channel.").concat(void 0!==E?" Topic: ".concat(E):"")}),r.timeline.map((function(e){var t;if("m.room.create"===e.getType()){var n,i=null===(n=r.room.currentState.getStateEvents("m.room.topic")[0])||void 0===n?void 0:n.getContent().topic;return o.createElement(Xa,{key:e.getId(),avatarSrc:r.room.getAvatarUrl(Qe.matrixClient.baseUrl,80,80,"crop"),name:r.room.name,heading:"Welcome to ".concat(r.room.name),desc:"This is the beginning of ".concat(r.room.name," channel.").concat(void 0!==i?" Topic: ".concat(i):""),time:"Created at ".concat(vi()(e.getDate(),"dd mmmm yyyy, hh:MM TT"))})}if("m.room.message"!==e.getType()&&"m.room.encrypted"!==e.getType()&&"m.room.member"!==e.getType())return!1;if("m.replace"===(null===(t=e.getRelation())||void 0===t?void 0:t.rel_type))return!1;if(e.isRedacted())return!1;var a,s,u,c,l,d,h,p=null;if(null!==w&&(a=e.getDate(),s=w.getDate(),a.getDay()!==s.getDay()||a.getMonth()!==s.getMonth()||a.getYear()!==s.getYear())&&(p=o.createElement(Ki,{key:"divider-".concat(e.getId()),text:"".concat(vi()(e.getDate(),"mmmm dd, yyyy"))})),"m.room.member"!==e.getType()){var f,m=null!==w&&"m.room.member"!==w.getType()&&function(e,t){var n=(e.getTime()-t.getTime())/1e3;return n/=60,Math.abs(Math.round(n))}(e.getDate(),w.getDate())<=5&&w.getSender()===e.getSender(),_=e.getContent().body;if(void 0===_)return null;var F=null,y=null,b="org.matrix.custom.html"===e.getContent().format,v=void 0!==(null===(f=e.getWireContent()["m.relates_to"])||void 0===f?void 0:f["m.in_reply_to"]),E=r.editedTimeline.has(e.getId()),k=r.reactionTimeline.has(e.getId());if(v){var D=ku(_);if(null!==D){var S=it(D.userId);F={color:gn(D.userId),to:S,content:D.replyContent},_=D.content}}if(E){var x=r.editedTimeline.get(e.getId()),C=x[x.length-1];if(void 0===C.getContent()["m.new_content"])return null;var A=C.getContent()["m.new_content"].body,T=ku(A);b="org.matrix.custom.html"===C.getContent()["m.new_content"].format,_=null===T?A:T.content}k&&(y=[],r.reactionTimeline.get(e.getId()).forEach((function(e){if(null!==e.getRelation())if(function(e){for(var t=0;te}};return o.createElement("div",{className:"channel-view"},o.createElement(xu,{roomId:t}),o.createElement("div",{className:"channel-view__content-wrapper"},o.createElement("div",{className:"channel-view__scrollable"},o.createElement(Fn,{onScroll:function(e){var t=e.target,n=t.scrollTop,o=t.scrollHeight;if(t.offsetHeight,Bu=n,Nu=o,!Lu&&Su(a)&&(Lu=!0,wu.emit("toggle-reached-bottom",!0)),Lu&&!Su(a)&&(Lu=!1,wu.emit("toggle-reached-bottom",!1)),n<288&&!1===Pu)return Pu=!0,void wu.emit("reached-top");Pu=!1},ref:a,autoHide:!0},null!==r&&o.createElement(Au,{roomId:t,roomTimeline:r,timelineScroll:s})),null!==r&&o.createElement(Tu,{roomId:t,roomTimeline:r,timelineScroll:s})),null!==r&&o.createElement(Ru,null,o.createElement(Mu,{roomId:t,roomTimeline:r,timelineScroll:s}),o.createElement(Ou,{roomId:t,roomTimeline:r}))))}Uu.propTypes={roomId:l().string.isRequired};const ju=Uu;function qu(e){var t=e.avatarSrc,n=e.name,r=e.color,i=e.peopleRole,a=e.onClick;return o.createElement("div",{className:"people-selector__container"},o.createElement("button",{className:"people-selector",onMouseUp:function(e){return Dt(e,".people-selector")},onClick:a,type:"button"},o.createElement(Sr,{imageSrc:t,text:n.slice(0,1),bgColor:r,size:"extra-small"}),o.createElement(vt,{className:"people-selector__name",variant:"b1"},n),null!==i&&o.createElement(vt,{className:"people-selector__role",variant:"b3"},i)))}qu.defaultProps={avatarSrc:null,peopleRole:null},qu.propTypes={avatarSrc:l().string,name:l().string.isRequired,color:l().string.isRequired,peopleRole:l().string,onClick:l().func.isRequired};const zu=qu;function Ku(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);no.toLowerCase()?1:0}function Hu(e,t){var n=String(e.powerLevel),o=String(t.powerLevel);return"100"===n&&(n="90.9"),"100"===o&&(o="90.9"),n.toLowerCase()>o.toLowerCase()?-1:n.toLowerCase()e.length)&&(t=e.length);for(var n=0,o=new Array(t);ne.length)&&(t=e.length);for(var n=0,o=new Array(t);ne.length)&&(t=e.length);for(var n=0,o=new Array(t);ne.length)&&(t=e.length);for(var n=0,o=new Array(t);ne.length)&&(t=e.length);for(var n=0,o=new Array(t);n1,c(!0),h({username:t}),!n){e.next=19;break}return e.prev=7,e.next=10,I.getProfileInfo(t);case 10:o=e.sent,g([{user_id:t,display_name:o.displayname,avatar_url:o.avatar_url}]),e.next=17;break;case 14:e.prev=14,e.t0=e.catch(7),h({error:"".concat(t," not found!")});case 17:e.next=33;break;case 19:return e.prev=19,e.next=22,I.searchUserDirectory({term:t,limit:20});case 22:if(0!==(r=e.sent).results.length){e.next=27;break}return h({error:'No matches found for "'.concat(t,'"!')}),c(!1),e.abrupt("return");case 27:g(r.results),e.next=33;break;case 30:e.prev=30,e.t1=e.catch(19),h({error:"Something went wrong!"});case 33:c(!1);case 34:case"end":return e.stop()}}),e,null,[[7,14],[19,30]])})))).apply(this,arguments)}function P(){return(P=Cc(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(I.getUserId()!==t){e.next=2;break}return e.abrupt("return");case 2:return e.prev=2,O(t),b.delete(t),v(M(b)),e.next=8,Li({isPublic:!1,isEncrypted:!0,isDirect:!0,invite:[t]});case 8:n=e.sent,S.set(n.room_id,t),x(M(S)),e.next=18;break;case 13:e.prev=13,e.t0=e.catch(2),B(t),"string"==typeof e.t0.message?b.set(t,e.t0.message):b.set(t,"Something went wrong!"),v(M(b));case 18:case"end":return e.stop()}}),e,null,[[2,13]])})))).apply(this,arguments)}function U(){return(U=Cc(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0!==i){e.next=2;break}return e.abrupt("return");case 2:return e.prev=2,O(t),b.delete(t),v(M(b)),e.next=8,Ui(i,t);case 8:A.add(t),T(new Set(Array.from(A))),B(t),e.next=18;break;case 13:e.prev=13,e.t0=e.catch(2),B(t),"string"==typeof e.t0.message?b.set(t,e.t0.message):b.set(t,"Something went wrong!"),v(M(b));case 18:case"end":return e.stop()}}),e,null,[[2,13]])})))).apply(this,arguments)}return(0,o.useEffect)((function(){return function(){c(!1),h({}),g([]),F(new Set),v(new Map),k(new Map),x(new Map),T(new Set)}}),[r]),(0,o.useEffect)((function(){return Qe.roomList.on(se.events.roomList.ROOM_CREATED,N),function(){Qe.roomList.removeListener(se.events.roomList.ROOM_CREATED,N)}}),[r,_,E,S]),o.createElement(rc,{isOpen:r,title:"string"==typeof i?"Invite to ".concat(I.getRoom(i).name):"Direct message",contentOptions:o.createElement(Yr,{src:sc,onClick:a,tooltip:"Close"}),onRequestClose:a},o.createElement("div",{className:"invite-user"},o.createElement("form",{className:"invite-user__form",onSubmit:function(e){e.preventDefault(),function(){L.apply(this,arguments)}()}},o.createElement(Tt,{forwardRef:R,label:"Username or userId"}),o.createElement(xt,{disabled:u,iconSrc:Lr,variant:"primary",type:"submit"},"Search")),o.createElement("div",{className:"invite-user__search-status"},void 0!==d.username&&u&&o.createElement("div",{className:"flex--center"},o.createElement(It,{size:"small"}),o.createElement(vt,{variant:"b2"},'Searching for user "'.concat(d.username,'"...'))),void 0!==d.username&&!u&&o.createElement(vt,{variant:"b2"},'Search result for user "'.concat(d.username,'"')),d.error&&o.createElement(vt,{className:"invite-user__search-error",variant:"b2"},d.error)),0!==f.length&&o.createElement("div",{className:"invite-user__content"},(t=function(e){var t=function(e,t){return o.createElement(vt,{variant:"b2"},o.createElement("span",{style:{color:t?"var(--bg-positive)":"var(--bg-negative)"}},e))};if(I.getUserId()===e)return null;if(_.has(e))return o.createElement(It,{size:"small"});if(E.has(e))return o.createElement(xt,{onClick:function(){ln(E.get(e)),a()}},"Open");if(A.has(e))return t("Invited",!0);if("string"==typeof i){var n=I.getRoom(i).getMember(e);if(null!==n)switch(n.membership){case"join":return t("Already joined",!0);case"invite":return t("Already Invited",!0);case"ban":return t("Banned",!1)}}return"string"==typeof i?o.createElement(xt,{onClick:function(){return function(e){return U.apply(this,arguments)}(e)},variant:"primary"},"Invite"):o.createElement(xt,{onClick:function(){return function(e){return P.apply(this,arguments)}(e)},variant:"primary"},"Message")},n=function(e){return b.has(e)?o.createElement(vt,{variant:"b2"},o.createElement("span",{style:{color:"var(--bg-danger)"}},b.get(e))):null},f.map((function(e){var r=e.user_id,i="string"==typeof e.display_name?e.display_name:r;return o.createElement(ac,{key:r,avatarSrc:"string"==typeof e.avatar_url?I.mxcUrlToHttp(e.avatar_url,42,42,"crop"):null,name:i,id:r,options:t(r),desc:n(r)})}))))))}Rc.defaultProps={roomId:void 0},Rc.propTypes={isOpen:l().bool.isRequired,roomId:l().string,onRequestClose:l().func.isRequired};const Ic=Rc;function Mc(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);ne.length)&&(t=e.length);for(var n=0,o=new Array(t);ne.length)&&(t=e.length);for(var n=0,o=new Array(t);n{"use strict";e.exports=function(e){if(e)throw e}},58162:(e,t,n)=>{"use strict";var o=n(89509).Buffer;e.exports=function(e){if(e.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),n=0;n>>0,l=new Uint8Array(a);e[n];){var d=t[e.charCodeAt(n)];if(255===d)return;for(var h=0,p=a-1;(0!==d||h>>0,l[p]=d%256>>>0,d=d/256>>>0;if(0!==d)throw new Error("Non-zero carry");i=h,n++}if(" "!==e[n]){for(var f=a-i;f!==a&&0===l[f];)f++;var g=o.allocUnsafe(r+(a-f));g.fill(0,0,r);for(var m=r;f!==a;)g[m++]=l[f++];return g}}}return{encode:function(t){if((Array.isArray(t)||t instanceof Uint8Array)&&(t=o.from(t)),!o.isBuffer(t))throw new TypeError("Expected Buffer");if(0===t.length)return"";for(var n=0,r=0,i=0,a=t.length;i!==a&&0===t[i];)i++,n++;for(var c=(a-i)*l+1>>>0,d=new Uint8Array(c);i!==a;){for(var h=t[i],p=0,f=c-1;(0!==h||p>>0,d[f]=h%s>>>0,h=h/s>>>0;if(0!==h)throw new Error("Non-zero carry");r=p,i++}for(var g=c-r;g!==c&&0===d[g];)g++;for(var m=u.repeat(n);g{"use strict";t.byteLength=function(e){var t=u(e),n=t[0],o=t[1];return 3*(n+o)/4-o},t.toByteArray=function(e){var t,n,i=u(e),a=i[0],s=i[1],c=new r(function(e,t,n){return 3*(t+n)/4-n}(0,a,s)),l=0,d=s>0?a-4:a;for(n=0;n>16&255,c[l++]=t>>8&255,c[l++]=255&t;return 2===s&&(t=o[e.charCodeAt(n)]<<2|o[e.charCodeAt(n+1)]>>4,c[l++]=255&t),1===s&&(t=o[e.charCodeAt(n)]<<10|o[e.charCodeAt(n+1)]<<4|o[e.charCodeAt(n+2)]>>2,c[l++]=t>>8&255,c[l++]=255&t),c},t.fromByteArray=function(e){for(var t,o=e.length,r=o%3,i=[],a=16383,s=0,u=o-r;su?u:s+a));return 1===r?(t=e[o-1],i.push(n[t>>2]+n[t<<4&63]+"==")):2===r&&(t=(e[o-2]<<8)+e[o-1],i.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"=")),i.join("")};for(var n=[],o=[],r="undefined"!=typeof Uint8Array?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,s=i.length;a0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function c(e,t,o){for(var r,i,a=[],s=t;s>18&63]+n[i>>12&63]+n[i>>6&63]+n[63&i]);return a.join("")}o["-".charCodeAt(0)]=62,o["_".charCodeAt(0)]=63},10022:(e,t,n)=>{var o=n(97631).Duplex;function r(e){if(!(this instanceof r))return new r(e);if(this._bufs=[],this.length=0,"function"==typeof e){this._callback=e;var t=function(e){this._callback&&(this._callback(e),this._callback=null)}.bind(this);this.on("pipe",(function(e){e.on("error",t)})),this.on("unpipe",(function(e){e.removeListener("error",t)}))}else Buffer.isBuffer(e)?this.append(e):Array.isArray(e)&&e.forEach(function(e){Buffer.isBuffer(e)&&this.append(e)}.bind(this));o.call(this)}n(89539).inherits(r,o),r.prototype._offset=function(e){for(var t,n=0,o=0;othis.length)&&(o=this.length),n>=this.length)return e||new Buffer(0);if(o<=0)return e||new Buffer(0);var r,i,a=!!e,s=this._offset(n),u=o-n,c=u,l=a&&t||0,d=s[1];if(0===n&&o==this.length){if(!a)return Buffer.concat(this._bufs);for(i=0;i(r=this._bufs[i].length-d))){this._bufs[i].copy(e,l,d,d+c);break}this._bufs[i].copy(e,l,d),l+=r,c-=r,d&&(d=0)}return e},r.prototype.toString=function(e,t,n){return this.slice(t,n).toString(e)},r.prototype.consume=function(e){for(;this._bufs.length;){if(!(e>this._bufs[0].length)){this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift()}return this},r.prototype.duplicate=function(){for(var e=0,t=new r;e{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},6510:(e,t,n)=>{e.exports=s;var o=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t},r=n(16497);r.inherits=n(35717);var i=n(42813),a=n(79850);function s(e){if(!(this instanceof s))return new s(e);i.call(this,e),a.call(this,e),e&&!1===e.readable&&(this.readable=!1),e&&!1===e.writable&&(this.writable=!1),this.allowHalfOpen=!0,e&&!1===e.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",u)}function u(){this.allowHalfOpen||this._writableState.ended||process.nextTick(this.end.bind(this))}r.inherits(s,i),function(e,t){for(var n=0,o=e.length;n{e.exports=i;var o=n(14059),r=n(16497);function i(e){if(!(this instanceof i))return new i(e);o.call(this,e)}r.inherits=n(35717),r.inherits(i,o),i.prototype._transform=function(e,t,n){n(null,e)}},42813:(e,t,n)=>{e.exports=l;var o=n(50430),r=n(48764).Buffer;l.ReadableState=c;var i=n(17187).EventEmitter;i.listenerCount||(i.listenerCount=function(e,t){return e.listeners(t).length});var a,s=n(42830),u=n(16497);function c(e,t){var o=(e=e||{}).highWaterMark;this.highWaterMark=o||0===o?o:16384,this.highWaterMark=~~this.highWaterMark,this.buffer=[],this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=!1,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.calledRead=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.objectMode=!!e.objectMode,this.defaultEncoding=e.defaultEncoding||"utf8",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(a||(a=n(75159).s),this.decoder=new a(e.encoding),this.encoding=e.encoding)}function l(e){if(!(this instanceof l))return new l(e);this._readableState=new c(e,this),this.readable=!0,s.call(this)}function d(e,t,n,o,i){var a=function(e,t){var n=null;return r.isBuffer(t)||"string"==typeof t||null==t||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk")),n}(t,n);if(a)e.emit("error",a);else if(null==n)t.reading=!1,t.ended||function(e,t){if(t.decoder&&!t.ended){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,t.length>0?f(e):b(e)}(e,t);else if(t.objectMode||n&&n.length>0)if(t.ended&&!i){var s=new Error("stream.push() after EOF");e.emit("error",s)}else t.endEmitted&&i?(s=new Error("stream.unshift() after end event"),e.emit("error",s)):(!t.decoder||i||o||(n=t.decoder.write(n)),t.length+=t.objectMode?1:n.length,i?t.buffer.unshift(n):(t.reading=!1,t.buffer.push(n)),t.needReadable&&f(e),function(e,t){t.readingMore||(t.readingMore=!0,process.nextTick((function(){!function(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.lengtht.highWaterMark&&(t.highWaterMark=function(e){if(e>=h)e=h;else{e--;for(var t=1;t<32;t<<=1)e|=e>>t;e++}return e}(e)),e>t.length?t.ended?t.length:(t.needReadable=!0,0):e)}function f(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,t.sync?process.nextTick((function(){g(e)})):g(e))}function g(e){e.emit("readable")}function m(e){var t,n=e._readableState;function o(e,o,r){!1===e.write(t)&&n.awaitDrain++}for(n.awaitDrain=0;n.pipesCount&&null!==(t=e.read());)if(1===n.pipesCount?o(n.pipes):v(n.pipes,o),e.emit("data",t),n.awaitDrain>0)return;if(0===n.pipesCount)return n.flowing=!1,void(i.listenerCount(e,"data")>0&&F(e));n.ranOut=!0}function _(){this._readableState.ranOut&&(this._readableState.ranOut=!1,m(this))}function F(e,t){if(e._readableState.flowing)throw new Error("Cannot switch to old mode now.");var n=t||!1,o=!1;e.readable=!0,e.pipe=s.prototype.pipe,e.on=e.addListener=s.prototype.on,e.on("readable",(function(){var t;for(o=!0;!n&&null!==(t=e.read());)e.emit("data",t);null===t&&(o=!1,e._readableState.needReadable=!0)})),e.pause=function(){n=!0,this.emit("pause")},e.resume=function(){n=!1,o?process.nextTick((function(){e.emit("readable")})):this.read(0),this.emit("resume")},e.emit("readable")}function y(e,t){var n,o=t.buffer,i=t.length,a=!!t.decoder,s=!!t.objectMode;if(0===o.length)return null;if(0===i)n=null;else if(s)n=o.shift();else if(!e||e>=i)n=a?o.join(""):r.concat(o,i),o.length=0;else if(e0)throw new Error("endReadable called on non-empty stream");!t.endEmitted&&t.calledRead&&(t.ended=!0,process.nextTick((function(){t.endEmitted||0!==t.length||(t.endEmitted=!0,e.readable=!1,e.emit("end"))})))}function v(e,t){for(var n=0,o=e.length;n0)&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return f(this),null;if(0===(e=p(e,t))&&t.ended)return n=null,t.length>0&&t.decoder&&(n=y(e,t),t.length-=n.length),0===t.length&&b(this),n;var r=t.needReadable;return t.length-e<=t.highWaterMark&&(r=!0),(t.ended||t.reading)&&(r=!1),r&&(t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1),r&&!t.reading&&(e=p(o,t)),null===(n=e>0?y(e,t):null)&&(t.needReadable=!0,e=0),t.length-=e,0!==t.length||t.ended||(t.needReadable=!0),t.ended&&!t.endEmitted&&0===t.length&&b(this),n},l.prototype._read=function(e){this.emit("error",new Error("not implemented"))},l.prototype.pipe=function(e,t){var n=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=e;break;case 1:r.pipes=[r.pipes,e];break;default:r.pipes.push(e)}r.pipesCount+=1;var a=t&&!1===t.end||e===process.stdout||e===process.stderr?l:u;function s(e){e===n&&l()}function u(){e.end()}r.endEmitted?process.nextTick(a):n.once("end",a),e.on("unpipe",s);var c=function(e){return function(){var t=e._readableState;t.awaitDrain--,0===t.awaitDrain&&m(e)}}(n);function l(){e.removeListener("close",h),e.removeListener("finish",p),e.removeListener("drain",c),e.removeListener("error",d),e.removeListener("unpipe",s),n.removeListener("end",u),n.removeListener("end",l),e._writableState&&!e._writableState.needDrain||c()}function d(t){f(),e.removeListener("error",d),0===i.listenerCount(e,"error")&&e.emit("error",t)}function h(){e.removeListener("finish",p),f()}function p(){e.removeListener("close",h),f()}function f(){n.unpipe(e)}return e.on("drain",c),e._events&&e._events.error?o(e._events.error)?e._events.error.unshift(d):e._events.error=[d,e._events.error]:e.on("error",d),e.once("close",h),e.once("finish",p),e.emit("pipe",n),r.flowing||(this.on("readable",_),r.flowing=!0,process.nextTick((function(){m(n)}))),e},l.prototype.unpipe=function(e){var t=this._readableState;if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,this.removeListener("readable",_),t.flowing=!1,e&&e.emit("unpipe",this)),this;if(!e){var n=t.pipes,o=t.pipesCount;t.pipes=null,t.pipesCount=0,this.removeListener("readable",_),t.flowing=!1;for(var r=0;r{e.exports=a;var o=n(6510),r=n(16497);function i(e,t){this.afterTransform=function(e,n){return function(e,t,n){var o=e._transformState;o.transforming=!1;var r=o.writecb;if(!r)return e.emit("error",new Error("no writecb in Transform class"));o.writechunk=null,o.writecb=null,null!=n&&e.push(n),r&&r(t);var i=e._readableState;i.reading=!1,(i.needReadable||i.length{e.exports=u;var o=n(48764).Buffer;u.WritableState=s;var r=n(16497);r.inherits=n(35717);var i=n(42830);function a(e,t,n){this.chunk=e,this.encoding=t,this.callback=n}function s(e,t){var n=(e=e||{}).highWaterMark;this.highWaterMark=n||0===n?n:16384,this.objectMode=!!e.objectMode,this.highWaterMark=~~this.highWaterMark,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1;var o=!1===e.decodeStrings;this.decodeStrings=!o,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var n=e._writableState,o=n.sync,r=n.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(n),t)!function(e,t,n,o,r){n?process.nextTick((function(){r(o)})):r(o),e._writableState.errorEmitted=!0,e.emit("error",o)}(e,0,o,t,r);else{var i=d(0,n);i||n.bufferProcessing||!n.buffer.length||function(e,t){t.bufferProcessing=!0;for(var n=0;n{var o=n(42830);(t=e.exports=n(42813)).Stream=o,t.Readable=t,t.Writable=n(79850),t.Duplex=n(6510),t.Transform=n(14059),t.PassThrough=n(4586),process.browser||"disable"!==process.env.READABLE_STREAM||(e.exports=n(42830))},75159:(e,t,n)=>{var o=n(48764).Buffer,r=o.isEncoding||function(e){switch(e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}},i=t.s=function(e){switch(this.encoding=(e||"utf8").toLowerCase().replace(/[-_]/,""),function(e){if(e&&!r(e))throw new Error("Unknown encoding: "+e)}(e),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=s;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=u;break;default:return void(this.write=a)}this.charBuffer=new o(6),this.charReceived=0,this.charLength=0};function a(e){return e.toString(this.encoding)}function s(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function u(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}i.prototype.write=function(e){for(var t="";this.charLength;){var n=e.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,n),this.charReceived+=n,this.charReceived=55296&&o<=56319)){if(this.charReceived=this.charLength=0,0===e.length)return t;break}this.charLength+=this.surrogateSize,t=""}this.detectIncompleteChar(e);var o,r=e.length;if(this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,r),r-=this.charReceived),r=(t+=e.toString(this.encoding,0,r)).length-1,(o=t.charCodeAt(r))>=55296&&o<=56319){var i=this.surrogateSize;return this.charLength+=i,this.charReceived+=i,this.charBuffer.copy(this.charBuffer,i,0,i),e.copy(this.charBuffer,0,0,i),t.substring(0,r)}return t},i.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var n=e[e.length-t];if(1==t&&n>>5==6){this.charLength=2;break}if(t<=2&&n>>4==14){this.charLength=3;break}if(t<=3&&n>>3==30){this.charLength=4;break}}this.charReceived=t},i.prototype.end=function(e){var t="";if(e&&e.length&&(t=this.write(e)),this.charReceived){var n=this.charReceived,o=this.charBuffer,r=this.encoding;t+=o.slice(0,n).toString(r)}return t}},13550:function(e,t,n){!function(e,t){"use strict";function o(e,t){if(!e)throw new Error(t||"Assertion failed")}function r(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}function i(e,t,n){if(i.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&("le"!==t&&"be"!==t||(n=t,t=10),this._init(e||0,t||10,n||"be"))}var a;"object"==typeof e?e.exports=i:t.BN=i,i.BN=i,i.wordSize=26;try{a="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:n(46601).Buffer}catch(e){}function s(e,t){var n=e.charCodeAt(t);return n>=48&&n<=57?n-48:n>=65&&n<=70?n-55:n>=97&&n<=102?n-87:void o(!1,"Invalid character in "+e)}function u(e,t,n){var o=s(e,n);return n-1>=t&&(o|=s(e,n-1)<<4),o}function c(e,t,n,r){for(var i=0,a=0,s=Math.min(e.length,n),u=t;u=49?c-49+10:c>=17?c-17+10:c,o(c>=0&&a0?e:t},i.min=function(e,t){return e.cmp(t)<0?e:t},i.prototype._init=function(e,t,n){if("number"==typeof e)return this._initNumber(e,t,n);if("object"==typeof e)return this._initArray(e,t,n);"hex"===t&&(t=16),o(t===(0|t)&&t>=2&&t<=36);var r=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&(r++,this.negative=1),r=0;r-=3)a=e[r]|e[r-1]<<8|e[r-2]<<16,this.words[i]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);else if("le"===n)for(r=0,i=0;r>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);return this._strip()},i.prototype._parseHex=function(e,t,n){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var o=0;o=t;o-=2)r=u(e,t,o)<=18?(i-=18,a+=1,this.words[a]|=r>>>26):i+=8;else for(o=(e.length-t)%2==0?t+1:t;o=18?(i-=18,a+=1,this.words[a]|=r>>>26):i+=8;this._strip()},i.prototype._parseBase=function(e,t,n){this.words=[0],this.length=1;for(var o=0,r=1;r<=67108863;r*=t)o++;o--,r=r/t|0;for(var i=e.length-n,a=i%o,s=Math.min(i,i-a)+n,u=0,l=n;l1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{i.prototype[Symbol.for("nodejs.util.inspect.custom")]=d}catch(e){i.prototype.inspect=d}else i.prototype.inspect=d;function d(){return(this.red?""}var h=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],p=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],f=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function g(e,t,n){n.negative=t.negative^e.negative;var o=e.length+t.length|0;n.length=o,o=o-1|0;var r=0|e.words[0],i=0|t.words[0],a=r*i,s=67108863&a,u=a/67108864|0;n.words[0]=s;for(var c=1;c>>26,d=67108863&u,h=Math.min(c,t.length-1),p=Math.max(0,c-e.length+1);p<=h;p++){var f=c-p|0;l+=(a=(r=0|e.words[f])*(i=0|t.words[p])+d)/67108864|0,d=67108863&a}n.words[c]=0|d,u=0|l}return 0!==u?n.words[c]=0|u:n.length--,n._strip()}i.prototype.toString=function(e,t){var n;if(t=0|t||1,16===(e=e||10)||"hex"===e){n="";for(var r=0,i=0,a=0;a>>24-r&16777215)||a!==this.length-1?h[6-u.length]+u+n:u+n,(r+=2)>=26&&(r-=26,a--)}for(0!==i&&(n=i.toString(16)+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(e===(0|e)&&e>=2&&e<=36){var c=p[e],l=f[e];n="";var d=this.clone();for(d.negative=0;!d.isZero();){var g=d.modrn(l).toString(e);n=(d=d.idivn(l)).isZero()?g+n:h[c-g.length]+g+n}for(this.isZero()&&(n="0"+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}o(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&o(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},i.prototype.toJSON=function(){return this.toString(16,2)},a&&(i.prototype.toBuffer=function(e,t){return this.toArrayLike(a,e,t)}),i.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},i.prototype.toArrayLike=function(e,t,n){this._strip();var r=this.byteLength(),i=n||Math.max(1,r);o(r<=i,"byte array longer than desired length"),o(i>0,"Requested array length <= 0");var a=function(e,t){return e.allocUnsafe?e.allocUnsafe(t):new e(t)}(e,i);return this["_toArrayLike"+("le"===t?"LE":"BE")](a,r),a},i.prototype._toArrayLikeLE=function(e,t){for(var n=0,o=0,r=0,i=0;r>8&255),n>16&255),6===i?(n>24&255),o=0,i=0):(o=a>>>24,i+=2)}if(n=0&&(e[n--]=a>>8&255),n>=0&&(e[n--]=a>>16&255),6===i?(n>=0&&(e[n--]=a>>24&255),o=0,i=0):(o=a>>>24,i+=2)}if(n>=0)for(e[n--]=o;n>=0;)e[n--]=0},Math.clz32?i.prototype._countBits=function(e){return 32-Math.clz32(e)}:i.prototype._countBits=function(e){var t=e,n=0;return t>=4096&&(n+=13,t>>>=13),t>=64&&(n+=7,t>>>=7),t>=8&&(n+=4,t>>>=4),t>=2&&(n+=2,t>>>=2),n+t},i.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,n=0;return 0==(8191&t)&&(n+=13,t>>>=13),0==(127&t)&&(n+=7,t>>>=7),0==(15&t)&&(n+=4,t>>>=4),0==(3&t)&&(n+=2,t>>>=2),0==(1&t)&&n++,n},i.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},i.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},i.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var n=0;ne.length?this.clone().iand(e):e.clone().iand(this)},i.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},i.prototype.iuxor=function(e){var t,n;this.length>e.length?(t=this,n=e):(t=e,n=this);for(var o=0;oe.length?this.clone().ixor(e):e.clone().ixor(this)},i.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},i.prototype.inotn=function(e){o("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),n=e%26;this._expand(t),n>0&&t--;for(var r=0;r0&&(this.words[r]=~this.words[r]&67108863>>26-n),this._strip()},i.prototype.notn=function(e){return this.clone().inotn(e)},i.prototype.setn=function(e,t){o("number"==typeof e&&e>=0);var n=e/26|0,r=e%26;return this._expand(n+1),this.words[n]=t?this.words[n]|1<e.length?(n=this,o=e):(n=e,o=this);for(var r=0,i=0;i>>26;for(;0!==r&&i>>26;if(this.length=n.length,0!==r)this.words[this.length]=r,this.length++;else if(n!==this)for(;ie.length?this.clone().iadd(e):e.clone().iadd(this)},i.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var n,o,r=this.cmp(e);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;r>0?(n=this,o=e):(n=e,o=this);for(var i=0,a=0;a>26,this.words[a]=67108863&t;for(;0!==i&&a>26,this.words[a]=67108863&t;if(0===i&&a>>13,p=0|a[1],f=8191&p,g=p>>>13,m=0|a[2],_=8191&m,F=m>>>13,y=0|a[3],b=8191&y,v=y>>>13,w=0|a[4],E=8191&w,k=w>>>13,D=0|a[5],S=8191&D,x=D>>>13,C=0|a[6],A=8191&C,T=C>>>13,R=0|a[7],I=8191&R,M=R>>>13,O=0|a[8],B=8191&O,N=O>>>13,L=0|a[9],P=8191&L,U=L>>>13,j=0|s[0],q=8191&j,z=j>>>13,K=0|s[1],G=8191&K,$=K>>>13,H=0|s[2],V=8191&H,W=H>>>13,Y=0|s[3],Z=8191&Y,X=Y>>>13,J=0|s[4],Q=8191&J,ee=J>>>13,te=0|s[5],ne=8191&te,oe=te>>>13,re=0|s[6],ie=8191&re,ae=re>>>13,se=0|s[7],ue=8191&se,ce=se>>>13,le=0|s[8],de=8191&le,he=le>>>13,pe=0|s[9],fe=8191&pe,ge=pe>>>13;n.negative=e.negative^t.negative,n.length=19;var me=(c+(o=Math.imul(d,q))|0)+((8191&(r=(r=Math.imul(d,z))+Math.imul(h,q)|0))<<13)|0;c=((i=Math.imul(h,z))+(r>>>13)|0)+(me>>>26)|0,me&=67108863,o=Math.imul(f,q),r=(r=Math.imul(f,z))+Math.imul(g,q)|0,i=Math.imul(g,z);var _e=(c+(o=o+Math.imul(d,G)|0)|0)+((8191&(r=(r=r+Math.imul(d,$)|0)+Math.imul(h,G)|0))<<13)|0;c=((i=i+Math.imul(h,$)|0)+(r>>>13)|0)+(_e>>>26)|0,_e&=67108863,o=Math.imul(_,q),r=(r=Math.imul(_,z))+Math.imul(F,q)|0,i=Math.imul(F,z),o=o+Math.imul(f,G)|0,r=(r=r+Math.imul(f,$)|0)+Math.imul(g,G)|0,i=i+Math.imul(g,$)|0;var Fe=(c+(o=o+Math.imul(d,V)|0)|0)+((8191&(r=(r=r+Math.imul(d,W)|0)+Math.imul(h,V)|0))<<13)|0;c=((i=i+Math.imul(h,W)|0)+(r>>>13)|0)+(Fe>>>26)|0,Fe&=67108863,o=Math.imul(b,q),r=(r=Math.imul(b,z))+Math.imul(v,q)|0,i=Math.imul(v,z),o=o+Math.imul(_,G)|0,r=(r=r+Math.imul(_,$)|0)+Math.imul(F,G)|0,i=i+Math.imul(F,$)|0,o=o+Math.imul(f,V)|0,r=(r=r+Math.imul(f,W)|0)+Math.imul(g,V)|0,i=i+Math.imul(g,W)|0;var ye=(c+(o=o+Math.imul(d,Z)|0)|0)+((8191&(r=(r=r+Math.imul(d,X)|0)+Math.imul(h,Z)|0))<<13)|0;c=((i=i+Math.imul(h,X)|0)+(r>>>13)|0)+(ye>>>26)|0,ye&=67108863,o=Math.imul(E,q),r=(r=Math.imul(E,z))+Math.imul(k,q)|0,i=Math.imul(k,z),o=o+Math.imul(b,G)|0,r=(r=r+Math.imul(b,$)|0)+Math.imul(v,G)|0,i=i+Math.imul(v,$)|0,o=o+Math.imul(_,V)|0,r=(r=r+Math.imul(_,W)|0)+Math.imul(F,V)|0,i=i+Math.imul(F,W)|0,o=o+Math.imul(f,Z)|0,r=(r=r+Math.imul(f,X)|0)+Math.imul(g,Z)|0,i=i+Math.imul(g,X)|0;var be=(c+(o=o+Math.imul(d,Q)|0)|0)+((8191&(r=(r=r+Math.imul(d,ee)|0)+Math.imul(h,Q)|0))<<13)|0;c=((i=i+Math.imul(h,ee)|0)+(r>>>13)|0)+(be>>>26)|0,be&=67108863,o=Math.imul(S,q),r=(r=Math.imul(S,z))+Math.imul(x,q)|0,i=Math.imul(x,z),o=o+Math.imul(E,G)|0,r=(r=r+Math.imul(E,$)|0)+Math.imul(k,G)|0,i=i+Math.imul(k,$)|0,o=o+Math.imul(b,V)|0,r=(r=r+Math.imul(b,W)|0)+Math.imul(v,V)|0,i=i+Math.imul(v,W)|0,o=o+Math.imul(_,Z)|0,r=(r=r+Math.imul(_,X)|0)+Math.imul(F,Z)|0,i=i+Math.imul(F,X)|0,o=o+Math.imul(f,Q)|0,r=(r=r+Math.imul(f,ee)|0)+Math.imul(g,Q)|0,i=i+Math.imul(g,ee)|0;var ve=(c+(o=o+Math.imul(d,ne)|0)|0)+((8191&(r=(r=r+Math.imul(d,oe)|0)+Math.imul(h,ne)|0))<<13)|0;c=((i=i+Math.imul(h,oe)|0)+(r>>>13)|0)+(ve>>>26)|0,ve&=67108863,o=Math.imul(A,q),r=(r=Math.imul(A,z))+Math.imul(T,q)|0,i=Math.imul(T,z),o=o+Math.imul(S,G)|0,r=(r=r+Math.imul(S,$)|0)+Math.imul(x,G)|0,i=i+Math.imul(x,$)|0,o=o+Math.imul(E,V)|0,r=(r=r+Math.imul(E,W)|0)+Math.imul(k,V)|0,i=i+Math.imul(k,W)|0,o=o+Math.imul(b,Z)|0,r=(r=r+Math.imul(b,X)|0)+Math.imul(v,Z)|0,i=i+Math.imul(v,X)|0,o=o+Math.imul(_,Q)|0,r=(r=r+Math.imul(_,ee)|0)+Math.imul(F,Q)|0,i=i+Math.imul(F,ee)|0,o=o+Math.imul(f,ne)|0,r=(r=r+Math.imul(f,oe)|0)+Math.imul(g,ne)|0,i=i+Math.imul(g,oe)|0;var we=(c+(o=o+Math.imul(d,ie)|0)|0)+((8191&(r=(r=r+Math.imul(d,ae)|0)+Math.imul(h,ie)|0))<<13)|0;c=((i=i+Math.imul(h,ae)|0)+(r>>>13)|0)+(we>>>26)|0,we&=67108863,o=Math.imul(I,q),r=(r=Math.imul(I,z))+Math.imul(M,q)|0,i=Math.imul(M,z),o=o+Math.imul(A,G)|0,r=(r=r+Math.imul(A,$)|0)+Math.imul(T,G)|0,i=i+Math.imul(T,$)|0,o=o+Math.imul(S,V)|0,r=(r=r+Math.imul(S,W)|0)+Math.imul(x,V)|0,i=i+Math.imul(x,W)|0,o=o+Math.imul(E,Z)|0,r=(r=r+Math.imul(E,X)|0)+Math.imul(k,Z)|0,i=i+Math.imul(k,X)|0,o=o+Math.imul(b,Q)|0,r=(r=r+Math.imul(b,ee)|0)+Math.imul(v,Q)|0,i=i+Math.imul(v,ee)|0,o=o+Math.imul(_,ne)|0,r=(r=r+Math.imul(_,oe)|0)+Math.imul(F,ne)|0,i=i+Math.imul(F,oe)|0,o=o+Math.imul(f,ie)|0,r=(r=r+Math.imul(f,ae)|0)+Math.imul(g,ie)|0,i=i+Math.imul(g,ae)|0;var Ee=(c+(o=o+Math.imul(d,ue)|0)|0)+((8191&(r=(r=r+Math.imul(d,ce)|0)+Math.imul(h,ue)|0))<<13)|0;c=((i=i+Math.imul(h,ce)|0)+(r>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,o=Math.imul(B,q),r=(r=Math.imul(B,z))+Math.imul(N,q)|0,i=Math.imul(N,z),o=o+Math.imul(I,G)|0,r=(r=r+Math.imul(I,$)|0)+Math.imul(M,G)|0,i=i+Math.imul(M,$)|0,o=o+Math.imul(A,V)|0,r=(r=r+Math.imul(A,W)|0)+Math.imul(T,V)|0,i=i+Math.imul(T,W)|0,o=o+Math.imul(S,Z)|0,r=(r=r+Math.imul(S,X)|0)+Math.imul(x,Z)|0,i=i+Math.imul(x,X)|0,o=o+Math.imul(E,Q)|0,r=(r=r+Math.imul(E,ee)|0)+Math.imul(k,Q)|0,i=i+Math.imul(k,ee)|0,o=o+Math.imul(b,ne)|0,r=(r=r+Math.imul(b,oe)|0)+Math.imul(v,ne)|0,i=i+Math.imul(v,oe)|0,o=o+Math.imul(_,ie)|0,r=(r=r+Math.imul(_,ae)|0)+Math.imul(F,ie)|0,i=i+Math.imul(F,ae)|0,o=o+Math.imul(f,ue)|0,r=(r=r+Math.imul(f,ce)|0)+Math.imul(g,ue)|0,i=i+Math.imul(g,ce)|0;var ke=(c+(o=o+Math.imul(d,de)|0)|0)+((8191&(r=(r=r+Math.imul(d,he)|0)+Math.imul(h,de)|0))<<13)|0;c=((i=i+Math.imul(h,he)|0)+(r>>>13)|0)+(ke>>>26)|0,ke&=67108863,o=Math.imul(P,q),r=(r=Math.imul(P,z))+Math.imul(U,q)|0,i=Math.imul(U,z),o=o+Math.imul(B,G)|0,r=(r=r+Math.imul(B,$)|0)+Math.imul(N,G)|0,i=i+Math.imul(N,$)|0,o=o+Math.imul(I,V)|0,r=(r=r+Math.imul(I,W)|0)+Math.imul(M,V)|0,i=i+Math.imul(M,W)|0,o=o+Math.imul(A,Z)|0,r=(r=r+Math.imul(A,X)|0)+Math.imul(T,Z)|0,i=i+Math.imul(T,X)|0,o=o+Math.imul(S,Q)|0,r=(r=r+Math.imul(S,ee)|0)+Math.imul(x,Q)|0,i=i+Math.imul(x,ee)|0,o=o+Math.imul(E,ne)|0,r=(r=r+Math.imul(E,oe)|0)+Math.imul(k,ne)|0,i=i+Math.imul(k,oe)|0,o=o+Math.imul(b,ie)|0,r=(r=r+Math.imul(b,ae)|0)+Math.imul(v,ie)|0,i=i+Math.imul(v,ae)|0,o=o+Math.imul(_,ue)|0,r=(r=r+Math.imul(_,ce)|0)+Math.imul(F,ue)|0,i=i+Math.imul(F,ce)|0,o=o+Math.imul(f,de)|0,r=(r=r+Math.imul(f,he)|0)+Math.imul(g,de)|0,i=i+Math.imul(g,he)|0;var De=(c+(o=o+Math.imul(d,fe)|0)|0)+((8191&(r=(r=r+Math.imul(d,ge)|0)+Math.imul(h,fe)|0))<<13)|0;c=((i=i+Math.imul(h,ge)|0)+(r>>>13)|0)+(De>>>26)|0,De&=67108863,o=Math.imul(P,G),r=(r=Math.imul(P,$))+Math.imul(U,G)|0,i=Math.imul(U,$),o=o+Math.imul(B,V)|0,r=(r=r+Math.imul(B,W)|0)+Math.imul(N,V)|0,i=i+Math.imul(N,W)|0,o=o+Math.imul(I,Z)|0,r=(r=r+Math.imul(I,X)|0)+Math.imul(M,Z)|0,i=i+Math.imul(M,X)|0,o=o+Math.imul(A,Q)|0,r=(r=r+Math.imul(A,ee)|0)+Math.imul(T,Q)|0,i=i+Math.imul(T,ee)|0,o=o+Math.imul(S,ne)|0,r=(r=r+Math.imul(S,oe)|0)+Math.imul(x,ne)|0,i=i+Math.imul(x,oe)|0,o=o+Math.imul(E,ie)|0,r=(r=r+Math.imul(E,ae)|0)+Math.imul(k,ie)|0,i=i+Math.imul(k,ae)|0,o=o+Math.imul(b,ue)|0,r=(r=r+Math.imul(b,ce)|0)+Math.imul(v,ue)|0,i=i+Math.imul(v,ce)|0,o=o+Math.imul(_,de)|0,r=(r=r+Math.imul(_,he)|0)+Math.imul(F,de)|0,i=i+Math.imul(F,he)|0;var Se=(c+(o=o+Math.imul(f,fe)|0)|0)+((8191&(r=(r=r+Math.imul(f,ge)|0)+Math.imul(g,fe)|0))<<13)|0;c=((i=i+Math.imul(g,ge)|0)+(r>>>13)|0)+(Se>>>26)|0,Se&=67108863,o=Math.imul(P,V),r=(r=Math.imul(P,W))+Math.imul(U,V)|0,i=Math.imul(U,W),o=o+Math.imul(B,Z)|0,r=(r=r+Math.imul(B,X)|0)+Math.imul(N,Z)|0,i=i+Math.imul(N,X)|0,o=o+Math.imul(I,Q)|0,r=(r=r+Math.imul(I,ee)|0)+Math.imul(M,Q)|0,i=i+Math.imul(M,ee)|0,o=o+Math.imul(A,ne)|0,r=(r=r+Math.imul(A,oe)|0)+Math.imul(T,ne)|0,i=i+Math.imul(T,oe)|0,o=o+Math.imul(S,ie)|0,r=(r=r+Math.imul(S,ae)|0)+Math.imul(x,ie)|0,i=i+Math.imul(x,ae)|0,o=o+Math.imul(E,ue)|0,r=(r=r+Math.imul(E,ce)|0)+Math.imul(k,ue)|0,i=i+Math.imul(k,ce)|0,o=o+Math.imul(b,de)|0,r=(r=r+Math.imul(b,he)|0)+Math.imul(v,de)|0,i=i+Math.imul(v,he)|0;var xe=(c+(o=o+Math.imul(_,fe)|0)|0)+((8191&(r=(r=r+Math.imul(_,ge)|0)+Math.imul(F,fe)|0))<<13)|0;c=((i=i+Math.imul(F,ge)|0)+(r>>>13)|0)+(xe>>>26)|0,xe&=67108863,o=Math.imul(P,Z),r=(r=Math.imul(P,X))+Math.imul(U,Z)|0,i=Math.imul(U,X),o=o+Math.imul(B,Q)|0,r=(r=r+Math.imul(B,ee)|0)+Math.imul(N,Q)|0,i=i+Math.imul(N,ee)|0,o=o+Math.imul(I,ne)|0,r=(r=r+Math.imul(I,oe)|0)+Math.imul(M,ne)|0,i=i+Math.imul(M,oe)|0,o=o+Math.imul(A,ie)|0,r=(r=r+Math.imul(A,ae)|0)+Math.imul(T,ie)|0,i=i+Math.imul(T,ae)|0,o=o+Math.imul(S,ue)|0,r=(r=r+Math.imul(S,ce)|0)+Math.imul(x,ue)|0,i=i+Math.imul(x,ce)|0,o=o+Math.imul(E,de)|0,r=(r=r+Math.imul(E,he)|0)+Math.imul(k,de)|0,i=i+Math.imul(k,he)|0;var Ce=(c+(o=o+Math.imul(b,fe)|0)|0)+((8191&(r=(r=r+Math.imul(b,ge)|0)+Math.imul(v,fe)|0))<<13)|0;c=((i=i+Math.imul(v,ge)|0)+(r>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,o=Math.imul(P,Q),r=(r=Math.imul(P,ee))+Math.imul(U,Q)|0,i=Math.imul(U,ee),o=o+Math.imul(B,ne)|0,r=(r=r+Math.imul(B,oe)|0)+Math.imul(N,ne)|0,i=i+Math.imul(N,oe)|0,o=o+Math.imul(I,ie)|0,r=(r=r+Math.imul(I,ae)|0)+Math.imul(M,ie)|0,i=i+Math.imul(M,ae)|0,o=o+Math.imul(A,ue)|0,r=(r=r+Math.imul(A,ce)|0)+Math.imul(T,ue)|0,i=i+Math.imul(T,ce)|0,o=o+Math.imul(S,de)|0,r=(r=r+Math.imul(S,he)|0)+Math.imul(x,de)|0,i=i+Math.imul(x,he)|0;var Ae=(c+(o=o+Math.imul(E,fe)|0)|0)+((8191&(r=(r=r+Math.imul(E,ge)|0)+Math.imul(k,fe)|0))<<13)|0;c=((i=i+Math.imul(k,ge)|0)+(r>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,o=Math.imul(P,ne),r=(r=Math.imul(P,oe))+Math.imul(U,ne)|0,i=Math.imul(U,oe),o=o+Math.imul(B,ie)|0,r=(r=r+Math.imul(B,ae)|0)+Math.imul(N,ie)|0,i=i+Math.imul(N,ae)|0,o=o+Math.imul(I,ue)|0,r=(r=r+Math.imul(I,ce)|0)+Math.imul(M,ue)|0,i=i+Math.imul(M,ce)|0,o=o+Math.imul(A,de)|0,r=(r=r+Math.imul(A,he)|0)+Math.imul(T,de)|0,i=i+Math.imul(T,he)|0;var Te=(c+(o=o+Math.imul(S,fe)|0)|0)+((8191&(r=(r=r+Math.imul(S,ge)|0)+Math.imul(x,fe)|0))<<13)|0;c=((i=i+Math.imul(x,ge)|0)+(r>>>13)|0)+(Te>>>26)|0,Te&=67108863,o=Math.imul(P,ie),r=(r=Math.imul(P,ae))+Math.imul(U,ie)|0,i=Math.imul(U,ae),o=o+Math.imul(B,ue)|0,r=(r=r+Math.imul(B,ce)|0)+Math.imul(N,ue)|0,i=i+Math.imul(N,ce)|0,o=o+Math.imul(I,de)|0,r=(r=r+Math.imul(I,he)|0)+Math.imul(M,de)|0,i=i+Math.imul(M,he)|0;var Re=(c+(o=o+Math.imul(A,fe)|0)|0)+((8191&(r=(r=r+Math.imul(A,ge)|0)+Math.imul(T,fe)|0))<<13)|0;c=((i=i+Math.imul(T,ge)|0)+(r>>>13)|0)+(Re>>>26)|0,Re&=67108863,o=Math.imul(P,ue),r=(r=Math.imul(P,ce))+Math.imul(U,ue)|0,i=Math.imul(U,ce),o=o+Math.imul(B,de)|0,r=(r=r+Math.imul(B,he)|0)+Math.imul(N,de)|0,i=i+Math.imul(N,he)|0;var Ie=(c+(o=o+Math.imul(I,fe)|0)|0)+((8191&(r=(r=r+Math.imul(I,ge)|0)+Math.imul(M,fe)|0))<<13)|0;c=((i=i+Math.imul(M,ge)|0)+(r>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,o=Math.imul(P,de),r=(r=Math.imul(P,he))+Math.imul(U,de)|0,i=Math.imul(U,he);var Me=(c+(o=o+Math.imul(B,fe)|0)|0)+((8191&(r=(r=r+Math.imul(B,ge)|0)+Math.imul(N,fe)|0))<<13)|0;c=((i=i+Math.imul(N,ge)|0)+(r>>>13)|0)+(Me>>>26)|0,Me&=67108863;var Oe=(c+(o=Math.imul(P,fe))|0)+((8191&(r=(r=Math.imul(P,ge))+Math.imul(U,fe)|0))<<13)|0;return c=((i=Math.imul(U,ge))+(r>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,u[0]=me,u[1]=_e,u[2]=Fe,u[3]=ye,u[4]=be,u[5]=ve,u[6]=we,u[7]=Ee,u[8]=ke,u[9]=De,u[10]=Se,u[11]=xe,u[12]=Ce,u[13]=Ae,u[14]=Te,u[15]=Re,u[16]=Ie,u[17]=Me,u[18]=Oe,0!==c&&(u[19]=c,n.length++),n};function _(e,t,n){n.negative=t.negative^e.negative,n.length=e.length+t.length;for(var o=0,r=0,i=0;i>>26)|0)>>>26,a&=67108863}n.words[i]=s,o=a,a=r}return 0!==o?n.words[i]=o:n.length--,n._strip()}function F(e,t,n){return _(e,t,n)}function y(e,t){this.x=e,this.y=t}Math.imul||(m=g),i.prototype.mulTo=function(e,t){var n=this.length+e.length;return 10===this.length&&10===e.length?m(this,e,t):n<63?g(this,e,t):n<1024?_(this,e,t):F(this,e,t)},y.prototype.makeRBT=function(e){for(var t=new Array(e),n=i.prototype._countBits(e)-1,o=0;o>=1;return o},y.prototype.permute=function(e,t,n,o,r,i){for(var a=0;a>>=1)r++;return 1<>>=13,n[2*a+1]=8191&i,i>>>=13;for(a=2*t;a>=26,n+=i/67108864|0,n+=a>>>26,this.words[r]=67108863&a}return 0!==n&&(this.words[r]=n,this.length++),t?this.ineg():this},i.prototype.muln=function(e){return this.clone().imuln(e)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),n=0;n>>r&1}return t}(e);if(0===t.length)return new i(1);for(var n=this,o=0;o=0);var t,n=e%26,r=(e-n)/26,i=67108863>>>26-n<<26-n;if(0!==n){var a=0;for(t=0;t>>26-n}a&&(this.words[t]=a,this.length++)}if(0!==r){for(t=this.length-1;t>=0;t--)this.words[t+r]=this.words[t];for(t=0;t=0),r=t?(t-t%26)/26:0;var i=e%26,a=Math.min((e-i)/26,this.length),s=67108863^67108863>>>i<a)for(this.length-=a,c=0;c=0&&(0!==l||c>=r);c--){var d=0|this.words[c];this.words[c]=l<<26-i|d>>>i,l=d&s}return u&&0!==l&&(u.words[u.length++]=l),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},i.prototype.ishrn=function(e,t,n){return o(0===this.negative),this.iushrn(e,t,n)},i.prototype.shln=function(e){return this.clone().ishln(e)},i.prototype.ushln=function(e){return this.clone().iushln(e)},i.prototype.shrn=function(e){return this.clone().ishrn(e)},i.prototype.ushrn=function(e){return this.clone().iushrn(e)},i.prototype.testn=function(e){o("number"==typeof e&&e>=0);var t=e%26,n=(e-t)/26,r=1<=0);var t=e%26,n=(e-t)/26;if(o(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==t&&n++,this.length=Math.min(n,this.length),0!==t){var r=67108863^67108863>>>t<=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},i.prototype.isubn=function(e){if(o("number"==typeof e),o(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t>26)-(u/67108864|0),this.words[r+n]=67108863&i}for(;r>26,this.words[r+n]=67108863&i;if(0===s)return this._strip();for(o(-1===s),s=0,r=0;r>26,this.words[r]=67108863&i;return this.negative=1,this._strip()},i.prototype._wordDiv=function(e,t){var n=(this.length,e.length),o=this.clone(),r=e,a=0|r.words[r.length-1];0!=(n=26-this._countBits(a))&&(r=r.ushln(n),o.iushln(n),a=0|r.words[r.length-1]);var s,u=o.length-r.length;if("mod"!==t){(s=new i(null)).length=u+1,s.words=new Array(s.length);for(var c=0;c=0;d--){var h=67108864*(0|o.words[r.length+d])+(0|o.words[r.length+d-1]);for(h=Math.min(h/a|0,67108863),o._ishlnsubmul(r,h,d);0!==o.negative;)h--,o.negative=0,o._ishlnsubmul(r,1,d),o.isZero()||(o.negative^=1);s&&(s.words[d]=h)}return s&&s._strip(),o._strip(),"div"!==t&&0!==n&&o.iushrn(n),{div:s||null,mod:o}},i.prototype.divmod=function(e,t,n){return o(!e.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,t),"mod"!==t&&(r=s.div.neg()),"div"!==t&&(a=s.mod.neg(),n&&0!==a.negative&&a.iadd(e)),{div:r,mod:a}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),t),"mod"!==t&&(r=s.div.neg()),{div:r,mod:s.mod}):0!=(this.negative&e.negative)?(s=this.neg().divmod(e.neg(),t),"div"!==t&&(a=s.mod.neg(),n&&0!==a.negative&&a.isub(e)),{div:s.div,mod:a}):e.length>this.length||this.cmp(e)<0?{div:new i(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new i(this.modrn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new i(this.modrn(e.words[0]))}:this._wordDiv(e,t);var r,a,s},i.prototype.div=function(e){return this.divmod(e,"div",!1).div},i.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},i.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},i.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var n=0!==t.div.negative?t.mod.isub(e):t.mod,o=e.ushrn(1),r=e.andln(1),i=n.cmp(o);return i<0||1===r&&0===i?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},i.prototype.modrn=function(e){var t=e<0;t&&(e=-e),o(e<=67108863);for(var n=(1<<26)%e,r=0,i=this.length-1;i>=0;i--)r=(n*r+(0|this.words[i]))%e;return t?-r:r},i.prototype.modn=function(e){return this.modrn(e)},i.prototype.idivn=function(e){var t=e<0;t&&(e=-e),o(e<=67108863);for(var n=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*n;this.words[r]=i/e|0,n=i%e}return this._strip(),t?this.ineg():this},i.prototype.divn=function(e){return this.clone().idivn(e)},i.prototype.egcd=function(e){o(0===e.negative),o(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var r=new i(1),a=new i(0),s=new i(0),u=new i(1),c=0;t.isEven()&&n.isEven();)t.iushrn(1),n.iushrn(1),++c;for(var l=n.clone(),d=t.clone();!t.isZero();){for(var h=0,p=1;0==(t.words[0]&p)&&h<26;++h,p<<=1);if(h>0)for(t.iushrn(h);h-- >0;)(r.isOdd()||a.isOdd())&&(r.iadd(l),a.isub(d)),r.iushrn(1),a.iushrn(1);for(var f=0,g=1;0==(n.words[0]&g)&&f<26;++f,g<<=1);if(f>0)for(n.iushrn(f);f-- >0;)(s.isOdd()||u.isOdd())&&(s.iadd(l),u.isub(d)),s.iushrn(1),u.iushrn(1);t.cmp(n)>=0?(t.isub(n),r.isub(s),a.isub(u)):(n.isub(t),s.isub(r),u.isub(a))}return{a:s,b:u,gcd:n.iushln(c)}},i.prototype._invmp=function(e){o(0===e.negative),o(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var r,a=new i(1),s=new i(0),u=n.clone();t.cmpn(1)>0&&n.cmpn(1)>0;){for(var c=0,l=1;0==(t.words[0]&l)&&c<26;++c,l<<=1);if(c>0)for(t.iushrn(c);c-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);for(var d=0,h=1;0==(n.words[0]&h)&&d<26;++d,h<<=1);if(d>0)for(n.iushrn(d);d-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);t.cmp(n)>=0?(t.isub(n),a.isub(s)):(n.isub(t),s.isub(a))}return(r=0===t.cmpn(1)?a:s).cmpn(0)<0&&r.iadd(e),r},i.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),n=e.clone();t.negative=0,n.negative=0;for(var o=0;t.isEven()&&n.isEven();o++)t.iushrn(1),n.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;n.isEven();)n.iushrn(1);var r=t.cmp(n);if(r<0){var i=t;t=n,n=i}else if(0===r||0===n.cmpn(1))break;t.isub(n)}return n.iushln(o)},i.prototype.invm=function(e){return this.egcd(e).a.umod(e)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(e){return this.words[0]&e},i.prototype.bincn=function(e){o("number"==typeof e);var t=e%26,n=(e-t)/26,r=1<>>26,s&=67108863,this.words[a]=s}return 0!==i&&(this.words[a]=i,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(e){var t,n=e<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this._strip(),this.length>1)t=1;else{n&&(e=-e),o(e<=67108863,"Number is too big");var r=0|this.words[0];t=r===e?0:re.length)return 1;if(this.length=0;n--){var o=0|this.words[n],r=0|e.words[n];if(o!==r){or&&(t=1);break}}return t},i.prototype.gtn=function(e){return 1===this.cmpn(e)},i.prototype.gt=function(e){return 1===this.cmp(e)},i.prototype.gten=function(e){return this.cmpn(e)>=0},i.prototype.gte=function(e){return this.cmp(e)>=0},i.prototype.ltn=function(e){return-1===this.cmpn(e)},i.prototype.lt=function(e){return-1===this.cmp(e)},i.prototype.lten=function(e){return this.cmpn(e)<=0},i.prototype.lte=function(e){return this.cmp(e)<=0},i.prototype.eqn=function(e){return 0===this.cmpn(e)},i.prototype.eq=function(e){return 0===this.cmp(e)},i.red=function(e){return new S(e)},i.prototype.toRed=function(e){return o(!this.red,"Already a number in reduction context"),o(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},i.prototype.fromRed=function(){return o(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(e){return this.red=e,this},i.prototype.forceRed=function(e){return o(!this.red,"Already a number in reduction context"),this._forceRed(e)},i.prototype.redAdd=function(e){return o(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},i.prototype.redIAdd=function(e){return o(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},i.prototype.redSub=function(e){return o(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},i.prototype.redISub=function(e){return o(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},i.prototype.redShl=function(e){return o(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},i.prototype.redMul=function(e){return o(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},i.prototype.redIMul=function(e){return o(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},i.prototype.redSqr=function(){return o(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return o(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return o(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return o(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return o(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(e){return o(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var b={k256:null,p224:null,p192:null,p25519:null};function v(e,t){this.name=e,this.p=new i(t,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function w(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function E(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function k(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function D(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function S(e){if("string"==typeof e){var t=i._prime(e);this.m=t.p,this.prime=t}else o(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function x(e){S.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var e=new i(null);return e.words=new Array(Math.ceil(this.n/13)),e},v.prototype.ireduce=function(e){var t,n=e;do{this.split(n,this.tmp),t=(n=(n=this.imulK(n)).iadd(this.tmp)).bitLength()}while(t>this.n);var o=t0?n.isub(this.p):void 0!==n.strip?n.strip():n._strip(),n},v.prototype.split=function(e,t){e.iushrn(this.n,0,t)},v.prototype.imulK=function(e){return e.imul(this.k)},r(w,v),w.prototype.split=function(e,t){for(var n=4194303,o=Math.min(e.length,9),r=0;r>>22,i=a}i>>>=22,e.words[r-10]=i,0===i&&e.length>10?e.length-=10:e.length-=9},w.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,n=0;n>>=26,e.words[n]=r,t=o}return 0!==t&&(e.words[e.length++]=t),e},i._prime=function(e){if(b[e])return b[e];var t;if("k256"===e)t=new w;else if("p224"===e)t=new E;else if("p192"===e)t=new k;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new D}return b[e]=t,t},S.prototype._verify1=function(e){o(0===e.negative,"red works only with positives"),o(e.red,"red works only with red numbers")},S.prototype._verify2=function(e,t){o(0==(e.negative|t.negative),"red works only with positives"),o(e.red&&e.red===t.red,"red works only with red numbers")},S.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):(l(e,e.umod(this.m)._forceRed(this)),e)},S.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},S.prototype.add=function(e,t){this._verify2(e,t);var n=e.add(t);return n.cmp(this.m)>=0&&n.isub(this.m),n._forceRed(this)},S.prototype.iadd=function(e,t){this._verify2(e,t);var n=e.iadd(t);return n.cmp(this.m)>=0&&n.isub(this.m),n},S.prototype.sub=function(e,t){this._verify2(e,t);var n=e.sub(t);return n.cmpn(0)<0&&n.iadd(this.m),n._forceRed(this)},S.prototype.isub=function(e,t){this._verify2(e,t);var n=e.isub(t);return n.cmpn(0)<0&&n.iadd(this.m),n},S.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},S.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},S.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},S.prototype.isqr=function(e){return this.imul(e,e.clone())},S.prototype.sqr=function(e){return this.mul(e,e)},S.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(o(t%2==1),3===t){var n=this.m.add(new i(1)).iushrn(2);return this.pow(e,n)}for(var r=this.m.subn(1),a=0;!r.isZero()&&0===r.andln(1);)a++,r.iushrn(1);o(!r.isZero());var s=new i(1).toRed(this),u=s.redNeg(),c=this.m.subn(1).iushrn(1),l=this.m.bitLength();for(l=new i(2*l*l).toRed(this);0!==this.pow(l,c).cmp(u);)l.redIAdd(u);for(var d=this.pow(l,r),h=this.pow(e,r.addn(1).iushrn(1)),p=this.pow(e,r),f=a;0!==p.cmp(s);){for(var g=p,m=0;0!==g.cmp(s);m++)g=g.redSqr();o(m=0;o--){for(var c=t.words[o],l=u-1;l>=0;l--){var d=c>>l&1;r!==n[0]&&(r=this.sqr(r)),0!==d||0!==a?(a<<=1,a|=d,(4==++s||0===o&&0===l)&&(r=this.mul(r,n[a]),s=0,a=0)):s=0}u=26}return r},S.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},S.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},i.mont=function(e){return new x(e)},r(x,S),x.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},x.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},x.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var n=e.imul(t),o=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=n.isub(o).iushrn(this.shift),i=r;return r.cmp(this.m)>=0?i=r.isub(this.m):r.cmpn(0)<0&&(i=r.iadd(this.m)),i._forceRed(this)},x.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new i(0)._forceRed(this);var n=e.mul(t),o=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=n.isub(o).iushrn(this.shift),a=r;return r.cmp(this.m)>=0?a=r.isub(this.m):r.cmpn(0)<0&&(a=r.iadd(this.m)),a._forceRed(this)},x.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e=n.nmd(e),this)},29931:(e,t,n)=>{var o;function r(e){this.rand=e}if(e.exports=function(e){return o||(o=new r(null)),o.generate(e)},e.exports.Rand=r,r.prototype.generate=function(e){return this._rand(e)},r.prototype._rand=function(e){if(this.rand.getBytes)return this.rand.getBytes(e);for(var t=new Uint8Array(e),n=0;n{function n(e){var t=String.fromCharCode.apply(null,e),n=window.btoa(t),o=e.length,r=4*Math.floor((o+2)/3)+(o+2)%3-2;return n.slice(0,r)}try{t.encryptAttachment=function(e){var t,o,r,i,a;return a=new Uint8Array(16),window.crypto.getRandomValues(a.subarray(0,8)),window.crypto.subtle.generateKey({name:"AES-CTR",length:256},!0,["encrypt","decrypt"]).then((function(e){return t=e,window.crypto.subtle.exportKey("jwk",t)})).then((function(n){return o=n,window.crypto.subtle.encrypt({name:"AES-CTR",counter:a,length:64},t,e)})).then((function(e){return r=e,window.crypto.subtle.digest("SHA-256",r)})).then((function(e){return i=e,{data:r,info:{v:"v2",key:o,iv:n(a),hashes:{sha256:n(new Uint8Array(i))}}}}))},t.decryptAttachment=function(e,t){if(void 0===t||void 0===t.key||void 0===t.iv||void 0===t.hashes||void 0===t.hashes.sha256)throw new Error("Invalid info. Missing info.key, info.iv or info.hashes.sha256 key");var o,r=function(e){for(var t=e+"===".slice(0,(4-e.length%4)%4),n=window.atob(t),o=new Uint8Array(n.length),r=0;r>18&63,n=i>>12&63,o=i>>6&63,r=63&i,l[u++]=a.charAt(t)+a.charAt(n)+a.charAt(o)+a.charAt(r)}while(s299)&&o.error){for(var r in e=new Error("CouchDB error: "+(o.error.reason||o.error.error)),o)e[r]=o[r];return n(e,t,o)}return n(e,t,o)}))},t})?n.apply(t,[]):n)||(e.exports=o)},74497:(e,t,n)=>{var o=n(89509).Buffer;function r(e){o.isBuffer(e)||(e=o.from(e));for(var t=e.length/4|0,n=new Array(t),r=0;r>>24]^l[f>>>16&255]^d[g>>>8&255]^h[255&m]^t[_++],a=c[f>>>24]^l[g>>>16&255]^d[m>>>8&255]^h[255&p]^t[_++],s=c[g>>>24]^l[m>>>16&255]^d[p>>>8&255]^h[255&f]^t[_++],u=c[m>>>24]^l[p>>>16&255]^d[f>>>8&255]^h[255&g]^t[_++],p=i,f=a,g=s,m=u;return i=(o[p>>>24]<<24|o[f>>>16&255]<<16|o[g>>>8&255]<<8|o[255&m])^t[_++],a=(o[f>>>24]<<24|o[g>>>16&255]<<16|o[m>>>8&255]<<8|o[255&p])^t[_++],s=(o[g>>>24]<<24|o[m>>>16&255]<<16|o[p>>>8&255]<<8|o[255&f])^t[_++],u=(o[m>>>24]<<24|o[p>>>16&255]<<16|o[f>>>8&255]<<8|o[255&g])^t[_++],[i>>>=0,a>>>=0,s>>>=0,u>>>=0]}var s=[0,1,2,4,8,16,32,64,128,27,54],u=function(){for(var e=new Array(256),t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;for(var n=[],o=[],r=[[],[],[],[]],i=[[],[],[],[]],a=0,s=0,u=0;u<256;++u){var c=s^s<<1^s<<2^s<<3^s<<4;c=c>>>8^255&c^99,n[a]=c,o[c]=a;var l=e[a],d=e[l],h=e[d],p=257*e[c]^16843008*c;r[0][a]=p<<24|p>>>8,r[1][a]=p<<16|p>>>16,r[2][a]=p<<8|p>>>24,r[3][a]=p,p=16843009*h^65537*d^257*l^16843008*a,i[0][c]=p<<24|p>>>8,i[1][c]=p<<16|p>>>16,i[2][c]=p<<8|p>>>24,i[3][c]=p,0===a?a=s=1:(a=l^e[e[e[h^l]]],s^=e[e[s]])}return{SBOX:n,INV_SBOX:o,SUB_MIX:r,INV_SUB_MIX:i}}();function c(e){this._key=r(e),this._reset()}c.blockSize=16,c.keySize=32,c.prototype.blockSize=c.blockSize,c.prototype.keySize=c.keySize,c.prototype._reset=function(){for(var e=this._key,t=e.length,n=t+6,o=4*(n+1),r=[],i=0;i>>24,a=u.SBOX[a>>>24]<<24|u.SBOX[a>>>16&255]<<16|u.SBOX[a>>>8&255]<<8|u.SBOX[255&a],a^=s[i/t|0]<<24):t>6&&i%t==4&&(a=u.SBOX[a>>>24]<<24|u.SBOX[a>>>16&255]<<16|u.SBOX[a>>>8&255]<<8|u.SBOX[255&a]),r[i]=r[i-t]^a}for(var c=[],l=0;l>>24]]^u.INV_SUB_MIX[1][u.SBOX[h>>>16&255]]^u.INV_SUB_MIX[2][u.SBOX[h>>>8&255]]^u.INV_SUB_MIX[3][u.SBOX[255&h]]}this._nRounds=n,this._keySchedule=r,this._invKeySchedule=c},c.prototype.encryptBlockRaw=function(e){return a(e=r(e),this._keySchedule,u.SUB_MIX,u.SBOX,this._nRounds)},c.prototype.encryptBlock=function(e){var t=this.encryptBlockRaw(e),n=o.allocUnsafe(16);return n.writeUInt32BE(t[0],0),n.writeUInt32BE(t[1],4),n.writeUInt32BE(t[2],8),n.writeUInt32BE(t[3],12),n},c.prototype.decryptBlock=function(e){var t=(e=r(e))[1];e[1]=e[3],e[3]=t;var n=a(e,this._invKeySchedule,u.INV_SUB_MIX,u.INV_SBOX,this._nRounds),i=o.allocUnsafe(16);return i.writeUInt32BE(n[0],0),i.writeUInt32BE(n[3],4),i.writeUInt32BE(n[2],8),i.writeUInt32BE(n[1],12),i},c.prototype.scrub=function(){i(this._keySchedule),i(this._invKeySchedule),i(this._key)},e.exports.AES=c},62422:(e,t,n)=>{var o=n(74497),r=n(89509).Buffer,i=n(71027),a=n(35717),s=n(83288),u=n(67295),c=n(20685);function l(e,t,n,a){i.call(this);var u=r.alloc(4,0);this._cipher=new o.AES(t);var l=this._cipher.encryptBlock(u);this._ghash=new s(l),n=function(e,t,n){if(12===t.length)return e._finID=r.concat([t,r.from([0,0,0,1])]),r.concat([t,r.from([0,0,0,2])]);var o=new s(n),i=t.length,a=i%16;o.update(t),a&&(a=16-a,o.update(r.alloc(a,0))),o.update(r.alloc(8,0));var u=8*i,l=r.alloc(8);l.writeUIntBE(u,0,8),o.update(l),e._finID=o.state;var d=r.from(e._finID);return c(d),d}(this,n,l),this._prev=r.from(n),this._cache=r.allocUnsafe(0),this._secCache=r.allocUnsafe(0),this._decrypt=a,this._alen=0,this._len=0,this._mode=e,this._authTag=null,this._called=!1}a(l,i),l.prototype._update=function(e){if(!this._called&&this._alen){var t=16-this._alen%16;t<16&&(t=r.alloc(t,0),this._ghash.update(t))}this._called=!0;var n=this._mode.encrypt(this,e);return this._decrypt?this._ghash.update(e):this._ghash.update(n),this._len+=e.length,n},l.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error("Unsupported state or unable to authenticate data");var e=u(this._ghash.final(8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt&&function(e,t){var n=0;e.length!==t.length&&n++;for(var o=Math.min(e.length,t.length),r=0;r{var o=n(71494),r=n(66193),i=n(55415);t.createCipher=t.Cipher=o.createCipher,t.createCipheriv=t.Cipheriv=o.createCipheriv,t.createDecipher=t.Decipher=r.createDecipher,t.createDecipheriv=t.Decipheriv=r.createDecipheriv,t.listCiphers=t.getCiphers=function(){return Object.keys(i)}},66193:(e,t,n)=>{var o=n(62422),r=n(89509).Buffer,i=n(45),a=n(25969),s=n(71027),u=n(74497),c=n(13048);function l(e,t,n){s.call(this),this._cache=new d,this._last=void 0,this._cipher=new u.AES(t),this._prev=r.from(n),this._mode=e,this._autopadding=!0}function d(){this.cache=r.allocUnsafe(0)}function h(e,t,n){var s=i[e.toLowerCase()];if(!s)throw new TypeError("invalid suite type");if("string"==typeof n&&(n=r.from(n)),"GCM"!==s.mode&&n.length!==s.iv)throw new TypeError("invalid iv length "+n.length);if("string"==typeof t&&(t=r.from(t)),t.length!==s.key/8)throw new TypeError("invalid key length "+t.length);return"stream"===s.type?new a(s.module,t,n,!0):"auth"===s.type?new o(s.module,t,n,!0):new l(s.module,t,n)}n(35717)(l,s),l.prototype._update=function(e){var t,n;this._cache.add(e);for(var o=[];t=this._cache.get(this._autopadding);)n=this._mode.decrypt(this,t),o.push(n);return r.concat(o)},l.prototype._final=function(){var e=this._cache.flush();if(this._autopadding)return function(e){var t=e[15];if(t<1||t>16)throw new Error("unable to decrypt data");for(var n=-1;++n16)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t}else if(this.cache.length>=16)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t;return null},d.prototype.flush=function(){if(this.cache.length)return this.cache},t.createDecipher=function(e,t){var n=i[e.toLowerCase()];if(!n)throw new TypeError("invalid suite type");var o=c(t,!1,n.key,n.iv);return h(e,o.key,o.iv)},t.createDecipheriv=h},71494:(e,t,n)=>{var o=n(45),r=n(62422),i=n(89509).Buffer,a=n(25969),s=n(71027),u=n(74497),c=n(13048);function l(e,t,n){s.call(this),this._cache=new h,this._cipher=new u.AES(t),this._prev=i.from(n),this._mode=e,this._autopadding=!0}n(35717)(l,s),l.prototype._update=function(e){var t,n;this._cache.add(e);for(var o=[];t=this._cache.get();)n=this._mode.encrypt(this,t),o.push(n);return i.concat(o)};var d=i.alloc(16,16);function h(){this.cache=i.allocUnsafe(0)}function p(e,t,n){var s=o[e.toLowerCase()];if(!s)throw new TypeError("invalid suite type");if("string"==typeof t&&(t=i.from(t)),t.length!==s.key/8)throw new TypeError("invalid key length "+t.length);if("string"==typeof n&&(n=i.from(n)),"GCM"!==s.mode&&n.length!==s.iv)throw new TypeError("invalid iv length "+n.length);return"stream"===s.type?new a(s.module,t,n):"auth"===s.type?new r(s.module,t,n):new l(s.module,t,n)}l.prototype._final=function(){var e=this._cache.flush();if(this._autopadding)return e=this._mode.encrypt(this,e),this._cipher.scrub(),e;if(!e.equals(d))throw this._cipher.scrub(),new Error("data not multiple of block length")},l.prototype.setAutoPadding=function(e){return this._autopadding=!!e,this},h.prototype.add=function(e){this.cache=i.concat([this.cache,e])},h.prototype.get=function(){if(this.cache.length>15){var e=this.cache.slice(0,16);return this.cache=this.cache.slice(16),e}return null},h.prototype.flush=function(){for(var e=16-this.cache.length,t=i.allocUnsafe(e),n=-1;++n{var o=n(89509).Buffer,r=o.alloc(16,0);function i(e){var t=o.allocUnsafe(16);return t.writeUInt32BE(e[0]>>>0,0),t.writeUInt32BE(e[1]>>>0,4),t.writeUInt32BE(e[2]>>>0,8),t.writeUInt32BE(e[3]>>>0,12),t}function a(e){this.h=e,this.state=o.alloc(16,0),this.cache=o.allocUnsafe(0)}a.prototype.ghash=function(e){for(var t=-1;++t0;t--)o[t]=o[t]>>>1|(1&o[t-1])<<31;o[0]=o[0]>>>1,n&&(o[0]=o[0]^225<<24)}this.state=i(r)},a.prototype.update=function(e){var t;for(this.cache=o.concat([this.cache,e]);this.cache.length>=16;)t=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(t)},a.prototype.final=function(e,t){return this.cache.length&&this.ghash(o.concat([this.cache,r],16)),this.ghash(i([0,e,0,t])),this.state},e.exports=a},20685:e=>{e.exports=function(e){for(var t,n=e.length;n--;){if(255!==(t=e.readUInt8(n))){t++,e.writeUInt8(t,n);break}e.writeUInt8(0,n)}}},25292:(e,t,n)=>{var o=n(67295);t.encrypt=function(e,t){var n=o(t,e._prev);return e._prev=e._cipher.encryptBlock(n),e._prev},t.decrypt=function(e,t){var n=e._prev;e._prev=t;var r=e._cipher.decryptBlock(t);return o(r,n)}},86311:(e,t,n)=>{var o=n(89509).Buffer,r=n(67295);function i(e,t,n){var i=t.length,a=r(t,e._cache);return e._cache=e._cache.slice(i),e._prev=o.concat([e._prev,n?t:a]),a}t.encrypt=function(e,t,n){for(var r,a=o.allocUnsafe(0);t.length;){if(0===e._cache.length&&(e._cache=e._cipher.encryptBlock(e._prev),e._prev=o.allocUnsafe(0)),!(e._cache.length<=t.length)){a=o.concat([a,i(e,t,n)]);break}r=e._cache.length,a=o.concat([a,i(e,t.slice(0,r),n)]),t=t.slice(r)}return a}},21510:(e,t,n)=>{var o=n(89509).Buffer;function r(e,t,n){for(var o,r,a=-1,s=0;++a<8;)o=t&1<<7-a?128:0,s+=(128&(r=e._cipher.encryptBlock(e._prev)[0]^o))>>a%8,e._prev=i(e._prev,n?o:r);return s}function i(e,t){var n=e.length,r=-1,i=o.allocUnsafe(e.length);for(e=o.concat([e,o.from([t])]);++r>7;return i}t.encrypt=function(e,t,n){for(var i=t.length,a=o.allocUnsafe(i),s=-1;++s{var o=n(89509).Buffer;function r(e,t,n){var r=e._cipher.encryptBlock(e._prev)[0]^t;return e._prev=o.concat([e._prev.slice(1),o.from([n?t:r])]),r}t.encrypt=function(e,t,n){for(var i=t.length,a=o.allocUnsafe(i),s=-1;++s{var o=n(67295),r=n(89509).Buffer,i=n(20685);function a(e){var t=e._cipher.encryptBlockRaw(e._prev);return i(e._prev),t}t.encrypt=function(e,t){var n=Math.ceil(t.length/16),i=e._cache.length;e._cache=r.concat([e._cache,r.allocUnsafe(16*n)]);for(var s=0;s{t.encrypt=function(e,t){return e._cipher.encryptBlock(t)},t.decrypt=function(e,t){return e._cipher.decryptBlock(t)}},45:(e,t,n)=>{var o={ECB:n(11084),CBC:n(25292),CFB:n(86311),CFB8:n(71964),CFB1:n(21510),OFB:n(18861),CTR:n(96009),GCM:n(96009)},r=n(55415);for(var i in r)r[i].module=o[r[i].mode];e.exports=r},55415:e=>{"use strict";e.exports=JSON.parse('{"aes-128-ecb":{"cipher":"AES","key":128,"iv":0,"mode":"ECB","type":"block"},"aes-192-ecb":{"cipher":"AES","key":192,"iv":0,"mode":"ECB","type":"block"},"aes-256-ecb":{"cipher":"AES","key":256,"iv":0,"mode":"ECB","type":"block"},"aes-128-cbc":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes-192-cbc":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes-256-cbc":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes128":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes192":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes256":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes-128-cfb":{"cipher":"AES","key":128,"iv":16,"mode":"CFB","type":"stream"},"aes-192-cfb":{"cipher":"AES","key":192,"iv":16,"mode":"CFB","type":"stream"},"aes-256-cfb":{"cipher":"AES","key":256,"iv":16,"mode":"CFB","type":"stream"},"aes-128-cfb8":{"cipher":"AES","key":128,"iv":16,"mode":"CFB8","type":"stream"},"aes-192-cfb8":{"cipher":"AES","key":192,"iv":16,"mode":"CFB8","type":"stream"},"aes-256-cfb8":{"cipher":"AES","key":256,"iv":16,"mode":"CFB8","type":"stream"},"aes-128-cfb1":{"cipher":"AES","key":128,"iv":16,"mode":"CFB1","type":"stream"},"aes-192-cfb1":{"cipher":"AES","key":192,"iv":16,"mode":"CFB1","type":"stream"},"aes-256-cfb1":{"cipher":"AES","key":256,"iv":16,"mode":"CFB1","type":"stream"},"aes-128-ofb":{"cipher":"AES","key":128,"iv":16,"mode":"OFB","type":"stream"},"aes-192-ofb":{"cipher":"AES","key":192,"iv":16,"mode":"OFB","type":"stream"},"aes-256-ofb":{"cipher":"AES","key":256,"iv":16,"mode":"OFB","type":"stream"},"aes-128-ctr":{"cipher":"AES","key":128,"iv":16,"mode":"CTR","type":"stream"},"aes-192-ctr":{"cipher":"AES","key":192,"iv":16,"mode":"CTR","type":"stream"},"aes-256-ctr":{"cipher":"AES","key":256,"iv":16,"mode":"CTR","type":"stream"},"aes-128-gcm":{"cipher":"AES","key":128,"iv":12,"mode":"GCM","type":"auth"},"aes-192-gcm":{"cipher":"AES","key":192,"iv":12,"mode":"GCM","type":"auth"},"aes-256-gcm":{"cipher":"AES","key":256,"iv":12,"mode":"GCM","type":"auth"}}')},18861:(e,t,n)=>{var o=n(67295);function r(e){return e._prev=e._cipher.encryptBlock(e._prev),e._prev}t.encrypt=function(e,t){for(;e._cache.length{var o=n(74497),r=n(89509).Buffer,i=n(71027);function a(e,t,n,a){i.call(this),this._cipher=new o.AES(t),this._prev=r.from(n),this._cache=r.allocUnsafe(0),this._secCache=r.allocUnsafe(0),this._decrypt=a,this._mode=e}n(35717)(a,i),a.prototype._update=function(e){return this._mode.encrypt(this,e,this._decrypt)},a.prototype._final=function(){this._cipher.scrub()},e.exports=a},53614:(e,t,n)=>{var o=n(47667),r=n(44696),i=n(45),a=n(99715),s=n(13048);function u(e,t,n){if(e=e.toLowerCase(),i[e])return r.createCipheriv(e,t,n);if(a[e])return new o({key:t,iv:n,mode:e});throw new TypeError("invalid suite type")}function c(e,t,n){if(e=e.toLowerCase(),i[e])return r.createDecipheriv(e,t,n);if(a[e])return new o({key:t,iv:n,mode:e,decrypt:!0});throw new TypeError("invalid suite type")}t.createCipher=t.Cipher=function(e,t){var n,o;if(e=e.toLowerCase(),i[e])n=i[e].key,o=i[e].iv;else{if(!a[e])throw new TypeError("invalid suite type");n=8*a[e].key,o=a[e].iv}var r=s(t,!1,n,o);return u(e,r.key,r.iv)},t.createCipheriv=t.Cipheriv=u,t.createDecipher=t.Decipher=function(e,t){var n,o;if(e=e.toLowerCase(),i[e])n=i[e].key,o=i[e].iv;else{if(!a[e])throw new TypeError("invalid suite type");n=8*a[e].key,o=a[e].iv}var r=s(t,!1,n,o);return c(e,r.key,r.iv)},t.createDecipheriv=t.Decipheriv=c,t.listCiphers=t.getCiphers=function(){return Object.keys(a).concat(r.getCiphers())}},47667:(e,t,n)=>{var o=n(71027),r=n(15251),i=n(35717),a=n(89509).Buffer,s={"des-ede3-cbc":r.CBC.instantiate(r.EDE),"des-ede3":r.EDE,"des-ede-cbc":r.CBC.instantiate(r.EDE),"des-ede":r.EDE,"des-cbc":r.CBC.instantiate(r.DES),"des-ecb":r.DES};function u(e){o.call(this);var t,n=e.mode.toLowerCase(),r=s[n];t=e.decrypt?"decrypt":"encrypt";var i=e.key;a.isBuffer(i)||(i=a.from(i)),"des-ede"!==n&&"des-ede-cbc"!==n||(i=a.concat([i,i.slice(0,8)]));var u=e.iv;a.isBuffer(u)||(u=a.from(u)),this._des=r.create({key:i,iv:u,type:t})}s.des=s["des-cbc"],s.des3=s["des-ede3-cbc"],e.exports=u,i(u,o),u.prototype._update=function(e){return a.from(this._des.update(e))},u.prototype._final=function(){return a.from(this._des.final())}},99715:(e,t)=>{t["des-ecb"]={key:8,iv:0},t["des-cbc"]=t.des={key:8,iv:8},t["des-ede3-cbc"]=t.des3={key:24,iv:8},t["des-ede3"]={key:24,iv:0},t["des-ede-cbc"]={key:16,iv:8},t["des-ede"]={key:16,iv:0}},23384:(e,t,n)=>{var o=n(99558),r=n(34918),i=n(49942),a=r("level-filesystem",{db:o});e.exports=i(a)},23663:(e,t,n)=>{var o=n(13550),r=n(61798);function i(e){var t,n=e.modulus.byteLength();do{t=new o(r(n))}while(t.cmp(e.modulus)>=0||!t.umod(e.prime1)||!t.umod(e.prime2));return t}function a(e,t){var n=function(e){var t=i(e);return{blinder:t.toRed(o.mont(e.modulus)).redPow(new o(e.publicExponent)).fromRed(),unblinder:t.invm(e.modulus)}}(t),r=t.modulus.byteLength(),a=new o(e).mul(n.blinder).umod(t.modulus),s=a.toRed(o.mont(t.prime1)),u=a.toRed(o.mont(t.prime2)),c=t.coefficient,l=t.prime1,d=t.prime2,h=s.redPow(t.exponent1).fromRed(),p=u.redPow(t.exponent2).fromRed(),f=h.isub(p).imul(c).umod(l).imul(d);return p.iadd(f).imul(n.unblinder).umod(t.modulus).toArrayLike(Buffer,"be",r)}a.getr=i,e.exports=a},56042:(e,t,n)=>{e.exports=n(42063)},42063:e=>{"use strict";e.exports=JSON.parse('{"sha224WithRSAEncryption":{"sign":"rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"RSA-SHA224":{"sign":"ecdsa/rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"sha256WithRSAEncryption":{"sign":"rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"RSA-SHA256":{"sign":"ecdsa/rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"sha384WithRSAEncryption":{"sign":"rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"RSA-SHA384":{"sign":"ecdsa/rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"sha512WithRSAEncryption":{"sign":"rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA512":{"sign":"ecdsa/rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA1":{"sign":"rsa","hash":"sha1","id":"3021300906052b0e03021a05000414"},"ecdsa-with-SHA1":{"sign":"ecdsa","hash":"sha1","id":""},"sha256":{"sign":"ecdsa","hash":"sha256","id":""},"sha224":{"sign":"ecdsa","hash":"sha224","id":""},"sha384":{"sign":"ecdsa","hash":"sha384","id":""},"sha512":{"sign":"ecdsa","hash":"sha512","id":""},"DSA-SHA":{"sign":"dsa","hash":"sha1","id":""},"DSA-SHA1":{"sign":"dsa","hash":"sha1","id":""},"DSA":{"sign":"dsa","hash":"sha1","id":""},"DSA-WITH-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-WITH-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-WITH-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-WITH-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-RIPEMD160":{"sign":"dsa","hash":"rmd160","id":""},"ripemd160WithRSA":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"RSA-RIPEMD160":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"md5WithRSAEncryption":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"},"RSA-MD5":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"}}')},42236:e=>{"use strict";e.exports=JSON.parse('{"1.3.132.0.10":"secp256k1","1.3.132.0.33":"p224","1.2.840.10045.3.1.1":"p192","1.2.840.10045.3.1.7":"p256","1.3.132.0.34":"p384","1.3.132.0.35":"p521"}')},64743:(e,t,n)=>{var o=n(89509).Buffer,r=n(23482),i=n(23872),a=n(35717),s=n(82957),u=n(47753),c=n(42063);function l(e){i.Writable.call(this);var t=c[e];if(!t)throw new Error("Unknown message digest");this._hashType=t.hash,this._hash=r(t.hash),this._tag=t.id,this._signType=t.sign}function d(e){i.Writable.call(this);var t=c[e];if(!t)throw new Error("Unknown message digest");this._hash=r(t.hash),this._tag=t.id,this._signType=t.sign}function h(e){return new l(e)}function p(e){return new d(e)}Object.keys(c).forEach((function(e){c[e].id=o.from(c[e].id,"hex"),c[e.toLowerCase()]=c[e]})),a(l,i.Writable),l.prototype._write=function(e,t,n){this._hash.update(e),n()},l.prototype.update=function(e,t){return"string"==typeof e&&(e=o.from(e,t)),this._hash.update(e),this},l.prototype.sign=function(e,t){this.end();var n=this._hash.digest(),o=s(n,e,this._hashType,this._signType,this._tag);return t?o.toString(t):o},a(d,i.Writable),d.prototype._write=function(e,t,n){this._hash.update(e),n()},d.prototype.update=function(e,t){return"string"==typeof e&&(e=o.from(e,t)),this._hash.update(e),this},d.prototype.verify=function(e,t,n){"string"==typeof t&&(t=o.from(t,n)),this.end();var r=this._hash.digest();return u(t,r,e,this._signType,this._tag)},e.exports={Sign:h,Verify:p,createSign:h,createVerify:p}},82957:(e,t,n)=>{var o=n(89509).Buffer,r=n(58355),i=n(23663),a=n(86266).ec,s=n(13550),u=n(70980),c=n(42236);function l(e,t,n,i){if((e=o.from(e.toArray())).length0&&n.ishrn(o),n}function h(e,t,n){var i,a;do{for(i=o.alloc(0);8*i.length{var o=n(89509).Buffer,r=n(13550),i=n(86266).ec,a=n(70980),s=n(42236);function u(e,t){if(e.cmpn(0)<=0)throw new Error("invalid sig");if(e.cmp(t)>=t)throw new Error("invalid sig")}e.exports=function(e,t,n,c,l){var d=a(n);if("ec"===d.type){if("ecdsa"!==c&&"ecdsa/rsa"!==c)throw new Error("wrong public key type");return function(e,t,n){var o=s[n.data.algorithm.curve.join(".")];if(!o)throw new Error("unknown curve "+n.data.algorithm.curve.join("."));var r=new i(o),a=n.data.subjectPrivateKey.data;return r.verify(t,e,a)}(e,t,d)}if("dsa"===d.type){if("dsa"!==c)throw new Error("wrong public key type");return function(e,t,n){var o=n.data.p,i=n.data.q,s=n.data.g,c=n.data.pub_key,l=a.signature.decode(e,"der"),d=l.s,h=l.r;u(d,i),u(h,i);var p=r.mont(o),f=d.invm(i);return 0===s.toRed(p).redPow(new r(t).mul(f).mod(i)).fromRed().mul(c.toRed(p).redPow(h.mul(f).mod(i)).fromRed()).mod(o).mod(i).cmp(h)}(e,t,d)}if("rsa"!==c&&"ecdsa/rsa"!==c)throw new Error("wrong public key type");t=o.concat([l,t]);for(var h=d.modulus.byteLength(),p=[1],f=0;t.length+p.length+2{"use strict";var t={};function n(e,n,o){o||(o=Error);var r=function(e){var t,o;function r(t,o,r){return e.call(this,function(e,t,o){return"string"==typeof n?n:n(e,t,o)}(t,o,r))||this}return o=e,(t=r).prototype=Object.create(o.prototype),t.prototype.constructor=t,t.__proto__=o,r}(o);r.prototype.name=o.name,r.prototype.code=e,t[e]=r}function o(e,t){if(Array.isArray(e)){var n=e.length;return e=e.map((function(e){return String(e)})),n>2?"one of ".concat(t," ").concat(e.slice(0,n-1).join(", "),", or ")+e[n-1]:2===n?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}return"of ".concat(t," ").concat(String(e))}n("ERR_INVALID_OPT_VALUE",(function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'}),TypeError),n("ERR_INVALID_ARG_TYPE",(function(e,t,n){var r,i,a,s,u;if("string"==typeof t&&(i="not ",t.substr(0,i.length)===i)?(r="must not be",t=t.replace(/^not /,"")):r="must be",function(e,t,n){return(void 0===n||n>e.length)&&(n=e.length),e.substring(n-t.length,n)===t}(e," argument"))a="The ".concat(e," ").concat(r," ").concat(o(t,"type"));else{var c=("number"!=typeof u&&(u=0),u+".".length>(s=e).length||-1===s.indexOf(".",u)?"argument":"property");a='The "'.concat(e,'" ').concat(c," ").concat(r," ").concat(o(t,"type"))}return a+". Received type ".concat(typeof n)}),TypeError),n("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),n("ERR_METHOD_NOT_IMPLEMENTED",(function(e){return"The "+e+" method is not implemented"})),n("ERR_STREAM_PREMATURE_CLOSE","Premature close"),n("ERR_STREAM_DESTROYED",(function(e){return"Cannot call "+e+" after a stream was destroyed"})),n("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),n("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),n("ERR_STREAM_WRITE_AFTER_END","write after end"),n("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),n("ERR_UNKNOWN_ENCODING",(function(e){return"Unknown encoding: "+e}),TypeError),n("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),e.exports.q=t},34390:(e,t,n)=>{"use strict";var o=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};e.exports=c;var r=n(44960),i=n(92010);n(35717)(c,r);for(var a=o(i.prototype),s=0;s{"use strict";e.exports=r;var o=n(3912);function r(e){if(!(this instanceof r))return new r(e);o.call(this,e)}n(35717)(r,o),r.prototype._transform=function(e,t,n){n(null,e)}},44960:(e,t,n)=>{"use strict";var o;e.exports=k,k.ReadableState=E,n(17187).EventEmitter;var r,i=function(e,t){return e.listeners(t).length},a=n(59819),s=n(48764).Buffer,u=n.g.Uint8Array||function(){},c=n(56353);r=c&&c.debuglog?c.debuglog("stream"):function(){};var l,d,h,p=n(76633),f=n(75997),g=n(898).getHighWaterMark,m=n(84419).q,_=m.ERR_INVALID_ARG_TYPE,F=m.ERR_STREAM_PUSH_AFTER_EOF,y=m.ERR_METHOD_NOT_IMPLEMENTED,b=m.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;n(35717)(k,a);var v=f.errorOrDestroy,w=["error","close","destroy","pause","resume"];function E(e,t,r){o=o||n(34390),e=e||{},"boolean"!=typeof r&&(r=t instanceof o),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=g(this,e,"readableHighWaterMark",r),this.buffer=new p,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(l||(l=n(32553).s),this.decoder=new l(e.encoding),this.encoding=e.encoding)}function k(e){if(o=o||n(34390),!(this instanceof k))return new k(e);var t=this instanceof o;this._readableState=new E(e,this,t),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),a.call(this)}function D(e,t,n,o,i){r("readableAddChunk",t);var a,c=e._readableState;if(null===t)c.reading=!1,function(e,t){if(r("onEofChunk"),!t.ended){if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,t.sync?A(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,T(e)))}}(e,c);else if(i||(a=function(e,t){var n,o;return o=t,s.isBuffer(o)||o instanceof u||"string"==typeof t||void 0===t||e.objectMode||(n=new _("chunk",["string","Buffer","Uint8Array"],t)),n}(c,t)),a)v(e,a);else if(c.objectMode||t&&t.length>0)if("string"==typeof t||c.objectMode||Object.getPrototypeOf(t)===s.prototype||(t=function(e){return s.from(e)}(t)),o)c.endEmitted?v(e,new b):S(e,c,t,!0);else if(c.ended)v(e,new F);else{if(c.destroyed)return!1;c.reading=!1,c.decoder&&!n?(t=c.decoder.write(t),c.objectMode||0!==t.length?S(e,c,t,!1):R(e,c)):S(e,c,t,!1)}else o||(c.reading=!1,R(e,c));return!c.ended&&(c.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=x?e=x:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function A(e){var t=e._readableState;r("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(r("emitReadable",t.flowing),t.emittedReadable=!0,process.nextTick(T,e))}function T(e){var t=e._readableState;r("emitReadable_",t.destroyed,t.length,t.ended),t.destroyed||!t.length&&!t.ended||(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,N(e)}function R(e,t){t.readingMore||(t.readingMore=!0,process.nextTick(I,e,t))}function I(e,t){for(;!t.reading&&!t.ended&&(t.length0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function O(e){r("readable nexttick read 0"),e.read(0)}function B(e,t){r("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),N(e),t.flowing&&!t.reading&&e.read(0)}function N(e){var t=e._readableState;for(r("flow",t.flowing);t.flowing&&null!==e.read(););}function L(e,t){return 0===t.length?null:(t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):n=t.buffer.consume(e,t.decoder),n);var n}function P(e){var t=e._readableState;r("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,process.nextTick(U,t,e))}function U(e,t){if(r("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var n=t._writableState;(!n||n.autoDestroy&&n.finished)&&t.destroy()}}function j(e,t){for(var n=0,o=e.length;n=t.highWaterMark:t.length>0)||t.ended))return r("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?P(this):A(this),null;if(0===(e=C(e,t))&&t.ended)return 0===t.length&&P(this),null;var o,i=t.needReadable;return r("need readable",i),(0===t.length||t.length-e0?L(e,t):null)?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&P(this)),null!==o&&this.emit("data",o),o},k.prototype._read=function(e){v(this,new y("_read()"))},k.prototype.pipe=function(e,t){var n=this,o=this._readableState;switch(o.pipesCount){case 0:o.pipes=e;break;case 1:o.pipes=[o.pipes,e];break;default:o.pipes.push(e)}o.pipesCount+=1,r("pipe count=%d opts=%j",o.pipesCount,t);var a=t&&!1===t.end||e===process.stdout||e===process.stderr?f:s;function s(){r("onend"),e.end()}o.endEmitted?process.nextTick(a):n.once("end",a),e.on("unpipe",(function t(i,a){r("onunpipe"),i===n&&a&&!1===a.hasUnpiped&&(a.hasUnpiped=!0,r("cleanup"),e.removeListener("close",h),e.removeListener("finish",p),e.removeListener("drain",u),e.removeListener("error",d),e.removeListener("unpipe",t),n.removeListener("end",s),n.removeListener("end",f),n.removeListener("data",l),c=!0,!o.awaitDrain||e._writableState&&!e._writableState.needDrain||u())}));var u=function(e){return function(){var t=e._readableState;r("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&i(e,"data")&&(t.flowing=!0,N(e))}}(n);e.on("drain",u);var c=!1;function l(t){r("ondata");var i=e.write(t);r("dest.write",i),!1===i&&((1===o.pipesCount&&o.pipes===e||o.pipesCount>1&&-1!==j(o.pipes,e))&&!c&&(r("false write response, pause",o.awaitDrain),o.awaitDrain++),n.pause())}function d(t){r("onerror",t),f(),e.removeListener("error",d),0===i(e,"error")&&v(e,t)}function h(){e.removeListener("finish",p),f()}function p(){r("onfinish"),e.removeListener("close",h),f()}function f(){r("unpipe"),n.unpipe(e)}return n.on("data",l),function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events.error?Array.isArray(e._events.error)?e._events.error.unshift(n):e._events.error=[n,e._events.error]:e.on(t,n)}(e,"error",d),e.once("close",h),e.once("finish",p),e.emit("pipe",n),o.flowing||(r("pipe resume"),n.resume()),e},k.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n)),this;if(!e){var o=t.pipes,r=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var i=0;i0,!1!==o.flowing&&this.resume()):"readable"===e&&(o.endEmitted||o.readableListening||(o.readableListening=o.needReadable=!0,o.flowing=!1,o.emittedReadable=!1,r("on readable",o.length,o.reading),o.length?A(this):o.reading||process.nextTick(O,this))),n},k.prototype.addListener=k.prototype.on,k.prototype.removeListener=function(e,t){var n=a.prototype.removeListener.call(this,e,t);return"readable"===e&&process.nextTick(M,this),n},k.prototype.removeAllListeners=function(e){var t=a.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||process.nextTick(M,this),t},k.prototype.resume=function(){var e=this._readableState;return e.flowing||(r("resume"),e.flowing=!e.readableListening,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,process.nextTick(B,e,t))}(this,e)),e.paused=!1,this},k.prototype.pause=function(){return r("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(r("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},k.prototype.wrap=function(e){var t=this,n=this._readableState,o=!1;for(var i in e.on("end",(function(){if(r("wrapped end"),n.decoder&&!n.ended){var e=n.decoder.end();e&&e.length&&t.push(e)}t.push(null)})),e.on("data",(function(i){r("wrapped data"),n.decoder&&(i=n.decoder.write(i)),n.objectMode&&null==i||(n.objectMode||i&&i.length)&&(t.push(i)||(o=!0,e.pause()))})),e)void 0===this[i]&&"function"==typeof e[i]&&(this[i]=function(t){return function(){return e[t].apply(e,arguments)}}(i));for(var a=0;a{"use strict";e.exports=l;var o=n(84419).q,r=o.ERR_METHOD_NOT_IMPLEMENTED,i=o.ERR_MULTIPLE_CALLBACK,a=o.ERR_TRANSFORM_ALREADY_TRANSFORMING,s=o.ERR_TRANSFORM_WITH_LENGTH_0,u=n(34390);function c(e,t){var n=this._transformState;n.transforming=!1;var o=n.writecb;if(null===o)return this.emit("error",new i);n.writechunk=null,n.writecb=null,null!=t&&this.push(t),o(e);var r=this._readableState;r.reading=!1,(r.needReadable||r.length{"use strict";function o(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,n){var o=e.entry;for(e.entry=null;o;){var r=o.callback;t.pendingcb--,r(undefined),o=o.next}t.corkedRequestsFree.next=e}(t,e)}}var r;e.exports=k,k.WritableState=E;var i,a={deprecate:n(94927)},s=n(59819),u=n(48764).Buffer,c=n.g.Uint8Array||function(){},l=n(75997),d=n(898).getHighWaterMark,h=n(84419).q,p=h.ERR_INVALID_ARG_TYPE,f=h.ERR_METHOD_NOT_IMPLEMENTED,g=h.ERR_MULTIPLE_CALLBACK,m=h.ERR_STREAM_CANNOT_PIPE,_=h.ERR_STREAM_DESTROYED,F=h.ERR_STREAM_NULL_VALUES,y=h.ERR_STREAM_WRITE_AFTER_END,b=h.ERR_UNKNOWN_ENCODING,v=l.errorOrDestroy;function w(){}function E(e,t,i){r=r||n(34390),e=e||{},"boolean"!=typeof i&&(i=t instanceof r),this.objectMode=!!e.objectMode,i&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=d(this,e,"writableHighWaterMark",i),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var a=!1===e.decodeStrings;this.decodeStrings=!a,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var n=e._writableState,o=n.sync,r=n.writecb;if("function"!=typeof r)throw new g;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(n),t)!function(e,t,n,o,r){--t.pendingcb,n?(process.nextTick(r,o),process.nextTick(T,e,t),e._writableState.errorEmitted=!0,v(e,o)):(r(o),e._writableState.errorEmitted=!0,v(e,o),T(e,t))}(e,n,o,t,r);else{var i=C(n)||e.destroyed;i||n.corked||n.bufferProcessing||!n.bufferedRequest||x(e,n),o?process.nextTick(S,e,n,i,r):S(e,n,i,r)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new o(this)}function k(e){var t=this instanceof(r=r||n(34390));if(!t&&!i.call(k,this))return new k(e);this._writableState=new E(e,this,t),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),s.call(this)}function D(e,t,n,o,r,i,a){t.writelen=o,t.writecb=a,t.writing=!0,t.sync=!0,t.destroyed?t.onwrite(new _("write")):n?e._writev(r,t.onwrite):e._write(r,i,t.onwrite),t.sync=!1}function S(e,t,n,o){n||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,o(),T(e,t)}function x(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var r=t.bufferedRequestCount,i=new Array(r),a=t.corkedRequestsFree;a.entry=n;for(var s=0,u=!0;n;)i[s]=n,n.isBuf||(u=!1),n=n.next,s+=1;i.allBuffers=u,D(e,t,!0,t.length,i,"",a.finish),t.pendingcb++,t.lastBufferedRequest=null,a.next?(t.corkedRequestsFree=a.next,a.next=null):t.corkedRequestsFree=new o(t),t.bufferedRequestCount=0}else{for(;n;){var c=n.chunk,l=n.encoding,d=n.callback;if(D(e,t,!1,t.objectMode?1:c.length,c,l,d),n=n.next,t.bufferedRequestCount--,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequest=n,t.bufferProcessing=!1}function C(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function A(e,t){e._final((function(n){t.pendingcb--,n&&v(e,n),t.prefinished=!0,e.emit("prefinish"),T(e,t)}))}function T(e,t){var n=C(t);if(n&&(function(e,t){t.prefinished||t.finalCalled||("function"!=typeof e._final||t.destroyed?(t.prefinished=!0,e.emit("prefinish")):(t.pendingcb++,t.finalCalled=!0,process.nextTick(A,e,t)))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"),t.autoDestroy))){var o=e._readableState;(!o||o.autoDestroy&&o.endEmitted)&&e.destroy()}return n}n(35717)(k,s),E.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(E.prototype,"buffer",{get:a.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(i=Function.prototype[Symbol.hasInstance],Object.defineProperty(k,Symbol.hasInstance,{value:function(e){return!!i.call(this,e)||this===k&&e&&e._writableState instanceof E}})):i=function(e){return e instanceof this},k.prototype.pipe=function(){v(this,new m)},k.prototype.write=function(e,t,n){var o,r=this._writableState,i=!1,a=!r.objectMode&&(o=e,u.isBuffer(o)||o instanceof c);return a&&!u.isBuffer(e)&&(e=function(e){return u.from(e)}(e)),"function"==typeof t&&(n=t,t=null),a?t="buffer":t||(t=r.defaultEncoding),"function"!=typeof n&&(n=w),r.ending?function(e,t){var n=new y;v(e,n),process.nextTick(t,n)}(this,n):(a||function(e,t,n,o){var r;return null===n?r=new F:"string"==typeof n||t.objectMode||(r=new p("chunk",["string","Buffer"],n)),!r||(v(e,r),process.nextTick(o,r),!1)}(this,r,e,n))&&(r.pendingcb++,i=function(e,t,n,o,r,i){if(!n){var a=function(e,t,n){return e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=u.from(t,n)),t}(t,o,r);o!==a&&(n=!0,r="buffer",o=a)}var s=t.objectMode?1:o.length;t.length+=s;var c=t.length-1))throw new b(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(k.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(k.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),k.prototype._write=function(e,t,n){n(new f("_write()"))},k.prototype._writev=null,k.prototype.end=function(e,t,n){var o=this._writableState;return"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!=e&&this.write(e,t),o.corked&&(o.corked=1,this.uncork()),o.ending||function(e,t,n){t.ending=!0,T(e,t),n&&(t.finished?process.nextTick(n):e.once("finish",n)),t.ended=!0,e.writable=!1}(this,o,n),this},Object.defineProperty(k.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(k.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),k.prototype.destroy=l.destroy,k.prototype._undestroy=l.undestroy,k.prototype._destroy=function(e,t){t(e)}},54887:(e,t,n)=>{"use strict";var o;function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var i=n(5800),a=Symbol("lastResolve"),s=Symbol("lastReject"),u=Symbol("error"),c=Symbol("ended"),l=Symbol("lastPromise"),d=Symbol("handlePromise"),h=Symbol("stream");function p(e,t){return{value:e,done:t}}function f(e){var t=e[a];if(null!==t){var n=e[h].read();null!==n&&(e[l]=null,e[a]=null,e[s]=null,t(p(n,!1)))}}function g(e){process.nextTick(f,e)}var m=Object.getPrototypeOf((function(){})),_=Object.setPrototypeOf((r(o={get stream(){return this[h]},next:function(){var e=this,t=this[u];if(null!==t)return Promise.reject(t);if(this[c])return Promise.resolve(p(void 0,!0));if(this[h].destroyed)return new Promise((function(t,n){process.nextTick((function(){e[u]?n(e[u]):t(p(void 0,!0))}))}));var n,o=this[l];if(o)n=new Promise(function(e,t){return function(n,o){e.then((function(){t[c]?n(p(void 0,!0)):t[d](n,o)}),o)}}(o,this));else{var r=this[h].read();if(null!==r)return Promise.resolve(p(r,!1));n=new Promise(this[d])}return this[l]=n,n}},Symbol.asyncIterator,(function(){return this})),r(o,"return",(function(){var e=this;return new Promise((function(t,n){e[h].destroy(null,(function(e){e?n(e):t(p(void 0,!0))}))}))})),o),m);e.exports=function(e){var t,n=Object.create(_,(r(t={},h,{value:e,writable:!0}),r(t,a,{value:null,writable:!0}),r(t,s,{value:null,writable:!0}),r(t,u,{value:null,writable:!0}),r(t,c,{value:e._readableState.endEmitted,writable:!0}),r(t,d,{value:function(e,t){var o=n[h].read();o?(n[l]=null,n[a]=null,n[s]=null,e(p(o,!1))):(n[a]=e,n[s]=t)},writable:!0}),t));return n[l]=null,i(e,(function(e){if(e&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code){var t=n[s];return null!==t&&(n[l]=null,n[a]=null,n[s]=null,t(e)),void(n[u]=e)}var o=n[a];null!==o&&(n[l]=null,n[a]=null,n[s]=null,o(p(void 0,!0))),n[c]=!0})),e.on("readable",g.bind(null,n)),n}},76633:(e,t,n)=>{"use strict";function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){for(var n=0;n0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:"unshift",value:function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}},{key:"shift",value:function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n}},{key:"concat",value:function(e){if(0===this.length)return a.alloc(0);for(var t,n,o,r=a.allocUnsafe(e>>>0),i=this.head,s=0;i;)t=i.data,n=r,o=s,a.prototype.copy.call(t,n,o),s+=i.data.length,i=i.next;return r}},{key:"consume",value:function(e,t){var n;return er.length?r.length:e;if(i===r.length?o+=r:o+=r.slice(0,e),0==(e-=i)){i===r.length?(++n,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=r.slice(i));break}++n}return this.length-=n,o}},{key:"_getBuffer",value:function(e){var t=a.allocUnsafe(e),n=this.head,o=1;for(n.data.copy(t),e-=n.data.length;n=n.next;){var r=n.data,i=e>r.length?r.length:e;if(r.copy(t,t.length-e,0,i),0==(e-=i)){i===r.length?(++o,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=r.slice(i));break}++o}return this.length-=o,t}},{key:u,value:function(e,t){return s(this,function(e){for(var t=1;t{"use strict";function t(e,t){o(e,t),n(e)}function n(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function o(e,t){e.emit("error",t)}e.exports={destroy:function(e,r){var i=this,a=this._readableState&&this._readableState.destroyed,s=this._writableState&&this._writableState.destroyed;return a||s?(r?r(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(o,this,e)):process.nextTick(o,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,(function(e){!r&&e?i._writableState?i._writableState.errorEmitted?process.nextTick(n,i):(i._writableState.errorEmitted=!0,process.nextTick(t,i,e)):process.nextTick(t,i,e):r?(process.nextTick(n,i),r(e)):process.nextTick(n,i)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function(e,t){var n=e._readableState,o=e._writableState;n&&n.autoDestroy||o&&o.autoDestroy?e.destroy(t):e.emit("error",t)}}},5800:(e,t,n)=>{"use strict";var o=n(84419).q.ERR_STREAM_PREMATURE_CLOSE;function r(){}e.exports=function e(t,n,i){if("function"==typeof n)return e(t,null,n);n||(n={}),i=function(e){var t=!1;return function(){if(!t){t=!0;for(var n=arguments.length,o=new Array(n),r=0;r{e.exports=function(){throw new Error("Readable.from is not available in the browser")}},37065:(e,t,n)=>{"use strict";var o,r=n(84419).q,i=r.ERR_MISSING_ARGS,a=r.ERR_STREAM_DESTROYED;function s(e){if(e)throw e}function u(e,t,r,i){i=function(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}(i);var s=!1;e.on("close",(function(){s=!0})),void 0===o&&(o=n(5800)),o(e,{readable:t,writable:r},(function(e){if(e)return i(e);s=!0,i()}));var u=!1;return function(t){if(!s&&!u)return u=!0,function(e){return e.setHeader&&"function"==typeof e.abort}(e)?e.abort():"function"==typeof e.destroy?e.destroy():void i(t||new a("pipe"))}}function c(e){e()}function l(e,t){return e.pipe(t)}function d(e){return e.length?"function"!=typeof e[e.length-1]?s:e.pop():s}e.exports=function(){for(var e=arguments.length,t=new Array(e),n=0;n0,(function(e){o||(o=e),e&&a.forEach(c),i||(a.forEach(c),r(o))}))}));return t.reduce(l)}},898:(e,t,n)=>{"use strict";var o=n(84419).q.ERR_INVALID_OPT_VALUE;e.exports={getHighWaterMark:function(e,t,n,r){var i=function(e,t,n){return null!=e.highWaterMark?e.highWaterMark:t?e[n]:null}(t,r,n);if(null!=i){if(!isFinite(i)||Math.floor(i)!==i||i<0)throw new o(r?n:"highWaterMark",i);return Math.floor(i)}return e.objectMode?16:16384}}},59819:(e,t,n)=>{e.exports=n(17187).EventEmitter},23872:(e,t,n)=>{(t=e.exports=n(44960)).Stream=t,t.Readable=t,t.Writable=n(92010),t.Duplex=n(34390),t.Transform=n(3912),t.PassThrough=n(41294),t.finished=n(5800),t.pipeline=n(37065)},77191:(e,t,n)=>{var o=n(58162);e.exports=o("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz")},55420:e=>{var t=Object.prototype.toString,n="function"==typeof Buffer.alloc&&"function"==typeof Buffer.allocUnsafe&&"function"==typeof Buffer.from;e.exports=function(e,o,r){if("number"==typeof e)throw new TypeError('"value" argument must not be a number');return i=e,"ArrayBuffer"===t.call(i).slice(8,-1)?function(e,t,o){t>>>=0;var r=e.byteLength-t;if(r<0)throw new RangeError("'offset' is out of bounds");if(void 0===o)o=r;else if((o>>>=0)>r)throw new RangeError("'length' is out of bounds");return n?Buffer.from(e.slice(t,t+o)):new Buffer(new Uint8Array(e.slice(t,t+o)))}(e,o,r):"string"==typeof e?function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!Buffer.isEncoding(t))throw new TypeError('"encoding" must be a valid string encoding');return n?Buffer.from(e,t):new Buffer(e,t)}(e,o):n?Buffer.from(e):new Buffer(e);var i}},67295:e=>{e.exports=function(e,t){for(var n=Math.min(e.length,t.length),o=new Buffer(n),r=0;r{"use strict";const o=n(79742),r=n(80645),i="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=u,t.SlowBuffer=function(e){return+e!=e&&(e=0),u.alloc(+e)},t.INSPECT_MAX_BYTES=50;const a=2147483647;function s(e){if(e>a)throw new RangeError('The value "'+e+'" is invalid for option "size"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,u.prototype),t}function u(e,t,n){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return d(e)}return c(e,t,n)}function c(e,t,n){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!u.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const n=0|g(e,t);let o=s(n);const r=o.write(e,t);return r!==n&&(o=o.slice(0,r)),o}(e,t);if(ArrayBuffer.isView(e))return function(e){if(Y(e,Uint8Array)){const t=new Uint8Array(e);return p(t.buffer,t.byteOffset,t.byteLength)}return h(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(Y(e,ArrayBuffer)||e&&Y(e.buffer,ArrayBuffer))return p(e,t,n);if("undefined"!=typeof SharedArrayBuffer&&(Y(e,SharedArrayBuffer)||e&&Y(e.buffer,SharedArrayBuffer)))return p(e,t,n);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');const o=e.valueOf&&e.valueOf();if(null!=o&&o!==e)return u.from(o,t,n);const r=function(e){if(u.isBuffer(e)){const t=0|f(e.length),n=s(t);return 0===n.length||e.copy(n,0,0,t),n}return void 0!==e.length?"number"!=typeof e.length||Z(e.length)?s(0):h(e):"Buffer"===e.type&&Array.isArray(e.data)?h(e.data):void 0}(e);if(r)return r;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return u.from(e[Symbol.toPrimitive]("string"),t,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function l(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function d(e){return l(e),s(e<0?0:0|f(e))}function h(e){const t=e.length<0?0:0|f(e.length),n=s(t);for(let o=0;o=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return 0|e}function g(e,t){if(u.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||Y(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const n=e.length,o=arguments.length>2&&!0===arguments[2];if(!o&&0===n)return 0;let r=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return H(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return V(e).length;default:if(r)return o?-1:H(e).length;t=(""+t).toLowerCase(),r=!0}}function m(e,t,n){let o=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return T(this,t,n);case"utf8":case"utf-8":return S(this,t,n);case"ascii":return C(this,t,n);case"latin1":case"binary":return A(this,t,n);case"base64":return D(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return R(this,t,n);default:if(o)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),o=!0}}function _(e,t,n){const o=e[t];e[t]=e[n],e[n]=o}function F(e,t,n,o,r){if(0===e.length)return-1;if("string"==typeof n?(o=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),Z(n=+n)&&(n=r?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(r)return-1;n=e.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof t&&(t=u.from(t,o)),u.isBuffer(t))return 0===t.length?-1:y(e,t,n,o,r);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):y(e,[t],n,o,r);throw new TypeError("val must be string, number or Buffer")}function y(e,t,n,o,r){let i,a=1,s=e.length,u=t.length;if(void 0!==o&&("ucs2"===(o=String(o).toLowerCase())||"ucs-2"===o||"utf16le"===o||"utf-16le"===o)){if(e.length<2||t.length<2)return-1;a=2,s/=2,u/=2,n/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(r){let o=-1;for(i=n;is&&(n=s-u),i=n;i>=0;i--){let n=!0;for(let o=0;or&&(o=r):o=r;const i=t.length;let a;for(o>i/2&&(o=i/2),a=0;a>8,r=n%256,i.push(r),i.push(o);return i}(t,e.length-n),e,n,o)}function D(e,t,n){return 0===t&&n===e.length?o.fromByteArray(e):o.fromByteArray(e.slice(t,n))}function S(e,t,n){n=Math.min(e.length,n);const o=[];let r=t;for(;r239?4:t>223?3:t>191?2:1;if(r+a<=n){let n,o,s,u;switch(a){case 1:t<128&&(i=t);break;case 2:n=e[r+1],128==(192&n)&&(u=(31&t)<<6|63&n,u>127&&(i=u));break;case 3:n=e[r+1],o=e[r+2],128==(192&n)&&128==(192&o)&&(u=(15&t)<<12|(63&n)<<6|63&o,u>2047&&(u<55296||u>57343)&&(i=u));break;case 4:n=e[r+1],o=e[r+2],s=e[r+3],128==(192&n)&&128==(192&o)&&128==(192&s)&&(u=(15&t)<<18|(63&n)<<12|(63&o)<<6|63&s,u>65535&&u<1114112&&(i=u))}}null===i?(i=65533,a=1):i>65535&&(i-=65536,o.push(i>>>10&1023|55296),i=56320|1023&i),o.push(i),r+=a}return function(e){const t=e.length;if(t<=x)return String.fromCharCode.apply(String,e);let n="",o=0;for(;oo.length?(u.isBuffer(t)||(t=u.from(t)),t.copy(o,r)):Uint8Array.prototype.set.call(o,t,r);else{if(!u.isBuffer(t))throw new TypeError('"list" argument must be an Array of Buffers');t.copy(o,r)}r+=t.length}return o},u.byteLength=g,u.prototype._isBuffer=!0,u.prototype.swap16=function(){const e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tn&&(e+=" ... "),""},i&&(u.prototype[i]=u.prototype.inspect),u.prototype.compare=function(e,t,n,o,r){if(Y(e,Uint8Array)&&(e=u.from(e,e.offset,e.byteLength)),!u.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===o&&(o=0),void 0===r&&(r=this.length),t<0||n>e.length||o<0||r>this.length)throw new RangeError("out of range index");if(o>=r&&t>=n)return 0;if(o>=r)return-1;if(t>=n)return 1;if(this===e)return 0;let i=(r>>>=0)-(o>>>=0),a=(n>>>=0)-(t>>>=0);const s=Math.min(i,a),c=this.slice(o,r),l=e.slice(t,n);for(let e=0;e>>=0,isFinite(n)?(n>>>=0,void 0===o&&(o="utf8")):(o=n,n=void 0)}const r=this.length-t;if((void 0===n||n>r)&&(n=r),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");o||(o="utf8");let i=!1;for(;;)switch(o){case"hex":return b(this,e,t,n);case"utf8":case"utf-8":return v(this,e,t,n);case"ascii":case"latin1":case"binary":return w(this,e,t,n);case"base64":return E(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return k(this,e,t,n);default:if(i)throw new TypeError("Unknown encoding: "+o);o=(""+o).toLowerCase(),i=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const x=4096;function C(e,t,n){let o="";n=Math.min(e.length,n);for(let r=t;ro)&&(n=o);let r="";for(let o=t;on)throw new RangeError("Trying to access beyond buffer length")}function M(e,t,n,o,r,i){if(!u.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>r||te.length)throw new RangeError("Index out of range")}function O(e,t,n,o,r){z(t,o,r,e,n,7);let i=Number(t&BigInt(4294967295));e[n++]=i,i>>=8,e[n++]=i,i>>=8,e[n++]=i,i>>=8,e[n++]=i;let a=Number(t>>BigInt(32)&BigInt(4294967295));return e[n++]=a,a>>=8,e[n++]=a,a>>=8,e[n++]=a,a>>=8,e[n++]=a,n}function B(e,t,n,o,r){z(t,o,r,e,n,7);let i=Number(t&BigInt(4294967295));e[n+7]=i,i>>=8,e[n+6]=i,i>>=8,e[n+5]=i,i>>=8,e[n+4]=i;let a=Number(t>>BigInt(32)&BigInt(4294967295));return e[n+3]=a,a>>=8,e[n+2]=a,a>>=8,e[n+1]=a,a>>=8,e[n]=a,n+8}function N(e,t,n,o,r,i){if(n+o>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function L(e,t,n,o,i){return t=+t,n>>>=0,i||N(e,0,n,4),r.write(e,t,n,o,23,4),n+4}function P(e,t,n,o,i){return t=+t,n>>>=0,i||N(e,0,n,8),r.write(e,t,n,o,52,8),n+8}u.prototype.slice=function(e,t){const n=this.length;(e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t>>=0,t>>>=0,n||I(e,t,this.length);let o=this[e],r=1,i=0;for(;++i>>=0,t>>>=0,n||I(e,t,this.length);let o=this[e+--t],r=1;for(;t>0&&(r*=256);)o+=this[e+--t]*r;return o},u.prototype.readUint8=u.prototype.readUInt8=function(e,t){return e>>>=0,t||I(e,1,this.length),this[e]},u.prototype.readUint16LE=u.prototype.readUInt16LE=function(e,t){return e>>>=0,t||I(e,2,this.length),this[e]|this[e+1]<<8},u.prototype.readUint16BE=u.prototype.readUInt16BE=function(e,t){return e>>>=0,t||I(e,2,this.length),this[e]<<8|this[e+1]},u.prototype.readUint32LE=u.prototype.readUInt32LE=function(e,t){return e>>>=0,t||I(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},u.prototype.readUint32BE=u.prototype.readUInt32BE=function(e,t){return e>>>=0,t||I(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},u.prototype.readBigUInt64LE=J((function(e){K(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||G(e,this.length-8);const o=t+256*this[++e]+65536*this[++e]+this[++e]*2**24,r=this[++e]+256*this[++e]+65536*this[++e]+n*2**24;return BigInt(o)+(BigInt(r)<>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||G(e,this.length-8);const o=t*2**24+65536*this[++e]+256*this[++e]+this[++e],r=this[++e]*2**24+65536*this[++e]+256*this[++e]+n;return(BigInt(o)<>>=0,t>>>=0,n||I(e,t,this.length);let o=this[e],r=1,i=0;for(;++i=r&&(o-=Math.pow(2,8*t)),o},u.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||I(e,t,this.length);let o=t,r=1,i=this[e+--o];for(;o>0&&(r*=256);)i+=this[e+--o]*r;return r*=128,i>=r&&(i-=Math.pow(2,8*t)),i},u.prototype.readInt8=function(e,t){return e>>>=0,t||I(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},u.prototype.readInt16LE=function(e,t){e>>>=0,t||I(e,2,this.length);const n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt16BE=function(e,t){e>>>=0,t||I(e,2,this.length);const n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt32LE=function(e,t){return e>>>=0,t||I(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},u.prototype.readInt32BE=function(e,t){return e>>>=0,t||I(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},u.prototype.readBigInt64LE=J((function(e){K(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||G(e,this.length-8);const o=this[e+4]+256*this[e+5]+65536*this[e+6]+(n<<24);return(BigInt(o)<>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||G(e,this.length-8);const o=(t<<24)+65536*this[++e]+256*this[++e]+this[++e];return(BigInt(o)<>>=0,t||I(e,4,this.length),r.read(this,e,!0,23,4)},u.prototype.readFloatBE=function(e,t){return e>>>=0,t||I(e,4,this.length),r.read(this,e,!1,23,4)},u.prototype.readDoubleLE=function(e,t){return e>>>=0,t||I(e,8,this.length),r.read(this,e,!0,52,8)},u.prototype.readDoubleBE=function(e,t){return e>>>=0,t||I(e,8,this.length),r.read(this,e,!1,52,8)},u.prototype.writeUintLE=u.prototype.writeUIntLE=function(e,t,n,o){e=+e,t>>>=0,n>>>=0,o||M(this,e,t,n,Math.pow(2,8*n)-1,0);let r=1,i=0;for(this[t]=255&e;++i>>=0,n>>>=0,o||M(this,e,t,n,Math.pow(2,8*n)-1,0);let r=n-1,i=1;for(this[t+r]=255&e;--r>=0&&(i*=256);)this[t+r]=e/i&255;return t+n},u.prototype.writeUint8=u.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,1,255,0),this[t]=255&e,t+1},u.prototype.writeUint16LE=u.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},u.prototype.writeUint16BE=u.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},u.prototype.writeUint32LE=u.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},u.prototype.writeUint32BE=u.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},u.prototype.writeBigUInt64LE=J((function(e,t=0){return O(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),u.prototype.writeBigUInt64BE=J((function(e,t=0){return B(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),u.prototype.writeIntLE=function(e,t,n,o){if(e=+e,t>>>=0,!o){const o=Math.pow(2,8*n-1);M(this,e,t,n,o-1,-o)}let r=0,i=1,a=0;for(this[t]=255&e;++r>0)-a&255;return t+n},u.prototype.writeIntBE=function(e,t,n,o){if(e=+e,t>>>=0,!o){const o=Math.pow(2,8*n-1);M(this,e,t,n,o-1,-o)}let r=n-1,i=1,a=0;for(this[t+r]=255&e;--r>=0&&(i*=256);)e<0&&0===a&&0!==this[t+r+1]&&(a=1),this[t+r]=(e/i>>0)-a&255;return t+n},u.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},u.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},u.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},u.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},u.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},u.prototype.writeBigInt64LE=J((function(e,t=0){return O(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),u.prototype.writeBigInt64BE=J((function(e,t=0){return B(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),u.prototype.writeFloatLE=function(e,t,n){return L(this,e,t,!0,n)},u.prototype.writeFloatBE=function(e,t,n){return L(this,e,t,!1,n)},u.prototype.writeDoubleLE=function(e,t,n){return P(this,e,t,!0,n)},u.prototype.writeDoubleBE=function(e,t,n){return P(this,e,t,!1,n)},u.prototype.copy=function(e,t,n,o){if(!u.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),o||0===o||(o=this.length),t>=e.length&&(t=e.length),t||(t=0),o>0&&o=this.length)throw new RangeError("Index out of range");if(o<0)throw new RangeError("sourceEnd out of bounds");o>this.length&&(o=this.length),e.length-t>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(r=t;r=o+4;n-=3)t=`_${e.slice(n-3,n)}${t}`;return`${e.slice(0,n)}${t}`}function z(e,t,n,o,r,i){if(e>n||e3?0===t||t===BigInt(0)?`>= 0${o} and < 2${o} ** ${8*(i+1)}${o}`:`>= -(2${o} ** ${8*(i+1)-1}${o}) and < 2 ** ${8*(i+1)-1}${o}`:`>= ${t}${o} and <= ${n}${o}`,new U.ERR_OUT_OF_RANGE("value",r,e)}!function(e,t,n){K(t,"offset"),void 0!==e[t]&&void 0!==e[t+n]||G(t,e.length-(n+1))}(o,r,i)}function K(e,t){if("number"!=typeof e)throw new U.ERR_INVALID_ARG_TYPE(t,"number",e)}function G(e,t,n){if(Math.floor(e)!==e)throw K(e,n),new U.ERR_OUT_OF_RANGE(n||"offset","an integer",e);if(t<0)throw new U.ERR_BUFFER_OUT_OF_BOUNDS;throw new U.ERR_OUT_OF_RANGE(n||"offset",`>= ${n?1:0} and <= ${t}`,e)}j("ERR_BUFFER_OUT_OF_BOUNDS",(function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),j("ERR_INVALID_ARG_TYPE",(function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`}),TypeError),j("ERR_OUT_OF_RANGE",(function(e,t,n){let o=`The value of "${e}" is out of range.`,r=n;return Number.isInteger(n)&&Math.abs(n)>2**32?r=q(String(n)):"bigint"==typeof n&&(r=String(n),(n>BigInt(2)**BigInt(32)||n<-(BigInt(2)**BigInt(32)))&&(r=q(r)),r+="n"),o+=` It must be ${t}. Received ${r}`,o}),RangeError);const $=/[^+/0-9A-Za-z-_]/g;function H(e,t){let n;t=t||1/0;const o=e.length;let r=null;const i=[];for(let a=0;a55295&&n<57344){if(!r){if(n>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(a+1===o){(t-=3)>-1&&i.push(239,191,189);continue}r=n;continue}if(n<56320){(t-=3)>-1&&i.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(t-=3)>-1&&i.push(239,191,189);if(r=null,n<128){if((t-=1)<0)break;i.push(n)}else if(n<2048){if((t-=2)<0)break;i.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;i.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return i}function V(e){return o.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace($,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function W(e,t,n,o){let r;for(r=0;r=t.length||r>=e.length);++r)t[r+n]=e[r];return r}function Y(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function Z(e){return e!=e}const X=function(){const e="0123456789abcdef",t=new Array(256);for(let n=0;n<16;++n){const o=16*n;for(let r=0;r<16;++r)t[o+r]=e[n]+e[r]}return t}();function J(e){return"undefined"==typeof BigInt?Q:e}function Q(){throw new Error("BigInt not supported")}},21924:(e,t,n)=>{"use strict";var o=n(40210),r=n(55559),i=r(o("String.prototype.indexOf"));e.exports=function(e,t){var n=o(e,!!t);return"function"==typeof n&&i(e,".prototype.")>-1?r(n):n}},55559:(e,t,n)=>{"use strict";var o=n(58612),r=n(40210),i=r("%Function.prototype.apply%"),a=r("%Function.prototype.call%"),s=r("%Reflect.apply%",!0)||o.call(a,i),u=r("%Object.getOwnPropertyDescriptor%",!0),c=r("%Object.defineProperty%",!0),l=r("%Math.max%");if(c)try{c({},"a",{value:1})}catch(e){c=null}e.exports=function(e){var t=s(o,a,arguments);if(u&&c){var n=u(t,"length");n.configurable&&c(t,"length",{value:1+l(0,e.length-(arguments.length-1))})}return t};var d=function(){return s(o,i,arguments)};c?c(e.exports,"apply",{value:d}):e.exports.apply=d},30932:e=>{"use strict";e.exports=function(e,t){var n,o=String(e),r=0;if("string"!=typeof t)throw new Error("Expected character");for(n=o.indexOf(t);-1!==n;)r++,n=o.indexOf(t,n+t.length);return r}},16588:e=>{"use strict";e.exports=JSON.parse('{"AElig":"Æ","AMP":"&","Aacute":"Á","Acirc":"Â","Agrave":"À","Aring":"Å","Atilde":"Ã","Auml":"Ä","COPY":"©","Ccedil":"Ç","ETH":"Ð","Eacute":"É","Ecirc":"Ê","Egrave":"È","Euml":"Ë","GT":">","Iacute":"Í","Icirc":"Î","Igrave":"Ì","Iuml":"Ï","LT":"<","Ntilde":"Ñ","Oacute":"Ó","Ocirc":"Ô","Ograve":"Ò","Oslash":"Ø","Otilde":"Õ","Ouml":"Ö","QUOT":"\\"","REG":"®","THORN":"Þ","Uacute":"Ú","Ucirc":"Û","Ugrave":"Ù","Uuml":"Ü","Yacute":"Ý","aacute":"á","acirc":"â","acute":"´","aelig":"æ","agrave":"à","amp":"&","aring":"å","atilde":"ã","auml":"ä","brvbar":"¦","ccedil":"ç","cedil":"¸","cent":"¢","copy":"©","curren":"¤","deg":"°","divide":"÷","eacute":"é","ecirc":"ê","egrave":"è","eth":"ð","euml":"ë","frac12":"½","frac14":"¼","frac34":"¾","gt":">","iacute":"í","icirc":"î","iexcl":"¡","igrave":"ì","iquest":"¿","iuml":"ï","laquo":"«","lt":"<","macr":"¯","micro":"µ","middot":"·","nbsp":" ","not":"¬","ntilde":"ñ","oacute":"ó","ocirc":"ô","ograve":"ò","ordf":"ª","ordm":"º","oslash":"ø","otilde":"õ","ouml":"ö","para":"¶","plusmn":"±","pound":"£","quot":"\\"","raquo":"»","reg":"®","sect":"§","shy":"­","sup1":"¹","sup2":"²","sup3":"³","szlig":"ß","thorn":"þ","times":"×","uacute":"ú","ucirc":"û","ugrave":"ù","uml":"¨","uuml":"ü","yacute":"ý","yen":"¥","yuml":"ÿ"}')},6852:e=>{"use strict";e.exports=JSON.parse('{"0":"�","128":"€","130":"‚","131":"ƒ","132":"„","133":"…","134":"†","135":"‡","136":"ˆ","137":"‰","138":"Š","139":"‹","140":"Œ","142":"Ž","145":"‘","146":"’","147":"“","148":"”","149":"•","150":"–","151":"—","152":"˜","153":"™","154":"š","155":"›","156":"œ","158":"ž","159":"Ÿ"}')},71027:(e,t,n)=>{var o=n(89509).Buffer,r=n(42830).Transform,i=n(32553).s;function a(e){r.call(this),this.hashMode="string"==typeof e,this.hashMode?this[e]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}n(35717)(a,r),a.prototype.update=function(e,t,n){"string"==typeof e&&(e=o.from(e,t));var r=this._update(e);return this.hashMode?this:(n&&(r=this._toString(r,n)),r)},a.prototype.setAutoPadding=function(){},a.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},a.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},a.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},a.prototype._transform=function(e,t,n){var o;try{this.hashMode?this._update(e):this.push(this._update(e))}catch(e){o=e}finally{n(o)}},a.prototype._flush=function(e){var t;try{this.push(this.__final())}catch(e){t=e}e(t)},a.prototype._finalOrDigest=function(e){var t=this.__final()||o.alloc(0);return e&&(t=this._toString(t,e,!0)),t},a.prototype._toString=function(e,t,n){if(this._decoder||(this._decoder=new i(t),this._encoding=t),this._encoding!==t)throw new Error("can't switch encodings");var o=this._decoder.write(e);return n&&(o+=this._decoder.end()),o},e.exports=a},16313:e=>{"use strict";function t(e){return Object.prototype.toString.call(e)}function n(e,n,o,r){var i=[],a=[],s="undefined"!=typeof Buffer;return void 0===n&&(n=!0),void 0===o&&(o=1/0),function e(o,u){if(null===o)return null;if(0==u)return o;var c,l,d,h,p;if("object"!=typeof o)return o;if(p=o,Array.isArray(p)||"object"==typeof p&&"[object Array]"===t(p))c=[];else if("object"==typeof(h=o)&&"[object RegExp]"===t(h))c=new RegExp(o.source,function(e){var t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),t}(o)),o.lastIndex&&(c.lastIndex=o.lastIndex);else if("object"==typeof(d=o)&&"[object Date]"===t(d))c=new Date(o.getTime());else{if(s&&Buffer.isBuffer(o))return c=new Buffer(o.length),o.copy(c),c;void 0===r?(l=Object.getPrototypeOf(o),c=Object.create(l)):(c=Object.create(r),l=r)}if(n){var f=i.indexOf(o);if(-1!=f)return a[f];i.push(o),a.push(c)}for(var g in o){var m;l&&(m=Object.getOwnPropertyDescriptor(l,g)),m&&null==m.set||(c[g]=e(o[g],u-1))}return c}(e,o)}e.exports=n,n.clonePrototype=function(e){if(null===e)return null;var t=function(){};return t.prototype=e,new t}},56851:(e,t)=>{"use strict";t.parse=function(e){for(var t,n=[],o=String(e||""),r=o.indexOf(","),i=0,a=!1;!a;)-1===r&&(r=o.length,a=!0),!(t=o.slice(i,r).trim())&&a||n.push(t),i=r+1,r=o.indexOf(",",i);return n},t.stringify=function(e,t){var n=t||{},o=!1===n.padLeft?"":" ",r=n.padRight?" ":"";return""===e[e.length-1]&&(e=e.concat("")),e.join(r+","+o).trim()}},31934:e=>{e.exports=function(e,t,n){return((n=window.getComputedStyle)?n(e):e.currentStyle)[t.replace(/-(\w)/gi,(function(e,t){return t.toUpperCase()}))]}},36890:(e,t,n)=>{var o=n(88473).Writable,r=n(35717),i=n(55420);if("undefined"==typeof Uint8Array)var a=n(61666).U2;else a=Uint8Array;function s(e,t){if(!(this instanceof s))return new s(e,t);"function"==typeof e&&(t=e,e={}),e||(e={});var n=e.encoding,r=!1;n?"u8"!==(n=String(n).toLowerCase())&&"uint8"!==n||(n="uint8array"):r=!0,o.call(this,{objectMode:!0}),this.encoding=n,this.shouldInferEncoding=r,t&&this.on("finish",(function(){t(this.getBody())})),this.body=[]}function u(e){return"string"==typeof e||(t=e,/Array\]$/.test(Object.prototype.toString.call(t)))||e&&"function"==typeof e.subarray;var t}e.exports=s,r(s,o),s.prototype._write=function(e,t,n){this.body.push(e),n()},s.prototype.inferEncoding=function(e){var t=void 0===e?this.body[0]:e;return Buffer.isBuffer(t)?"buffer":"undefined"!=typeof Uint8Array&&t instanceof Uint8Array?"uint8array":Array.isArray(t)?"array":"string"==typeof t?"string":"[object Object]"===Object.prototype.toString.call(t)?"object":"buffer"},s.prototype.getBody=function(){return this.encoding||0!==this.body.length?(this.shouldInferEncoding&&(this.encoding=this.inferEncoding()),"array"===this.encoding?function(e){for(var t=[],n=0;n{"use strict";var n=/; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g,o=/^[\u000b\u0020-\u007e\u0080-\u00ff]+$/,r=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,i=/\\([\u000b\u0020-\u00ff])/g,a=/([\\"])/g,s=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;function u(e){var t=String(e);if(r.test(t))return t;if(t.length>0&&!o.test(t))throw new TypeError("invalid parameter value");return'"'+t.replace(a,"\\$1")+'"'}function c(e){this.parameters=Object.create(null),this.type=e}t.format=function(e){if(!e||"object"!=typeof e)throw new TypeError("argument obj is required");var t=e.parameters,n=e.type;if(!n||!s.test(n))throw new TypeError("invalid type");var o=n;if(t&&"object"==typeof t)for(var i,a=Object.keys(t).sort(),c=0;c{function n(e){return Object.prototype.toString.call(e)}t.isArray=function(e){return Array.isArray?Array.isArray(e):"[object Array]"===n(e)},t.isBoolean=function(e){return"boolean"==typeof e},t.isNull=function(e){return null===e},t.isNullOrUndefined=function(e){return null==e},t.isNumber=function(e){return"number"==typeof e},t.isString=function(e){return"string"==typeof e},t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=function(e){return void 0===e},t.isRegExp=function(e){return"[object RegExp]"===n(e)},t.isObject=function(e){return"object"==typeof e&&null!==e},t.isDate=function(e){return"[object Date]"===n(e)},t.isError=function(e){return"[object Error]"===n(e)||e instanceof Error},t.isFunction=function(e){return"function"==typeof e},t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=Buffer.isBuffer},76393:(e,t,n)=>{var o=n(86266),r=n(16426);e.exports=function(e){return new a(e)};var i={secp256k1:{name:"secp256k1",byteLength:32},secp224r1:{name:"p224",byteLength:28},prime256v1:{name:"p256",byteLength:32},prime192v1:{name:"p192",byteLength:24},ed25519:{name:"ed25519",byteLength:32},secp384r1:{name:"p384",byteLength:48},secp521r1:{name:"p521",byteLength:66}};function a(e){this.curveType=i[e],this.curveType||(this.curveType={name:e}),this.curve=new o.ec(this.curveType.name),this.keys=void 0}function s(e,t,n){Array.isArray(e)||(e=e.toArray());var o=new Buffer(e);if(n&&o.length=65&&n<=70?n-55:n>=97&&n<=102?n-87:n-48&15}function u(e,t,n){var o=s(e,n);return n-1>=t&&(o|=s(e,n-1)<<4),o}function c(e,t,n,o){for(var r=0,i=Math.min(e.length,n),a=t;a=49?s-49+10:s>=17?s-17+10:s}return r}i.isBN=function(e){return e instanceof i||null!==e&&"object"==typeof e&&e.constructor.wordSize===i.wordSize&&Array.isArray(e.words)},i.max=function(e,t){return e.cmp(t)>0?e:t},i.min=function(e,t){return e.cmp(t)<0?e:t},i.prototype._init=function(e,t,n){if("number"==typeof e)return this._initNumber(e,t,n);if("object"==typeof e)return this._initArray(e,t,n);"hex"===t&&(t=16),o(t===(0|t)&&t>=2&&t<=36);var r=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&(r++,this.negative=1),r=0;r-=3)a=e[r]|e[r-1]<<8|e[r-2]<<16,this.words[i]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);else if("le"===n)for(r=0,i=0;r>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);return this.strip()},i.prototype._parseHex=function(e,t,n){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var o=0;o=t;o-=2)r=u(e,t,o)<=18?(i-=18,a+=1,this.words[a]|=r>>>26):i+=8;else for(o=(e.length-t)%2==0?t+1:t;o=18?(i-=18,a+=1,this.words[a]|=r>>>26):i+=8;this.strip()},i.prototype._parseBase=function(e,t,n){this.words=[0],this.length=1;for(var o=0,r=1;r<=67108863;r*=t)o++;o--,r=r/t|0;for(var i=e.length-n,a=i%o,s=Math.min(i,i-a)+n,u=0,l=n;l1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},i.prototype.inspect=function(){return(this.red?""};var l=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],d=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],h=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function p(e,t,n){n.negative=t.negative^e.negative;var o=e.length+t.length|0;n.length=o,o=o-1|0;var r=0|e.words[0],i=0|t.words[0],a=r*i,s=67108863&a,u=a/67108864|0;n.words[0]=s;for(var c=1;c>>26,d=67108863&u,h=Math.min(c,t.length-1),p=Math.max(0,c-e.length+1);p<=h;p++){var f=c-p|0;l+=(a=(r=0|e.words[f])*(i=0|t.words[p])+d)/67108864|0,d=67108863&a}n.words[c]=0|d,u=0|l}return 0!==u?n.words[c]=0|u:n.length--,n.strip()}i.prototype.toString=function(e,t){var n;if(t=0|t||1,16===(e=e||10)||"hex"===e){n="";for(var r=0,i=0,a=0;a>>24-r&16777215)||a!==this.length-1?l[6-u.length]+u+n:u+n,(r+=2)>=26&&(r-=26,a--)}for(0!==i&&(n=i.toString(16)+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(e===(0|e)&&e>=2&&e<=36){var c=d[e],p=h[e];n="";var f=this.clone();for(f.negative=0;!f.isZero();){var g=f.modn(p).toString(e);n=(f=f.idivn(p)).isZero()?g+n:l[c-g.length]+g+n}for(this.isZero()&&(n="0"+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}o(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&o(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toBuffer=function(e,t){return o(void 0!==a),this.toArrayLike(a,e,t)},i.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},i.prototype.toArrayLike=function(e,t,n){var r=this.byteLength(),i=n||Math.max(1,r);o(r<=i,"byte array longer than desired length"),o(i>0,"Requested array length <= 0"),this.strip();var a,s,u="le"===t,c=new e(i),l=this.clone();if(u){for(s=0;!l.isZero();s++)a=l.andln(255),l.iushrn(8),c[s]=a;for(;s=4096&&(n+=13,t>>>=13),t>=64&&(n+=7,t>>>=7),t>=8&&(n+=4,t>>>=4),t>=2&&(n+=2,t>>>=2),n+t},i.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,n=0;return 0==(8191&t)&&(n+=13,t>>>=13),0==(127&t)&&(n+=7,t>>>=7),0==(15&t)&&(n+=4,t>>>=4),0==(3&t)&&(n+=2,t>>>=2),0==(1&t)&&n++,n},i.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},i.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},i.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var n=0;ne.length?this.clone().iand(e):e.clone().iand(this)},i.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},i.prototype.iuxor=function(e){var t,n;this.length>e.length?(t=this,n=e):(t=e,n=this);for(var o=0;oe.length?this.clone().ixor(e):e.clone().ixor(this)},i.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},i.prototype.inotn=function(e){o("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),n=e%26;this._expand(t),n>0&&t--;for(var r=0;r0&&(this.words[r]=~this.words[r]&67108863>>26-n),this.strip()},i.prototype.notn=function(e){return this.clone().inotn(e)},i.prototype.setn=function(e,t){o("number"==typeof e&&e>=0);var n=e/26|0,r=e%26;return this._expand(n+1),this.words[n]=t?this.words[n]|1<e.length?(n=this,o=e):(n=e,o=this);for(var r=0,i=0;i>>26;for(;0!==r&&i>>26;if(this.length=n.length,0!==r)this.words[this.length]=r,this.length++;else if(n!==this)for(;ie.length?this.clone().iadd(e):e.clone().iadd(this)},i.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var n,o,r=this.cmp(e);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;r>0?(n=this,o=e):(n=e,o=this);for(var i=0,a=0;a>26,this.words[a]=67108863&t;for(;0!==i&&a>26,this.words[a]=67108863&t;if(0===i&&a>>13,p=0|a[1],f=8191&p,g=p>>>13,m=0|a[2],_=8191&m,F=m>>>13,y=0|a[3],b=8191&y,v=y>>>13,w=0|a[4],E=8191&w,k=w>>>13,D=0|a[5],S=8191&D,x=D>>>13,C=0|a[6],A=8191&C,T=C>>>13,R=0|a[7],I=8191&R,M=R>>>13,O=0|a[8],B=8191&O,N=O>>>13,L=0|a[9],P=8191&L,U=L>>>13,j=0|s[0],q=8191&j,z=j>>>13,K=0|s[1],G=8191&K,$=K>>>13,H=0|s[2],V=8191&H,W=H>>>13,Y=0|s[3],Z=8191&Y,X=Y>>>13,J=0|s[4],Q=8191&J,ee=J>>>13,te=0|s[5],ne=8191&te,oe=te>>>13,re=0|s[6],ie=8191&re,ae=re>>>13,se=0|s[7],ue=8191&se,ce=se>>>13,le=0|s[8],de=8191&le,he=le>>>13,pe=0|s[9],fe=8191&pe,ge=pe>>>13;n.negative=e.negative^t.negative,n.length=19;var me=(c+(o=Math.imul(d,q))|0)+((8191&(r=(r=Math.imul(d,z))+Math.imul(h,q)|0))<<13)|0;c=((i=Math.imul(h,z))+(r>>>13)|0)+(me>>>26)|0,me&=67108863,o=Math.imul(f,q),r=(r=Math.imul(f,z))+Math.imul(g,q)|0,i=Math.imul(g,z);var _e=(c+(o=o+Math.imul(d,G)|0)|0)+((8191&(r=(r=r+Math.imul(d,$)|0)+Math.imul(h,G)|0))<<13)|0;c=((i=i+Math.imul(h,$)|0)+(r>>>13)|0)+(_e>>>26)|0,_e&=67108863,o=Math.imul(_,q),r=(r=Math.imul(_,z))+Math.imul(F,q)|0,i=Math.imul(F,z),o=o+Math.imul(f,G)|0,r=(r=r+Math.imul(f,$)|0)+Math.imul(g,G)|0,i=i+Math.imul(g,$)|0;var Fe=(c+(o=o+Math.imul(d,V)|0)|0)+((8191&(r=(r=r+Math.imul(d,W)|0)+Math.imul(h,V)|0))<<13)|0;c=((i=i+Math.imul(h,W)|0)+(r>>>13)|0)+(Fe>>>26)|0,Fe&=67108863,o=Math.imul(b,q),r=(r=Math.imul(b,z))+Math.imul(v,q)|0,i=Math.imul(v,z),o=o+Math.imul(_,G)|0,r=(r=r+Math.imul(_,$)|0)+Math.imul(F,G)|0,i=i+Math.imul(F,$)|0,o=o+Math.imul(f,V)|0,r=(r=r+Math.imul(f,W)|0)+Math.imul(g,V)|0,i=i+Math.imul(g,W)|0;var ye=(c+(o=o+Math.imul(d,Z)|0)|0)+((8191&(r=(r=r+Math.imul(d,X)|0)+Math.imul(h,Z)|0))<<13)|0;c=((i=i+Math.imul(h,X)|0)+(r>>>13)|0)+(ye>>>26)|0,ye&=67108863,o=Math.imul(E,q),r=(r=Math.imul(E,z))+Math.imul(k,q)|0,i=Math.imul(k,z),o=o+Math.imul(b,G)|0,r=(r=r+Math.imul(b,$)|0)+Math.imul(v,G)|0,i=i+Math.imul(v,$)|0,o=o+Math.imul(_,V)|0,r=(r=r+Math.imul(_,W)|0)+Math.imul(F,V)|0,i=i+Math.imul(F,W)|0,o=o+Math.imul(f,Z)|0,r=(r=r+Math.imul(f,X)|0)+Math.imul(g,Z)|0,i=i+Math.imul(g,X)|0;var be=(c+(o=o+Math.imul(d,Q)|0)|0)+((8191&(r=(r=r+Math.imul(d,ee)|0)+Math.imul(h,Q)|0))<<13)|0;c=((i=i+Math.imul(h,ee)|0)+(r>>>13)|0)+(be>>>26)|0,be&=67108863,o=Math.imul(S,q),r=(r=Math.imul(S,z))+Math.imul(x,q)|0,i=Math.imul(x,z),o=o+Math.imul(E,G)|0,r=(r=r+Math.imul(E,$)|0)+Math.imul(k,G)|0,i=i+Math.imul(k,$)|0,o=o+Math.imul(b,V)|0,r=(r=r+Math.imul(b,W)|0)+Math.imul(v,V)|0,i=i+Math.imul(v,W)|0,o=o+Math.imul(_,Z)|0,r=(r=r+Math.imul(_,X)|0)+Math.imul(F,Z)|0,i=i+Math.imul(F,X)|0,o=o+Math.imul(f,Q)|0,r=(r=r+Math.imul(f,ee)|0)+Math.imul(g,Q)|0,i=i+Math.imul(g,ee)|0;var ve=(c+(o=o+Math.imul(d,ne)|0)|0)+((8191&(r=(r=r+Math.imul(d,oe)|0)+Math.imul(h,ne)|0))<<13)|0;c=((i=i+Math.imul(h,oe)|0)+(r>>>13)|0)+(ve>>>26)|0,ve&=67108863,o=Math.imul(A,q),r=(r=Math.imul(A,z))+Math.imul(T,q)|0,i=Math.imul(T,z),o=o+Math.imul(S,G)|0,r=(r=r+Math.imul(S,$)|0)+Math.imul(x,G)|0,i=i+Math.imul(x,$)|0,o=o+Math.imul(E,V)|0,r=(r=r+Math.imul(E,W)|0)+Math.imul(k,V)|0,i=i+Math.imul(k,W)|0,o=o+Math.imul(b,Z)|0,r=(r=r+Math.imul(b,X)|0)+Math.imul(v,Z)|0,i=i+Math.imul(v,X)|0,o=o+Math.imul(_,Q)|0,r=(r=r+Math.imul(_,ee)|0)+Math.imul(F,Q)|0,i=i+Math.imul(F,ee)|0,o=o+Math.imul(f,ne)|0,r=(r=r+Math.imul(f,oe)|0)+Math.imul(g,ne)|0,i=i+Math.imul(g,oe)|0;var we=(c+(o=o+Math.imul(d,ie)|0)|0)+((8191&(r=(r=r+Math.imul(d,ae)|0)+Math.imul(h,ie)|0))<<13)|0;c=((i=i+Math.imul(h,ae)|0)+(r>>>13)|0)+(we>>>26)|0,we&=67108863,o=Math.imul(I,q),r=(r=Math.imul(I,z))+Math.imul(M,q)|0,i=Math.imul(M,z),o=o+Math.imul(A,G)|0,r=(r=r+Math.imul(A,$)|0)+Math.imul(T,G)|0,i=i+Math.imul(T,$)|0,o=o+Math.imul(S,V)|0,r=(r=r+Math.imul(S,W)|0)+Math.imul(x,V)|0,i=i+Math.imul(x,W)|0,o=o+Math.imul(E,Z)|0,r=(r=r+Math.imul(E,X)|0)+Math.imul(k,Z)|0,i=i+Math.imul(k,X)|0,o=o+Math.imul(b,Q)|0,r=(r=r+Math.imul(b,ee)|0)+Math.imul(v,Q)|0,i=i+Math.imul(v,ee)|0,o=o+Math.imul(_,ne)|0,r=(r=r+Math.imul(_,oe)|0)+Math.imul(F,ne)|0,i=i+Math.imul(F,oe)|0,o=o+Math.imul(f,ie)|0,r=(r=r+Math.imul(f,ae)|0)+Math.imul(g,ie)|0,i=i+Math.imul(g,ae)|0;var Ee=(c+(o=o+Math.imul(d,ue)|0)|0)+((8191&(r=(r=r+Math.imul(d,ce)|0)+Math.imul(h,ue)|0))<<13)|0;c=((i=i+Math.imul(h,ce)|0)+(r>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,o=Math.imul(B,q),r=(r=Math.imul(B,z))+Math.imul(N,q)|0,i=Math.imul(N,z),o=o+Math.imul(I,G)|0,r=(r=r+Math.imul(I,$)|0)+Math.imul(M,G)|0,i=i+Math.imul(M,$)|0,o=o+Math.imul(A,V)|0,r=(r=r+Math.imul(A,W)|0)+Math.imul(T,V)|0,i=i+Math.imul(T,W)|0,o=o+Math.imul(S,Z)|0,r=(r=r+Math.imul(S,X)|0)+Math.imul(x,Z)|0,i=i+Math.imul(x,X)|0,o=o+Math.imul(E,Q)|0,r=(r=r+Math.imul(E,ee)|0)+Math.imul(k,Q)|0,i=i+Math.imul(k,ee)|0,o=o+Math.imul(b,ne)|0,r=(r=r+Math.imul(b,oe)|0)+Math.imul(v,ne)|0,i=i+Math.imul(v,oe)|0,o=o+Math.imul(_,ie)|0,r=(r=r+Math.imul(_,ae)|0)+Math.imul(F,ie)|0,i=i+Math.imul(F,ae)|0,o=o+Math.imul(f,ue)|0,r=(r=r+Math.imul(f,ce)|0)+Math.imul(g,ue)|0,i=i+Math.imul(g,ce)|0;var ke=(c+(o=o+Math.imul(d,de)|0)|0)+((8191&(r=(r=r+Math.imul(d,he)|0)+Math.imul(h,de)|0))<<13)|0;c=((i=i+Math.imul(h,he)|0)+(r>>>13)|0)+(ke>>>26)|0,ke&=67108863,o=Math.imul(P,q),r=(r=Math.imul(P,z))+Math.imul(U,q)|0,i=Math.imul(U,z),o=o+Math.imul(B,G)|0,r=(r=r+Math.imul(B,$)|0)+Math.imul(N,G)|0,i=i+Math.imul(N,$)|0,o=o+Math.imul(I,V)|0,r=(r=r+Math.imul(I,W)|0)+Math.imul(M,V)|0,i=i+Math.imul(M,W)|0,o=o+Math.imul(A,Z)|0,r=(r=r+Math.imul(A,X)|0)+Math.imul(T,Z)|0,i=i+Math.imul(T,X)|0,o=o+Math.imul(S,Q)|0,r=(r=r+Math.imul(S,ee)|0)+Math.imul(x,Q)|0,i=i+Math.imul(x,ee)|0,o=o+Math.imul(E,ne)|0,r=(r=r+Math.imul(E,oe)|0)+Math.imul(k,ne)|0,i=i+Math.imul(k,oe)|0,o=o+Math.imul(b,ie)|0,r=(r=r+Math.imul(b,ae)|0)+Math.imul(v,ie)|0,i=i+Math.imul(v,ae)|0,o=o+Math.imul(_,ue)|0,r=(r=r+Math.imul(_,ce)|0)+Math.imul(F,ue)|0,i=i+Math.imul(F,ce)|0,o=o+Math.imul(f,de)|0,r=(r=r+Math.imul(f,he)|0)+Math.imul(g,de)|0,i=i+Math.imul(g,he)|0;var De=(c+(o=o+Math.imul(d,fe)|0)|0)+((8191&(r=(r=r+Math.imul(d,ge)|0)+Math.imul(h,fe)|0))<<13)|0;c=((i=i+Math.imul(h,ge)|0)+(r>>>13)|0)+(De>>>26)|0,De&=67108863,o=Math.imul(P,G),r=(r=Math.imul(P,$))+Math.imul(U,G)|0,i=Math.imul(U,$),o=o+Math.imul(B,V)|0,r=(r=r+Math.imul(B,W)|0)+Math.imul(N,V)|0,i=i+Math.imul(N,W)|0,o=o+Math.imul(I,Z)|0,r=(r=r+Math.imul(I,X)|0)+Math.imul(M,Z)|0,i=i+Math.imul(M,X)|0,o=o+Math.imul(A,Q)|0,r=(r=r+Math.imul(A,ee)|0)+Math.imul(T,Q)|0,i=i+Math.imul(T,ee)|0,o=o+Math.imul(S,ne)|0,r=(r=r+Math.imul(S,oe)|0)+Math.imul(x,ne)|0,i=i+Math.imul(x,oe)|0,o=o+Math.imul(E,ie)|0,r=(r=r+Math.imul(E,ae)|0)+Math.imul(k,ie)|0,i=i+Math.imul(k,ae)|0,o=o+Math.imul(b,ue)|0,r=(r=r+Math.imul(b,ce)|0)+Math.imul(v,ue)|0,i=i+Math.imul(v,ce)|0,o=o+Math.imul(_,de)|0,r=(r=r+Math.imul(_,he)|0)+Math.imul(F,de)|0,i=i+Math.imul(F,he)|0;var Se=(c+(o=o+Math.imul(f,fe)|0)|0)+((8191&(r=(r=r+Math.imul(f,ge)|0)+Math.imul(g,fe)|0))<<13)|0;c=((i=i+Math.imul(g,ge)|0)+(r>>>13)|0)+(Se>>>26)|0,Se&=67108863,o=Math.imul(P,V),r=(r=Math.imul(P,W))+Math.imul(U,V)|0,i=Math.imul(U,W),o=o+Math.imul(B,Z)|0,r=(r=r+Math.imul(B,X)|0)+Math.imul(N,Z)|0,i=i+Math.imul(N,X)|0,o=o+Math.imul(I,Q)|0,r=(r=r+Math.imul(I,ee)|0)+Math.imul(M,Q)|0,i=i+Math.imul(M,ee)|0,o=o+Math.imul(A,ne)|0,r=(r=r+Math.imul(A,oe)|0)+Math.imul(T,ne)|0,i=i+Math.imul(T,oe)|0,o=o+Math.imul(S,ie)|0,r=(r=r+Math.imul(S,ae)|0)+Math.imul(x,ie)|0,i=i+Math.imul(x,ae)|0,o=o+Math.imul(E,ue)|0,r=(r=r+Math.imul(E,ce)|0)+Math.imul(k,ue)|0,i=i+Math.imul(k,ce)|0,o=o+Math.imul(b,de)|0,r=(r=r+Math.imul(b,he)|0)+Math.imul(v,de)|0,i=i+Math.imul(v,he)|0;var xe=(c+(o=o+Math.imul(_,fe)|0)|0)+((8191&(r=(r=r+Math.imul(_,ge)|0)+Math.imul(F,fe)|0))<<13)|0;c=((i=i+Math.imul(F,ge)|0)+(r>>>13)|0)+(xe>>>26)|0,xe&=67108863,o=Math.imul(P,Z),r=(r=Math.imul(P,X))+Math.imul(U,Z)|0,i=Math.imul(U,X),o=o+Math.imul(B,Q)|0,r=(r=r+Math.imul(B,ee)|0)+Math.imul(N,Q)|0,i=i+Math.imul(N,ee)|0,o=o+Math.imul(I,ne)|0,r=(r=r+Math.imul(I,oe)|0)+Math.imul(M,ne)|0,i=i+Math.imul(M,oe)|0,o=o+Math.imul(A,ie)|0,r=(r=r+Math.imul(A,ae)|0)+Math.imul(T,ie)|0,i=i+Math.imul(T,ae)|0,o=o+Math.imul(S,ue)|0,r=(r=r+Math.imul(S,ce)|0)+Math.imul(x,ue)|0,i=i+Math.imul(x,ce)|0,o=o+Math.imul(E,de)|0,r=(r=r+Math.imul(E,he)|0)+Math.imul(k,de)|0,i=i+Math.imul(k,he)|0;var Ce=(c+(o=o+Math.imul(b,fe)|0)|0)+((8191&(r=(r=r+Math.imul(b,ge)|0)+Math.imul(v,fe)|0))<<13)|0;c=((i=i+Math.imul(v,ge)|0)+(r>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,o=Math.imul(P,Q),r=(r=Math.imul(P,ee))+Math.imul(U,Q)|0,i=Math.imul(U,ee),o=o+Math.imul(B,ne)|0,r=(r=r+Math.imul(B,oe)|0)+Math.imul(N,ne)|0,i=i+Math.imul(N,oe)|0,o=o+Math.imul(I,ie)|0,r=(r=r+Math.imul(I,ae)|0)+Math.imul(M,ie)|0,i=i+Math.imul(M,ae)|0,o=o+Math.imul(A,ue)|0,r=(r=r+Math.imul(A,ce)|0)+Math.imul(T,ue)|0,i=i+Math.imul(T,ce)|0,o=o+Math.imul(S,de)|0,r=(r=r+Math.imul(S,he)|0)+Math.imul(x,de)|0,i=i+Math.imul(x,he)|0;var Ae=(c+(o=o+Math.imul(E,fe)|0)|0)+((8191&(r=(r=r+Math.imul(E,ge)|0)+Math.imul(k,fe)|0))<<13)|0;c=((i=i+Math.imul(k,ge)|0)+(r>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,o=Math.imul(P,ne),r=(r=Math.imul(P,oe))+Math.imul(U,ne)|0,i=Math.imul(U,oe),o=o+Math.imul(B,ie)|0,r=(r=r+Math.imul(B,ae)|0)+Math.imul(N,ie)|0,i=i+Math.imul(N,ae)|0,o=o+Math.imul(I,ue)|0,r=(r=r+Math.imul(I,ce)|0)+Math.imul(M,ue)|0,i=i+Math.imul(M,ce)|0,o=o+Math.imul(A,de)|0,r=(r=r+Math.imul(A,he)|0)+Math.imul(T,de)|0,i=i+Math.imul(T,he)|0;var Te=(c+(o=o+Math.imul(S,fe)|0)|0)+((8191&(r=(r=r+Math.imul(S,ge)|0)+Math.imul(x,fe)|0))<<13)|0;c=((i=i+Math.imul(x,ge)|0)+(r>>>13)|0)+(Te>>>26)|0,Te&=67108863,o=Math.imul(P,ie),r=(r=Math.imul(P,ae))+Math.imul(U,ie)|0,i=Math.imul(U,ae),o=o+Math.imul(B,ue)|0,r=(r=r+Math.imul(B,ce)|0)+Math.imul(N,ue)|0,i=i+Math.imul(N,ce)|0,o=o+Math.imul(I,de)|0,r=(r=r+Math.imul(I,he)|0)+Math.imul(M,de)|0,i=i+Math.imul(M,he)|0;var Re=(c+(o=o+Math.imul(A,fe)|0)|0)+((8191&(r=(r=r+Math.imul(A,ge)|0)+Math.imul(T,fe)|0))<<13)|0;c=((i=i+Math.imul(T,ge)|0)+(r>>>13)|0)+(Re>>>26)|0,Re&=67108863,o=Math.imul(P,ue),r=(r=Math.imul(P,ce))+Math.imul(U,ue)|0,i=Math.imul(U,ce),o=o+Math.imul(B,de)|0,r=(r=r+Math.imul(B,he)|0)+Math.imul(N,de)|0,i=i+Math.imul(N,he)|0;var Ie=(c+(o=o+Math.imul(I,fe)|0)|0)+((8191&(r=(r=r+Math.imul(I,ge)|0)+Math.imul(M,fe)|0))<<13)|0;c=((i=i+Math.imul(M,ge)|0)+(r>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,o=Math.imul(P,de),r=(r=Math.imul(P,he))+Math.imul(U,de)|0,i=Math.imul(U,he);var Me=(c+(o=o+Math.imul(B,fe)|0)|0)+((8191&(r=(r=r+Math.imul(B,ge)|0)+Math.imul(N,fe)|0))<<13)|0;c=((i=i+Math.imul(N,ge)|0)+(r>>>13)|0)+(Me>>>26)|0,Me&=67108863;var Oe=(c+(o=Math.imul(P,fe))|0)+((8191&(r=(r=Math.imul(P,ge))+Math.imul(U,fe)|0))<<13)|0;return c=((i=Math.imul(U,ge))+(r>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,u[0]=me,u[1]=_e,u[2]=Fe,u[3]=ye,u[4]=be,u[5]=ve,u[6]=we,u[7]=Ee,u[8]=ke,u[9]=De,u[10]=Se,u[11]=xe,u[12]=Ce,u[13]=Ae,u[14]=Te,u[15]=Re,u[16]=Ie,u[17]=Me,u[18]=Oe,0!==c&&(u[19]=c,n.length++),n};function g(e,t,n){return(new m).mulp(e,t,n)}function m(e,t){this.x=e,this.y=t}Math.imul||(f=p),i.prototype.mulTo=function(e,t){var n=this.length+e.length;return 10===this.length&&10===e.length?f(this,e,t):n<63?p(this,e,t):n<1024?function(e,t,n){n.negative=t.negative^e.negative,n.length=e.length+t.length;for(var o=0,r=0,i=0;i>>26)|0)>>>26,a&=67108863}n.words[i]=s,o=a,a=r}return 0!==o?n.words[i]=o:n.length--,n.strip()}(this,e,t):g(this,e,t)},m.prototype.makeRBT=function(e){for(var t=new Array(e),n=i.prototype._countBits(e)-1,o=0;o>=1;return o},m.prototype.permute=function(e,t,n,o,r,i){for(var a=0;a>>=1)r++;return 1<>>=13,n[2*a+1]=8191&i,i>>>=13;for(a=2*t;a>=26,t+=r/67108864|0,t+=i>>>26,this.words[n]=67108863&i}return 0!==t&&(this.words[n]=t,this.length++),this},i.prototype.muln=function(e){return this.clone().imuln(e)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),n=0;n>>r}return t}(e);if(0===t.length)return new i(1);for(var n=this,o=0;o=0);var t,n=e%26,r=(e-n)/26,i=67108863>>>26-n<<26-n;if(0!==n){var a=0;for(t=0;t>>26-n}a&&(this.words[t]=a,this.length++)}if(0!==r){for(t=this.length-1;t>=0;t--)this.words[t+r]=this.words[t];for(t=0;t=0),r=t?(t-t%26)/26:0;var i=e%26,a=Math.min((e-i)/26,this.length),s=67108863^67108863>>>i<a)for(this.length-=a,c=0;c=0&&(0!==l||c>=r);c--){var d=0|this.words[c];this.words[c]=l<<26-i|d>>>i,l=d&s}return u&&0!==l&&(u.words[u.length++]=l),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.ishrn=function(e,t,n){return o(0===this.negative),this.iushrn(e,t,n)},i.prototype.shln=function(e){return this.clone().ishln(e)},i.prototype.ushln=function(e){return this.clone().iushln(e)},i.prototype.shrn=function(e){return this.clone().ishrn(e)},i.prototype.ushrn=function(e){return this.clone().iushrn(e)},i.prototype.testn=function(e){o("number"==typeof e&&e>=0);var t=e%26,n=(e-t)/26,r=1<=0);var t=e%26,n=(e-t)/26;if(o(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==t&&n++,this.length=Math.min(n,this.length),0!==t){var r=67108863^67108863>>>t<=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},i.prototype.isubn=function(e){if(o("number"==typeof e),o(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t>26)-(u/67108864|0),this.words[r+n]=67108863&i}for(;r>26,this.words[r+n]=67108863&i;if(0===s)return this.strip();for(o(-1===s),s=0,r=0;r>26,this.words[r]=67108863&i;return this.negative=1,this.strip()},i.prototype._wordDiv=function(e,t){var n=(this.length,e.length),o=this.clone(),r=e,a=0|r.words[r.length-1];0!=(n=26-this._countBits(a))&&(r=r.ushln(n),o.iushln(n),a=0|r.words[r.length-1]);var s,u=o.length-r.length;if("mod"!==t){(s=new i(null)).length=u+1,s.words=new Array(s.length);for(var c=0;c=0;d--){var h=67108864*(0|o.words[r.length+d])+(0|o.words[r.length+d-1]);for(h=Math.min(h/a|0,67108863),o._ishlnsubmul(r,h,d);0!==o.negative;)h--,o.negative=0,o._ishlnsubmul(r,1,d),o.isZero()||(o.negative^=1);s&&(s.words[d]=h)}return s&&s.strip(),o.strip(),"div"!==t&&0!==n&&o.iushrn(n),{div:s||null,mod:o}},i.prototype.divmod=function(e,t,n){return o(!e.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,t),"mod"!==t&&(r=s.div.neg()),"div"!==t&&(a=s.mod.neg(),n&&0!==a.negative&&a.iadd(e)),{div:r,mod:a}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),t),"mod"!==t&&(r=s.div.neg()),{div:r,mod:s.mod}):0!=(this.negative&e.negative)?(s=this.neg().divmod(e.neg(),t),"div"!==t&&(a=s.mod.neg(),n&&0!==a.negative&&a.isub(e)),{div:s.div,mod:a}):e.length>this.length||this.cmp(e)<0?{div:new i(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new i(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new i(this.modn(e.words[0]))}:this._wordDiv(e,t);var r,a,s},i.prototype.div=function(e){return this.divmod(e,"div",!1).div},i.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},i.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},i.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var n=0!==t.div.negative?t.mod.isub(e):t.mod,o=e.ushrn(1),r=e.andln(1),i=n.cmp(o);return i<0||1===r&&0===i?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},i.prototype.modn=function(e){o(e<=67108863);for(var t=(1<<26)%e,n=0,r=this.length-1;r>=0;r--)n=(t*n+(0|this.words[r]))%e;return n},i.prototype.idivn=function(e){o(e<=67108863);for(var t=0,n=this.length-1;n>=0;n--){var r=(0|this.words[n])+67108864*t;this.words[n]=r/e|0,t=r%e}return this.strip()},i.prototype.divn=function(e){return this.clone().idivn(e)},i.prototype.egcd=function(e){o(0===e.negative),o(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var r=new i(1),a=new i(0),s=new i(0),u=new i(1),c=0;t.isEven()&&n.isEven();)t.iushrn(1),n.iushrn(1),++c;for(var l=n.clone(),d=t.clone();!t.isZero();){for(var h=0,p=1;0==(t.words[0]&p)&&h<26;++h,p<<=1);if(h>0)for(t.iushrn(h);h-- >0;)(r.isOdd()||a.isOdd())&&(r.iadd(l),a.isub(d)),r.iushrn(1),a.iushrn(1);for(var f=0,g=1;0==(n.words[0]&g)&&f<26;++f,g<<=1);if(f>0)for(n.iushrn(f);f-- >0;)(s.isOdd()||u.isOdd())&&(s.iadd(l),u.isub(d)),s.iushrn(1),u.iushrn(1);t.cmp(n)>=0?(t.isub(n),r.isub(s),a.isub(u)):(n.isub(t),s.isub(r),u.isub(a))}return{a:s,b:u,gcd:n.iushln(c)}},i.prototype._invmp=function(e){o(0===e.negative),o(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var r,a=new i(1),s=new i(0),u=n.clone();t.cmpn(1)>0&&n.cmpn(1)>0;){for(var c=0,l=1;0==(t.words[0]&l)&&c<26;++c,l<<=1);if(c>0)for(t.iushrn(c);c-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);for(var d=0,h=1;0==(n.words[0]&h)&&d<26;++d,h<<=1);if(d>0)for(n.iushrn(d);d-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);t.cmp(n)>=0?(t.isub(n),a.isub(s)):(n.isub(t),s.isub(a))}return(r=0===t.cmpn(1)?a:s).cmpn(0)<0&&r.iadd(e),r},i.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),n=e.clone();t.negative=0,n.negative=0;for(var o=0;t.isEven()&&n.isEven();o++)t.iushrn(1),n.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;n.isEven();)n.iushrn(1);var r=t.cmp(n);if(r<0){var i=t;t=n,n=i}else if(0===r||0===n.cmpn(1))break;t.isub(n)}return n.iushln(o)},i.prototype.invm=function(e){return this.egcd(e).a.umod(e)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(e){return this.words[0]&e},i.prototype.bincn=function(e){o("number"==typeof e);var t=e%26,n=(e-t)/26,r=1<>>26,s&=67108863,this.words[a]=s}return 0!==i&&(this.words[a]=i,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(e){var t,n=e<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this.strip(),this.length>1)t=1;else{n&&(e=-e),o(e<=67108863,"Number is too big");var r=0|this.words[0];t=r===e?0:re.length)return 1;if(this.length=0;n--){var o=0|this.words[n],r=0|e.words[n];if(o!==r){or&&(t=1);break}}return t},i.prototype.gtn=function(e){return 1===this.cmpn(e)},i.prototype.gt=function(e){return 1===this.cmp(e)},i.prototype.gten=function(e){return this.cmpn(e)>=0},i.prototype.gte=function(e){return this.cmp(e)>=0},i.prototype.ltn=function(e){return-1===this.cmpn(e)},i.prototype.lt=function(e){return-1===this.cmp(e)},i.prototype.lten=function(e){return this.cmpn(e)<=0},i.prototype.lte=function(e){return this.cmp(e)<=0},i.prototype.eqn=function(e){return 0===this.cmpn(e)},i.prototype.eq=function(e){return 0===this.cmp(e)},i.red=function(e){return new E(e)},i.prototype.toRed=function(e){return o(!this.red,"Already a number in reduction context"),o(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},i.prototype.fromRed=function(){return o(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(e){return this.red=e,this},i.prototype.forceRed=function(e){return o(!this.red,"Already a number in reduction context"),this._forceRed(e)},i.prototype.redAdd=function(e){return o(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},i.prototype.redIAdd=function(e){return o(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},i.prototype.redSub=function(e){return o(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},i.prototype.redISub=function(e){return o(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},i.prototype.redShl=function(e){return o(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},i.prototype.redMul=function(e){return o(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},i.prototype.redIMul=function(e){return o(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},i.prototype.redSqr=function(){return o(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return o(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return o(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return o(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return o(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(e){return o(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var _={k256:null,p224:null,p192:null,p25519:null};function F(e,t){this.name=e,this.p=new i(t,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function y(){F.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){F.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function v(){F.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function w(){F.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(e){if("string"==typeof e){var t=i._prime(e);this.m=t.p,this.prime=t}else o(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function k(e){E.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}F.prototype._tmp=function(){var e=new i(null);return e.words=new Array(Math.ceil(this.n/13)),e},F.prototype.ireduce=function(e){var t,n=e;do{this.split(n,this.tmp),t=(n=(n=this.imulK(n)).iadd(this.tmp)).bitLength()}while(t>this.n);var o=t0?n.isub(this.p):void 0!==n.strip?n.strip():n._strip(),n},F.prototype.split=function(e,t){e.iushrn(this.n,0,t)},F.prototype.imulK=function(e){return e.imul(this.k)},r(y,F),y.prototype.split=function(e,t){for(var n=4194303,o=Math.min(e.length,9),r=0;r>>22,i=a}i>>>=22,e.words[r-10]=i,0===i&&e.length>10?e.length-=10:e.length-=9},y.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,n=0;n>>=26,e.words[n]=r,t=o}return 0!==t&&(e.words[e.length++]=t),e},i._prime=function(e){if(_[e])return _[e];var t;if("k256"===e)t=new y;else if("p224"===e)t=new b;else if("p192"===e)t=new v;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new w}return _[e]=t,t},E.prototype._verify1=function(e){o(0===e.negative,"red works only with positives"),o(e.red,"red works only with red numbers")},E.prototype._verify2=function(e,t){o(0==(e.negative|t.negative),"red works only with positives"),o(e.red&&e.red===t.red,"red works only with red numbers")},E.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},E.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},E.prototype.add=function(e,t){this._verify2(e,t);var n=e.add(t);return n.cmp(this.m)>=0&&n.isub(this.m),n._forceRed(this)},E.prototype.iadd=function(e,t){this._verify2(e,t);var n=e.iadd(t);return n.cmp(this.m)>=0&&n.isub(this.m),n},E.prototype.sub=function(e,t){this._verify2(e,t);var n=e.sub(t);return n.cmpn(0)<0&&n.iadd(this.m),n._forceRed(this)},E.prototype.isub=function(e,t){this._verify2(e,t);var n=e.isub(t);return n.cmpn(0)<0&&n.iadd(this.m),n},E.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},E.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},E.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},E.prototype.isqr=function(e){return this.imul(e,e.clone())},E.prototype.sqr=function(e){return this.mul(e,e)},E.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(o(t%2==1),3===t){var n=this.m.add(new i(1)).iushrn(2);return this.pow(e,n)}for(var r=this.m.subn(1),a=0;!r.isZero()&&0===r.andln(1);)a++,r.iushrn(1);o(!r.isZero());var s=new i(1).toRed(this),u=s.redNeg(),c=this.m.subn(1).iushrn(1),l=this.m.bitLength();for(l=new i(2*l*l).toRed(this);0!==this.pow(l,c).cmp(u);)l.redIAdd(u);for(var d=this.pow(l,r),h=this.pow(e,r.addn(1).iushrn(1)),p=this.pow(e,r),f=a;0!==p.cmp(s);){for(var g=p,m=0;0!==g.cmp(s);m++)g=g.redSqr();o(m=0;o--){for(var c=t.words[o],l=u-1;l>=0;l--){var d=c>>l&1;r!==n[0]&&(r=this.sqr(r)),0!==d||0!==a?(a<<=1,a|=d,(4==++s||0===o&&0===l)&&(r=this.mul(r,n[a]),s=0,a=0)):s=0}u=26}return r},E.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},E.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},i.mont=function(e){return new k(e)},r(k,E),k.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},k.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},k.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var n=e.imul(t),o=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=n.isub(o).iushrn(this.shift),i=r;return r.cmp(this.m)>=0?i=r.isub(this.m):r.cmpn(0)<0&&(i=r.iadd(this.m)),i._forceRed(this)},k.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new i(0)._forceRed(this);var n=e.mul(t),o=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=n.isub(o).iushrn(this.shift),a=r;return r.cmp(this.m)>=0?a=r.isub(this.m):r.cmpn(0)<0&&(a=r.iadd(this.m)),a._forceRed(this)},k.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e=n.nmd(e),this)},23482:(e,t,n)=>{"use strict";var o=n(35717),r=n(62318),i=n(79785),a=n(89072),s=n(71027);function u(e){s.call(this,"digest"),this._hash=e}o(u,s),u.prototype._update=function(e){this._hash.update(e)},u.prototype._final=function(){return this._hash.digest()},e.exports=function(e){return"md5"===(e=e.toLowerCase())?new r:"rmd160"===e||"ripemd160"===e?new i:new u(a(e))}},78028:(e,t,n)=>{var o=n(62318);e.exports=function(e){return(new o).update(e).digest()}},58355:(e,t,n)=>{"use strict";var o=n(35717),r=n(51031),i=n(71027),a=n(89509).Buffer,s=n(78028),u=n(79785),c=n(89072),l=a.alloc(128);function d(e,t){i.call(this,"digest"),"string"==typeof t&&(t=a.from(t));var n="sha512"===e||"sha384"===e?128:64;this._alg=e,this._key=t,t.length>n?t=("rmd160"===e?new u:c(e)).update(t).digest():t.length{"use strict";var o=n(35717),r=n(89509).Buffer,i=n(71027),a=r.alloc(128),s=64;function u(e,t){i.call(this,"digest"),"string"==typeof t&&(t=r.from(t)),this._alg=e,this._key=t,t.length>s?t=e(t):t.length{"use strict";t.randomBytes=t.rng=t.pseudoRandomBytes=t.prng=n(61798),t.createHash=t.Hash=n(23482),t.createHmac=t.Hmac=n(58355);var o=n(56042),r=Object.keys(o),i=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(r);t.getHashes=function(){return i};var a=n(25632);t.pbkdf2=a.pbkdf2,t.pbkdf2Sync=a.pbkdf2Sync;var s=n(53614);t.Cipher=s.Cipher,t.createCipher=s.createCipher,t.Cipheriv=s.Cipheriv,t.createCipheriv=s.createCipheriv,t.Decipher=s.Decipher,t.createDecipher=s.createDecipher,t.Decipheriv=s.Decipheriv,t.createDecipheriv=s.createDecipheriv,t.getCiphers=s.getCiphers,t.listCiphers=s.listCiphers;var u=n(62607);t.DiffieHellmanGroup=u.DiffieHellmanGroup,t.createDiffieHellmanGroup=u.createDiffieHellmanGroup,t.getDiffieHellman=u.getDiffieHellman,t.createDiffieHellman=u.createDiffieHellman,t.DiffieHellman=u.DiffieHellman;var c=n(64743);t.createSign=c.createSign,t.Sign=c.Sign,t.createVerify=c.createVerify,t.Verify=c.Verify,t.createECDH=n(76393);var l=n(7900);t.publicEncrypt=l.publicEncrypt,t.privateEncrypt=l.privateEncrypt,t.publicDecrypt=l.publicDecrypt,t.privateDecrypt=l.privateDecrypt;var d=n(77963);t.randomFill=d.randomFill,t.randomFillSync=d.randomFillSync,t.createCredentials=function(){throw new Error(["sorry, createCredentials is not implemented yet","we accept pull requests","https://github.com/crypto-browserify/crypto-browserify"].join("\n"))},t.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6}},48116:(e,t,n)=>{"use strict";var o;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(i){var a,s,u,c=arguments,l=(a=/d{1,4}|D{3,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|W{1,2}|[LlopSZN]|"[^"]*"|'[^']*'/g,s=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,u=/[^-+\dA-Z]/g,function(e,t,n,o){if(1!==c.length||"string"!==g(e)||/\d/.test(e)||(t=e,e=void 0),(e=e||0===e?e:new Date)instanceof Date||(e=new Date(e)),isNaN(e))throw TypeError("Invalid date");var r=(t=String(l.masks[t]||t||l.masks.default)).slice(0,4);"UTC:"!==r&&"GMT:"!==r||(t=t.slice(4),n=!0,"GMT:"===r&&(o=!0));var i=function(){return n?"getUTC":"get"},m=function(){return e[i()+"Date"]()},_=function(){return e[i()+"Day"]()},F=function(){return e[i()+"Month"]()},y=function(){return e[i()+"FullYear"]()},b=function(){return e[i()+"Hours"]()},v=function(){return e[i()+"Minutes"]()},w=function(){return e[i()+"Seconds"]()},E=function(){return e[i()+"Milliseconds"]()},k=function(){return n?0:e.getTimezoneOffset()},D=function(){return p(e)},S={d:function(){return m()},dd:function(){return d(m())},ddd:function(){return l.i18n.dayNames[_()]},DDD:function(){return h({y:y(),m:F(),d:m(),_:i(),dayName:l.i18n.dayNames[_()],short:!0})},dddd:function(){return l.i18n.dayNames[_()+7]},DDDD:function(){return h({y:y(),m:F(),d:m(),_:i(),dayName:l.i18n.dayNames[_()+7]})},m:function(){return F()+1},mm:function(){return d(F()+1)},mmm:function(){return l.i18n.monthNames[F()]},mmmm:function(){return l.i18n.monthNames[F()+12]},yy:function(){return String(y()).slice(2)},yyyy:function(){return d(y(),4)},h:function(){return b()%12||12},hh:function(){return d(b()%12||12)},H:function(){return b()},HH:function(){return d(b())},M:function(){return v()},MM:function(){return d(v())},s:function(){return w()},ss:function(){return d(w())},l:function(){return d(E(),3)},L:function(){return d(Math.floor(E()/10))},t:function(){return b()<12?l.i18n.timeNames[0]:l.i18n.timeNames[1]},tt:function(){return b()<12?l.i18n.timeNames[2]:l.i18n.timeNames[3]},T:function(){return b()<12?l.i18n.timeNames[4]:l.i18n.timeNames[5]},TT:function(){return b()<12?l.i18n.timeNames[6]:l.i18n.timeNames[7]},Z:function(){return o?"GMT":n?"UTC":(String(e).match(s)||[""]).pop().replace(u,"").replace(/GMT\+0000/g,"UTC")},o:function(){return(k()>0?"-":"+")+d(100*Math.floor(Math.abs(k())/60)+Math.abs(k())%60,4)},p:function(){return(k()>0?"-":"+")+d(Math.floor(Math.abs(k())/60),2)+":"+d(Math.floor(Math.abs(k())%60),2)},S:function(){return["th","st","nd","rd"][m()%10>3?0:(m()%100-m()%10!=10)*m()%10]},W:function(){return D()},WW:function(){return d(D())},N:function(){return f(e)}};return t.replace(a,(function(e){return e in S?S[e]():e.slice(1,e.length-1)}))});l.masks={default:"ddd mmm dd yyyy HH:MM:ss",shortDate:"m/d/yy",paddedShortDate:"mm/dd/yyyy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy",shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:sso",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'",expiresHeaderFormat:"ddd, dd mmm yyyy HH:MM:ss Z"},l.i18n={dayNames:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","January","February","March","April","May","June","July","August","September","October","November","December"],timeNames:["a","p","am","pm","A","P","AM","PM"]};var d=function(e,t){for(e=String(e),t=t||2;e.length{var o=n(89539),r=n(32554).NI;function i(e){r.call(this,"string"==typeof e?e:""),this._db=void 0,this._operations=[]}o.inherits(i,r),i.prototype.setDb=function(e){this._db=e,this._operations.forEach((function(t){e[t.method].apply(e,t.args)}))},i.prototype._open=function(e,t){return process.nextTick(t)},i.prototype._operation=function(e,t){if(this._db)return this._db[e].apply(this._db,t);this._operations.push({method:e,args:t})},"put get del batch approximateSize".split(" ").forEach((function(e){i.prototype["_"+e]=function(){this._operation(e,arguments)}})),i.prototype._isBuffer=function(e){return Buffer.isBuffer(e)},i.prototype._iterator=function(){throw new TypeError("not implemented")},e.exports=i},15251:(e,t,n)=>{"use strict";t.utils=n(11278),t.Cipher=n(55756),t.DES=n(70778),t.CBC=n(39051),t.EDE=n(50651)},39051:(e,t,n)=>{"use strict";var o=n(79746),r=n(35717),i={};function a(e){o.equal(e.length,8,"Invalid IV length"),this.iv=new Array(8);for(var t=0;t{"use strict";var o=n(79746);function r(e){this.options=e,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0}e.exports=r,r.prototype._init=function(){},r.prototype.update=function(e){return 0===e.length?[]:"decrypt"===this.type?this._updateDecrypt(e):this._updateEncrypt(e)},r.prototype._buffer=function(e,t){for(var n=Math.min(this.buffer.length-this.bufferOff,e.length-t),o=0;o0;o--)t+=this._buffer(e,t),n+=this._flushBuffer(r,n);return t+=this._buffer(e,t),r},r.prototype.final=function(e){var t,n;return e&&(t=this.update(e)),n="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),t?t.concat(n):n},r.prototype._pad=function(e,t){if(0===t)return!1;for(;t{"use strict";var o=n(79746),r=n(35717),i=n(11278),a=n(55756);function s(){this.tmp=new Array(2),this.keys=null}function u(e){a.call(this,e);var t=new s;this._desState=t,this.deriveKeys(t,e.key)}r(u,a),e.exports=u,u.create=function(e){return new u(e)};var c=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];u.prototype.deriveKeys=function(e,t){e.keys=new Array(32),o.equal(t.length,this.blockSize,"Invalid key length");var n=i.readUInt32BE(t,0),r=i.readUInt32BE(t,4);i.pc1(n,r,e.tmp,0),n=e.tmp[0],r=e.tmp[1];for(var a=0;a>>1];n=i.r28shl(n,s),r=i.r28shl(r,s),i.pc2(n,r,e.keys,a)}},u.prototype._update=function(e,t,n,o){var r=this._desState,a=i.readUInt32BE(e,t),s=i.readUInt32BE(e,t+4);i.ip(a,s,r.tmp,0),a=r.tmp[0],s=r.tmp[1],"encrypt"===this.type?this._encrypt(r,a,s,r.tmp,0):this._decrypt(r,a,s,r.tmp,0),a=r.tmp[0],s=r.tmp[1],i.writeUInt32BE(n,a,o),i.writeUInt32BE(n,s,o+4)},u.prototype._pad=function(e,t){for(var n=e.length-t,o=t;o>>0,a=h}i.rip(s,a,o,r)},u.prototype._decrypt=function(e,t,n,o,r){for(var a=n,s=t,u=e.keys.length-2;u>=0;u-=2){var c=e.keys[u],l=e.keys[u+1];i.expand(a,e.tmp,0),c^=e.tmp[0],l^=e.tmp[1];var d=i.substitute(c,l),h=a;a=(s^i.permute(d))>>>0,s=h}i.rip(a,s,o,r)}},50651:(e,t,n)=>{"use strict";var o=n(79746),r=n(35717),i=n(55756),a=n(70778);function s(e,t){o.equal(t.length,24,"Invalid key length");var n=t.slice(0,8),r=t.slice(8,16),i=t.slice(16,24);this.ciphers="encrypt"===e?[a.create({type:"encrypt",key:n}),a.create({type:"decrypt",key:r}),a.create({type:"encrypt",key:i})]:[a.create({type:"decrypt",key:i}),a.create({type:"encrypt",key:r}),a.create({type:"decrypt",key:n})]}function u(e){i.call(this,e);var t=new s(this.type,this.options.key);this._edeState=t}r(u,i),e.exports=u,u.create=function(e){return new u(e)},u.prototype._update=function(e,t,n,o){var r=this._edeState;r.ciphers[0]._update(e,t,n,o),r.ciphers[1]._update(n,o,n,o),r.ciphers[2]._update(n,o,n,o)},u.prototype._pad=a.prototype._pad,u.prototype._unpad=a.prototype._unpad},11278:(e,t)=>{"use strict";t.readUInt32BE=function(e,t){return(e[0+t]<<24|e[1+t]<<16|e[2+t]<<8|e[3+t])>>>0},t.writeUInt32BE=function(e,t,n){e[0+n]=t>>>24,e[1+n]=t>>>16&255,e[2+n]=t>>>8&255,e[3+n]=255&t},t.ip=function(e,t,n,o){for(var r=0,i=0,a=6;a>=0;a-=2){for(var s=0;s<=24;s+=8)r<<=1,r|=t>>>s+a&1;for(s=0;s<=24;s+=8)r<<=1,r|=e>>>s+a&1}for(a=6;a>=0;a-=2){for(s=1;s<=25;s+=8)i<<=1,i|=t>>>s+a&1;for(s=1;s<=25;s+=8)i<<=1,i|=e>>>s+a&1}n[o+0]=r>>>0,n[o+1]=i>>>0},t.rip=function(e,t,n,o){for(var r=0,i=0,a=0;a<4;a++)for(var s=24;s>=0;s-=8)r<<=1,r|=t>>>s+a&1,r<<=1,r|=e>>>s+a&1;for(a=4;a<8;a++)for(s=24;s>=0;s-=8)i<<=1,i|=t>>>s+a&1,i<<=1,i|=e>>>s+a&1;n[o+0]=r>>>0,n[o+1]=i>>>0},t.pc1=function(e,t,n,o){for(var r=0,i=0,a=7;a>=5;a--){for(var s=0;s<=24;s+=8)r<<=1,r|=t>>s+a&1;for(s=0;s<=24;s+=8)r<<=1,r|=e>>s+a&1}for(s=0;s<=24;s+=8)r<<=1,r|=t>>s+a&1;for(a=1;a<=3;a++){for(s=0;s<=24;s+=8)i<<=1,i|=t>>s+a&1;for(s=0;s<=24;s+=8)i<<=1,i|=e>>s+a&1}for(s=0;s<=24;s+=8)i<<=1,i|=e>>s+a&1;n[o+0]=r>>>0,n[o+1]=i>>>0},t.r28shl=function(e,t){return e<>>28-t};var n=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];t.pc2=function(e,t,o,r){for(var i=0,a=0,s=n.length>>>1,u=0;u>>n[u]&1;for(u=s;u>>n[u]&1;o[r+0]=i>>>0,o[r+1]=a>>>0},t.expand=function(e,t,n){var o=0,r=0;o=(1&e)<<5|e>>>27;for(var i=23;i>=15;i-=4)o<<=6,o|=e>>>i&63;for(i=11;i>=3;i-=4)r|=e>>>i&63,r<<=6;r|=(31&e)<<1|e>>>31,t[n+0]=o>>>0,t[n+1]=r>>>0};var o=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];t.substitute=function(e,t){for(var n=0,r=0;r<4;r++)n<<=4,n|=o[64*r+(e>>>18-6*r&63)];for(r=0;r<4;r++)n<<=4,n|=o[256+64*r+(t>>>18-6*r&63)];return n>>>0};var r=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];t.permute=function(e){for(var t=0,n=0;n>>r[n]&1;return t>>>0},t.padSplit=function(e,t,n){for(var o=e.toString(2);o.length{var o=n(43590),r=n(61930),i=n(57426),a={binary:!0,hex:!0,base64:!0};t.DiffieHellmanGroup=t.createDiffieHellmanGroup=t.getDiffieHellman=function(e){var t=new Buffer(r[e].prime,"hex"),n=new Buffer(r[e].gen,"hex");return new i(t,n)},t.createDiffieHellman=t.DiffieHellman=function e(t,n,r,s){return Buffer.isBuffer(n)||void 0===a[n]?e(t,"binary",n,r):(n=n||"binary",s=s||"binary",r=r||new Buffer([2]),Buffer.isBuffer(r)||(r=new Buffer(r,s)),"number"==typeof t?new i(o(t,r),r,!0):(Buffer.isBuffer(t)||(t=new Buffer(t,n)),new i(t,r,!0)))}},57426:(e,t,n)=>{var o=n(83620),r=new(n(63047)),i=new o(24),a=new o(11),s=new o(10),u=new o(3),c=new o(7),l=n(43590),d=n(61798);function h(e,t){return t=t||"utf8",Buffer.isBuffer(e)||(e=new Buffer(e,t)),this._pub=new o(e),this}function p(e,t){return t=t||"utf8",Buffer.isBuffer(e)||(e=new Buffer(e,t)),this._priv=new o(e),this}e.exports=g;var f={};function g(e,t,n){this.setGenerator(t),this.__prime=new o(e),this._prime=o.mont(this.__prime),this._primeLen=e.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,n?(this.setPublicKey=h,this.setPrivateKey=p):this._primeCode=8}function m(e,t){var n=new Buffer(e.toArray());return t?n.toString(t):n}Object.defineProperty(g.prototype,"verifyError",{enumerable:!0,get:function(){return"number"!=typeof this._primeCode&&(this._primeCode=function(e,t){var n=t.toString("hex"),o=[n,e.toString(16)].join("_");if(o in f)return f[o];var d,h=0;if(e.isEven()||!l.simpleSieve||!l.fermatTest(e)||!r.test(e))return h+=1,h+="02"===n||"05"===n?8:4,f[o]=h,h;switch(r.test(e.shrn(1))||(h+=2),n){case"02":e.mod(i).cmp(a)&&(h+=8);break;case"05":(d=e.mod(s)).cmp(u)&&d.cmp(c)&&(h+=8);break;default:h+=4}return f[o]=h,h}(this.__prime,this.__gen)),this._primeCode}}),g.prototype.generateKeys=function(){return this._priv||(this._priv=new o(d(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},g.prototype.computeSecret=function(e){var t=(e=(e=new o(e)).toRed(this._prime)).redPow(this._priv).fromRed(),n=new Buffer(t.toArray()),r=this.getPrime();if(n.length{var o=n(61798);e.exports=F,F.simpleSieve=m,F.fermatTest=_;var r=n(83620),i=new r(24),a=new(n(63047)),s=new r(1),u=new r(2),c=new r(5),l=(new r(16),new r(8),new r(10)),d=new r(3),h=(new r(7),new r(11)),p=new r(4),f=(new r(12),null);function g(){if(null!==f)return f;var e=[];e[0]=2;for(var t=1,n=3;n<1048576;n+=2){for(var o=Math.ceil(Math.sqrt(n)),r=0;re;)n.ishrn(1);if(n.isEven()&&n.iadd(s),n.testn(1)||n.iadd(u),t.cmp(u)){if(!t.cmp(c))for(;n.mod(l).cmp(d);)n.iadd(p)}else for(;n.mod(i).cmp(h);)n.iadd(p);if(m(f=n.shrn(1))&&m(n)&&_(f)&&_(n)&&a.test(f)&&a.test(n))return n}}},61930:e=>{"use strict";e.exports=JSON.parse('{"modp1":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},"modp2":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},"modp5":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},"modp14":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},"modp15":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},"modp16":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},"modp17":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},"modp18":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}}')},83620:function(e,t,n){!function(e,t){"use strict";function o(e,t){if(!e)throw new Error(t||"Assertion failed")}function r(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}function i(e,t,n){if(i.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&("le"!==t&&"be"!==t||(n=t,t=10),this._init(e||0,t||10,n||"be"))}var a;"object"==typeof e?e.exports=i:t.BN=i,i.BN=i,i.wordSize=26;try{a="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:n(7748).Buffer}catch(e){}function s(e,t){var n=e.charCodeAt(t);return n>=65&&n<=70?n-55:n>=97&&n<=102?n-87:n-48&15}function u(e,t,n){var o=s(e,n);return n-1>=t&&(o|=s(e,n-1)<<4),o}function c(e,t,n,o){for(var r=0,i=Math.min(e.length,n),a=t;a=49?s-49+10:s>=17?s-17+10:s}return r}i.isBN=function(e){return e instanceof i||null!==e&&"object"==typeof e&&e.constructor.wordSize===i.wordSize&&Array.isArray(e.words)},i.max=function(e,t){return e.cmp(t)>0?e:t},i.min=function(e,t){return e.cmp(t)<0?e:t},i.prototype._init=function(e,t,n){if("number"==typeof e)return this._initNumber(e,t,n);if("object"==typeof e)return this._initArray(e,t,n);"hex"===t&&(t=16),o(t===(0|t)&&t>=2&&t<=36);var r=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&(r++,this.negative=1),r=0;r-=3)a=e[r]|e[r-1]<<8|e[r-2]<<16,this.words[i]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);else if("le"===n)for(r=0,i=0;r>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);return this.strip()},i.prototype._parseHex=function(e,t,n){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var o=0;o=t;o-=2)r=u(e,t,o)<=18?(i-=18,a+=1,this.words[a]|=r>>>26):i+=8;else for(o=(e.length-t)%2==0?t+1:t;o=18?(i-=18,a+=1,this.words[a]|=r>>>26):i+=8;this.strip()},i.prototype._parseBase=function(e,t,n){this.words=[0],this.length=1;for(var o=0,r=1;r<=67108863;r*=t)o++;o--,r=r/t|0;for(var i=e.length-n,a=i%o,s=Math.min(i,i-a)+n,u=0,l=n;l1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},i.prototype.inspect=function(){return(this.red?""};var l=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],d=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],h=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function p(e,t,n){n.negative=t.negative^e.negative;var o=e.length+t.length|0;n.length=o,o=o-1|0;var r=0|e.words[0],i=0|t.words[0],a=r*i,s=67108863&a,u=a/67108864|0;n.words[0]=s;for(var c=1;c>>26,d=67108863&u,h=Math.min(c,t.length-1),p=Math.max(0,c-e.length+1);p<=h;p++){var f=c-p|0;l+=(a=(r=0|e.words[f])*(i=0|t.words[p])+d)/67108864|0,d=67108863&a}n.words[c]=0|d,u=0|l}return 0!==u?n.words[c]=0|u:n.length--,n.strip()}i.prototype.toString=function(e,t){var n;if(t=0|t||1,16===(e=e||10)||"hex"===e){n="";for(var r=0,i=0,a=0;a>>24-r&16777215)||a!==this.length-1?l[6-u.length]+u+n:u+n,(r+=2)>=26&&(r-=26,a--)}for(0!==i&&(n=i.toString(16)+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(e===(0|e)&&e>=2&&e<=36){var c=d[e],p=h[e];n="";var f=this.clone();for(f.negative=0;!f.isZero();){var g=f.modn(p).toString(e);n=(f=f.idivn(p)).isZero()?g+n:l[c-g.length]+g+n}for(this.isZero()&&(n="0"+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}o(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&o(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toBuffer=function(e,t){return o(void 0!==a),this.toArrayLike(a,e,t)},i.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},i.prototype.toArrayLike=function(e,t,n){var r=this.byteLength(),i=n||Math.max(1,r);o(r<=i,"byte array longer than desired length"),o(i>0,"Requested array length <= 0"),this.strip();var a,s,u="le"===t,c=new e(i),l=this.clone();if(u){for(s=0;!l.isZero();s++)a=l.andln(255),l.iushrn(8),c[s]=a;for(;s=4096&&(n+=13,t>>>=13),t>=64&&(n+=7,t>>>=7),t>=8&&(n+=4,t>>>=4),t>=2&&(n+=2,t>>>=2),n+t},i.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,n=0;return 0==(8191&t)&&(n+=13,t>>>=13),0==(127&t)&&(n+=7,t>>>=7),0==(15&t)&&(n+=4,t>>>=4),0==(3&t)&&(n+=2,t>>>=2),0==(1&t)&&n++,n},i.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},i.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},i.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var n=0;ne.length?this.clone().iand(e):e.clone().iand(this)},i.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},i.prototype.iuxor=function(e){var t,n;this.length>e.length?(t=this,n=e):(t=e,n=this);for(var o=0;oe.length?this.clone().ixor(e):e.clone().ixor(this)},i.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},i.prototype.inotn=function(e){o("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),n=e%26;this._expand(t),n>0&&t--;for(var r=0;r0&&(this.words[r]=~this.words[r]&67108863>>26-n),this.strip()},i.prototype.notn=function(e){return this.clone().inotn(e)},i.prototype.setn=function(e,t){o("number"==typeof e&&e>=0);var n=e/26|0,r=e%26;return this._expand(n+1),this.words[n]=t?this.words[n]|1<e.length?(n=this,o=e):(n=e,o=this);for(var r=0,i=0;i>>26;for(;0!==r&&i>>26;if(this.length=n.length,0!==r)this.words[this.length]=r,this.length++;else if(n!==this)for(;ie.length?this.clone().iadd(e):e.clone().iadd(this)},i.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var n,o,r=this.cmp(e);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;r>0?(n=this,o=e):(n=e,o=this);for(var i=0,a=0;a>26,this.words[a]=67108863&t;for(;0!==i&&a>26,this.words[a]=67108863&t;if(0===i&&a>>13,p=0|a[1],f=8191&p,g=p>>>13,m=0|a[2],_=8191&m,F=m>>>13,y=0|a[3],b=8191&y,v=y>>>13,w=0|a[4],E=8191&w,k=w>>>13,D=0|a[5],S=8191&D,x=D>>>13,C=0|a[6],A=8191&C,T=C>>>13,R=0|a[7],I=8191&R,M=R>>>13,O=0|a[8],B=8191&O,N=O>>>13,L=0|a[9],P=8191&L,U=L>>>13,j=0|s[0],q=8191&j,z=j>>>13,K=0|s[1],G=8191&K,$=K>>>13,H=0|s[2],V=8191&H,W=H>>>13,Y=0|s[3],Z=8191&Y,X=Y>>>13,J=0|s[4],Q=8191&J,ee=J>>>13,te=0|s[5],ne=8191&te,oe=te>>>13,re=0|s[6],ie=8191&re,ae=re>>>13,se=0|s[7],ue=8191&se,ce=se>>>13,le=0|s[8],de=8191&le,he=le>>>13,pe=0|s[9],fe=8191&pe,ge=pe>>>13;n.negative=e.negative^t.negative,n.length=19;var me=(c+(o=Math.imul(d,q))|0)+((8191&(r=(r=Math.imul(d,z))+Math.imul(h,q)|0))<<13)|0;c=((i=Math.imul(h,z))+(r>>>13)|0)+(me>>>26)|0,me&=67108863,o=Math.imul(f,q),r=(r=Math.imul(f,z))+Math.imul(g,q)|0,i=Math.imul(g,z);var _e=(c+(o=o+Math.imul(d,G)|0)|0)+((8191&(r=(r=r+Math.imul(d,$)|0)+Math.imul(h,G)|0))<<13)|0;c=((i=i+Math.imul(h,$)|0)+(r>>>13)|0)+(_e>>>26)|0,_e&=67108863,o=Math.imul(_,q),r=(r=Math.imul(_,z))+Math.imul(F,q)|0,i=Math.imul(F,z),o=o+Math.imul(f,G)|0,r=(r=r+Math.imul(f,$)|0)+Math.imul(g,G)|0,i=i+Math.imul(g,$)|0;var Fe=(c+(o=o+Math.imul(d,V)|0)|0)+((8191&(r=(r=r+Math.imul(d,W)|0)+Math.imul(h,V)|0))<<13)|0;c=((i=i+Math.imul(h,W)|0)+(r>>>13)|0)+(Fe>>>26)|0,Fe&=67108863,o=Math.imul(b,q),r=(r=Math.imul(b,z))+Math.imul(v,q)|0,i=Math.imul(v,z),o=o+Math.imul(_,G)|0,r=(r=r+Math.imul(_,$)|0)+Math.imul(F,G)|0,i=i+Math.imul(F,$)|0,o=o+Math.imul(f,V)|0,r=(r=r+Math.imul(f,W)|0)+Math.imul(g,V)|0,i=i+Math.imul(g,W)|0;var ye=(c+(o=o+Math.imul(d,Z)|0)|0)+((8191&(r=(r=r+Math.imul(d,X)|0)+Math.imul(h,Z)|0))<<13)|0;c=((i=i+Math.imul(h,X)|0)+(r>>>13)|0)+(ye>>>26)|0,ye&=67108863,o=Math.imul(E,q),r=(r=Math.imul(E,z))+Math.imul(k,q)|0,i=Math.imul(k,z),o=o+Math.imul(b,G)|0,r=(r=r+Math.imul(b,$)|0)+Math.imul(v,G)|0,i=i+Math.imul(v,$)|0,o=o+Math.imul(_,V)|0,r=(r=r+Math.imul(_,W)|0)+Math.imul(F,V)|0,i=i+Math.imul(F,W)|0,o=o+Math.imul(f,Z)|0,r=(r=r+Math.imul(f,X)|0)+Math.imul(g,Z)|0,i=i+Math.imul(g,X)|0;var be=(c+(o=o+Math.imul(d,Q)|0)|0)+((8191&(r=(r=r+Math.imul(d,ee)|0)+Math.imul(h,Q)|0))<<13)|0;c=((i=i+Math.imul(h,ee)|0)+(r>>>13)|0)+(be>>>26)|0,be&=67108863,o=Math.imul(S,q),r=(r=Math.imul(S,z))+Math.imul(x,q)|0,i=Math.imul(x,z),o=o+Math.imul(E,G)|0,r=(r=r+Math.imul(E,$)|0)+Math.imul(k,G)|0,i=i+Math.imul(k,$)|0,o=o+Math.imul(b,V)|0,r=(r=r+Math.imul(b,W)|0)+Math.imul(v,V)|0,i=i+Math.imul(v,W)|0,o=o+Math.imul(_,Z)|0,r=(r=r+Math.imul(_,X)|0)+Math.imul(F,Z)|0,i=i+Math.imul(F,X)|0,o=o+Math.imul(f,Q)|0,r=(r=r+Math.imul(f,ee)|0)+Math.imul(g,Q)|0,i=i+Math.imul(g,ee)|0;var ve=(c+(o=o+Math.imul(d,ne)|0)|0)+((8191&(r=(r=r+Math.imul(d,oe)|0)+Math.imul(h,ne)|0))<<13)|0;c=((i=i+Math.imul(h,oe)|0)+(r>>>13)|0)+(ve>>>26)|0,ve&=67108863,o=Math.imul(A,q),r=(r=Math.imul(A,z))+Math.imul(T,q)|0,i=Math.imul(T,z),o=o+Math.imul(S,G)|0,r=(r=r+Math.imul(S,$)|0)+Math.imul(x,G)|0,i=i+Math.imul(x,$)|0,o=o+Math.imul(E,V)|0,r=(r=r+Math.imul(E,W)|0)+Math.imul(k,V)|0,i=i+Math.imul(k,W)|0,o=o+Math.imul(b,Z)|0,r=(r=r+Math.imul(b,X)|0)+Math.imul(v,Z)|0,i=i+Math.imul(v,X)|0,o=o+Math.imul(_,Q)|0,r=(r=r+Math.imul(_,ee)|0)+Math.imul(F,Q)|0,i=i+Math.imul(F,ee)|0,o=o+Math.imul(f,ne)|0,r=(r=r+Math.imul(f,oe)|0)+Math.imul(g,ne)|0,i=i+Math.imul(g,oe)|0;var we=(c+(o=o+Math.imul(d,ie)|0)|0)+((8191&(r=(r=r+Math.imul(d,ae)|0)+Math.imul(h,ie)|0))<<13)|0;c=((i=i+Math.imul(h,ae)|0)+(r>>>13)|0)+(we>>>26)|0,we&=67108863,o=Math.imul(I,q),r=(r=Math.imul(I,z))+Math.imul(M,q)|0,i=Math.imul(M,z),o=o+Math.imul(A,G)|0,r=(r=r+Math.imul(A,$)|0)+Math.imul(T,G)|0,i=i+Math.imul(T,$)|0,o=o+Math.imul(S,V)|0,r=(r=r+Math.imul(S,W)|0)+Math.imul(x,V)|0,i=i+Math.imul(x,W)|0,o=o+Math.imul(E,Z)|0,r=(r=r+Math.imul(E,X)|0)+Math.imul(k,Z)|0,i=i+Math.imul(k,X)|0,o=o+Math.imul(b,Q)|0,r=(r=r+Math.imul(b,ee)|0)+Math.imul(v,Q)|0,i=i+Math.imul(v,ee)|0,o=o+Math.imul(_,ne)|0,r=(r=r+Math.imul(_,oe)|0)+Math.imul(F,ne)|0,i=i+Math.imul(F,oe)|0,o=o+Math.imul(f,ie)|0,r=(r=r+Math.imul(f,ae)|0)+Math.imul(g,ie)|0,i=i+Math.imul(g,ae)|0;var Ee=(c+(o=o+Math.imul(d,ue)|0)|0)+((8191&(r=(r=r+Math.imul(d,ce)|0)+Math.imul(h,ue)|0))<<13)|0;c=((i=i+Math.imul(h,ce)|0)+(r>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,o=Math.imul(B,q),r=(r=Math.imul(B,z))+Math.imul(N,q)|0,i=Math.imul(N,z),o=o+Math.imul(I,G)|0,r=(r=r+Math.imul(I,$)|0)+Math.imul(M,G)|0,i=i+Math.imul(M,$)|0,o=o+Math.imul(A,V)|0,r=(r=r+Math.imul(A,W)|0)+Math.imul(T,V)|0,i=i+Math.imul(T,W)|0,o=o+Math.imul(S,Z)|0,r=(r=r+Math.imul(S,X)|0)+Math.imul(x,Z)|0,i=i+Math.imul(x,X)|0,o=o+Math.imul(E,Q)|0,r=(r=r+Math.imul(E,ee)|0)+Math.imul(k,Q)|0,i=i+Math.imul(k,ee)|0,o=o+Math.imul(b,ne)|0,r=(r=r+Math.imul(b,oe)|0)+Math.imul(v,ne)|0,i=i+Math.imul(v,oe)|0,o=o+Math.imul(_,ie)|0,r=(r=r+Math.imul(_,ae)|0)+Math.imul(F,ie)|0,i=i+Math.imul(F,ae)|0,o=o+Math.imul(f,ue)|0,r=(r=r+Math.imul(f,ce)|0)+Math.imul(g,ue)|0,i=i+Math.imul(g,ce)|0;var ke=(c+(o=o+Math.imul(d,de)|0)|0)+((8191&(r=(r=r+Math.imul(d,he)|0)+Math.imul(h,de)|0))<<13)|0;c=((i=i+Math.imul(h,he)|0)+(r>>>13)|0)+(ke>>>26)|0,ke&=67108863,o=Math.imul(P,q),r=(r=Math.imul(P,z))+Math.imul(U,q)|0,i=Math.imul(U,z),o=o+Math.imul(B,G)|0,r=(r=r+Math.imul(B,$)|0)+Math.imul(N,G)|0,i=i+Math.imul(N,$)|0,o=o+Math.imul(I,V)|0,r=(r=r+Math.imul(I,W)|0)+Math.imul(M,V)|0,i=i+Math.imul(M,W)|0,o=o+Math.imul(A,Z)|0,r=(r=r+Math.imul(A,X)|0)+Math.imul(T,Z)|0,i=i+Math.imul(T,X)|0,o=o+Math.imul(S,Q)|0,r=(r=r+Math.imul(S,ee)|0)+Math.imul(x,Q)|0,i=i+Math.imul(x,ee)|0,o=o+Math.imul(E,ne)|0,r=(r=r+Math.imul(E,oe)|0)+Math.imul(k,ne)|0,i=i+Math.imul(k,oe)|0,o=o+Math.imul(b,ie)|0,r=(r=r+Math.imul(b,ae)|0)+Math.imul(v,ie)|0,i=i+Math.imul(v,ae)|0,o=o+Math.imul(_,ue)|0,r=(r=r+Math.imul(_,ce)|0)+Math.imul(F,ue)|0,i=i+Math.imul(F,ce)|0,o=o+Math.imul(f,de)|0,r=(r=r+Math.imul(f,he)|0)+Math.imul(g,de)|0,i=i+Math.imul(g,he)|0;var De=(c+(o=o+Math.imul(d,fe)|0)|0)+((8191&(r=(r=r+Math.imul(d,ge)|0)+Math.imul(h,fe)|0))<<13)|0;c=((i=i+Math.imul(h,ge)|0)+(r>>>13)|0)+(De>>>26)|0,De&=67108863,o=Math.imul(P,G),r=(r=Math.imul(P,$))+Math.imul(U,G)|0,i=Math.imul(U,$),o=o+Math.imul(B,V)|0,r=(r=r+Math.imul(B,W)|0)+Math.imul(N,V)|0,i=i+Math.imul(N,W)|0,o=o+Math.imul(I,Z)|0,r=(r=r+Math.imul(I,X)|0)+Math.imul(M,Z)|0,i=i+Math.imul(M,X)|0,o=o+Math.imul(A,Q)|0,r=(r=r+Math.imul(A,ee)|0)+Math.imul(T,Q)|0,i=i+Math.imul(T,ee)|0,o=o+Math.imul(S,ne)|0,r=(r=r+Math.imul(S,oe)|0)+Math.imul(x,ne)|0,i=i+Math.imul(x,oe)|0,o=o+Math.imul(E,ie)|0,r=(r=r+Math.imul(E,ae)|0)+Math.imul(k,ie)|0,i=i+Math.imul(k,ae)|0,o=o+Math.imul(b,ue)|0,r=(r=r+Math.imul(b,ce)|0)+Math.imul(v,ue)|0,i=i+Math.imul(v,ce)|0,o=o+Math.imul(_,de)|0,r=(r=r+Math.imul(_,he)|0)+Math.imul(F,de)|0,i=i+Math.imul(F,he)|0;var Se=(c+(o=o+Math.imul(f,fe)|0)|0)+((8191&(r=(r=r+Math.imul(f,ge)|0)+Math.imul(g,fe)|0))<<13)|0;c=((i=i+Math.imul(g,ge)|0)+(r>>>13)|0)+(Se>>>26)|0,Se&=67108863,o=Math.imul(P,V),r=(r=Math.imul(P,W))+Math.imul(U,V)|0,i=Math.imul(U,W),o=o+Math.imul(B,Z)|0,r=(r=r+Math.imul(B,X)|0)+Math.imul(N,Z)|0,i=i+Math.imul(N,X)|0,o=o+Math.imul(I,Q)|0,r=(r=r+Math.imul(I,ee)|0)+Math.imul(M,Q)|0,i=i+Math.imul(M,ee)|0,o=o+Math.imul(A,ne)|0,r=(r=r+Math.imul(A,oe)|0)+Math.imul(T,ne)|0,i=i+Math.imul(T,oe)|0,o=o+Math.imul(S,ie)|0,r=(r=r+Math.imul(S,ae)|0)+Math.imul(x,ie)|0,i=i+Math.imul(x,ae)|0,o=o+Math.imul(E,ue)|0,r=(r=r+Math.imul(E,ce)|0)+Math.imul(k,ue)|0,i=i+Math.imul(k,ce)|0,o=o+Math.imul(b,de)|0,r=(r=r+Math.imul(b,he)|0)+Math.imul(v,de)|0,i=i+Math.imul(v,he)|0;var xe=(c+(o=o+Math.imul(_,fe)|0)|0)+((8191&(r=(r=r+Math.imul(_,ge)|0)+Math.imul(F,fe)|0))<<13)|0;c=((i=i+Math.imul(F,ge)|0)+(r>>>13)|0)+(xe>>>26)|0,xe&=67108863,o=Math.imul(P,Z),r=(r=Math.imul(P,X))+Math.imul(U,Z)|0,i=Math.imul(U,X),o=o+Math.imul(B,Q)|0,r=(r=r+Math.imul(B,ee)|0)+Math.imul(N,Q)|0,i=i+Math.imul(N,ee)|0,o=o+Math.imul(I,ne)|0,r=(r=r+Math.imul(I,oe)|0)+Math.imul(M,ne)|0,i=i+Math.imul(M,oe)|0,o=o+Math.imul(A,ie)|0,r=(r=r+Math.imul(A,ae)|0)+Math.imul(T,ie)|0,i=i+Math.imul(T,ae)|0,o=o+Math.imul(S,ue)|0,r=(r=r+Math.imul(S,ce)|0)+Math.imul(x,ue)|0,i=i+Math.imul(x,ce)|0,o=o+Math.imul(E,de)|0,r=(r=r+Math.imul(E,he)|0)+Math.imul(k,de)|0,i=i+Math.imul(k,he)|0;var Ce=(c+(o=o+Math.imul(b,fe)|0)|0)+((8191&(r=(r=r+Math.imul(b,ge)|0)+Math.imul(v,fe)|0))<<13)|0;c=((i=i+Math.imul(v,ge)|0)+(r>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,o=Math.imul(P,Q),r=(r=Math.imul(P,ee))+Math.imul(U,Q)|0,i=Math.imul(U,ee),o=o+Math.imul(B,ne)|0,r=(r=r+Math.imul(B,oe)|0)+Math.imul(N,ne)|0,i=i+Math.imul(N,oe)|0,o=o+Math.imul(I,ie)|0,r=(r=r+Math.imul(I,ae)|0)+Math.imul(M,ie)|0,i=i+Math.imul(M,ae)|0,o=o+Math.imul(A,ue)|0,r=(r=r+Math.imul(A,ce)|0)+Math.imul(T,ue)|0,i=i+Math.imul(T,ce)|0,o=o+Math.imul(S,de)|0,r=(r=r+Math.imul(S,he)|0)+Math.imul(x,de)|0,i=i+Math.imul(x,he)|0;var Ae=(c+(o=o+Math.imul(E,fe)|0)|0)+((8191&(r=(r=r+Math.imul(E,ge)|0)+Math.imul(k,fe)|0))<<13)|0;c=((i=i+Math.imul(k,ge)|0)+(r>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,o=Math.imul(P,ne),r=(r=Math.imul(P,oe))+Math.imul(U,ne)|0,i=Math.imul(U,oe),o=o+Math.imul(B,ie)|0,r=(r=r+Math.imul(B,ae)|0)+Math.imul(N,ie)|0,i=i+Math.imul(N,ae)|0,o=o+Math.imul(I,ue)|0,r=(r=r+Math.imul(I,ce)|0)+Math.imul(M,ue)|0,i=i+Math.imul(M,ce)|0,o=o+Math.imul(A,de)|0,r=(r=r+Math.imul(A,he)|0)+Math.imul(T,de)|0,i=i+Math.imul(T,he)|0;var Te=(c+(o=o+Math.imul(S,fe)|0)|0)+((8191&(r=(r=r+Math.imul(S,ge)|0)+Math.imul(x,fe)|0))<<13)|0;c=((i=i+Math.imul(x,ge)|0)+(r>>>13)|0)+(Te>>>26)|0,Te&=67108863,o=Math.imul(P,ie),r=(r=Math.imul(P,ae))+Math.imul(U,ie)|0,i=Math.imul(U,ae),o=o+Math.imul(B,ue)|0,r=(r=r+Math.imul(B,ce)|0)+Math.imul(N,ue)|0,i=i+Math.imul(N,ce)|0,o=o+Math.imul(I,de)|0,r=(r=r+Math.imul(I,he)|0)+Math.imul(M,de)|0,i=i+Math.imul(M,he)|0;var Re=(c+(o=o+Math.imul(A,fe)|0)|0)+((8191&(r=(r=r+Math.imul(A,ge)|0)+Math.imul(T,fe)|0))<<13)|0;c=((i=i+Math.imul(T,ge)|0)+(r>>>13)|0)+(Re>>>26)|0,Re&=67108863,o=Math.imul(P,ue),r=(r=Math.imul(P,ce))+Math.imul(U,ue)|0,i=Math.imul(U,ce),o=o+Math.imul(B,de)|0,r=(r=r+Math.imul(B,he)|0)+Math.imul(N,de)|0,i=i+Math.imul(N,he)|0;var Ie=(c+(o=o+Math.imul(I,fe)|0)|0)+((8191&(r=(r=r+Math.imul(I,ge)|0)+Math.imul(M,fe)|0))<<13)|0;c=((i=i+Math.imul(M,ge)|0)+(r>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,o=Math.imul(P,de),r=(r=Math.imul(P,he))+Math.imul(U,de)|0,i=Math.imul(U,he);var Me=(c+(o=o+Math.imul(B,fe)|0)|0)+((8191&(r=(r=r+Math.imul(B,ge)|0)+Math.imul(N,fe)|0))<<13)|0;c=((i=i+Math.imul(N,ge)|0)+(r>>>13)|0)+(Me>>>26)|0,Me&=67108863;var Oe=(c+(o=Math.imul(P,fe))|0)+((8191&(r=(r=Math.imul(P,ge))+Math.imul(U,fe)|0))<<13)|0;return c=((i=Math.imul(U,ge))+(r>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,u[0]=me,u[1]=_e,u[2]=Fe,u[3]=ye,u[4]=be,u[5]=ve,u[6]=we,u[7]=Ee,u[8]=ke,u[9]=De,u[10]=Se,u[11]=xe,u[12]=Ce,u[13]=Ae,u[14]=Te,u[15]=Re,u[16]=Ie,u[17]=Me,u[18]=Oe,0!==c&&(u[19]=c,n.length++),n};function g(e,t,n){return(new m).mulp(e,t,n)}function m(e,t){this.x=e,this.y=t}Math.imul||(f=p),i.prototype.mulTo=function(e,t){var n=this.length+e.length;return 10===this.length&&10===e.length?f(this,e,t):n<63?p(this,e,t):n<1024?function(e,t,n){n.negative=t.negative^e.negative,n.length=e.length+t.length;for(var o=0,r=0,i=0;i>>26)|0)>>>26,a&=67108863}n.words[i]=s,o=a,a=r}return 0!==o?n.words[i]=o:n.length--,n.strip()}(this,e,t):g(this,e,t)},m.prototype.makeRBT=function(e){for(var t=new Array(e),n=i.prototype._countBits(e)-1,o=0;o>=1;return o},m.prototype.permute=function(e,t,n,o,r,i){for(var a=0;a>>=1)r++;return 1<>>=13,n[2*a+1]=8191&i,i>>>=13;for(a=2*t;a>=26,t+=r/67108864|0,t+=i>>>26,this.words[n]=67108863&i}return 0!==t&&(this.words[n]=t,this.length++),this},i.prototype.muln=function(e){return this.clone().imuln(e)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),n=0;n>>r}return t}(e);if(0===t.length)return new i(1);for(var n=this,o=0;o=0);var t,n=e%26,r=(e-n)/26,i=67108863>>>26-n<<26-n;if(0!==n){var a=0;for(t=0;t>>26-n}a&&(this.words[t]=a,this.length++)}if(0!==r){for(t=this.length-1;t>=0;t--)this.words[t+r]=this.words[t];for(t=0;t=0),r=t?(t-t%26)/26:0;var i=e%26,a=Math.min((e-i)/26,this.length),s=67108863^67108863>>>i<a)for(this.length-=a,c=0;c=0&&(0!==l||c>=r);c--){var d=0|this.words[c];this.words[c]=l<<26-i|d>>>i,l=d&s}return u&&0!==l&&(u.words[u.length++]=l),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.ishrn=function(e,t,n){return o(0===this.negative),this.iushrn(e,t,n)},i.prototype.shln=function(e){return this.clone().ishln(e)},i.prototype.ushln=function(e){return this.clone().iushln(e)},i.prototype.shrn=function(e){return this.clone().ishrn(e)},i.prototype.ushrn=function(e){return this.clone().iushrn(e)},i.prototype.testn=function(e){o("number"==typeof e&&e>=0);var t=e%26,n=(e-t)/26,r=1<=0);var t=e%26,n=(e-t)/26;if(o(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==t&&n++,this.length=Math.min(n,this.length),0!==t){var r=67108863^67108863>>>t<=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},i.prototype.isubn=function(e){if(o("number"==typeof e),o(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t>26)-(u/67108864|0),this.words[r+n]=67108863&i}for(;r>26,this.words[r+n]=67108863&i;if(0===s)return this.strip();for(o(-1===s),s=0,r=0;r>26,this.words[r]=67108863&i;return this.negative=1,this.strip()},i.prototype._wordDiv=function(e,t){var n=(this.length,e.length),o=this.clone(),r=e,a=0|r.words[r.length-1];0!=(n=26-this._countBits(a))&&(r=r.ushln(n),o.iushln(n),a=0|r.words[r.length-1]);var s,u=o.length-r.length;if("mod"!==t){(s=new i(null)).length=u+1,s.words=new Array(s.length);for(var c=0;c=0;d--){var h=67108864*(0|o.words[r.length+d])+(0|o.words[r.length+d-1]);for(h=Math.min(h/a|0,67108863),o._ishlnsubmul(r,h,d);0!==o.negative;)h--,o.negative=0,o._ishlnsubmul(r,1,d),o.isZero()||(o.negative^=1);s&&(s.words[d]=h)}return s&&s.strip(),o.strip(),"div"!==t&&0!==n&&o.iushrn(n),{div:s||null,mod:o}},i.prototype.divmod=function(e,t,n){return o(!e.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,t),"mod"!==t&&(r=s.div.neg()),"div"!==t&&(a=s.mod.neg(),n&&0!==a.negative&&a.iadd(e)),{div:r,mod:a}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),t),"mod"!==t&&(r=s.div.neg()),{div:r,mod:s.mod}):0!=(this.negative&e.negative)?(s=this.neg().divmod(e.neg(),t),"div"!==t&&(a=s.mod.neg(),n&&0!==a.negative&&a.isub(e)),{div:s.div,mod:a}):e.length>this.length||this.cmp(e)<0?{div:new i(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new i(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new i(this.modn(e.words[0]))}:this._wordDiv(e,t);var r,a,s},i.prototype.div=function(e){return this.divmod(e,"div",!1).div},i.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},i.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},i.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var n=0!==t.div.negative?t.mod.isub(e):t.mod,o=e.ushrn(1),r=e.andln(1),i=n.cmp(o);return i<0||1===r&&0===i?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},i.prototype.modn=function(e){o(e<=67108863);for(var t=(1<<26)%e,n=0,r=this.length-1;r>=0;r--)n=(t*n+(0|this.words[r]))%e;return n},i.prototype.idivn=function(e){o(e<=67108863);for(var t=0,n=this.length-1;n>=0;n--){var r=(0|this.words[n])+67108864*t;this.words[n]=r/e|0,t=r%e}return this.strip()},i.prototype.divn=function(e){return this.clone().idivn(e)},i.prototype.egcd=function(e){o(0===e.negative),o(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var r=new i(1),a=new i(0),s=new i(0),u=new i(1),c=0;t.isEven()&&n.isEven();)t.iushrn(1),n.iushrn(1),++c;for(var l=n.clone(),d=t.clone();!t.isZero();){for(var h=0,p=1;0==(t.words[0]&p)&&h<26;++h,p<<=1);if(h>0)for(t.iushrn(h);h-- >0;)(r.isOdd()||a.isOdd())&&(r.iadd(l),a.isub(d)),r.iushrn(1),a.iushrn(1);for(var f=0,g=1;0==(n.words[0]&g)&&f<26;++f,g<<=1);if(f>0)for(n.iushrn(f);f-- >0;)(s.isOdd()||u.isOdd())&&(s.iadd(l),u.isub(d)),s.iushrn(1),u.iushrn(1);t.cmp(n)>=0?(t.isub(n),r.isub(s),a.isub(u)):(n.isub(t),s.isub(r),u.isub(a))}return{a:s,b:u,gcd:n.iushln(c)}},i.prototype._invmp=function(e){o(0===e.negative),o(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var r,a=new i(1),s=new i(0),u=n.clone();t.cmpn(1)>0&&n.cmpn(1)>0;){for(var c=0,l=1;0==(t.words[0]&l)&&c<26;++c,l<<=1);if(c>0)for(t.iushrn(c);c-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);for(var d=0,h=1;0==(n.words[0]&h)&&d<26;++d,h<<=1);if(d>0)for(n.iushrn(d);d-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);t.cmp(n)>=0?(t.isub(n),a.isub(s)):(n.isub(t),s.isub(a))}return(r=0===t.cmpn(1)?a:s).cmpn(0)<0&&r.iadd(e),r},i.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),n=e.clone();t.negative=0,n.negative=0;for(var o=0;t.isEven()&&n.isEven();o++)t.iushrn(1),n.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;n.isEven();)n.iushrn(1);var r=t.cmp(n);if(r<0){var i=t;t=n,n=i}else if(0===r||0===n.cmpn(1))break;t.isub(n)}return n.iushln(o)},i.prototype.invm=function(e){return this.egcd(e).a.umod(e)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(e){return this.words[0]&e},i.prototype.bincn=function(e){o("number"==typeof e);var t=e%26,n=(e-t)/26,r=1<>>26,s&=67108863,this.words[a]=s}return 0!==i&&(this.words[a]=i,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(e){var t,n=e<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this.strip(),this.length>1)t=1;else{n&&(e=-e),o(e<=67108863,"Number is too big");var r=0|this.words[0];t=r===e?0:re.length)return 1;if(this.length=0;n--){var o=0|this.words[n],r=0|e.words[n];if(o!==r){or&&(t=1);break}}return t},i.prototype.gtn=function(e){return 1===this.cmpn(e)},i.prototype.gt=function(e){return 1===this.cmp(e)},i.prototype.gten=function(e){return this.cmpn(e)>=0},i.prototype.gte=function(e){return this.cmp(e)>=0},i.prototype.ltn=function(e){return-1===this.cmpn(e)},i.prototype.lt=function(e){return-1===this.cmp(e)},i.prototype.lten=function(e){return this.cmpn(e)<=0},i.prototype.lte=function(e){return this.cmp(e)<=0},i.prototype.eqn=function(e){return 0===this.cmpn(e)},i.prototype.eq=function(e){return 0===this.cmp(e)},i.red=function(e){return new E(e)},i.prototype.toRed=function(e){return o(!this.red,"Already a number in reduction context"),o(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},i.prototype.fromRed=function(){return o(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(e){return this.red=e,this},i.prototype.forceRed=function(e){return o(!this.red,"Already a number in reduction context"),this._forceRed(e)},i.prototype.redAdd=function(e){return o(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},i.prototype.redIAdd=function(e){return o(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},i.prototype.redSub=function(e){return o(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},i.prototype.redISub=function(e){return o(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},i.prototype.redShl=function(e){return o(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},i.prototype.redMul=function(e){return o(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},i.prototype.redIMul=function(e){return o(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},i.prototype.redSqr=function(){return o(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return o(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return o(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return o(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return o(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(e){return o(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var _={k256:null,p224:null,p192:null,p25519:null};function F(e,t){this.name=e,this.p=new i(t,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function y(){F.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){F.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function v(){F.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function w(){F.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(e){if("string"==typeof e){var t=i._prime(e);this.m=t.p,this.prime=t}else o(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function k(e){E.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}F.prototype._tmp=function(){var e=new i(null);return e.words=new Array(Math.ceil(this.n/13)),e},F.prototype.ireduce=function(e){var t,n=e;do{this.split(n,this.tmp),t=(n=(n=this.imulK(n)).iadd(this.tmp)).bitLength()}while(t>this.n);var o=t0?n.isub(this.p):void 0!==n.strip?n.strip():n._strip(),n},F.prototype.split=function(e,t){e.iushrn(this.n,0,t)},F.prototype.imulK=function(e){return e.imul(this.k)},r(y,F),y.prototype.split=function(e,t){for(var n=4194303,o=Math.min(e.length,9),r=0;r>>22,i=a}i>>>=22,e.words[r-10]=i,0===i&&e.length>10?e.length-=10:e.length-=9},y.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,n=0;n>>=26,e.words[n]=r,t=o}return 0!==t&&(e.words[e.length++]=t),e},i._prime=function(e){if(_[e])return _[e];var t;if("k256"===e)t=new y;else if("p224"===e)t=new b;else if("p192"===e)t=new v;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new w}return _[e]=t,t},E.prototype._verify1=function(e){o(0===e.negative,"red works only with positives"),o(e.red,"red works only with red numbers")},E.prototype._verify2=function(e,t){o(0==(e.negative|t.negative),"red works only with positives"),o(e.red&&e.red===t.red,"red works only with red numbers")},E.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},E.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},E.prototype.add=function(e,t){this._verify2(e,t);var n=e.add(t);return n.cmp(this.m)>=0&&n.isub(this.m),n._forceRed(this)},E.prototype.iadd=function(e,t){this._verify2(e,t);var n=e.iadd(t);return n.cmp(this.m)>=0&&n.isub(this.m),n},E.prototype.sub=function(e,t){this._verify2(e,t);var n=e.sub(t);return n.cmpn(0)<0&&n.iadd(this.m),n._forceRed(this)},E.prototype.isub=function(e,t){this._verify2(e,t);var n=e.isub(t);return n.cmpn(0)<0&&n.iadd(this.m),n},E.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},E.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},E.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},E.prototype.isqr=function(e){return this.imul(e,e.clone())},E.prototype.sqr=function(e){return this.mul(e,e)},E.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(o(t%2==1),3===t){var n=this.m.add(new i(1)).iushrn(2);return this.pow(e,n)}for(var r=this.m.subn(1),a=0;!r.isZero()&&0===r.andln(1);)a++,r.iushrn(1);o(!r.isZero());var s=new i(1).toRed(this),u=s.redNeg(),c=this.m.subn(1).iushrn(1),l=this.m.bitLength();for(l=new i(2*l*l).toRed(this);0!==this.pow(l,c).cmp(u);)l.redIAdd(u);for(var d=this.pow(l,r),h=this.pow(e,r.addn(1).iushrn(1)),p=this.pow(e,r),f=a;0!==p.cmp(s);){for(var g=p,m=0;0!==g.cmp(s);m++)g=g.redSqr();o(m=0;o--){for(var c=t.words[o],l=u-1;l>=0;l--){var d=c>>l&1;r!==n[0]&&(r=this.sqr(r)),0!==d||0!==a?(a<<=1,a|=d,(4==++s||0===o&&0===l)&&(r=this.mul(r,n[a]),s=0,a=0)):s=0}u=26}return r},E.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},E.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},i.mont=function(e){return new k(e)},r(k,E),k.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},k.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},k.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var n=e.imul(t),o=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=n.isub(o).iushrn(this.shift),i=r;return r.cmp(this.m)>=0?i=r.isub(this.m):r.cmpn(0)<0&&(i=r.iadd(this.m)),i._forceRed(this)},k.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new i(0)._forceRed(this);var n=e.mul(t),o=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=n.isub(o).iushrn(this.shift),a=r;return r.cmp(this.m)>=0?a=r.isub(this.m):r.cmpn(0)<0&&(a=r.iadd(this.m)),a._forceRed(this)},k.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e=n.nmd(e),this)},86266:(e,t,n)=>{"use strict";var o=t;o.version=n(17519).i8,o.utils=n(80953),o.rand=n(29931),o.curve=n(88254),o.curves=n(45427),o.ec=n(57954),o.eddsa=n(65980)},4918:(e,t,n)=>{"use strict";var o=n(73785),r=n(80953),i=r.getNAF,a=r.getJSF,s=r.assert;function u(e,t){this.type=e,this.p=new o(t.p,16),this.red=t.prime?o.red(t.prime):o.mont(this.p),this.zero=new o(0).toRed(this.red),this.one=new o(1).toRed(this.red),this.two=new o(2).toRed(this.red),this.n=t.n&&new o(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var n=this.n&&this.p.div(this.n);!n||n.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function c(e,t){this.curve=e,this.type=t,this.precomputed=null}e.exports=u,u.prototype.point=function(){throw new Error("Not implemented")},u.prototype.validate=function(){throw new Error("Not implemented")},u.prototype._fixedNafMul=function(e,t){s(e.precomputed);var n=e._getDoubles(),o=i(t,1,this._bitLength),r=(1<=a;l--)u=(u<<1)+o[l];c.push(u)}for(var d=this.jpoint(null,null,null),h=this.jpoint(null,null,null),p=r;p>0;p--){for(a=0;a=0;c--){for(var l=0;c>=0&&0===a[c];c--)l++;if(c>=0&&l++,u=u.dblp(l),c<0)break;var d=a[c];s(0!==d),u="affine"===e.type?d>0?u.mixedAdd(r[d-1>>1]):u.mixedAdd(r[-d-1>>1].neg()):d>0?u.add(r[d-1>>1]):u.add(r[-d-1>>1].neg())}return"affine"===e.type?u.toP():u},u.prototype._wnafMulAdd=function(e,t,n,o,r){var s,u,c,l=this._wnafT1,d=this._wnafT2,h=this._wnafT3,p=0;for(s=0;s=1;s-=2){var g=s-1,m=s;if(1===l[g]&&1===l[m]){var _=[t[g],null,null,t[m]];0===t[g].y.cmp(t[m].y)?(_[1]=t[g].add(t[m]),_[2]=t[g].toJ().mixedAdd(t[m].neg())):0===t[g].y.cmp(t[m].y.redNeg())?(_[1]=t[g].toJ().mixedAdd(t[m]),_[2]=t[g].add(t[m].neg())):(_[1]=t[g].toJ().mixedAdd(t[m]),_[2]=t[g].toJ().mixedAdd(t[m].neg()));var F=[-3,-1,-5,-7,0,7,5,1,3],y=a(n[g],n[m]);for(p=Math.max(y[0].length,p),h[g]=new Array(p),h[m]=new Array(p),u=0;u=0;s--){for(var k=0;s>=0;){var D=!0;for(u=0;u=0&&k++,w=w.dblp(k),s<0)break;for(u=0;u0?c=d[u][S-1>>1]:S<0&&(c=d[u][-S-1>>1].neg()),w="affine"===c.type?w.mixedAdd(c):w.add(c))}}for(s=0;s=Math.ceil((e.bitLength()+1)/t.step)},c.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var n=[this],o=this,r=0;r{"use strict";var o=n(80953),r=n(73785),i=n(35717),a=n(4918),s=o.assert;function u(e){this.twisted=1!=(0|e.a),this.mOneA=this.twisted&&-1==(0|e.a),this.extended=this.mOneA,a.call(this,"edwards",e),this.a=new r(e.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new r(e.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new r(e.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),s(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|e.c)}function c(e,t,n,o,i){a.BasePoint.call(this,e,"projective"),null===t&&null===n&&null===o?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new r(t,16),this.y=new r(n,16),this.z=o?new r(o,16):this.curve.one,this.t=i&&new r(i,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}i(u,a),e.exports=u,u.prototype._mulA=function(e){return this.mOneA?e.redNeg():this.a.redMul(e)},u.prototype._mulC=function(e){return this.oneC?e:this.c.redMul(e)},u.prototype.jpoint=function(e,t,n,o){return this.point(e,t,n,o)},u.prototype.pointFromX=function(e,t){(e=new r(e,16)).red||(e=e.toRed(this.red));var n=e.redSqr(),o=this.c2.redSub(this.a.redMul(n)),i=this.one.redSub(this.c2.redMul(this.d).redMul(n)),a=o.redMul(i.redInvm()),s=a.redSqrt();if(0!==s.redSqr().redSub(a).cmp(this.zero))throw new Error("invalid point");var u=s.fromRed().isOdd();return(t&&!u||!t&&u)&&(s=s.redNeg()),this.point(e,s)},u.prototype.pointFromY=function(e,t){(e=new r(e,16)).red||(e=e.toRed(this.red));var n=e.redSqr(),o=n.redSub(this.c2),i=n.redMul(this.d).redMul(this.c2).redSub(this.a),a=o.redMul(i.redInvm());if(0===a.cmp(this.zero)){if(t)throw new Error("invalid point");return this.point(this.zero,e)}var s=a.redSqrt();if(0!==s.redSqr().redSub(a).cmp(this.zero))throw new Error("invalid point");return s.fromRed().isOdd()!==t&&(s=s.redNeg()),this.point(s,e)},u.prototype.validate=function(e){if(e.isInfinity())return!0;e.normalize();var t=e.x.redSqr(),n=e.y.redSqr(),o=t.redMul(this.a).redAdd(n),r=this.c2.redMul(this.one.redAdd(this.d.redMul(t).redMul(n)));return 0===o.cmp(r)},i(c,a.BasePoint),u.prototype.pointFromJSON=function(e){return c.fromJSON(this,e)},u.prototype.point=function(e,t,n,o){return new c(this,e,t,n,o)},c.fromJSON=function(e,t){return new c(e,t[0],t[1],t[2])},c.prototype.inspect=function(){return this.isInfinity()?"":""},c.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},c.prototype._extDbl=function(){var e=this.x.redSqr(),t=this.y.redSqr(),n=this.z.redSqr();n=n.redIAdd(n);var o=this.curve._mulA(e),r=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t),i=o.redAdd(t),a=i.redSub(n),s=o.redSub(t),u=r.redMul(a),c=i.redMul(s),l=r.redMul(s),d=a.redMul(i);return this.curve.point(u,c,d,l)},c.prototype._projDbl=function(){var e,t,n,o,r,i,a=this.x.redAdd(this.y).redSqr(),s=this.x.redSqr(),u=this.y.redSqr();if(this.curve.twisted){var c=(o=this.curve._mulA(s)).redAdd(u);this.zOne?(e=a.redSub(s).redSub(u).redMul(c.redSub(this.curve.two)),t=c.redMul(o.redSub(u)),n=c.redSqr().redSub(c).redSub(c)):(r=this.z.redSqr(),i=c.redSub(r).redISub(r),e=a.redSub(s).redISub(u).redMul(i),t=c.redMul(o.redSub(u)),n=c.redMul(i))}else o=s.redAdd(u),r=this.curve._mulC(this.z).redSqr(),i=o.redSub(r).redSub(r),e=this.curve._mulC(a.redISub(o)).redMul(i),t=this.curve._mulC(o).redMul(s.redISub(u)),n=o.redMul(i);return this.curve.point(e,t,n)},c.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},c.prototype._extAdd=function(e){var t=this.y.redSub(this.x).redMul(e.y.redSub(e.x)),n=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)),o=this.t.redMul(this.curve.dd).redMul(e.t),r=this.z.redMul(e.z.redAdd(e.z)),i=n.redSub(t),a=r.redSub(o),s=r.redAdd(o),u=n.redAdd(t),c=i.redMul(a),l=s.redMul(u),d=i.redMul(u),h=a.redMul(s);return this.curve.point(c,l,h,d)},c.prototype._projAdd=function(e){var t,n,o=this.z.redMul(e.z),r=o.redSqr(),i=this.x.redMul(e.x),a=this.y.redMul(e.y),s=this.curve.d.redMul(i).redMul(a),u=r.redSub(s),c=r.redAdd(s),l=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(i).redISub(a),d=o.redMul(u).redMul(l);return this.curve.twisted?(t=o.redMul(c).redMul(a.redSub(this.curve._mulA(i))),n=u.redMul(c)):(t=o.redMul(c).redMul(a.redSub(i)),n=this.curve._mulC(u).redMul(c)),this.curve.point(d,t,n)},c.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)},c.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)},c.prototype.mulAdd=function(e,t,n){return this.curve._wnafMulAdd(1,[this,t],[e,n],2,!1)},c.prototype.jmulAdd=function(e,t,n){return this.curve._wnafMulAdd(1,[this,t],[e,n],2,!0)},c.prototype.normalize=function(){if(this.zOne)return this;var e=this.z.redInvm();return this.x=this.x.redMul(e),this.y=this.y.redMul(e),this.t&&(this.t=this.t.redMul(e)),this.z=this.curve.one,this.zOne=!0,this},c.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},c.prototype.getX=function(){return this.normalize(),this.x.fromRed()},c.prototype.getY=function(){return this.normalize(),this.y.fromRed()},c.prototype.eq=function(e){return this===e||0===this.getX().cmp(e.getX())&&0===this.getY().cmp(e.getY())},c.prototype.eqXToP=function(e){var t=e.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(t))return!0;for(var n=e.clone(),o=this.curve.redN.redMul(this.z);;){if(n.iadd(this.curve.n),n.cmp(this.curve.p)>=0)return!1;if(t.redIAdd(o),0===this.x.cmp(t))return!0}},c.prototype.toP=c.prototype.normalize,c.prototype.mixedAdd=c.prototype.add},88254:(e,t,n)=>{"use strict";var o=t;o.base=n(4918),o.short=n(6673),o.mont=n(22881),o.edwards=n(31138)},22881:(e,t,n)=>{"use strict";var o=n(73785),r=n(35717),i=n(4918),a=n(80953);function s(e){i.call(this,"mont",e),this.a=new o(e.a,16).toRed(this.red),this.b=new o(e.b,16).toRed(this.red),this.i4=new o(4).toRed(this.red).redInvm(),this.two=new o(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function u(e,t,n){i.BasePoint.call(this,e,"projective"),null===t&&null===n?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new o(t,16),this.z=new o(n,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}r(s,i),e.exports=s,s.prototype.validate=function(e){var t=e.normalize().x,n=t.redSqr(),o=n.redMul(t).redAdd(n.redMul(this.a)).redAdd(t);return 0===o.redSqrt().redSqr().cmp(o)},r(u,i.BasePoint),s.prototype.decodePoint=function(e,t){return this.point(a.toArray(e,t),1)},s.prototype.point=function(e,t){return new u(this,e,t)},s.prototype.pointFromJSON=function(e){return u.fromJSON(this,e)},u.prototype.precompute=function(){},u.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},u.fromJSON=function(e,t){return new u(e,t[0],t[1]||e.one)},u.prototype.inspect=function(){return this.isInfinity()?"":""},u.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},u.prototype.dbl=function(){var e=this.x.redAdd(this.z).redSqr(),t=this.x.redSub(this.z).redSqr(),n=e.redSub(t),o=e.redMul(t),r=n.redMul(t.redAdd(this.curve.a24.redMul(n)));return this.curve.point(o,r)},u.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},u.prototype.diffAdd=function(e,t){var n=this.x.redAdd(this.z),o=this.x.redSub(this.z),r=e.x.redAdd(e.z),i=e.x.redSub(e.z).redMul(n),a=r.redMul(o),s=t.z.redMul(i.redAdd(a).redSqr()),u=t.x.redMul(i.redISub(a).redSqr());return this.curve.point(s,u)},u.prototype.mul=function(e){for(var t=e.clone(),n=this,o=this.curve.point(null,null),r=[];0!==t.cmpn(0);t.iushrn(1))r.push(t.andln(1));for(var i=r.length-1;i>=0;i--)0===r[i]?(n=n.diffAdd(o,this),o=o.dbl()):(o=n.diffAdd(o,this),n=n.dbl());return o},u.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},u.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},u.prototype.eq=function(e){return 0===this.getX().cmp(e.getX())},u.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},u.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},6673:(e,t,n)=>{"use strict";var o=n(80953),r=n(73785),i=n(35717),a=n(4918),s=o.assert;function u(e){a.call(this,"short",e),this.a=new r(e.a,16).toRed(this.red),this.b=new r(e.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(e),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function c(e,t,n,o){a.BasePoint.call(this,e,"affine"),null===t&&null===n?(this.x=null,this.y=null,this.inf=!0):(this.x=new r(t,16),this.y=new r(n,16),o&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function l(e,t,n,o){a.BasePoint.call(this,e,"jacobian"),null===t&&null===n&&null===o?(this.x=this.curve.one,this.y=this.curve.one,this.z=new r(0)):(this.x=new r(t,16),this.y=new r(n,16),this.z=new r(o,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}i(u,a),e.exports=u,u.prototype._getEndomorphism=function(e){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var t,n;if(e.beta)t=new r(e.beta,16).toRed(this.red);else{var o=this._getEndoRoots(this.p);t=(t=o[0].cmp(o[1])<0?o[0]:o[1]).toRed(this.red)}if(e.lambda)n=new r(e.lambda,16);else{var i=this._getEndoRoots(this.n);0===this.g.mul(i[0]).x.cmp(this.g.x.redMul(t))?n=i[0]:(n=i[1],s(0===this.g.mul(n).x.cmp(this.g.x.redMul(t))))}return{beta:t,lambda:n,basis:e.basis?e.basis.map((function(e){return{a:new r(e.a,16),b:new r(e.b,16)}})):this._getEndoBasis(n)}}},u.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:r.mont(e),n=new r(2).toRed(t).redInvm(),o=n.redNeg(),i=new r(3).toRed(t).redNeg().redSqrt().redMul(n);return[o.redAdd(i).fromRed(),o.redSub(i).fromRed()]},u.prototype._getEndoBasis=function(e){for(var t,n,o,i,a,s,u,c,l,d=this.n.ushrn(Math.floor(this.n.bitLength()/2)),h=e,p=this.n.clone(),f=new r(1),g=new r(0),m=new r(0),_=new r(1),F=0;0!==h.cmpn(0);){var y=p.div(h);c=p.sub(y.mul(h)),l=m.sub(y.mul(f));var b=_.sub(y.mul(g));if(!o&&c.cmp(d)<0)t=u.neg(),n=f,o=c.neg(),i=l;else if(o&&2==++F)break;u=c,p=h,h=c,m=f,f=l,_=g,g=b}a=c.neg(),s=l;var v=o.sqr().add(i.sqr());return a.sqr().add(s.sqr()).cmp(v)>=0&&(a=t,s=n),o.negative&&(o=o.neg(),i=i.neg()),a.negative&&(a=a.neg(),s=s.neg()),[{a:o,b:i},{a,b:s}]},u.prototype._endoSplit=function(e){var t=this.endo.basis,n=t[0],o=t[1],r=o.b.mul(e).divRound(this.n),i=n.b.neg().mul(e).divRound(this.n),a=r.mul(n.a),s=i.mul(o.a),u=r.mul(n.b),c=i.mul(o.b);return{k1:e.sub(a).sub(s),k2:u.add(c).neg()}},u.prototype.pointFromX=function(e,t){(e=new r(e,16)).red||(e=e.toRed(this.red));var n=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),o=n.redSqrt();if(0!==o.redSqr().redSub(n).cmp(this.zero))throw new Error("invalid point");var i=o.fromRed().isOdd();return(t&&!i||!t&&i)&&(o=o.redNeg()),this.point(e,o)},u.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,n=e.y,o=this.a.redMul(t),r=t.redSqr().redMul(t).redIAdd(o).redIAdd(this.b);return 0===n.redSqr().redISub(r).cmpn(0)},u.prototype._endoWnafMulAdd=function(e,t,n){for(var o=this._endoWnafT1,r=this._endoWnafT2,i=0;i":""},c.prototype.isInfinity=function(){return this.inf},c.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var n=t.redSqr().redISub(this.x).redISub(e.x),o=t.redMul(this.x.redSub(n)).redISub(this.y);return this.curve.point(n,o)},c.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,n=this.x.redSqr(),o=e.redInvm(),r=n.redAdd(n).redIAdd(n).redIAdd(t).redMul(o),i=r.redSqr().redISub(this.x.redAdd(this.x)),a=r.redMul(this.x.redSub(i)).redISub(this.y);return this.curve.point(i,a)},c.prototype.getX=function(){return this.x.fromRed()},c.prototype.getY=function(){return this.y.fromRed()},c.prototype.mul=function(e){return e=new r(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},c.prototype.mulAdd=function(e,t,n){var o=[this,t],r=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(o,r):this.curve._wnafMulAdd(1,o,r,2)},c.prototype.jmulAdd=function(e,t,n){var o=[this,t],r=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(o,r,!0):this.curve._wnafMulAdd(1,o,r,2,!0)},c.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},c.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var n=this.precomputed,o=function(e){return e.neg()};t.precomputed={naf:n.naf&&{wnd:n.naf.wnd,points:n.naf.points.map(o)},doubles:n.doubles&&{step:n.doubles.step,points:n.doubles.points.map(o)}}}return t},c.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},i(l,a.BasePoint),u.prototype.jpoint=function(e,t,n){return new l(this,e,t,n)},l.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),n=this.x.redMul(t),o=this.y.redMul(t).redMul(e);return this.curve.point(n,o)},l.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},l.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),n=this.z.redSqr(),o=this.x.redMul(t),r=e.x.redMul(n),i=this.y.redMul(t.redMul(e.z)),a=e.y.redMul(n.redMul(this.z)),s=o.redSub(r),u=i.redSub(a);if(0===s.cmpn(0))return 0!==u.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var c=s.redSqr(),l=c.redMul(s),d=o.redMul(c),h=u.redSqr().redIAdd(l).redISub(d).redISub(d),p=u.redMul(d.redISub(h)).redISub(i.redMul(l)),f=this.z.redMul(e.z).redMul(s);return this.curve.jpoint(h,p,f)},l.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),n=this.x,o=e.x.redMul(t),r=this.y,i=e.y.redMul(t).redMul(this.z),a=n.redSub(o),s=r.redSub(i);if(0===a.cmpn(0))return 0!==s.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=a.redSqr(),c=u.redMul(a),l=n.redMul(u),d=s.redSqr().redIAdd(c).redISub(l).redISub(l),h=s.redMul(l.redISub(d)).redISub(r.redMul(c)),p=this.z.redMul(a);return this.curve.jpoint(d,h,p)},l.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();var t;if(this.curve.zeroA||this.curve.threeA){var n=this;for(t=0;t=0)return!1;if(n.redIAdd(r),0===this.x.cmp(n))return!0}},l.prototype.inspect=function(){return this.isInfinity()?"":""},l.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},45427:(e,t,n)=>{"use strict";var o,r=t,i=n(33715),a=n(88254),s=n(80953).assert;function u(e){"short"===e.type?this.curve=new a.short(e):"edwards"===e.type?this.curve=new a.edwards(e):this.curve=new a.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,s(this.g.validate(),"Invalid curve"),s(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function c(e,t){Object.defineProperty(r,e,{configurable:!0,enumerable:!0,get:function(){var n=new u(t);return Object.defineProperty(r,e,{configurable:!0,enumerable:!0,value:n}),n}})}r.PresetCurve=u,c("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:i.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),c("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:i.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),c("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:i.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),c("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:i.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),c("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:i.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),c("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:i.sha256,gRed:!1,g:["9"]}),c("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:i.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{o=n(91037)}catch(e){o=void 0}c("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:i.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",o]})},57954:(e,t,n)=>{"use strict";var o=n(73785),r=n(2156),i=n(80953),a=n(45427),s=n(29931),u=i.assert,c=n(31251),l=n(90611);function d(e){if(!(this instanceof d))return new d(e);"string"==typeof e&&(u(Object.prototype.hasOwnProperty.call(a,e),"Unknown curve "+e),e=a[e]),e instanceof a.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}e.exports=d,d.prototype.keyPair=function(e){return new c(this,e)},d.prototype.keyFromPrivate=function(e,t){return c.fromPrivate(this,e,t)},d.prototype.keyFromPublic=function(e,t){return c.fromPublic(this,e,t)},d.prototype.genKeyPair=function(e){e||(e={});for(var t=new r({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||s(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),n=this.n.byteLength(),i=this.n.sub(new o(2));;){var a=new o(t.generate(n));if(!(a.cmp(i)>0))return a.iaddn(1),this.keyFromPrivate(a)}},d.prototype._truncateToN=function(e,t){var n=8*e.byteLength()-this.n.bitLength();return n>0&&(e=e.ushrn(n)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},d.prototype.sign=function(e,t,n,i){"object"==typeof n&&(i=n,n=null),i||(i={}),t=this.keyFromPrivate(t,n),e=this._truncateToN(new o(e,16));for(var a=this.n.byteLength(),s=t.getPrivate().toArray("be",a),u=e.toArray("be",a),c=new r({hash:this.hash,entropy:s,nonce:u,pers:i.pers,persEnc:i.persEnc||"utf8"}),d=this.n.sub(new o(1)),h=0;;h++){var p=i.k?i.k(h):new o(c.generate(this.n.byteLength()));if(!((p=this._truncateToN(p,!0)).cmpn(1)<=0||p.cmp(d)>=0)){var f=this.g.mul(p);if(!f.isInfinity()){var g=f.getX(),m=g.umod(this.n);if(0!==m.cmpn(0)){var _=p.invm(this.n).mul(m.mul(t.getPrivate()).iadd(e));if(0!==(_=_.umod(this.n)).cmpn(0)){var F=(f.getY().isOdd()?1:0)|(0!==g.cmp(m)?2:0);return i.canonical&&_.cmp(this.nh)>0&&(_=this.n.sub(_),F^=1),new l({r:m,s:_,recoveryParam:F})}}}}}},d.prototype.verify=function(e,t,n,r){e=this._truncateToN(new o(e,16)),n=this.keyFromPublic(n,r);var i=(t=new l(t,"hex")).r,a=t.s;if(i.cmpn(1)<0||i.cmp(this.n)>=0)return!1;if(a.cmpn(1)<0||a.cmp(this.n)>=0)return!1;var s,u=a.invm(this.n),c=u.mul(e).umod(this.n),d=u.mul(i).umod(this.n);return this.curve._maxwellTrick?!(s=this.g.jmulAdd(c,n.getPublic(),d)).isInfinity()&&s.eqXToP(i):!(s=this.g.mulAdd(c,n.getPublic(),d)).isInfinity()&&0===s.getX().umod(this.n).cmp(i)},d.prototype.recoverPubKey=function(e,t,n,r){u((3&n)===n,"The recovery param is more than two bits"),t=new l(t,r);var i=this.n,a=new o(e),s=t.r,c=t.s,d=1&n,h=n>>1;if(s.cmp(this.curve.p.umod(this.curve.n))>=0&&h)throw new Error("Unable to find sencond key candinate");s=h?this.curve.pointFromX(s.add(this.curve.n),d):this.curve.pointFromX(s,d);var p=t.r.invm(i),f=i.sub(a).mul(p).umod(i),g=c.mul(p).umod(i);return this.g.mulAdd(f,s,g)},d.prototype.getKeyRecoveryParam=function(e,t,n,o){if(null!==(t=new l(t,o)).recoveryParam)return t.recoveryParam;for(var r=0;r<4;r++){var i;try{i=this.recoverPubKey(e,t,r)}catch(e){continue}if(i.eq(n))return r}throw new Error("Unable to find valid recovery factor")}},31251:(e,t,n)=>{"use strict";var o=n(73785),r=n(80953).assert;function i(e,t){this.ec=e,this.priv=null,this.pub=null,t.priv&&this._importPrivate(t.priv,t.privEnc),t.pub&&this._importPublic(t.pub,t.pubEnc)}e.exports=i,i.fromPublic=function(e,t,n){return t instanceof i?t:new i(e,{pub:t,pubEnc:n})},i.fromPrivate=function(e,t,n){return t instanceof i?t:new i(e,{priv:t,privEnc:n})},i.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:"Invalid public key"}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},i.prototype.getPublic=function(e,t){return"string"==typeof e&&(t=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),t?this.pub.encode(t,e):this.pub},i.prototype.getPrivate=function(e){return"hex"===e?this.priv.toString(16,2):this.priv},i.prototype._importPrivate=function(e,t){this.priv=new o(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},i.prototype._importPublic=function(e,t){if(e.x||e.y)return"mont"===this.ec.curve.type?r(e.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||r(e.x&&e.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(e.x,e.y));this.pub=this.ec.curve.decodePoint(e,t)},i.prototype.derive=function(e){return e.validate()||r(e.validate(),"public point not validated"),e.mul(this.priv).getX()},i.prototype.sign=function(e,t,n){return this.ec.sign(e,this,t,n)},i.prototype.verify=function(e,t){return this.ec.verify(e,t,this)},i.prototype.inspect=function(){return""}},90611:(e,t,n)=>{"use strict";var o=n(73785),r=n(80953),i=r.assert;function a(e,t){if(e instanceof a)return e;this._importDER(e,t)||(i(e.r&&e.s,"Signature without r or s"),this.r=new o(e.r,16),this.s=new o(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}function s(){this.place=0}function u(e,t){var n=e[t.place++];if(!(128&n))return n;var o=15&n;if(0===o||o>4)return!1;for(var r=0,i=0,a=t.place;i>>=0;return!(r<=127)&&(t.place=a,r)}function c(e){for(var t=0,n=e.length-1;!e[t]&&!(128&e[t+1])&&t>>3);for(e.push(128|n);--n;)e.push(t>>>(n<<3)&255);e.push(t)}}e.exports=a,a.prototype._importDER=function(e,t){e=r.toArray(e,t);var n=new s;if(48!==e[n.place++])return!1;var i=u(e,n);if(!1===i)return!1;if(i+n.place!==e.length)return!1;if(2!==e[n.place++])return!1;var a=u(e,n);if(!1===a)return!1;var c=e.slice(n.place,a+n.place);if(n.place+=a,2!==e[n.place++])return!1;var l=u(e,n);if(!1===l)return!1;if(e.length!==l+n.place)return!1;var d=e.slice(n.place,l+n.place);if(0===c[0]){if(!(128&c[1]))return!1;c=c.slice(1)}if(0===d[0]){if(!(128&d[1]))return!1;d=d.slice(1)}return this.r=new o(c),this.s=new o(d),this.recoveryParam=null,!0},a.prototype.toDER=function(e){var t=this.r.toArray(),n=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&n[0]&&(n=[0].concat(n)),t=c(t),n=c(n);!(n[0]||128&n[1]);)n=n.slice(1);var o=[2];l(o,t.length),(o=o.concat(t)).push(2),l(o,n.length);var i=o.concat(n),a=[48];return l(a,i.length),a=a.concat(i),r.encode(a,e)}},65980:(e,t,n)=>{"use strict";var o=n(33715),r=n(45427),i=n(80953),a=i.assert,s=i.parseBytes,u=n(79087),c=n(23622);function l(e){if(a("ed25519"===e,"only tested with ed25519 so far"),!(this instanceof l))return new l(e);e=r[e].curve,this.curve=e,this.g=e.g,this.g.precompute(e.n.bitLength()+1),this.pointClass=e.point().constructor,this.encodingLength=Math.ceil(e.n.bitLength()/8),this.hash=o.sha512}e.exports=l,l.prototype.sign=function(e,t){e=s(e);var n=this.keyFromSecret(t),o=this.hashInt(n.messagePrefix(),e),r=this.g.mul(o),i=this.encodePoint(r),a=this.hashInt(i,n.pubBytes(),e).mul(n.priv()),u=o.add(a).umod(this.curve.n);return this.makeSignature({R:r,S:u,Rencoded:i})},l.prototype.verify=function(e,t,n){e=s(e),t=this.makeSignature(t);var o=this.keyFromPublic(n),r=this.hashInt(t.Rencoded(),o.pubBytes(),e),i=this.g.mul(t.S());return t.R().add(o.pub().mul(r)).eq(i)},l.prototype.hashInt=function(){for(var e=this.hash(),t=0;t{"use strict";var o=n(80953),r=o.assert,i=o.parseBytes,a=o.cachedProperty;function s(e,t){this.eddsa=e,this._secret=i(t.secret),e.isPoint(t.pub)?this._pub=t.pub:this._pubBytes=i(t.pub)}s.fromPublic=function(e,t){return t instanceof s?t:new s(e,{pub:t})},s.fromSecret=function(e,t){return t instanceof s?t:new s(e,{secret:t})},s.prototype.secret=function(){return this._secret},a(s,"pubBytes",(function(){return this.eddsa.encodePoint(this.pub())})),a(s,"pub",(function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())})),a(s,"privBytes",(function(){var e=this.eddsa,t=this.hash(),n=e.encodingLength-1,o=t.slice(0,e.encodingLength);return o[0]&=248,o[n]&=127,o[n]|=64,o})),a(s,"priv",(function(){return this.eddsa.decodeInt(this.privBytes())})),a(s,"hash",(function(){return this.eddsa.hash().update(this.secret()).digest()})),a(s,"messagePrefix",(function(){return this.hash().slice(this.eddsa.encodingLength)})),s.prototype.sign=function(e){return r(this._secret,"KeyPair can only verify"),this.eddsa.sign(e,this)},s.prototype.verify=function(e,t){return this.eddsa.verify(e,t,this)},s.prototype.getSecret=function(e){return r(this._secret,"KeyPair is public only"),o.encode(this.secret(),e)},s.prototype.getPublic=function(e){return o.encode(this.pubBytes(),e)},e.exports=s},23622:(e,t,n)=>{"use strict";var o=n(73785),r=n(80953),i=r.assert,a=r.cachedProperty,s=r.parseBytes;function u(e,t){this.eddsa=e,"object"!=typeof t&&(t=s(t)),Array.isArray(t)&&(t={R:t.slice(0,e.encodingLength),S:t.slice(e.encodingLength)}),i(t.R&&t.S,"Signature without R or S"),e.isPoint(t.R)&&(this._R=t.R),t.S instanceof o&&(this._S=t.S),this._Rencoded=Array.isArray(t.R)?t.R:t.Rencoded,this._Sencoded=Array.isArray(t.S)?t.S:t.Sencoded}a(u,"S",(function(){return this.eddsa.decodeInt(this.Sencoded())})),a(u,"R",(function(){return this.eddsa.decodePoint(this.Rencoded())})),a(u,"Rencoded",(function(){return this.eddsa.encodePoint(this.R())})),a(u,"Sencoded",(function(){return this.eddsa.encodeInt(this.S())})),u.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},u.prototype.toHex=function(){return r.encode(this.toBytes(),"hex").toUpperCase()},e.exports=u},91037:e=>{e.exports={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}}},80953:(e,t,n)=>{"use strict";var o=t,r=n(73785),i=n(79746),a=n(34504);o.assert=i,o.toArray=a.toArray,o.zero2=a.zero2,o.toHex=a.toHex,o.encode=a.encode,o.getNAF=function(e,t,n){var o=new Array(Math.max(e.bitLength(),n)+1);o.fill(0);for(var r=1<(r>>1)-1?(r>>1)-u:u,i.isubn(s)):s=0,o[a]=s,i.iushrn(1)}return o},o.getJSF=function(e,t){var n=[[],[]];e=e.clone(),t=t.clone();for(var o,r=0,i=0;e.cmpn(-r)>0||t.cmpn(-i)>0;){var a,s,u=e.andln(3)+r&3,c=t.andln(3)+i&3;3===u&&(u=-1),3===c&&(c=-1),a=0==(1&u)?0:3!=(o=e.andln(7)+r&7)&&5!==o||2!==c?u:-u,n[0].push(a),s=0==(1&c)?0:3!=(o=t.andln(7)+i&7)&&5!==o||2!==u?c:-c,n[1].push(s),2*r===a+1&&(r=1-r),2*i===s+1&&(i=1-i),e.iushrn(1),t.iushrn(1)}return n},o.cachedProperty=function(e,t,n){var o="_"+t;e.prototype[t]=function(){return void 0!==this[o]?this[o]:this[o]=n.call(this)}},o.parseBytes=function(e){return"string"==typeof e?o.toArray(e,"hex"):e},o.intFromLE=function(e){return new r(e,"hex","le")}},73785:function(e,t,n){!function(e,t){"use strict";function o(e,t){if(!e)throw new Error(t||"Assertion failed")}function r(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}function i(e,t,n){if(i.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&("le"!==t&&"be"!==t||(n=t,t=10),this._init(e||0,t||10,n||"be"))}var a;"object"==typeof e?e.exports=i:t.BN=i,i.BN=i,i.wordSize=26;try{a="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:n(85568).Buffer}catch(e){}function s(e,t){var n=e.charCodeAt(t);return n>=65&&n<=70?n-55:n>=97&&n<=102?n-87:n-48&15}function u(e,t,n){var o=s(e,n);return n-1>=t&&(o|=s(e,n-1)<<4),o}function c(e,t,n,o){for(var r=0,i=Math.min(e.length,n),a=t;a=49?s-49+10:s>=17?s-17+10:s}return r}i.isBN=function(e){return e instanceof i||null!==e&&"object"==typeof e&&e.constructor.wordSize===i.wordSize&&Array.isArray(e.words)},i.max=function(e,t){return e.cmp(t)>0?e:t},i.min=function(e,t){return e.cmp(t)<0?e:t},i.prototype._init=function(e,t,n){if("number"==typeof e)return this._initNumber(e,t,n);if("object"==typeof e)return this._initArray(e,t,n);"hex"===t&&(t=16),o(t===(0|t)&&t>=2&&t<=36);var r=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&(r++,this.negative=1),r=0;r-=3)a=e[r]|e[r-1]<<8|e[r-2]<<16,this.words[i]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);else if("le"===n)for(r=0,i=0;r>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);return this.strip()},i.prototype._parseHex=function(e,t,n){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var o=0;o=t;o-=2)r=u(e,t,o)<=18?(i-=18,a+=1,this.words[a]|=r>>>26):i+=8;else for(o=(e.length-t)%2==0?t+1:t;o=18?(i-=18,a+=1,this.words[a]|=r>>>26):i+=8;this.strip()},i.prototype._parseBase=function(e,t,n){this.words=[0],this.length=1;for(var o=0,r=1;r<=67108863;r*=t)o++;o--,r=r/t|0;for(var i=e.length-n,a=i%o,s=Math.min(i,i-a)+n,u=0,l=n;l1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},i.prototype.inspect=function(){return(this.red?""};var l=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],d=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],h=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function p(e,t,n){n.negative=t.negative^e.negative;var o=e.length+t.length|0;n.length=o,o=o-1|0;var r=0|e.words[0],i=0|t.words[0],a=r*i,s=67108863&a,u=a/67108864|0;n.words[0]=s;for(var c=1;c>>26,d=67108863&u,h=Math.min(c,t.length-1),p=Math.max(0,c-e.length+1);p<=h;p++){var f=c-p|0;l+=(a=(r=0|e.words[f])*(i=0|t.words[p])+d)/67108864|0,d=67108863&a}n.words[c]=0|d,u=0|l}return 0!==u?n.words[c]=0|u:n.length--,n.strip()}i.prototype.toString=function(e,t){var n;if(t=0|t||1,16===(e=e||10)||"hex"===e){n="";for(var r=0,i=0,a=0;a>>24-r&16777215)||a!==this.length-1?l[6-u.length]+u+n:u+n,(r+=2)>=26&&(r-=26,a--)}for(0!==i&&(n=i.toString(16)+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(e===(0|e)&&e>=2&&e<=36){var c=d[e],p=h[e];n="";var f=this.clone();for(f.negative=0;!f.isZero();){var g=f.modn(p).toString(e);n=(f=f.idivn(p)).isZero()?g+n:l[c-g.length]+g+n}for(this.isZero()&&(n="0"+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}o(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&o(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toBuffer=function(e,t){return o(void 0!==a),this.toArrayLike(a,e,t)},i.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},i.prototype.toArrayLike=function(e,t,n){var r=this.byteLength(),i=n||Math.max(1,r);o(r<=i,"byte array longer than desired length"),o(i>0,"Requested array length <= 0"),this.strip();var a,s,u="le"===t,c=new e(i),l=this.clone();if(u){for(s=0;!l.isZero();s++)a=l.andln(255),l.iushrn(8),c[s]=a;for(;s=4096&&(n+=13,t>>>=13),t>=64&&(n+=7,t>>>=7),t>=8&&(n+=4,t>>>=4),t>=2&&(n+=2,t>>>=2),n+t},i.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,n=0;return 0==(8191&t)&&(n+=13,t>>>=13),0==(127&t)&&(n+=7,t>>>=7),0==(15&t)&&(n+=4,t>>>=4),0==(3&t)&&(n+=2,t>>>=2),0==(1&t)&&n++,n},i.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},i.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},i.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var n=0;ne.length?this.clone().iand(e):e.clone().iand(this)},i.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},i.prototype.iuxor=function(e){var t,n;this.length>e.length?(t=this,n=e):(t=e,n=this);for(var o=0;oe.length?this.clone().ixor(e):e.clone().ixor(this)},i.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},i.prototype.inotn=function(e){o("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),n=e%26;this._expand(t),n>0&&t--;for(var r=0;r0&&(this.words[r]=~this.words[r]&67108863>>26-n),this.strip()},i.prototype.notn=function(e){return this.clone().inotn(e)},i.prototype.setn=function(e,t){o("number"==typeof e&&e>=0);var n=e/26|0,r=e%26;return this._expand(n+1),this.words[n]=t?this.words[n]|1<e.length?(n=this,o=e):(n=e,o=this);for(var r=0,i=0;i>>26;for(;0!==r&&i>>26;if(this.length=n.length,0!==r)this.words[this.length]=r,this.length++;else if(n!==this)for(;ie.length?this.clone().iadd(e):e.clone().iadd(this)},i.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var n,o,r=this.cmp(e);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;r>0?(n=this,o=e):(n=e,o=this);for(var i=0,a=0;a>26,this.words[a]=67108863&t;for(;0!==i&&a>26,this.words[a]=67108863&t;if(0===i&&a>>13,p=0|a[1],f=8191&p,g=p>>>13,m=0|a[2],_=8191&m,F=m>>>13,y=0|a[3],b=8191&y,v=y>>>13,w=0|a[4],E=8191&w,k=w>>>13,D=0|a[5],S=8191&D,x=D>>>13,C=0|a[6],A=8191&C,T=C>>>13,R=0|a[7],I=8191&R,M=R>>>13,O=0|a[8],B=8191&O,N=O>>>13,L=0|a[9],P=8191&L,U=L>>>13,j=0|s[0],q=8191&j,z=j>>>13,K=0|s[1],G=8191&K,$=K>>>13,H=0|s[2],V=8191&H,W=H>>>13,Y=0|s[3],Z=8191&Y,X=Y>>>13,J=0|s[4],Q=8191&J,ee=J>>>13,te=0|s[5],ne=8191&te,oe=te>>>13,re=0|s[6],ie=8191&re,ae=re>>>13,se=0|s[7],ue=8191&se,ce=se>>>13,le=0|s[8],de=8191&le,he=le>>>13,pe=0|s[9],fe=8191&pe,ge=pe>>>13;n.negative=e.negative^t.negative,n.length=19;var me=(c+(o=Math.imul(d,q))|0)+((8191&(r=(r=Math.imul(d,z))+Math.imul(h,q)|0))<<13)|0;c=((i=Math.imul(h,z))+(r>>>13)|0)+(me>>>26)|0,me&=67108863,o=Math.imul(f,q),r=(r=Math.imul(f,z))+Math.imul(g,q)|0,i=Math.imul(g,z);var _e=(c+(o=o+Math.imul(d,G)|0)|0)+((8191&(r=(r=r+Math.imul(d,$)|0)+Math.imul(h,G)|0))<<13)|0;c=((i=i+Math.imul(h,$)|0)+(r>>>13)|0)+(_e>>>26)|0,_e&=67108863,o=Math.imul(_,q),r=(r=Math.imul(_,z))+Math.imul(F,q)|0,i=Math.imul(F,z),o=o+Math.imul(f,G)|0,r=(r=r+Math.imul(f,$)|0)+Math.imul(g,G)|0,i=i+Math.imul(g,$)|0;var Fe=(c+(o=o+Math.imul(d,V)|0)|0)+((8191&(r=(r=r+Math.imul(d,W)|0)+Math.imul(h,V)|0))<<13)|0;c=((i=i+Math.imul(h,W)|0)+(r>>>13)|0)+(Fe>>>26)|0,Fe&=67108863,o=Math.imul(b,q),r=(r=Math.imul(b,z))+Math.imul(v,q)|0,i=Math.imul(v,z),o=o+Math.imul(_,G)|0,r=(r=r+Math.imul(_,$)|0)+Math.imul(F,G)|0,i=i+Math.imul(F,$)|0,o=o+Math.imul(f,V)|0,r=(r=r+Math.imul(f,W)|0)+Math.imul(g,V)|0,i=i+Math.imul(g,W)|0;var ye=(c+(o=o+Math.imul(d,Z)|0)|0)+((8191&(r=(r=r+Math.imul(d,X)|0)+Math.imul(h,Z)|0))<<13)|0;c=((i=i+Math.imul(h,X)|0)+(r>>>13)|0)+(ye>>>26)|0,ye&=67108863,o=Math.imul(E,q),r=(r=Math.imul(E,z))+Math.imul(k,q)|0,i=Math.imul(k,z),o=o+Math.imul(b,G)|0,r=(r=r+Math.imul(b,$)|0)+Math.imul(v,G)|0,i=i+Math.imul(v,$)|0,o=o+Math.imul(_,V)|0,r=(r=r+Math.imul(_,W)|0)+Math.imul(F,V)|0,i=i+Math.imul(F,W)|0,o=o+Math.imul(f,Z)|0,r=(r=r+Math.imul(f,X)|0)+Math.imul(g,Z)|0,i=i+Math.imul(g,X)|0;var be=(c+(o=o+Math.imul(d,Q)|0)|0)+((8191&(r=(r=r+Math.imul(d,ee)|0)+Math.imul(h,Q)|0))<<13)|0;c=((i=i+Math.imul(h,ee)|0)+(r>>>13)|0)+(be>>>26)|0,be&=67108863,o=Math.imul(S,q),r=(r=Math.imul(S,z))+Math.imul(x,q)|0,i=Math.imul(x,z),o=o+Math.imul(E,G)|0,r=(r=r+Math.imul(E,$)|0)+Math.imul(k,G)|0,i=i+Math.imul(k,$)|0,o=o+Math.imul(b,V)|0,r=(r=r+Math.imul(b,W)|0)+Math.imul(v,V)|0,i=i+Math.imul(v,W)|0,o=o+Math.imul(_,Z)|0,r=(r=r+Math.imul(_,X)|0)+Math.imul(F,Z)|0,i=i+Math.imul(F,X)|0,o=o+Math.imul(f,Q)|0,r=(r=r+Math.imul(f,ee)|0)+Math.imul(g,Q)|0,i=i+Math.imul(g,ee)|0;var ve=(c+(o=o+Math.imul(d,ne)|0)|0)+((8191&(r=(r=r+Math.imul(d,oe)|0)+Math.imul(h,ne)|0))<<13)|0;c=((i=i+Math.imul(h,oe)|0)+(r>>>13)|0)+(ve>>>26)|0,ve&=67108863,o=Math.imul(A,q),r=(r=Math.imul(A,z))+Math.imul(T,q)|0,i=Math.imul(T,z),o=o+Math.imul(S,G)|0,r=(r=r+Math.imul(S,$)|0)+Math.imul(x,G)|0,i=i+Math.imul(x,$)|0,o=o+Math.imul(E,V)|0,r=(r=r+Math.imul(E,W)|0)+Math.imul(k,V)|0,i=i+Math.imul(k,W)|0,o=o+Math.imul(b,Z)|0,r=(r=r+Math.imul(b,X)|0)+Math.imul(v,Z)|0,i=i+Math.imul(v,X)|0,o=o+Math.imul(_,Q)|0,r=(r=r+Math.imul(_,ee)|0)+Math.imul(F,Q)|0,i=i+Math.imul(F,ee)|0,o=o+Math.imul(f,ne)|0,r=(r=r+Math.imul(f,oe)|0)+Math.imul(g,ne)|0,i=i+Math.imul(g,oe)|0;var we=(c+(o=o+Math.imul(d,ie)|0)|0)+((8191&(r=(r=r+Math.imul(d,ae)|0)+Math.imul(h,ie)|0))<<13)|0;c=((i=i+Math.imul(h,ae)|0)+(r>>>13)|0)+(we>>>26)|0,we&=67108863,o=Math.imul(I,q),r=(r=Math.imul(I,z))+Math.imul(M,q)|0,i=Math.imul(M,z),o=o+Math.imul(A,G)|0,r=(r=r+Math.imul(A,$)|0)+Math.imul(T,G)|0,i=i+Math.imul(T,$)|0,o=o+Math.imul(S,V)|0,r=(r=r+Math.imul(S,W)|0)+Math.imul(x,V)|0,i=i+Math.imul(x,W)|0,o=o+Math.imul(E,Z)|0,r=(r=r+Math.imul(E,X)|0)+Math.imul(k,Z)|0,i=i+Math.imul(k,X)|0,o=o+Math.imul(b,Q)|0,r=(r=r+Math.imul(b,ee)|0)+Math.imul(v,Q)|0,i=i+Math.imul(v,ee)|0,o=o+Math.imul(_,ne)|0,r=(r=r+Math.imul(_,oe)|0)+Math.imul(F,ne)|0,i=i+Math.imul(F,oe)|0,o=o+Math.imul(f,ie)|0,r=(r=r+Math.imul(f,ae)|0)+Math.imul(g,ie)|0,i=i+Math.imul(g,ae)|0;var Ee=(c+(o=o+Math.imul(d,ue)|0)|0)+((8191&(r=(r=r+Math.imul(d,ce)|0)+Math.imul(h,ue)|0))<<13)|0;c=((i=i+Math.imul(h,ce)|0)+(r>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,o=Math.imul(B,q),r=(r=Math.imul(B,z))+Math.imul(N,q)|0,i=Math.imul(N,z),o=o+Math.imul(I,G)|0,r=(r=r+Math.imul(I,$)|0)+Math.imul(M,G)|0,i=i+Math.imul(M,$)|0,o=o+Math.imul(A,V)|0,r=(r=r+Math.imul(A,W)|0)+Math.imul(T,V)|0,i=i+Math.imul(T,W)|0,o=o+Math.imul(S,Z)|0,r=(r=r+Math.imul(S,X)|0)+Math.imul(x,Z)|0,i=i+Math.imul(x,X)|0,o=o+Math.imul(E,Q)|0,r=(r=r+Math.imul(E,ee)|0)+Math.imul(k,Q)|0,i=i+Math.imul(k,ee)|0,o=o+Math.imul(b,ne)|0,r=(r=r+Math.imul(b,oe)|0)+Math.imul(v,ne)|0,i=i+Math.imul(v,oe)|0,o=o+Math.imul(_,ie)|0,r=(r=r+Math.imul(_,ae)|0)+Math.imul(F,ie)|0,i=i+Math.imul(F,ae)|0,o=o+Math.imul(f,ue)|0,r=(r=r+Math.imul(f,ce)|0)+Math.imul(g,ue)|0,i=i+Math.imul(g,ce)|0;var ke=(c+(o=o+Math.imul(d,de)|0)|0)+((8191&(r=(r=r+Math.imul(d,he)|0)+Math.imul(h,de)|0))<<13)|0;c=((i=i+Math.imul(h,he)|0)+(r>>>13)|0)+(ke>>>26)|0,ke&=67108863,o=Math.imul(P,q),r=(r=Math.imul(P,z))+Math.imul(U,q)|0,i=Math.imul(U,z),o=o+Math.imul(B,G)|0,r=(r=r+Math.imul(B,$)|0)+Math.imul(N,G)|0,i=i+Math.imul(N,$)|0,o=o+Math.imul(I,V)|0,r=(r=r+Math.imul(I,W)|0)+Math.imul(M,V)|0,i=i+Math.imul(M,W)|0,o=o+Math.imul(A,Z)|0,r=(r=r+Math.imul(A,X)|0)+Math.imul(T,Z)|0,i=i+Math.imul(T,X)|0,o=o+Math.imul(S,Q)|0,r=(r=r+Math.imul(S,ee)|0)+Math.imul(x,Q)|0,i=i+Math.imul(x,ee)|0,o=o+Math.imul(E,ne)|0,r=(r=r+Math.imul(E,oe)|0)+Math.imul(k,ne)|0,i=i+Math.imul(k,oe)|0,o=o+Math.imul(b,ie)|0,r=(r=r+Math.imul(b,ae)|0)+Math.imul(v,ie)|0,i=i+Math.imul(v,ae)|0,o=o+Math.imul(_,ue)|0,r=(r=r+Math.imul(_,ce)|0)+Math.imul(F,ue)|0,i=i+Math.imul(F,ce)|0,o=o+Math.imul(f,de)|0,r=(r=r+Math.imul(f,he)|0)+Math.imul(g,de)|0,i=i+Math.imul(g,he)|0;var De=(c+(o=o+Math.imul(d,fe)|0)|0)+((8191&(r=(r=r+Math.imul(d,ge)|0)+Math.imul(h,fe)|0))<<13)|0;c=((i=i+Math.imul(h,ge)|0)+(r>>>13)|0)+(De>>>26)|0,De&=67108863,o=Math.imul(P,G),r=(r=Math.imul(P,$))+Math.imul(U,G)|0,i=Math.imul(U,$),o=o+Math.imul(B,V)|0,r=(r=r+Math.imul(B,W)|0)+Math.imul(N,V)|0,i=i+Math.imul(N,W)|0,o=o+Math.imul(I,Z)|0,r=(r=r+Math.imul(I,X)|0)+Math.imul(M,Z)|0,i=i+Math.imul(M,X)|0,o=o+Math.imul(A,Q)|0,r=(r=r+Math.imul(A,ee)|0)+Math.imul(T,Q)|0,i=i+Math.imul(T,ee)|0,o=o+Math.imul(S,ne)|0,r=(r=r+Math.imul(S,oe)|0)+Math.imul(x,ne)|0,i=i+Math.imul(x,oe)|0,o=o+Math.imul(E,ie)|0,r=(r=r+Math.imul(E,ae)|0)+Math.imul(k,ie)|0,i=i+Math.imul(k,ae)|0,o=o+Math.imul(b,ue)|0,r=(r=r+Math.imul(b,ce)|0)+Math.imul(v,ue)|0,i=i+Math.imul(v,ce)|0,o=o+Math.imul(_,de)|0,r=(r=r+Math.imul(_,he)|0)+Math.imul(F,de)|0,i=i+Math.imul(F,he)|0;var Se=(c+(o=o+Math.imul(f,fe)|0)|0)+((8191&(r=(r=r+Math.imul(f,ge)|0)+Math.imul(g,fe)|0))<<13)|0;c=((i=i+Math.imul(g,ge)|0)+(r>>>13)|0)+(Se>>>26)|0,Se&=67108863,o=Math.imul(P,V),r=(r=Math.imul(P,W))+Math.imul(U,V)|0,i=Math.imul(U,W),o=o+Math.imul(B,Z)|0,r=(r=r+Math.imul(B,X)|0)+Math.imul(N,Z)|0,i=i+Math.imul(N,X)|0,o=o+Math.imul(I,Q)|0,r=(r=r+Math.imul(I,ee)|0)+Math.imul(M,Q)|0,i=i+Math.imul(M,ee)|0,o=o+Math.imul(A,ne)|0,r=(r=r+Math.imul(A,oe)|0)+Math.imul(T,ne)|0,i=i+Math.imul(T,oe)|0,o=o+Math.imul(S,ie)|0,r=(r=r+Math.imul(S,ae)|0)+Math.imul(x,ie)|0,i=i+Math.imul(x,ae)|0,o=o+Math.imul(E,ue)|0,r=(r=r+Math.imul(E,ce)|0)+Math.imul(k,ue)|0,i=i+Math.imul(k,ce)|0,o=o+Math.imul(b,de)|0,r=(r=r+Math.imul(b,he)|0)+Math.imul(v,de)|0,i=i+Math.imul(v,he)|0;var xe=(c+(o=o+Math.imul(_,fe)|0)|0)+((8191&(r=(r=r+Math.imul(_,ge)|0)+Math.imul(F,fe)|0))<<13)|0;c=((i=i+Math.imul(F,ge)|0)+(r>>>13)|0)+(xe>>>26)|0,xe&=67108863,o=Math.imul(P,Z),r=(r=Math.imul(P,X))+Math.imul(U,Z)|0,i=Math.imul(U,X),o=o+Math.imul(B,Q)|0,r=(r=r+Math.imul(B,ee)|0)+Math.imul(N,Q)|0,i=i+Math.imul(N,ee)|0,o=o+Math.imul(I,ne)|0,r=(r=r+Math.imul(I,oe)|0)+Math.imul(M,ne)|0,i=i+Math.imul(M,oe)|0,o=o+Math.imul(A,ie)|0,r=(r=r+Math.imul(A,ae)|0)+Math.imul(T,ie)|0,i=i+Math.imul(T,ae)|0,o=o+Math.imul(S,ue)|0,r=(r=r+Math.imul(S,ce)|0)+Math.imul(x,ue)|0,i=i+Math.imul(x,ce)|0,o=o+Math.imul(E,de)|0,r=(r=r+Math.imul(E,he)|0)+Math.imul(k,de)|0,i=i+Math.imul(k,he)|0;var Ce=(c+(o=o+Math.imul(b,fe)|0)|0)+((8191&(r=(r=r+Math.imul(b,ge)|0)+Math.imul(v,fe)|0))<<13)|0;c=((i=i+Math.imul(v,ge)|0)+(r>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,o=Math.imul(P,Q),r=(r=Math.imul(P,ee))+Math.imul(U,Q)|0,i=Math.imul(U,ee),o=o+Math.imul(B,ne)|0,r=(r=r+Math.imul(B,oe)|0)+Math.imul(N,ne)|0,i=i+Math.imul(N,oe)|0,o=o+Math.imul(I,ie)|0,r=(r=r+Math.imul(I,ae)|0)+Math.imul(M,ie)|0,i=i+Math.imul(M,ae)|0,o=o+Math.imul(A,ue)|0,r=(r=r+Math.imul(A,ce)|0)+Math.imul(T,ue)|0,i=i+Math.imul(T,ce)|0,o=o+Math.imul(S,de)|0,r=(r=r+Math.imul(S,he)|0)+Math.imul(x,de)|0,i=i+Math.imul(x,he)|0;var Ae=(c+(o=o+Math.imul(E,fe)|0)|0)+((8191&(r=(r=r+Math.imul(E,ge)|0)+Math.imul(k,fe)|0))<<13)|0;c=((i=i+Math.imul(k,ge)|0)+(r>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,o=Math.imul(P,ne),r=(r=Math.imul(P,oe))+Math.imul(U,ne)|0,i=Math.imul(U,oe),o=o+Math.imul(B,ie)|0,r=(r=r+Math.imul(B,ae)|0)+Math.imul(N,ie)|0,i=i+Math.imul(N,ae)|0,o=o+Math.imul(I,ue)|0,r=(r=r+Math.imul(I,ce)|0)+Math.imul(M,ue)|0,i=i+Math.imul(M,ce)|0,o=o+Math.imul(A,de)|0,r=(r=r+Math.imul(A,he)|0)+Math.imul(T,de)|0,i=i+Math.imul(T,he)|0;var Te=(c+(o=o+Math.imul(S,fe)|0)|0)+((8191&(r=(r=r+Math.imul(S,ge)|0)+Math.imul(x,fe)|0))<<13)|0;c=((i=i+Math.imul(x,ge)|0)+(r>>>13)|0)+(Te>>>26)|0,Te&=67108863,o=Math.imul(P,ie),r=(r=Math.imul(P,ae))+Math.imul(U,ie)|0,i=Math.imul(U,ae),o=o+Math.imul(B,ue)|0,r=(r=r+Math.imul(B,ce)|0)+Math.imul(N,ue)|0,i=i+Math.imul(N,ce)|0,o=o+Math.imul(I,de)|0,r=(r=r+Math.imul(I,he)|0)+Math.imul(M,de)|0,i=i+Math.imul(M,he)|0;var Re=(c+(o=o+Math.imul(A,fe)|0)|0)+((8191&(r=(r=r+Math.imul(A,ge)|0)+Math.imul(T,fe)|0))<<13)|0;c=((i=i+Math.imul(T,ge)|0)+(r>>>13)|0)+(Re>>>26)|0,Re&=67108863,o=Math.imul(P,ue),r=(r=Math.imul(P,ce))+Math.imul(U,ue)|0,i=Math.imul(U,ce),o=o+Math.imul(B,de)|0,r=(r=r+Math.imul(B,he)|0)+Math.imul(N,de)|0,i=i+Math.imul(N,he)|0;var Ie=(c+(o=o+Math.imul(I,fe)|0)|0)+((8191&(r=(r=r+Math.imul(I,ge)|0)+Math.imul(M,fe)|0))<<13)|0;c=((i=i+Math.imul(M,ge)|0)+(r>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,o=Math.imul(P,de),r=(r=Math.imul(P,he))+Math.imul(U,de)|0,i=Math.imul(U,he);var Me=(c+(o=o+Math.imul(B,fe)|0)|0)+((8191&(r=(r=r+Math.imul(B,ge)|0)+Math.imul(N,fe)|0))<<13)|0;c=((i=i+Math.imul(N,ge)|0)+(r>>>13)|0)+(Me>>>26)|0,Me&=67108863;var Oe=(c+(o=Math.imul(P,fe))|0)+((8191&(r=(r=Math.imul(P,ge))+Math.imul(U,fe)|0))<<13)|0;return c=((i=Math.imul(U,ge))+(r>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,u[0]=me,u[1]=_e,u[2]=Fe,u[3]=ye,u[4]=be,u[5]=ve,u[6]=we,u[7]=Ee,u[8]=ke,u[9]=De,u[10]=Se,u[11]=xe,u[12]=Ce,u[13]=Ae,u[14]=Te,u[15]=Re,u[16]=Ie,u[17]=Me,u[18]=Oe,0!==c&&(u[19]=c,n.length++),n};function g(e,t,n){return(new m).mulp(e,t,n)}function m(e,t){this.x=e,this.y=t}Math.imul||(f=p),i.prototype.mulTo=function(e,t){var n=this.length+e.length;return 10===this.length&&10===e.length?f(this,e,t):n<63?p(this,e,t):n<1024?function(e,t,n){n.negative=t.negative^e.negative,n.length=e.length+t.length;for(var o=0,r=0,i=0;i>>26)|0)>>>26,a&=67108863}n.words[i]=s,o=a,a=r}return 0!==o?n.words[i]=o:n.length--,n.strip()}(this,e,t):g(this,e,t)},m.prototype.makeRBT=function(e){for(var t=new Array(e),n=i.prototype._countBits(e)-1,o=0;o>=1;return o},m.prototype.permute=function(e,t,n,o,r,i){for(var a=0;a>>=1)r++;return 1<>>=13,n[2*a+1]=8191&i,i>>>=13;for(a=2*t;a>=26,t+=r/67108864|0,t+=i>>>26,this.words[n]=67108863&i}return 0!==t&&(this.words[n]=t,this.length++),this},i.prototype.muln=function(e){return this.clone().imuln(e)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),n=0;n>>r}return t}(e);if(0===t.length)return new i(1);for(var n=this,o=0;o=0);var t,n=e%26,r=(e-n)/26,i=67108863>>>26-n<<26-n;if(0!==n){var a=0;for(t=0;t>>26-n}a&&(this.words[t]=a,this.length++)}if(0!==r){for(t=this.length-1;t>=0;t--)this.words[t+r]=this.words[t];for(t=0;t=0),r=t?(t-t%26)/26:0;var i=e%26,a=Math.min((e-i)/26,this.length),s=67108863^67108863>>>i<a)for(this.length-=a,c=0;c=0&&(0!==l||c>=r);c--){var d=0|this.words[c];this.words[c]=l<<26-i|d>>>i,l=d&s}return u&&0!==l&&(u.words[u.length++]=l),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.ishrn=function(e,t,n){return o(0===this.negative),this.iushrn(e,t,n)},i.prototype.shln=function(e){return this.clone().ishln(e)},i.prototype.ushln=function(e){return this.clone().iushln(e)},i.prototype.shrn=function(e){return this.clone().ishrn(e)},i.prototype.ushrn=function(e){return this.clone().iushrn(e)},i.prototype.testn=function(e){o("number"==typeof e&&e>=0);var t=e%26,n=(e-t)/26,r=1<=0);var t=e%26,n=(e-t)/26;if(o(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==t&&n++,this.length=Math.min(n,this.length),0!==t){var r=67108863^67108863>>>t<=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},i.prototype.isubn=function(e){if(o("number"==typeof e),o(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t>26)-(u/67108864|0),this.words[r+n]=67108863&i}for(;r>26,this.words[r+n]=67108863&i;if(0===s)return this.strip();for(o(-1===s),s=0,r=0;r>26,this.words[r]=67108863&i;return this.negative=1,this.strip()},i.prototype._wordDiv=function(e,t){var n=(this.length,e.length),o=this.clone(),r=e,a=0|r.words[r.length-1];0!=(n=26-this._countBits(a))&&(r=r.ushln(n),o.iushln(n),a=0|r.words[r.length-1]);var s,u=o.length-r.length;if("mod"!==t){(s=new i(null)).length=u+1,s.words=new Array(s.length);for(var c=0;c=0;d--){var h=67108864*(0|o.words[r.length+d])+(0|o.words[r.length+d-1]);for(h=Math.min(h/a|0,67108863),o._ishlnsubmul(r,h,d);0!==o.negative;)h--,o.negative=0,o._ishlnsubmul(r,1,d),o.isZero()||(o.negative^=1);s&&(s.words[d]=h)}return s&&s.strip(),o.strip(),"div"!==t&&0!==n&&o.iushrn(n),{div:s||null,mod:o}},i.prototype.divmod=function(e,t,n){return o(!e.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,t),"mod"!==t&&(r=s.div.neg()),"div"!==t&&(a=s.mod.neg(),n&&0!==a.negative&&a.iadd(e)),{div:r,mod:a}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),t),"mod"!==t&&(r=s.div.neg()),{div:r,mod:s.mod}):0!=(this.negative&e.negative)?(s=this.neg().divmod(e.neg(),t),"div"!==t&&(a=s.mod.neg(),n&&0!==a.negative&&a.isub(e)),{div:s.div,mod:a}):e.length>this.length||this.cmp(e)<0?{div:new i(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new i(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new i(this.modn(e.words[0]))}:this._wordDiv(e,t);var r,a,s},i.prototype.div=function(e){return this.divmod(e,"div",!1).div},i.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},i.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},i.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var n=0!==t.div.negative?t.mod.isub(e):t.mod,o=e.ushrn(1),r=e.andln(1),i=n.cmp(o);return i<0||1===r&&0===i?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},i.prototype.modn=function(e){o(e<=67108863);for(var t=(1<<26)%e,n=0,r=this.length-1;r>=0;r--)n=(t*n+(0|this.words[r]))%e;return n},i.prototype.idivn=function(e){o(e<=67108863);for(var t=0,n=this.length-1;n>=0;n--){var r=(0|this.words[n])+67108864*t;this.words[n]=r/e|0,t=r%e}return this.strip()},i.prototype.divn=function(e){return this.clone().idivn(e)},i.prototype.egcd=function(e){o(0===e.negative),o(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var r=new i(1),a=new i(0),s=new i(0),u=new i(1),c=0;t.isEven()&&n.isEven();)t.iushrn(1),n.iushrn(1),++c;for(var l=n.clone(),d=t.clone();!t.isZero();){for(var h=0,p=1;0==(t.words[0]&p)&&h<26;++h,p<<=1);if(h>0)for(t.iushrn(h);h-- >0;)(r.isOdd()||a.isOdd())&&(r.iadd(l),a.isub(d)),r.iushrn(1),a.iushrn(1);for(var f=0,g=1;0==(n.words[0]&g)&&f<26;++f,g<<=1);if(f>0)for(n.iushrn(f);f-- >0;)(s.isOdd()||u.isOdd())&&(s.iadd(l),u.isub(d)),s.iushrn(1),u.iushrn(1);t.cmp(n)>=0?(t.isub(n),r.isub(s),a.isub(u)):(n.isub(t),s.isub(r),u.isub(a))}return{a:s,b:u,gcd:n.iushln(c)}},i.prototype._invmp=function(e){o(0===e.negative),o(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var r,a=new i(1),s=new i(0),u=n.clone();t.cmpn(1)>0&&n.cmpn(1)>0;){for(var c=0,l=1;0==(t.words[0]&l)&&c<26;++c,l<<=1);if(c>0)for(t.iushrn(c);c-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);for(var d=0,h=1;0==(n.words[0]&h)&&d<26;++d,h<<=1);if(d>0)for(n.iushrn(d);d-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);t.cmp(n)>=0?(t.isub(n),a.isub(s)):(n.isub(t),s.isub(a))}return(r=0===t.cmpn(1)?a:s).cmpn(0)<0&&r.iadd(e),r},i.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),n=e.clone();t.negative=0,n.negative=0;for(var o=0;t.isEven()&&n.isEven();o++)t.iushrn(1),n.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;n.isEven();)n.iushrn(1);var r=t.cmp(n);if(r<0){var i=t;t=n,n=i}else if(0===r||0===n.cmpn(1))break;t.isub(n)}return n.iushln(o)},i.prototype.invm=function(e){return this.egcd(e).a.umod(e)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(e){return this.words[0]&e},i.prototype.bincn=function(e){o("number"==typeof e);var t=e%26,n=(e-t)/26,r=1<>>26,s&=67108863,this.words[a]=s}return 0!==i&&(this.words[a]=i,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(e){var t,n=e<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this.strip(),this.length>1)t=1;else{n&&(e=-e),o(e<=67108863,"Number is too big");var r=0|this.words[0];t=r===e?0:re.length)return 1;if(this.length=0;n--){var o=0|this.words[n],r=0|e.words[n];if(o!==r){or&&(t=1);break}}return t},i.prototype.gtn=function(e){return 1===this.cmpn(e)},i.prototype.gt=function(e){return 1===this.cmp(e)},i.prototype.gten=function(e){return this.cmpn(e)>=0},i.prototype.gte=function(e){return this.cmp(e)>=0},i.prototype.ltn=function(e){return-1===this.cmpn(e)},i.prototype.lt=function(e){return-1===this.cmp(e)},i.prototype.lten=function(e){return this.cmpn(e)<=0},i.prototype.lte=function(e){return this.cmp(e)<=0},i.prototype.eqn=function(e){return 0===this.cmpn(e)},i.prototype.eq=function(e){return 0===this.cmp(e)},i.red=function(e){return new E(e)},i.prototype.toRed=function(e){return o(!this.red,"Already a number in reduction context"),o(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},i.prototype.fromRed=function(){return o(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(e){return this.red=e,this},i.prototype.forceRed=function(e){return o(!this.red,"Already a number in reduction context"),this._forceRed(e)},i.prototype.redAdd=function(e){return o(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},i.prototype.redIAdd=function(e){return o(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},i.prototype.redSub=function(e){return o(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},i.prototype.redISub=function(e){return o(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},i.prototype.redShl=function(e){return o(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},i.prototype.redMul=function(e){return o(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},i.prototype.redIMul=function(e){return o(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},i.prototype.redSqr=function(){return o(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return o(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return o(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return o(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return o(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(e){return o(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var _={k256:null,p224:null,p192:null,p25519:null};function F(e,t){this.name=e,this.p=new i(t,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function y(){F.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){F.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function v(){F.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function w(){F.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(e){if("string"==typeof e){var t=i._prime(e);this.m=t.p,this.prime=t}else o(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function k(e){E.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}F.prototype._tmp=function(){var e=new i(null);return e.words=new Array(Math.ceil(this.n/13)),e},F.prototype.ireduce=function(e){var t,n=e;do{this.split(n,this.tmp),t=(n=(n=this.imulK(n)).iadd(this.tmp)).bitLength()}while(t>this.n);var o=t0?n.isub(this.p):void 0!==n.strip?n.strip():n._strip(),n},F.prototype.split=function(e,t){e.iushrn(this.n,0,t)},F.prototype.imulK=function(e){return e.imul(this.k)},r(y,F),y.prototype.split=function(e,t){for(var n=4194303,o=Math.min(e.length,9),r=0;r>>22,i=a}i>>>=22,e.words[r-10]=i,0===i&&e.length>10?e.length-=10:e.length-=9},y.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,n=0;n>>=26,e.words[n]=r,t=o}return 0!==t&&(e.words[e.length++]=t),e},i._prime=function(e){if(_[e])return _[e];var t;if("k256"===e)t=new y;else if("p224"===e)t=new b;else if("p192"===e)t=new v;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new w}return _[e]=t,t},E.prototype._verify1=function(e){o(0===e.negative,"red works only with positives"),o(e.red,"red works only with red numbers")},E.prototype._verify2=function(e,t){o(0==(e.negative|t.negative),"red works only with positives"),o(e.red&&e.red===t.red,"red works only with red numbers")},E.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},E.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},E.prototype.add=function(e,t){this._verify2(e,t);var n=e.add(t);return n.cmp(this.m)>=0&&n.isub(this.m),n._forceRed(this)},E.prototype.iadd=function(e,t){this._verify2(e,t);var n=e.iadd(t);return n.cmp(this.m)>=0&&n.isub(this.m),n},E.prototype.sub=function(e,t){this._verify2(e,t);var n=e.sub(t);return n.cmpn(0)<0&&n.iadd(this.m),n._forceRed(this)},E.prototype.isub=function(e,t){this._verify2(e,t);var n=e.isub(t);return n.cmpn(0)<0&&n.iadd(this.m),n},E.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},E.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},E.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},E.prototype.isqr=function(e){return this.imul(e,e.clone())},E.prototype.sqr=function(e){return this.mul(e,e)},E.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(o(t%2==1),3===t){var n=this.m.add(new i(1)).iushrn(2);return this.pow(e,n)}for(var r=this.m.subn(1),a=0;!r.isZero()&&0===r.andln(1);)a++,r.iushrn(1);o(!r.isZero());var s=new i(1).toRed(this),u=s.redNeg(),c=this.m.subn(1).iushrn(1),l=this.m.bitLength();for(l=new i(2*l*l).toRed(this);0!==this.pow(l,c).cmp(u);)l.redIAdd(u);for(var d=this.pow(l,r),h=this.pow(e,r.addn(1).iushrn(1)),p=this.pow(e,r),f=a;0!==p.cmp(s);){for(var g=p,m=0;0!==g.cmp(s);m++)g=g.redSqr();o(m=0;o--){for(var c=t.words[o],l=u-1;l>=0;l--){var d=c>>l&1;r!==n[0]&&(r=this.sqr(r)),0!==d||0!==a?(a<<=1,a|=d,(4==++s||0===o&&0===l)&&(r=this.mul(r,n[a]),s=0,a=0)):s=0}u=26}return r},E.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},E.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},i.mont=function(e){return new k(e)},r(k,E),k.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},k.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},k.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var n=e.imul(t),o=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=n.isub(o).iushrn(this.shift),i=r;return r.cmp(this.m)>=0?i=r.isub(this.m):r.cmpn(0)<0&&(i=r.iadd(this.m)),i._forceRed(this)},k.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new i(0)._forceRed(this);var n=e.mul(t),o=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=n.isub(o).iushrn(this.shift),a=r;return r.cmp(this.m)>=0?a=r.isub(this.m):r.cmpn(0)<0&&(a=r.iadd(this.m)),a._forceRed(this)},k.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e=n.nmd(e),this)},17519:e=>{"use strict";e.exports={i8:"6.5.4"}},76555:(e,t,n)=>{var o=n(90233);function r(e,t,n){t&&"string"!=typeof t&&(t=t.message||t.name),o(this,{type:e,name:e,cause:"string"!=typeof t?t:n,message:t},"ewr")}function i(e,t){Error.call(this),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),r.call(this,"CustomError",e,t)}i.prototype=new Error,e.exports=function(e){var t=function(t,n){return function(e,t,n){var o=function(n,i){r.call(this,t,n,i),"FilesystemError"==t&&(this.code=this.cause.code,this.path=this.cause.path,this.errno=this.cause.errno,this.message=(e.errno[this.cause.errno]?e.errno[this.cause.errno].description:this.cause.message)+(this.cause.path?" ["+this.cause.path+"]":"")),Error.call(this),Error.captureStackTrace&&Error.captureStackTrace(this,o)};return o.prototype=n?new n:new i,o}(e,t,n)};return{CustomError:i,FilesystemError:t("FilesystemError"),createError:t}}},47138:(e,t,n)=>{var o=e.exports.all=[{errno:-2,code:"ENOENT",description:"no such file or directory"},{errno:-1,code:"UNKNOWN",description:"unknown error"},{errno:0,code:"OK",description:"success"},{errno:1,code:"EOF",description:"end of file"},{errno:2,code:"EADDRINFO",description:"getaddrinfo error"},{errno:3,code:"EACCES",description:"permission denied"},{errno:4,code:"EAGAIN",description:"resource temporarily unavailable"},{errno:5,code:"EADDRINUSE",description:"address already in use"},{errno:6,code:"EADDRNOTAVAIL",description:"address not available"},{errno:7,code:"EAFNOSUPPORT",description:"address family not supported"},{errno:8,code:"EALREADY",description:"connection already in progress"},{errno:9,code:"EBADF",description:"bad file descriptor"},{errno:10,code:"EBUSY",description:"resource busy or locked"},{errno:11,code:"ECONNABORTED",description:"software caused connection abort"},{errno:12,code:"ECONNREFUSED",description:"connection refused"},{errno:13,code:"ECONNRESET",description:"connection reset by peer"},{errno:14,code:"EDESTADDRREQ",description:"destination address required"},{errno:15,code:"EFAULT",description:"bad address in system call argument"},{errno:16,code:"EHOSTUNREACH",description:"host is unreachable"},{errno:17,code:"EINTR",description:"interrupted system call"},{errno:18,code:"EINVAL",description:"invalid argument"},{errno:19,code:"EISCONN",description:"socket is already connected"},{errno:20,code:"EMFILE",description:"too many open files"},{errno:21,code:"EMSGSIZE",description:"message too long"},{errno:22,code:"ENETDOWN",description:"network is down"},{errno:23,code:"ENETUNREACH",description:"network is unreachable"},{errno:24,code:"ENFILE",description:"file table overflow"},{errno:25,code:"ENOBUFS",description:"no buffer space available"},{errno:26,code:"ENOMEM",description:"not enough memory"},{errno:27,code:"ENOTDIR",description:"not a directory"},{errno:28,code:"EISDIR",description:"illegal operation on a directory"},{errno:29,code:"ENONET",description:"machine is not on the network"},{errno:31,code:"ENOTCONN",description:"socket is not connected"},{errno:32,code:"ENOTSOCK",description:"socket operation on non-socket"},{errno:33,code:"ENOTSUP",description:"operation not supported on socket"},{errno:34,code:"ENOENT",description:"no such file or directory"},{errno:35,code:"ENOSYS",description:"function not implemented"},{errno:36,code:"EPIPE",description:"broken pipe"},{errno:37,code:"EPROTO",description:"protocol error"},{errno:38,code:"EPROTONOSUPPORT",description:"protocol not supported"},{errno:39,code:"EPROTOTYPE",description:"protocol wrong type for socket"},{errno:40,code:"ETIMEDOUT",description:"connection timed out"},{errno:41,code:"ECHARSET",description:"invalid Unicode character"},{errno:42,code:"EAIFAMNOSUPPORT",description:"address family for hostname not supported"},{errno:44,code:"EAISERVICE",description:"servname not supported for ai_socktype"},{errno:45,code:"EAISOCKTYPE",description:"ai_socktype not supported"},{errno:46,code:"ESHUTDOWN",description:"cannot send after transport endpoint shutdown"},{errno:47,code:"EEXIST",description:"file already exists"},{errno:48,code:"ESRCH",description:"no such process"},{errno:49,code:"ENAMETOOLONG",description:"name too long"},{errno:50,code:"EPERM",description:"operation not permitted"},{errno:51,code:"ELOOP",description:"too many symbolic links encountered"},{errno:52,code:"EXDEV",description:"cross-device link not permitted"},{errno:53,code:"ENOTEMPTY",description:"directory not empty"},{errno:54,code:"ENOSPC",description:"no space left on device"},{errno:55,code:"EIO",description:"i/o error"},{errno:56,code:"EROFS",description:"read-only file system"},{errno:57,code:"ENODEV",description:"no such device"},{errno:58,code:"ESPIPE",description:"invalid seek"},{errno:59,code:"ECANCELED",description:"operation canceled"}];e.exports.errno={},e.exports.code={},o.forEach((function(t){e.exports.errno[t.errno]=t,e.exports.code[t.code]=t})),e.exports.custom=n(76555)(e.exports),e.exports.create=e.exports.custom.createError},94079:(e,t,n)=>{"use strict";var o=n(40210)("%Object.getOwnPropertyDescriptor%");if(o)try{o([],"length")}catch(e){o=null}e.exports=o},17187:e=>{"use strict";var t,n="object"==typeof Reflect?Reflect:null,o=n&&"function"==typeof n.apply?n.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};t=n&&"function"==typeof n.ownKeys?n.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var r=Number.isNaN||function(e){return e!=e};function i(){i.init.call(this)}e.exports=i,e.exports.once=function(e,t){return new Promise((function(n,o){function r(n){e.removeListener(t,i),o(n)}function i(){"function"==typeof e.removeListener&&e.removeListener("error",r),n([].slice.call(arguments))}g(e,t,i,{once:!0}),"error"!==t&&function(e,t,n){"function"==typeof e.on&&g(e,"error",t,{once:!0})}(e,r)}))},i.EventEmitter=i,i.prototype._events=void 0,i.prototype._eventsCount=0,i.prototype._maxListeners=void 0;var a=10;function s(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function u(e){return void 0===e._maxListeners?i.defaultMaxListeners:e._maxListeners}function c(e,t,n,o){var r,i,a,c;if(s(n),void 0===(i=e._events)?(i=e._events=Object.create(null),e._eventsCount=0):(void 0!==i.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),i=e._events),a=i[t]),void 0===a)a=i[t]=n,++e._eventsCount;else if("function"==typeof a?a=i[t]=o?[n,a]:[a,n]:o?a.unshift(n):a.push(n),(r=u(e))>0&&a.length>r&&!a.warned){a.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=e,l.type=t,l.count=a.length,c=l,console&&console.warn&&console.warn(c)}return e}function l(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function d(e,t,n){var o={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},r=l.bind(o);return r.listener=n,o.wrapFn=r,r}function h(e,t,n){var o=e._events;if(void 0===o)return[];var r=o[t];return void 0===r?[]:"function"==typeof r?n?[r.listener||r]:[r]:n?function(e){for(var t=new Array(e.length),n=0;n0&&(a=t[0]),a instanceof Error)throw a;var s=new Error("Unhandled error."+(a?" ("+a.message+")":""));throw s.context=a,s}var u=i[e];if(void 0===u)return!1;if("function"==typeof u)o(u,this,t);else{var c=u.length,l=f(u,c);for(n=0;n=0;i--)if(n[i]===t||n[i].listener===t){a=n[i].listener,r=i;break}if(r<0)return this;0===r?n.shift():function(e,t){for(;t+1=0;o--)this.removeListener(e,t[o]);return this},i.prototype.listeners=function(e){return h(this,e,!0)},i.prototype.rawListeners=function(e){return h(this,e,!1)},i.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):p.call(e,t)},i.prototype.listenerCount=p,i.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]}},13048:(e,t,n)=>{var o=n(89509).Buffer,r=n(62318);e.exports=function(e,t,n,i){if(o.isBuffer(e)||(e=o.from(e,"binary")),t&&(o.isBuffer(t)||(t=o.from(t,"binary")),8!==t.length))throw new RangeError("salt should be Buffer with 8 byte length");for(var a=n/8,s=o.alloc(a),u=o.alloc(i||0),c=o.alloc(0);a>0||i>0;){var l=new r;l.update(c),l.update(e),t&&l.update(t),c=l.digest();var d=0;if(a>0){var h=s.length-a;d=Math.min(a,c.length),c.copy(s,h,0,d),a-=d}if(d0){var p=u.length-i,f=Math.min(i,c.length-d);c.copy(u,p,d,d+f),i-=f}}return c.fill(0),{key:s,iv:u}}},58875:(e,t,n)=>{var o;!function(){"use strict";var r=!("undefined"==typeof window||!window.document||!window.document.createElement),i={canUseDOM:r,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:r&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:r&&!!window.screen};void 0===(o=function(){return i}.call(t,n,t,e))||(e.exports=o)}()},94470:e=>{"use strict";var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,o=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=function(e){return"function"==typeof Array.isArray?Array.isArray(e):"[object Array]"===n.call(e)},a=function(e){if(!e||"[object Object]"!==n.call(e))return!1;var o,r=t.call(e,"constructor"),i=e.constructor&&e.constructor.prototype&&t.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!r&&!i)return!1;for(o in e);return void 0===o||t.call(e,o)},s=function(e,t){o&&"__proto__"===t.name?o(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},u=function(e,n){if("__proto__"===n){if(!t.call(e,n))return;if(r)return r(e,n).value}return e[n]};e.exports=function e(){var t,n,o,r,c,l,d=arguments[0],h=1,p=arguments.length,f=!1;for("boolean"==typeof d&&(f=d,d=arguments[1]||{},h=2),(null==d||"object"!=typeof d&&"function"!=typeof d)&&(d={});h{"use strict";e.exports=function(e,t){for(var n=arguments.length,o=new Array(n>2?n-2:0),r=2;r{e.exports.Dispatcher=n(61063)},61063:(e,t,n)=>{"use strict";function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var r=n(73759),i=function(){function e(){o(this,"_callbacks",void 0),o(this,"_isDispatching",void 0),o(this,"_isHandled",void 0),o(this,"_isPending",void 0),o(this,"_lastID",void 0),o(this,"_pendingPayload",void 0),this._callbacks={},this._isDispatching=!1,this._isHandled={},this._isPending={},this._lastID=1}var t=e.prototype;return t.register=function(e){var t="ID_"+this._lastID++;return this._callbacks[t]=e,t},t.unregister=function(e){this._callbacks[e]||r(!1),delete this._callbacks[e]},t.waitFor=function(e){this._isDispatching||r(!1);for(var t=0;t{var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString;e.exports=function(e,o,r){if("[object Function]"!==n.call(o))throw new TypeError("iterator must be a function");var i=e.length;if(i===+i)for(var a=0;a{"use strict";var t="Function.prototype.bind called on incompatible ",n=Array.prototype.slice,o=Object.prototype.toString,r="[object Function]";e.exports=function(e){var i=this;if("function"!=typeof i||o.call(i)!==r)throw new TypeError(t+i);for(var a,s=n.call(arguments,1),u=function(){if(this instanceof a){var t=i.apply(this,s.concat(n.call(arguments)));return Object(t)===t?t:this}return i.apply(e,s.concat(n.call(arguments)))},c=Math.max(0,i.length-s.length),l=[],d=0;d{"use strict";var o=n(17648);e.exports=Function.prototype.bind||o},35673:(e,t,n)=>{var o=n(26272),r=n(79941),i=n(18673),a=new Buffer(0),s=function(){},u=function(e){return"function"==typeof e?e:function(t){t(null,e)}},c=function(e,t){var n=!1,o=!1;return e._read=function(){n=!0},e.destroy=function(){o=!0},t((function(t,r){if(t)return e.emit("error",t);var i=function(){for(var t;null!==(t=r.read());)n=!1,e.push(t)};if(r.on("readable",(function(){n&&i()})),r.on("end",(function(){i(),e.push(null)})),r.on("error",(function(t){e.emit("error",t)})),r.on("close",(function(){i(),process.nextTick((function(){e.emit("close")}))})),e._read=function(){n=!0,i()},e.destroy=function(){o||(o=!0,r.destroy&&r.destroy())},o)return o=!1,void e.destroy();n&&i()})),e},l=function(e,t){var n=s,o=!1;return e._write=function(e,t,o){n=o},e.destroy=function(){o=!0},e.write(a),t((function(t,r){if(t)return e.emit("error",t);r.on("close",(function(){e.emit("close")})),r.on("error",(function(t){e.emit("error",t)})),e._write=function(e,t,n){if(e===a)return n();r.write(e,t,n)};var i=e.emit;if(r.on("finish",(function(){i.call(e,"finish")})),e.destroy=function(){o||(o=!0,r.destroy&&r.destroy())},e.emit=function(t){if("finish"!==t)return i.apply(e,arguments);r.end()},o)return o=!1,void e.destroy();n()})),e};t.readable=function(e,n){return 1===arguments.length?t.readable(null,e):(e||(e={}),c(new r(e),u(n)))},t.writable=function(e,n){return 1===arguments.length?t.writable(null,e):(e||(e={}),l(new o(e),u(n)))},t.duplex=function(e,n,o){if(2===arguments.length)return t.duplex(null,e,n);e||(e={});var r=new i(e);return l(r,u(n)),c(r,u(o)),r}},23419:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},18673:(e,t,n)=>{e.exports=n(55410)},55410:(e,t,n)=>{e.exports=s;var o=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t},r=n(16497);r.inherits=n(35717);var i=n(93558),a=n(9315);function s(e){if(!(this instanceof s))return new s(e);i.call(this,e),a.call(this,e),e&&!1===e.readable&&(this.readable=!1),e&&!1===e.writable&&(this.writable=!1),this.allowHalfOpen=!0,e&&!1===e.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",u)}function u(){this.allowHalfOpen||this._writableState.ended||process.nextTick(this.end.bind(this))}r.inherits(s,i),function(e,t){for(var n=0,o=e.length;n{e.exports=i;var o=n(12590),r=n(16497);function i(e){if(!(this instanceof i))return new i(e);o.call(this,e)}r.inherits=n(35717),r.inherits(i,o),i.prototype._transform=function(e,t,n){n(null,e)}},93558:(e,t,n)=>{e.exports=l;var o=n(23419),r=n(48764).Buffer;l.ReadableState=c;var i=n(17187).EventEmitter;i.listenerCount||(i.listenerCount=function(e,t){return e.listeners(t).length});var a,s=n(42830),u=n(16497);function c(e,t){var o=(e=e||{}).highWaterMark;this.highWaterMark=o||0===o?o:16384,this.highWaterMark=~~this.highWaterMark,this.buffer=[],this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=!1,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.calledRead=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.objectMode=!!e.objectMode,this.defaultEncoding=e.defaultEncoding||"utf8",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(a||(a=n(26250).s),this.decoder=new a(e.encoding),this.encoding=e.encoding)}function l(e){if(!(this instanceof l))return new l(e);this._readableState=new c(e,this),this.readable=!0,s.call(this)}function d(e,t,n,o,i){var a=function(e,t){var n=null;return r.isBuffer(t)||"string"==typeof t||null==t||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk")),n}(t,n);if(a)e.emit("error",a);else if(null==n)t.reading=!1,t.ended||function(e,t){if(t.decoder&&!t.ended){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,t.length>0?f(e):b(e)}(e,t);else if(t.objectMode||n&&n.length>0)if(t.ended&&!i){var s=new Error("stream.push() after EOF");e.emit("error",s)}else t.endEmitted&&i?(s=new Error("stream.unshift() after end event"),e.emit("error",s)):(!t.decoder||i||o||(n=t.decoder.write(n)),t.length+=t.objectMode?1:n.length,i?t.buffer.unshift(n):(t.reading=!1,t.buffer.push(n)),t.needReadable&&f(e),function(e,t){t.readingMore||(t.readingMore=!0,process.nextTick((function(){!function(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.lengtht.highWaterMark&&(t.highWaterMark=function(e){if(e>=h)e=h;else{e--;for(var t=1;t<32;t<<=1)e|=e>>t;e++}return e}(e)),e>t.length?t.ended?t.length:(t.needReadable=!0,0):e)}function f(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,t.sync?process.nextTick((function(){g(e)})):g(e))}function g(e){e.emit("readable")}function m(e){var t,n=e._readableState;function o(e,o,r){!1===e.write(t)&&n.awaitDrain++}for(n.awaitDrain=0;n.pipesCount&&null!==(t=e.read());)if(1===n.pipesCount?o(n.pipes):v(n.pipes,o),e.emit("data",t),n.awaitDrain>0)return;if(0===n.pipesCount)return n.flowing=!1,void(i.listenerCount(e,"data")>0&&F(e));n.ranOut=!0}function _(){this._readableState.ranOut&&(this._readableState.ranOut=!1,m(this))}function F(e,t){if(e._readableState.flowing)throw new Error("Cannot switch to old mode now.");var n=t||!1,o=!1;e.readable=!0,e.pipe=s.prototype.pipe,e.on=e.addListener=s.prototype.on,e.on("readable",(function(){var t;for(o=!0;!n&&null!==(t=e.read());)e.emit("data",t);null===t&&(o=!1,e._readableState.needReadable=!0)})),e.pause=function(){n=!0,this.emit("pause")},e.resume=function(){n=!1,o?process.nextTick((function(){e.emit("readable")})):this.read(0),this.emit("resume")},e.emit("readable")}function y(e,t){var n,o=t.buffer,i=t.length,a=!!t.decoder,s=!!t.objectMode;if(0===o.length)return null;if(0===i)n=null;else if(s)n=o.shift();else if(!e||e>=i)n=a?o.join(""):r.concat(o,i),o.length=0;else if(e0)throw new Error("endReadable called on non-empty stream");!t.endEmitted&&t.calledRead&&(t.ended=!0,process.nextTick((function(){t.endEmitted||0!==t.length||(t.endEmitted=!0,e.readable=!1,e.emit("end"))})))}function v(e,t){for(var n=0,o=e.length;n0)&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return f(this),null;if(0===(e=p(e,t))&&t.ended)return n=null,t.length>0&&t.decoder&&(n=y(e,t),t.length-=n.length),0===t.length&&b(this),n;var r=t.needReadable;return t.length-e<=t.highWaterMark&&(r=!0),(t.ended||t.reading)&&(r=!1),r&&(t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1),r&&!t.reading&&(e=p(o,t)),null===(n=e>0?y(e,t):null)&&(t.needReadable=!0,e=0),t.length-=e,0!==t.length||t.ended||(t.needReadable=!0),t.ended&&!t.endEmitted&&0===t.length&&b(this),n},l.prototype._read=function(e){this.emit("error",new Error("not implemented"))},l.prototype.pipe=function(e,t){var n=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=e;break;case 1:r.pipes=[r.pipes,e];break;default:r.pipes.push(e)}r.pipesCount+=1;var a=t&&!1===t.end||e===process.stdout||e===process.stderr?l:u;function s(e){e===n&&l()}function u(){e.end()}r.endEmitted?process.nextTick(a):n.once("end",a),e.on("unpipe",s);var c=function(e){return function(){var t=e._readableState;t.awaitDrain--,0===t.awaitDrain&&m(e)}}(n);function l(){e.removeListener("close",h),e.removeListener("finish",p),e.removeListener("drain",c),e.removeListener("error",d),e.removeListener("unpipe",s),n.removeListener("end",u),n.removeListener("end",l),e._writableState&&!e._writableState.needDrain||c()}function d(t){f(),e.removeListener("error",d),0===i.listenerCount(e,"error")&&e.emit("error",t)}function h(){e.removeListener("finish",p),f()}function p(){e.removeListener("close",h),f()}function f(){n.unpipe(e)}return e.on("drain",c),e._events&&e._events.error?o(e._events.error)?e._events.error.unshift(d):e._events.error=[d,e._events.error]:e.on("error",d),e.once("close",h),e.once("finish",p),e.emit("pipe",n),r.flowing||(this.on("readable",_),r.flowing=!0,process.nextTick((function(){m(n)}))),e},l.prototype.unpipe=function(e){var t=this._readableState;if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,this.removeListener("readable",_),t.flowing=!1,e&&e.emit("unpipe",this)),this;if(!e){var n=t.pipes,o=t.pipesCount;t.pipes=null,t.pipesCount=0,this.removeListener("readable",_),t.flowing=!1;for(var r=0;r{e.exports=a;var o=n(55410),r=n(16497);function i(e,t){this.afterTransform=function(e,n){return function(e,t,n){var o=e._transformState;o.transforming=!1;var r=o.writecb;if(!r)return e.emit("error",new Error("no writecb in Transform class"));o.writechunk=null,o.writecb=null,null!=n&&e.push(n),r&&r(t);var i=e._readableState;i.reading=!1,(i.needReadable||i.length{e.exports=u;var o=n(48764).Buffer;u.WritableState=s;var r=n(16497);r.inherits=n(35717);var i=n(42830);function a(e,t,n){this.chunk=e,this.encoding=t,this.callback=n}function s(e,t){var n=(e=e||{}).highWaterMark;this.highWaterMark=n||0===n?n:16384,this.objectMode=!!e.objectMode,this.highWaterMark=~~this.highWaterMark,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1;var o=!1===e.decodeStrings;this.decodeStrings=!o,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var n=e._writableState,o=n.sync,r=n.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(n),t)!function(e,t,n,o,r){n?process.nextTick((function(){r(o)})):r(o),e._writableState.errorEmitted=!0,e.emit("error",o)}(e,0,o,t,r);else{var i=d(0,n);i||n.bufferProcessing||!n.buffer.length||function(e,t){t.bufferProcessing=!0;for(var n=0;n{var o=n(42830);(t=e.exports=n(93558)).Stream=o,t.Readable=t,t.Writable=n(9315),t.Duplex=n(55410),t.Transform=n(12590),t.PassThrough=n(88449),process.browser||"disable"!==process.env.READABLE_STREAM||(e.exports=n(42830))},26272:(e,t,n)=>{e.exports=n(9315)},26250:(e,t,n)=>{var o=n(48764).Buffer,r=o.isEncoding||function(e){switch(e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}},i=t.s=function(e){switch(this.encoding=(e||"utf8").toLowerCase().replace(/[-_]/,""),function(e){if(e&&!r(e))throw new Error("Unknown encoding: "+e)}(e),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=s;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=u;break;default:return void(this.write=a)}this.charBuffer=new o(6),this.charReceived=0,this.charLength=0};function a(e){return e.toString(this.encoding)}function s(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function u(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}i.prototype.write=function(e){for(var t="";this.charLength;){var n=e.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,n),this.charReceived+=n,this.charReceived=55296&&o<=56319)){if(this.charReceived=this.charLength=0,0===e.length)return t;break}this.charLength+=this.surrogateSize,t=""}this.detectIncompleteChar(e);var o,r=e.length;if(this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,r),r-=this.charReceived),r=(t+=e.toString(this.encoding,0,r)).length-1,(o=t.charCodeAt(r))>=55296&&o<=56319){var i=this.surrogateSize;return this.charLength+=i,this.charReceived+=i,this.charBuffer.copy(this.charBuffer,i,0,i),e.copy(this.charBuffer,0,0,i),t.substring(0,r)}return t},i.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var n=e[e.length-t];if(1==t&&n>>5==6){this.charLength=2;break}if(t<=2&&n>>4==14){this.charLength=3;break}if(t<=3&&n>>3==30){this.charLength=4;break}}this.charReceived=t},i.prototype.end=function(e){var t="";if(e&&e.length&&(t=this.write(e)),this.charReceived){var n=this.charReceived,o=this.charBuffer,r=this.encoding;t+=o.slice(0,n).toString(r)}return t}},40210:(e,t,n)=>{"use strict";var o,r=SyntaxError,i=Function,a=TypeError,s=function(e){try{return i('"use strict"; return ('+e+").constructor;")()}catch(e){}},u=Object.getOwnPropertyDescriptor;if(u)try{u({},"")}catch(e){u=null}var c=function(){throw new a},l=u?function(){try{return c}catch(e){try{return u(arguments,"callee").get}catch(e){return c}}}():c,d=n(41405)(),h=Object.getPrototypeOf||function(e){return e.__proto__},p={},f="undefined"==typeof Uint8Array?o:h(Uint8Array),g={"%AggregateError%":"undefined"==typeof AggregateError?o:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?o:ArrayBuffer,"%ArrayIteratorPrototype%":d?h([][Symbol.iterator]()):o,"%AsyncFromSyncIteratorPrototype%":o,"%AsyncFunction%":p,"%AsyncGenerator%":p,"%AsyncGeneratorFunction%":p,"%AsyncIteratorPrototype%":p,"%Atomics%":"undefined"==typeof Atomics?o:Atomics,"%BigInt%":"undefined"==typeof BigInt?o:BigInt,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?o:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":"undefined"==typeof Float32Array?o:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?o:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?o:FinalizationRegistry,"%Function%":i,"%GeneratorFunction%":p,"%Int8Array%":"undefined"==typeof Int8Array?o:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?o:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?o:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":d?h(h([][Symbol.iterator]())):o,"%JSON%":"object"==typeof JSON?JSON:o,"%Map%":"undefined"==typeof Map?o:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&d?h((new Map)[Symbol.iterator]()):o,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?o:Promise,"%Proxy%":"undefined"==typeof Proxy?o:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":"undefined"==typeof Reflect?o:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?o:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&d?h((new Set)[Symbol.iterator]()):o,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?o:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":d?h(""[Symbol.iterator]()):o,"%Symbol%":d?Symbol:o,"%SyntaxError%":r,"%ThrowTypeError%":l,"%TypedArray%":f,"%TypeError%":a,"%Uint8Array%":"undefined"==typeof Uint8Array?o:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?o:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?o:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?o:Uint32Array,"%URIError%":URIError,"%WeakMap%":"undefined"==typeof WeakMap?o:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?o:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?o:WeakSet},m=function e(t){var n;if("%AsyncFunction%"===t)n=s("async function () {}");else if("%GeneratorFunction%"===t)n=s("function* () {}");else if("%AsyncGeneratorFunction%"===t)n=s("async function* () {}");else if("%AsyncGenerator%"===t){var o=e("%AsyncGeneratorFunction%");o&&(n=o.prototype)}else if("%AsyncIteratorPrototype%"===t){var r=e("%AsyncGenerator%");r&&(n=h(r.prototype))}return g[t]=n,n},_={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},F=n(58612),y=n(17642),b=F.call(Function.call,Array.prototype.concat),v=F.call(Function.apply,Array.prototype.splice),w=F.call(Function.call,String.prototype.replace),E=F.call(Function.call,String.prototype.slice),k=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,D=/\\(\\)?/g,S=function(e){var t=E(e,0,1),n=E(e,-1);if("%"===t&&"%"!==n)throw new r("invalid intrinsic syntax, expected closing `%`");if("%"===n&&"%"!==t)throw new r("invalid intrinsic syntax, expected opening `%`");var o=[];return w(e,k,(function(e,t,n,r){o[o.length]=n?w(r,D,"$1"):t||e})),o},x=function(e,t){var n,o=e;if(y(_,o)&&(o="%"+(n=_[o])[0]+"%"),y(g,o)){var i=g[o];if(i===p&&(i=m(o)),void 0===i&&!t)throw new a("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:n,name:o,value:i}}throw new r("intrinsic "+e+" does not exist!")};e.exports=function(e,t){if("string"!=typeof e||0===e.length)throw new a("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof t)throw new a('"allowMissing" argument must be a boolean');var n=S(e),o=n.length>0?n[0]:"",i=x("%"+o+"%",t),s=i.name,c=i.value,l=!1,d=i.alias;d&&(o=d[0],v(n,b([0,1],d)));for(var h=1,p=!0;h=n.length){var F=u(c,f);c=(p=!!F)&&"get"in F&&!("originalValue"in F.get)?F.get:c[f]}else p=y(c,f),c=c[f];p&&!l&&(g[s]=c)}}return c}},41405:(e,t,n)=>{"use strict";var o="undefined"!=typeof Symbol&&Symbol,r=n(55419);e.exports=function(){return"function"==typeof o&&"function"==typeof Symbol&&"symbol"==typeof o("foo")&&"symbol"==typeof Symbol("bar")&&r()}},55419:e=>{"use strict";e.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var e={},t=Symbol("test"),n=Object(t);if("string"==typeof t)return!1;if("[object Symbol]"!==Object.prototype.toString.call(t))return!1;if("[object Symbol]"!==Object.prototype.toString.call(n))return!1;for(t in e[t]=42,e)return!1;if("function"==typeof Object.keys&&0!==Object.keys(e).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var o=Object.getOwnPropertySymbols(e);if(1!==o.length||o[0]!==t)return!1;if(!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var r=Object.getOwnPropertyDescriptor(e,t);if(42!==r.value||!0!==r.enumerable)return!1}return!0}},17642:(e,t,n)=>{"use strict";var o=n(58612);e.exports=o.call(Function.call,Object.prototype.hasOwnProperty)},3349:(e,t,n)=>{"use strict";var o=n(89509).Buffer,r=n(70326).Transform;function i(e){r.call(this),this._block=o.allocUnsafe(e),this._blockSize=e,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}n(35717)(i,r),i.prototype._transform=function(e,t,n){var o=null;try{this.update(e,t)}catch(e){o=e}n(o)},i.prototype._flush=function(e){var t=null;try{this.push(this.digest())}catch(e){t=e}e(t)},i.prototype.update=function(e,t){if(function(e,t){if(!o.isBuffer(e)&&"string"!=typeof e)throw new TypeError("Data must be a string or a buffer")}(e),this._finalized)throw new Error("Digest already called");o.isBuffer(e)||(e=o.from(e,t));for(var n=this._block,r=0;this._blockOffset+e.length-r>=this._blockSize;){for(var i=this._blockOffset;i0;++a)this._length[a]+=s,(s=this._length[a]/4294967296|0)>0&&(this._length[a]-=4294967296*s);return this},i.prototype._update=function(){throw new Error("_update is not implemented")},i.prototype.digest=function(e){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var t=this._digest();void 0!==e&&(t=t.toString(e)),this._block.fill(0),this._blockOffset=0;for(var n=0;n<4;++n)this._length[n]=0;return t},i.prototype._digest=function(){throw new Error("_digest is not implemented")},e.exports=i},9786:e=>{"use strict";var t={};function n(e,n,o){o||(o=Error);var r=function(e){var t,o;function r(t,o,r){return e.call(this,function(e,t,o){return"string"==typeof n?n:n(e,t,o)}(t,o,r))||this}return o=e,(t=r).prototype=Object.create(o.prototype),t.prototype.constructor=t,t.__proto__=o,r}(o);r.prototype.name=o.name,r.prototype.code=e,t[e]=r}function o(e,t){if(Array.isArray(e)){var n=e.length;return e=e.map((function(e){return String(e)})),n>2?"one of ".concat(t," ").concat(e.slice(0,n-1).join(", "),", or ")+e[n-1]:2===n?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}return"of ".concat(t," ").concat(String(e))}n("ERR_INVALID_OPT_VALUE",(function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'}),TypeError),n("ERR_INVALID_ARG_TYPE",(function(e,t,n){var r,i,a,s,u;if("string"==typeof t&&(i="not ",t.substr(0,i.length)===i)?(r="must not be",t=t.replace(/^not /,"")):r="must be",function(e,t,n){return(void 0===n||n>e.length)&&(n=e.length),e.substring(n-t.length,n)===t}(e," argument"))a="The ".concat(e," ").concat(r," ").concat(o(t,"type"));else{var c=("number"!=typeof u&&(u=0),u+".".length>(s=e).length||-1===s.indexOf(".",u)?"argument":"property");a='The "'.concat(e,'" ').concat(c," ").concat(r," ").concat(o(t,"type"))}return a+". Received type ".concat(typeof n)}),TypeError),n("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),n("ERR_METHOD_NOT_IMPLEMENTED",(function(e){return"The "+e+" method is not implemented"})),n("ERR_STREAM_PREMATURE_CLOSE","Premature close"),n("ERR_STREAM_DESTROYED",(function(e){return"Cannot call "+e+" after a stream was destroyed"})),n("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),n("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),n("ERR_STREAM_WRITE_AFTER_END","write after end"),n("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),n("ERR_UNKNOWN_ENCODING",(function(e){return"Unknown encoding: "+e}),TypeError),n("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),e.exports.q=t},62910:(e,t,n)=>{"use strict";var o=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};e.exports=c;var r=n(76748),i=n(70469);n(35717)(c,r);for(var a=o(i.prototype),s=0;s{"use strict";e.exports=r;var o=n(70421);function r(e){if(!(this instanceof r))return new r(e);o.call(this,e)}n(35717)(r,o),r.prototype._transform=function(e,t,n){n(null,e)}},76748:(e,t,n)=>{"use strict";var o;e.exports=k,k.ReadableState=E,n(17187).EventEmitter;var r,i=function(e,t){return e.listeners(t).length},a=n(50677),s=n(48764).Buffer,u=n.g.Uint8Array||function(){},c=n(31616);r=c&&c.debuglog?c.debuglog("stream"):function(){};var l,d,h,p=n(98354),f=n(35072),g=n(31222).getHighWaterMark,m=n(9786).q,_=m.ERR_INVALID_ARG_TYPE,F=m.ERR_STREAM_PUSH_AFTER_EOF,y=m.ERR_METHOD_NOT_IMPLEMENTED,b=m.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;n(35717)(k,a);var v=f.errorOrDestroy,w=["error","close","destroy","pause","resume"];function E(e,t,r){o=o||n(62910),e=e||{},"boolean"!=typeof r&&(r=t instanceof o),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=g(this,e,"readableHighWaterMark",r),this.buffer=new p,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(l||(l=n(32553).s),this.decoder=new l(e.encoding),this.encoding=e.encoding)}function k(e){if(o=o||n(62910),!(this instanceof k))return new k(e);var t=this instanceof o;this._readableState=new E(e,this,t),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),a.call(this)}function D(e,t,n,o,i){r("readableAddChunk",t);var a,c=e._readableState;if(null===t)c.reading=!1,function(e,t){if(r("onEofChunk"),!t.ended){if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,t.sync?A(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,T(e)))}}(e,c);else if(i||(a=function(e,t){var n,o;return o=t,s.isBuffer(o)||o instanceof u||"string"==typeof t||void 0===t||e.objectMode||(n=new _("chunk",["string","Buffer","Uint8Array"],t)),n}(c,t)),a)v(e,a);else if(c.objectMode||t&&t.length>0)if("string"==typeof t||c.objectMode||Object.getPrototypeOf(t)===s.prototype||(t=function(e){return s.from(e)}(t)),o)c.endEmitted?v(e,new b):S(e,c,t,!0);else if(c.ended)v(e,new F);else{if(c.destroyed)return!1;c.reading=!1,c.decoder&&!n?(t=c.decoder.write(t),c.objectMode||0!==t.length?S(e,c,t,!1):R(e,c)):S(e,c,t,!1)}else o||(c.reading=!1,R(e,c));return!c.ended&&(c.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=x?e=x:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function A(e){var t=e._readableState;r("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(r("emitReadable",t.flowing),t.emittedReadable=!0,process.nextTick(T,e))}function T(e){var t=e._readableState;r("emitReadable_",t.destroyed,t.length,t.ended),t.destroyed||!t.length&&!t.ended||(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,N(e)}function R(e,t){t.readingMore||(t.readingMore=!0,process.nextTick(I,e,t))}function I(e,t){for(;!t.reading&&!t.ended&&(t.length0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function O(e){r("readable nexttick read 0"),e.read(0)}function B(e,t){r("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),N(e),t.flowing&&!t.reading&&e.read(0)}function N(e){var t=e._readableState;for(r("flow",t.flowing);t.flowing&&null!==e.read(););}function L(e,t){return 0===t.length?null:(t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):n=t.buffer.consume(e,t.decoder),n);var n}function P(e){var t=e._readableState;r("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,process.nextTick(U,t,e))}function U(e,t){if(r("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var n=t._writableState;(!n||n.autoDestroy&&n.finished)&&t.destroy()}}function j(e,t){for(var n=0,o=e.length;n=t.highWaterMark:t.length>0)||t.ended))return r("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?P(this):A(this),null;if(0===(e=C(e,t))&&t.ended)return 0===t.length&&P(this),null;var o,i=t.needReadable;return r("need readable",i),(0===t.length||t.length-e0?L(e,t):null)?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&P(this)),null!==o&&this.emit("data",o),o},k.prototype._read=function(e){v(this,new y("_read()"))},k.prototype.pipe=function(e,t){var n=this,o=this._readableState;switch(o.pipesCount){case 0:o.pipes=e;break;case 1:o.pipes=[o.pipes,e];break;default:o.pipes.push(e)}o.pipesCount+=1,r("pipe count=%d opts=%j",o.pipesCount,t);var a=t&&!1===t.end||e===process.stdout||e===process.stderr?f:s;function s(){r("onend"),e.end()}o.endEmitted?process.nextTick(a):n.once("end",a),e.on("unpipe",(function t(i,a){r("onunpipe"),i===n&&a&&!1===a.hasUnpiped&&(a.hasUnpiped=!0,r("cleanup"),e.removeListener("close",h),e.removeListener("finish",p),e.removeListener("drain",u),e.removeListener("error",d),e.removeListener("unpipe",t),n.removeListener("end",s),n.removeListener("end",f),n.removeListener("data",l),c=!0,!o.awaitDrain||e._writableState&&!e._writableState.needDrain||u())}));var u=function(e){return function(){var t=e._readableState;r("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&i(e,"data")&&(t.flowing=!0,N(e))}}(n);e.on("drain",u);var c=!1;function l(t){r("ondata");var i=e.write(t);r("dest.write",i),!1===i&&((1===o.pipesCount&&o.pipes===e||o.pipesCount>1&&-1!==j(o.pipes,e))&&!c&&(r("false write response, pause",o.awaitDrain),o.awaitDrain++),n.pause())}function d(t){r("onerror",t),f(),e.removeListener("error",d),0===i(e,"error")&&v(e,t)}function h(){e.removeListener("finish",p),f()}function p(){r("onfinish"),e.removeListener("close",h),f()}function f(){r("unpipe"),n.unpipe(e)}return n.on("data",l),function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events.error?Array.isArray(e._events.error)?e._events.error.unshift(n):e._events.error=[n,e._events.error]:e.on(t,n)}(e,"error",d),e.once("close",h),e.once("finish",p),e.emit("pipe",n),o.flowing||(r("pipe resume"),n.resume()),e},k.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n)),this;if(!e){var o=t.pipes,r=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var i=0;i0,!1!==o.flowing&&this.resume()):"readable"===e&&(o.endEmitted||o.readableListening||(o.readableListening=o.needReadable=!0,o.flowing=!1,o.emittedReadable=!1,r("on readable",o.length,o.reading),o.length?A(this):o.reading||process.nextTick(O,this))),n},k.prototype.addListener=k.prototype.on,k.prototype.removeListener=function(e,t){var n=a.prototype.removeListener.call(this,e,t);return"readable"===e&&process.nextTick(M,this),n},k.prototype.removeAllListeners=function(e){var t=a.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||process.nextTick(M,this),t},k.prototype.resume=function(){var e=this._readableState;return e.flowing||(r("resume"),e.flowing=!e.readableListening,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,process.nextTick(B,e,t))}(this,e)),e.paused=!1,this},k.prototype.pause=function(){return r("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(r("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},k.prototype.wrap=function(e){var t=this,n=this._readableState,o=!1;for(var i in e.on("end",(function(){if(r("wrapped end"),n.decoder&&!n.ended){var e=n.decoder.end();e&&e.length&&t.push(e)}t.push(null)})),e.on("data",(function(i){r("wrapped data"),n.decoder&&(i=n.decoder.write(i)),n.objectMode&&null==i||(n.objectMode||i&&i.length)&&(t.push(i)||(o=!0,e.pause()))})),e)void 0===this[i]&&"function"==typeof e[i]&&(this[i]=function(t){return function(){return e[t].apply(e,arguments)}}(i));for(var a=0;a{"use strict";e.exports=l;var o=n(9786).q,r=o.ERR_METHOD_NOT_IMPLEMENTED,i=o.ERR_MULTIPLE_CALLBACK,a=o.ERR_TRANSFORM_ALREADY_TRANSFORMING,s=o.ERR_TRANSFORM_WITH_LENGTH_0,u=n(62910);function c(e,t){var n=this._transformState;n.transforming=!1;var o=n.writecb;if(null===o)return this.emit("error",new i);n.writechunk=null,n.writecb=null,null!=t&&this.push(t),o(e);var r=this._readableState;r.reading=!1,(r.needReadable||r.length{"use strict";function o(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,n){var o=e.entry;for(e.entry=null;o;){var r=o.callback;t.pendingcb--,r(undefined),o=o.next}t.corkedRequestsFree.next=e}(t,e)}}var r;e.exports=k,k.WritableState=E;var i,a={deprecate:n(94927)},s=n(50677),u=n(48764).Buffer,c=n.g.Uint8Array||function(){},l=n(35072),d=n(31222).getHighWaterMark,h=n(9786).q,p=h.ERR_INVALID_ARG_TYPE,f=h.ERR_METHOD_NOT_IMPLEMENTED,g=h.ERR_MULTIPLE_CALLBACK,m=h.ERR_STREAM_CANNOT_PIPE,_=h.ERR_STREAM_DESTROYED,F=h.ERR_STREAM_NULL_VALUES,y=h.ERR_STREAM_WRITE_AFTER_END,b=h.ERR_UNKNOWN_ENCODING,v=l.errorOrDestroy;function w(){}function E(e,t,i){r=r||n(62910),e=e||{},"boolean"!=typeof i&&(i=t instanceof r),this.objectMode=!!e.objectMode,i&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=d(this,e,"writableHighWaterMark",i),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var a=!1===e.decodeStrings;this.decodeStrings=!a,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var n=e._writableState,o=n.sync,r=n.writecb;if("function"!=typeof r)throw new g;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(n),t)!function(e,t,n,o,r){--t.pendingcb,n?(process.nextTick(r,o),process.nextTick(T,e,t),e._writableState.errorEmitted=!0,v(e,o)):(r(o),e._writableState.errorEmitted=!0,v(e,o),T(e,t))}(e,n,o,t,r);else{var i=C(n)||e.destroyed;i||n.corked||n.bufferProcessing||!n.bufferedRequest||x(e,n),o?process.nextTick(S,e,n,i,r):S(e,n,i,r)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new o(this)}function k(e){var t=this instanceof(r=r||n(62910));if(!t&&!i.call(k,this))return new k(e);this._writableState=new E(e,this,t),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),s.call(this)}function D(e,t,n,o,r,i,a){t.writelen=o,t.writecb=a,t.writing=!0,t.sync=!0,t.destroyed?t.onwrite(new _("write")):n?e._writev(r,t.onwrite):e._write(r,i,t.onwrite),t.sync=!1}function S(e,t,n,o){n||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,o(),T(e,t)}function x(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var r=t.bufferedRequestCount,i=new Array(r),a=t.corkedRequestsFree;a.entry=n;for(var s=0,u=!0;n;)i[s]=n,n.isBuf||(u=!1),n=n.next,s+=1;i.allBuffers=u,D(e,t,!0,t.length,i,"",a.finish),t.pendingcb++,t.lastBufferedRequest=null,a.next?(t.corkedRequestsFree=a.next,a.next=null):t.corkedRequestsFree=new o(t),t.bufferedRequestCount=0}else{for(;n;){var c=n.chunk,l=n.encoding,d=n.callback;if(D(e,t,!1,t.objectMode?1:c.length,c,l,d),n=n.next,t.bufferedRequestCount--,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequest=n,t.bufferProcessing=!1}function C(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function A(e,t){e._final((function(n){t.pendingcb--,n&&v(e,n),t.prefinished=!0,e.emit("prefinish"),T(e,t)}))}function T(e,t){var n=C(t);if(n&&(function(e,t){t.prefinished||t.finalCalled||("function"!=typeof e._final||t.destroyed?(t.prefinished=!0,e.emit("prefinish")):(t.pendingcb++,t.finalCalled=!0,process.nextTick(A,e,t)))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"),t.autoDestroy))){var o=e._readableState;(!o||o.autoDestroy&&o.endEmitted)&&e.destroy()}return n}n(35717)(k,s),E.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(E.prototype,"buffer",{get:a.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(i=Function.prototype[Symbol.hasInstance],Object.defineProperty(k,Symbol.hasInstance,{value:function(e){return!!i.call(this,e)||this===k&&e&&e._writableState instanceof E}})):i=function(e){return e instanceof this},k.prototype.pipe=function(){v(this,new m)},k.prototype.write=function(e,t,n){var o,r=this._writableState,i=!1,a=!r.objectMode&&(o=e,u.isBuffer(o)||o instanceof c);return a&&!u.isBuffer(e)&&(e=function(e){return u.from(e)}(e)),"function"==typeof t&&(n=t,t=null),a?t="buffer":t||(t=r.defaultEncoding),"function"!=typeof n&&(n=w),r.ending?function(e,t){var n=new y;v(e,n),process.nextTick(t,n)}(this,n):(a||function(e,t,n,o){var r;return null===n?r=new F:"string"==typeof n||t.objectMode||(r=new p("chunk",["string","Buffer"],n)),!r||(v(e,r),process.nextTick(o,r),!1)}(this,r,e,n))&&(r.pendingcb++,i=function(e,t,n,o,r,i){if(!n){var a=function(e,t,n){return e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=u.from(t,n)),t}(t,o,r);o!==a&&(n=!0,r="buffer",o=a)}var s=t.objectMode?1:o.length;t.length+=s;var c=t.length-1))throw new b(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(k.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(k.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),k.prototype._write=function(e,t,n){n(new f("_write()"))},k.prototype._writev=null,k.prototype.end=function(e,t,n){var o=this._writableState;return"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!=e&&this.write(e,t),o.corked&&(o.corked=1,this.uncork()),o.ending||function(e,t,n){t.ending=!0,T(e,t),n&&(t.finished?process.nextTick(n):e.once("finish",n)),t.ended=!0,e.writable=!1}(this,o,n),this},Object.defineProperty(k.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(k.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),k.prototype.destroy=l.destroy,k.prototype._undestroy=l.undestroy,k.prototype._destroy=function(e,t){t(e)}},30527:(e,t,n)=>{"use strict";var o;function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var i=n(28640),a=Symbol("lastResolve"),s=Symbol("lastReject"),u=Symbol("error"),c=Symbol("ended"),l=Symbol("lastPromise"),d=Symbol("handlePromise"),h=Symbol("stream");function p(e,t){return{value:e,done:t}}function f(e){var t=e[a];if(null!==t){var n=e[h].read();null!==n&&(e[l]=null,e[a]=null,e[s]=null,t(p(n,!1)))}}function g(e){process.nextTick(f,e)}var m=Object.getPrototypeOf((function(){})),_=Object.setPrototypeOf((r(o={get stream(){return this[h]},next:function(){var e=this,t=this[u];if(null!==t)return Promise.reject(t);if(this[c])return Promise.resolve(p(void 0,!0));if(this[h].destroyed)return new Promise((function(t,n){process.nextTick((function(){e[u]?n(e[u]):t(p(void 0,!0))}))}));var n,o=this[l];if(o)n=new Promise(function(e,t){return function(n,o){e.then((function(){t[c]?n(p(void 0,!0)):t[d](n,o)}),o)}}(o,this));else{var r=this[h].read();if(null!==r)return Promise.resolve(p(r,!1));n=new Promise(this[d])}return this[l]=n,n}},Symbol.asyncIterator,(function(){return this})),r(o,"return",(function(){var e=this;return new Promise((function(t,n){e[h].destroy(null,(function(e){e?n(e):t(p(void 0,!0))}))}))})),o),m);e.exports=function(e){var t,n=Object.create(_,(r(t={},h,{value:e,writable:!0}),r(t,a,{value:null,writable:!0}),r(t,s,{value:null,writable:!0}),r(t,u,{value:null,writable:!0}),r(t,c,{value:e._readableState.endEmitted,writable:!0}),r(t,d,{value:function(e,t){var o=n[h].read();o?(n[l]=null,n[a]=null,n[s]=null,e(p(o,!1))):(n[a]=e,n[s]=t)},writable:!0}),t));return n[l]=null,i(e,(function(e){if(e&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code){var t=n[s];return null!==t&&(n[l]=null,n[a]=null,n[s]=null,t(e)),void(n[u]=e)}var o=n[a];null!==o&&(n[l]=null,n[a]=null,n[s]=null,o(p(void 0,!0))),n[c]=!0})),e.on("readable",g.bind(null,n)),n}},98354:(e,t,n)=>{"use strict";function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){for(var n=0;n0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:"unshift",value:function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}},{key:"shift",value:function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n}},{key:"concat",value:function(e){if(0===this.length)return a.alloc(0);for(var t,n,o,r=a.allocUnsafe(e>>>0),i=this.head,s=0;i;)t=i.data,n=r,o=s,a.prototype.copy.call(t,n,o),s+=i.data.length,i=i.next;return r}},{key:"consume",value:function(e,t){var n;return er.length?r.length:e;if(i===r.length?o+=r:o+=r.slice(0,e),0==(e-=i)){i===r.length?(++n,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=r.slice(i));break}++n}return this.length-=n,o}},{key:"_getBuffer",value:function(e){var t=a.allocUnsafe(e),n=this.head,o=1;for(n.data.copy(t),e-=n.data.length;n=n.next;){var r=n.data,i=e>r.length?r.length:e;if(r.copy(t,t.length-e,0,i),0==(e-=i)){i===r.length?(++o,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=r.slice(i));break}++o}return this.length-=o,t}},{key:u,value:function(e,t){return s(this,function(e){for(var t=1;t{"use strict";function t(e,t){o(e,t),n(e)}function n(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function o(e,t){e.emit("error",t)}e.exports={destroy:function(e,r){var i=this,a=this._readableState&&this._readableState.destroyed,s=this._writableState&&this._writableState.destroyed;return a||s?(r?r(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(o,this,e)):process.nextTick(o,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,(function(e){!r&&e?i._writableState?i._writableState.errorEmitted?process.nextTick(n,i):(i._writableState.errorEmitted=!0,process.nextTick(t,i,e)):process.nextTick(t,i,e):r?(process.nextTick(n,i),r(e)):process.nextTick(n,i)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function(e,t){var n=e._readableState,o=e._writableState;n&&n.autoDestroy||o&&o.autoDestroy?e.destroy(t):e.emit("error",t)}}},28640:(e,t,n)=>{"use strict";var o=n(9786).q.ERR_STREAM_PREMATURE_CLOSE;function r(){}e.exports=function e(t,n,i){if("function"==typeof n)return e(t,null,n);n||(n={}),i=function(e){var t=!1;return function(){if(!t){t=!0;for(var n=arguments.length,o=new Array(n),r=0;r{e.exports=function(){throw new Error("Readable.from is not available in the browser")}},64218:(e,t,n)=>{"use strict";var o,r=n(9786).q,i=r.ERR_MISSING_ARGS,a=r.ERR_STREAM_DESTROYED;function s(e){if(e)throw e}function u(e,t,r,i){i=function(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}(i);var s=!1;e.on("close",(function(){s=!0})),void 0===o&&(o=n(28640)),o(e,{readable:t,writable:r},(function(e){if(e)return i(e);s=!0,i()}));var u=!1;return function(t){if(!s&&!u)return u=!0,function(e){return e.setHeader&&"function"==typeof e.abort}(e)?e.abort():"function"==typeof e.destroy?e.destroy():void i(t||new a("pipe"))}}function c(e){e()}function l(e,t){return e.pipe(t)}function d(e){return e.length?"function"!=typeof e[e.length-1]?s:e.pop():s}e.exports=function(){for(var e=arguments.length,t=new Array(e),n=0;n0,(function(e){o||(o=e),e&&a.forEach(c),i||(a.forEach(c),r(o))}))}));return t.reduce(l)}},31222:(e,t,n)=>{"use strict";var o=n(9786).q.ERR_INVALID_OPT_VALUE;e.exports={getHighWaterMark:function(e,t,n,r){var i=function(e,t,n){return null!=e.highWaterMark?e.highWaterMark:t?e[n]:null}(t,r,n);if(null!=i){if(!isFinite(i)||Math.floor(i)!==i||i<0)throw new o(r?n:"highWaterMark",i);return Math.floor(i)}return e.objectMode?16:16384}}},50677:(e,t,n)=>{e.exports=n(17187).EventEmitter},70326:(e,t,n)=>{(t=e.exports=n(76748)).Stream=t,t.Readable=t,t.Writable=n(70469),t.Duplex=n(62910),t.Transform=n(70421),t.PassThrough=n(58994),t.finished=n(28640),t.pipeline=n(64218)},33715:(e,t,n)=>{var o=t;o.utils=n(26436),o.common=n(95772),o.sha=n(89041),o.ripemd=n(12949),o.hmac=n(52344),o.sha1=o.sha.sha1,o.sha256=o.sha.sha256,o.sha224=o.sha.sha224,o.sha384=o.sha.sha384,o.sha512=o.sha.sha512,o.ripemd160=o.ripemd.ripemd160},95772:(e,t,n)=>{"use strict";var o=n(26436),r=n(79746);function i(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}t.BlockHash=i,i.prototype.update=function(e,t){if(e=o.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){var n=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-n,e.length),0===this.pending.length&&(this.pending=null),e=o.join32(e,0,e.length-n,this.endian);for(var r=0;r>>24&255,o[r++]=e>>>16&255,o[r++]=e>>>8&255,o[r++]=255&e}else for(o[r++]=255&e,o[r++]=e>>>8&255,o[r++]=e>>>16&255,o[r++]=e>>>24&255,o[r++]=0,o[r++]=0,o[r++]=0,o[r++]=0,i=8;i{"use strict";var o=n(26436),r=n(79746);function i(e,t,n){if(!(this instanceof i))return new i(e,t,n);this.Hash=e,this.blockSize=e.blockSize/8,this.outSize=e.outSize/8,this.inner=null,this.outer=null,this._init(o.toArray(t,n))}e.exports=i,i.prototype._init=function(e){e.length>this.blockSize&&(e=(new this.Hash).update(e).digest()),r(e.length<=this.blockSize);for(var t=e.length;t{"use strict";var o=n(26436),r=n(95772),i=o.rotl32,a=o.sum32,s=o.sum32_3,u=o.sum32_4,c=r.BlockHash;function l(){if(!(this instanceof l))return new l;c.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function d(e,t,n,o){return e<=15?t^n^o:e<=31?t&n|~t&o:e<=47?(t|~n)^o:e<=63?t&o|n&~o:t^(n|~o)}function h(e){return e<=15?0:e<=31?1518500249:e<=47?1859775393:e<=63?2400959708:2840853838}function p(e){return e<=15?1352829926:e<=31?1548603684:e<=47?1836072691:e<=63?2053994217:0}o.inherits(l,c),t.ripemd160=l,l.blockSize=512,l.outSize=160,l.hmacStrength=192,l.padLength=64,l.prototype._update=function(e,t){for(var n=this.h[0],o=this.h[1],r=this.h[2],c=this.h[3],l=this.h[4],F=n,y=o,b=r,v=c,w=l,E=0;E<80;E++){var k=a(i(u(n,d(E,o,r,c),e[f[E]+t],h(E)),m[E]),l);n=l,l=c,c=i(r,10),r=o,o=k,k=a(i(u(F,d(79-E,y,b,v),e[g[E]+t],p(E)),_[E]),w),F=w,w=v,v=i(b,10),b=y,y=k}k=s(this.h[1],r,v),this.h[1]=s(this.h[2],c,w),this.h[2]=s(this.h[3],l,F),this.h[3]=s(this.h[4],n,y),this.h[4]=s(this.h[0],o,b),this.h[0]=k},l.prototype._digest=function(e){return"hex"===e?o.toHex32(this.h,"little"):o.split32(this.h,"little")};var f=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],g=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],m=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],_=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},89041:(e,t,n)=>{"use strict";t.sha1=n(84761),t.sha224=n(10799),t.sha256=n(89344),t.sha384=n(80772),t.sha512=n(45900)},84761:(e,t,n)=>{"use strict";var o=n(26436),r=n(95772),i=n(37038),a=o.rotl32,s=o.sum32,u=o.sum32_5,c=i.ft_1,l=r.BlockHash,d=[1518500249,1859775393,2400959708,3395469782];function h(){if(!(this instanceof h))return new h;l.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}o.inherits(h,l),e.exports=h,h.blockSize=512,h.outSize=160,h.hmacStrength=80,h.padLength=64,h.prototype._update=function(e,t){for(var n=this.W,o=0;o<16;o++)n[o]=e[t+o];for(;o{"use strict";var o=n(26436),r=n(89344);function i(){if(!(this instanceof i))return new i;r.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}o.inherits(i,r),e.exports=i,i.blockSize=512,i.outSize=224,i.hmacStrength=192,i.padLength=64,i.prototype._digest=function(e){return"hex"===e?o.toHex32(this.h.slice(0,7),"big"):o.split32(this.h.slice(0,7),"big")}},89344:(e,t,n)=>{"use strict";var o=n(26436),r=n(95772),i=n(37038),a=n(79746),s=o.sum32,u=o.sum32_4,c=o.sum32_5,l=i.ch32,d=i.maj32,h=i.s0_256,p=i.s1_256,f=i.g0_256,g=i.g1_256,m=r.BlockHash,_=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function F(){if(!(this instanceof F))return new F;m.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=_,this.W=new Array(64)}o.inherits(F,m),e.exports=F,F.blockSize=512,F.outSize=256,F.hmacStrength=192,F.padLength=64,F.prototype._update=function(e,t){for(var n=this.W,o=0;o<16;o++)n[o]=e[t+o];for(;o{"use strict";var o=n(26436),r=n(45900);function i(){if(!(this instanceof i))return new i;r.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}o.inherits(i,r),e.exports=i,i.blockSize=1024,i.outSize=384,i.hmacStrength=192,i.padLength=128,i.prototype._digest=function(e){return"hex"===e?o.toHex32(this.h.slice(0,12),"big"):o.split32(this.h.slice(0,12),"big")}},45900:(e,t,n)=>{"use strict";var o=n(26436),r=n(95772),i=n(79746),a=o.rotr64_hi,s=o.rotr64_lo,u=o.shr64_hi,c=o.shr64_lo,l=o.sum64,d=o.sum64_hi,h=o.sum64_lo,p=o.sum64_4_hi,f=o.sum64_4_lo,g=o.sum64_5_hi,m=o.sum64_5_lo,_=r.BlockHash,F=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function y(){if(!(this instanceof y))return new y;_.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=F,this.W=new Array(160)}function b(e,t,n,o,r){var i=e&n^~e&r;return i<0&&(i+=4294967296),i}function v(e,t,n,o,r,i){var a=t&o^~t&i;return a<0&&(a+=4294967296),a}function w(e,t,n,o,r){var i=e&n^e&r^n&r;return i<0&&(i+=4294967296),i}function E(e,t,n,o,r,i){var a=t&o^t&i^o&i;return a<0&&(a+=4294967296),a}function k(e,t){var n=a(e,t,28)^a(t,e,2)^a(t,e,7);return n<0&&(n+=4294967296),n}function D(e,t){var n=s(e,t,28)^s(t,e,2)^s(t,e,7);return n<0&&(n+=4294967296),n}function S(e,t){var n=s(e,t,14)^s(e,t,18)^s(t,e,9);return n<0&&(n+=4294967296),n}function x(e,t){var n=a(e,t,1)^a(e,t,8)^u(e,t,7);return n<0&&(n+=4294967296),n}function C(e,t){var n=s(e,t,1)^s(e,t,8)^c(e,t,7);return n<0&&(n+=4294967296),n}function A(e,t){var n=s(e,t,19)^s(t,e,29)^c(e,t,6);return n<0&&(n+=4294967296),n}o.inherits(y,_),e.exports=y,y.blockSize=1024,y.outSize=512,y.hmacStrength=192,y.padLength=128,y.prototype._prepareBlock=function(e,t){for(var n=this.W,o=0;o<32;o++)n[o]=e[t+o];for(;o{"use strict";var o=n(26436).rotr32;function r(e,t,n){return e&t^~e&n}function i(e,t,n){return e&t^e&n^t&n}function a(e,t,n){return e^t^n}t.ft_1=function(e,t,n,o){return 0===e?r(t,n,o):1===e||3===e?a(t,n,o):2===e?i(t,n,o):void 0},t.ch32=r,t.maj32=i,t.p32=a,t.s0_256=function(e){return o(e,2)^o(e,13)^o(e,22)},t.s1_256=function(e){return o(e,6)^o(e,11)^o(e,25)},t.g0_256=function(e){return o(e,7)^o(e,18)^e>>>3},t.g1_256=function(e){return o(e,17)^o(e,19)^e>>>10}},26436:(e,t,n)=>{"use strict";var o=n(79746),r=n(35717);function i(e,t){return 55296==(64512&e.charCodeAt(t))&&!(t<0||t+1>=e.length)&&56320==(64512&e.charCodeAt(t+1))}function a(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function s(e){return 1===e.length?"0"+e:e}function u(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}t.inherits=r,t.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var n=[];if("string"==typeof e)if(t){if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),r=0;r>6|192,n[o++]=63&a|128):i(e,r)?(a=65536+((1023&a)<<10)+(1023&e.charCodeAt(++r)),n[o++]=a>>18|240,n[o++]=a>>12&63|128,n[o++]=a>>6&63|128,n[o++]=63&a|128):(n[o++]=a>>12|224,n[o++]=a>>6&63|128,n[o++]=63&a|128)}else for(r=0;r>>0}return a},t.split32=function(e,t){for(var n=new Array(4*e.length),o=0,r=0;o>>24,n[r+1]=i>>>16&255,n[r+2]=i>>>8&255,n[r+3]=255&i):(n[r+3]=i>>>24,n[r+2]=i>>>16&255,n[r+1]=i>>>8&255,n[r]=255&i)}return n},t.rotr32=function(e,t){return e>>>t|e<<32-t},t.rotl32=function(e,t){return e<>>32-t},t.sum32=function(e,t){return e+t>>>0},t.sum32_3=function(e,t,n){return e+t+n>>>0},t.sum32_4=function(e,t,n,o){return e+t+n+o>>>0},t.sum32_5=function(e,t,n,o,r){return e+t+n+o+r>>>0},t.sum64=function(e,t,n,o){var r=e[t],i=o+e[t+1]>>>0,a=(i>>0,e[t+1]=i},t.sum64_hi=function(e,t,n,o){return(t+o>>>0>>0},t.sum64_lo=function(e,t,n,o){return t+o>>>0},t.sum64_4_hi=function(e,t,n,o,r,i,a,s){var u=0,c=t;return u+=(c=c+o>>>0)>>0)>>0)>>0},t.sum64_4_lo=function(e,t,n,o,r,i,a,s){return t+o+i+s>>>0},t.sum64_5_hi=function(e,t,n,o,r,i,a,s,u,c){var l=0,d=t;return l+=(d=d+o>>>0)>>0)>>0)>>0)>>0},t.sum64_5_lo=function(e,t,n,o,r,i,a,s,u,c){return t+o+i+s+c>>>0},t.rotr64_hi=function(e,t,n){return(t<<32-n|e>>>n)>>>0},t.rotr64_lo=function(e,t,n){return(e<<32-n|t>>>n)>>>0},t.shr64_hi=function(e,t,n){return e>>>n},t.shr64_lo=function(e,t,n){return(e<<32-n|t>>>n)>>>0}},78892:e=>{"use strict";e.exports=function(e,n){for(var o,r,i,a=e||"",s=n||"div",u={},c=0;c{"use strict";var o=n(99560),r=n(66632),i=n(78892),a=n(36582).parse,s=n(56851).parse;e.exports=function(e,t,n){var r=n?function(e){for(var t,n=e.length,o=-1,r={};++o{"use strict";var o=n(97247),r=n(62686)(o,"div");r.displayName="html",e.exports=r},31742:(e,t,n)=>{"use strict";e.exports=n(52579)},2156:(e,t,n)=>{"use strict";var o=n(33715),r=n(34504),i=n(79746);function a(e){if(!(this instanceof a))return new a(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=r.toArray(e.entropy,e.entropyEnc||"hex"),n=r.toArray(e.nonce,e.nonceEnc||"hex"),o=r.toArray(e.pers,e.persEnc||"hex");i(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,n,o)}e.exports=a,a.prototype._init=function(e,t,n){var o=e.concat(t).concat(n);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var r=0;r=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(n||[])),this._reseed=1},a.prototype.generate=function(e,t,n,o){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof t&&(o=n,n=t,t=null),n&&(n=r.toArray(n,o||"hex"),this._update(n));for(var i=[];i.length{"use strict";var o=n(59864),r={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},i={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},a={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function u(e){return o.isMemo(e)?a:s[e.$$typeof]||r}s[o.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[o.Memo]=a;var c=Object.defineProperty,l=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,h=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,f=Object.prototype;e.exports=function e(t,n,o){if("string"!=typeof n){if(f){var r=p(n);r&&r!==f&&e(t,r,o)}var a=l(n);d&&(a=a.concat(d(n)));for(var s=u(t),g=u(n),m=0;m{e.exports={CASE_SENSITIVE_TAG_NAMES:["animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussainBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","linearGradient","radialGradient","textPath"]}},38276:(e,t,n)=>{var o="html",r="head",i="body",a=/<([a-zA-Z]+[0-9]?)/,s=//i,u=//i,c=function(){throw new Error("This browser does not support `document.implementation.createHTMLDocument`")},l=function(){throw new Error("This browser does not support `DOMParser.prototype.parseFromString`")};if("function"==typeof window.DOMParser){var d=new window.DOMParser;c=l=function(e,t){return t&&(e="<"+t+">"+e+""),d.parseFromString(e,"text/html")}}if(document.implementation){var h=n(1507).isIE,p=document.implementation.createHTMLDocument(h()?"html-dom-parser":void 0);c=function(e,t){return t?(p.documentElement.getElementsByTagName(t)[0].innerHTML=e,p):(p.documentElement.innerHTML=e,p)}}var f,g=document.createElement("template");g.content&&(f=function(e){return g.innerHTML=e,g.content.childNodes}),e.exports=function(e){var t,n,d,h,p=e.match(a);switch(p&&p[1]&&(t=p[1].toLowerCase()),t){case o:return n=l(e),s.test(e)||(d=n.getElementsByTagName(r)[0])&&d.parentNode.removeChild(d),u.test(e)||(d=n.getElementsByTagName(i)[0])&&d.parentNode.removeChild(d),n.getElementsByTagName(o);case r:case i:return h=c(e).getElementsByTagName(t),u.test(e)&&s.test(e)?h[0].parentNode.childNodes:h;default:return f?f(e):c(e,i).getElementsByTagName(i)[0].childNodes}}},14152:(e,t,n)=>{var o=n(38276),r=n(1507).formatDOM,i=/<(![a-zA-Z\s]+)>/;e.exports=function(e){if("string"!=typeof e)throw new TypeError("First argument must be a string");if(""===e)return[];var t,n=e.match(i);return n&&n[1]&&(t=n[1]),r(o(e),null,t)}},1507:(e,t,n)=>{for(var o,r=n(60885),i=n(21642),a=r.CASE_SENSITIVE_TAG_NAMES,s=i.Comment,u=i.Element,c=i.ProcessingInstruction,l=i.Text,d={},h=0,p=a.length;h{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.Doctype=t.CDATA=t.Tag=t.Style=t.Script=t.Comment=t.Directive=t.Text=t.Root=t.isTag=t.ElementType=void 0,function(e){e.Root="root",e.Text="text",e.Directive="directive",e.Comment="comment",e.Script="script",e.Style="style",e.Tag="tag",e.CDATA="cdata",e.Doctype="doctype"}(n=t.ElementType||(t.ElementType={})),t.isTag=function(e){return e.type===n.Tag||e.type===n.Script||e.type===n.Style},t.Root=n.Root,t.Text=n.Text,t.Directive=n.Directive,t.Comment=n.Comment,t.Script=n.Script,t.Style=n.Style,t.Tag=n.Tag,t.CDATA=n.CDATA,t.Doctype=n.Doctype},21642:function(e,t,n){"use strict";var o,r=this&&this.__extends||(o=function(e,t){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}o(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),i=this&&this.__assign||function(){return(i=Object.assign||function(e){for(var t,n=1,o=arguments.length;n0?this.children[this.children.length-1]:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"childNodes",{get:function(){return this.children},set:function(e){this.children=e},enumerable:!1,configurable:!0}),t}(u);t.NodeWithChildren=p;var f=function(e){function t(t){return e.call(this,a.ElementType.Root,t)||this}return r(t,e),t}(p);t.Document=f;var g=function(e){function t(t,n,o,r){void 0===o&&(o=[]),void 0===r&&(r="script"===t?a.ElementType.Script:"style"===t?a.ElementType.Style:a.ElementType.Tag);var i=e.call(this,r,o)||this;return i.name=t,i.attribs=n,i}return r(t,e),Object.defineProperty(t.prototype,"tagName",{get:function(){return this.name},set:function(e){this.name=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"attributes",{get:function(){var e=this;return Object.keys(this.attribs).map((function(t){var n,o;return{name:t,value:e.attribs[t],namespace:null===(n=e["x-attribsNamespace"])||void 0===n?void 0:n[t],prefix:null===(o=e["x-attribsPrefix"])||void 0===o?void 0:o[t]}}))},enumerable:!1,configurable:!0}),t}(p);function m(e){return a.isTag(e)}function _(e){return e.type===a.ElementType.CDATA}function F(e){return e.type===a.ElementType.Text}function y(e){return e.type===a.ElementType.Comment}function b(e){return e.type===a.ElementType.Directive}function v(e){return e.type===a.ElementType.Root}function w(e,t){var n;if(void 0===t&&(t=!1),F(e))n=new l(e.data);else if(y(e))n=new d(e.data);else if(m(e)){var o=t?E(e.children):[],r=new g(e.name,i({},e.attribs),o);o.forEach((function(e){return e.parent=r})),e["x-attribsNamespace"]&&(r["x-attribsNamespace"]=i({},e["x-attribsNamespace"])),e["x-attribsPrefix"]&&(r["x-attribsPrefix"]=i({},e["x-attribsPrefix"])),n=r}else if(_(e)){o=t?E(e.children):[];var s=new p(a.ElementType.CDATA,o);o.forEach((function(e){return e.parent=s})),n=s}else if(v(e)){o=t?E(e.children):[];var u=new f(o);o.forEach((function(e){return e.parent=u})),e["x-mode"]&&(u["x-mode"]=e["x-mode"]),n=u}else{if(!b(e))throw new Error("Not implemented yet: "+e.type);var c=new h(e.name,e.data);null!=e["x-name"]&&(c["x-name"]=e["x-name"],c["x-publicId"]=e["x-publicId"],c["x-systemId"]=e["x-systemId"]),n=c}return n.startIndex=e.startIndex,n.endIndex=e.endIndex,n}function E(e){for(var t=e.map((function(e){return w(e,!0)})),n=1;n{var o=n(53670),r=n(50484),i=n(14152),a={lowerCaseAttributeNames:!1};function s(e,t){if("string"!=typeof e)throw new TypeError("First argument must be a string");return""===e?[]:o(i(e,(t=t||{}).htmlparser2||a),t)}s.domToReact=o,s.htmlToDOM=i,s.attributesToProps=r,e.exports=s,e.exports.default=s},50484:(e,t,n)=>{var o=n(32686),r=n(74606),i=r.setStyleProp,a=o.html,s=o.svg,u=o.isCustomAttribute,c=Object.prototype.hasOwnProperty;e.exports=function(e){var t,n,o,l;e=e||{};var d={};for(t in e)o=e[t],u(t)?d[t]=o:(n=t.toLowerCase(),c.call(a,n)?d[(l=a[n]).propertyName]=!!(l.hasBooleanValue||l.hasOverloadedBooleanValue&&!o)||o:c.call(s,t)?d[(l=s[t]).propertyName]=o:r.PRESERVE_CUSTOM_ATTRIBUTES&&(d[t]=o));return i(e.style,d),d}},53670:(e,t,n)=>{var o=n(67294),r=n(50484),i=n(74606),a=i.setStyleProp;function s(e){return i.PRESERVE_CUSTOM_ATTRIBUTES&&"tag"===e.type&&i.isCustomComponent(e.name,e.attribs)}e.exports=function e(t,n){for(var i,u,c,l,d=(n=n||{}).library||o,h=d.cloneElement,p=d.createElement,f=d.isValidElement,g=[],m="function"==typeof n.replace,_=n.trim,F=0,y=t.length;F1&&(u=h(u,{key:u.key||F})),g.push(u);else if("text"!==i.type){switch(c=i.attribs,s(i)?a(c.style,c):c&&(c=r(c)),l=null,i.type){case"script":case"style":i.children[0]&&(c.dangerouslySetInnerHTML={__html:i.children[0].data});break;case"tag":"textarea"===i.name&&i.children[0]?c.defaultValue=i.children[0].data:i.children&&i.children.length&&(l=e(i.children,n));break;default:continue}y>1&&(c.key=F),g.push(p(i.name,c,l))}else _?i.data.trim()&&g.push(i.data):g.push(i.data);return 1===g.length?g[0]:g}},74606:(e,t,n)=>{var o=n(67294),r=n(41476).default,i={reactCompat:!0},a=o.version.split(".")[0]>=16;e.exports={PRESERVE_CUSTOM_ATTRIBUTES:a,invertObject:function(e,t){if(!e||"object"!=typeof e)throw new TypeError("First argument must be an object");var n,o,r="function"==typeof t,i={},a={};for(n in e)o=e[n],r&&(i=t(n,o))&&2===i.length?a[i[0]]=i[1]:"string"==typeof o&&(a[o]=n);return a},isCustomComponent:function(e,t){if(-1===e.indexOf("-"))return t&&"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}},setStyleProp:function(e,t){null!=e&&(t.style=r(e,i))}}},89043:function(e,t,n){var o,r;!function(i,a,s){"use strict";void 0===(r="function"==typeof(o=function(){var e=function(e){throw e},t=function(){},n={storeName:"Store",storePrefix:"IDBWrapper-",dbVersion:1,keyPath:"id",autoIncrement:!0,onStoreReady:function(){},onError:e,indexes:[],implementationPreference:["indexedDB","webkitIndexedDB","mozIndexedDB","shimIndexedDB"]},o=function(e,t){for(var o in void 0===t&&"function"==typeof e&&(t=e),"[object Object]"!=Object.prototype.toString.call(e)&&(e={}),n)this[o]=void 0!==e[o]?e[o]:n[o];this.dbName=this.storePrefix+this.storeName,this.dbVersion=parseInt(this.dbVersion,10)||1,t&&(this.onStoreReady=t);var r="object"==typeof window?window:self,i=this.implementationPreference.filter((function(e){return e in r}));this.implementation=i[0],this.idb=r[this.implementation],this.keyRange=r.IDBKeyRange||r.webkitIDBKeyRange||r.mozIDBKeyRange,this.consts={READ_ONLY:"readonly",READ_WRITE:"readwrite",VERSION_CHANGE:"versionchange",NEXT:"next",NEXT_NO_DUPLICATE:"nextunique",PREV:"prev",PREV_NO_DUPLICATE:"prevunique"},this.openDB()},r={constructor:o,version:"1.7.2",db:null,dbName:null,dbVersion:null,store:null,storeName:null,storePrefix:null,keyPath:null,autoIncrement:null,indexes:null,implementationPreference:null,implementation:"",onStoreReady:null,onError:null,_insertIdCount:0,openDB:function(){var e=this.idb.open(this.dbName,this.dbVersion),t=!1;e.onerror=function(e){if(function(e){return"error"in e.target?"VersionError"==e.target.error.name:"errorCode"in e.target&&12==e.target.errorCode}(e))this.onError(new Error("The version number provided is lower than the existing one."));else{var t;if(e.target.error)t=e.target.error;else{var n="IndexedDB unknown error occurred when opening DB "+this.dbName+" version "+this.dbVersion;"errorCode"in e.target&&(n+=" with error code "+e.target.errorCode),t=new Error(n)}this.onError(t)}}.bind(this),e.onsuccess=function(e){if(!t)if(this.db)this.onStoreReady();else if(this.db=e.target.result,"string"!=typeof this.db.version)if(this.db.objectStoreNames.contains(this.storeName)){var n=this.db.transaction([this.storeName],this.consts.READ_ONLY);this.store=n.objectStore(this.storeName);var o=Array.prototype.slice.call(this.getIndexList());this.indexes.forEach((function(e){var n=e.name;if(!n)return t=!0,void this.onError(new Error("Cannot create index: No index name given."));if(this.normalizeIndexData(e),this.hasIndex(n)){var r=this.store.index(n);this.indexComplies(r,e)||(t=!0,this.onError(new Error('Cannot modify index "'+n+'" for current version. Please bump version number to '+(this.dbVersion+1)+"."))),o.splice(o.indexOf(n),1)}else t=!0,this.onError(new Error('Cannot create new index "'+n+'" for current version. Please bump version number to '+(this.dbVersion+1)+"."))}),this),o.length&&(t=!0,this.onError(new Error('Cannot delete index(es) "'+o.toString()+'" for current version. Please bump version number to '+(this.dbVersion+1)+"."))),t||this.onStoreReady()}else this.onError(new Error("Object store couldn't be created."));else this.onError(new Error("The IndexedDB implementation in this browser is outdated. Please upgrade your browser."))}.bind(this),e.onupgradeneeded=function(e){if(this.db=e.target.result,this.db.objectStoreNames.contains(this.storeName))this.store=e.target.transaction.objectStore(this.storeName);else{var n={autoIncrement:this.autoIncrement};null!==this.keyPath&&(n.keyPath=this.keyPath),this.store=this.db.createObjectStore(this.storeName,n)}var o=Array.prototype.slice.call(this.getIndexList());this.indexes.forEach((function(e){var n=e.name;if(n||(t=!0,this.onError(new Error("Cannot create index: No index name given."))),this.normalizeIndexData(e),this.hasIndex(n)){var r=this.store.index(n);this.indexComplies(r,e)||(this.store.deleteIndex(n),this.store.createIndex(n,e.keyPath,{unique:e.unique,multiEntry:e.multiEntry})),o.splice(o.indexOf(n),1)}else this.store.createIndex(n,e.keyPath,{unique:e.unique,multiEntry:e.multiEntry})}),this),o.length&&o.forEach((function(e){this.store.deleteIndex(e)}),this)}.bind(this)},deleteDatabase:function(e,t){if(this.idb.deleteDatabase){this.db.close();var n=this.idb.deleteDatabase(this.dbName);n.onsuccess=e,n.onerror=t}else t(new Error("Browser does not support IndexedDB deleteDatabase!"))},put:function(n,o,r,i){null!==this.keyPath&&(i=r,r=o,o=n),i||(i=e),r||(r=t);var a,s=!1,u=null,c=this.db.transaction([this.storeName],this.consts.READ_WRITE);return c.oncomplete=function(){(s?r:i)(u)},c.onabort=i,c.onerror=i,null!==this.keyPath?(this._addIdPropertyIfNeeded(o),a=c.objectStore(this.storeName).put(o)):a=c.objectStore(this.storeName).put(o,n),a.onsuccess=function(e){s=!0,u=e.target.result},a.onerror=i,c},get:function(n,o,r){r||(r=e),o||(o=t);var i=!1,a=null,s=this.db.transaction([this.storeName],this.consts.READ_ONLY);s.oncomplete=function(){(i?o:r)(a)},s.onabort=r,s.onerror=r;var u=s.objectStore(this.storeName).get(n);return u.onsuccess=function(e){i=!0,a=e.target.result},u.onerror=r,s},remove:function(n,o,r){r||(r=e),o||(o=t);var i=!1,a=null,s=this.db.transaction([this.storeName],this.consts.READ_WRITE);s.oncomplete=function(){(i?o:r)(a)},s.onabort=r,s.onerror=r;var u=s.objectStore(this.storeName).delete(n);return u.onsuccess=function(e){i=!0,a=e.target.result},u.onerror=r,s},batch:function(n,o,r){if(r||(r=e),o||(o=t),"[object Array]"!=Object.prototype.toString.call(n))r(new Error("dataArray argument must be of type Array."));else if(0===n.length)return o(!0);var i=n.length,a=!1,s=!1,u=this.db.transaction([this.storeName],this.consts.READ_WRITE);u.oncomplete=function(){(s?o:r)(s)},u.onabort=r,u.onerror=r;var c=function(){0!=--i||a||(a=!0,s=!0)};return n.forEach((function(e){var t=e.type,n=e.key,o=e.value,i=function(e){u.abort(),a||(a=!0,r(e,t,n))};if("remove"==t){var s=u.objectStore(this.storeName).delete(n);s.onsuccess=c,s.onerror=i}else if("put"==t){var l;null!==this.keyPath?(this._addIdPropertyIfNeeded(o),l=u.objectStore(this.storeName).put(o)):l=u.objectStore(this.storeName).put(o,n),l.onsuccess=c,l.onerror=i}}),this),u},putBatch:function(e,t,n){var o=e.map((function(e){return{type:"put",value:e}}));return this.batch(o,t,n)},upsertBatch:function(n,o,r,i){"function"==typeof o&&(i=r=o,o={}),i||(i=e),r||(r=t),o||(o={}),"[object Array]"!=Object.prototype.toString.call(n)&&i(new Error("dataArray argument must be of type Array."));var a=o.keyField||this.keyPath,s=n.length,u=!1,c=!1,l=0,d=this.db.transaction([this.storeName],this.consts.READ_WRITE);d.oncomplete=function(){c?r(n):i(!1)},d.onabort=i,d.onerror=i;var h=function(e){n[l++][a]=e.target.result,0!=--s||u||(u=!0,c=!0)};return n.forEach((function(e){var t,n=e.key;null!==this.keyPath?(this._addIdPropertyIfNeeded(e),t=d.objectStore(this.storeName).put(e)):t=d.objectStore(this.storeName).put(e,n),t.onsuccess=h,t.onerror=function(e){d.abort(),u||(u=!0,i(e))}}),this),d},removeBatch:function(e,t,n){var o=e.map((function(e){return{type:"remove",key:e}}));return this.batch(o,t,n)},getBatch:function(n,o,r,i){if(r||(r=e),o||(o=t),i||(i="sparse"),"[object Array]"!=Object.prototype.toString.call(n))r(new Error("keyArray argument must be of type Array."));else if(0===n.length)return o([]);var a=[],s=n.length,u=!1,c=null,l=this.db.transaction([this.storeName],this.consts.READ_ONLY);l.oncomplete=function(){(u?o:r)(c)},l.onabort=r,l.onerror=r;var d=function(e){e.target.result||"dense"==i?a.push(e.target.result):"sparse"==i&&a.length++,0==--s&&(u=!0,c=a)};return n.forEach((function(e){var t=l.objectStore(this.storeName).get(e);t.onsuccess=d,t.onerror=function(e){c=e,r(e),l.abort()}}),this),l},getAll:function(n,o){o||(o=e),n||(n=t);var r=this.db.transaction([this.storeName],this.consts.READ_ONLY),i=r.objectStore(this.storeName);return i.getAll?this._getAllNative(r,i,n,o):this._getAllCursor(r,i,n,o),r},_getAllNative:function(e,t,n,o){var r=!1,i=null;e.oncomplete=function(){(r?n:o)(i)},e.onabort=o,e.onerror=o;var a=t.getAll();a.onsuccess=function(e){r=!0,i=e.target.result},a.onerror=o},_getAllCursor:function(e,t,n,o){var r=[],i=!1,a=null;e.oncomplete=function(){(i?n:o)(a)},e.onabort=o,e.onerror=o;var s=t.openCursor();s.onsuccess=function(e){var t=e.target.result;t?(r.push(t.value),t.continue()):(i=!0,a=r)},s.onError=o},clear:function(n,o){o||(o=e),n||(n=t);var r=!1,i=null,a=this.db.transaction([this.storeName],this.consts.READ_WRITE);a.oncomplete=function(){(r?n:o)(i)},a.onabort=o,a.onerror=o;var s=a.objectStore(this.storeName).clear();return s.onsuccess=function(e){r=!0,i=e.target.result},s.onerror=o,a},_addIdPropertyIfNeeded:function(e){void 0===e[this.keyPath]&&(e[this.keyPath]=this._insertIdCount+++Date.now())},getIndexList:function(){return this.store.indexNames},hasIndex:function(e){return this.store.indexNames.contains(e)},normalizeIndexData:function(e){e.keyPath=e.keyPath||e.name,e.unique=!!e.unique,e.multiEntry=!!e.multiEntry},indexComplies:function(e,t){return["keyPath","unique","multiEntry"].every((function(n){if("multiEntry"==n&&void 0===e[n]&&!1===t[n])return!0;if("keyPath"==n&&"[object Array]"==Object.prototype.toString.call(t[n])){var o=t.keyPath,r=e.keyPath;if("string"==typeof r)return o.toString()==r;if("function"!=typeof r.contains&&"function"!=typeof r.indexOf)return!1;if(r.length!==o.length)return!1;for(var i=0,a=o.length;i{t.read=function(e,t,n,o,r){var i,a,s=8*r-o-1,u=(1<>1,l=-7,d=n?r-1:0,h=n?-1:1,p=e[t+d];for(d+=h,i=p&(1<<-l)-1,p>>=-l,l+=s;l>0;i=256*i+e[t+d],d+=h,l-=8);for(a=i&(1<<-l)-1,i>>=-l,l+=o;l>0;a=256*a+e[t+d],d+=h,l-=8);if(0===i)i=1-c;else{if(i===u)return a?NaN:1/0*(p?-1:1);a+=Math.pow(2,o),i-=c}return(p?-1:1)*a*Math.pow(2,i-o)},t.write=function(e,t,n,o,r,i){var a,s,u,c=8*i-r-1,l=(1<>1,h=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,p=o?0:i-1,f=o?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=l):(a=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-a))<1&&(a--,u*=2),(t+=a+d>=1?h/u:h*Math.pow(2,1-d))*u>=2&&(a++,u/=2),a+d>=l?(s=0,a=l):a+d>=1?(s=(t*u-1)*Math.pow(2,r),a+=d):(s=t*Math.pow(2,d-1)*Math.pow(2,r),a=0));r>=8;e[n+p]=255&s,p+=f,s/=256,r-=8);for(a=a<0;e[n+p]=255&a,p+=f,a/=256,c-=8);e[n+p-f]|=128*g}},35717:e=>{"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}},18139:e=>{var t=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,n=/\n/g,o=/^\s*/,r=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,i=/^:\s*/,a=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,s=/^[;\s]*/,u=/^\s+|\s+$/g,c="";function l(e){return e?e.replace(u,c):c}e.exports=function(e,u){if("string"!=typeof e)throw new TypeError("First argument must be a string");if(!e)return[];u=u||{};var d=1,h=1;function p(e){var t=e.match(n);t&&(d+=t.length);var o=e.lastIndexOf("\n");h=~o?e.length-o:h+e.length}function f(){var e={line:d,column:h};return function(t){return t.position=new g(e),y(),t}}function g(e){this.start=e,this.end={line:d,column:h},this.source=u.source}g.prototype.content=e;var m=[];function _(t){var n=new Error(u.source+":"+d+":"+h+": "+t);if(n.reason=t,n.filename=u.source,n.line=d,n.column=h,n.source=e,!u.silent)throw n;m.push(n)}function F(t){var n=t.exec(e);if(n){var o=n[0];return p(o),e=e.slice(o.length),n}}function y(){F(o)}function b(e){var t;for(e=e||[];t=v();)!1!==t&&e.push(t);return e}function v(){var t=f();if("/"==e.charAt(0)&&"*"==e.charAt(1)){for(var n=2;c!=e.charAt(n)&&("*"!=e.charAt(n)||"/"!=e.charAt(n+1));)++n;if(n+=2,c===e.charAt(n-1))return _("End of comment missing");var o=e.slice(2,n-2);return h+=2,p(o),e=e.slice(n),h+=2,t({type:"comment",comment:o})}}function w(){var e=f(),n=F(r);if(n){if(v(),!F(i))return _("property missing ':'");var o=F(a),u=e({type:"declaration",property:l(n[0].replace(t,c)),value:o?l(o[0].replace(t,c)):c});return F(s),u}}return y(),function(){var e,t=[];for(b(t);e=w();)!1!==e&&(t.push(e),b(t));return t}()}},46260:e=>{"use strict";e.exports=function(e){var t="string"==typeof e?e.charCodeAt(0):e;return t>=97&&t<=122||t>=65&&t<=90}},7961:(e,t,n)=>{"use strict";var o=n(46260),r=n(46195);e.exports=function(e){return o(e)||r(e)}},82584:(e,t,n)=>{"use strict";var o="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag,r=n(21924)("Object.prototype.toString"),i=function(e){return!(o&&e&&"object"==typeof e&&Symbol.toStringTag in e)&&"[object Arguments]"===r(e)},a=function(e){return!!i(e)||null!==e&&"object"==typeof e&&"number"==typeof e.length&&e.length>=0&&"[object Array]"!==r(e)&&"[object Function]"===r(e.callee)},s=function(){return i(arguments)}();i.isLegacyArguments=a,e.exports=s?i:a},46195:e=>{"use strict";e.exports=function(e){var t="string"==typeof e?e.charCodeAt(0):e;return t>=48&&t<=57}},48662:e=>{"use strict";var t=Object.prototype.toString,n=Function.prototype.toString,o=/^\s*(?:function)?\*/,r="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag,i=Object.getPrototypeOf,a=function(){if(!r)return!1;try{return Function("return function*() {}")()}catch(e){}}(),s=!(!i||!a)&&i(a);e.exports=function(e){return"function"==typeof e&&(!!o.test(n.call(e))||(r?i&&i(e)===s:"[object GeneratorFunction]"===t.call(e)))}},79480:e=>{"use strict";e.exports=function(e){var t="string"==typeof e?e.charCodeAt(0):e;return t>=97&&t<=102||t>=65&&t<=70||t>=48&&t<=57}},33310:e=>{"use strict";e.exports=e=>{if("[object Object]"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}},85692:(e,t,n)=>{"use strict";var o=n(49804),r=n(16314),i=n(21924),a=i("Object.prototype.toString"),s=n(41405)()&&"symbol"==typeof Symbol.toStringTag,u=r(),c=i("Array.prototype.indexOf",!0)||function(e,t){for(var n=0;n-1}return!!h&&function(e){var t=!1;return o(d,(function(n,o){if(!t)try{t=n.call(e)===o}catch(e){}})),t}(e)}},65452:e=>{var t=Object.prototype,n=t.hasOwnProperty,o=t.toString,r=function(e){return e!=e},i={boolean:1,number:1,string:1,undefined:1},a=e.exports={};a.a=a.type=function(e,t){return typeof e===t},a.defined=function(e){return void 0!==e},a.empty=function(e){var t,r=o.call(e);if("[object Array]"===r||"[object Arguments]"===r)return 0===e.length;if("[object Object]"===r){for(t in e)if(n.call(e,t))return!1;return!0}return"[object String]"===r&&""===e},a.equal=function(e,t){var n,r=o.call(e);if(r!==o.call(t))return!1;if("[object Object]"===r){for(n in e)if(!a.equal(e[n],t[n]))return!1;return!0}if("[object Array]"===r){if((n=e.length)!==t.length)return!1;for(;--n;)if(!a.equal(e[n],t[n]))return!1;return!0}return"[object Function]"===r?e.prototype===t.prototype:"[object Date]"===r?e.getTime()===t.getTime():e===t},a.hosted=function(e,t){var n=typeof t[e];return"object"===n?!!t[e]:!i[n]},a.instance=a.instanceof=function(e,t){return e instanceof t},a.null=function(e){return null===e},a.undefined=function(e){return void 0===e},a.arguments=function(e){var t="[object Arguments]"===o.call(e),n=!a.array(e)&&a.arraylike(e)&&a.object(e)&&a.fn(e.callee);return t||n},a.array=function(e){return"[object Array]"===o.call(e)},a.arguments.empty=function(e){return a.arguments(e)&&0===e.length},a.array.empty=function(e){return a.array(e)&&0===e.length},a.arraylike=function(e){return!!e&&!a.boolean(e)&&n.call(e,"length")&&isFinite(e.length)&&a.number(e.length)&&e.length>=0},a.boolean=function(e){return"[object Boolean]"===o.call(e)},a.false=function(e){return a.boolean(e)&&(!1===e||!1===e.valueOf())},a.true=function(e){return a.boolean(e)&&(!0===e||!0===e.valueOf())},a.date=function(e){return"[object Date]"===o.call(e)},a.element=function(e){return void 0!==e&&"undefined"!=typeof HTMLElement&&e instanceof HTMLElement&&1===e.nodeType},a.error=function(e){return"[object Error]"===o.call(e)},a.fn=a.function=function(e){return"undefined"!=typeof window&&e===window.alert||"[object Function]"===o.call(e)},a.number=function(e){return"[object Number]"===o.call(e)},a.infinite=function(e){return e===1/0||e===-1/0},a.decimal=function(e){return a.number(e)&&!r(e)&&!a.infinite(e)&&e%1!=0},a.divisibleBy=function(e,t){var n=a.infinite(e),o=a.infinite(t),i=a.number(e)&&!r(e)&&a.number(t)&&!r(t)&&0!==t;return n||o||i&&e%t==0},a.int=function(e){return a.number(e)&&!r(e)&&e%1==0},a.maximum=function(e,t){if(r(e))throw new TypeError("NaN is not a valid value");if(!a.arraylike(t))throw new TypeError("second argument must be array-like");for(var n=t.length;--n>=0;)if(e=0;)if(e>t[n])return!1;return!0},a.nan=function(e){return!a.number(e)||e!=e},a.even=function(e){return a.infinite(e)||a.number(e)&&e==e&&e%2==0},a.odd=function(e){return a.infinite(e)||a.number(e)&&e==e&&e%2!=0},a.ge=function(e,t){if(r(e)||r(t))throw new TypeError("NaN is not a valid value");return!a.infinite(e)&&!a.infinite(t)&&e>=t},a.gt=function(e,t){if(r(e)||r(t))throw new TypeError("NaN is not a valid value");return!a.infinite(e)&&!a.infinite(t)&&e>t},a.le=function(e,t){if(r(e)||r(t))throw new TypeError("NaN is not a valid value");return!a.infinite(e)&&!a.infinite(t)&&e<=t},a.lt=function(e,t){if(r(e)||r(t))throw new TypeError("NaN is not a valid value");return!a.infinite(e)&&!a.infinite(t)&&e=t&&e<=n},a.object=function(e){return e&&"[object Object]"===o.call(e)},a.hash=function(e){return a.object(e)&&e.constructor===Object&&!e.nodeType&&!e.setInterval},a.regexp=function(e){return"[object RegExp]"===o.call(e)},a.string=function(e){return"[object String]"===o.call(e)}},5826:e=>{var t={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==t.call(e)}},35086:(e,t,n)=>{var o=n(48764).Buffer;e.exports=function(e){return o.isBuffer(e)||/\[object (.+Array|Array.+)\]/.test(Object.prototype.toString.call(e))}},69334:(e,t,n)=>{var o=n(57785),r=n(2638),i=n(51753),a=n(89539),s=n(30778),u=new Buffer(0),c={encode:function(e){return"string"==typeof e?e=new Buffer(e):e},decode:function(e){return Buffer.isBuffer(e)?e:new Buffer(e)},buffer:!0,type:"raw"},l=function(){},d=function(e){return e=e.toString(16),"00000000".slice(0,-e.length)+e};e.exports=function(e,t){t||(t={});var n={},h=t.blockSize||65536,p=t.batch||100,f=new Buffer(h);e.put("\0","ignore",l);var g={},m=function(e,t){if(!(this instanceof m))return new m(e,t);t||(t={}),this.name=e,this.blocks=[],this.batch=[],this.bytesWritten=0,this.truncate=!t.append,this.append=t.append,this._shouldInitAppend=this.append&&void 0===t.start,this._destroyed=!1,this._init(t.start||0),o.call(this)};a.inherits(m,o),m.prototype._init=function(e){this.blockIndex=e/h|0,this.blockOffset=e-this.blockIndex*h,this.blockLength=this.blockOffset},m.prototype._flush=function(t){if(!this.batch.length)return t();var n=this.batch[this.batch.length-1].key,o=this.batch;if(this.batch=[],!this.truncate)return e.batch(o,t);this.truncate=!1,this._truncate(o,n,t)},m.prototype._truncate=function(t,n,o){o=s(o);var r=[],i=e.createKeyStream({start:n,end:this.name+"ÿÿ"});i.on("error",o),i.on("data",(function(e){r.push({type:"del",key:e})})),i.on("end",(function(){r.push.apply(r,t),e.batch(r,o)}))},m.prototype._writeBlock=function(t){var n=1===this.blocks.length?this.blocks[0]:Buffer.concat(this.blocks,this.blockLength-this.blockOffset),o=this.blockIndex,r=this.blockOffset,i=this;this.blockOffset=0,this.blockLength=0,this.blockIndex++,this.blocks=[];var a=this.name+"ÿ"+d(o),s=function(e,t,n){return e.length&&i.batch.push({type:"put",key:a,value:e,valueEncoding:c}),!t&&i.batch.lengthi&&(o=e.slice(i),e=e.slice(0,i)),this.bytesWritten+=e.length,this.blockLength+=e.length,this.blocks.push(e),e.lengtho._missing&&(e=e.slice(0,o._missing)),o._missing-=e.length,o._pause(!o.push(e)),!o._missing))};this._reader.on("data",(function(e){for(;e.key>u;)if(!l(f))return;l(e.value)})),this._reader.on("error",(function(e){o.emit("error",e)})),this._reader.on("end",(function(){o.push(null)})),r.call(this)};return a.inherits(_,r),_.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this._reader.destroy(),process.nextTick(this.emit.bind(this,"close")))},_.prototype._pause=function(e){this._paused!==e&&(this._paused=e,this._paused?this._reader.pause():this._reader.resume())},_.prototype._read=function(){this._pause(!1)},n.remove=function(t,n){n=s(n||l);var o=[],r=e.createKeyStream({start:t+"ÿ",end:t+"ÿÿ"});r.on("error",n),r.on("data",(function(e){o.push({type:"del",key:e})})),r.on("end",(function(){e.batch(o,n)}))},n.size=function(t,n){i.last(e,{start:t+"ÿ",end:t+"ÿÿ",valueEncoding:c},(function(e,o,r){return e&&"range not found"===e.message?n(null,0):e?n(e):o.slice(0,t.length+1)!==t+"ÿ"?n(null,0):void n(null,parseInt(o.toString().slice(t.length+1),16)*h+r.length)}))},n.write=function(e,t,o,r){if("function"==typeof o)return n.write(e,t,null,o);o||(o={}),r||(r=l);var i=n.createWriteStream(e,o);i.on("error",r),i.on("finish",(function(){r()})),i.write(t),i.end()},n.read=function(e,t,o){if("function"==typeof t)return n.read(e,null,t);t||(t={});var r=n.createReadStream(e,t),i=[];r.on("error",o),r.on("data",(function(e){i.push(e)})),r.on("end",(function(){o(null,1===i.length?i[0]:Buffer.concat(i))}))},n.createReadStream=function(e,t){return new _(e,t)},n.createWriteStream=function(e,t){return new m(e,t)},n}},79141:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},79435:(e,t,n)=>{e.exports=s;var o=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t},r=n(16497);r.inherits=n(35717);var i=n(67496),a=n(60091);function s(e){if(!(this instanceof s))return new s(e);i.call(this,e),a.call(this,e),e&&!1===e.readable&&(this.readable=!1),e&&!1===e.writable&&(this.writable=!1),this.allowHalfOpen=!0,e&&!1===e.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",u)}function u(){this.allowHalfOpen||this._writableState.ended||process.nextTick(this.end.bind(this))}r.inherits(s,i),function(e,t){for(var n=0,o=e.length;n{e.exports=i;var o=n(84987),r=n(16497);function i(e){if(!(this instanceof i))return new i(e);o.call(this,e)}r.inherits=n(35717),r.inherits(i,o),i.prototype._transform=function(e,t,n){n(null,e)}},67496:(e,t,n)=>{e.exports=d;var o=n(79141),r=n(48764).Buffer;d.ReadableState=l;var i=n(17187).EventEmitter;i.listenerCount||(i.listenerCount=function(e,t){return e.listeners(t).length});var a,s=n(42830),u=n(16497);u.inherits=n(35717);var c=n(6297);function l(e,t){var o=n(79435),r=(e=e||{}).highWaterMark,i=e.objectMode?16:16384;this.highWaterMark=r||0===r?r:i,this.highWaterMark=~~this.highWaterMark,this.buffer=[],this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.objectMode=!!e.objectMode,t instanceof o&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.defaultEncoding=e.defaultEncoding||"utf8",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(a||(a=n(50981).s),this.decoder=new a(e.encoding),this.encoding=e.encoding)}function d(e){if(n(79435),!(this instanceof d))return new d(e);this._readableState=new l(e,this),this.readable=!0,s.call(this)}function h(e,t,n,o,r){var i=function(e,t){var n=null;return u.isBuffer(t)||u.isString(t)||u.isNullOrUndefined(t)||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk")),n}(t,n);if(i)e.emit("error",i);else if(u.isNullOrUndefined(n))t.reading=!1,t.ended||function(e,t){if(t.decoder&&!t.ended){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,g(e)}(e,t);else if(t.objectMode||n&&n.length>0)if(t.ended&&!r){var a=new Error("stream.push() after EOF");e.emit("error",a)}else t.endEmitted&&r?(a=new Error("stream.unshift() after end event"),e.emit("error",a)):(!t.decoder||r||o||(n=t.decoder.write(n)),r||(t.reading=!1),t.flowing&&0===t.length&&!t.sync?(e.emit("data",n),e.read(0)):(t.length+=t.objectMode?1:n.length,r?t.buffer.unshift(n):t.buffer.push(n),t.needReadable&&g(e)),function(e,t){t.readingMore||(t.readingMore=!0,process.nextTick((function(){!function(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.lengtht.highWaterMark&&(t.highWaterMark=function(e){if(e>=p)e=p;else{e--;for(var t=1;t<32;t<<=1)e|=e>>t;e++}return e}(e)),e>t.length?t.ended?t.length:(t.needReadable=!0,0):e)}function g(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(c("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?process.nextTick((function(){m(e)})):m(e))}function m(e){c("emit readable"),e.emit("readable"),_(e)}function _(e){var t=e._readableState;if(c("flow",t.flowing),t.flowing)do{var n=e.read()}while(null!==n&&t.flowing)}function F(e,t){var n,o=t.buffer,i=t.length,a=!!t.decoder,s=!!t.objectMode;if(0===o.length)return null;if(0===i)n=null;else if(s)n=o.shift();else if(!e||e>=i)n=a?o.join(""):r.concat(o,i),o.length=0;else if(e0)throw new Error("endReadable called on non-empty stream");t.endEmitted||(t.ended=!0,process.nextTick((function(){t.endEmitted||0!==t.length||(t.endEmitted=!0,e.readable=!1,e.emit("end"))})))}d.prototype.read=function(e){c("read",e);var t=this._readableState,n=e;if((!u.isNumber(e)||e>0)&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return c("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?y(this):g(this),null;if(0===(e=f(e,t))&&t.ended)return 0===t.length&&y(this),null;var o,r=t.needReadable;return c("need readable",r),(0===t.length||t.length-e0?F(e,t):null,u.isNull(o)&&(t.needReadable=!0,e=0),t.length-=e,0!==t.length||t.ended||(t.needReadable=!0),n!==e&&t.ended&&0===t.length&&y(this),u.isNull(o)||this.emit("data",o),o},d.prototype._read=function(e){this.emit("error",new Error("not implemented"))},d.prototype.pipe=function(e,t){var n=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=e;break;case 1:r.pipes=[r.pipes,e];break;default:r.pipes.push(e)}r.pipesCount+=1,c("pipe count=%d opts=%j",r.pipesCount,t);var a=t&&!1===t.end||e===process.stdout||e===process.stderr?d:u;function s(e){c("onunpipe"),e===n&&d()}function u(){c("onend"),e.end()}r.endEmitted?process.nextTick(a):n.once("end",a),e.on("unpipe",s);var l=function(e){return function(){var t=e._readableState;c("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&i.listenerCount(e,"data")&&(t.flowing=!0,_(e))}}(n);function d(){c("cleanup"),e.removeListener("close",f),e.removeListener("finish",g),e.removeListener("drain",l),e.removeListener("error",p),e.removeListener("unpipe",s),n.removeListener("end",u),n.removeListener("end",d),n.removeListener("data",h),!r.awaitDrain||e._writableState&&!e._writableState.needDrain||l()}function h(t){c("ondata"),!1===e.write(t)&&(c("false write response, pause",n._readableState.awaitDrain),n._readableState.awaitDrain++,n.pause())}function p(t){c("onerror",t),m(),e.removeListener("error",p),0===i.listenerCount(e,"error")&&e.emit("error",t)}function f(){e.removeListener("finish",g),m()}function g(){c("onfinish"),e.removeListener("close",f),m()}function m(){c("unpipe"),n.unpipe(e)}return e.on("drain",l),n.on("data",h),e._events&&e._events.error?o(e._events.error)?e._events.error.unshift(p):e._events.error=[p,e._events.error]:e.on("error",p),e.once("close",f),e.once("finish",g),e.emit("pipe",n),r.flowing||(c("pipe resume"),n.resume()),e},d.prototype.unpipe=function(e){var t=this._readableState;if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this)),this;if(!e){var n=t.pipes,o=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var r=0;r{e.exports=a;var o=n(79435),r=n(16497);function i(e,t){this.afterTransform=function(e,n){return function(e,t,n){var o=e._transformState;o.transforming=!1;var i=o.writecb;if(!i)return e.emit("error",new Error("no writecb in Transform class"));o.writechunk=null,o.writecb=null,r.isNullOrUndefined(n)||e.push(n),i&&i(t);var a=e._readableState;a.reading=!1,(a.needReadable||a.length{e.exports=u;var o=n(48764).Buffer;u.WritableState=s;var r=n(16497);r.inherits=n(35717);var i=n(42830);function a(e,t,n){this.chunk=e,this.encoding=t,this.callback=n}function s(e,t){var o=n(79435),r=(e=e||{}).highWaterMark,i=e.objectMode?16:16384;this.highWaterMark=r||0===r?r:i,this.objectMode=!!e.objectMode,t instanceof o&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=~~this.highWaterMark,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1;var a=!1===e.decodeStrings;this.decodeStrings=!a,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var n=e._writableState,o=n.sync,r=n.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(n),t)!function(e,t,n,o,r){n?process.nextTick((function(){t.pendingcb--,r(o)})):(t.pendingcb--,r(o)),e._writableState.errorEmitted=!0,e.emit("error",o)}(e,n,o,t,r);else{var i=h(0,n);i||n.corked||n.bufferProcessing||!n.buffer.length||d(e,n),o?process.nextTick((function(){l(e,n,i,r)})):l(e,n,i,r)}}(t,e)},this.writecb=null,this.writelen=0,this.buffer=[],this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1}function u(e){var t=n(79435);if(!(this instanceof u||this instanceof t))return new u(e);this._writableState=new s(e,this),this.writable=!0,i.call(this)}function c(e,t,n,o,r,i,a){t.writelen=o,t.writecb=a,t.writing=!0,t.sync=!0,n?e._writev(r,t.onwrite):e._write(r,i,t.onwrite),t.sync=!1}function l(e,t,n,o){n||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,o(),f(e,t)}function d(e,t){if(t.bufferProcessing=!0,e._writev&&t.buffer.length>1){for(var n=[],o=0;o{(t=e.exports=n(67496)).Stream=n(42830),t.Readable=t,t.Writable=n(60091),t.Duplex=n(79435),t.Transform=n(84987),t.PassThrough=n(1474),process.browser||"disable"!==process.env.READABLE_STREAM||(e.exports=n(42830))},57785:(e,t,n)=>{e.exports=n(60091)},50981:(e,t,n)=>{var o=n(48764).Buffer,r=o.isEncoding||function(e){switch(e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}},i=t.s=function(e){switch(this.encoding=(e||"utf8").toLowerCase().replace(/[-_]/,""),function(e){if(e&&!r(e))throw new Error("Unknown encoding: "+e)}(e),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=s;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=u;break;default:return void(this.write=a)}this.charBuffer=new o(6),this.charReceived=0,this.charLength=0};function a(e){return e.toString(this.encoding)}function s(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function u(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}i.prototype.write=function(e){for(var t="";this.charLength;){var n=e.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,n),this.charReceived+=n,this.charReceived=55296&&o<=56319)){if(this.charReceived=this.charLength=0,0===e.length)return t;break}this.charLength+=this.surrogateSize,t=""}this.detectIncompleteChar(e);var o,r=e.length;if(this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,r),r-=this.charReceived),r=(t+=e.toString(this.encoding,0,r)).length-1,(o=t.charCodeAt(r))>=55296&&o<=56319){var i=this.surrogateSize;return this.charLength+=i,this.charReceived+=i,this.charBuffer.copy(this.charBuffer,i,0,i),e.copy(this.charBuffer,0,0,i),t.substring(0,r)}return t},i.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var n=e[e.length-t];if(1==t&&n>>5==6){this.charLength=2;break}if(t<=2&&n>>4==14){this.charLength=3;break}if(t<=3&&n>>3==30){this.charLength=4;break}}this.charReceived=t},i.prototype.end=function(e){var t="";if(e&&e.length&&(t=this.write(e)),this.charReceived){var n=this.charReceived,o=this.charBuffer,r=this.encoding;t+=o.slice(0,n).toString(r)}return t}},2950:(e,t,n)=>{var o=n(47138);Object.keys(o.code).forEach((function(e){var n=o.code[e];t[e]=function(t){var o=new Error(e+", "+n.description+(t?" '"+t+"'":""));return o.errno=n.errno,o.code=e,o.path=t,o}}))},49942:(e,t,n)=>{var o=n(35673),r=n(98673),i=n(69334),a=n(51753),s=n(30778),u=n(39530),c=n(2950),l=n(68781),d=n(36975),h=function(e,t,n){process.nextTick((function(){e(t,n)}))},p=function(){};e.exports=function(e,t){var n={};e=r(e);var f=i(e.sublevel("blobs"),t),g=l(e.sublevel("stats")),m=e.sublevel("links"),_=d(),F=[],y=Date.now();n.mkdir=function(e,t,o){if("function"==typeof t)return n.mkdir(e,null,t);t||(t=u(777)),o||(o=p),g.follow(e,(function(e,n,r){return e&&"ENOENT"!==e.code?o(e):n?o(c.EEXIST(r)):void g.put(r,{type:"directory",mode:t,size:4096},_.cb(r,o))}))},n.rmdir=function(e,t){t||(t=p),g.follow(e,(function(e,o,r){if(e)return t(e);n.readdir(r,(function(e,n){return e?t(e):n.length?t(c.ENOTEMPTY(r)):void g.del(r,_.cb(r,t))}))}))},n.readdir=function(e,t){g.follow(e,(function(e,n,o){return e?t(e):n?n.isDirectory()?void g.list(o,t):t(c.ENOTDIR(o)):t(c.ENOENT(o))}))};var b=function(e,t,n){t(e,(function(e,t,o){if(e)return n(e);if(!t.isFile())return n(null,t);var r=t&&t.blob||o;f.size(r,(function(e,o){if(e)return n(e);t.size=o,n(null,t)}))}))};n.stat=function(e,t){b(e,g.follow,t)},n.lstat=function(e,t){b(e,g.get,t)},n.exists=function(e,t){g.follow(e,(function(e){t(!e)}))};var v=function(e,t,n,o){o||(o=p),t(e,(function(e,t,r){if(e)return o(e);g.update(r,{mode:n},_.cb(r,o))}))};n.chmod=function(e,t,n){v(e,g.follow,t,n)},n.lchmod=function(e,t,n){v(e,g.get,t,n)};var w=function(e,t,n,o,r){r||(r=p),t(e,(function(e,t,i){if(e)return r(e);g.update(i,{uid:n,gid:o},_.cb(i,r))}))};return n.chown=function(e,t,n,o){w(e,g.follow,t,n,o)},n.lchown=function(e,t,n,o){w(e,g.get,t,n,o)},n.utimes=function(e,t,n,o){o||(o=p),g.follow(e,(function(e,r,i){if(e)return o(e);var a={};t&&(a.atime=t),n&&(a.mtime=n),g.update(i,a,_.cb(i,o))}))},n.rename=function(e,t,o){o||(o=p),g.follow(e,(function(e,r,i){if(e)return o(e);var a=function(){o=_.cb(t,_.cb(i,o)),g.put(t,r,(function(e){if(e)return o(e);g.del(i,o)}))};g.follow(t,(function(e,t,s){return e&&"ENOENT"!==e.code?o(e):t?r.isDirectory()!==t.isDirectory()?o(c.EISDIR(i)):void(t.isDirectory()?n.readdir(s,(function(e,t){return e?o(e):t.length?o(c.ENOTEMPTY(i)):void a()})):a()):a()}))}))},n.realpath=function(e,t,o){if("function"==typeof t)return n.realpath(e,null,t);g.follow(e,(function(e,t,n){if(e)return o(e);o(null,n)}))},n.writeFile=function(e,t,o,r){if("function"==typeof o)return n.writeFile(e,t,null,o);"string"==typeof o&&(o={encoding:o}),o||(o={}),r||(r=p),Buffer.isBuffer(t)||(t=new Buffer(t,o.encoding||"utf-8"));var i=o.flags||"w";o.append="w"!==i[0],g.follow(e,(function(e,n,a){if(e&&"ENOENT"!==e.code)return r(e);if(n&&n.isDirectory())return r(c.EISDIR(a));if(n&&"x"===i[1])return r(c.EEXIST(a));var s=n&&n.blob||a;g.writable(a,(function(e){if(e)return r(e);f.write(s,t,o,(function(e){if(e)return r(e);g.put(a,{ctime:n&&n.ctime,mtime:new Date,mode:o.mode||u(666),type:"file"},_.cb(a,r))}))}))}))},n.appendFile=function(e,t,o,r){if("function"==typeof o)return n.appendFile(e,t,null,o);"string"==typeof o&&(o={encoding:o}),o||(o={}),o.flags="a",n.writeFile(e,t,o,r)},n.unlink=function(e,t){t||(t=p),g.get(e,(function(e,n,o){if(e)return t(e);if(n.isDirectory())return t(c.EISDIR(o));var r=function(e){a(m,{start:e+"ÿ",end:e+"ÿÿ"},(function(n){if(n)return f.remove(e,t);t()}))};g.del(o,_.cb(o,(function(e){return e?t(e):n.link?(i=n.link.slice(0,n.link.indexOf("ÿ")),void m.del(n.link,(function(e){if(e)return t(e);r(i)}))):void m.del(o+"ÿ",(function(e){if(e)return t(e);r(o)}));var i})))}))},n.readFile=function(e,t,o){if("function"==typeof t)return n.readFile(e,null,t);"string"==typeof t&&(t={encoding:t}),t||(t={}),t.encoding,t.flag,g.follow(e,(function(e,n,r){if(e)return o(e);if(n.isDirectory())return o(c.EISDIR(r));var i=n&&n.blob||r;f.read(i,(function(e,n){if(e)return o(e);o(null,t.encoding?n.toString(t.encoding):n)}))}))},n.createReadStream=function(e,t){t||(t={});var n=!1,r=o.readable((function(o){g.follow(e,(function(e,i,a){if(e)return o(e);if(i.isDirectory())return o(c.EISDIR(a));var s=i&&i.blob||a,u=f.createReadStream(s,t);r.emit("open"),u.on("end",(function(){process.nextTick((function(){n||r.emit("close")}))})),o(null,u)}))}));return r.on("close",(function(){n=!0})),r},n.createWriteStream=function(e,t){t||(t={});var n=t.flags||"w",r=!1,i=t.mode||u(666);t.append="a"===n[0];var a=o.writable((function(o){g.follow(e,(function(e,s,u){if(e&&"ENOENT"!==e.code)return o(e);if(s&&s.isDirectory())return o(c.EISDIR(u));if(s&&"x"===n[1])return o(c.EEXIST(u));var l=s&&s.blob||u;g.writable(l,(function(e){if(e)return o(e);var n={ctime:s?s.ctime:new Date,mtime:new Date,mode:i,type:"file"};g.put(u,n,(function(e){if(e)return o(e);var i=f.createWriteStream(l,t);a.emit("open"),i.on("finish",(function(){n.mtime=new Date,g.put(u,n,(function(){_.change(u),r||a.emit("close")}))})),o(null,i)}))}))}))}));return a.on("close",(function(){r=!0})),a},n.truncate=function(e,t,n){g.follow(e,(function(e,o,r){if(e)return n(e);var i=o&&o.blob||r;f.size(i,(function(e,o){if(e)return n(e);g.writable(r,(function(e){if(e)return n(e);if(n=s(_.cb(r,n)),!t)return f.remove(i,n);var a=f.createWriteStream(i,{start:o{var o=n(26470),r=n(30778),i=n(36890),a=n(39530),s=n(86705),u=n(78779),c=n(2950),l=s({type:"directory",mode:a(777),size:4096}),d=function(e){return e="/"===e[0]?e:"/"+e,"/"===(e=o.normalize(e))?e:"/"===e[e.length-1]?e.slice(0,-1):e},h=function(e){var t=e.split("/").length.toString(36);return"0000000000".slice(t.length)+t+e};e.exports=function(e){var t={};return t.normalize=d,t.get=function(t,n){if("/"===(t=d(t)))return process.nextTick(n.bind(null,null,l,"/"));e.get(h(t),{valueEncoding:"json"},(function(e,o){return e&&e.notFound?n(c.ENOENT(t),null,t):e?n(e,null,t):void n(null,s(o),t)}))},t.writable=function(e,n){if("/"===(e=d(e)))return process.nextTick(n.bind(null,c.EPERM(e)));t.follow(o.dirname(e),(function(t,o){return t?n(t):o.isDirectory()?void n(null,e):n(c.ENOTDIR(e))}))},t.list=function(t,n){t=d(t);var o=h("/"===t?t:t+"/"),a=e.createKeyStream({start:o,end:o+"ÿ"});n=r(n),a.on("error",n),a.pipe(i({encoding:"object"},(function(e){e=e.map((function(e){return e.split("/").pop()})),n(null,e)})))},t.follow=function(e,n){!function(e,n){var r="/",i=e.split("/").slice(1),a=function(){t.get(o.join(r,i.shift()),(function(t,o,s){return t?n(t,o,e):(r=o.target||s,i.length?void a():n(null,o,s))}))};a()}(d(e),(function e(o,r,i){return o?n(o,null,i):r.target?t.get(r.target,e):void n(null,s(r),i)}))},t.update=function(e,n,o){t.get(e,(function(e,r,i){return e?o(e):"/"===i?o(c.EPERM(i)):void t.put(i,u(r,n),o)}))},t.put=function(n,o,r){t.writable(n,(function(t,n){if(t)return r(t);e.put(h(n),s(o),{valueEncoding:"json"},r)}))},t.del=function(t,n){if("/"===(t=d(t)))return process.nextTick(n.bind(null,c.EPERM(t)));e.del(h(t),n)},t}},86705:e=>{var t=function(e){return e?"string"==typeof e?new Date(e):e:new Date},n=function(e){this.uid=e.uid||0,this.gid=e.gid||0,this.mode=e.mode||0,this.size=e.size||0,this.mtime=t(e.mtime),this.atime=t(e.atime),this.ctime=t(e.ctime),this.type=e.type,this.target=e.target,this.link=e.link,this.blob=e.blob};n.prototype.isDirectory=function(){return"directory"===this.type},n.prototype.isFile=function(){return"file"===this.type},n.prototype.isBlockDevice=function(){return!1},n.prototype.isCharacterDevice=function(){return!1},n.prototype.isSymbolicLink=function(){return"symlink"===this.type},n.prototype.isFIFO=function(){return!1},n.prototype.isSocket=function(){return!1},e.exports=function(e){return new n(e)}},36975:(e,t,n)=>{var o=n(17187);e.exports=function(){var e={},t=new o.EventEmitter;return t.watch=function(t,n){return e[t]||(e[t]=new o.EventEmitter,e[t].setMaxListeners(0)),n&&e[t].on("change",n),e[t]},t.watcher=function(e,n){var r=new o.EventEmitter,i=function(){r.emit("change","change",e)};return t.watch(e,i),n&&r.on("change",n),r.close=function(){t.unwatch(e,i)},r},t.unwatch=function(t,n){e[t]&&(n?e[t].removeListener("change",n):e[t].removeAllListeners("change"),e[t].listeners("change").length||delete e[t])},t.change=function(n){e[n]&&e[n].emit("change"),t.emit("change",n)},t.cb=function(e,n){return function(o,r){e&&t.change(e),n&&n(o,r)}},t}},80767:e=>{e.exports=function(e){var t=e.reverse,n=e.end,o=e.start,r=[o,n];return null!=o&&null!=n&&r.sort(),t&&(r=r.reverse()),e.start=r[0],e.end=r[1],e}},11798:(e,t,n)=>{var o=n(21889);e.exports=function(e){if(!e.hooks){var t=[],n=[];e.hooks={post:function(e,n){n||(n=e,e="");var r={test:o.checker(e),hook:n};return t.push(r),u(t,r)},pre:function(e,t){t||(t=e,e="");var r={test:o.checker(e),hook:t,safe:!1!==e.safe};return n.push(r),u(n,r)},posthooks:t,prehooks:n},e.on("put",(function(e,t){c({type:"put",key:e,value:t})})),e.on("del",(function(e,t){c({type:"del",key:e,value:t})})),e.on("batch",(function(e){e.forEach(c)}));var r=e.put,i=e.del,a=e.batch;e.put=function(e,t,n,o){return l(!1,[{key:e,value:t,type:"put"}],n,o)},e.del=function(e,t,n){return l(!1,[{key:e,type:"del"}],t,n)},e.batch=function(e,t,n){return l(!0,e,t,n)}}function s(e){return e&&("string"==typeof e?e:"string"==typeof e.prefix?e.prefix:"function"==typeof e.prefix?e.prefix():"")}function u(e,t){return function(){var n=e.indexOf(t);return!!~n&&(e.splice(n,1),!0)}}function c(e){e&&e.type&&t.forEach((function(t){t.test(e.key)&&t.hook(e)}))}function l(t,o,u,c){try{o.forEach((function e(t,r){n.forEach((function(n){if(n.test(String(t.key))){var i={add:function(t,i){if(void 0===t)return this;if(!1===t)return delete o[r];var a=s(t.prefix)||s(i)||n.prefix||"";if(a&&(t.prefix=a),t.key=a+t.key,n.safe&&n.test(String(t.key)))throw new Error("prehook cannot insert into own range");var u=t.keyEncoding||function(e){if(e&&e._getKeyEncoding)return e._getKeyEncoding(e)}(t.prefix),c=t.valueEncoding||function(e){if(e&&e._getValueEncoding)return e._getValueEncoding(e)}(t.prefix);return u&&(t.keyEncoding=u),c&&(t.valueEncoding=c),o.push(t),e(t,o.length-1),this},put:function(e,t){return"object"==typeof e&&(e.type="put"),this.add(e,t)},del:function(e,t){return"object"==typeof e&&(e.type="del"),this.add(e,t)},veto:function(){return this.add(!1)}};n.hook.call(i,t,i.add,o)}}))}))}catch(e){return(c||u)(e)}if(1==(o=o.filter((function(e){return e&&e.type}))).length&&!t){var l=o[0];return"put"==l.type?r.call(e,l.key,l.value,u,c):i.call(e,l.key,u,c)}return a.call(e,o,u,c)}}},99558:(e,t,n)=>{e.exports=l;var o=n(89043),r=n(32554).NI,i=n(89539),a=n(43016),s=n(35086),u=n(86093),c=n(65054);function l(e){if(!(this instanceof l))return new l(e);if(!e)throw new Error("constructor requires at least a location argument");this.IDBOptions={},this.location=e}i.inherits(l,r),l.prototype._open=function(e,t){var n=this,r={storeName:this.location,autoIncrement:!1,keyPath:null,onStoreReady:function(){t&&t(null,n.idb)},onError:function(e){t&&t(e)}};u(r,e),this.IDBOptions=r,this.idb=new o(r)},l.prototype._get=function(e,t,n){this.idb.get(e,(function(o){if(void 0===o)return n(new Error("NotFound"));var r=!0;return!1===t.asBuffer&&(r=!1),t.raw&&(r=!1),r&&(o=o instanceof Uint8Array?c(o):new Buffer(String(o))),n(null,o,e)}),n)},l.prototype._del=function(e,t,n){this.idb.remove(e,n,n)},l.prototype._put=function(e,t,n,o){t instanceof ArrayBuffer&&(t=c(new Uint8Array(t)));var r=this.convertEncoding(e,t,n);Buffer.isBuffer(r.value)&&("function"==typeof t.toArrayBuffer?r.value=new Uint8Array(t.toArrayBuffer()):r.value=new Uint8Array(t)),this.idb.put(r.key,r.value,(function(){o()}),o)},l.prototype.convertEncoding=function(e,t,n){if(n.raw)return{key:e,value:t};if(t){var o=t.toString();"NaN"===o&&(t="NaN")}var r=n.valueEncoding,i={key:e,value:t};return!t||r&&"binary"===r||"object"!=typeof i.value&&(i.value=o),i},l.prototype.iterator=function(e){return"object"!=typeof e&&(e={}),new a(this.idb,e)},l.prototype._batch=function(e,t,n){var o,r,i,a,s=[];if(0===e.length)return setTimeout(n,0);for(o=0;o{var o=n(89539),r=n(32554).YI,i=n(82303);function a(e,t){t||(t={}),this.options=t,r.call(this,e),this._order=t.reverse?"DESC":"ASC",this._limit=t.limit,this._count=0,this._done=!1;var n=i.lowerBound(t),o=i.upperBound(t);try{this._keyRange=n||o?this.db.makeKeyRange({lower:n,upper:o,excludeLower:i.lowerBoundExclusive(t),excludeUpper:i.upperBoundExclusive(t)}):null}catch(e){this._keyRangeError=!0}this.callback=null}e.exports=a,o.inherits(a,r),a.prototype.createIterator=function(){var e=this;e.iterator=e.db.iterate((function(){e.onItem.apply(e,arguments)}),{keyRange:e._keyRange,autoContinue:!1,order:e._order,onError:function(e){console.log("horrible error",e)}})},a.prototype.onItem=function(e,t,n){if(!t&&this.callback)return this.callback(),void(this.callback=!1);var o=!0;this._limit&&this._limit>0&&this._count++>=this._limit&&(o=!1),o&&this.callback(!1,t.key,t.value),t&&t.continue()},a.prototype._next=function(e){return e?this._keyRangeError?e():(this._started||(this.createIterator(),this._started=!0),void(this.callback=e)):new Error("next() requires a callback argument")}},3732:e=>{var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,o=function(e){var t="function"==typeof e&&!(e instanceof RegExp)||"[object Function]"===n.call(e);return t||"undefined"==typeof window||(t=e===window.setTimeout||e===window.alert||e===window.confirm||e===window.prompt),t};e.exports=function(e,n){if(!o(n))throw new TypeError("iterator must be a function");var r,i,a="string"==typeof e,s=e.length,u=arguments.length>2?arguments[2]:null;if(s===+s)for(r=0;r{e.exports=Object.keys||n(23533)},70426:e=>{var t=Object.prototype.toString;e.exports=function(e){var n=t.call(e),o="[object Arguments]"===n;return o||(o="[object Array]"!==n&&null!==e&&"object"==typeof e&&"number"==typeof e.length&&e.length>=0&&"[object Function]"===t.call(e.callee)),o}},23533:(e,t,n)=>{!function(){"use strict";var t,o=Object.prototype.hasOwnProperty,r=Object.prototype.toString,i=n(3732),a=n(70426),s=!{toString:null}.propertyIsEnumerable("toString"),u=function(){}.propertyIsEnumerable("prototype"),c=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"];t=function(e){var t=null!==e&&"object"==typeof e,n="[object Function]"===r.call(e),l=a(e),d=[];if(!t&&!n&&!l)throw new TypeError("Object.keys called on a non-object");if(l)i(e,(function(e){d.push(e)}));else{var h,p=u&&n;for(h in e)p&&"prototype"===h||!o.call(e,h)||d.push(h)}if(s){var f=e.constructor,g=f&&f.prototype===e;i(c,(function(t){g&&"constructor"===t||!o.call(e,t)||d.push(t)}))}return d},e.exports=t}()},14992:e=>{e.exports=function(e){return null!==e&&("object"==typeof e||"function"==typeof e)}},86093:(e,t,n)=>{var o=n(59693),r=n(14992);e.exports=function(){for(var e={},t=0;t{var o=n(80767);function r(e,t,n){var o,r,i;t.limit=t.reverse?2:1,o=e.createReadStream(t),r=function(e,o){if(t.reverse&&o&&t.start&&o.key.toString()>t.start)return!1;"error"==e?n(o):"end"==e?n(new Error("range not found"),null,null):n(null,o.key,o.value)},i=[],["data","error","end"].forEach((function(e){function t(t){!1!==r(e,t)&&i.forEach((function(e){e()}))}o.on(e,t),i.push((function(){o.removeListener(e,t)}))}))}(t=e.exports=r).first=function(e,t,n){return n||(n=t,t={}),t.reverse=!1,r(e,o(t),n)},t.last=function(e,t,n){return n||(n=t,t={}),t.start,t.reverse=!0,r(e,o(t),(function(o,i,a){if(o){var s=t.start;t.start=null,r(e,t,(function(e,r,i){if(!r)return n(o,null,null);var a=r.toString();a<=s&&(!t.end||a>=t.end)?n(e,r,i):n(o,null,null)}))}else n(o,i,a)}))}},76338:e=>{function t(e,t,n,o){var r={type:e,key:t,value:n,options:o};return o&&o.prefix&&(r.prefix=o.prefix,delete o.prefix),this._operations.push(r),this}function n(e){this._operations=[],this._sdb=e,this.put=t.bind(this,"put"),this.del=t.bind(this,"del")}var o=n.prototype;o.clear=function(){this._operations=[]},o.write=function(e){this._sdb.batch(this._operations,e)},e.exports=n},98673:(e,t,n)=>{n(17187).EventEmitter,process.nextTick;var o=n(97202),r=n(76338),i=n(97780),a=n(11798);e.exports=function(e,t){function n(){}n.prototype=e;var s=new n;if(s.sublevel)return s;var u=(t=t||{}).sep=t.sep||"ÿ";function c(e){return function(t){return(t=i(t=t||{})).reverse?t.start=t.start||u:t.end=t.end||u,e.call(s,t)}}s._options=t,a(s),s.sublevels={},s.sublevel=function(e,t){return s.sublevels[e]?s.sublevels[e]:new o(s,e,t||this._options)},s.methods={},s.prefix=function(e){return""+(e||"")},s.pre=function(e,t){return t||(t=e,e={max:u}),s.hooks.pre(e,t)},s.post=function(e,t){return t||(t=e,e={max:u}),s.hooks.post(e,t)},s.readStream=s.createReadStream=c(s.createReadStream),s.keyStream=s.createKeyStream=c(s.createKeyStream),s.valuesStream=s.createValueStream=c(s.createValueStream);var l=s.batch;return s.batch=function(e,t,n){if(!Array.isArray(e))return new r(s);e.forEach((function(e){e.prefix&&("function"==typeof e.prefix.prefix?e.key=e.prefix.prefix(e.key):"string"==typeof e.prefix&&(e.key=e.prefix+e.key))})),l.call(s,e,t,n)},s}},97780:(e,t,n)=>{var o=n(16313);e.exports=function(e){var t=(e=o(e)).reverse,n=e.max||e.end,r=e.min||e.start,i=[r,n];return null!=r&&null!=n&&i.sort(),t&&(i=i.reverse()),e.start=i[0],e.end=i[1],delete e.min,delete e.max,e}},11012:(e,t,n)=>{e.exports=Object.keys||n(44784)},44784:(e,t,n)=>{!function(){"use strict";var t,o=Object.prototype.hasOwnProperty,r=n(65452),i=n(49804),a=!{toString:null}.propertyIsEnumerable("toString"),s=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"];t=function(e){if(!r.object(e)&&!r.array(e))throw new TypeError("Object.keys called on a non-object");var t,n=[];for(t in e)o.call(e,t)&&n.push(t);return a&&i(s,(function(t){o.call(e,t)&&n.push(t)})),n},e.exports=t}()},83312:e=>{e.exports=function(e){return null!==e&&("object"==typeof e||"function"==typeof e)}},71686:(e,t,n)=>{var o=n(11012),r=n(83312);e.exports=function(){for(var e={},t=0;t{var o=n(17187).EventEmitter,r=n(89539).inherits,i=n(21889),a=n(97780),s=n(71686),u=n(76338);function c(e,t,n){if("string"==typeof n&&(console.error("db.sublevel(name, seperator) is depreciated"),console.error("use db.sublevel(name, {sep: separator})) if you must"),n={sep:n}),!(this instanceof c))return new c(e,t,n);if(!e)throw new Error("must provide db");if(!t)throw new Error("must provide prefix");(n=n||{}).sep=n.sep||"ÿ",this._parent=e,this._options=n,this.options=n,this._prefix=t,this._root=d(this),e.sublevels[t]=this,this.sublevels={},this.methods={};var o=this;this.hooks={pre:function(){return o.pre.apply(o,arguments)},post:function(){return o.post.apply(o,arguments)}}}r(c,o);var l=c.prototype;function d(e){return e._parent?d(e._parent):e}l._key=function(e){var t=this._options.sep;return t+this._prefix+t+e},l._getOptsAndCb=function(e,t){return"function"==typeof e&&(t=e,e={}),{opts:s(e,this._options),cb:t}},l.sublevel=function(e,t){return this.sublevels[e]?this.sublevels[e]:new c(this,e,t||this._options)},l.put=function(e,t,n,o){var r=this._getOptsAndCb(n,o);this._root.put(this.prefix(e),t,r.opts,r.cb)},l.get=function(e,t,n){var o=this._getOptsAndCb(t,n);this._root.get(this.prefix(e),o.opts,o.cb)},l.del=function(e,t,n){var o=this._getOptsAndCb(t,n);this._root.del(this.prefix(e),o.opts,o.cb)},l.batch=function(e,t,n){if(!Array.isArray(e))return new u(this);var o=this,r=this._getOptsAndCb(t,n);e.forEach((function(e){"string"==typeof e.prefix?e.key=e.prefix+e.key:e.key=(e.prefix||o).prefix(e.key),e.prefix&&(e.prefix=null)})),this._root.batch(e,r.opts,r.cb)},l._getKeyEncoding=function(){return this.options.keyEncoding?this.options.keyEncoding:this._parent&&this._parent._getKeyEncoding?this._parent._getKeyEncoding():void 0},l._getValueEncoding=function(){return this.options.valueEncoding?this.options.valueEncoding:this._parent&&this._parent._getValueEncoding?this._parent._getValueEncoding():void 0},l.prefix=function(e){var t=this._options.sep;return this._parent.prefix()+t+this._prefix+t+(e||"")},l.keyStream=l.createKeyStream=function(e){return(e=e||{}).keys=!0,e.values=!1,this.createReadStream(e)},l.valueStream=l.createValueStream=function(e){return(e=e||{}).keys=!1,e.values=!0,e.keys=!1,this.createReadStream(e)},l.readStream=l.createReadStream=function(e){e=e||{};var t=d(this),n=this.prefix(),o=i.prefix(e,n);!function(e,t){["valueEncoding","encoding","keyEncoding","reverse","values","keys","limit","fillCache"].forEach((function(n){t.hasOwnProperty(n)&&(e[n]=t[n])}))}(o,s(e,this._options));var r=t.createReadStream(o);if(!1===o.values){var a;if(a=r.read)r.read=function(e){var t=a.call(this,e);return t&&(t=t.substring(n.length)),t};else{var u=r.emit;r.emit=function(e,t){"data"===e?u.call(this,"data",t.substring(n.length)):u.call(this,e,t)}}return r}return!1===o.keys||((a=r.read)?r.read=function(e){var t=a.call(this,e);return t&&(t.key=t.key.substring(n.length)),t}:r.on("data",(function(e){e.key=e.key.substring(n.length)}))),r},l.writeStream=l.createWriteStream=function(){var e=d(this),t=this.prefix(),n=e.createWriteStream.apply(e,arguments),o=n.write,r=this._options.encoding,i=this._options.valueEncoding,a=this._options.keyEncoding,s=!r&&!i&&!a;return n.write=s?function(e){return e.key=t+e.key,o.call(n,e)}:function(e){return e.key=t+e.key,r&&void 0===e.encoding&&(e.encoding=r),i&&void 0===e.valueEncoding&&(e.valueEncoding=i),a&&void 0===e.keyEncoding&&(e.keyEncoding=a),o.call(n,e)},n},l.approximateSize=function(){var e=d(db);return e.approximateSize.apply(e,arguments)},l.pre=function(e,t){t||(t=e,e=null),e=i.prefix(e,this.prefix(),this._options.sep);var n=d(this._parent),o=this.prefix();return n.hooks.pre(a(e),(function(e,n,r){t({key:e.key.substring(o.length),value:e.value,type:e.type},(function(e,t){n(e,e.prefix?t:t||o)}),r)}))},l.post=function(e,t){t||(t=e,e=null);var n=d(this._parent),o=this.prefix();return e=i.prefix(e,o,this._options.sep),n.hooks.post(a(e),(function(e){t({key:e.key.substring(o.length),value:e.value,type:e.type})}))},e.exports=c},48133:(e,t,n)=>{var o=n(63368),r=n(86667).WriteError,i=o.getOptions,a=o.dispatchError;function s(e){this._levelup=e,this.batch=e.db.batch(),this.ops=[]}s.prototype.put=function(e,t,n){n=i(this._levelup,n);var a=o.encodeKey(e,n),s=o.encodeValue(t,n);try{this.batch.put(a,s)}catch(e){throw new r(e)}return this.ops.push({type:"put",key:a,value:s}),this},s.prototype.del=function(e,t){t=i(this._levelup,t);var n=o.encodeKey(e,t);try{this.batch.del(n)}catch(e){throw new r(e)}return this.ops.push({type:"del",key:n}),this},s.prototype.clear=function(){try{this.batch.clear()}catch(e){throw new r(e)}return this.ops=[],this},s.prototype.write=function(e){var t=this._levelup,n=this.ops;try{this.batch.write((function(o){if(o)return a(t,new r(o),e);t.emit("batch",n),e&&e()}))}catch(e){throw new r(e)}},e.exports=s},86667:(e,t,n)=>{var o=n(47138).create,r=o("LevelUPError"),i=o("NotFoundError",r);i.prototype.notFound=!0,i.prototype.status=404,e.exports={LevelUPError:r,InitializationError:o("InitializationError",r),OpenError:o("OpenError",r),ReadError:o("ReadError",r),WriteError:o("WriteError",r),NotFoundError:i,EncodingError:o("EncodingError",r)}},34918:(e,t,n)=>{var o=n(17187).EventEmitter,r=n(89539).inherits,i=n(47357),a=n(30115),s=n(66944),u=n(86667).WriteError,c=n(86667).ReadError,l=n(86667).NotFoundError,d=n(86667).OpenError,h=n(86667).EncodingError,p=n(86667).InitializationError,f=n(83209),g=n(53028),m=n(63368),_=n(48133),F=m.getOptions,y=m.defaultOptions,b=m.getLevelDOWN,v=m.dispatchError;function w(e,t){return"function"==typeof e?e:t}function E(e,t,n){if(!(this instanceof E))return new E(e,t,n);var r;if(o.call(this),this.setMaxListeners(1/0),"function"==typeof e?((t="object"==typeof t?t:{}).db=e,e=null):"object"==typeof e&&"function"==typeof e.db&&(t=e,e=null),"function"==typeof t&&(n=t,t={}),(!t||"function"!=typeof t.db)&&"string"!=typeof e){if(r=new p("Must provide a location for the database"),n)return process.nextTick((function(){n(r)}));throw r}t=F(this,t),this.options=i(y,t),this._status="new",a(this,"location",e,"e"),this.open(n)}function k(e){return function(t,n){b()[e](t,n||function(){})}}r(E,o),E.prototype.open=function(e){var t,n,o=this;return this.isOpen()?(e&&process.nextTick((function(){e(null,o)})),this):this._isOpening()?e&&this.once("open",(function(){e(null,o)})):(this.emit("opening"),this._status="opening",this.db=new s(this.location),t=this.options.db||b(),void(n=t(this.location)).open(this.options,(function(t){if(t)return v(o,new d(t),e);o.db.setDb(n),o.db=n,o._status="open",e&&e(null,o),o.emit("open"),o.emit("ready")})))},E.prototype.close=function(e){var t=this;if(this.isOpen())this._status="closing",this.db.close((function(){t._status="closed",t.emit("closed"),e&&e.apply(null,arguments)})),this.emit("closing"),this.db=null;else{if("closed"==this._status&&e)return process.nextTick(e);"closing"==this._status&&e?this.once("closed",e):this._isOpening()&&this.once("open",(function(){t.close(e)}))}},E.prototype.isOpen=function(){return"open"==this._status},E.prototype._isOpening=function(){return"opening"==this._status},E.prototype.isClosed=function(){return/^clos/.test(this._status)},E.prototype.get=function(e,t,n){var o,r=this;return"function"!=typeof(n=w(t,n))?v(this,new c("get() requires key and callback arguments")):this._isOpening()||this.isOpen()?(t=m.getOptions(this,t),o=m.encodeKey(e,t),t.asBuffer=m.isValueAsBuffer(t),void this.db.get(o,t,(function(o,i){if(o)return o=/notfound/i.test(o)?new l("Key not found in database ["+e+"]",o):new c(o),v(r,o,n);if(n){try{i=m.decodeValue(i,t)}catch(e){return n(new h(e))}n(null,i)}}))):v(this,new c("Database is not open"),n)},E.prototype.put=function(e,t,n,o){var r,i,a=this;return o=w(n,o),null==e||null==t?v(this,new u("put() requires key and value arguments"),o):this._isOpening()||this.isOpen()?(n=F(this,n),r=m.encodeKey(e,n),i=m.encodeValue(t,n),void this.db.put(r,i,n,(function(n){if(n)return v(a,new u(n),o);a.emit("put",e,t),o&&o()}))):v(this,new u("Database is not open"),o)},E.prototype.del=function(e,t,n){var o,r=this;return n=w(t,n),null==e?v(this,new u("del() requires a key argument"),n):this._isOpening()||this.isOpen()?(t=F(this,t),o=m.encodeKey(e,t),void this.db.del(o,t,(function(t){if(t)return v(r,new u(t),n);r.emit("del",e),n&&n()}))):v(this,new u("Database is not open"),n)},E.prototype.batch=function(e,t,n){var o,r,i,a=this;return arguments.length?(n=w(t,n),Array.isArray(e)?this._isOpening()||this.isOpen()?(t=F(this,t),o=t.keyEncoding,r=t.valueEncoding,i=e.map((function(e){if(void 0===e.type||void 0===e.key)return{};var n,i=e.keyEncoding||o,a=e.valueEncoding||e.encoding||r;return"utf8"!=i&&"binary"!=i||"utf8"!=a&&"binary"!=a?(n={type:e.type,key:m.encodeKey(e.key,t,e)},void 0!==e.value&&(n.value=m.encodeValue(e.value,t,e)),n):e})),void this.db.batch(i,t,(function(t){if(t)return v(a,new u(t),n);a.emit("batch",e),n&&n()}))):v(this,new u("Database is not open"),n):v(this,new u("batch() requires an array argument"),n)):new _(this)},E.prototype.approximateSize=function(e,t,n){var o,r,i=this;return null==e||null==t||"function"!=typeof n?v(this,new c("approximateSize() requires start, end and callback arguments"),n):(o=m.encodeKey(e,this.options),r=m.encodeKey(t,this.options),this._isOpening()||this.isOpen()?void this.db.approximateSize(o,r,(function(e,t){if(e)return v(i,new d(e),n);n&&n(null,t)})):v(this,new u("Database is not open"),n))},E.prototype.readStream=E.prototype.createReadStream=function(e){var t=this;return e=i(this.options,e),new f(e,this,(function(e){return t.db.iterator(e)}))},E.prototype.keyStream=E.prototype.createKeyStream=function(e){return this.createReadStream(i(e,{keys:!0,values:!1}))},E.prototype.valueStream=E.prototype.createValueStream=function(e){return this.createReadStream(i(e,{keys:!1,values:!0}))},E.prototype.writeStream=E.prototype.createWriteStream=function(e){return new g(i(e),this)},E.prototype.toString=function(){return"LevelUP"},e.exports=E,e.exports.copy=m.copy,e.exports.destroy=k("destroy"),e.exports.repair=k("repair")},83209:(e,t,n)=>{var o=n(11892).Readable,r=n(89539).inherits,i=n(47357),a=n(86667).EncodingError,s=n(63368),u={keys:!0,values:!0},c=function(e,t){return{key:s.decodeKey(e,this._options),value:s.decodeValue(t,this._options)}},l=function(e){return s.decodeKey(e,this._options)},d=function(e,t){return s.decodeValue(t,this._options)},h=function(){return null};function p(e,t,n){if(!(this instanceof p))return new p(e,t,n);o.call(this,{objectMode:!0,highWaterMark:e.highWaterMark}),this._db=t,e=this._options=i(u,e),this._keyEncoding=e.keyEncoding||e.encoding,this._valueEncoding=e.valueEncoding||e.encoding,void 0!==this._options.start&&(this._options.start=s.encodeKey(this._options.start,this._options)),void 0!==this._options.end&&(this._options.end=s.encodeKey(this._options.end,this._options)),"number"!=typeof this._options.limit&&(this._options.limit=-1),this._options.keyAsBuffer=s.isKeyAsBuffer(this._options),this._options.valueAsBuffer=s.isValueAsBuffer(this._options),this._makeData=this._options.keys&&this._options.values?c:this._options.keys?l:this._options.values?d:h;var r=this;this._db.isOpen()?this._iterator=n(this._options):this._db.once("ready",(function(){r._destroyed||(r._iterator=n(r._options))}))}r(p,o),p.prototype._read=function e(){var t=this;if(!t._db.isOpen())return t._db.once("ready",(function(){e.call(t)}));t._destroyed||t._iterator.next((function(e,n,o){if(e||void 0===n&&void 0===o)return e||t._destroyed||t.push(null),t._cleanup(e);try{o=t._makeData(n,o)}catch(e){return t._cleanup(new a(e))}t._destroyed||t.push(o)}))},p.prototype._cleanup=function(e){if(!this._destroyed){this._destroyed=!0;var t=this;e&&t.emit("error",e),t._iterator?t._iterator.end((function(){t._iterator=null,t.emit("close")})):t.emit("close")}},p.prototype.destroy=function(){this._cleanup()},p.prototype.toString=function(){return"LevelUP.ReadStream"},e.exports=p},63368:(e,t,n)=>{var o,r,i=n(47357),a=n(86667).LevelUPError,s=["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le"],u={createIfMissing:!0,errorIfExists:!1,keyEncoding:"utf8",valueEncoding:"utf8",compression:!0},c=function(){function e(e){return null==e||Buffer.isBuffer(e)}var t={};return t.utf8=t["utf-8"]={encode:function(t){return e(t)?t:String(t)},decode:function(e){return e},buffer:!1,type:"utf8"},t.json={encode:JSON.stringify,decode:JSON.parse,buffer:!1,type:"json"},s.forEach((function(n){t[n]||(t[n]={encode:function(t){return e(t)?t:new Buffer(t,n)},decode:function(e){return process.browser?e.toString(n):e},buffer:!0,type:n})})),t}(),l=(r={},s.forEach((function(e){r[e]={valueEncoding:e}})),r);function d(e,t){var n=t&&t.keyEncoding||e.keyEncoding||"utf8";return c[n]||n}function h(e,t){var n=t&&(t.valueEncoding||t.encoding)||e.valueEncoding||e.encoding||"utf8";return c[n]||n}e.exports={defaultOptions:u,copy:function(e,t,n){e.readStream().pipe(t.writeStream()).on("close",n||function(){}).on("error",n||function(e){throw e})},getOptions:function(e,t){var n="string"==typeof t;return!n&&t&&t.encoding&&!t.valueEncoding&&(t.valueEncoding=t.encoding),i(e&&e.options||{},n?l[t]||l[u.valueEncoding]:t)},getLevelDOWN:function(){if(o)return o;var e,t=n(68232).v6.ct,r="Could not locate LevelDOWN, try `npm install leveldown`";try{e=n(94093).version}catch(e){throw new a(r)}if(!n(61695).satisfies(e,t))throw new a("Installed version of LevelDOWN ("+e+") does not match required version ("+t+")");try{return o=n(70131)}catch(e){throw new a(r)}},dispatchError:function(e,t,n){return"function"==typeof n?n(t):e.emit("error",t)},encodeKey:function(e,t,n){return d(t,n).encode(e)},encodeValue:function(e,t,n){return h(t,n).encode(e)},isValueAsBuffer:function(e,t){return h(e,t).buffer},isKeyAsBuffer:function(e,t){return d(e,t).buffer},decodeValue:function(e,t){return h(t).decode(e)},decodeKey:function(e,t){return d(t).decode(e)}}},53028:(e,t,n)=>{var o=n(42830).Stream,r=n(89539).inherits,i=n(47357),a=n(10022),s=n.g.setImmediate||process.nextTick,u=n(63368).getOptions,c={type:"put"};function l(e,t){if(!(this instanceof l))return new l(e,t);o.call(this),this._options=i(c,u(t,e)),this._db=t,this._buffer=[],this._status="init",this._end=!1,this.writable=!0,this.readable=!1;var n=this,r=function(){n.writable&&(n._status="ready",n.emit("ready"),n._process())};t.isOpen()?s(r):t.once("ready",r)}r(l,o),l.prototype.write=function(e){return!(!this.writable||(this._buffer.push(e),"init"!=this._status&&this._processDelayed(),this._options.maxBufferLength&&this._buffer.length>this._options.maxBufferLength&&(this._writeBlock=!0,1)))},l.prototype.end=function(e){var t=this;e&&this.write(e),s((function(){t._end=!0,t._process()}))},l.prototype.destroy=function(){this.writable=!1,this.end()},l.prototype.destroySoon=function(){this.end()},l.prototype.add=function(e){if(e.props)return e.props.Directory?e.pipe(this._db.writeStream(this._options)):(e.props.File||e.File||"File"==e.type)&&this._write(e),!0},l.prototype._processDelayed=function(){var e=this;s((function(){e._process()}))},l.prototype._process=function(){var e,t=this;if("ready"==t._status||!t.writable)return t._buffer.length&&t.writable?(t._status="writing",e=t._buffer,t._buffer=[],t._db.batch(e.map((function(e){return{type:e.type||t._options.type,key:e.key,value:e.value,keyEncoding:e.keyEncoding||t._options.keyEncoding,valueEncoding:e.valueEncoding||e.encoding||t._options.valueEncoding}})),(function(e){if(t.writable){if("closed"!=t._status&&(t._status="ready"),e)return t.writable=!1,t.emit("error",e);t._process()}})),void(t._writeBlock&&(t._writeBlock=!1,t.emit("drain")))):void(t._end&&"closed"!=t._status&&(t._status="closed",t.writable=!1,t.emit("close")));t._buffer.length&&"closed"!=t._status&&t._processDelayed()},l.prototype._write=function(e){var t=e.path||e.props.path,n=this;t&&e.pipe(a((function(e,o){if(e)return n.writable=!1,n.emit("error",e);n._options.fstreamRoot&&t.indexOf(n._options.fstreamRoot)>-1&&(t=t.substr(n._options.fstreamRoot.length+1)),n.write({key:t,value:o.slice(0)})})))},l.prototype.toString=function(){return"LevelUP.WriteStream"},e.exports=l},65238:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},30115:function(e){var t;t=function(){var e="function"==typeof Object.defineProperty?function(e,t,n){return Object.defineProperty(e,t,n),e}:function(e,t,n){return e[t]=n.value,e};return function(t,n,o,r){var i;if(r=function(e,t){var n="object"==typeof t,o=!n&&"string"==typeof t,r=function(e){return n?!!t[e]:!!o&&t.indexOf(e[0])>-1};return{enumerable:r("enumerable"),configurable:r("configurable"),writable:r("writable"),value:e}}(o,r),"object"==typeof n){for(i in n)Object.hasOwnProperty.call(n,i)&&(r.value=n[i],e(t,i,r));return t}return e(t,n,r)}},e.exports?e.exports=t():this.prr=t()},32422:(e,t,n)=>{e.exports=s;var o=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t},r=n(16497);r.inherits=n(35717);var i=n(66810),a=n(54160);function s(e){if(!(this instanceof s))return new s(e);i.call(this,e),a.call(this,e),e&&!1===e.readable&&(this.readable=!1),e&&!1===e.writable&&(this.writable=!1),this.allowHalfOpen=!0,e&&!1===e.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",u)}function u(){this.allowHalfOpen||this._writableState.ended||process.nextTick(this.end.bind(this))}r.inherits(s,i),function(e,t){for(var n=0,o=e.length;n{e.exports=i;var o=n(31036),r=n(16497);function i(e){if(!(this instanceof i))return new i(e);o.call(this,e)}r.inherits=n(35717),r.inherits(i,o),i.prototype._transform=function(e,t,n){n(null,e)}},66810:(e,t,n)=>{e.exports=l;var o=n(65238),r=n(48764).Buffer;l.ReadableState=c;var i=n(17187).EventEmitter;i.listenerCount||(i.listenerCount=function(e,t){return e.listeners(t).length});var a,s=n(42830),u=n(16497);function c(e,t){var o=(e=e||{}).highWaterMark;this.highWaterMark=o||0===o?o:16384,this.highWaterMark=~~this.highWaterMark,this.buffer=[],this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=!1,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.calledRead=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.objectMode=!!e.objectMode,this.defaultEncoding=e.defaultEncoding||"utf8",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(a||(a=n(45951).s),this.decoder=new a(e.encoding),this.encoding=e.encoding)}function l(e){if(!(this instanceof l))return new l(e);this._readableState=new c(e,this),this.readable=!0,s.call(this)}function d(e,t,n,o,i){var a=function(e,t){var n=null;return r.isBuffer(t)||"string"==typeof t||null==t||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk")),n}(t,n);if(a)e.emit("error",a);else if(null==n)t.reading=!1,t.ended||function(e,t){if(t.decoder&&!t.ended){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,t.length>0?f(e):b(e)}(e,t);else if(t.objectMode||n&&n.length>0)if(t.ended&&!i){var s=new Error("stream.push() after EOF");e.emit("error",s)}else t.endEmitted&&i?(s=new Error("stream.unshift() after end event"),e.emit("error",s)):(!t.decoder||i||o||(n=t.decoder.write(n)),t.length+=t.objectMode?1:n.length,i?t.buffer.unshift(n):(t.reading=!1,t.buffer.push(n)),t.needReadable&&f(e),function(e,t){t.readingMore||(t.readingMore=!0,process.nextTick((function(){!function(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.lengtht.highWaterMark&&(t.highWaterMark=function(e){if(e>=h)e=h;else{e--;for(var t=1;t<32;t<<=1)e|=e>>t;e++}return e}(e)),e>t.length?t.ended?t.length:(t.needReadable=!0,0):e)}function f(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,t.sync?process.nextTick((function(){g(e)})):g(e))}function g(e){e.emit("readable")}function m(e){var t,n=e._readableState;function o(e,o,r){!1===e.write(t)&&n.awaitDrain++}for(n.awaitDrain=0;n.pipesCount&&null!==(t=e.read());)if(1===n.pipesCount?o(n.pipes):v(n.pipes,o),e.emit("data",t),n.awaitDrain>0)return;if(0===n.pipesCount)return n.flowing=!1,void(i.listenerCount(e,"data")>0&&F(e));n.ranOut=!0}function _(){this._readableState.ranOut&&(this._readableState.ranOut=!1,m(this))}function F(e,t){if(e._readableState.flowing)throw new Error("Cannot switch to old mode now.");var n=t||!1,o=!1;e.readable=!0,e.pipe=s.prototype.pipe,e.on=e.addListener=s.prototype.on,e.on("readable",(function(){var t;for(o=!0;!n&&null!==(t=e.read());)e.emit("data",t);null===t&&(o=!1,e._readableState.needReadable=!0)})),e.pause=function(){n=!0,this.emit("pause")},e.resume=function(){n=!1,o?process.nextTick((function(){e.emit("readable")})):this.read(0),this.emit("resume")},e.emit("readable")}function y(e,t){var n,o=t.buffer,i=t.length,a=!!t.decoder,s=!!t.objectMode;if(0===o.length)return null;if(0===i)n=null;else if(s)n=o.shift();else if(!e||e>=i)n=a?o.join(""):r.concat(o,i),o.length=0;else if(e0)throw new Error("endReadable called on non-empty stream");!t.endEmitted&&t.calledRead&&(t.ended=!0,process.nextTick((function(){t.endEmitted||0!==t.length||(t.endEmitted=!0,e.readable=!1,e.emit("end"))})))}function v(e,t){for(var n=0,o=e.length;n0)&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return f(this),null;if(0===(e=p(e,t))&&t.ended)return n=null,t.length>0&&t.decoder&&(n=y(e,t),t.length-=n.length),0===t.length&&b(this),n;var r=t.needReadable;return t.length-e<=t.highWaterMark&&(r=!0),(t.ended||t.reading)&&(r=!1),r&&(t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1),r&&!t.reading&&(e=p(o,t)),null===(n=e>0?y(e,t):null)&&(t.needReadable=!0,e=0),t.length-=e,0!==t.length||t.ended||(t.needReadable=!0),t.ended&&!t.endEmitted&&0===t.length&&b(this),n},l.prototype._read=function(e){this.emit("error",new Error("not implemented"))},l.prototype.pipe=function(e,t){var n=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=e;break;case 1:r.pipes=[r.pipes,e];break;default:r.pipes.push(e)}r.pipesCount+=1;var a=t&&!1===t.end||e===process.stdout||e===process.stderr?l:u;function s(e){e===n&&l()}function u(){e.end()}r.endEmitted?process.nextTick(a):n.once("end",a),e.on("unpipe",s);var c=function(e){return function(){var t=e._readableState;t.awaitDrain--,0===t.awaitDrain&&m(e)}}(n);function l(){e.removeListener("close",h),e.removeListener("finish",p),e.removeListener("drain",c),e.removeListener("error",d),e.removeListener("unpipe",s),n.removeListener("end",u),n.removeListener("end",l),e._writableState&&!e._writableState.needDrain||c()}function d(t){f(),e.removeListener("error",d),0===i.listenerCount(e,"error")&&e.emit("error",t)}function h(){e.removeListener("finish",p),f()}function p(){e.removeListener("close",h),f()}function f(){n.unpipe(e)}return e.on("drain",c),e._events&&e._events.error?o(e._events.error)?e._events.error.unshift(d):e._events.error=[d,e._events.error]:e.on("error",d),e.once("close",h),e.once("finish",p),e.emit("pipe",n),r.flowing||(this.on("readable",_),r.flowing=!0,process.nextTick((function(){m(n)}))),e},l.prototype.unpipe=function(e){var t=this._readableState;if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,this.removeListener("readable",_),t.flowing=!1,e&&e.emit("unpipe",this)),this;if(!e){var n=t.pipes,o=t.pipesCount;t.pipes=null,t.pipesCount=0,this.removeListener("readable",_),t.flowing=!1;for(var r=0;r{e.exports=a;var o=n(32422),r=n(16497);function i(e,t){this.afterTransform=function(e,n){return function(e,t,n){var o=e._transformState;o.transforming=!1;var r=o.writecb;if(!r)return e.emit("error",new Error("no writecb in Transform class"));o.writechunk=null,o.writecb=null,null!=n&&e.push(n),r&&r(t);var i=e._readableState;i.reading=!1,(i.needReadable||i.length{e.exports=u;var o=n(48764).Buffer;u.WritableState=s;var r=n(16497);r.inherits=n(35717);var i=n(42830);function a(e,t,n){this.chunk=e,this.encoding=t,this.callback=n}function s(e,t){var n=(e=e||{}).highWaterMark;this.highWaterMark=n||0===n?n:16384,this.objectMode=!!e.objectMode,this.highWaterMark=~~this.highWaterMark,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1;var o=!1===e.decodeStrings;this.decodeStrings=!o,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var n=e._writableState,o=n.sync,r=n.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(n),t)!function(e,t,n,o,r){n?process.nextTick((function(){r(o)})):r(o),e._writableState.errorEmitted=!0,e.emit("error",o)}(e,0,o,t,r);else{var i=d(0,n);i||n.bufferProcessing||!n.buffer.length||function(e,t){t.bufferProcessing=!0;for(var n=0;n{var o=n(42830);(t=e.exports=n(66810)).Stream=o,t.Readable=t,t.Writable=n(54160),t.Duplex=n(32422),t.Transform=n(31036),t.PassThrough=n(78264),process.browser||"disable"!==process.env.READABLE_STREAM||(e.exports=n(42830))},45951:(e,t,n)=>{var o=n(48764).Buffer,r=o.isEncoding||function(e){switch(e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}},i=t.s=function(e){switch(this.encoding=(e||"utf8").toLowerCase().replace(/[-_]/,""),function(e){if(e&&!r(e))throw new Error("Unknown encoding: "+e)}(e),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=s;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=u;break;default:return void(this.write=a)}this.charBuffer=new o(6),this.charReceived=0,this.charLength=0};function a(e){return e.toString(this.encoding)}function s(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function u(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}i.prototype.write=function(e){for(var t="";this.charLength;){var n=e.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,n),this.charReceived+=n,this.charReceived=55296&&o<=56319)){if(this.charReceived=this.charLength=0,0===e.length)return t;break}this.charLength+=this.surrogateSize,t=""}this.detectIncompleteChar(e);var o,r=e.length;if(this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,r),r-=this.charReceived),r=(t+=e.toString(this.encoding,0,r)).length-1,(o=t.charCodeAt(r))>=55296&&o<=56319){var i=this.surrogateSize;return this.charLength+=i,this.charReceived+=i,this.charBuffer.copy(this.charBuffer,i,0,i),e.copy(this.charBuffer,0,0,i),t.substring(0,r)}return t},i.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var n=e[e.length-t];if(1==t&&n>>5==6){this.charLength=2;break}if(t<=2&&n>>4==14){this.charLength=3;break}if(t<=3&&n>>3==30){this.charLength=4;break}}this.charReceived=t},i.prototype.end=function(e){var t="";if(e&&e.length&&(t=this.write(e)),this.charReceived){var n=this.charReceived,o=this.charBuffer,r=this.encoding;t+=o.slice(0,n).toString(r)}return t}},47357:e=>{e.exports=function(){for(var e={},t=0;t{"use strict";e.exports=JSON.parse('{"v6":{"ct":"~0.10.0"}}')},58303:(e,t,n)=>{var o=n(31934);e.exports=function(e){var t=o(e,"line-height"),n=parseFloat(t,10);if(t===n+""){var r=e.style.lineHeight;e.style.lineHeight=t+"em",t=o(e,"line-height"),n=parseFloat(t,10),r?e.style.lineHeight=r:delete e.style.lineHeight}if(-1!==t.indexOf("pt")?(n*=4,n/=3):-1!==t.indexOf("mm")?(n*=96,n/=25.4):-1!==t.indexOf("cm")?(n*=96,n/=2.54):-1!==t.indexOf("in")?n*=96:-1!==t.indexOf("pc")&&(n*=16),n=Math.round(n),"normal"===t){var i=e.nodeName,a=document.createElement(i);a.innerHTML=" ","TEXTAREA"===i.toUpperCase()&&a.setAttribute("rows","1");var s=o(e,"font-size");a.style.fontSize=s,a.style.padding="0px",a.style.border="0px";var u=document.body;u.appendChild(a),n=a.offsetHeight,u.removeChild(a)}return n}},87100:(e,t,n)=>{"use strict";var o=n(67294),r=n(8425);function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,o=new Array(t);n2&&void 0!==arguments[2]?arguments[2]:0;if(0===o.Children.count(e.props.children))return e;var r=[];o.Children.forEach(e.props.children,(function(e){"string"==typeof e?(n+=1,r.push.apply(r,l(p(e,t)))):o.isValidElement(e)?"string"==typeof e.type&&t.ignoreTags.indexOf(e.type.toUpperCase())>=0?r.push(e):r.push(f(e,t,++n)):r.push(e)}));var i={key:"linkified-element-".concat(n)};for(var a in e.props)i[a]=e.props[a];return o.cloneElement(e,i,r)}var g=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&u(e,t)}(p,e);var t,n,r,l,d=(r=p,l=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=s(r);if(l){var n=s(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return c(this,e)});function p(){return i(this,p),d.apply(this,arguments)}return t=p,(n=[{key:"render",value:function(){var e={key:"linkified-element-0"};for(var t in this.props)"options"!==t&&"tagName"!==t&&(e[t]=this.props[t]);var n=new h(this.props.options),r=this.props.tagName||"span";return f(o.createElement(r,e),n,0)}}])&&a(t.prototype,n),p}(o.Component);e.exports=g},8425:(e,t)=>{"use strict";function n(e){this.j={},this.jr=[],this.jd=null,this.t=e}Object.defineProperty(t,"__esModule",{value:!0}),n.prototype={accepts:function(){return!!this.t},tt:function(e,t){if(t&&t.j)return this.j[e]=t,t;var n=t,r=this.j[e];if(r)return n&&(r.t=n),r;r=o();var i=s(this,e);return i?(Object.assign(r.j,i.j),r.jr.append(i.jr),r.jr=i.jd,r.t=n||i.t):r.t=n,this.j[e]=r,r}};var o=function(){return new n},r=function(e){return new n(e)},i=function(e,t,n){e.j[t]||(e.j[t]=n)},a=function(e,t,n){e.jr.push([t,n])},s=function(e,t){var n=e.j[t];if(n)return n;for(var o=0;o=s)return[];for(;a0&&void 0!==arguments[0]?arguments[0]:[],t=o(),n=r(y),s=r(d),P=o(),G=r(x),$=[[z,s],[j,s],[q,s]],H=function(){var e=r(d);return e.j={"-":P},e.jr=[].concat($),e},V=function(e){var t=H();return t.t=e,t};c(t,[["@",r(f)],[".",r(m)],["+",r(b)],["#",r(v)],["?",r(w)],["/",r(E)],["_",r(k)],[":",r(g)],["{",r(C)],["[",r(A)],["<",r(T)],["(",r(R)],["}",r(I)],["]",r(M)],[">",r(O)],[")",r(B)],["&",r(N)]]),u(t,[",",";","!",'"',"'"],r(_)),i(t,"\n",r(F)),a(t,K,G),i(G,"\n",o()),a(G,K,G);for(var W=0;W2&&void 0!==arguments[2]?arguments[2]:{},o=Object.create(e.prototype);for(var r in n)o[r]=n[r];o.constructor=t,t.prototype=o}(Z,n,t),n}Z.prototype={t:"token",isLink:!1,toString:function(){return this.v},toHref:function(){return this.toString()},startIndex:function(){return this.tk[0].s},endIndex:function(){return this.tk[this.tk.length-1].e},toObject:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:H.defaultProtocol;return{type:this.t,value:this.v,isLink:this.isLink,href:this.toHref(e),start:this.startIndex(),end:this.endIndex()}}};var J=X("email",{isLink:!0}),Q=X("email",{isLink:!0,toHref:function(){return"mailto:"+this.toString()}}),ee=X("text"),te=X("nl"),ne=X("url",{isLink:!0,toHref:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:H.defaultProtocol,t=this.tk,n=!1,o=!1,r=[],i=0;t[i].t===D;)n=!0,r.push(t[i].v),i++;for(;t[i].t===E;)o=!0,r.push(t[i].v),i++;for(;i=0&&p++,r++,d++;if(p<0)for(var f=r-d;f0&&(i.push(ie(ee,t,a)),a=[]),r-=p,d-=p;var g=h.t,m=n.slice(r-d,r);i.push(ie(g,t,m))}}return a.length>0&&i.push(ie(ee,t,a)),i}(se.parser.start,e,function(e,t){for(var n=Array.from(t.replace(/[A-Z]/g,(function(e){return e.toLowerCase()}))),o=n.length,r=[],i=0,a=0;a=0&&(h+=n[a].length,p++),l+=n[a].length,i+=n[a].length,a++;h<0||(i-=h,a-=p,l-=h,r.push({t:d.t,v:t.substr(i-l,l),s:i-l,e:i}))}return r}(se.scanner.start,e))}t.find=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=ce(e),o=[],r=0;r1&&void 0!==arguments[1]?arguments[1]:null,n=ce(e);return 1===n.length&&n[0].isLink&&(!t||n[0].t===t)},t.tokenize=ce},28175:(e,t,n)=>{e.exports=n(87100)},2043:function(e,t,n){var o,r;!function(i,a){"use strict";void 0===(r="function"==typeof(o=function(){var e=function(){},t="undefined",n=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),o=["trace","debug","info","warn","error"];function r(e,t){var n=e[t];if("function"==typeof n.bind)return n.bind(e);try{return Function.prototype.bind.call(n,e)}catch(t){return function(){return Function.prototype.apply.apply(n,[e,arguments])}}}function i(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function a(o){return"debug"===o&&(o="log"),typeof console!==t&&("trace"===o&&n?i:void 0!==console[o]?r(console,o):void 0!==console.log?r(console,"log"):e)}function s(t,n){for(var r=0;r=0&&n<=a.levels.SILENT))throw"log.setLevel() called with invalid level: "+n;if(i=n,!1!==r&&function(e){var n=(o[e]||"silent").toUpperCase();if(typeof window!==t&&u){try{return void(window.localStorage[u]=n)}catch(e){}try{window.document.cookie=encodeURIComponent(u)+"="+n+";"}catch(e){}}}(n),s.call(a,n,e),typeof console===t&&n{function n(e){return void 0!==e&&""!==e}function o(e,t){return Object.hasOwnProperty.call(e,t)}function r(e,t){return Object.hasOwnProperty.call(e,t)&&t}t.compare=function(e,t){if(Buffer.isBuffer(e)){for(var n=Math.min(e.length,t.length),o=0;ot?1:0};var i=t.lowerBoundKey=function(e){return r(e,"gt")||r(e,"gte")||r(e,"min")||(e.reverse?r(e,"end"):r(e,"start"))||void 0},a=t.lowerBound=function(e,t){var n=i(e);return n?e[n]:t},s=t.lowerBoundInclusive=function(e){return!o(e,"gt")},u=t.upperBoundInclusive=function(e){return!o(e,"lt")},c=t.lowerBoundExclusive=function(e){return!s(e)},l=t.upperBoundExclusive=function(e){return!u(e)},d=t.upperBoundKey=function(e){return r(e,"lt")||r(e,"lte")||r(e,"max")||(e.reverse?r(e,"start"):r(e,"end"))||void 0},h=t.upperBound=function(e,t){var n=d(e);return n?e[n]:t};function p(e){return e}t.start=function(e,t){return e.reverse?h(e,t):a(e,t)},t.end=function(e,t){return e.reverse?a(e,t):h(e,t)},t.startInclusive=function(e){return e.reverse?u(e):s(e)},t.endInclusive=function(e){return e.reverse?s(e):u(e)},t.toLtgt=function(e,n,r,i,a){n=n||{},r=r||p;var s=arguments.length>3,u=t.lowerBoundKey(e),c=t.upperBoundKey(e);return u?"gt"===u?n.gt=r(e.gt,!1):n.gte=r(e[u],!1):s&&(n.gte=r(i,!1)),c?"lt"===c?n.lt=r(e.lt,!0):n.lte=r(e[c],!0):s&&(n.lte=r(a,!0)),null!=e.reverse&&(n.reverse=!!e.reverse),o(n,"max")&&delete n.max,o(n,"min")&&delete n.min,o(n,"start")&&delete n.start,o(n,"end")&&delete n.end,n},t.contains=function(e,o,r){r=r||t.compare;var i=a(e);if(n(i)&&((s=r(o,i))<0||0===s&&c(e)))return!1;var s,u=h(e);return!n(u)||!((s=r(o,u))>0||0===s&&l(e))},t.filter=function(e,n){return function(o){return t.contains(e,o,n)}}},78234:(e,t,n)=>{"use strict";var o=n(96464);e.exports=function(e,t){for(var n,l,d,h,p,f,g,m,_,F,y,b,v=t||{},w=!1!==v.padding,E=!1!==v.delimiterStart,k=!1!==v.delimiterEnd,D=(v.align||[]).concat(),S=!1!==v.alignDelimiters,x=[],C=v.stringLength||u,A=-1,T=e.length,R=[],I=[],M=[],O=[],B=[],N=0;++AN&&(N=d);++lh)&&(B[l]=p)),M.push(f);R[A]=M,I[A]=O}if(l=-1,d=N,"object"==typeof D&&"length"in D)for(;++lB[l]&&(B[l]=p),O[l]=p),M[l]=f;for(R.splice(1,0,M),I.splice(1,0,O),A=-1,T=R.length,g=[];++A{"use strict";let n,o,r;Object.defineProperty(t,"__esModule",{value:!0}),t.RoomType=t.RoomCreateTypeField=t.MsgType=t.EventType=void 0,t.EventType=n,function(e){e.RoomCanonicalAlias="m.room.canonical_alias",e.RoomCreate="m.room.create",e.RoomJoinRules="m.room.join_rules",e.RoomMember="m.room.member",e.RoomThirdPartyInvite="m.room.third_party_invite",e.RoomPowerLevels="m.room.power_levels",e.RoomName="m.room.name",e.RoomTopic="m.room.topic",e.RoomAvatar="m.room.avatar",e.RoomPinnedEvents="m.room.pinned_events",e.RoomEncryption="m.room.encryption",e.RoomHistoryVisibility="m.room.history_visibility",e.RoomGuestAccess="m.room.guest_access",e.RoomServerAcl="m.room.server_acl",e.RoomTombstone="m.room.tombstone",e.RoomAliases="m.room.aliases",e.SpaceChild="m.space.child",e.SpaceParent="m.space.parent",e.RoomRedaction="m.room.redaction",e.RoomMessage="m.room.message",e.RoomMessageEncrypted="m.room.encrypted",e.Sticker="m.sticker",e.CallInvite="m.call.invite",e.CallCandidates="m.call.candidates",e.CallAnswer="m.call.answer",e.CallHangup="m.call.hangup",e.CallReject="m.call.reject",e.CallSelectAnswer="m.call.select_answer",e.CallNegotiate="m.call.negotiate",e.CallReplaces="m.call.replaces",e.CallAssertedIdentity="m.call.asserted_identity",e.CallAssertedIdentityPrefix="org.matrix.call.asserted_identity",e.KeyVerificationRequest="m.key.verification.request",e.KeyVerificationStart="m.key.verification.start",e.KeyVerificationCancel="m.key.verification.cancel",e.KeyVerificationMac="m.key.verification.mac",e.KeyVerificationDone="m.key.verification.done",e.RoomMessageFeedback="m.room.message.feedback",e.Reaction="m.reaction",e.Typing="m.typing",e.Receipt="m.receipt",e.Presence="m.presence",e.FullyRead="m.fully_read",e.Tag="m.tag",e.PushRules="m.push_rules",e.Direct="m.direct",e.IgnoredUserList="m.ignored_user_list",e.RoomKey="m.room_key",e.RoomKeyRequest="m.room_key_request",e.ForwardedRoomKey="m.forwarded_room_key",e.Dummy="m.dummy"}(n||(t.EventType=n={})),t.MsgType=o,function(e){e.Text="m.text",e.Emote="m.emote",e.Notice="m.notice",e.Image="m.image",e.File="m.file",e.Audio="m.audio",e.Location="m.location",e.Video="m.video"}(o||(t.MsgType=o={})),t.RoomCreateTypeField="type",t.RoomType=r,function(e){e.Space="m.space"}(r||(t.RoomType=r={}))},20771:(e,t,n)=>{"use strict";var o=n(95318);Object.defineProperty(t,"__esModule",{value:!0}),t.ReEmitter=void 0;var r=o(n(59713));t.ReEmitter=class{constructor(e){(0,r.default)(this,"target",void 0),this.target=e}reEmit(e,t){for(const n of t){const t=(...t)=>{"error"===n&&0===this.target.listenerCount("error")||this.target.emit(n,...t,e)};e.on(n,t)}}}},79118:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AutoDiscovery=void 0;var o=n(7434),r=n(8575);class i{static get ERROR_INVALID(){return"Invalid homeserver discovery response"}static get ERROR_GENERIC_FAILURE(){return"Failed to get autodiscovery configuration from server"}static get ERROR_INVALID_HS_BASE_URL(){return"Invalid base_url for m.homeserver"}static get ERROR_INVALID_HOMESERVER(){return"Homeserver URL does not appear to be a valid Matrix homeserver"}static get ERROR_INVALID_IS_BASE_URL(){return"Invalid base_url for m.identity_server"}static get ERROR_INVALID_IDENTITY_SERVER(){return"Identity server URL does not appear to be a valid identity server"}static get ERROR_INVALID_IS(){return"Invalid identity server discovery response"}static get ERROR_MISSING_WELLKNOWN(){return"No .well-known JSON file found"}static get ERROR_INVALID_JSON(){return"Invalid JSON"}static get ALL_ERRORS(){return[i.ERROR_INVALID,i.ERROR_GENERIC_FAILURE,i.ERROR_INVALID_HS_BASE_URL,i.ERROR_INVALID_HOMESERVER,i.ERROR_INVALID_IS_BASE_URL,i.ERROR_INVALID_IDENTITY_SERVER,i.ERROR_INVALID_IS,i.ERROR_MISSING_WELLKNOWN,i.ERROR_INVALID_JSON]}static get FAIL_ERROR(){return"FAIL_ERROR"}static get FAIL_PROMPT(){return"FAIL_PROMPT"}static get PROMPT(){return"PROMPT"}static get SUCCESS(){return"SUCCESS"}static async fromDiscoveryConfig(e){const t={"m.homeserver":{state:i.FAIL_ERROR,error:i.ERROR_INVALID,base_url:null},"m.identity_server":{state:i.PROMPT,error:null,base_url:null}};if(!e||!e["m.homeserver"])return o.logger.error("No m.homeserver key in config"),t["m.homeserver"].state=i.FAIL_PROMPT,t["m.homeserver"].error=i.ERROR_INVALID,Promise.resolve(t);if(!e["m.homeserver"].base_url)return o.logger.error("No m.homeserver base_url in config"),t["m.homeserver"].state=i.FAIL_PROMPT,t["m.homeserver"].error=i.ERROR_INVALID_HS_BASE_URL,Promise.resolve(t);const n=this._sanitizeWellKnownUrl(e["m.homeserver"].base_url);if(!n)return o.logger.error("Invalid base_url for m.homeserver"),t["m.homeserver"].error=i.ERROR_INVALID_HS_BASE_URL,Promise.resolve(t);const r=await this._fetchWellKnownObject(`${n}/_matrix/client/versions`);if(!r||!r.raw.versions)return o.logger.error("Invalid /versions response"),t["m.homeserver"].error=i.ERROR_INVALID_HOMESERVER,t["m.homeserver"].base_url=n,Promise.resolve(t);t["m.homeserver"]={state:i.SUCCESS,error:null,base_url:n};let a="";if(e["m.identity_server"]){const n={"m.homeserver":t["m.homeserver"],"m.identity_server":{state:i.FAIL_PROMPT,error:i.ERROR_INVALID_IS,base_url:null}};if(a=this._sanitizeWellKnownUrl(e["m.identity_server"].base_url),!a)return o.logger.error("Invalid base_url for m.identity_server"),n["m.identity_server"].error=i.ERROR_INVALID_IS_BASE_URL,Promise.resolve(n);const r=await this._fetchWellKnownObject(`${a}/_matrix/identity/api/v1`);if(!r||!r.raw||"SUCCESS"!==r.action)return o.logger.error("Invalid /api/v1 response"),n["m.identity_server"].error=i.ERROR_INVALID_IDENTITY_SERVER,n["m.identity_server"].base_url=a,Promise.resolve(n)}return a&&a.length>0&&(t["m.identity_server"]={state:i.SUCCESS,error:null,base_url:a}),Object.keys(e).map((n=>{if("m.homeserver"===n||"m.identity_server"===n){const o=["error","state","base_url"];for(const r of Object.keys(e[n]))o.includes(r)||(t[n][r]=e[n][r])}else t[n]=e[n]})),Promise.resolve(t)}static async findClientConfig(e){if(!e||"string"!=typeof e||0===e.length)throw new Error("'domain' must be a string of non-zero length");const t={"m.homeserver":{state:i.FAIL_ERROR,error:i.ERROR_INVALID,base_url:null},"m.identity_server":{state:i.PROMPT,error:null,base_url:null}},n=await this._fetchWellKnownObject(`https://${e}/.well-known/matrix/client`);return n&&"SUCCESS"===n.action?i.fromDiscoveryConfig(n.raw):(o.logger.error("No response or error when parsing .well-known"),n.reason&&o.logger.error(n.reason),"IGNORE"===n.action?t["m.homeserver"]={state:i.PROMPT,error:null,base_url:null}:(t["m.homeserver"].state=i.FAIL_PROMPT,t["m.homeserver"].error=i.ERROR_INVALID),Promise.resolve(t))}static async getRawClientConfig(e){if(!e||"string"!=typeof e||0===e.length)throw new Error("'domain' must be a string of non-zero length");const t=await this._fetchWellKnownObject(`https://${e}/.well-known/matrix/client`);return t&&t.raw||{}}static _sanitizeWellKnownUrl(e){if(!e)return!1;try{let t=null;try{t=r.URL?new r.URL(e):new URL(e)}catch(n){t=new URL(e)}if(!t||!t.hostname)return!1;if("http:"!==t.protocol&&"https:"!==t.protocol)return!1;const n=t.port?`:${t.port}`:"",o=t.pathname?t.pathname:"";let i=`${t.protocol}//${t.hostname}${n}${o}`;return i.endsWith("/")&&(i=i.substring(0,i.length-1)),i}catch(e){return o.logger.error(e),!1}}static async _fetchWellKnownObject(e){return new Promise((function(t,o){const r=n(48070).getRequest();if(!r)throw new Error("No request library available");r({method:"GET",uri:e,timeout:5e3},((e,n,o)=>{if(e||n&&(n.statusCode<200||n.statusCode>=300)){let o="FAIL_PROMPT",r=(e?e.message:null)||"General failure";return n&&404===n.statusCode&&(o="IGNORE",r=i.ERROR_MISSING_WELLKNOWN),void t({raw:{},action:o,reason:r,error:e})}try{t({raw:JSON.parse(o),action:"SUCCESS"})}catch(e){let n=i.ERROR_INVALID;"SyntaxError"===e.name&&(n=i.ERROR_INVALID_JSON),t({raw:{},action:"FAIL_PROMPT",reason:n,error:e})}}))}))}}t.AutoDiscovery=i},22246:(e,t,n)=>{"use strict";var o=n(20862);Object.defineProperty(t,"__esModule",{value:!0}),t.MatrixBaseApis=l;var r=n(91415),i=n(7434),a=n(31707),s=o(n(3102)),u=n(17715);function c(e,t){switch(e){case r.SERVICE_TYPES.IS:return t+u.PREFIX_IDENTITY_V2+"/terms";case r.SERVICE_TYPES.IM:return t+"/_matrix/integrations/v1/terms";default:throw new Error("Unsupported service type")}}function l(e){s.checkObjectHasKeys(e,["baseUrl","request"]),this.baseUrl=e.baseUrl,this.idBaseUrl=e.idBaseUrl,this.identityServer=e.identityServer;const t={baseUrl:e.baseUrl,idBaseUrl:e.idBaseUrl,accessToken:e.accessToken,request:e.request,prefix:u.PREFIX_R0,onlyData:!0,extraParams:e.queryParams,localTimeoutMs:e.localTimeoutMs,useAuthorizationHeader:e.useAuthorizationHeader};this._http=new u.MatrixHttpApi(this,t),this._txnCtr=0}l.prototype.getHomeserverUrl=function(){return this.baseUrl},l.prototype.getIdentityServerUrl=function(e=!1){return e&&(this.idBaseUrl.startsWith("http://")||this.idBaseUrl.startsWith("https://"))?this.idBaseUrl.split("://")[1]:this.idBaseUrl},l.prototype.setIdentityServerUrl=function(e){this.idBaseUrl=s.ensureNoTrailingSlash(e),this._http.setIdBaseUrl(this.idBaseUrl)},l.prototype.getAccessToken=function(){return this._http.opts.accessToken||null},l.prototype.isLoggedIn=function(){return void 0!==this._http.opts.accessToken},l.prototype.makeTxnId=function(){return"m"+(new Date).getTime()+"."+this._txnCtr++},l.prototype.isUsernameAvailable=function(e){return this._http.authedRequest(void 0,"GET","/register/available",{username:e}).then((e=>e.available))},l.prototype.register=function(e,t,n,o,r,i,a,s){!0===r?r={email:!0}:null==r&&(r={}),"function"==typeof a&&(s=a,a=void 0),n&&(o.session=n);const u={auth:o};return null!=e&&(u.username=e),null!=t&&(u.password=t),r.email&&(u.bind_email=!0),r.msisdn&&(u.bind_msisdn=!0),null!=i&&(u.guest_access_token=i),null!=a&&(u.inhibit_login=a),null!=t&&(u.x_show_msisdn=!0),this.registerRequest(u,void 0,s)},l.prototype.registerGuest=function(e,t){return(e=e||{}).body=e.body||{},this.registerRequest(e.body,"guest",t)},l.prototype.registerRequest=function(e,t,n){const o={};return t&&(o.kind=t),this._http.request(n,"POST","/register",o,e)},l.prototype.loginFlows=function(e){return this._http.request(e,"GET","/login")},l.prototype.login=function(e,t,n){const o={type:e};return s.extend(o,t),this._http.authedRequest(((e,t)=>{t&&t.access_token&&t.user_id&&(this._http.opts.accessToken=t.access_token,this.credentials={userId:t.user_id}),n&&n(e,t)}),"POST","/login",void 0,o)},l.prototype.loginWithPassword=function(e,t,n){return this.login("m.login.password",{user:e,password:t},n)},l.prototype.loginWithSAML2=function(e,t){return this.login("m.login.saml2",{relay_state:e},t)},l.prototype.getCasLoginUrl=function(e){return this.getSsoLoginUrl(e,"cas")},l.prototype.getSsoLoginUrl=function(e,t,n){void 0===t&&(t="sso");let o="/login/"+t+"/redirect";return n&&(o+="/"+n),this._http.getUrl(o,{redirectUrl:e},u.PREFIX_R0)},l.prototype.loginWithToken=function(e,t){return this.login("m.login.token",{token:e},t)},l.prototype.logout=function(e){return this._http.authedRequest(e,"POST","/logout")},l.prototype.deactivateAccount=function(e,t){if("function"==typeof t)throw new Error("deactivateAccount no longer accepts a callback parameter");const n={};return e&&(n.auth=e),void 0!==t&&(n.erase=t),this._http.authedRequest(void 0,"POST","/account/deactivate",void 0,n)},l.prototype.getFallbackAuthUrl=function(e,t){const n=s.encodeUri("/auth/$loginType/fallback/web",{$loginType:e});return this._http.getUrl(n,{session:t},u.PREFIX_R0)},l.prototype.createRoom=async function(e,t){const n=(e.invite_3pid||[]).filter((e=>!e.id_access_token));if(n.length>0&&this.identityServer&&this.identityServer.getAccessToken&&await this.doesServerAcceptIdentityAccessToken()){const e=await this.identityServer.getAccessToken();if(e)for(const t of n)t.id_access_token=e}return this._http.authedRequest(t,"POST","/createRoom",void 0,e)},l.prototype.fetchRelations=async function(e,t,n,o,r){const i={};r.from&&(i.from=r.from);const a=s.encodeParams(i),c=s.encodeUri("/rooms/$roomId/relations/$eventId/$relationType/$eventType?"+a,{$roomId:e,$eventId:t,$relationType:n,$eventType:o});return await this._http.authedRequest(void 0,"GET",c,null,null,{prefix:u.PREFIX_UNSTABLE})},l.prototype.roomState=function(e,t){const n=s.encodeUri("/rooms/$roomId/state",{$roomId:e});return this._http.authedRequest(t,"GET",n)},l.prototype.fetchRoomEvent=function(e,t,n){const o=s.encodeUri("/rooms/$roomId/event/$eventId",{$roomId:e,$eventId:t});return this._http.authedRequest(n,"GET",o)},l.prototype.members=function(e,t,n,o,r){const i={};t&&(i.membership=t),n&&(i.not_membership=n),o&&(i.at=o);const a=s.encodeParams(i),u=s.encodeUri("/rooms/$roomId/members?"+a,{$roomId:e});return this._http.authedRequest(r,"GET",u)},l.prototype.upgradeRoom=function(e,t){const n=s.encodeUri("/rooms/$roomId/upgrade",{$roomId:e});return this._http.authedRequest(void 0,"POST",n,void 0,{new_version:t})},l.prototype.getGroupSummary=function(e){const t=s.encodeUri("/groups/$groupId/summary",{$groupId:e});return this._http.authedRequest(void 0,"GET",t)},l.prototype.getGroupProfile=function(e){const t=s.encodeUri("/groups/$groupId/profile",{$groupId:e});return this._http.authedRequest(void 0,"GET",t)},l.prototype.setGroupProfile=function(e,t){const n=s.encodeUri("/groups/$groupId/profile",{$groupId:e});return this._http.authedRequest(void 0,"POST",n,void 0,t)},l.prototype.setGroupJoinPolicy=function(e,t){const n=s.encodeUri("/groups/$groupId/settings/m.join_policy",{$groupId:e});return this._http.authedRequest(void 0,"PUT",n,void 0,{"m.join_policy":t})},l.prototype.getGroupUsers=function(e){const t=s.encodeUri("/groups/$groupId/users",{$groupId:e});return this._http.authedRequest(void 0,"GET",t)},l.prototype.getGroupInvitedUsers=function(e){const t=s.encodeUri("/groups/$groupId/invited_users",{$groupId:e});return this._http.authedRequest(void 0,"GET",t)},l.prototype.getGroupRooms=function(e){const t=s.encodeUri("/groups/$groupId/rooms",{$groupId:e});return this._http.authedRequest(void 0,"GET",t)},l.prototype.inviteUserToGroup=function(e,t){const n=s.encodeUri("/groups/$groupId/admin/users/invite/$userId",{$groupId:e,$userId:t});return this._http.authedRequest(void 0,"PUT",n,void 0,{})},l.prototype.removeUserFromGroup=function(e,t){const n=s.encodeUri("/groups/$groupId/admin/users/remove/$userId",{$groupId:e,$userId:t});return this._http.authedRequest(void 0,"PUT",n,void 0,{})},l.prototype.addUserToGroupSummary=function(e,t,n){const o=s.encodeUri(n?"/groups/$groupId/summary/$roleId/users/$userId":"/groups/$groupId/summary/users/$userId",{$groupId:e,$roleId:n,$userId:t});return this._http.authedRequest(void 0,"PUT",o,void 0,{})},l.prototype.removeUserFromGroupSummary=function(e,t){const n=s.encodeUri("/groups/$groupId/summary/users/$userId",{$groupId:e,$userId:t});return this._http.authedRequest(void 0,"DELETE",n,void 0,{})},l.prototype.addRoomToGroupSummary=function(e,t,n){const o=s.encodeUri(n?"/groups/$groupId/summary/$categoryId/rooms/$roomId":"/groups/$groupId/summary/rooms/$roomId",{$groupId:e,$categoryId:n,$roomId:t});return this._http.authedRequest(void 0,"PUT",o,void 0,{})},l.prototype.removeRoomFromGroupSummary=function(e,t){const n=s.encodeUri("/groups/$groupId/summary/rooms/$roomId",{$groupId:e,$roomId:t});return this._http.authedRequest(void 0,"DELETE",n,void 0,{})},l.prototype.addRoomToGroup=function(e,t,n){void 0===n&&(n=!0);const o=s.encodeUri("/groups/$groupId/admin/rooms/$roomId",{$groupId:e,$roomId:t});return this._http.authedRequest(void 0,"PUT",o,void 0,{"m.visibility":{type:n?"public":"private"}})},l.prototype.updateGroupRoomVisibility=function(e,t,n){const o=s.encodeUri("/groups/$groupId/admin/rooms/$roomId/config/m.visibility",{$groupId:e,$roomId:t});return this._http.authedRequest(void 0,"PUT",o,void 0,{type:n?"public":"private"})},l.prototype.removeRoomFromGroup=function(e,t){const n=s.encodeUri("/groups/$groupId/admin/rooms/$roomId",{$groupId:e,$roomId:t});return this._http.authedRequest(void 0,"DELETE",n,void 0,{})},l.prototype.acceptGroupInvite=function(e,t=null){const n=s.encodeUri("/groups/$groupId/self/accept_invite",{$groupId:e});return this._http.authedRequest(void 0,"PUT",n,void 0,t||{})},l.prototype.joinGroup=function(e){const t=s.encodeUri("/groups/$groupId/self/join",{$groupId:e});return this._http.authedRequest(void 0,"PUT",t,void 0,{})},l.prototype.leaveGroup=function(e){const t=s.encodeUri("/groups/$groupId/self/leave",{$groupId:e});return this._http.authedRequest(void 0,"PUT",t,void 0,{})},l.prototype.getJoinedGroups=function(){const e=s.encodeUri("/joined_groups");return this._http.authedRequest(void 0,"GET",e)},l.prototype.createGroup=function(e){const t=s.encodeUri("/create_group");return this._http.authedRequest(void 0,"POST",t,void 0,e)},l.prototype.getPublicisedGroups=function(e){const t=s.encodeUri("/publicised_groups");return this._http.authedRequest(void 0,"POST",t,void 0,{user_ids:e})},l.prototype.setGroupPublicity=function(e,t){const n=s.encodeUri("/groups/$groupId/self/update_publicity",{$groupId:e});return this._http.authedRequest(void 0,"PUT",n,void 0,{publicise:t})},l.prototype.getStateEvent=function(e,t,n,o){const r={$roomId:e,$eventType:t,$stateKey:n};let i=s.encodeUri("/rooms/$roomId/state/$eventType",r);return void 0!==n&&(i=s.encodeUri(i+"/$stateKey",r)),this._http.authedRequest(o,"GET",i)},l.prototype.sendStateEvent=function(e,t,n,o,r){const i={$roomId:e,$eventType:t,$stateKey:o};let a=s.encodeUri("/rooms/$roomId/state/$eventType",i);return void 0!==o&&(a=s.encodeUri(a+"/$stateKey",i)),this._http.authedRequest(r,"PUT",a,void 0,n)},l.prototype.roomInitialSync=function(e,t,n){s.isFunction(t)&&(n=t,t=void 0);const o=s.encodeUri("/rooms/$roomId/initialSync",{$roomId:e});return t||(t=30),this._http.authedRequest(n,"GET",o,{limit:t})},l.prototype.setRoomReadMarkersHttpRequest=function(e,t,n,o){const r=s.encodeUri("/rooms/$roomId/read_markers",{$roomId:e}),i={"m.fully_read":t,"m.read":n,"m.hidden":Boolean(!!o&&o.hidden)};return this._http.authedRequest(void 0,"POST",r,void 0,i)},l.prototype.getJoinedRooms=function(){const e=s.encodeUri("/joined_rooms");return this._http.authedRequest(void 0,"GET",e)},l.prototype.getJoinedRoomMembers=function(e){const t=s.encodeUri("/rooms/$roomId/joined_members",{$roomId:e});return this._http.authedRequest(void 0,"GET",t)},l.prototype.publicRooms=function(e,t){"function"==typeof e&&(t=e,e={}),void 0===e&&(e={});const n={};return e.server&&(n.server=e.server,delete e.server),0===Object.keys(e).length&&0===Object.keys(n).length?this._http.authedRequest(t,"GET","/publicRooms"):this._http.authedRequest(t,"POST","/publicRooms",n,e)},l.prototype.createAlias=function(e,t,n){const o=s.encodeUri("/directory/room/$alias",{$alias:e}),r={room_id:t};return this._http.authedRequest(n,"PUT",o,void 0,r)},l.prototype.deleteAlias=function(e,t){const n=s.encodeUri("/directory/room/$alias",{$alias:e});return this._http.authedRequest(t,"DELETE",n,void 0,void 0)},l.prototype.unstableGetLocalAliases=function(e,t){const n=s.encodeUri("/rooms/$roomId/aliases",{$roomId:e}),o=u.PREFIX_UNSTABLE+"/org.matrix.msc2432";return this._http.authedRequest(t,"GET",n,null,null,{prefix:o})},l.prototype.getRoomIdForAlias=function(e,t){const n=s.encodeUri("/directory/room/$alias",{$alias:e});return this._http.authedRequest(t,"GET",n)},l.prototype.resolveRoomAlias=function(e,t){const n=s.encodeUri("/directory/room/$alias",{$alias:e});return this._http.request(t,"GET",n)},l.prototype.getRoomDirectoryVisibility=function(e,t){const n=s.encodeUri("/directory/list/room/$roomId",{$roomId:e});return this._http.authedRequest(t,"GET",n)},l.prototype.setRoomDirectoryVisibility=function(e,t,n){const o=s.encodeUri("/directory/list/room/$roomId",{$roomId:e});return this._http.authedRequest(n,"PUT",o,void 0,{visibility:t})},l.prototype.setRoomDirectoryVisibilityAppService=function(e,t,n,o){const r=s.encodeUri("/directory/list/appservice/$networkId/$roomId",{$networkId:e,$roomId:t});return this._http.authedRequest(o,"PUT",r,void 0,{visibility:n})},l.prototype.searchUserDirectory=function(e){const t={search_term:e.term};return void 0!==e.limit&&(t.limit=e.limit),this._http.authedRequest(void 0,"POST","/user_directory/search",void 0,t)},l.prototype.uploadContent=function(e,t){return this._http.uploadContent(e,t)},l.prototype.cancelUpload=function(e){return this._http.cancelUpload(e)},l.prototype.getCurrentUploads=function(){return this._http.getCurrentUploads()},l.prototype.getProfileInfo=function(e,t,n){s.isFunction(t)&&(n=t,t=void 0);const o=t?s.encodeUri("/profile/$userId/$info",{$userId:e,$info:t}):s.encodeUri("/profile/$userId",{$userId:e});return this._http.authedRequest(n,"GET",o)},l.prototype.getThreePids=function(e){return this._http.authedRequest(e,"GET","/account/3pid",void 0,void 0)},l.prototype.addThreePid=function(e,t,n){const o={threePidCreds:e,bind:t};return this._http.authedRequest(n,"POST","/account/3pid",null,o)},l.prototype.addThreePidOnly=async function(e){const t=await this.isVersionSupported("r0.6.0")?u.PREFIX_R0:u.PREFIX_UNSTABLE;return this._http.authedRequest(void 0,"POST","/account/3pid/add",null,e,{prefix:t})},l.prototype.bindThreePid=async function(e){const t=await this.isVersionSupported("r0.6.0")?u.PREFIX_R0:u.PREFIX_UNSTABLE;return this._http.authedRequest(void 0,"POST","/account/3pid/bind",null,e,{prefix:t})},l.prototype.unbindThreePid=async function(e,t){const n={medium:e,address:t,id_server:this.getIdentityServerUrl(!0)},o=await this.isVersionSupported("r0.6.0")?u.PREFIX_R0:u.PREFIX_UNSTABLE;return this._http.authedRequest(void 0,"POST","/account/3pid/unbind",null,n,{prefix:o})},l.prototype.deleteThreePid=function(e,t){const n={medium:e,address:t};return this._http.authedRequest(void 0,"POST","/account/3pid/delete",null,n)},l.prototype.setPassword=function(e,t,n){const o={auth:e,new_password:t};return this._http.authedRequest(n,"POST","/account/password",null,o)},l.prototype.getDevices=function(){return this._http.authedRequest(void 0,"GET","/devices",void 0,void 0)},l.prototype.getDevice=function(e){const t=s.encodeUri("/devices/$device_id",{$device_id:e});return this._http.authedRequest(void 0,"GET",t,void 0,void 0)},l.prototype.setDeviceDetails=function(e,t){const n=s.encodeUri("/devices/$device_id",{$device_id:e});return this._http.authedRequest(void 0,"PUT",n,void 0,t)},l.prototype.deleteDevice=function(e,t){const n=s.encodeUri("/devices/$device_id",{$device_id:e}),o={};return t&&(o.auth=t),this._http.authedRequest(void 0,"DELETE",n,void 0,o)},l.prototype.deleteMultipleDevices=function(e,t){const n={devices:e};return t&&(n.auth=t),this._http.authedRequest(void 0,"POST","/delete_devices",void 0,n)},l.prototype.getPushers=function(e){return this._http.authedRequest(e,"GET","/pushers",void 0,void 0)},l.prototype.setPusher=function(e,t){return this._http.authedRequest(t,"POST","/pushers/set",null,e)},l.prototype.getPushRules=function(e){return this._http.authedRequest(e,"GET","/pushrules/").then((e=>a.PushProcessor.rewriteDefaultRules(e)))},l.prototype.addPushRule=function(e,t,n,o,r){const i=s.encodeUri("/pushrules/"+e+"/$kind/$ruleId",{$kind:t,$ruleId:n});return this._http.authedRequest(r,"PUT",i,void 0,o)},l.prototype.deletePushRule=function(e,t,n,o){const r=s.encodeUri("/pushrules/"+e+"/$kind/$ruleId",{$kind:t,$ruleId:n});return this._http.authedRequest(o,"DELETE",r)},l.prototype.setPushRuleEnabled=function(e,t,n,o,r){const i=s.encodeUri("/pushrules/"+e+"/$kind/$ruleId/enabled",{$kind:t,$ruleId:n});return this._http.authedRequest(r,"PUT",i,void 0,{enabled:o})},l.prototype.setPushRuleActions=function(e,t,n,o,r){const i=s.encodeUri("/pushrules/"+e+"/$kind/$ruleId/actions",{$kind:t,$ruleId:n});return this._http.authedRequest(r,"PUT",i,void 0,{actions:o})},l.prototype.search=function(e,t){const n={};return e.next_batch&&(n.next_batch=e.next_batch),this._http.authedRequest(t,"POST","/search",n,e.body)},l.prototype.uploadKeysRequest=function(e,t,n){return this._http.authedRequest(n,"POST","/keys/upload",void 0,e)},l.prototype.uploadKeySignatures=function(e){return this._http.authedRequest(void 0,"POST","/keys/signatures/upload",void 0,e,{prefix:u.PREFIX_UNSTABLE})},l.prototype.downloadKeysForUsers=function(e,t){if(s.isFunction(t))throw new Error("downloadKeysForUsers no longer accepts a callback parameter");const n={device_keys:{}};return"token"in(t=t||{})&&(n.token=t.token),e.forEach((e=>{n.device_keys[e]=[]})),this._http.authedRequest(void 0,"POST","/keys/query",void 0,n)},l.prototype.claimOneTimeKeys=function(e,t,n){const o={};void 0===t&&(t="signed_curve25519");for(let n=0;n{const n=e[0].toLowerCase(),r=e[1].toLowerCase(),a=t.sha256(`${n} ${r} ${o.pepper}`).replace(/\+/g,"-").replace(/\//g,"_");return i[a]=e[0],a})),o.algorithm="sha256"}else{if(!r.algorithms.includes("none"))throw new Error("Unsupported identity server: unknown hash algorithm");o.addresses=e.map((e=>{const t=`${e[0].toLowerCase()} ${e[1].toLowerCase()}`;return i[t]=e[0],t})),o.algorithm="none"}const a=await this._http.idServerRequest(void 0,"POST","/lookup",o,u.PREFIX_IDENTITY_V2,t);if(!a||!a.mappings)return[];const s=[];for(const e of Object.keys(a.mappings)){const t=a.mappings[e],n=i[e];if(!n)throw new Error("Identity server returned more results than expected");s.push({address:n,mxid:t})}return s},l.prototype.lookupThreePid=async function(e,t,n,o){const r=(await this.identityHashedLookup([[t,e]],o)).find((e=>e.address===t));if(!r)return n&&n(null,{}),{};const i={address:t,medium:e,mxid:r.mxid};return n&&n(null,i),i},l.prototype.bulkLookupThreePids=async function(e,t){const n=await this.identityHashedLookup(e.map((e=>[e[1],e[0]])),t),o=[];for(const t of n){const n=e.find((e=>e[1]===t.address));if(!n)throw new Error("Identity sever returned unexpected results");o.push([n[0],t.address,t.mxid])}return{threepids:o}},l.prototype.getIdentityAccount=function(e){return this._http.idServerRequest(void 0,"GET","/account",void 0,u.PREFIX_IDENTITY_V2,e)},l.prototype.sendToDevice=function(e,t,n){const o=s.encodeUri("/sendToDevice/$eventType/$txnId",{$eventType:e,$txnId:n||this.makeTxnId()}),r={messages:t},a=Object.keys(t).reduce(((e,n)=>(e[n]=Object.keys(t[n]),e)),{});return i.logger.log(`PUT ${o}`,a),this._http.authedRequest(void 0,"PUT",o,void 0,r)},l.prototype.getThirdpartyProtocols=function(){return this._http.authedRequest(void 0,"GET","/thirdparty/protocols",void 0,void 0).then((e=>{if(!e||"object"!=typeof e)throw new Error(`/thirdparty/protocols did not return an object: ${e}`);return e}))},l.prototype.getThirdpartyLocation=function(e,t){const n=s.encodeUri("/thirdparty/location/$protocol",{$protocol:e});return this._http.authedRequest(void 0,"GET",n,t,void 0)},l.prototype.getThirdpartyUser=function(e,t){const n=s.encodeUri("/thirdparty/user/$protocol",{$protocol:e});return this._http.authedRequest(void 0,"GET",n,t,void 0)},l.prototype.getTerms=function(e,t){const n=c(e,t);return this._http.requestOtherUrl(void 0,"GET",n)},l.prototype.agreeToTerms=function(e,t,n,o){const r=c(e,t),i={Authorization:"Bearer "+n};return this._http.requestOtherUrl(void 0,"POST",r,null,{user_accepts:o},{headers:i})},l.prototype.reportEvent=function(e,t,n,o){const r=s.encodeUri("/rooms/$roomId/report/$eventId",{$roomId:e,$eventId:t});return this._http.authedRequest(void 0,"POST",r,null,{score:n,reason:o})},l.prototype.getSpaceSummary=function(e,t,n,o,r,i){const a=s.encodeUri("/rooms/$roomId/spaces",{$roomId:e});return this._http.authedRequest(void 0,"POST",a,null,{max_rooms_per_space:t,suggested_only:n,auto_join_only:o,limit:r,batch:i},{prefix:"/_matrix/client/unstable/org.matrix.msc2946"})}},8743:(e,t,n)=>{"use strict";var o=n(95318),r=n(20862);Object.defineProperty(t,"__esModule",{value:!0});var i={};t.default=void 0;var a=r(n(48070));Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(i,e)||e in t&&t[e]===a[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return a[e]}}))}));var s=o(n(24770)),u=o(n(80129));let c;a.request((function(e,t){return e.qs=u.default.stringify(e.qs||{},e.qsStringifyOptions),(0,s.default)(e,t)}));try{c=n.g.indexedDB}catch(e){}c&&a.setCryptoStoreFactory((function(){return new a.IndexedDBCryptoStore(c,"matrix-js-sdk:crypto")}));var l=a;t.default=l,n.g.matrixcs=a},62168:(e,t,n)=>{"use strict";var o=n(20862),r=n(95318);Object.defineProperty(t,"__esModule",{value:!0}),t.MatrixClient=N,t.CRYPTO_ENABLED=void 0;var i=r(n(8575)),a=n(17187),s=n(22246),u=n(27906),c=n(64551),l=n(24369),d=n(88910),h=n(41398),p=n(25641),f=n(59679),g=n(62931),m=o(n(3102)),_=n(17715),F=n(73667),y=o(n(44656)),b=o(n(32772)),v=n(20771),w=n(40635),E=n(7434),k=n(12600),D=n(34077),S=n(91597),x=n(98401),C=n(31707),A=n(83998),T=n(79118),R=n(54830);const I=(0,k.isCryptoAvailable)();t.CRYPTO_ENABLED=I;const M=6e5;function O(e,t,n){const o=[];for(const[r,i]of Object.entries(e))try{const e=B(i,t);e.session_id=r,e.room_id=n,o.push(e)}catch(e){E.logger.log("Failed to decrypt megolm session from backup",e)}return o}function B(e,t){return JSON.parse(t.decrypt(e.session_data.ephemeral,e.session_data.mac,e.session_data.ciphertext))}function N(e){e.baseUrl=m.ensureNoTrailingSlash(e.baseUrl),e.idBaseUrl=m.ensureNoTrailingSlash(e.idBaseUrl),s.MatrixBaseApis.call(this,e),this.olmVersion=null,this.reEmitter=new v.ReEmitter(this),this.usingExternalCrypto=e.usingExternalCrypto,this.store=e.store||new p.StubStore,this.deviceId=e.deviceId||null;const t=e.userId||null;if(this.credentials={userId:t},e.deviceToImport?this.deviceId?E.logger.warn("not importing device because device ID is provided to constructor independently of exported data"):this.credentials.userId?E.logger.warn("not importing device because user ID is provided to constructor independently of exported data"):e.deviceToImport.deviceId?(this.deviceId=e.deviceToImport.deviceId,this.credentials.userId=e.deviceToImport.userId,this._exportedOlmDeviceToImport=e.deviceToImport.olmDevice):E.logger.warn("not importing device because no device ID in exported data"):e.pickleKey&&(this.pickleKey=e.pickleKey),this.scheduler=e.scheduler,this.scheduler){const e=this;this.scheduler.setProcessFunction((async function(t){const n=e.getRoom(t.getRoomId());t.status!==l.EventStatus.SENDING&&j(n,t,l.EventStatus.SENDING);const o=await q(e,t);return n&&n.updatePendingEvent(t,l.EventStatus.SENT,o.event_id),o}))}this.clientRunning=!1;const n=(0,f.createNewMatrixCall)(this);this._supportsVoip=!1,n?(this._callEventHandler=new g.CallEventHandler(this),this._supportsVoip=!0,this.on("sync",this._startCallEventHandler)):this._callEventHandler=null,this._syncingRetry=null,this._syncApi=null,this._peekSync=null,this._isGuest=!1,this._ongoingScrollbacks={},this.timelineSupport=Boolean(e.timelineSupport),this.urlPreviewCache={},this._notifTimelineSet=null,this.unstableClientRelationAggregation=!!e.unstableClientRelationAggregation,this._crypto=null,this._cryptoStore=e.cryptoStore,this._sessionStore=e.sessionStore,this._verificationMethods=e.verificationMethods,this._cryptoCallbacks=e.cryptoCallbacks||{},this._forceTURN=e.forceTURN||!1,this._iceCandidatePoolSize=void 0===e.iceCandidatePoolSize?0:e.iceCandidatePoolSize,this._supportsCallTransfer=e.supportsCallTransfer||!1,this._fallbackICEServerAllowed=e.fallbackICEServerAllowed||!1,this._roomList=new w.RoomList(this._cryptoStore),this._pushProcessor=new C.PushProcessor(this),this._serverVersionsPromise=null,this._cachedCapabilities=null,this._clientWellKnown=void 0,this._clientWellKnownPromise=void 0,this._turnServers=[],this._turnServersExpiry=0,this._checkTurnServersIntervalID=null,this.on("Event.decrypted",(e=>{const t=e.getPushActions(),n=this._pushProcessor.actionsForEvent(e);e.setPushActions(n);const o=this.getRoom(e.getRoomId());if(!o)return;const r=o.getUnreadNotificationCount("highlight"),i=!(!t||!t.tweaks||!t.tweaks.highlight),a=!(!n||!n.tweaks||!n.tweaks.highlight);if((i!==a||r>0)&&!o.hasUserReadEvent(this.getUserId(),e.getId())){let e=r;a&&!i&&e++,!a&&i&&e--,o.setUnreadNotificationCount("highlight",e),o.getUnreadNotificationCount("total"){if(t&&this.isRoomEncrypted(t.roomId)){const n=e.getContent();if(!(Object.keys(n).filter((e=>Object.keys(n[e]["m.read"]).includes(this.getUserId()))).length>0))return;const o=20,r=t.getLiveTimeline().getEvents();let i=0;for(let e=r.length-1;e>=0;e--){if(e===r.length-o)return;const n=r[e];if(t.hasUserReadEvent(this.getUserId(),n.getId()))break;const a=this.getPushActionsForEvent(n);i+=a.tweaks&&a.tweaks.highlight?1:0}t.setUnreadNotificationCount("highlight",i)}}))}async function L(e,t,n,o,r,i){if(!e._crypto)throw new Error("End-to-End encryption disabled");await e._crypto.setDeviceVerification(t,n,o,r,i)}function P(e,t){for(const n of t)e.prototype[n]=function(...e){if(!this._crypto)throw new Error("End-to-end encryption disabled");return this._crypto[n](...e)}}function U(e,t,n,o){return Promise.resolve().then((function(){const o=function(e,t,n){if(t.isEncrypted())return null;if(!e.isRoomEncrypted(t.getRoomId()))return null;if(!e._crypto&&e.usingExternalCrypto)return null;if("m.reaction"===t.getType())return null;if(!e._crypto)throw new Error("This room is configured to use encryption, but your client does not support encryption.");return e._crypto.encryptEvent(t,n)}(e,n,t);return o?(j(t,n,l.EventStatus.ENCRYPTING),o.then((()=>{j(t,n,l.EventStatus.SENDING)}))):null})).then((function(){let o;return e.scheduler&&(o=e.scheduler.queueEvent(n),o&&e.scheduler.getQueueForEvent(n).length>1&&j(t,n,l.EventStatus.QUEUED)),o||(o=q(e,n),t&&(o=o.then((e=>(t.updatePendingEvent(n,l.EventStatus.SENT,e.event_id),e))))),o})).then((function(e){return o&&o(null,e),e}),(function(e){E.logger.error("Error sending event",e.stack||e);try{n.error=e,j(t,n,l.EventStatus.NOT_SENT),e.event=n,o&&o(e)}catch(t){E.logger.error("Exception in error handler!",t.stack||e)}throw e}))}function j(e,t,n){e?e.updatePendingEvent(t,n):t.setStatus(n)}function q(e,t){let n=t.getTxnId();n||(n=e.makeTxnId(),t.setTxnId(n));const o={$roomId:t.getRoomId(),$eventType:t.getWireType(),$stateKey:t.getStateKey(),$txnId:n};let r;if(t.isState()){let e="/rooms/$roomId/state/$eventType";t.getStateKey()&&t.getStateKey().length>0&&(e="/rooms/$roomId/state/$eventType/$stateKey"),r=m.encodeUri(e,o)}else if(t.isRedaction()){const e="/rooms/$roomId/redact/$redactsEventId/$txnId";r=m.encodeUri(e,Object.assign({$redactsEventId:t.event.redacts},o))}else r=m.encodeUri("/rooms/$roomId/send/$eventType/$txnId",o);return e._http.authedRequest(void 0,"PUT",r,void 0,t.getWireContent()).then((e=>(E.logger.log(`Event sent to ${t.getRoomId()} with event id ${e.event_id}`),e)))}function z(e,t,n,o,r,i){m.isFunction(r)&&(i=r,r=void 0);const a=m.encodeUri("/rooms/$room_id/$membership",{$room_id:t,$membership:o});return e._http.authedRequest(i,"POST",a,void 0,{user_id:n,reason:r})}function K(e,t,n){e&&e(n),t(n)}function G(e,t,n){e&&e(null,n),t(n)}function $(e,t={}){const n=Boolean(t.preventReEmit),o=!1!==t.decrypt;return function(t){const r=new l.MatrixEvent(t);return r.isEncrypted()&&(n||e.reEmitter.reEmit(r,["Event.decrypted"]),o&&e.decryptEventIfNeeded(r)),n||e.reEmitter.reEmit(r,["Event.replaced"]),r}}m.inherits(N,a.EventEmitter),m.extend(N.prototype,s.MatrixBaseApis.prototype),N.prototype.rehydrateDevice=async function(){if(this._crypto)throw new Error("Cannot rehydrate device after crypto is initialized");if(!this._cryptoCallbacks.getDehydrationKey)return;const e=await this.getDehydratedDevice();if(!e)return;if(!e.device_data||!e.device_id)return void E.logger.info("no dehydrated device found");const t=new n.g.Olm.Account;try{const n=e.device_data;if(n.algorithm!==R.DEHYDRATION_ALGORITHM)return void E.logger.warn("Wrong algorithm for dehydrated device");E.logger.log("unpickling dehydrated device");const o=await this._cryptoCallbacks.getDehydrationKey(n,(e=>{t.unpickle(new Uint8Array(e),n.account)}));if(t.unpickle(o,n.account),E.logger.log("unpickled device"),!0===(await this._http.authedRequest(void 0,"POST","/dehydrated_device/claim",void 0,{device_id:e.device_id},{prefix:"/_matrix/client/unstable/org.matrix.msc2697.v2"})).success){this.deviceId=e.device_id,E.logger.info("using dehydrated device");const n=this.pickleKey||"DEFAULT_KEY";return this._exportedOlmDeviceToImport={pickledAccount:t.pickle(n),sessions:[],pickleKey:n},t.free(),this.deviceId}return t.free(),void E.logger.info("not using dehydrated device")}catch(e){t.free(),E.logger.warn("could not unpickle",e)}},N.prototype.getDehydratedDevice=async function(){try{return await this._http.authedRequest(void 0,"GET","/dehydrated_device",void 0,void 0,{prefix:"/_matrix/client/unstable/org.matrix.msc2697.v2"})}catch(e){return void E.logger.info("could not get dehydrated device",e.toString())}},N.prototype.setDehydrationKey=async function(e,t={},n){if(this._crypto)return await this._crypto._dehydrationManager.setKeyAndQueueDehydration(e,t,n);E.logger.warn("not dehydrating device if crypto is not enabled")},N.prototype.createDehydratedDevice=async function(e,t={},n){if(this._crypto)return await this._crypto._dehydrationManager.setKey(e,t,n),await this._crypto._dehydrationManager.dehydrateDevice();E.logger.warn("not dehydrating device if crypto is not enabled")},N.prototype.exportDevice=async function(){if(this._crypto)return{userId:this.credentials.userId,deviceId:this.deviceId,olmDevice:await this._crypto._olmDevice.export()};E.logger.warn("not exporting device if crypto is not enabled")},N.prototype.clearStores=function(){if(this._clientRunning)throw new Error("Cannot clear stores while client is running");const e=[];return e.push(this.store.deleteAllData()),this._cryptoStore&&e.push(this._cryptoStore.deleteAllData()),Promise.all(e)},N.prototype.getUserId=function(){return this.credentials&&this.credentials.userId?this.credentials.userId:null},N.prototype.getDomain=function(){return this.credentials&&this.credentials.userId?this.credentials.userId.replace(/^.*?:/,""):null},N.prototype.getUserIdLocalpart=function(){return this.credentials&&this.credentials.userId?this.credentials.userId.split(":")[0].substring(1):null},N.prototype.getDeviceId=function(){return this.deviceId},N.prototype.supportsVoip=function(){return this._supportsVoip},N.prototype.setForceTURN=function(e){this._forceTURN=e},N.prototype.setSupportsCallTransfer=function(e){this._supportsCallTransfer=e},N.prototype.createCall=function(e){return(0,f.createNewMatrixCall)(this,e)},N.prototype.getSyncState=function(){return this._syncApi?this._syncApi.getSyncState():null},N.prototype.getSyncStateData=function(){return this._syncApi?this._syncApi.getSyncStateData():null},N.prototype.isInitialSyncComplete=function(){const e=this.getSyncState();return!!e&&("PREPARED"===e||"SYNCING"===e)},N.prototype.isGuest=function(){return this._isGuest},N.prototype.getScheduler=function(){return this.scheduler},N.prototype.setGuest=function(e){this._isGuest=e},N.prototype.retryImmediately=function(){return this._syncApi.retryImmediately()},N.prototype.getNotifTimelineSet=function(){return this._notifTimelineSet},N.prototype.setNotifTimelineSet=function(e){this._notifTimelineSet=e},N.prototype.getCapabilities=function(e=!1){const t=(new Date).getTime();return this._cachedCapabilities&&!e&&t(E.logger.error(e),null))).then((e=>{e||(e={});const n=e.capabilities||{},o=Object.keys(n).length?216e5:6e4+5e3*Math.random();return this._cachedCapabilities={capabilities:n,expiration:t+o},E.logger.log("Caching capabilities: ",n),n}))},N.prototype.initCrypto=async function(){if(!(0,k.isCryptoAvailable)())throw new Error("End-to-end encryption not supported in this js-sdk build: did you remember to load the olm library?");if(this._crypto)return void E.logger.warn("Attempt to re-initialise e2e encryption on MatrixClient");if(!this._sessionStore)throw new Error("Cannot enable encryption: no sessionStore provided");if(!this._cryptoStore)throw new Error("Cannot enable encryption: no cryptoStore provided");E.logger.log("Crypto: Starting up crypto store..."),await this._cryptoStore.startup(),E.logger.log("Crypto: initialising roomlist..."),await this._roomList.init();const e=this.getUserId();if(null===e)throw new Error("Cannot enable encryption on MatrixClient with unknown userId: ensure userId is passed in createClient().");if(null===this.deviceId)throw new Error("Cannot enable encryption on MatrixClient with unknown deviceId: ensure deviceId is passed in createClient().");const t=new k.Crypto(this,this._sessionStore,e,this.deviceId,this.store,this._cryptoStore,this._roomList,this._verificationMethods);this.reEmitter.reEmit(t,["crypto.keyBackupFailed","crypto.keyBackupSessionsRemaining","crypto.roomKeyRequest","crypto.roomKeyRequestCancellation","crypto.warning","crypto.devicesUpdated","crypto.willUpdateDevices","deviceVerificationChanged","userTrustStatusChanged","crossSigning.keysChanged"]),E.logger.log("Crypto: initialising crypto object..."),await t.init({exportedOlmDevice:this._exportedOlmDeviceToImport,pickleKey:this.pickleKey}),delete this._exportedOlmDeviceToImport,this.olmVersion=k.Crypto.getOlmVersion(),t.registerEventHandlers(this),this._crypto=t},N.prototype.isCryptoEnabled=function(){return null!==this._crypto},N.prototype.getDeviceEd25519Key=function(){return this._crypto?this._crypto.getDeviceEd25519Key():null},N.prototype.getDeviceCurve25519Key=function(){return this._crypto?this._crypto.getDeviceCurve25519Key():null},N.prototype.uploadKeys=function(){if(null===this._crypto)throw new Error("End-to-end encryption disabled");return this._crypto.uploadDeviceKeys()},N.prototype.downloadKeys=function(e,t){return null===this._crypto?Promise.reject(new Error("End-to-end encryption disabled")):this._crypto.downloadKeys(e,t)},N.prototype.getStoredDevicesForUser=function(e){if(null===this._crypto)throw new Error("End-to-end encryption disabled");return this._crypto.getStoredDevicesForUser(e)||[]},N.prototype.getStoredDevice=function(e,t){if(null===this._crypto)throw new Error("End-to-end encryption disabled");return this._crypto.getStoredDevice(e,t)||null},N.prototype.setDeviceVerified=function(e,t,n){void 0===n&&(n=!0);const o=L(this,e,t,n,null);return e==this.credentials.userId&&this._crypto.checkKeyBackup(),o},N.prototype.setDeviceBlocked=function(e,t,n){return void 0===n&&(n=!0),L(this,e,t,null,n)},N.prototype.setDeviceKnown=function(e,t,n){return void 0===n&&(n=!0),L(this,e,t,null,null,n)},N.prototype.requestVerificationDM=function(e,t){if(null===this._crypto)throw new Error("End-to-end encryption disabled");return this._crypto.requestVerificationDM(e,t)},N.prototype.findVerificationRequestDMInProgress=function(e){if(null===this._crypto)throw new Error("End-to-end encryption disabled");return this._crypto.findVerificationRequestDMInProgress(e)},N.prototype.getVerificationRequestsToDeviceInProgress=function(e){if(null===this._crypto)throw new Error("End-to-end encryption disabled");return this._crypto.getVerificationRequestsToDeviceInProgress(e)},N.prototype.requestVerification=function(e,t){if(null===this._crypto)throw new Error("End-to-end encryption disabled");return this._crypto.requestVerification(e,t)},N.prototype.beginKeyVerification=function(e,t,n){if(null===this._crypto)throw new Error("End-to-end encryption disabled");return this._crypto.beginKeyVerification(e,t,n)},N.prototype.setGlobalBlacklistUnverifiedDevices=function(e){if(null===this._crypto)throw new Error("End-to-end encryption disabled");this._crypto.setGlobalBlacklistUnverifiedDevices(e)},N.prototype.getGlobalBlacklistUnverifiedDevices=function(){if(null===this._crypto)throw new Error("End-to-end encryption disabled");return this._crypto.getGlobalBlacklistUnverifiedDevices()},N.prototype.setGlobalErrorOnUnknownDevices=function(e){if(null===this._crypto)throw new Error("End-to-end encryption disabled");this._crypto.setGlobalErrorOnUnknownDevices(e)},N.prototype.getGlobalErrorOnUnknownDevices=function(){if(null===this._crypto)throw new Error("End-to-end encryption disabled");return this._crypto.getGlobalErrorOnUnknownDevices()},P(N,["getCrossSigningId","getStoredCrossSigningForUser","checkUserTrust","checkDeviceTrust","checkOwnCrossSigningTrust","checkCrossSigningPrivateKey","legacyDeviceVerification","prepareToEncrypt","isCrossSigningReady","bootstrapCrossSigning","getCryptoTrustCrossSignedDevices","setCryptoTrustCrossSignedDevices","countSessionsNeedingBackup"]),P(N,["getEventEncryptionInfo","createRecoveryKeyFromPassphrase","isSecretStorageReady","bootstrapSecretStorage","addSecretStorageKey","hasSecretStorageKey","storeSecret","getSecret","isSecretStored","requestSecret","getDefaultSecretStorageKeyId","setDefaultSecretStorageKeyId","checkSecretStorageKey","checkSecretStoragePrivateKey"]),N.prototype.getEventSenderDeviceInfo=async function(e){return this._crypto?this._crypto.getEventSenderDeviceInfo(e):null},N.prototype.isEventSenderVerified=async function(e){const t=await this.getEventSenderDeviceInfo(e);return!!t&&t.isVerified()},N.prototype.cancelAndResendEventRoomKeyRequest=function(e){return e.cancelAndResendKeyRequest(this._crypto,this.getUserId())},N.prototype.setRoomEncryption=function(e,t){if(!this._crypto)throw new Error("End-to-End encryption disabled");return this._crypto.setRoomEncryption(e,t)},N.prototype.isRoomEncrypted=function(e){const t=this.getRoom(e);return!!t&&(!!t.currentState.getStateEvents("m.room.encryption","")||this._roomList.isRoomEncrypted(e))},N.prototype.forceDiscardSession=function(e){if(!this._crypto)throw new Error("End-to-End encryption disabled");this._crypto.forceDiscardSession(e)},N.prototype.exportRoomKeys=function(){return this._crypto?this._crypto.exportRoomKeys():Promise.reject(new Error("End-to-end encryption disabled"))},N.prototype.importRoomKeys=function(e,t){if(!this._crypto)throw new Error("End-to-end encryption disabled");return this._crypto.importRoomKeys(e,t)},N.prototype.checkKeyBackup=function(){return this._crypto.checkKeyBackup()},N.prototype.getKeyBackupVersion=function(){return this._http.authedRequest(void 0,"GET","/room_keys/version",void 0,void 0,{prefix:_.PREFIX_UNSTABLE}).then((e=>{if(e.algorithm!==b.MEGOLM_BACKUP_ALGORITHM){const t="Unknown backup algorithm: "+e.algorithm;return Promise.reject(t)}if("object"==typeof e.auth_data&&e.auth_data.public_key)return e;{const e="Invalid backup data returned";return Promise.reject(e)}})).catch((e=>{if("M_NOT_FOUND"===e.errcode)return null;throw e}))},N.prototype.isKeyBackupTrusted=function(e){return this._crypto.isKeyBackupTrusted(e)},N.prototype.getKeyBackupEnabled=function(){if(null===this._crypto)throw new Error("End-to-end encryption disabled");return this._crypto._checkedForBackup?Boolean(this._crypto.backupKey):null},N.prototype.enableKeyBackup=function(e){if(null===this._crypto)throw new Error("End-to-end encryption disabled");this._crypto.backupInfo=e,this._crypto.backupKey&&this._crypto.backupKey.free(),this._crypto.backupKey=new n.g.Olm.PkEncryption,this._crypto.backupKey.set_recipient_key(e.auth_data.public_key),this.emit("crypto.keyBackupStatus",!0),this._crypto.scheduleKeyBackupSend()},N.prototype.disableKeyBackup=function(){if(null===this._crypto)throw new Error("End-to-end encryption disabled");this._crypto.backupInfo=null,this._crypto.backupKey&&this._crypto.backupKey.free(),this._crypto.backupKey=null,this.emit("crypto.keyBackupStatus",!1)},N.prototype.prepareKeyBackupVersion=async function(e,{secureSecretStorage:t=!1}={}){if(null===this._crypto)throw new Error("End-to-end encryption disabled");const{keyInfo:n,encodedPrivateKey:o,privateKey:r}=await this.createRecoveryKeyFromPassphrase(e);t&&(await this.storeSecret("m.megolm_backup.v1",(0,b.encodeBase64)(r)),E.logger.info("Key backup private key stored in secret storage"));const i={public_key:n.pubkey};return n.passphrase&&(i.private_key_salt=n.passphrase.salt,i.private_key_iterations=n.passphrase.iterations),{algorithm:b.MEGOLM_BACKUP_ALGORITHM,auth_data:i,recovery_key:o}},N.prototype.isKeyBackupKeyStored=async function(){return this.isSecretStored("m.megolm_backup.v1",!1)},N.prototype.createKeyBackupVersion=async function(e){if(null===this._crypto)throw new Error("End-to-end encryption disabled");const t={algorithm:e.algorithm,auth_data:e.auth_data};await this._crypto._signObject(t.auth_data),this._cryptoCallbacks.getCrossSigningKey&&this._crypto._crossSigningInfo.getId()&&await this._crypto._crossSigningInfo.signObject(t.auth_data,"master");const n=await this._http.authedRequest(void 0,"POST","/room_keys/version",void 0,t,{prefix:_.PREFIX_UNSTABLE});return await this.checkKeyBackup(),this.getKeyBackupEnabled()||E.logger.error("Key backup not usable even though we just created it"),n},N.prototype.deleteKeyBackupVersion=function(e){if(null===this._crypto)throw new Error("End-to-end encryption disabled");this._crypto.backupInfo&&this._crypto.backupInfo.version===e&&this.disableKeyBackup();const t=m.encodeUri("/room_keys/version/$version",{$version:e});return this._http.authedRequest(void 0,"DELETE",t,void 0,void 0,{prefix:_.PREFIX_UNSTABLE})},N.prototype._makeKeyBackupPath=function(e,t,n){let o;return o=void 0!==t?m.encodeUri("/room_keys/keys/$roomId/$sessionId",{$roomId:e,$sessionId:t}):void 0!==e?m.encodeUri("/room_keys/keys/$roomId",{$roomId:e}):"/room_keys/keys",{path:o,queryData:void 0===n?void 0:{version:n}}},N.prototype.sendKeyBackup=function(e,t,n,o){if(null===this._crypto)throw new Error("End-to-end encryption disabled");const r=this._makeKeyBackupPath(e,t,n);return this._http.authedRequest(void 0,"PUT",r.path,r.queryData,o,{prefix:_.PREFIX_UNSTABLE})},N.prototype.scheduleAllGroupSessionsForBackup=async function(){if(null===this._crypto)throw new Error("End-to-end encryption disabled");await this._crypto.scheduleAllGroupSessionsForBackup()},N.prototype.flagAllGroupSessionsForBackup=function(){if(null===this._crypto)throw new Error("End-to-end encryption disabled");return this._crypto.flagAllGroupSessionsForBackup()},N.prototype.isValidRecoveryKey=function(e){try{return(0,D.decodeRecoveryKey)(e),!0}catch(e){return!1}},N.prototype.keyBackupKeyFromPassword=function(e,t){return(0,S.keyFromAuthData)(t.auth_data,e)},N.prototype.keyBackupKeyFromRecoveryKey=function(e){return(0,D.decodeRecoveryKey)(e)},N.RESTORE_BACKUP_ERROR_BAD_KEY="RESTORE_BACKUP_ERROR_BAD_KEY",N.prototype.restoreKeyBackupWithPassword=async function(e,t,n,o,r){const i=await(0,S.keyFromAuthData)(o.auth_data,e);return this._restoreKeyBackup(i,t,n,o,r)},N.prototype.restoreKeyBackupWithSecretStorage=async function(e,t,n,o){const r=await this.getSecret("m.megolm_backup.v1"),i=(0,k.fixBackupKey)(r);if(i){const[e]=await this._crypto.getSecretStorageKey();await this.storeSecret("m.megolm_backup.v1",i,[e])}const a=(0,b.decodeBase64)(i||r);return this._restoreKeyBackup(a,t,n,e,o)},N.prototype.restoreKeyBackupWithRecoveryKey=function(e,t,n,o,r){const i=(0,D.decodeRecoveryKey)(e);return this._restoreKeyBackup(i,t,n,o,r)},N.prototype.restoreKeyBackupWithCache=async function(e,t,n,o){const r=await this._crypto.getSessionBackupPrivateKey();if(!r)throw new Error("Couldn't get key");return this._restoreKeyBackup(r,e,t,n,o)},N.prototype._restoreKeyBackup=function(e,t,o,r,{cacheCompleteCallback:i,progressCallback:a}={}){if(null===this._crypto)throw new Error("End-to-end encryption disabled");let s=0,u=[];const c=this._makeKeyBackupPath(t,o,r.version),l=new n.g.Olm.PkDecryption;let d;try{d=l.init_with_private_key(e)}catch(e){throw l.free(),e}return d!==r.auth_data.public_key?Promise.reject({errcode:N.RESTORE_BACKUP_ERROR_BAD_KEY}):(this._crypto.storeSessionBackupPrivateKey(e).catch((e=>{E.logger.warn("Error caching session backup key:",e)})).then(i),a&&a({stage:"fetch"}),this._http.authedRequest(void 0,"GET",c.path,c.queryData,void 0,{prefix:_.PREFIX_UNSTABLE}).then((e=>{if(e.rooms)for(const[t,n]of Object.entries(e.rooms)){if(!n.sessions)continue;s+=Object.keys(n.sessions).length;const e=O(n.sessions,l,t);for(const n of e)n.room_id=t,u.push(n)}else if(e.sessions)s=Object.keys(e.sessions).length,u=O(e.sessions,l,t);else{s=1;try{const n=B(e,l);n.room_id=t,n.session_id=o,u.push(n)}catch(e){E.logger.log("Failed to decrypt megolm session from backup",e)}}return this.importRoomKeys(u,{progressCallback:a,untrusted:!0,source:"backup"})})).then((()=>this._crypto.setTrustedBackupPubKey(d))).then((()=>({total:s,imported:u.length}))).finally((()=>{l.free()})))},N.prototype.deleteKeysFromBackup=function(e,t,n){if(null===this._crypto)throw new Error("End-to-end encryption disabled");const o=this._makeKeyBackupPath(e,t,n);return this._http.authedRequest(void 0,"DELETE",o.path,o.queryData,void 0,{prefix:_.PREFIX_UNSTABLE})},N.prototype.sendSharedHistoryKeys=async function(e,t){if(null===this._crypto)throw new Error("End-to-end encryption disabled");const n=this._roomList.getRoomEncryption(e);if(!n)return void E.logger.error("Unknown room. Not sharing decryption keys");const o=await this._crypto.downloadKeys(t),r={};for(const[e,t]of Object.entries(o))r[e]=Object.values(t);const i=this._crypto._getRoomDecryptor(e,n.algorithm);i.sendSharedHistoryInboundSessions?await i.sendSharedHistoryInboundSessions(r):E.logger.warning("Algorithm does not support sharing previous keys",n.algorithm)},N.prototype.getGroup=function(e){return this.store.getGroup(e)},N.prototype.getGroups=function(){return this.store.getGroups()},N.prototype.getMediaConfig=function(e){return this._http.authedRequest(e,"GET","/config",void 0,void 0,{prefix:_.PREFIX_MEDIA_R0})},N.prototype.getRoom=function(e){return this.store.getRoom(e)},N.prototype.getRooms=function(){return this.store.getRooms()},N.prototype.getVisibleRooms=function(){const e=this.store.getRooms(),t=new Set;for(const n of e){const e=n.currentState.getStateEvents("m.room.create","");if(e){const n=e.getContent().predecessor;n&&n.room_id&&t.add(n.room_id)}}return e.filter((e=>!e.currentState.getStateEvents("m.room.tombstone","")||!t.has(e.roomId)))},N.prototype.getUser=function(e){return this.store.getUser(e)},N.prototype.getUsers=function(){return this.store.getUsers()},N.prototype.setAccountData=function(e,t,n){const o=m.encodeUri("/user/$userId/account_data/$type",{$userId:this.credentials.userId,$type:e}),r=(0,_.retryNetworkOperation)(5,(()=>this._http.authedRequest(void 0,"PUT",o,void 0,t)));return n&&r.then((e=>n(null,e)),n),r},N.prototype.getAccountData=function(e){return this.store.getAccountData(e)},N.prototype.getAccountDataFromServer=async function(e){if(this.isInitialSyncComplete()){const t=this.store.getAccountData(e);return t?t.getContent():null}const t=m.encodeUri("/user/$userId/account_data/$type",{$userId:this.credentials.userId,$type:e});try{return await this._http.authedRequest(void 0,"GET",t,void 0)}catch(e){if(e.data&&"M_NOT_FOUND"===e.data.errcode)return null;throw e}},N.prototype.getIgnoredUsers=function(){const e=this.getAccountData("m.ignored_user_list");return e&&e.getContent()&&e.getContent().ignored_users?Object.keys(e.getContent().ignored_users):[]},N.prototype.setIgnoredUsers=function(e,t){const n={ignored_users:{}};return e.map((e=>n.ignored_users[e]={})),this.setAccountData("m.ignored_user_list",n,t)},N.prototype.isUserIgnored=function(e){return-1!==this.getIgnoredUsers().indexOf(e)},N.prototype.joinRoom=function(e,t,n){if(m.isFunction(t))throw new Error("Expected 'opts' object, got function.");void 0===(t=t||{}).syncRoom&&(t.syncRoom=!0);const o=this.getRoom(e);if(o&&o.hasMembershipState(this.credentials.userId,"join"))return Promise.resolve(o);let r=Promise.resolve();t.inviteSignUrl&&(r=this._http.requestOtherUrl(void 0,"POST",t.inviteSignUrl,{mxid:this.credentials.userId}));const i={};t.viaServers&&(i.server_name=t.viaServers);const a={qsStringifyOptions:{arrayFormat:"repeat"}},s=this;return new Promise(((o,u)=>{r.then((function(t){const n={};t&&(n.third_party_signed=t);const o=m.encodeUri("/join/$roomid",{$roomid:e});return s._http.authedRequest(void 0,"POST",o,i,n,a)})).then((function(e){const n=e.room_id,o=new c.SyncApi(s,s._clientOpts).createRoom(n);return t.syncRoom,Promise.resolve(o)})).then((function(e){G(n,o,e)}),(function(e){K(n,u,e)}))}))},N.prototype.resendEvent=function(e,t){return j(t,e,l.EventStatus.SENDING),U(this,t,e)},N.prototype.cancelPendingEvent=function(e){if([l.EventStatus.QUEUED,l.EventStatus.NOT_SENT].indexOf(e.status)<0)throw new Error("cannot cancel an event with status "+e.status);this.scheduler&&this.scheduler.removeEventFromQueue(e),j(this.getRoom(e.getRoomId()),e,l.EventStatus.CANCELLED)},N.prototype.setRoomName=function(e,t,n){return this.sendStateEvent(e,"m.room.name",{name:t},void 0,n)},N.prototype.setRoomTopic=function(e,t,n){return this.sendStateEvent(e,"m.room.topic",{topic:t},void 0,n)},N.prototype.getRoomTags=function(e,t){const n=m.encodeUri("/user/$userId/rooms/$roomId/tags/",{$userId:this.credentials.userId,$roomId:e});return this._http.authedRequest(t,"GET",n,void 0)},N.prototype.setRoomTag=function(e,t,n,o){const r=m.encodeUri("/user/$userId/rooms/$roomId/tags/$tag",{$userId:this.credentials.userId,$roomId:e,$tag:t});return this._http.authedRequest(o,"PUT",r,void 0,n)},N.prototype.deleteRoomTag=function(e,t,n){const o=m.encodeUri("/user/$userId/rooms/$roomId/tags/$tag",{$userId:this.credentials.userId,$roomId:e,$tag:t});return this._http.authedRequest(n,"DELETE",o,void 0,void 0)},N.prototype.setRoomAccountData=function(e,t,n,o){const r=m.encodeUri("/user/$userId/rooms/$roomId/account_data/$type",{$userId:this.credentials.userId,$roomId:e,$type:t});return this._http.authedRequest(o,"PUT",r,void 0,n)},N.prototype.setPowerLevel=function(e,t,n,o,r){let i={users:{}};o&&"m.room.power_levels"===o.getType()&&(i=m.deepCopy(o.getContent())),i.users[t]=n;const a=m.encodeUri("/rooms/$roomId/state/m.room.power_levels",{$roomId:e});return this._http.authedRequest(r,"PUT",a,void 0,i)},N.prototype.sendEvent=function(e,t,n,o,r){return this._sendCompleteEvent(e,{type:t,content:n},o,r)},N.prototype._sendCompleteEvent=function(e,t,n,o){m.isFunction(n)&&(o=n,n=void 0),n||(n=this.makeTxnId());const r=new l.MatrixEvent(Object.assign(t,{event_id:"~"+e+":"+n,user_id:this.credentials.userId,sender:this.credentials.userId,room_id:e,origin_server_ts:(new Date).getTime()})),i=this.getRoom(e),a=r.getAssociatedId();if(a&&a.startsWith("~")){const e=i.getPendingEvents().find((e=>e.getId()===a));e.once("Event.localEventIdReplaced",(()=>{r.updateAssociatedId(e.getId())}))}const s=r.getType();return E.logger.log(`sendEvent of type ${s} in ${e} with txnId ${n}`),r.setTxnId(n),r.setStatus(l.EventStatus.SENDING),i&&i.addPendingEvent(r,n),r.status===l.EventStatus.NOT_SENT?Promise.reject(new Error("Event blocked by other events not yet sent")):U(this,i,r,o)},N.prototype.redactEvent=function(e,t,n,o){const r=("object"==typeof o?o:{}).reason,i="function"==typeof o?o:void 0;return this._sendCompleteEvent(e,{type:"m.room.redaction",content:{reason:r},redacts:t},n,i)},N.prototype.sendMessage=function(e,t,n,o){return m.isFunction(n)&&(o=n,n=void 0),this.sendEvent(e,"m.room.message",t,n,o)},N.prototype.sendTextMessage=function(e,t,n,o){const r=y.makeTextMessage(t);return this.sendMessage(e,r,n,o)},N.prototype.sendNotice=function(e,t,n,o){const r=y.makeNotice(t);return this.sendMessage(e,r,n,o)},N.prototype.sendEmoteMessage=function(e,t,n,o){const r=y.makeEmoteMessage(t);return this.sendMessage(e,r,n,o)},N.prototype.sendImageMessage=function(e,t,n,o,r){m.isFunction(o)&&(r=o,o=void 0),o||(o="Image");const i={msgtype:"m.image",url:t,info:n,body:o};return this.sendMessage(e,i,r)},N.prototype.sendStickerMessage=function(e,t,n,o,r){m.isFunction(o)&&(r=o,o=void 0),o||(o="Sticker");const i={url:t,info:n,body:o};return this.sendEvent(e,"m.sticker",i,r,void 0)},N.prototype.sendHtmlMessage=function(e,t,n,o){const r=y.makeHtmlMessage(t,n);return this.sendMessage(e,r,o)},N.prototype.sendHtmlNotice=function(e,t,n,o){const r=y.makeHtmlNotice(t,n);return this.sendMessage(e,r,o)},N.prototype.sendHtmlEmote=function(e,t,n,o){const r=y.makeHtmlEmote(t,n);return this.sendMessage(e,r,o)},N.prototype.sendReceipt=function(e,t,n,o){if("function"==typeof n&&(o=n,n={}),this.isGuest())return Promise.resolve({});const r=m.encodeUri("/rooms/$roomId/receipt/$receiptType/$eventId",{$roomId:e.getRoomId(),$receiptType:t,$eventId:e.getId()}),i=this._http.authedRequest(o,"POST",r,void 0,n||{}),a=this.getRoom(e.getRoomId());return a&&a._addLocalEchoReceipt(this.credentials.userId,e,t),i},N.prototype.sendReadReceipt=async function(e,t,n){"function"==typeof t&&(n=t,t={}),t||(t={});const o=e.getId(),r=this.getRoom(e.getRoomId());if(r&&r.hasPendingEvent(o))throw new Error(`Cannot set read receipt to a pending event (${o})`);const i={"m.hidden":Boolean(t.hidden)};return this.sendReceipt(e,"m.read",i,n)},N.prototype.setRoomReadMarkers=async function(e,t,n,o){const r=this.getRoom(e);if(r&&r.hasPendingEvent(t))throw new Error(`Cannot set read marker to a pending event (${t})`);let i;if(n){if(i=n.getId(),r&&r.hasPendingEvent(i))throw new Error(`Cannot set read receipt to a pending event (${i})`);r&&r._addLocalEchoReceipt(this.credentials.userId,n,"m.read")}return this.setRoomReadMarkersHttpRequest(e,t,i,o)},N.prototype.getUrlPreview=function(e,t,n){const o=(t=6e4*Math.floor(t/6e4))+"_"+e,r=this.urlPreviewCache[o];if(r)return n&&r.then(n).catch(n),r;const i=this._http.authedRequest(n,"GET","/preview_url",{url:e,ts:t},void 0,{prefix:_.PREFIX_MEDIA_R0});return this.urlPreviewCache[o]=i,i},N.prototype.sendTyping=function(e,t,n,o){if(this.isGuest())return Promise.resolve({});const r=m.encodeUri("/rooms/$roomId/typing/$userId",{$roomId:e,$userId:this.credentials.userId}),i={typing:t};return t&&(i.timeout=n||2e4),this._http.authedRequest(o,"PUT",r,void 0,i)},N.prototype.getRoomUpgradeHistory=function(e,t=!1){let n=this.getRoom(e);if(!n)return[];const o=[n];let r=n.currentState.getStateEvents("m.room.create","");for(;r;){E.logger.log(`Looking at ${r.getId()}`);const e=r.getContent().predecessor;if(!e||!e.room_id)break;{E.logger.log(`Looking at predecessor ${e.room_id}`);const n=this.getRoom(e.room_id);if(!n)break;if(t){const e=n.currentState.getStateEvents("m.room.tombstone","");if(!e||e.getContent().replacement_room!==n.roomId)break}o.splice(0,0,n),r=n.currentState.getStateEvents("m.room.create","")}}let i=n.currentState.getStateEvents("m.room.tombstone","");for(;i;){const e=this.getRoom(i.getContent().replacement_room);if(!e)break;if(e.roomId===n.roomId)break;if(t){if(r=e.currentState.getStateEvents("m.room.create",""),!r||!r.getContent().predecessor)break;if(r.getContent().predecessor.room_id!==n.roomId)break}if(o.push(e),new Set(o.map((e=>e.roomId))).sizethis.leave(e).then((()=>{r[e]=null})).catch((t=>(r[e]=t,null)));for(const e of o)i.push(a(e.roomId));return Promise.all(i).then((()=>r))},N.prototype.ban=function(e,t,n,o){return z(this,e,t,"ban",n,o)},N.prototype.forget=function(e,t,n){void 0===t&&(t=!0);const o=z(this,e,void 0,"forget",void 0,n);if(!t)return o;const r=this;return o.then((function(t){return r.store.removeRoom(e),r.emit("deleteRoom",e),t}))},N.prototype.unban=function(e,t,n){const o=m.encodeUri("/rooms/$roomId/unban",{$roomId:e}),r={user_id:t};return this._http.authedRequest(n,"POST",o,void 0,r)},N.prototype.kick=function(e,t,n,o){return function(e,t,n,o,r,i){m.isFunction(r)&&(i=r,r=void 0);const a=m.encodeUri("/rooms/$roomId/state/m.room.member/$userId",{$roomId:t,$userId:n});return e._http.authedRequest(i,"PUT",a,void 0,{membership:"leave",reason:r})}(this,e,t,0,n,o)},N.prototype.getPushActionsForEvent=function(e){return e.getPushActions()||e.setPushActions(this._pushProcessor.actionsForEvent(e)),e.getPushActions()},N.prototype.setProfileInfo=function(e,t,n){const o=m.encodeUri("/profile/$userId/$info",{$userId:this.credentials.userId,$info:e});return this._http.authedRequest(n,"PUT",o,void 0,t)},N.prototype.setDisplayName=async function(e,t){const n=await this.setProfileInfo("displayname",{displayname:e},t),o=this.getUser(this.getUserId());return o&&(o.displayName=e,o.emit("User.displayName",o.events.presence,o)),n},N.prototype.setAvatarUrl=async function(e,t){const n=await this.setProfileInfo("avatar_url",{avatar_url:e},t),o=this.getUser(this.getUserId());return o&&(o.avatarUrl=e,o.emit("User.avatarUrl",o.events.presence,o)),n},N.prototype.mxcUrlToHttp=function(e,t,n,o,r){return(0,F.getHttpUriForMxc)(this.baseUrl,e,t,n,o,r)},N.prototype._unstable_setStatusMessage=function(e){const t="im.vector.user_status";return Promise.all(this.getRooms().map((n=>{const o="join"===n.getMyMembership(),r=2===n.getInvitedAndJoinedMemberCount();return o&&r&&n.currentState.mayClientSendStateEvent(t,this)?this.sendStateEvent(n.roomId,t,{status:e},this.getUserId()):Promise.resolve()})))},N.prototype.setPresence=function(e,t){const n=m.encodeUri("/presence/$userId/status",{$userId:this.credentials.userId});if("string"==typeof e&&(e={presence:e}),-1==["offline","online","unavailable"].indexOf(e.presence))throw new Error("Bad presence value: "+e.presence);return this._http.authedRequest(t,"PUT",n,void 0,e)},N.prototype.getPresence=function(e,t){const n=m.encodeUri("/presence/$userId/status",{$userId:e});return this._http.authedRequest(t,"GET",n,void 0,void 0)},N.prototype.scrollback=function(e,t,n){m.isFunction(t)&&(n=t,t=void 0),t=t||30;let o=0,r=this._ongoingScrollbacks[e.roomId]||{};if(r.promise)return r.promise;if(r.errorTs){const e=Date.now()-r.errorTs;o=Math.max(3e3-e,0)}if(null===e.oldState.paginationToken)return Promise.resolve(e);const i=this.store.scrollback(e,t).length;if(i===t)return Promise.resolve(e);t-=i;const a=this,s=new Promise(((r,i)=>{(0,m.sleep)(o).then((function(){return a._createMessagesRequest(e.roomId,e.oldState.paginationToken,t,"b")})).then((function(t){const o=t.chunk.map($(a));if(t.state){const n=t.state.map($(a));e.currentState.setUnknownStateEvents(n)}e.addEventsToTimeline(o,!0,e.getLiveTimeline()),e.oldState.paginationToken=t.end,0===t.chunk.length&&(e.oldState.paginationToken=null),a.store.storeEvents(e,o,t.end,!0),a._ongoingScrollbacks[e.roomId]=null,G(n,r,e)}),(function(t){a._ongoingScrollbacks[e.roomId]={errorTs:Date.now()},K(n,i,t)}))}));return r={promise:s,errorTs:null},this._ongoingScrollbacks[e.roomId]=r,s},N.prototype.getEventTimeline=function(e,t){if(!this.timelineSupport)throw new Error("timeline support is disabled. Set the 'timelineSupport' parameter to true when creating MatrixClient to enable it.");if(e.getTimelineForEvent(t))return Promise.resolve(e.getTimelineForEvent(t));const n=m.encodeUri("/rooms/$roomId/context/$eventId",{$roomId:e.room.roomId,$eventId:t});let o;this._clientOpts.lazyLoadMembers&&(o={filter:JSON.stringify(u.Filter.LAZY_LOADING_MESSAGES_FILTER)});const r=this;return r._http.authedRequest(void 0,"GET",n,o).then((function(n){if(!n.event)throw new Error("'event' not in '/context' result - homeserver too old?");if(e.getTimelineForEvent(t))return e.getTimelineForEvent(t);n.events_after.reverse();const o=n.events_after.concat([n.event]).concat(n.events_before).map(r.getEventMapper());let i=e.getTimelineForEvent(o[0].getId());if(i){const e=n.state.map(r.getEventMapper());i.getState(d.EventTimeline.BACKWARDS).setUnknownStateEvents(e)}else i=e.addTimeline(),i.initialiseState(n.state.map(r.getEventMapper())),i.getState(d.EventTimeline.FORWARDS).paginationToken=n.end;return e.addEventsToTimeline(o,!0,i,n.start),e.getTimelineForEvent(t)||i}))},N.prototype._createMessagesRequest=function(e,t,n,o,r){const i=m.encodeUri("/rooms/$roomId/messages",{$roomId:e});void 0===n&&(n=30);const a={from:t,limit:n,dir:o};let s=null;return this._clientOpts.lazyLoadMembers&&(s=Object.assign({},u.Filter.LAZY_LOADING_MESSAGES_FILTER)),r&&(s=s||{},Object.assign(s,r.getRoomTimelineFilterComponent())),s&&(a.filter=JSON.stringify(s)),this._http.authedRequest(void 0,"GET",i,a)},N.prototype.paginateEventTimeline=function(e,t){const n=e.getTimelineSet()===this._notifTimelineSet,o=(t=t||{}).backwards||!1;if(n&&!o)throw new Error("paginateNotifTimeline can only paginate backwards");const r=o?d.EventTimeline.BACKWARDS:d.EventTimeline.FORWARDS,i=e.getPaginationToken(r);if(!i)return Promise.resolve(!1);const a=e._paginationRequests[r];if(a)return a;let s,u,c;const l=this;if(n)s="/notifications",u={limit:"limit"in t?t.limit:30,only:"highlight"},i&&"end"!==i&&(u.from=i),c=this._http.authedRequest(void 0,"GET","/notifications",u,void 0).then((function(t){const n=t.next_token,i=[];for(let e=0;e{r.then((function(){o.getPushRules().then((function(t){o.pushRules=t,e()}),(function(e){t(e)}))}),(function(e){o.getPushRules().then((function(n){o.pushRules=n,t(e)}),(function(n){t(e)}))}))}))},N.prototype.searchMessageText=function(e,t){const n={search_term:e.query};return"keys"in e&&(n.keys=e.keys),this.search({body:{search_categories:{room_events:n}}},t)},N.prototype.searchRoomEvents=function(e){const t={search_categories:{room_events:{search_term:e.term,filter:e.filter,order_by:"recent",event_context:{before_limit:1,after_limit:1,include_profile:!0}}}},n={_query:t,results:[],highlights:[]};return this.search({body:t}).then(this._processRoomEventsSearch.bind(this,n))},N.prototype.backPaginateRoomEventsSearch=function(e){if(!e.next_batch)return Promise.reject(new Error("Cannot backpaginate event search any further"));if(e.pendingRequest)return e.pendingRequest;const t={body:e._query,next_batch:e.next_batch},n=this.search(t).then(this._processRoomEventsSearch.bind(this,e)).finally((function(){e.pendingRequest=null}));return e.pendingRequest=n,n},N.prototype._processRoomEventsSearch=function(e,t){const n=t.search_categories.room_events;e.count=n.count,e.next_batch=n.next_batch;const o={};n.highlights.forEach((function(e){o[e]=1})),e.highlights.forEach((function(e){o[e]=1})),e.highlights=Object.keys(o);const r=n.results?n.results.length:0;for(let t=0;tM)E.logger.debug("TURN creds are valid for another "+t+" ms: not fetching new ones."),e=!0;else{E.logger.debug("Fetching new TURN credentials");try{const t=await this.turnServer();if(t.uris){E.logger.log("Got TURN URIs: "+t.uris+" refresh in "+t.ttl+" secs");const n={urls:t.uris,username:t.username,credential:t.password};this._turnServers=[n],this._turnServersExpiry=Date.now()+1e3*t.ttl,e=!0}}catch(e){E.logger.error("Failed to get TURN URIs",e),403===e.httpStatus&&(E.logger.info("TURN access unavailable for this account: stopping credentials checks"),null!==this._checkTurnServersIntervalID&&n.g.clearInterval(this._checkTurnServersIntervalID),this._checkTurnServersIntervalID=null)}}return e},N.prototype.setFallbackICEServerAllowed=function(e){this._fallbackICEServerAllowed=e},N.prototype.isFallbackICEServerAllowed=function(){return this._fallbackICEServerAllowed},N.prototype.isSynapseAdministrator=function(){const e=m.encodeUri("/_synapse/admin/v1/users/$userId/admin",{$userId:this.getUserId()});return this._http.authedRequest(void 0,"GET",e,void 0,void 0,{prefix:""}).then((e=>e.admin))},N.prototype.whoisSynapseUser=function(e){const t=m.encodeUri("/_synapse/admin/v1/whois/$userId",{$userId:e});return this._http.authedRequest(void 0,"GET",t,void 0,void 0,{prefix:""})},N.prototype.deactivateSynapseUser=function(e){const t=m.encodeUri("/_synapse/admin/v1/deactivate/$userId",{$userId:e});return this._http.authedRequest(void 0,"POST",t,void 0,void 0,{prefix:""})},N.prototype.startClient=async function(e){if(this.clientRunning)return;this.clientRunning=!0,"number"==typeof e&&(e={initialSyncLimit:e});const t=this.getUserId();t&&this.store.storeUser(new A.User(t)),this._crypto&&(this._crypto.uploadDeviceKeys(),this._crypto.start()),this._supportsVoip&&(this._checkTurnServersIntervalID=setInterval((()=>{this._checkTurnServers()}),M),this._checkTurnServers()),this._syncApi&&(E.logger.error("Still have sync object whilst not running: stopping old one"),this._syncApi.stop()),(e=Object.assign({},e)).crypto=this._crypto,e.canResetEntireTimeline=e=>!!this._canResetTimelineCallback&&this._canResetTimelineCallback(e),this._clientOpts=e,this._syncApi=new c.SyncApi(this,e),this._syncApi.sync(),void 0!==e.clientWellKnownPollPeriod&&(this._clientWellKnownIntervalID=setInterval((()=>{this._fetchClientWellKnown()}),1e3*e.clientWellKnownPollPeriod),this._fetchClientWellKnown())},N.prototype._fetchClientWellKnown=async function(){this._clientWellKnownPromise=T.AutoDiscovery.getRawClientConfig(this.getDomain()),this._clientWellKnown=await this._clientWellKnownPromise,this.emit("WellKnown.client",this._clientWellKnown)},N.prototype.getClientWellKnown=function(){return this._clientWellKnown},N.prototype.waitForClientWellKnown=function(){return this._clientWellKnownPromise},N.prototype._storeClientOptions=function(){const e=["boolean","string","number"],t=Object.entries(this._clientOpts).filter((([t,n])=>e.includes(typeof n))).reduce(((e,[t,n])=>(e[t]=n,e)),{});return this.store.storeClientOptions(t)},N.prototype._unstable_getSharedRooms=async function(e){if(!await this.doesServerSupportUnstableFeature("uk.half-shot.msc2666"))throw Error("Server does not support shared_rooms API");const t=m.encodeUri("/uk.half-shot.msc2666/user/shared_rooms/$userId",{$userId:e});return(await this._http.authedRequest(void 0,"GET",t,void 0,void 0,{prefix:_.PREFIX_UNSTABLE})).joined},N.prototype.stopClient=function(){E.logger.log("stopping MatrixClient"),this.clientRunning=!1,this._syncApi&&(this._syncApi.stop(),this._syncApi=null),this._crypto&&this._crypto.stop(),this._peekSync&&this._peekSync.stopPeeking(),this._callEventHandler&&(this._callEventHandler.stop(),this._callEventHandler=null),n.g.clearInterval(this._checkTurnServersIntervalID),void 0!==this._clientWellKnownIntervalID&&n.g.clearInterval(this._clientWellKnownIntervalID)},N.prototype.getVersions=function(){return this._serverVersionsPromise||(this._serverVersionsPromise=this._http.request(void 0,"GET","/_matrix/client/versions",void 0,void 0,{prefix:""}).catch((e=>{throw this._serverVersionsPromise=null,e}))),this._serverVersionsPromise},N.prototype.isVersionSupported=async function(e){const{versions:t}=await this.getVersions();return t&&t.includes(e)},N.prototype.doesServerSupportLazyLoading=async function(){const e=await this.getVersions();if(!e)return!1;const t=e.versions,n=e.unstable_features;return t&&t.includes("r0.5.0")||n&&n["m.lazy_load_members"]},N.prototype.doesServerRequireIdServerParam=async function(){const e=await this.getVersions();if(!e)return!0;const t=e.versions;if(t&&t.includes("r0.6.0"))return!1;const n=e.unstable_features;return!n||void 0===n["m.require_identity_server"]||n["m.require_identity_server"]},N.prototype.doesServerAcceptIdentityAccessToken=async function(){const e=await this.getVersions();if(!e)return!1;const t=e.versions,n=e.unstable_features;return t&&t.includes("r0.6.0")||n&&n["m.id_access_token"]},N.prototype.doesServerSupportSeparateAddAndBind=async function(){const e=await this.getVersions();if(!e)return!1;const t=e.versions,n=e.unstable_features;return t&&t.includes("r0.6.0")||n&&n["m.separate_add_and_bind"]},N.prototype.doesServerSupportUnstableFeature=async function(e){const t=await this.getVersions();if(!t)return!1;const n=t.unstable_features;return n&&!!n[e]},N.prototype.doesServerForceEncryptionForPreset=async function(e){const t=await this.getVersions();if(!t)return!1;const n=t.unstable_features;return n&&!!n[`io.element.e2ee_forced.${e}`]},N.prototype.hasLazyLoadMembersEnabled=function(){return!!this._clientOpts.lazyLoadMembers},N.prototype.setCanResetTimelineCallback=function(e){this._canResetTimelineCallback=e},N.prototype.getCanResetTimelineCallback=function(){return this._canResetTimelineCallback},N.prototype.relations=async function(e,t,n,o,r={}){const i=function(e,t,n){return"m.reaction"===n?n:e.isRoomEncrypted(t)?"m.room.encrypted":n}(this,e,o),a=await this.fetchRelations(e,t,n,i,r),s=this.getEventMapper();let u;a.original_event&&(u=s(a.original_event));let c=a.chunk.map(s);if("m.room.encrypted"===i){const e=u?c.concat(u):c;await Promise.all(e.map((e=>new Promise((t=>e.once("Event.decrypted",t)))))),c=c.filter((e=>e.getType()===o))}return u&&"m.replace"===n&&(c=c.filter((e=>e.getSender()===u.getSender()))),{originalEvent:u,events:c,nextBatch:a.next_batch}},N.prototype.getEventMapper=function(e){return $(this,e)},N.prototype.getCrossSigningCacheCallbacks=function(){return this._crypto&&this._crypto._crossSigningInfo.getCacheCallbacks()},N.prototype.generateClientSecret=function(){return(0,x.randomString)(32)},N.prototype.decryptEventIfNeeded=function(e,t){return e.shouldAttemptDecryption()&&e.attemptDecryption(this._crypto,t),e.isBeingDecrypted()?e._decryptionPromise:Promise.resolve()}},44656:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.makeHtmlMessage=function(e,t){return{msgtype:"m.text",format:"org.matrix.custom.html",body:e,formatted_body:t}},t.makeHtmlNotice=function(e,t){return{msgtype:"m.notice",format:"org.matrix.custom.html",body:e,formatted_body:t}},t.makeHtmlEmote=function(e,t){return{msgtype:"m.emote",format:"org.matrix.custom.html",body:e,formatted_body:t}},t.makeTextMessage=function(e){return{msgtype:"m.text",body:e}},t.makeNotice=function(e){return{msgtype:"m.notice",body:e}},t.makeEmoteMessage=function(e){return{msgtype:"m.emote",body:e}}},73667:(e,t,n)=>{"use strict";var o=n(20862);Object.defineProperty(t,"__esModule",{value:!0}),t.getHttpUriForMxc=function(e,t,n,o,i,a){if("string"!=typeof t||!t)return"";if(0!==t.indexOf("mxc://"))return a?t:"";let s=t.slice(6),u="/_matrix/media/r0/download/";const c={};n&&(c.width=Math.round(n)),o&&(c.height=Math.round(o)),i&&(c.method=i),Object.keys(c).length>0&&(u="/_matrix/media/r0/thumbnail/");const l=s.indexOf("#");let d="";return l>=0&&(d=s.substr(l),s=s.substr(0,l)),e+u+s+(0===Object.keys(c).length?"":"?"+r.encodeParams(c))+d};var r=o(n(3102))},3075:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createCryptoStoreCacheCallbacks=function(e,t){return{getCrossSigningKeyCache:async function(n,r){const i=await new Promise((t=>e.doTxn("readonly",[a.IndexedDBCryptoStore.STORE_ACCOUNT],(o=>{e.getSecretStorePrivateKey(o,t,n)}))));if(i&&i.ciphertext){const e=Buffer.from(t._pickleKey),r=await(0,s.decryptAES)(i,e,n);return(0,o.decodeBase64)(r)}return i},storeCrossSigningKeyCache:async function(n,r){if(!(r instanceof Uint8Array))throw new Error(`storeCrossSigningKeyCache expects Uint8Array, got ${r}`);const i=Buffer.from(t._pickleKey);return r=await(0,s.encryptAES)((0,o.encodeBase64)(r),i,n),e.doTxn("readwrite",[a.IndexedDBCryptoStore.STORE_ACCOUNT],(t=>{e.storeSecretStorePrivateKey(t,n,r)}))}}},t.requestKeysDuringVerification=async function(e,t,n){if(e.getUserId()===t)return i.logger.log("Cross-signing: Self-verification done; requesting keys"),new Promise(((t,r)=>{const a=e,s=a._crypto._crossSigningInfo,u=new c(s.userId,{getCrossSigningKey:async e=>{i.logger.debug("Cross-signing: requesting secret",e,n);const{promise:t}=a.requestSecret(`m.cross_signing.${e}`,[n]),r=await t,s=(0,o.decodeBase64)(r);return Uint8Array.from(s)}},s._cacheCallbacks);u.keys=s.keys;const l=new Promise(((e,t)=>{setTimeout(e,6e4,new Error("Timeout"))})),d=new Promise((async e=>{if(!await a._crypto.getSessionBackupPrivateKey()){i.logger.info("No cached backup key found. Requesting...");const e=a.requestSecret("m.megolm_backup.v1",[n]),t=await e.promise;i.logger.info("Got key backup key, decoding...");const r=(0,o.decodeBase64)(t);i.logger.info("Decoded backup key, storing..."),a._crypto.storeSessionBackupPrivateKey(Uint8Array.from(r)),i.logger.info("Backup key stored. Starting backup restore...");const s=await a.getKeyBackupVersion();a.restoreKeyBackupWithCache(void 0,void 0,s).then((()=>{i.logger.info("Backup restored.")}))}e()}));return Promise.race([Promise.all([u.getCrossSigningKey("master"),u.getCrossSigningKey("self_signing"),u.getCrossSigningKey("user_signing"),d]),l]).then(t,r)})).catch((e=>{i.logger.warn("Cross-signing: failure while requesting keys:",e)}))},t.DeviceTrustLevel=t.UserTrustLevel=t.CrossSigningLevel=t.CrossSigningInfo=void 0;var o=n(32772),r=n(17187),i=n(7434),a=n(57585),s=n(2611);function u(e){return Object.values(e.keys)[0]}class c extends r.EventEmitter{constructor(e,t,n){super(),Object.defineProperty(this,"userId",{enumerable:!0,value:e}),this._callbacks=t||{},this._cacheCallbacks=n||{},this.keys={},this.firstUse=!0,this.crossSigningVerifiedBefore=!1}static fromStorage(e,t){const n=new c(t);for(const t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}toStorage(){return{keys:this.keys,firstUse:this.firstUse,crossSigningVerifiedBefore:this.crossSigningVerifiedBefore}}async getCrossSigningKey(e,t){const o=["master","self_signing","user_signing"].indexOf(e)>=0;if(!this._callbacks.getCrossSigningKey)throw new Error("No getCrossSigningKey callback supplied");function r(e){if(!e)return;const o=new n.g.Olm.PkSigning,r=o.init_with_seed(e);if(r===t)return[r,o];o.free()}let i;void 0===t&&(t=this.getId(e)),this._cacheCallbacks.getCrossSigningKeyCache&&o&&(i=await this._cacheCallbacks.getCrossSigningKeyCache(e,t));const a=r(i);if(a)return a;i=await this._callbacks.getCrossSigningKey(e,t);const s=r(i);if(s)return this._cacheCallbacks.storeCrossSigningKeyCache&&o&&await this._cacheCallbacks.storeCrossSigningKeyCache(e,i),s;if(!i)throw new Error("getCrossSigningKey callback for "+e+" returned falsey");throw new Error("Key type "+e+" from getCrossSigningKey callback did not match")}async isStoredInSecretStorage(e){const t=await e.isStored("m.cross_signing.master",!1)||{};function n(e){for(const n of Object.keys(t))e[n]||delete t[n]}for(const t of["self_signing","user_signing"])n(await e.isStored(`m.cross_signing.${t}`,!1)||{});return Object.keys(t).length?t:null}static async storeInSecretStorage(e,t){for(const[n,r]of e){const e=(0,o.encodeBase64)(r);await t.store(`m.cross_signing.${n}`,e)}}static async getFromSecretStorage(e,t){const n=await t.get(`m.cross_signing.${e}`);return n?(0,o.decodeBase64)(n):null}async isStoredInKeyCache(e){const t=this._cacheCallbacks;if(!t)return!1;const n=e?[e]:["master","self_signing","user_signing"];for(const e of n)if(!await t.getCrossSigningKeyCache(e))return!1;return!0}async getCrossSigningKeysFromCache(){const e=new Map,t=this._cacheCallbacks;if(!t)return e;for(const n of["master","self_signing","user_signing"]){const o=await t.getCrossSigningKeyCache(n);o&&e.set(n,o)}return e}getId(e){return e=e||"master",this.keys[e]?u(this.keys[e]):null}async resetKeys(e){if(!this._callbacks.saveCrossSigningKeys)throw new Error("No saveCrossSigningKeys callback supplied");if(void 0===e||e&l.MASTER||!this.keys.master)e=l.MASTER|l.USER_SIGNING|l.SELF_SIGNING;else if(0===e)return;const t={},r={};let i,a;try{if(e&l.MASTER?(i=new n.g.Olm.PkSigning,t.master=i.generate_seed(),a=i.init_with_seed(t.master),r.master={user_id:this.userId,usage:["master"],keys:{["ed25519:"+a]:a}}):[a,i]=await this.getCrossSigningKey("master"),e&l.SELF_SIGNING){const e=new n.g.Olm.PkSigning;try{t.self_signing=e.generate_seed();const n=e.init_with_seed(t.self_signing);r.self_signing={user_id:this.userId,usage:["self_signing"],keys:{["ed25519:"+n]:n}},(0,o.pkSign)(r.self_signing,i,this.userId,a)}finally{e.free()}}if(e&l.USER_SIGNING){const e=new n.g.Olm.PkSigning;try{t.user_signing=e.generate_seed();const n=e.init_with_seed(t.user_signing);r.user_signing={user_id:this.userId,usage:["user_signing"],keys:{["ed25519:"+n]:n}},(0,o.pkSign)(r.user_signing,i,this.userId,a)}finally{e.free()}}Object.assign(this.keys,r),this._callbacks.saveCrossSigningKeys(t)}finally{i&&i.free()}}clearKeys(){this.keys={}}setKeys(e){const t={};if(e.master){if(e.master.user_id!==this.userId){const t="Mismatched user ID "+e.master.user_id+" in master key from "+this.userId;throw i.logger.error(t),new Error(t)}this.keys.master?u(e.master)!==this.getId()&&(this.firstUse=!1):this.firstUse=!0,t.master=e.master}else{if(!this.keys.master)throw new Error("Tried to set cross-signing keys without a master key");t.master=this.keys.master}const n=u(t.master);if(e.user_signing){if(e.user_signing.user_id!==this.userId){const t="Mismatched user ID "+e.master.user_id+" in user_signing key from "+this.userId;throw i.logger.error(t),new Error(t)}try{(0,o.pkVerify)(e.user_signing,n,this.userId)}catch(e){throw i.logger.error("invalid signature on user-signing key"),e}}if(e.self_signing){if(e.self_signing.user_id!==this.userId){const t="Mismatched user ID "+e.master.user_id+" in self_signing key from "+this.userId;throw i.logger.error(t),new Error(t)}try{(0,o.pkVerify)(e.self_signing,n,this.userId)}catch(e){throw i.logger.error("invalid signature on self-signing key"),e}}e.master&&(this.keys.master=e.master,this.keys.self_signing=null,this.keys.user_signing=null),e.self_signing&&(this.keys.self_signing=e.self_signing),e.user_signing&&(this.keys.user_signing=e.user_signing)}updateCrossSigningVerifiedBefore(e){!this.crossSigningVerifiedBefore&&e&&(this.crossSigningVerifiedBefore=!0)}async signObject(e,t){if(!this.keys[t])throw new Error("Attempted to sign with "+t+" key but no such key present");const[n,r]=await this.getCrossSigningKey(t);try{return(0,o.pkSign)(e,r,this.userId,n),e}finally{r.free()}}async signUser(e){if(this.keys.user_signing)return this.signObject(e.keys.master,"user_signing");i.logger.info("No user signing key: not signing user")}async signDevice(e,t){if(e!==this.userId)throw new Error(`Trying to sign ${e}'s device; can only sign our own device`);if(this.keys.self_signing)return this.signObject({algorithms:t.algorithms,keys:t.keys,device_id:t.deviceId,user_id:e},"self_signing");i.logger.info("No self signing key: not signing device")}checkUserTrust(e){if(this.userId===e.userId&&this.getId()&&this.getId()===e.getId()&&this.getId("self_signing")&&this.getId("self_signing")===e.getId("self_signing"))return new d(!0,!0,this.firstUse);if(!this.keys.user_signing)return new d(!1,!1,e.firstUse);let t;const n=e.keys.master,r=this.getId("user_signing");try{(0,o.pkVerify)(n,r,this.userId),t=!0}catch(e){t=!1}return new d(t,e.crossSigningVerifiedBefore,e.firstUse)}checkDeviceTrust(e,t,n,r){const i=this.checkUserTrust(e),a=e.keys.self_signing;if(!a)return new h(!1,!1,n,r);const s=function(e,t){return{algorithms:e.algorithms,keys:e.keys,device_id:e.deviceId,user_id:t,signatures:e.signatures}}(t,e.userId);try{return(0,o.pkVerify)(a,e.getId(),e.userId),(0,o.pkVerify)(s,u(a),e.userId),h.fromUserTrustLevel(i,n,r)}catch(e){return new h(!1,!1,n,r)}}getCacheCallbacks(){return this._cacheCallbacks}}t.CrossSigningInfo=c;const l={MASTER:4,USER_SIGNING:2,SELF_SIGNING:1};t.CrossSigningLevel=l;class d{constructor(e,t,n){this._crossSigningVerified=e,this._crossSigningVerifiedBefore=t,this._tofu=n}isVerified(){return this.isCrossSigningVerified()}isCrossSigningVerified(){return this._crossSigningVerified}wasCrossSigningVerified(){return this._crossSigningVerifiedBefore}isTofu(){return this._tofu}}t.UserTrustLevel=d;class h{constructor(e,t,n,o){this._crossSigningVerified=e,this._tofu=t,this._localVerified=n,this._trustCrossSignedDevices=o}static fromUserTrustLevel(e,t,n){return new h(e._crossSigningVerified,e._tofu,t,n)}isVerified(){return Boolean(this.isLocallyVerified()||this._trustCrossSignedDevices&&this.isCrossSigningVerified())}isCrossSigningVerified(){return this._crossSigningVerified}isLocallyVerified(){return this._localVerified}isTofu(){return this._tofu}}t.DeviceTrustLevel=h},36670:(e,t,n)=>{"use strict";var o=n(20862);Object.defineProperty(t,"__esModule",{value:!0}),t.DeviceList=void 0;var r=n(17187),i=n(7434),a=n(23272),s=n(3075),u=o(n(32772)),c=n(57585),l=n(3102);class d extends r.EventEmitter{constructor(e,t,n,o=250){super(),this._cryptoStore=t,this._devices={},this._crossSigningInfo={},this._userByIdentityKey={},this._deviceTrackingStatus={},this._syncToken=null,this._serialiser=new h(e,n,this),this._keyDownloadsInProgressByUser={},this._keyDownloadChunkSize=o,this._dirty=!1,this._savePromise=null,this._resolveSavePromise=null,this._savePromiseTime=null,this._saveTimer=null,this._hasFetched=null}async load(){await this._cryptoStore.doTxn("readonly",[c.IndexedDBCryptoStore.STORE_DEVICE_DATA],(e=>{this._cryptoStore.getEndToEndDeviceData(e,(e=>{this._hasFetched=Boolean(e&&e.devices),this._devices=e?e.devices:{},this._crossSigningInfo=e&&e.crossSigningInfo||{},this._deviceTrackingStatus=e?e.trackingStatus:{},this._syncToken=e?e.syncToken:null,this._userByIdentityKey={};for(const e of Object.keys(this._devices)){const t=this._devices[e];for(const n of Object.keys(t)){const o=t[n].keys["curve25519:"+n];void 0!==o&&(this._userByIdentityKey[o]=e)}}}))}));for(const e of Object.keys(this._deviceTrackingStatus))2==this._deviceTrackingStatus[e]&&(this._deviceTrackingStatus[e]=1)}stop(){null!==this._saveTimer&&clearTimeout(this._saveTimer)}async saveIfDirty(e){if(!this._dirty)return Promise.resolve(!1);void 0===e&&(e=500);const t=Date.now+e;this._savePromiseTime&&t{this._resolveSavePromise=e})),this._savePromise=n),null===this._saveTimer){const n=this._resolveSavePromise;this._savePromiseTime=t,this._saveTimer=setTimeout((()=>{i.logger.log("Saving device tracking data",this._syncToken),this._savePromiseTime=null,this._saveTimer=null,this._savePromise=null,this._resolveSavePromise=null,this._cryptoStore.doTxn("readwrite",[c.IndexedDBCryptoStore.STORE_DEVICE_DATA],(e=>{this._cryptoStore.storeEndToEndDeviceData({devices:this._devices,crossSigningInfo:this._crossSigningInfo,trackingStatus:this._deviceTrackingStatus,syncToken:this._syncToken},e)})).then((()=>{this._dirty=!1,n()}),(e=>{i.logger.error("Failed to save device tracking data",this._syncToken),i.logger.error(e)}))}),e)}return n}getSyncToken(){return this._syncToken}setSyncToken(e){this._syncToken=e}downloadKeys(e,t){const n=[],o=[];if(e.forEach((e=>{const r=this._deviceTrackingStatus[e];this._keyDownloadsInProgressByUser[e]?(i.logger.log(`downloadKeys: already have a download in progress for ${e}: awaiting its result`),o.push(this._keyDownloadsInProgressByUser[e])):(t||3!=r)&&n.push(e)})),0!=n.length){i.logger.log("downloadKeys: downloading for",n);const e=this._doKeyDownload(n);o.push(e)}return 0===o.length&&i.logger.log("downloadKeys: already have all necessary keys"),Promise.all(o).then((()=>this._getDevicesFromStore(e)))}_getDevicesFromStore(e){const t={},n=this;return e.map((function(e){t[e]={},(n.getStoredDevicesForUser(e)||[]).map((function(n){t[e][n.deviceId]=n}))})),t}getKnownUserIds(){return Object.keys(this._devices)}getStoredDevicesForUser(e){const t=this._devices[e];if(!t)return null;const n=[];for(const e in t)t.hasOwnProperty(e)&&n.push(a.DeviceInfo.fromStorage(t[e],e));return n}getRawStoredDevicesForUser(e){return this._devices[e]}getStoredCrossSigningForUser(e){return this._crossSigningInfo[e]?s.CrossSigningInfo.fromStorage(this._crossSigningInfo[e],e):null}storeCrossSigningForUser(e,t){this._crossSigningInfo[e]=t,this._dirty=!0}getStoredDevice(e,t){const n=this._devices[e];if(n&&n[t])return a.DeviceInfo.fromStorage(n[t],t)}getUserByIdentityKey(e,t){return e!==u.OLM_ALGORITHM&&e!==u.MEGOLM_ALGORITHM?null:this._userByIdentityKey[t]}getDeviceByIdentityKey(e,t){const n=this.getUserByIdentityKey(e,t);if(!n)return null;const o=this._devices[n];if(!o)return null;for(const e in o){if(!o.hasOwnProperty(e))continue;const n=o[e];for(const o in n.keys)if(n.keys.hasOwnProperty(o)&&0===o.indexOf("curve25519:")&&n.keys[o]==t)return a.DeviceInfo.fromStorage(n,e)}return null}storeDevicesForUser(e,t){if(void 0!==this._devices[e])for(const[t,n]of Object.entries(this._devices[e])){const e=n.keys["curve25519:"+t];delete this._userByIdentityKey[e]}this._devices[e]=t;for(const[n,o]of Object.entries(t)){const t=o.keys["curve25519:"+n];this._userByIdentityKey[t]=e}this._dirty=!0}startTrackingDeviceList(e){if("string"!=typeof e)throw new Error("userId must be a string; was "+e);this._deviceTrackingStatus[e]||(i.logger.log("Now tracking device list for "+e),this._deviceTrackingStatus[e]=1,this._dirty=!0)}stopTrackingDeviceList(e){this._deviceTrackingStatus[e]&&(i.logger.log("No longer tracking device list for "+e),this._deviceTrackingStatus[e]=0,this._dirty=!0)}stopTrackingAllDeviceLists(){for(const e of Object.keys(this._deviceTrackingStatus))this._deviceTrackingStatus[e]=0;this._dirty=!0}invalidateUserDeviceList(e){this._deviceTrackingStatus[e]&&(i.logger.log("Marking device list outdated for",e),this._deviceTrackingStatus[e]=1,this._dirty=!0)}refreshOutdatedDeviceLists(){this.saveIfDirty();const e=[];for(const t of Object.keys(this._deviceTrackingStatus))1==this._deviceTrackingStatus[t]&&e.push(t);return this._doKeyDownload(e)}_setRawStoredDevicesForUser(e,t){if(void 0!==this._devices[e])for(const[t,n]of Object.entries(this._devices[e])){const e=n.keys["curve25519:"+t];delete this._userByIdentityKey[e]}this._devices[e]=t;for(const[n,o]of Object.entries(t)){const t=o.keys["curve25519:"+n];this._userByIdentityKey[t]=e}}setRawStoredCrossSigningForUser(e,t){this._crossSigningInfo[e]=t}_doKeyDownload(e){if(0===e.length)return Promise.resolve();const t=this._serialiser.updateDevicesForUsers(e,this._syncToken).then((()=>{n(!0)}),(t=>{throw i.logger.error("Error downloading keys for "+e+":",t),n(!1),t}));e.forEach((e=>{this._keyDownloadsInProgressByUser[e]=t,1==this._deviceTrackingStatus[e]&&(this._deviceTrackingStatus[e]=2)}));const n=n=>{this.emit("crypto.willUpdateDevices",e,!this._hasFetched),e.forEach((e=>{this._dirty=!0,this._keyDownloadsInProgressByUser[e]===t?(delete this._keyDownloadsInProgressByUser[e],2==this._deviceTrackingStatus[e]&&(n?(this._deviceTrackingStatus[e]=3,i.logger.log("Device list for",e,"now up to date")):this._deviceTrackingStatus[e]=1)):i.logger.log("Another update in the queue for",e,"- not marking up-to-date")})),this.saveIfDirty(),this.emit("crypto.devicesUpdated",e,!this._hasFetched),this._hasFetched=!0};return t}}t.DeviceList=d;class h{constructor(e,t,n){this._baseApis=e,this._olmDevice=t,this._deviceList=n,this._downloadInProgress=!1,this._keyDownloadsQueuedByUser={},this._queuedQueryDeferred=null,this._syncToken=null}updateDevicesForUsers(e,t){return e.forEach((e=>{this._keyDownloadsQueuedByUser[e]=!0})),this._queuedQueryDeferred||(this._queuedQueryDeferred=(0,l.defer)()),this._syncToken=t,this._downloadInProgress?(i.logger.log("Queued key download for",e),this._queuedQueryDeferred.promise):this._doQueuedQueries()}_doQueuedQueries(){if(this._downloadInProgress)throw new Error("DeviceListUpdateSerialiser._doQueuedQueries called with request active");const e=Object.keys(this._keyDownloadsQueuedByUser);this._keyDownloadsQueuedByUser={};const t=this._queuedQueryDeferred;this._queuedQueryDeferred=null,i.logger.log("Starting key download for",e),this._downloadInProgress=!0;const n={};this._syncToken&&(n.token=this._syncToken);const o=[];for(let t=0;tthis._baseApis.downloadKeysForUsers(r,n)))}return(0,l.chunkPromises)(o,3).then((async t=>{const n=Object.assign({},...t.map((e=>e.device_keys||{}))),o=Object.assign({},...t.map((e=>e.master_keys||{}))),r=Object.assign({},...t.map((e=>e.self_signing_keys||{}))),a=Object.assign({},...t.map((e=>e.user_signing_keys||{})));for(const t of e){await(0,l.sleep)(5);try{await this._processQueryResponseForUser(t,n[t],{master:o[t],self_signing:r[t],user_signing:a[t]})}catch(e){i.logger.error(`Error processing keys for ${t}:`,e)}}})).then((()=>{i.logger.log("Completed key download for "+e),this._downloadInProgress=!1,t.resolve(),this._queuedQueryDeferred&&this._doQueuedQueries()}),(n=>{i.logger.warn("Error downloading keys for "+e+":",n),this._downloadInProgress=!1,t.reject(n)})),t.promise}async _processQueryResponseForUser(e,t,n){i.logger.log("got device keys for "+e+":",t),i.logger.log("got cross-signing keys for "+e+":",n);{const n={},o=this._deviceList.getRawStoredDevicesForUser(e);o&&Object.keys(o).forEach((e=>{const t=a.DeviceInfo.fromStorage(o[e],e);n[e]=t})),await async function(e,t,n,o,r,a){let s=!1;for(const e in n)if(n.hasOwnProperty(e)&&!(e in o)){if(t===r&&e===a){i.logger.warn(`Local device ${e} missing from sync, skipping removal`);continue}i.logger.log("Device "+t+":"+e+" has been removed"),delete n[e],s=!0}for(const r in o){if(!o.hasOwnProperty(r))continue;const a=o[r];a.user_id===t?a.device_id===r?await p(e,n,a)&&(s=!0):i.logger.warn("Mismatched device_id "+a.device_id+" in keys from "+t+":"+r):i.logger.warn("Mismatched user_id "+a.user_id+" in keys from "+t+":"+r)}return s}(this._olmDevice,e,n,t||{},this._baseApis.getUserId(),this._baseApis.deviceId);const r={};Object.keys(n).forEach((e=>{r[e]=n[e].toStorage()})),this._deviceList._setRawStoredDevicesForUser(e,r)}if(n&&(n.master||n.self_signing||n.user_signing)){const t=this._deviceList.getStoredCrossSigningForUser(e)||new s.CrossSigningInfo(e);t.setKeys(n),this._deviceList.setRawStoredCrossSigningForUser(e,t.toStorage()),this._deviceList.emit("userCrossSigningUpdated",e)}}}async function p(e,t,n){if(!n.keys)return!1;const o=n.device_id,r=n.user_id,s="ed25519:"+o,c=n.keys[s];if(!c)return i.logger.warn("Device "+r+":"+o+" has no ed25519 key"),!1;const l=n.unsigned||{},d=n.signatures||{};try{await u.verifySignature(e,n,r,o,c)}catch(e){return i.logger.warn("Unable to verify signature on device "+r+":"+o+":"+e),!1}let h;if(o in t){if(h=t[o],h.getFingerprint()!=c)return i.logger.warn("Ed25519 key for device "+r+":"+o+" has changed"),!1}else t[o]=h=new a.DeviceInfo(o);return h.keys=n.keys||{},h.algorithms=n.algorithms||[],h.unsigned=l,h.signatures=d,!0}},70636:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EncryptionSetupOperation=t.EncryptionSetupBuilder=void 0;var o=n(7434),r=n(24369),i=n(17187),a=n(3075),s=n(57585),u=n(17715);t.EncryptionSetupBuilder=class{constructor(e,t){this.accountDataClientAdapter=new l(e),this.crossSigningCallbacks=new d,this.ssssCryptoCallbacks=new h(t),this._crossSigningKeys=null,this._keySignatures=null,this._keyBackupInfo=null}addCrossSigningKeys(e,t){this._crossSigningKeys={authUpload:e,keys:t}}addSessionBackup(e){this._keyBackupInfo=e}addSessionBackupPrivateKeyToCache(e){this._sessionBackupPrivateKey=e}addKeySignature(e,t,n){this._keySignatures||(this._keySignatures={});const o=this._keySignatures[e]||{};this._keySignatures[e]=o,o[t]=n}setAccountData(e,t){return this.accountDataClientAdapter.setAccountData(e,t)}buildOperation(){const e=this.accountDataClientAdapter._values;return new c(e,this._crossSigningKeys,this._keyBackupInfo,this._keySignatures)}async persist(e){if(this._crossSigningKeys){const t=(0,a.createCryptoStoreCacheCallbacks)(e._cryptoStore,e._olmDevice);for(const e of["master","self_signing","user_signing"]){o.logger.log(`Cache ${e} cross-signing private key locally`);const n=this.crossSigningCallbacks.privateKeys.get(e);await t.storeCrossSigningKeyCache(e,n)}await e._cryptoStore.doTxn("readwrite",[s.IndexedDBCryptoStore.STORE_ACCOUNT],(t=>{e._cryptoStore.storeCrossSigningKeys(t,this._crossSigningKeys.keys)}))}this._sessionBackupPrivateKey&&await e.storeSessionBackupPrivateKey(this._sessionBackupPrivateKey)}};class c{constructor(e,t,n,o){this._accountData=e,this._crossSigningKeys=t,this._keyBackupInfo=n,this._keySignatures=o}async apply(e){const t=e._baseApis;if(this._crossSigningKeys){const n={};for(const[e,t]of Object.entries(this._crossSigningKeys.keys))n[e+"_key"]=t;await this._crossSigningKeys.authUpload((e=>t.uploadDeviceSigningKeys(e,n))),e._crossSigningInfo.setKeys(this._crossSigningKeys.keys)}if(this._accountData)for(const[e,n]of this._accountData)await t.setAccountData(e,n);this._keySignatures&&await t.uploadKeySignatures(this._keySignatures),this._keyBackupInfo&&(this._keyBackupInfo.version?await t._http.authedRequest(void 0,"PUT","/room_keys/version/"+this._keyBackupInfo.version,void 0,{algorithm:this._keyBackupInfo.algorithm,auth_data:this._keyBackupInfo.auth_data},{prefix:u.PREFIX_UNSTABLE}):await t._http.authedRequest(void 0,"POST","/room_keys/version",void 0,this._keyBackupInfo,{prefix:u.PREFIX_UNSTABLE}))}}t.EncryptionSetupOperation=c;class l extends i.EventEmitter{constructor(e){super(),this._existingValues=e,this._values=new Map}getAccountDataFromServer(e){return Promise.resolve(this.getAccountData(e))}getAccountData(e){const t=this._values.get(e);if(t)return t;const n=this._existingValues[e];return n?n.getContent():null}setAccountData(e,t){const n=this._values.get(e);return this._values.set(e,t),Promise.resolve().then((()=>{const o=new r.MatrixEvent({type:e,content:t});this.emit("accountData",o,n)}))}}class d{constructor(){this.privateKeys=new Map}getCrossSigningKeyCache(e,t){return this.getCrossSigningKey(e,t)}storeCrossSigningKeyCache(e,t){return this.privateKeys.set(e,t),Promise.resolve()}getCrossSigningKey(e,t){return Promise.resolve(this.privateKeys.get(e))}saveCrossSigningKeys(e){for(const[t,n]of Object.entries(e))this.privateKeys.set(t,n)}}class h{constructor(e){this._privateKeys=new Map,this._delegateCryptoCallbacks=e}async getSecretStorageKey({keys:e},t){for(const t of Object.keys(e)){const e=this._privateKeys.get(t);if(e)return[t,e]}if(this._delegateCryptoCallbacks){const n=await this._delegateCryptoCallbacks.getSecretStorageKey({keys:e},t);if(n){const[e,t]=n;this._privateKeys.set(e,t)}return n}}addPrivateKey(e,t,n){this._privateKeys.set(e,n),this._delegateCryptoCallbacks&&this._delegateCryptoCallbacks.cacheSecretStorageKey&&this._delegateCryptoCallbacks.cacheSecretStorageKey(e,t,n)}}},72573:(e,t,n)=>{"use strict";var o=n(20862);Object.defineProperty(t,"__esModule",{value:!0}),t.OlmDevice=u,t.WITHHELD_MESSAGES=void 0;var r=n(7434),i=n(57585),a=o(n(91994));function s(e){if(void 0===e)throw new Error("payloadString undefined");if(e.length>49152){const t=new Error("Message too long ("+e.length+" bytes). The maximum for an encrypted message is 49152 bytes.");throw t.data={errcode:"M_TOO_LARGE",error:"Payload too large for encrypted message"},t}}function u(e){this._cryptoStore=e,this._pickleKey="DEFAULT_KEY",this.deviceCurve25519Key=null,this.deviceEd25519Key=null,this._maxOneTimeKeys=null,this._outboundGroupSessionStore={},this._inboundGroupSessionMessageIndexes={},this._sessionsInProgress={},this._olmPrekeyPromise=Promise.resolve()}u.prototype.init=async function(e={}){let t;const o=new n.g.Olm.Account,{pickleKey:a,fromExportedDevice:s}=e;try{s?(a&&r.logger.warn("ignoring opts.pickleKey because opts.fromExportedDevice is present."),this._pickleKey=s.pickleKey,await async function(e,t,n,o){await t.doTxn("readwrite",[i.IndexedDBCryptoStore.STORE_ACCOUNT,i.IndexedDBCryptoStore.STORE_SESSIONS],(n=>{t.storeAccount(n,e.pickledAccount),e.sessions.forEach((e=>{const{deviceKey:o,sessionId:r}=e,i={session:e.session,lastReceivedMessageTs:e.lastReceivedMessageTs};t.storeEndToEndSession(o,r,i,n)}))})),o.unpickle(n,e.pickledAccount)}(s,this._cryptoStore,this._pickleKey,o)):(a&&(this._pickleKey=a),await async function(e,t,n){await e.doTxn("readwrite",[i.IndexedDBCryptoStore.STORE_ACCOUNT],(o=>{e.getAccount(o,(r=>{null!==r?n.unpickle(t,r):(n.create(),r=n.pickle(t),e.storeAccount(o,r))}))}))}(this._cryptoStore,this._pickleKey,o)),t=JSON.parse(o.identity_keys()),this._maxOneTimeKeys=o.max_number_of_one_time_keys()}finally{o.free()}this.deviceCurve25519Key=t.curve25519,this.deviceEd25519Key=t.ed25519},u.getOlmVersion=function(){return n.g.Olm.get_library_version()},u.prototype._getAccount=function(e,t){this._cryptoStore.getAccount(e,(e=>{const o=new n.g.Olm.Account;try{o.unpickle(this._pickleKey,e),t(o)}finally{o.free()}}))},u.prototype._storeAccount=function(e,t){this._cryptoStore.storeAccount(e,t.pickle(this._pickleKey))},u.prototype.export=async function(){const e={pickleKey:this._pickleKey};return await this._cryptoStore.doTxn("readonly",[i.IndexedDBCryptoStore.STORE_ACCOUNT,i.IndexedDBCryptoStore.STORE_SESSIONS],(t=>{this._cryptoStore.getAccount(t,(t=>{e.pickledAccount=t})),e.sessions=[],this._cryptoStore.getAllEndToEndSessions(t,(t=>{e.sessions.push(t)}))})),e},u.prototype._getSession=function(e,t,n,o){this._cryptoStore.getEndToEndSession(e,t,n,(e=>{this._unpickleSession(e,o)}))},u.prototype._unpickleSession=function(e,t){const o=new n.g.Olm.Session;try{o.unpickle(this._pickleKey,e.session),t(Object.assign({},e,{session:o}))}finally{o.free()}},u.prototype._saveSession=function(e,t,n){const o=t.session.session_id(),r=Object.assign(t,{session:t.session.pickle(this._pickleKey)});this._cryptoStore.storeEndToEndSession(e,o,r,n)},u.prototype._getUtility=function(e){const t=new n.g.Olm.Utility;try{return e(t)}finally{t.free()}},u.prototype.sign=async function(e){let t;return await this._cryptoStore.doTxn("readonly",[i.IndexedDBCryptoStore.STORE_ACCOUNT],(n=>{this._getAccount(n,(n=>{t=n.sign(e)}))})),t},u.prototype.getOneTimeKeys=async function(){let e;return await this._cryptoStore.doTxn("readonly",[i.IndexedDBCryptoStore.STORE_ACCOUNT],(t=>{this._getAccount(t,(t=>{e=JSON.parse(t.one_time_keys())}))})),e},u.prototype.maxNumberOfOneTimeKeys=function(){return this._maxOneTimeKeys},u.prototype.markKeysAsPublished=async function(){await this._cryptoStore.doTxn("readwrite",[i.IndexedDBCryptoStore.STORE_ACCOUNT],(e=>{this._getAccount(e,(t=>{t.mark_keys_as_published(),this._storeAccount(e,t)}))}))},u.prototype.generateOneTimeKeys=function(e){return this._cryptoStore.doTxn("readwrite",[i.IndexedDBCryptoStore.STORE_ACCOUNT],(t=>{this._getAccount(t,(n=>{n.generate_one_time_keys(e),this._storeAccount(t,n)}))}))},u.prototype.generateFallbackKey=async function(){await this._cryptoStore.doTxn("readwrite",[i.IndexedDBCryptoStore.STORE_ACCOUNT],(e=>{this._getAccount(e,(t=>{t.generate_fallback_key(),this._storeAccount(e,t)}))}))},u.prototype.getFallbackKey=async function(){let e;return await this._cryptoStore.doTxn("readonly",[i.IndexedDBCryptoStore.STORE_ACCOUNT],(t=>{this._getAccount(t,(t=>{e=JSON.parse(t.fallback_key())}))})),e},u.prototype.createOutboundSession=async function(e,t){let o;return await this._cryptoStore.doTxn("readwrite",[i.IndexedDBCryptoStore.STORE_ACCOUNT,i.IndexedDBCryptoStore.STORE_SESSIONS],(r=>{this._getAccount(r,(i=>{const a=new n.g.Olm.Session;try{a.create_outbound(i,e,t),o=a.session_id(),this._storeAccount(r,i);const n={session:a,lastReceivedMessageTs:Date.now()};this._saveSession(e,n,r)}finally{a.free()}}))}),r.logger.withPrefix("[createOutboundSession]")),o},u.prototype.createInboundSession=async function(e,t,o){if(0!==t)throw new Error("Need messageType == 0 to create inbound session");let a;return await this._cryptoStore.doTxn("readwrite",[i.IndexedDBCryptoStore.STORE_ACCOUNT,i.IndexedDBCryptoStore.STORE_SESSIONS],(r=>{this._getAccount(r,(i=>{const s=new n.g.Olm.Session;try{s.create_inbound_from(i,e,o),i.remove_one_time_keys(s),this._storeAccount(r,i);const n=s.decrypt(t,o),u={session:s,lastReceivedMessageTs:Date.now()};this._saveSession(e,u,r),a={payload:n,session_id:s.session_id()}}finally{s.free()}}))}),r.logger.withPrefix("[createInboundSession]")),a},u.prototype.getSessionIdsForDevice=async function(e){const t=r.logger.withPrefix("[getSessionIdsForDevice]");if(this._sessionsInProgress[e]){t.debug(`Waiting for Olm session for ${e} to be created`);try{await this._sessionsInProgress[e]}catch(e){}}let n;return await this._cryptoStore.doTxn("readonly",[i.IndexedDBCryptoStore.STORE_SESSIONS],(t=>{this._cryptoStore.getEndToEndSessions(e,t,(e=>{n=Object.keys(e)}))}),t),n},u.prototype.getSessionIdForDevice=async function(e,t,n){const o=await this.getSessionInfoForDevice(e,t,n);if(0===o.length)return null;let r=0;for(let e=1;ea||n===a&&t.sessionId{this._cryptoStore.getEndToEndSessions(e,t,(e=>{const t=Object.keys(e).sort();for(const n of t)this._unpickleSession(e[n],(e=>{o.push({lastReceivedMessageTs:e.lastReceivedMessageTs,hasReceivedMessage:e.session.has_received_message(),sessionId:n})}))}))}),n),o},u.prototype.encryptMessage=async function(e,t,n){let o;return s(n),await this._cryptoStore.doTxn("readwrite",[i.IndexedDBCryptoStore.STORE_SESSIONS],(i=>{this._getSession(e,t,i,(a=>{const s=a.session.describe();r.logger.log("encryptMessage: Olm Session ID "+t+" to "+e+": "+s),o=a.session.encrypt(n),this._saveSession(e,a,i)}))}),r.logger.withPrefix("[encryptMessage]")),o},u.prototype.decryptMessage=async function(e,t,n,o){let a;return await this._cryptoStore.doTxn("readwrite",[i.IndexedDBCryptoStore.STORE_SESSIONS],(i=>{this._getSession(e,t,i,(s=>{const u=s.session.describe();r.logger.log("decryptMessage: Olm Session ID "+t+" from "+e+": "+u),a=s.session.decrypt(n,o),s.lastReceivedMessageTs=Date.now(),this._saveSession(e,s,i)}))}),r.logger.withPrefix("[decryptMessage]")),a},u.prototype.matchesSession=async function(e,t,n,o){if(0!==n)return!1;let a;return await this._cryptoStore.doTxn("readonly",[i.IndexedDBCryptoStore.STORE_SESSIONS],(n=>{this._getSession(e,t,n,(e=>{a=e.session.matches_inbound(o)}))}),r.logger.withPrefix("[matchesSession]")),a},u.prototype.recordSessionProblem=async function(e,t,n){await this._cryptoStore.storeEndToEndSessionProblem(e,t,n)},u.prototype.sessionMayHaveProblems=async function(e,t){return await this._cryptoStore.getEndToEndSessionProblem(e,t)},u.prototype.filterOutNotifiedErrorDevices=async function(e){return await this._cryptoStore.filterOutNotifiedErrorDevices(e)},u.prototype._saveOutboundGroupSession=function(e){const t=e.pickle(this._pickleKey);this._outboundGroupSessionStore[e.session_id()]=t},u.prototype._getOutboundGroupSession=function(e,t){const o=this._outboundGroupSessionStore[e];if(void 0===o)throw new Error("Unknown outbound group session "+e);const r=new n.g.Olm.OutboundGroupSession;try{return r.unpickle(this._pickleKey,o),t(r)}finally{r.free()}},u.prototype.createOutboundGroupSession=function(){const e=new n.g.Olm.OutboundGroupSession;try{return e.create(),this._saveOutboundGroupSession(e),e.session_id()}finally{e.free()}},u.prototype.encryptGroupMessage=function(e,t){const n=this;return r.logger.log(`encrypting msg with megolm session ${e}`),s(t),this._getOutboundGroupSession(e,(function(e){const o=e.encrypt(t);return n._saveOutboundGroupSession(e),o}))},u.prototype.getOutboundGroupSessionKey=function(e){return this._getOutboundGroupSession(e,(function(e){return{chain_index:e.message_index(),key:e.session_key()}}))},u.prototype._unpickleInboundGroupSession=function(e,t){const o=new n.g.Olm.InboundGroupSession;try{return o.unpickle(this._pickleKey,e.session),t(o)}finally{o.free()}},u.prototype._getInboundGroupSession=function(e,t,n,o,r){this._cryptoStore.getEndToEndInboundGroupSession(t,n,o,((t,n)=>{if(null!==t){if(null!==e&&e!==t.room_id)throw new Error("Mismatched room_id for inbound group session (expected "+t.room_id+", was "+e+")");this._unpickleInboundGroupSession(t,(e=>{r(e,t,n)}))}else r(null,null,n)}))},u.prototype.addInboundGroupSession=async function(e,t,o,a,s,u,c,l={}){await this._cryptoStore.doTxn("readwrite",[i.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS,i.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS_WITHHELD,i.IndexedDBCryptoStore.STORE_SHARED_HISTORY_INBOUND_GROUP_SESSIONS],(i=>{this._getInboundGroupSession(e,t,a,i,((d,h)=>{const p=new n.g.Olm.InboundGroupSession;try{if(c?p.import_session(s):p.create(s),a!=p.session_id())throw new Error("Mismatched group session ID from senderKey: "+t);if(d&&(r.logger.log("Update for megolm session "+t+"/"+a),d.first_known_index()<=p.first_known_index()&&(d.first_known_index()!=p.first_known_index()||l.untrusted||!h.untrusted)))return void r.logger.log(`Keeping existing megolm session ${a}`);r.logger.info("Storing megolm session "+t+"/"+a+" with first index "+p.first_known_index());const n=Object.assign({},l,{room_id:e,session:p.pickle(this._pickleKey),keysClaimed:u,forwardingCurve25519KeyChain:o});this._cryptoStore.storeEndToEndInboundGroupSession(t,a,n,i),!d&&l.sharedHistory&&this._cryptoStore.addSharedHistoryInboundGroupSession(e,t,a,i)}finally{p.free()}}))}),r.logger.withPrefix("[addInboundGroupSession]"))},u.prototype.addInboundGroupSessionWithheld=async function(e,t,n,o,r){await this._cryptoStore.doTxn("readwrite",[i.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS_WITHHELD],(i=>{this._cryptoStore.storeEndToEndInboundGroupSessionWithheld(t,n,{room_id:e,code:o,reason:r},i)}))};const c={"m.unverified":"The sender has disabled encrypting to unverified devices.","m.blacklisted":"The sender has blocked you.","m.unauthorised":"You are not authorised to read the message.","m.no_olm":"Unable to establish a secure channel."};function l(e){return e.code&&e.code in c?c[e.code]:e.reason?e.reason:"decryption key withheld"}t.WITHHELD_MESSAGES=c,u.prototype.decryptGroupMessage=async function(e,t,n,o,s,u){let c,d;if(await this._cryptoStore.doTxn("readwrite",[i.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS,i.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS_WITHHELD],(r=>{this._getInboundGroupSession(e,t,n,r,((e,i,h)=>{if(null===e)return h&&(d=new a.DecryptionError("MEGOLM_UNKNOWN_INBOUND_SESSION_ID",l(h),{session:t+"|"+n})),void(c=null);let p;try{p=e.decrypt(o)}catch(e){return void(d=e&&"OLM.UNKNOWN_MESSAGE_INDEX"===e.message&&h?new a.DecryptionError("MEGOLM_UNKNOWN_INBOUND_SESSION_ID",l(h),{session:t+"|"+n}):e)}let f=p.plaintext;if(void 0===f)f=p;else{const e=t+"|"+n+"|"+p.message_index;if(e in this._inboundGroupSessionMessageIndexes){const t=this._inboundGroupSessionMessageIndexes[e];if(t.id!==s||t.timestamp!==u)return void(d=new Error("Duplicate message index, possible replay attack: "+e))}this._inboundGroupSessionMessageIndexes[e]={id:s,timestamp:u}}i.session=e.pickle(this._pickleKey),this._cryptoStore.storeEndToEndInboundGroupSession(t,n,i,r),c={result:f,keysClaimed:i.keysClaimed||{},senderKey:t,forwardingCurve25519KeyChain:i.forwardingCurve25519KeyChain||[],untrusted:i.untrusted}}))}),r.logger.withPrefix("[decryptGroupMessage]")),d)throw d;return c},u.prototype.hasInboundSessionKeys=async function(e,t,n){let o;return await this._cryptoStore.doTxn("readonly",[i.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS,i.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS_WITHHELD],(i=>{this._cryptoStore.getEndToEndInboundGroupSession(t,n,i,(i=>{null!==i?e!==i.room_id?(r.logger.warn(`requested keys for inbound group session ${t}|${n}, with incorrect room_id (expected ${i.room_id}, was ${e})`),o=!1):o=!0:o=!1}))}),r.logger.withPrefix("[hasInboundSessionKeys]")),o},u.prototype.getInboundGroupSessionKey=async function(e,t,n,o){let a;return await this._cryptoStore.doTxn("readonly",[i.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS,i.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS_WITHHELD],(r=>{this._getInboundGroupSession(e,t,n,r,((e,t)=>{if(null===e)return void(a=null);void 0===o&&(o=e.first_known_index());const n=e.export_session(o),r=(t.keysClaimed||{}).ed25519||null;a={chain_index:o,key:n,forwarding_curve25519_key_chain:t.forwardingCurve25519KeyChain||[],sender_claimed_ed25519_key:r,shared_history:t.sharedHistory||!1}}))}),r.logger.withPrefix("[getInboundGroupSessionKey]")),a},u.prototype.exportInboundGroupSession=function(e,t,n){return this._unpickleInboundGroupSession(n,(o=>{const r=o.first_known_index();return{sender_key:e,sender_claimed_keys:n.keysClaimed,room_id:n.room_id,session_id:t,session_key:o.export_session(r),forwarding_curve25519_key_chain:o.forwardingCurve25519KeyChain||[],first_known_index:o.first_known_index(),"org.matrix.msc3061.shared_history":n.sharedHistory||!1}}))},u.prototype.getSharedHistoryInboundGroupSessions=async function(e){let t;return await this._cryptoStore.doTxn("readonly",[i.IndexedDBCryptoStore.STORE_SHARED_HISTORY_INBOUND_GROUP_SESSIONS],(n=>{t=this._cryptoStore.getSharedHistoryInboundGroupSessions(e,n)}),r.logger.withPrefix("[getSharedHistoryInboundGroupSessionsForRoom]")),t},u.prototype.verifySignature=function(e,t,n){this._getUtility((function(o){o.ed25519_verify(e,t,n)}))}},66617:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OutgoingRoomKeyRequestManager=t.ROOM_KEY_REQUEST_STATES=void 0;var o=n(7434);const r={UNSENT:0,SENT:1,CANCELLATION_PENDING:2,CANCELLATION_PENDING_AND_WILL_RESEND:3};function i(e){return e.room_id+" / "+e.session_id}function a(e){return"["+e.map((e=>`${e.userId}:${e.deviceId}`)).join(",")+"]"}t.ROOM_KEY_REQUEST_STATES=r,t.OutgoingRoomKeyRequestManager=class{constructor(e,t,n){this._baseApis=e,this._deviceId=t,this._cryptoStore=n,this._sendOutgoingRoomKeyRequestsTimer=null,this._sendOutgoingRoomKeyRequestsRunning=!1,this._clientRunning=!1}start(){this._clientRunning=!0}stop(){o.logger.log("stopping OutgoingRoomKeyRequestManager"),this._clientRunning=!1}sendQueuedRequests(){this._startTimer()}async queueRoomKeyRequest(e,t,n=!1){const i=await this._cryptoStore.getOutgoingRoomKeyRequest(e);if(i)switch(i.state){case r.CANCELLATION_PENDING_AND_WILL_RESEND:case r.UNSENT:return;case r.CANCELLATION_PENDING:{const e=n?r.CANCELLATION_PENDING_AND_WILL_RESEND:r.SENT;await this._cryptoStore.updateOutgoingRoomKeyRequest(i.requestId,r.CANCELLATION_PENDING,{state:e,cancellationTxnId:this._baseApis.makeTxnId()});break}case r.SENT:if(n){const a=r.CANCELLATION_PENDING_AND_WILL_RESEND,s=await this._cryptoStore.updateOutgoingRoomKeyRequest(i.requestId,r.SENT,{state:a,cancellationTxnId:this._baseApis.makeTxnId(),requestTxnId:this._baseApis.makeTxnId()});if(!s)return await this.queueRoomKeyRequest(e,t,n);try{await this._sendOutgoingRoomKeyRequestCancellation(s,!0)}catch(e){o.logger.error("Error sending room key request cancellation; will retry later.",e)}}break;default:throw new Error("unhandled state: "+i.state)}else await this._cryptoStore.getOrAddOutgoingRoomKeyRequest({requestBody:e,recipients:t,requestId:this._baseApis.makeTxnId(),state:r.UNSENT})}cancelRoomKeyRequest(e){return this._cryptoStore.getOutgoingRoomKeyRequest(e).then((t=>{if(t)switch(t.state){case r.CANCELLATION_PENDING:case r.CANCELLATION_PENDING_AND_WILL_RESEND:return;case r.UNSENT:return o.logger.log("deleting unnecessary room key request for "+i(e)),this._cryptoStore.deleteOutgoingRoomKeyRequest(t.requestId,r.UNSENT);case r.SENT:return this._cryptoStore.updateOutgoingRoomKeyRequest(t.requestId,r.SENT,{state:r.CANCELLATION_PENDING,cancellationTxnId:this._baseApis.makeTxnId()}).then((t=>{t?this._sendOutgoingRoomKeyRequestCancellation(t).catch((e=>{o.logger.error("Error sending room key request cancellation; will retry later.",e),this._startTimer()})):o.logger.log("Tried to cancel room key request for "+i(e)+" but it was already cancelled in another tab")}));default:throw new Error("unhandled state: "+t.state)}}))}getOutgoingSentRoomKeyRequest(e,t){return this._cryptoStore.getOutgoingRoomKeyRequestsByTarget(e,t,[r.SENT])}async cancelAndResendAllOutgoingRequests(){const e=await this._cryptoStore.getAllOutgoingRoomKeyRequestsByState(r.SENT);return Promise.all(e.map((({requestBody:e,recipients:t})=>this.queueRoomKeyRequest(e,t,!0))))}_startTimer(){this._sendOutgoingRoomKeyRequestsTimer||(this._sendOutgoingRoomKeyRequestsTimer=n.g.setTimeout((()=>{if(this._sendOutgoingRoomKeyRequestsRunning)throw new Error("RoomKeyRequestSend already in progress!");this._sendOutgoingRoomKeyRequestsRunning=!0,this._sendOutgoingRoomKeyRequests().finally((()=>{this._sendOutgoingRoomKeyRequestsRunning=!1})).catch((e=>{o.logger.warn(`error in OutgoingRoomKeyRequestManager: ${e}`)}))}),500))}_sendOutgoingRoomKeyRequests(){return this._clientRunning?this._cryptoStore.getOutgoingRoomKeyRequestByState([r.CANCELLATION_PENDING,r.CANCELLATION_PENDING_AND_WILL_RESEND,r.UNSENT]).then((e=>{if(!e)return void(this._sendOutgoingRoomKeyRequestsTimer=null);let t;switch(e.state){case r.UNSENT:t=this._sendOutgoingRoomKeyRequest(e);break;case r.CANCELLATION_PENDING:t=this._sendOutgoingRoomKeyRequestCancellation(e);break;case r.CANCELLATION_PENDING_AND_WILL_RESEND:t=this._sendOutgoingRoomKeyRequestCancellation(e,!0)}return t.then((()=>this._sendOutgoingRoomKeyRequests())).catch((e=>{o.logger.error("Error sending room key request; will retry later.",e),this._sendOutgoingRoomKeyRequestsTimer=null}))})):(this._sendOutgoingRoomKeyRequestsTimer=null,Promise.resolve())}_sendOutgoingRoomKeyRequest(e){o.logger.log(`Requesting keys for ${i(e.requestBody)} from ${a(e.recipients)}(id ${e.requestId})`);const t={action:"request",requesting_device_id:this._deviceId,request_id:e.requestId,body:e.requestBody};return this._sendMessageToDevices(t,e.recipients,e.requestTxnId||e.requestId).then((()=>this._cryptoStore.updateOutgoingRoomKeyRequest(e.requestId,r.UNSENT,{state:r.SENT})))}_sendOutgoingRoomKeyRequestCancellation(e,t){o.logger.log(`Sending cancellation for key request for ${i(e.requestBody)} to ${a(e.recipients)} (cancellation id ${e.cancellationTxnId})`);const n={action:"request_cancellation",requesting_device_id:this._deviceId,request_id:e.requestId};return this._sendMessageToDevices(n,e.recipients,e.cancellationTxnId).then((()=>t?this._cryptoStore.updateOutgoingRoomKeyRequest(e.requestId,r.CANCELLATION_PENDING_AND_WILL_RESEND,{state:r.UNSENT}):this._cryptoStore.deleteOutgoingRoomKeyRequest(e.requestId,r.CANCELLATION_PENDING)))}_sendMessageToDevices(e,t,n){const o={};for(const n of t)o[n.userId]||(o[n.userId]={}),o[n.userId][n.deviceId]=e;return this._baseApis.sendToDevice("m.room_key_request",o,n)}}},40635:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RoomList=void 0;var o=n(57585);t.RoomList=class{constructor(e){this._cryptoStore=e,this._roomEncryption={}}async init(){await this._cryptoStore.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_ROOMS],(e=>{this._cryptoStore.getEndToEndRooms(e,(e=>{this._roomEncryption=e}))}))}getRoomEncryption(e){return this._roomEncryption[e]||null}isRoomEncrypted(e){return Boolean(this.getRoomEncryption(e))}async setRoomEncryption(e,t){this._roomEncryption[e]=t,await this._cryptoStore.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_ROOMS],(n=>{this._cryptoStore.storeEndToEndRoom(e,t,n)}))}}},44823:(e,t,n)=>{"use strict";var o=n(20862);Object.defineProperty(t,"__esModule",{value:!0}),t.SecretStorage=t.SECRET_STORAGE_ALGORITHM_V1_AES=void 0;var r=n(17187),i=n(7434),a=o(n(32772)),s=n(98401),u=n(2611);const c="m.secret_storage.v1.aes-hmac-sha2";t.SECRET_STORAGE_ALGORITHM_V1_AES=c;class l extends r.EventEmitter{constructor(e,t){super(),this._baseApis=e,this._cryptoCallbacks=t,this._requests={},this._incomingRequests={}}async getDefaultKeyId(){const e=await this._baseApis.getAccountDataFromServer("m.secret_storage.default_key");return e?e.key:null}setDefaultKeyId(e){return new Promise((async(t,n)=>{const o=n=>{"m.secret_storage.default_key"===n.getType()&&n.getContent().key===e&&(this._baseApis.removeListener("accountData",o),t())};this._baseApis.on("accountData",o);try{await this._baseApis.setAccountData("m.secret_storage.default_key",{key:e})}catch(e){this._baseApis.removeListener("accountData",o),n(e)}}))}async addKey(e,t,n){const o={algorithm:e};if(t||(t={}),t.name&&(o.name=t.name),e!==c)throw new Error(`Unknown key algorithm ${t.algorithm}`);if(t.passphrase&&(o.passphrase=t.passphrase),t.key){const{iv:e,mac:n}=await l._calculateKeyCheck(t.key);o.iv=e,o.mac=n}if(!n)do{n=(0,s.randomString)(32)}while(await this._baseApis.getAccountDataFromServer(`m.secret_storage.key.${n}`));return await this._baseApis.setAccountData(`m.secret_storage.key.${n}`,o),{keyId:n,keyInfo:o}}async getKey(e){if(e||(e=await this.getDefaultKeyId()),!e)return null;const t=await this._baseApis.getAccountDataFromServer("m.secret_storage.key."+e);return t?[e,t]:null}async hasKey(e){return!!await this.getKey(e)}async checkKey(e,t){if(t.algorithm===c){if(t.mac){const{mac:n}=await l._calculateKeyCheck(e,t.iv);return t.mac.replace(/=+$/g,"")===n.replace(/=+$/g,"")}return!0}throw new Error("Unknown algorithm")}static async _calculateKeyCheck(e,t){return await(0,u.encryptAES)("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0",e,"",t)}async store(e,t,n){const o={};if(!n){const e=await this.getDefaultKeyId();if(!e)throw new Error("No keys specified and no default key present");n=[e]}if(0===n.length)throw new Error("Zero keys given to encrypt with!");for(const r of n){const n=await this._baseApis.getAccountDataFromServer("m.secret_storage.key."+r);if(!n)throw new Error("Unknown key: "+r);if(n.algorithm===c){const i={[r]:n},[,a]=await this._getSecretStorageKey(i,e);o[r]=await a.encrypt(t)}else i.logger.warn("unknown algorithm for secret storage key "+r+": "+n.algorithm)}await this._baseApis.setAccountData(e,{encrypted:o})}async _fixupStoredSecret(e,t){const n=Object.keys(t);return 1===n.length&&"encrypted"!==n[0]&&t[n[0]].passthrough&&await this.hasKey(n[0])?(i.logger.log("Fixing up passthrough secret: "+e),await this.storePassthrough(e,n[0]),await this._baseApis.getAccountDataFromServer(e)):null}async get(e){let t=await this._baseApis.getAccountDataFromServer(e);if(!t)return;if(!t.encrypted&&(t=await this._fixupStoredSecret(e,t),!t||!t.encrypted))throw new Error("Content is not encrypted!");const n={};for(const e of Object.keys(t.encrypted)){const o=await this._baseApis.getAccountDataFromServer("m.secret_storage.key."+e),r=t.encrypted[e];o.algorithm===c&&r.iv&&r.ciphertext&&r.mac&&(n[e]=o)}if(0===Object.keys(n).length)throw new Error(`Could not decrypt ${e} because none of the keys it is encrypted with are for a supported algorithm`);let o,r;try{[o,r]=await this._getSecretStorageKey(n,e);const i=t.encrypted[o];return i.passthrough?(0,a.encodeBase64)(r.get_private_key()):await r.decrypt(i)}finally{r&&r.free&&r.free()}}async isStored(e,t){let n=await this._baseApis.getAccountDataFromServer(e);if(!n)return null;if(!n.encrypted&&(n=await this._fixupStoredSecret(e,n),!n||!n.encrypted))return null;void 0===t&&(t=!0);const o={};for(const e of Object.keys(n.encrypted)){const t=await this._baseApis.getAccountDataFromServer("m.secret_storage.key."+e);if(!t)continue;const r=n.encrypted[e];t.algorithm===c&&r.iv&&r.ciphertext&&r.mac&&(o[e]=t)}return Object.keys(o).length?o:null}request(e,t){const n=this._baseApis.makeTxnId(),o=this._requests[n]={name:e,devices:t},r=new Promise(((e,t)=>{o.resolve=e,o.reject=t})),a={name:e,action:"request",requesting_device_id:this._baseApis.deviceId,request_id:n},s={};for(const e of t)s[e]=a;return i.logger.info(`Request secret ${e} from ${t}, id ${n}`),this._baseApis.sendToDevice("m.secret.request",{[this._baseApis.getUserId()]:s}),{request_id:n,promise:r,cancel:e=>{const r={action:"request_cancellation",requesting_device_id:this._baseApis.deviceId,request_id:n},i={};for(const e of t)i[e]=r;this._baseApis.sendToDevice("m.secret.request",{[this._baseApis.getUserId()]:i}),o.reject(new Error(e||"Cancelled"))}}}async _onRequestReceived(e){const t=e.getSender(),n=e.getContent();if(t!==this._baseApis.getUserId()||!(n.name&&n.action&&n.requesting_device_id&&n.request_id))return;const o=n.requesting_device_id;if("request_cancellation"===n.action)this._incomingRequests[o]&&this._incomingRequests[o][n.request_id]&&(i.logger.info("received request cancellation for secret ("+t+", "+o+", "+n.request_id+")"),this.baseApis.emit("crypto.secrets.requestCancelled",{user_id:t,device_id:o,request_id:n.request_id}));else if("request"===n.action){if(o===this._baseApis.deviceId)return;if(i.logger.info("received request for secret ("+t+", "+o+", "+n.request_id+")"),!this._cryptoCallbacks.onSecretRequested)return;const e=await this._cryptoCallbacks.onSecretRequested(t,o,n.request_id,n.name,this._baseApis.checkDeviceTrust(t,o));if(e){i.logger.info(`Preparing ${n.name} secret for ${o}`);const r={type:"m.secret.send",content:{request_id:n.request_id,secret:e}},s={algorithm:a.OLM_ALGORITHM,sender_key:this._baseApis._crypto._olmDevice.deviceCurve25519Key,ciphertext:{}};await a.ensureOlmSessionsForDevices(this._baseApis._crypto._olmDevice,this._baseApis,{[t]:[this._baseApis.getStoredDevice(t,o)]}),await a.encryptMessageForDevice(s.ciphertext,this._baseApis.getUserId(),this._baseApis.deviceId,this._baseApis._crypto._olmDevice,t,this._baseApis.getStoredDevice(t,o),r);const u={[t]:{[o]:s}};i.logger.info(`Sending ${n.name} secret for ${o}`),this._baseApis.sendToDevice("m.room.encrypted",u)}else i.logger.info(`Request denied for ${n.name} secret for ${o}`)}}_onSecretReceived(e){if(e.getSender()!==this._baseApis.getUserId())return;const t=e.getContent();i.logger.log("got secret share for request",t.request_id);const n=this._requests[t.request_id];if(n){const o=this._baseApis._crypto._deviceList.getDeviceByIdentityKey(a.OLM_ALGORITHM,e.getSenderKey());if(!o)return void i.logger.log("secret share from unknown device with key",e.getSenderKey());if(!n.devices.includes(o.deviceId))return void i.logger.log("unsolicited secret share from device",o.deviceId);i.logger.log(`Successfully received secret ${n.name} from ${o.deviceId}`),n.resolve(t.secret)}}async _getSecretStorageKey(e,t){if(!this._cryptoCallbacks.getSecretStorageKey)throw new Error("No getSecretStorageKey callback supplied");const n=await this._cryptoCallbacks.getSecretStorageKey({keys:e},t);if(!n)throw new Error("getSecretStorageKey callback returned falsey");if(n.length<2)throw new Error("getSecretStorageKey callback returned invalid data");const[o,r]=n;if(!e[o])throw new Error("App returned unknown key from getSecretStorageKey!");if(e[o].algorithm===c)return[o,{encrypt:async function(e){return await(0,u.encryptAES)(e,r,t)},decrypt:async function(e){return await(0,u.decryptAES)(e,r,t)}}];throw new Error("Unknown key type: "+e[o].algorithm)}}t.SecretStorage=l},2611:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.encryptAES=function(...e){return i?async function(e,t,n,o){let a;o?a=(0,r.decodeBase64)(o):(a=new Uint8Array(16),window.crypto.getRandomValues(a)),a[8]&=127;const[s,c]=await u(t,n),l=(new TextEncoder).encode(e),d=await i.encrypt({name:"AES-CTR",counter:a,length:64},s,l),h=await i.sign({name:"HMAC"},c,d);return{iv:(0,r.encodeBase64)(a),ciphertext:(0,r.encodeBase64)(d),mac:(0,r.encodeBase64)(h)}}(...e):async function(e,t,n,i){const a=(0,o.getCrypto)();if(!a)throw new Error("No usable crypto implementation");let u;u=i?(0,r.decodeBase64)(i):a.randomBytes(16),u[8]&=127;const[c,l]=s(t,n),d=a.createCipheriv("aes-256-ctr",c,u),h=d.update(e,"utf-8","base64")+d.final("base64"),p=a.createHmac("sha256",l).update(h,"base64").digest("base64");return{iv:(0,r.encodeBase64)(u),ciphertext:h,mac:p}}(...e)},t.decryptAES=function(...e){return i?async function(e,t,n){const[o,a]=await u(t,n),s=(0,r.decodeBase64)(e.ciphertext);if(!await i.verify({name:"HMAC"},a,(0,r.decodeBase64)(e.mac),s))throw new Error(`Error decrypting secret ${n}: bad MAC`);const c=await i.decrypt({name:"AES-CTR",counter:(0,r.decodeBase64)(e.iv),length:64},o,s);return(new TextDecoder).decode(new Uint8Array(c))}(...e):async function(e,t,n){const i=(0,o.getCrypto)();if(!i)throw new Error("No usable crypto implementation");const[a,u]=s(t,n);if(i.createHmac("sha256",u).update(e.ciphertext,"base64").digest("base64").replace(/=+$/g,"")!==e.mac.replace(/=+$/g,""))throw new Error(`Error decrypting secret ${n}: bad MAC`);const c=i.createDecipheriv("aes-256-ctr",a,(0,r.decodeBase64)(e.iv));return c.update(e.ciphertext,"base64","utf-8")+c.final("utf-8")}(...e)};var o=n(3102),r=n(32772);const i="undefined"!=typeof window&&window.crypto?window.crypto.subtle||window.crypto.webkitSubtle:null,a=new Uint8Array(8);function s(e,t){const n=(0,o.getCrypto)(),r=n.createHmac("sha256",a).update(e).digest(),i=Buffer.alloc(1,1),s=n.createHmac("sha256",r).update(t,"utf-8").update(i).digest();return i[0]=2,[s,n.createHmac("sha256",r).update(s).update(t,"utf-8").update(i).digest()]}async function u(e,t){const n=await i.importKey("raw",e,{name:"HKDF"},!1,["deriveBits"]),o=await i.deriveBits({name:"HKDF",salt:a,info:(new TextEncoder).encode(t),hash:"SHA-256"},n,512),r=o.slice(0,32),s=o.slice(32),u=i.importKey("raw",r,{name:"AES-CTR"},!1,["encrypt","decrypt"]),c=i.importKey("raw",s,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign","verify"]);return await Promise.all([u,c])}},21897:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.registerAlgorithm=function(e,t,r){n[e]=t,o[e]=r},t.UnknownDeviceError=t.DecryptionError=t.DecryptionAlgorithm=t.EncryptionAlgorithm=t.DECRYPTION_CLASSES=t.ENCRYPTION_CLASSES=void 0;const n={};t.ENCRYPTION_CLASSES=n;const o={};t.DECRYPTION_CLASSES=o,t.EncryptionAlgorithm=class{constructor(e){this._userId=e.userId,this._deviceId=e.deviceId,this._crypto=e.crypto,this._olmDevice=e.olmDevice,this._baseApis=e.baseApis,this._roomId=e.roomId}prepareToEncrypt(e){}onRoomMembership(e,t,n){}},t.DecryptionAlgorithm=class{constructor(e){this._userId=e.userId,this._crypto=e.crypto,this._olmDevice=e.olmDevice,this._baseApis=e.baseApis,this._roomId=e.roomId}onRoomKeyEvent(e){}importRoomKey(e){}hasKeysForKeyRequest(e){return Promise.resolve(!1)}shareKeysWithDevice(e){throw new Error("shareKeysWithDevice not supported for this DecryptionAlgorithm")}async retryDecryptionFromSender(e){}};class r extends Error{constructor(e,t,n){super(t),this.code=e,this.name="DecryptionError",this.detailedString=function(e,t){let n=e.name+"[msg: "+e.message;return t&&(n+=", "+Object.keys(t).map((e=>e+": "+t[e])).join(", ")),n+="]",n}(this,n)}}t.DecryptionError=r;class i extends Error{constructor(e,t){super(e),this.name="UnknownDeviceError",this.devices=t}}t.UnknownDeviceError=i},91994:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n(23072),n(17125);var o=n(21897);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===o[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return o[e]}}))}))},17125:(e,t,n)=>{"use strict";var o=n(20862),r=n(7434),i=o(n(3102)),a=o(n(32772)),s=n(21897),u=n(72573);function c(e,t=!1){this.sessionId=e,this.useCount=0,this.creationTime=(new Date).getTime(),this.sharedWithDevices={},this.blockedDevicesNotified={},this.sharedHistory=t}function l(e){(0,i.polyfillSuper)(this,s.EncryptionAlgorithm,e),this._setupPromise=Promise.resolve(),this._outboundSessions={},this._sessionRotationPeriodMsgs=100,this._sessionRotationPeriodMs=6048e5,void 0!==e.config.rotation_period_ms&&(this._sessionRotationPeriodMs=e.config.rotation_period_ms),void 0!==e.config.rotation_period_msgs&&(this._sessionRotationPeriodMsgs=e.config.rotation_period_msgs)}function d(e){(0,i.polyfillSuper)(this,s.DecryptionAlgorithm,e),this._pendingEvents={},this.olmlib=a}c.prototype.needsRotation=function(e,t){const n=(new Date).getTime()-this.creationTime;return(this.useCount>=e||n>=t)&&(r.logger.log("Rotating megolm session after "+this.useCount+" messages, "+n+"ms"),!0)},c.prototype.markSharedWithDevice=function(e,t,n){this.sharedWithDevices[e]||(this.sharedWithDevices[e]={}),this.sharedWithDevices[e][t]=n},c.prototype.markNotifiedBlockedDevice=function(e,t){this.blockedDevicesNotified[e]||(this.blockedDevicesNotified[e]={}),this.blockedDevicesNotified[e][t]=!0},c.prototype.sharedWithTooManyDevices=function(e){for(const t in this.sharedWithDevices)if(this.sharedWithDevices.hasOwnProperty(t)){if(!e.hasOwnProperty(t))return r.logger.log("Starting new megolm session because we shared with "+t),!0;for(const n in this.sharedWithDevices[t])if(this.sharedWithDevices[t].hasOwnProperty(n)&&!e[t].hasOwnProperty(n))return r.logger.log("Starting new megolm session because we shared with "+t+":"+n),!0}},i.inherits(l,s.EncryptionAlgorithm),l.prototype._ensureOutboundSession=async function(e,t,n,o){let i;function s(){return i}const u=this._setupPromise.then((async s=>{i=s;const u=function(e){const t=e.currentState&&e.currentState.getStateEvents("m.room.history_visibility",""),n=t&&t.getContent()&&t.getContent().history_visibility;return["world_readable","shared"].includes(n)}(e);i&&u!==i.sharedHistory&&(i=null),i&&i.needsRotation(this._sessionRotationPeriodMsgs,this._sessionRotationPeriodMs)&&(r.logger.log("Starting new megolm session because we need to rotate."),i=null),i&&i.sharedWithTooManyDevices(t)&&(i=null),i||(r.logger.log(`Starting new megolm session for room ${this._roomId}`),i=await this._prepareNewSession(u),r.logger.log(`Started new megolm session ${i.sessionId} for room ${this._roomId}`),this._outboundSessions[i.sessionId]=i);const c={};for(const[e,n]of Object.entries(t))for(const[t,o]of Object.entries(n))o.getIdentityKey()!=this._olmDevice.deviceCurve25519Key&&(i.sharedWithDevices[e]&&void 0!==i.sharedWithDevices[e][t]||(c[e]=c[e]||[],c[e].push(o)));const l=this._olmDevice.getOutboundGroupSessionKey(i.sessionId),d={type:"m.room_key",content:{algorithm:a.MEGOLM_ALGORITHM,room_id:this._roomId,session_id:i.sessionId,session_key:l.key,chain_index:l.chain_index,"org.matrix.msc3061.shared_history":u}},[h,p]=await a.getExistingOlmSessions(this._olmDevice,this._baseApis,c);await Promise.all([(async()=>{r.logger.debug(`Sharing keys with existing Olm sessions in ${this._roomId}`),await this._shareKeyWithOlmSessions(i,l,d,p),r.logger.debug(`Shared keys with existing Olm sessions in ${this._roomId}`)})(),(async()=>{r.logger.debug(`Sharing keys (start phase 1) with new Olm sessions in ${this._roomId}`);const e=[],t=Date.now(),n=[];await this._shareKeyWithDevices(i,l,d,h,e,o?1e4:2e3,n),r.logger.debug(`Shared keys (end phase 1) with new Olm sessions in ${this._roomId}`),!o&&Date.now()-t<1e4?(async()=>{const t={},o=new Set;for(const e of n)o.add(e);const a=[];for(const{userId:n,deviceInfo:r}of e){const e=n.slice(n.indexOf(":")+1);o.has(e)?(t[n]=t[n]||[],t[n].push(r)):a.push({userId:n,deviceInfo:r})}r.logger.debug(`Sharing keys (start phase 2) with new Olm sessions in ${this._roomId}`),await this._shareKeyWithDevices(i,l,d,t,a,3e4),r.logger.debug(`Shared keys (end phase 2) with new Olm sessions in ${this._roomId}`),await this._notifyFailedOlmDevices(i,l,a)})():await this._notifyFailedOlmDevices(i,l,e),r.logger.debug(`Shared keys (all phases done) with new Olm sessions in ${this._roomId}`)})(),(async()=>{r.logger.debug(`Notifying blocked devices in ${this._roomId}`);const e={};let t=0;for(const[o,r]of Object.entries(n))for(const[n,a]of Object.entries(r))i.blockedDevicesNotified[o]&&void 0!==i.blockedDevicesNotified[o][n]||(e[o]=e[o]||{},e[o][n]={device:a},t++);await this._notifyBlockedDevices(i,e),r.logger.debug(`Notified ${t} blocked devices in ${this._roomId}`)})()])}));return u.catch((e=>{r.logger.error(`Failed to ensure outbound session in ${this._roomId}`,e)})),this._setupPromise=u.then(s,s),u.then(s)},l.prototype._prepareNewSession=async function(e){const t=this._olmDevice.createOutboundGroupSession(),n=this._olmDevice.getOutboundGroupSessionKey(t);return await this._olmDevice.addInboundGroupSession(this._roomId,this._olmDevice.deviceCurve25519Key,[],t,n.key,{ed25519:this._olmDevice.deviceEd25519Key},!1,{sharedHistory:e}),this._crypto.backupGroupSession(this._roomId,this._olmDevice.deviceCurve25519Key,[],t,n.key),new c(t,e)},l.prototype._getDevicesWithoutSessions=function(e,t,n){n=n||[];for(const[o,r]of Object.entries(t)){const t=e[o];for(const e of r){const r=e.deviceId;t[r].sessionId||(n.push({userId:o,deviceInfo:e}),delete t[r])}}return n},l.prototype._splitDevices=function(e){let t=[];const n=[t];for(const[o,r]of Object.entries(e)){for(const e of Object.values(r))t.push({userId:o,deviceInfo:e.device});t.length>20&&(t=[],n.push(t))}return 0===t.length&&n.pop(),n},l.prototype._encryptAndSendKeysToDevices=function(e,t,n,o){const i={},s=[];for(let e=0;e{for(const e of Object.keys(i)){for(const t of Object.keys(i[e]))0===Object.keys(i[e][t].ciphertext).length&&(r.logger.log("No ciphertext for device "+e+":"+t+": pruning"),delete i[e][t]);0===Object.keys(i[e]).length&&(r.logger.log("Pruned all devices for user "+e),delete i[e])}if(0!==Object.keys(i).length)return this._baseApis.sendToDevice("m.room.encrypted",i).then((()=>{for(const n of Object.keys(i))for(const o of Object.keys(i[n]))e.markSharedWithDevice(n,o,t)}));r.logger.log("No users left to send to: aborting")}))},l.prototype._sendBlockedNotificationsToDevices=async function(e,t,n){const o={};for(const e of t){const t=e.userId,r=e.deviceInfo,i=r.deviceInfo.deviceId,a=Object.assign({},n);a.code=r.code,a.reason=r.reason,"m.no_olm"===a.code&&(delete a.room_id,delete a.session_id),o[t]||(o[t]={}),o[t][i]=a}await this._baseApis.sendToDevice("org.matrix.room_key.withheld",o);for(const t of Object.keys(o))for(const n of Object.keys(o[t]))e.markNotifiedBlockedDevice(t,n)},l.prototype.reshareKeyWithDevice=async function(e,t,n,o){const i=this._outboundSessions[t];if(!i)return void r.logger.debug(`megolm session ${t} not found: not re-sharing keys`);if(void 0===i.sharedWithDevices[n])return void r.logger.debug(`megolm session ${t} never shared with user ${n}`);const s=i.sharedWithDevices[n][o.deviceId];if(void 0===s)return void r.logger.debug("megolm session ID "+t+" never shared with device "+n+":"+o.deviceId);const u=await this._olmDevice.getInboundGroupSessionKey(this._roomId,e,t,s);if(!u)return void r.logger.warn(`No inbound session key found for megolm ${t}: not re-sharing keys`);await a.ensureOlmSessionsForDevices(this._olmDevice,this._baseApis,{[n]:[o]});const c={type:"m.forwarded_room_key",content:{algorithm:a.MEGOLM_ALGORITHM,room_id:this._roomId,session_id:t,session_key:u.key,chain_index:u.chain_index,sender_key:e,sender_claimed_ed25519_key:u.sender_claimed_ed25519_key,forwarding_curve25519_key_chain:u.forwarding_curve25519_key_chain,"org.matrix.msc3061.shared_history":u.shared_history||!1}},l={algorithm:a.OLM_ALGORITHM,sender_key:this._olmDevice.deviceCurve25519Key,ciphertext:{}};await a.encryptMessageForDevice(l.ciphertext,this._userId,this._deviceId,this._olmDevice,n,o,c),await this._baseApis.sendToDevice("m.room.encrypted",{[n]:{[o.deviceId]:l}}),r.logger.debug(`Re-shared key for megolm session ${t} with ${n}:${o.deviceId}`)},l.prototype._shareKeyWithDevices=async function(e,t,n,o,i,s,u){r.logger.debug(`Ensuring Olm sessions for devices in ${this._roomId}`);const c=await a.ensureOlmSessionsForDevices(this._olmDevice,this._baseApis,o,s,u,r.logger.withPrefix(`[${this._roomId}]`));r.logger.debug(`Ensured Olm sessions for devices in ${this._roomId}`),this._getDevicesWithoutSessions(c,o,i),r.logger.debug(`Sharing keys with Olm sessions in ${this._roomId}`),await this._shareKeyWithOlmSessions(e,t,n,c),r.logger.debug(`Shared keys with Olm sessions in ${this._roomId}`)},l.prototype._shareKeyWithOlmSessions=async function(e,t,n,o){const i=this._splitDevices(o);for(let o=0;o{try{r.logger.debug(`Getting devices in ${this._roomId}`);const[t,n]=await this._getDevicesInRoom(e);this._crypto.getGlobalErrorOnUnknownDevices()&&this._removeUnknownDevices(t),r.logger.debug(`Ensuring outbound session in ${this._roomId}`),await this._ensureOutboundSession(e,t,n,!0),r.logger.debug(`Ready to encrypt events for ${this._roomId}`)}catch(e){r.logger.error(`Failed to prepare to encrypt events for ${this._roomId}`,e)}finally{delete this.encryptionPreparationMetadata,delete this.encryptionPreparation}})()},l.prototype.encryptMessage=async function(e,t,n){if(r.logger.log(`Starting to encrypt event for ${this._roomId}`),this.encryptionPreparation)try{await this.encryptionPreparation}catch(e){}const[o,i]=await this._getDevicesInRoom(e);this._crypto.getGlobalErrorOnUnknownDevices()&&this._checkForUnknownDevices(o);const s=await this._ensureOutboundSession(e,o,i),u={room_id:this._roomId,type:t,content:n},c=this._olmDevice.encryptGroupMessage(s.sessionId,JSON.stringify(u)),l={algorithm:a.MEGOLM_ALGORITHM,sender_key:this._olmDevice.deviceCurve25519Key,ciphertext:c,session_id:s.sessionId,device_id:this._deviceId};return s.useCount++,l},l.prototype.forceDiscardSession=function(){this._setupPromise=this._setupPromise.then((()=>null))},l.prototype._checkForUnknownDevices=function(e){const t={};if(Object.keys(e).forEach((n=>{Object.keys(e[n]).forEach((o=>{const r=e[n][o];r.isUnverified()&&!r.isKnown()&&(t[n]||(t[n]={}),t[n][o]=r)}))})),Object.keys(t).length)throw new s.UnknownDeviceError("This room contains unknown devices which have not been verified. We strongly recommend you verify them before continuing.",t)},l.prototype._removeUnknownDevices=function(e){for(const[t,n]of Object.entries(e)){for(const[e,t]of Object.entries(n))t.isUnverified()&&!t.isKnown()&&delete n[e];0===Object.keys(n).length&&delete e[t]}},l.prototype._getDevicesInRoom=async function(e){const t=(await e.getEncryptionTargetMembers()).map((function(e){return e.userId}));let n=this._crypto.getGlobalBlacklistUnverifiedDevices();"boolean"==typeof e.getBlacklistUnverifiedDevices()&&(n=e.getBlacklistUnverifiedDevices());const o=await this._crypto.downloadKeys(t,!1),r={};for(const e in o){if(!o.hasOwnProperty(e))continue;const t=o[e];for(const o in t){if(!t.hasOwnProperty(o))continue;const i=this._crypto.checkDeviceTrust(e,o);if(t[o].isBlocked()||!i.isVerified()&&n){r[e]||(r[e]={});const n=t[o].isBlocked()?{code:"m.blacklisted",reason:u.WITHHELD_MESSAGES["m.blacklisted"]}:{code:"m.unverified",reason:u.WITHHELD_MESSAGES["m.unverified"]};n.deviceInfo=t[o],r[e][o]=n,delete t[o]}}}return[o,r]},i.inherits(d,s.DecryptionAlgorithm);const h={no_olm:"The sender was unable to establish a secure channel.",unknown:"The secure channel with the sender was corrupted."};d.prototype.decryptEvent=async function(e){const t=e.getWireContent();if(!t.sender_key||!t.session_id||!t.ciphertext)throw new s.DecryptionError("MEGOLM_MISSING_FIELDS","Missing fields in input");let n;this._addEventToPendingList(e);try{n=await this._olmDevice.decryptGroupMessage(e.getRoomId(),t.sender_key,t.session_id,t.ciphertext,e.getId(),e.getTs())}catch(n){if("DecryptionError"===n.name)throw n;let o="OLM_DECRYPT_GROUP_MESSAGE_ERROR";throw n&&"OLM.UNKNOWN_MESSAGE_INDEX"===n.message&&(this._requestKeysForEvent(e),o="OLM_UNKNOWN_MESSAGE_INDEX"),new s.DecryptionError(o,n?n.toString():"Unknown Error: Error is undefined",{session:t.sender_key+"|"+t.session_id})}if(null===n){this._requestKeysForEvent(e);const n=await this._olmDevice.sessionMayHaveProblems(t.sender_key,e.getTs()-12e4);if(n){let e=h[n.type]||h.unknown;throw n.fixed&&(e+=" Trying to create a new secure channel and re-requesting the keys."),new s.DecryptionError("MEGOLM_UNKNOWN_INBOUND_SESSION_ID",e,{session:t.sender_key+"|"+t.session_id})}throw new s.DecryptionError("MEGOLM_UNKNOWN_INBOUND_SESSION_ID","The sender's device has not sent us the keys for this message.",{session:t.sender_key+"|"+t.session_id})}this._removeEventFromPendingList(e);const o=JSON.parse(n.result);if(o.room_id!==e.getRoomId())throw new s.DecryptionError("MEGOLM_BAD_ROOM","Message intended for room "+o.room_id);return{clearEvent:o,senderCurve25519Key:n.senderKey,claimedEd25519Key:n.keysClaimed.ed25519,forwardingCurve25519KeyChain:n.forwardingCurve25519KeyChain,untrusted:n.untrusted}},d.prototype._requestKeysForEvent=function(e){const t=e.getWireContent(),n=e.getKeyRequestRecipients(this._userId);this._crypto.requestRoomKey({room_id:e.getRoomId(),algorithm:t.algorithm,sender_key:t.sender_key,session_id:t.session_id},n)},d.prototype._addEventToPendingList=function(e){const t=e.getWireContent(),n=t.sender_key,o=t.session_id;this._pendingEvents[n]||(this._pendingEvents[n]=new Map);const r=this._pendingEvents[n];r.has(o)||r.set(o,new Set),r.get(o).add(e)},d.prototype._removeEventFromPendingList=function(e){const t=e.getWireContent(),n=t.sender_key,o=t.session_id,r=this._pendingEvents[n],i=r&&r.get(o);i&&(i.delete(e),0===i.size&&r.delete(n),0===r.size&&delete this._pendingEvents[n])},d.prototype.onRoomKeyEvent=function(e){const t=e.getContent(),n=t.session_id;let o,i=e.getSenderKey(),a=[],s=!1;if(!t.room_id||!n||!t.session_key)return void r.logger.error("key event is missing fields");if(!i)return void r.logger.error("key event has no sender key (not encrypted?)");if("m.forwarded_room_key"==e.getType()){if(s=!0,a=t.forwarding_curve25519_key_chain,Array.isArray(a)||(a=[]),a=a.slice(),a.push(i),i=t.sender_key,!i)return void r.logger.error("forwarded_room_key event is missing sender_key field");const e=t.sender_claimed_ed25519_key;if(!e)return void r.logger.error("forwarded_room_key_event is missing sender_claimed_ed25519_key field");o={ed25519:e}}else o=e.getKeysClaimed();const u={};return t["org.matrix.msc3061.shared_history"]&&(u.sharedHistory=!0),this._olmDevice.addInboundGroupSession(t.room_id,i,a,n,t.session_key,o,s,u).then((()=>{this._retryDecryption(i,n).then((e=>{e&&this._crypto.cancelRoomKeyRequest({algorithm:t.algorithm,room_id:t.room_id,session_id:t.session_id,sender_key:i})}))})).then((()=>{this._crypto.backupGroupSession(t.room_id,i,a,t.session_id,t.session_key,o,s)})).catch((e=>{r.logger.error(`Error handling m.room_key_event: ${e}`)}))},d.prototype.onRoomKeyWithheldEvent=async function(e){const t=e.getContent(),n=t.sender_key;if("m.no_olm"===t.code){const o=e.getSender();if(r.logger.warn(`${o}:${n} was unable to establish an olm session with us`),await this._olmDevice.getSessionIdForDevice(n))return r.logger.debug("New session already created. Not creating a new one."),await this._olmDevice.recordSessionProblem(n,"no_olm",!0),void this.retryDecryptionFromSender(n);let i=this._crypto._deviceList.getDeviceByIdentityKey(t.algorithm,n);if(!i&&(await this._crypto.downloadKeys([o],!1),i=this._crypto._deviceList.getDeviceByIdentityKey(t.algorithm,n),!i))return r.logger.info("Couldn't find device for identity key "+n+": not establishing session"),await this._olmDevice.recordSessionProblem(n,"no_olm",!1),void this.retryDecryptionFromSender(n);await a.ensureOlmSessionsForDevices(this._olmDevice,this._baseApis,{[o]:[i]},!1);const s={algorithm:a.OLM_ALGORITHM,sender_key:this._olmDevice.deviceCurve25519Key,ciphertext:{}};await a.encryptMessageForDevice(s.ciphertext,this._userId,this._deviceId,this._olmDevice,o,i,{type:"m.dummy"}),await this._olmDevice.recordSessionProblem(n,"no_olm",!0),this.retryDecryptionFromSender(n),await this._baseApis.sendToDevice("m.room.encrypted",{[o]:{[i.deviceId]:s}})}else await this._olmDevice.addInboundGroupSessionWithheld(t.room_id,n,t.session_id,t.code,t.reason)},d.prototype.hasKeysForKeyRequest=function(e){const t=e.requestBody;return this._olmDevice.hasInboundSessionKeys(t.room_id,t.sender_key,t.session_id)},d.prototype.shareKeysWithDevice=function(e){const t=e.userId,n=e.deviceId,o=this._crypto.getStoredDevice(t,n),i=e.requestBody;this.olmlib.ensureOlmSessionsForDevices(this._olmDevice,this._baseApis,{[t]:[o]}).then((e=>e[t][n].sessionId?(r.logger.log("sharing keys for session "+i.sender_key+"|"+i.session_id+" with device "+t+":"+n),this._buildKeyForwardingMessage(i.room_id,i.sender_key,i.session_id)):null)).then((e=>{const r={algorithm:a.OLM_ALGORITHM,sender_key:this._olmDevice.deviceCurve25519Key,ciphertext:{}};return this.olmlib.encryptMessageForDevice(r.ciphertext,this._userId,this._deviceId,this._olmDevice,t,o,e).then((()=>{const e={[t]:{[n]:r}};return this._baseApis.sendToDevice("m.room.encrypted",e)}))}))},d.prototype._buildKeyForwardingMessage=async function(e,t,n){const o=await this._olmDevice.getInboundGroupSessionKey(e,t,n);return{type:"m.forwarded_room_key",content:{algorithm:a.MEGOLM_ALGORITHM,room_id:e,sender_key:t,sender_claimed_ed25519_key:o.sender_claimed_ed25519_key,session_id:n,session_key:o.key,chain_index:o.chain_index,forwarding_curve25519_key_chain:o.forwarding_curve25519_key_chain,"org.matrix.msc3061.shared_history":o.shared_history||!1}}},d.prototype.importRoomKey=function(e,t={}){const n={};return t.untrusted&&(n.untrusted=!0),e["org.matrix.msc3061.shared_history"]&&(n.sharedHistory=!0),this._olmDevice.addInboundGroupSession(e.room_id,e.sender_key,e.forwarding_curve25519_key_chain,e.session_id,e.session_key,e.sender_claimed_keys,!0,n).then((()=>{"backup"!==t.source&&this._crypto.backupGroupSession(e.room_id,e.sender_key,e.forwarding_curve25519_key_chain,e.session_id,e.session_key,e.sender_claimed_keys,!0).catch((e=>{r.logger.log("Failed to back up megolm session",e)})),this._retryDecryption(e.sender_key,e.session_id)}))},d.prototype._retryDecryption=async function(e,t){const n=this._pendingEvents[e];if(!n)return!0;const o=n.get(t);return!o||(r.logger.debug("Retrying decryption on events",[...o]),await Promise.all([...o].map((async e=>{try{await e.attemptDecryption(this._crypto,{isRetry:!0})}catch(e){}}))),!(this._pendingEvents[e]||{})[t])},d.prototype.retryDecryptionFromSender=async function(e){const t=this._pendingEvents[e];return!t||(delete this._pendingEvents[e],await Promise.all([...t].map((async([e,t])=>{await Promise.all([...t].map((async e=>{try{await e.attemptDecryption(this._crypto)}catch(e){}})))}))),!this._pendingEvents[e])},d.prototype.sendSharedHistoryInboundSessions=async function(e){await a.ensureOlmSessionsForDevices(this._olmDevice,this._baseApis,e),r.logger.log("sendSharedHistoryInboundSessions to users",Object.keys(e));const t=await this._olmDevice.getSharedHistoryInboundGroupSessions(this._roomId);r.logger.log("shared-history sessions",t);for(const[n,o]of t){const t=await this._buildKeyForwardingMessage(this._roomId,n,o),i=[],s={};for(const[n,o]of Object.entries(e)){s[n]={};for(const e of o){const o={algorithm:a.OLM_ALGORITHM,sender_key:this._olmDevice.deviceCurve25519Key,ciphertext:{}};s[n][e.deviceId]=o,i.push(a.encryptMessageForDevice(o.ciphertext,this._userId,this._deviceId,this._olmDevice,n,e,t))}}await Promise.all(i);for(const e of Object.keys(s)){for(const t of Object.keys(s[e]))0===Object.keys(s[e][t].ciphertext).length&&(r.logger.log("No ciphertext for device "+e+":"+t+": pruning"),delete s[e][t]);0===Object.keys(s[e]).length&&(r.logger.log("Pruned all devices for user "+e),delete s[e])}if(0===Object.keys(s).length)return void r.logger.log("No users left to send to: aborting");await this._baseApis.sendToDevice("m.room.encrypted",s)}},(0,s.registerAlgorithm)(a.MEGOLM_ALGORITHM,l,d)},23072:(e,t,n)=>{"use strict";var o=n(20862),r=n(7434),i=o(n(3102)),a=o(n(32772)),s=n(23272),u=n(21897);const c=s.DeviceInfo.DeviceVerification;function l(e){(0,i.polyfillSuper)(this,u.EncryptionAlgorithm,e),this._sessionPrepared=!1,this._prepPromise=null}function d(e){(0,i.polyfillSuper)(this,u.DecryptionAlgorithm,e)}i.inherits(l,u.EncryptionAlgorithm),l.prototype._ensureSession=function(e){if(this._prepPromise)return this._prepPromise;if(this._sessionPrepared)return Promise.resolve();const t=this;return this._prepPromise=t._crypto.downloadKeys(e).then((function(n){return t._crypto.ensureOlmSessionsForUsers(e)})).then((function(){t._sessionPrepared=!0})).finally((function(){t._prepPromise=null})),this._prepPromise},l.prototype.encryptMessage=async function(e,t,n){const o=(await e.getEncryptionTargetMembers()).map((function(e){return e.userId})),r=this;await this._ensureSession(o);const i={room_id:e.roomId,type:t,content:n},s={algorithm:a.OLM_ALGORITHM,sender_key:r._olmDevice.deviceCurve25519Key,ciphertext:{}},u=[];for(let e=0;es))},i.inherits(d,u.DecryptionAlgorithm),d.prototype.decryptEvent=async function(e){const t=e.getWireContent(),n=t.sender_key,o=t.ciphertext;if(!o)throw new u.DecryptionError("OLM_MISSING_CIPHERTEXT","Missing ciphertext");if(!(this._olmDevice.deviceCurve25519Key in o))throw new u.DecryptionError("OLM_NOT_INCLUDED_IN_RECIPIENTS","Not included in recipients");const r=o[this._olmDevice.deviceCurve25519Key];let i;try{i=await this._decryptMessage(n,r)}catch(e){throw new u.DecryptionError("OLM_BAD_ENCRYPTED_MESSAGE","Bad Encrypted Message",{sender:n,err:e})}const a=JSON.parse(i);if(a.recipient!=this._userId)throw new u.DecryptionError("OLM_BAD_RECIPIENT","Message was intented for "+a.recipient);if(a.recipient_keys.ed25519!=this._olmDevice.deviceEd25519Key)throw new u.DecryptionError("OLM_BAD_RECIPIENT_KEY","Message not intended for this device",{intended:a.recipient_keys.ed25519,our_key:this._olmDevice.deviceEd25519Key});if(a.sender!=e.getSender())throw new u.DecryptionError("OLM_FORWARDED_MESSAGE","Message forwarded from "+a.sender,{reported_sender:e.getSender()});if(a.room_id!==e.getRoomId())throw new u.DecryptionError("OLM_BAD_ROOM","Message intended for room "+a.room_id,{reported_room:e.room_id});return{clearEvent:a,senderCurve25519Key:n,claimedEd25519Key:(a.keys||{}).ed25519||null}},d.prototype._decryptMessage=async function(e,t){if(0!==t.type)return this._reallyDecryptMessage(e,t);{const n=this._olmDevice._olmPrekeyPromise.then((()=>this._reallyDecryptMessage(e,t)));return this._olmDevice._olmPrekeyPromise=n.catch((()=>{})),await n}},d.prototype._reallyDecryptMessage=async function(e,t){const n=await this._olmDevice.getSessionIdsForDevice(e),o={};for(let i=0;i{"use strict";var o=n(95318);Object.defineProperty(t,"__esModule",{value:!0}),t.DehydrationManager=t.DEHYDRATION_ALGORITHM=void 0;var r=o(n(59713)),i=n(32772),a=n(57585),s=n(2611),u=o(n(69141)),c=n(7434);const l="org.matrix.msc2697.v1.olm.libolm_pickle";t.DEHYDRATION_ALGORITHM=l;const d=6048e5;t.DehydrationManager=class{constructor(e){this.crypto=e,(0,r.default)(this,"inProgress",!1),(0,r.default)(this,"timeoutId",void 0),(0,r.default)(this,"key",void 0),(0,r.default)(this,"keyInfo",void 0),(0,r.default)(this,"deviceDisplayName",void 0),this.getDehydrationKeyFromCache()}async getDehydrationKeyFromCache(){return await this.crypto._cryptoStore.doTxn("readonly",[a.IndexedDBCryptoStore.STORE_ACCOUNT],(e=>{this.crypto._cryptoStore.getSecretStorePrivateKey(e,(async e=>{if(e){const{key:t,keyInfo:o,deviceDisplayName:r,time:a}=e,u=Buffer.from(this.crypto._olmDevice._pickleKey),c=await(0,s.decryptAES)(t,u,l);this.key=(0,i.decodeBase64)(c),this.keyInfo=o,this.deviceDisplayName=r;const h=Date.now(),p=Math.max(1,a+d-h);this.timeoutId=n.g.setTimeout(this.dehydrateDevice.bind(this),p)}}),"dehydration")}))}async setKeyAndQueueDehydration(e,t={},n){await this.setKey(e,t,n)||this.dehydrateDevice()}async setKey(e,t={},o){if(!e)return this.timeoutId&&(n.g.clearTimeout(this.timeoutId),this.timeoutId=void 0),await this.crypto._cryptoStore.doTxn("readwrite",[a.IndexedDBCryptoStore.STORE_ACCOUNT],(e=>{this.crypto._cryptoStore.storeSecretStorePrivateKey(e,"dehydration",null)})),this.key=void 0,void(this.keyInfo=void 0);let r=this.key&&e.length==this.key.length;for(let t=0;r&&t{this.crypto._cryptoStore.storeSecretStorePrivateKey(e,"dehydration",{keyInfo:this.keyInfo,key:t,deviceDisplayName:this.deviceDisplayName,time:Date.now()})})),c.logger.log("Attempting to dehydrate device"),c.logger.log("Creating account");const o=new n.g.Olm.Account;o.create();const r=JSON.parse(o.identity_keys()),h=o.max_number_of_one_time_keys();o.generate_one_time_keys(h/2),o.generate_fallback_key();const p=JSON.parse(o.one_time_keys()),f=JSON.parse(o.fallback_key());o.mark_keys_as_published();const g=o.pickle(new Uint8Array(this.key)),m={algorithm:l,account:g};this.keyInfo.passphrase&&(m.passphrase=this.keyInfo.passphrase),c.logger.log("Uploading account to server");const _=(await this.crypto._baseApis._http.authedRequest(void 0,"PUT","/dehydrated_device",void 0,{device_data:m,initial_device_display_name:this.deviceDisplayName},{prefix:"/_matrix/client/unstable/org.matrix.msc2697.v2"})).device_id;c.logger.log("Preparing device keys",_);const F={algorithms:this.crypto._supportedAlgorithms,device_id:_,user_id:this.crypto._userId,keys:{[`ed25519:${_}`]:r.ed25519,[`curve25519:${_}`]:r.curve25519}},y=o.sign(u.default.stringify(F));F.signatures={[this.crypto._userId]:{[`ed25519:${_}`]:y}},this.crypto._crossSigningInfo.getId("self_signing")&&await this.crypto._crossSigningInfo.signObject(F,"self_signing"),c.logger.log("Preparing one-time keys");const b={};for(const[e,t]of Object.entries(p.curve25519)){const n={key:t},r=o.sign(u.default.stringify(n));n.signatures={[this.crypto._userId]:{[`ed25519:${_}`]:r}},b[`signed_curve25519:${e}`]=n}c.logger.log("Preparing fallback keys");const v={};for(const[e,t]of Object.entries(f.curve25519)){const n={key:t,fallback:!0},r=o.sign(u.default.stringify(n));n.signatures={[this.crypto._userId]:{[`ed25519:${_}`]:r}},v[`signed_curve25519:${e}`]=n}return c.logger.log("Uploading keys to server"),await this.crypto._baseApis._http.authedRequest(void 0,"POST","/keys/upload/"+encodeURI(_),void 0,{device_keys:F,one_time_keys:b,"org.matrix.msc2732.fallback_keys":v}),c.logger.log("Done dehydrating"),this.timeoutId=n.g.setTimeout(this.dehydrateDevice.bind(this),d),_}finally{this.inProgress=!1}}}stop(){this.timeoutId&&(n.g.clearTimeout(this.timeoutId),this.timeoutId=void 0)}}},23272:(e,t)=>{"use strict";function n(e){Object.defineProperty(this,"deviceId",{enumerable:!0,value:e}),this.algorithms=[],this.keys={},this.verified=o.UNVERIFIED,this.known=!1,this.unsigned={},this.signatures={}}Object.defineProperty(t,"__esModule",{value:!0}),t.DeviceInfo=n,n.fromStorage=function(e,t){const o=new n(t);for(const t in e)e.hasOwnProperty(t)&&(o[t]=e[t]);return o},n.prototype.toStorage=function(){return{algorithms:this.algorithms,keys:this.keys,verified:this.verified,known:this.known,unsigned:this.unsigned,signatures:this.signatures}},n.prototype.getFingerprint=function(){return this.keys["ed25519:"+this.deviceId]},n.prototype.getIdentityKey=function(){return this.keys["curve25519:"+this.deviceId]},n.prototype.getDisplayName=function(){return this.unsigned.device_display_name||null},n.prototype.isBlocked=function(){return this.verified==o.BLOCKED},n.prototype.isVerified=function(){return this.verified==o.VERIFIED},n.prototype.isUnverified=function(){return this.verified==o.UNVERIFIED},n.prototype.isKnown=function(){return 1==this.known},n.DeviceVerification={VERIFIED:1,UNVERIFIED:0,BLOCKED:-1};const o=n.DeviceVerification},12600:(e,t,n)=>{"use strict";var o=n(20862),r=n(95318);Object.defineProperty(t,"__esModule",{value:!0}),t.isCryptoAvailable=function(){return Boolean(n.g.Olm)},t.Crypto=B,t.fixBackupKey=N,t.verificationMethods=void 0;var i=r(n(69141)),a=n(17187),s=n(20771),u=n(7434),c=o(n(3102)),l=n(72573),d=o(n(32772)),h=n(36670),p=n(23272),f=o(n(91994)),g=n(3075),m=n(70636),_=n(44823),F=n(66617),y=n(57585),b=n(51696),v=n(56381),w=n(91597),E=n(34077),k=n(85279),D=n(22842),S=n(89588),x=n(4028),C=n(19489),A=n(2611),T=n(54830),R=n(24369);const I=p.DeviceInfo.DeviceVerification,M={[b.ReciprocateQRCode.NAME]:b.ReciprocateQRCode,[v.SAS.NAME]:v.SAS,[b.SHOW_QR_CODE_METHOD]:x.IllegalMethod,[b.SCAN_QR_CODE_METHOD]:x.IllegalMethod},O={RECIPROCATE_QR_CODE:b.ReciprocateQRCode.NAME,SAS:v.SAS.NAME};function B(e,t,n,o,r,i,a,c){if(this._onDeviceListUserCrossSigningUpdated=this._onDeviceListUserCrossSigningUpdated.bind(this),this._trustCrossSignedDevices=!0,this._reEmitter=new s.ReEmitter(this),this._baseApis=e,this._sessionStore=t,this._userId=n,this._deviceId=o,this._clientStore=r,this._cryptoStore=i,this._roomList=a,c){this._verificationMethods=new Map;for(const e of c)"string"==typeof e?M[e]&&this._verificationMethods.set(e,M[e]):e.NAME?this._verificationMethods.set(e.NAME,e):u.logger.warn(`Excluding unknown verification method ${e}`)}else this._verificationMethods=M;this.backupInfo=null,this.backupKey=null,this._checkedForBackup=!1,this._sendingBackups=!1,this._olmDevice=new l.OlmDevice(i),this._deviceList=new h.DeviceList(e,i,this._olmDevice),this._deviceList.on("userCrossSigningUpdated",this._onDeviceListUserCrossSigningUpdated),this._reEmitter.reEmit(this._deviceList,["crypto.devicesUpdated","crypto.willUpdateDevices"]),this._lastOneTimeKeyCheck=null,this._oneTimeKeyCheckInProgress=!1,this._roomEncryptors={},this._roomDecryptors={},this._supportedAlgorithms=Object.keys(f.DECRYPTION_CLASSES),this._deviceKeys={},this._globalBlacklistUnverifiedDevices=!1,this._globalErrorOnUnknownDevices=!0,this._outgoingRoomKeyRequestManager=new F.OutgoingRoomKeyRequestManager(e,this._deviceId,this._cryptoStore),this._receivedRoomKeyRequests=[],this._receivedRoomKeyRequestCancellations=[],this._processingRoomKeyRequests=!1,this._lazyLoadMembers=!1,this._roomDeviceTrackingState={},this._lastNewSessionForced={},this._toDeviceVerificationRequests=new S.ToDeviceRequests,this._inRoomVerificationRequests=new D.InRoomRequests,this._sendKeyRequestsImmediately=!1;const d=this._baseApis._cryptoCallbacks||{},p=(0,g.createCryptoStoreCacheCallbacks)(i,this._olmDevice);this._crossSigningInfo=new g.CrossSigningInfo(n,d,p),this._secretStorage=new _.SecretStorage(e,d),this._dehydrationManager=new T.DehydrationManager(this),!d.getCrossSigningKey&&d.getSecretStorageKey&&(d.getCrossSigningKey=async e=>g.CrossSigningInfo.getFromSecretStorage(e,this._secretStorage))}function N(e){if("string"!=typeof e||e.indexOf(",")<0)return null;const t=Uint8Array.from(e.split(","),(e=>parseInt(e)));return d.encodeBase64(t)}async function L(e){const t=[],n={};if(e.getNeedsNewFallback()){const o=await e._olmDevice.getFallbackKey();for(const[r,i]of Object.entries(o.curve25519)){const o={key:i,fallback:!0};n["signed_curve25519:"+r]=o,t.push(e._signObject(o))}e.setNeedsNewFallback(!1)}const o=await e._olmDevice.getOneTimeKeys(),r={};for(const n in o.curve25519)if(o.curve25519.hasOwnProperty(n)){const i={key:o.curve25519[n]};r["signed_curve25519:"+n]=i,t.push(e._signObject(i))}await Promise.all(t);const i=await e._baseApis.uploadKeysRequest({one_time_keys:r,"org.matrix.msc2732.fallback_keys":n});return await e._olmDevice.markKeysAsPublished(),i}t.verificationMethods=O,c.inherits(B,a.EventEmitter),B.prototype.init=async function(e){const{exportedOlmDevice:t,pickleKey:o}=e||{};u.logger.log("Crypto: initialising Olm..."),await n.g.Olm.init(),u.logger.log(t?"Crypto: initialising Olm device from exported device...":"Crypto: initialising Olm device..."),await this._olmDevice.init({fromExportedDevice:t,pickleKey:o}),u.logger.log("Crypto: loading device list..."),await this._deviceList.load(),this._deviceKeys["ed25519:"+this._deviceId]=this._olmDevice.deviceEd25519Key,this._deviceKeys["curve25519:"+this._deviceId]=this._olmDevice.deviceCurve25519Key,u.logger.log("Crypto: fetching own devices...");let r=this._deviceList.getRawStoredDevicesForUser(this._userId);if(r||(r={}),!r[this._deviceId]){u.logger.log("Crypto: adding this device to the store...");const e={keys:this._deviceKeys,algorithms:this._supportedAlgorithms,verified:I.VERIFIED,known:!0};r[this._deviceId]=e,this._deviceList.storeDevicesForUser(this._userId,r),this._deviceList.saveIfDirty()}await this._cryptoStore.doTxn("readonly",[y.IndexedDBCryptoStore.STORE_ACCOUNT],(e=>{this._cryptoStore.getCrossSigningKeys(e,(e=>{e&&0!==Object.keys(e).length&&(u.logger.log("Loaded cross-signing public keys from crypto store"),this._crossSigningInfo.setKeys(e))}))})),this._deviceList.startTrackingDeviceList(this._userId),u.logger.log("Crypto: checking for key backup..."),this._checkAndStartKeyBackup()},B.prototype.getCryptoTrustCrossSignedDevices=function(){return this._trustCrossSignedDevices},B.prototype.setCryptoTrustCrossSignedDevices=function(e){this._trustCrossSignedDevices=e;for(const e of this._deviceList.getKnownUserIds()){const t=this._deviceList.getRawStoredDevicesForUser(e);for(const n of Object.keys(t)){const t=this.checkDeviceTrust(e,n);if(!t.isLocallyVerified()&&t.isCrossSigningVerified()){const t=this._deviceList.getStoredDevice(e,n);this.emit("deviceVerificationChanged",e,n,t)}}}},B.prototype.createRecoveryKeyFromPassphrase=async function(e){const t=new n.g.Olm.PkDecryption;try{const n={};if(e){const o=await(0,w.keyFromPassphrase)(e);n.passphrase={algorithm:"m.pbkdf2",iterations:o.iterations,salt:o.salt},n.pubkey=t.init_with_private_key(o.key)}else n.pubkey=t.generate_key();const o=t.get_private_key();return{keyInfo:n,encodedPrivateKey:(0,E.encodeRecoveryKey)(o),privateKey:o}}finally{t&&t.free()}},B.prototype.isCrossSigningReady=async function(){const e=this._crossSigningInfo.getId(),t=await this._crossSigningInfo.isStoredInKeyCache()||await this._crossSigningInfo.isStoredInSecretStorage(this._secretStorage);return!(!e||!t)},B.prototype.isSecretStorageReady=async function(){const e=await this._secretStorage.hasKey(),t=await this._crossSigningInfo.isStoredInSecretStorage(this._secretStorage),n=!this._baseApis.getKeyBackupEnabled()||this._baseApis.isKeyBackupKeyStored();return!!(e&&t&&n)},B.prototype.bootstrapCrossSigning=async function({authUploadDeviceSigningKeys:e,setupNewCrossSigning:t}={}){u.logger.log("Bootstrapping cross-signing");const n=this._baseApis._cryptoCallbacks,o=new m.EncryptionSetupBuilder(this._baseApis.store.accountData,n),r=new g.CrossSigningInfo(this._userId,o.crossSigningCallbacks,o.crossSigningCallbacks),i=this._crossSigningInfo.getId(),a=await this._crossSigningInfo.isStoredInKeyCache(),s=await this._crossSigningInfo.isStoredInSecretStorage(this._secretStorage),c=a||s;u.logger.log({setupNewCrossSigning:t,publicKeysOnDevice:i,privateKeysInCache:a,privateKeysInStorage:s,privateKeysExistSomewhere:c}),!c||t?(u.logger.log("Cross-signing private keys not found locally or in secret storage, creating new keys"),await(async()=>{r.resetKeys(),await this._signObject(r.keys.master),o.addCrossSigningKeys(e,r.keys);const t=this._deviceList.getStoredDevice(this._userId,this._deviceId),n=await r.signDevice(this._userId,t);o.addKeySignature(this._userId,this._deviceId,n),this.backupInfo&&(await r.signObject(this.backupInfo.auth_data,"master"),o.addSessionBackup(this.backupInfo))})()):i&&a?u.logger.log("Cross-signing public keys trusted and private keys found locally"):s&&(u.logger.log("Cross-signing private keys not found locally, but they are available in secret storage, reading storage and caching locally"),await this.checkOwnCrossSigningTrust({allowPrivateKeyRequests:!0}));const l=o.crossSigningCallbacks.privateKeys;if(l.size&&!this._baseApis._cryptoCallbacks.saveCrossSigningKeys){const e=new _.SecretStorage(o.accountDataClientAdapter,o.ssssCryptoCallbacks);await e.hasKey()&&(u.logger.log("Storing new cross-signing private keys in secret storage"),await g.CrossSigningInfo.storeInSecretStorage(l,e))}const d=o.buildOperation();await d.apply(this),await o.persist(this),u.logger.log("Cross-signing ready")},B.prototype.bootstrapSecretStorage=async function({createSecretStorageKey:e=(async()=>({})),keyBackupInfo:t,setupNewKeyBackup:n,setupNewSecretStorage:o,getKeyBackupPassphrase:r}={}){u.logger.log("Bootstrapping Secure Secret Storage");const i=this._baseApis._cryptoCallbacks,a=new m.EncryptionSetupBuilder(this._baseApis.store.accountData,i),s=new _.SecretStorage(a.accountDataClientAdapter,a.ssssCryptoCallbacks);let c=null;const l=async(e,t)=>{e=e||{},t&&(e.key=t);const{keyId:n,keyInfo:o}=await s.addKey(_.SECRET_STORAGE_ALGORITHM_V1_AES,e);return t&&a.ssssCryptoCallbacks.addPrivateKey(n,o,t),await s.setDefaultKeyId(n),n},h=async e=>{if(this._crossSigningInfo.getId()&&await this._crossSigningInfo.isStoredInKeyCache("master"))try{u.logger.log("Adding cross-signing signature to key backup"),await this._crossSigningInfo.signObject(e,"master")}catch(e){u.logger.error("Signing key backup with cross-signing keys failed",e)}else u.logger.warn("Cross-signing keys not available, skipping signature on key backup")},p=await this.getSecretStorageKey(),[f,F]=p||[null,null],y=!o&&F&&F.algorithm===_.SECRET_STORAGE_ALGORITHM_V1_AES;if(u.logger.log({keyBackupInfo:t,setupNewKeyBackup:n,setupNewSecretStorage:o,storageExists:y,oldKeyInfo:F}),y||t)if(!y&&t){u.logger.log("Secret storage does not exist, using key backup key");const e=await this.getSessionBackupPrivateKey()||await r(),n={};t.auth_data.private_key_salt&&t.auth_data.private_key_iterations&&(n.passphrase={algorithm:"m.pbkdf2",iterations:t.auth_data.private_key_iterations,salt:t.auth_data.private_key_salt,bits:256}),c=await l(n,e),await s.store("m.megolm_backup.v1",d.encodeBase64(e),[c]),await h(t.auth_data),a.addSessionBackup(t)}else u.logger.log("Secret storage exists"),F&&F.algorithm===_.SECRET_STORAGE_ALGORITHM_V1_AES&&await(async(e,t)=>{if(!t.mac){const n=await this._baseApis._cryptoCallbacks.getSecretStorageKey({keys:{[e]:t}},"");if(n){const o=n[1];a.ssssCryptoCallbacks.addPrivateKey(e,t,o);const{iv:r,mac:i}=await _.SecretStorage._calculateKeyCheck(o);t.iv=r,t.mac=i,await a.setAccountData(`m.secret_storage.key.${e}`,t)}}})(f,F);else{u.logger.log("Secret storage does not exist, creating new storage key");const{keyInfo:t,privateKey:n}=await e();c=await l(t,n)}if(!this._baseApis._cryptoCallbacks.saveCrossSigningKeys&&await this.isCrossSigningReady()&&(c||!await this._crossSigningInfo.isStoredInSecretStorage(s))){u.logger.log("Copying cross-signing private keys from cache to secret storage");const e=await this._crossSigningInfo.getCrossSigningKeysFromCache();await g.CrossSigningInfo.storeInSecretStorage(e,s)}if(n&&!t){u.logger.log("Creating new message key backup version");const e=await this._baseApis.prepareKeyBackupVersion(null,{secureSecretStorage:!1}),t=(0,E.decodeRecoveryKey)(e.recovery_key);await s.store("m.megolm_backup.v1",d.encodeBase64(t));const n={algorithm:e.algorithm,auth_data:e.auth_data};await h(n.auth_data),await this._signObject(n.auth_data),a.addSessionBackup(n)}const b=await s.get("m.megolm_backup.v1");if(b){u.logger.info("Got session backup key from secret storage: caching");const e=N(b);e&&await s.store("m.megolm_backup.v1",e,[c||f]);const t=new Uint8Array(d.decodeBase64(e||b));await a.addSessionBackupPrivateKeyToCache(t)}const v=a.buildOperation();await v.apply(this),await a.persist(this),u.logger.log("Secure Secret Storage ready")},B.prototype.addSecretStorageKey=function(e,t,n){return this._secretStorage.addKey(e,t,n)},B.prototype.hasSecretStorageKey=function(e){return this._secretStorage.hasKey(e)},B.prototype.getSecretStorageKey=function(e){return this._secretStorage.getKey(e)},B.prototype.storeSecret=function(e,t,n){return this._secretStorage.store(e,t,n)},B.prototype.getSecret=function(e){return this._secretStorage.get(e)},B.prototype.isSecretStored=function(e,t){return this._secretStorage.isStored(e,t)},B.prototype.requestSecret=function(e,t){return t||(t=Object.keys(this._deviceList.getRawStoredDevicesForUser(this._userId))),this._secretStorage.request(e,t)},B.prototype.getDefaultSecretStorageKeyId=function(){return this._secretStorage.getDefaultKeyId()},B.prototype.setDefaultSecretStorageKeyId=function(e){return this._secretStorage.setDefaultKeyId(e)},B.prototype.checkSecretStorageKey=function(e,t){return this._secretStorage.checkKey(e,t)},B.prototype.checkSecretStoragePrivateKey=function(e,t){let o=null;try{return o=new n.g.Olm.PkDecryption,o.init_with_private_key(e)===t}finally{o&&o.free()}},B.prototype.getSessionBackupPrivateKey=async function(){let e=await new Promise((e=>{this._cryptoStore.doTxn("readonly",[y.IndexedDBCryptoStore.STORE_ACCOUNT],(t=>{this._cryptoStore.getSecretStorePrivateKey(t,e,"m.megolm_backup.v1")}))}));if(e&&"string"==typeof e&&(e=new Uint8Array(d.decodeBase64(N(e)||e)),await this.storeSessionBackupPrivateKey(e)),e&&e.ciphertext){const t=Buffer.from(this._olmDevice._pickleKey),n=await(0,A.decryptAES)(e,t,"m.megolm_backup.v1");e=d.decodeBase64(n)}return e},B.prototype.storeSessionBackupPrivateKey=async function(e){if(!(e instanceof Uint8Array))throw new Error(`storeSessionBackupPrivateKey expects Uint8Array, got ${e}`);const t=Buffer.from(this._olmDevice._pickleKey);return e=await(0,A.encryptAES)(d.encodeBase64(e),t,"m.megolm_backup.v1"),this._cryptoStore.doTxn("readwrite",[y.IndexedDBCryptoStore.STORE_ACCOUNT],(t=>{this._cryptoStore.storeSecretStorePrivateKey(t,"m.megolm_backup.v1",e)}))},B.prototype.checkCrossSigningPrivateKey=function(e,t){let o=null;try{return o=new n.g.Olm.PkSigning,o.init_with_seed(e)===t}finally{o&&o.free()}},B.prototype._afterCrossSigningLocalKeyChange=async function(){u.logger.info("Starting cross-signing key change post-processing");const e=this._deviceList.getStoredDevice(this._userId,this._deviceId),t=await this._crossSigningInfo.signDevice(this._userId,e);u.logger.info(`Starting background key sig upload for ${this._deviceId}`);const n=({shouldEmit:e})=>this._baseApis.uploadKeySignatures({[this._userId]:{[this._deviceId]:t}}).then((t=>{const{failures:o}=t||{};if(Object.keys(o||[]).length>0)throw e&&this._baseApis.emit("crypto.keySignatureUploadFailure",o,"_afterCrossSigningLocalKeyChange",n),new C.KeySignatureUploadError("Key upload failed",{failures:o});u.logger.info(`Finished background key sig upload for ${this._deviceId}`)})).catch((e=>{u.logger.error(`Error during background key sig upload for ${this._deviceId}`,e)}));n({shouldEmit:!0});const o=this._baseApis._cryptoCallbacks.shouldUpgradeDeviceVerifications;if(o){u.logger.info("Starting device verification upgrade");const e={};for(const[t,n]of Object.entries(this._deviceList._crossSigningInfo)){const o=await this._checkForDeviceVerificationUpgrade(t,g.CrossSigningInfo.fromStorage(n,t));o&&(e[t]=o)}if(Object.keys(e).length>0){u.logger.info(`Found ${Object.keys(e).length} verif users to upgrade`);try{const t=await o({users:e});if(t)for(const n of t)n in e&&await this._baseApis.setDeviceVerified(n,e[n].crossSigningInfo.getId())}catch(e){u.logger.log("shouldUpgradeDeviceVerifications threw an error: not upgrading",e)}}u.logger.info("Finished device verification upgrade")}u.logger.info("Finished cross-signing key change post-processing")},B.prototype._checkForDeviceVerificationUpgrade=async function(e,t){const n=this._crossSigningInfo.checkUserTrust(t);if(t.firstUse&&!n.verified){const n=this._deviceList.getRawStoredDevicesForUser(e),o=await this._checkForValidDeviceSignature(e,t.keys.master,n);if(o.length)return{devices:o.map((e=>p.DeviceInfo.fromStorage(n[e],e))),crossSigningInfo:t}}},B.prototype._checkForValidDeviceSignature=async function(e,t,n){const o=[];if(n&&t.signatures&&t.signatures[e])for(const r of Object.keys(t.signatures[e])){const[,i]=r.split(":",2);if(i in n&&n[i].verified===I.VERIFIED)try{await d.verifySignature(this._olmDevice,t,e,i,n[i].keys[r]),o.push(i)}catch(e){}}return o},B.prototype.getCrossSigningId=function(e){return this._crossSigningInfo.getId(e)},B.prototype.getStoredCrossSigningForUser=function(e){return this._deviceList.getStoredCrossSigningForUser(e)},B.prototype.checkUserTrust=function(e){const t=this._deviceList.getStoredCrossSigningForUser(e);return t?this._crossSigningInfo.checkUserTrust(t):new g.UserTrustLevel(!1,!1,!1)},B.prototype.checkDeviceTrust=function(e,t){const n=this._deviceList.getStoredDevice(e,t);return this._checkDeviceInfoTrust(e,n)},B.prototype._checkDeviceInfoTrust=function(e,t){const n=!(!t||!t.isVerified()),o=this._deviceList.getStoredCrossSigningForUser(e);if(t&&o){const r=this._trustCrossSignedDevices||e===this._userId;return this._crossSigningInfo.checkDeviceTrust(o,t,n,r)}return new g.DeviceTrustLevel(!1,!1,n,!1)},B.prototype._onDeviceListUserCrossSigningUpdated=async function(e){if(e===this._userId){const t=this._deviceList.getStoredCrossSigningForUser(e),n=t?t.getId():null,o=this._crossSigningInfo.getId(),r=o!==n;o&&n&&!r?await this.checkOwnCrossSigningTrust():(this._storeTrustedSelfKeys(null),this.emit("crossSigning.keysChanged",{}),this.emit("userTrustStatusChanged",this._userId,this.checkUserTrust(e)))}else{await this._checkDeviceVerifications(e);const t=this._deviceList.getStoredCrossSigningForUser(e);t&&(t.updateCrossSigningVerifiedBefore(this.checkUserTrust(e).isCrossSigningVerified()),this._deviceList.setRawStoredCrossSigningForUser(e,t.toStorage())),this.emit("userTrustStatusChanged",e,this.checkUserTrust(e))}},B.prototype.checkOwnCrossSigningTrust=async function({allowPrivateKeyRequests:e=!1}={}){const t=this._userId;await this.downloadKeys([this._userId]);const n=await this._crossSigningInfo.getCrossSigningKeysFromCache(),o=this._deviceList.getStoredCrossSigningForUser(t);if(!o)return void u.logger.error("Got cross-signing update event for user "+t+" but no new cross-signing information found!");const r=o.getId(),i=this._crossSigningInfo.getId()!==r,a=o.getId()&&!n.has("master");if(i&&u.logger.info("Got new master public key",r),e&&(i||a)){u.logger.info("Attempting to retrieve cross-signing master private key");let e=null;try{e=(await this._crossSigningInfo.getCrossSigningKey("master",r))[1],u.logger.info("Got cross-signing master private key")}finally{e&&e.free()}}const s=this._crossSigningInfo.getId("self_signing"),c=this._crossSigningInfo.getId("user_signing");this._storeTrustedSelfKeys(o.keys);const l=s!==o.getId("self_signing"),d=c!==o.getId("user_signing"),h=o.getId("self_signing")&&!n.has("self_signing"),p=o.getId("user_signing")&&!n.has("user_signing"),f={};if(l&&u.logger.info("Got new self-signing key",o.getId("self_signing")),e&&(l||h)){u.logger.info("Attempting to retrieve cross-signing self-signing private key");let e=null;try{e=(await this._crossSigningInfo.getCrossSigningKey("self_signing",o.getId("self_signing")))[1],u.logger.info("Got cross-signing self-signing private key")}finally{e&&e.free()}const t=this._deviceList.getStoredDevice(this._userId,this._deviceId),n=await this._crossSigningInfo.signDevice(this._userId,t);f[this._deviceId]=n}if(d&&u.logger.info("Got new user-signing key",o.getId("user_signing")),e&&(d||p)){u.logger.info("Attempting to retrieve cross-signing user-signing private key");let e=null;try{e=(await this._crossSigningInfo.getCrossSigningKey("user_signing",o.getId("user_signing")))[1],u.logger.info("Got cross-signing user-signing private key")}finally{e&&e.free()}}if(i){const e=this._crossSigningInfo.keys.master;await this._signObject(e);const t=e.signatures[this._userId]["ed25519:"+this._deviceId];f[this._crossSigningInfo.getId()]=Object.assign({},e,{signatures:{[this._userId]:{["ed25519:"+this._deviceId]:t}}})}const g=Object.keys(f);if(g.length){const e=({shouldEmit:t})=>(u.logger.info(`Starting background key sig upload for ${g}`),this._baseApis.uploadKeySignatures({[this._userId]:f}).then((n=>{const{failures:o}=n||{};if(u.logger.info(`Finished background key sig upload for ${g}`),Object.keys(o||[]).length>0)throw t&&this._baseApis.emit("crypto.keySignatureUploadFailure",o,"checkOwnCrossSigningTrust",e),new C.KeySignatureUploadError("Key upload failed",{failures:o})})).catch((e=>{u.logger.error(`Error during background key sig upload for ${g}`,e)})));e({shouldEmit:!0})}this.emit("userTrustStatusChanged",t,this.checkUserTrust(t)),i&&(this._baseApis.emit("crossSigning.keysChanged",{}),await this._afterCrossSigningLocalKeyChange()),await this.checkKeyBackup()},B.prototype._storeTrustedSelfKeys=async function(e){e?this._crossSigningInfo.setKeys(e):this._crossSigningInfo.clearKeys(),await this._cryptoStore.doTxn("readwrite",[y.IndexedDBCryptoStore.STORE_ACCOUNT],(e=>{this._cryptoStore.storeCrossSigningKeys(e,this._crossSigningInfo.keys)}))},B.prototype._checkDeviceVerifications=async function(e){const t=this._baseApis._cryptoCallbacks.shouldUpgradeDeviceVerifications;if(t){if(u.logger.info(`Starting device verification upgrade for ${e}`),this._crossSigningInfo.keys.user_signing){const n=this._deviceList.getStoredCrossSigningForUser(e);if(n){const o=await this._checkForDeviceVerificationUpgrade(e,n);o&&(await t({users:{[e]:o}})).includes(e)&&await this._baseApis.setDeviceVerified(e,n.getId())}}u.logger.info(`Finished device verification upgrade for ${e}`)}},B.prototype._checkAndStartKeyBackup=async function(){if(u.logger.log("Checking key backup status..."),this._baseApis.isGuest())return u.logger.log("Skipping key backup check since user is guest"),this._checkedForBackup=!0,null;let e;try{e=await this._baseApis.getKeyBackupVersion()}catch(e){return u.logger.log("Error checking for active key backup",e),404===e.httpStatus&&(this._checkedForBackup=!0),null}this._checkedForBackup=!0;const t=await this.isKeyBackupTrusted(e);return t.usable&&!this.backupInfo?(u.logger.log("Found usable key backup v"+e.version+": enabling key backups"),this._baseApis.enableKeyBackup(e)):!t.usable&&this.backupInfo?(u.logger.log("No usable key backup: disabling key backup"),this._baseApis.disableKeyBackup()):t.usable||this.backupInfo?t.usable&&this.backupInfo&&(e.version!==this.backupInfo.version?(u.logger.log("On backup version "+this.backupInfo.version+" but found version "+e.version+": switching."),this._baseApis.disableKeyBackup(),this._baseApis.enableKeyBackup(e),await this.scheduleAllGroupSessionsForBackup()):u.logger.log("Backup version "+e.version+" still current")):u.logger.log("No usable key backup: not enabling key backup"),{backupInfo:e,trustInfo:t}},B.prototype.setTrustedBackupPubKey=async function(e){this._sessionStore.setLocalTrustedBackupPubKey(e),await this.checkKeyBackup()},B.prototype.checkKeyBackup=async function(){return this._checkedForBackup=!1,this._checkAndStartKeyBackup()},B.prototype.isKeyBackupTrusted=async function(e){const t={usable:!1,trusted_locally:!1,sigs:[]};if(!(e&&e.algorithm&&e.auth_data&&e.auth_data.public_key&&e.auth_data.signatures))return u.logger.info("Key backup is absent or missing required data"),t;const n=this._sessionStore.getLocalTrustedBackupPubKey();e.auth_data.public_key===n&&(u.logger.info("Backup public key "+n+" is trusted locally"),t.trusted_locally=!0);const o=e.auth_data.signatures[this._userId]||[];for(const n of Object.keys(o)){const o=n.split(":");if("ed25519"!==o[0]){u.logger.log("Ignoring unknown signature type: "+o[0]);continue}const r={deviceId:o[1]},i=this._crossSigningInfo.getId();if(i===r.deviceId){r.crossSigningId=!0;try{await d.verifySignature(this._olmDevice,e.auth_data,this._userId,r.deviceId,i),r.valid=!0}catch(e){u.logger.warning("Bad signature from cross signing key "+i,e),r.valid=!1}t.sigs.push(r);continue}const a=this._deviceList.getStoredDevice(this._userId,r.deviceId);if(a){r.device=a,r.deviceTrust=await this.checkDeviceTrust(this._userId,r.deviceId);try{await d.verifySignature(this._olmDevice,e.auth_data,this._userId,a.deviceId,a.getFingerprint()),r.valid=!0}catch(t){u.logger.info("Bad signature from key ID "+n+" userID "+this._userId+" device ID "+a.deviceId+" fingerprint: "+a.getFingerprint(),e.auth_data,t),r.valid=!1}}else r.valid=null,u.logger.info("Ignoring signature from unknown key "+n);t.sigs.push(r)}return t.usable=t.sigs.some((e=>e.valid&&(e.device&&e.deviceTrust.isVerified()||e.crossSigningId))),t.usable|=t.trusted_locally,t},B.prototype.enableLazyLoading=function(){this._lazyLoadMembers=!0},B.prototype.registerEventHandlers=function(e){const t=this;e.on("RoomMember.membership",(function(e,n,o){try{t._onRoomMembership(e,n,o)}catch(e){u.logger.error("Error handling membership change:",e)}})),e.on("toDeviceEvent",t._onToDeviceEvent.bind(t));const n=t._onTimelineEvent.bind(t);e.on("Room.timeline",n),e.on("Event.decrypted",n)},B.prototype.start=function(){this._outgoingRoomKeyRequestManager.start()},B.prototype.stop=function(){this._outgoingRoomKeyRequestManager.stop(),this._deviceList.stop(),this._dehydrationManager.stop()},B.getOlmVersion=function(){return l.OlmDevice.getOlmVersion()},B.prototype.getDeviceEd25519Key=function(){return this._olmDevice.deviceEd25519Key},B.prototype.getDeviceCurve25519Key=function(){return this._olmDevice.deviceCurve25519Key},B.prototype.setGlobalBlacklistUnverifiedDevices=function(e){this._globalBlacklistUnverifiedDevices=e},B.prototype.getGlobalBlacklistUnverifiedDevices=function(){return this._globalBlacklistUnverifiedDevices},B.prototype.setGlobalErrorOnUnknownDevices=function(e){this._globalErrorOnUnknownDevices=e},B.prototype.getGlobalErrorOnUnknownDevices=function(){return this._globalErrorOnUnknownDevices},B.prototype.uploadDeviceKeys=function(){const e=this,t=e._userId,n=e._deviceId,o={algorithms:e._supportedAlgorithms,device_id:n,keys:e._deviceKeys,user_id:t};return e._signObject(o).then((()=>e._baseApis.uploadKeysRequest({device_keys:o})))},B.prototype.updateOneTimeKeyCount=function(e){if(!isFinite(e))throw new TypeError("Parameter for updateOneTimeKeyCount has to be a number");this._oneTimeKeyCount=e},B.prototype.setNeedsNewFallback=function(e){this._needsNewFallback=!!e},B.prototype.getNeedsNewFallback=function(){return this._needsNewFallback},B.prototype.downloadKeys=function(e,t){return this._deviceList.downloadKeys(e,t)},B.prototype.getStoredDevicesForUser=function(e){return this._deviceList.getStoredDevicesForUser(e)},B.prototype.getStoredDevice=function(e,t){return this._deviceList.getStoredDevice(e,t)},B.prototype.saveDeviceList=function(e){return this._deviceList.saveIfDirty(e)},B.prototype.setDeviceVerification=async function(e,t,n,o,r){void 0===n&&(n=null),void 0===o&&(o=null),void 0===r&&(r=null);const i=this._deviceList.getStoredCrossSigningForUser(e);if(i&&i.getId()===t){if(null!==o||null!==r)throw new Error("Cannot set blocked or known for a cross-signing key");if(!n)throw new Error("Cannot set a cross-signing key as unverified");if(this._crossSigningInfo.getId()||e!==this._crossSigningInfo.userId||(this._storeTrustedSelfKeys(i.keys),this.emit("userTrustStatusChanged",this._userId,this.checkUserTrust(e))),e!==this._userId){u.logger.info("Master key "+i.getId()+" for "+e+" marked verified. Signing...");const n=await this._crossSigningInfo.signUser(i);if(n){const o=async({shouldEmit:r})=>{u.logger.info("Uploading signature for "+e+"...");const i=await this._baseApis.uploadKeySignatures({[e]:{[t]:n}}),{failures:a}=i||{};if(Object.keys(a||[]).length>0)throw r&&this._baseApis.emit("crypto.keySignatureUploadFailure",a,"setDeviceVerification",o),new C.KeySignatureUploadError("Key upload failed",{failures:a})};await o({shouldEmit:!0})}return n}return i}const a=this._deviceList.getRawStoredDevicesForUser(e);if(!a||!a[t])throw new Error("Unknown device "+e+":"+t);const s=a[t];let c=s.verified;n?c=I.VERIFIED:null!==n&&c==I.VERIFIED&&(c=I.UNVERIFIED),o?c=I.BLOCKED:null!==o&&c==I.BLOCKED&&(c=I.UNVERIFIED);let l=s.known;if(null!==r&&(l=r),s.verified===c&&s.known===l||(s.verified=c,s.known=l,this._deviceList.storeDevicesForUser(e,a),this._deviceList.saveIfDirty()),n&&e===this._userId){let n;if(u.logger.info("Own device "+t+" marked verified: signing"),this.checkDeviceTrust(e,t).isCrossSigningVerified()?u.logger.log(`Own device ${t} already cross-signing verified`):n=await this._crossSigningInfo.signDevice(e,p.DeviceInfo.fromStorage(s,t)),n){const o=async({shouldEmit:r})=>{u.logger.info("Uploading signature for "+t);const i=await this._baseApis.uploadKeySignatures({[e]:{[t]:n}}),{failures:a}=i||{};if(Object.keys(a||[]).length>0)throw r&&this._baseApis.emit("crypto.keySignatureUploadFailure",a,"setDeviceVerification",o),new C.KeySignatureUploadError("Key upload failed",{failures:a})};await o({shouldEmit:!0})}}const d=p.DeviceInfo.fromStorage(s,t);return this.emit("deviceVerificationChanged",e,t,d),d},B.prototype.findVerificationRequestDMInProgress=function(e){return this._inRoomVerificationRequests.findRequestInProgress(e)},B.prototype.getVerificationRequestsToDeviceInProgress=function(e){return this._toDeviceVerificationRequests.getRequestsInProgress(e)},B.prototype.requestVerificationDM=function(e,t){const n=this._inRoomVerificationRequests.findRequestInProgress(t);if(n)return Promise.resolve(n);const o=new D.InRoomChannel(this._baseApis,t,e);return this._requestVerificationWithChannel(e,o,this._inRoomVerificationRequests)},B.prototype.requestVerification=function(e,t){t||(t=Object.keys(this._deviceList.getRawStoredDevicesForUser(e)));const n=this._toDeviceVerificationRequests.findRequestInProgress(e,t);if(n)return Promise.resolve(n);const o=new S.ToDeviceChannel(this._baseApis,e,t,S.ToDeviceChannel.makeTransactionId());return this._requestVerificationWithChannel(e,o,this._toDeviceVerificationRequests)},B.prototype._requestVerificationWithChannel=async function(e,t,n){let o=new k.VerificationRequest(t,this._verificationMethods,this._baseApis);t.transactionId&&n.setRequestByChannel(t,o),await o.sendRequest();const r=n.getRequestByChannel(t);return r?o=r:(u.logger.log(`Crypto: adding new request to requestsByTxnId with id ${t.transactionId} ${t.roomId}`),n.setRequestByChannel(t,o)),o},B.prototype.beginKeyVerification=function(e,t,n,o=null){let r;if(o){if(r=this._toDeviceVerificationRequests.getRequestBySenderAndTxnId(t,o),!r)throw new Error(`No request found for user ${t} with transactionId ${o}`)}else{o=S.ToDeviceChannel.makeTransactionId();const e=new S.ToDeviceChannel(this._baseApis,t,[n],o,n);r=new k.VerificationRequest(e,this._verificationMethods,this._baseApis),this._toDeviceVerificationRequests.setRequestBySenderAndTxnId(t,o,r)}return r.beginKeyVerification(e,{userId:t,deviceId:n})},B.prototype.legacyDeviceVerification=async function(e,t,n){const o=S.ToDeviceChannel.makeTransactionId(),r=new S.ToDeviceChannel(this._baseApis,e,[t],o,t),i=new k.VerificationRequest(r,this._verificationMethods,this._baseApis);this._toDeviceVerificationRequests.setRequestBySenderAndTxnId(e,o,i);const a=i.beginKeyVerification(n,{userId:e,deviceId:t});return await Promise.race([a.verify(),i.waitFor((e=>e.started))]),i},B.prototype.getOlmSessionsForUser=async function(e){const t=this.getStoredDevicesForUser(e)||[],n={};for(let e=0;e0)return null;if(e.isKeySourceUntrusted())return null;const o=this._deviceList.getDeviceByIdentityKey(n,t);if(null===o)return null;const r=e.getClaimedEd25519Key();return r?r!==o.getFingerprint()?(u.logger.warn("Event "+e.getId()+" claims ed25519 key "+r+" but sender device has key "+o.getFingerprint()),null):o:(u.logger.warn("Event "+e.getId()+" claims no ed25519 key: cannot verify sending device"),null)},B.prototype.getEventEncryptionInfo=function(e){const t={};if(t.senderKey=e.getSenderKey(),t.algorithm=e.getWireContent().algorithm,!t.senderKey||!t.algorithm)return t.encrypted=!1,t;t.encrypted=!0,e.getForwardingCurve25519KeyChain().length>0||e.isKeySourceUntrusted()?t.authenticated=!1:t.authenticated=!0,t.sender=this._deviceList.getDeviceByIdentityKey(t.algorithm,t.senderKey);const n=e.getClaimedEd25519Key();return n||(u.logger.warn("Event "+e.getId()+" claims no ed25519 key: cannot verify sending device"),t.mismatchedSender=!0),t.sender&&n!==t.sender.getFingerprint()&&(u.logger.warn("Event "+e.getId()+" claims ed25519 key "+n+"but sender device has key "+t.sender.getFingerprint()),t.mismatchedSender=!0),t},B.prototype.forceDiscardSession=function(e){const t=this._roomEncryptors[e];if(void 0===t)throw new Error("Room not encrypted");if(void 0===t.forceDiscardSession)throw new Error("Room encryption algorithm doesn't support session discarding");t.forceDiscardSession()},B.prototype.setRoomEncryption=async function(e,t,n){if(!t.algorithm)return void u.logger.log("Ignoring setRoomEncryption with no algorithm");const o=this._roomList.getRoomEncryption(e);if(o&&JSON.stringify(o)!=JSON.stringify(t))return void u.logger.error("Ignoring m.room.encryption event which requests a change of config in "+e);if(this._roomEncryptors[e])return;let r=null;o||(r=this._roomList.setRoomEncryption(e,t));const i=f.ENCRYPTION_CLASSES[t.algorithm];if(!i)throw new Error("Unable to encrypt with "+t.algorithm);const a=new i({userId:this._userId,deviceId:this._deviceId,crypto:this,olmDevice:this._olmDevice,baseApis:this._baseApis,roomId:e,config:t});this._roomEncryptors[e]=a,r&&await r,this._lazyLoadMembers?u.logger.log("Enabling encryption in "+e):(u.logger.log("Enabling encryption in "+e+"; starting to track device lists for all users therein"),await this.trackRoomDevices(e),this.inhibitDeviceQuery||this._deviceList.refreshOutdatedDeviceLists())},B.prototype.trackRoomDevices=function(e){let t=this._roomDeviceTrackingState[e];return t||(t=(async()=>{if(!this._roomEncryptors[e])return;const t=this._clientStore.getRoom(e);if(!t)throw new Error(`Unable to start tracking devices in unknown room ${e}`);u.logger.log(`Starting to track devices for room ${e} ...`),(await t.getEncryptionTargetMembers()).forEach((e=>{this._deviceList.startTrackingDeviceList(e.userId)}))})(),this._roomDeviceTrackingState[e]=t.catch((t=>{throw this._roomDeviceTrackingState[e]=null,t}))),t},B.prototype.ensureOlmSessionsForUsers=function(e){const t={};for(let n=0;n{this._cryptoStore.getAllEndToEndInboundGroupSessions(t,(t=>{if(null===t)return;const n=this._olmDevice.exportInboundGroupSession(t.senderKey,t.sessionId,t.sessionData);delete n.first_known_index,n.algorithm=d.MEGOLM_ALGORITHM,e.push(n)}))})),e},B.prototype.importRoomKeys=function(e,t={}){let n=0,o=0;const r=e.length;function i(){t.progressCallback({stage:"load_keys",successes:n,failures:o,total:r})}return Promise.all(e.map((e=>e.room_id&&e.algorithm?this._getRoomDecryptor(e.room_id,e.algorithm).importRoomKey(e,t).finally((e=>{n++,t.progressCallback&&i()})):(u.logger.warn("ignoring room key entry with missing fields",e),o++,t.progressCallback&&i(),null))))},B.prototype.scheduleKeyBackupSend=async function(e=1e4){if(!this._sendingBackups){this._sendingBackups=!0;try{const t=Math.random()*e;await(0,c.sleep)(t);let n=0;for(;;){if(!this.backupKey)return;try{if(0===await this._backupPendingKeys(200))return;n=0}catch(e){if(n++,u.logger.log("Key backup request failed",e),e.data&&("M_NOT_FOUND"==e.data.errcode||"M_WRONG_ROOM_KEYS_VERSION"==e.data.errcode))throw await this.checkKeyBackup(),this.emit("crypto.keyBackupFailed",e.data.errcode),e}n&&await(0,c.sleep)(1e3*Math.pow(2,Math.min(n-1,4)))}}finally{this._sendingBackups=!1}}},B.prototype._backupPendingKeys=async function(e){const t=await this._cryptoStore.getSessionsNeedingBackup(e);if(!t.length)return 0;let n=await this._cryptoStore.countSessionsNeedingBackup();this.emit("crypto.keyBackupSessionsRemaining",n);const o={};for(const e of t){const t=e.sessionData.room_id;void 0===o[t]&&(o[t]={sessions:{}});const n=await this._olmDevice.exportInboundGroupSession(e.senderKey,e.sessionId,e.sessionData);n.algorithm=d.MEGOLM_ALGORITHM,delete n.session_id,delete n.room_id;const r=n.first_known_index;delete n.first_known_index;const i=this.backupKey.encrypt(JSON.stringify(n)),a=(n.forwarding_curve25519_key_chain||[]).length,s=this._deviceList.getUserByIdentityKey(d.MEGOLM_ALGORITHM,e.senderKey),u=this._deviceList.getDeviceByIdentityKey(d.MEGOLM_ALGORITHM,e.senderKey),c=this._checkDeviceInfoTrust(s,u).isVerified();o[t].sessions[e.sessionId]={first_message_index:r,forwarded_count:a,is_verified:c,session_data:i}}return await this._baseApis.sendKeyBackup(void 0,void 0,this.backupInfo.version,{rooms:o}),await this._cryptoStore.unmarkSessionsNeedingBackup(t),n=await this._cryptoStore.countSessionsNeedingBackup(),this.emit("crypto.keyBackupSessionsRemaining",n),t.length},B.prototype.backupGroupSession=async function(e,t,n,o,r,i,a){await this._cryptoStore.markSessionsNeedingBackup([{senderKey:t,sessionId:o}]),this.backupInfo&&this.scheduleKeyBackupSend()},B.prototype.scheduleAllGroupSessionsForBackup=async function(){await this.flagAllGroupSessionsForBackup(),this.scheduleKeyBackupSend(0)},B.prototype.flagAllGroupSessionsForBackup=async function(){await this._cryptoStore.doTxn("readwrite",[y.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS,y.IndexedDBCryptoStore.STORE_BACKUP],(e=>{this._cryptoStore.getAllEndToEndInboundGroupSessions(e,(t=>{null!==t&&this._cryptoStore.markSessionsNeedingBackup([t],e)}))}));const e=await this._cryptoStore.countSessionsNeedingBackup();return this.emit("crypto.keyBackupSessionsRemaining",e),e},B.prototype.countSessionsNeedingBackup=function(){return this._cryptoStore.countSessionsNeedingBackup()},B.prototype.prepareToEncrypt=function(e){const t=e.roomId,n=this._roomEncryptors[t];n&&n.prepareToEncrypt(e)},B.prototype.encryptEvent=async function(e,t){if(!t)throw new Error("Cannot send encrypted messages in unknown rooms");const n=e.getRoomId(),o=this._roomEncryptors[n];if(!o)throw new Error("Room was previously configured to use encryption, but is no longer. Perhaps the homeserver is hiding the configuration event.");this._roomDeviceTrackingState[n]||this.trackRoomDevices(n),await this._roomDeviceTrackingState[n];let r=e.getContent();const i=r["m.relates_to"];i&&(r=Object.assign({},r),delete r["m.relates_to"]);const a=await o.encryptMessage(t,e.getType(),r);i&&(a["m.relates_to"]=i),e.makeEncrypted("m.room.encrypted",a,this._olmDevice.deviceCurve25519Key,this._olmDevice.deviceEd25519Key)},B.prototype.decryptEvent=async function(e){if(e.isRedacted()){const t=new R.MatrixEvent(e.getUnsigned().redacted_because),n=await this.decryptEvent(t);return{clearEvent:{room_id:e.getRoomId(),type:"m.room.message",content:{},unsigned:{redacted_because:n.clearEvent}}}}{const t=e.getWireContent(),n=this._getRoomDecryptor(e.getRoomId(),t.algorithm);return await n.decryptEvent(e)}},B.prototype.handleDeviceListChanges=async function(e,t){e.oldSyncToken&&await this._evalDeviceListChanges(t)},B.prototype.requestRoomKey=function(e,t,n=!1){return this._outgoingRoomKeyRequestManager.queueRoomKeyRequest(e,t,n).then((()=>{this._sendKeyRequestsImmediately&&this._outgoingRoomKeyRequestManager.sendQueuedRequests()})).catch((e=>{u.logger.error("Error requesting key for event",e)}))},B.prototype.cancelRoomKeyRequest=function(e){this._outgoingRoomKeyRequestManager.cancelRoomKeyRequest(e).catch((e=>{u.logger.warn("Error clearing pending room key requests",e)}))},B.prototype.cancelAndResendAllOutgoingKeyRequests=function(){return this._outgoingRoomKeyRequestManager.cancelAndResendAllOutgoingRequests()},B.prototype.onCryptoEvent=async function(e){const t=e.getRoomId(),n=e.getContent();try{await this.setRoomEncryption(t,n,!0)}catch(e){u.logger.error("Error configuring encryption in room "+t+":",e)}},B.prototype.onSyncWillProcess=async function(e){e.oldSyncToken||(u.logger.log("Initial sync performed - resetting device tracking state"),this._deviceList.stopTrackingAllDeviceLists(),this._deviceList.startTrackingDeviceList(this._userId),this._roomDeviceTrackingState={}),this._sendKeyRequestsImmediately=!1},B.prototype.onSyncCompleted=async function(e){const t=e.nextSyncToken;this._deviceList.setSyncToken(e.nextSyncToken),this._deviceList.saveIfDirty(),this._deviceList.lastKnownSyncToken=t,this._deviceList.startTrackingDeviceList(this._userId),this._deviceList.refreshOutdatedDeviceLists(),e.catchingUp||(function(e){if(e._oneTimeKeyCheckInProgress)return;const t=Date.now();if(null!==e._lastOneTimeKeyCheck&&t-e._lastOneTimeKeyCheck<6e4)return;e._lastOneTimeKeyCheck=t;const n=e._olmDevice.maxNumberOfOneTimeKeys(),o=Math.floor(n/2);e._oneTimeKeyCheckInProgress=!0,Promise.resolve().then((()=>void 0!==e._oneTimeKeyCount?Promise.resolve(e._oneTimeKeyCount):e._baseApis.uploadKeysRequest({}).then((e=>e.one_time_key_counts.signed_curve25519||0)))).then((t=>async function(t){for(;o>t||e.getNeedsNewFallback();){if(o>t){u.logger.info("generating oneTimeKeys");const n=Math.min(o-t,5);await e._olmDevice.generateOneTimeKeys(n)}e.getNeedsNewFallback()&&(u.logger.info("generating fallback key"),await e._olmDevice.generateFallbackKey()),u.logger.info("calling _uploadOneTimeKeys");const n=await L(e);if(!n.one_time_key_counts||!n.one_time_key_counts.signed_curve25519)throw new Error("response for uploading keys does not contain one_time_key_counts.signed_curve25519");t=n.one_time_key_counts.signed_curve25519}}(t))).catch((e=>{u.logger.error("Error uploading one-time keys",e.stack||e)})).finally((()=>{e._oneTimeKeyCount=void 0,e._oneTimeKeyCheckInProgress=!1}))}(this),this._processReceivedRoomKeyRequests(),this._outgoingRoomKeyRequestManager.sendQueuedRequests(),this._sendKeyRequestsImmediately=!0)},B.prototype._evalDeviceListChanges=async function(e){if(e.changed&&Array.isArray(e.changed)&&e.changed.forEach((e=>{this._deviceList.invalidateUserDeviceList(e)})),e.left&&Array.isArray(e.left)&&e.left.length){const t=new Set(await this._getTrackedE2eUsers());e.left.forEach((e=>{t.has(e)||this._deviceList.stopTrackingDeviceList(e)}))}},B.prototype._getTrackedE2eUsers=async function(){const e=[];for(const t of this._getTrackedE2eRooms()){const n=await t.getEncryptionTargetMembers();for(const t of n)e.push(t.userId)}return e},B.prototype._getTrackedE2eRooms=function(){return this._clientStore.getRooms().filter((e=>{if(!this._roomEncryptors[e.roomId])return!1;if(!this._roomDeviceTrackingState[e.roomId])return!1;const t=e.getMyMembership();return"join"===t||"invite"===t}))},B.prototype._onToDeviceEvent=function(e){try{u.logger.log(`received to_device ${e.getType()} from: ${e.getSender()} id: ${e.getId()}`),"m.room_key"==e.getType()||"m.forwarded_room_key"==e.getType()?this._onRoomKeyEvent(e):"m.room_key_request"==e.getType()?this._onRoomKeyRequestEvent(e):"m.secret.request"===e.getType()?this._secretStorage._onRequestReceived(e):"m.secret.send"===e.getType()?this._secretStorage._onSecretReceived(e):"org.matrix.room_key.withheld"===e.getType()?this._onRoomKeyWithheldEvent(e):e.getContent().transaction_id?this._onKeyVerificationMessage(e):"m.bad.encrypted"===e.getContent().msgtype?this._onToDeviceBadEncrypted(e):(e.isBeingDecrypted()||e.shouldAttemptDecryption())&&(e.isBeingDecrypted()||e.attemptDecryption(this),e.once("Event.decrypted",(e=>{this._onToDeviceEvent(e)})))}catch(e){u.logger.error("Error handling toDeviceEvent:",e)}},B.prototype._onRoomKeyEvent=function(e){const t=e.getContent();t.room_id&&t.algorithm?(this._checkedForBackup||this._checkAndStartKeyBackup(),this._getRoomDecryptor(t.room_id,t.algorithm).onRoomKeyEvent(e)):u.logger.error("key event is missing fields")},B.prototype._onRoomKeyWithheldEvent=function(e){const t=e.getContent();if(!(("m.no_olm"===t.code||t.room_id&&t.session_id)&&t.algorithm&&t.sender_key))return void u.logger.error("key withheld event is missing fields");u.logger.info(`Got room key withheld event from ${e.getSender()} (${t.sender_key}) for ${t.algorithm}/${t.room_id}/${t.session_id} with reason ${t.code} (${t.reason})`);const n=this._getRoomDecryptor(t.room_id,t.algorithm);if(n.onRoomKeyWithheldEvent&&n.onRoomKeyWithheldEvent(e),!t.room_id){const e=this._getRoomDecryptors(t.algorithm);for(const n of e)n.retryDecryptionFromSender(t.sender_key)}},B.prototype._onKeyVerificationMessage=function(e){S.ToDeviceChannel.validateEvent(e,this._baseApis)&&this._handleVerificationEvent(e,this._toDeviceVerificationRequests,(e=>{if(!S.ToDeviceChannel.canCreateRequest(S.ToDeviceChannel.getEventType(e)))return;const t=e.getContent(),n=t&&t.from_device;if(!n)return;const o=e.getSender(),r=new S.ToDeviceChannel(this._baseApis,o,[n]);return new k.VerificationRequest(r,this._verificationMethods,this._baseApis)}))},B.prototype._onTimelineEvent=function(e,t,n,o,{liveEvent:r}={}){D.InRoomChannel.validateEvent(e,this._baseApis)&&this._handleVerificationEvent(e,this._inRoomVerificationRequests,(e=>{const t=new D.InRoomChannel(this._baseApis,e.getRoomId());return new k.VerificationRequest(t,this._verificationMethods,this._baseApis)}),r)},B.prototype._handleVerificationEvent=async function(e,t,n,o=!0){let r=t.getRequest(e),i=!1;if(!r){if(r=n(e),!r)return void u.logger.log(`Crypto: could not find VerificationRequest for ${e.getType()}, and could not create one, so ignoring.`);i=!0,t.setRequest(e,r)}e.setVerificationRequest(r);try{await r.channel.handleEvent(e,r,o)}catch(e){u.logger.error("error while handling verification event: "+e.message)}i&&!r.initiatedByMe&&!r.invalid&&!r.observeOnly&&this._baseApis.emit("crypto.verification.request",r)},B.prototype._onToDeviceBadEncrypted=async function(e){const t=e.getWireContent(),n=e.getSender(),o=t.algorithm,r=t.sender_key,i=()=>{const e=this._getRoomDecryptors(d.MEGOLM_ALGORITHM);for(const t of e)t.retryDecryptionFromSender(r)};if(void 0===n||void 0===r||void 0===r)return;this._lastNewSessionForced[n]=this._lastNewSessionForced[n]||{};const a=this._lastNewSessionForced[n][r]||0;if(a+36e5>Date.now())return u.logger.debug("New session already forced with device "+n+":"+r+" at "+a+": not forcing another"),await this._olmDevice.recordSessionProblem(r,"wedged",!0),void i();let s=this._deviceList.getDeviceByIdentityKey(o,r);if(!s&&(await this.downloadKeys([n],!1),s=this._deviceList.getDeviceByIdentityKey(o,r),!s))return u.logger.info("Couldn't find device for identity key "+r+": not re-establishing session"),await this._olmDevice.recordSessionProblem(r,"wedged",!1),void i();const c={};c[n]=[s],await d.ensureOlmSessionsForDevices(this._olmDevice,this._baseApis,c,!0),this._lastNewSessionForced[n][r]=Date.now();const l={algorithm:d.OLM_ALGORITHM,sender_key:this._olmDevice.deviceCurve25519Key,ciphertext:{}};await d.encryptMessageForDevice(l.ciphertext,this._userId,this._deviceId,this._olmDevice,n,s,{type:"m.dummy"}),await this._olmDevice.recordSessionProblem(r,"wedged",!0),i(),await this._baseApis.sendToDevice("m.room.encrypted",{[n]:{[s.deviceId]:l}});const h=await this._outgoingRoomKeyRequestManager.getOutgoingSentRoomKeyRequest(n,s.deviceId);for(const e of h)this.requestRoomKey(e.requestBody,e.recipients,!0)},B.prototype._onRoomMembership=function(e,t,n){const o=t.roomId,r=this._roomEncryptors[o];r&&(this._roomDeviceTrackingState[o]&&("join"==t.membership?(u.logger.log("Join event for "+t.userId+" in "+o),this._deviceList.startTrackingDeviceList(t.userId)):"invite"==t.membership&&this._clientStore.getRoom(o).shouldEncryptForInvitedMembers()&&(u.logger.log("Invite event for "+t.userId+" in "+o),this._deviceList.startTrackingDeviceList(t.userId))),r.onRoomMembership(e,t,n))},B.prototype._onRoomKeyRequestEvent=function(e){const t=e.getContent();if("request"===t.action){const t=new P(e);this._receivedRoomKeyRequests.push(t)}else if("request_cancellation"===t.action){const t=new U(e);this._receivedRoomKeyRequestCancellations.push(t)}},B.prototype._processReceivedRoomKeyRequests=async function(){if(!this._processingRoomKeyRequests){this._processingRoomKeyRequests=!0;try{const e=this._receivedRoomKeyRequests;this._receivedRoomKeyRequests=[];const t=this._receivedRoomKeyRequestCancellations;this._receivedRoomKeyRequestCancellations=[],await Promise.all(e.map((e=>this._processReceivedRoomKeyRequest(e)))),await Promise.all(t.map((e=>this._processReceivedRoomKeyRequestCancellation(e))))}catch(e){u.logger.error(`Error processing room key requsts: ${e}`)}finally{this._processingRoomKeyRequests=!1}}},B.prototype._processReceivedRoomKeyRequest=async function(e){const t=e.userId,n=e.deviceId,o=e.requestBody,r=o.room_id,i=o.algorithm;if(u.logger.log(`m.room_key_request from ${t}:${n} for ${r} / ${o.session_id} (id ${e.requestId})`),t!==this._userId){if(!this._roomEncryptors[r])return void u.logger.debug(`room key request for unencrypted room ${r}`);const e=this._roomEncryptors[r],i=this._deviceList.getStoredDevice(t,n);if(!i)return void u.logger.debug(`Ignoring keyshare for unknown device ${t}:${n}`);try{await e.reshareKeyWithDevice(o.sender_key,o.session_id,t,i)}catch(e){u.logger.warn("Failed to re-share keys for session "+o.session_id+" with device "+t+":"+i.deviceId,e)}return}if(n===this._deviceId)return void u.logger.log("Ignoring room key request from ourselves");if(!this._roomDecryptors[r])return void u.logger.log(`room key request for unencrypted room ${r}`);const a=this._roomDecryptors[r][i];if(a)if(await a.hasKeysForKeyRequest(e)){if(e.share=()=>{a.shareKeysWithDevice(e)},this.checkDeviceTrust(t,n).isVerified())return u.logger.log("device is already verified: sharing keys"),void e.share();this.emit("crypto.roomKeyRequest",e)}else u.logger.log(`room key request for unknown session ${r} / `+o.session_id);else u.logger.log(`room key request for unknown alg ${i} in room ${r}`)},B.prototype._processReceivedRoomKeyRequestCancellation=async function(e){u.logger.log(`m.room_key_request cancellation for ${e.userId}:${e.deviceId} (id ${e.requestId})`),this.emit("crypto.roomKeyRequestCancellation",e)},B.prototype._getRoomDecryptor=function(e,t){let n,o;if((e=e||null)&&(n=this._roomDecryptors[e],n||(this._roomDecryptors[e]=n={}),o=n[t],o))return o;const r=f.DECRYPTION_CLASSES[t];if(!r)throw new f.DecryptionError("UNKNOWN_ENCRYPTION_ALGORITHM",'Unknown encryption algorithm "'+t+'".');return o=new r({userId:this._userId,crypto:this,olmDevice:this._olmDevice,baseApis:this._baseApis,roomId:e}),n&&(n[t]=o),o},B.prototype._getRoomDecryptors=function(e){const t=[];for(const n of Object.values(this._roomDecryptors))e in n&&t.push(n[e]);return t},B.prototype._signObject=async function(e){const t=e.signatures||{},n=e.unsigned;delete e.signatures,delete e.unsigned,t[this._userId]=t[this._userId]||{},t[this._userId]["ed25519:"+this._deviceId]=await this._olmDevice.sign(i.default.stringify(e)),e.signatures=t,void 0!==n&&(e.unsigned=n)};class P{constructor(e){const t=e.getContent();this.userId=e.getSender(),this.deviceId=t.requesting_device_id,this.requestId=t.request_id,this.requestBody=t.body||{},this.share=()=>{throw new Error("don't know how to share keys for this request yet")}}}class U{constructor(e){const t=e.getContent();this.userId=e.getSender(),this.deviceId=t.requesting_device_id,this.requestId=t.request_id}}},91597:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.keyFromAuthData=async function(e,t){if(!n.g.Olm)throw new Error("Olm is not available");if(!e.private_key_salt||!e.private_key_iterations)throw new Error("Salt and/or iterations not found: this backup cannot be restored with a passphrase");return await i(t,e.private_key_salt,e.private_key_iterations,e.private_key_bits||256)},t.keyFromPassphrase=async function(e){if(!n.g.Olm)throw new Error("Olm is not available");const t=(0,o.randomString)(32);return{key:await i(e,t,r,256),salt:t,iterations:r}},t.deriveKey=i;var o=n(98401);const r=5e5;async function i(e,t,o,r=256){const i=n.g.crypto.subtle,a=n.g.TextEncoder;if(!i||!a)throw new Error("Password-based backup is not avaiable on this platform");const s=await i.importKey("raw",(new a).encode(e),{name:"PBKDF2"},!1,["deriveBits"]),u=await i.deriveBits({name:"PBKDF2",salt:(new a).encode(t),iterations:o,hash:"SHA-512"},s,r);return new Uint8Array(u)}},32772:(e,t,n)=>{"use strict";var o=n(95318),r=n(20862);Object.defineProperty(t,"__esModule",{value:!0}),t.encryptMessageForDevice=async function(e,t,n,o,r,s,u){const c=s.getIdentityKey(),l=await o.getSessionIdForDevice(c);if(null===l)return;i.logger.log("Using sessionid "+l+" for device "+r+":"+s.deviceId);const d={sender:t,sender_device:n,keys:{ed25519:o.deviceEd25519Key},recipient:r,recipient_keys:{ed25519:s.getFingerprint()}};a.extend(d,u),e[c]=await o.encryptMessage(c,l,JSON.stringify(d))},t.getExistingOlmSessions=async function(e,t,n){const o={},r={},i=[];for(const[t,a]of Object.entries(n))for(const n of a){const a=n.deviceId,s=n.getIdentityKey();i.push((async()=>{const i=await e.getSessionIdForDevice(s,!0);null===i?(o[t]=o[t]||[],o[t].push(n)):(r[t]=r[t]||{},r[t][a]={device:n,sessionId:i})})())}return await Promise.all(i),[o,r]},t.ensureOlmSessionsForDevices=async function(e,t,n,o,r,a,s){"number"==typeof o&&(s=a,a=r,r=o,o=!1),s||(s=i.logger);const c=[],l={},d={};for(const[,t]of Object.entries(n))for(const n of t){const t=n.getIdentityKey();t!==e.deviceCurve25519Key&&(e._sessionsInProgress[t]||(e._sessionsInProgress[t]=new Promise((n=>{d[t]=(...o)=>{delete e._sessionsInProgress[t],n(...o)}}))))}for(const[t,r]of Object.entries(n)){l[t]={};for(const n of r){const r=n.deviceId,i=n.getIdentityKey();if(i===e.deviceCurve25519Key){s.info("Attempted to start session with ourself! Ignoring"),l[t][r]={device:n,sessionId:null};continue}const a=`for ${i} (${t}:${r})`,u=await e.getSessionIdForDevice(i,d[i],s);null!==u&&d[i]&&d[i](),(null===u||o)&&(o?s.info(`Forcing new Olm session ${a}`):s.info(`Making new Olm session ${a}`),c.push([t,r])),l[t][r]={device:n,sessionId:u}}}if(0===c.length)return l;let h,p=`one-time keys for ${c.length} devices`;try{s.debug(`Claiming ${p}`),h=await t.claimOneTimeKeys(c,"signed_curve25519",r),s.debug(`Claimed ${p}`)}catch(e){for(const e of Object.values(d))e();throw s.log(`Failed to claim ${p}`,e,c),e}a&&"failures"in h&&a.push(...Object.keys(h.failures));const f=h.one_time_keys||{},g=[];for(const[t,r]of Object.entries(n)){const n=f[t]||{};for(let i=0;i{d[h]&&d[h](e),l[t][c].sessionId=e}),(e=>{throw d[h]&&d[h](),e}))):(s.warn(`No one-time keys (alg=signed_curve25519) for device ${t}:${c}`),d[h]&&d[h]())}}return p=`Olm sessions for ${g.length} devices`,s.debug(`Starting ${p}`),await Promise.all(g),s.debug(`Started ${p}`),l},t.verifySignature=c,t.pkSign=function(e,t,o,r){let i=!1;if(t instanceof Uint8Array){const e=new n.g.Olm.PkSigning;r=e.init_with_seed(t),t=e,i=!0}const a=e.signatures||{};delete e.signatures;const u=e.unsigned;e.unsigned&&delete e.unsigned;try{const n=a[o]||{};return a[o]=n,n["ed25519:"+r]=t.sign(s.default.stringify(e))}finally{e.signatures=a,u&&(e.unsigned=u),i&&t.free()}},t.pkVerify=function(e,t,o){const r="ed25519:"+t;if(!(e.signatures&&e.signatures[o]&&e.signatures[o][r]))throw new Error("No signature");const i=e.signatures[o][r],a=new n.g.Olm.Utility,u=e.signatures;delete e.signatures;const c=e.unsigned;e.unsigned&&delete e.unsigned;try{a.ed25519_verify(t,s.default.stringify(e),i)}finally{e.signatures=u,c&&(e.unsigned=c),a.free()}},t.encodeBase64=l,t.encodeUnpaddedBase64=function(e){return l(e).replace(/=+$/g,"")},t.decodeBase64=function(e){return Buffer.from(e,"base64")},t.MEGOLM_BACKUP_ALGORITHM=t.MEGOLM_ALGORITHM=t.OLM_ALGORITHM=void 0;var i=n(7434),a=r(n(3102)),s=o(n(69141));async function u(e,t,n,o){const r=o.deviceId;try{await c(e,t,n,r,o.getFingerprint())}catch(e){return i.logger.error("Unable to verify signature on one-time key for device "+n+":"+r+":",e),null}let a;try{a=await e.createOutboundSession(o.getIdentityKey(),t.key)}catch(e){return i.logger.error("Error starting olm session with device "+n+":"+r+": "+e),null}return i.logger.log("Started new olm sessionid "+a+" for device "+n+":"+r),a}async function c(e,t,n,o,r){const i="ed25519:"+o,a=((t.signatures||{})[n]||{})[i];if(!a)throw Error("No signature");const u=Object.assign({},t);delete u.unsigned,delete u.signatures;const c=s.default.stringify(u);e.verifySignature(r,c,a)}function l(e){return Buffer.from(e).toString("base64")}t.OLM_ALGORITHM="m.olm.v1.curve25519-aes-sha2",t.MEGOLM_ALGORITHM="m.megolm.v1.aes-sha2",t.MEGOLM_BACKUP_ALGORITHM="m.megolm_backup.v1.curve25519-aes-sha2"},34077:(e,t,n)=>{"use strict";var o=n(95318);Object.defineProperty(t,"__esModule",{value:!0}),t.encodeRecoveryKey=function(e){const t=new Buffer(i.length+e.length+1);t.set(i,0),t.set(e,i.length);let n=0;for(let e=0;e{"use strict";var o=n(20862);Object.defineProperty(t,"__esModule",{value:!0}),t.upgradeDatabase=function(e,t){r.logger.log(`Upgrading IndexedDBCryptoStore from version ${t} to 10`),t<1&&function(e){const t=e.createObjectStore("outgoingRoomKeyRequests",{keyPath:"requestId"});t.createIndex("session",["requestBody.room_id","requestBody.session_id"]),t.createIndex("state","state")}(e),t<2&&e.createObjectStore("account"),t<3&&e.createObjectStore("sessions",{keyPath:["deviceKey","sessionId"]}).createIndex("deviceKey","deviceKey"),t<4&&e.createObjectStore("inbound_group_sessions",{keyPath:["senderCurve25519Key","sessionId"]}),t<5&&e.createObjectStore("device_data"),t<6&&e.createObjectStore("rooms"),t<7&&e.createObjectStore("sessions_needing_backup",{keyPath:["senderCurve25519Key","sessionId"]}),t<8&&e.createObjectStore("inbound_group_sessions_withheld",{keyPath:["senderCurve25519Key","sessionId"]}),t<9&&(e.createObjectStore("session_problems",{keyPath:["deviceKey","time"]}).createIndex("deviceKey","deviceKey"),e.createObjectStore("notified_error_devices",{keyPath:["userId","deviceId"]})),t<10&&e.createObjectStore("shared_history_inbound_group_sessions",{keyPath:["roomId"]})},t.Backend=t.VERSION=void 0;var r=n(7434),i=o(n(3102));function a(e,t){e._mx_abortexception=t;try{e.abort()}catch(t){}}function s(e){return new Promise(((t,n)=>{e.oncomplete=()=>{void 0!==e._mx_abortexception&&n(e._mx_abortexception),t()},e.onerror=t=>{void 0!==e._mx_abortexception?n(e._mx_abortexception):(r.logger.log("Error performing indexeddb txn",t),n(t.target.error))},e.onabort=t=>{void 0!==e._mx_abortexception?n(e._mx_abortexception):(r.logger.log("Error performing indexeddb txn",t),n(t.target.error))}}))}t.VERSION=10,t.Backend=class{constructor(e){this._db=e,this._nextTxnId=0,e.onversionchange=t=>{r.logger.log(`versionchange for indexeddb ${this._dbName}: closing`),e.close()}}getOrAddOutgoingRoomKeyRequest(e){const t=e.requestBody;return new Promise(((n,o)=>{const i=this._db.transaction("outgoingRoomKeyRequests","readwrite");i.onerror=o,this._getOutgoingRoomKeyRequest(i,t,(o=>{if(o)return r.logger.log(`already have key request outstanding for ${t.room_id} / ${t.session_id}: not sending another`),void n(o);r.logger.log(`enqueueing key request for ${t.room_id} / `+t.session_id),i.oncomplete=()=>{n(e)},i.objectStore("outgoingRoomKeyRequests").add(e)}))}))}getOutgoingRoomKeyRequest(e){return new Promise(((t,n)=>{const o=this._db.transaction("outgoingRoomKeyRequests","readonly");o.onerror=n,this._getOutgoingRoomKeyRequest(o,e,(e=>{t(e)}))}))}_getOutgoingRoomKeyRequest(e,t,n){e.objectStore("outgoingRoomKeyRequests").index("session").openCursor([t.room_id,t.session_id]).onsuccess=e=>{const o=e.target.result;if(!o)return void n(null);const r=o.value;i.deepCompare(r.requestBody,t)?n(r):o.continue()}}getOutgoingRoomKeyRequestByState(e){if(0===e.length)return Promise.resolve(null);let t,n=0;const o=this._db.transaction("outgoingRoomKeyRequests","readonly"),r=o.objectStore("outgoingRoomKeyRequests"),i=e[n];return r.index("state").openCursor(i).onsuccess=function o(r){const i=r.target.result;if(i)return void(t=i.value);if(n++,n>=e.length)return;const a=e[n];r.target.source.openCursor(a).onsuccess=o},s(o).then((()=>t))}getAllOutgoingRoomKeyRequestsByState(e){return new Promise(((t,n)=>{const o=this._db.transaction("outgoingRoomKeyRequests","readonly").objectStore("outgoingRoomKeyRequests").index("state").getAll(e);o.onsuccess=e=>t(e.target.result),o.onerror=e=>n(e.target.error)}))}getOutgoingRoomKeyRequestsByTarget(e,t,n){let o=0;const r=[],i=this._db.transaction("outgoingRoomKeyRequests","readonly"),a=i.objectStore("outgoingRoomKeyRequests"),u=n[o];return a.index("state").openCursor(u).onsuccess=function i(a){const s=a.target.result;if(s){const n=s.value;n.recipients.includes({userId:e,deviceId:t})&&r.push(n),s.continue()}else{if(o++,o>=n.length)return;const e=n[o];a.target.source.openCursor(e).onsuccess=i}},s(i).then((()=>r))}updateOutgoingRoomKeyRequest(e,t,n){let o=null;const i=this._db.transaction("outgoingRoomKeyRequests","readwrite");return i.objectStore("outgoingRoomKeyRequests").openCursor(e).onsuccess=function(e){const i=e.target.result;if(!i)return;const a=i.value;a.state==t?(Object.assign(a,n),i.update(a),o=a):r.logger.warn(`Cannot update room key request from ${t} as it was already updated to ${a.state}`)},s(i).then((()=>o))}deleteOutgoingRoomKeyRequest(e,t){const n=this._db.transaction("outgoingRoomKeyRequests","readwrite");return n.objectStore("outgoingRoomKeyRequests").openCursor(e).onsuccess=e=>{const n=e.target.result;if(!n)return;const o=n.value;o.state==t?n.delete():r.logger.warn(`Cannot delete room key request in state ${o.state} (expected ${t})`)},s(n)}getAccount(e,t){const n=e.objectStore("account").get("-");n.onsuccess=function(){try{t(n.result||null)}catch(t){a(e,t)}}}storeAccount(e,t){e.objectStore("account").put(t,"-")}getCrossSigningKeys(e,t){const n=e.objectStore("account").get("crossSigningKeys");n.onsuccess=function(){try{t(n.result||null)}catch(t){a(e,t)}}}getSecretStorePrivateKey(e,t,n){const o=e.objectStore("account").get(`ssss_cache:${n}`);o.onsuccess=function(){try{t(o.result||null)}catch(t){a(e,t)}}}storeCrossSigningKeys(e,t){e.objectStore("account").put(t,"crossSigningKeys")}storeSecretStorePrivateKey(e,t,n){e.objectStore("account").put(n,`ssss_cache:${t}`)}countEndToEndSessions(e,t){const n=e.objectStore("sessions").count();n.onsuccess=function(){try{t(n.result)}catch(t){a(e,t)}}}getEndToEndSessions(e,t,n){const o=t.objectStore("sessions").index("deviceKey").openCursor(e),r={};o.onsuccess=function(){const e=o.result;if(e)r[e.value.sessionId]={session:e.value.session,lastReceivedMessageTs:e.value.lastReceivedMessageTs},e.continue();else try{n(r)}catch(e){a(t,e)}}}getEndToEndSession(e,t,n,o){const r=n.objectStore("sessions").get([e,t]);r.onsuccess=function(){try{r.result?o({session:r.result.session,lastReceivedMessageTs:r.result.lastReceivedMessageTs}):o(null)}catch(e){a(n,e)}}}getAllEndToEndSessions(e,t){const n=e.objectStore("sessions").openCursor();n.onsuccess=function(){try{const e=n.result;e?(t(e.value),e.continue()):t(null)}catch(t){a(e,t)}}}storeEndToEndSession(e,t,n,o){o.objectStore("sessions").put({deviceKey:e,sessionId:t,session:n.session,lastReceivedMessageTs:n.lastReceivedMessageTs})}async storeEndToEndSessionProblem(e,t,n){const o=this._db.transaction("session_problems","readwrite");return o.objectStore("session_problems").put({deviceKey:e,type:t,fixed:n,time:Date.now()}),s(o)}async getEndToEndSessionProblem(e,t){let n;const o=this._db.transaction("session_problems","readwrite"),r=o.objectStore("session_problems").index("deviceKey").getAll(e);return r.onsuccess=e=>{const o=r.result;if(!o.length)return void(n=null);o.sort(((e,t)=>e.time-t.time));const i=o[o.length-1];for(const e of o)if(e.time>t)return void(n=Object.assign({},e,{fixed:i.fixed}));n=i.fixed?null:i},await s(o),n}async filterOutNotifiedErrorDevices(e){const t=this._db.transaction("notified_error_devices","readwrite").objectStore("notified_error_devices"),n=[];return await Promise.all(e.map((e=>new Promise((o=>{const{userId:r,deviceInfo:i}=e,a=t.get([r,i.deviceId]);a.onsuccess=function(){a.result||(t.put({userId:r,deviceId:i.deviceId}),n.push(e)),o()}}))))),n}getEndToEndInboundGroupSession(e,t,n,o){let r=!1,i=!1;const s=n.objectStore("inbound_group_sessions").get([e,t]);s.onsuccess=function(){try{r=s.result?s.result.session:null,!1!==i&&o(r,i)}catch(e){a(n,e)}};const u=n.objectStore("inbound_group_sessions_withheld").get([e,t]);u.onsuccess=function(){try{i=u.result?u.result.session:null,!1!==r&&o(r,i)}catch(e){a(n,e)}}}getAllEndToEndInboundGroupSessions(e,t){const n=e.objectStore("inbound_group_sessions").openCursor();n.onsuccess=function(){const o=n.result;if(o){try{t({senderKey:o.value.senderCurve25519Key,sessionId:o.value.sessionId,sessionData:o.value.session})}catch(t){a(e,t)}o.continue()}else try{t(null)}catch(t){a(e,t)}}}addEndToEndInboundGroupSession(e,t,n,o){const i=o.objectStore("inbound_group_sessions").add({senderCurve25519Key:e,sessionId:t,session:n});i.onerror=n=>{"ConstraintError"===i.error.name?(n.stopPropagation(),n.preventDefault(),r.logger.log("Ignoring duplicate inbound group session: "+e+" / "+t)):a(o,new Error("Failed to add inbound group session: "+i.error))}}storeEndToEndInboundGroupSession(e,t,n,o){o.objectStore("inbound_group_sessions").put({senderCurve25519Key:e,sessionId:t,session:n})}storeEndToEndInboundGroupSessionWithheld(e,t,n,o){o.objectStore("inbound_group_sessions_withheld").put({senderCurve25519Key:e,sessionId:t,session:n})}getEndToEndDeviceData(e,t){const n=e.objectStore("device_data").get("-");n.onsuccess=function(){try{t(n.result||null)}catch(t){a(e,t)}}}storeEndToEndDeviceData(e,t){t.objectStore("device_data").put(e,"-")}storeEndToEndRoom(e,t,n){n.objectStore("rooms").put(t,e)}getEndToEndRooms(e,t){const n={},o=e.objectStore("rooms").openCursor();o.onsuccess=function(){const r=o.result;if(r)n[r.key]=r.value,r.continue();else try{t(n)}catch(t){a(e,t)}}}getSessionsNeedingBackup(e){return new Promise(((t,n)=>{const o=[],r=this._db.transaction(["sessions_needing_backup","inbound_group_sessions"],"readonly");r.onerror=n,r.oncomplete=function(){t(o)};const i=r.objectStore("sessions_needing_backup"),a=r.objectStore("inbound_group_sessions"),s=i.openCursor();s.onsuccess=function(){const t=s.result;if(t){const n=a.get(t.key);n.onsuccess=function(){o.push({senderKey:n.result.senderCurve25519Key,sessionId:n.result.sessionId,sessionData:n.result.session})},(!e||o.length{const o=t.count();o.onerror=n,o.onsuccess=()=>e(o.result)}))}unmarkSessionsNeedingBackup(e,t){t||(t=this._db.transaction("sessions_needing_backup","readwrite"));const n=t.objectStore("sessions_needing_backup");return Promise.all(e.map((e=>new Promise(((t,o)=>{const r=n.delete([e.senderKey,e.sessionId]);r.onsuccess=t,r.onerror=o})))))}markSessionsNeedingBackup(e,t){t||(t=this._db.transaction("sessions_needing_backup","readwrite"));const n=t.objectStore("sessions_needing_backup");return Promise.all(e.map((e=>new Promise(((t,o)=>{const r=n.put({senderCurve25519Key:e.senderKey,sessionId:e.sessionId});r.onsuccess=t,r.onerror=o})))))}addSharedHistoryInboundGroupSession(e,t,n,o){o||(o=this._db.transaction("shared_history_inbound_group_sessions","readwrite"));const r=o.objectStore("shared_history_inbound_group_sessions"),i=r.get([e]);i.onsuccess=()=>{const{sessions:o}=i.result||{sessions:[]};o.push([t,n]),r.put({roomId:e,sessions:o})}}getSharedHistoryInboundGroupSessions(e,t){t||(t=this._db.transaction("shared_history_inbound_group_sessions","readonly"));const n=t.objectStore("shared_history_inbound_group_sessions").get([e]);return new Promise(((e,t)=>{n.onsuccess=()=>{const{sessions:t}=n.result||{sessions:[]};e(t)},n.onerror=t}))}doTxn(e,t,n,o=r.logger){const i=this._db.transaction(t,e),a=s(i),u=n(i);return a.then((()=>u))}}},57585:(e,t,n)=>{"use strict";var o=n(20862);Object.defineProperty(t,"__esModule",{value:!0}),t.IndexedDBCryptoStore=void 0;var r=n(7434),i=n(84250),a=n(11045),s=o(n(35251)),u=n(19489),c=o(n(33415));class l{constructor(e,t){this._indexedDB=e,this._dbName=t,this._backendPromise=null,this._backend=null}static exists(e,t){return c.exists(e,t)}startup(){return this._backendPromise||(this._backendPromise=new Promise(((e,t)=>{if(!this._indexedDB)return void t(new Error("no indexeddb support available"));r.logger.log(`connecting to indexeddb ${this._dbName}`);const n=this._indexedDB.open(this._dbName,s.VERSION);n.onupgradeneeded=e=>{const t=e.target.result,n=e.oldVersion;s.upgradeDatabase(t,n)},n.onblocked=()=>{r.logger.log("can't yet open IndexedDBCryptoStore because it is open elsewhere")},n.onerror=e=>{r.logger.log("Error connecting to indexeddb",e),t(e.target.error)},n.onsuccess=t=>{const n=t.target.result;r.logger.log(`connected to indexeddb ${this._dbName}`),e(new s.Backend(n))}})).then((e=>e.doTxn("readonly",[l.STORE_INBOUND_GROUP_SESSIONS,l.STORE_INBOUND_GROUP_SESSIONS_WITHHELD],(t=>{e.getEndToEndInboundGroupSession("","",t,(()=>{}))})).then((()=>e)))).catch((e=>{if("VersionError"===e.name)throw r.logger.warn("Crypto DB is too new for us to use!",e),new u.InvalidCryptoStoreError(u.InvalidCryptoStoreError.TOO_NEW);r.logger.warn(`unable to connect to indexeddb ${this._dbName}: falling back to localStorage store: ${e}`);try{return new i.LocalStorageCryptoStore(n.g.localStorage)}catch(e){return r.logger.warn(`unable to open localStorage: falling back to in-memory store: ${e}`),new a.MemoryCryptoStore}})).then((e=>{this._backend=e}))),this._backendPromise}deleteAllData(){return new Promise(((e,t)=>{if(!this._indexedDB)return void t(new Error("no indexeddb support available"));r.logger.log(`Removing indexeddb instance: ${this._dbName}`);const n=this._indexedDB.deleteDatabase(this._dbName);n.onblocked=()=>{r.logger.log("can't yet delete IndexedDBCryptoStore because it is open elsewhere")},n.onerror=e=>{r.logger.log("Error deleting data from indexeddb",e),t(e.target.error)},n.onsuccess=()=>{r.logger.log(`Removed indexeddb instance: ${this._dbName}`),e()}})).catch((e=>{r.logger.warn(`unable to delete IndexedDBCryptoStore: ${e}`)}))}getOrAddOutgoingRoomKeyRequest(e){return this._backend.getOrAddOutgoingRoomKeyRequest(e)}getOutgoingRoomKeyRequest(e){return this._backend.getOutgoingRoomKeyRequest(e)}getOutgoingRoomKeyRequestByState(e){return this._backend.getOutgoingRoomKeyRequestByState(e)}getAllOutgoingRoomKeyRequestsByState(e){return this._backend.getAllOutgoingRoomKeyRequestsByState(e)}getOutgoingRoomKeyRequestsByTarget(e,t,n){return this._backend.getOutgoingRoomKeyRequestsByTarget(e,t,n)}updateOutgoingRoomKeyRequest(e,t,n){return this._backend.updateOutgoingRoomKeyRequest(e,t,n)}deleteOutgoingRoomKeyRequest(e,t){return this._backend.deleteOutgoingRoomKeyRequest(e,t)}getAccount(e,t){this._backend.getAccount(e,t)}storeAccount(e,t){this._backend.storeAccount(e,t)}getCrossSigningKeys(e,t){this._backend.getCrossSigningKeys(e,t)}getSecretStorePrivateKey(e,t,n){this._backend.getSecretStorePrivateKey(e,t,n)}storeCrossSigningKeys(e,t){this._backend.storeCrossSigningKeys(e,t)}storeSecretStorePrivateKey(e,t,n){this._backend.storeSecretStorePrivateKey(e,t,n)}countEndToEndSessions(e,t){this._backend.countEndToEndSessions(e,t)}getEndToEndSession(e,t,n,o){this._backend.getEndToEndSession(e,t,n,o)}getEndToEndSessions(e,t,n){this._backend.getEndToEndSessions(e,t,n)}getAllEndToEndSessions(e,t){this._backend.getAllEndToEndSessions(e,t)}storeEndToEndSession(e,t,n,o){this._backend.storeEndToEndSession(e,t,n,o)}storeEndToEndSessionProblem(e,t,n){return this._backend.storeEndToEndSessionProblem(e,t,n)}getEndToEndSessionProblem(e,t){return this._backend.getEndToEndSessionProblem(e,t)}filterOutNotifiedErrorDevices(e){return this._backend.filterOutNotifiedErrorDevices(e)}getEndToEndInboundGroupSession(e,t,n,o){this._backend.getEndToEndInboundGroupSession(e,t,n,o)}getAllEndToEndInboundGroupSessions(e,t){this._backend.getAllEndToEndInboundGroupSessions(e,t)}addEndToEndInboundGroupSession(e,t,n,o){this._backend.addEndToEndInboundGroupSession(e,t,n,o)}storeEndToEndInboundGroupSession(e,t,n,o){this._backend.storeEndToEndInboundGroupSession(e,t,n,o)}storeEndToEndInboundGroupSessionWithheld(e,t,n,o){this._backend.storeEndToEndInboundGroupSessionWithheld(e,t,n,o)}storeEndToEndDeviceData(e,t){this._backend.storeEndToEndDeviceData(e,t)}getEndToEndDeviceData(e,t){this._backend.getEndToEndDeviceData(e,t)}storeEndToEndRoom(e,t,n){this._backend.storeEndToEndRoom(e,t,n)}getEndToEndRooms(e,t){this._backend.getEndToEndRooms(e,t)}getSessionsNeedingBackup(e){return this._backend.getSessionsNeedingBackup(e)}countSessionsNeedingBackup(e){return this._backend.countSessionsNeedingBackup(e)}unmarkSessionsNeedingBackup(e,t){return this._backend.unmarkSessionsNeedingBackup(e,t)}markSessionsNeedingBackup(e,t){return this._backend.markSessionsNeedingBackup(e,t)}addSharedHistoryInboundGroupSession(e,t,n,o){this._backend.addSharedHistoryInboundGroupSession(e,t,n,o)}getSharedHistoryInboundGroupSessions(e,t){return this._backend.getSharedHistoryInboundGroupSessions(e,t)}doTxn(e,t,n,o){return this._backend.doTxn(e,t,n,o)}}t.IndexedDBCryptoStore=l,l.STORE_ACCOUNT="account",l.STORE_SESSIONS="sessions",l.STORE_INBOUND_GROUP_SESSIONS="inbound_group_sessions",l.STORE_INBOUND_GROUP_SESSIONS_WITHHELD="inbound_group_sessions_withheld",l.STORE_SHARED_HISTORY_INBOUND_GROUP_SESSIONS="shared_history_inbound_group_sessions",l.STORE_DEVICE_DATA="device_data",l.STORE_ROOMS="rooms",l.STORE_BACKUP="sessions_needing_backup"},84250:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LocalStorageCryptoStore=void 0;var o=n(7434),r=n(11045);const i="crypto.account",a="crypto.cross_signing_keys",s="crypto.notified_error_devices",u="crypto.device_data",c="crypto.inboundgroupsessions/",l="crypto.sessionsneedingbackup";function d(e){return"crypto.sessions/"+e}function h(e){return"crypto.session.problems/"+e}function p(e,t){return c+e+"/"+t}function f(e,t){return"crypto.inboundgroupsessions.withheld/"+e+"/"+t}function g(e){return"crypto.rooms/"+e}class m extends r.MemoryCryptoStore{constructor(e){super(),this.store=e}static exists(e){const t=e.length;for(let n=0;ne.time-t.time)),F(this.store,o,r)}async getEndToEndSessionProblem(e,t){const n=h(e),o=_(this.store,n)||[];if(!o.length)return null;const r=o[o.length-1];for(const e of o)if(e.time>t)return Object.assign({},e,{fixed:r.fixed});return r.fixed?null:r}async filterOutNotifiedErrorDevices(e){const t=_(this.store,s)||{},n=[];for(const o of e){const{userId:e,deviceInfo:r}=o;e in t?r.deviceId in t[e]||(n.push(o),t[e][r.deviceId]=!0):(n.push(o),t[e]={[r.deviceId]:!0})}return F(this.store,s,t),n}getEndToEndInboundGroupSession(e,t,n,o){o(_(this.store,p(e,t)),_(this.store,f(e,t)))}getAllEndToEndInboundGroupSessions(e,t){for(let e=0;e{n.push({senderKey:t,sessionId:r,sessionData:e})})),e&&o.length>=e)break}return Promise.resolve(n)}countSessionsNeedingBackup(){const e=_(this.store,l)||{};return Promise.resolve(Object.keys(e).length)}unmarkSessionsNeedingBackup(e){const t=_(this.store,l)||{};for(const n of e)delete t[n.senderKey+"/"+n.sessionId];return F(this.store,l,t),Promise.resolve()}markSessionsNeedingBackup(e){const t=_(this.store,l)||{};for(const n of e)t[n.senderKey+"/"+n.sessionId]=!0;return F(this.store,l,t),Promise.resolve()}deleteAllData(){return this.store.removeItem(i),Promise.resolve()}getAccount(e,t){t(_(this.store,i))}storeAccount(e,t){F(this.store,i,t)}getCrossSigningKeys(e,t){t(_(this.store,a))}getSecretStorePrivateKey(e,t,n){t(_(this.store,`crypto.ssss_cache.${n}`))}storeCrossSigningKeys(e,t){F(this.store,a,t)}storeSecretStorePrivateKey(e,t,n){F(this.store,`crypto.ssss_cache.${t}`,n)}doTxn(e,t,n){return Promise.resolve(n(null))}}function _(e,t){try{return JSON.parse(e.getItem(t))}catch(e){o.logger.log("Error: Failed to get key %s: %s",t,e.stack||e),o.logger.log(e.stack)}return null}function F(e,t,n){e.setItem(t,JSON.stringify(n))}t.LocalStorageCryptoStore=m},11045:(e,t,n)=>{"use strict";var o=n(20862),r=n(95318);Object.defineProperty(t,"__esModule",{value:!0}),t.MemoryCryptoStore=void 0;var i=r(n(59713)),a=n(7434),s=o(n(3102));function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function c(e){for(var t=1;t{const n=this._getOutgoingRoomKeyRequest(t);return n?(a.logger.log(`already have key request outstanding for ${t.room_id} / ${t.session_id}: not sending another`),n):(a.logger.log(`enqueueing key request for ${t.room_id} / `+t.session_id),this._outgoingRoomKeyRequests.push(e),e)}))}getOutgoingRoomKeyRequest(e){return Promise.resolve(this._getOutgoingRoomKeyRequest(e))}_getOutgoingRoomKeyRequest(e){for(const t of this._outgoingRoomKeyRequests)if(s.deepCompare(t.requestBody,e))return t;return null}getOutgoingRoomKeyRequestByState(e){for(const t of this._outgoingRoomKeyRequests)for(const n of e)if(t.state===n)return Promise.resolve(t);return Promise.resolve(null)}getAllOutgoingRoomKeyRequestsByState(e){return Promise.resolve(this._outgoingRoomKeyRequests.filter((t=>t.state==e)))}getOutgoingRoomKeyRequestsByTarget(e,t,n){const o=[];for(const r of this._outgoingRoomKeyRequests)for(const i of n)r.state===i&&r.recipients.includes({userId:e,deviceId:t})&&o.push(r);return Promise.resolve(o)}updateOutgoingRoomKeyRequest(e,t,n){for(const o of this._outgoingRoomKeyRequests)if(o.requestId===e)return o.state!=t?(a.logger.warn(`Cannot update room key request from ${t} as it was already updated to ${o.state}`),Promise.resolve(null)):(Object.assign(o,n),Promise.resolve(o));return Promise.resolve(null)}deleteOutgoingRoomKeyRequest(e,t){for(let n=0;n{Object.entries(n).forEach((([n,o])=>{t(c(c({},o),{},{deviceKey:e,sessionId:n}))}))}))}storeEndToEndSession(e,t,n,o){let r=this._sessions[e];void 0===r&&(r={},this._sessions[e]=r),r[t]=n}async storeEndToEndSessionProblem(e,t,n){const o=this._sessionProblems[e]=this._sessionProblems[e]||[];o.push({type:t,fixed:n,time:Date.now()}),o.sort(((e,t)=>e.time-t.time))}async getEndToEndSessionProblem(e,t){const n=this._sessionProblems[e]||[];if(!n.length)return null;const o=n[n.length-1];for(const e of n)if(e.time>t)return Object.assign({},e,{fixed:o.fixed});return o.fixed?null:o}async filterOutNotifiedErrorDevices(e){const t=this._notifiedErrorDevices,n=[];for(const o of e){const{userId:e,deviceInfo:r}=o;e in t?r.deviceId in t[e]||(n.push(o),t[e][r.deviceId]=!0):(n.push(o),t[e]={[r.deviceId]:!0})}return n}getEndToEndInboundGroupSession(e,t,n,o){const r=e+"/"+t;o(this._inboundGroupSessions[r]||null,this._inboundGroupSessionsWithheld[r]||null)}getAllEndToEndInboundGroupSessions(e,t){for(const e of Object.keys(this._inboundGroupSessions))t({senderKey:e.substr(0,43),sessionId:e.substr(44),sessionData:this._inboundGroupSessions[e]});t(null)}addEndToEndInboundGroupSession(e,t,n,o){const r=e+"/"+t;void 0===this._inboundGroupSessions[r]&&(this._inboundGroupSessions[r]=n)}storeEndToEndInboundGroupSession(e,t,n,o){this._inboundGroupSessions[e+"/"+t]=n}storeEndToEndInboundGroupSessionWithheld(e,t,n,o){const r=e+"/"+t;this._inboundGroupSessionsWithheld[r]=n}getEndToEndDeviceData(e,t){t(this._deviceData)}storeEndToEndDeviceData(e,t){this._deviceData=e}storeEndToEndRoom(e,t,n){this._rooms[e]=t}getEndToEndRooms(e,t){t(this._rooms)}getSessionsNeedingBackup(e){const t=[];for(const n in this._sessionsNeedingBackup)if(this._inboundGroupSessions[n]&&(t.push({senderKey:n.substr(0,43),sessionId:n.substr(44),sessionData:this._inboundGroupSessions[n]}),e&&n.length>=e))break;return Promise.resolve(t)}countSessionsNeedingBackup(){return Promise.resolve(Object.keys(this._sessionsNeedingBackup).length)}unmarkSessionsNeedingBackup(e){for(const t of e){const e=t.senderKey+"/"+t.sessionId;delete this._sessionsNeedingBackup[e]}return Promise.resolve()}markSessionsNeedingBackup(e){for(const t of e){const e=t.senderKey+"/"+t.sessionId;this._sessionsNeedingBackup[e]=!0}return Promise.resolve()}addSharedHistoryInboundGroupSession(e,t,n){const o=this._sharedHistoryInboundGroupSessions[e]||[];o.push([t,n]),this._sharedHistoryInboundGroupSessions[e]=o}getSharedHistoryInboundGroupSessions(e){return Promise.resolve(this._sharedHistoryInboundGroupSessions[e]||[])}doTxn(e,t,n){return Promise.resolve(n(null))}}},41631:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VerificationBase=t.SwitchStartEventError=void 0;var o=n(24369),r=n(17187),i=n(7434),a=n(23272),s=n(16702),u=n(3075);const c=new Error("Verification timed out");class l extends Error{constructor(e){super(),this.startEvent=e}}t.SwitchStartEventError=l;class d extends r.EventEmitter{constructor(e,t,n,o,r,i){super(),this._channel=e,this._baseApis=t,this.userId=n,this.deviceId=o,this.startEvent=r,this.request=i,this.cancelled=!1,this._done=!1,this._promise=null,this._transactionTimeoutTimer=null}get initiatedByMe(){if(!this.startEvent)return!0;const e=this.startEvent.getSender(),t=this.startEvent.getContent();return e===this._baseApis.getUserId()&&t.from_device===this._baseApis.getDeviceId()}_resetTimer(){i.logger.info("Refreshing/starting the verification transaction timeout timer"),null!==this._transactionTimeoutTimer&&clearTimeout(this._transactionTimeoutTimer),this._transactionTimeoutTimer=setTimeout((()=>{this._done||this.cancelled||(i.logger.info("Triggering verification timeout"),this.cancel(c))}),6e5)}_endTimer(){null!==this._transactionTimeoutTimer&&(clearTimeout(this._transactionTimeoutTimer),this._transactionTimeoutTimer=null)}_send(e,t){return this._channel.send(e,t)}_waitForEvent(e){if(this._done)return Promise.reject(new Error("Verification is already done"));const t=this.request.getEventFromOtherParty(e);return t?Promise.resolve(t):(this._expectedEvent=e,new Promise(((e,t)=>{this._resolveEvent=e,this._rejectEvent=t})))}canSwitchStartEvent(){return!1}switchStartEvent(e){if(this.canSwitchStartEvent(e))if(i.logger.log("Verification Base: switching verification start event",{restartingFlow:!!this._rejectEvent}),this._rejectEvent){const t=this._rejectEvent;this._rejectEvent=void 0,t(new l(e))}else this.startEvent=e}handleEvent(e){if(!this._done)if(e.getType()===this._expectedEvent)"m.key.verification.done"!==this._expectedEvent&&(this._expectedEvent=void 0,this._rejectEvent=void 0,this._resetTimer(),this._resolveEvent(e));else if("m.key.verification.cancel"===e.getType()){const t=this._reject;if(this._reject=void 0,t){const n=e.getContent(),{reason:o,code:r}=n;t(new Error(`Other side cancelled verification because ${o} (${r})`))}}else if(this._expectedEvent){const t=new Error("Unexpected message: expecting "+this._expectedEvent+" but got "+e.getType());if(this._expectedEvent=void 0,this._rejectEvent){const e=this._rejectEvent;this._rejectEvent=void 0,e(t)}this.cancel(t)}}done(){if(this._endTimer(),!this._done)return this.request.onVerifierFinished(),this._resolve(),(0,u.requestKeysDuringVerification)(this._baseApis,this.userId,this.deviceId)}cancel(e){if(this._endTimer(),!this._done){if(this.cancelled=!0,this.request.onVerifierCancelled(),this.userId&&this.deviceId)if(e===c){const e=(0,s.newTimeoutError)();this._send(e.getType(),e.getContent())}else if(e instanceof o.MatrixEvent){if(e.getSender()!==this.userId){const t=e.getContent();"m.key.verification.cancel"===e.getType()?(t.code=t.code||"m.unknown",t.reason=t.reason||t.body||"Unknown reason",this._send("m.key.verification.cancel",t)):this._send("m.key.verification.cancel",{code:"m.unknown",reason:t.body||"Unknown reason"})}}else this._send("m.key.verification.cancel",{code:"m.unknown",reason:e.toString()});null!==this._promise?this._reject&&this._reject(e):this._promise=Promise.reject(e),this.emit("cancel",e)}}verify(){return this._promise||(this._promise=new Promise(((e,t)=>{this._resolve=(...t)=>{this._done=!0,this._endTimer(),e(...t)},this._reject=(...e)=>{this._done=!0,this._endTimer(),t(...e)}})),this._doVerification&&!this._started&&(this._started=!0,this._resetTimer(),Promise.resolve(this._doVerification()).then(this.done.bind(this),this.cancel.bind(this)))),this._promise}async _verifyKeys(e,t,n){const o=[];for(const[r,s]of Object.entries(t)){const t=r.split(":",2)[1],u=this._baseApis.getStoredDevice(e,t);if(u)await n(r,u,s),o.push(t);else{const u=this._baseApis._crypto._deviceList.getStoredCrossSigningForUser(e);u&&u.getId()===t?(await n(r,a.DeviceInfo.fromStorage({keys:{[r]:t}},t),s),o.push(t)):i.logger.warn(`verification: Could not find device ${t} to verify`)}}if(!o.length)throw new Error("No devices could be verified");i.logger.info("Verification completed! Marking devices verified: ",o);for(const t of o)await this._baseApis.setDeviceVerified(e,t)}}t.VerificationBase=d},16702:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.newVerificationError=r,t.errorFactory=i,t.errorFromEvent=function(e){const t=e.getContent();if(t){const{code:e,reason:n}=t;return{code:e,reason:n}}return{code:"Unknown error",reason:"m.unknown"}},t.newInvalidMessageError=t.newUserMismatchError=t.newKeyMismatchError=t.newUnexpectedMessageError=t.newUnknownMethodError=t.newUnknownTransactionError=t.newTimeoutError=t.newUserCancelledError=void 0;var o=n(24369);function r(e,t,n){const r=Object.assign({},{code:e,reason:t},n);return new o.MatrixEvent({type:"m.key.verification.cancel",content:r})}function i(e,t){return function(n){return r(e,t,n)}}const a=i("m.user","Cancelled by user");t.newUserCancelledError=a;const s=i("m.timeout","Timed out");t.newTimeoutError=s;const u=i("m.unknown_transaction","Unknown transaction");t.newUnknownTransactionError=u;const c=i("m.unknown_method","Unknown method");t.newUnknownMethodError=c;const l=i("m.unexpected_message","Unexpected message");t.newUnexpectedMessageError=l;const d=i("m.key_mismatch","Key mismatch");t.newKeyMismatchError=d;const h=i("m.user_error","User mismatch");t.newUserMismatchError=h;const p=i("m.invalid_message","Invalid message");t.newInvalidMessageError=p},4028:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IllegalMethod=void 0;var o=n(41631);class r extends o.VerificationBase{static factory(...e){return new r(...e)}static get NAME(){return"org.matrix.illegal_method"}async _doVerification(){throw new Error("Verification is not possible with this method")}}t.IllegalMethod=r},51696:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QRCodeData=t.ReciprocateQRCode=t.SCAN_QR_CODE_METHOD=t.SHOW_QR_CODE_METHOD=void 0;var o=n(41631),r=n(16702),i=n(32772),a=n(7434);t.SHOW_QR_CODE_METHOD="m.qr_code.show.v1",t.SCAN_QR_CODE_METHOD="m.qr_code.scan.v1";class s extends o.VerificationBase{static factory(...e){return new s(...e)}static get NAME(){return"m.reciprocate.v1"}async _doVerification(){if(!this.startEvent)throw new Error("It is not currently possible to start verificationwith this method yet.");const{qrCodeData:e}=this.request;if(this.startEvent.getContent().secret!==e.encodedSharedSecret)throw(0,r.newKeyMismatchError)();await new Promise(((e,t)=>{this.reciprocateQREvent={confirm:e,cancel:()=>t((0,r.newUserCancelledError)())},this.emit("show_reciprocate_qr",this.reciprocateQREvent)}));const t={};switch(e.mode){case u:{const n=e.otherUserMasterKey;t[`ed25519:${n}`]=n;break}case c:{const n=this.request.targetDevice.deviceId;t[`ed25519:${n}`]=e.otherDeviceKey;break}case l:{const n=e.myMasterKey;t[`ed25519:${n}`]=n;break}}await this._verifyKeys(this.userId,t,((e,n,o)=>{const i=t[e];if(!i)throw(0,r.newKeyMismatchError)();if(o!==i)throw a.logger.error("key ID from key info does not match"),(0,r.newKeyMismatchError)();for(const e in n.keys){if(!e.startsWith("ed25519"))continue;const o=t[e];if(!o)throw(0,r.newKeyMismatchError)();if(n.keys[e]!==o)throw a.logger.error("master key does not match"),(0,r.newKeyMismatchError)()}}))}}t.ReciprocateQRCode=s;const u=0,c=1,l=2;class d{constructor(e,t,n,o,r,i){this._sharedSecret=t,this._mode=e,this._otherUserMasterKey=n,this._otherDeviceKey=o,this._myMasterKey=r,this._buffer=i}static async create(e,t){const n=d._generateSharedSecret(),o=d._determineMode(e,t);let r=null,i=null,a=null;if(o===u)r=t.getStoredCrossSigningForUser(e.otherUserId).getId("master");else if(o===c)i=await d._getOtherDeviceKey(e,t);else if(o===l){const e=t.getUserId();a=t.getStoredCrossSigningForUser(e).getId("master")}const s=d._generateQrData(e,t,o,n,r,i,a),h=d._generateBuffer(s);return new d(o,n,r,i,a,h)}get buffer(){return this._buffer}get mode(){return this._mode}get otherDeviceKey(){return this._otherDeviceKey}get otherUserMasterKey(){return this._otherUserMasterKey}get myMasterKey(){return this._myMasterKey}get encodedSharedSecret(){return this._sharedSecret}static _generateSharedSecret(){const e=new Uint8Array(11);return n.g.crypto.getRandomValues(e),(0,i.encodeUnpaddedBase64)(e)}static async _getOtherDeviceKey(e,t){const n=t.getUserId(),o=e.targetDevice,r=o?o.deviceId:null,i=t.getStoredDevice(n,r);if(!i)throw new Error("could not find device "+r);return i.getFingerprint()}static _determineMode(e,t){const n=t.getUserId(),o=e.otherUserId;let r=u;return n===o&&(r=t.checkUserTrust(n).isCrossSigningVerified()?c:l),r}static _generateQrData(e,t,n,o,r,i,a){const s=t.getUserId(),d={prefix:"MATRIX",version:2,mode:n,transactionId:e.channel.transactionId,firstKeyB64:"",secondKeyB64:"",secretB64:o},h=t.getStoredCrossSigningForUser(s);return n===u?(d.firstKeyB64=h.getId("master"),d.secondKeyB64=r):n===c?(d.firstKeyB64=h.getId("master"),d.secondKeyB64=i):n===l&&(d.firstKeyB64=t.getDeviceEd25519Key(),d.secondKeyB64=a),d}static _generateBuffer(e){let t=Buffer.alloc(0);const n=e=>{const n=Buffer.from([e]);t=Buffer.concat([t,n])},o=(e,n,o=!0)=>{const r=Buffer.from(e,n);o&&(e=>{const n=Buffer.alloc(2);n.writeInt16BE(e,0),t=Buffer.concat([t,n])})(r.byteLength),t=Buffer.concat([t,r])},r=e=>{const n=(0,i.decodeBase64)(e),o=Buffer.from(n);t=Buffer.concat([t,o])};return o(e.prefix,"ascii",!1),n(e.version),n(e.mode),o(e.transactionId,"utf-8"),r(e.firstKeyB64),r(e.secondKeyB64),r(e.secretB64),t}}t.QRCodeData=d},56381:(e,t,n)=>{"use strict";var o=n(95318);Object.defineProperty(t,"__esModule",{value:!0}),t.SAS=void 0;var r=n(41631),i=o(n(69141)),a=n(16702),s=n(7434);const u="m.key.verification.start",c=["m.key.verification.accept","m.key.verification.key","m.key.verification.mac"];let l;const d=(0,a.errorFactory)("m.mismatched_sas","Mismatched short authentication string"),h=(0,a.errorFactory)("m.mismatched_commitment","Mismatched commitment"),p=[["🐶","dog"],["🐱","cat"],["🦁","lion"],["🐎","horse"],["🦄","unicorn"],["🐷","pig"],["🐘","elephant"],["🐰","rabbit"],["🐼","panda"],["🐓","rooster"],["🐧","penguin"],["🐢","turtle"],["🐟","fish"],["🐙","octopus"],["🦋","butterfly"],["🌷","flower"],["🌳","tree"],["🌵","cactus"],["🍄","mushroom"],["🌏","globe"],["🌙","moon"],["☁️","cloud"],["🔥","fire"],["🍌","banana"],["🍎","apple"],["🍓","strawberry"],["🌽","corn"],["🍕","pizza"],["🎂","cake"],["❤️","heart"],["🙂","smiley"],["🤖","robot"],["🎩","hat"],["👓","glasses"],["🔧","spanner"],["🎅","santa"],["👍","thumbs up"],["☂️","umbrella"],["⌛","hourglass"],["⏰","clock"],["🎁","gift"],["💡","light bulb"],["📕","book"],["✏️","pencil"],["📎","paperclip"],["✂️","scissors"],["🔒","lock"],["🔑","key"],["🔨","hammer"],["☎️","telephone"],["🏁","flag"],["🚂","train"],["🚲","bicycle"],["✈️","aeroplane"],["🚀","rocket"],["🏆","trophy"],["⚽","ball"],["🎸","guitar"],["🎺","trumpet"],["🔔","bell"],["⚓️","anchor"],["🎧","headphones"],["📁","folder"],["📌","pin"]],f={decimal:function(e){return[1e3+(e[0]<<5|e[1]>>3),1e3+((7&e[1])<<10|e[2]<<2|e[3]>>6),1e3+((63&e[3])<<7|e[4]>>1)]},emoji:function(e){return[e[0]>>2,(3&e[0])<<4|e[1]>>4,(15&e[1])<<2|e[2]>>6,63&e[2],e[3]>>2,(3&e[3])<<4|e[4]>>4,(15&e[4])<<2|e[5]>>6].map((e=>p[e]))}};function g(e,t){const n={};for(const o of t)o in f&&(n[o]=f[o](e));return n}const m={"hkdf-hmac-sha256":"calculate_mac","hmac-sha256":"calculate_mac_long_kdf"};function _(e,t){return function(...n){const o=e[m[t]].apply(e,n);return s.logger.log("SAS calculateMAC:",t,n,o),o}}const F={"curve25519-hkdf-sha256":function(e,t,n){const o=`${e._baseApis.getUserId()}|${e._baseApis.deviceId}|${e.ourSASPubKey}|`,r=`${e.userId}|${e.deviceId}|${e.theirSASPubKey}|`,i="MATRIX_KEY_VERIFICATION_SAS|"+(e.initiatedByMe?o+r:r+o)+e._channel.transactionId;return t.generate_bytes(i,n)},curve25519:function(e,t,n){const o=`${e._baseApis.getUserId()}${e._baseApis.deviceId}`,r=`${e.userId}${e.deviceId}`,i="MATRIX_KEY_VERIFICATION_SAS"+(e.initiatedByMe?o+r:r+o)+e._channel.transactionId;return t.generate_bytes(i,n)}},y=["curve25519-hkdf-sha256","curve25519"],b=["sha256"],v=["hkdf-hmac-sha256","hmac-sha256"],w=Object.keys(f),E=new Set(y),k=new Set(b),D=new Set(v),S=new Set(w);function x(e,t){return e instanceof Array?e.filter((e=>t.has(e))):[]}class C extends r.VerificationBase{static get NAME(){return"m.sas.v1"}get events(){return c}async _doVerification(){await n.g.Olm.init(),l=l||new n.g.Olm.Utility,await this._baseApis.downloadKeys([this.userId]);let e=!1;do{try{return this.initiatedByMe?await this._doSendVerification():await this._doRespondVerification()}catch(t){if(!(t instanceof r.SwitchStartEventError))throw t;this.startEvent=t.startEvent,e=!0}}while(e)}canSwitchStartEvent(e){if(e.getType()!==u)return!1;const t=e.getContent();return t&&t.method===C.NAME&&this._waitingForAccept}async _sendStart(){const e=this._channel.completeContent(u,{method:C.NAME,from_device:this._baseApis.deviceId,key_agreement_protocols:y,hashes:b,message_authentication_codes:v,short_authentication_string:w});return await this._channel.sendCompleted(u,e),e}async _doSendVerification(){let e,t;if(this._waitingForAccept=!0,e=this.startEvent?this._channel.completedContentFromEvent(this.startEvent):await this._sendStart(),!this.initiatedByMe)throw new r.SwitchStartEventError(this.startEvent);try{t=await this._waitForEvent("m.key.verification.accept")}finally{this._waitingForAccept=!1}let o=t.getContent();const s=x(o.short_authentication_string,S);if(!(E.has(o.key_agreement_protocol)&&k.has(o.hash)&&D.has(o.message_authentication_code)&&s.length))throw(0,a.newUnknownMethodError)();if("string"!=typeof o.commitment)throw(0,a.newInvalidMessageError)();const u=o.key_agreement_protocol,c=o.message_authentication_code,p=o.commitment,f=new n.g.Olm.SAS;try{this.ourSASPubKey=f.get_pubkey(),await this._send("m.key.verification.key",{key:this.ourSASPubKey}),t=await this._waitForEvent("m.key.verification.key"),o=t.getContent();const n=o.key+i.default.stringify(e);if(l.sha256(n)!==p)throw h();this.theirSASPubKey=o.key,f.set_their_key(o.key);const r=F[u](this,f,6),m=new Promise(((e,t)=>{this.sasEvent={sas:g(r,s),confirm:async()=>{try{await this._sendMAC(f,c),e()}catch(e){t(e)}},cancel:()=>t((0,a.newUserCancelledError)()),mismatch:()=>t(d())},this.emit("show_sas",this.sasEvent)}));[t]=await Promise.all([this._waitForEvent("m.key.verification.mac").then((e=>(this._expectedEvent="m.key.verification.done",e))),m]),o=t.getContent(),await this._checkMAC(f,o,c)}finally{f.free()}}async _doRespondVerification(){let e=this._channel.completedContentFromEvent(this.startEvent);const t=x(y,new Set(e.key_agreement_protocols))[0],o=x(b,new Set(e.hashes))[0],r=x(v,new Set(e.message_authentication_codes))[0],s=x(e.short_authentication_string,S);if(void 0===t||void 0===o||void 0===r||!s.length)throw(0,a.newUnknownMethodError)();const u=new n.g.Olm.SAS;try{const n=u.get_pubkey()+i.default.stringify(e);await this._send("m.key.verification.accept",{key_agreement_protocol:t,hash:o,message_authentication_code:r,short_authentication_string:s,commitment:l.sha256(n)});let c=await this._waitForEvent("m.key.verification.key");e=c.getContent(),this.theirSASPubKey=e.key,u.set_their_key(e.key),this.ourSASPubKey=u.get_pubkey(),await this._send("m.key.verification.key",{key:this.ourSASPubKey});const h=F[t](this,u,6),p=new Promise(((e,t)=>{this.sasEvent={sas:g(h,s),confirm:async()=>{try{await this._sendMAC(u,r),e()}catch(e){t(e)}},cancel:()=>t((0,a.newUserCancelledError)()),mismatch:()=>t(d())},this.emit("show_sas",this.sasEvent)}));[c]=await Promise.all([this._waitForEvent("m.key.verification.mac").then((e=>(this._expectedEvent="m.key.verification.done",e))),p]),e=c.getContent(),await this._checkMAC(u,e,r)}finally{u.free()}}_sendMAC(e,t){const n={},o=[],r="MATRIX_KEY_VERIFICATION_MAC"+this._baseApis.getUserId()+this._baseApis.deviceId+this.userId+this.deviceId+this._channel.transactionId,i=`ed25519:${this._baseApis.deviceId}`;n[i]=_(e,t)(this._baseApis.getDeviceEd25519Key(),r+i),o.push(i);const a=this._baseApis.getCrossSigningId();if(a){const i=`ed25519:${a}`;n[i]=_(e,t)(a,r+i),o.push(i)}const s=_(e,t)(o.sort().join(","),r+"KEY_IDS");return this._send("m.key.verification.mac",{mac:n,keys:s})}async _checkMAC(e,t,n){const o="MATRIX_KEY_VERIFICATION_MAC"+this.userId+this.deviceId+this._baseApis.getUserId()+this._baseApis.deviceId+this._channel.transactionId;if(t.keys!==_(e,n)(Object.keys(t.mac).sort().join(","),o+"KEY_IDS"))throw(0,a.newKeyMismatchError)();await this._verifyKeys(this.userId,t.mac,((t,r,i)=>{if(i!==_(e,n)(r.keys[t],o+t))throw(0,a.newKeyMismatchError)()}))}}t.SAS=C},22842:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InRoomRequests=t.InRoomChannel=void 0;var o=n(85279),r=n(7434);const i="m.room.message",a="m.reference",s="m.relates_to";class u{constructor(e,t,n=null){this._client=e,this._roomId=t,this.userId=n,this._requestEventId=null}get receiveStartFromOtherDevices(){return!0}get roomId(){return this._roomId}get transactionId(){return this._requestEventId}static getOtherPartyUserId(e,t){if(u.getEventType(e)!==o.REQUEST_TYPE)return;const n=t.getUserId(),r=e.getSender(),i=e.getContent().to;return r===n?i:i===n?r:void 0}getTimestamp(e){return e.getTs()}static canCreateRequest(e){return e===o.REQUEST_TYPE}static getTransactionId(e){if(u.getEventType(e)===o.REQUEST_TYPE)return e.getId();{const t=e.getRelation();if(t&&t.rel_type===a)return t.event_id}}static validateEvent(e,t){const n=u.getTransactionId(e);if("string"!=typeof n||0===n.length)return!1;const i=u.getEventType(e),a=e.getContent();if(i===o.REQUEST_TYPE){if(!a||"string"!=typeof a.to||!a.to.length)return r.logger.log("InRoomChannel: validateEvent: no valid to "+(a&&a.to)),!1;if(!u.getOtherPartyUserId(e,t))return r.logger.log(`InRoomChannel: validateEvent: not directed to or sent by me: ${e.getSender()}, ${a&&a.to}`),!1}return o.VerificationRequest.validateEvent(i,e,t)}static getEventType(e){const t=e.getType();if(t===i){const t=e.getContent();if(t){const{msgtype:e}=t;if(e===o.REQUEST_TYPE)return o.REQUEST_TYPE}}return t&&t!==o.REQUEST_TYPE?t:""}async handleEvent(e,t,n){if(t.hasEventId(e.getId()))return;const o=u.getEventType(e);if(e.getRoomId()!==this._roomId)return;if(null===this.userId){const t=u.getOtherPartyUserId(e,this._client);t&&(this.userId=t)}const i=this._client.getUserId(),a=e.getSender();if(null!==this.userId&&a!==i&&a!==this.userId)return void r.logger.log(`InRoomChannel: ignoring verification event from non-participating sender ${a}`);null===this._requestEventId&&(this._requestEventId=u.getTransactionId(e));const s=!!e.getUnsigned().transaction_id,c=e.getSender()===this._client.getUserId();return await t.handleEvent(o,e,n,s,c)}completedContentFromEvent(e){const t=Object.assign({},e.getContent());return t[s]=e.getRelation(),t}completeContent(e,t){return t=Object.assign({},t),e!==o.REQUEST_TYPE&&e!==o.READY_TYPE&&e!==o.START_TYPE||(t.from_device=this._client.getDeviceId()),e===o.REQUEST_TYPE?t={body:this._client.getUserId()+" is requesting to verify your key, but your client does not support in-chat key verification. You will need to use legacy key verification to verify keys.",msgtype:o.REQUEST_TYPE,to:this.userId,from_device:t.from_device,methods:t.methods}:t[s]={rel_type:a,event_id:this.transactionId},t}send(e,t){const n=this.completeContent(e,t);return this.sendCompleted(e,n)}async sendCompleted(e,t){let n=e;e===o.REQUEST_TYPE&&(n=i);const r=await this._client.sendEvent(this._roomId,n,t);e===o.REQUEST_TYPE&&(this._requestEventId=r.event_id)}}t.InRoomChannel=u,t.InRoomRequests=class{constructor(){this._requestsByRoomId=new Map}getRequest(e){const t=e.getRoomId(),n=u.getTransactionId(e);return this._getRequestByTxnId(t,n)}getRequestByChannel(e){return this._getRequestByTxnId(e.roomId,e.transactionId)}_getRequestByTxnId(e,t){const n=this._requestsByRoomId.get(e);if(n)return n.get(t)}setRequest(e,t){this._setRequest(e.getRoomId(),u.getTransactionId(e),t)}setRequestByChannel(e,t){this._setRequest(e.roomId,e.transactionId,t)}_setRequest(e,t,n){let o=this._requestsByRoomId.get(e);o||(o=new Map,this._requestsByRoomId.set(e,o)),o.set(t,n)}removeRequest(e){const t=e.getRoomId(),n=this._requestsByRoomId.get(t);n&&(n.delete(u.getTransactionId(e)),0===n.size&&this._requestsByRoomId.delete(t))}findRequestInProgress(e){const t=this._requestsByRoomId.get(e);if(t)for(const e of t.values())if(e.pending)return e}}},89588:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ToDeviceRequests=t.ToDeviceChannel=void 0;var o=n(98401),r=n(7434),i=n(85279),a=n(16702),s=n(24369);class u{constructor(e,t,n,o=null,r=null){this._client=e,this.userId=t,this._devices=n,this.transactionId=o,this._deviceId=r}isToDevices(e){if(e.length===this._devices.length){for(const t of e)if(!this._devices.find((e=>e.deviceId===t.deviceId)))return!1;return!0}return!1}get deviceId(){return this._deviceId}static getEventType(e){return e.getType()}static getTransactionId(e){const t=e.getContent();return t&&t.transaction_id}static canCreateRequest(e){return e===i.REQUEST_TYPE||e===i.START_TYPE}static validateEvent(e,t){if(e.isCancelled())return r.logger.warn("Ignoring flagged verification request from "+e.getSender()),!1;const n=e.getContent();if(!n)return r.logger.warn("ToDeviceChannel.validateEvent: invalid: no content"),!1;if(!n.transaction_id)return r.logger.warn("ToDeviceChannel.validateEvent: invalid: no transaction_id"),!1;const o=e.getType();if(o===i.REQUEST_TYPE){if(!Number.isFinite(n.timestamp))return r.logger.warn("ToDeviceChannel.validateEvent: invalid: no timestamp"),!1;if(e.getSender()===t.getUserId()&&n.from_device==t.getDeviceId())return r.logger.warn("ToDeviceChannel.validateEvent: invalid: from own device"),!1}return i.VerificationRequest.validateEvent(o,e,t)}getTimestamp(e){const t=e.getContent();return t&&t.timestamp}async handleEvent(e,t,n){const o=e.getType(),r=e.getContent();if(o===i.REQUEST_TYPE||o===i.READY_TYPE||o===i.START_TYPE){this.transactionId||(this.transactionId=r.transaction_id);const e=r.from_device;if(!this._deviceId&&this._devices.includes(e)&&(this._deviceId=e),!this._deviceId||this._deviceId!==e){const t=this.completeContent((0,a.errorFromEvent)((0,a.newUnexpectedMessageError)()));return this._sendToDevices(i.CANCEL_TYPE,t,[e])}}const s=t.phase===i.PHASE_STARTED||t.phase===i.PHASE_READY;await t.handleEvent(e.getType(),e,n,!1,!1);const u=t.phase===i.PHASE_STARTED||t.phase===i.PHASE_READY;if((o===i.START_TYPE||o===i.READY_TYPE)&&!s&&u&&this._deviceId){const e=this._devices.filter((e=>e!==this._deviceId&&e!==this._client.getDeviceId()));if(e.length){const t=this.completeContent({code:"m.accepted",reason:"Verification request accepted by another device"});await this._sendToDevices(i.CANCEL_TYPE,t,e)}}}completedContentFromEvent(e){return e.getContent()}completeContent(e,t){return t=Object.assign({},t),this.transactionId&&(t.transaction_id=this.transactionId),e!==i.REQUEST_TYPE&&e!==i.READY_TYPE&&e!==i.START_TYPE||(t.from_device=this._client.getDeviceId()),e===i.REQUEST_TYPE&&(t.timestamp=Date.now()),t}send(e,t={}){e!==i.REQUEST_TYPE&&e!==i.START_TYPE||this.transactionId||(this.transactionId=u.makeTransactionId());const n=this.completeContent(e,t);return this.sendCompleted(e,n)}async sendCompleted(e,t){let n;n=e===i.REQUEST_TYPE?await this._sendToDevices(e,t,this._devices):await this._sendToDevices(e,t,[this._deviceId]);const o=new s.MatrixEvent({sender:this._client.getUserId(),content:t,type:e});return await this._request.handleEvent(e,o,!0,!0,!0),n}_sendToDevices(e,t,n){if(n.length){const o={};for(const e of n)o[e]=t;return this._client.sendToDevice(e,{[this.userId]:o})}return Promise.resolve()}static makeTransactionId(){return(0,o.randomString)(32)}}t.ToDeviceChannel=u,t.ToDeviceRequests=class{constructor(){this._requestsByUserId=new Map}getRequest(e){return this.getRequestBySenderAndTxnId(e.getSender(),u.getTransactionId(e))}getRequestByChannel(e){return this.getRequestBySenderAndTxnId(e.userId,e.transactionId)}getRequestBySenderAndTxnId(e,t){const n=this._requestsByUserId.get(e);if(n)return n.get(t)}setRequest(e,t){this.setRequestBySenderAndTxnId(e.getSender(),u.getTransactionId(e),t)}setRequestByChannel(e,t){this.setRequestBySenderAndTxnId(e.userId,e.transactionId,t)}setRequestBySenderAndTxnId(e,t,n){let o=this._requestsByUserId.get(e);o||(o=new Map,this._requestsByUserId.set(e,o)),o.set(t,n)}removeRequest(e){const t=e.getSender(),n=this._requestsByUserId.get(t);n&&(n.delete(u.getTransactionId(e)),0===n.size&&this._requestsByUserId.delete(t))}findRequestInProgress(e,t){const n=this._requestsByUserId.get(e);if(n)for(const e of n.values())if(e.pending&&e.channel.isToDevices(t))return e}getRequestsInProgress(e){const t=this._requestsByUserId.get(e);return t?Array.from(t.values()).filter((e=>e.pending)):[]}}},85279:(e,t,n)=>{"use strict";var o=n(95318);Object.defineProperty(t,"__esModule",{value:!0}),t.VerificationRequest=t.PHASE_DONE=t.PHASE_CANCELLED=t.PHASE_STARTED=t.PHASE_READY=t.PHASE_REQUESTED=t.PHASE_UNSENT=t.READY_TYPE=t.DONE_TYPE=t.CANCEL_TYPE=t.START_TYPE=t.REQUEST_TYPE=t.EVENT_PREFIX=void 0;var r=o(n(59713)),i=n(7434),a=n(17187),s=n(16702),u=n(51696);const c="m.key.verification.";t.EVENT_PREFIX=c;const l=c+"request";t.REQUEST_TYPE=l;const d=c+"start";t.START_TYPE=d;const h=c+"cancel";t.CANCEL_TYPE=h;const p=c+"done";t.DONE_TYPE=p;const f=c+"ready";t.READY_TYPE=f,t.PHASE_UNSENT=1,t.PHASE_REQUESTED=2,t.PHASE_READY=3,t.PHASE_STARTED=4,t.PHASE_CANCELLED=5,t.PHASE_DONE=6;class g extends a.EventEmitter{constructor(e,t,n){super(),(0,r.default)(this,"_cancelOnTimeout",(()=>{try{this.initiatedByMe?this.cancel({reason:"Other party didn't accept in time",code:"m.timeout"}):this.cancel({reason:"User didn't accept in time",code:"m.timeout"})}catch(e){i.logger.error("Error while cancelling verification request",e)}})),this.channel=e,this.channel._request=this,this._verificationMethods=t,this._client=n,this._commonMethods=[],this._setPhase(1,!1),this._eventsByUs=new Map,this._eventsByThem=new Map,this._observeOnly=!1,this._timeoutTimer=null,this._accepting=!1,this._declining=!1,this._verifierHasFinished=!1,this._cancelled=!1,this._chosenMethod=null,this._qrCodeData=null,this._requestReceivedAt=null}static validateEvent(e,t,n){const o=t.getContent();return!(!e||!e.startsWith(c))&&(o?e!==l&&e!==f||Array.isArray(o.methods)?e!==l&&e!==f&&e!==d||"string"==typeof o.from_device&&0!==o.from_device.length||(i.logger.log("VerificationRequest: validateEvent: fail because from_device"),!1):(i.logger.log("VerificationRequest: validateEvent: fail because methods"),!1):(i.logger.log("VerificationRequest: validateEvent: no content"),!1))}get invalid(){return 1===this.phase}get requested(){return 2===this.phase}get cancelled(){return 5===this.phase}get ready(){return 3===this.phase}get started(){return 4===this.phase}get done(){return 6===this.phase}get methods(){return this._commonMethods}get chosenMethod(){return this._chosenMethod}calculateEventTimeout(e){let t=this.channel.getTimestamp(e)+6e5;if(this._requestReceivedAt&&!this.initiatedByMe&&this.phase<=2){const e=this._requestReceivedAt+12e4;t=Math.min(t,e)}return Math.max(0,t-Date.now())}get timeout(){const e=this._getEventByEither(l);return e?this.calculateEventTimeout(e):0}get requestEvent(){return this._getEventByEither(l)}get phase(){return this._phase}get verifier(){return this._verifier}get canAccept(){return this.phase<3&&!this._accepting&&!this._declining}get accepting(){return this._accepting}get declining(){return this._declining}get pending(){return!this.observeOnly&&6!==this._phase&&5!==this._phase}get qrCodeData(){return this._qrCodeData}otherPartySupportsMethod(e,t=!1){if(!t&&!this.ready&&!this.started)return!1;const n=this._eventsByThem.get(l)||this._eventsByThem.get(f);if(!n){if(this.started&&this.initiatedByMe){const t=this._eventsByUs.get(d),n=t&&t.getContent();return e==(n&&n.method)}return!1}const o=n.getContent();if(!o)return!1;const{methods:r}=o;return!!Array.isArray(r)&&r.includes(e)}get initiatedByMe(){const e=this._eventsByUs.size+this._eventsByThem.size===0;if(1===this._phase&&e)return!0;const t=this._eventsByUs.has(l),n=this._eventsByThem.has(l);if(t&&!n)return!0;if(!t&&n)return!1;const o=this._eventsByUs.has(d),r=this._eventsByThem.has(d);return!(!o||r)}get requestingUserId(){return this.initiatedByMe?this._client.getUserId():this.otherUserId}get receivingUserId(){return this.initiatedByMe?this.otherUserId:this._client.getUserId()}get otherUserId(){return this.channel.userId}get isSelfVerification(){return this._client.getUserId()===this.otherUserId}get cancellingUserId(){const e=this._eventsByUs.get(h),t=this._eventsByThem.get(h);return e&&(!t||e.getId(){const o=()=>{let r=!1;return e(this)?(t(this),r=!0):this.cancelled&&(n(new Error("cancelled")),r=!0),r&&this.off("change",o),r};o()||this.on("change",o)}))}_setPhase(e,t=!0){this._phase=e,t&&this.emit("change")}_getEventByEither(e){return this._eventsByThem.get(e)||this._eventsByUs.get(e)}_getEventBy(e,t){return t?this._eventsByThem.get(e):this._eventsByUs.get(e)}_calculatePhaseTransitions(){const e=[{phase:1}],t=()=>e[e.length-1].phase,n=this._eventsByThem.has(l),o=this._getEventBy(l,n);o&&e.push({phase:2,event:o});const r=o&&this._getEventBy(f,!n);let i;if(r&&2===t()&&e.push({phase:3,event:r}),r||!o){const e=this._eventsByThem.get(d),t=this._eventsByUs.get(d);i=e&&t?e.getSender()this._verificationMethods.has(e)))}if(this.observeOnly||2!==t&&4!==t&&3!==t||this.channel.receiveStartFromOtherDevices&&this._wasSentByOwnUser(n)&&!this._wasSentByOwnDevice(n)&&(this._observeOnly=!0),4===t){const{method:e}=n.getContent();this._verifier||this.observeOnly||(this._verifier=this._createVerifier(e,n),this._verifier?this._chosenMethod=e:this.cancel({code:"m.unknown_method",reason:`Unknown method: ${e}`}))}}_applyPhaseTransitions(){const e=this._calculatePhaseTransitions(),t=e.findIndex((e=>e.phase===this.phase)),n=e.slice(t+1);for(const e of n)this._transitionToPhase(e);return n}_isWinningStartRace(e){if(e.getType()!==d)return!1;const t=this._verifier.startEvent;let n,o;if(this.isSelfVerification)if(t){const e=t.getContent();n=e&&e.from_device}else n=this._client.getDeviceId();else n=t?t.getSender():this._client.getUserId();if(this.isSelfVerification){const t=e.getContent();o=t&&t.from_device}else o=e.getSender();return o3===e.phase))&&this.otherPartySupportsMethod(u.SCAN_QR_CODE_METHOD,!0)&&(this._qrCodeData=await u.QRCodeData.create(this,this._client));const e=c[c.length-1],{phase:t}=e;this._setupTimeout(t),this._setPhase(t)}else this._observeOnly!==a&&this.emit("change")}finally{i.logger.log(`Verification request ${this.channel.transactionId}: ${e} event with id:${t.getId()}, content:${JSON.stringify(t.getContent())} deviceId:${this.channel.deviceId}, sender:${t.getSender()}, isSentByUs:${r}, isLiveEvent:${n}, isRemoteEcho:${o}, phase:${s}=>${this.phase}, observeOnly:${a}=>${this._observeOnly}`)}}_setupTimeout(e){!this._timeoutTimer&&!this.observeOnly&&2===e&&(this._timeoutTimer=setTimeout(this._cancelOnTimeout,this.timeout)),this._timeoutTimer&&(4===e||3===e||6===e||5===e)&&(clearTimeout(this._timeoutTimer),this._timeoutTimer=null)}async _cancelOnError(e,t){if(e===d){const e=t.getContent().method;if(!this._verificationMethods.has(e))return await this.cancel((0,s.errorFromEvent)((0,s.newUnknownMethodError)())),!0}const n=e===l&&1!==this.phase,o=e===f&&2!==this.phase;if(1!==this.phase&&(n||o)){i.logger.warn(`Cancelling, unexpected ${e} verification event from ${t.getSender()}`);const n=`Unexpected ${e} event in phase ${this.phase}`;return await this.cancel((0,s.errorFromEvent)((0,s.newUnexpectedMessageError)({reason:n}))),!0}return!1}_adjustObserveOnly(e,t){t||(this._observeOnly=!0),this.calculateEventTimeout(e)<3e3&&(this._observeOnly=!0)}_addEvent(e,t,n){if(n?this._eventsByUs.set(e,t):this._eventsByThem.set(e,t),e===l){for(const[e,t]of this._eventsByThem.entries())t.getSender()!==this.otherUserId&&this._eventsByThem.delete(e);this._requestReceivedAt=Date.now()}}_createVerifier(e,t=null,n=null){n||(n=this.targetDevice);const{userId:o,deviceId:r}=n,a=this._verificationMethods.get(e);if(a)return new a(this.channel,this._client,o,r,t,this);i.logger.warn("could not find verifier constructor for method",e)}_wasSentByOwnUser(e){return e.getSender()===this._client.getUserId()}_wasSentByOwnDevice(e){if(!this._wasSentByOwnUser(e))return!1;const t=e.getContent();return!(!t||t.from_device!==this._client.getDeviceId())}onVerifierCancelled(){this._cancelled=!0;const e=this._applyPhaseTransitions();e.length&&this._setPhase(e[e.length-1].phase)}onVerifierFinished(){this.channel.send("m.key.verification.done",{}),this._verifierHasFinished=!0;const e=this._applyPhaseTransitions();e.length&&this._setPhase(e[e.length-1].phase)}getEventFromOtherParty(e){return this._eventsByThem.get(e)}}t.VerificationRequest=g},19489:(e,t)=>{"use strict";function n(e,t){const n=`Store is invalid because ${e}, please stop the client, delete all data and start the client again`,o=Reflect.construct(Error,[n]);return Reflect.setPrototypeOf(o,Reflect.getPrototypeOf(this)),o.reason=e,o.value=t,o}function o(e){const t=`Crypto store is invalid because ${e}, please stop the client, delete all data and start the client again`,n=Reflect.construct(Error,[t]);return Reflect.setPrototypeOf(n,Reflect.getPrototypeOf(this)),n.reason=e,n.name="InvalidCryptoStoreError",n}Object.defineProperty(t,"__esModule",{value:!0}),t.InvalidStoreError=n,t.InvalidCryptoStoreError=o,t.KeySignatureUploadError=void 0,n.TOGGLED_LAZY_LOADING="TOGGLED_LAZY_LOADING",n.prototype=Object.create(Error.prototype,{constructor:{value:Error,enumerable:!1,writable:!0,configurable:!0}}),Reflect.setPrototypeOf(n,Error),o.TOO_NEW="TOO_NEW",o.prototype=Object.create(Error.prototype,{constructor:{value:Error,enumerable:!1,writable:!0,configurable:!0}}),Reflect.setPrototypeOf(o,Error);class r extends Error{constructor(e,t){super(e),this.value=t}}t.KeySignatureUploadError=r},33564:(e,t)=>{"use strict";function n(e){this.filter_json=e,this.types=e.types||null,this.not_types=e.not_types||[],this.rooms=e.rooms||null,this.not_rooms=e.not_rooms||[],this.senders=e.senders||null,this.not_senders=e.not_senders||[],this.contains_url=e.contains_url||null}Object.defineProperty(t,"__esModule",{value:!0}),t.FilterComponent=n,n.prototype.check=function(e){return this._checkFields(e.getRoomId(),e.getSender(),e.getType(),!!e.getContent()&&void 0!==e.getContent().url)},n.prototype._checkFields=function(e,t,n,o){const r={rooms:function(t){return e===t},senders:function(e){return t===e},types:function(e){return function(e,t){if(t.endsWith("*")){const n=t.slice(0,-1);return e.substr(0,n.length)===n}return e===t}(n,e)}},i=this;for(let e=0;e0)return!1;const o=i[t];if(o&&o.length>0&&!o.some(n))return!1}const a=this.filter_json.contains_url;return void 0===a||a===o},n.prototype.filter=function(e){return e.filter(this.check,this)},n.prototype.limit=function(){return void 0!==this.filter_json.limit?this.filter_json.limit:10}},27906:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Filter=i;var o=n(33564);function r(e,t,n){const o=t.split(".");let r=e;for(let e=0;e{"use strict";var o=n(20862),r=n(95318);Object.defineProperty(t,"__esModule",{value:!0}),t.MatrixHttpApi=h,t.retryNetworkOperation=async function(e,t){let n=0,o=null;for(;n0){const e=1e3*Math.pow(2,n);u.logger.log(`network operation failed ${n} times, retrying in ${e}ms...`),await new Promise((t=>setTimeout(t,e)))}return await t()}catch(e){if(!(e instanceof g))throw e;n+=1,o=e}throw o},t.AbortError=t.ConnectionError=t.MatrixError=t.PREFIX_MEDIA_R0=t.PREFIX_IDENTITY_V2=t.PREFIX_IDENTITY_V1=t.PREFIX_UNSTABLE=t.PREFIX_R0=void 0;var i=r(n(59713)),a=n(37811),s=o(n(3102)),u=n(7434),c=o(n(82731));function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function d(e){for(var t=1;t0&&(_+="?"+F.join("&")),u.open("POST",_),this.useAuthorizationHeader&&u.setRequestHeader("Authorization","Bearer "+this.opts.accessToken),u.setRequestHeader("Content-Type",r),u.send(a),f=e.promise,f.abort=u.abort.bind(u)}else{const e={};o&&i&&(e.filename=i),f=this.authedRequest(t.callback,"POST","/upload",e,a,{prefix:"/_matrix/media/r0",headers:{"Content-Type":r},json:!1,bodyParser:g})}const _=this,F=f.finally((function(){for(let e=0;e<_.uploads.length;++e)if(_.uploads[e]===h)return void _.uploads.splice(e,1)}));return F.abort=f.abort,h.promise=F,this.uploads.push(h),F},cancelUpload:function(e){return!!e.abort&&(e.abort(),!0)},getCurrentUploads:function(){return this.uploads},idServerRequest:function(e,t,n,o,r,i){if(!this.opts.idBaseUrl)throw new Error("No Identity Server base URL set");const a=this.opts.idBaseUrl+r+n;if(void 0!==e&&!s.isFunction(e))throw Error("Expected callback to be a function but got "+typeof e);const u={uri:a,method:t,withCredentials:!1,json:!0,_matrix_opts:this.opts,headers:{}};"GET"===t?u.qs=o:"object"==typeof o&&(u.json=o),i&&(u.headers.Authorization=`Bearer ${i}`);const c=s.defer();return this.opts.request(u,p(c,e,this.opts.onlyData)),c.promise},authedRequest:function(e,t,n,o,r,i){o||(o={}),this.useAuthorizationHeader?(isFinite(i)&&(i={localTimeoutMs:i}),i||(i={}),i.headers||(i.headers={}),i.headers.Authorization||(i.headers.Authorization="Bearer "+this.opts.accessToken),o.access_token&&delete o.access_token):o.access_token||(o.access_token=this.opts.accessToken);const a=this.request(e,t,n,o,r,i),s=this;return a.catch((function(e){"M_UNKNOWN_TOKEN"==e.errcode?s.event_emitter.emit("Session.logged_out",e):"M_CONSENT_NOT_GIVEN"==e.errcode&&s.event_emitter.emit("no_consent",e.message,e.data.consent_uri)})),a},request:function(e,t,n,o,r,i){const a=void 0!==(i=i||{}).prefix?i.prefix:this.opts.prefix,s=this.opts.baseUrl+a+n;return this.requestOtherUrl(e,t,s,o,r,i)},requestOtherUrl:function(e,t,n,o,r,i){return null==i?i={}:isFinite(i)&&(i={localTimeoutMs:i}),this._request(e,t,n,o,r,i)},getUrl:function(e,t,n){let o="";return t&&(o="?"+s.encodeParams(t)),this.opts.baseUrl+n+e+o},_request:function(e,t,n,o,r,i){if(void 0!==e&&!s.isFunction(e))throw Error("Expected callback to be a function but got "+typeof e);i=i||{};const a=this;this.opts.extraParams&&(o=d(d({},o),this.opts.extraParams));const u=s.extend({},i.headers||{}),l=void 0===i.json||i.json;let h=i.bodyParser;l&&(r&&(r=JSON.stringify(r),u["content-type"]="application/json"),u.accept||(u.accept="application/json"),void 0===h&&(h=function(e){return JSON.parse(e)}));const g=s.defer();let m,_,F=!1;const y=i.localTimeoutMs||this.opts.localTimeoutMs,b=()=>{y&&(m&&c.clearTimeout(m),m=c.setTimeout((function(){F=!0,_&&_.abort&&_.abort(),g.reject(new f({error:"Locally timed out waiting for a response",errcode:"ORG.MATRIX.JSSDK_TIMEOUT",timeout:y}))}),y))};b();const v=g.promise;try{_=this.opts.request({uri:n,method:t,withCredentials:!1,qs:o,qsStringifyOptions:i.qsStringifyOptions,useQuerystring:!0,body:r,json:!1,timeout:y,headers:u||{},_matrix_opts:this.opts},(function(t,n,o){y&&(c.clearTimeout(m),F)||p(g,e,a.opts.onlyData,h)(t,n,o)})),_&&("onprogress"in _&&(_.onprogress=e=>{b()}),_.abort&&(v.abort=_.abort.bind(_)))}catch(t){g.reject(t),e&&e(t)}return v}};const p=function(e,t,n,o){return t=t||function(){},function(r,i,s){if(r&&("AbortError"===r.name||"aborted"===r||r instanceof f||(r=new g("request failed",r))),!r)try{(i.status||i.statusCode)>=400?r=function(e,t){const n=e.status||e.statusCode,o=function(e){let t;if(e.getResponseHeader?t=e.getResponseHeader("Content-Type"):e.headers&&(t=e.headers["content-type"]||null),!t)return null;try{return(0,a.parse)(t)}catch(e){throw new Error(`Error parsing Content-Type '${t}': ${e}`)}}(e);let r;if(o)if("application/json"===o.type){const e="object"==typeof t?t:JSON.parse(t);r=new f(e)}else"text/plain"===o.type&&(r=new Error(`Server returned ${n} error: ${t}`));return r||(r=new Error(`Server returned ${n} error`)),r.httpStatus=n,r}(i,s):o&&(s=o(s))}catch(e){r=new Error(`Error parsing server response: ${e}`)}if(r)e.reject(r),t(r);else{const o={code:i.status||i.statusCode,headers:i.headers,data:s};e.resolve(n?s:o),t(null,n?s:o)}}};class f extends Error{constructor(e){super(`MatrixError: ${(e=e||{}).errcode}`),this.errcode=e.errcode,this.name=e.errcode||"Unknown error code",this.message=e.error||"Unknown message",this.data=e}}t.MatrixError=f;class g extends Error{constructor(e,t){super(e+(t?`: ${t.message}`:"")),this._cause=t}get name(){return"ConnectionError"}get cause(){return this._cause}}t.ConnectionError=g;class m extends Error{constructor(){super("Operation aborted")}get name(){return"AbortError"}}t.AbortError=m},33415:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.exists=function(e,t){return new Promise(((n,o)=>{let r=!0;const i=e.open(t);i.onupgradeneeded=()=>{r=!1},i.onblocked=()=>o(),i.onsuccess=()=>{i.result.close(),r||e.deleteDatabase(t),n(r)},i.onerror=e=>o(e.target.error)}))}},28670:(e,t,n)=>{"use strict";var o=n(20862),r=n(95318);Object.defineProperty(t,"__esModule",{value:!0}),t.InteractiveAuth=l;var i=r(n(8575)),a=o(n(3102)),s=n(7434);const u="m.login.email.identity",c="m.login.msisdn";function l(e){this._matrixClient=e.matrixClient,this._data=e.authData||{},this._requestCallback=e.doRequest,this._busyChangedCallback=e.busyChanged,this._stateUpdatedCallback=e.stateUpdated||e.startAuthStage,this._resolveFunc=null,this._rejectFunc=null,this._inputs=e.inputs||{},this._requestEmailTokenCallback=e.requestEmailToken,e.sessionId&&(this._data.session=e.sessionId),this._clientSecret=e.clientSecret||this._matrixClient.generateClientSecret(),this._emailSid=e.emailSid,void 0===this._emailSid&&(this._emailSid=null),this._requestingEmailToken=!1,this._chosenFlow=null,this._currentStage=null,this._submitPromise=null}l.prototype={attemptAuth:function(){return new Promise(((e,t)=>{if(this._resolveFunc=e,this._rejectFunc=t,this._data&&this._data.flows)this._startNextAuthStage();else{this._busyChangedCallback&&this._busyChangedCallback(!0);let e=null;this._data.session&&(e={session:this._data.session}),this._doRequest(e).finally((()=>{this._busyChangedCallback&&this._busyChangedCallback(!1)}))}}))},poll:async function(){if(!this._data.session)return;if(!this._resolveFunc)return;if(this._submitPromise)return;let e={};if(this._currentStage==u&&this._emailSid){const t={sid:this._emailSid,client_secret:this._clientSecret};if(await this._matrixClient.doesServerRequireIdServerParam()){const e=i.default.parse(this._matrixClient.getIdentityServerUrl());t.id_server=e.host}e={type:u,threepid_creds:t,threepidCreds:t}}this.submitAuthDict(e,!0)},getSessionId:function(){return this._data?this._data.session:void 0},getClientSecret:function(){return this._clientSecret},getStageParams:function(e){let t={};return this._data&&this._data.params&&(t=this._data.params),t[e]},getChosenFlow(){return this._chosenFlow},submitAuthDict:async function(e,t){if(!this._resolveFunc)throw new Error("submitAuthDict() called before attemptAuth()");for(!t&&this._busyChangedCallback&&this._busyChangedCallback(!0);this._submitPromise;)try{await this._submitPromise}catch(e){}let n;this._data.session?(n={session:this._data.session},a.extend(n,e)):n=e;try{this._submitPromise=this._doRequest(n,t),await this._submitPromise}finally{this._submitPromise=null,!t&&this._busyChangedCallback&&this._busyChangedCallback(!1)}},getEmailSid:function(){return this._emailSid},setEmailSid:function(e){this._emailSid=e},_doRequest:async function(e,t){try{const n=await this._requestCallback(e,t);this._resolveFunc(n),this._resolveFunc=null,this._rejectFunc=null}catch(e){const n=e.data?e.data.flows:null,o=this._data.flows||Boolean(n);401===e.httpStatus&&e.data&&o||(t?s.logger.log("Background poll request failed doing UI auth: ignoring",e):this._rejectFunc(e)),e.data.flows||e.data.completed||e.data.session||(e.data.flows=this._data.flows,e.data.completed=this._data.completed,e.data.session=this._data.session),this._data=e.data;try{this._startNextAuthStage()}catch(e){this._rejectFunc(e),this._resolveFunc=null,this._rejectFunc=null}if(!this._emailSid&&!this._requestingEmailToken&&this._chosenFlow.stages.includes("m.login.email.identity")){this._requestingEmailToken=!0;try{const e=await this._requestEmailTokenCallback(this._inputs.emailAddress,this._clientSecret,1,this._data.session);this._emailSid=e.sid}catch(e){this._rejectFunc(e),this._resolveFunc=null,this._rejectFunc=null}finally{this._requestingEmailToken=!1}}}},_startNextAuthStage:function(){const e=this._chooseStage();if(!e)throw new Error("No incomplete flows from the server");if(this._currentStage=e,"m.login.dummy"===e)return void this.submitAuthDict({type:"m.login.dummy"});if(this._data&&this._data.errcode||this._data.error)return void this._stateUpdatedCallback(e,{errcode:this._data.errcode||"",error:this._data.error||""});const t={};e==u&&(t.emailSid=this._emailSid),this._stateUpdatedCallback(e,t)},_chooseStage:function(){null===this._chosenFlow&&(this._chosenFlow=this._chooseFlow()),s.logger.log("Active flow => %s",JSON.stringify(this._chosenFlow));const e=this._firstUncompletedStage(this._chosenFlow);return s.logger.log("Next stage: %s",e),e},_chooseFlow:function(){const e=this._data.flows||[],t=Boolean(this._inputs.emailAddress)||Boolean(this._emailSid),n=Boolean(this._inputs.phoneCountry)&&Boolean(this._inputs.phoneNumber);for(const o of e){let e=!1,r=!1;for(const t of o.stages)t===u?e=!0:t==c&&(r=!0);if(e==t&&r==n)return o}const o=new Error("No appropriate authentication flow found");throw o.name="NoAuthFlowFoundError",o.required_stages=[],t&&o.required_stages.push(u),n&&o.required_stages.push(c),o.available_flows=e,o},_firstUncompletedStage:function(e){const t=(this._data||{}).completed||[];for(let n=0;n{"use strict";var o=n(95318);Object.defineProperty(t,"__esModule",{value:!0}),t.logger=void 0;var r=o(n(2043));r.default.methodFactory=function(e,t,n){return function(...t){return this.prefix&&t.unshift(this.prefix),"error"===e||"warn"===e||"trace"===e||"info"===e?console[e](...t):console.log(...t)}};const i=r.default.getLogger("matrix");t.logger=i,i.setLevel(r.default.levels.DEBUG),function e(t){t.withPrefix=function(t){return function(t){const n=r.default.getLogger(`matrix-${t}`);return n.prefix!==t&&(e(n),n.prefix=t,n.setLevel(r.default.levels.DEBUG)),n}((this.prefix||"")+t)}}(i)},48070:(e,t,n)=>{"use strict";var o=n(20862);Object.defineProperty(t,"__esModule",{value:!0});var r={request:!0,getRequest:!0,wrapRequest:!0,setCryptoStoreFactory:!0,createClient:!0,ContentHelpers:!0,createNewMatrixCall:!0,setMatrixCallAudioInput:!0,setMatrixCallVideoInput:!0};t.request=function(e){R=e},t.getRequest=function(){return R},t.wrapRequest=function(e){const t=R;R=function(n,o){return e(t,n,o)}},t.setCryptoStoreFactory=function(e){I=e},t.createClient=function(e){return"string"==typeof e&&(e={baseUrl:e}),e.request=e.request||R,e.store=e.store||new a.MemoryStore({localStorage:n.g.localStorage}),e.scheduler=e.scheduler||new s.MatrixScheduler,e.cryptoStore=e.cryptoStore||I(),new u.MatrixClient(e)},Object.defineProperty(t,"createNewMatrixCall",{enumerable:!0,get:function(){return T.createNewMatrixCall}}),Object.defineProperty(t,"setMatrixCallAudioInput",{enumerable:!0,get:function(){return T.setAudioInput}}),Object.defineProperty(t,"setMatrixCallVideoInput",{enumerable:!0,get:function(){return T.setVideoInput}}),t.ContentHelpers=void 0;var i=n(11045);Object.keys(i).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===i[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return i[e]}}))}));var a=n(11703);Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===a[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return a[e]}}))}));var s=n(39443);Object.keys(s).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===s[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return s[e]}}))}));var u=n(62168);Object.keys(u).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===u[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return u[e]}}))}));var c=n(17715);Object.keys(c).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===c[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return c[e]}}))}));var l=n(79118);Object.keys(l).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===l[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return l[e]}}))}));var d=n(22741);Object.keys(d).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===d[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return d[e]}}))}));var h=n(19489);Object.keys(h).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===h[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return h[e]}}))}));var p=n(24369);Object.keys(p).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===p[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return p[e]}}))}));var f=n(27366);Object.keys(f).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===f[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return f[e]}}))}));var g=n(70142);Object.keys(g).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===g[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return g[e]}}))}));var m=n(88910);Object.keys(m).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===m[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return m[e]}}))}));var _=n(33705);Object.keys(_).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===_[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return _[e]}}))}));var F=n(32848);Object.keys(F).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===F[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return F[e]}}))}));var y=n(26860);Object.keys(y).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===y[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return y[e]}}))}));var b=n(83998);Object.keys(b).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===b[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return b[e]}}))}));var v=n(27906);Object.keys(v).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===v[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return v[e]}}))}));var w=n(34969);Object.keys(w).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===w[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return w[e]}}))}));var E=n(28670);Object.keys(E).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===E[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return E[e]}}))}));var k=n(91415);Object.keys(k).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===k[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return k[e]}}))}));var D=n(99789);Object.keys(D).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===D[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return D[e]}}))}));var S=n(55837);Object.keys(S).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===S[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return S[e]}}))}));var x=n(57585);Object.keys(x).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===x[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return x[e]}}))}));var C=n(73667);Object.keys(C).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===C[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return C[e]}}))}));var A=o(n(44656));t.ContentHelpers=A;var T=n(59679);let R,I=()=>new i.MemoryCryptoStore},43558:(e,t)=>{"use strict";function n(e){this._timeline=[e],this._ourEventIndex=0,this._paginateTokens={b:null,f:null},this._paginateRequests={b:null,f:null}}Object.defineProperty(t,"__esModule",{value:!0}),t.EventContext=n,n.prototype.getEvent=function(){return this._timeline[this._ourEventIndex]},n.prototype.getTimeline=function(){return this._timeline},n.prototype.getOurEventIndex=function(){return this._ourEventIndex},n.prototype.getPaginateToken=function(e){return this._paginateTokens[e?"b":"f"]},n.prototype.setPaginateToken=function(e,t){this._paginateTokens[t?"b":"f"]=e},n.prototype.addEvents=function(e,t){t?(this._timeline=e.concat(this._timeline),this._ourEventIndex+=e.length):this._timeline=this._timeline.concat(e)}},33705:(e,t,n)=>{"use strict";var o=n(20862);Object.defineProperty(t,"__esModule",{value:!0}),t.EventTimelineSet=d;var r=n(17187),i=n(88910),a=n(24369),s=o(n(3102)),u=n(7434),c=n(49690);let l;function d(e,t){this.room=e,this._timelineSupport=Boolean(t.timelineSupport),this._liveTimeline=new i.EventTimeline(this),this._unstableClientRelationAggregation=!!t.unstableClientRelationAggregation,this._timelines=[this._liveTimeline],this._eventIdToTimeline={},this._filter=t.filter||null,this._unstableClientRelationAggregation&&(this._relations={})}l=u.logger.log.bind(u.logger),s.inherits(d,r.EventEmitter),d.prototype.getTimelines=function(){return this._timelines},d.prototype.getFilter=function(){return this._filter},d.prototype.setFilter=function(e){this._filter=e},d.prototype.getPendingEvents=function(){return this.room?this._filter?this._filter.filterRoomTimeline(this.room.getPendingEvents()):this.room.getPendingEvents():[]},d.prototype.getLiveTimeline=function(){return this._liveTimeline},d.prototype.eventIdToTimeline=function(e){return this._eventIdToTimeline[e]},d.prototype.replaceEventId=function(e,t){const n=this._eventIdToTimeline[e];n&&(delete this._eventIdToTimeline[e],this._eventIdToTimeline[t]=n)},d.prototype.resetLiveTimeline=function(e,t){const n=!this._timelineSupport||!t,o=this._liveTimeline,r=n?o.forkLive(i.EventTimeline.FORWARDS):o.fork(i.EventTimeline.FORWARDS);n?(this._timelines=[r],this._eventIdToTimeline={}):this._timelines.push(r),t&&o.setPaginationToken(t,i.EventTimeline.FORWARDS),r.setPaginationToken(e,i.EventTimeline.BACKWARDS),this._liveTimeline=r,this.emit("Room.timelineReset",this.room,this,n)},d.prototype.getTimelineForEvent=function(e){const t=this._eventIdToTimeline[e];return void 0===t?null:t},d.prototype.findEventById=function(e){const t=this.getTimelineForEvent(e);if(t)return t.getEvents().find((function(t){return t.getId()==e}))},d.prototype.addTimeline=function(){if(!this._timelineSupport)throw new Error("timeline support is disabled. Set the 'timelineSupport' parameter to true when creating MatrixClient to enable it.");const e=new i.EventTimeline(this);return this._timelines.push(e),e},d.prototype.addEventsToTimeline=function(e,t,n,o){if(!n)throw new Error("'timeline' not specified for EventTimelineSet.addEventsToTimeline");if(!t&&n==this._liveTimeline)throw new Error("EventTimelineSet.addEventsToTimeline cannot be used for adding events to the live timeline - use Room.addLiveEvents instead");if(this._filter&&!(e=this._filter.filterRoomTimeline(e)).length)return;const r=t?i.EventTimeline.BACKWARDS:i.EventTimeline.FORWARDS,a=t?i.EventTimeline.FORWARDS:i.EventTimeline.BACKWARDS;let s=!1,c=!1;for(let o=0;o{this.aggregateRelations(e)}));const t=e.getRelation();if(!t)return;const n=t.event_id,o=t.rel_type,r=e.getType();let i=this._relations[n];i||(i=this._relations[n]={});let s=i[o];s||(s=i[o]={});let u,l=s[r];l||(l=s[r]=new c.Relations(o,r,this.room),u=this.findEventById(n)||this.room.getPendingEvent(n),u&&l.setTargetEvent(u)),l.addEvent(e)}},88910:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EventTimeline=r;var o=n(26860);function r(e){this._eventTimelineSet=e,this._roomId=e.room?e.room.roomId:null,this._events=[],this._baseIndex=0,this._startState=new o.RoomState(this._roomId),this._startState.paginationToken=null,this._endState=new o.RoomState(this._roomId),this._endState.paginationToken=null,this._prevTimeline=null,this._nextTimeline=null,this._paginationRequests={b:null,f:null},this._name=this._roomId+":"+(new Date).toISOString()}r.BACKWARDS="b",r.FORWARDS="f",r.prototype.initialiseState=function(e){if(this._events.length>0)throw new Error("Cannot initialise state after events are added");for(const t of e)Object.freeze(t);this._startState.setStateEvents(e),this._endState.setStateEvents(e)},r.prototype.forkLive=function(e){const t=this.getState(e),n=new r(this._eventTimelineSet);return n._startState=t.clone(),n._endState=t,this._endState=t.clone(),n},r.prototype.fork=function(e){const t=this.getState(e),n=new r(this._eventTimelineSet);return n._startState=t.clone(),n._endState=t.clone(),n},r.prototype.getRoomId=function(){return this._roomId},r.prototype.getFilter=function(){return this._eventTimelineSet.getFilter()},r.prototype.getTimelineSet=function(){return this._eventTimelineSet},r.prototype.getBaseIndex=function(){return this._baseIndex},r.prototype.getEvents=function(){return this._events},r.prototype.getState=function(e){if(e==r.BACKWARDS)return this._startState;if(e==r.FORWARDS)return this._endState;throw new Error("Invalid direction '"+e+"'")},r.prototype.getPaginationToken=function(e){return this.getState(e).paginationToken},r.prototype.setPaginationToken=function(e,t){this.getState(t).paginationToken=e},r.prototype.getNeighbouringTimeline=function(e){if(e==r.BACKWARDS)return this._prevTimeline;if(e==r.FORWARDS)return this._nextTimeline;throw new Error("Invalid direction '"+e+"'")},r.prototype.setNeighbouringTimeline=function(e,t){if(this.getNeighbouringTimeline(t))throw new Error("timeline already has a neighbouring timeline - cannot reset neighbour (direction: "+t+")");if(t==r.BACKWARDS)this._prevTimeline=e;else{if(t!=r.FORWARDS)throw new Error("Invalid direction '"+t+"'");this._nextTimeline=e}this.setPaginationToken(null,t)},r.prototype.addEvent=function(e,t){const n=t?this._startState:this._endState,o=this.getTimelineSet();let i;o.room&&o.room.getUnfilteredTimelineSet()===o&&(r.setEventMetadata(e,n,t),e.isState()&&(n.setStateEvents([e]),e.sender&&("m.room.member"!==e.getType()||t)||r.setEventMetadata(e,n,t))),i=t?0:this._events.length,this._events.splice(i,0,e),t&&this._baseIndex++},r.setEventMetadata=function(e,t,n){e.sender=t.getSentinelMember(e.getSender()),"m.room.member"===e.getType()&&(e.target=t.getSentinelMember(e.getStateKey())),e.isState()&&n&&(e.forwardLooking=!1)},r.prototype.removeEvent=function(e){for(let t=this._events.length-1;t>=0;t--){const n=this._events[t];if(n.getId()==e)return this._events.splice(t,1),t{"use strict";var o=n(20862);Object.defineProperty(t,"__esModule",{value:!0}),t.MatrixEvent=t.EventStatus=void 0;var r=n(17187),i=o(n(3102)),a=n(7434);t.EventStatus={NOT_SENT:"not_sent",ENCRYPTING:"encrypting",SENDING:"sending",QUEUED:"queued",SENT:"sent",CANCELLED:"cancelled"};const s={};function u(e){return s[e]||(s[e]=e),s[e]}const c=function(e){["state_key","type","sender","room_id","membership"].forEach((t=>{e[t]&&(e[t]=u(e[t]))})),["membership","avatar_url","displayname"].forEach((t=>{e.content&&e.content[t]&&(e.content[t]=u(e.content[t]))})),["rel_type"].forEach((t=>{e.content&&e.content["m.relates_to"]&&e.content["m.relates_to"][t]&&(e.content["m.relates_to"][t]=u(e.content["m.relates_to"][t]))})),this.event=e||{},this.sender=null,this.target=null,this.status=null,this.error=null,this.forwardLooking=!0,this._pushActions=null,this._replacingEvent=null,this._localRedactionEvent=null,this._isCancelled=!1,this._clearEvent={},this._senderCurve25519Key=null,this._claimedEd25519Key=null,this._forwardingCurve25519KeyChain=[],this._untrusted=null,this._decryptionPromise=null,this._retryDecryption=!1,this.verificationRequest=null,this._txnId=e.txn_id||null,this._localTimestamp=Date.now()-this.getAge()};t.MatrixEvent=c,i.inherits(c,r.EventEmitter),i.extend(c.prototype,{getId:function(){return this.event.event_id},getSender:function(){return this.event.sender||this.event.user_id},getType:function(){return this._clearEvent.type||this.event.type},getWireType:function(){return this.event.type},getRoomId:function(){return this.event.room_id},getTs:function(){return this.event.origin_server_ts},getDate:function(){return this.event.origin_server_ts?new Date(this.event.origin_server_ts):null},getOriginalContent:function(){return this._localRedactionEvent?{}:this._clearEvent.content||this.event.content||{}},getContent:function(){return this._localRedactionEvent?{}:this._replacingEvent?this._replacingEvent.getContent()["m.new_content"]||{}:this.getOriginalContent()},getWireContent:function(){return this.event.content||{}},getPrevContent:function(){return this.getUnsigned().prev_content||this.event.prev_content||{}},getDirectionalContent:function(){return this.forwardLooking?this.getContent():this.getPrevContent()},getAge:function(){return this.getUnsigned().age||this.event.age},getLocalAge:function(){return Date.now()-this._localTimestamp},getStateKey:function(){return this.event.state_key},isState:function(){return void 0!==this.event.state_key},makeEncrypted:function(e,t,n,o){this._clearEvent={type:this.event.type,content:this.event.content},this.event.type=e,this.event.content=t,this._senderCurve25519Key=n,this._claimedEd25519Key=o},isBeingDecrypted:function(){return null!=this._decryptionPromise},isDecryptionFailure:function(){return this._clearEvent&&this._clearEvent.content&&"m.bad.encrypted"===this._clearEvent.content.msgtype},shouldAttemptDecryption:function(){return this.isEncrypted()&&!this.isBeingDecrypted()&&null===this.getClearContent()},attemptDecryption:async function(e,t={}){if("boolean"==typeof t&&(t={isRetry:t}),!this.isEncrypted())throw new Error("Attempt to decrypt event which isn't encrypted");if(this._clearEvent&&this._clearEvent.content&&"m.bad.encrypted"!==this._clearEvent.content.msgtype)throw new Error("Attempt to decrypt event which has already been decrypted");return this._decryptionPromise?(a.logger.log(`Event ${this.getId()} already being decrypted; queueing a retry`),this._retryDecryption=!0,this._decryptionPromise):(this._decryptionPromise=this._decryptionLoop(e,t),this._decryptionPromise)},cancelAndResendKeyRequest:function(e,t){const n=this.getWireContent();return e.requestRoomKey({algorithm:n.algorithm,room_id:this.getRoomId(),session_id:n.session_id,sender_key:n.sender_key},this.getKeyRequestRecipients(t),!0)},getKeyRequestRecipients:function(e){const t=this.getWireContent(),n=[{userId:e,deviceId:"*"}],o=this.getSender();return o!==e&&n.push({userId:o,deviceId:t.device_id}),n},_decryptionLoop:async function(e,t={}){for(await Promise.resolve();;){let n,o;this._retryDecryption=!1;try{e?(n=await e.decryptEvent(this),!0===t.isRetry&&a.logger.info(`Decrypted event on retry (id=${this.getId()})`)):n=this._badEncryptedMessage("Encryption not enabled")}catch(e){if("DecryptionError"!==e.name){const n=t.isRetry?"re":"";return a.logger.error(`Error ${n}decrypting event (id=${this.getId()}): ${e.stack||e}`),this._decryptionPromise=null,void(this._retryDecryption=!1)}if(o=e,this._retryDecryption){a.logger.log(`Got error decrypting event (id=${this.getId()}: ${e}), but retrying`);continue}a.logger.warn(`Error decrypting event (id=${this.getId()}): ${e.detailedString}`),n=this._badEncryptedMessage(e.message)}return this._decryptionPromise=null,this._retryDecryption=!1,this._setClearData(n),this.setPushActions(null),void(!1!==t.emit&&this.emit("Event.decrypted",this,o))}},_badEncryptedMessage:function(e){return{clearEvent:{type:"m.room.message",content:{msgtype:"m.bad.encrypted",body:"** Unable to decrypt: "+e+" **"}}}},_setClearData:function(e){this._clearEvent=e.clearEvent,this._senderCurve25519Key=e.senderCurve25519Key||null,this._claimedEd25519Key=e.claimedEd25519Key||null,this._forwardingCurve25519KeyChain=e.forwardingCurve25519KeyChain||[],this._untrusted=e.untrusted||!1},getClearContent:function(){const e=this._clearEvent;return e&&e.content?e.content:null},isEncrypted:function(){return!this.isState()&&"m.room.encrypted"===this.event.type},getSenderKey:function(){return this._senderCurve25519Key},getKeysClaimed:function(){return{ed25519:this._claimedEd25519Key}},getClaimedEd25519Key:function(){return this._claimedEd25519Key},getForwardingCurve25519KeyChain:function(){return this._forwardingCurve25519KeyChain},isKeySourceUntrusted:function(){return this._untrusted},getUnsigned:function(){return this.event.unsigned||{}},unmarkLocallyRedacted:function(){const e=this._localRedactionEvent;return this._localRedactionEvent=null,this.event.unsigned&&(this.event.unsigned.redacted_because=null),!!e},markLocallyRedacted:function(e){this._localRedactionEvent||(this.emit("Event.beforeRedaction",this,e),this._localRedactionEvent=e,this.event.unsigned||(this.event.unsigned={}),this.event.unsigned.redacted_because=e.event)},makeRedacted:function(e){if(!e.event)throw new Error("invalid redaction_event in makeRedacted");let t;for(t in this._localRedactionEvent=null,this.emit("Event.beforeRedaction",this,e),this._replacingEvent=null,this.event.unsigned||(this.event.unsigned={}),this.event.unsigned.redacted_because=e.event,this.event)this.event.hasOwnProperty(t)&&(l[t]||delete this.event[t]);const n=d[this.getType()]||{},o=this.getContent();for(t in o)o.hasOwnProperty(t)&&(n[t]||delete o[t])},isRedacted:function(){return Boolean(this.getUnsigned().redacted_because)},isRedaction:function(){return"m.room.redaction"===this.getType()},getRedactionEvent:function(){return this.isRedacted()?this._clearEvent.unsigned?this._clearEvent.unsigned.redacted_because:this.event.unsigned.redacted_because?this.event.unsigned.redacted_because:{}:null},getPushActions:function(){return this._pushActions},setPushActions:function(e){this._pushActions=e},handleRemoteEcho:function(e){const t=this.getUnsigned(),n=this.getId();this.event=e,t.redacted_because&&(this.event.unsigned||(this.event.unsigned={}),this.event.unsigned.redacted_because=t.redacted_because),this.setStatus(null),this.getId()!==n&&this.emit("Event.localEventIdReplaced",this)},isSending(){return!!this.status},setStatus(e){this.status=e,this.emit("Event.status",this,e)},replaceLocalEventId(e){this.event.event_id=e,this.emit("Event.localEventIdReplaced",this)},isRelation(e){const t=this.getWireContent(),n=t&&t["m.relates_to"];return n&&n.rel_type&&n.event_id&&(e&&n.rel_type===e||!e)},getRelation(){return this.isRelation()?this.getWireContent()["m.relates_to"]:null},makeReplaced(e){this.isRedacted()&&e||this._replacingEvent!==e&&(this._replacingEvent=e,this.emit("Event.replaced",this))},getAssociatedStatus(){return this._replacingEvent?this._replacingEvent.status:this._localRedactionEvent?this._localRedactionEvent.status:this.status},getServerAggregatedRelation(e){const t=this.getUnsigned()["m.relations"];if(t)return t[e]},replacingEventId(){const e=this.getServerAggregatedRelation("m.replace");return e?e.event_id:this._replacingEvent?this._replacingEvent.getId():void 0},replacingEvent(){return this._replacingEvent},replacingEventDate(){const e=this.getServerAggregatedRelation("m.replace");if(e){const t=e.origin_server_ts;if(Number.isFinite(t))return new Date(t)}else if(this._replacingEvent)return this._replacingEvent.getDate()},localRedactionEvent(){return this._localRedactionEvent},getAssociatedId(){const e=this.getRelation();return e?e.event_id:this.isRedaction()?this.event.redacts:void 0},hasAssocation(){return!!this.getAssociatedId()},updateAssociatedId(e){const t=this.getRelation();t?t.event_id=e:this.isRedaction()&&(this.event.redacts=e)},flagCancelled(e=!0){this._isCancelled=e},isCancelled(){return this._isCancelled},toJSON(){const e={type:this.getType(),sender:this.getSender(),content:this.getContent(),event_id:this.getId(),origin_server_ts:this.getTs(),unsigned:this.getUnsigned(),room_id:this.getRoomId()};return this.isRedaction()&&(e.redacts=this.event.redacts),this.isEncrypted()?{decrypted:e,encrypted:this.event}:e},setVerificationRequest:function(e){this.verificationRequest=e},setTxnId(e){this._txnId=e},getTxnId(){return this._txnId}});const l=["event_id","type","room_id","user_id","sender","state_key","prev_state","content","unsigned","origin_server_ts"].reduce((function(e,t){return e[t]=1,e}),{}),d={"m.room.member":{membership:1},"m.room.create":{creator:1},"m.room.join_rules":{join_rule:1},"m.room.power_levels":{ban:1,events:1,events_default:1,kick:1,redact:1,state_default:1,users:1,users_default:1},"m.room.aliases":{aliases:1}}},70142:(e,t,n)=>{"use strict";var o=n(20862);Object.defineProperty(t,"__esModule",{value:!0}),t.Group=a;var r=o(n(3102)),i=n(17187);function a(e){this.groupId=e,this.name=null,this.avatarUrl=null,this.myMembership=null,this.inviter=null}r.inherits(a,i.EventEmitter),a.prototype.setProfile=function(e,t){this.name===e&&this.avatarUrl===t||(this.name=e||this.groupId,this.avatarUrl=t,this.emit("Group.profile",this))},a.prototype.setMyMembership=function(e){this.myMembership!==e&&(this.myMembership=e,this.emit("Group.myMembership",this))},a.prototype.setInviter=function(e){this.inviter=e}},49690:(e,t,n)=>{"use strict";var o=n(95318);Object.defineProperty(t,"__esModule",{value:!0}),t.Relations=void 0;var r=o(n(59713)),i=n(17187),a=n(24369),s=n(7434);class u extends i.EventEmitter{constructor(e,t,n){super(),(0,r.default)(this,"_onEventStatus",((e,t)=>{e.isSending()?t===a.EventStatus.CANCELLED&&(e.removeListener("Event.status",this._onEventStatus),this._removeEvent(e)):e.removeListener("Event.status",this._onEventStatus)})),(0,r.default)(this,"_onBeforeRedaction",(async e=>{if(this._relations.has(e)){if(this._relations.delete(e),"m.annotation"===this.relationType)this._removeAnnotationFromAggregation(e);else if("m.replace"===this.relationType&&this._targetEvent){const e=await this.getLastReplacement();this._targetEvent.makeReplaced(e)}e.removeListener("Event.beforeRedaction",this._onBeforeRedaction),this.emit("Relations.redaction",e)}})),this.relationType=e,this.eventType=t,this._relationEventIds=new Set,this._relations=new Set,this._annotationsByKey={},this._annotationsBySender={},this._sortedAnnotationsByKey=[],this._targetEvent=null,this._room=n,this._creationEmitted=!1}async addEvent(e){if(this._relationEventIds.has(e.getId()))return;const t=e.getRelation();if(!t)return void s.logger.error("Event must have relation info");const n=t.rel_type,o=e.getType();if(this.relationType===n&&this.eventType===o){if(e.isSending()&&e.on("Event.status",this._onEventStatus),this._relations.add(e),this._relationEventIds.add(e.getId()),"m.annotation"===this.relationType)this._addAnnotationToAggregation(e);else if("m.replace"===this.relationType&&this._targetEvent){const e=await this.getLastReplacement();this._targetEvent.makeReplaced(e)}e.on("Event.beforeRedaction",this._onBeforeRedaction),this.emit("Relations.add",e),this._maybeEmitCreated()}else s.logger.error("Event relation info doesn't match this container")}async _removeEvent(e){if(!this._relations.has(e))return;const t=e.getRelation();if(!t)return void s.logger.error("Event must have relation info");const n=t.rel_type,o=e.getType();if(this.relationType===n&&this.eventType===o){if(this._relations.delete(e),"m.annotation"===this.relationType)this._removeAnnotationFromAggregation(e);else if("m.replace"===this.relationType&&this._targetEvent){const e=await this.getLastReplacement();this._targetEvent.makeReplaced(e)}this.emit("Relations.remove",e)}else s.logger.error("Event relation info doesn't match this container")}getRelations(){return[...this._relations]}_addAnnotationToAggregation(e){const{key:t}=e.getRelation();if(!t)return;let n=this._annotationsByKey[t];n||(n=this._annotationsByKey[t]=new Set,this._sortedAnnotationsByKey.push([t,n])),n.add(e),this._sortedAnnotationsByKey.sort(((e,t)=>{const n=e[1];return t[1].size-n.size}));const o=e.getSender();let r=this._annotationsBySender[o];r||(r=this._annotationsBySender[o]=new Set),r.add(e)}_removeAnnotationFromAggregation(e){const{key:t}=e.getRelation();if(!t)return;const n=this._annotationsByKey[t];n&&(n.delete(e),this._sortedAnnotationsByKey.sort(((e,t)=>{const n=e[1];return t[1].size-n.size})));const o=e.getSender(),r=this._annotationsBySender[o];r&&r.delete(e)}getSortedAnnotationsByKey(){return"m.annotation"!==this.relationType?null:this._sortedAnnotationsByKey}getAnnotationsBySender(){return"m.annotation"!==this.relationType?null:this._annotationsBySender}async getLastReplacement(){if("m.replace"!==this.relationType)return null;if(!this._targetEvent)return null;const e=this._targetEvent.getServerAggregatedRelation("m.replace"),t=e&&e.origin_server_ts,n=this.getRelations().reduce(((e,n)=>n.getSender()!==this._targetEvent.getSender()||t&&t>n.getTs()||e&&e.getTs()>n.getTs()?e:n),null);return null!=n&&n.shouldAttemptDecryption()?await n.attemptDecryption(this._room._client._crypto):null!=n&&n.isBeingDecrypted()&&await n._decryptionPromise,n}async setTargetEvent(e){if(!this._targetEvent){if(this._targetEvent=e,"m.replace"===this.relationType){const e=await this.getLastReplacement();e&&this._targetEvent.makeReplaced(e)}this._maybeEmitCreated()}}_maybeEmitCreated(){this._creationEmitted||this._targetEvent&&this._relations.size&&(this._creationEmitted=!0,this._targetEvent.emit("Event.relationsCreated",this.relationType,this.eventType))}}t.Relations=u},32848:(e,t,n)=>{"use strict";var o=n(20862);Object.defineProperty(t,"__esModule",{value:!0}),t.RoomMember=s;var r=n(17187),i=n(73667),a=o(n(3102));function s(e,t){this.roomId=e,this.userId=t,this.typing=!1,this.name=t,this.rawDisplayName=t,this.powerLevel=0,this.powerLevelNorm=0,this.user=null,this.membership=null,this.events={member:null},this._isOutOfBand=!1,this._updateModifiedTime()}a.inherits(s,r.EventEmitter),s.prototype.markOutOfBand=function(){this._isOutOfBand=!0},s.prototype.isOutOfBand=function(){return this._isOutOfBand},s.prototype.setMembershipEvent=function(e,t){if("m.room.member"!==e.getType())return;this._isOutOfBand=!1,this.events.member=e;const n=this.membership;this.membership=e.getDirectionalContent().membership;const o=this.name;this.name=function(e,t,n){if(!t||t===e)return e;if(!a.removeHiddenChars(t))return e;if(!n)return t;let o=u.test(t);return o||(o=c.test(t)),o||(o=n.getUserIdsWithDisplayName(t).some((t=>t!==e))),o?t+" ("+e+")":t}(this.userId,e.getDirectionalContent().displayname,t),this.rawDisplayName=e.getDirectionalContent().displayname||this.userId,n!==this.membership&&(this._updateModifiedTime(),this.emit("RoomMember.membership",e,this,n)),o!==this.name&&(this._updateModifiedTime(),this.emit("RoomMember.name",e,this,o))},s.prototype.setPowerLevelEvent=function(e){if("m.room.power_levels"!==e.getType())return;const t=e.getDirectionalContent();let n=t.users_default||0;const o=t.users||{};Object.values(o).forEach((function(e){n=Math.max(n,e)}));const r=this.powerLevel,i=this.powerLevelNorm;void 0!==o[this.userId]?this.powerLevel=o[this.userId]:void 0!==t.users_default?this.powerLevel=t.users_default:this.powerLevel=0,this.powerLevelNorm=0,n>0&&(this.powerLevelNorm=100*this.powerLevel/n),r===this.powerLevel&&i===this.powerLevelNorm||(this._updateModifiedTime(),this.emit("RoomMember.powerLevel",e,this))},s.prototype.setTypingEvent=function(e){if("m.typing"!==e.getType())return;const t=this.typing;this.typing=!1;const n=e.getContent().user_ids;Array.isArray(n)&&(-1!==n.indexOf(this.userId)&&(this.typing=!0),t!==this.typing&&(this._updateModifiedTime(),this.emit("RoomMember.typing",e,this)))},s.prototype._updateModifiedTime=function(){this._modified=Date.now()},s.prototype.getLastModifiedTime=function(){return this._modified},s.prototype.isKicked=function(){return"leave"===this.membership&&this.events.member.getSender()!==this.events.member.getStateKey()},s.prototype.getDMInviter=function(){if(this.events.member){const e=this.events.member;let t=e.getContent(),n=e.getSender();if("join"===t.membership&&(t=e.getPrevContent(),n=e.getUnsigned().prev_sender),"invite"===t.membership&&t.is_direct)return n}},s.prototype.getAvatarUrl=function(e,t,n,o,r,a){void 0===r&&(r=!0);const s=this.getMxcAvatarUrl();if(!s&&!r)return null;return(0,i.getHttpUriForMxc)(e,s,t,n,o,a)||null},s.prototype.getMxcAvatarUrl=function(){return this.events.member?this.events.member.getDirectionalContent().avatar_url:this.user?this.user.avatarUrl:null};const u=/@.+:.+/,c=/[\u200E\u200F\u202A-\u202F]/},26860:(e,t,n)=>{"use strict";var o=n(20862);Object.defineProperty(t,"__esModule",{value:!0}),t.RoomState=c;var r=n(17187),i=n(32848),a=n(7434),s=o(n(3102)),u=n(42481);function c(e,t){this.roomId=e,this.members={},this.events=new Map,this.paginationToken=null,this._sentinels={},this._updateModifiedTime(),this._displayNameToUserIds={},this._userIdsToDisplayNames={},this._tokenToInvite={},this._joinedMemberCount=null,this._summaryJoinedMemberCount=null,this._invitedMemberCount=null,this._summaryInvitedMemberCount=null,t||(t={status:1}),this._oobMemberFlags=t}function l(e,t,n){const o=e._userIdsToDisplayNames[t];if(delete e._userIdsToDisplayNames[t],o){const n=s.removeHiddenChars(o),r=e._displayNameToUserIds[n];if(r){const o=r.filter((e=>e!==t));e._displayNameToUserIds[n]=o}}e._userIdsToDisplayNames[t]=n;const r=n&&s.removeHiddenChars(n);r&&(e._displayNameToUserIds[r]||(e._displayNameToUserIds[r]=[]),e._displayNameToUserIds[r].push(t))}s.inherits(c,r.EventEmitter),c.prototype.getJoinedMemberCount=function(){return null!==this._summaryJoinedMemberCount?this._summaryJoinedMemberCount:(null===this._joinedMemberCount&&(this._joinedMemberCount=this.getMembers().reduce(((e,t)=>"join"===t.membership?e+1:e),0)),this._joinedMemberCount)},c.prototype.setJoinedMemberCount=function(e){this._summaryJoinedMemberCount=e},c.prototype.getInvitedMemberCount=function(){return null!==this._summaryInvitedMemberCount?this._summaryInvitedMemberCount:(null===this._invitedMemberCount&&(this._invitedMemberCount=this.getMembers().reduce(((e,t)=>"invite"===t.membership?e+1:e),0)),this._invitedMemberCount)},c.prototype.setInvitedMemberCount=function(e){this._summaryInvitedMemberCount=e},c.prototype.getMembers=function(){return Object.values(this.members)},c.prototype.getMembersExcept=function(e){return Object.values(this.members).filter((t=>!e.includes(t.userId)))},c.prototype.getMember=function(e){return this.members[e]||null},c.prototype.getSentinelMember=function(e){if(!e)return null;let t=this._sentinels[e];if(void 0===t){t=new i.RoomMember(this.roomId,e);const n=this.members[e];n&&t.setMembershipEvent(n.events.member,this),this._sentinels[e]=t}return t},c.prototype.getStateEvents=function(e,t){if(!this.events.has(e))return void 0===t?[]:null;if(void 0===t)return Array.from(this.events.get(e).values());return this.events.get(e).get(t)||null},c.prototype.clone=function(){const e=new c(this.roomId,this._oobMemberFlags),t=this._oobMemberFlags.status;return this._oobMemberFlags.status=1,Array.from(this.events.values()).forEach((t=>{e.setStateEvents(Array.from(t.values()))})),this._oobMemberFlags.status=t,null!==this._summaryInvitedMemberCount&&e.setInvitedMemberCount(this.getInvitedMemberCount()),null!==this._summaryJoinedMemberCount&&e.setJoinedMemberCount(this.getJoinedMemberCount()),3==this._oobMemberFlags.status&&this.getMembers().forEach((t=>{t.isOutOfBand()&&e.getMember(t.userId).markOutOfBand()})),e},c.prototype.setUnknownStateEvents=function(e){const t=e.filter((e=>!this.events.has(e.getType())||!this.events.get(e.getType()).has(e.getStateKey())));this.setStateEvents(t)},c.prototype.setStateEvents=function(e){const t=this;this._updateModifiedTime(),e.forEach((function(e){if(e.getRoomId()!==t.roomId)return;if(!e.isState())return;const n=t._getStateEventMatching(e);t._setStateEvent(e),"m.room.member"===e.getType()&&(l(t,e.getStateKey(),e.getContent().displayname),function(e,t){if(!t.getContent().third_party_invite)return;const n=(t.getContent().third_party_invite.signed||{}).token;n&&e.getStateEvents("m.room.third_party_invite",n)&&(e._tokenToInvite[n]=t)}(t,e)),t.emit("RoomState.events",e,t,n)})),e.forEach((function(e){if(e.getRoomId()===t.roomId&&e.isState())if("m.room.member"===e.getType()){const n=e.getStateKey();"leave"!==e.getContent().membership&&"ban"!==e.getContent().membership||(e.getContent().avatar_url=e.getContent().avatar_url||e.getPrevContent().avatar_url,e.getContent().displayname=e.getContent().displayname||e.getPrevContent().displayname);const o=t._getOrCreateMember(n,e);o.setMembershipEvent(e,t),t._updateMember(o),t.emit("RoomState.members",e,t,o)}else"m.room.power_levels"===e.getType()&&(Object.values(t.members).forEach((function(n){const o=n.getLastModifiedTime();n.setPowerLevelEvent(e),o!==n.getLastModifiedTime()&&t.emit("RoomState.members",e,t,n)})),t._sentinels={})}))},c.prototype._getOrCreateMember=function(e,t){let n=this.members[e];return n||(n=new i.RoomMember(this.roomId,e),this.members[e]=n,this.emit("RoomState.newMember",t,this,n)),n},c.prototype._setStateEvent=function(e){this.events.has(e.getType())||this.events.set(e.getType(),new Map),this.events.get(e.getType()).set(e.getStateKey(),e)},c.prototype._getStateEventMatching=function(e){return this.events.has(e.getType())?this.events.get(e.getType()).get(e.getStateKey()):null},c.prototype._updateMember=function(e){const t=this.getStateEvents("m.room.power_levels","");t&&e.setPowerLevelEvent(t),delete this._sentinels[e.userId],this.members[e.userId]=e,this._joinedMemberCount=null,this._invitedMemberCount=null},c.prototype.needsOutOfBandMembers=function(){return 1===this._oobMemberFlags.status},c.prototype.markOutOfBandMembersStarted=function(){1===this._oobMemberFlags.status&&(this._oobMemberFlags.status=2)},c.prototype.markOutOfBandMembersFailed=function(){2===this._oobMemberFlags.status&&(this._oobMemberFlags.status=1)},c.prototype.clearOutOfBandMembers=function(){let e=0;Object.keys(this.members).forEach((t=>{this.members[t].isOutOfBand()&&(++e,delete this.members[t])})),a.logger.log(`LL: RoomState removed ${e} members...`),this._oobMemberFlags.status=1},c.prototype.setOutOfBandMembers=function(e){a.logger.log(`LL: RoomState about to set ${e.length} OOB members ...`),2===this._oobMemberFlags.status&&(a.logger.log("LL: RoomState put in OOB_STATUS_FINISHED state ..."),this._oobMemberFlags.status=3,e.forEach((e=>this._setOutOfBandMember(e))))},c.prototype._setOutOfBandMember=function(e){if("m.room.member"!==e.getType())return;const t=e.getStateKey(),n=this.getMember(t);if(n&&!n.isOutOfBand())return;const o=this._getOrCreateMember(t,e);o.setMembershipEvent(e,this),o.markOutOfBand(),l(this,o.userId,o.name),this._setStateEvent(e),this._updateMember(o),this.emit("RoomState.members",e,this,o)},c.prototype.setTypingEvent=function(e){Object.values(this.members).forEach((function(t){t.setTypingEvent(e)}))},c.prototype.getInviteForThreePidToken=function(e){return this._tokenToInvite[e]||null},c.prototype._updateModifiedTime=function(){this._modified=Date.now()},c.prototype.getLastModifiedTime=function(){return this._modified},c.prototype.getUserIdsWithDisplayName=function(e){return this._displayNameToUserIds[s.removeHiddenChars(e)]||[]},c.prototype.maySendRedactionForEvent=function(e,t){const n=this.getMember(t);if(!n||"leave"===n.membership)return!1;if(e.status||e.isRedacted())return!1;const o=this.maySendEvent("m.room.redaction",t);return e.getSender()===t?o:this._hasSufficientPowerLevelFor("redact",n.powerLevel)},c.prototype._hasSufficientPowerLevelFor=function(e,t){const n=this.getStateEvents("m.room.power_levels","");let o={};n&&(o=n.getContent());let r=50;return s.isNumber(o[e])&&(r=o[e]),t>=r},c.prototype.maySendMessage=function(e){return this._maySendEventOfType("m.room.message",e,!1)},c.prototype.maySendEvent=function(e,t){return this._maySendEventOfType(e,t,!1)},c.prototype.mayClientSendStateEvent=function(e,t){return!t.isGuest()&&this.maySendStateEvent(e,t.credentials.userId)},c.prototype.maySendStateEvent=function(e,t){return this._maySendEventOfType(e,t,!0)},c.prototype._maySendEventOfType=function(e,t,n){const o=this.getStateEvents("m.room.power_levels","");let r,i={},a=0,s=0,u=0;if(o){r=o.getContent(),i=r.events||{},a=Number.isFinite(r.state_default)?r.state_default:50;const e=r.users&&r.users[t];Number.isFinite(e)?u=e:Number.isFinite(r.users_default)&&(u=r.users_default),Number.isFinite(r.events_default)&&(s=r.events_default)}let c=n?a:s;return Number.isFinite(i[e])&&(c=i[e]),u>=c},c.prototype.mayTriggerNotifOfType=function(e,t){const n=this.getMember(t);if(!n)return!1;const o=this.getStateEvents("m.room.power_levels","");let r=50;return o&&o.getContent()&&o.getContent().notifications&&s.isNumber(o.getContent().notifications[e])&&(r=o.getContent().notifications[e]),n.powerLevel>=r},c.prototype.getJoinRule=function(){const e=this.getStateEvents(u.EventType.RoomJoinRules,"");return(e?e.getContent():{}).join_rule||"invite"}},65205:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RoomSummary=function(e,t){this.roomId=e,this.info=t}},27366:(e,t,n)=>{"use strict";var o=n(20862),r=n(95318);Object.defineProperty(t,"__esModule",{value:!0}),t.Room=v;var i=r(n(59713)),a=n(17187),s=n(33705),u=n(88910),c=n(73667),l=o(n(3102)),d=n(24369),h=n(32848),p=n(65205),f=n(7434),g=n(20771),m=n(42481);function _(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function F(e){for(var t=1;t{const t=new d.MatrixEvent(e);"m.room.encrypted"===t.getType()&&await t.attemptDecryption(this._client._crypto),t.setStatus(d.EventStatus.NOT_SENT),this.addPendingEvent(t,t.getTxnId())}))}this._blacklistUnverifiedDevices=null,this._selfMembership=null,this._summaryHeroes=null,this._opts.lazyLoadMembers?this._membersPromise=null:this._membersPromise=Promise.resolve(),this.getTypeWarning=!1,this.getVersionWarning=!1}function w(e){return`mx_pending_events_${e}`}l.inherits(v,a.EventEmitter),v.prototype.decryptCriticalEvents=function(){const e=this.getEventReadUpTo(this._client.getUserId(),!0),t=this.getLiveTimeline().getEvents(),n=t.findIndex((t=>t.event.event_id===e)),o=t.slice(n).filter((e=>e.shouldAttemptDecryption())).reverse().map((e=>e.attemptDecryption(this._client._crypto,{isRetry:!0})));return Promise.allSettled(o)},v.prototype.decryptAllEvents=function(){const e=this.getUnfilteredTimelineSet().getLiveTimeline().getEvents().filter((e=>e.shouldAttemptDecryption())).reverse().map((e=>e.attemptDecryption(this._client._crypto,{isRetry:!0})));return Promise.allSettled(e)},v.prototype.getVersion=function(){const e=this.currentState.getStateEvents("m.room.create","");if(!e)return this.getVersionWarning||(f.logger.warn("[getVersion] Room "+this.roomId+" does not have an m.room.create event"),this.getVersionWarning=!0),"1";const t=e.getContent().room_version;return void 0===t?"1":t},v.prototype.shouldUpgradeToVersion=function(){return y.includes(this.getVersion())?null:"6"},v.prototype.getRecommendedVersion=async function(){let e=(await this._client.getCapabilities())["m.room_versions"];if(!e){e={default:"6",available:{}};for(const t of y)e.available[t]="stable"}let t=this._checkVersionAgainstCapability(e);if(t.urgent&&t.needsUpgrade){if(f.logger.warn("Refreshing room version capability because the server looks to be supporting a newer room version we don't know about."),e=(await this._client.getCapabilities(!0))["m.room_versions"],!e)return f.logger.warn("No room version capability - assuming upgrade required."),t;t=this._checkVersionAgainstCapability(e)}return t},v.prototype._checkVersionAgainstCapability=function(e){const t=this.getVersion();f.logger.log(`[${this.roomId}] Current version: ${t}`),f.logger.log(`[${this.roomId}] Version capability: `,e);const n={version:t,needsUpgrade:!1,urgent:!1};return t===e.default||Object.keys(e.available).filter((t=>"stable"===e.available[t])).includes(t)||(n.version=e.default,n.needsUpgrade=!0,n.urgent=!!this.getVersion().match(/^[0-9]+[0-9.]*$/g),n.urgent?f.logger.warn(`URGENT upgrade required on ${this.roomId}`):f.logger.warn(`Non-urgent upgrade required on ${this.roomId}`)),n},v.prototype.userMayUpgradeRoom=function(e){return this.currentState.maySendStateEvent("m.room.tombstone",e)},v.prototype.getPendingEvents=function(){if("detached"!==this._opts.pendingEventOrdering)throw new Error("Cannot call getPendingEvents with pendingEventOrdering == "+this._opts.pendingEventOrdering);return this._pendingEventList},v.prototype.removePendingEvent=function(e){if("detached"!==this._opts.pendingEventOrdering)throw new Error("Cannot call removePendingEvent with pendingEventOrdering == "+this._opts.pendingEventOrdering);const t=l.removeElement(this._pendingEventList,(function(t){return t.getId()==e}),!1);return this._savePendingEvents(),t},v.prototype.hasPendingEvent=function(e){return"detached"===this._opts.pendingEventOrdering&&this._pendingEventList.some((t=>t.getId()===e))},v.prototype.getPendingEvent=function(e){return"detached"!==this._opts.pendingEventOrdering?null:this._pendingEventList.find((t=>t.getId()===e))},v.prototype.getLiveTimeline=function(){return this.getUnfilteredTimelineSet().getLiveTimeline()},v.prototype.getLastActiveTimestamp=function(){const e=this.getLiveTimeline().getEvents();return e.length?e[e.length-1].getTs():Number.MIN_SAFE_INTEGER},v.prototype.getMyMembership=function(){return this._selfMembership},v.prototype.getDMInviter=function(){if(this.myUserId){const e=this.getMember(this.myUserId);if(e)return e.getDMInviter()}if("invite"===this._selfMembership&&2==this.getInvitedAndJoinedMemberCount()&&this._summaryHeroes.length)return this._summaryHeroes[0]},v.prototype.guessDMUserId=function(){const e=this.getMember(this.myUserId);if(e){const t=e.getDMInviter();if(t)return t}if(Array.isArray(this._summaryHeroes)&&this._summaryHeroes.length)return this._summaryHeroes[0];const t=this.currentState.getMembers().find((e=>e.userId!==this.myUserId));return t?t.userId:this.myUserId},v.prototype.getAvatarFallbackMember=function(){if(this.getInvitedAndJoinedMemberCount()>2)return;const e=Array.isArray(this._summaryHeroes)&&this._summaryHeroes.length;if(e){const e=this._summaryHeroes.map((e=>this.getMember(e))).find((e=>!!e));if(e)return e}const t=this.currentState.getMembers();if(t.length<=2){const e=t.find((e=>e.userId!==this.myUserId));if(e)return e}if(e){const e=this._summaryHeroes.map((e=>this._client.getUser(e))).find((e=>!!e));if(e){const t=new h.RoomMember(this.roomId,e.userId);return t.user=e,t}}},v.prototype.updateMyMembership=function(e){const t=this._selfMembership;this._selfMembership=e,t!==e&&("leave"===e&&this._cleanupAfterLeaving(),this.emit("Room.myMembership",this,e,t))},v.prototype._loadMembersFromServer=async function(){const e=this._client.store.getSyncToken(),t=l.encodeParams({not_membership:"leave",at:e}),n=l.encodeUri("/rooms/$roomId/members?"+t,{$roomId:this.roomId}),o=this._client._http;return(await o.authedRequest(void 0,"GET",n)).chunk},v.prototype._loadMembers=async function(){let e=!1,t=await this._client.store.getOutOfBandMembers(this.roomId);return null===t&&(e=!0,t=await this._loadMembersFromServer(),f.logger.log(`LL: got ${t.length} members from server for room ${this.roomId}`)),{memberEvents:t.map(this._client.getEventMapper()),fromServer:e}},v.prototype.loadMembersIfNeeded=function(){if(this._membersPromise)return this._membersPromise;this.currentState.markOutOfBandMembersStarted();const e=this._loadMembers().then((e=>(this.currentState.setOutOfBandMembers(e.memberEvents),this._client.isCryptoEnabled()&&this._client.isRoomEncrypted(this.roomId)&&this._client._crypto.trackRoomDevices(this.roomId),e.fromServer))).catch((e=>{throw this._membersPromise=null,this.currentState.markOutOfBandMembersFailed(),e}));return e.then((e=>{if(e){const e=this.currentState.getMembers().filter((e=>e.isOutOfBand())).map((e=>e.events.member.event));return f.logger.log(`LL: telling store to write ${e.length} members for room ${this.roomId}`),this._client.store.setOutOfBandMembers(this.roomId,e).catch((e=>{f.logger.log("LL: storing OOB room members failed, oh well",e)}))}})).catch((e=>{f.logger.error(e)})),this._membersPromise=e,this._membersPromise},v.prototype.clearLoadedMembersIfNeeded=async function(){this._opts.lazyLoadMembers&&this._membersPromise&&(await this.loadMembersIfNeeded(),await this._client.store.clearOutOfBandMembers(this.roomId),this.currentState.clearOutOfBandMembers(),this._membersPromise=null)},v.prototype._cleanupAfterLeaving=function(){this.clearLoadedMembersIfNeeded().catch((e=>{f.logger.error(`error after clearing loaded members from room ${this.roomId} after leaving`),f.logger.log(e)}))},v.prototype.resetLiveTimeline=function(e,t){for(let n=0;ne.isUnverified())))return!0;return!1},v.prototype.getTimelineSets=function(){return this._timelineSets},v.prototype.getUnfilteredTimelineSet=function(){return this._timelineSets[0]},v.prototype.getTimelineForEvent=function(e){return this.getUnfilteredTimelineSet().getTimelineForEvent(e)},v.prototype.addTimeline=function(){return this.getUnfilteredTimelineSet().addTimeline()},v.prototype.findEventById=function(e){return this.getUnfilteredTimelineSet().findEventById(e)},v.prototype.getUnreadNotificationCount=function(e){return e=e||"total",this._notificationCounts[e]},v.prototype.setUnreadNotificationCount=function(e,t){this._notificationCounts[e]=t},v.prototype.setSummary=function(e){const t=e["m.heroes"],n=e["m.joined_member_count"],o=e["m.invited_member_count"];Number.isInteger(n)&&this.currentState.setJoinedMemberCount(n),Number.isInteger(o)&&this.currentState.setInvitedMemberCount(o),Array.isArray(t)&&(this._summaryHeroes=t.filter((e=>e!==this.myUserId)))},v.prototype.setBlacklistUnverifiedDevices=function(e){this._blacklistUnverifiedDevices=e},v.prototype.getBlacklistUnverifiedDevices=function(){return this._blacklistUnverifiedDevices},v.prototype.getAvatarUrl=function(e,t,n,o,r){const i=this.currentState.getStateEvents(m.EventType.RoomAvatar,"");if(void 0===r&&(r=!0),!i&&!r)return null;const a=i?i.getContent().url:null;return a?(0,c.getHttpUriForMxc)(e,a,t,n,o):null},v.prototype.getMxcAvatarUrl=function(){const e=this.currentState.getStateEvents(m.EventType.RoomAvatar,"");return e?e.getContent().url:null},v.prototype.getAliases=function(){const e=[],t=this.currentState.getStateEvents("m.room.aliases");if(t)for(let n=0;n"string"==typeof e&&"#"===e[0]&&!!e.endsWith(`:${o.getStateKey()}`)));Array.prototype.push.apply(e,t)}}return e},v.prototype.getCanonicalAlias=function(){const e=this.currentState.getStateEvents("m.room.canonical_alias","");return e&&e.getContent().alias||null},v.prototype.getAltAliases=function(){const e=this.currentState.getStateEvents("m.room.canonical_alias","");return e&&e.getContent().alt_aliases||[]},v.prototype.addEventsToTimeline=function(e,t,n,o){n.getTimelineSet().addEventsToTimeline(e,t,n,o)},v.prototype.getMember=function(e){return this.currentState.getMember(e)},v.prototype.getMembers=function(){return this.currentState.getMembers()},v.prototype.getJoinedMembers=function(){return this.getMembersWithMembership("join")},v.prototype.getJoinedMemberCount=function(){return this.currentState.getJoinedMemberCount()},v.prototype.getInvitedMemberCount=function(){return this.currentState.getInvitedMemberCount()},v.prototype.getInvitedAndJoinedMemberCount=function(){return this.getInvitedMemberCount()+this.getJoinedMemberCount()},v.prototype.getMembersWithMembership=function(e){return this.currentState.getMembers().filter((function(t){return t.membership===e}))},v.prototype.getEncryptionTargetMembers=async function(){await this.loadMembersIfNeeded();let e=this.getMembersWithMembership("join");return this.shouldEncryptForInvitedMembers()&&(e=e.concat(this.getMembersWithMembership("invite"))),e},v.prototype.shouldEncryptForInvitedMembers=function(){const e=this.currentState.getStateEvents("m.room.history_visibility","");return e&&e.getContent()&&"joined"!==e.getContent().history_visibility},v.prototype.getDefaultRoomName=function(e){return k(this,e,!0)},v.prototype.hasMembershipState=function(e,t){const n=this.getMember(e);return!!n&&n.membership===t},v.prototype.getOrCreateFilteredTimelineSet=function(e){if(this._filteredTimelineSets[e.filterId])return this._filteredTimelineSets[e.filterId];const t=Object.assign({filter:e},this._opts),n=new s.EventTimelineSet(this,t);this.reEmitter.reEmit(n,["Room.timeline","Room.timelineReset"]),this._filteredTimelineSets[e.filterId]=n,this._timelineSets.push(n);const o=this.getLiveTimeline();o.getEvents().forEach((function(e){n.addLiveEvent(e)}));let r=o;for(;r.getNeighbouringTimeline(u.EventTimeline.BACKWARDS);)r=r.getNeighbouringTimeline(u.EventTimeline.BACKWARDS);return n.getLiveTimeline().setPaginationToken(r.getPaginationToken(u.EventTimeline.BACKWARDS),u.EventTimeline.BACKWARDS),n},v.prototype.removeFilteredTimelineSet=function(e){const t=this._filteredTimelineSets[e.filterId];delete this._filteredTimelineSets[e.filterId];const n=this._timelineSets.indexOf(t);n>-1&&this._timelineSets.splice(n,1)},v.prototype._addLiveEvent=function(e,t,n){if(e.isRedaction()){const t=e.event.redacts,n=this.getUnfilteredTimelineSet().findEventById(t);n&&(n.makeRedacted(e),n.getStateKey()&&this.currentState.getStateEvents(n.getType(),n.getStateKey()).getId()===n.getId()&&this.currentState.setStateEvents([n]),this.emit("Room.redaction",e,this))}if(e.getUnsigned().transaction_id){const t=this._txnToEvent[e.getUnsigned().transaction_id];if(t)return void this._handleRemoteEcho(e,t)}for(let o=0;oe.status===d.EventStatus.NOT_SENT))&&(f.logger.warn("Setting event as NOT_SENT due to messages in the same state"),e.setStatus(d.EventStatus.NOT_SENT)),this._pendingEventList.push(e),this._savePendingEvents(),e.isRelation()&&this._aggregateNonLiveRelation(e),e.isRedaction()){const t=e.event.redacts;let n=this._pendingEventList&&this._pendingEventList.find((e=>e.getId()===t));n||(n=this.getUnfilteredTimelineSet().findEventById(t)),n&&(n.markLocallyRedacted(e),this.emit("Room.redaction",e,this))}}else for(let t=0;tF(F({},e.event),{},{txn_id:e.getTxnId()}))).filter((e=>{const t="m.room.encrypted"===e.type,n=this._client.isRoomEncrypted(this.roomId);return t||!n})),{store:t}=this._client._sessionStore;this._pendingEventList.length>0?t.setItem(w(this.roomId),JSON.stringify(e)):t.removeItem(w(this.roomId))}},v.prototype._aggregateNonLiveRelation=function(e){for(let t=0;t ${o} old status ${r}`),delete this._txnToEvent[e.getUnsigned().transaction_id],this._pendingEventList&&this.removePendingEvent(n),t.handleRemoteEcho(e.event);for(let e=0;e{const n=e.getMember(t);return n?n.name:t}));else{let n=e.currentState.getMembers().filter((e=>e.userId!==t&&("invite"===e.membership||"join"===e.membership)));n.sort(((e,t)=>e.userId.localeCompare(t.userId))),n=n.slice(0,5),i=n.map((e=>e.name))}if(r)return D(i,r);if("join"==e.getMyMembership()){const t=e.currentState.getStateEvents("m.room.third_party_invite");if(t&&t.length)return`Inviting ${D(t.map((e=>e.getContent().display_name)))}`}let a=i;return a.length||(a=e.currentState.getMembers().filter((e=>e.userId!==t&&"invite"!==e.membership&&"join"!==e.membership)).map((e=>e.name))),a.length?`Empty room (was ${D(a)})`:"Empty room"}function D(e,t=e.length+1){const n=t-1;return e.length?1===e.length&&n<=1?e[0]:2===e.length&&n<=2?`${e[0]} and ${e[1]}`:n>1?`${e[0]} and ${n} others`:`${e[0]} and 1 other`:"Empty room"}E[d.EventStatus.ENCRYPTING]=[d.EventStatus.SENDING,d.EventStatus.NOT_SENT],E[d.EventStatus.SENDING]=[d.EventStatus.ENCRYPTING,d.EventStatus.QUEUED,d.EventStatus.NOT_SENT,d.EventStatus.SENT],E[d.EventStatus.QUEUED]=[d.EventStatus.SENDING,d.EventStatus.CANCELLED],E[d.EventStatus.SENT]=[],E[d.EventStatus.NOT_SENT]=[d.EventStatus.SENDING,d.EventStatus.QUEUED,d.EventStatus.CANCELLED],E[d.EventStatus.CANCELLED]=[],v.prototype.updatePendingEvent=function(e,t,n){if(f.logger.log(`setting pendingEvent status to ${t} in ${e.getRoomId()} event ID ${e.getId()} -> ${n}`),t==d.EventStatus.SENT&&!n)throw new Error("updatePendingEvent called with status=SENT, but no new event id");if(t==d.EventStatus.SENT&&this.getUnfilteredTimelineSet().eventIdToTimeline(n))return;const o=e.status,r=e.getId();if(!o)throw new Error("updatePendingEventStatus called on an event which is not a local echo.");const i=E[o];if(!i||i.indexOf(t)<0)throw new Error("Invalid EventStatus transition "+o+"->"+t);if(e.setStatus(t),t==d.EventStatus.SENT){e.replaceLocalEventId(n);for(let e=0;ee.getId()===r));if(-1!==e){const[t]=this._pendingEventList.splice(e,1);t.isRedaction()&&this._revertRedactionLocalEcho(t)}}this.removeEvent(r)}this._savePendingEvents(),this.emit("Room.localEchoUpdated",e,this,r,o)},v.prototype._revertRedactionLocalEcho=function(e){const t=e.event.redacts;if(!t)return;const n=this.getUnfilteredTimelineSet().findEventById(t);n&&(n.unmarkLocallyRedacted(),this.emit("Room.redactionCancelled",e,this),n.isRelation()&&this._aggregateNonLiveRelation(n))},v.prototype.addLiveEvents=function(e,t,n){let o;if(t&&-1===["replace","ignore"].indexOf(t))throw new Error("duplicateStrategy MUST be either 'replace' or 'ignore'");for(o=0;o=0;--e){const o=this.timeline[e];if(o.getId()===t)return!1;if(o.getId()===n)return!0}return!1},v.prototype.getReceiptsForEvent=function(e){return this._receiptCacheByEventId[e.getId()]||[]},v.prototype.addReceipt=function(e,t){void 0===t&&(t=!1),t||this._addReceiptsToStructure(e,this._realReceipts),this._addReceiptsToStructure(e,this._receipts),this._receiptCacheByEventId=this._buildReceiptCache(this._receipts),this.emit("Room.receipt",e,this)},v.prototype._addReceiptsToStructure=function(e,t){const n=this;Object.keys(e.getContent()).forEach((function(o){Object.keys(e.getContent()[o]).forEach((function(r){Object.keys(e.getContent()[o][r]).forEach((function(i){const a=e.getContent()[o][r][i];t[r]||(t[r]={});const s=t[r][i];if(s){const e=n.getUnfilteredTimelineSet().compareEventOrdering(s.eventId,o);if(null!==e&&e>=0)return}else t[r][i]={};t[r][i]={eventId:o,data:a}}))}))}))},v.prototype._buildReceiptCache=function(e){const t={};return Object.keys(e).forEach((function(n){Object.keys(e[n]).forEach((function(o){const r=e[n][o];t[r.eventId]||(t[r.eventId]=[]),t[r.eventId].push({userId:o,type:n,data:r.data})}))})),t},v.prototype._addLocalEchoReceipt=function(e,t,n){this.addReceipt(b(e,t,n),!0)},v.prototype.addTags=function(e){this.tags=e.getContent().tags||{},this.emit("Room.tags",e,this)},v.prototype.addAccountData=function(e){for(let t=0;tr.powerLevel&&(t=!1),t},v.prototype.getJoinRule=function(){return this.currentState.getJoinRule()},v.prototype.getType=function(){const e=this.currentState.getStateEvents("m.room.create","");if(e)return e.getContent()[m.RoomCreateTypeField];this.getTypeWarning||(f.logger.warn("[getType] Room "+this.roomId+" does not have an m.room.create event"),this.getTypeWarning=!0)},v.prototype.isSpaceRoom=function(){return this.getType()===m.RoomType.Space}},41398:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SearchResult=r;var o=n(43558);function r(e,t){this.rank=e,this.context=t}r.fromJson=function(e,t){const n=e.context||{},i=n.events_before||[],a=n.events_after||[],s=new o.EventContext(t(e.result));return s.setPaginateToken(n.start,!0),s.addEvents(i.map(t),!0),s.addEvents(a.map(t),!1),s.setPaginateToken(n.end,!1),new r(e.rank,s)}},83998:(e,t,n)=>{"use strict";var o=n(20862);Object.defineProperty(t,"__esModule",{value:!0}),t.User=a;var r=o(n(3102)),i=n(17187);function a(e){this.userId=e,this.presence="offline",this.presenceStatusMsg=null,this._unstable_statusMessage="",this.displayName=e,this.rawDisplayName=e,this.avatarUrl=null,this.lastActiveAgo=0,this.lastPresenceTs=0,this.currentlyActive=!1,this.events={presence:null,profile:null},this._updateModifiedTime()}r.inherits(a,i.EventEmitter),a.prototype.setPresenceEvent=function(e){if("m.presence"!==e.getType())return;const t=null===this.events.presence;this.events.presence=e;const n=[];(e.getContent().presence!==this.presence||t)&&n.push("User.presence"),e.getContent().avatar_url&&e.getContent().avatar_url!==this.avatarUrl&&n.push("User.avatarUrl"),e.getContent().displayname&&e.getContent().displayname!==this.displayName&&n.push("User.displayName"),void 0!==e.getContent().currently_active&&e.getContent().currently_active!==this.currentlyActive&&n.push("User.currentlyActive"),this.presence=e.getContent().presence,n.push("User.lastPresenceTs"),e.getContent().status_msg&&(this.presenceStatusMsg=e.getContent().status_msg),e.getContent().displayname&&(this.displayName=e.getContent().displayname),e.getContent().avatar_url&&(this.avatarUrl=e.getContent().avatar_url),this.lastActiveAgo=e.getContent().last_active_ago,this.lastPresenceTs=Date.now(),this.currentlyActive=e.getContent().currently_active,this._updateModifiedTime();for(let t=0;t{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PushProcessor=s;var o=n(3102),r=n(7434);const i=["override","content","room","sender","underride"],a=[{rule_id:".m.rule.tombstone",default:!0,enabled:!0,conditions:[{kind:"event_match",key:"type",pattern:"m.room.tombstone"},{kind:"event_match",key:"state_key",pattern:""}],actions:["notify",{set_tweak:"highlight",value:!0}]},{rule_id:".m.rule.reaction",default:!0,enabled:!0,conditions:[{kind:"event_match",key:"type",pattern:"m.reaction"}],actions:["dont_notify"]}];function s(e){const t={},n=(e,t)=>{for(let n=0;n]*)([0-9]*)$/);if(!i)return!1;const a=i[1],s=parseInt(i[2]);if(isNaN(s))return!1;switch(a){case"":case"==":return r==s;case"<":return r":return r>s;case"<=":return r<=s;case">=":return r>=s;default:return!1}},l=function(t,n){let r=n.getContent();if(n.isEncrypted()&&n.getClearContent()&&(r=n.getClearContent()),!r||!r.body||"string"!=typeof r.body)return!1;const i=e.getRoom(n.getRoomId());if(!(i&&i.currentState&&i.currentState.members&&i.currentState.getMember(e.credentials.userId)))return!1;const a=i.currentState.getMember(e.credentials.userId).name,s=new RegExp("(^|\\W)"+(0,o.escapeRegExp)(a)+"(\\W|$)","i");return r.body.search(s)>-1},d=function(e,t){if(!e.key)return!1;const n=p(e.key,t);if("string"!=typeof n)return!1;if(e.value)return e.value===n;if("string"!=typeof e.pattern)return!1;let o;return o="content.body"==e.key?h("(^|\\W)",e.pattern,"(\\W|$)"):h("^",e.pattern,"$"),!!n.match(o)},h=function(e,n,r){return t[n]||(t[n]=new RegExp(e+(0,o.globToRegexp)(n)+r,"i")),t[n]},p=function(e,t){const n=e.split(".");let r;const i=n[0];for("content"===i?(r=t.getContent(),n.shift()):"type"===i?(r=t.getType(),n.shift()):r=t.event;n.length>0;){const e=n.shift();if((0,o.isNullOrUndefined)(r[e]))return null;r=r[e]}return r};this.ruleMatchesEvent=function(e,t){let n=!0;for(let o=0;ot.rule_id===e.rule_id));if(t)t.default=e.default,t.conditions=e.conditions,t.actions=e.actions;else{const t=e.rule_id;r.logger.warn(`Adding default global override for ${t}`),n.push(e)}}return t}},98401:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.randomString=function(e){return r(e,o+n+"0123456789")},t.randomLowercaseString=function(e){return r(e,n)},t.randomUppercaseString=function(e){return r(e,o)};const n="abcdefghijklmnopqrstuvwxyz",o="ABCDEFGHIJKLMNOPQRSTUVWXYZ";function r(e,t){let n="";for(let o=0;o{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.setNow=function(e){s=e||Date.now},t.setTimeout=function(e,t){(t=t||0)<0&&(t=0);const n=Array.prototype.slice.call(arguments,2),o=s()+t,r=i++,c={runAt:o,func:e,params:n,key:r},d=l(a,(function(e){return e.runAt-o}));return a.splice(d,0,c),u(),r},t.clearTimeout=function(e){if(0===a.length)return;let t;for(t=0;tt)break;e=a.shift(),e.key,r.push(e)}u();for(let t=0;t>1;t(e[r])>0?o=r:n=r+1}return n}},39443:(e,t,n)=>{"use strict";var o=n(20862);Object.defineProperty(t,"__esModule",{value:!0}),t.MatrixScheduler=i;var r=o(n(3102));function i(e,t){this.retryAlgorithm=e||i.RETRY_BACKOFF_RATELIMIT,this.queueAlgorithm=t||i.QUEUE_MESSAGES,this._queues={},this._activeQueues=[],this._procFn=null}function a(e){e._procFn&&Object.keys(e._queues).filter((function(t){return-1===e._activeQueues.indexOf(t)&&e._queues[t].length>0})).forEach((function(t){e._activeQueues.push(t),c(),s(e,t)}))}function s(e,t){const n=function(e,t){const n=e._queues[t];return Array.isArray(n)?n[0]:null}(e,t);if(!n){const n=e._activeQueues.indexOf(t);return n>=0&&e._activeQueues.splice(n,1),void c()}c(e._queues[t].length),Promise.resolve().then((()=>e._procFn(n.event))).then((function(o){u(e,t),c(n.event.getId()),n.defer.resolve(o),s(e,t)}),(function(o){n.attempts+=1;const r=e.retryAlgorithm(n.event,n.attempts,o);c(n.attempts,n.event.getId()),-1===r?(c(n.event.getId()),u(e,t),n.defer.reject(o),s(e,t)):setTimeout((function(){s(e,t)}),r)}))}function u(e,t){const n=e._queues[t];return Array.isArray(n)?n.shift():null}function c(){}n(7434),i.prototype.getQueueForEvent=function(e){const t=this.queueAlgorithm(e);return t&&this._queues[t]?this._queues[t].map((function(e){return e.event})):null},i.prototype.removeEventFromQueue=function(e){const t=this.queueAlgorithm(e);if(!t||!this._queues[t])return!1;let n=!1;return r.removeElement(this._queues[t],(function(t){if(t.event.getId()===e.getId())return n=!0,!0})),n},i.prototype.setProcessFunction=function(e){this._procFn=e,a(this)},i.prototype.queueEvent=function(e){const t=this.queueAlgorithm(e);if(!t)return null;this._queues[t]||(this._queues[t]=[]);const n=r.defer();return this._queues[t].push({event:e,defer:n,attempts:0}),e.getId(),a(this),n.promise},i.RETRY_BACKOFF_RATELIMIT=function(e,t,n){if(400===n.httpStatus||403===n.httpStatus||401===n.httpStatus)return-1;if("rejected"===n.cors)return-1;if("M_TOO_LARGE"===n.name)return-1;if("M_LIMIT_EXCEEDED"===n.name){const e=n.data.retry_after_ms;if(e>0)return e}return t>4?-1:1e3*Math.pow(2,t)},i.QUEUE_MESSAGES=function(e){return"m.room.message"===e.getType()||e.hasAssocation()?"message":null}},91415:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SERVICE_TYPES=void 0;const n=Object.freeze({IS:"SERVICE_TYPE_IS",IM:"SERVICE_TYPE_IM"});t.SERVICE_TYPES=n},53861:(e,t,n)=>{"use strict";var o=n(20862);Object.defineProperty(t,"__esModule",{value:!0}),t.LocalIndexedDBStoreBackend=h;var r=n(22741),i=o(n(3102)),a=o(n(33415)),s=n(7434);function u(e,t,n){const o=e.openCursor(t);return new Promise(((e,t)=>{const r=[];o.onerror=e=>{t(new Error("Query failed: "+e.target.errorCode))},o.onsuccess=t=>{const o=t.target.result;o?(r.push(n(o)),o.continue()):e(r)}}))}function c(e){return new Promise(((t,n)=>{e.oncomplete=function(e){t(e)},e.onerror=function(e){n(e.target.error)}}))}function l(e){return new Promise(((t,n)=>{e.onsuccess=function(e){t(e)},e.onerror=function(e){n(e.target.error)}}))}function d(e){return l(e).then((e=>e.target.result))}function h(e,t){this.indexedDB=e,this._dbName="matrix-js-sdk:"+(t||"default"),this.db=null,this._disconnected=!0,this._syncAccumulator=new r.SyncAccumulator,this._isNewlyCreated=!1}h.exists=function(e,t){return t="matrix-js-sdk:"+(t||"default"),a.exists(e,t)},h.prototype={connect:function(){if(!this._disconnected)return s.logger.log("LocalIndexedDBStoreBackend.connect: already connected or connecting"),Promise.resolve();this._disconnected=!1,s.logger.log("LocalIndexedDBStoreBackend.connect: connecting...");const e=this.indexedDB.open(this._dbName,3);return e.onupgradeneeded=e=>{const t=e.target.result,n=e.oldVersion;s.logger.log(`LocalIndexedDBStoreBackend.connect: upgrading from ${n}`),n<1&&(this._isNewlyCreated=!0,function(e){e.createObjectStore("users",{keyPath:["userId"]}),e.createObjectStore("accountData",{keyPath:["type"]}),e.createObjectStore("sync",{keyPath:["clobber"]})}(t)),n<2&&function(e){e.createObjectStore("oob_membership_events",{keyPath:["room_id","state_key"]}).createIndex("room","room_id")}(t),n<3&&function(e){e.createObjectStore("client_options",{keyPath:["clobber"]})}(t)},e.onblocked=()=>{s.logger.log("can't yet open LocalIndexedDBStoreBackend because it is open elsewhere")},s.logger.log("LocalIndexedDBStoreBackend.connect: awaiting connection..."),l(e).then((e=>(s.logger.log("LocalIndexedDBStoreBackend.connect: connected"),this.db=e.target.result,this.db.onversionchange=()=>{this.db.close()},this._init())))},isNewlyCreated:function(){return Promise.resolve(this._isNewlyCreated)},_init:function(){return Promise.all([this._loadAccountData(),this._loadSyncData()]).then((([e,t])=>{s.logger.log("LocalIndexedDBStoreBackend: loaded initial data"),this._syncAccumulator.accumulate({next_batch:t.nextBatch,rooms:t.roomsData,groups:t.groupsData,account_data:{events:e}},!0)}))},getOutOfBandMembers:function(e){return new Promise(((t,n)=>{const o=this.db.transaction(["oob_membership_events"],"readonly").objectStore("oob_membership_events").index("room"),r=IDBKeyRange.only(e),i=o.openCursor(r),a=[];let s=!1;i.onsuccess=e=>{const n=e.target.result;if(!n)return a.length||s?t(a):t(null);const o=n.value;o.oob_written?s=!0:a.push(o),n.continue()},i.onerror=e=>{n(e)}})).then((t=>(s.logger.log(`LL: got ${t&&t.length} membershipEvents from storage for room ${e} ...`),t)))},setOutOfBandMembers:async function(e,t){s.logger.log(`LL: backend about to store ${t.length} members for ${e}`);const n=this.db.transaction(["oob_membership_events"],"readwrite"),o=n.objectStore("oob_membership_events");t.forEach((e=>{o.put(e)}));const r={room_id:e,oob_written:!0,state_key:0};o.put(r),await c(n),s.logger.log(`LL: backend done storing for ${e}!`)},clearOutOfBandMembers:async function(e){const t=this.db.transaction(["oob_membership_events"],"readonly").objectStore("oob_membership_events").index("room"),n=IDBKeyRange.only(e),o=d(t.openKeyCursor(n,"next")).then((e=>e&&e.primaryKey[1])),r=d(t.openKeyCursor(n,"prev")).then((e=>e&&e.primaryKey[1])),[i,a]=await Promise.all([o,r]),u=this.db.transaction(["oob_membership_events"],"readwrite").objectStore("oob_membership_events"),c=IDBKeyRange.bound([e,i],[e,a]);var l;s.logger.log(`LL: Deleting all users + marker in storage for room ${e}, with key range:`,[e,i],[e,a]),await(l=u.delete(c),new Promise(((e,t)=>{l.onsuccess=()=>e(l),l.onerror=e=>t(e)})))},clearDatabase:function(){return new Promise(((e,t)=>{s.logger.log(`Removing indexeddb instance: ${this._dbName}`);const n=this.indexedDB.deleteDatabase(this._dbName);n.onblocked=()=>{s.logger.log(`can't yet delete indexeddb ${this._dbName} because it is open elsewhere`)},n.onerror=t=>{s.logger.warn(`unable to delete js-sdk store indexeddb: ${t.target.error}`),e()},n.onsuccess=()=>{s.logger.log(`Removed indexeddb instance: ${this._dbName}`),e()}}))},getSavedSync:function(e){void 0===e&&(e=!0);const t=this._syncAccumulator.getJSON();return t.nextBatch?e?Promise.resolve(i.deepCopy(t)):Promise.resolve(t):Promise.resolve(null)},getNextBatchToken:function(){return Promise.resolve(this._syncAccumulator.getNextBatchToken())},setSyncData:function(e){return Promise.resolve().then((()=>{this._syncAccumulator.accumulate(e)}))},syncToDatabase:function(e){const t=this._syncAccumulator.getJSON(!0);return Promise.all([this._persistUserPresenceEvents(e),this._persistAccountData(t.accountData),this._persistSyncData(t.nextBatch,t.roomsData,t.groupsData)])},_persistSyncData:function(e,t,n){return s.logger.log("Persisting sync data up to",e),i.promiseTry((()=>{const o=this.db.transaction(["sync"],"readwrite");return o.objectStore("sync").put({clobber:"-",nextBatch:e,roomsData:t,groupsData:n}),c(o)}))},_persistAccountData:function(e){return i.promiseTry((()=>{const t=this.db.transaction(["accountData"],"readwrite"),n=t.objectStore("accountData");for(let t=0;t{const t=this.db.transaction(["users"],"readwrite"),n=t.objectStore("users");for(const t of e)n.put({userId:t[0],event:t[1]});return c(t)}))},getUserPresenceEvents:function(){return i.promiseTry((()=>u(this.db.transaction(["users"],"readonly").objectStore("users"),void 0,(e=>[e.value.userId,e.value.event]))))},_loadAccountData:function(){return s.logger.log("LocalIndexedDBStoreBackend: loading account data..."),i.promiseTry((()=>u(this.db.transaction(["accountData"],"readonly").objectStore("accountData"),void 0,(e=>e.value)).then((e=>(s.logger.log("LocalIndexedDBStoreBackend: loaded account data"),e)))))},_loadSyncData:function(){return s.logger.log("LocalIndexedDBStoreBackend: loading sync data..."),i.promiseTry((()=>u(this.db.transaction(["sync"],"readonly").objectStore("sync"),void 0,(e=>e.value)).then((e=>(s.logger.log("LocalIndexedDBStoreBackend: loaded sync data"),e.length>1&&s.logger.warn("loadSyncData: More than 1 sync row found."),e.length>0?e[0]:{})))))},getClientOptions:function(){return Promise.resolve().then((()=>u(this.db.transaction(["client_options"],"readonly").objectStore("client_options"),void 0,(e=>{if(e.value&&e.value&&e.value.options)return e.value.options})).then((e=>e[0]))))},storeClientOptions:async function(e){const t=this.db.transaction(["client_options"],"readwrite");t.objectStore("client_options").put({clobber:"-",options:e}),await c(t)}}},64215:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RemoteIndexedDBStoreBackend=i;var o=n(7434),r=n(3102);function i(e,t,n){this._workerScript=e,this._dbName=t,this._workerApi=n,this._worker=null,this._nextSeq=0,this._inFlight={},this._startPromise=null}i.prototype={connect:function(){return this._ensureStarted().then((()=>this._doCmd("connect")))},clearDatabase:function(){return this._ensureStarted().then((()=>this._doCmd("clearDatabase")))},isNewlyCreated:function(){return this._doCmd("isNewlyCreated")},getSavedSync:function(){return this._doCmd("getSavedSync")},getNextBatchToken:function(){return this._doCmd("getNextBatchToken")},setSyncData:function(e){return this._doCmd("setSyncData",[e])},syncToDatabase:function(e){return this._doCmd("syncToDatabase",[e])},getOutOfBandMembers:function(e){return this._doCmd("getOutOfBandMembers",[e])},setOutOfBandMembers:function(e,t){return this._doCmd("setOutOfBandMembers",[e,t])},clearOutOfBandMembers:function(e){return this._doCmd("clearOutOfBandMembers",[e])},getClientOptions:function(){return this._doCmd("getClientOptions")},storeClientOptions:function(e){return this._doCmd("storeClientOptions",[e])},getUserPresenceEvents:function(){return this._doCmd("getUserPresenceEvents")},_ensureStarted:function(){return null===this._startPromise&&(this._worker=new this._workerApi(this._workerScript),this._worker.onmessage=this._onWorkerMessage.bind(this),this._startPromise=this._doCmd("_setupWorker",[this._dbName]).then((()=>{o.logger.log("IndexedDB worker is ready")}))),this._startPromise},_doCmd:function(e,t){return Promise.resolve().then((()=>{const n=this._nextSeq++,o=(0,r.defer)();return this._inFlight[n]=o,this._worker.postMessage({command:e,seq:n,args:t}),o.promise}))},_onWorkerMessage:function(e){const t=e.data;if("cmd_success"==t.command||"cmd_fail"==t.command){if(void 0===t.seq)return void o.logger.error("Got reply from worker with no seq");const e=this._inFlight[t.seq];if(void 0===e)return void o.logger.error("Got reply for unknown seq "+t.seq);if(delete this._inFlight[t.seq],"cmd_success"==t.command)e.resolve(t.result);else{const n=new Error(t.error.message);n.name=t.error.name,e.reject(n)}}else o.logger.warn("Unrecognised message from worker: "+t)}}},99789:(e,t,n)=>{"use strict";var o=n(20862);Object.defineProperty(t,"__esModule",{value:!0}),t.IndexedDBStore=h;var r=n(11703),i=o(n(3102)),a=n(17187),s=n(53861),u=n(64215),c=n(83998),l=n(24369),d=n(7434);function h(e){if(r.MemoryStore.call(this,e),!e.indexedDB)throw new Error("Missing required option: indexedDB");if(e.workerScript){let t=e.workerApi;t||(t=n.g.Worker),this.backend=new u.RemoteIndexedDBStoreBackend(e.workerScript,e.dbName,t)}else this.backend=new s.LocalIndexedDBStoreBackend(e.indexedDB,e.dbName);this.startedUp=!1,this._syncTs=0,this._userModifiedMap={}}function p(e,t){return async function(...n){try{return await e.call(this,...n)}catch(e){d.logger.error("IndexedDBStore failure, degrading to MemoryStore",e),this.emit("degraded",e);try{d.logger.log("IndexedDBStore trying to delete degraded data"),await this.backend.clearDatabase(),d.logger.log("IndexedDBStore delete after degrading succeeeded")}catch(e){d.logger.warn("IndexedDBStore delete after degrading failed",e)}if(Object.setPrototypeOf(this,r.MemoryStore.prototype),t)return await r.MemoryStore.prototype[t].call(this,...n)}}}i.inherits(h,r.MemoryStore),i.extend(h.prototype,a.EventEmitter.prototype),h.exists=function(e,t){return s.LocalIndexedDBStoreBackend.exists(e,t)},h.prototype.startup=function(){return this.startedUp?(d.logger.log("IndexedDBStore.startup: already started"),Promise.resolve()):(d.logger.log("IndexedDBStore.startup: connecting to backend"),this.backend.connect().then((()=>(d.logger.log("IndexedDBStore.startup: loading presence events"),this.backend.getUserPresenceEvents()))).then((e=>{d.logger.log("IndexedDBStore.startup: processing presence events"),e.forEach((([e,t])=>{const n=new c.User(e);t&&n.setPresenceEvent(new l.MatrixEvent(t)),this._userModifiedMap[n.userId]=n.getLastModifiedTime(),this.storeUser(n)}))})))},h.prototype.getSavedSync=p((function(){return this.backend.getSavedSync()}),"getSavedSync"),h.prototype.isNewlyCreated=p((function(){return this.backend.isNewlyCreated()}),"isNewlyCreated"),h.prototype.getSavedSyncToken=p((function(){return this.backend.getNextBatchToken()}),"getSavedSyncToken"),h.prototype.deleteAllData=p((function(){return r.MemoryStore.prototype.deleteAllData.call(this),this.backend.clearDatabase().then((()=>{d.logger.log("Deleted indexeddb data.")}),(e=>{throw d.logger.error(`Failed to delete indexeddb data: ${e}`),e}))})),h.prototype.wantsSave=function(){return Date.now()-this._syncTs>3e5},h.prototype.save=function(e){return e||this.wantsSave()?this._reallySave():Promise.resolve()},h.prototype._reallySave=p((function(){this._syncTs=Date.now();const e=[];for(const t of this.getUsers())this._userModifiedMap[t.userId]!==t.getLastModifiedTime()&&t.events.presence&&(e.push([t.userId,t.events.presence.event]),this._userModifiedMap[t.userId]=t.getLastModifiedTime());return this.backend.syncToDatabase(e)})),h.prototype.setSyncData=p((function(e){return this.backend.setSyncData(e)}),"setSyncData"),h.prototype.getOutOfBandMembers=p((function(e){return this.backend.getOutOfBandMembers(e)}),"getOutOfBandMembers"),h.prototype.setOutOfBandMembers=p((function(e,t){return r.MemoryStore.prototype.setOutOfBandMembers.call(this,e,t),this.backend.setOutOfBandMembers(e,t)}),"setOutOfBandMembers"),h.prototype.clearOutOfBandMembers=p((function(e){return r.MemoryStore.prototype.clearOutOfBandMembers.call(this),this.backend.clearOutOfBandMembers(e)}),"clearOutOfBandMembers"),h.prototype.getClientOptions=p((function(){return this.backend.getClientOptions()}),"getClientOptions"),h.prototype.storeClientOptions=p((function(e){return r.MemoryStore.prototype.storeClientOptions.call(this,e),this.backend.storeClientOptions(e)}),"storeClientOptions")},11703:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MemoryStore=i;var o=n(83998);function r(e){return"string"==typeof e&&!!e&&"undefined"!==e&&"null"!==e||"number"==typeof e}function i(e){e=e||{},this.rooms={},this.groups={},this.users={},this.syncToken=null,this.filters={},this.accountData={},this.localStorage=e.localStorage,this._oobMembers={},this._clientOptions={}}i.prototype={getSyncToken:function(){return this.syncToken},isNewlyCreated:function(){return Promise.resolve(!0)},setSyncToken:function(e){this.syncToken=e},storeGroup:function(e){this.groups[e.groupId]=e},getGroup:function(e){return this.groups[e]||null},getGroups:function(){return Object.values(this.groups)},storeRoom:function(e){this.rooms[e.roomId]=e,e.currentState.on("RoomState.members",this._onRoomMember.bind(this));const t=this;e.currentState.getMembers().forEach((function(n){t._onRoomMember(null,e.currentState,n)}))},_onRoomMember:function(e,t,n){if("invite"===n.membership)return;const r=this.users[n.userId]||new o.User(n.userId);n.name&&(r.setDisplayName(n.name),n.events.member&&r.setRawDisplayName(n.events.member.getDirectionalContent().displayname)),n.events.member&&n.events.member.getContent().avatar_url&&r.setAvatarUrl(n.events.member.getContent().avatar_url),this.users[r.userId]=r},getRoom:function(e){return this.rooms[e]||null},getRooms:function(){return Object.values(this.rooms)},removeRoom:function(e){this.rooms[e]&&this.rooms[e].removeListener("RoomState.members",this._onRoomMember),delete this.rooms[e]},getRoomSummaries:function(){return Object.values(this.rooms).map((function(e){return e.summary}))},storeUser:function(e){this.users[e.userId]=e},getUser:function(e){return this.users[e]||null},getUsers:function(){return Object.values(this.users)},scrollback:function(e,t){return[]},storeEvents:function(e,t,n,o){},storeFilter:function(e){e&&(this.filters[e.userId]||(this.filters[e.userId]={}),this.filters[e.userId][e.filterId]=e)},getFilter:function(e,t){return this.filters[e]&&this.filters[e][t]?this.filters[e][t]:null},getFilterIdByName:function(e){if(!this.localStorage)return null;const t="mxjssdk_memory_filter_"+e;try{const e=this.localStorage.getItem(t);if(r(e))return e}catch(e){}return null},setFilterIdByName:function(e,t){if(!this.localStorage)return;const n="mxjssdk_memory_filter_"+e;try{r(t)?this.localStorage.setItem(n,t):this.localStorage.removeItem(n)}catch(e){}},storeAccountDataEvents:function(e){const t=this;e.forEach((function(e){t.accountData[e.getType()]=e}))},getAccountData:function(e){return this.accountData[e]},setSyncData:function(e){return Promise.resolve()},wantsSave:function(){return!1},save:function(e){},startup:function(){return Promise.resolve()},getSavedSync:function(){return Promise.resolve(null)},getSavedSyncToken:function(){return Promise.resolve(null)},deleteAllData:function(){return this.rooms={},this.users={},this.syncToken=null,this.filters={},this.accountData={},Promise.resolve()},getOutOfBandMembers:function(e){return Promise.resolve(this._oobMembers[e]||null)},setOutOfBandMembers:function(e,t){return this._oobMembers[e]=t,Promise.resolve()},clearOutOfBandMembers:function(){return this._oobMembers={},Promise.resolve()},getClientOptions:function(){return Promise.resolve(this._clientOptions)},storeClientOptions:function(e){return this._clientOptions=Object.assign({},e),Promise.resolve()}}},55837:(e,t,n)=>{"use strict";var o=n(20862);Object.defineProperty(t,"__esModule",{value:!0}),t.WebStorageSessionStore=a;var r=o(n(3102));n(7434);const i="session.e2e.";function a(e){if(this.store=e,!(r.isFunction(e.getItem)&&r.isFunction(e.setItem)&&r.isFunction(e.removeItem)&&r.isFunction(e.key)&&"number"==typeof e.length))throw new Error("Supplied webStore does not meet the WebStorage API interface")}a.prototype={removeEndToEndAccount:function(){this.store.removeItem(s)},getEndToEndAccount:function(){return this.store.getItem(s)},getAllEndToEndDevices:function(){const e=d(""),t={};for(let n=0;n{"use strict";function n(){this.fromToken=null}Object.defineProperty(t,"__esModule",{value:!0}),t.StubStore=n,n.prototype={isNewlyCreated:function(){return Promise.resolve(!0)},getSyncToken:function(){return this.fromToken},setSyncToken:function(e){this.fromToken=e},storeGroup:function(e){},getGroup:function(e){return null},getGroups:function(){return[]},storeRoom:function(e){},getRoom:function(e){return null},getRooms:function(){return[]},removeRoom:function(e){},getRoomSummaries:function(){return[]},storeUser:function(e){},getUser:function(e){return null},getUsers:function(){return[]},scrollback:function(e,t){return[]},storeEvents:function(e,t,n,o){},storeFilter:function(e){},getFilter:function(e,t){return null},getFilterIdByName:function(e){return null},setFilterIdByName:function(e,t){},storeAccountDataEvents:function(e){},getAccountData:function(e){},setSyncData:function(e){return Promise.resolve()},wantsSave:function(){return!1},save:function(){},startup:function(){return Promise.resolve()},getSavedSync:function(){return Promise.resolve(null)},getSavedSyncToken:function(){return Promise.resolve(null)},deleteAllData:function(){return Promise.resolve()},getOutOfBandMembers:function(){return Promise.resolve(null)},setOutOfBandMembers:function(){return Promise.resolve()},clearOutOfBandMembers:function(){return Promise.resolve()},getClientOptions:function(){return Promise.resolve()},storeClientOptions:function(){return Promise.resolve()}}},22741:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SyncAccumulator=void 0;var o=n(7434),r=n(3102);function i(e,t){null!==t.state_key&&void 0!==t.state_key&&t.type&&(e[t.type]||(e[t.type]=Object.create(null)),e[t.type][t.state_key]=t)}t.SyncAccumulator=class{constructor(e){(e=e||{}).maxTimelineEntries=e.maxTimelineEntries||50,this.opts=e,this.accountData={},this.inviteRooms={},this.joinRooms={},this.nextBatch=null,this.groups={invite:{},join:{},leave:{}}}accumulate(e,t){this._accumulateRooms(e,t),this._accumulateGroups(e),this._accumulateAccountData(e),this.nextBatch=e.next_batch}_accumulateAccountData(e){e.account_data&&e.account_data.events&&e.account_data.events.forEach((e=>{this.accountData[e.type]=e}))}_accumulateRooms(e,t){e.rooms&&(e.rooms.invite&&Object.keys(e.rooms.invite).forEach((n=>{this._accumulateRoom(n,"invite",e.rooms.invite[n],t)})),e.rooms.join&&Object.keys(e.rooms.join).forEach((n=>{this._accumulateRoom(n,"join",e.rooms.join[n],t)})),e.rooms.leave&&Object.keys(e.rooms.leave).forEach((n=>{this._accumulateRoom(n,"leave",e.rooms.leave[n],t)})))}_accumulateRoom(e,t,n,r){switch(t){case"invite":this._accumulateInviteState(e,n);break;case"join":this.inviteRooms[e]&&delete this.inviteRooms[e],this._accumulateJoinState(e,n,r);break;case"leave":this.inviteRooms[e]?delete this.inviteRooms[e]:delete this.joinRooms[e];break;default:o.logger.error("Unknown cateogory: ",t)}}_accumulateInviteState(e,t){if(!t.invite_state||!t.invite_state.events)return;if(!this.inviteRooms[e])return void(this.inviteRooms[e]={invite_state:t.invite_state});const n=this.inviteRooms[e];t.invite_state.events.forEach((e=>{let t=!1;for(let o=0;o{o._accountData[e.type]=e})),t.unread_notifications&&(o._unreadNotifications=t.unread_notifications),t.summary){const e="m.heroes",n="m.invited_member_count",r="m.joined_member_count",i=o._summary,a=t.summary;i[e]=a[e]||i[e],i[r]=a[r]||i[r],i[n]=a[n]||i[n]}if(t.ephemeral&&t.ephemeral.events&&t.ephemeral.events.forEach((e=>{"m.receipt"===e.type&&e.content&&Object.keys(e.content).forEach((t=>{e.content[t]["m.read"]&&Object.keys(e.content[t]["m.read"]).forEach((n=>{o._readReceipts[n]={data:e.content[t]["m.read"][n],eventId:t}}))}))})),t.timeline&&t.timeline.limited&&(o._timeline=[]),t.state&&t.state.events&&t.state.events.forEach((e=>{i(o._currentState,e)})),t.timeline&&t.timeline.events&&t.timeline.events.forEach(((e,r)=>{let a;if(i(o._currentState,e),n)a=e;else{a=Object.assign({},e),void 0!==a.unsigned&&(a.unsigned=Object.assign({},a.unsigned));const t=e.unsigned?e.unsigned.age:e.age;void 0!==t&&(a._localTs=Date.now()-t)}o._timeline.push({event:a,token:0===r?t.timeline.prev_batch:null})})),o._timeline.length>this.opts.maxTimelineEntries)for(let e=o._timeline.length-this.opts.maxTimelineEntries;e{this._accumulateGroup(t,"invite",e.groups.invite[t])})),e.groups.join&&Object.keys(e.groups.join).forEach((t=>{this._accumulateGroup(t,"join",e.groups.join[t])})),e.groups.leave&&Object.keys(e.groups.leave).forEach((t=>{this._accumulateGroup(t,"leave",e.groups.leave[t])})))}_accumulateGroup(e,t,n){for(const t of["invite","join","leave"])delete this.groups[t][e];this.groups[t][e]=n}getJSON(e){const t={join:{},invite:{},leave:{}};Object.keys(this.inviteRooms).forEach((e=>{t.invite[e]=this.inviteRooms[e]})),Object.keys(this.joinRooms).forEach((n=>{const o=this.joinRooms[n],a={ephemeral:{events:[]},account_data:{events:[]},state:{events:[]},timeline:{events:[],prev_batch:null},unread_notifications:o._unreadNotifications,summary:o._summary};Object.keys(o._accountData).forEach((e=>{a.account_data.events.push(o._accountData[e])}));const s={type:"m.receipt",room_id:n,content:{}};Object.keys(o._readReceipts).forEach((e=>{const t=o._readReceipts[e];s.content[t.eventId]||(s.content[t.eventId]={"m.read":{}}),s.content[t.eventId]["m.read"][e]=t.data})),Object.keys(s.content).length>0&&a.ephemeral.events.push(s),o._timeline.forEach((t=>{if(!a.timeline.prev_batch){if(!t.token)return;a.timeline.prev_batch=t.token}let n;!e&&t.event._localTs?(n=Object.assign({},t.event),void 0!==n.unsigned&&(n.unsigned=Object.assign({},n.unsigned)),delete n._localTs,n.unsigned=n.unsigned||{},n.unsigned.age=Date.now()-t.event._localTs):n=t.event,a.timeline.events.push(n)}));const u=Object.create(null);for(let e=a.timeline.events.length-1;e>=0;e--){const t=a.timeline.events[e];if(null===t.state_key||void 0===t.state_key)continue;const n=(0,r.deepCopy)(t);n.unsigned&&(n.unsigned.prev_content&&(n.content=n.unsigned.prev_content),n.unsigned.prev_sender&&(n.sender=n.unsigned.prev_sender)),i(u,n)}Object.keys(o._currentState).forEach((e=>{Object.keys(o._currentState[e]).forEach((t=>{let n=o._currentState[e][t];u[e]&&u[e][t]&&(n=u[e][t]),a.state.events.push(n)}))})),t.join[n]=a}));const n=[];return Object.keys(this.accountData).forEach((e=>{n.push(this.accountData[e])})),{nextBatch:this.nextBatch,roomsData:t,groupsData:this.groups,accountData:n}}getNextBatchToken(){return this.nextBatch}}},64551:(e,t,n)=>{"use strict";var o=n(20862);Object.defineProperty(t,"__esModule",{value:!0}),t.SyncApi=g;var r=n(83998),i=n(27366),a=n(70142),s=o(n(3102)),u=n(27906),c=n(88910),l=n(31707),d=n(7434),h=n(19489);function p(e,t){return"FILTER_SYNC_"+e+(t?"_"+t:"")}function f(...e){d.logger.log(...e)}function g(e,t){this.client=e,(t=t||{}).initialSyncLimit=void 0===t.initialSyncLimit?8:t.initialSyncLimit,t.resolveInvitesToProfiles=t.resolveInvitesToProfiles||!1,t.pollTimeout=t.pollTimeout||3e4,t.pendingEventOrdering=t.pendingEventOrdering||"chronological",t.canResetEntireTimeline||(t.canResetEntireTimeline=function(e){return!1}),this.opts=t,this._peekRoom=null,this._currentSyncRequest=null,this._syncState=null,this._syncStateData=null,this._catchingUp=!1,this._running=!1,this._keepAliveTimer=null,this._connectionReturnedDefer=null,this._notifEvents=[],this._failedSyncCount=0,this._storeIsInvalid=!1,e.getNotifTimelineSet()&&e.reEmitter.reEmit(e.getNotifTimelineSet(),["Room.timeline","Room.timelineReset"])}function m(e,t){const n=new r.User(t);return e.reEmitter.reEmit(n,["User.avatarUrl","User.displayName","User.presence","User.currentlyActive","User.lastPresenceTs"]),n}g.prototype.createRoom=function(e){const t=this.client,{timelineSupport:n,unstableClientRelationAggregation:o}=t,r=new i.Room(e,t,t.getUserId(),{lazyLoadMembers:this.opts.lazyLoadMembers,pendingEventOrdering:this.opts.pendingEventOrdering,timelineSupport:n,unstableClientRelationAggregation:o});return t.reEmitter.reEmit(r,["Room.name","Room.timeline","Room.redaction","Room.redactionCancelled","Room.receipt","Room.tags","Room.timelineReset","Room.localEchoUpdated","Room.accountData","Room.myMembership","Room.replaceEvent"]),this._registerStateListeners(r),r},g.prototype.createGroup=function(e){const t=this.client,n=new a.Group(e);return t.reEmitter.reEmit(n,["Group.profile","Group.myMembership"]),t.store.storeGroup(n),n},g.prototype._registerStateListeners=function(e){const t=this.client;t.reEmitter.reEmit(e.currentState,["RoomState.events","RoomState.members","RoomState.newMember"]),e.currentState.on("RoomState.newMember",(function(e,n,o){o.user=t.getUser(o.userId),t.reEmitter.reEmit(o,["RoomMember.name","RoomMember.typing","RoomMember.powerLevel","RoomMember.membership"])}))},g.prototype._deregisterStateListeners=function(e){e.currentState.removeAllListeners("RoomState.events"),e.currentState.removeAllListeners("RoomState.members"),e.currentState.removeAllListeners("RoomState.newMember")},g.prototype.syncLeftRooms=function(){const e=this.client,t=this,n=new u.Filter(this.client.credentials.userId);n.setTimelineLimit(1),n.setIncludeLeaveRooms(!0);const o=this.opts.pollTimeout+8e4,r={timeout:0};return e.getOrCreateFilter(p(e.credentials.userId,"LEFT_ROOMS"),n).then((function(t){return r.filter=t,e._http.authedRequest(void 0,"GET","/sync",r,void 0,o)})).then((function(n){let o=[];n.rooms&&n.rooms.leave&&(o=t._mapSyncResponseToRoomArray(n.rooms.leave));const r=[];return o.forEach((function(n){const o=n.room;if(r.push(o),!n.isBrandNewRoom)return;n.timeline=n.timeline||{};const i=t._mapSyncEventsFormat(n.timeline,o),a=t._mapSyncEventsFormat(n.state,o);o.getLiveTimeline().setPaginationToken(n.timeline.prev_batch,c.EventTimeline.BACKWARDS),t._processRoomEvents(o,a,i),o.recalculate(),e.store.storeRoom(o),e.emit("Room",o),t._processEventsForNotifs(o,i)})),r}))},g.prototype.peek=function(e){if(this._peekRoom&&this._peekRoom.roomId===e)return Promise.resolve(this._peekRoom);const t=this.client;return this._peekRoom=this.createRoom(e),this.client.roomInitialSync(e,20).then((e=>{e.messages=e.messages||{},e.messages.chunk=e.messages.chunk||[],e.state=e.state||[];const n=s.deepCopy(e.state).map(t.getEventMapper()),o=e.state.map(t.getEventMapper()),r=e.messages.chunk.map(t.getEventMapper());return e.presence&&Array.isArray(e.presence)&&e.presence.map(t.getEventMapper()).forEach((function(e){let n=t.store.getUser(e.getContent().user_id);n?n.setPresenceEvent(e):(n=m(t,e.getContent().user_id),n.setPresenceEvent(e),t.store.storeUser(n)),t.emit("event",e)})),e.messages.start&&(this._peekRoom.oldState.paginationToken=e.messages.start),this._peekRoom.oldState.setStateEvents(n),this._peekRoom.currentState.setStateEvents(o),this._resolveInvites(this._peekRoom),this._peekRoom.recalculate(),this._peekRoom.addEventsToTimeline(r.reverse(),!0,this._peekRoom.getLiveTimeline(),e.messages.start),t.store.storeRoom(this._peekRoom),t.emit("Room",this._peekRoom),this._peekPoll(this._peekRoom),this._peekRoom}))},g.prototype.stopPeeking=function(){this._peekRoom=null},g.prototype._peekPoll=function(e,t){if(this._peekRoom!==e)return void f("Stopped peeking in room %s",e.roomId);const n=this;this.client._http.authedRequest(void 0,"GET","/events",{room_id:e.roomId,timeout:3e4,from:t},void 0,5e4).then((function(t){if(n._peekRoom!==e)return void f("Stopped peeking in room %s",e.roomId);t.chunk.filter((function(e){return"m.presence"===e.type})).map(n.client.getEventMapper()).forEach((function(e){let t=n.client.store.getUser(e.getContent().user_id);t?t.setPresenceEvent(e):(t=m(n.client,e.getContent().user_id),t.setPresenceEvent(e),n.client.store.storeUser(t)),n.client.emit("event",e)}));const o=t.chunk.filter((function(t){return t.room_id===e.roomId&&t.event_id})).map(n.client.getEventMapper());e.addLiveEvents(o),n._peekPoll(e,t.end)}),(function(o){d.logger.error("[%s] Peek poll failed: %s",e.roomId,o),setTimeout((function(){n._peekPoll(e,t)}),3e4)}))},g.prototype.getSyncState=function(){return this._syncState},g.prototype.getSyncStateData=function(){return this._syncStateData},g.prototype.recoverFromSyncStartupError=async function(e,t){await e;const n=this._startKeepAlives();this._updateSyncState("ERROR",{error:t}),await n},g.prototype._wasLazyLoadingToggled=async function(e){e=!!e;let t=!1;if(!await this.client.store.isNewlyCreated()){const n=await this.client.store.getClientOptions();return n&&(t=!!n.lazyLoadMembers),t!==e}return!1},g.prototype._shouldAbortSync=function(e){return"M_UNKNOWN_TOKEN"===e.errcode&&(d.logger.warn("Token no longer valid - assuming logout"),this.stop(),!0)},g.prototype.sync=function(){const e=this.client,t=this;this._running=!0,n.g.window&&n.g.window.addEventListener&&(this._onOnlineBound=this._onOnline.bind(this),n.g.window.addEventListener("online",this._onOnlineBound,!1));let o=Promise.resolve(),r=null;function i(){const n=new u.Filter(e.credentials.userId);return n.setTimelineLimit(t.opts.initialSyncLimit),n}const a=async()=>{if(f("Checking lazy load status..."),this.opts.lazyLoadMembers&&e.isGuest()&&(this.opts.lazyLoadMembers=!1),this.opts.lazyLoadMembers&&(f("Checking server lazy load support..."),await e.doesServerSupportLazyLoading()?(f("Enabling lazy load on sync filter..."),this.opts.filter||(this.opts.filter=i()),this.opts.filter.setLazyLoadMembers(!0)):(f("LL: lazy loading requested but not supported by server, so disabling"),this.opts.lazyLoadMembers=!1)),f("Checking whether lazy loading has changed in store..."),await this._wasLazyLoadingToggled(this.opts.lazyLoadMembers)){this._storeIsInvalid=!0;const e=h.InvalidStoreError.TOGGLED_LAZY_LOADING,t=new h.InvalidStoreError(e,!!this.opts.lazyLoadMembers);return this._updateSyncState("ERROR",{error:t}),void d.logger.warn("InvalidStoreError: store is not usable: stopping sync.")}this.opts.lazyLoadMembers&&this.opts.crypto&&this.opts.crypto.enableLazyLoading();try{f("Storing client options..."),await this.client._storeClientOptions(),f("Stored client options")}catch(e){throw d.logger.error("Storing client options failed",e),e}s()};async function s(){let n,a;f("Getting filter..."),n=t.opts.filter?t.opts.filter:i();try{a=await e.getOrCreateFilter(p(e.credentials.userId),n)}catch(e){if(d.logger.error("Getting filter failed",e),t._shouldAbortSync(e))return;return f("Waiting for saved sync before retrying filter..."),await t.recoverFromSyncStartupError(o,e),void s()}e.resetNotifTimelineSet(),null===t._currentSyncRequest&&(f("Sending first sync request..."),t._currentSyncRequest=t._doSyncRequest({filterId:a},r)),f("Waiting for saved sync before starting sync processing..."),await o,t._sync({filterId:a})}e.isGuest()?t._sync({}):(f("Getting saved sync token..."),o=e.store.getSavedSyncToken().then((t=>(f("Got saved sync token"),r=t,f("Getting saved sync..."),e.store.getSavedSync()))).then((e=>{if(f(`Got reply from saved sync, exists? ${!!e}`),e)return t._syncFromCache(e)})).catch((e=>{d.logger.error("Getting saved sync failed",e)})),async function n(){try{f("Getting push rules...");const t=await e.getPushRules();f("Got push rules"),e.pushRules=t}catch(e){if(d.logger.error("Getting push rules failed",e),t._shouldAbortSync(e))return;return f("Waiting for saved sync before retrying push rules..."),await t.recoverFromSyncStartupError(o,e),void n()}a()}())},g.prototype.stop=function(){f("SyncApi.stop"),n.g.window&&(n.g.window.removeEventListener("online",this._onOnlineBound,!1),this._onOnlineBound=void 0),this._running=!1,this._currentSyncRequest&&this._currentSyncRequest.abort(),this._keepAliveTimer&&(clearTimeout(this._keepAliveTimer),this._keepAliveTimer=null)},g.prototype.retryImmediately=function(){return!!this._connectionReturnedDefer&&(this._startKeepAlives(0),!0)},g.prototype._syncFromCache=async function(e){f("sync(): not doing HTTP hit, instead returning stored /sync data");const t=e.nextBatch;this.client.store.setSyncToken(t);const n={oldSyncToken:null,nextSyncToken:t,catchingUp:!1,fromCache:!0},o={next_batch:t,rooms:e.roomsData,groups:e.groupsData,account_data:{events:e.accountData}};try{await this._processSyncResponse(n,o)}catch(e){d.logger.error("Error processing cached sync",e.stack||e)}this._storeIsInvalid||this._updateSyncState("PREPARED",n)},g.prototype._sync=async function(e){const t=this.client;if(!this._running)return f("Sync no longer running: exiting."),this._connectionReturnedDefer&&(this._connectionReturnedDefer.reject(),this._connectionReturnedDefer=null),void this._updateSyncState("STOPPED");const n=t.store.getSyncToken();let o;try{null===this._currentSyncRequest&&(this._currentSyncRequest=this._doSyncRequest(e,n)),o=await this._currentSyncRequest}catch(t){return void this._onSyncError(t,e)}finally{this._currentSyncRequest=null}t.store.setSyncToken(o.next_batch),this._failedSyncCount=0,await t.store.setSyncData(o);const r={oldSyncToken:n,nextSyncToken:o.next_batch,catchingUp:this._catchingUp};this.opts.crypto&&await this.opts.crypto.onSyncWillProcess(r);try{await this._processSyncResponse(r,o)}catch(e){d.logger.error("Caught /sync error",e.stack||e),this.client.emit("sync.unexpectedError",e)}r.catchingUp=this._catchingUp,e.hasSyncedBefore||(this._updateSyncState("PREPARED",r),e.hasSyncedBefore=!0),this.opts.crypto&&await this.opts.crypto.onSyncCompleted(r),this._updateSyncState("SYNCING",r),t.store.wantsSave()&&(this.opts.crypto&&await this.opts.crypto.saveDeviceList(0),t.store.save()),this._sync(e)},g.prototype._doSyncRequest=function(e,t){const n=this._getSyncParams(e,t);return this.client._http.authedRequest(void 0,"GET","/sync",n,void 0,n.timeout+8e4)},g.prototype._getSyncParams=function(e,t){let n=this.opts.pollTimeout;("SYNCING"!==this.getSyncState()||this._catchingUp)&&(this._catchingUp=!0,n=0);let o=e.filterId;this.client.isGuest()&&!o&&(o=this._getGuestFilter());const r={filter:o,timeout:n};return this.opts.disablePresence&&(r.set_presence="offline"),t?r.since=t:r._cacheBuster=Date.now(),"ERROR"!=this.getSyncState()&&"RECONNECTING"!=this.getSyncState()||(r.timeout=0),r},g.prototype._onSyncError=function(e,t){if(!this._running)return f("Sync no longer running: exiting"),this._connectionReturnedDefer&&(this._connectionReturnedDefer.reject(),this._connectionReturnedDefer=null),void this._updateSyncState("STOPPED");d.logger.error("/sync error %s",e),d.logger.error(e),this._shouldAbortSync(e)||(this._failedSyncCount++,d.logger.log("Number of consecutive failed sync requests:",this._failedSyncCount),f("Starting keep-alive"),this._startKeepAlives().then((e=>{e&&"ERROR"===this.getSyncState()&&this._updateSyncState("CATCHUP",{oldSyncToken:null,nextSyncToken:null,catchingUp:!0}),this._sync(t)})),this._currentSyncRequest=null,this._updateSyncState(this._failedSyncCount>=3?"ERROR":"RECONNECTING",{error:e}))},g.prototype._processSyncResponse=async function(e,t){const n=this.client,o=this;if(t.presence&&Array.isArray(t.presence.events)&&t.presence.events.map(n.getEventMapper()).forEach((function(e){let t=n.store.getUser(e.getSender());t?t.setPresenceEvent(e):(t=m(n,e.getSender()),t.setPresenceEvent(e),n.store.storeUser(t)),n.emit("event",e)})),t.account_data&&Array.isArray(t.account_data.events)){const e=t.account_data.events.map(n.getEventMapper()),o=e.reduce(((e,t)=>(e[t.getId()]=n.store.getAccountData(t.getType()),e)),{});n.store.storeAccountDataEvents(e),e.forEach((function(e){if("m.push_rules"===e.getType()){const t=e.getContent();n.pushRules=l.PushProcessor.rewriteDefaultRules(t)}const t=o[e.getId()];return n.emit("accountData",e,t),e}))}if(t.to_device&&Array.isArray(t.to_device.events)&&t.to_device.events.length>0){const e=[];t.to_device.events.map(n.getEventMapper()).map((t=>{if("m.key.verification.cancel"===t.getType()){const n=t.getContent().transaction_id;n&&e.push(n)}return t})).forEach((function(t){const o=t.getContent();if("m.room.message"!=t.getType()||"m.bad.encrypted"!=o.msgtype){if("m.key.verification.start"===t.getType()||"m.key.verification.request"===t.getType()){const n=o.transaction_id;e.includes(n)&&t.flagCancelled()}n.emit("toDeviceEvent",t)}else d.logger.log("Ignoring undecryptable to-device event from "+t.getSender())}))}else this._catchingUp=!1;t.groups&&(t.groups.invite&&this._processGroupSyncEntry(t.groups.invite,"invite"),t.groups.join&&this._processGroupSyncEntry(t.groups.join,"join"),t.groups.leave&&this._processGroupSyncEntry(t.groups.leave,"leave"));let r=[],i=[],a=[];if(t.rooms&&(t.rooms.invite&&(r=this._mapSyncResponseToRoomArray(t.rooms.invite)),t.rooms.join&&(i=this._mapSyncResponseToRoomArray(t.rooms.join)),t.rooms.leave&&(a=this._mapSyncResponseToRoomArray(t.rooms.leave))),this._notifEvents=[],r.forEach((function(e){const t=e.room,r=o._mapSyncEventsFormat(e.invite_state,t);o._processRoomEvents(t,r),e.isBrandNewRoom&&(t.recalculate(),n.store.storeRoom(t),n.emit("Room",t)),r.forEach((function(e){n.emit("event",e)})),t.updateMyMembership("invite")})),await s.promiseMapSeries(i,(async function(t){const r=t.room,i=o._mapSyncEventsFormat(t.state,r),a=o._mapSyncEventsFormat(t.timeline,r,!1),u=o._mapSyncEventsFormat(t.ephemeral),l=o._mapSyncEventsFormat(t.account_data),d=n.isRoomEncrypted(r.roomId);if(t.unread_notifications&&(r.setUnreadNotificationCount("total",t.unread_notifications.notification_count),(!d||d&&r.getUnreadNotificationCount("highlight")<=0)&&r.setUnreadNotificationCount("highlight",t.unread_notifications.highlight_count)),t.timeline=t.timeline||{},t.isBrandNewRoom)r.getLiveTimeline().setPaginationToken(t.timeline.prev_batch,c.EventTimeline.BACKWARDS);else if(t.timeline.limited){let i=!0;for(let e=a.length-1;e>=0;e--){const t=a[e].getId();if(r.getTimelineForEvent(t)){f("Already have event "+t+" in limited sync - not resetting"),i=!1,a.splice(0,e);break}}i&&(o._deregisterStateListeners(r),r.resetLiveTimeline(t.timeline.prev_batch,o.opts.canResetEntireTimeline(r.roomId)?null:e.oldSyncToken),n.resetNotifTimelineSet(),o._registerStateListeners(r))}async function h(e){if(n.emit("event",e),e.isState()&&"m.room.encryption"==e.getType()&&o.opts.crypto&&await o.opts.crypto.onCryptoEvent(e),e.isState()&&"im.vector.user_status"===e.getType()){let t=n.store.getUser(e.getStateKey());t?t._unstable_updateStatusMessage(e):(t=m(n,e.getStateKey()),t._unstable_updateStatusMessage(e),n.store.storeUser(t))}}o._processRoomEvents(r,i,a,e.fromCache),t.summary&&r.setSummary(t.summary),r.addEphemeralEvents(u),r.addAccountData(l),r.recalculate(),t.isBrandNewRoom&&(n.store.storeRoom(r),n.emit("Room",r)),o._processEventsForNotifs(r,a),await s.promiseMapSeries(i,h),await s.promiseMapSeries(a,h),u.forEach((function(e){n.emit("event",e)})),l.forEach((function(e){n.emit("event",e)})),r.updateMyMembership("join"),r.decryptCriticalEvents()})),a.forEach((function(e){const t=e.room,r=o._mapSyncEventsFormat(e.state,t),i=o._mapSyncEventsFormat(e.timeline,t),a=o._mapSyncEventsFormat(e.account_data);o._processRoomEvents(t,r,i),t.addAccountData(a),t.recalculate(),e.isBrandNewRoom&&(n.store.storeRoom(t),n.emit("Room",t)),o._processEventsForNotifs(t,i),r.forEach((function(e){n.emit("event",e)})),i.forEach((function(e){n.emit("event",e)})),a.forEach((function(e){n.emit("event",e)})),t.updateMyMembership("leave")})),e.oldSyncToken&&this._notifEvents.length&&(this._notifEvents.sort((function(e,t){return e.getTs()-t.getTs()})),this._notifEvents.forEach((function(e){n.getNotifTimelineSet().addLiveEvent(e)}))),t.device_lists&&this.opts.crypto&&await this.opts.crypto.handleDeviceListChanges(e,t.device_lists),this.opts.crypto&&t.device_one_time_keys_count){const e=t.device_one_time_keys_count.signed_curve25519||0;this.opts.crypto.updateOneTimeKeyCount(e)}if(this.opts.crypto&&t["org.matrix.msc2732.device_unused_fallback_key_types"]){const e=t["org.matrix.msc2732.device_unused_fallback_key_types"];this.opts.crypto.setNeedsNewFallback(e instanceof Array&&!e.includes("signed_curve25519"))}},g.prototype._startKeepAlives=function(e){void 0===e&&(e=2e3+Math.floor(5e3*Math.random())),null!==this._keepAliveTimer&&clearTimeout(this._keepAliveTimer);const t=this;return e>0?t._keepAliveTimer=setTimeout(t._pokeKeepAlive.bind(t),e):t._pokeKeepAlive(),this._connectionReturnedDefer||(this._connectionReturnedDefer=s.defer()),this._connectionReturnedDefer.promise},g.prototype._pokeKeepAlive=function(e){void 0===e&&(e=!1);const t=this;function n(){clearTimeout(t._keepAliveTimer),t._connectionReturnedDefer&&(t._connectionReturnedDefer.resolve(e),t._connectionReturnedDefer=null)}this.client._http.request(void 0,"GET","/_matrix/client/versions",void 0,void 0,{prefix:"",localTimeoutMs:15e3}).then((function(){n()}),(function(o){400==o.httpStatus||404==o.httpStatus?t._keepAliveTimer=setTimeout(n,2e3):(e=!0,t._keepAliveTimer=setTimeout(t._pokeKeepAlive.bind(t,e),5e3+Math.floor(5e3*Math.random())),t._updateSyncState("ERROR",{error:o}))}))},g.prototype._processGroupSyncEntry=function(e,t){for(const n of Object.keys(e)){const o=e[n];let r=this.client.store.getGroup(n);const i=null===r;null===r&&(r=this.createGroup(n)),o.profile&&r.setProfile(o.profile.name,o.profile.avatar_url),o.inviter&&r.setInviter({userId:o.inviter}),r.setMyMembership(t),i&&this.client.emit("Group",r)}},g.prototype._mapSyncResponseToRoomArray=function(e){const t=this.client,n=this;return Object.keys(e).map((function(o){const r=e[o];let i=t.store.getRoom(o),a=!1;return i||(i=n.createRoom(o),a=!0),r.room=i,r.isBrandNewRoom=a,r}))},g.prototype._mapSyncEventsFormat=function(e,t,n=!0){if(!e||!Array.isArray(e.events))return[];const o=this.client.getEventMapper({decrypt:n});return e.events.map((function(e){return t&&(e.room_id=t.roomId),o(e)}))},g.prototype._resolveInvites=function(e){if(!e||!this.opts.resolveInvitesToProfiles)return;const t=this.client;e.getMembersWithMembership("invite").forEach((function(n){if(n._requestedProfileInfo)return;n._requestedProfileInfo=!0;const o=t.getUser(n.userId);let r;r=o?Promise.resolve({avatar_url:o.avatarUrl,displayname:o.displayName}):t.getProfileInfo(n.userId),r.then((function(t){const o=n.events.member;"invite"===o.getContent().membership&&(o.getContent().avatar_url=t.avatar_url,o.getContent().displayname=t.displayname,n.setMembershipEvent(o,e.currentState))}),(function(e){}))}))},g.prototype._processRoomEvents=function(e,t,n,o){const r=e.getLiveTimeline(),i=0==r.getEvents().length;if(i){for(const e of t)this.client.getPushActionsForEvent(e);r.initialiseState(t)}this._resolveInvites(e),e.recalculate(),i||(e.oldState.setStateEvents(t||[]),e.currentState.setStateEvents(t||[])),e.addLiveEvents(n||[],null,o)},g.prototype._processEventsForNotifs=function(e,t){if(this.client.getNotifTimelineSet())for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TimelineWindow=r,t.TimelineIndex=i;var o=n(88910);n(7434);function r(e,t,n){n=n||{},this._client=e,this._timelineSet=t,this._start=null,this._end=null,this._eventCount=0,this._windowLimit=n.windowLimit||1e3}function i(e,t){this.timeline=e,this.index=t}r.prototype.load=function(e,t){const n=this;t=t||20;const o=function(o){let r;const a=o.getEvents();if(e){for(let t=0;t0&&this.unpaginate(t,e!=o.EventTimeline.BACKWARDS),!0}return!1},r.prototype.canPaginate=function(e){const t=this.getTimelineIndex(e);if(!t)return!1;if(e==o.EventTimeline.BACKWARDS){if(t.index>t.minIndex())return!0}else if(t.indexthis._eventCount||e<0)throw new Error("Attemting to unpaginate "+e+" events, but only have "+this._eventCount+" in the timeline");for(;e>0;){const o=t?n.advance(e):n.retreat(e);if(o<=0)throw new Error("Unable to unpaginate any further, but still have "+this._eventCount+" events");e-=o,this._eventCount-=o,this._eventCount}},r.prototype.getEvents=function(){if(!this._start)return[];const e=[];let t=this._start.timeline;for(;;){const n=t.getEvents();let r=0,i=n.length;t===this._start.timeline&&(r=this._start.index+t.getBaseIndex()),t===this._end.timeline&&(i=this._end.index+t.getBaseIndex());for(let t=r;t0)return this.index+=t,t;const n=this.timeline.getNeighbouringTimeline(e<0?o.EventTimeline.BACKWARDS:o.EventTimeline.FORWARDS);return n?(this.timeline=n,this.index=e<0?this.maxIndex():this.minIndex(),this.advance(e)):0},i.prototype.retreat=function(e){return-1*this.advance(-1*e)}},3102:(e,t,n)=>{"use strict";var o=n(95318);Object.defineProperty(t,"__esModule",{value:!0}),t.encodeParams=function(e){let t="";for(const n in e)e.hasOwnProperty(n)&&(t+="&"+encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t.substring(1)},t.encodeUri=function(e,t){for(const n in t)t.hasOwnProperty(n)&&(e=e.replace(n,encodeURIComponent(t[n])));return e},t.removeElement=function(e,t,n){let o,r;if(n){for(o=e.length-1;o>=0;o--)if(t(e[o],o,e))return r=e[o],e.splice(o,1),r}else for(o=0;o?@[\]^_`{|}~\u2000-\u206f\u2e00-\u2e7f]/g,"").toLowerCase()},t.escapeRegExp=s,t.globToRegexp=function(e,t){t="boolean"!=typeof t||t;let n=s(e);return n=n.replace(/\\\*/g,".*"),n=n.replace(/\?/g,"."),t&&(n=n.replace(/\\\[(!|)(.*)\\]/g,(function(e,t,n,o,r){return"["+(t?"^":"")+n.replace(/\\-/,"-")+"]"}))),n},t.ensureNoTrailingSlash=function(e){return e&&e.endsWith("/")?e.substr(0,e.length-1):e},t.sleep=function(e,t){return new Promise((n=>{setTimeout(n,e,t)}))},t.isNullOrUndefined=function(e){return null==e},t.defer=function(){let e,t;const n=new Promise(((n,o)=>{e=n,t=o}));return{resolve:e,reject:t,promise:n}},t.promiseMapSeries=async function(e,t){for(const n of await e)await t(await n)},t.promiseTry=function(e){return new Promise((t=>t(e())))},t.chunkPromises=async function(e,t){const n=[];for(let o=0;oe()))));return n},t.setCrypto=function(e){u=e},t.getCrypto=function(){return u};var r=o(n(85067));function i(e){return"string"==typeof e?(0,r.default)(e.normalize("NFD").replace(a,"")):""}const a=/[\u2000-\u200F\u202A-\u202F\u0300-\u036f\uFEFF\s]/g;function s(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}let u},59679:(e,t,n)=>{"use strict";var o=n(20862),r=n(95318);Object.defineProperty(t,"__esModule",{value:!0}),t.getDesktopCapturerSources=function(){return window.electron.getDesktopCapturerSources({thumbnailSize:{height:176,width:312},types:["screen","window"]})},t.setAudioInput=function(e){D=e},t.setVideoInput=function(e){S=e},t.createNewMatrixCall=function(e,t,n){if("undefined"==typeof window||"undefined"==typeof document)return null;try{if(!Boolean(window.RTCPeerConnection||window.RTCSessionDescription||window.RTCIceCandidate||navigator.mediaDevices))return a.logger.error("WebRTC is not supported in this browser / environment"),null}catch(e){return a.logger.error("Exception thrown when trying to access WebRTC",e),null}const o=!!n&&n.forceTURN,r={client:e,roomId:t,turnServers:e.getTurnServers(),forceTURN:e._forceTURN||o},i=new w(r);return e.reEmitter.reEmit(i,Object.values(_)),i},t.MatrixCall=t.CallError=t.CallErrorCode=t.CallEvent=t.CallParty=t.CallDirection=t.CallType=t.CallState=void 0;var i=r(n(59713)),a=n(7434),s=n(17187),u=o(n(3102)),c=n(42481),l=n(98401),d=n(15964),h=n(49704);let p,f,g,m,_,F;var y;t.CallState=p,function(e){e.Fledgling="fledgling",e.InviteSent="invite_sent",e.WaitLocalMedia="wait_local_media",e.CreateOffer="create_offer",e.CreateAnswer="create_answer",e.Connecting="connecting",e.Connected="connected",e.Ringing="ringing",e.Ended="ended"}(p||(t.CallState=p={})),t.CallType=f,function(e){e.Voice="voice",e.Video="video"}(f||(t.CallType=f={})),t.CallDirection=g,function(e){e.Inbound="inbound",e.Outbound="outbound"}(g||(t.CallDirection=g={})),t.CallParty=m,function(e){e.Local="local",e.Remote="remote"}(m||(t.CallParty=m={})),t.CallEvent=_,function(e){e.Hangup="hangup",e.State="state",e.Error="error",e.Replaced="replaced",e.LocalHoldUnhold="local_hold_unhold",e.RemoteHoldUnhold="remote_hold_unhold",e.HoldUnhold="hold_unhold",e.FeedsChanged="feeds_changed",e.AssertedIdentityChanged="asserted_identity_changed"}(_||(t.CallEvent=_={})),t.CallErrorCode=F,function(e){e.UserHangup="user_hangup",e.LocalOfferFailed="local_offer_failed",e.NoUserMedia="no_user_media",e.UnknownDevices="unknown_devices",e.SendInvite="send_invite",e.CreateAnswer="create_answer",e.SendAnswer="send_answer",e.SetRemoteDescription="set_remote_description",e.SetLocalDescription="set_local_description",e.AnsweredElsewhere="answered_elsewhere",e.IceFailed="ice_failed",e.InviteTimeout="invite_timeout",e.Replaced="replaced",e.SignallingFailed="signalling_timeout",e.UserBusy="user_busy"}(F||(t.CallErrorCode=F={})),function(e){e.Audio="audio",e.Video="video"}(y||(y={}));class b extends Error{constructor(e,t,n){super(t+": "+n),(0,i.default)(this,"code",void 0),this.code=e}}function v(){return Date.now().toString()+(0,l.randomString)(16)}t.CallError=b;class w extends s.EventEmitter{constructor(e){super(),(0,i.default)(this,"roomId",void 0),(0,i.default)(this,"type",void 0),(0,i.default)(this,"callId",void 0),(0,i.default)(this,"state",void 0),(0,i.default)(this,"hangupParty",void 0),(0,i.default)(this,"hangupReason",void 0),(0,i.default)(this,"direction",void 0),(0,i.default)(this,"ourPartyId",void 0),(0,i.default)(this,"client",void 0),(0,i.default)(this,"forceTURN",void 0),(0,i.default)(this,"turnServers",void 0),(0,i.default)(this,"candidateSendQueue",void 0),(0,i.default)(this,"candidateSendTries",void 0),(0,i.default)(this,"sentEndOfCandidates",void 0),(0,i.default)(this,"peerConn",void 0),(0,i.default)(this,"feeds",void 0),(0,i.default)(this,"screenSharingStream",void 0),(0,i.default)(this,"localAVStream",void 0),(0,i.default)(this,"inviteOrAnswerSent",void 0),(0,i.default)(this,"waitForLocalAVStream",void 0),(0,i.default)(this,"config",void 0),(0,i.default)(this,"successor",void 0),(0,i.default)(this,"opponentMember",void 0),(0,i.default)(this,"opponentVersion",void 0),(0,i.default)(this,"opponentPartyId",void 0),(0,i.default)(this,"opponentCaps",void 0),(0,i.default)(this,"inviteTimeout",void 0),(0,i.default)(this,"remoteOnHold",void 0),(0,i.default)(this,"unholdingRemote",void 0),(0,i.default)(this,"micMuted",void 0),(0,i.default)(this,"vidMuted",void 0),(0,i.default)(this,"callStatsAtEnd",void 0),(0,i.default)(this,"makingOffer",void 0),(0,i.default)(this,"ignoreOffer",void 0),(0,i.default)(this,"remoteCandidateBuffer",new Map),(0,i.default)(this,"remoteAssertedIdentity",void 0),(0,i.default)(this,"gotUserMediaForInvite",(async e=>{if(this.successor)this.successor.gotUserMediaForAnswer(e);else if(this.callHasEnded())this.stopAllMedia();else{this.localAVStream=e,a.logger.info("Got local AV stream with id "+this.localAVStream.id),this.setState(p.CreateOffer),a.logger.debug("gotUserMediaForInvite -> "+this.type),this.screenSharingStream?(a.logger.debug("Setting screen sharing stream to the local video element"),this.pushNewFeed(this.screenSharingStream,this.client.getUserId(),d.SDPStreamMetadataPurpose.Screenshare)):this.pushNewFeed(e,this.client.getUserId(),d.SDPStreamMetadataPurpose.Usermedia),E(e.getAudioTracks(),!0);for(const t of e.getAudioTracks())a.logger.info("Adding audio track with id "+t.id),this.peerConn.addTrack(t,e);for(const t of(this.screenSharingStream||e).getVideoTracks())a.logger.info("Adding video track with id "+t.id),this.peerConn.addTrack(t,e)}})),(0,i.default)(this,"gotUserMediaForAnswer",(async e=>{if(this.callHasEnded())return;this.pushNewFeed(e,this.client.getUserId(),d.SDPStreamMetadataPurpose.Usermedia),this.localAVStream=e,a.logger.info("Got local AV stream with id "+this.localAVStream.id),E(e.getAudioTracks(),!0);for(const t of e.getTracks())this.peerConn.addTrack(t,e);let t;this.setState(p.CreateAnswer);try{t=await this.peerConn.createAnswer()}catch(e){return a.logger.debug("Failed to create answer: ",e),void this.terminate(m.Local,F.CreateAnswer,!0)}try{await this.peerConn.setLocalDescription(t),this.setState(p.Connecting),await new Promise((e=>{setTimeout(e,200)})),this.sendAnswer()}catch(e){return a.logger.debug("Error setting local description!",e),void this.terminate(m.Local,F.SetLocalDescription,!0)}})),(0,i.default)(this,"gotLocalIceCandidate",(e=>{if(e.candidate){if(a.logger.debug("Call "+this.callId+" got local ICE "+e.candidate.sdpMid+" candidate: "+e.candidate.candidate),this.callHasEnded())return;""===e.candidate.candidate&&this.sentEndOfCandidates||(this.queueCandidate(e.candidate),""===e.candidate.candidate&&(this.sentEndOfCandidates=!0))}})),(0,i.default)(this,"onIceGatheringStateChange",(e=>{if(a.logger.debug("ice gathering state changed to "+this.peerConn.iceGatheringState),"complete"===this.peerConn.iceGatheringState&&!this.sentEndOfCandidates){const e={candidate:""};this.queueCandidate(e),this.sentEndOfCandidates=!0}})),(0,i.default)(this,"gotLocalOffer",(async e=>{if(a.logger.debug("Created offer: ",e),this.callHasEnded())return void a.logger.debug("Ignoring newly created offer on call ID "+this.callId+" because the call has ended");try{await this.peerConn.setLocalDescription(e)}catch(e){return a.logger.debug("Error setting local description!",e),void this.terminate(m.Local,F.SetLocalDescription,!0)}if("gathering"===this.peerConn.iceGatheringState&&await new Promise((e=>{setTimeout(e,200)})),this.callHasEnded())return;const t=this.state===p.CreateOffer?c.EventType.CallInvite:c.EventType.CallNegotiate,n={lifetime:6e4};this.state===p.CreateOffer?n.offer=this.peerConn.localDescription:n.description=this.peerConn.localDescription,this.client._supportsCallTransfer&&(n.capabilities={"m.call.transferee":!0}),a.logger.info(`Discarding ${this.candidateSendQueue.length} candidates that will be sent in offer`),this.candidateSendQueue=[];try{await this.sendVoipEvent(t,n)}catch(e){a.logger.error("Failed to send invite",e),e.event&&this.client.cancelPendingEvent(e.event);let t=F.SignallingFailed,n="Signalling failed";return this.state===p.CreateOffer&&(t=F.SendInvite,n="Failed to send invite"),"UnknownDeviceError"==e.name&&(t=F.UnknownDevices,n="Unknown devices present in the room"),this.emit(_.Error,new b(t,n,e)),void this.terminate(m.Local,t,!1)}this.sendCandidateQueue(),this.state===p.CreateOffer&&(this.inviteOrAnswerSent=!0,this.setState(p.InviteSent),this.inviteTimeout=setTimeout((()=>{this.inviteTimeout=null,this.state===p.InviteSent&&this.hangup(F.InviteTimeout,!1)}),6e4))})),(0,i.default)(this,"getLocalOfferFailed",(e=>{a.logger.error("Failed to get local offer",e),this.emit(_.Error,new b(F.LocalOfferFailed,"Failed to get local offer!",e)),this.terminate(m.Local,F.LocalOfferFailed,!1)})),(0,i.default)(this,"getUserMediaFailed",(e=>{this.successor?this.successor.getUserMediaFailed(e):(a.logger.warn("Failed to get user media - ending call",e),this.emit(_.Error,new b(F.NoUserMedia,"Couldn't start capturing media! Is your microphone set up and does this app have permission?",e)),this.terminate(m.Local,F.NoUserMedia,!1))})),(0,i.default)(this,"onIceConnectionStateChanged",(()=>{this.callHasEnded()||(a.logger.debug("Call ID "+this.callId+": ICE connection state changed to: "+this.peerConn.iceConnectionState),"connected"==this.peerConn.iceConnectionState?this.setState(p.Connected):"failed"==this.peerConn.iceConnectionState&&this.hangup(F.IceFailed,!1))})),(0,i.default)(this,"onSignallingStateChanged",(()=>{a.logger.debug("call "+this.callId+": Signalling state changed to: "+this.peerConn.signalingState)})),(0,i.default)(this,"onTrack",(e=>{var t;if(0===e.streams.length)return void a.logger.warn(`Streamless ${e.track.kind} found: ignoring.`);const n=null===(t=this.feeds.find((e=>!e.isLocal())))||void 0===t?void 0:t.stream;if(n&&e.streams[0].id!==n.id)return void a.logger.warn(`Ignoring new stream ID ${e.streams[0].id}: we already have stream ID ${n.id}`);n||a.logger.info("Got remote stream with id "+e.streams[0].id);const o=e.streams[0];a.logger.debug(`Track id ${e.track.id} of kind ${e.track.kind} added`),this.pushNewFeed(o,this.getOpponentMember().userId,d.SDPStreamMetadataPurpose.Usermedia),a.logger.info("playing remote. stream active? "+o.active)})),(0,i.default)(this,"onNegotiationNeeded",(async()=>{if(a.logger.info("Negotation is needed!"),this.state===p.CreateOffer||0!==this.opponentVersion){this.makingOffer=!0;try{const e=await this.peerConn.createOffer();await this.gotLocalOffer(e)}catch(e){return void this.getLocalOfferFailed(e)}finally{this.makingOffer=!1}}else a.logger.info("Opponent does not support renegotiation: ignoring negotiationneeded event")})),(0,i.default)(this,"onHangupReceived",(e=>{a.logger.debug("Hangup received for call ID "+this.callId),this.partyIdMatches(e)||this.state===p.Ringing?this.terminate(m.Remote,e.reason||F.UserHangup,!0):a.logger.info(`Ignoring message from party ID ${e.party_id}: our partner is ${this.opponentPartyId}`)})),(0,i.default)(this,"onRejectReceived",(e=>{a.logger.debug("Reject received for call ID "+this.callId),[p.InviteSent,p.Ringing].includes(this.state)||this.state===p.Fledgling&&this.direction===g.Inbound?this.terminate(m.Remote,e.reason||F.UserHangup,!0):a.logger.debug(`Call is in state: ${this.state}: ignoring reject`)})),(0,i.default)(this,"onAnsweredElsewhere",(e=>{a.logger.debug("Call ID "+this.callId+" answered elsewhere"),this.terminate(m.Remote,F.AnsweredElsewhere,!0)})),this.roomId=e.roomId,this.client=e.client,this.type=null,this.forceTURN=e.forceTURN,this.ourPartyId=this.client.deviceId,this.turnServers=e.turnServers||[],0===this.turnServers.length&&this.client.isFallbackICEServerAllowed()&&this.turnServers.push({urls:["stun:turn.matrix.org"]});for(const e of this.turnServers)u.checkObjectHasKeys(e,["urls"]);this.callId=v(),this.state=p.Fledgling,this.candidateSendQueue=[],this.candidateSendTries=0,this.sentEndOfCandidates=!1,this.inviteOrAnswerSent=!1,this.makingOffer=!1,this.remoteOnHold=!1,this.unholdingRemote=!1,this.micMuted=!1,this.vidMuted=!1,this.feeds=[]}async placeVoiceCall(){a.logger.debug("placeVoiceCall"),this.checkForErrorListener();const e=k(y.Audio);this.type=f.Voice,await this.placeCallWithConstraints(e)}async placeVideoCall(){a.logger.debug("placeVideoCall"),this.checkForErrorListener();const e=k(y.Video);this.type=f.Video,await this.placeCallWithConstraints(e)}async placeScreenSharingCall(e){a.logger.debug("placeScreenSharingCall"),this.checkForErrorListener();try{var t;const n=await async function(e){var t;if(null!==(t=window.electron)&&void 0!==t&&t.getDesktopCapturerSources&&e){a.logger.debug("Electron getDesktopCapturerSources() is available...");const t=await e();return t?{audio:!1,video:{mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:t.id}}}:null}return a.logger.debug("Electron desktopCapturer is not available..."),{audio:!1,video:!0}}(e);if(!n)return void this.terminate(m.Local,F.NoUserMedia,!1);null!==(t=window.electron)&&void 0!==t&&t.getDesktopCapturerSources?(a.logger.debug("Getting screen stream using getUserMedia()..."),this.screenSharingStream=await navigator.mediaDevices.getUserMedia(n)):(a.logger.debug("Getting screen stream using getDisplayMedia()..."),this.screenSharingStream=await navigator.mediaDevices.getDisplayMedia(n)),a.logger.debug("Got screen stream, requesting audio stream...");const o=k(y.Audio);this.placeCallWithConstraints(o)}catch(e){this.emit(_.Error,new b(F.NoUserMedia,"Failed to get screen-sharing stream: ",e)),this.terminate(m.Local,F.NoUserMedia,!1)}this.type=f.Video}getOpponentMember(){return this.opponentMember}opponentCanBeTransferred(){return Boolean(this.opponentCaps&&this.opponentCaps["m.call.transferee"])}getRemoteAssertedIdentity(){return this.remoteAssertedIdentity}getFeeds(){return this.feeds}getLocalFeeds(){return this.feeds.filter((e=>e.isLocal()))}getRemoteFeeds(){return this.feeds.filter((e=>!e.isLocal()))}noIncomingFeeds(){return!this.feeds.some((e=>!e.isLocal()))}pushNewFeed(e,t,n){const o=this.feeds.find((t=>t.stream.id===e.id));o?o.setNewStream(e):(this.feeds.push(new h.CallFeed(e,t,n,this.client,this.roomId)),this.emit(_.FeedsChanged,this.feeds))}deleteAllFeeds(){this.feeds=[],this.emit(_.FeedsChanged,this.feeds)}async getCurrentCallStats(){return this.callHasEnded()?this.callStatsAtEnd:this.collectCallStats()}async collectCallStats(){if(!this.peerConn)return;const e=await this.peerConn.getStats(),t=[];for(const n of e)t.push(n[1]);return t}async initWithInvite(e){var t;const n=e.getContent();this.direction=g.Inbound,await this.client._checkTurnServers()||a.logger.warn("Failed to get TURN credentials! Proceeding with call anyway..."),this.peerConn=this.createPeerConnection(),this.chooseOpponent(e);try{await this.peerConn.setRemoteDescription(n.offer),await this.addBufferedIceCandidates()}catch(e){return a.logger.debug("Failed to set remote description",e),void this.terminate(m.Local,F.SetRemoteDescription,!1)}const o=null===(t=this.feeds.find((e=>!e.isLocal())))||void 0===t?void 0:t.stream;if(!o||0===o.getTracks().length)return a.logger.error("No remote stream or no tracks after setting remote description!"),void this.terminate(m.Local,F.SetRemoteDescription,!1);this.type=o.getTracks().some((e=>"video"===e.kind))?f.Video:f.Voice,this.setState(p.Ringing),e.getLocalAge()&&setTimeout((()=>{this.state==p.Ringing&&(a.logger.debug("Call invite has expired. Hanging up."),this.hangupParty=m.Remote,this.setState(p.Ended),this.stopAllMedia(),"closed"!=this.peerConn.signalingState&&this.peerConn.close(),this.emit(_.Hangup))}),n.lifetime-e.getLocalAge())}initWithHangup(e){this.setState(p.Ended)}async answer(){if(!this.inviteOrAnswerSent)if(a.logger.debug(`Answering call ${this.callId} of type ${this.type}`),this.localAVStream||this.waitForLocalAVStream)this.localAVStream?this.gotUserMediaForAnswer(this.localAVStream):this.waitForLocalAVStream&&this.setState(p.WaitLocalMedia);else{const e=k(this.type==f.Video?y.Video:y.Audio);a.logger.log("Getting user media with constraints",e),this.setState(p.WaitLocalMedia),this.waitForLocalAVStream=!0;try{const t=await navigator.mediaDevices.getUserMedia(e);this.waitForLocalAVStream=!1,this.gotUserMediaForAnswer(t)}catch(e){return void this.getUserMediaFailed(e)}}}replacedBy(e){a.logger.debug(this.callId+" being replaced by "+e.callId),this.state===p.WaitLocalMedia?(a.logger.debug("Telling new call to wait for local media"),e.waitForLocalAVStream=!0):(this.state===p.CreateOffer||this.state===p.InviteSent)&&(a.logger.debug("Handing local stream to new call"),e.gotUserMediaForAnswer(this.localAVStream),delete this.localAVStream),this.successor=e,this.emit(_.Replaced,e),this.hangup(F.Replaced,!0)}hangup(e,t){if(this.callHasEnded())return;if(a.logger.debug("Ending call "+this.callId),this.terminate(m.Local,e,!t),this.state===p.WaitLocalMedia)return;const n={};e!==F.UserHangup&&(n.reason=e),this.sendVoipEvent(c.EventType.CallHangup,n)}reject(){if(this.state!==p.Ringing)throw Error("Call must be in 'ringing' state to reject!");if(this.opponentVersion<1)return a.logger.info(`Opponent version is less than 1 (${this.opponentVersion}): sending hangup instead of reject`),void this.hangup(F.UserHangup,!0);a.logger.debug("Rejecting call: "+this.callId),this.terminate(m.Local,F.UserHangup,!0),this.sendVoipEvent(c.EventType.CallReject,{})}setLocalVideoMuted(e){this.vidMuted=e,this.updateMuteStatus()}isLocalVideoMuted(){return this.vidMuted}setMicrophoneMuted(e){this.micMuted=e,this.updateMuteStatus()}isMicrophoneMuted(){return this.micMuted}isRemoteOnHold(){return this.remoteOnHold}setRemoteOnHold(e){if(this.isRemoteOnHold()!==e){this.remoteOnHold=e,e||(this.unholdingRemote=!0);for(const t of this.peerConn.getTransceivers())t.direction=e?"inactive":"sendrecv";this.updateMuteStatus(),this.emit(_.RemoteHoldUnhold,this.remoteOnHold)}}isLocalOnHold(){if(this.state!==p.Connected)return!1;if(this.unholdingRemote)return!1;let e=!0;for(const t of this.peerConn.getTransceivers())["inactive","recvonly"].includes(t.currentDirection)||(e=!1);return e}sendDtmfDigit(e){for(const t of this.peerConn.getSenders())if("audio"===t.track.kind&&t.dtmf)return void t.dtmf.insertDTMF(e);throw new Error("Unable to find a track to send DTMF on")}updateMuteStatus(){if(!this.localAVStream)return;const e=this.micMuted||this.remoteOnHold;E(this.localAVStream.getAudioTracks(),!e);const t=this.vidMuted||this.remoteOnHold;E(this.localAVStream.getVideoTracks(),!t)}async sendAnswer(){const e={answer:{sdp:this.peerConn.localDescription.sdp,type:this.peerConn.localDescription.type}};this.client._supportsCallTransfer&&(e.capabilities={"m.call.transferee":!0}),a.logger.info(`Discarding ${this.candidateSendQueue.length} candidates that will be sent in answer`),this.candidateSendQueue=[];try{await this.sendVoipEvent(c.EventType.CallAnswer,e),this.inviteOrAnswerSent=!0}catch(e){this.setState(p.Ringing),this.client.cancelPendingEvent(e.event);let t=F.SendAnswer,n="Failed to send answer";throw"UnknownDeviceError"==e.name&&(t=F.UnknownDevices,n="Unknown devices present in the room"),this.emit(_.Error,new b(t,n,e)),e}this.sendCandidateQueue()}async onRemoteIceCandidatesReceived(e){if(this.callHasEnded())return;const t=e.getContent().candidates;if(!t)return void a.logger.info("Ignoring candidates event with no candidates!");const n=0===e.getContent().version?null:e.getContent().party_id||null;if(void 0===this.opponentPartyId){a.logger.info(`Bufferring ${t.length} candidates until we pick an opponent`);const e=this.remoteCandidateBuffer.get(n)||[];return e.push(...t),void this.remoteCandidateBuffer.set(n,e)}this.partyIdMatches(e.getContent())?await this.addIceCandidates(t):a.logger.info(`Ignoring candidates from party ID ${e.getContent().party_id}: we have chosen party ID ${this.opponentPartyId}`)}async onAnswerReceived(e){if(a.logger.debug(`Got answer for call ID ${this.callId} from party ID ${e.getContent().party_id}`),this.callHasEnded())a.logger.debug(`Ignoring answer because call ID ${this.callId} has ended`);else if(void 0===this.opponentPartyId){this.chooseOpponent(e),await this.addBufferedIceCandidates(),this.setState(p.Connecting);try{await this.peerConn.setRemoteDescription(e.getContent().answer)}catch(e){return a.logger.debug("Failed to set remote description",e),void this.terminate(m.Local,F.SetRemoteDescription,!1)}if(null!==this.opponentPartyId)try{await this.sendVoipEvent(c.EventType.CallSelectAnswer,{selected_party_id:this.opponentPartyId})}catch(e){a.logger.warn("Failed to send select_answer event",e)}}else a.logger.info(`Ignoring answer from party ID ${e.getContent().party_id}: we already have an answer/reject from ${this.opponentPartyId}`)}async onSelectAnswerReceived(e){if(this.direction!==g.Inbound)return void a.logger.warn("Got select_answer for an outbound call: ignoring");const t=e.getContent().selected_party_id;null!=t?t!==this.ourPartyId&&(a.logger.info(`Got select_answer for party ID ${t}: we are party ID ${this.ourPartyId}.`),this.terminate(m.Remote,F.AnsweredElsewhere,!0)):a.logger.warn("Got nonsensical select_answer with null/undefined selected_party_id: ignoring")}async onNegotiateReceived(e){const t=e.getContent().description;if(!t||!t.sdp||!t.type)return void a.logger.info("Ignoring invalid m.call.negotiate event");const n=this.direction===g.Inbound,o="offer"===t.type&&(this.makingOffer||"stable"!=this.peerConn.signalingState);if(this.ignoreOffer=!n&&o,this.ignoreOffer)return void a.logger.info("Ignoring colliding negotiate event because we're impolite");const r=this.isLocalOnHold();"answer"===t.type&&(this.unholdingRemote=!1);try{if(await this.peerConn.setRemoteDescription(t),"offer"===t.type){for(const e of this.peerConn.getTransceivers())e.direction=this.isRemoteOnHold()?"inactive":"sendrecv";const e=await this.peerConn.createAnswer();await this.peerConn.setLocalDescription(e);for(const e of this.peerConn.getTransceivers())e.direction=e.currentDirection;this.sendVoipEvent(c.EventType.CallNegotiate,{description:this.peerConn.localDescription})}}catch(e){a.logger.warn("Failed to complete negotiation",e)}const i=this.isLocalOnHold();r!==i&&(this.emit(_.LocalHoldUnhold,i),this.emit(_.HoldUnhold,i))}async onAssertedIdentityReceived(e){e.getContent().asserted_identity&&(this.remoteAssertedIdentity={id:e.getContent().asserted_identity.id,displayName:e.getContent().asserted_identity.display_name},this.emit(_.AssertedIdentityChanged))}callHasEnded(){return this.state===p.Ended}setState(e){const t=this.state;this.state=e,this.emit(_.State,e,t)}sendVoipEvent(e,t){return this.client.sendEvent(this.roomId,e,Object.assign({},t,{version:1,call_id:this.callId,party_id:this.ourPartyId}))}queueCandidate(e){if(this.candidateSendQueue.push(e),this.state===p.Ringing||!this.inviteOrAnswerSent)return;const t=this.direction===g.Inbound?500:2e3;0===this.candidateSendTries&&setTimeout((()=>{this.sendCandidateQueue()}),t)}async transfer(e){const t=await this.client.getProfileInfo(e),n=v(),o={replacement_id:v(),target_user:{id:e,display_name:t.display_name,avatar_url:t.avatar_url},create_call:n};await this.sendVoipEvent(c.EventType.CallReplaces,o),await this.terminate(m.Local,F.Replaced,!0)}async transferToCall(e){const t=await this.client.getProfileInfo(e.getOpponentMember().userId),n=await this.client.getProfileInfo(this.getOpponentMember().userId),o=v(),r={replacement_id:v(),target_user:{id:this.getOpponentMember().userId,display_name:n.display_name,avatar_url:n.avatar_url},await_call:o};await e.sendVoipEvent(c.EventType.CallReplaces,r);const i={replacement_id:v(),target_user:{id:e.getOpponentMember().userId,display_name:t.display_name,avatar_url:t.avatar_url},create_call:o};await this.sendVoipEvent(c.EventType.CallReplaces,i),await this.terminate(m.Local,F.Replaced,!0),await e.terminate(m.Local,F.Replaced,!0)}async terminate(e,t,n){this.callHasEnded()||(this.callStatsAtEnd=await this.collectCallStats(),this.inviteTimeout&&(clearTimeout(this.inviteTimeout),this.inviteTimeout=null),t!==F.Replaced&&this.stopAllMedia(),this.deleteAllFeeds(),this.hangupParty=e,this.hangupReason=t,this.setState(p.Ended),this.peerConn&&"closed"!==this.peerConn.signalingState&&this.peerConn.close(),n&&this.emit(_.Hangup,this))}stopAllMedia(){a.logger.debug(`stopAllMedia (stream=${this.localAVStream})`);for(const e of this.feeds)for(const t of e.stream.getTracks())t.stop()}checkForErrorListener(){if(0===this.listeners("error").length)throw new Error("You MUST attach an error listener using call.on('error', function() {})")}async sendCandidateQueue(){if(0===this.candidateSendQueue.length)return;const e=this.candidateSendQueue;this.candidateSendQueue=[],++this.candidateSendTries;const t={candidates:e};a.logger.debug("Attempting to send "+e.length+" candidates");try{await this.sendVoipEvent(c.EventType.CallCandidates,t)}catch(t){if(t.event&&this.client.cancelPendingEvent(t.event),this.candidateSendQueue.push(...e),this.candidateSendTries>5){a.logger.debug("Failed to send candidates on attempt "+this.candidateSendTries+". Giving up on this call.",t);const e=F.SignallingFailed,n="Signalling failed";return this.emit(_.Error,new b(e,n,t)),void this.hangup(e,!1)}const n=500*Math.pow(2,this.candidateSendTries);++this.candidateSendTries,a.logger.debug("Failed to send candidates. Retrying in "+n+"ms",t),setTimeout((()=>{this.sendCandidateQueue()}),n)}}async placeCallWithConstraints(e){a.logger.log("Getting user media with constraints",e),this.client._callEventHandler.calls.set(this.callId,this),this.setState(p.WaitLocalMedia),this.direction=g.Outbound,this.config=e,await this.client._checkTurnServers()||a.logger.warn("Failed to get TURN credentials! Proceeding with call anyway..."),this.peerConn=this.createPeerConnection();try{const t=await navigator.mediaDevices.getUserMedia(e);this.gotUserMediaForInvite(t)}catch(e){return void this.getUserMediaFailed(e)}}createPeerConnection(){const e=new window.RTCPeerConnection({iceTransportPolicy:this.forceTURN?"relay":void 0,iceServers:this.turnServers,iceCandidatePoolSize:this.client._iceCandidatePoolSize});return e.addEventListener("iceconnectionstatechange",this.onIceConnectionStateChanged),e.addEventListener("signalingstatechange",this.onSignallingStateChanged),e.addEventListener("icecandidate",this.gotLocalIceCandidate),e.addEventListener("icegatheringstatechange",this.onIceGatheringStateChange),e.addEventListener("track",this.onTrack),e.addEventListener("negotiationneeded",this.onNegotiationNeeded),e}partyIdMatches(e){return(0===e.version?null:e.party_id||null)===this.opponentPartyId}chooseOpponent(e){const t=e.getContent();a.logger.debug(`Choosing party ID ${t.party_id} for call ID ${this.callId}`),this.opponentVersion=t.version,0===this.opponentVersion?this.opponentPartyId=null:this.opponentPartyId=t.party_id||null,this.opponentCaps=t.capabilities||{},this.opponentMember=e.sender}async addBufferedIceCandidates(){const e=this.remoteCandidateBuffer.get(this.opponentPartyId);e&&(a.logger.info(`Adding ${e.length} buffered candidates for opponent ${this.opponentPartyId}`),await this.addIceCandidates(e)),this.remoteCandidateBuffer=null}async addIceCandidates(e){for(const t of e)if(null!==t.sdpMid&&void 0!==t.sdpMid||null!==t.sdpMLineIndex&&void 0!==t.sdpMLineIndex){a.logger.debug("Call "+this.callId+" got remote ICE "+t.sdpMid+" candidate: "+t.candidate);try{await this.peerConn.addIceCandidate(t)}catch(e){this.ignoreOffer||a.logger.info("Failed to add remote ICE candidate",e)}}else a.logger.debug("Ignoring remote ICE candidate with no sdpMid or sdpMLineIndex")}}function E(e,t){for(let n=0;n{"use strict";var o=n(95318);Object.defineProperty(t,"__esModule",{value:!0}),t.CallEventHandler=void 0;var r=o(n(59713)),i=n(7434),a=n(59679),s=n(42481);t.CallEventHandler=class{constructor(e){(0,r.default)(this,"client",void 0),(0,r.default)(this,"calls",void 0),(0,r.default)(this,"callEventBuffer",void 0),(0,r.default)(this,"candidateEventsByCall",void 0),(0,r.default)(this,"evaluateEventBuffer",(async()=>{if("SYNCING"===this.client.getSyncState()){await Promise.all(this.callEventBuffer.map((e=>{this.client.decryptEventIfNeeded(e)})));const e=new Set;for(const t of this.callEventBuffer)t.getType()!==s.EventType.CallAnswer&&t.getType()!==s.EventType.CallHangup||e.add(t.getContent().call_id);for(const t of this.callEventBuffer)if(t.getType()!==s.EventType.CallInvite||!e.has(t.getContent().call_id))try{this.handleCallEvent(t)}catch(e){i.logger.error("Caught exception handling call event",e)}this.callEventBuffer=[]}})),(0,r.default)(this,"onEvent",(e=>{this.client.decryptEventIfNeeded(e),(this.eventIsACall(e)||e.isBeingDecrypted())&&this.callEventBuffer.push(e),(e.isBeingDecrypted()||e.isDecryptionFailure())&&e.once("Event.decrypted",(()=>{if(this.eventIsACall(e))if(this.callEventBuffer.includes(e))this.evaluateEventBuffer();else try{this.handleCallEvent(e)}catch(e){i.logger.error("Caught exception handling call event",e)}}))})),this.client=e,this.calls=new Map,this.callEventBuffer=[],this.candidateEventsByCall=new Map}start(){this.client.on("sync",this.evaluateEventBuffer),this.client.on("event",this.onEvent)}stop(){this.client.removeListener("sync",this.evaluateEventBuffer),this.client.removeListener("event",this.onEvent)}eventIsACall(e){const t=e.getType();return t.startsWith("m.call.")||t.startsWith("org.matrix.call.")}handleCallEvent(e){const t=e.getContent();let n=t.call_id?this.calls.get(t.call_id):void 0;if(e.getType()===s.EventType.CallInvite){if(e.getSender()===this.client.credentials.userId)return;if(e.getLocalAge()>t.lifetime-3e3)return;if(n&&n.state===a.CallState.Ended)return;n&&i.logger.log(`WARN: Already have a MatrixCall with id ${t.call_id} but got an invite. Clobbering.`);const o=this.client.getTurnServersExpiry()-Date.now();if(i.logger.info("Current turn creds expire in "+o+" ms"),n=(0,a.createNewMatrixCall)(this.client,e.getRoomId(),{forceTURN:this.client._forceTURN}),!n)return void i.logger.log("Incoming call ID "+t.call_id+" but this client doesn't support WebRTC");if(n.callId=t.call_id,n.initWithInvite(e),this.calls.set(n.callId,n),this.candidateEventsByCall.get(n.callId))for(const e of this.candidateEventsByCall.get(n.callId))n.onRemoteIceCandidatesReceived(e);let r;for(const e of this.calls.values()){const t=[a.CallState.WaitLocalMedia,a.CallState.CreateOffer,a.CallState.InviteSent].includes(e.state);if(n.roomId===e.roomId&&e.direction===a.CallDirection.Outbound&&t){r=e;break}}r?r.state===a.CallState.WaitLocalMedia||r.state===a.CallState.CreateOffer||r.callId>n.callId?(i.logger.log("Glare detected: answering incoming call "+n.callId+" and canceling outgoing call "+r.callId),r.replacedBy(n),n.answer()):(i.logger.log("Glare detected: rejecting incoming call "+n.callId+" and keeping outgoing call "+r.callId),n.hangup(a.CallErrorCode.Replaced,!0)):this.client.emit("Call.incoming",n)}else if(e.getType()===s.EventType.CallAnswer){if(!n)return;e.getSender()===this.client.credentials.userId?n.state===a.CallState.Ringing&&n.onAnsweredElsewhere(t):n.onAnswerReceived(e)}else if(e.getType()===s.EventType.CallCandidates){if(e.getSender()===this.client.credentials.userId)return;n?n.onRemoteIceCandidatesReceived(e):(this.candidateEventsByCall.has(t.call_id)||this.candidateEventsByCall.set(t.call_id,[]),this.candidateEventsByCall.get(t.call_id).push(e))}else if([s.EventType.CallHangup,s.EventType.CallReject].includes(e.getType()))n?n.state!==a.CallState.Ended&&(e.getType()===s.EventType.CallHangup?n.onHangupReceived(t):n.onRejectReceived(t),this.calls.delete(t.call_id)):(n=(0,a.createNewMatrixCall)(this.client,e.getRoomId()),n&&(n.callId=t.call_id,n.initWithHangup(e),this.calls.set(t.call_id,n)));else if(e.getType()===s.EventType.CallSelectAnswer){if(!n)return;if(e.getContent().party_id===n.ourPartyId)return;n.onSelectAnswerReceived(e)}else if(e.getType()===s.EventType.CallNegotiate){if(!n)return;if(e.getContent().party_id===n.ourPartyId)return;n.onNegotiateReceived(e)}else if(e.getType()===s.EventType.CallAssertedIdentity||e.getType()===s.EventType.CallAssertedIdentityPrefix){if(!n)return;if(e.getContent().party_id===n.ourPartyId)return;n.onAssertedIdentityReceived(e)}}}},15964:(e,t)=>{"use strict";let n;Object.defineProperty(t,"__esModule",{value:!0}),t.SDPStreamMetadataPurpose=void 0,t.SDPStreamMetadataPurpose=n,function(e){e.Usermedia="m.usermedia",e.Screenshare="m.screenshare"}(n||(t.SDPStreamMetadataPurpose=n={}))},49704:(e,t,n)=>{"use strict";var o=n(95318);Object.defineProperty(t,"__esModule",{value:!0}),t.CallFeed=t.CallFeedEvent=void 0;var r=o(n(17187));let i;t.CallFeedEvent=i,function(e){e.NewStream="new_stream"}(i||(t.CallFeedEvent=i={}));class a extends r.default{constructor(e,t,n,o,r){super(),this.stream=e,this.userId=t,this.purpose=n,this.client=o,this.roomId=r}getMember(){return this.client.getRoom(this.roomId).getMember(this.userId)}isLocal(){return this.userId===this.client.getUserId()}isAudioMuted(){return 0===this.stream.getAudioTracks().length}isVideoMuted(){return 0===this.stream.getVideoTracks().length}setNewStream(e){this.stream=e,this.emit(i.NewStream,this.stream)}}t.CallFeed=a},62318:(e,t,n)=>{"use strict";var o=n(35717),r=n(3349),i=n(89509).Buffer,a=new Array(16);function s(){r.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function u(e,t){return e<>>32-t}function c(e,t,n,o,r,i,a){return u(e+(t&n|~t&o)+r+i|0,a)+t|0}function l(e,t,n,o,r,i,a){return u(e+(t&o|n&~o)+r+i|0,a)+t|0}function d(e,t,n,o,r,i,a){return u(e+(t^n^o)+r+i|0,a)+t|0}function h(e,t,n,o,r,i,a){return u(e+(n^(t|~o))+r+i|0,a)+t|0}o(s,r),s.prototype._update=function(){for(var e=a,t=0;t<16;++t)e[t]=this._block.readInt32LE(4*t);var n=this._a,o=this._b,r=this._c,i=this._d;n=c(n,o,r,i,e[0],3614090360,7),i=c(i,n,o,r,e[1],3905402710,12),r=c(r,i,n,o,e[2],606105819,17),o=c(o,r,i,n,e[3],3250441966,22),n=c(n,o,r,i,e[4],4118548399,7),i=c(i,n,o,r,e[5],1200080426,12),r=c(r,i,n,o,e[6],2821735955,17),o=c(o,r,i,n,e[7],4249261313,22),n=c(n,o,r,i,e[8],1770035416,7),i=c(i,n,o,r,e[9],2336552879,12),r=c(r,i,n,o,e[10],4294925233,17),o=c(o,r,i,n,e[11],2304563134,22),n=c(n,o,r,i,e[12],1804603682,7),i=c(i,n,o,r,e[13],4254626195,12),r=c(r,i,n,o,e[14],2792965006,17),n=l(n,o=c(o,r,i,n,e[15],1236535329,22),r,i,e[1],4129170786,5),i=l(i,n,o,r,e[6],3225465664,9),r=l(r,i,n,o,e[11],643717713,14),o=l(o,r,i,n,e[0],3921069994,20),n=l(n,o,r,i,e[5],3593408605,5),i=l(i,n,o,r,e[10],38016083,9),r=l(r,i,n,o,e[15],3634488961,14),o=l(o,r,i,n,e[4],3889429448,20),n=l(n,o,r,i,e[9],568446438,5),i=l(i,n,o,r,e[14],3275163606,9),r=l(r,i,n,o,e[3],4107603335,14),o=l(o,r,i,n,e[8],1163531501,20),n=l(n,o,r,i,e[13],2850285829,5),i=l(i,n,o,r,e[2],4243563512,9),r=l(r,i,n,o,e[7],1735328473,14),n=d(n,o=l(o,r,i,n,e[12],2368359562,20),r,i,e[5],4294588738,4),i=d(i,n,o,r,e[8],2272392833,11),r=d(r,i,n,o,e[11],1839030562,16),o=d(o,r,i,n,e[14],4259657740,23),n=d(n,o,r,i,e[1],2763975236,4),i=d(i,n,o,r,e[4],1272893353,11),r=d(r,i,n,o,e[7],4139469664,16),o=d(o,r,i,n,e[10],3200236656,23),n=d(n,o,r,i,e[13],681279174,4),i=d(i,n,o,r,e[0],3936430074,11),r=d(r,i,n,o,e[3],3572445317,16),o=d(o,r,i,n,e[6],76029189,23),n=d(n,o,r,i,e[9],3654602809,4),i=d(i,n,o,r,e[12],3873151461,11),r=d(r,i,n,o,e[15],530742520,16),n=h(n,o=d(o,r,i,n,e[2],3299628645,23),r,i,e[0],4096336452,6),i=h(i,n,o,r,e[7],1126891415,10),r=h(r,i,n,o,e[14],2878612391,15),o=h(o,r,i,n,e[5],4237533241,21),n=h(n,o,r,i,e[12],1700485571,6),i=h(i,n,o,r,e[3],2399980690,10),r=h(r,i,n,o,e[10],4293915773,15),o=h(o,r,i,n,e[1],2240044497,21),n=h(n,o,r,i,e[8],1873313359,6),i=h(i,n,o,r,e[15],4264355552,10),r=h(r,i,n,o,e[6],2734768916,15),o=h(o,r,i,n,e[13],1309151649,21),n=h(n,o,r,i,e[4],4149444226,6),i=h(i,n,o,r,e[11],3174756917,10),r=h(r,i,n,o,e[2],718787259,15),o=h(o,r,i,n,e[9],3951481745,21),this._a=this._a+n|0,this._b=this._b+o|0,this._c=this._c+r|0,this._d=this._d+i|0},s.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=i.allocUnsafe(16);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e},e.exports=s},86630:(e,t,n)=>{"use strict";var o=n(62854);e.exports=function(e,t){return n=function(e){var t={};if(!e||!e.type)throw new Error("mdast-util-definitions expected node");return o(e,"definition",(function(e){var n=i(e.identifier);r.call(t,n)||(t[n]=e)})),t}(e),function(e){var t=e&&i(e);return t&&r.call(n,t)?n[t]:null};var n};var r={}.hasOwnProperty;function i(e){return e.toUpperCase()}},52962:(e,t,n)=>{"use strict";e.exports=function(e,t,n,o){var r,i;return"string"==typeof t||t&&"function"==typeof t.exec?i=[[t,n]]:(i=t,o=n),s(e,r=o||{},function e(t){var n=t[0];return function(o,i){var u,c,l,d,h=n[0],p=n[1],f=[],g=0,m=i.children.indexOf(o);for(h.lastIndex=0,c=h.exec(o.value);c&&(u=c.index,!1!==(d=p.apply(null,[].concat(c,{index:c.index,input:c.input})))&&(g!==u&&f.push({type:"text",value:o.value.slice(g,u)}),"string"==typeof d&&d.length>0&&(d={type:"text",value:d}),d&&(f=[].concat(f,d)),g=u+c[0].length),h.global);)c=h.exec(o.value);if(void 0===u?(f=[o],m--):(g1)for(l=e(t.slice(1)),u=-1;++u{"use strict";e.exports=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}},52524:(e,t,n)=>{"use strict";e.exports=function(e,t,n){return"string"!=typeof t&&(n=t,t=void 0),function(e){var t=e||{},n=function(e,t){for(var n=-1;++n-1&&(w.call(this,e),E.call(this,e))},link:y((function(){var e=this.stack[this.stack.length-1];f("inReference")?(e.type+="Reference",e.referenceType=f("referenceType")||"shortcut",delete e.url,delete e.title):(delete e.identifier,delete e.label,delete e.referenceType),l("referenceType")})),listItem:y(),listOrdered:y(),listUnordered:y(),paragraph:y(),referenceString:function(e){var t=this.resume();this.stack[this.stack.length-1].label=t,this.stack[this.stack.length-1].identifier=a(this.sliceSerialize(e)).toLowerCase(),l("referenceType","full")},resourceDestinationString:function(){var e=this.resume();this.stack[this.stack.length-1].url=e},resourceTitleString:function(){var e=this.resume();this.stack[this.stack.length-1].title=e},resource:function(){l("inReference")},setextHeading:y((function(){l("setextHeadingSlurpLineEnding")})),setextHeadingLineSequence:function(e){this.stack[this.stack.length-1].depth=61===this.sliceSerialize(e).charCodeAt(0)?1:2},setextHeadingText:function(){l("setextHeadingSlurpLineEnding",!0)},strong:y(),thematicBreak:y()}},t.mdastExtensions||[]),u={};return function(e){for(var t,o={type:"root",children:[]},a=[],s=[],u=-1,d={stack:[o],tokenStack:a,config:n,enter:F,exit:b,buffer:_,resume:v,setData:l,getData:f};++u{"use strict";e.exports=n(52524)},57824:(e,t,n)=>{var o=n(30932),r=n(52962),i=n(36996),a=n(10395);function s(e){this.config.enter.autolinkProtocol.call(this,e)}function u(e,t,n,r,i){var a,s,u="";return!!l(i)&&(/^w/i.test(t)&&(n=t+n,t="",u="http://"),!!function(e){var t=e.split(".");return!(t.length<2||t[t.length-1]&&(/_/.test(t[t.length-1])||!/[a-zA-Z\d]/.test(t[t.length-1]))||t[t.length-2]&&(/_/.test(t[t.length-2])||!/[a-zA-Z\d]/.test(t[t.length-2])))}(n)&&!!(a=function(e){var t,n,r,i=/[!"&'),.:;<>?\]}]+$/.exec(e);if(i)for(e=e.slice(0,i.index),t=(i=i[0]).indexOf(")"),n=o(e,"("),r=o(e,")");-1!==t&&n>r;)e+=i.slice(0,t+1),t=(i=i.slice(t+1)).indexOf(")"),r++;return[e,i]}(n+r))[0]&&(s={type:"link",title:null,url:u+t+a[0],children:[{type:"text",value:t+a[0]}]},a[1]&&(s=[s,{type:"text",value:a[1]}]),s))}function c(e,t,n,o){return!(!l(o,!0)||/[_-]$/.test(n))&&{type:"link",title:null,url:"mailto:"+t+"@"+n,children:[{type:"text",value:t+"@"+n}]}}function l(e,t){var n=e.input.charCodeAt(e.index-1);return(n!=n||a(n)||i(n))&&(!t||47!==n)}t.transforms=[function(e){r(e,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/i,u],[/([-.\w+]+)@([-\w]+(?:\.[-\w]+)+)/,c]],{ignore:["link","linkReference"]})}],t.enter={literalAutolink:function(e){this.enter({type:"link",title:null,url:"",children:[]},e)},literalAutolinkEmail:s,literalAutolinkHttp:s,literalAutolinkWww:s},t.exit={literalAutolink:function(e){this.exit(e)},literalAutolinkEmail:function(e){this.config.exit.autolinkEmail.call(this,e)},literalAutolinkHttp:function(e){this.config.exit.autolinkProtocol.call(this,e)},literalAutolinkWww:function(e){this.config.exit.data.call(this,e),this.stack[this.stack.length-1].url="http://"+this.sliceSerialize(e)}}},45574:(e,t)=>{var n="phrasing",o=["autolink","link","image","label"];t.unsafe=[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct:n,notInConstruct:o},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct:n,notInConstruct:o},{character:":",before:"[ps]",after:"\\/",inConstruct:n,notInConstruct:o}]},89828:(e,t)=>{t.canContainEols=["delete"],t.enter={strikethrough:function(e){this.enter({type:"delete",children:[]},e)}},t.exit={strikethrough:function(e){this.exit(e)}}},9888:(e,t,n)=>{var o=n(25362);function r(e,t,n){var r=n.enter("emphasis"),i=o(e,n,{before:"~",after:"~"});return r(),"~~"+i+"~~"}t.unsafe=[{character:"~",inConstruct:"phrasing"}],t.handlers={delete:r},r.peek=function(){return"~"}},4865:(e,t)=>{function n(e){this.exit(e)}function o(e){this.enter({type:"tableCell",children:[]},e)}function r(e,t){return"|"===t?t:e}t.enter={table:function(e){this.enter({type:"table",align:e._align,children:[]},e),this.setData("inTable",!0)},tableData:o,tableHeader:o,tableRow:function(e){this.enter({type:"tableRow",children:[]},e)}},t.exit={codeText:function(e){var t=this.resume();this.getData("inTable")&&(t=t.replace(/\\([\\|])/g,r)),this.stack[this.stack.length-1].value=t,this.exit(e)},table:function(e){this.exit(e),this.setData("inTable")},tableData:n,tableHeader:n,tableRow:n}},63046:(e,t,n)=>{var o=n(25362),r=n(11595),i=n(78234);e.exports=function(e){var t=e||{},n=t.tableCellPadding,a=t.tablePipeAlign,s=t.stringLength,u=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:"\n",inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[\t :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{table:function(e,t,n){return l(function(e,t){for(var n=e.children,o=-1,r=n.length,i=[],a=t.enter("table");++o{function n(e){this.stack[this.stack.length-2].checked="taskListCheckValueChecked"===e.type}t.exit={taskListCheckValueChecked:n,taskListCheckValueUnchecked:n,paragraph:function(e){var t,n=this.stack[this.stack.length-2],o=this.stack[this.stack.length-1],r=n.children,i=o.children[0],a=-1;if(n&&"listItem"===n.type&&"boolean"==typeof n.checked&&i&&"text"===i.type){for(;++a{var o=n(48618);t.unsafe=[{atBreak:!0,character:"-",after:"[:|-]"}],t.handlers={listItem:function(e,t,n){var r=o(e,t,n),i=e.children[0];return"boolean"==typeof e.checked&&i&&"paragraph"===i.type&&(r=r.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,(function(t){return t+"["+(e.checked?"x":" ")+"] "}))),r}}},10438:(e,t,n)=>{var o=n(57824),r=n(89828),i=n(4865),a=n(29511),s={}.hasOwnProperty;function u(e,t){var n,o,r;for(n in t)o=s.call(e,n)?e[n]:e[n]={},r=t[n],"canContainEols"===n||"transforms"===n?e[n]=[].concat(o,r):Object.assign(o,r)}e.exports=function(e){for(var t={transforms:[],canContainEols:[]},n=e.length,o=-1;++o{var o=n(45574),r=n(9888),i=n(63046),a=n(94625),s=n(2564);e.exports=function(e){var t=s({handlers:{},join:[],unsafe:[],options:{}},{extensions:[o,r,i(e),a]});return Object.assign(t.options,{handlers:t.handlers,join:t.join,unsafe:t.unsafe})}},55288:(e,t,n)=>{"use strict";e.exports=n(31601)},95426:(e,t,n)=>{"use strict";e.exports=function(e,t){for(var n,r,i=t.children||[],a=i.length,s=[],u=-1;++u{"use strict";e.exports=function(e){for(var t,n,a,s,u=e.footnoteById,c=e.footnoteOrder,l=c.length,d=-1,h=[];++d{"use strict";e.exports=function(e,t){return e(t,"blockquote",o(r(e,t),!0))};var o=n(96115),r=n(95426)},13562:(e,t,n)=>{"use strict";e.exports=function(e,t){return[e(t,"br"),o("text","\n")]};var o=n(50914)},37891:(e,t,n)=>{"use strict";e.exports=function(e,t){var n,r=t.value?t.value+"\n":"",i=t.lang&&t.lang.match(/^[^ \t]+(?=[ \t]|$)/),a={};return i&&(a.className=["language-"+i]),n=e(t,"code",a,[o("text",r)]),t.meta&&(n.data={meta:t.meta}),e(t.position,"pre",[n])};var o=n(50914)},59381:(e,t,n)=>{"use strict";e.exports=function(e,t){return e(t,"del",o(e,t))};var o=n(95426)},80790:(e,t,n)=>{"use strict";e.exports=function(e,t){return e(t,"em",o(e,t))};var o=n(95426)},58235:(e,t,n)=>{"use strict";e.exports=function(e,t){var n=e.footnoteOrder,r=String(t.identifier);return-1===n.indexOf(r)&&n.push(r),e(t.position,"sup",{id:"fnref-"+r},[e(t,"a",{href:"#fn-"+r,className:["footnote-ref"]},[o("text",t.label||r)])])};var o=n(50914)},85758:(e,t,n)=>{"use strict";e.exports=function(e,t){for(var n=e.footnoteById,r=e.footnoteOrder,i=1;i in n;)i++;return i=String(i),r.push(i),n[i]={type:"footnoteDefinition",identifier:i,children:[{type:"paragraph",children:t.children}],position:t.position},o(e,{type:"footnoteReference",identifier:i,position:t.position})};var o=n(58235)},34890:(e,t,n)=>{"use strict";e.exports=function(e,t){return e(t,"h"+t.depth,o(e,t))};var o=n(95426)},92202:(e,t,n)=>{"use strict";e.exports=function(e,t){return e.dangerous?e.augment(t,o("raw",t.value)):null};var o=n(50914)},71454:(e,t,n)=>{"use strict";e.exports=function(e,t){var n,i=e.definition(t.identifier);return i?(n={src:o(i.url||""),alt:t.alt},null!==i.title&&void 0!==i.title&&(n.title=i.title),e(t,"img",n)):r(e,t)};var o=n(70729),r=n(713)},5037:(e,t,n)=>{"use strict";var o=n(70729);e.exports=function(e,t){var n={src:o(t.url),alt:t.alt};return null!==t.title&&void 0!==t.title&&(n.title=t.title),e(t,"img",n)}},44617:(e,t,n)=>{"use strict";function o(){return null}e.exports={blockquote:n(34590),break:n(13562),code:n(37891),delete:n(59381),emphasis:n(80790),footnoteReference:n(58235),footnote:n(85758),heading:n(34890),html:n(92202),imageReference:n(71454),image:n(5037),inlineCode:n(28409),linkReference:n(79266),link:n(20404),listItem:n(94463),list:n(47888),paragraph:n(68346),root:n(68100),strong:n(4970),table:n(72605),text:n(50989),thematicBreak:n(37552),toml:o,yaml:o,definition:o,footnoteDefinition:o}},28409:(e,t,n)=>{"use strict";e.exports=function(e,t){var n=t.value.replace(/\r?\n|\r/g," ");return e(t,"code",[o("text",n)])};var o=n(50914)},79266:(e,t,n)=>{"use strict";e.exports=function(e,t){var n,a=e.definition(t.identifier);return a?(n={href:o(a.url||"")},null!==a.title&&void 0!==a.title&&(n.title=a.title),e(t,"a",n,i(e,t))):r(e,t)};var o=n(70729),r=n(713),i=n(95426)},20404:(e,t,n)=>{"use strict";var o=n(70729),r=n(95426);e.exports=function(e,t){var n={href:o(t.url)};return null!==t.title&&void 0!==t.title&&(n.title=t.title),e(t,"a",n,r(e,t))}},94463:(e,t,n)=>{"use strict";e.exports=function(e,t,n){var a,s,u,c=r(e,t),l=c[0],d=n?function(e){for(var t=e.spread,n=e.children,o=n.length,r=-1;!t&&++r0&&l.children.unshift(o("text"," ")),l.children.unshift(e(null,"input",{type:"checkbox",checked:t.checked,disabled:!0})),h.className=["task-list-item"]),a=c.length,s=-1;++s1:t}},47888:(e,t,n)=>{"use strict";e.exports=function(e,t){var n,i,a={},s=t.ordered?"ol":"ul",u=-1;for("number"==typeof t.start&&1!==t.start&&(a.start=t.start),i=(n=r(e,t)).length;++u{"use strict";e.exports=function(e,t){return e(t,"p",o(e,t))};var o=n(95426)},68100:(e,t,n)=>{"use strict";e.exports=function(e,t){return e.augment(t,o("root",r(i(e,t))))};var o=n(50914),r=n(96115),i=n(95426)},4970:(e,t,n)=>{"use strict";e.exports=function(e,t){return e(t,"strong",o(e,t))};var o=n(95426)},72605:(e,t,n)=>{"use strict";e.exports=function(e,t){for(var n,a,s,u,c,l=t.children,d=l.length,h=t.align||[],p=h.length,f=[];d--;){for(a=l[d].children,u=0===d?"th":"td",n=p||a.length,s=[];n--;)c=a[n],s[n]=e(c,u,{align:h[n]},c?i(e,c):[]);f[d]=e(l[d],"tr",r(s,!0))}return e(t,"table",r([e(f[0].position,"thead",r([f[0]],!0))].concat(f[1]?e({start:o.start(f[1]),end:o.end(f[f.length-1])},"tbody",r(f.slice(1),!0)):[]),!0))};var o=n(77361),r=n(96115),i=n(95426)},50989:(e,t,n)=>{"use strict";e.exports=function(e,t){return e.augment(t,o("text",String(t.value).replace(/[ \t]*(\r?\n|\r)[ \t]*/g,"$1")))};var o=n(50914)},37552:e=>{"use strict";e.exports=function(e,t){return e(t,"hr")}},31601:(e,t,n)=>{"use strict";e.exports=function(e,t){var n=function(e,t){var n=t||{};void 0===n.allowDangerousHTML||h||(h=!0,console.warn("mdast-util-to-hast: deprecation: `allowDangerousHTML` is nonstandard, use `allowDangerousHtml` instead"));var o=n.allowDangerousHtml||n.allowDangerousHTML,u={};return p.dangerous=o,p.definition=s(e),p.footnoteById=u,p.footnoteOrder=[],p.augment=c,p.handlers=Object.assign({},l,n.handlers),p.unknownHandler=n.unknownHandler,p.passThrough=n.passThrough,r(e,"footnoteDefinition",(function(e){var t=String(e.identifier).toUpperCase();d.call(u,t)||(u[t]=e)})),p;function c(e,t){var n,o;return e&&e.data&&((n=e.data).hName&&("element"!==t.type&&(t={type:"element",tagName:"",properties:{},children:[]}),t.tagName=n.hName),"element"===t.type&&n.hProperties&&(t.properties=Object.assign({},t.properties,n.hProperties)),t.children&&n.hChildren&&(t.children=n.hChildren)),o=e&&e.position?e:{position:e},a(o)||(t.position={start:i.start(o),end:i.end(o)}),t}function p(e,t,n,o){return null==o&&"object"==typeof n&&"length"in n&&(o=n,n={}),c(e,{type:"element",tagName:t,properties:n||{},children:o||[]})}}(e,t),p=u(n,e),f=c(n);return f&&(p.children=p.children.concat(o("text","\n"),f)),p};var o=n(50914),r=n(62854),i=n(77361),a=n(61744),s=n(86630),u=n(60719),c=n(61696),l=n(44617),d={}.hasOwnProperty,h=!1},60719:(e,t,n)=>{"use strict";e.exports=function(e,t,n){var o,r=t&&t.type;if(!r)throw new Error("Expected node, got `"+t+"`");return("function"==typeof(o=i.call(e.handlers,r)?e.handlers[r]:e.passThrough&&e.passThrough.indexOf(r)>-1?s:e.unknownHandler)?o:a)(e,t,n)};var o=n(50914),r=n(95426),i={}.hasOwnProperty;function a(e,t){return function(e){var t=e.data||{};return!(i.call(t,"hName")||i.call(t,"hProperties")||i.call(t,"hChildren"))&&"value"in e}(t)?e.augment(t,o("text",t.value)):e(t,"div",r(e,t))}function s(e,t){var n;return t.children?((n=Object.assign({},t)).children=r(e,t),n):t}},713:(e,t,n)=>{"use strict";e.exports=function(e,t){var n,i,a,s=t.referenceType,u="]";return"collapsed"===s?u+="[]":"full"===s&&(u+="["+(t.label||t.identifier)+"]"),"imageReference"===t.type?o("text","!["+t.alt+u):((i=(n=r(e,t))[0])&&"text"===i.type?i.value="["+i.value:n.unshift(o("text","[")),(a=n[n.length-1])&&"text"===a.type?a.value+=u:n.push(o("text",u)),n)};var o=n(50914),r=n(95426)},96115:(e,t,n)=>{"use strict";e.exports=function(e,t){var n=[],r=-1,i=e.length;for(t&&n.push(o("text","\n"));++r0&&n.push(o("text","\n")),n};var o=n(50914)},2564:e=>{e.exports=function e(t,n){var o,r=-1;if(n.extensions)for(;++r{e.exports=r,r.peek=function(){return"`"};var o=n(84553);function r(e,t,n){for(var r,i,a,s,u=e.value||"",c="`",l=-1;new RegExp("(^|[^`])"+c+"([^`]|$)").test(u);)c+="`";for(/[^ \r\n]/.test(u)&&(/[ \r\n`]/.test(u.charAt(0))||/[ \r\n`]/.test(u.charAt(u.length-1)))&&(u=" "+u+" ");++l{e.exports=function(e,t,n){var u,c,l,d=r(n),h=i(n);return t&&t.ordered&&(d=(t.start>-1?t.start:1)+(!1===n.options.incrementListMarker?0:t.children.indexOf(e))+"."),u=d.length+1,("tab"===h||"mixed"===h&&(t&&t.spread||e.spread))&&(u=4*Math.ceil(u/4)),l=n.enter("listItem"),c=s(a(e,n),(function(e,t,n){return t?(n?"":o(" ",u))+e:(n?d:d+o(" ",u-d.length))+e})),l(),c};var o=n(96464),r=n(89400),i=n(56636),a=n(93493),s=n(92670)},89400:e=>{e.exports=function(e){var t=e.options.bullet||"*";if("*"!==t&&"+"!==t&&"-"!==t)throw new Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}},56636:e=>{e.exports=function(e){var t=e.options.listItemIndent||"tab";if(1===t||"1"===t)return"one";if("tab"!==t&&"one"!==t&&"mixed"!==t)throw new Error("Cannot serialize items with `"+t+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return t}},93493:(e,t,n)=>{e.exports=function(e,t){for(var n,r=e.children||[],i=[],a=-1;++a{e.exports=function(e,t,n){for(var o,r,i,a=e.children||[],s=[],u=-1,c=n.before;++u0&&("\r"===c||"\n"===c)&&"html"===i.type&&(s[s.length-1]=s[s.length-1].replace(/(\r?\n|\r)$/," "),c=" "),s.push(t.handle(i,e,t,{before:c,after:o})),c=s[s.length-1].slice(-1);return s.join("")}},92670:e=>{e.exports=function(e,n){for(var o,r=[],i=0,a=0;o=t.exec(e);)s(e.slice(i,o.index)),r.push(o[0]),i=o.index+o[0].length,a++;return s(e.slice(i)),r.join("");function s(e){r.push(n(e,a,!e))}};var t=/\r?\n|\r/g},84553:e=>{e.exports=function(e){var t,n;return e._compiled||(t=e.before?"(?:"+e.before+")":"",n=e.after?"(?:"+e.after+")":"",e.atBreak&&(t="[\\r\\n][\\t ]*"+t),e._compiled=new RegExp((t?"("+t+")":"")+(/[|\\{}()[\]^$+*?.-]/.test(e.character)?"\\":"")+e.character+(n||""),"g")),e._compiled}},4999:e=>{"use strict";function t(e){return e&&(e.value||e.alt||e.title||"children"in e&&n(e.children)||"length"in e&&n(e))||""}function n(e){for(var n=[],o=-1;++o{"use strict";var t={};function n(e,o,r){var i,a,s,u,c,l="";for("string"!=typeof o&&(r=o,o=n.defaultChars),void 0===r&&(r=!0),c=function(e){var n,o,r=t[e];if(r)return r;for(r=t[e]=[],n=0;n<128;n++)o=String.fromCharCode(n),/^[0-9a-z]$/i.test(o)?r.push(o):r.push("%"+("0"+n.toString(16).toUpperCase()).slice(-2));for(n=0;n=55296&&s<=57343){if(s>=55296&&s<=56319&&i+1=56320&&u<=57343){l+=encodeURIComponent(e[i]+e[i+1]),i++;continue}l+="%EF%BF%BD"}else l+=encodeURIComponent(e[i]);return l}n.defaultChars=";/?:@&=+$,-_.!~*'()#",n.componentChars="-_.!~*'()",e.exports=n},57539:(e,t,n)=>{e.exports=n(62346)},62346:(e,t,n)=>{var o=n(76734),r=n(46712),i=n(89696),a=n(17238),s=n(36996),u=n(10395),c={tokenize:function(e,t,n){return function(t){return e.consume(t),o};function o(t){return 87===t||t-32==87?(e.consume(t),r):n(t)}function r(t){return 87===t||t-32==87?(e.consume(t),i):n(t)}function i(t){return 46===t?(e.consume(t),s):n(t)}function s(e){return null===e||a(e)?n(e):t(e)}},partial:!0},l={tokenize:function(e,t,n){var o,r;return a;function a(t){return 38===t?e.check(p,l,c)(t):46===t||95===t?e.check(h,l,c)(t):i(t)||u(t)||45!==t&&s(t)?l(t):(e.consume(t),a)}function c(t){return 46===t?(r=o,o=void 0,e.consume(t),a):(95===t&&(o=!0),e.consume(t),a)}function l(e){return r||o?n(e):t(e)}},partial:!0},d={tokenize:function(e,t){var n=0;return o;function o(a){return 38===a?e.check(p,t,r)(a):(40===a&&n++,41===a?e.check(h,i,r)(a):b(a)?t(a):y(a)?e.check(h,t,r)(a):(e.consume(a),o))}function r(t){return e.consume(t),o}function i(e){return--n<0?t(e):r(e)}},partial:!0},h={tokenize:function(e,t,n){return function(t){return e.consume(t),o};function o(r){return y(r)?(e.consume(r),o):b(r)?t(r):n(r)}},partial:!0},p={tokenize:function(e,t,n){return function(t){return e.consume(t),r};function r(t){return o(t)?(e.consume(t),r):59===t?(e.consume(t),i):n(t)}function i(e){return b(e)?t(e):n(e)}},partial:!0},f={tokenize:function(e,t,n){var o=this;return function(t){return 87!==t&&t-32!=87||!w(o.previous)||D(o.events)?n(t):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(c,e.attempt(l,e.attempt(d,r),n),n)(t))};function r(n){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(n)}},previous:w},g={tokenize:function(e,t,n){var o=this;return function(t){return 72!==t&&t-32!=72||!E(o.previous)||D(o.events)?n(t):(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),e.consume(t),r)};function r(t){return 84===t||t-32==84?(e.consume(t),a):n(t)}function a(t){return 84===t||t-32==84?(e.consume(t),c):n(t)}function c(t){return 80===t||t-32==80?(e.consume(t),h):n(t)}function h(t){return 83===t||t-32==83?(e.consume(t),p):p(t)}function p(t){return 58===t?(e.consume(t),f):n(t)}function f(t){return 47===t?(e.consume(t),g):n(t)}function g(t){return 47===t?(e.consume(t),m):n(t)}function m(t){return i(t)||u(t)||s(t)?n(t):e.attempt(l,e.attempt(d,_),n)(t)}function _(n){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(n)}},previous:E},m={tokenize:function(e,t,n){var o,i=this;return function(t){return v(t)&&k(i.previous)&&!D(i.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),a(t)):n(t)};function a(t){return v(t)?(e.consume(t),a):64===t?(e.consume(t),s):n(t)}function s(t){return 46===t?e.check(h,d,u)(t):45===t||95===t?e.check(h,n,c)(t):r(t)?(e.consume(t),s):d(t)}function u(t){return e.consume(t),o=!0,s}function c(t){return e.consume(t),l}function l(t){return 46===t?e.check(h,n,u)(t):s(t)}function d(r){return o?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),t(r)):n(r)}},previous:k},_={};t.text=_;for(var F=48;F<123;)_[F]=m,58==++F?F=65:91===F&&(F=97);function y(e){return 33===e||34===e||39===e||41===e||42===e||44===e||46===e||58===e||59===e||60===e||63===e||95===e||126===e}function b(e){return null===e||e<0||32===e||60===e}function v(e){return 43===e||45===e||46===e||95===e||r(e)}function w(e){return null===e||e<0||32===e||40===e||42===e||95===e||126===e}function E(e){return null===e||!o(e)}function k(e){return 47!==e&&E(e)}function D(e){for(var t=e.length;t--;)if(("labelLink"===e[t][1].type||"labelImage"===e[t][1].type)&&!e[t][1]._balanced)return!0}_[43]=m,_[45]=m,_[46]=m,_[95]=m,_[72]=[m,g],_[104]=[m,g],_[87]=[m,f],_[119]=[m,f]},3490:(e,t,n)=>{e.exports=function(e){var t=(e||{}).singleTilde,n={tokenize:function(e,n,r){var i=this.previous,a=this.events,s=0;return function(t){return 126!==t||126===i&&"characterEscape"!==a[a.length-1][1].type?r(t):(e.enter("strikethroughSequenceTemporary"),u(t))};function u(a){var c,l,d=o(i);return 126===a?s>1?r(a):(e.consume(a),s++,u):s<2&&!t?r(a):(c=e.exit("strikethroughSequenceTemporary"),l=o(a),c._open=!l||2===l&&d,c._close=!d||2===d&&l,n(a))}},resolveAll:function(e,t){for(var n,o,s,u,c=-1;++c{e.exports=n(23993)},23993:(e,t,n)=>{t.flow={null:{tokenize:function(e,t,n){var a,s,u=[],c=0;return function(t){return null===t||-5===t||-4===t||-3===t?n(t):(e.enter("table")._align=u,e.enter("tableHead"),e.enter("tableRow"),124===t?l(t):(c++,e.enter("temporaryTableCellContent"),p(t)))};function l(t){return e.enter("tableCellDivider"),e.consume(t),e.exit("tableCellDivider"),a=!0,d}function d(t){return null===t||-5===t||-4===t||-3===t?function(t){return null===t?n(t):(e.exit("tableRow"),e.exit("tableHead"),e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),e.check(r,n,o(e,g,"linePrefix",4)))}(t):-2===t||-1===t||32===t?(e.enter("whitespace"),e.consume(t),h):(a&&(a=void 0,c++),124===t?l(t):(e.enter("temporaryTableCellContent"),p(t)))}function h(t){return-2===t||-1===t||32===t?(e.consume(t),h):(e.exit("whitespace"),d(t))}function p(t){return null===t||t<0||32===t||124===t?(e.exit("temporaryTableCellContent"),d(t)):(e.consume(t),92===t?f:p)}function f(t){return 92===t||124===t?(e.consume(t),p):p(t)}function g(t){return null===t||t<0||32===t?n(t):(e.enter("tableDelimiterRow"),m(t))}function m(t){return null===t||-5===t||-4===t||-3===t?v(t):-2===t||-1===t||32===t?(e.enter("whitespace"),e.consume(t),_):45===t?(e.enter("tableDelimiterFiller"),e.consume(t),s=!0,u.push(null),F):58===t?(e.enter("tableDelimiterAlignment"),e.consume(t),e.exit("tableDelimiterAlignment"),u.push("left"),y):124===t?(e.enter("tableCellDivider"),e.consume(t),e.exit("tableCellDivider"),m):n(t)}function _(t){return-2===t||-1===t||32===t?(e.consume(t),_):(e.exit("whitespace"),m(t))}function F(t){return 45===t?(e.consume(t),F):(e.exit("tableDelimiterFiller"),58===t?(e.enter("tableDelimiterAlignment"),e.consume(t),e.exit("tableDelimiterAlignment"),u[u.length-1]="left"===u[u.length-1]?"center":"right",b):m(t))}function y(t){return 45===t?(e.enter("tableDelimiterFiller"),e.consume(t),s=!0,F):n(t)}function b(t){return null===t||-5===t||-4===t||-3===t?v(t):-2===t||-1===t||32===t?(e.enter("whitespace"),e.consume(t),_):124===t?(e.enter("tableCellDivider"),e.consume(t),e.exit("tableCellDivider"),m):n(t)}function v(t){return e.exit("tableDelimiterRow"),s&&c===u.length?null===t?w(t):e.check(i,w,E)(t):n(t)}function w(n){return e.exit("table"),t(n)}function E(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),o(e,k,"linePrefix",4)}function k(t){return e.enter("tableBody"),D(t)}function D(t){return e.enter("tableRow"),124===t?S(t):(e.enter("temporaryTableCellContent"),A(t))}function S(t){return e.enter("tableCellDivider"),e.consume(t),e.exit("tableCellDivider"),x}function x(t){return null===t||-5===t||-4===t||-3===t?function(t){return e.exit("tableRow"),null===t?R(t):e.check(i,R,I)(t)}(t):-2===t||-1===t||32===t?(e.enter("whitespace"),e.consume(t),C):124===t?S(t):(e.enter("temporaryTableCellContent"),A(t))}function C(t){return-2===t||-1===t||32===t?(e.consume(t),C):(e.exit("whitespace"),x(t))}function A(t){return null===t||t<0||32===t||124===t?(e.exit("temporaryTableCellContent"),x(t)):(e.consume(t),92===t?T:A)}function T(t){return 92===t||124===t?(e.consume(t),A):A(t)}function R(t){return e.exit("tableBody"),w(t)}function I(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),o(e,D,"linePrefix",4)}},resolve:function(e,t){for(var n,o,r,i,a,s,u,c,l,d,h=e.length,p=-1;++p{e.exports=n(27224)},27224:(e,t,n)=>{var o=n(88367),r=n(52928),i=n(15096),a={tokenize:function(e,t,n){var o=this;return function(t){return 91===t&&null===o.previous&&o._gfmTasklistFirstContentOfListItem?(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(t),e.exit("taskListCheckMarker"),r):n(t)};function r(t){return-2===t||32===t?(e.enter("taskListCheckValueUnchecked"),e.consume(t),e.exit("taskListCheckValueUnchecked"),i):88===t||120===t?(e.enter("taskListCheckValueChecked"),e.consume(t),e.exit("taskListCheckValueChecked"),i):n(t)}function i(o){return 93===o?(e.enter("taskListCheckMarker"),e.consume(o),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),e.check({tokenize:s},t,n)):n(o)}}};function s(e,t,n){var a=this;return r(e,(function(e){return i(a.events,"whitespace")&&null!==e&&!o(e)?t(e):n(e)}),"whitespace")}t.text={91:a}},82747:(e,t,n)=>{e.exports=n(2518)},2518:(e,t,n)=>{var o=n(12952),r=n(57539),i=n(3490),a=n(81286),s=n(5675);e.exports=function(e){return o([r,i(e),a,s])}},76734:(e,t,n)=>{"use strict";var o=n(2841)(/[A-Za-z]/);e.exports=o},46712:(e,t,n)=>{"use strict";var o=n(2841)(/[\dA-Za-z]/);e.exports=o},13571:(e,t,n)=>{"use strict";var o=n(2841)(/[#-'*+\--9=?A-Z^-~]/);e.exports=o},89696:e=>{"use strict";e.exports=function(e){return e<32||127===e}},73977:(e,t,n)=>{"use strict";var o=n(2841)(/\d/);e.exports=o},56238:(e,t,n)=>{"use strict";var o=n(2841)(/[\dA-Fa-f]/);e.exports=o},83074:(e,t,n)=>{"use strict";var o=n(2841)(/[!-/:-@[-`{-~]/);e.exports=o},88367:e=>{"use strict";e.exports=function(e){return e<0||32===e}},17238:e=>{"use strict";e.exports=function(e){return e<-2}},73654:e=>{"use strict";e.exports=function(e){return-2===e||-1===e||32===e}},36996:(e,t,n)=>{"use strict";var o=n(76830),r=n(2841)(o);e.exports=r},10395:(e,t,n)=>{"use strict";var o=n(2841)(/\s/);e.exports=o},99198:e=>{"use strict";var t=Object.assign;e.exports=t},93267:e=>{"use strict";var t=String.fromCharCode;e.exports=t},46706:e=>{"use strict";var t={}.hasOwnProperty;e.exports=t},57139:e=>{"use strict";e.exports=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","section","source","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"]},16871:e=>{"use strict";e.exports=["pre","script","style","textarea"]},21362:e=>{"use strict";var t=[].splice;e.exports=t},76830:e=>{"use strict";e.exports=/[!-\/:-@\[-`\{-~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]/},36274:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=n(97082),r=n(47542),i=n(1349),a=n(45485),s=n(49653),u=n(36713),c=n(46597),l=n(20431),d=n(60026),h=n(93865),p=n(65694),f=n(596),g=n(76872),m=n(28911),_=n(31294),F=n(36215),y=n(60534),b=n(92607),v=n(46931),w=n(15874),E=n(37039),k={42:v,43:v,45:v,48:v,49:v,50:v,51:v,52:v,53:v,54:v,55:v,56:v,57:v,62:a},D={91:h},S={"-2":l,"-1":l,32:l},x={35:f,42:E,45:[w,E],60:g,61:w,95:E,96:c,126:c},C={38:u,92:s},A={"-5":b,"-4":b,"-3":b,33:F,38:u,42:r,60:[i,m],91:y,92:[p,s],93:_,95:r,96:d},T={null:[r,o.resolver]};t.contentInitial=D,t.disable={null:[]},t.document=k,t.flow=x,t.flowInitial=S,t.insideSpan=T,t.string=C,t.text=A},13745:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=n(17238),r=n(52928);t.tokenize=function(e){var t,n=e.attempt(this.parser.constructs.contentInitial,(function(t){if(null!==t)return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),r(e,n,"linePrefix");e.consume(t)}),(function(t){return e.enter("paragraph"),i(t)}));return n;function i(n){var o=e.enter("chunkText",{contentType:"text",previous:t});return t&&(t.next=o),t=o,a(n)}function a(t){return null===t?(e.exit("chunkText"),e.exit("paragraph"),void e.consume(t)):o(t)?(e.consume(t),e.exit("chunkText"),i):(e.consume(t),a)}}},14201:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=n(17238),r=n(52928),i=n(66532),a={tokenize:function(e,t,n){return r(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.indexOf("codeIndented")>-1?void 0:4)}},s={tokenize:function(e,t,n){return r(e,e.lazy(this.parser.constructs.flow,t,n),"linePrefix",this.parser.constructs.disable.null.indexOf("codeIndented")>-1?void 0:4)}};t.tokenize=function(e){var t,n,r,u=this,c=[],l=0,d={tokenize:function(e,o){var r=0;return t={},l;function l(o){return rt;)u.containerState=c[i][1],c[i][0].exit.call(u,e);c.length=t}}},22871:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=n(64590),r=n(52928),i=n(66532);t.tokenize=function(e){var t=this,n=e.attempt(i,(function(o){if(null!==o)return e.enter("lineEndingBlank"),e.consume(o),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n;e.consume(o)}),e.attempt(this.parser.constructs.flowInitial,a,r(e,e.attempt(this.parser.constructs.flow,a,e.attempt(o,a)),"linePrefix")));return n;function a(o){if(null!==o)return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),t.currentConstruct=void 0,n;e.consume(o)}}},97082:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=n(99198),r=n(75923),i=u("text"),a=u("string"),s={resolveAll:c()};function u(e){return{tokenize:function(t){var n=this,o=this.parser.constructs[e],r=t.attempt(o,i,a);return i;function i(e){return u(e)?r(e):a(e)}function a(e){if(null!==e)return t.enter("data"),t.consume(e),s;t.consume(e)}function s(e){return u(e)?(t.exit("data"),r(e)):(t.consume(e),s)}function u(e){var t=o[e],r=-1;if(null===e)return!0;if(t)for(;++r{"use strict";var o=n(13745),r=n(14201),i=n(22871),a=n(97082),s=n(12952),u=n(21388),c=n(28180),l=n(36274);e.exports=function(e){var t={defined:[],constructs:s([l].concat(c((e||{}).extensions))),content:n(o),document:n(r),flow:n(i),string:n(a.string),text:n(a.text)};return t;function n(e){return function(n){return u(t,e,n)}}}},61242:(e,t,n)=>{"use strict";var o=n(84423);e.exports=function(e){for(;!o(e););return e}},30162:e=>{"use strict";var t=/[\0\t\n\r]/g;e.exports=function(){var e,n=!0,o=1,r="";return function(i,a,s){var u,c,l,d,h,p=[];for(i=r+i.toString(a),l=0,r="",n&&(65279===i.charCodeAt(0)&&l++,n=void 0);l{"use strict";var o=n(78811),r=n(56808),i=n(19444),a=n(15644),s=n(58280),u=n(75923),c={name:"attention",tokenize:function(e,t){var n,o=i(this.previous);return function(t){return e.enter("attentionSequence"),n=t,r(t)};function r(a){var s,u,c,l;return a===n?(e.consume(a),r):(s=e.exit("attentionSequence"),c=!(u=i(a))||2===u&&o,l=!o||2===o&&u,s._open=42===n?c:c&&(o||!l),s._close=42===n?l:l&&(u||!c),t(a))}},resolveAll:function(e,t){for(var n,i,c,l,d,h,p,f,g=-1;++g1&&e[g][1].end.offset-e[g][1].start.offset>1?2:1)>1?"strongSequence":"emphasisSequence",start:a(u(e[n][1].end),-h),end:u(e[n][1].end)},d={type:h>1?"strongSequence":"emphasisSequence",start:u(e[g][1].start),end:a(u(e[g][1].start),h)},c={type:h>1?"strongText":"emphasisText",start:u(e[n][1].end),end:u(e[g][1].start)},i={type:h>1?"strong":"emphasis",start:u(l.start),end:u(d.end)},e[n][1].end=u(l.start),e[g][1].start=u(d.end),p=[],e[n][1].end.offset-e[n][1].start.offset&&(p=o(p,[["enter",e[n][1],t],["exit",e[n][1],t]])),p=o(p,[["enter",i,t],["enter",l,t],["exit",l,t],["enter",c,t]]),p=o(p,s(t.parser.constructs.insideSpan.null,e.slice(n+1,g),t)),p=o(p,[["exit",c,t],["enter",d,t],["exit",d,t],["exit",i,t]]),e[g][1].end.offset-e[g][1].start.offset?(f=2,p=o(p,[["enter",e[g][1],t],["exit",e[g][1],t]])):f=0,r(e,n-1,g-n+3,p),g=n+p.length-f-2;break}for(g=-1;++g{"use strict";var o=n(76734),r=n(46712),i=n(13571),a=n(89696),s={name:"autolink",tokenize:function(e,t,n){var s=1;return function(t){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(t),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),u};function u(t){return o(t)?(e.consume(t),c):i(t)?h(t):n(t)}function c(e){return 43===e||45===e||46===e||r(e)?l(e):h(e)}function l(t){return 58===t?(e.consume(t),d):(43===t||45===t||46===t||r(t))&&s++<32?(e.consume(t),l):h(t)}function d(t){return 62===t?(e.exit("autolinkProtocol"),m(t)):32===t||60===t||a(t)?n(t):(e.consume(t),d)}function h(t){return 64===t?(e.consume(t),s=0,p):i(t)?(e.consume(t),h):n(t)}function p(e){return r(e)?f(e):n(e)}function f(t){return 46===t?(e.consume(t),s=0,p):62===t?(e.exit("autolinkProtocol").type="autolinkEmail",m(t)):g(t)}function g(t){return(45===t||r(t))&&s++<63?(e.consume(t),45===t?g:f):n(t)}function m(n){return e.enter("autolinkMarker"),e.consume(n),e.exit("autolinkMarker"),e.exit("autolink"),t}}};e.exports=s},45485:(e,t,n)=>{"use strict";var o=n(73654),r=n(52928),i={name:"blockQuote",tokenize:function(e,t,n){var r=this;return function(t){return 62===t?(r.containerState.open||(e.enter("blockQuote",{_container:!0}),r.containerState.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(t),e.exit("blockQuoteMarker"),i):n(t)};function i(n){return o(n)?(e.enter("blockQuotePrefixWhitespace"),e.consume(n),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),t):(e.exit("blockQuotePrefix"),t(n))}},continuation:{tokenize:function(e,t,n){return r(e,e.attempt(i,t,n),"linePrefix",this.parser.constructs.disable.null.indexOf("codeIndented")>-1?void 0:4)}},exit:function(e){e.exit("blockQuote")}};e.exports=i},49653:(e,t,n)=>{"use strict";var o=n(83074),r={name:"characterEscape",tokenize:function(e,t,n){return function(t){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(t),e.exit("escapeMarker"),r};function r(r){return o(r)?(e.enter("characterEscapeValue"),e.consume(r),e.exit("characterEscapeValue"),e.exit("characterEscape"),t):n(r)}}};e.exports=r},36713:(e,t,n)=>{"use strict";var o=n(89435),r=n(46712),i=n(73977),a=n(56238);function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=s(o),c={name:"characterReference",tokenize:function(e,t,n){var o,s,c=this,l=0;return function(t){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(t),e.exit("characterReferenceMarker"),d};function d(t){return 35===t?(e.enter("characterReferenceMarkerNumeric"),e.consume(t),e.exit("characterReferenceMarkerNumeric"),h):(e.enter("characterReferenceValue"),o=31,s=r,p(t))}function h(t){return 88===t||120===t?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(t),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),o=6,s=a,p):(e.enter("characterReferenceValue"),o=7,s=i,p(t))}function p(i){var a;return 59===i&&l?(a=e.exit("characterReferenceValue"),s!==r||u.default(c.sliceSerialize(a))?(e.enter("characterReferenceMarker"),e.consume(i),e.exit("characterReferenceMarker"),e.exit("characterReference"),t):n(i)):s(i)&&l++{"use strict";var o=n(17238),r=n(88367),i=n(15096),a=n(52928),s={name:"codeFenced",tokenize:function(e,t,n){var s,u=this,c={tokenize:function(e,t,n){var r=0;return a(e,(function(t){return e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),i(t)}),"linePrefix",this.parser.constructs.disable.null.indexOf("codeIndented")>-1?void 0:4);function i(t){return t===s?(e.consume(t),r++,i):r{"use strict";var o=n(17238),r=n(56808),i=n(15096),a=n(52928),s={name:"codeIndented",tokenize:function(e,t,n){return e.attempt(u,r,n);function r(n){return null===n?t(n):o(n)?e.attempt(u,r,t)(n):(e.enter("codeFlowValue"),i(n))}function i(t){return null===t||o(t)?(e.exit("codeFlowValue"),r(t)):(e.consume(t),i)}},resolve:function(e,t){var n={type:"codeIndented",start:e[0][1].start,end:e[e.length-1][1].end};return r(e,0,0,[["enter",n,t]]),r(e,e.length,0,[["exit",n,t]]),e}},u={tokenize:function(e,t,n){var r=this;return a(e,(function s(u){return o(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),a(e,s,"linePrefix",5)):i(r.events,"linePrefix")<4?n(u):t(u)}),"linePrefix",5)},partial:!0};e.exports=s},60026:(e,t,n)=>{"use strict";var o=n(17238),r={name:"codeText",tokenize:function(e,t,n){var r,i,a=0;return function(t){return e.enter("codeText"),e.enter("codeTextSequence"),s(t)};function s(t){return 96===t?(e.consume(t),a++,s):(e.exit("codeTextSequence"),u(t))}function u(t){return null===t?n(t):96===t?(i=e.enter("codeTextSequence"),r=0,l(t)):32===t?(e.enter("space"),e.consume(t),e.exit("space"),u):o(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),u):(e.enter("codeTextData"),c(t))}function c(t){return null===t||32===t||96===t||o(t)?(e.exit("codeTextData"),u(t)):(e.consume(t),c)}function l(n){return 96===n?(e.consume(n),r++,l):r===a?(e.exit("codeTextSequence"),e.exit("codeText"),t(n)):(i.type="codeTextData",c(n))}},resolve:function(e){var t,n,o=e.length-4,r=3;if(!("lineEnding"!==e[r][1].type&&"space"!==e[r][1].type||"lineEnding"!==e[o][1].type&&"space"!==e[o][1].type))for(t=r;++t{"use strict";var o=n(17238),r=n(15096),i=n(84423),a=n(52928),s={tokenize:function(e,t){var n;return function(t){return e.enter("content"),n=e.enter("chunkContent",{contentType:"content"}),r(t)};function r(t){return null===t?i(t):o(t)?e.check(u,a,i)(t):(e.consume(t),r)}function i(n){return e.exit("chunkContent"),e.exit("content"),t(n)}function a(t){return e.consume(t),e.exit("chunkContent"),n=n.next=e.enter("chunkContent",{contentType:"content",previous:n}),r}},resolve:function(e){return i(e),e},interruptible:!0,lazy:!0},u={tokenize:function(e,t,n){var i=this;return function(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),a(e,s,"linePrefix")};function s(a){return null===a||o(a)?n(a):i.parser.constructs.disable.null.indexOf("codeIndented")>-1||r(i.events,"linePrefix")<4?e.interrupt(i.parser.constructs.flow,n,t)(a):t(a)}},partial:!0};e.exports=s},93865:(e,t,n)=>{"use strict";var o=n(17238),r=n(88367),i=n(35478),a=n(38229),s=n(97154),u=n(52928),c=n(31056),l=n(59283),d={name:"definition",tokenize:function(e,t,n){var r,l=this;return function(t){return e.enter("definition"),s.call(l,e,d,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(t)};function d(t){return r=i(l.sliceSerialize(l.events[l.events.length-1][1]).slice(1,-1)),58===t?(e.enter("definitionMarker"),e.consume(t),e.exit("definitionMarker"),c(e,a(e,e.attempt(h,u(e,p,"whitespace"),u(e,p,"whitespace")),n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString"))):n(t)}function p(i){return null===i||o(i)?(e.exit("definition"),l.parser.defined.indexOf(r)<0&&l.parser.defined.push(r),t(i)):n(i)}}},h={tokenize:function(e,t,n){return function(t){return r(t)?c(e,i)(t):n(t)};function i(t){return 34===t||39===t||40===t?l(e,u(e,a,"whitespace"),n,"definitionTitle","definitionTitleMarker","definitionTitleString")(t):n(t)}function a(e){return null===e||o(e)?t(e):n(e)}},partial:!0};e.exports=d},38229:(e,t,n)=>{"use strict";var o=n(89696),r=n(88367),i=n(17238);e.exports=function(e,t,n,a,s,u,c,l,d){var h=d||1/0,p=0;return function(t){return 60===t?(e.enter(a),e.enter(s),e.enter(u),e.consume(t),e.exit(u),f):o(t)||41===t?n(t):(e.enter(a),e.enter(c),e.enter(l),e.enter("chunkString",{contentType:"string"}),_(t))};function f(n){return 62===n?(e.enter(u),e.consume(n),e.exit(u),e.exit(s),e.exit(a),t):(e.enter(l),e.enter("chunkString",{contentType:"string"}),g(n))}function g(t){return 62===t?(e.exit("chunkString"),e.exit(l),f(t)):null===t||60===t||i(t)?n(t):(e.consume(t),92===t?m:g)}function m(t){return 60===t||62===t||92===t?(e.consume(t),g):g(t)}function _(i){return 40===i?++p>h?n(i):(e.consume(i),_):41===i?p--?(e.consume(i),_):(e.exit("chunkString"),e.exit(l),e.exit(c),e.exit(a),t(i)):null===i||r(i)?p?n(i):(e.exit("chunkString"),e.exit(l),e.exit(c),e.exit(a),t(i)):o(i)?n(i):(e.consume(i),92===i?F:_)}function F(t){return 40===t||41===t||92===t?(e.consume(t),_):_(t)}}},97154:(e,t,n)=>{"use strict";var o=n(17238),r=n(73654);e.exports=function(e,t,n,i,a,s){var u,c=this,l=0;return function(t){return e.enter(i),e.enter(a),e.consume(t),e.exit(a),e.enter(s),d};function d(r){return null===r||91===r||93===r&&!u||94===r&&!l&&"_hiddenFootnoteSupport"in c.parser.constructs||l>999?n(r):93===r?(e.exit(s),e.enter(a),e.consume(r),e.exit(a),e.exit(i),t):o(r)?(e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),d):(e.enter("chunkString",{contentType:"string"}),h(r))}function h(t){return null===t||91===t||93===t||o(t)||l++>999?(e.exit("chunkString"),d(t)):(e.consume(t),u=u||!r(t),92===t?p:h)}function p(t){return 91===t||92===t||93===t?(e.consume(t),l++,h):h(t)}}},52928:(e,t,n)=>{"use strict";var o=n(73654);e.exports=function(e,t,n,r){var i=r?r-1:1/0,a=0;return function(r){return o(r)?(e.enter(n),s(r)):t(r)};function s(r){return o(r)&&a++{"use strict";var o=n(17238),r=n(52928);e.exports=function(e,t,n,i,a,s){var u;return function(t){return e.enter(i),e.enter(a),e.consume(t),e.exit(a),u=40===t?41:t,c};function c(n){return n===u?(e.enter(a),e.consume(n),e.exit(a),e.exit(i),t):(e.enter(s),l(n))}function l(t){return t===u?(e.exit(s),c(u)):null===t?n(t):o(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),r(e,l,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),d(t))}function d(t){return t===u||null===t||o(t)?(e.exit("chunkString"),l(t)):(e.consume(t),92===t?h:d)}function h(t){return t===u||92===t?(e.consume(t),d):d(t)}}},31056:(e,t,n)=>{"use strict";var o=n(17238),r=n(73654),i=n(52928);e.exports=function(e,t){var n;return function a(s){return o(s)?(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),n=!0,a):r(s)?i(e,a,n?"linePrefix":"lineSuffix")(s):t(s)}}},65694:(e,t,n)=>{"use strict";var o=n(17238),r={name:"hardBreakEscape",tokenize:function(e,t,n){return function(t){return e.enter("hardBreakEscape"),e.enter("escapeMarker"),e.consume(t),r};function r(r){return o(r)?(e.exit("escapeMarker"),e.exit("hardBreakEscape"),t(r)):n(r)}}};e.exports=r},596:(e,t,n)=>{"use strict";var o=n(17238),r=n(88367),i=n(73654),a=n(56808),s=n(52928),u={name:"headingAtx",tokenize:function(e,t,n){var a=this,u=0;return function(t){return e.enter("atxHeading"),e.enter("atxHeadingSequence"),c(t)};function c(o){return 35===o&&u++<6?(e.consume(o),c):null===o||r(o)?(e.exit("atxHeadingSequence"),a.interrupt?t(o):l(o)):n(o)}function l(n){return 35===n?(e.enter("atxHeadingSequence"),d(n)):null===n||o(n)?(e.exit("atxHeading"),t(n)):i(n)?s(e,l,"whitespace")(n):(e.enter("atxHeadingText"),h(n))}function d(t){return 35===t?(e.consume(t),d):(e.exit("atxHeadingSequence"),l(t))}function h(t){return null===t||35===t||r(t)?(e.exit("atxHeadingText"),l(t)):(e.consume(t),h)}},resolve:function(e,t){var n,o,r=e.length-2,i=3;return"whitespace"===e[i][1].type&&(i+=2),r-2>i&&"whitespace"===e[r][1].type&&(r-=2),"atxHeadingSequence"===e[r][1].type&&(i===r-1||r-4>i&&"whitespace"===e[r-2][1].type)&&(r-=i+1===r?2:4),r>i&&(n={type:"atxHeadingText",start:e[i][1].start,end:e[r][1].end},o={type:"chunkText",start:e[i][1].start,end:e[r][1].end,contentType:"text"},a(e,i,r-i+1,[["enter",n,t],["enter",o,t],["exit",o,t],["exit",n,t]])),e}};e.exports=u},76872:(e,t,n)=>{"use strict";var o=n(76734),r=n(46712),i=n(17238),a=n(88367),s=n(73654),u=n(93267),c=n(57139),l=n(16871),d=n(66532),h={name:"htmlFlow",tokenize:function(e,t,n){var d,h,f,g,m,_=this;return function(t){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(t),F};function F(r){return 33===r?(e.consume(r),y):47===r?(e.consume(r),w):63===r?(e.consume(r),d=3,_.interrupt?t:z):o(r)?(e.consume(r),f=u(r),h=!0,E):n(r)}function y(r){return 45===r?(e.consume(r),d=2,b):91===r?(e.consume(r),d=5,f="CDATA[",g=0,v):o(r)?(e.consume(r),d=4,_.interrupt?t:z):n(r)}function b(o){return 45===o?(e.consume(o),_.interrupt?t:z):n(o)}function v(o){return o===f.charCodeAt(g++)?(e.consume(o),g===f.length?_.interrupt?t:B:v):n(o)}function w(t){return o(t)?(e.consume(t),f=u(t),E):n(t)}function E(o){return null===o||47===o||62===o||a(o)?47!==o&&h&&l.indexOf(f.toLowerCase())>-1?(d=1,_.interrupt?t(o):B(o)):c.indexOf(f.toLowerCase())>-1?(d=6,47===o?(e.consume(o),k):_.interrupt?t(o):B(o)):(d=7,_.interrupt?n(o):h?S(o):D(o)):45===o||r(o)?(e.consume(o),f+=u(o),E):n(o)}function k(o){return 62===o?(e.consume(o),_.interrupt?t:B):n(o)}function D(t){return s(t)?(e.consume(t),D):M(t)}function S(t){return 47===t?(e.consume(t),M):58===t||95===t||o(t)?(e.consume(t),x):s(t)?(e.consume(t),S):M(t)}function x(t){return 45===t||46===t||58===t||95===t||r(t)?(e.consume(t),x):C(t)}function C(t){return 61===t?(e.consume(t),A):s(t)?(e.consume(t),C):S(t)}function A(t){return null===t||60===t||61===t||62===t||96===t?n(t):34===t||39===t?(e.consume(t),m=t,T):s(t)?(e.consume(t),A):(m=void 0,R(t))}function T(t){return t===m?(e.consume(t),I):null===t||i(t)?n(t):(e.consume(t),T)}function R(t){return null===t||34===t||39===t||60===t||61===t||62===t||96===t||a(t)?C(t):(e.consume(t),R)}function I(e){return 47===e||62===e||s(e)?S(e):n(e)}function M(t){return 62===t?(e.consume(t),O):n(t)}function O(t){return s(t)?(e.consume(t),O):null===t||i(t)?B(t):n(t)}function B(t){return 45===t&&2===d?(e.consume(t),P):60===t&&1===d?(e.consume(t),U):62===t&&4===d?(e.consume(t),K):63===t&&3===d?(e.consume(t),z):93===t&&5===d?(e.consume(t),q):!i(t)||6!==d&&7!==d?null===t||i(t)?N(t):(e.consume(t),B):e.check(p,K,N)(t)}function N(t){return e.exit("htmlFlowData"),L(t)}function L(t){return null===t?G(t):i(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),L):(e.enter("htmlFlowData"),B(t))}function P(t){return 45===t?(e.consume(t),z):B(t)}function U(t){return 47===t?(e.consume(t),f="",j):B(t)}function j(t){return 62===t&&l.indexOf(f.toLowerCase())>-1?(e.consume(t),K):o(t)&&f.length<8?(e.consume(t),f+=u(t),j):B(t)}function q(t){return 93===t?(e.consume(t),z):B(t)}function z(t){return 62===t?(e.consume(t),K):B(t)}function K(t){return null===t||i(t)?(e.exit("htmlFlowData"),G(t)):(e.consume(t),K)}function G(n){return e.exit("htmlFlow"),t(n)}},resolveTo:function(e){for(var t=e.length;t--&&("enter"!==e[t][0]||"htmlFlow"!==e[t][1].type););return t>1&&"linePrefix"===e[t-2][1].type&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e},concrete:!0},p={tokenize:function(e,t,n){return function(o){return e.exit("htmlFlowData"),e.enter("lineEndingBlank"),e.consume(o),e.exit("lineEndingBlank"),e.attempt(d,t,n)}},partial:!0};e.exports=h},28911:(e,t,n)=>{"use strict";var o=n(76734),r=n(46712),i=n(17238),a=n(88367),s=n(73654),u=n(52928),c={name:"htmlText",tokenize:function(e,t,n){var c,l,d,h,p=this;return function(t){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(t),f};function f(t){return 33===t?(e.consume(t),g):47===t?(e.consume(t),C):63===t?(e.consume(t),S):o(t)?(e.consume(t),R):n(t)}function g(t){return 45===t?(e.consume(t),m):91===t?(e.consume(t),l="CDATA[",d=0,v):o(t)?(e.consume(t),D):n(t)}function m(t){return 45===t?(e.consume(t),_):n(t)}function _(t){return null===t||62===t?n(t):45===t?(e.consume(t),F):y(t)}function F(e){return null===e||62===e?n(e):y(e)}function y(t){return null===t?n(t):45===t?(e.consume(t),b):i(t)?(h=y,U(t)):(e.consume(t),y)}function b(t){return 45===t?(e.consume(t),q):y(t)}function v(t){return t===l.charCodeAt(d++)?(e.consume(t),d===l.length?w:v):n(t)}function w(t){return null===t?n(t):93===t?(e.consume(t),E):i(t)?(h=w,U(t)):(e.consume(t),w)}function E(t){return 93===t?(e.consume(t),k):w(t)}function k(t){return 62===t?q(t):93===t?(e.consume(t),k):w(t)}function D(t){return null===t||62===t?q(t):i(t)?(h=D,U(t)):(e.consume(t),D)}function S(t){return null===t?n(t):63===t?(e.consume(t),x):i(t)?(h=S,U(t)):(e.consume(t),S)}function x(e){return 62===e?q(e):S(e)}function C(t){return o(t)?(e.consume(t),A):n(t)}function A(t){return 45===t||r(t)?(e.consume(t),A):T(t)}function T(t){return i(t)?(h=T,U(t)):s(t)?(e.consume(t),T):q(t)}function R(t){return 45===t||r(t)?(e.consume(t),R):47===t||62===t||a(t)?I(t):n(t)}function I(t){return 47===t?(e.consume(t),q):58===t||95===t||o(t)?(e.consume(t),M):i(t)?(h=I,U(t)):s(t)?(e.consume(t),I):q(t)}function M(t){return 45===t||46===t||58===t||95===t||r(t)?(e.consume(t),M):O(t)}function O(t){return 61===t?(e.consume(t),B):i(t)?(h=O,U(t)):s(t)?(e.consume(t),O):I(t)}function B(t){return null===t||60===t||61===t||62===t||96===t?n(t):34===t||39===t?(e.consume(t),c=t,N):i(t)?(h=B,U(t)):s(t)?(e.consume(t),B):(e.consume(t),c=void 0,P)}function N(t){return t===c?(e.consume(t),L):null===t?n(t):i(t)?(h=N,U(t)):(e.consume(t),N)}function L(e){return 62===e||47===e||a(e)?I(e):n(e)}function P(t){return null===t||34===t||39===t||60===t||61===t||96===t?n(t):62===t||a(t)?I(t):(e.consume(t),P)}function U(t){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),u(e,j,"linePrefix",p.parser.constructs.disable.null.indexOf("codeIndented")>-1?void 0:4)}function j(t){return e.enter("htmlTextData"),h(t)}function q(o){return 62===o?(e.consume(o),e.exit("htmlTextData"),e.exit("htmlText"),t):n(o)}}};e.exports=c},31294:(e,t,n)=>{"use strict";var o=n(88367),r=n(78811),i=n(56808),a=n(35478),s=n(58280),u=n(75923),c=n(38229),l=n(97154),d=n(59283),h=n(31056),p={name:"labelEnd",tokenize:function(e,t,n){for(var o,r,i=this,s=i.events.length;s--;)if(("labelImage"===i.events[s][1].type||"labelLink"===i.events[s][1].type)&&!i.events[s][1]._balanced){o=i.events[s][1];break}return function(t){return o?o._inactive?c(t):(r=i.parser.defined.indexOf(a(i.sliceSerialize({start:o.end,end:i.now()})))>-1,e.enter("labelEnd"),e.enter("labelMarker"),e.consume(t),e.exit("labelMarker"),e.exit("labelEnd"),u):n(t)};function u(n){return 40===n?e.attempt(f,t,r?t:c)(n):91===n?e.attempt(g,t,r?e.attempt(m,t,c):c)(n):r?t(n):c(n)}function c(e){return o._balanced=!0,n(e)}},resolveTo:function(e,t){for(var n,o,a,c,l,d,h,p=e.length,f=0;p--;)if(c=e[p][1],l){if("link"===c.type||"labelLink"===c.type&&c._inactive)break;"enter"===e[p][0]&&"labelLink"===c.type&&(c._inactive=!0)}else if(d){if("enter"===e[p][0]&&("labelImage"===c.type||"labelLink"===c.type)&&!c._balanced&&(l=p,"labelLink"!==c.type)){f=2;break}}else"labelEnd"===c.type&&(d=p);return n={type:"labelLink"===e[l][1].type?"link":"image",start:u(e[l][1].start),end:u(e[e.length-1][1].end)},o={type:"label",start:u(e[l][1].start),end:u(e[d][1].end)},a={type:"labelText",start:u(e[l+f+2][1].end),end:u(e[d-2][1].start)},h=r(h=[["enter",n,t],["enter",o,t]],e.slice(l+1,l+f+3)),h=r(h,[["enter",a,t]]),h=r(h,s(t.parser.constructs.insideSpan.null,e.slice(l+f+4,d-3),t)),h=r(h,[["exit",a,t],e[d-2],e[d-1],["exit",o,t]]),h=r(h,e.slice(d+1)),h=r(h,[["exit",n,t]]),i(e,l,e.length,h),e},resolveAll:function(e){for(var t,n=-1;++n{"use strict";var o={name:"labelStartImage",tokenize:function(e,t,n){var o=this;return function(t){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(t),e.exit("labelImageMarker"),r};function r(t){return 91===t?(e.enter("labelMarker"),e.consume(t),e.exit("labelMarker"),e.exit("labelImage"),i):n(t)}function i(e){return 94===e&&"_hiddenFootnoteSupport"in o.parser.constructs?n(e):t(e)}},resolveAll:n(31294).resolveAll};e.exports=o},60534:(e,t,n)=>{"use strict";var o={name:"labelStartLink",tokenize:function(e,t,n){var o=this;return function(t){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(t),e.exit("labelMarker"),e.exit("labelLink"),r};function r(e){return 94===e&&"_hiddenFootnoteSupport"in o.parser.constructs?n(e):t(e)}},resolveAll:n(31294).resolveAll};e.exports=o},92607:(e,t,n)=>{"use strict";var o=n(52928),r={name:"lineEnding",tokenize:function(e,t){return function(n){return e.enter("lineEnding"),e.consume(n),e.exit("lineEnding"),o(e,t,"linePrefix")}}};e.exports=r},46931:(e,t,n)=>{"use strict";var o=n(73977),r=n(73654),i=n(15096),a=n(18892),s=n(52928),u=n(66532),c=n(37039),l={name:"list",tokenize:function(e,t,n){var s=this,l=i(s.events,"linePrefix"),h=0;return function(t){var r=s.containerState.type||(42===t||43===t||45===t?"listUnordered":"listOrdered");if("listUnordered"===r?!s.containerState.marker||t===s.containerState.marker:o(t)){if(s.containerState.type||(s.containerState.type=r,e.enter(r,{_container:!0})),"listUnordered"===r)return e.enter("listItemPrefix"),42===t||45===t?e.check(c,n,f)(t):f(t);if(!s.interrupt||49===t)return e.enter("listItemPrefix"),e.enter("listItemValue"),p(t)}return n(t)};function p(t){return o(t)&&++h<10?(e.consume(t),p):(!s.interrupt||h<2)&&(s.containerState.marker?t===s.containerState.marker:41===t||46===t)?(e.exit("listItemValue"),f(t)):n(t)}function f(t){return e.enter("listItemMarker"),e.consume(t),e.exit("listItemMarker"),s.containerState.marker=s.containerState.marker||t,e.check(u,s.interrupt?n:g,e.attempt(d,_,m))}function g(e){return s.containerState.initialBlankLine=!0,l++,_(e)}function m(t){return r(t)?(e.enter("listItemPrefixWhitespace"),e.consume(t),e.exit("listItemPrefixWhitespace"),_):n(t)}function _(n){return s.containerState.size=l+a(s.sliceStream(e.exit("listItemPrefix"))),t(n)}},continuation:{tokenize:function(e,t,n){var o=this;return o.containerState._closeFlow=void 0,e.check(u,(function(n){return o.containerState.furtherBlankLines=o.containerState.furtherBlankLines||o.containerState.initialBlankLine,s(e,t,"listItemIndent",o.containerState.size+1)(n)}),(function(n){return o.containerState.furtherBlankLines||!r(n)?(o.containerState.furtherBlankLines=o.containerState.initialBlankLine=void 0,i(n)):(o.containerState.furtherBlankLines=o.containerState.initialBlankLine=void 0,e.attempt(h,t,i)(n))}));function i(r){return o.containerState._closeFlow=!0,o.interrupt=void 0,s(e,e.attempt(l,t,n),"linePrefix",o.parser.constructs.disable.null.indexOf("codeIndented")>-1?void 0:4)(r)}}},exit:function(e){e.exit(this.containerState.type)}},d={tokenize:function(e,t,n){var o=this;return s(e,(function(e){return r(e)||!i(o.events,"listItemPrefixWhitespace")?n(e):t(e)}),"listItemPrefixWhitespace",o.parser.constructs.disable.null.indexOf("codeIndented")>-1?void 0:5)},partial:!0},h={tokenize:function(e,t,n){var o=this;return s(e,(function(e){return i(o.events,"listItemIndent")===o.containerState.size?t(e):n(e)}),"listItemIndent",o.containerState.size+1)},partial:!0};e.exports=l},66532:(e,t,n)=>{"use strict";var o=n(17238),r=n(52928),i={tokenize:function(e,t,n){return r(e,(function(e){return null===e||o(e)?t(e):n(e)}),"linePrefix")},partial:!0};e.exports=i},15874:(e,t,n)=>{"use strict";var o=n(17238),r=n(75923),i=n(52928),a={name:"setextUnderline",tokenize:function(e,t,n){for(var r,a,s=this,u=s.events.length;u--;)if("lineEnding"!==s.events[u][1].type&&"linePrefix"!==s.events[u][1].type&&"content"!==s.events[u][1].type){a="paragraph"===s.events[u][1].type;break}return function(t){return s.lazy||!s.interrupt&&!a?n(t):(e.enter("setextHeadingLine"),e.enter("setextHeadingLineSequence"),r=t,c(t))};function c(t){return t===r?(e.consume(t),c):(e.exit("setextHeadingLineSequence"),i(e,l,"lineSuffix")(t))}function l(r){return null===r||o(r)?(e.exit("setextHeadingLine"),t(r)):n(r)}},resolveTo:function(e,t){for(var n,o,i,a,s=e.length;s--;)if("enter"===e[s][0]){if("content"===e[s][1].type){n=s;break}"paragraph"===e[s][1].type&&(o=s)}else"content"===e[s][1].type&&e.splice(s,1),i||"definition"!==e[s][1].type||(i=s);return a={type:"setextHeading",start:r(e[o][1].start),end:r(e[e.length-1][1].end)},e[o][1].type="setextHeadingText",i?(e.splice(o,0,["enter",a,t]),e.splice(i+1,0,["exit",e[n][1],t]),e[n][1].end=r(e[i][1].end)):e[n][1]=a,e.push(["exit",a,t]),e}};e.exports=a},37039:(e,t,n)=>{"use strict";var o=n(17238),r=n(73654),i=n(52928),a={name:"thematicBreak",tokenize:function(e,t,n){var a,s=0;return function(t){return e.enter("thematicBreak"),a=t,u(t)};function u(l){return l===a?(e.enter("thematicBreakSequence"),c(l)):r(l)?i(e,u,"whitespace")(l):s<3||null!==l&&!o(l)?n(l):(e.exit("thematicBreak"),t(l))}function c(t){return t===a?(e.consume(t),s++,c):(e.exit("thematicBreakSequence"),u(t))}}};e.exports=a},78811:(e,t,n)=>{"use strict";var o=n(56808);e.exports=function(e,t){return e.length?(o(e,e.length,0,t),e):t}},56808:(e,t,n)=>{"use strict";var o=n(21362);e.exports=function(e,t,n,r){var i,a=e.length,s=0;if(t=t<0?-t>a?0:a+t:t>a?a:t,n=n>0?n:0,r.length<1e4)(i=Array.from(r)).unshift(t,n),o.apply(e,i);else for(n&&o.apply(e,[t,n]);s{"use strict";var o=n(88367),r=n(36996),i=n(10395);e.exports=function(e){return null===e||o(e)||i(e)?1:r(e)?2:void 0}},12952:(e,t,n)=>{"use strict";var o=n(46706),r=n(56808),i=n(28180);function a(e,t){var n,r,a,u;for(n in t)for(u in r=o.call(e,n)?e[n]:e[n]={},a=t[n])r[u]=s(i(a[u]),o.call(r,u)?r[u]:[])}function s(e,t){for(var n=-1,o=[];++n{"use strict";var o=n(99198),r=n(17238),i=n(78811),a=n(56808),s=n(28180),u=n(58280),c=n(23082),l=n(75923),d=n(12774);e.exports=function(e,t,n){var h=n?l(n):{line:1,column:1,offset:0},p={},f=[],g=[],m=[],_={consume:function(e){r(e)?(h.line++,h.column=1,h.offset+=-3===e?2:1,S()):-1!==e&&(h.column++,h.offset++),h._bufferIndex<0?h._index++:(h._bufferIndex++,h._bufferIndex===g[h._index].length&&(h._bufferIndex=-1,h._index++)),F.previous=e},enter:function(e,t){var n=t||{};return n.type=e,n.start=v(),F.events.push(["enter",n,F]),m.push(n),n},exit:function(e){var t=m.pop();return t.end=v(),F.events.push(["exit",t,F]),t},attempt:k((function(e,t){D(e,t.from)})),check:k(E),interrupt:k(E,{interrupt:!0}),lazy:k(E,{lazy:!0})},F={previous:null,events:[],parser:e,sliceStream:b,sliceSerialize:function(e){return c(b(e))},now:v,defineSkip:function(e){p[e.line]=e.column,S()},write:function(e){return g=i(g,e),function(){for(var e,t;h._index-1?g():e.tokenize.call(t?o({},F,t):F,_,f,g)(n)}}function f(t){return e(c,l),r}function g(e){return l.restore(),++u{"use strict";e.exports=function(e){return null==e?[]:"length"in e?e:[e]}},15644:e=>{"use strict";e.exports=function(e,t){return e.column+=t,e.offset+=t,e._bufferIndex+=t,e}},35478:e=>{"use strict";e.exports=function(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}},15096:(e,t,n)=>{"use strict";var o=n(18892);e.exports=function(e,t){var n=e[e.length-1];return n&&n[1].type===t?o(n[2].sliceStream(n[1])):0}},2841:(e,t,n)=>{"use strict";var o=n(93267);e.exports=function(e){return function(t){return e.test(o(t))}}},58280:e=>{"use strict";e.exports=function(e,t,n){for(var o,r=[],i=-1;++i{"use strict";var o=n(93267);e.exports=function(e,t){var n=parseInt(e,t);return n<9||11===n||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||65535==(65535&n)||65534==(65535&n)||n>1114111?"�":o(n)}},23082:(e,t,n)=>{"use strict";var o=n(93267);e.exports=function(e){for(var t,n,r,i=-1,a=[];++i{"use strict";var o=n(99198);e.exports=function(e){return o({},e)}},18892:e=>{"use strict";e.exports=function(e){for(var t=-1,n=0;++t{"use strict";e.exports=function(e,t){var n,o=t.start._index,r=t.start._bufferIndex,i=t.end._index,a=t.end._bufferIndex;return o===i?n=[e[o].slice(r,a)]:(n=e.slice(o,i),r>-1&&(n[0]=n[0].slice(r)),a>0&&n.push(e[i].slice(0,a))),n}},84423:(e,t,n)=>{"use strict";var o=n(99198),r=n(56808),i=n(75923);function a(e,t){for(var n,o,i,a,s,u,c=e[t][1],l=e[t][2],d=t-1,h=[],p=c._tokenizer||l.parser[c.contentType](c.start),f=p.events,g=[],m={};c;){for(;e[++d][1]!==c;);h.push(d),c._tokenizer||(n=l.sliceStream(c),c.next||n.push(null),o&&p.defineSkip(c.start),c.isInFirstContentOfListItem&&(p._gfmTasklistFirstContentOfListItem=!0),p.write(n),c.isInFirstContentOfListItem&&(p._gfmTasklistFirstContentOfListItem=void 0)),o=c,c=c.next}for(c=o,i=f.length;i--;)"enter"===f[i][0]?a=!0:a&&f[i][1].type===f[i-1][1].type&&f[i][1].start.line!==f[i][1].end.line&&(_(f.slice(i+1,s)),c._tokenizer=c.next=void 0,c=c.previous,s=i+1);for(p.events=c._tokenizer=c.next=void 0,_(f.slice(0,s)),i=-1,u=0;++i{var o=n(96240),r=n(29931);function i(e){this.rand=e||new r.Rand}e.exports=i,i.create=function(e){return new i(e)},i.prototype._randbelow=function(e){var t=e.bitLength(),n=Math.ceil(t/8);do{var r=new o(this.rand.generate(n))}while(r.cmp(e)>=0);return r},i.prototype._randrange=function(e,t){var n=t.sub(e);return e.add(this._randbelow(n))},i.prototype.test=function(e,t,n){var r=e.bitLength(),i=o.mont(e),a=new o(1).toRed(i);t||(t=Math.max(1,r/48|0));for(var s=e.subn(1),u=0;!s.testn(u);u++);for(var c=e.shrn(u),l=s.toRed(i);t>0;t--){var d=this._randrange(new o(2),s);n&&n(d);var h=d.toRed(i).redPow(c);if(0!==h.cmp(a)&&0!==h.cmp(l)){for(var p=1;p0;t--){var l=this._randrange(new o(2),a),d=e.gcd(l);if(0!==d.cmpn(1))return d;var h=l.toRed(r).redPow(u);if(0!==h.cmp(i)&&0!==h.cmp(c)){for(var p=1;p=65&&n<=70?n-55:n>=97&&n<=102?n-87:n-48&15}function u(e,t,n){var o=s(e,n);return n-1>=t&&(o|=s(e,n-1)<<4),o}function c(e,t,n,o){for(var r=0,i=Math.min(e.length,n),a=t;a=49?s-49+10:s>=17?s-17+10:s}return r}i.isBN=function(e){return e instanceof i||null!==e&&"object"==typeof e&&e.constructor.wordSize===i.wordSize&&Array.isArray(e.words)},i.max=function(e,t){return e.cmp(t)>0?e:t},i.min=function(e,t){return e.cmp(t)<0?e:t},i.prototype._init=function(e,t,n){if("number"==typeof e)return this._initNumber(e,t,n);if("object"==typeof e)return this._initArray(e,t,n);"hex"===t&&(t=16),o(t===(0|t)&&t>=2&&t<=36);var r=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&(r++,this.negative=1),r=0;r-=3)a=e[r]|e[r-1]<<8|e[r-2]<<16,this.words[i]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);else if("le"===n)for(r=0,i=0;r>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);return this.strip()},i.prototype._parseHex=function(e,t,n){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var o=0;o=t;o-=2)r=u(e,t,o)<=18?(i-=18,a+=1,this.words[a]|=r>>>26):i+=8;else for(o=(e.length-t)%2==0?t+1:t;o=18?(i-=18,a+=1,this.words[a]|=r>>>26):i+=8;this.strip()},i.prototype._parseBase=function(e,t,n){this.words=[0],this.length=1;for(var o=0,r=1;r<=67108863;r*=t)o++;o--,r=r/t|0;for(var i=e.length-n,a=i%o,s=Math.min(i,i-a)+n,u=0,l=n;l1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},i.prototype.inspect=function(){return(this.red?""};var l=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],d=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],h=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function p(e,t,n){n.negative=t.negative^e.negative;var o=e.length+t.length|0;n.length=o,o=o-1|0;var r=0|e.words[0],i=0|t.words[0],a=r*i,s=67108863&a,u=a/67108864|0;n.words[0]=s;for(var c=1;c>>26,d=67108863&u,h=Math.min(c,t.length-1),p=Math.max(0,c-e.length+1);p<=h;p++){var f=c-p|0;l+=(a=(r=0|e.words[f])*(i=0|t.words[p])+d)/67108864|0,d=67108863&a}n.words[c]=0|d,u=0|l}return 0!==u?n.words[c]=0|u:n.length--,n.strip()}i.prototype.toString=function(e,t){var n;if(t=0|t||1,16===(e=e||10)||"hex"===e){n="";for(var r=0,i=0,a=0;a>>24-r&16777215)||a!==this.length-1?l[6-u.length]+u+n:u+n,(r+=2)>=26&&(r-=26,a--)}for(0!==i&&(n=i.toString(16)+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(e===(0|e)&&e>=2&&e<=36){var c=d[e],p=h[e];n="";var f=this.clone();for(f.negative=0;!f.isZero();){var g=f.modn(p).toString(e);n=(f=f.idivn(p)).isZero()?g+n:l[c-g.length]+g+n}for(this.isZero()&&(n="0"+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}o(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&o(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toBuffer=function(e,t){return o(void 0!==a),this.toArrayLike(a,e,t)},i.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},i.prototype.toArrayLike=function(e,t,n){var r=this.byteLength(),i=n||Math.max(1,r);o(r<=i,"byte array longer than desired length"),o(i>0,"Requested array length <= 0"),this.strip();var a,s,u="le"===t,c=new e(i),l=this.clone();if(u){for(s=0;!l.isZero();s++)a=l.andln(255),l.iushrn(8),c[s]=a;for(;s=4096&&(n+=13,t>>>=13),t>=64&&(n+=7,t>>>=7),t>=8&&(n+=4,t>>>=4),t>=2&&(n+=2,t>>>=2),n+t},i.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,n=0;return 0==(8191&t)&&(n+=13,t>>>=13),0==(127&t)&&(n+=7,t>>>=7),0==(15&t)&&(n+=4,t>>>=4),0==(3&t)&&(n+=2,t>>>=2),0==(1&t)&&n++,n},i.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},i.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},i.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var n=0;ne.length?this.clone().iand(e):e.clone().iand(this)},i.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},i.prototype.iuxor=function(e){var t,n;this.length>e.length?(t=this,n=e):(t=e,n=this);for(var o=0;oe.length?this.clone().ixor(e):e.clone().ixor(this)},i.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},i.prototype.inotn=function(e){o("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),n=e%26;this._expand(t),n>0&&t--;for(var r=0;r0&&(this.words[r]=~this.words[r]&67108863>>26-n),this.strip()},i.prototype.notn=function(e){return this.clone().inotn(e)},i.prototype.setn=function(e,t){o("number"==typeof e&&e>=0);var n=e/26|0,r=e%26;return this._expand(n+1),this.words[n]=t?this.words[n]|1<e.length?(n=this,o=e):(n=e,o=this);for(var r=0,i=0;i>>26;for(;0!==r&&i>>26;if(this.length=n.length,0!==r)this.words[this.length]=r,this.length++;else if(n!==this)for(;ie.length?this.clone().iadd(e):e.clone().iadd(this)},i.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var n,o,r=this.cmp(e);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;r>0?(n=this,o=e):(n=e,o=this);for(var i=0,a=0;a>26,this.words[a]=67108863&t;for(;0!==i&&a>26,this.words[a]=67108863&t;if(0===i&&a>>13,p=0|a[1],f=8191&p,g=p>>>13,m=0|a[2],_=8191&m,F=m>>>13,y=0|a[3],b=8191&y,v=y>>>13,w=0|a[4],E=8191&w,k=w>>>13,D=0|a[5],S=8191&D,x=D>>>13,C=0|a[6],A=8191&C,T=C>>>13,R=0|a[7],I=8191&R,M=R>>>13,O=0|a[8],B=8191&O,N=O>>>13,L=0|a[9],P=8191&L,U=L>>>13,j=0|s[0],q=8191&j,z=j>>>13,K=0|s[1],G=8191&K,$=K>>>13,H=0|s[2],V=8191&H,W=H>>>13,Y=0|s[3],Z=8191&Y,X=Y>>>13,J=0|s[4],Q=8191&J,ee=J>>>13,te=0|s[5],ne=8191&te,oe=te>>>13,re=0|s[6],ie=8191&re,ae=re>>>13,se=0|s[7],ue=8191&se,ce=se>>>13,le=0|s[8],de=8191&le,he=le>>>13,pe=0|s[9],fe=8191&pe,ge=pe>>>13;n.negative=e.negative^t.negative,n.length=19;var me=(c+(o=Math.imul(d,q))|0)+((8191&(r=(r=Math.imul(d,z))+Math.imul(h,q)|0))<<13)|0;c=((i=Math.imul(h,z))+(r>>>13)|0)+(me>>>26)|0,me&=67108863,o=Math.imul(f,q),r=(r=Math.imul(f,z))+Math.imul(g,q)|0,i=Math.imul(g,z);var _e=(c+(o=o+Math.imul(d,G)|0)|0)+((8191&(r=(r=r+Math.imul(d,$)|0)+Math.imul(h,G)|0))<<13)|0;c=((i=i+Math.imul(h,$)|0)+(r>>>13)|0)+(_e>>>26)|0,_e&=67108863,o=Math.imul(_,q),r=(r=Math.imul(_,z))+Math.imul(F,q)|0,i=Math.imul(F,z),o=o+Math.imul(f,G)|0,r=(r=r+Math.imul(f,$)|0)+Math.imul(g,G)|0,i=i+Math.imul(g,$)|0;var Fe=(c+(o=o+Math.imul(d,V)|0)|0)+((8191&(r=(r=r+Math.imul(d,W)|0)+Math.imul(h,V)|0))<<13)|0;c=((i=i+Math.imul(h,W)|0)+(r>>>13)|0)+(Fe>>>26)|0,Fe&=67108863,o=Math.imul(b,q),r=(r=Math.imul(b,z))+Math.imul(v,q)|0,i=Math.imul(v,z),o=o+Math.imul(_,G)|0,r=(r=r+Math.imul(_,$)|0)+Math.imul(F,G)|0,i=i+Math.imul(F,$)|0,o=o+Math.imul(f,V)|0,r=(r=r+Math.imul(f,W)|0)+Math.imul(g,V)|0,i=i+Math.imul(g,W)|0;var ye=(c+(o=o+Math.imul(d,Z)|0)|0)+((8191&(r=(r=r+Math.imul(d,X)|0)+Math.imul(h,Z)|0))<<13)|0;c=((i=i+Math.imul(h,X)|0)+(r>>>13)|0)+(ye>>>26)|0,ye&=67108863,o=Math.imul(E,q),r=(r=Math.imul(E,z))+Math.imul(k,q)|0,i=Math.imul(k,z),o=o+Math.imul(b,G)|0,r=(r=r+Math.imul(b,$)|0)+Math.imul(v,G)|0,i=i+Math.imul(v,$)|0,o=o+Math.imul(_,V)|0,r=(r=r+Math.imul(_,W)|0)+Math.imul(F,V)|0,i=i+Math.imul(F,W)|0,o=o+Math.imul(f,Z)|0,r=(r=r+Math.imul(f,X)|0)+Math.imul(g,Z)|0,i=i+Math.imul(g,X)|0;var be=(c+(o=o+Math.imul(d,Q)|0)|0)+((8191&(r=(r=r+Math.imul(d,ee)|0)+Math.imul(h,Q)|0))<<13)|0;c=((i=i+Math.imul(h,ee)|0)+(r>>>13)|0)+(be>>>26)|0,be&=67108863,o=Math.imul(S,q),r=(r=Math.imul(S,z))+Math.imul(x,q)|0,i=Math.imul(x,z),o=o+Math.imul(E,G)|0,r=(r=r+Math.imul(E,$)|0)+Math.imul(k,G)|0,i=i+Math.imul(k,$)|0,o=o+Math.imul(b,V)|0,r=(r=r+Math.imul(b,W)|0)+Math.imul(v,V)|0,i=i+Math.imul(v,W)|0,o=o+Math.imul(_,Z)|0,r=(r=r+Math.imul(_,X)|0)+Math.imul(F,Z)|0,i=i+Math.imul(F,X)|0,o=o+Math.imul(f,Q)|0,r=(r=r+Math.imul(f,ee)|0)+Math.imul(g,Q)|0,i=i+Math.imul(g,ee)|0;var ve=(c+(o=o+Math.imul(d,ne)|0)|0)+((8191&(r=(r=r+Math.imul(d,oe)|0)+Math.imul(h,ne)|0))<<13)|0;c=((i=i+Math.imul(h,oe)|0)+(r>>>13)|0)+(ve>>>26)|0,ve&=67108863,o=Math.imul(A,q),r=(r=Math.imul(A,z))+Math.imul(T,q)|0,i=Math.imul(T,z),o=o+Math.imul(S,G)|0,r=(r=r+Math.imul(S,$)|0)+Math.imul(x,G)|0,i=i+Math.imul(x,$)|0,o=o+Math.imul(E,V)|0,r=(r=r+Math.imul(E,W)|0)+Math.imul(k,V)|0,i=i+Math.imul(k,W)|0,o=o+Math.imul(b,Z)|0,r=(r=r+Math.imul(b,X)|0)+Math.imul(v,Z)|0,i=i+Math.imul(v,X)|0,o=o+Math.imul(_,Q)|0,r=(r=r+Math.imul(_,ee)|0)+Math.imul(F,Q)|0,i=i+Math.imul(F,ee)|0,o=o+Math.imul(f,ne)|0,r=(r=r+Math.imul(f,oe)|0)+Math.imul(g,ne)|0,i=i+Math.imul(g,oe)|0;var we=(c+(o=o+Math.imul(d,ie)|0)|0)+((8191&(r=(r=r+Math.imul(d,ae)|0)+Math.imul(h,ie)|0))<<13)|0;c=((i=i+Math.imul(h,ae)|0)+(r>>>13)|0)+(we>>>26)|0,we&=67108863,o=Math.imul(I,q),r=(r=Math.imul(I,z))+Math.imul(M,q)|0,i=Math.imul(M,z),o=o+Math.imul(A,G)|0,r=(r=r+Math.imul(A,$)|0)+Math.imul(T,G)|0,i=i+Math.imul(T,$)|0,o=o+Math.imul(S,V)|0,r=(r=r+Math.imul(S,W)|0)+Math.imul(x,V)|0,i=i+Math.imul(x,W)|0,o=o+Math.imul(E,Z)|0,r=(r=r+Math.imul(E,X)|0)+Math.imul(k,Z)|0,i=i+Math.imul(k,X)|0,o=o+Math.imul(b,Q)|0,r=(r=r+Math.imul(b,ee)|0)+Math.imul(v,Q)|0,i=i+Math.imul(v,ee)|0,o=o+Math.imul(_,ne)|0,r=(r=r+Math.imul(_,oe)|0)+Math.imul(F,ne)|0,i=i+Math.imul(F,oe)|0,o=o+Math.imul(f,ie)|0,r=(r=r+Math.imul(f,ae)|0)+Math.imul(g,ie)|0,i=i+Math.imul(g,ae)|0;var Ee=(c+(o=o+Math.imul(d,ue)|0)|0)+((8191&(r=(r=r+Math.imul(d,ce)|0)+Math.imul(h,ue)|0))<<13)|0;c=((i=i+Math.imul(h,ce)|0)+(r>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,o=Math.imul(B,q),r=(r=Math.imul(B,z))+Math.imul(N,q)|0,i=Math.imul(N,z),o=o+Math.imul(I,G)|0,r=(r=r+Math.imul(I,$)|0)+Math.imul(M,G)|0,i=i+Math.imul(M,$)|0,o=o+Math.imul(A,V)|0,r=(r=r+Math.imul(A,W)|0)+Math.imul(T,V)|0,i=i+Math.imul(T,W)|0,o=o+Math.imul(S,Z)|0,r=(r=r+Math.imul(S,X)|0)+Math.imul(x,Z)|0,i=i+Math.imul(x,X)|0,o=o+Math.imul(E,Q)|0,r=(r=r+Math.imul(E,ee)|0)+Math.imul(k,Q)|0,i=i+Math.imul(k,ee)|0,o=o+Math.imul(b,ne)|0,r=(r=r+Math.imul(b,oe)|0)+Math.imul(v,ne)|0,i=i+Math.imul(v,oe)|0,o=o+Math.imul(_,ie)|0,r=(r=r+Math.imul(_,ae)|0)+Math.imul(F,ie)|0,i=i+Math.imul(F,ae)|0,o=o+Math.imul(f,ue)|0,r=(r=r+Math.imul(f,ce)|0)+Math.imul(g,ue)|0,i=i+Math.imul(g,ce)|0;var ke=(c+(o=o+Math.imul(d,de)|0)|0)+((8191&(r=(r=r+Math.imul(d,he)|0)+Math.imul(h,de)|0))<<13)|0;c=((i=i+Math.imul(h,he)|0)+(r>>>13)|0)+(ke>>>26)|0,ke&=67108863,o=Math.imul(P,q),r=(r=Math.imul(P,z))+Math.imul(U,q)|0,i=Math.imul(U,z),o=o+Math.imul(B,G)|0,r=(r=r+Math.imul(B,$)|0)+Math.imul(N,G)|0,i=i+Math.imul(N,$)|0,o=o+Math.imul(I,V)|0,r=(r=r+Math.imul(I,W)|0)+Math.imul(M,V)|0,i=i+Math.imul(M,W)|0,o=o+Math.imul(A,Z)|0,r=(r=r+Math.imul(A,X)|0)+Math.imul(T,Z)|0,i=i+Math.imul(T,X)|0,o=o+Math.imul(S,Q)|0,r=(r=r+Math.imul(S,ee)|0)+Math.imul(x,Q)|0,i=i+Math.imul(x,ee)|0,o=o+Math.imul(E,ne)|0,r=(r=r+Math.imul(E,oe)|0)+Math.imul(k,ne)|0,i=i+Math.imul(k,oe)|0,o=o+Math.imul(b,ie)|0,r=(r=r+Math.imul(b,ae)|0)+Math.imul(v,ie)|0,i=i+Math.imul(v,ae)|0,o=o+Math.imul(_,ue)|0,r=(r=r+Math.imul(_,ce)|0)+Math.imul(F,ue)|0,i=i+Math.imul(F,ce)|0,o=o+Math.imul(f,de)|0,r=(r=r+Math.imul(f,he)|0)+Math.imul(g,de)|0,i=i+Math.imul(g,he)|0;var De=(c+(o=o+Math.imul(d,fe)|0)|0)+((8191&(r=(r=r+Math.imul(d,ge)|0)+Math.imul(h,fe)|0))<<13)|0;c=((i=i+Math.imul(h,ge)|0)+(r>>>13)|0)+(De>>>26)|0,De&=67108863,o=Math.imul(P,G),r=(r=Math.imul(P,$))+Math.imul(U,G)|0,i=Math.imul(U,$),o=o+Math.imul(B,V)|0,r=(r=r+Math.imul(B,W)|0)+Math.imul(N,V)|0,i=i+Math.imul(N,W)|0,o=o+Math.imul(I,Z)|0,r=(r=r+Math.imul(I,X)|0)+Math.imul(M,Z)|0,i=i+Math.imul(M,X)|0,o=o+Math.imul(A,Q)|0,r=(r=r+Math.imul(A,ee)|0)+Math.imul(T,Q)|0,i=i+Math.imul(T,ee)|0,o=o+Math.imul(S,ne)|0,r=(r=r+Math.imul(S,oe)|0)+Math.imul(x,ne)|0,i=i+Math.imul(x,oe)|0,o=o+Math.imul(E,ie)|0,r=(r=r+Math.imul(E,ae)|0)+Math.imul(k,ie)|0,i=i+Math.imul(k,ae)|0,o=o+Math.imul(b,ue)|0,r=(r=r+Math.imul(b,ce)|0)+Math.imul(v,ue)|0,i=i+Math.imul(v,ce)|0,o=o+Math.imul(_,de)|0,r=(r=r+Math.imul(_,he)|0)+Math.imul(F,de)|0,i=i+Math.imul(F,he)|0;var Se=(c+(o=o+Math.imul(f,fe)|0)|0)+((8191&(r=(r=r+Math.imul(f,ge)|0)+Math.imul(g,fe)|0))<<13)|0;c=((i=i+Math.imul(g,ge)|0)+(r>>>13)|0)+(Se>>>26)|0,Se&=67108863,o=Math.imul(P,V),r=(r=Math.imul(P,W))+Math.imul(U,V)|0,i=Math.imul(U,W),o=o+Math.imul(B,Z)|0,r=(r=r+Math.imul(B,X)|0)+Math.imul(N,Z)|0,i=i+Math.imul(N,X)|0,o=o+Math.imul(I,Q)|0,r=(r=r+Math.imul(I,ee)|0)+Math.imul(M,Q)|0,i=i+Math.imul(M,ee)|0,o=o+Math.imul(A,ne)|0,r=(r=r+Math.imul(A,oe)|0)+Math.imul(T,ne)|0,i=i+Math.imul(T,oe)|0,o=o+Math.imul(S,ie)|0,r=(r=r+Math.imul(S,ae)|0)+Math.imul(x,ie)|0,i=i+Math.imul(x,ae)|0,o=o+Math.imul(E,ue)|0,r=(r=r+Math.imul(E,ce)|0)+Math.imul(k,ue)|0,i=i+Math.imul(k,ce)|0,o=o+Math.imul(b,de)|0,r=(r=r+Math.imul(b,he)|0)+Math.imul(v,de)|0,i=i+Math.imul(v,he)|0;var xe=(c+(o=o+Math.imul(_,fe)|0)|0)+((8191&(r=(r=r+Math.imul(_,ge)|0)+Math.imul(F,fe)|0))<<13)|0;c=((i=i+Math.imul(F,ge)|0)+(r>>>13)|0)+(xe>>>26)|0,xe&=67108863,o=Math.imul(P,Z),r=(r=Math.imul(P,X))+Math.imul(U,Z)|0,i=Math.imul(U,X),o=o+Math.imul(B,Q)|0,r=(r=r+Math.imul(B,ee)|0)+Math.imul(N,Q)|0,i=i+Math.imul(N,ee)|0,o=o+Math.imul(I,ne)|0,r=(r=r+Math.imul(I,oe)|0)+Math.imul(M,ne)|0,i=i+Math.imul(M,oe)|0,o=o+Math.imul(A,ie)|0,r=(r=r+Math.imul(A,ae)|0)+Math.imul(T,ie)|0,i=i+Math.imul(T,ae)|0,o=o+Math.imul(S,ue)|0,r=(r=r+Math.imul(S,ce)|0)+Math.imul(x,ue)|0,i=i+Math.imul(x,ce)|0,o=o+Math.imul(E,de)|0,r=(r=r+Math.imul(E,he)|0)+Math.imul(k,de)|0,i=i+Math.imul(k,he)|0;var Ce=(c+(o=o+Math.imul(b,fe)|0)|0)+((8191&(r=(r=r+Math.imul(b,ge)|0)+Math.imul(v,fe)|0))<<13)|0;c=((i=i+Math.imul(v,ge)|0)+(r>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,o=Math.imul(P,Q),r=(r=Math.imul(P,ee))+Math.imul(U,Q)|0,i=Math.imul(U,ee),o=o+Math.imul(B,ne)|0,r=(r=r+Math.imul(B,oe)|0)+Math.imul(N,ne)|0,i=i+Math.imul(N,oe)|0,o=o+Math.imul(I,ie)|0,r=(r=r+Math.imul(I,ae)|0)+Math.imul(M,ie)|0,i=i+Math.imul(M,ae)|0,o=o+Math.imul(A,ue)|0,r=(r=r+Math.imul(A,ce)|0)+Math.imul(T,ue)|0,i=i+Math.imul(T,ce)|0,o=o+Math.imul(S,de)|0,r=(r=r+Math.imul(S,he)|0)+Math.imul(x,de)|0,i=i+Math.imul(x,he)|0;var Ae=(c+(o=o+Math.imul(E,fe)|0)|0)+((8191&(r=(r=r+Math.imul(E,ge)|0)+Math.imul(k,fe)|0))<<13)|0;c=((i=i+Math.imul(k,ge)|0)+(r>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,o=Math.imul(P,ne),r=(r=Math.imul(P,oe))+Math.imul(U,ne)|0,i=Math.imul(U,oe),o=o+Math.imul(B,ie)|0,r=(r=r+Math.imul(B,ae)|0)+Math.imul(N,ie)|0,i=i+Math.imul(N,ae)|0,o=o+Math.imul(I,ue)|0,r=(r=r+Math.imul(I,ce)|0)+Math.imul(M,ue)|0,i=i+Math.imul(M,ce)|0,o=o+Math.imul(A,de)|0,r=(r=r+Math.imul(A,he)|0)+Math.imul(T,de)|0,i=i+Math.imul(T,he)|0;var Te=(c+(o=o+Math.imul(S,fe)|0)|0)+((8191&(r=(r=r+Math.imul(S,ge)|0)+Math.imul(x,fe)|0))<<13)|0;c=((i=i+Math.imul(x,ge)|0)+(r>>>13)|0)+(Te>>>26)|0,Te&=67108863,o=Math.imul(P,ie),r=(r=Math.imul(P,ae))+Math.imul(U,ie)|0,i=Math.imul(U,ae),o=o+Math.imul(B,ue)|0,r=(r=r+Math.imul(B,ce)|0)+Math.imul(N,ue)|0,i=i+Math.imul(N,ce)|0,o=o+Math.imul(I,de)|0,r=(r=r+Math.imul(I,he)|0)+Math.imul(M,de)|0,i=i+Math.imul(M,he)|0;var Re=(c+(o=o+Math.imul(A,fe)|0)|0)+((8191&(r=(r=r+Math.imul(A,ge)|0)+Math.imul(T,fe)|0))<<13)|0;c=((i=i+Math.imul(T,ge)|0)+(r>>>13)|0)+(Re>>>26)|0,Re&=67108863,o=Math.imul(P,ue),r=(r=Math.imul(P,ce))+Math.imul(U,ue)|0,i=Math.imul(U,ce),o=o+Math.imul(B,de)|0,r=(r=r+Math.imul(B,he)|0)+Math.imul(N,de)|0,i=i+Math.imul(N,he)|0;var Ie=(c+(o=o+Math.imul(I,fe)|0)|0)+((8191&(r=(r=r+Math.imul(I,ge)|0)+Math.imul(M,fe)|0))<<13)|0;c=((i=i+Math.imul(M,ge)|0)+(r>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,o=Math.imul(P,de),r=(r=Math.imul(P,he))+Math.imul(U,de)|0,i=Math.imul(U,he);var Me=(c+(o=o+Math.imul(B,fe)|0)|0)+((8191&(r=(r=r+Math.imul(B,ge)|0)+Math.imul(N,fe)|0))<<13)|0;c=((i=i+Math.imul(N,ge)|0)+(r>>>13)|0)+(Me>>>26)|0,Me&=67108863;var Oe=(c+(o=Math.imul(P,fe))|0)+((8191&(r=(r=Math.imul(P,ge))+Math.imul(U,fe)|0))<<13)|0;return c=((i=Math.imul(U,ge))+(r>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,u[0]=me,u[1]=_e,u[2]=Fe,u[3]=ye,u[4]=be,u[5]=ve,u[6]=we,u[7]=Ee,u[8]=ke,u[9]=De,u[10]=Se,u[11]=xe,u[12]=Ce,u[13]=Ae,u[14]=Te,u[15]=Re,u[16]=Ie,u[17]=Me,u[18]=Oe,0!==c&&(u[19]=c,n.length++),n};function g(e,t,n){return(new m).mulp(e,t,n)}function m(e,t){this.x=e,this.y=t}Math.imul||(f=p),i.prototype.mulTo=function(e,t){var n=this.length+e.length;return 10===this.length&&10===e.length?f(this,e,t):n<63?p(this,e,t):n<1024?function(e,t,n){n.negative=t.negative^e.negative,n.length=e.length+t.length;for(var o=0,r=0,i=0;i>>26)|0)>>>26,a&=67108863}n.words[i]=s,o=a,a=r}return 0!==o?n.words[i]=o:n.length--,n.strip()}(this,e,t):g(this,e,t)},m.prototype.makeRBT=function(e){for(var t=new Array(e),n=i.prototype._countBits(e)-1,o=0;o>=1;return o},m.prototype.permute=function(e,t,n,o,r,i){for(var a=0;a>>=1)r++;return 1<>>=13,n[2*a+1]=8191&i,i>>>=13;for(a=2*t;a>=26,t+=r/67108864|0,t+=i>>>26,this.words[n]=67108863&i}return 0!==t&&(this.words[n]=t,this.length++),this},i.prototype.muln=function(e){return this.clone().imuln(e)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),n=0;n>>r}return t}(e);if(0===t.length)return new i(1);for(var n=this,o=0;o=0);var t,n=e%26,r=(e-n)/26,i=67108863>>>26-n<<26-n;if(0!==n){var a=0;for(t=0;t>>26-n}a&&(this.words[t]=a,this.length++)}if(0!==r){for(t=this.length-1;t>=0;t--)this.words[t+r]=this.words[t];for(t=0;t=0),r=t?(t-t%26)/26:0;var i=e%26,a=Math.min((e-i)/26,this.length),s=67108863^67108863>>>i<a)for(this.length-=a,c=0;c=0&&(0!==l||c>=r);c--){var d=0|this.words[c];this.words[c]=l<<26-i|d>>>i,l=d&s}return u&&0!==l&&(u.words[u.length++]=l),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.ishrn=function(e,t,n){return o(0===this.negative),this.iushrn(e,t,n)},i.prototype.shln=function(e){return this.clone().ishln(e)},i.prototype.ushln=function(e){return this.clone().iushln(e)},i.prototype.shrn=function(e){return this.clone().ishrn(e)},i.prototype.ushrn=function(e){return this.clone().iushrn(e)},i.prototype.testn=function(e){o("number"==typeof e&&e>=0);var t=e%26,n=(e-t)/26,r=1<=0);var t=e%26,n=(e-t)/26;if(o(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==t&&n++,this.length=Math.min(n,this.length),0!==t){var r=67108863^67108863>>>t<=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},i.prototype.isubn=function(e){if(o("number"==typeof e),o(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t>26)-(u/67108864|0),this.words[r+n]=67108863&i}for(;r>26,this.words[r+n]=67108863&i;if(0===s)return this.strip();for(o(-1===s),s=0,r=0;r>26,this.words[r]=67108863&i;return this.negative=1,this.strip()},i.prototype._wordDiv=function(e,t){var n=(this.length,e.length),o=this.clone(),r=e,a=0|r.words[r.length-1];0!=(n=26-this._countBits(a))&&(r=r.ushln(n),o.iushln(n),a=0|r.words[r.length-1]);var s,u=o.length-r.length;if("mod"!==t){(s=new i(null)).length=u+1,s.words=new Array(s.length);for(var c=0;c=0;d--){var h=67108864*(0|o.words[r.length+d])+(0|o.words[r.length+d-1]);for(h=Math.min(h/a|0,67108863),o._ishlnsubmul(r,h,d);0!==o.negative;)h--,o.negative=0,o._ishlnsubmul(r,1,d),o.isZero()||(o.negative^=1);s&&(s.words[d]=h)}return s&&s.strip(),o.strip(),"div"!==t&&0!==n&&o.iushrn(n),{div:s||null,mod:o}},i.prototype.divmod=function(e,t,n){return o(!e.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,t),"mod"!==t&&(r=s.div.neg()),"div"!==t&&(a=s.mod.neg(),n&&0!==a.negative&&a.iadd(e)),{div:r,mod:a}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),t),"mod"!==t&&(r=s.div.neg()),{div:r,mod:s.mod}):0!=(this.negative&e.negative)?(s=this.neg().divmod(e.neg(),t),"div"!==t&&(a=s.mod.neg(),n&&0!==a.negative&&a.isub(e)),{div:s.div,mod:a}):e.length>this.length||this.cmp(e)<0?{div:new i(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new i(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new i(this.modn(e.words[0]))}:this._wordDiv(e,t);var r,a,s},i.prototype.div=function(e){return this.divmod(e,"div",!1).div},i.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},i.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},i.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var n=0!==t.div.negative?t.mod.isub(e):t.mod,o=e.ushrn(1),r=e.andln(1),i=n.cmp(o);return i<0||1===r&&0===i?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},i.prototype.modn=function(e){o(e<=67108863);for(var t=(1<<26)%e,n=0,r=this.length-1;r>=0;r--)n=(t*n+(0|this.words[r]))%e;return n},i.prototype.idivn=function(e){o(e<=67108863);for(var t=0,n=this.length-1;n>=0;n--){var r=(0|this.words[n])+67108864*t;this.words[n]=r/e|0,t=r%e}return this.strip()},i.prototype.divn=function(e){return this.clone().idivn(e)},i.prototype.egcd=function(e){o(0===e.negative),o(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var r=new i(1),a=new i(0),s=new i(0),u=new i(1),c=0;t.isEven()&&n.isEven();)t.iushrn(1),n.iushrn(1),++c;for(var l=n.clone(),d=t.clone();!t.isZero();){for(var h=0,p=1;0==(t.words[0]&p)&&h<26;++h,p<<=1);if(h>0)for(t.iushrn(h);h-- >0;)(r.isOdd()||a.isOdd())&&(r.iadd(l),a.isub(d)),r.iushrn(1),a.iushrn(1);for(var f=0,g=1;0==(n.words[0]&g)&&f<26;++f,g<<=1);if(f>0)for(n.iushrn(f);f-- >0;)(s.isOdd()||u.isOdd())&&(s.iadd(l),u.isub(d)),s.iushrn(1),u.iushrn(1);t.cmp(n)>=0?(t.isub(n),r.isub(s),a.isub(u)):(n.isub(t),s.isub(r),u.isub(a))}return{a:s,b:u,gcd:n.iushln(c)}},i.prototype._invmp=function(e){o(0===e.negative),o(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var r,a=new i(1),s=new i(0),u=n.clone();t.cmpn(1)>0&&n.cmpn(1)>0;){for(var c=0,l=1;0==(t.words[0]&l)&&c<26;++c,l<<=1);if(c>0)for(t.iushrn(c);c-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);for(var d=0,h=1;0==(n.words[0]&h)&&d<26;++d,h<<=1);if(d>0)for(n.iushrn(d);d-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);t.cmp(n)>=0?(t.isub(n),a.isub(s)):(n.isub(t),s.isub(a))}return(r=0===t.cmpn(1)?a:s).cmpn(0)<0&&r.iadd(e),r},i.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),n=e.clone();t.negative=0,n.negative=0;for(var o=0;t.isEven()&&n.isEven();o++)t.iushrn(1),n.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;n.isEven();)n.iushrn(1);var r=t.cmp(n);if(r<0){var i=t;t=n,n=i}else if(0===r||0===n.cmpn(1))break;t.isub(n)}return n.iushln(o)},i.prototype.invm=function(e){return this.egcd(e).a.umod(e)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(e){return this.words[0]&e},i.prototype.bincn=function(e){o("number"==typeof e);var t=e%26,n=(e-t)/26,r=1<>>26,s&=67108863,this.words[a]=s}return 0!==i&&(this.words[a]=i,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(e){var t,n=e<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this.strip(),this.length>1)t=1;else{n&&(e=-e),o(e<=67108863,"Number is too big");var r=0|this.words[0];t=r===e?0:re.length)return 1;if(this.length=0;n--){var o=0|this.words[n],r=0|e.words[n];if(o!==r){or&&(t=1);break}}return t},i.prototype.gtn=function(e){return 1===this.cmpn(e)},i.prototype.gt=function(e){return 1===this.cmp(e)},i.prototype.gten=function(e){return this.cmpn(e)>=0},i.prototype.gte=function(e){return this.cmp(e)>=0},i.prototype.ltn=function(e){return-1===this.cmpn(e)},i.prototype.lt=function(e){return-1===this.cmp(e)},i.prototype.lten=function(e){return this.cmpn(e)<=0},i.prototype.lte=function(e){return this.cmp(e)<=0},i.prototype.eqn=function(e){return 0===this.cmpn(e)},i.prototype.eq=function(e){return 0===this.cmp(e)},i.red=function(e){return new E(e)},i.prototype.toRed=function(e){return o(!this.red,"Already a number in reduction context"),o(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},i.prototype.fromRed=function(){return o(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(e){return this.red=e,this},i.prototype.forceRed=function(e){return o(!this.red,"Already a number in reduction context"),this._forceRed(e)},i.prototype.redAdd=function(e){return o(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},i.prototype.redIAdd=function(e){return o(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},i.prototype.redSub=function(e){return o(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},i.prototype.redISub=function(e){return o(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},i.prototype.redShl=function(e){return o(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},i.prototype.redMul=function(e){return o(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},i.prototype.redIMul=function(e){return o(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},i.prototype.redSqr=function(){return o(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return o(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return o(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return o(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return o(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(e){return o(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var _={k256:null,p224:null,p192:null,p25519:null};function F(e,t){this.name=e,this.p=new i(t,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function y(){F.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){F.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function v(){F.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function w(){F.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(e){if("string"==typeof e){var t=i._prime(e);this.m=t.p,this.prime=t}else o(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function k(e){E.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}F.prototype._tmp=function(){var e=new i(null);return e.words=new Array(Math.ceil(this.n/13)),e},F.prototype.ireduce=function(e){var t,n=e;do{this.split(n,this.tmp),t=(n=(n=this.imulK(n)).iadd(this.tmp)).bitLength()}while(t>this.n);var o=t0?n.isub(this.p):void 0!==n.strip?n.strip():n._strip(),n},F.prototype.split=function(e,t){e.iushrn(this.n,0,t)},F.prototype.imulK=function(e){return e.imul(this.k)},r(y,F),y.prototype.split=function(e,t){for(var n=4194303,o=Math.min(e.length,9),r=0;r>>22,i=a}i>>>=22,e.words[r-10]=i,0===i&&e.length>10?e.length-=10:e.length-=9},y.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,n=0;n>>=26,e.words[n]=r,t=o}return 0!==t&&(e.words[e.length++]=t),e},i._prime=function(e){if(_[e])return _[e];var t;if("k256"===e)t=new y;else if("p224"===e)t=new b;else if("p192"===e)t=new v;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new w}return _[e]=t,t},E.prototype._verify1=function(e){o(0===e.negative,"red works only with positives"),o(e.red,"red works only with red numbers")},E.prototype._verify2=function(e,t){o(0==(e.negative|t.negative),"red works only with positives"),o(e.red&&e.red===t.red,"red works only with red numbers")},E.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},E.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},E.prototype.add=function(e,t){this._verify2(e,t);var n=e.add(t);return n.cmp(this.m)>=0&&n.isub(this.m),n._forceRed(this)},E.prototype.iadd=function(e,t){this._verify2(e,t);var n=e.iadd(t);return n.cmp(this.m)>=0&&n.isub(this.m),n},E.prototype.sub=function(e,t){this._verify2(e,t);var n=e.sub(t);return n.cmpn(0)<0&&n.iadd(this.m),n._forceRed(this)},E.prototype.isub=function(e,t){this._verify2(e,t);var n=e.isub(t);return n.cmpn(0)<0&&n.iadd(this.m),n},E.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},E.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},E.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},E.prototype.isqr=function(e){return this.imul(e,e.clone())},E.prototype.sqr=function(e){return this.mul(e,e)},E.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(o(t%2==1),3===t){var n=this.m.add(new i(1)).iushrn(2);return this.pow(e,n)}for(var r=this.m.subn(1),a=0;!r.isZero()&&0===r.andln(1);)a++,r.iushrn(1);o(!r.isZero());var s=new i(1).toRed(this),u=s.redNeg(),c=this.m.subn(1).iushrn(1),l=this.m.bitLength();for(l=new i(2*l*l).toRed(this);0!==this.pow(l,c).cmp(u);)l.redIAdd(u);for(var d=this.pow(l,r),h=this.pow(e,r.addn(1).iushrn(1)),p=this.pow(e,r),f=a;0!==p.cmp(s);){for(var g=p,m=0;0!==g.cmp(s);m++)g=g.redSqr();o(m=0;o--){for(var c=t.words[o],l=u-1;l>=0;l--){var d=c>>l&1;r!==n[0]&&(r=this.sqr(r)),0!==d||0!==a?(a<<=1,a|=d,(4==++s||0===o&&0===l)&&(r=this.mul(r,n[a]),s=0,a=0)):s=0}u=26}return r},E.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},E.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},i.mont=function(e){return new k(e)},r(k,E),k.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},k.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},k.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var n=e.imul(t),o=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=n.isub(o).iushrn(this.shift),i=r;return r.cmp(this.m)>=0?i=r.isub(this.m):r.cmpn(0)<0&&(i=r.iadd(this.m)),i._forceRed(this)},k.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new i(0)._forceRed(this);var n=e.mul(t),o=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=n.isub(o).iushrn(this.shift),a=r;return r.cmp(this.m)>=0?a=r.isub(this.m):r.cmpn(0)<0&&(a=r.iadd(this.m)),a._forceRed(this)},k.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e=n.nmd(e),this)},79746:e=>{function t(e,t){if(!e)throw new Error(t||"Assertion failed")}e.exports=t,t.equal=function(e,t,n){if(e!=t)throw new Error(n||"Assertion failed: "+e+" != "+t)}},34504:(e,t)=>{"use strict";var n=t;function o(e){return 1===e.length?"0"+e:e}function r(e){for(var t="",n=0;n>8,a=255&r;i?n.push(i,a):n.push(a)}return n},n.zero2=o,n.toHex=r,n.encode=function(e,t){return"hex"===t?r(e):e}},27418:e=>{"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;function r(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var o={};return"abcdefghijklmnopqrst".split("").forEach((function(e){o[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},o)).join("")}catch(e){return!1}}()?Object.assign:function(e,i){for(var a,s,u=r(e),c=1;c{var o="function"==typeof Map&&Map.prototype,r=Object.getOwnPropertyDescriptor&&o?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,i=o&&r&&"function"==typeof r.get?r.get:null,a=o&&Map.prototype.forEach,s="function"==typeof Set&&Set.prototype,u=Object.getOwnPropertyDescriptor&&s?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,c=s&&u&&"function"==typeof u.get?u.get:null,l=s&&Set.prototype.forEach,d="function"==typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,h="function"==typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,p=Boolean.prototype.valueOf,f=Object.prototype.toString,g=Function.prototype.toString,m=String.prototype.match,_="function"==typeof BigInt?BigInt.prototype.valueOf:null,F=Object.getOwnPropertySymbols,y="function"==typeof Symbol?Symbol.prototype.toString:null,b=Object.prototype.propertyIsEnumerable,v=n(24654).custom,w=v&&S(v)?v:null;function E(e,t,n){var o="double"===(n.quoteStyle||t)?'"':"'";return o+e+o}function k(e){return String(e).replace(/"/g,""")}function D(e){return"[object Array]"===A(e)}function S(e){return"[object Symbol]"===A(e)}e.exports=function e(t,n,o,r){var s=n||{};if(C(s,"quoteStyle")&&"single"!==s.quoteStyle&&"double"!==s.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if(C(s,"maxStringLength")&&("number"==typeof s.maxStringLength?s.maxStringLength<0&&s.maxStringLength!==1/0:null!==s.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var u=!C(s,"customInspect")||s.customInspect;if("boolean"!=typeof u)throw new TypeError('option "customInspect", if provided, must be `true` or `false`');if(C(s,"indent")&&null!==s.indent&&"\t"!==s.indent&&!(parseInt(s.indent,10)===s.indent&&s.indent>0))throw new TypeError('options "indent" must be "\\t", an integer > 0, or `null`');if(void 0===t)return"undefined";if(null===t)return"null";if("boolean"==typeof t)return t?"true":"false";if("string"==typeof t)return R(t,s);if("number"==typeof t)return 0===t?1/0/t>0?"0":"-0":String(t);if("bigint"==typeof t)return String(t)+"n";var f=void 0===s.depth?5:s.depth;if(void 0===o&&(o=0),o>=f&&f>0&&"object"==typeof t)return D(t)?"[Array]":"[Object]";var F,b=function(e,t){var n;if("\t"===e.indent)n="\t";else{if(!("number"==typeof e.indent&&e.indent>0))return null;n=Array(e.indent+1).join(" ")}return{base:n,prev:Array(t+1).join(n)}}(s,o);if(void 0===r)r=[];else if(T(r,t)>=0)return"[Circular]";function v(t,n,i){if(n&&(r=r.slice()).push(n),i){var a={depth:s.depth};return C(s,"quoteStyle")&&(a.quoteStyle=s.quoteStyle),e(t,a,o+1,r)}return e(t,s,o+1,r)}if("function"==typeof t){var x=function(e){if(e.name)return e.name;var t=m.call(g.call(e),/^function\s*([\w$]+)/);return t?t[1]:null}(t),I=L(t,v);return"[Function"+(x?": "+x:" (anonymous)")+"]"+(I.length>0?" { "+I.join(", ")+" }":"")}if(S(t)){var P=y.call(t);return"object"==typeof t?M(P):P}if((F=t)&&"object"==typeof F&&("undefined"!=typeof HTMLElement&&F instanceof HTMLElement||"string"==typeof F.nodeName&&"function"==typeof F.getAttribute)){for(var U="<"+String(t.nodeName).toLowerCase(),j=t.attributes||[],q=0;q"}if(D(t)){if(0===t.length)return"[]";var z=L(t,v);return b&&!function(e){for(var t=0;t=0)return!1;return!0}(z)?"["+N(z,b)+"]":"[ "+z.join(", ")+" ]"}if(function(e){return"[object Error]"===A(e)}(t)){var K=L(t,v);return 0===K.length?"["+String(t)+"]":"{ ["+String(t)+"] "+K.join(", ")+" }"}if("object"==typeof t&&u){if(w&&"function"==typeof t[w])return t[w]();if("function"==typeof t.inspect)return t.inspect()}if(function(e){if(!i||!e||"object"!=typeof e)return!1;try{i.call(e);try{c.call(e)}catch(e){return!0}return e instanceof Map}catch(e){}return!1}(t)){var G=[];return a.call(t,(function(e,n){G.push(v(n,t,!0)+" => "+v(e,t))})),B("Map",i.call(t),G,b)}if(function(e){if(!c||!e||"object"!=typeof e)return!1;try{c.call(e);try{i.call(e)}catch(e){return!0}return e instanceof Set}catch(e){}return!1}(t)){var $=[];return l.call(t,(function(e){$.push(v(e,t))})),B("Set",c.call(t),$,b)}if(function(e){if(!d||!e||"object"!=typeof e)return!1;try{d.call(e,d);try{h.call(e,h)}catch(e){return!0}return e instanceof WeakMap}catch(e){}return!1}(t))return O("WeakMap");if(function(e){if(!h||!e||"object"!=typeof e)return!1;try{h.call(e,h);try{d.call(e,d)}catch(e){return!0}return e instanceof WeakSet}catch(e){}return!1}(t))return O("WeakSet");if(function(e){return"[object Number]"===A(e)}(t))return M(v(Number(t)));if(function(e){return"[object BigInt]"===A(e)}(t))return M(v(_.call(t)));if(function(e){return"[object Boolean]"===A(e)}(t))return M(p.call(t));if(function(e){return"[object String]"===A(e)}(t))return M(v(String(t)));if(!function(e){return"[object Date]"===A(e)}(t)&&!function(e){return"[object RegExp]"===A(e)}(t)){var H=L(t,v);return 0===H.length?"{}":b?"{"+N(H,b)+"}":"{ "+H.join(", ")+" }"}return String(t)};var x=Object.prototype.hasOwnProperty||function(e){return e in this};function C(e,t){return x.call(e,t)}function A(e){return f.call(e)}function T(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0,o=e.length;nt.maxStringLength){var n=e.length-t.maxStringLength,o="... "+n+" more character"+(n>1?"s":"");return R(e.slice(0,t.maxStringLength),t)+o}return E(e.replace(/(['\\])/g,"\\$1").replace(/[\x00-\x1f]/g,I),"single",t)}function I(e){var t=e.charCodeAt(0),n={8:"b",9:"t",10:"n",12:"f",13:"r"}[t];return n?"\\"+n:"\\x"+(t<16?"0":"")+t.toString(16).toUpperCase()}function M(e){return"Object("+e+")"}function O(e){return e+" { ? }"}function B(e,t,n,o){return e+" ("+t+") {"+(o?N(n,o):n.join(", "))+"}"}function N(e,t){if(0===e.length)return"";var n="\n"+t.prev+t.base;return n+e.join(","+n)+"\n"+t.prev}function L(e,t){var n=D(e),o=[];if(n){o.length=e.length;for(var r=0;r{e.exports=function(e,t){return parseInt(e.toString(),t||8)}},93011:(e,t,n)=>{var o,r,i,a,s,u,c=(s={},i=(i="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0)||"/index.js",u=function(t){var a,u,c;if(t=t||{},a||(a=void 0!==t?t:{}),a.ready=new Promise((function(e){u=e})),"undefined"!=typeof window)c=function(e){window.crypto.getRandomValues(e)};else{if(!e.exports)throw Error("Cannot find global to attach library to");var l=n(55835);c=function(e){var t=l.randomBytes(e.length);e.set(t)},process=n.g.process}if("undefined"!=typeof OLM_OPTIONS)for(var d in OLM_OPTIONS)OLM_OPTIONS.hasOwnProperty(d)&&(a[d]=OLM_OPTIONS[d]);a.onRuntimeInitialized=function(){Ce=a._olm_error(),s.PRIVATE_KEY_LENGTH=a._olm_pk_private_key_length(),o&&o()},a.onAbort=function(e){r&&r(e)};var h,p,f,g,m,_={};for(h in a)a.hasOwnProperty(h)&&(_[h]=a[h]);p="object"==typeof window,f="function"==typeof importScripts,g="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,m=!p&&!g&&!f;var F,y,b,v,w="";g?(w=f?n(26470).dirname(w)+"/":"//",F=function(e,t){return b||(b=n(23384)),v||(v=n(26470)),e=v.normalize(e),b.readFileSync(e,t?null:"utf8")},y=function(e){return(e=F(e,!0)).buffer||(e=new Uint8Array(e)),e.buffer||ne("Assertion failed: undefined"),e},1>0]=0;break;case"i16":U[e>>1]=0;break;case"i32":j[e>>2]=0;break;case"i64":ie=[0,1<=+X(0)?~~+J(0)>>>0:0],j[e>>2]=ie[0],j[e+4>>2]=ie[1];break;case"float":q[e>>2]=0;break;case"double":z[e>>3]=0;break;default:ne("invalid type for setValue: "+t)}}function x(e,t){switch("*"===(t=t||"i8").charAt(t.length-1)&&(t="i32"),t){case"i1":case"i8":return L[e>>0];case"i16":return U[e>>1];case"i32":case"i64":return j[e>>2];case"float":return q[e>>2];case"double":return z[e>>3];default:ne("invalid type for getValue: "+t)}return null}_=null,a.wasmBinary&&(E=a.wasmBinary),a.noExitRuntime&&a.noExitRuntime,"object"!=typeof WebAssembly&&ne("no native wasm support detected");var C,A=new WebAssembly.Table({initial:9,maximum:9,element:"anyfunc"}),T=!1,R="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function I(e,t){if(e){var n=P,o=e+t;for(t=e;n[t]&&!(t>=o);)++t;if(16(r=224==(240&r)?(15&r)<<12|i<<6|a:(7&r)<<18|i<<12|a<<6|63&n[e++])?o+=String.fromCharCode(r):(r-=65536,o+=String.fromCharCode(55296|r>>10,56320|1023&r))}}else o+=String.fromCharCode(r)}e=o}}else e="";return e}function M(e,t,n,o){if(!(0=a&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++i)),127>=a){if(n>=o)break;t[n++]=a}else{if(2047>=a){if(n+1>=o)break;t[n++]=192|a>>6}else{if(65535>=a){if(n+2>=o)break;t[n++]=224|a>>12}else{if(n+3>=o)break;t[n++]=240|a>>18,t[n++]=128|a>>12&63}t[n++]=128|a>>6&63}t[n++]=128|63&a}}return t[n]=0,n-r}function O(e){for(var t=0,n=0;n=o&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++n)),127>=o?++t:t=2047>=o?t+2:65535>=o?t+3:t+4}return t}function B(e,t){for(var n=0;n>0]=e.charCodeAt(n)}var N,L,P,U,j,q,z,K=a.INITIAL_MEMORY||262144;(C=a.wasmMemory?a.wasmMemory:new WebAssembly.Memory({initial:K/65536,maximum:K/65536}))&&(N=C.buffer),K=N.byteLength;var G=N;function $(e){for(;0{var o=n(52479);function r(e){var t=function(){return t.called?t.value:(t.called=!0,t.value=e.apply(this,arguments))};return t.called=!1,t}function i(e){var t=function(){if(t.called)throw new Error(t.onceError);return t.called=!0,t.value=e.apply(this,arguments)},n=e.name||"Function wrapped with `once`";return t.onceError=n+" shouldn't be called more than once",t.called=!1,t}e.exports=o(r),e.exports.strict=o(i),r.proto=r((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return r(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return i(this)},configurable:!0})}))},873:e=>{"use strict";e.exports=JSON.parse('{"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"}')},52818:(e,t,n)=>{"use strict";var o=n(39809);t.certificate=n(41934);var r=o.define("RSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())}));t.RSAPrivateKey=r;var i=o.define("RSAPublicKey",(function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())}));t.RSAPublicKey=i;var a=o.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(s),this.key("subjectPublicKey").bitstr())}));t.PublicKey=a;var s=o.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("none").null_().optional(),this.key("curve").objid().optional(),this.key("params").seq().obj(this.key("p").int(),this.key("q").int(),this.key("g").int()).optional())})),u=o.define("PrivateKeyInfo",(function(){this.seq().obj(this.key("version").int(),this.key("algorithm").use(s),this.key("subjectPrivateKey").octstr())}));t.PrivateKey=u;var c=o.define("EncryptedPrivateKeyInfo",(function(){this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(),this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(),this.key("kdeparams").seq().obj(this.key("salt").octstr(),this.key("iters").int())),this.key("cipher").seq().obj(this.key("algo").objid(),this.key("iv").octstr()))),this.key("subjectPrivateKey").octstr())}));t.EncryptedPrivateKey=c;var l=o.define("DSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("p").int(),this.key("q").int(),this.key("g").int(),this.key("pub_key").int(),this.key("priv_key").int())}));t.DSAPrivateKey=l,t.DSAparam=o.define("DSAparam",(function(){this.int()}));var d=o.define("ECPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").optional().explicit(0).use(h),this.key("publicKey").optional().explicit(1).bitstr())}));t.ECPrivateKey=d;var h=o.define("ECParameters",(function(){this.choice({namedCurve:this.objid()})}));t.signature=o.define("signature",(function(){this.seq().obj(this.key("r").int(),this.key("s").int())}))},41934:(e,t,n)=>{"use strict";var o=n(39809),r=o.define("Time",(function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})})),i=o.define("AttributeTypeValue",(function(){this.seq().obj(this.key("type").objid(),this.key("value").any())})),a=o.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional(),this.key("curve").objid().optional())})),s=o.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(a),this.key("subjectPublicKey").bitstr())})),u=o.define("RelativeDistinguishedName",(function(){this.setof(i)})),c=o.define("RDNSequence",(function(){this.seqof(u)})),l=o.define("Name",(function(){this.choice({rdnSequence:this.use(c)})})),d=o.define("Validity",(function(){this.seq().obj(this.key("notBefore").use(r),this.key("notAfter").use(r))})),h=o.define("Extension",(function(){this.seq().obj(this.key("extnID").objid(),this.key("critical").bool().def(!1),this.key("extnValue").octstr())})),p=o.define("TBSCertificate",(function(){this.seq().obj(this.key("version").explicit(0).int().optional(),this.key("serialNumber").int(),this.key("signature").use(a),this.key("issuer").use(l),this.key("validity").use(d),this.key("subject").use(l),this.key("subjectPublicKeyInfo").use(s),this.key("issuerUniqueID").implicit(1).bitstr().optional(),this.key("subjectUniqueID").implicit(2).bitstr().optional(),this.key("extensions").explicit(3).seqof(h).optional())})),f=o.define("X509Certificate",(function(){this.seq().obj(this.key("tbsCertificate").use(p),this.key("signatureAlgorithm").use(a),this.key("signatureValue").bitstr())}));e.exports=f},77631:(e,t,n)=>{var o=/Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r+/=]+)[\n\r]+/m,r=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,i=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r+/=]+)-----END \1-----$/m,a=n(13048),s=n(44696),u=n(89509).Buffer;e.exports=function(e,t){var n,c=e.toString(),l=c.match(o);if(l){var d="aes"+l[1],h=u.from(l[2],"hex"),p=u.from(l[3].replace(/[\r\n]/g,""),"base64"),f=a(t,h.slice(0,8),parseInt(l[1],10)).key,g=[],m=s.createDecipheriv(d,f,h);g.push(m.update(p)),g.push(m.final()),n=u.concat(g)}else{var _=c.match(i);n=u.from(_[2].replace(/[\r\n]/g,""),"base64")}return{tag:c.match(r)[1],data:n}}},70980:(e,t,n)=>{var o=n(52818),r=n(873),i=n(77631),a=n(44696),s=n(25632),u=n(89509).Buffer;function c(e){var t;"object"!=typeof e||u.isBuffer(e)||(t=e.passphrase,e=e.key),"string"==typeof e&&(e=u.from(e));var n,c,l=i(e,t),d=l.tag,h=l.data;switch(d){case"CERTIFICATE":c=o.certificate.decode(h,"der").tbsCertificate.subjectPublicKeyInfo;case"PUBLIC KEY":switch(c||(c=o.PublicKey.decode(h,"der")),n=c.algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return o.RSAPublicKey.decode(c.subjectPublicKey.data,"der");case"1.2.840.10045.2.1":return c.subjectPrivateKey=c.subjectPublicKey,{type:"ec",data:c};case"1.2.840.10040.4.1":return c.algorithm.params.pub_key=o.DSAparam.decode(c.subjectPublicKey.data,"der"),{type:"dsa",data:c.algorithm.params};default:throw new Error("unknown key id "+n)}case"ENCRYPTED PRIVATE KEY":h=function(e,t){var n=e.algorithm.decrypt.kde.kdeparams.salt,o=parseInt(e.algorithm.decrypt.kde.kdeparams.iters.toString(),10),i=r[e.algorithm.decrypt.cipher.algo.join(".")],c=e.algorithm.decrypt.cipher.iv,l=e.subjectPrivateKey,d=parseInt(i.split("-")[1],10)/8,h=s.pbkdf2Sync(t,n,o,d,"sha1"),p=a.createDecipheriv(i,h,c),f=[];return f.push(p.update(l)),f.push(p.final()),u.concat(f)}(h=o.EncryptedPrivateKey.decode(h,"der"),t);case"PRIVATE KEY":switch(n=(c=o.PrivateKey.decode(h,"der")).algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return o.RSAPrivateKey.decode(c.subjectPrivateKey,"der");case"1.2.840.10045.2.1":return{curve:c.algorithm.curve,privateKey:o.ECPrivateKey.decode(c.subjectPrivateKey,"der").privateKey};case"1.2.840.10040.4.1":return c.algorithm.params.priv_key=o.DSAparam.decode(c.subjectPrivateKey,"der"),{type:"dsa",params:c.algorithm.params};default:throw new Error("unknown key id "+n)}case"RSA PUBLIC KEY":return o.RSAPublicKey.decode(h,"der");case"RSA PRIVATE KEY":return o.RSAPrivateKey.decode(h,"der");case"DSA PRIVATE KEY":return{type:"dsa",params:o.DSAPrivateKey.decode(h,"der")};case"EC PRIVATE KEY":return{curve:(h=o.ECPrivateKey.decode(h,"der")).parameters.value,privateKey:h.privateKey};default:throw new Error("unknown key type "+d)}}e.exports=c,c.signature=o.signature},89435:e=>{"use strict";var t;e.exports=function(e){var n,o="&"+e+";";return(t=t||document.createElement("i")).innerHTML=o,(59!==(n=t.textContent).charCodeAt(n.length-1)||"semi"===e)&&(n!==o&&n)}},57574:(e,t,n)=>{"use strict";var o=n(16588),r=n(6852),i=n(46195),a=n(79480),s=n(7961),u=n(89435);e.exports=function(e,t){var n,i,a={};for(i in t||(t={}),h)n=t[i],a[i]=null==n?h[i]:n;return(a.position.indent||a.position.start)&&(a.indent=a.position.indent||[],a.position=a.position.start),function(e,t){var n,i,a,h,b,v,w,E,k,D,S,x,C,A,T,R,I,M,O,B,N=t.additional,L=t.nonTerminated,P=t.text,U=t.reference,j=t.warning,q=t.textContext,z=t.referenceContext,K=t.warningContext,G=t.position,$=t.indent||[],H=e.length,V=0,W=-1,Y=G.column||1,Z=G.line||1,X="",J=[];for("string"==typeof N&&(N=N.charCodeAt(0)),R=Q(),E=j?function(e,t){var n=Q();n.column+=t,n.offset+=t,j.call(K,F[e],n,e)}:d,V--,H++;++V=55296&&B<=57343||B>1114111?(E(7,M),v=l(65533)):v in r?(E(6,M),v=r[v]):(D="",y(v)&&E(6,M),v>65535&&(D+=l((v-=65536)>>>10|55296),v=56320|1023&v),v=D+l(v))):A!==p&&E(4,M)),v?(ee(),R=Q(),V=O-1,Y+=O-C+1,J.push(v),(I=Q()).offset++,U&&U.call(z,v,{start:R,end:I},e.slice(C-1,O)),R=I):(h=e.slice(C-1,O),X+=h,Y+=h.length,V=O-1)}else 10===b&&(Z++,W++,Y=0),b==b?(X+=l(b),Y++):ee();return J.join("");function Q(){return{line:Z,column:Y,offset:V+(G.offset||0)}}function ee(){X&&(J.push(X),P&&P.call(q,X,{start:R,end:Q()}),X="")}}(e,a)};var c={}.hasOwnProperty,l=String.fromCharCode,d=Function.prototype,h={warning:null,reference:null,text:null,warningContext:null,referenceContext:null,textContext:null,position:{},additional:null,attribute:!1,nonTerminated:!0},p="named",f="hexadecimal",g="decimal",m={hexadecimal:16,decimal:10},_={};_.named=s,_[g]=i,_[f]=a;var F={};function y(e){return e>=1&&e<=8||11===e||e>=13&&e<=31||e>=127&&e<=159||e>=64976&&e<=65007||65535==(65535&e)||65534==(65535&e)}F[1]="Named character references must be terminated by a semicolon",F[2]="Numeric character references must be terminated by a semicolon",F[3]="Named character references cannot be empty",F[4]="Numeric character references cannot be empty",F[5]="Named character references must be known",F[6]="Numeric character references cannot be disallowed",F[7]="Numeric character references cannot be outside the permissible Unicode range"},26470:e=>{"use strict";function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var n,o="",r=0,i=-1,a=0,s=0;s<=e.length;++s){if(s2){var u=o.lastIndexOf("/");if(u!==o.length-1){-1===u?(o="",r=0):r=(o=o.slice(0,u)).length-1-o.lastIndexOf("/"),i=s,a=0;continue}}else if(2===o.length||1===o.length){o="",r=0,i=s,a=0;continue}t&&(o.length>0?o+="/..":o="..",r=2)}else o.length>0?o+="/"+e.slice(i+1,s):o=e.slice(i+1,s),r=s-i-1;i=s,a=0}else 46===n&&-1!==a?++a:a=-1}return o}var o={resolve:function(){for(var e,o="",r=!1,i=arguments.length-1;i>=-1&&!r;i--){var a;i>=0?a=arguments[i]:(void 0===e&&(e=process.cwd()),a=e),t(a),0!==a.length&&(o=a+"/"+o,r=47===a.charCodeAt(0))}return o=n(o,!r),r?o.length>0?"/"+o:"/":o.length>0?o:"."},normalize:function(e){if(t(e),0===e.length)return".";var o=47===e.charCodeAt(0),r=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!o)).length||o||(e="."),e.length>0&&r&&(e+="/"),o?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,n=0;n0&&(void 0===e?e=r:e+="/"+r)}return void 0===e?".":o.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n)return"";if((e=o.resolve(e))===(n=o.resolve(n)))return"";for(var r=1;rc){if(47===n.charCodeAt(s+d))return n.slice(s+d+1);if(0===d)return n.slice(s+d)}else a>c&&(47===e.charCodeAt(r+d)?l=d:0===d&&(l=0));break}var h=e.charCodeAt(r+d);if(h!==n.charCodeAt(s+d))break;47===h&&(l=d)}var p="";for(d=r+l+1;d<=i;++d)d!==i&&47!==e.charCodeAt(d)||(0===p.length?p+="..":p+="/..");return p.length>0?p+n.slice(s+l):(s+=l,47===n.charCodeAt(s)&&++s,n.slice(s))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var n=e.charCodeAt(0),o=47===n,r=-1,i=!0,a=e.length-1;a>=1;--a)if(47===(n=e.charCodeAt(a))){if(!i){r=a;break}}else i=!1;return-1===r?o?"/":".":o&&1===r?"//":e.slice(0,r)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw new TypeError('"ext" argument must be a string');t(e);var o,r=0,i=-1,a=!0;if(void 0!==n&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return"";var s=n.length-1,u=-1;for(o=e.length-1;o>=0;--o){var c=e.charCodeAt(o);if(47===c){if(!a){r=o+1;break}}else-1===u&&(a=!1,u=o+1),s>=0&&(c===n.charCodeAt(s)?-1==--s&&(i=o):(s=-1,i=u))}return r===i?i=u:-1===i&&(i=e.length),e.slice(r,i)}for(o=e.length-1;o>=0;--o)if(47===e.charCodeAt(o)){if(!a){r=o+1;break}}else-1===i&&(a=!1,i=o+1);return-1===i?"":e.slice(r,i)},extname:function(e){t(e);for(var n=-1,o=0,r=-1,i=!0,a=0,s=e.length-1;s>=0;--s){var u=e.charCodeAt(s);if(47!==u)-1===r&&(i=!1,r=s+1),46===u?-1===n?n=s:1!==a&&(a=1):-1!==n&&(a=-1);else if(!i){o=s+1;break}}return-1===n||-1===r||0===a||1===a&&n===r-1&&n===o+1?"":e.slice(n,r)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var n=t.dir||t.root,o=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+o:n+"/"+o:o}(0,e)},parse:function(e){t(e);var n={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;var o,r=e.charCodeAt(0),i=47===r;i?(n.root="/",o=1):o=0;for(var a=-1,s=0,u=-1,c=!0,l=e.length-1,d=0;l>=o;--l)if(47!==(r=e.charCodeAt(l)))-1===u&&(c=!1,u=l+1),46===r?-1===a?a=l:1!==d&&(d=1):-1!==a&&(d=-1);else if(!c){s=l+1;break}return-1===a||-1===u||0===d||1===d&&a===u-1&&a===s+1?-1!==u&&(n.base=n.name=0===s&&i?e.slice(1,u):e.slice(s,u)):(0===s&&i?(n.name=e.slice(1,a),n.base=e.slice(1,u)):(n.name=e.slice(s,a),n.base=e.slice(s,u)),n.ext=e.slice(a,u)),s>0?n.dir=e.slice(0,s-1):i&&(n.dir="/"),n},sep:"/",delimiter:":",win32:null,posix:null};o.posix=o,e.exports=o},25632:(e,t,n)=>{t.pbkdf2=n(88638),t.pbkdf2Sync=n(91257)},88638:(e,t,n)=>{var o,r=n(89509).Buffer,i=n(77357),a=n(12368),s=n(91257),u=n(57777),c=n.g.crypto&&n.g.crypto.subtle,l={sha:"SHA-1","sha-1":"SHA-1",sha1:"SHA-1",sha256:"SHA-256","sha-256":"SHA-256",sha384:"SHA-384","sha-384":"SHA-384","sha-512":"SHA-512",sha512:"SHA-512"},d=[];function h(e,t,n,o,i){return c.importKey("raw",e,{name:"PBKDF2"},!1,["deriveBits"]).then((function(e){return c.deriveBits({name:"PBKDF2",salt:t,iterations:n,hash:{name:i}},e,o<<3)})).then((function(e){return r.from(e)}))}e.exports=function(e,t,p,f,g,m){"function"==typeof g&&(m=g,g=void 0);var _=l[(g=g||"sha1").toLowerCase()];if(!_||"function"!=typeof n.g.Promise)return process.nextTick((function(){var n;try{n=s(e,t,p,f,g)}catch(e){return m(e)}m(null,n)}));if(i(p,f),e=u(e,a,"Password"),t=u(t,a,"Salt"),"function"!=typeof m)throw new Error("No callback provided to pbkdf2");!function(e,t){e.then((function(e){process.nextTick((function(){t(null,e)}))}),(function(e){process.nextTick((function(){t(e)}))}))}(function(e){if(n.g.process&&!n.g.process.browser)return Promise.resolve(!1);if(!c||!c.importKey||!c.deriveBits)return Promise.resolve(!1);if(void 0!==d[e])return d[e];var t=h(o=o||r.alloc(8),o,10,128,e).then((function(){return!0})).catch((function(){return!1}));return d[e]=t,t}(_).then((function(n){return n?h(e,t,p,f,_):s(e,t,p,f,g)})),m)}},12368:e=>{var t;t=process.browser?"utf-8":process.version?parseInt(process.version.split(".")[0].slice(1),10)>=6?"utf-8":"binary":"utf-8",e.exports=t},77357:e=>{var t=Math.pow(2,30)-1;e.exports=function(e,n){if("number"!=typeof e)throw new TypeError("Iterations not a number");if(e<0)throw new TypeError("Bad iterations");if("number"!=typeof n)throw new TypeError("Key length not a number");if(n<0||n>t||n!=n)throw new TypeError("Bad key length")}},91257:(e,t,n)=>{var o=n(78028),r=n(79785),i=n(89072),a=n(89509).Buffer,s=n(77357),u=n(12368),c=n(57777),l=a.alloc(128),d={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function h(e,t,n){var s=function(e){return"rmd160"===e||"ripemd160"===e?function(e){return(new r).update(e).digest()}:"md5"===e?o:function(t){return i(e).update(t).digest()}}(e),u="sha512"===e||"sha384"===e?128:64;t.length>u?t=s(t):t.length{var o=n(89509).Buffer;e.exports=function(e,t,n){if(o.isBuffer(e))return e;if("string"==typeof e)return o.from(e,t);if(ArrayBuffer.isView(e))return o.from(e.buffer);throw new TypeError(n+" must be a string, a Buffer, a typed array or a DataView")}},28325:(e,t,n)=>{var o=function(e){var t=/\blang(?:uage)?-([\w-]+)\b/i,n=0,o={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function e(t){return t instanceof r?new r(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/=d.reach);E+=w.value.length,w=w.next){var k=w.value;if(t.length>e.length)return;if(!(k instanceof r)){var D,S=1;if(F){if(!(D=i(v,E,e,_)))break;var x=D.index,C=D.index+D[0].length,A=E;for(A+=w.value.length;x>=A;)A+=(w=w.next).value.length;if(E=A-=w.value.length,w.value instanceof r)continue;for(var T=w;T!==t.tail&&(Ad.reach&&(d.reach=O);var B=w.prev;I&&(B=u(t,B,I),E+=I.length),c(t,B,S),w=u(t,B,new r(h,m?o.tokenize(R,m):R,y,R)),M&&u(t,w,M),S>1&&a(e,t,n,w.prev,E,{cause:h+","+f,reach:O})}}}}}function s(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function u(e,t,n){var o=t.next,r={value:n,prev:t,next:o};return t.next=r,o.prev=r,e.length++,r}function c(e,t,n){for(var o=t.next,r=0;r"+i.content+""},!e.document)return e.addEventListener?(o.disableWorkerMessageHandler||e.addEventListener("message",(function(t){var n=JSON.parse(t.data),r=n.language,i=n.code,a=n.immediateClose;e.postMessage(o.highlight(i,o.languages[r],r)),a&&e.close()}),!1),o):o;var l=o.util.currentScript();function d(){o.manual||o.highlightAll()}if(l&&(o.filename=l.src,l.hasAttribute("data-manual")&&(o.manual=!0)),!o.manual){var h=document.readyState;"loading"===h||"interactive"===h&&l&&l.defer?document.addEventListener("DOMContentLoaded",d):window.requestAnimationFrame?window.requestAnimationFrame(d):window.setTimeout(d,16)}return o}("undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{});e.exports&&(e.exports=o),void 0!==n.g&&(n.g.Prism=o)},88212:e=>{"use strict";"undefined"==typeof process||!process.version||0===process.version.indexOf("v0.")||0===process.version.indexOf("v1.")&&0!==process.version.indexOf("v1.8.")?e.exports={nextTick:function(e,t,n,o){if("function"!=typeof e)throw new TypeError('"callback" argument must be a function');var r,i,a=arguments.length;switch(a){case 0:case 1:return process.nextTick(e);case 2:return process.nextTick((function(){e.call(null,t)}));case 3:return process.nextTick((function(){e.call(null,t,n)}));case 4:return process.nextTick((function(){e.call(null,t,n,o)}));default:for(r=new Array(a-1),i=0;i{"use strict";var o=n(50414);function r(){}function i(){}i.resetWarningCache=r,e.exports=function(){function e(e,t,n,r,i,a){if(a!==o){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:r};return n.PropTypes=n,n}},45697:(e,t,n)=>{e.exports=n(92703)()},50414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},99560:(e,t,n)=>{"use strict";var o=n(66632),r=n(98805),i=n(89750),a="data";e.exports=function(e,t){var n=o(t),h=t,p=i;return n in e.normal?e.property[e.normal[n]]:(n.length>4&&n.slice(0,4)===a&&s.test(t)&&("-"===t.charAt(4)?h=function(e){var t=e.slice(5).replace(u,d);return a+t.charAt(0).toUpperCase()+t.slice(1)}(t):t=function(e){var t=e.slice(4);return u.test(t)?e:("-"!==(t=t.replace(c,l)).charAt(0)&&(t="-"+t),a+t)}(t),p=r),new p(h,t))};var s=/^data[-\w.:]+$/i,u=/-[a-z]/g,c=/[A-Z]/g;function l(e){return"-"+e.toLowerCase()}function d(e){return e.charAt(1).toUpperCase()}},93934:e=>{"use strict";e.exports=JSON.parse('{"classId":"classID","dataType":"datatype","itemId":"itemID","strokeDashArray":"strokeDasharray","strokeDashOffset":"strokeDashoffset","strokeLineCap":"strokeLinecap","strokeLineJoin":"strokeLinejoin","strokeMiterLimit":"strokeMiterlimit","typeOf":"typeof","xLinkActuate":"xlinkActuate","xLinkArcRole":"xlinkArcrole","xLinkHref":"xlinkHref","xLinkRole":"xlinkRole","xLinkShow":"xlinkShow","xLinkTitle":"xlinkTitle","xLinkType":"xlinkType","xmlnsXLink":"xmlnsXlink"}')},97247:(e,t,n)=>{"use strict";var o=n(19940),r=n(8289),i=n(5812),a=n(94397),s=n(67716),u=n(61805);e.exports=o([i,r,a,s,u])},67716:(e,t,n)=>{"use strict";var o=n(17e3),r=n(17596),i=o.booleanish,a=o.number,s=o.spaceSeparated;e.exports=r({transform:function(e,t){return"role"===t?t:"aria-"+t.slice(4).toLowerCase()},properties:{ariaActiveDescendant:null,ariaAtomic:i,ariaAutoComplete:null,ariaBusy:i,ariaChecked:i,ariaColCount:a,ariaColIndex:a,ariaColSpan:a,ariaControls:s,ariaCurrent:null,ariaDescribedBy:s,ariaDetails:null,ariaDisabled:i,ariaDropEffect:s,ariaErrorMessage:null,ariaExpanded:i,ariaFlowTo:s,ariaGrabbed:i,ariaHasPopup:null,ariaHidden:i,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:s,ariaLevel:a,ariaLive:null,ariaModal:i,ariaMultiLine:i,ariaMultiSelectable:i,ariaOrientation:null,ariaOwns:s,ariaPlaceholder:null,ariaPosInSet:a,ariaPressed:i,ariaReadOnly:i,ariaRelevant:null,ariaRequired:i,ariaRoleDescription:s,ariaRowCount:a,ariaRowIndex:a,ariaRowSpan:a,ariaSelected:i,ariaSetSize:a,ariaSort:null,ariaValueMax:a,ariaValueMin:a,ariaValueNow:a,ariaValueText:null,role:null}})},61805:(e,t,n)=>{"use strict";var o=n(17e3),r=n(17596),i=n(10855),a=o.boolean,s=o.overloadedBoolean,u=o.booleanish,c=o.number,l=o.spaceSeparated,d=o.commaSeparated;e.exports=r({space:"html",attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},transform:i,mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:d,acceptCharset:l,accessKey:l,action:null,allow:null,allowFullScreen:a,allowPaymentRequest:a,allowUserMedia:a,alt:null,as:null,async:a,autoCapitalize:null,autoComplete:l,autoFocus:a,autoPlay:a,capture:a,charSet:null,checked:a,cite:null,className:l,cols:c,colSpan:null,content:null,contentEditable:u,controls:a,controlsList:l,coords:c|d,crossOrigin:null,data:null,dateTime:null,decoding:null,default:a,defer:a,dir:null,dirName:null,disabled:a,download:s,draggable:u,encType:null,enterKeyHint:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:a,formTarget:null,headers:l,height:c,hidden:a,high:c,href:null,hrefLang:null,htmlFor:l,httpEquiv:l,id:null,imageSizes:null,imageSrcSet:d,inputMode:null,integrity:null,is:null,isMap:a,itemId:null,itemProp:l,itemRef:l,itemScope:a,itemType:l,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:a,low:c,manifest:null,max:null,maxLength:c,media:null,method:null,min:null,minLength:c,multiple:a,muted:a,name:null,nonce:null,noModule:a,noValidate:a,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforePrint:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextMenu:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:a,optimum:c,pattern:null,ping:l,placeholder:null,playsInline:a,poster:null,preload:null,readOnly:a,referrerPolicy:null,rel:l,required:a,reversed:a,rows:c,rowSpan:c,sandbox:l,scope:null,scoped:a,seamless:a,selected:a,shape:null,size:c,sizes:null,slot:null,span:c,spellCheck:u,src:null,srcDoc:null,srcLang:null,srcSet:d,start:c,step:null,style:null,tabIndex:c,target:null,title:null,translate:null,type:null,typeMustMatch:a,useMap:null,value:u,width:c,wrap:null,align:null,aLink:null,archive:l,axis:null,background:null,bgColor:null,border:c,borderColor:null,bottomMargin:c,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:a,declare:a,event:null,face:null,frame:null,frameBorder:null,hSpace:c,leftMargin:c,link:null,longDesc:null,lowSrc:null,marginHeight:c,marginWidth:c,noResize:a,noHref:a,noShade:a,noWrap:a,object:null,profile:null,prompt:null,rev:null,rightMargin:c,rules:null,scheme:null,scrolling:u,standby:null,summary:null,text:null,topMargin:c,valueType:null,version:null,vAlign:null,vLink:null,vSpace:c,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:a,disableRemotePlayback:a,prefix:null,property:null,results:c,security:null,unselectable:null}})},97421:(e,t,n)=>{"use strict";var o=n(17e3),r=n(17596),i=n(28740),a=o.boolean,s=o.number,u=o.spaceSeparated,c=o.commaSeparated,l=o.commaOrSpaceSeparated;e.exports=r({space:"svg",attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},transform:i,properties:{about:l,accentHeight:s,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:s,amplitude:s,arabicForm:null,ascent:s,attributeName:null,attributeType:null,azimuth:s,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:s,by:null,calcMode:null,capHeight:s,className:u,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:s,diffuseConstant:s,direction:null,display:null,dur:null,divisor:s,dominantBaseline:null,download:a,dx:null,dy:null,edgeMode:null,editable:null,elevation:s,enableBackground:null,end:null,event:null,exponent:s,externalResourcesRequired:null,fill:null,fillOpacity:s,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:c,g2:c,glyphName:c,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:s,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:s,horizOriginX:s,horizOriginY:s,id:null,ideographic:s,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:s,k:s,k1:s,k2:s,k3:s,k4:s,kernelMatrix:l,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:s,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:s,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:s,overlineThickness:s,paintOrder:null,panose1:null,path:null,pathLength:s,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:u,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:s,pointsAtY:s,pointsAtZ:s,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:l,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:l,rev:l,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:l,requiredFeatures:l,requiredFonts:l,requiredFormats:l,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:s,specularExponent:s,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:s,strikethroughThickness:s,string:null,stroke:null,strokeDashArray:l,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:s,strokeOpacity:s,strokeWidth:null,style:null,surfaceScale:s,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:l,tabIndex:s,tableValues:null,target:null,targetX:s,targetY:s,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:l,to:null,transform:null,u1:null,u2:null,underlinePosition:s,underlineThickness:s,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:s,values:null,vAlphabetic:s,vMathematical:s,vectorEffect:null,vHanging:s,vIdeographic:s,version:null,vertAdvY:s,vertOriginX:s,vertOriginY:s,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:s,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null}})},10855:(e,t,n)=>{"use strict";var o=n(28740);e.exports=function(e,t){return o(e,t.toLowerCase())}},28740:e=>{"use strict";e.exports=function(e,t){return t in e?e[t]:t}},17596:(e,t,n)=>{"use strict";var o=n(66632),r=n(99607),i=n(98805);e.exports=function(e){var t,n,a=e.space,s=e.mustUseProperty||[],u=e.attributes||{},c=e.properties,l=e.transform,d={},h={};for(t in c)n=new i(t,l(u,t),c[t],a),-1!==s.indexOf(t)&&(n.mustUseProperty=!0),d[t]=n,h[o(t)]=t,h[o(n.attribute)]=t;return new r(d,h,a)}},98805:(e,t,n)=>{"use strict";var o=n(89750),r=n(17e3);e.exports=s,s.prototype=new o,s.prototype.defined=!0;var i=["boolean","booleanish","overloadedBoolean","number","commaSeparated","spaceSeparated","commaOrSpaceSeparated"],a=i.length;function s(e,t,n,s){var c,l=-1;for(u(this,"space",s),o.call(this,e,t);++l{"use strict";e.exports=n;var t=n.prototype;function n(e,t){this.property=e,this.attribute=t}t.space=null,t.attribute=null,t.property=null,t.boolean=!1,t.booleanish=!1,t.overloadedBoolean=!1,t.number=!1,t.commaSeparated=!1,t.spaceSeparated=!1,t.commaOrSpaceSeparated=!1,t.mustUseProperty=!1,t.defined=!1},19940:(e,t,n)=>{"use strict";var o=n(13351),r=n(99607);e.exports=function(e){for(var t,n,i=e.length,a=[],s=[],u=-1;++u{"use strict";e.exports=n;var t=n.prototype;function n(e,t,n){this.property=e,this.normal=t,n&&(this.space=n)}t.space=null,t.normal={},t.property={}},17e3:(e,t)=>{"use strict";var n=0;function o(){return Math.pow(2,++n)}t.boolean=o(),t.booleanish=o(),t.overloadedBoolean=o(),t.number=o(),t.spaceSeparated=o(),t.commaSeparated=o(),t.commaOrSpaceSeparated=o()},8289:(e,t,n)=>{"use strict";var o=n(17596);e.exports=o({space:"xlink",transform:function(e,t){return"xlink:"+t.slice(5).toLowerCase()},properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null}})},5812:(e,t,n)=>{"use strict";var o=n(17596);e.exports=o({space:"xml",transform:function(e,t){return"xml:"+t.slice(3).toLowerCase()},properties:{xmlLang:null,xmlBase:null,xmlSpace:null}})},94397:(e,t,n)=>{"use strict";var o=n(17596),r=n(10855);e.exports=o({space:"xmlns",attributes:{xmlnsxlink:"xmlns:xlink"},transform:r,properties:{xmlns:null,xmlnsXLink:null}})},13351:e=>{e.exports=function(){for(var e={},n=0;n{"use strict";e.exports=function(e){return e.toLowerCase()}},11218:(e,t,n)=>{"use strict";var o=n(19940),r=n(8289),i=n(5812),a=n(94397),s=n(67716),u=n(97421);e.exports=o([i,r,a,s,u])},90233:function(e){var t;t=function(){var e="function"==typeof Object.defineProperty?function(e,t,n){return Object.defineProperty(e,t,n),e}:function(e,t,n){return e[t]=n.value,e};return function(t,n,o,r){var i;if(r=function(e,t){var n="object"==typeof t,o=!n&&"string"==typeof t,r=function(e){return n?!!t[e]:!!o&&t.indexOf(e[0])>-1};return{enumerable:r("enumerable"),configurable:r("configurable"),writable:r("writable"),value:e}}(o,r),"object"==typeof n){for(i in n)Object.hasOwnProperty.call(n,i)&&(r.value=n[i],e(t,i,r));return t}return e(t,n,r)}},e.exports?e.exports=t():this.prr=t()},7900:(e,t,n)=>{t.publicEncrypt=n(16559),t.privateDecrypt=n(26138),t.privateEncrypt=function(e,n){return t.publicEncrypt(e,n,!0)},t.publicDecrypt=function(e,n){return t.privateDecrypt(e,n,!0)}},99199:(e,t,n)=>{var o=n(23482),r=n(89509).Buffer;function i(e){var t=r.allocUnsafe(4);return t.writeUInt32BE(e,0),t}e.exports=function(e,t){for(var n,a=r.alloc(0),s=0;a.length=65&&n<=70?n-55:n>=97&&n<=102?n-87:n-48&15}function u(e,t,n){var o=s(e,n);return n-1>=t&&(o|=s(e,n-1)<<4),o}function c(e,t,n,o){for(var r=0,i=Math.min(e.length,n),a=t;a=49?s-49+10:s>=17?s-17+10:s}return r}i.isBN=function(e){return e instanceof i||null!==e&&"object"==typeof e&&e.constructor.wordSize===i.wordSize&&Array.isArray(e.words)},i.max=function(e,t){return e.cmp(t)>0?e:t},i.min=function(e,t){return e.cmp(t)<0?e:t},i.prototype._init=function(e,t,n){if("number"==typeof e)return this._initNumber(e,t,n);if("object"==typeof e)return this._initArray(e,t,n);"hex"===t&&(t=16),o(t===(0|t)&&t>=2&&t<=36);var r=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&(r++,this.negative=1),r=0;r-=3)a=e[r]|e[r-1]<<8|e[r-2]<<16,this.words[i]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);else if("le"===n)for(r=0,i=0;r>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);return this.strip()},i.prototype._parseHex=function(e,t,n){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var o=0;o=t;o-=2)r=u(e,t,o)<=18?(i-=18,a+=1,this.words[a]|=r>>>26):i+=8;else for(o=(e.length-t)%2==0?t+1:t;o=18?(i-=18,a+=1,this.words[a]|=r>>>26):i+=8;this.strip()},i.prototype._parseBase=function(e,t,n){this.words=[0],this.length=1;for(var o=0,r=1;r<=67108863;r*=t)o++;o--,r=r/t|0;for(var i=e.length-n,a=i%o,s=Math.min(i,i-a)+n,u=0,l=n;l1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},i.prototype.inspect=function(){return(this.red?""};var l=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],d=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],h=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function p(e,t,n){n.negative=t.negative^e.negative;var o=e.length+t.length|0;n.length=o,o=o-1|0;var r=0|e.words[0],i=0|t.words[0],a=r*i,s=67108863&a,u=a/67108864|0;n.words[0]=s;for(var c=1;c>>26,d=67108863&u,h=Math.min(c,t.length-1),p=Math.max(0,c-e.length+1);p<=h;p++){var f=c-p|0;l+=(a=(r=0|e.words[f])*(i=0|t.words[p])+d)/67108864|0,d=67108863&a}n.words[c]=0|d,u=0|l}return 0!==u?n.words[c]=0|u:n.length--,n.strip()}i.prototype.toString=function(e,t){var n;if(t=0|t||1,16===(e=e||10)||"hex"===e){n="";for(var r=0,i=0,a=0;a>>24-r&16777215)||a!==this.length-1?l[6-u.length]+u+n:u+n,(r+=2)>=26&&(r-=26,a--)}for(0!==i&&(n=i.toString(16)+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(e===(0|e)&&e>=2&&e<=36){var c=d[e],p=h[e];n="";var f=this.clone();for(f.negative=0;!f.isZero();){var g=f.modn(p).toString(e);n=(f=f.idivn(p)).isZero()?g+n:l[c-g.length]+g+n}for(this.isZero()&&(n="0"+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}o(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&o(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toBuffer=function(e,t){return o(void 0!==a),this.toArrayLike(a,e,t)},i.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},i.prototype.toArrayLike=function(e,t,n){var r=this.byteLength(),i=n||Math.max(1,r);o(r<=i,"byte array longer than desired length"),o(i>0,"Requested array length <= 0"),this.strip();var a,s,u="le"===t,c=new e(i),l=this.clone();if(u){for(s=0;!l.isZero();s++)a=l.andln(255),l.iushrn(8),c[s]=a;for(;s=4096&&(n+=13,t>>>=13),t>=64&&(n+=7,t>>>=7),t>=8&&(n+=4,t>>>=4),t>=2&&(n+=2,t>>>=2),n+t},i.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,n=0;return 0==(8191&t)&&(n+=13,t>>>=13),0==(127&t)&&(n+=7,t>>>=7),0==(15&t)&&(n+=4,t>>>=4),0==(3&t)&&(n+=2,t>>>=2),0==(1&t)&&n++,n},i.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},i.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},i.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var n=0;ne.length?this.clone().iand(e):e.clone().iand(this)},i.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},i.prototype.iuxor=function(e){var t,n;this.length>e.length?(t=this,n=e):(t=e,n=this);for(var o=0;oe.length?this.clone().ixor(e):e.clone().ixor(this)},i.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},i.prototype.inotn=function(e){o("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),n=e%26;this._expand(t),n>0&&t--;for(var r=0;r0&&(this.words[r]=~this.words[r]&67108863>>26-n),this.strip()},i.prototype.notn=function(e){return this.clone().inotn(e)},i.prototype.setn=function(e,t){o("number"==typeof e&&e>=0);var n=e/26|0,r=e%26;return this._expand(n+1),this.words[n]=t?this.words[n]|1<e.length?(n=this,o=e):(n=e,o=this);for(var r=0,i=0;i>>26;for(;0!==r&&i>>26;if(this.length=n.length,0!==r)this.words[this.length]=r,this.length++;else if(n!==this)for(;ie.length?this.clone().iadd(e):e.clone().iadd(this)},i.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var n,o,r=this.cmp(e);if(0===r)return this.negative=0,this.length=1,this.words[0]=0,this;r>0?(n=this,o=e):(n=e,o=this);for(var i=0,a=0;a>26,this.words[a]=67108863&t;for(;0!==i&&a>26,this.words[a]=67108863&t;if(0===i&&a>>13,p=0|a[1],f=8191&p,g=p>>>13,m=0|a[2],_=8191&m,F=m>>>13,y=0|a[3],b=8191&y,v=y>>>13,w=0|a[4],E=8191&w,k=w>>>13,D=0|a[5],S=8191&D,x=D>>>13,C=0|a[6],A=8191&C,T=C>>>13,R=0|a[7],I=8191&R,M=R>>>13,O=0|a[8],B=8191&O,N=O>>>13,L=0|a[9],P=8191&L,U=L>>>13,j=0|s[0],q=8191&j,z=j>>>13,K=0|s[1],G=8191&K,$=K>>>13,H=0|s[2],V=8191&H,W=H>>>13,Y=0|s[3],Z=8191&Y,X=Y>>>13,J=0|s[4],Q=8191&J,ee=J>>>13,te=0|s[5],ne=8191&te,oe=te>>>13,re=0|s[6],ie=8191&re,ae=re>>>13,se=0|s[7],ue=8191&se,ce=se>>>13,le=0|s[8],de=8191&le,he=le>>>13,pe=0|s[9],fe=8191&pe,ge=pe>>>13;n.negative=e.negative^t.negative,n.length=19;var me=(c+(o=Math.imul(d,q))|0)+((8191&(r=(r=Math.imul(d,z))+Math.imul(h,q)|0))<<13)|0;c=((i=Math.imul(h,z))+(r>>>13)|0)+(me>>>26)|0,me&=67108863,o=Math.imul(f,q),r=(r=Math.imul(f,z))+Math.imul(g,q)|0,i=Math.imul(g,z);var _e=(c+(o=o+Math.imul(d,G)|0)|0)+((8191&(r=(r=r+Math.imul(d,$)|0)+Math.imul(h,G)|0))<<13)|0;c=((i=i+Math.imul(h,$)|0)+(r>>>13)|0)+(_e>>>26)|0,_e&=67108863,o=Math.imul(_,q),r=(r=Math.imul(_,z))+Math.imul(F,q)|0,i=Math.imul(F,z),o=o+Math.imul(f,G)|0,r=(r=r+Math.imul(f,$)|0)+Math.imul(g,G)|0,i=i+Math.imul(g,$)|0;var Fe=(c+(o=o+Math.imul(d,V)|0)|0)+((8191&(r=(r=r+Math.imul(d,W)|0)+Math.imul(h,V)|0))<<13)|0;c=((i=i+Math.imul(h,W)|0)+(r>>>13)|0)+(Fe>>>26)|0,Fe&=67108863,o=Math.imul(b,q),r=(r=Math.imul(b,z))+Math.imul(v,q)|0,i=Math.imul(v,z),o=o+Math.imul(_,G)|0,r=(r=r+Math.imul(_,$)|0)+Math.imul(F,G)|0,i=i+Math.imul(F,$)|0,o=o+Math.imul(f,V)|0,r=(r=r+Math.imul(f,W)|0)+Math.imul(g,V)|0,i=i+Math.imul(g,W)|0;var ye=(c+(o=o+Math.imul(d,Z)|0)|0)+((8191&(r=(r=r+Math.imul(d,X)|0)+Math.imul(h,Z)|0))<<13)|0;c=((i=i+Math.imul(h,X)|0)+(r>>>13)|0)+(ye>>>26)|0,ye&=67108863,o=Math.imul(E,q),r=(r=Math.imul(E,z))+Math.imul(k,q)|0,i=Math.imul(k,z),o=o+Math.imul(b,G)|0,r=(r=r+Math.imul(b,$)|0)+Math.imul(v,G)|0,i=i+Math.imul(v,$)|0,o=o+Math.imul(_,V)|0,r=(r=r+Math.imul(_,W)|0)+Math.imul(F,V)|0,i=i+Math.imul(F,W)|0,o=o+Math.imul(f,Z)|0,r=(r=r+Math.imul(f,X)|0)+Math.imul(g,Z)|0,i=i+Math.imul(g,X)|0;var be=(c+(o=o+Math.imul(d,Q)|0)|0)+((8191&(r=(r=r+Math.imul(d,ee)|0)+Math.imul(h,Q)|0))<<13)|0;c=((i=i+Math.imul(h,ee)|0)+(r>>>13)|0)+(be>>>26)|0,be&=67108863,o=Math.imul(S,q),r=(r=Math.imul(S,z))+Math.imul(x,q)|0,i=Math.imul(x,z),o=o+Math.imul(E,G)|0,r=(r=r+Math.imul(E,$)|0)+Math.imul(k,G)|0,i=i+Math.imul(k,$)|0,o=o+Math.imul(b,V)|0,r=(r=r+Math.imul(b,W)|0)+Math.imul(v,V)|0,i=i+Math.imul(v,W)|0,o=o+Math.imul(_,Z)|0,r=(r=r+Math.imul(_,X)|0)+Math.imul(F,Z)|0,i=i+Math.imul(F,X)|0,o=o+Math.imul(f,Q)|0,r=(r=r+Math.imul(f,ee)|0)+Math.imul(g,Q)|0,i=i+Math.imul(g,ee)|0;var ve=(c+(o=o+Math.imul(d,ne)|0)|0)+((8191&(r=(r=r+Math.imul(d,oe)|0)+Math.imul(h,ne)|0))<<13)|0;c=((i=i+Math.imul(h,oe)|0)+(r>>>13)|0)+(ve>>>26)|0,ve&=67108863,o=Math.imul(A,q),r=(r=Math.imul(A,z))+Math.imul(T,q)|0,i=Math.imul(T,z),o=o+Math.imul(S,G)|0,r=(r=r+Math.imul(S,$)|0)+Math.imul(x,G)|0,i=i+Math.imul(x,$)|0,o=o+Math.imul(E,V)|0,r=(r=r+Math.imul(E,W)|0)+Math.imul(k,V)|0,i=i+Math.imul(k,W)|0,o=o+Math.imul(b,Z)|0,r=(r=r+Math.imul(b,X)|0)+Math.imul(v,Z)|0,i=i+Math.imul(v,X)|0,o=o+Math.imul(_,Q)|0,r=(r=r+Math.imul(_,ee)|0)+Math.imul(F,Q)|0,i=i+Math.imul(F,ee)|0,o=o+Math.imul(f,ne)|0,r=(r=r+Math.imul(f,oe)|0)+Math.imul(g,ne)|0,i=i+Math.imul(g,oe)|0;var we=(c+(o=o+Math.imul(d,ie)|0)|0)+((8191&(r=(r=r+Math.imul(d,ae)|0)+Math.imul(h,ie)|0))<<13)|0;c=((i=i+Math.imul(h,ae)|0)+(r>>>13)|0)+(we>>>26)|0,we&=67108863,o=Math.imul(I,q),r=(r=Math.imul(I,z))+Math.imul(M,q)|0,i=Math.imul(M,z),o=o+Math.imul(A,G)|0,r=(r=r+Math.imul(A,$)|0)+Math.imul(T,G)|0,i=i+Math.imul(T,$)|0,o=o+Math.imul(S,V)|0,r=(r=r+Math.imul(S,W)|0)+Math.imul(x,V)|0,i=i+Math.imul(x,W)|0,o=o+Math.imul(E,Z)|0,r=(r=r+Math.imul(E,X)|0)+Math.imul(k,Z)|0,i=i+Math.imul(k,X)|0,o=o+Math.imul(b,Q)|0,r=(r=r+Math.imul(b,ee)|0)+Math.imul(v,Q)|0,i=i+Math.imul(v,ee)|0,o=o+Math.imul(_,ne)|0,r=(r=r+Math.imul(_,oe)|0)+Math.imul(F,ne)|0,i=i+Math.imul(F,oe)|0,o=o+Math.imul(f,ie)|0,r=(r=r+Math.imul(f,ae)|0)+Math.imul(g,ie)|0,i=i+Math.imul(g,ae)|0;var Ee=(c+(o=o+Math.imul(d,ue)|0)|0)+((8191&(r=(r=r+Math.imul(d,ce)|0)+Math.imul(h,ue)|0))<<13)|0;c=((i=i+Math.imul(h,ce)|0)+(r>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,o=Math.imul(B,q),r=(r=Math.imul(B,z))+Math.imul(N,q)|0,i=Math.imul(N,z),o=o+Math.imul(I,G)|0,r=(r=r+Math.imul(I,$)|0)+Math.imul(M,G)|0,i=i+Math.imul(M,$)|0,o=o+Math.imul(A,V)|0,r=(r=r+Math.imul(A,W)|0)+Math.imul(T,V)|0,i=i+Math.imul(T,W)|0,o=o+Math.imul(S,Z)|0,r=(r=r+Math.imul(S,X)|0)+Math.imul(x,Z)|0,i=i+Math.imul(x,X)|0,o=o+Math.imul(E,Q)|0,r=(r=r+Math.imul(E,ee)|0)+Math.imul(k,Q)|0,i=i+Math.imul(k,ee)|0,o=o+Math.imul(b,ne)|0,r=(r=r+Math.imul(b,oe)|0)+Math.imul(v,ne)|0,i=i+Math.imul(v,oe)|0,o=o+Math.imul(_,ie)|0,r=(r=r+Math.imul(_,ae)|0)+Math.imul(F,ie)|0,i=i+Math.imul(F,ae)|0,o=o+Math.imul(f,ue)|0,r=(r=r+Math.imul(f,ce)|0)+Math.imul(g,ue)|0,i=i+Math.imul(g,ce)|0;var ke=(c+(o=o+Math.imul(d,de)|0)|0)+((8191&(r=(r=r+Math.imul(d,he)|0)+Math.imul(h,de)|0))<<13)|0;c=((i=i+Math.imul(h,he)|0)+(r>>>13)|0)+(ke>>>26)|0,ke&=67108863,o=Math.imul(P,q),r=(r=Math.imul(P,z))+Math.imul(U,q)|0,i=Math.imul(U,z),o=o+Math.imul(B,G)|0,r=(r=r+Math.imul(B,$)|0)+Math.imul(N,G)|0,i=i+Math.imul(N,$)|0,o=o+Math.imul(I,V)|0,r=(r=r+Math.imul(I,W)|0)+Math.imul(M,V)|0,i=i+Math.imul(M,W)|0,o=o+Math.imul(A,Z)|0,r=(r=r+Math.imul(A,X)|0)+Math.imul(T,Z)|0,i=i+Math.imul(T,X)|0,o=o+Math.imul(S,Q)|0,r=(r=r+Math.imul(S,ee)|0)+Math.imul(x,Q)|0,i=i+Math.imul(x,ee)|0,o=o+Math.imul(E,ne)|0,r=(r=r+Math.imul(E,oe)|0)+Math.imul(k,ne)|0,i=i+Math.imul(k,oe)|0,o=o+Math.imul(b,ie)|0,r=(r=r+Math.imul(b,ae)|0)+Math.imul(v,ie)|0,i=i+Math.imul(v,ae)|0,o=o+Math.imul(_,ue)|0,r=(r=r+Math.imul(_,ce)|0)+Math.imul(F,ue)|0,i=i+Math.imul(F,ce)|0,o=o+Math.imul(f,de)|0,r=(r=r+Math.imul(f,he)|0)+Math.imul(g,de)|0,i=i+Math.imul(g,he)|0;var De=(c+(o=o+Math.imul(d,fe)|0)|0)+((8191&(r=(r=r+Math.imul(d,ge)|0)+Math.imul(h,fe)|0))<<13)|0;c=((i=i+Math.imul(h,ge)|0)+(r>>>13)|0)+(De>>>26)|0,De&=67108863,o=Math.imul(P,G),r=(r=Math.imul(P,$))+Math.imul(U,G)|0,i=Math.imul(U,$),o=o+Math.imul(B,V)|0,r=(r=r+Math.imul(B,W)|0)+Math.imul(N,V)|0,i=i+Math.imul(N,W)|0,o=o+Math.imul(I,Z)|0,r=(r=r+Math.imul(I,X)|0)+Math.imul(M,Z)|0,i=i+Math.imul(M,X)|0,o=o+Math.imul(A,Q)|0,r=(r=r+Math.imul(A,ee)|0)+Math.imul(T,Q)|0,i=i+Math.imul(T,ee)|0,o=o+Math.imul(S,ne)|0,r=(r=r+Math.imul(S,oe)|0)+Math.imul(x,ne)|0,i=i+Math.imul(x,oe)|0,o=o+Math.imul(E,ie)|0,r=(r=r+Math.imul(E,ae)|0)+Math.imul(k,ie)|0,i=i+Math.imul(k,ae)|0,o=o+Math.imul(b,ue)|0,r=(r=r+Math.imul(b,ce)|0)+Math.imul(v,ue)|0,i=i+Math.imul(v,ce)|0,o=o+Math.imul(_,de)|0,r=(r=r+Math.imul(_,he)|0)+Math.imul(F,de)|0,i=i+Math.imul(F,he)|0;var Se=(c+(o=o+Math.imul(f,fe)|0)|0)+((8191&(r=(r=r+Math.imul(f,ge)|0)+Math.imul(g,fe)|0))<<13)|0;c=((i=i+Math.imul(g,ge)|0)+(r>>>13)|0)+(Se>>>26)|0,Se&=67108863,o=Math.imul(P,V),r=(r=Math.imul(P,W))+Math.imul(U,V)|0,i=Math.imul(U,W),o=o+Math.imul(B,Z)|0,r=(r=r+Math.imul(B,X)|0)+Math.imul(N,Z)|0,i=i+Math.imul(N,X)|0,o=o+Math.imul(I,Q)|0,r=(r=r+Math.imul(I,ee)|0)+Math.imul(M,Q)|0,i=i+Math.imul(M,ee)|0,o=o+Math.imul(A,ne)|0,r=(r=r+Math.imul(A,oe)|0)+Math.imul(T,ne)|0,i=i+Math.imul(T,oe)|0,o=o+Math.imul(S,ie)|0,r=(r=r+Math.imul(S,ae)|0)+Math.imul(x,ie)|0,i=i+Math.imul(x,ae)|0,o=o+Math.imul(E,ue)|0,r=(r=r+Math.imul(E,ce)|0)+Math.imul(k,ue)|0,i=i+Math.imul(k,ce)|0,o=o+Math.imul(b,de)|0,r=(r=r+Math.imul(b,he)|0)+Math.imul(v,de)|0,i=i+Math.imul(v,he)|0;var xe=(c+(o=o+Math.imul(_,fe)|0)|0)+((8191&(r=(r=r+Math.imul(_,ge)|0)+Math.imul(F,fe)|0))<<13)|0;c=((i=i+Math.imul(F,ge)|0)+(r>>>13)|0)+(xe>>>26)|0,xe&=67108863,o=Math.imul(P,Z),r=(r=Math.imul(P,X))+Math.imul(U,Z)|0,i=Math.imul(U,X),o=o+Math.imul(B,Q)|0,r=(r=r+Math.imul(B,ee)|0)+Math.imul(N,Q)|0,i=i+Math.imul(N,ee)|0,o=o+Math.imul(I,ne)|0,r=(r=r+Math.imul(I,oe)|0)+Math.imul(M,ne)|0,i=i+Math.imul(M,oe)|0,o=o+Math.imul(A,ie)|0,r=(r=r+Math.imul(A,ae)|0)+Math.imul(T,ie)|0,i=i+Math.imul(T,ae)|0,o=o+Math.imul(S,ue)|0,r=(r=r+Math.imul(S,ce)|0)+Math.imul(x,ue)|0,i=i+Math.imul(x,ce)|0,o=o+Math.imul(E,de)|0,r=(r=r+Math.imul(E,he)|0)+Math.imul(k,de)|0,i=i+Math.imul(k,he)|0;var Ce=(c+(o=o+Math.imul(b,fe)|0)|0)+((8191&(r=(r=r+Math.imul(b,ge)|0)+Math.imul(v,fe)|0))<<13)|0;c=((i=i+Math.imul(v,ge)|0)+(r>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,o=Math.imul(P,Q),r=(r=Math.imul(P,ee))+Math.imul(U,Q)|0,i=Math.imul(U,ee),o=o+Math.imul(B,ne)|0,r=(r=r+Math.imul(B,oe)|0)+Math.imul(N,ne)|0,i=i+Math.imul(N,oe)|0,o=o+Math.imul(I,ie)|0,r=(r=r+Math.imul(I,ae)|0)+Math.imul(M,ie)|0,i=i+Math.imul(M,ae)|0,o=o+Math.imul(A,ue)|0,r=(r=r+Math.imul(A,ce)|0)+Math.imul(T,ue)|0,i=i+Math.imul(T,ce)|0,o=o+Math.imul(S,de)|0,r=(r=r+Math.imul(S,he)|0)+Math.imul(x,de)|0,i=i+Math.imul(x,he)|0;var Ae=(c+(o=o+Math.imul(E,fe)|0)|0)+((8191&(r=(r=r+Math.imul(E,ge)|0)+Math.imul(k,fe)|0))<<13)|0;c=((i=i+Math.imul(k,ge)|0)+(r>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,o=Math.imul(P,ne),r=(r=Math.imul(P,oe))+Math.imul(U,ne)|0,i=Math.imul(U,oe),o=o+Math.imul(B,ie)|0,r=(r=r+Math.imul(B,ae)|0)+Math.imul(N,ie)|0,i=i+Math.imul(N,ae)|0,o=o+Math.imul(I,ue)|0,r=(r=r+Math.imul(I,ce)|0)+Math.imul(M,ue)|0,i=i+Math.imul(M,ce)|0,o=o+Math.imul(A,de)|0,r=(r=r+Math.imul(A,he)|0)+Math.imul(T,de)|0,i=i+Math.imul(T,he)|0;var Te=(c+(o=o+Math.imul(S,fe)|0)|0)+((8191&(r=(r=r+Math.imul(S,ge)|0)+Math.imul(x,fe)|0))<<13)|0;c=((i=i+Math.imul(x,ge)|0)+(r>>>13)|0)+(Te>>>26)|0,Te&=67108863,o=Math.imul(P,ie),r=(r=Math.imul(P,ae))+Math.imul(U,ie)|0,i=Math.imul(U,ae),o=o+Math.imul(B,ue)|0,r=(r=r+Math.imul(B,ce)|0)+Math.imul(N,ue)|0,i=i+Math.imul(N,ce)|0,o=o+Math.imul(I,de)|0,r=(r=r+Math.imul(I,he)|0)+Math.imul(M,de)|0,i=i+Math.imul(M,he)|0;var Re=(c+(o=o+Math.imul(A,fe)|0)|0)+((8191&(r=(r=r+Math.imul(A,ge)|0)+Math.imul(T,fe)|0))<<13)|0;c=((i=i+Math.imul(T,ge)|0)+(r>>>13)|0)+(Re>>>26)|0,Re&=67108863,o=Math.imul(P,ue),r=(r=Math.imul(P,ce))+Math.imul(U,ue)|0,i=Math.imul(U,ce),o=o+Math.imul(B,de)|0,r=(r=r+Math.imul(B,he)|0)+Math.imul(N,de)|0,i=i+Math.imul(N,he)|0;var Ie=(c+(o=o+Math.imul(I,fe)|0)|0)+((8191&(r=(r=r+Math.imul(I,ge)|0)+Math.imul(M,fe)|0))<<13)|0;c=((i=i+Math.imul(M,ge)|0)+(r>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,o=Math.imul(P,de),r=(r=Math.imul(P,he))+Math.imul(U,de)|0,i=Math.imul(U,he);var Me=(c+(o=o+Math.imul(B,fe)|0)|0)+((8191&(r=(r=r+Math.imul(B,ge)|0)+Math.imul(N,fe)|0))<<13)|0;c=((i=i+Math.imul(N,ge)|0)+(r>>>13)|0)+(Me>>>26)|0,Me&=67108863;var Oe=(c+(o=Math.imul(P,fe))|0)+((8191&(r=(r=Math.imul(P,ge))+Math.imul(U,fe)|0))<<13)|0;return c=((i=Math.imul(U,ge))+(r>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,u[0]=me,u[1]=_e,u[2]=Fe,u[3]=ye,u[4]=be,u[5]=ve,u[6]=we,u[7]=Ee,u[8]=ke,u[9]=De,u[10]=Se,u[11]=xe,u[12]=Ce,u[13]=Ae,u[14]=Te,u[15]=Re,u[16]=Ie,u[17]=Me,u[18]=Oe,0!==c&&(u[19]=c,n.length++),n};function g(e,t,n){return(new m).mulp(e,t,n)}function m(e,t){this.x=e,this.y=t}Math.imul||(f=p),i.prototype.mulTo=function(e,t){var n=this.length+e.length;return 10===this.length&&10===e.length?f(this,e,t):n<63?p(this,e,t):n<1024?function(e,t,n){n.negative=t.negative^e.negative,n.length=e.length+t.length;for(var o=0,r=0,i=0;i>>26)|0)>>>26,a&=67108863}n.words[i]=s,o=a,a=r}return 0!==o?n.words[i]=o:n.length--,n.strip()}(this,e,t):g(this,e,t)},m.prototype.makeRBT=function(e){for(var t=new Array(e),n=i.prototype._countBits(e)-1,o=0;o>=1;return o},m.prototype.permute=function(e,t,n,o,r,i){for(var a=0;a>>=1)r++;return 1<>>=13,n[2*a+1]=8191&i,i>>>=13;for(a=2*t;a>=26,t+=r/67108864|0,t+=i>>>26,this.words[n]=67108863&i}return 0!==t&&(this.words[n]=t,this.length++),this},i.prototype.muln=function(e){return this.clone().imuln(e)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),n=0;n>>r}return t}(e);if(0===t.length)return new i(1);for(var n=this,o=0;o=0);var t,n=e%26,r=(e-n)/26,i=67108863>>>26-n<<26-n;if(0!==n){var a=0;for(t=0;t>>26-n}a&&(this.words[t]=a,this.length++)}if(0!==r){for(t=this.length-1;t>=0;t--)this.words[t+r]=this.words[t];for(t=0;t=0),r=t?(t-t%26)/26:0;var i=e%26,a=Math.min((e-i)/26,this.length),s=67108863^67108863>>>i<a)for(this.length-=a,c=0;c=0&&(0!==l||c>=r);c--){var d=0|this.words[c];this.words[c]=l<<26-i|d>>>i,l=d&s}return u&&0!==l&&(u.words[u.length++]=l),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.ishrn=function(e,t,n){return o(0===this.negative),this.iushrn(e,t,n)},i.prototype.shln=function(e){return this.clone().ishln(e)},i.prototype.ushln=function(e){return this.clone().iushln(e)},i.prototype.shrn=function(e){return this.clone().ishrn(e)},i.prototype.ushrn=function(e){return this.clone().iushrn(e)},i.prototype.testn=function(e){o("number"==typeof e&&e>=0);var t=e%26,n=(e-t)/26,r=1<=0);var t=e%26,n=(e-t)/26;if(o(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==t&&n++,this.length=Math.min(n,this.length),0!==t){var r=67108863^67108863>>>t<=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},i.prototype.isubn=function(e){if(o("number"==typeof e),o(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t>26)-(u/67108864|0),this.words[r+n]=67108863&i}for(;r>26,this.words[r+n]=67108863&i;if(0===s)return this.strip();for(o(-1===s),s=0,r=0;r>26,this.words[r]=67108863&i;return this.negative=1,this.strip()},i.prototype._wordDiv=function(e,t){var n=(this.length,e.length),o=this.clone(),r=e,a=0|r.words[r.length-1];0!=(n=26-this._countBits(a))&&(r=r.ushln(n),o.iushln(n),a=0|r.words[r.length-1]);var s,u=o.length-r.length;if("mod"!==t){(s=new i(null)).length=u+1,s.words=new Array(s.length);for(var c=0;c=0;d--){var h=67108864*(0|o.words[r.length+d])+(0|o.words[r.length+d-1]);for(h=Math.min(h/a|0,67108863),o._ishlnsubmul(r,h,d);0!==o.negative;)h--,o.negative=0,o._ishlnsubmul(r,1,d),o.isZero()||(o.negative^=1);s&&(s.words[d]=h)}return s&&s.strip(),o.strip(),"div"!==t&&0!==n&&o.iushrn(n),{div:s||null,mod:o}},i.prototype.divmod=function(e,t,n){return o(!e.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,t),"mod"!==t&&(r=s.div.neg()),"div"!==t&&(a=s.mod.neg(),n&&0!==a.negative&&a.iadd(e)),{div:r,mod:a}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),t),"mod"!==t&&(r=s.div.neg()),{div:r,mod:s.mod}):0!=(this.negative&e.negative)?(s=this.neg().divmod(e.neg(),t),"div"!==t&&(a=s.mod.neg(),n&&0!==a.negative&&a.isub(e)),{div:s.div,mod:a}):e.length>this.length||this.cmp(e)<0?{div:new i(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new i(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new i(this.modn(e.words[0]))}:this._wordDiv(e,t);var r,a,s},i.prototype.div=function(e){return this.divmod(e,"div",!1).div},i.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},i.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},i.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var n=0!==t.div.negative?t.mod.isub(e):t.mod,o=e.ushrn(1),r=e.andln(1),i=n.cmp(o);return i<0||1===r&&0===i?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},i.prototype.modn=function(e){o(e<=67108863);for(var t=(1<<26)%e,n=0,r=this.length-1;r>=0;r--)n=(t*n+(0|this.words[r]))%e;return n},i.prototype.idivn=function(e){o(e<=67108863);for(var t=0,n=this.length-1;n>=0;n--){var r=(0|this.words[n])+67108864*t;this.words[n]=r/e|0,t=r%e}return this.strip()},i.prototype.divn=function(e){return this.clone().idivn(e)},i.prototype.egcd=function(e){o(0===e.negative),o(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var r=new i(1),a=new i(0),s=new i(0),u=new i(1),c=0;t.isEven()&&n.isEven();)t.iushrn(1),n.iushrn(1),++c;for(var l=n.clone(),d=t.clone();!t.isZero();){for(var h=0,p=1;0==(t.words[0]&p)&&h<26;++h,p<<=1);if(h>0)for(t.iushrn(h);h-- >0;)(r.isOdd()||a.isOdd())&&(r.iadd(l),a.isub(d)),r.iushrn(1),a.iushrn(1);for(var f=0,g=1;0==(n.words[0]&g)&&f<26;++f,g<<=1);if(f>0)for(n.iushrn(f);f-- >0;)(s.isOdd()||u.isOdd())&&(s.iadd(l),u.isub(d)),s.iushrn(1),u.iushrn(1);t.cmp(n)>=0?(t.isub(n),r.isub(s),a.isub(u)):(n.isub(t),s.isub(r),u.isub(a))}return{a:s,b:u,gcd:n.iushln(c)}},i.prototype._invmp=function(e){o(0===e.negative),o(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var r,a=new i(1),s=new i(0),u=n.clone();t.cmpn(1)>0&&n.cmpn(1)>0;){for(var c=0,l=1;0==(t.words[0]&l)&&c<26;++c,l<<=1);if(c>0)for(t.iushrn(c);c-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);for(var d=0,h=1;0==(n.words[0]&h)&&d<26;++d,h<<=1);if(d>0)for(n.iushrn(d);d-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);t.cmp(n)>=0?(t.isub(n),a.isub(s)):(n.isub(t),s.isub(a))}return(r=0===t.cmpn(1)?a:s).cmpn(0)<0&&r.iadd(e),r},i.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),n=e.clone();t.negative=0,n.negative=0;for(var o=0;t.isEven()&&n.isEven();o++)t.iushrn(1),n.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;n.isEven();)n.iushrn(1);var r=t.cmp(n);if(r<0){var i=t;t=n,n=i}else if(0===r||0===n.cmpn(1))break;t.isub(n)}return n.iushln(o)},i.prototype.invm=function(e){return this.egcd(e).a.umod(e)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(e){return this.words[0]&e},i.prototype.bincn=function(e){o("number"==typeof e);var t=e%26,n=(e-t)/26,r=1<>>26,s&=67108863,this.words[a]=s}return 0!==i&&(this.words[a]=i,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(e){var t,n=e<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this.strip(),this.length>1)t=1;else{n&&(e=-e),o(e<=67108863,"Number is too big");var r=0|this.words[0];t=r===e?0:re.length)return 1;if(this.length=0;n--){var o=0|this.words[n],r=0|e.words[n];if(o!==r){or&&(t=1);break}}return t},i.prototype.gtn=function(e){return 1===this.cmpn(e)},i.prototype.gt=function(e){return 1===this.cmp(e)},i.prototype.gten=function(e){return this.cmpn(e)>=0},i.prototype.gte=function(e){return this.cmp(e)>=0},i.prototype.ltn=function(e){return-1===this.cmpn(e)},i.prototype.lt=function(e){return-1===this.cmp(e)},i.prototype.lten=function(e){return this.cmpn(e)<=0},i.prototype.lte=function(e){return this.cmp(e)<=0},i.prototype.eqn=function(e){return 0===this.cmpn(e)},i.prototype.eq=function(e){return 0===this.cmp(e)},i.red=function(e){return new E(e)},i.prototype.toRed=function(e){return o(!this.red,"Already a number in reduction context"),o(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},i.prototype.fromRed=function(){return o(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(e){return this.red=e,this},i.prototype.forceRed=function(e){return o(!this.red,"Already a number in reduction context"),this._forceRed(e)},i.prototype.redAdd=function(e){return o(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},i.prototype.redIAdd=function(e){return o(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},i.prototype.redSub=function(e){return o(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},i.prototype.redISub=function(e){return o(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},i.prototype.redShl=function(e){return o(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},i.prototype.redMul=function(e){return o(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},i.prototype.redIMul=function(e){return o(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},i.prototype.redSqr=function(){return o(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return o(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return o(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return o(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return o(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(e){return o(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var _={k256:null,p224:null,p192:null,p25519:null};function F(e,t){this.name=e,this.p=new i(t,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function y(){F.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){F.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function v(){F.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function w(){F.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(e){if("string"==typeof e){var t=i._prime(e);this.m=t.p,this.prime=t}else o(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function k(e){E.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}F.prototype._tmp=function(){var e=new i(null);return e.words=new Array(Math.ceil(this.n/13)),e},F.prototype.ireduce=function(e){var t,n=e;do{this.split(n,this.tmp),t=(n=(n=this.imulK(n)).iadd(this.tmp)).bitLength()}while(t>this.n);var o=t0?n.isub(this.p):void 0!==n.strip?n.strip():n._strip(),n},F.prototype.split=function(e,t){e.iushrn(this.n,0,t)},F.prototype.imulK=function(e){return e.imul(this.k)},r(y,F),y.prototype.split=function(e,t){for(var n=4194303,o=Math.min(e.length,9),r=0;r>>22,i=a}i>>>=22,e.words[r-10]=i,0===i&&e.length>10?e.length-=10:e.length-=9},y.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,n=0;n>>=26,e.words[n]=r,t=o}return 0!==t&&(e.words[e.length++]=t),e},i._prime=function(e){if(_[e])return _[e];var t;if("k256"===e)t=new y;else if("p224"===e)t=new b;else if("p192"===e)t=new v;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new w}return _[e]=t,t},E.prototype._verify1=function(e){o(0===e.negative,"red works only with positives"),o(e.red,"red works only with red numbers")},E.prototype._verify2=function(e,t){o(0==(e.negative|t.negative),"red works only with positives"),o(e.red&&e.red===t.red,"red works only with red numbers")},E.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},E.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},E.prototype.add=function(e,t){this._verify2(e,t);var n=e.add(t);return n.cmp(this.m)>=0&&n.isub(this.m),n._forceRed(this)},E.prototype.iadd=function(e,t){this._verify2(e,t);var n=e.iadd(t);return n.cmp(this.m)>=0&&n.isub(this.m),n},E.prototype.sub=function(e,t){this._verify2(e,t);var n=e.sub(t);return n.cmpn(0)<0&&n.iadd(this.m),n._forceRed(this)},E.prototype.isub=function(e,t){this._verify2(e,t);var n=e.isub(t);return n.cmpn(0)<0&&n.iadd(this.m),n},E.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},E.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},E.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},E.prototype.isqr=function(e){return this.imul(e,e.clone())},E.prototype.sqr=function(e){return this.mul(e,e)},E.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(o(t%2==1),3===t){var n=this.m.add(new i(1)).iushrn(2);return this.pow(e,n)}for(var r=this.m.subn(1),a=0;!r.isZero()&&0===r.andln(1);)a++,r.iushrn(1);o(!r.isZero());var s=new i(1).toRed(this),u=s.redNeg(),c=this.m.subn(1).iushrn(1),l=this.m.bitLength();for(l=new i(2*l*l).toRed(this);0!==this.pow(l,c).cmp(u);)l.redIAdd(u);for(var d=this.pow(l,r),h=this.pow(e,r.addn(1).iushrn(1)),p=this.pow(e,r),f=a;0!==p.cmp(s);){for(var g=p,m=0;0!==g.cmp(s);m++)g=g.redSqr();o(m=0;o--){for(var c=t.words[o],l=u-1;l>=0;l--){var d=c>>l&1;r!==n[0]&&(r=this.sqr(r)),0!==d||0!==a?(a<<=1,a|=d,(4==++s||0===o&&0===l)&&(r=this.mul(r,n[a]),s=0,a=0)):s=0}u=26}return r},E.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},E.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},i.mont=function(e){return new k(e)},r(k,E),k.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},k.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},k.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var n=e.imul(t),o=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=n.isub(o).iushrn(this.shift),i=r;return r.cmp(this.m)>=0?i=r.isub(this.m):r.cmpn(0)<0&&(i=r.iadd(this.m)),i._forceRed(this)},k.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new i(0)._forceRed(this);var n=e.mul(t),o=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),r=n.isub(o).iushrn(this.shift),a=r;return r.cmp(this.m)>=0?a=r.isub(this.m):r.cmpn(0)<0&&(a=r.iadd(this.m)),a._forceRed(this)},k.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e=n.nmd(e),this)},26138:(e,t,n)=>{var o=n(70980),r=n(99199),i=n(57859),a=n(92144),s=n(23663),u=n(23482),c=n(84818),l=n(89509).Buffer;e.exports=function(e,t,n){var d;d=e.padding?e.padding:n?1:4;var h,p=o(e),f=p.modulus.byteLength();if(t.length>f||new a(t).cmp(p.modulus)>=0)throw new Error("decryption error");h=n?c(new a(t),p):s(t,p);var g=l.alloc(f-h.length);if(h=l.concat([g,h],f),4===d)return function(e,t){var n=e.modulus.byteLength(),o=u("sha1").update(l.alloc(0)).digest(),a=o.length;if(0!==t[0])throw new Error("decryption error");var s=t.slice(1,a+1),c=t.slice(a+1),d=i(s,r(c,a)),h=i(c,r(d,n-a-1));if(function(e,t){e=l.from(e),t=l.from(t);var n=0,o=e.length;e.length!==t.length&&(n++,o=Math.min(e.length,t.length));for(var r=-1;++r=t.length){i++;break}var a=t.slice(2,r-1);if(("0002"!==o.toString("hex")&&!n||"0001"!==o.toString("hex")&&n)&&i++,a.length<8&&i++,i)throw new Error("decryption error");return t.slice(r)}(0,h,n);if(3===d)return h;throw new Error("unknown padding")}},16559:(e,t,n)=>{var o=n(70980),r=n(61798),i=n(23482),a=n(99199),s=n(57859),u=n(92144),c=n(84818),l=n(23663),d=n(89509).Buffer;e.exports=function(e,t,n){var h;h=e.padding?e.padding:n?1:4;var p,f=o(e);if(4===h)p=function(e,t){var n=e.modulus.byteLength(),o=t.length,c=i("sha1").update(d.alloc(0)).digest(),l=c.length,h=2*l;if(o>n-h-2)throw new Error("message too long");var p=d.alloc(n-o-h-2),f=n-l-1,g=r(l),m=s(d.concat([c,p,d.alloc(1,1),t],f),a(g,f)),_=s(g,a(m,l));return new u(d.concat([d.alloc(1),_,m],n))}(f,t);else if(1===h)p=function(e,t,n){var o,i=t.length,a=e.modulus.byteLength();if(i>a-11)throw new Error("message too long");return o=n?d.alloc(a-i-3,255):function(e){for(var t,n=d.allocUnsafe(e),o=0,i=r(2*e),a=0;o=0)throw new Error("data too long for modulus")}return n?l(p,f):c(p,f)}},84818:(e,t,n)=>{var o=n(92144),r=n(89509).Buffer;e.exports=function(e,t){return r.from(e.toRed(o.mont(t.modulus)).redPow(new o(t.publicExponent)).fromRed().toArray())}},57859:e=>{e.exports=function(e,t){for(var n=e.length,o=-1;++o{"use strict";var t=String.prototype.replace,n=/%20/g,o="RFC3986";e.exports={default:o,formatters:{RFC1738:function(e){return t.call(e,n,"+")},RFC3986:function(e){return String(e)}},RFC1738:"RFC1738",RFC3986:o}},80129:(e,t,n)=>{"use strict";var o=n(58261),r=n(55235),i=n(55798);e.exports={formats:i,parse:r,stringify:o}},55235:(e,t,n)=>{"use strict";var o=n(12769),r=Object.prototype.hasOwnProperty,i=Array.isArray,a={allowDots:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decoder:o.decode,delimiter:"&",depth:5,ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},s=function(e){return e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(parseInt(t,10))}))},u=function(e,t){return e&&"string"==typeof e&&t.comma&&e.indexOf(",")>-1?e.split(","):e},c=function(e,t,n,o){if(e){var i=n.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,a=/(\[[^[\]]*])/g,s=n.depth>0&&/(\[[^[\]]*])/.exec(i),c=s?i.slice(0,s.index):i,l=[];if(c){if(!n.plainObjects&&r.call(Object.prototype,c)&&!n.allowPrototypes)return;l.push(c)}for(var d=0;n.depth>0&&null!==(s=a.exec(i))&&d=0;--i){var a,s=e[i];if("[]"===s&&n.parseArrays)a=[].concat(r);else{a=n.plainObjects?Object.create(null):{};var c="["===s.charAt(0)&&"]"===s.charAt(s.length-1)?s.slice(1,-1):s,l=parseInt(c,10);n.parseArrays||""!==c?!isNaN(l)&&s!==c&&String(l)===c&&l>=0&&n.parseArrays&&l<=n.arrayLimit?(a=[])[l]=r:a[c]=r:a={0:r}}r=a}return r}(l,t,n,o)}};e.exports=function(e,t){var n=function(e){if(!e)return a;if(null!==e.decoder&&void 0!==e.decoder&&"function"!=typeof e.decoder)throw new TypeError("Decoder has to be a function.");if(void 0!==e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var t=void 0===e.charset?a.charset:e.charset;return{allowDots:void 0===e.allowDots?a.allowDots:!!e.allowDots,allowPrototypes:"boolean"==typeof e.allowPrototypes?e.allowPrototypes:a.allowPrototypes,allowSparse:"boolean"==typeof e.allowSparse?e.allowSparse:a.allowSparse,arrayLimit:"number"==typeof e.arrayLimit?e.arrayLimit:a.arrayLimit,charset:t,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:a.charsetSentinel,comma:"boolean"==typeof e.comma?e.comma:a.comma,decoder:"function"==typeof e.decoder?e.decoder:a.decoder,delimiter:"string"==typeof e.delimiter||o.isRegExp(e.delimiter)?e.delimiter:a.delimiter,depth:"number"==typeof e.depth||!1===e.depth?+e.depth:a.depth,ignoreQueryPrefix:!0===e.ignoreQueryPrefix,interpretNumericEntities:"boolean"==typeof e.interpretNumericEntities?e.interpretNumericEntities:a.interpretNumericEntities,parameterLimit:"number"==typeof e.parameterLimit?e.parameterLimit:a.parameterLimit,parseArrays:!1!==e.parseArrays,plainObjects:"boolean"==typeof e.plainObjects?e.plainObjects:a.plainObjects,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:a.strictNullHandling}}(t);if(""===e||null==e)return n.plainObjects?Object.create(null):{};for(var l="string"==typeof e?function(e,t){var n,c={},l=t.ignoreQueryPrefix?e.replace(/^\?/,""):e,d=t.parameterLimit===1/0?void 0:t.parameterLimit,h=l.split(t.delimiter,d),p=-1,f=t.charset;if(t.charsetSentinel)for(n=0;n-1&&(m=i(m)?[m]:m),r.call(c,g)?c[g]=o.combine(c[g],m):c[g]=m}return c}(e,n):e,d=n.plainObjects?Object.create(null):{},h=Object.keys(l),p=0;p{"use strict";var o=n(37478),r=n(12769),i=n(55798),a=Object.prototype.hasOwnProperty,s={brackets:function(e){return e+"[]"},comma:"comma",indices:function(e,t){return e+"["+t+"]"},repeat:function(e){return e}},u=Array.isArray,c=Array.prototype.push,l=function(e,t){c.apply(e,u(t)?t:[t])},d=Date.prototype.toISOString,h=i.default,p={addQueryPrefix:!1,allowDots:!1,charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encoder:r.encode,encodeValuesOnly:!1,format:h,formatter:i.formatters[h],indices:!1,serializeDate:function(e){return d.call(e)},skipNulls:!1,strictNullHandling:!1},f=function e(t,n,i,a,s,c,d,h,f,g,m,_,F,y,b){var v,w=t;if(b.has(t))throw new RangeError("Cyclic object value");if("function"==typeof d?w=d(n,w):w instanceof Date?w=g(w):"comma"===i&&u(w)&&(w=r.maybeMap(w,(function(e){return e instanceof Date?g(e):e}))),null===w){if(a)return c&&!F?c(n,p.encoder,y,"key",m):n;w=""}if("string"==typeof(v=w)||"number"==typeof v||"boolean"==typeof v||"symbol"==typeof v||"bigint"==typeof v||r.isBuffer(w))return c?[_(F?n:c(n,p.encoder,y,"key",m))+"="+_(c(w,p.encoder,y,"value",m))]:[_(n)+"="+_(String(w))];var E,k=[];if(void 0===w)return k;if("comma"===i&&u(w))E=[{value:w.length>0?w.join(",")||null:void 0}];else if(u(d))E=d;else{var D=Object.keys(w);E=h?D.sort(h):D}for(var S=0;S0?b+y:""}},12769:(e,t,n)=>{"use strict";var o=n(55798),r=Object.prototype.hasOwnProperty,i=Array.isArray,a=function(){for(var e=[],t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e}(),s=function(e,t){for(var n=t&&t.plainObjects?Object.create(null):{},o=0;o1;){var t=e.pop(),n=t.obj[t.prop];if(i(n)){for(var o=[],r=0;r=48&&l<=57||l>=65&&l<=90||l>=97&&l<=122||i===o.RFC1738&&(40===l||41===l)?u+=s.charAt(c):l<128?u+=a[l]:l<2048?u+=a[192|l>>6]+a[128|63&l]:l<55296||l>=57344?u+=a[224|l>>12]+a[128|l>>6&63]+a[128|63&l]:(c+=1,l=65536+((1023&l)<<10|1023&s.charCodeAt(c)),u+=a[240|l>>18]+a[128|l>>12&63]+a[128|l>>6&63]+a[128|63&l])}return u},isBuffer:function(e){return!(!e||"object"!=typeof e||!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e)))},isRegExp:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},maybeMap:function(e,t){if(i(e)){for(var n=[],o=0;o{"use strict";function t(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.exports=function(e,n,o,r){n=n||"&",o=o||"=";var i={};if("string"!=typeof e||0===e.length)return i;var a=/\+/g;e=e.split(n);var s=1e3;r&&"number"==typeof r.maxKeys&&(s=r.maxKeys);var u=e.length;s>0&&u>s&&(u=s);for(var c=0;c=0?(l=f.substr(0,g),d=f.substr(g+1)):(l=f,d=""),h=decodeURIComponent(l),p=decodeURIComponent(d),t(i,h)?Array.isArray(i[h])?i[h].push(p):i[h]=[i[h],p]:i[h]=p}return i}},12361:e=>{"use strict";var t=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};e.exports=function(e,n,o,r){return n=n||"&",o=o||"=",null===e&&(e=void 0),"object"==typeof e?Object.keys(e).map((function(r){var i=encodeURIComponent(t(r))+o;return Array.isArray(e[r])?e[r].map((function(e){return i+encodeURIComponent(t(e))})).join(n):i+encodeURIComponent(t(e[r]))})).join(n):r?encodeURIComponent(t(r))+o+encodeURIComponent(t(e)):""}},17673:(e,t,n)=>{"use strict";t.decode=t.parse=n(62587),t.encode=t.stringify=n(12361)},61798:(e,t,n)=>{"use strict";var o=65536,r=n(89509).Buffer,i=n.g.crypto||n.g.msCrypto;i&&i.getRandomValues?e.exports=function(e,t){if(e>4294967295)throw new RangeError("requested too many random bytes");var n=r.allocUnsafe(e);if(e>0)if(e>o)for(var a=0;a{"use strict";function o(){throw new Error("secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11")}var r=n(89509),i=n(61798),a=r.Buffer,s=r.kMaxLength,u=n.g.crypto||n.g.msCrypto,c=Math.pow(2,32)-1;function l(e,t){if("number"!=typeof e||e!=e)throw new TypeError("offset must be a number");if(e>c||e<0)throw new TypeError("offset must be a uint32");if(e>s||e>t)throw new RangeError("offset out of range")}function d(e,t,n){if("number"!=typeof e||e!=e)throw new TypeError("size must be a number");if(e>c||e<0)throw new TypeError("size must be a uint32");if(e+t>n||e>s)throw new RangeError("buffer too small")}function h(e,t,n,o){if(process.browser){var r=e.buffer,a=new Uint8Array(r,t,n);return u.getRandomValues(a),o?void process.nextTick((function(){o(null,e)})):e}if(!o)return i(n).copy(e,t),e;i(n,(function(n,r){if(n)return o(n);r.copy(e,t),o(null,e)}))}u&&u.getRandomValues||!process.browser?(t.randomFill=function(e,t,o,r){if(!(a.isBuffer(e)||e instanceof n.g.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if("function"==typeof t)r=t,t=0,o=e.length;else if("function"==typeof o)r=o,o=e.length-t;else if("function"!=typeof r)throw new TypeError('"cb" argument must be a function');return l(t,e.length),d(o,t,e.length),h(e,t,o,r)},t.randomFillSync=function(e,t,o){if(void 0===t&&(t=0),!(a.isBuffer(e)||e instanceof n.g.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');return l(t,e.length),void 0===o&&(o=e.length-t),d(o,t,e.length),h(e,t,o)}):(t.randomFill=o,t.randomFillSync=o)},4857:function(e,t,n){"use strict";var o,r=this&&this.__extends||(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},function(e,t){function n(){this.constructor=e}o(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),i=this&&this.__assign||Object.assign||function(e){for(var t,n=1,o=arguments.length;n{"use strict";var o=n(4857);t.Z=o.TextareaAutosize},64448:(e,t,n)=>{"use strict";var o=n(67294),r=n(27418),i=n(63840);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n