UNPKG

cloudevents

Version:
1 lines 107 kB
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("cloudevents",[],t):"object"==typeof exports?exports.cloudevents=t():e.cloudevents=t()}(self,(()=>(()=>{var e={995:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=Object.freeze({CHARSET_DEFAULT:"utf-8",EXTENSIONS_PREFIX:"ce-",ENCODING_BASE64:"base64",DATA_ATTRIBUTE:"data",MIME_JSON:"application/json",MIME_OCTET_STREAM:"application/octet-stream",MIME_CE:"application/cloudevents",MIME_CE_JSON:"application/cloudevents+json",MIME_CE_BATCH:"application/cloudevents-batch+json",HEADER_CONTENT_TYPE:"content-type",DEFAULT_CONTENT_TYPE:"application/json; charset=utf-8",DEFAULT_CE_CONTENT_TYPE:"application/cloudevents+json; charset=utf-8",CE_HEADERS:{TYPE:"ce-type",SPEC_VERSION:"ce-specversion",SOURCE:"ce-source",ID:"ce-id",TIME:"ce-time",SUBJECT:"ce-subject"},CE_ATTRIBUTES:{ID:"id",TYPE:"type",SOURCE:"source",SPEC_VERSION:"specversion",TIME:"time",CONTENT_TYPE:"datacontenttype",SUBJECT:"subject",DATA:"data"},BINARY_HEADERS_03:{SCHEMA_URL:"ce-schemaurl",CONTENT_ENCODING:"ce-datacontentencoding"},STRUCTURED_ATTRS_03:{SCHEMA_URL:"schemaurl",CONTENT_ENCODING:"datacontentencoding"},BINARY_HEADERS_1:{DATA_SCHEMA:"ce-dataschema"},STRUCTURED_ATTRS_1:{DATA_SCHEMA:"dataschema",DATA_BASE64:"data_base64"},USE_BIG_INT_ENV:"CE_USE_BIG_INT"});t.default=r},866:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(o,i){function a(e){try{u(n.next(e))}catch(e){i(e)}}function s(e){try{u(n.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}u((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.CloudEvent=t.V03=t.V1=void 0;const o=r(614),i=r(566),a=r(516),s=r(982);t.V1="1.0",t.V03="0.3";class u{constructor(e,r=!0){const n=Object.assign({},e);if(this.id=n.id||(0,o.v4)(),delete n.id,this.time=n.time||(new Date).toISOString(),delete n.time,this.type=n.type,delete n.type,this.source=n.source,delete n.source,this.specversion=n.specversion||t.V1,delete n.specversion,this.datacontenttype=n.datacontenttype,delete n.datacontenttype,this.subject=n.subject,delete n.subject,this.datacontentencoding=n.datacontentencoding,delete n.datacontentencoding,this.dataschema=n.dataschema,delete n.dataschema,this.data_base64=n.data_base64,this.data_base64&&(this.data=(0,s.base64AsBinary)(this.data_base64)),delete n.data_base64,this.schemaurl=n.schemaurl,delete n.schemaurl,(0,s.isBinary)(n.data)&&(this.data_base64=(0,s.asBase64)(n.data)),this.data=void 0!==n.data?n.data:this.data,delete n.data,this.specversion===t.V1&&this.schemaurl)throw new TypeError("cannot set schemaurl on version 1.0 event");if(this.specversion===t.V03&&this.dataschema)throw new TypeError("cannot set dataschema on version 0.3 event");for(const[e,t]of Object.entries(n)){if(!e.match(/^[a-z0-9]+$/)&&r)throw new s.ValidationError(`invalid extension name: ${e}\nCloudEvents attribute names MUST consist of lower-case letters ('a' to 'z')\nor digits ('0' to '9') from the ASCII character set. Attribute names SHOULD\nbe descriptive and terse and SHOULD NOT exceed 20 characters in length.`);if(!(0,s.isValidType)(t)&&r)throw new s.ValidationError(`invalid extension value: ${t}\nExtension values must conform to the CloudEvent type system.\nSee: https://github.com/cloudevents/spec/blob/v1.0/spec.md#type-system`);this[e]=t}r&&this.validate(),Object.freeze(this)}toJSON(){const e=Object.assign({},this);return e.time=new Date(this.time).toISOString(),e.data_base64&&e.data&&delete e.data,e}toString(){return JSON.stringify(this)}validate(){try{return(0,a.validateCloudEvent)(this)}catch(e){throw e instanceof s.ValidationError?e:new s.ValidationError("invalid payload",[e])}}emit(e=!0){return n(this,void 0,void 0,(function*(){return yield i.Emitter.emitEvent(this,e),this}))}cloneWith(e,t=!0){return u.cloneWith(this,e,t)}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}static cloneWith(e,t,r=!0){return new u(Object.assign({},e,t),r)}}t.CloudEvent=u},516:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.validateCloudEvent=void 0;const o=r(982),i=r(866),a=n(r(611));t.validateCloudEvent=function(e){if(e.specversion!==i.V1)return!1;if(!(0,a.default)(e))throw new o.ValidationError("invalid payload",a.default.errors);const t=/^[a-z0-9]+$/;for(const r in e)if(!1===t.test(r)&&"data_base64"!==r)throw new o.ValidationError(`invalid attribute name: "${r}"`);return!0}},982:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isValidType=t.asData=t.isJsonContentType=t.clone=t.asBase64=t.base64AsBinary=t.asBuffer=t.isBuffer=t.isBase64=t.equalsOrThrow=t.isStringOrObjectOrThrow=t.isDefinedOrThrow=t.isStringOrThrow=t.isBinary=t.isDate=t.isInteger=t.isBoolean=t.isDefined=t.isObject=t.isString=t.ValidationError=void 0;const n=function(){try{return globalThis}catch(e){try{return self}catch(e){return r.g}}}();class o extends TypeError{constructor(e,t){super(t instanceof Array?null==t?void 0:t.reduce(((e,t)=>e.concat(`\n ${t instanceof Object?JSON.stringify(t):t}`)),e):e),this.errors=t||[]}}t.ValidationError=o,t.isString=e=>"string"==typeof e,t.isObject=e=>"object"==typeof e,t.isDefined=e=>null!=e,t.isBoolean=e=>"boolean"==typeof e,t.isInteger=e=>Number.isInteger(e),t.isDate=e=>e instanceof Date,t.isBinary=e=>ArrayBuffer.isView(e),t.isStringOrThrow=(e,r)=>!!(0,t.isString)(e)||(()=>{throw r})(),t.isDefinedOrThrow=(e,r)=>!!(0,t.isDefined)(e)||(()=>{throw r})(),t.isStringOrObjectOrThrow=(e,r)=>!!(0,t.isString)(e)||!!(0,t.isObject)(e)||(()=>{throw r})(),t.equalsOrThrow=(e,t,r)=>e===t||(()=>{throw r})(),t.isBase64=e=>Buffer.from(e,"base64").toString("base64")===e,t.isBuffer=e=>e instanceof Buffer,t.asBuffer=e=>(0,t.isBinary)(e)?Buffer.from(e):(0,t.isBuffer)(e)?e:(()=>{throw new TypeError("is not buffer or a valid binary")})(),t.base64AsBinary=e=>{return Uint8Array.from((t=e,n.atob?n.atob(t):Buffer.from(t,"base64").toString("binary")),(e=>e.charCodeAt(0)));var t},t.asBase64=e=>(0,t.asBuffer)(e).toString("base64"),t.clone=e=>JSON.parse(JSON.stringify(e)),t.isJsonContentType=e=>e&&e.match(/(json)/i),t.asData=(e,r)=>{const n=(0,t.isString)(e)&&!(0,t.isBase64)(e)&&(0,t.isJsonContentType)(r)?JSON.parse(e):e;return(0,t.isBinary)(n)?(0,t.asBase64)(n):n},t.isValidType=e=>(0,t.isBoolean)(e)||(0,t.isInteger)(e)||(0,t.isString)(e)||(0,t.isDate)(e)||(0,t.isBinary)(e)||(0,t.isObject)(e)},566:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.CONSTANTS=t.Emitter=t.httpTransport=t.emitterFor=t.MQTTMessageFactory=t.MQTT=t.Kafka=t.HTTP=t.Mode=t.ValidationError=t.V03=t.V1=t.CloudEvent=void 0;const o=r(866);Object.defineProperty(t,"CloudEvent",{enumerable:!0,get:function(){return o.CloudEvent}}),Object.defineProperty(t,"V1",{enumerable:!0,get:function(){return o.V1}}),Object.defineProperty(t,"V03",{enumerable:!0,get:function(){return o.V03}});const i=r(982);Object.defineProperty(t,"ValidationError",{enumerable:!0,get:function(){return i.ValidationError}});const a=r(51);Object.defineProperty(t,"emitterFor",{enumerable:!0,get:function(){return a.emitterFor}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return a.Emitter}});const s=r(565);Object.defineProperty(t,"httpTransport",{enumerable:!0,get:function(){return s.httpTransport}});const u=r(414);Object.defineProperty(t,"Mode",{enumerable:!0,get:function(){return u.Mode}}),Object.defineProperty(t,"HTTP",{enumerable:!0,get:function(){return u.HTTP}}),Object.defineProperty(t,"Kafka",{enumerable:!0,get:function(){return u.Kafka}}),Object.defineProperty(t,"MQTT",{enumerable:!0,get:function(){return u.MQTT}}),Object.defineProperty(t,"MQTTMessageFactory",{enumerable:!0,get:function(){return u.MQTTMessageFactory}});const f=n(r(995));t.CONSTANTS=f.default},749:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.v03structuredParsers=t.v03binaryParsers=t.v03headerMap=t.v1structuredParsers=t.v1binaryParsers=t.v1headerMap=t.sanitize=t.headersFor=t.requiredHeaders=t.allowedContentTypes=void 0;const o=r(811),i=r(866),a=n(r(995));function s(e,t=new o.PassThroughParser){return{name:e,parser:t}}t.allowedContentTypes=[a.default.DEFAULT_CONTENT_TYPE,a.default.MIME_JSON,a.default.MIME_OCTET_STREAM],t.requiredHeaders=[a.default.CE_HEADERS.ID,a.default.CE_HEADERS.SOURCE,a.default.CE_HEADERS.TYPE,a.default.CE_HEADERS.SPEC_VERSION],t.headersFor=function(e){const r={};let n;return n=e.specversion===i.V1?t.v1headerMap:t.v03headerMap,Object.getOwnPropertyNames(e).forEach((t=>{const o=e[t];if(void 0!==o){const e=n[t];e?r[e.name]=e.parser.parse(o):t!==a.default.DATA_ATTRIBUTE&&t!==`${a.default.DATA_ATTRIBUTE}_base64`&&(r[`${a.default.EXTENSIONS_PREFIX}${t}`]=o)}})),e.time&&(r[a.default.CE_HEADERS.TIME]=new Date(e.time).toISOString()),r},t.sanitize=function(e){const t={};return Array.from(Object.keys(e)).filter((t=>Object.hasOwnProperty.call(e,t))).forEach((r=>t[r.toLowerCase()]=e[r])),t},t.v1headerMap=Object.freeze({[a.default.CE_ATTRIBUTES.CONTENT_TYPE]:s(a.default.HEADER_CONTENT_TYPE),[a.default.CE_ATTRIBUTES.SUBJECT]:s(a.default.CE_HEADERS.SUBJECT),[a.default.CE_ATTRIBUTES.TYPE]:s(a.default.CE_HEADERS.TYPE),[a.default.CE_ATTRIBUTES.SPEC_VERSION]:s(a.default.CE_HEADERS.SPEC_VERSION),[a.default.CE_ATTRIBUTES.SOURCE]:s(a.default.CE_HEADERS.SOURCE),[a.default.CE_ATTRIBUTES.ID]:s(a.default.CE_HEADERS.ID),[a.default.CE_ATTRIBUTES.TIME]:s(a.default.CE_HEADERS.TIME),[a.default.STRUCTURED_ATTRS_1.DATA_SCHEMA]:s(a.default.BINARY_HEADERS_1.DATA_SCHEMA)}),t.v1binaryParsers=Object.freeze({[a.default.CE_HEADERS.TYPE]:s(a.default.CE_ATTRIBUTES.TYPE),[a.default.CE_HEADERS.SPEC_VERSION]:s(a.default.CE_ATTRIBUTES.SPEC_VERSION),[a.default.CE_HEADERS.SOURCE]:s(a.default.CE_ATTRIBUTES.SOURCE),[a.default.CE_HEADERS.ID]:s(a.default.CE_ATTRIBUTES.ID),[a.default.CE_HEADERS.TIME]:s(a.default.CE_ATTRIBUTES.TIME,new o.DateParser),[a.default.BINARY_HEADERS_1.DATA_SCHEMA]:s(a.default.STRUCTURED_ATTRS_1.DATA_SCHEMA),[a.default.CE_HEADERS.SUBJECT]:s(a.default.CE_ATTRIBUTES.SUBJECT),[a.default.CE_ATTRIBUTES.CONTENT_TYPE]:s(a.default.CE_ATTRIBUTES.CONTENT_TYPE),[a.default.HEADER_CONTENT_TYPE]:s(a.default.CE_ATTRIBUTES.CONTENT_TYPE)}),t.v1structuredParsers=Object.freeze({[a.default.CE_ATTRIBUTES.TYPE]:s(a.default.CE_ATTRIBUTES.TYPE),[a.default.CE_ATTRIBUTES.SPEC_VERSION]:s(a.default.CE_ATTRIBUTES.SPEC_VERSION),[a.default.CE_ATTRIBUTES.SOURCE]:s(a.default.CE_ATTRIBUTES.SOURCE),[a.default.CE_ATTRIBUTES.ID]:s(a.default.CE_ATTRIBUTES.ID),[a.default.CE_ATTRIBUTES.TIME]:s(a.default.CE_ATTRIBUTES.TIME,new o.DateParser),[a.default.STRUCTURED_ATTRS_1.DATA_SCHEMA]:s(a.default.STRUCTURED_ATTRS_1.DATA_SCHEMA),[a.default.CE_ATTRIBUTES.CONTENT_TYPE]:s(a.default.CE_ATTRIBUTES.CONTENT_TYPE),[a.default.CE_ATTRIBUTES.SUBJECT]:s(a.default.CE_ATTRIBUTES.SUBJECT),[a.default.CE_ATTRIBUTES.DATA]:s(a.default.CE_ATTRIBUTES.DATA),[a.default.STRUCTURED_ATTRS_1.DATA_BASE64]:s(a.default.STRUCTURED_ATTRS_1.DATA_BASE64)}),t.v03headerMap=Object.freeze({[a.default.CE_ATTRIBUTES.CONTENT_TYPE]:s(a.default.HEADER_CONTENT_TYPE),[a.default.CE_ATTRIBUTES.SUBJECT]:s(a.default.CE_HEADERS.SUBJECT),[a.default.CE_ATTRIBUTES.TYPE]:s(a.default.CE_HEADERS.TYPE),[a.default.CE_ATTRIBUTES.SPEC_VERSION]:s(a.default.CE_HEADERS.SPEC_VERSION),[a.default.CE_ATTRIBUTES.SOURCE]:s(a.default.CE_HEADERS.SOURCE),[a.default.CE_ATTRIBUTES.ID]:s(a.default.CE_HEADERS.ID),[a.default.CE_ATTRIBUTES.TIME]:s(a.default.CE_HEADERS.TIME),[a.default.STRUCTURED_ATTRS_03.CONTENT_ENCODING]:s(a.default.BINARY_HEADERS_03.CONTENT_ENCODING),[a.default.STRUCTURED_ATTRS_03.SCHEMA_URL]:s(a.default.BINARY_HEADERS_03.SCHEMA_URL)}),t.v03binaryParsers=Object.freeze({[a.default.CE_HEADERS.TYPE]:s(a.default.CE_ATTRIBUTES.TYPE),[a.default.CE_HEADERS.SPEC_VERSION]:s(a.default.CE_ATTRIBUTES.SPEC_VERSION),[a.default.CE_HEADERS.SOURCE]:s(a.default.CE_ATTRIBUTES.SOURCE),[a.default.CE_HEADERS.ID]:s(a.default.CE_ATTRIBUTES.ID),[a.default.CE_HEADERS.TIME]:s(a.default.CE_ATTRIBUTES.TIME,new o.DateParser),[a.default.BINARY_HEADERS_03.SCHEMA_URL]:s(a.default.STRUCTURED_ATTRS_03.SCHEMA_URL),[a.default.CE_HEADERS.SUBJECT]:s(a.default.CE_ATTRIBUTES.SUBJECT),[a.default.BINARY_HEADERS_03.CONTENT_ENCODING]:s(a.default.STRUCTURED_ATTRS_03.CONTENT_ENCODING),[a.default.HEADER_CONTENT_TYPE]:s(a.default.CE_ATTRIBUTES.CONTENT_TYPE)}),t.v03structuredParsers=Object.freeze({[a.default.CE_ATTRIBUTES.TYPE]:s(a.default.CE_ATTRIBUTES.TYPE),[a.default.CE_ATTRIBUTES.SPEC_VERSION]:s(a.default.CE_ATTRIBUTES.SPEC_VERSION),[a.default.CE_ATTRIBUTES.SOURCE]:s(a.default.CE_ATTRIBUTES.SOURCE),[a.default.CE_ATTRIBUTES.ID]:s(a.default.CE_ATTRIBUTES.ID),[a.default.CE_ATTRIBUTES.TIME]:s(a.default.CE_ATTRIBUTES.TIME,new o.DateParser),[a.default.STRUCTURED_ATTRS_03.SCHEMA_URL]:s(a.default.STRUCTURED_ATTRS_03.SCHEMA_URL),[a.default.STRUCTURED_ATTRS_03.CONTENT_ENCODING]:s(a.default.STRUCTURED_ATTRS_03.CONTENT_ENCODING),[a.default.CE_ATTRIBUTES.CONTENT_TYPE]:s(a.default.CE_ATTRIBUTES.CONTENT_TYPE),[a.default.CE_ATTRIBUTES.SUBJECT]:s(a.default.CE_ATTRIBUTES.SUBJECT),[a.default.CE_ATTRIBUTES.DATA]:s(a.default.CE_ATTRIBUTES.DATA)})},892:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HTTP=void 0;const n=r(539),o=r(566),i=r(749),a=r(982),s=r(811);function u(e){const t=(0,i.sanitize)(e.headers),r=function(e){const t=e[o.CONSTANTS.HEADER_CONTENT_TYPE];if(t){if(t.startsWith(o.CONSTANTS.MIME_CE_BATCH))return o.Mode.BATCH;if(t.startsWith(o.CONSTANTS.MIME_CE))return o.Mode.STRUCTURED}if(e[o.CONSTANTS.CE_HEADERS.ID])return o.Mode.BINARY;throw new a.ValidationError("no cloud event detected")}(t),n=function(e,t,r){if(e!==o.Mode.BINARY)return"string"==typeof r?JSON.parse(r).specversion:r.specversion;{const e=t[o.CONSTANTS.CE_HEADERS.SPEC_VERSION];if(e)return e}return o.V1}(r,t,e.body);switch(r){case o.Mode.BINARY:return function(e,t){const r=Object.assign({},e.headers);let n=e.body;if(!r)throw new a.ValidationError("headers is null or undefined");const u=(0,i.sanitize)(r),f={},c=t===o.V03?i.v03binaryParsers:i.v1binaryParsers;for(const e in c)if(u[e]){const t=c[e];f[t.name]=t.parser.parse(u[e]),delete u[e],delete r[e]}for(const e in r)e.startsWith(o.CONSTANTS.EXTENSIONS_PREFIX)&&(f[e.substring(o.CONSTANTS.EXTENSIONS_PREFIX.length)]=r[e]);const l=s.parserByContentType[f.datacontenttype];return l&&n&&(n=l.parse(n)),f.datacontenttype===o.CONSTANTS.MIME_JSON&&f.datacontentencoding===o.CONSTANTS.ENCODING_BASE64&&delete f.datacontentencoding,new o.CloudEvent(Object.assign(Object.assign({},f),{data:n}),!1)}(e,n);case o.Mode.STRUCTURED:return function(e,t){const r=e.body,n=e.headers;if(!r)throw new a.ValidationError("payload is null or undefined");if(!n)throw new a.ValidationError("headers is null or undefined");(0,a.isStringOrObjectOrThrow)(r,new a.ValidationError("payload must be an object or a string"));const u=(0,i.sanitize)(n),f=u[o.CONSTANTS.HEADER_CONTENT_TYPE],c=f?s.parserByContentType[f]:new s.JSONParser;if(!c)throw new a.ValidationError(`invalid content type ${u[o.CONSTANTS.HEADER_CONTENT_TYPE]}`);const l=Object.assign({},c.parse(r)),d={},p=t===o.V03?i.v03structuredParsers:i.v1structuredParsers;for(const e in p){const t=l[e];if(t){const r=p[e];d[r.name]=r.parser.parse(t)}delete l[e]}for(const e in l)d[e]=l[e];if(d.data_base64||d.datacontentencoding===o.CONSTANTS.ENCODING_BASE64){const e=d.data_base64||d.data;d.data=new Uint32Array(Buffer.from(e,"base64")),delete d.data_base64,delete d.datacontentencoding}return new o.CloudEvent(d,!1)}(e,n);case o.Mode.BATCH:return function(e){const t=[];return JSON.parse(e.body).forEach((e=>{t.push(new o.CloudEvent(e))})),t}(e);default:throw new a.ValidationError("Unknown Message mode")}}t.HTTP={binary:function(e){const t={[o.CONSTANTS.HEADER_CONTENT_TYPE]:o.CONSTANTS.DEFAULT_CONTENT_TYPE},r=Object.assign(Object.assign({},t),(0,i.headersFor)(e));let a=e.data;return"object"!=typeof e.data||n.types.isTypedArray(e.data)||(a=JSON.stringify(e.data)),{headers:r,body:a}},structured:function(e){return e.data_base64&&(e=e.cloneWith({data:void 0})),{headers:{[o.CONSTANTS.HEADER_CONTENT_TYPE]:o.CONSTANTS.DEFAULT_CE_CONTENT_TYPE},body:e.toString()}},toEvent:u,isEvent:function(e){try{return u(e),!0}catch(e){return!1}}}},414:function(e,t,r){"use strict";var n,o=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||o(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.Mode=void 0,i(r(892),t),i(r(273),t),i(r(537),t),(n=t.Mode||(t.Mode={})).BINARY="binary",n.STRUCTURED="structured",n.BATCH="batch"},643:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.headersFor=t.HEADER_MAP=t.KAFKA_CE_HEADERS=void 0;const n=r(566);t.KAFKA_CE_HEADERS=Object.freeze({ID:"ce_id",TYPE:"ce_type",SOURCE:"ce_source",SPEC_VERSION:"ce_specversion",TIME:"ce_time",SUBJECT:"ce_subject",DATACONTENTTYPE:"ce_datacontenttype",DATASCHEMA:"ce_dataschema"}),t.HEADER_MAP={[t.KAFKA_CE_HEADERS.ID]:"id",[t.KAFKA_CE_HEADERS.TYPE]:"type",[t.KAFKA_CE_HEADERS.SOURCE]:"source",[t.KAFKA_CE_HEADERS.SPEC_VERSION]:"specversion",[t.KAFKA_CE_HEADERS.TIME]:"time",[t.KAFKA_CE_HEADERS.SUBJECT]:"subject",[t.KAFKA_CE_HEADERS.DATACONTENTTYPE]:"datacontenttype",[t.KAFKA_CE_HEADERS.DATASCHEMA]:"dataschema"},t.headersFor=function(e){const t={};return Object.getOwnPropertyNames(e).forEach((r=>{r!=n.CONSTANTS.CE_ATTRIBUTES.DATA&&r!=n.CONSTANTS.STRUCTURED_ATTRS_1.DATA_BASE64&&(t[`ce_${r}`]=e[r])})),t}},273:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Kafka=void 0;const n=r(566),o=r(643),i=r(749),a={binary:function(e){return{headers:Object.assign({[n.CONSTANTS.HEADER_CONTENT_TYPE]:e.datacontenttype},(0,o.headersFor)(e)),key:e.partitionkey,value:e.data,body:e.data,timestamp:f(e.time)}},structured:function(e){e instanceof n.CloudEvent&&e.data_base64&&(e=e.cloneWith({data:void 0}));const t=e.toString();return{key:e.partitionkey,value:t,headers:{[n.CONSTANTS.HEADER_CONTENT_TYPE]:n.CONSTANTS.DEFAULT_CE_CONTENT_TYPE},body:t,timestamp:f(e.time)}},toEvent:function(e){if(!s(e))throw new n.ValidationError("No CloudEvent detected");const t=e;if(!t.value)throw new n.ValidationError("Value is null or undefined");if(!t.headers)throw new n.ValidationError("Headers are null or undefined");switch(function(e){const t=e[n.CONSTANTS.HEADER_CONTENT_TYPE];if(t){if(t.startsWith(n.CONSTANTS.MIME_CE_BATCH))return n.Mode.BATCH;if(t.startsWith(n.CONSTANTS.MIME_CE))return n.Mode.STRUCTURED}return n.Mode.BINARY}((0,i.sanitize)(t.headers))){case n.Mode.BINARY:return function(e){const t={},r=Object.assign({},e.headers);t.datacontenttype=r[n.CONSTANTS.HEADER_CONTENT_TYPE];for(const e in o.KAFKA_CE_HEADERS){const n=o.KAFKA_CE_HEADERS[e];r[n]&&(t[o.HEADER_MAP[n]]=r[n],n===o.KAFKA_CE_HEADERS.TIME&&(t.time=new Date(t.time).toISOString()),delete r[n])}for(const e in r)e.startsWith("ce_")&&(t[e.replace("ce_","")]=r[e]);return new n.CloudEvent(Object.assign(Object.assign({},t),{data:u(e),partitionkey:e.key}),!1)}(t);case n.Mode.STRUCTURED:return function(e){var t;if(!(null===(t=e.headers[n.CONSTANTS.HEADER_CONTENT_TYPE])||void 0===t?void 0:t.startsWith(n.CONSTANTS.MIME_CE_JSON)))throw new n.ValidationError(`Unsupported event encoding ${e.headers[n.CONSTANTS.HEADER_CONTENT_TYPE]}`);const r=JSON.parse(e.value);return r.time=new Date(r.time).toISOString(),new n.CloudEvent(Object.assign(Object.assign({},r),{partitionkey:e.key}),!1)}(t);case n.Mode.BATCH:return function(e){var t;if(!(null===(t=e.headers[n.CONSTANTS.HEADER_CONTENT_TYPE])||void 0===t?void 0:t.startsWith(n.CONSTANTS.MIME_CE_BATCH)))throw new n.ValidationError(`Unsupported event encoding ${e.headers[n.CONSTANTS.HEADER_CONTENT_TYPE]}`);return JSON.parse(e.value).map((t=>new n.CloudEvent(Object.assign(Object.assign({},t),{partitionkey:e.key}),!1)))}(t);default:throw new n.ValidationError("Unknown Message mode")}},isEvent:s};function s(e){var t,r;const a=(0,i.sanitize)(e.headers);return!!a[o.KAFKA_CE_HEADERS.ID]||(null===(t=a[n.CONSTANTS.HEADER_CONTENT_TYPE])||void 0===t?void 0:t.startsWith(n.CONSTANTS.MIME_CE))||(null===(r=a[n.CONSTANTS.HEADER_CONTENT_TYPE])||void 0===r?void 0:r.startsWith(n.CONSTANTS.MIME_CE_BATCH))}function u(e){let t=e.value;const r=e.headers[n.CONSTANTS.HEADER_CONTENT_TYPE];return r&&r.startsWith(n.CONSTANTS.MIME_JSON)&&("string"==typeof e.value?t=JSON.parse(e.value):"object"==typeof e.value&&Buffer.isBuffer(e.value)&&(t=JSON.parse(e.value.toString()))),t}function f(e){return e?`${Date.parse(e)}`:void 0}t.Kafka=a},537:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MQTTMessageFactory=t.MQTT=void 0;const n=r(566),o=r(982),i={binary:function(e){const t=Object.assign({},e);let r=t.data;return!r&&t.data_base64&&(r=(0,o.base64AsBinary)(t.data_base64)),delete t.data,delete t.data_base64,a(e.datacontenttype,t,r)},structured:function(e){let t;return t=e instanceof n.CloudEvent?e.toJSON():e,a(n.CONSTANTS.DEFAULT_CE_CONTENT_TYPE,{},t)},toEvent:function(e,t=!1){if(t&&!s(e))throw new n.ValidationError("No CloudEvent detected");if(u(e)){const t="string"==typeof e.body?JSON.parse(e.body):e.body;return new n.CloudEvent(Object.assign({},t),!1)}return new n.CloudEvent(Object.assign(Object.assign({},e.headers),{data:e.body}),!1)},isEvent:s};function a(e,t,r){return{PUBLISH:{"Content Type":e},body:r,get payload(){return this.body},headers:t,get"User Properties"(){return this.headers}}}function s(e){return function(e){return!!(e.headers.id&&e.headers.source&&e.headers.type&&e.headers.specversion)}(e)||u(e)}function u(e){var t;return e&&e.PUBLISH&&(null===(t=null==e?void 0:e.PUBLISH["Content Type"])||void 0===t?void 0:t.startsWith(n.CONSTANTS.MIME_CE_JSON))||!1}t.MQTT=i,t.MQTTMessageFactory=a},811:function(e,t,r){"use strict";var n=r(155),o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.parserByEncoding=t.DateParser=t.Base64Parser=t.parserByContentType=t.PassThroughParser=t.JSONParser=t.Parser=void 0;const i=o(r(400)),a=o(r(995)),s=r(982),u=JSON;class f{}t.Parser=f;class c{constructor(e){this.decorator=e}parse(e){return"string"==typeof e&&(/^[[|{|"]/.test(e)||(e=`"${e}"`)),this.decorator&&(e=this.decorator.parse(e)),(0,s.isDefinedOrThrow)(e,new s.ValidationError("null or undefined payload")),(0,s.isStringOrObjectOrThrow)(e,new s.ValidationError("invalid payload type, allowed are: string or object")),"true"===n.env[a.default.USE_BIG_INT_ENV]?JSON=(0,i.default)({useNativeBigInt:!0}):JSON=u,t=e,(0,s.isString)(t)?JSON.parse(t):t;var t}}t.JSONParser=c;class l extends f{parse(e){return e}}t.PassThroughParser=l;const d=new c;t.parserByContentType={[a.default.MIME_JSON]:d,[a.default.MIME_CE_JSON]:d,[a.default.DEFAULT_CONTENT_TYPE]:d,[a.default.DEFAULT_CE_CONTENT_TYPE]:d,[a.default.MIME_OCTET_STREAM]:new l};class p{constructor(e){this.decorator=e}parse(e){let t=e;return this.decorator&&(t=this.decorator.parse(e)),Buffer.from(t,"base64").toString()}}t.Base64Parser=p,t.DateParser=class extends f{parse(e){let t=new Date(Date.parse(e));return"Invalid Date"===t.toString()&&(t=new Date),t.toISOString()}},t.parserByEncoding={base64:{[a.default.MIME_CE_JSON]:new c(new p),[a.default.MIME_OCTET_STREAM]:new l}}},611:(e,t,r)=>{"use strict";e.exports=p,e.exports.default=p;const n={type:["string","null"],minLength:1},o={type:["string","null"],format:"uri",minLength:1},i={type:["string","null"],minLength:1},a={type:["string","null"],format:"date-time",minLength:1},s={type:["object","string","number","array","boolean","null"]},u={type:["string","null"],contentEncoding:"base64"},f=r(499).Z,c=/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,l=r(870).u5.uri,d=r(870).u5["date-time"];function p(e,{instancePath:t="",parentData:r,parentDataProperty:y,rootData:E=e}={}){if(!e||"object"!=typeof e||Array.isArray(e))return p.errors=[{instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;{let r;if(void 0===e.id&&(r="id")||void 0===e.source&&(r="source")||void 0===e.specversion&&(r="specversion")||void 0===e.type&&(r="type"))return p.errors=[{instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:r},message:"must have required property '"+r+"'"}],!1;if(void 0!==e.id){let r=e.id;const n=0;if("string"!=typeof r)return p.errors=[{instancePath:t+"/id",schemaPath:"#/definitions/iddef/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;if(f(r)<1)return p.errors=[{instancePath:t+"/id",schemaPath:"#/definitions/iddef/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"}],!1;var h=0===n}else h=!0;if(h){if(void 0!==e.source){let r=e.source;const n=0,o=0;if(0===o&&0===o){if("string"!=typeof r)return p.errors=[{instancePath:t+"/source",schemaPath:"#/definitions/sourcedef/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;if(f(r)<1)return p.errors=[{instancePath:t+"/source",schemaPath:"#/definitions/sourcedef/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"}],!1;if(!c.test(r))return p.errors=[{instancePath:t+"/source",schemaPath:"#/definitions/sourcedef/format",keyword:"format",params:{format:"uri-reference"},message:'must match format "uri-reference"'}],!1}h=0===n}else h=!0;if(h){if(void 0!==e.specversion){let r=e.specversion;const n=0;if("string"!=typeof r)return p.errors=[{instancePath:t+"/specversion",schemaPath:"#/definitions/specversiondef/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;if(f(r)<1)return p.errors=[{instancePath:t+"/specversion",schemaPath:"#/definitions/specversiondef/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"}],!1;h=0===n}else h=!0;if(h){if(void 0!==e.type){let r=e.type;const n=0;if("string"!=typeof r)return p.errors=[{instancePath:t+"/type",schemaPath:"#/definitions/typedef/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;if(f(r)<1)return p.errors=[{instancePath:t+"/type",schemaPath:"#/definitions/typedef/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"}],!1;h=0===n}else h=!0;if(h){if(void 0!==e.datacontenttype){let r=e.datacontenttype;const o=0,i=0;if("string"!=typeof r&&null!==r)return p.errors=[{instancePath:t+"/datacontenttype",schemaPath:"#/definitions/datacontenttypedef/type",keyword:"type",params:{type:n.type},message:"must be string,null"}],!1;if(0===i&&"string"==typeof r&&f(r)<1)return p.errors=[{instancePath:t+"/datacontenttype",schemaPath:"#/definitions/datacontenttypedef/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"}],!1;h=0===o}else h=!0;if(h){if(void 0!==e.dataschema){let r=e.dataschema;const n=0,i=0;if("string"!=typeof r&&null!==r)return p.errors=[{instancePath:t+"/dataschema",schemaPath:"#/definitions/dataschemadef/type",keyword:"type",params:{type:o.type},message:"must be string,null"}],!1;if(0===i&&0===i&&"string"==typeof r){if(f(r)<1)return p.errors=[{instancePath:t+"/dataschema",schemaPath:"#/definitions/dataschemadef/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"}],!1;if(!l(r))return p.errors=[{instancePath:t+"/dataschema",schemaPath:"#/definitions/dataschemadef/format",keyword:"format",params:{format:"uri"},message:'must match format "uri"'}],!1}h=0===n}else h=!0;if(h){if(void 0!==e.subject){let r=e.subject;const n=0,o=0;if("string"!=typeof r&&null!==r)return p.errors=[{instancePath:t+"/subject",schemaPath:"#/definitions/subjectdef/type",keyword:"type",params:{type:i.type},message:"must be string,null"}],!1;if(0===o&&"string"==typeof r&&f(r)<1)return p.errors=[{instancePath:t+"/subject",schemaPath:"#/definitions/subjectdef/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"}],!1;h=0===n}else h=!0;if(h){if(void 0!==e.time){let r=e.time;const n=0,o=0;if("string"!=typeof r&&null!==r)return p.errors=[{instancePath:t+"/time",schemaPath:"#/definitions/timedef/type",keyword:"type",params:{type:a.type},message:"must be string,null"}],!1;if(0===o&&0===o&&"string"==typeof r){if(f(r)<1)return p.errors=[{instancePath:t+"/time",schemaPath:"#/definitions/timedef/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"}],!1;if(!d.validate(r))return p.errors=[{instancePath:t+"/time",schemaPath:"#/definitions/timedef/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'}],!1}h=0===n}else h=!0;if(h){if(void 0!==e.data){let r=e.data;const n=0;if("object"!=typeof r&&"string"!=typeof r&&("number"!=typeof r||!isFinite(r))&&"boolean"!=typeof r)return p.errors=[{instancePath:t+"/data",schemaPath:"#/definitions/datadef/type",keyword:"type",params:{type:s.type},message:"must be object,string,number,array,boolean,null"}],!1;h=0===n}else h=!0;if(h)if(void 0!==e.data_base64){let r=e.data_base64;const n=0;if("string"!=typeof r&&null!==r)return p.errors=[{instancePath:t+"/data_base64",schemaPath:"#/definitions/data_base64def/type",keyword:"type",params:{type:u.type},message:"must be string,null"}],!1;h=0===n}else h=!0}}}}}}}}}return p.errors=null,!0}},51:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(o,i){function a(e){try{u(n.next(e))}catch(e){i(e)}}function s(e){try{u(n.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}u((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.Emitter=t.emitterFor=void 0;const o=r(414),i=r(187),a={binding:o.HTTP,mode:o.Mode.BINARY};t.emitterFor=function(e,t=a){if(!e)throw new TypeError("A TransportFunction is required");const{binding:r,mode:n}=Object.assign(Object.assign({},a),t);return function(t,i){switch(i=i||{},n){case o.Mode.BINARY:return e(r.binary(t),i);case o.Mode.STRUCTURED:return e(r.structured(t),i);default:throw new TypeError(`Unexpected transport mode: ${n}`)}}};class s{static getInstance(){return s.instance||(s.instance=new i.EventEmitter),s.instance}static on(e,t){s.getInstance().on(e,t)}static emitEvent(e,t=!0){return n(this,void 0,void 0,(function*(){t?yield Promise.all(s.getInstance().listeners("cloudevent").map((t=>n(this,void 0,void 0,(function*(){return t(e)}))))):s.getInstance().emit("cloudevent",e)}))}}t.Emitter=s,s.instance=void 0},565:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.httpTransport=void 0;const o=n(r(613)),i=n(r(58));t.httpTransport=function(e){const t=new URL(e);let r;if("https:"===t.protocol)r=i.default;else{if("http:"!==t.protocol)throw new TypeError(`unsupported protocol ${t.protocol}`);r=o.default}return function(e,n){return new Promise(((o,i)=>{n=Object.assign({},n);const a={method:"POST",headers:Object.assign(Object.assign({},e.headers),n.headers)};try{const n={body:"",headers:{}},s=r.request(t,a,(e=>{e.setEncoding("utf-8"),n.headers=e.headers,e.on("data",(e=>n.body+=e)),e.on("end",(()=>{o(n)}))}));s.on("error",i),s.write(e.body),s.end()}catch(e){i(e)}}))}}},870:(e,t)=>{"use strict";function r(e,t){return{validate:e,compare:t}}t.u5=void 0,t.u5={date:r(i,a),time:r(u,f),"date-time":r((function(e){const t=e.split(c);return 2===t.length&&i(t[0])&&u(t[1],!0)}),l),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:function(e){return d.test(e)&&p.test(e)},"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:function(e){if(g.test(e))return!1;try{return new RegExp(e),!0}catch(e){return!1}},uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:function(e){return y.lastIndex=0,y.test(e)},int32:{type:"number",validate:function(e){return Number.isInteger(e)&&e<=h&&e>=E}},int64:{type:"number",validate:function(e){return Number.isInteger(e)}},float:{type:"number",validate:T},double:{type:"number",validate:T},password:!0,binary:!0},t.u5,r(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,a),r(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,f),r(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,l),Object.keys(t.u5);const n=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,o=[0,31,28,31,30,31,30,31,31,30,31,30,31];function i(e){const t=n.exec(e);if(!t)return!1;const r=+t[1],i=+t[2],a=+t[3];return i>=1&&i<=12&&a>=1&&a<=(2===i&&function(e){return e%4==0&&(e%100!=0||e%400==0)}(r)?29:o[i])}function a(e,t){if(e&&t)return e>t?1:e<t?-1:0}const s=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i;function u(e,t){const r=s.exec(e);if(!r)return!1;const n=+r[1],o=+r[2],i=+r[3],a=r[5];return(n<=23&&o<=59&&i<=59||23===n&&59===o&&60===i)&&(!t||""!==a)}function f(e,t){if(!e||!t)return;const r=s.exec(e),n=s.exec(t);return r&&n?(e=r[1]+r[2]+r[3]+(r[4]||""))>(t=n[1]+n[2]+n[3]+(n[4]||""))?1:e<t?-1:0:void 0}const c=/t|\s/i;function l(e,t){if(!e||!t)return;const[r,n]=e.split(c),[o,i]=t.split(c),s=a(r,o);return void 0!==s?s||f(n,i):void 0}const d=/\/|:/,p=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,y=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm,E=-(2**31),h=2**31-1;function T(){return!0}const g=/[^\\]\\Z/},499:(e,t)=>{"use strict";function r(e){const t=e.length;let r,n=0,o=0;for(;o<t;)n++,r=e.charCodeAt(o++),r>=55296&&r<=56319&&o<t&&(r=e.charCodeAt(o),56320==(64512&r)&&o++);return n}t.Z=r,r.code='require("ajv/dist/runtime/ucs2length").default'},431:function(e,t,r){var n;!function(o){"use strict";var i,a=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,s=Math.ceil,u=Math.floor,f="[BigNumber Error] ",c=f+"Number primitive has more than 15 significant digits: ",l=1e14,d=14,p=9007199254740991,y=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],E=1e7,h=1e9;function T(e){var t=0|e;return e>0||e===t?t:t-1}function g(e){for(var t,r,n=1,o=e.length,i=e[0]+"";n<o;){for(t=e[n++]+"",r=d-t.length;r--;t="0"+t);i+=t}for(o=i.length;48===i.charCodeAt(--o););return i.slice(0,o+1||1)}function v(e,t){var r,n,o=e.c,i=t.c,a=e.s,s=t.s,u=e.e,f=t.e;if(!a||!s)return null;if(r=o&&!o[0],n=i&&!i[0],r||n)return r?n?0:-s:a;if(a!=s)return a;if(r=a<0,n=u==f,!o||!i)return n?0:!o^r?1:-1;if(!n)return u>f^r?1:-1;for(s=(u=o.length)<(f=i.length)?u:f,a=0;a<s;a++)if(o[a]!=i[a])return o[a]>i[a]^r?1:-1;return u==f?0:u>f^r?1:-1}function m(e,t,r,n){if(e<t||e>r||e!==u(e))throw Error(f+(n||"Argument")+("number"==typeof e?e<t||e>r?" out of range: ":" not an integer: ":" not a primitive number: ")+String(e))}function A(e){var t=e.c.length-1;return T(e.e/d)==t&&e.c[t]%2!=0}function S(e,t){return(e.length>1?e.charAt(0)+"."+e.slice(1):e)+(t<0?"e":"e+")+t}function b(e,t,r){var n,o;if(t<0){for(o=r+".";++t;o+=r);e=o+e}else if(++t>(n=e.length)){for(o=r,t-=n;--t;o+=r);e+=o}else t<n&&(e=e.slice(0,t)+"."+e.slice(t));return e}i=function e(t){var r,n,o,i,_,O,w,C,N,P,R=$.prototype={constructor:$,toString:null,valueOf:null},I=new $(1),j=20,U=4,D=-7,B=21,M=-1e7,x=1e7,F=!1,H=1,L=0,k={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},z="0123456789abcdefghijklmnopqrstuvwxyz",V=!0;function $(e,t){var r,i,s,f,l,y,E,h,T=this;if(!(T instanceof $))return new $(e,t);if(null==t){if(e&&!0===e._isBigNumber)return T.s=e.s,void(!e.c||e.e>x?T.c=T.e=null:e.e<M?T.c=[T.e=0]:(T.e=e.e,T.c=e.c.slice()));if((y="number"==typeof e)&&0*e==0){if(T.s=1/e<0?(e=-e,-1):1,e===~~e){for(f=0,l=e;l>=10;l/=10,f++);return void(f>x?T.c=T.e=null:(T.e=f,T.c=[e]))}h=String(e)}else{if(!a.test(h=String(e)))return o(T,h,y);T.s=45==h.charCodeAt(0)?(h=h.slice(1),-1):1}(f=h.indexOf("."))>-1&&(h=h.replace(".","")),(l=h.search(/e/i))>0?(f<0&&(f=l),f+=+h.slice(l+1),h=h.substring(0,l)):f<0&&(f=h.length)}else{if(m(t,2,z.length,"Base"),10==t&&V)return W(T=new $(e),j+T.e+1,U);if(h=String(e),y="number"==typeof e){if(0*e!=0)return o(T,h,y,t);if(T.s=1/e<0?(h=h.slice(1),-1):1,$.DEBUG&&h.replace(/^0\.0*|\./,"").length>15)throw Error(c+e)}else T.s=45===h.charCodeAt(0)?(h=h.slice(1),-1):1;for(r=z.slice(0,t),f=l=0,E=h.length;l<E;l++)if(r.indexOf(i=h.charAt(l))<0){if("."==i){if(l>f){f=E;continue}}else if(!s&&(h==h.toUpperCase()&&(h=h.toLowerCase())||h==h.toLowerCase()&&(h=h.toUpperCase()))){s=!0,l=-1,f=0;continue}return o(T,String(e),y,t)}y=!1,(f=(h=n(h,t,10,T.s)).indexOf("."))>-1?h=h.replace(".",""):f=h.length}for(l=0;48===h.charCodeAt(l);l++);for(E=h.length;48===h.charCodeAt(--E););if(h=h.slice(l,++E)){if(E-=l,y&&$.DEBUG&&E>15&&(e>p||e!==u(e)))throw Error(c+T.s*e);if((f=f-l-1)>x)T.c=T.e=null;else if(f<M)T.c=[T.e=0];else{if(T.e=f,T.c=[],l=(f+1)%d,f<0&&(l+=d),l<E){for(l&&T.c.push(+h.slice(0,l)),E-=d;l<E;)T.c.push(+h.slice(l,l+=d));l=d-(h=h.slice(l)).length}else l-=E;for(;l--;h+="0");T.c.push(+h)}}else T.c=[T.e=0]}function Y(e,t,r,n){var o,i,a,s,u;if(null==r?r=U:m(r,0,8),!e.c)return e.toString();if(o=e.c[0],a=e.e,null==t)u=g(e.c),u=1==n||2==n&&(a<=D||a>=B)?S(u,a):b(u,a,"0");else if(i=(e=W(new $(e),t,r)).e,s=(u=g(e.c)).length,1==n||2==n&&(t<=i||i<=D)){for(;s<t;u+="0",s++);u=S(u,i)}else if(t-=a,u=b(u,i,"0"),i+1>s){if(--t>0)for(u+=".";t--;u+="0");}else if((t+=i-s)>0)for(i+1==s&&(u+=".");t--;u+="0");return e.s<0&&o?"-"+u:u}function J(e,t){for(var r,n=1,o=new $(e[0]);n<e.length;n++){if(!(r=new $(e[n])).s){o=r;break}t.call(o,r)&&(o=r)}return o}function G(e,t,r){for(var n=1,o=t.length;!t[--o];t.pop());for(o=t[0];o>=10;o/=10,n++);return(r=n+r*d-1)>x?e.c=e.e=null:r<M?e.c=[e.e=0]:(e.e=r,e.c=t),e}function W(e,t,r,n){var o,i,a,f,c,p,E,h=e.c,T=y;if(h){e:{for(o=1,f=h[0];f>=10;f/=10,o++);if((i=t-o)<0)i+=d,a=t,E=(c=h[p=0])/T[o-a-1]%10|0;else if((p=s((i+1)/d))>=h.length){if(!n)break e;for(;h.length<=p;h.push(0));c=E=0,o=1,a=(i%=d)-d+1}else{for(c=f=h[p],o=1;f>=10;f/=10,o++);E=(a=(i%=d)-d+o)<0?0:c/T[o-a-1]%10|0}if(n=n||t<0||null!=h[p+1]||(a<0?c:c%T[o-a-1]),n=r<4?(E||n)&&(0==r||r==(e.s<0?3:2)):E>5||5==E&&(4==r||n||6==r&&(i>0?a>0?c/T[o-a]:0:h[p-1])%10&1||r==(e.s<0?8:7)),t<1||!h[0])return h.length=0,n?(t-=e.e+1,h[0]=T[(d-t%d)%d],e.e=-t||0):h[0]=e.e=0,e;if(0==i?(h.length=p,f=1,p--):(h.length=p+1,f=T[d-i],h[p]=a>0?u(c/T[o-a]%T[a])*f:0),n)for(;;){if(0==p){for(i=1,a=h[0];a>=10;a/=10,i++);for(a=h[0]+=f,f=1;a>=10;a/=10,f++);i!=f&&(e.e++,h[0]==l&&(h[0]=1));break}if(h[p]+=f,h[p]!=l)break;h[p--]=0,f=1}for(i=h.length;0===h[--i];h.pop());}e.e>x?e.c=e.e=null:e.e<M&&(e.c=[e.e=0])}return e}function K(e){var t,r=e.e;return null===r?e.toString():(t=g(e.c),t=r<=D||r>=B?S(t,r):b(t,r,"0"),e.s<0?"-"+t:t)}return $.clone=e,$.ROUND_UP=0,$.ROUND_DOWN=1,$.ROUND_CEIL=2,$.ROUND_FLOOR=3,$.ROUND_HALF_UP=4,$.ROUND_HALF_DOWN=5,$.ROUND_HALF_EVEN=6,$.ROUND_HALF_CEIL=7,$.ROUND_HALF_FLOOR=8,$.EUCLID=9,$.config=$.set=function(e){var t,r;if(null!=e){if("object"!=typeof e)throw Error(f+"Object expected: "+e);if(e.hasOwnProperty(t="DECIMAL_PLACES")&&(m(r=e[t],0,h,t),j=r),e.hasOwnProperty(t="ROUNDING_MODE")&&(m(r=e[t],0,8,t),U=r),e.hasOwnProperty(t="EXPONENTIAL_AT")&&((r=e[t])&&r.pop?(m(r[0],-h,0,t),m(r[1],0,h,t),D=r[0],B=r[1]):(m(r,-h,h,t),D=-(B=r<0?-r:r))),e.hasOwnProperty(t="RANGE"))if((r=e[t])&&r.pop)m(r[0],-h,-1,t),m(r[1],1,h,t),M=r[0],x=r[1];else{if(m(r,-h,h,t),!r)throw Error(f+t+" cannot be zero: "+r);M=-(x=r<0?-r:r)}if(e.hasOwnProperty(t="CRYPTO")){if((r=e[t])!==!!r)throw Error(f+t+" not true or false: "+r);if(r){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw F=!r,Error(f+"crypto unavailable");F=r}else F=r}if(e.hasOwnProperty(t="MODULO_MODE")&&(m(r=e[t],0,9,t),H=r),e.hasOwnProperty(t="POW_PRECISION")&&(m(r=e[t],0,h,t),L=r),e.hasOwnProperty(t="FORMAT")){if("object"!=typeof(r=e[t]))throw Error(f+t+" not an object: "+r);k=r}if(e.hasOwnProperty(t="ALPHABET")){if("string"!=typeof(r=e[t])||/^.?$|[+\-.\s]|(.).*\1/.test(r))throw Error(f+t+" invalid: "+r);V="0123456789"==r.slice(0,10),z=r}}return{DECIMAL_PLACES:j,ROUNDING_MODE:U,EXPONENTIAL_AT:[D,B],RANGE:[M,x],CRYPTO:F,MODULO_MODE:H,POW_PRECISION:L,FORMAT:k,ALPHABET:z}},$.isBigNumber=function(e){if(!e||!0!==e._isBigNumber)return!1;if(!$.DEBUG)return!0;var t,r,n=e.c,o=e.e,i=e.s;e:if("[object Array]"=={}.toString.call(n)){if((1===i||-1===i)&&o>=-h&&o<=h&&o===u(o)){if(0===n[0]){if(0===o&&1===n.length)return!0;break e}if((t=(o+1)%d)<1&&(t+=d),String(n[0]).length==t){for(t=0;t<n.length;t++)if((r=n[t])<0||r>=l||r!==u(r))break e;if(0!==r)return!0}}}else if(null===n&&null===o&&(null===i||1===i||-1===i))return!0;throw Error(f+"Invalid BigNumber: "+e)},$.maximum=$.max=function(){return J(arguments,R.lt)},$.minimum=$.min=function(){return J(arguments,R.gt)},$.random=(i=9007199254740992,_=Math.random()*i&2097151?function(){return u(Math.random()*i)}:function(){return 8388608*(1073741824*Math.random()|0)+(8388608*Math.random()|0)},function(e){var t,r,n,o,i,a=0,c=[],l=new $(I);if(null==e?e=j:m(e,0,h),o=s(e/d),F)if(crypto.getRandomValues){for(t=crypto.getRandomValues(new Uint32Array(o*=2));a<o;)(i=131072*t[a]+(t[a+1]>>>11))>=9e15?(r=crypto.getRandomValues(new Uint32Array(2)),t[a]=r[0],t[a+1]=r[1]):(c.push(i%1e14),a+=2);a=o/2}else{if(!crypto.randomBytes)throw F=!1,Error(f+"crypto unavailable");for(t=crypto.randomBytes(o*=7);a<o;)(i=281474976710656*(31&t[a])+1099511627776*t[a+1]+4294967296*t[a+2]+16777216*t[a+3]+(t[a+4]<<16)+(t[a+5]<<8)+t[a+6])>=9e15?crypto.randomBytes(7).copy(t,a):(c.push(i%1e14),a+=7);a=o/7}if(!F)for(;a<o;)(i=_())<9e15&&(c[a++]=i%1e14);for(o=c[--a],e%=d,o&&e&&(i=y[d-e],c[a]=u(o/i)*i);0===c[a];c.pop(),a--);if(a<0)c=[n=0];else{for(n=-1;0===c[0];c.splice(0,1),n-=d);for(a=1,i=c[0];i>=10;i/=10,a++);a<d&&(n-=d-a)}return l.e=n,l.c=c,l}),$.sum=function(){for(var e=1,t=arguments,r=new $(t[0]);e<t.length;)r=r.plus(t[e++]);return r},n=function(){var e="0123456789";function t(e,t,r,n){for(var o,i,a=[0],s=0,u=e.length;s<u;){for(i=a.length;i--;a[i]*=t);for(a[0]+=n.indexOf(e.charAt(s++)),o=0;o<a.length;o++)a[o]>r-1&&(null==a[o+1]&&(a[o+1]=0),a[o+1]+=a[o]/r|0,a[o]%=r)}return a.reverse()}return function(n,o,i,a,s){var u,f,c,l,d,p,y,E,h=n.indexOf("."),T=j,v=U;for(h>=0&&(l=L,L=0,n=n.replace(".",""),p=(E=new $(o)).pow(n.length-h),L=l,E.c=t(b(g(p.c),p.e,"0"),10,i,e),E.e=E.c.length),c=l=(y=t(n,o,i,s?(u=z,e):(u=e,z))).length;0==y[--l];y.pop());if(!y[0])return u.charAt(0);if(h<0?--c:(p.c=y,p.e=c,p.s=a,y=(p=r(p,E,T,v,i)).c,d=p.r,c=p.e),h=y[f=c+T+1],l=i/2,d=d||f<0||null!=y[f+1],d=v<4?(null!=h||d)&&(0==v||v==(p.s<0?3:2)):h>l||h==l&&(4==v||d||6==v&&1&y[f-1]||v==(p.s<0?8:7)),f<1||!y[0])n=d?b(u.charAt(1),-T,u.charAt(0)):u.charAt(0);else{if(y.length=f,d)for(--i;++y[--f]>i;)y[f]=0,f||(++c,y=[1].concat(y));for(l=y.length;!y[--l];);for(h=0,n="";h<=l;n+=u.charAt(y[h++]));n=b(n,c,u.charAt(0))}return n}}(),r=function(){function e(e,t,r){var n,o,i,a,s=0,u=e.length,f=t%E,c=t/E|0;for(e=e.slice();u--;)s=((o=f*(i=e[u]%E)+(n=c*i+(a=e[u]/E|0)*f)%E*E+s)/r|0)+(n/E|0)+c*a,e[u]=o%r;return s&&(e=[s].concat(e)),e}function t(e,t,r,n){var o,i;if(r!=n)i=r>n?1:-1;else for(o=i=0;o<r;o++)if(e[o]!=t[o]){i=e[o]>t[o]?1:-1;break}return i}function r(e,t,r,n){for(var o=0;r--;)e[r]-=o,o=e[r]<t[r]?1:0,e[r]=o*n+e[r]-t[r];for(;!e[0]&&e.length>1;e.splice(0,1));}return function(n,o,i,a,s){var f,c,p,y,E,h,g,v,m,A,S,b,_,O,w,C,N,P=n.s==o.s?1:-1,R=n.c,I=o.c;if(!(R&&R[0]&&I&&I[0]))return new $(n.s&&o.s&&(R?!I||R[0]!=I[0]:I)?R&&0==R[0]||!I?0*P:P/0:NaN);for(m=(v=new $(P)).c=[],P=i+(c=n.e-o.e)+1,s||(s=l,c=T(n.e/d)-T(o.e/d),P=P/d|0),p=0;I[p]==(R[p]||0);p++);if(I[p]>(R[p]||0)&&c--,P<0)m.push(1),y=!0;else{for(O=R.length,C=I.length,p=0,P+=2,(E=u(s/(I[0]+1)))>1&&(I=e(I,E,s),R=e(R,E,s),C=I.length,O=R.length),_=C,S=(A=R.slice(0,C)).length;S<C;A[S++]=0);N=I.slice(),N=[0].concat(N),w=I[0],I[1]>=s/2&&w++;do{if(E=0,(f=t(I,A,C,S))<0){if(b=A[0],C!=S&&(b=b*s+(A[1]||0)),(E=u(b/w))>1)for(E>=s&&(E=s-1),g=(h=e(I,E,s)).length,S=A.length;1==t(h,