@nmshd/consumption 2.2.1 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/buildInformation.js +4 -4
- package/dist/modules/attributes/AttributesController.d.ts +3 -2
- package/dist/modules/attributes/AttributesController.js +34 -8
- package/dist/modules/attributes/AttributesController.js.map +1 -1
- package/dist/modules/requests/events/OutgoingRequestCreatedAndCompletedEvent.d.ts +6 -0
- package/dist/modules/requests/events/OutgoingRequestCreatedAndCompletedEvent.js +15 -0
- package/dist/modules/requests/events/OutgoingRequestCreatedAndCompletedEvent.js.map +1 -0
- package/dist/modules/requests/events/index.d.ts +1 -1
- package/dist/modules/requests/events/index.js +1 -1
- package/dist/modules/requests/events/index.js.map +1 -1
- package/dist/modules/requests/index.d.ts +1 -1
- package/dist/modules/requests/index.js +1 -1
- package/dist/modules/requests/index.js.map +1 -1
- package/dist/modules/requests/outgoing/OutgoingRequestsController.d.ts +4 -4
- package/dist/modules/requests/outgoing/OutgoingRequestsController.js +24 -12
- package/dist/modules/requests/outgoing/OutgoingRequestsController.js.map +1 -1
- package/dist/modules/requests/outgoing/completeOutgoingRequest/CompleteOutgoingRequestParameters.d.ts +3 -3
- package/dist/modules/requests/outgoing/completeOutgoingRequest/CompleteOutgoingRequestParameters.js +9 -9
- package/dist/modules/requests/outgoing/completeOutgoingRequest/CompleteOutgoingRequestParameters.js.map +1 -1
- package/dist/modules/requests/outgoing/createFromRelationshipTemplateResponse/CreateOutgoingRequestFromRelationshipTemplateResponseParameters.d.ts +11 -0
- package/dist/modules/requests/outgoing/{createFromRelationshipCreationChange/CreateOutgoingRequestFromRelationshipCreationChangeParameters.js → createFromRelationshipTemplateResponse/CreateOutgoingRequestFromRelationshipTemplateResponseParameters.js} +10 -10
- package/dist/modules/requests/outgoing/createFromRelationshipTemplateResponse/CreateOutgoingRequestFromRelationshipTemplateResponseParameters.js.map +1 -0
- package/lib-web/nmshd.consumption.js +106 -68
- package/lib-web/nmshd.consumption.js.map +1 -1
- package/lib-web/nmshd.consumption.min.js +1 -1
- package/lib-web/nmshd.consumption.min.js.map +1 -1
- package/package.json +7 -7
- package/dist/modules/requests/events/OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent.d.ts +0 -6
- package/dist/modules/requests/events/OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent.js +0 -15
- package/dist/modules/requests/events/OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent.js.map +0 -1
- package/dist/modules/requests/outgoing/createFromRelationshipCreationChange/CreateOutgoingRequestFromRelationshipCreationChangeParameters.d.ts +0 -11
- package/dist/modules/requests/outgoing/createFromRelationshipCreationChange/CreateOutgoingRequestFromRelationshipCreationChangeParameters.js.map +0 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! For license information please see nmshd.consumption.min.js.LICENSE.txt */
|
|
2
|
-
var NMSHDConsumption;(()=>{var e={2500:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.buildInformation=void 0;const n=r(194),i=r(5030),a=r(2890),s=r(9663);t.buildInformation={version:"2.2.1",build:"90",date:"2022-11-28T14:47:38+00:00",commit:"142f28d0ed88b7842490b47ef8696a560998bd56",dependencies:{"@js-soft/docdb-querytranslator":"^1.1.0","ts-simple-nameof":"^1.3.1"},libraries:{transport:s.buildInformation,crypto:a.buildInformation,serval:n.buildInformation,content:i.buildInformation}}},5136:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConsumptionBaseController=void 0;const n=r(9663);t.ConsumptionBaseController=class ConsumptionBaseController{get log(){return this._log}get parent(){return this._parent}constructor(e,t){this._parent=t,this._log=n.TransportLoggerFactory.getLogger(e)}init(){return Promise.resolve(this)}parseArray(e,t){return e.map((e=>t.fromAny(e)))}}},9793:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConsumptionController=void 0;const n=r(5030),i=r(9662);t.ConsumptionController=class ConsumptionController{constructor(e,t){this.transport=e,this.accountController=t}get attributes(){return this._attributes}get drafts(){return this._drafts}get outgoingRequests(){return this._outgoingRequests}get incomingRequests(){return this._incomingRequests}get settings(){return this._settings}get attributeListeners(){return this._attributeListeners}async init(e=new Map){this._attributes=await new i.AttributesController(this,this.transport.eventBus,this.accountController.identity).init(),this._drafts=await new i.DraftsController(this).init();const t=new i.RequestItemProcessorRegistry(this,this.getDefaultProcessors());for(const[r,n]of e)t.registerOrReplaceProcessor(r,n);return this._outgoingRequests=await new i.OutgoingRequestsController(await this.accountController.getSynchronizedCollection("Requests"),t,this,this.transport.eventBus,this.accountController.identity).init(),this._incomingRequests=await new i.IncomingRequestsController(await this.accountController.getSynchronizedCollection("Requests"),t,this,this.transport.eventBus,this.accountController.identity).init(),this._settings=await new i.SettingsController(this).init(),this._attributeListeners=await new i.AttributeListenersController(this,this.transport.eventBus,this.accountController.identity).init(),this}getDefaultProcessors(){return new Map([[n.ShareAttributeRequestItem,i.ShareAttributeRequestItemProcessor],[n.CreateAttributeRequestItem,i.CreateAttributeRequestItemProcessor],[n.ReadAttributeRequestItem,i.ReadAttributeRequestItemProcessor],[n.ProposeAttributeRequestItem,i.ProposeAttributeRequestItemProcessor],[n.ConsentRequestItem,i.GenericRequestItemProcessor],[n.AuthenticationRequestItem,i.GenericRequestItemProcessor],[n.RegisterAttributeListenerRequestItem,i.RegisterAttributeListenerRequestItemProcessor]])}}},2047:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConsumptionControllerName=void 0,function(e){e.AttributesController="AttributesController",e.AttributeListenersController="AttributeListenersController",e.DraftsController="DraftsController",e.RelationshipInfoController="RelationshipInfoController",e.SingleRelationshipController="SingleRelationshipController",e.OnboardingFlowController="OnboardingFlowController",e.OffboardingFlowController="OffboardingFlowController",e.RequestsController="Requestsontroller",e.SettingsController="SettingsController",e.SharedItemsController="SharedItemsController"}(t.ConsumptionControllerName||(t.ConsumptionControllerName={}))},4858:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConsumptionError=void 0;class ConsumptionError extends Error{}t.ConsumptionError=ConsumptionError},6265:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConsumptionIds=void 0;const n=r(9663);class ConsumptionIds{}t.ConsumptionIds=ConsumptionIds,ConsumptionIds.draft=new n.CoreIdHelper("LCLDRF"),ConsumptionIds.setting=new n.CoreIdHelper("LCLSET"),ConsumptionIds.attribute=new n.CoreIdHelper("ATT"),ConsumptionIds.request=new n.CoreIdHelper("REQ"),ConsumptionIds.attributeListener=new n.CoreIdHelper("ATL")},8131:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CoreErrors=void 0;const n=r(5172),i=r(9663);class Requests{constructor(){this.decideValidation=new Requests._decideValidation}unexpectedErrorDuringRequestItemProcessing(e){return new i.CoreError("error.consumption.requests.unexpectedErrorDuringRequestItemProcessing",e instanceof Error?e.message:`Unknown error: '${JSON.stringify(e)}'`,void 0,void 0,e)}servalErrorDuringRequestItemProcessing(e){return new i.CoreError("error.consumption.requests.servalErrorDuringRequestItemProcessing",e instanceof Error?e.message:`Serval error: '${JSON.stringify(e)}'`,void 0,void 0,e)}invalidRequestItem(e){return new i.CoreError("error.consumption.requests.invalidRequestItem",e)}}Requests._decideValidation=class{invalidNumberOfItems(e){return new n.ApplicationError("error.consumption.requests.decide.validation.invalidNumberOfItems",e)}itemAcceptedButParentNotAccepted(e){return new n.ApplicationError("error.consumption.requests.decide.validation.itemAcceptedButParentNotAccepted",e)}mustBeAcceptedItemNotAccepted(e){return new n.ApplicationError("error.consumption.requests.decide.validation.mustBeAcceptedItemNotAccepted",e)}requestItemAnsweredAsRequestItemGroup(){return new n.ApplicationError("error.consumption.requests.decide.validation.requestItemAnsweredAsRequestItemGroup","The RequestItem was answered as a RequestItemGroup.")}requestItemGroupAnsweredAsRequestItem(){return new n.ApplicationError("error.consumption.requests.decide.validation.requestItemGroupAnsweredAsRequestItem","The RequestItemGroup was answered as a RequestItem.")}};class CoreErrors{}t.CoreErrors=CoreErrors,CoreErrors.attributes=new class Attributes{cannotSucceedAttributesWithAParent(e){return new i.CoreError("error.consumption.attributes.cannotSucceedAttributesWithAParent",`The Attribute you want to succeed has a parent (id: ${e.toString()}). You cannot succeed Attributes with a parent. Instead, succeed the parent, which will implicitly succeed all its children.`)}},CoreErrors.requests=new Requests},7997:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(5136),t),i(r(2047),t),i(r(4858),t),i(r(6265),t),i(r(8131),t)},5590:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(2500),t),i(r(7997),t),i(r(9793),t),i(r(9662),t)},5693:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AttributeListenersController=void 0;const n=r(7997),i=r(5136),a=r(2047),s=r(5089),o=r(910),u=r(7742);class AttributeListenersController extends i.ConsumptionBaseController{constructor(e,t,r){super(a.ConsumptionControllerName.AttributeListenersController,e),this.eventBus=t,this.identity=r}async init(){return await super.init(),this.attributeListeners=await this.parent.accountController.getSynchronizedCollection("AttributeListeners"),this}async getAttributeListeners(e){const t=await this.attributeListeners.find(e);return this.parseArray(t,u.LocalAttributeListener)}async getAttributeListener(e){const t=await this.attributeListeners.read(e.toString());if(t)return u.LocalAttributeListener.from(t)}async createAttributeListener(e){const t=o.CreateLocalAttributeListenerParams.from(e),r=u.LocalAttributeListener.from({id:await n.ConsumptionIds.attributeListener.generate(),query:t.query,peer:t.peer});return await this.attributeListeners.create(r),this.eventBus.publish(new s.AttributeListenerCreatedEvent(this.identity.address.toString(),r)),r}}t.AttributeListenersController=AttributeListenersController},3570:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AttributeListenerCreatedEvent=void 0;const n=r(9663);class AttributeListenerCreatedEvent extends n.TransportDataEvent{constructor(e,t){super(AttributeListenerCreatedEvent.namespace,e,t)}}t.AttributeListenerCreatedEvent=AttributeListenerCreatedEvent,AttributeListenerCreatedEvent.namespace="consumption.attributeListenerCreated"},5089:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(3570),t)},1485:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(5693),t),i(r(5089),t),i(r(910),t),i(r(7742),t)},910:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.CreateLocalAttributeListenerParams=void 0;const a=r(194),s=r(5030),o=r(9663);let u=class CreateLocalAttributeListenerParams extends a.Serializable{static from(e){return this.fromAny(e)}};n([(0,a.serialize)({unionTypes:[s.IdentityAttributeQuery,s.ThirdPartyRelationshipAttributeQuery]}),(0,a.validate)(),i("design:type",Object)],u.prototype,"query",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",o.CoreAddress)],u.prototype,"peer",void 0),u=n([(0,a.type)("CreateLocalAttributeListenerParams")],u),t.CreateLocalAttributeListenerParams=u},7742:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.LocalAttributeListener=void 0;const a=r(194),s=r(5030),o=r(9663),u=r(4714);let c=class LocalAttributeListener extends o.CoreSynchronizable{constructor(){super(...arguments),this.userdataProperties=[(0,u.nameof)((e=>e.query)),(0,u.nameof)((e=>e.peer))]}static from(e){return this.fromAny(e)}toJSON(){return super.toJSON()}};n([(0,a.serialize)({unionTypes:[s.IdentityAttributeQuery,s.ThirdPartyRelationshipAttributeQuery]}),(0,a.validate)(),i("design:type",Object)],c.prototype,"query",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",o.CoreAddress)],c.prototype,"peer",void 0),c=n([(0,a.type)("LocalAttributeListener")],c),t.LocalAttributeListener=c},4472:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AttributesController=void 0;const n=r(5030),i=r(9663),a=r(4714),s=r(7997),o=r(9757),u=r(7011),c=r(306),l=r(6832),d=r(2732),f=r(8637);class AttributesController extends s.ConsumptionBaseController{constructor(e,t,r){super(s.ConsumptionControllerName.AttributesController,e),this.eventBus=t,this.identity=r}async init(){return await super.init(),this.attributes=await this.parent.accountController.getSynchronizedCollection("Attributes"),this}checkValid(e){const t=i.CoreDate.utc();return!e.content.validFrom&&!e.content.validTo||(!(!e.content.validFrom||e.content.validTo||!e.content.validFrom.isSameOrBefore(t))||(!(e.content.validFrom||!e.content.validTo||!e.content.validTo.isSameOrAfter(t))||!!(e.content.validFrom&&e.content.validTo&&e.content.validFrom.isSameOrBefore(t)&&e.content.validTo.isSameOrAfter(t))))}findCurrent(e){const t=e.sort(((e,t)=>e.createdAt.compare(t.createdAt)));let r;for(const e of t)this.checkValid(e)&&(r=e);return r}filterCurrent(e){const t=e.sort(((e,t)=>e.createdAt.compare(t.createdAt))),r=[];for(const e of t)this.checkValid(e)&&r.push(e);return r}async getLocalAttribute(e){const t=await this.attributes.findOne({[(0,a.nameof)((e=>e.id))]:e.toString()});if(t)return c.LocalAttribute.from(t)}async getLocalAttributes(e){const t=await this.attributes.find(e);return this.parseArray(t,c.LocalAttribute)}async getValidLocalAttributes(e){const t=await this.attributes.find(e),r=this.parseArray(t,c.LocalAttribute);return this.filterCurrent(r)}async executeRelationshipAttributeQuery(e){const t=n.RelationshipAttributeQuery.from(e),r=d.RelationshipAttributeQueryTranslator.translate(t);r["content.confidentiality"]={$ne:"private"};const i=await this.attributes.find(r);return i.length>0?c.LocalAttribute.from(i[0]):void 0}async executeThirdPartyRelationshipAttributeQuery(e){const t=n.ThirdPartyRelationshipAttributeQuery.from(e),r=d.ThirdPartyRelationshipAttributeQueryTranslator.translate(t);r["content.confidentiality"]={$ne:"private"};const i=await this.attributes.find(r);return this.parseArray(i,c.LocalAttribute)}async executeIdentityAttributeQuery(e){const t=n.IdentityAttributeQuery.from(e),r=d.IdentityAttributeQueryTranslator.translate(t);r["content.owner"]=this.identity.address.toString(),r.shareInfo={$exists:!1};const i=await this.attributes.find(r);return this.parseArray(i,c.LocalAttribute)}async createLocalAttribute(e){const t=c.LocalAttribute.from({id:await s.ConsumptionIds.attribute.generate(),createdAt:i.CoreDate.utc(),content:e.content,parentId:e.parentId});return await this.attributes.create(t),t.content instanceof n.IdentityAttribute&&t.content.value instanceof n.AbstractComplexValue&&await this.createLocalAttributesForNestedAttributeValues(t),this.eventBus.publish(new o.AttributeCreatedEvent(this.identity.address.toString(),t)),t}async createLocalAttributesForNestedAttributeValues(e){if(!(e.content instanceof n.IdentityAttribute))throw new s.ConsumptionError("Only Identity Attributes are allowed here");const t=Object.values(e.content.value).filter((e=>e instanceof n.AbstractAttributeValue));for(const r of t){const t=n.IdentityAttribute.from({...e.content.toJSON(),value:r.toJSON()});await this.createLocalAttribute({content:t,parentId:e.id})}}async succeedLocalAttribute(e){const t=f.SucceedLocalAttributeParams.from(e),r=await this.attributes.findOne({[(0,a.nameof)((e=>e.id))]:e.succeeds.toString()}),n=c.LocalAttribute.from(r);if(n.parentId)throw s.CoreErrors.attributes.cannotSucceedAttributesWithAParent(t.succeeds.toString());if(!r)throw i.CoreErrors.general.recordNotFound(c.LocalAttribute,t.succeeds.toString());t.successorContent.validFrom||(t.successorContent.validFrom=i.CoreDate.utc());const u=t.successorContent.validFrom;n.content.validTo=u.subtract(1),await this.attributes.update(r,n);const l=await c.LocalAttribute.fromAttribute(t.successorContent,t.succeeds);return await this.attributes.create(l),this.eventBus.publish(new o.AttributeSucceededEvent(this.identity.address.toString(),l)),l}async createSharedLocalAttributeCopy(e){const t=u.CreateSharedLocalAttributeCopyParams.from(e),r=await this.getLocalAttribute(t.sourceAttributeId);if(!r)throw i.CoreErrors.general.recordNotFound(c.LocalAttribute,t.sourceAttributeId.toString());const n=l.LocalAttributeShareInfo.from({peer:t.peer,requestReference:t.requestReference,sourceAttribute:t.sourceAttributeId}),a=await c.LocalAttribute.fromAttribute(r.content,void 0,n,t.attributeId);return await this.attributes.create(a),this.eventBus.publish(new o.SharedAttributeCopyCreatedEvent(this.identity.address.toString(),a)),a}async createPeerLocalAttribute(e){const t=l.LocalAttributeShareInfo.from({peer:e.peer,requestReference:e.requestReference}),r=c.LocalAttribute.from({id:e.id??await s.ConsumptionIds.attribute.generate(),content:e.content,shareInfo:t,createdAt:i.CoreDate.utc()});return await this.attributes.create(r),this.eventBus.publish(new o.AttributeCreatedEvent(this.identity.address.toString(),r)),r}async updateLocalAttribute(e){const t=await this.attributes.findOne({[(0,a.nameof)((e=>e.id))]:e.id.toString()});if(!t)throw i.CoreErrors.general.recordNotFound(c.LocalAttribute,e.id.toString());const r=c.LocalAttribute.from({id:t.id,content:e.content,createdAt:t.createdAt,shareInfo:t.shareInfo,succeededBy:t.succeededBy,succeeds:t.succeeds});return await this.attributes.update(t,r),this.eventBus.publish(new o.AttributeUpdatedEvent(this.identity.address.toString(),r)),r}async deleteAttribute(e){await this.attributes.delete(e),this.eventBus.publish(new o.AttributeDeletedEvent(this.identity.address.toString(),e))}}t.AttributesController=AttributesController},361:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AttributeCreatedEvent=void 0;const n=r(9663);class AttributeCreatedEvent extends n.TransportDataEvent{constructor(e,t){super(AttributeCreatedEvent.namespace,e,t)}}t.AttributeCreatedEvent=AttributeCreatedEvent,AttributeCreatedEvent.namespace="consumption.attributeCreated"},7933:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AttributeDeletedEvent=void 0;const n=r(9663);class AttributeDeletedEvent extends n.TransportDataEvent{constructor(e,t){super(AttributeDeletedEvent.namespace,e,t)}}t.AttributeDeletedEvent=AttributeDeletedEvent,AttributeDeletedEvent.namespace="consumption.attributeDeleted"},7957:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AttributeSucceededEvent=void 0;const n=r(9663);class AttributeSucceededEvent extends n.TransportDataEvent{constructor(e,t){super(AttributeSucceededEvent.namespace,e,t)}}t.AttributeSucceededEvent=AttributeSucceededEvent,AttributeSucceededEvent.namespace="consumption.attributeSucceded"},5324:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AttributeUpdatedEvent=void 0;const n=r(9663);class AttributeUpdatedEvent extends n.TransportDataEvent{constructor(e,t){super(AttributeUpdatedEvent.namespace,e,t)}}t.AttributeUpdatedEvent=AttributeUpdatedEvent,AttributeUpdatedEvent.namespace="consumption.attributeUpdated"},512:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SharedAttributeCopyCreatedEvent=void 0;const n=r(9663);class SharedAttributeCopyCreatedEvent extends n.TransportDataEvent{constructor(e,t){super(SharedAttributeCopyCreatedEvent.namespace,e,t)}}t.SharedAttributeCopyCreatedEvent=SharedAttributeCopyCreatedEvent,SharedAttributeCopyCreatedEvent.namespace="consumption.sharedAttributeCopyCreated"},9757:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(361),t),i(r(7933),t),i(r(7957),t),i(r(5324),t),i(r(512),t)},3811:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(4472),t),i(r(9757),t),i(r(8743),t),i(r(9228),t),i(r(7011),t),i(r(306),t),i(r(6832),t),i(r(8637),t),i(r(9468),t)},8743:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.CreateLocalAttributeParams=void 0;const a=r(194),s=r(5030),o=r(9663);class CreateLocalAttributeParams extends a.Serializable{static from(e){return this.fromAny(e)}}n([(0,a.serialize)({unionTypes:[s.IdentityAttribute,s.RelationshipAttribute]}),(0,a.validate)(),i("design:type",Object)],CreateLocalAttributeParams.prototype,"content",void 0),n([(0,a.serialize)({optional:!0}),(0,a.validate)(),i("design:type",o.CoreId)],CreateLocalAttributeParams.prototype,"parentId",void 0),t.CreateLocalAttributeParams=CreateLocalAttributeParams},9228:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.CreatePeerLocalAttributeParams=void 0;const a=r(194),s=r(5030),o=r(9663);class CreatePeerLocalAttributeParams extends a.Serializable{static from(e){return this.fromAny(e)}}n([(0,a.serialize)(),(0,a.validate)(),i("design:type",o.CoreId)],CreatePeerLocalAttributeParams.prototype,"id",void 0),n([(0,a.serialize)({unionTypes:[s.IdentityAttribute,s.RelationshipAttribute]}),(0,a.validate)(),i("design:type",Object)],CreatePeerLocalAttributeParams.prototype,"content",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",o.CoreId)],CreatePeerLocalAttributeParams.prototype,"requestReference",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",o.CoreAddress)],CreatePeerLocalAttributeParams.prototype,"peer",void 0),t.CreatePeerLocalAttributeParams=CreatePeerLocalAttributeParams},7011:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.CreateSharedLocalAttributeCopyParams=void 0;const a=r(194),s=r(9663);class CreateSharedLocalAttributeCopyParams extends a.Serializable{static from(e){return this.fromAny(e)}}n([(0,a.serialize)(),(0,a.validate)({nullable:!0}),i("design:type",s.CoreId)],CreateSharedLocalAttributeCopyParams.prototype,"attributeId",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",s.CoreId)],CreateSharedLocalAttributeCopyParams.prototype,"sourceAttributeId",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",s.CoreAddress)],CreateSharedLocalAttributeCopyParams.prototype,"peer",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",s.CoreId)],CreateSharedLocalAttributeCopyParams.prototype,"requestReference",void 0),t.CreateSharedLocalAttributeCopyParams=CreateSharedLocalAttributeCopyParams},306:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.LocalAttribute=void 0;const a=r(194),s=r(5030),o=r(9663),u=r(4714),c=r(7997),l=r(6832);let d=class LocalAttribute extends o.CoreSynchronizable{constructor(){super(...arguments),this.technicalProperties=["@type","@context",(0,u.nameof)((e=>e.createdAt)),(0,u.nameof)((e=>e.succeeds)),(0,u.nameof)((e=>e.createdAt))],this.userdataProperties=[(0,u.nameof)((e=>e.content))]}isIdentityAttribute(){return this.content instanceof s.IdentityAttribute}isRelationshipAttribute(){return this.content instanceof s.RelationshipAttribute}isOwnedBy(e){return this.content.owner.equals(e)}isRepositoryAttribute(){return this.isIdentityAttribute()&&!this.isShared()}isShared(){return void 0!==this.shareInfo}isSharedWith(e){return!!this.isShared()&&this.shareInfo.peer===e}static from(e){return this.fromAny(e)}static async fromAttribute(e,t,r,n,i){return this.from({id:n??await c.ConsumptionIds.attribute.generate(),createdAt:o.CoreDate.utc(),content:e,succeeds:t,shareInfo:r,parentId:i})}};n([(0,a.validate)(),(0,a.serialize)({unionTypes:[s.IdentityAttribute,s.RelationshipAttribute]}),i("design:type",Object)],d.prototype,"content",void 0),n([(0,a.validate)(),(0,a.serialize)(),i("design:type",o.CoreDate)],d.prototype,"createdAt",void 0),n([(0,a.validate)({nullable:!0}),(0,a.serialize)(),i("design:type",o.CoreId)],d.prototype,"succeeds",void 0),n([(0,a.validate)({nullable:!0}),(0,a.serialize)(),i("design:type",o.CoreId)],d.prototype,"succeededBy",void 0),n([(0,a.validate)({nullable:!0}),(0,a.serialize)(),i("design:type",l.LocalAttributeShareInfo)],d.prototype,"shareInfo",void 0),n([(0,a.validate)({nullable:!0}),(0,a.serialize)(),i("design:type",o.CoreId)],d.prototype,"parentId",void 0),d=n([(0,a.type)("LocalAttribute")],d),t.LocalAttribute=d},6832:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.LocalAttributeShareInfo=void 0;const a=r(194),s=r(9663);class LocalAttributeShareInfo extends s.CoreSerializable{static from(e){return super.fromAny(e)}}n([(0,a.validate)(),(0,a.serialize)(),i("design:type",s.CoreId)],LocalAttributeShareInfo.prototype,"requestReference",void 0),n([(0,a.validate)(),(0,a.serialize)(),i("design:type",s.CoreAddress)],LocalAttributeShareInfo.prototype,"peer",void 0),n([(0,a.validate)({nullable:!0}),(0,a.serialize)(),i("design:type",s.CoreId)],LocalAttributeShareInfo.prototype,"sourceAttribute",void 0),t.LocalAttributeShareInfo=LocalAttributeShareInfo},2732:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ThirdPartyRelationshipAttributeQueryTranslator=t.RelationshipAttributeQueryTranslator=t.IdentityAttributeQueryTranslator=void 0;const n=r(2937),i=r(8565),a=r(4714),s=r(7997);class IdentityAttributeQueryTranslator{static translate(e){return this.translator.parse({...e.toJSON(),attributeType:"IdentityAttribute"})}}t.IdentityAttributeQueryTranslator=IdentityAttributeQueryTranslator,IdentityAttributeQueryTranslator.translator=new n.QueryTranslator({whitelist:{[(0,a.nameof)((e=>e.tags))]:!0,[(0,a.nameof)((e=>e.valueType))]:!0,[(0,a.nameof)((e=>e.validFrom))]:!0,[(0,a.nameof)((e=>e.validTo))]:!0,attributeType:!0},alias:{[(0,a.nameof)((e=>e.valueType))]:[`${(0,a.nameof)((e=>e.content))}.${(0,a.nameof)((e=>e.value))}.@type`],attributeType:[`${(0,a.nameof)((e=>e.content))}.@type`]},custom:{[(0,a.nameof)((e=>e.tags))]:(e,t)=>{if(!t)return;if(!Array.isArray(t))throw new s.ConsumptionError("Invalid input: 'tags' must be an array");const r=t;e.$or=r.map((e=>({[`${(0,a.nameof)((e=>e.content))}.${(0,a.nameof)((e=>e.tags))}`]:{$contains:e}})))},[(0,a.nameof)((e=>e.validFrom))]:(e,t)=>{if(!t)return;const r=i.DateTime.fromISO(t).toUTC().toString();e[`${(0,a.nameof)((e=>e.content))}.${(0,a.nameof)((e=>e.validFrom))}`]={$gte:r}},[(0,a.nameof)((e=>e.validTo))]:(e,t)=>{if(!t)return;const r=i.DateTime.fromISO(t).toUTC().toString();e[`${(0,a.nameof)((e=>e.content))}.${(0,a.nameof)((e=>e.validTo))}`]={$lte:r}}}});class RelationshipAttributeQueryTranslator{static translate(e){return this.translator.parse({...e.toJSON(),attributeType:"RelationshipAttribute"})}}t.RelationshipAttributeQueryTranslator=RelationshipAttributeQueryTranslator,RelationshipAttributeQueryTranslator.translator=new n.QueryTranslator({whitelist:{[(0,a.nameof)((e=>e.key))]:!0,[(0,a.nameof)((e=>e.validFrom))]:!0,[(0,a.nameof)((e=>e.validTo))]:!0,[(0,a.nameof)((e=>e.owner))]:!0,attributeType:!0},alias:{[(0,a.nameof)((e=>e.key))]:[`${(0,a.nameof)((e=>e.content))}.${(0,a.nameof)((e=>e.key))}`],attributeType:[`${(0,a.nameof)((e=>e.content))}.@type`],[(0,a.nameof)((e=>e.owner))]:[`${(0,a.nameof)((e=>e.content))}.${(0,a.nameof)((e=>e.owner))}`]},custom:{[(0,a.nameof)((e=>e.validFrom))]:(e,t)=>{if(!t)return;const r=i.DateTime.fromISO(t).toUTC().toString();e[`${(0,a.nameof)((e=>e.content))}.${(0,a.nameof)((e=>e.validFrom))}`]={$gte:r}},[(0,a.nameof)((e=>e.validTo))]:(e,t)=>{if(!t)return;const r=i.DateTime.fromISO(t).toUTC().toString();e[`${(0,a.nameof)((e=>e.content))}.${(0,a.nameof)((e=>e.validTo))}`]={$lte:r}}}});class ThirdPartyRelationshipAttributeQueryTranslator{static translate(e){return this.translator.parse({...e.toJSON(),attributeType:"RelationshipAttribute"})}}t.ThirdPartyRelationshipAttributeQueryTranslator=ThirdPartyRelationshipAttributeQueryTranslator,ThirdPartyRelationshipAttributeQueryTranslator.translator=new n.QueryTranslator({whitelist:{[(0,a.nameof)((e=>e.key))]:!0,[(0,a.nameof)((e=>e.validFrom))]:!0,[(0,a.nameof)((e=>e.validTo))]:!0,[(0,a.nameof)((e=>e.owner))]:!0,[(0,a.nameof)((e=>e.thirdParty))]:!0,attributeType:!0},alias:{[(0,a.nameof)((e=>e.key))]:[`${(0,a.nameof)((e=>e.content))}.${(0,a.nameof)((e=>e.key))}`],attributeType:[`${(0,a.nameof)((e=>e.content))}.@type`],[(0,a.nameof)((e=>e.owner))]:[`${(0,a.nameof)((e=>e.content))}.${(0,a.nameof)((e=>e.owner))}`],[(0,a.nameof)((e=>e.thirdParty))]:[`${(0,a.nameof)((e=>e.shareInfo))}.${(0,a.nameof)((e=>e.peer))}`]},custom:{[(0,a.nameof)((e=>e.validFrom))]:(e,t)=>{if(!t)return;const r=i.DateTime.fromISO(t).toUTC().toString();e[`${(0,a.nameof)((e=>e.content))}.${(0,a.nameof)((e=>e.validFrom))}`]={$gte:r}},[(0,a.nameof)((e=>e.validTo))]:(e,t)=>{if(!t)return;const r=i.DateTime.fromISO(t).toUTC().toString();e[`${(0,a.nameof)((e=>e.content))}.${(0,a.nameof)((e=>e.validTo))}`]={$lte:r}}}})},8637:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.SucceedLocalAttributeParams=void 0;const a=r(194),s=r(5030),o=r(9663);class SucceedLocalAttributeParams extends a.Serializable{static from(e){return this.fromAny(e)}}n([(0,a.serialize)({unionTypes:[s.IdentityAttribute,s.RelationshipAttribute]}),(0,a.validate)(),i("design:type",Object)],SucceedLocalAttributeParams.prototype,"successorContent",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",o.CoreId)],SucceedLocalAttributeParams.prototype,"succeeds",void 0),t.SucceedLocalAttributeParams=SucceedLocalAttributeParams},9468:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.UpdateLocalAttributeParams=void 0;const a=r(194),s=r(5030),o=r(9663);class UpdateLocalAttributeParams extends a.Serializable{static from(e){return this.fromAny(e)}}n([(0,a.serialize)(),(0,a.validate)(),i("design:type",o.CoreId)],UpdateLocalAttributeParams.prototype,"id",void 0),n([(0,a.serialize)({unionTypes:[s.IdentityAttribute,s.RelationshipAttribute]}),(0,a.validate)(),i("design:type",Object)],UpdateLocalAttributeParams.prototype,"content",void 0),t.UpdateLocalAttributeParams=UpdateLocalAttributeParams},1574:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DraftsController=void 0;const n=r(9663),i=r(7997),a=r(8535);class DraftsController extends i.ConsumptionBaseController{constructor(e){super(i.ConsumptionControllerName.DraftsController,e)}async init(){return await super.init(),this.drafts=await this.parent.accountController.getSynchronizedCollection("Drafts"),this}async getDraft(e){const t=await this.drafts.read(e.toString());return t?a.Draft.from(t):void 0}async getDrafts(e){const t=await this.drafts.find(e);return this.parseArray(t,a.Draft)}async createDraft(e,t=""){const r=a.Draft.from({id:await i.ConsumptionIds.draft.generate(),content:e,createdAt:new n.CoreDate,lastModifiedAt:new n.CoreDate,type:t});return await this.drafts.create(r),r}async updateDraft(e){const t=await this.drafts.read(e.id.toString());if(!t)throw new i.ConsumptionError("Draft Not Found");await this.drafts.update(t,e)}async deleteDraft(e){await this.drafts.delete(e)}}t.DraftsController=DraftsController},137:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(1574),t),i(r(8535),t)},8535:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.Draft=void 0;const a=r(194),s=r(9663),o=r(4714);let u=class Draft extends s.CoreSynchronizable{constructor(){super(...arguments),this.technicalProperties=["@type","@context",(0,o.nameof)((e=>e.type)),(0,o.nameof)((e=>e.createdAt)),(0,o.nameof)((e=>e.lastModifiedAt))],this.userdataProperties=[(0,o.nameof)((e=>e.content))],this.metadataProperties=[(0,o.nameof)((e=>e.metadata)),(0,o.nameof)((e=>e.metadataModifiedAt))]}static from(e){return this.fromAny(e)}};n([(0,a.validate)(),(0,a.serialize)(),i("design:type",String)],u.prototype,"type",void 0),n([(0,a.validate)(),(0,a.serialize)(),i("design:type",s.CoreDate)],u.prototype,"createdAt",void 0),n([(0,a.validate)(),(0,a.serialize)(),i("design:type",s.CoreDate)],u.prototype,"lastModifiedAt",void 0),n([(0,a.validate)(),(0,a.serialize)(),i("design:type",a.Serializable)],u.prototype,"content",void 0),n([(0,a.validate)({nullable:!0}),(0,a.serialize)({any:!0}),i("design:type",Object)],u.prototype,"metadata",void 0),n([(0,a.validate)({nullable:!0}),(0,a.serialize)(),i("design:type",s.CoreDate)],u.prototype,"metadataModifiedAt",void 0),u=n([(0,a.type)("Draft")],u),t.Draft=u},9662:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(1485),t),i(r(3811),t),i(r(137),t),i(r(1253),t),i(r(5431),t)},4014:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IncomingRequestReceivedEvent=void 0;const n=r(9663),i=r(7997);class IncomingRequestReceivedEvent extends n.TransportDataEvent{constructor(e,t){if(super(IncomingRequestReceivedEvent.namespace,e,t),t.isOwn)throw new i.ConsumptionError("Cannot create this event for an outgoing Request")}}t.IncomingRequestReceivedEvent=IncomingRequestReceivedEvent,IncomingRequestReceivedEvent.namespace="consumption.incomingRequestReceived"},8204:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IncomingRequestStatusChangedEvent=void 0;const n=r(9663),i=r(7997);class IncomingRequestStatusChangedEvent extends n.TransportDataEvent{constructor(e,t){if(super(IncomingRequestStatusChangedEvent.namespace,e,t),t.request.isOwn)throw new i.ConsumptionError("Cannot create this event for an outgoing Request")}}t.IncomingRequestStatusChangedEvent=IncomingRequestStatusChangedEvent,IncomingRequestStatusChangedEvent.namespace="consumption.incomingRequestStatusChanged"},1934:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OutgoingRequestCreatedEvent=void 0;const n=r(9663),i=r(7997);class OutgoingRequestCreatedEvent extends n.TransportDataEvent{constructor(e,t){if(super(OutgoingRequestCreatedEvent.namespace,e,t),!t.isOwn)throw new i.ConsumptionError("Cannot create this event for an incoming Request")}}t.OutgoingRequestCreatedEvent=OutgoingRequestCreatedEvent,OutgoingRequestCreatedEvent.namespace="consumption.outgoingRequestCreated"},360:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent=void 0;const n=r(9663),i=r(7997);class OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent extends n.TransportDataEvent{constructor(e,t){if(super(OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent.namespace,e,t),!t.isOwn)throw new i.ConsumptionError("Cannot create this event for an incoming Request")}}t.OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent=OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent,OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent.namespace="consumption.outgoingRequestFromRelationshipCreationChangeCreatedAndCompleted"},9537:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OutgoingRequestStatusChangedEvent=void 0;const n=r(9663),i=r(7997);class OutgoingRequestStatusChangedEvent extends n.TransportDataEvent{constructor(e,t){if(super(OutgoingRequestStatusChangedEvent.namespace,e,t),!t.request.isOwn)throw new i.ConsumptionError("Cannot create this event for an incoming Request")}}t.OutgoingRequestStatusChangedEvent=OutgoingRequestStatusChangedEvent,OutgoingRequestStatusChangedEvent.namespace="consumption.outgoingRequestStatusChanged"},5941:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(4014),t),i(r(8204),t),i(r(1934),t),i(r(360),t),i(r(9537),t)},7066:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DecideRequestParametersValidator=void 0;const n=r(5030),i=r(9663),a=r(7997),s=r(9116),o=r(1687),u=r(6592);t.DecideRequestParametersValidator=class DecideRequestParametersValidator{validate(e,t){if(!t.id.equals(i.CoreId.from(e.requestId)))throw new Error("The response is invalid because the id of the Request does not match the id of the Response.");if(e.items.length!==t.content.items.length)return s.ValidationResult.error(a.CoreErrors.requests.decideValidation.invalidNumberOfItems("Number of items in Request and Response do not match"));const r=t.content.items.map(((t,r)=>this.checkItemOrGroup(t,e.items[r],e.accept)));return s.ValidationResult.fromItems(r)}checkItemOrGroup(e,t,r){return e instanceof n.RequestItem?this.checkItem(e,t,r):this.checkItemGroup(e,t,r)}checkItem(e,t,r){return(0,o.isDecideRequestItemGroupParametersJSON)(t)?s.ValidationResult.error(a.CoreErrors.requests.decideValidation.requestItemAnsweredAsRequestItemGroup()):!r&&t.accept?s.ValidationResult.error(a.CoreErrors.requests.decideValidation.itemAcceptedButParentNotAccepted("The RequestItem was accepted, but the parent was not accepted.")):r&&e.mustBeAccepted&&!t.accept?s.ValidationResult.error(a.CoreErrors.requests.decideValidation.mustBeAcceptedItemNotAccepted("The RequestItem is flagged as 'mustBeAccepted', but it was not accepted.")):s.ValidationResult.success()}checkItemGroup(e,t,r){if((0,u.isDecideRequestItemParametersJSON)(t))return s.ValidationResult.error(a.CoreErrors.requests.decideValidation.requestItemGroupAnsweredAsRequestItem());if(t.items.length!==e.items.length)return s.ValidationResult.error(a.CoreErrors.requests.decideValidation.invalidNumberOfItems("Number of items in RequestItemGroup and ResponseItemGroup do not match"));const n=t.items.some((e=>e.accept));if(!r&&n)return s.ValidationResult.error(a.CoreErrors.requests.decideValidation.itemAcceptedButParentNotAccepted("The RequestItemGroup was accepted, but the parent was not accepted."));if(r&&e.mustBeAccepted&&!n)return s.ValidationResult.error(a.CoreErrors.requests.decideValidation.mustBeAcceptedItemNotAccepted("The RequestItemGroup is flagged as 'mustBeAccepted', but it was not accepted. Please accept all 'mustBeAccepted' items in this group."));const i=e.items.map(((e,r)=>this.checkItem(e,t.items[r],n)));return s.ValidationResult.fromItems(i)}}},5664:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IncomingRequestsController=void 0;const n=r(194),i=r(5030),a=r(9663),s=r(7997),o=r(5941),u=r(9116),c=r(5371),l=r(1744),d=r(4136),f=r(8576),h=r(6520),p=r(2908),m=r(7066),y=r(3665),g=r(569);class IncomingRequestsController extends s.ConsumptionBaseController{constructor(e,t,r,n,i){super(s.ConsumptionControllerName.RequestsController,r),this.localRequests=e,this.processorRegistry=t,this.eventBus=n,this.identity=i,this.decideRequestParamsValidator=new m.DecideRequestParametersValidator}async received(e){const t=y.ReceivedIncomingRequestParameters.from(e),r=this.extractInfoFromSource(t.requestSourceObject),n=c.LocalRequest.from({id:t.receivedRequest.id??await s.ConsumptionIds.request.generate(),createdAt:a.CoreDate.utc(),status:l.LocalRequestStatus.Open,content:t.receivedRequest,isOwn:!1,peer:r.peer,source:r.source,statusLog:[]});return await this.localRequests.create(n),this.eventBus.publish(new o.IncomingRequestReceivedEvent(this.identity.address.toString(),n)),n}extractInfoFromSource(e){return e instanceof a.Message?this.extractInfoFromMessage(e):this.extractInfoFromRelationshipTemplate(e)}extractInfoFromMessage(e){if(e.isOwn)throw new s.ConsumptionError("Cannot create incoming Request from own Message");return{peer:e.cache.createdBy,source:{reference:e.id,type:"Message"}}}extractInfoFromRelationshipTemplate(e){if(e.isOwn)throw new s.ConsumptionError("Cannot create incoming Request from own Relationship Template");return{peer:e.cache.createdBy,source:{reference:e.id,type:"RelationshipTemplate"}}}async checkPrerequisites(e){const t=f.CheckPrerequisitesOfIncomingRequestParameters.from(e),r=await this.getOrThrow(t.requestId);this.assertRequestStatus(r,l.LocalRequestStatus.Open);for(const e of r.content.items)if(e instanceof i.RequestItem){const t=this.processorRegistry.getProcessorForItem(e);if(!await t.checkPrerequisitesOfIncomingRequestItem(e,r))return r}else for(const t of e.items){const e=this.processorRegistry.getProcessorForItem(t);if(!await e.checkPrerequisitesOfIncomingRequestItem(t,r))return r}return r.changeStatus(l.LocalRequestStatus.DecisionRequired),await this.update(r),this.eventBus.publish(new o.IncomingRequestStatusChangedEvent(this.identity.address.toString(),{request:r,oldStatus:l.LocalRequestStatus.Open,newStatus:r.status})),r}async requireManualDecision(e){const t=g.RequireManualDecisionOfIncomingRequestParameters.from(e),r=await this.getOrThrow(t.requestId);return this.assertRequestStatus(r,l.LocalRequestStatus.DecisionRequired),r.changeStatus(l.LocalRequestStatus.ManualDecisionRequired),await this.update(r),this.eventBus.publish(new o.IncomingRequestStatusChangedEvent(this.identity.address.toString(),{request:r,oldStatus:l.LocalRequestStatus.DecisionRequired,newStatus:r.status})),r}async canAccept(e){return await this.canDecide({...e,accept:!0})}async canReject(e){return await this.canDecide({...e,accept:!1})}async canDecide(e){p.InternalDecideRequestParameters.from(e);const t=await this.getOrThrow(e.requestId);this.assertRequestStatus(t,l.LocalRequestStatus.DecisionRequired,l.LocalRequestStatus.ManualDecisionRequired);const r=this.decideRequestParamsValidator.validate(e,t);if(r.isError())return r;const n=await this.canDecideItems(e.items,t.content.items,t);return u.ValidationResult.fromItems(n)}async canDecideGroup(e,t,r){const n=await this.canDecideItems(e.items,t.items,r);return u.ValidationResult.fromItems(n)}async canDecideItems(e,t,r){const n=[];for(let a=0;a<e.length;a++){const s=e[a],o=t[a];if(o instanceof i.RequestItemGroup){const e=await this.canDecideGroup(s,o,r);n.push(e)}else{const e=await this.canDecideItem(s,o,r);n.push(e)}}return n}async canDecideItem(e,t,r){const i=this.processorRegistry.getProcessorForItem(t);try{return e.accept?await i.canAccept(t,e,r):await i.canReject(t,e,r)}catch(e){return e instanceof n.ServalError?u.ValidationResult.error(s.CoreErrors.requests.servalErrorDuringRequestItemProcessing(e)):u.ValidationResult.error(s.CoreErrors.requests.unexpectedErrorDuringRequestItemProcessing(e))}}async accept(e){if(!(await this.canAccept(e)).isSuccess())throw new s.ConsumptionError("Cannot accept the Request with the given parameters. Call 'canAccept' to get more information.");return await this.decide({...e,accept:!0})}async reject(e){if(!(await this.canReject(e)).isSuccess())throw new s.ConsumptionError("Cannot reject the Request with the given parameters. Call 'canReject' to get more information.");return await this.decide({...e,accept:!1})}async decide(e){const t=await this.getOrThrow(e.requestId);this.assertRequestStatus(t,l.LocalRequestStatus.DecisionRequired,l.LocalRequestStatus.ManualDecisionRequired);const r=await this.createLocalResponse(e,t),n=t.status;return t.response=r,t.changeStatus(l.LocalRequestStatus.Decided),await this.update(t),this.eventBus.publish(new o.IncomingRequestStatusChangedEvent(this.identity.address.toString(),{request:t,oldStatus:n,newStatus:t.status})),t}async createLocalResponse(e,t){const r=t.content.items,n=await this.decideItems(e.items,r,t),s=i.Response.from({result:e.accept?i.ResponseResult.Accepted:i.ResponseResult.Rejected,requestId:t.id,items:n});return d.LocalResponse.from({content:s,createdAt:a.CoreDate.utc()})}async decideGroup(e,t,r){const n=await this.decideItems(e.items,t.items,r);return i.ResponseItemGroup.from({items:n})}async decideItems(e,t,r){const n=[];for(let a=0;a<e.length;a++){const s=e[a],o=t[a];o instanceof i.RequestItemGroup?n.push(await this.decideGroup(s,o,r)):n.push(await this.decideItem(s,t[a],r))}return n}async decideItem(e,t,r){const n=this.processorRegistry.getProcessorForItem(t);try{return e.accept?await n.accept(t,e,r):await n.reject(t,e,r)}catch(e){let r="";throw e instanceof Error&&(r=` Details: ${e.message}`),new s.ConsumptionError(`An error occurred while processing a '${t.constructor.name}'. You should contact the developer of this RequestItem.${r}}`)}}async complete(e){const t=h.CompleteIncomingRequestParameters.from(e),r=await this.getOrThrow(t.requestId);if(r.isOwn)throw new s.ConsumptionError("Cannot decide own Request");this.assertRequestStatus(r,l.LocalRequestStatus.Decided);const n=r.response.content.result===i.ResponseResult.Rejected,u="RelationshipTemplate"===r.source.type;if(t.responseSourceObject)r.response.source=d.LocalResponseSource.from({type:t.responseSourceObject instanceof a.Message?"Message":"RelationshipChange",reference:t.responseSourceObject.id});else if(!n||!u)throw new s.ConsumptionError("A Request can only be completed without a responseSource if the Request is rejected and the Request is from a Relationship Template");return r.changeStatus(l.LocalRequestStatus.Completed),await this.update(r),this.eventBus.publish(new o.IncomingRequestStatusChangedEvent(this.identity.address.toString(),{request:r,oldStatus:l.LocalRequestStatus.Decided,newStatus:r.status})),r}async getIncomingRequests(e){const t=(await this.localRequests.find({...e,isOwn:!1})).map((e=>this.updateRequestExpiry(c.LocalRequest.from(e))));return await Promise.all(t)}async getIncomingRequest(e){const t=await this.localRequests.findOne({id:e.toString(),isOwn:!1});if(!t)return;const r=c.LocalRequest.from(t);return await this.updateRequestExpiry(r)}async getOrThrow(e){const t=await this.getIncomingRequest(a.CoreId.from(e));if(!t)throw a.CoreErrors.general.recordNotFound(c.LocalRequest,e.toString());return t}async update(e){const t=await this.localRequests.findOne({id:e.id.toString(),isOwn:!1});if(!t)throw a.CoreErrors.general.recordNotFound(c.LocalRequest,e.id.toString());await this.localRequests.update(t,e)}assertRequestStatus(e,...t){if(!t.includes(e.status))throw new s.ConsumptionError(`Local Request has to be in status '${t.join("/")}'.`)}async updateRequestExpiry(e){return e.updateStatusBasedOnExpiration()&&await this.update(e),e}}t.IncomingRequestsController=IncomingRequestsController},8576:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.CheckPrerequisitesOfIncomingRequestParameters=void 0;const a=r(194),s=r(9663);let o=class CheckPrerequisitesOfIncomingRequestParameters extends a.Serializable{static from(e){return this.fromAny(e)}};n([(0,a.serialize)(),(0,a.validate)(),i("design:type",s.CoreId)],o.prototype,"requestId",void 0),o=n([(0,a.type)("CheckPrerequisitesOfIncomingRequestParameters")],o),t.CheckPrerequisitesOfIncomingRequestParameters=o},6520:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.CompleteIncomingRequestParameters=void 0;const a=r(194),s=r(9663);class CompleteIncomingRequestParameters extends a.Serializable{static from(e){return this.fromAny(e)}}n([(0,a.serialize)(),(0,a.validate)(),i("design:type",s.CoreId)],CompleteIncomingRequestParameters.prototype,"requestId",void 0),n([(0,a.serialize)({unionTypes:[s.Message,s.RelationshipChange]}),(0,a.validate)({nullable:!0}),i("design:type",Object)],CompleteIncomingRequestParameters.prototype,"responseSourceObject",void 0),t.CompleteIncomingRequestParameters=CompleteIncomingRequestParameters},9379:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},1687:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isDecideRequestItemGroupParametersJSON=void 0,t.isDecideRequestItemGroupParametersJSON=function isDecideRequestItemGroupParametersJSON(e){return void 0!==e.items&&void 0===e.accept}},6592:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isDecideRequestItemParametersJSON=void 0,t.isDecideRequestItemParametersJSON=function isDecideRequestItemParametersJSON(e){return void 0===e.items&&void 0!==e.accept}},7323:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},2908:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.InternalDecideRequestParameters=void 0;const a=r(194),s=r(9663);let o=class InternalDecideRequestParameters extends a.Serializable{static from(e){return this.fromAny(e)}};n([(0,a.serialize)(),(0,a.validate)(),i("design:type",s.CoreId)],o.prototype,"requestId",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",Array)],o.prototype,"items",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",Boolean)],o.prototype,"accept",void 0),o=n([(0,a.type)("InternalDecideRequestParameters")],o),t.InternalDecideRequestParameters=o},5829:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},3665:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.ReceivedIncomingRequestParameters=void 0;const a=r(194),s=r(5030),o=r(9663);let u=class ReceivedIncomingRequestParameters extends a.Serializable{static from(e){return this.fromAny(e)}};n([(0,a.serialize)(),(0,a.validate)(),i("design:type",s.Request)],u.prototype,"receivedRequest",void 0),n([(0,a.serialize)({unionTypes:[o.Message,o.RelationshipTemplate]}),(0,a.validate)(),i("design:type",Object)],u.prototype,"requestSourceObject",void 0),u=n([(0,a.type)("ReceivedIncomingRequestParameters")],u),t.ReceivedIncomingRequestParameters=u},569:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.RequireManualDecisionOfIncomingRequestParameters=void 0;const a=r(194),s=r(9663);class RequireManualDecisionOfIncomingRequestParameters extends a.Serializable{static from(e){return this.fromAny(e)}}n([(0,a.serialize)(),(0,a.validate)(),i("design:type",s.CoreId)],RequireManualDecisionOfIncomingRequestParameters.prototype,"requestId",void 0),t.RequireManualDecisionOfIncomingRequestParameters=RequireManualDecisionOfIncomingRequestParameters},1253:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(5941),t),i(r(8576),t),i(r(6520),t),i(r(9379),t),i(r(1687),t),i(r(6592),t),i(r(7323),t),i(r(5829),t),i(r(7066),t),i(r(5664),t),i(r(3665),t),i(r(569),t),i(r(8067),t),i(r(9886),t),i(r(7994),t),i(r(2743),t),i(r(2753),t),i(r(7482),t),i(r(3372),t),i(r(2858),t),i(r(8787),t),i(r(8368),t),i(r(9469),t),i(r(633),t),i(r(9116),t),i(r(5371),t),i(r(1744),t),i(r(3126),t),i(r(4136),t),i(r(3592),t),i(r(4981),t),i(r(1878),t),i(r(1557),t),i(r(5180),t),i(r(325),t)},8067:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractRequestItemProcessor=void 0;t.AbstractRequestItemProcessor=class AbstractRequestItemProcessor{constructor(e){this.consumptionController=e,this.accountController=this.consumptionController.accountController,this.currentIdentityAddress=this.accountController.identity.address}}},7994:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GenericRequestItemProcessor=void 0;const n=r(5030),i=r(8067),a=r(9116);class GenericRequestItemProcessor extends i.AbstractRequestItemProcessor{checkPrerequisitesOfIncomingRequestItem(e,t){return!0}canAccept(e,t,r){return a.ValidationResult.success()}canReject(e,t,r){return a.ValidationResult.success()}accept(e,t,r){return n.AcceptResponseItem.from({result:n.ResponseItemResult.Accepted})}reject(e,t,r){return n.RejectResponseItem.from({result:n.ResponseItemResult.Rejected})}canCreateOutgoingRequestItem(e,t,r){return a.ValidationResult.success()}canApplyIncomingResponseItem(e,t,r){return a.ValidationResult.success()}applyIncomingResponseItem(e,t,r){}}t.GenericRequestItemProcessor=GenericRequestItemProcessor},2743:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},2753:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},8368:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},9469:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RequestItemProcessorRegistry=void 0;const n=r(7997);t.RequestItemProcessorRegistry=class RequestItemProcessorRegistry{constructor(e,t=new Map){this.consumptionController=e,this.processors=t}registerProcessor(e,t){if(this.processors.has(e))throw new n.ConsumptionError(`There is already a processor registered for '${e.name}''. Use 'replaceProcessorForType' if you want to replace it.`);this.processors.set(e,t)}registerOrReplaceProcessor(e,t){this.processors.set(e,t)}getProcessorForItem(e){const t=this.processors.get(e.constructor);if(!t)throw new n.ConsumptionError(`There was no processor registered for '${e.constructor.name}'.`);return new t(this.consumptionController)}}},9116:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ErrorValidationResult=t.SuccessfulValidationResult=t.ValidationResult=void 0;const n=r(5172);class ValidationResult{constructor(e){this.items=e}isSuccess(){return this instanceof SuccessfulValidationResult}isError(){return this instanceof ErrorValidationResult}static success(e=[]){return new SuccessfulValidationResult(e)}static error(e,t=[]){return new ErrorValidationResult(e,t)}static fromItems(e){return e.some((e=>e.isError()))?ValidationResult.error(new n.ApplicationError("inheritedFromItem","Some child items have errors."),e):ValidationResult.success(e)}}t.ValidationResult=ValidationResult;class SuccessfulValidationResult extends ValidationResult{constructor(e){super(e)}}t.SuccessfulValidationResult=SuccessfulValidationResult;class ErrorValidationResult extends ValidationResult{constructor(e,t){super(t),this.error=e}}t.ErrorValidationResult=ErrorValidationResult},9886:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CreateAttributeRequestItemProcessor=void 0;const n=r(5030),i=r(7997),a=r(7994),s=r(9116);class CreateAttributeRequestItemProcessor extends a.GenericRequestItemProcessor{canCreateOutgoingRequestItem(e,t,r){const a=e.attribute.owner.equals(r),o=e.attribute.owner.equals(this.currentIdentityAddress),u=""===e.attribute.owner.toString();return e.attribute instanceof n.IdentityAttribute?o?s.ValidationResult.error(i.CoreErrors.requests.invalidRequestItem("Cannot create own Attributes with a CreateAttributeRequestItem. Use a ShareAttributeRequestItem instead.")):a||u||void 0===r?s.ValidationResult.success():s.ValidationResult.error(i.CoreErrors.requests.invalidRequestItem("The owner of the given `attribute` can only be the recipient's address or an empty string. The latter will default to the recipient's address.")):a||o||u||void 0===r?s.ValidationResult.success():s.ValidationResult.error(i.CoreErrors.requests.invalidRequestItem("The owner of the given 'attribute' can only be the sender's address, the recipient's address or an empty string. The latter will default to the recipient's address."))}async accept(e,t,r){let i;if(""===e.attribute.owner.toString()&&(e.attribute.owner=this.currentIdentityAddress),e.attribute instanceof n.IdentityAttribute){const t=await this.consumptionController.attributes.createLocalAttribute({content:e.attribute});i=await this.consumptionController.attributes.createSharedLocalAttributeCopy({peer:r.peer,requestReference:r.id,sourceAttributeId:t.id})}else i=await this.consumptionController.attributes.createPeerLocalAttribute({content:e.attribute,peer:r.peer,requestReference:r.id});return n.CreateAttributeAcceptResponseItem.from({result:n.ResponseItemResult.Accepted,attributeId:i.id})}async applyIncomingResponseItem(e,t,r){e instanceof n.CreateAttributeAcceptResponseItem&&(""===t.attribute.owner.toString()&&(t.attribute.owner=r.peer),await this.consumptionController.attributes.createPeerLocalAttribute({id:e.attributeId,content:t.attribute,peer:r.peer,requestReference:r.id}))}}t.CreateAttributeRequestItemProcessor=CreateAttributeRequestItemProcessor},7482:function(e,t,r){"use strict";var n,i=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.AcceptProposeAttributeRequestItemParameters=void 0;const s=r(194),o=r(5030),u=r(9663),c=r(4714),l=r(7997);let d=n=class AcceptProposeAttributeRequestItemParameters extends s.Serializable{isWithExistingAttribute(){return void 0!==this.attributeId}isWithNewAttribute(){return void 0!==this.attribute}static from(e){return this.fromAny(e)}static postFrom(e){if(!(e instanceof n))throw new l.ConsumptionError("this should never happen");if(e.attributeId&&e.attribute)throw new s.ValidationError(n.name,(0,c.nameof)((e=>e.attribute)),`You cannot specify both ${(0,c.nameof)((e=>e.attribute))} and ${(0,c.nameof)((e=>e.attributeId))}.`);if(!e.attributeId&&!e.attribute)throw new s.ValidationError(n.name,(0,c.nameof)((e=>e.attribute)),`You have to specify either ${(0,c.nameof)((e=>e.attribute))} or ${(0,c.nameof)((e=>e.attributeId))}.`);return e}};i([(0,s.serialize)(),(0,s.validate)({nullable:!0}),a("design:type",u.CoreId)],d.prototype,"attributeId",void 0),i([(0,s.serialize)({unionTypes:[o.IdentityAttribute,o.RelationshipAttribute]}),(0,s.validate)({nullable:!0}),a("design:type",Object)],d.prototype,"attribute",void 0),d=n=i([(0,s.type)("AcceptProposeAttributeRequestItemParameters")],d),t.AcceptProposeAttributeRequestItemParameters=d},3372: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.ProposeAttributeRequestItemProcessor=void 0;const i=r(5030),a=r(9663),s=r(7997),o=r(306),u=r(7994),c=n(r(4251)),l=r(9116),d=r(7482);class ProposeAttributeRequestItemProcessor extends u.GenericRequestItemProcessor{canCreateOutgoingRequestItem(e,t,r){const n=this.validateQuery(e,r);if(n.isError())return n;const i=this.validateAttribute(e.attribute);return i.isError()?i:l.ValidationResult.success()}validateAttribute(e){return""!==e.owner.toString()?l.ValidationResult.error(s.CoreErrors.requests.invalidRequestItem("The owner of the given `attribute` can only be an empty string. This is because you can only propose Attributes where the recipient of the Request is the owner anyway. And in order to avoid mistakes, the owner will be automatically filled for you.")):l.ValidationResult.success()}validateQuery(e,t){const r=(0,c.default)(e.query,this.currentIdentityAddress,t);return r.isError()?r:e.query instanceof i.RelationshipAttributeQuery&&""!==e.query.owner.toString()?l.ValidationResult.error(s.CoreErrors.requests.invalidRequestItem("The owner of the given `query` can only be an empty string. This is because you can only propose Attributes where the recipient of the Request is the owner anyway. And in order to avoid mistakes, the owner will be automatically filled for you.")):l.ValidationResult.success()}async canAccept(e,t,r){const n=d.AcceptProposeAttributeRequestItemParameters.from(t);let i=n.attribute;if(n.isWithExistingAttribute()){const e=await this.consumptionController.attributes.getLocalAttribute(n.attributeId);if(!e)return l.ValidationResult.error(a.CoreErrors.general.recordNotFound(o.LocalAttribute,r.id.toString()));i=e.content}return i.owner.equals(this.currentIdentityAddress)?l.ValidationResult.success():l.ValidationResult.error(s.CoreErrors.requests.invalidRequestItem("The given Attribute belongs to someone else. You can only share own Attributes."))}async accept(e,t,r){const n=d.AcceptProposeAttributeRequestItemParameters.from(t);let a;return a=n.isWithExistingAttribute()?await this.copyExistingAttribute(n.attributeId,r):await this.createNewAttribute(n.attribute,r),i.ProposeAttributeAcceptResponseItem.from({result:i.ResponseItemResult.Accepted,attributeId:a.id,attribute:a.content})}async copyExistingAttribute(e,t){return await this.consumptionController.attributes.createSharedLocalAttributeCopy({sourceAttributeId:a.CoreId.from(e),peer:a.CoreAddress.from(t.peer),requestReference:a.CoreId.from(t.id)})}async createNewAttribute(e,t){if(e instanceof i.IdentityAttribute){const r=await this.consumptionController.attributes.createLocalAttribute({content:e});return await this.consumptionController.attributes.createSharedLocalAttributeCopy({sourceAttributeId:a.CoreId.from(r.id),peer:a.CoreAddress.from(t.peer),requestReference:a.CoreId.from(t.id)})}return await this.consumptionController.attributes.createPeerLocalAttribute({content:e,peer:t.peer,requestReference:a.CoreId.from(t.id)})}async applyIncomingResponseItem(e,t,r){e instanceof i.ProposeAttributeAcceptResponseItem&&await this.consumptionController.attributes.createPeerLocalAttribute({id:e.attributeId,content:e.attribute,peer:r.peer,requestReference:r.id})}}t.ProposeAttributeRequestItemProcessor=ProposeAttributeRequestItemProcessor},2319:function(e,t,r){"use strict";var n,i=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.AcceptReadAttributeRequestItemParameters=void 0;const s=r(194),o=r(5030),u=r(9663),c=r(4714),l=r(7997);let d=n=class AcceptReadAttributeRequestItemParameters extends s.Serializable{isWithExistingAttribute(){return void 0!==this.existingAttributeId}isWithNewAttribute(){return void 0!==this.newAttribute}static from(e){return this.fromAny(e)}static postFrom(e){if(!(e instanceof n))throw new l.ConsumptionError("this should never happen");if(e.existingAttributeId&&e.newAttribute)throw new s.ValidationError(n.name,(0,c.nameof)((e=>e.newAttribute)),`You cannot specify both ${(0,c.nameof)((e=>e.newAttribute))} and ${(0,c.nameof)((e=>e.existingAttributeId))}.`);if(!e.existingAttributeId&&!e.newAttribute)throw new s.ValidationError(n.name,(0,c.nameof)((e=>e.newAttribute)),`You have to specify either ${(0,c.nameof)((e=>e.newAttribute))} or ${(0,c.nameof)((e=>e.existingAttributeId))}.`);return e}};i([(0,s.serialize)(),(0,s.validate)({nullable:!0}),a("design:type",u.CoreId)],d.prototype,"existingAttributeId",void 0),i([(0,s.serialize)({unionTypes:[o.IdentityAttribute,o.RelationshipAttribute]}),(0,s.validate)({nullable:!0}),a("design:type",Object)],d.prototype,"newAttribute",void 0),d=n=i([(0,s.type)("AcceptReadAttributeRequestItemParameters")],d),t.AcceptReadAttributeRequestItemParameters=d},2858: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.ReadAttributeRequestItemProcessor=void 0;const i=r(5030),a=r(9663),s=r(7997),o=r(306),u=r(7994),c=n(r(4251)),l=r(9116),d=r(2319);class ReadAttributeRequestItemProcessor extends u.GenericRequestItemProcessor{canCreateOutgoingRequestItem(e,t,r){const n=(0,c.default)(e.query,this.currentIdentityAddress,r);return n.isError()?n:l.ValidationResult.success()}async canAccept(e,t,r){const n=d.AcceptReadAttributeRequestItemParameters.from(t);if(n.isWithExistingAttribute()){const e=await this.consumptionController.attributes.getLocalAttribute(n.existingAttributeId);if(!e)return l.ValidationResult.error(a.CoreErrors.general.recordNotFound(o.LocalAttribute,r.id.toString()));if(!this.accountController.identity.isMe(e.content.owner)&&e.content instanceof i.IdentityAttribute)return l.ValidationResult.error(s.CoreErrors.requests.invalidRequestItem("The given Attribute belongs to someone else. You can only share own Attributes."))}return l.ValidationResult.success()}async accept(e,t,r){const n=d.AcceptReadAttributeRequestItemParameters.from(t);let a;return a=n.isWithExistingAttribute()?await this.copyExistingAttribute(n.existingAttributeId,r):await this.createNewAttribute(n.newAttribute,r),i.ReadAttributeAcceptResponseItem.from({result:i.ResponseItemResult.Accepted,attributeId:a.id,attribute:a.content})}async copyExistingAttribute(e,t){return await this.consumptionController.attributes.createSharedLocalAttributeCopy({sourceAttributeId:a.CoreId.from(e),peer:a.CoreAddress.from(t.peer),requestReference:a.CoreId.from(t.id)})}async createNewAttribute(e,t){if(e instanceof i.IdentityAttribute){const r=await this.consumptionController.attributes.createLocalAttribute({content:e});return await this.consumptionController.attributes.createSharedLocalAttributeCopy({sourceAttributeId:a.CoreId.from(r.id),peer:a.CoreAddress.from(t.peer),requestReference:a.CoreId.from(t.id)})}return await this.consumptionController.attributes.createPeerLocalAttribute({content:e,peer:t.peer,requestReference:a.CoreId.from(t.id)})}async applyIncomingResponseItem(e,t,r){e instanceof i.ReadAttributeAcceptResponseItem&&await this.consumptionController.attributes.createPeerLocalAttribute({id:e.attributeId,content:e.attribute,peer:r.peer,requestReference:r.id})}}t.ReadAttributeRequestItemProcessor=ReadAttributeRequestItemProcessor},8787:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RegisterAttributeListenerRequestItemProcessor=void 0;const n=r(5030),i=r(7994);class RegisterAttributeListenerRequestItemProcessor extends i.GenericRequestItemProcessor{async accept(e,t,r){const i=await this.consumptionController.attributeListeners.createAttributeListener({peer:r.peer,query:e.query});return n.RegisterAttributeListenerAcceptResponseItem.from({result:n.ResponseItemResult.Accepted,listenerId:i.id.toString()})}}t.RegisterAttributeListenerRequestItemProcessor=RegisterAttributeListenerRequestItemProcessor},633: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.ShareAttributeRequestItemProcessor=void 0;const i=r(5030),a=n(r(6486)),s=r(7997),o=r(7994),u=r(9116);class ShareAttributeRequestItemProcessor extends o.GenericRequestItemProcessor{async canCreateOutgoingRequestItem(e,t,r){const n=await this.consumptionController.attributes.getLocalAttribute(e.sourceAttributeId);return n?a.default.isEqual(n.content.toJSON(),e.attribute.toJSON())?e.attribute instanceof i.IdentityAttribute?this.canCreateWithIdentityAttribute(e):this.canCreateWithRelationshipAttribute(e.attribute,r):u.ValidationResult.error(s.CoreErrors.requests.invalidRequestItem(`The Attribute with the given sourceAttributeId '${e.sourceAttributeId.toString()}' does not match the given attribute.`)):u.ValidationResult.error(s.CoreErrors.requests.invalidRequestItem(`The Attribute with the given sourceAttributeId '${e.sourceAttributeId.toString()}' could not be found.`))}canCreateWithIdentityAttribute(e){const t=""===e.attribute.owner.toString(),r=e.attribute.owner.equals(this.currentIdentityAddress);return t||r?u.ValidationResult.success():u.ValidationResult.error(s.CoreErrors.requests.invalidRequestItem("The owner of the given `attribute` can only be an empty string. This is because you can only send Attributes where the recipient of the Request is the owner anyway. And in order to avoid mistakes, the owner will be automatically filled for you."))}canCreateWithRelationshipAttribute(e,t){return e.confidentiality===i.RelationshipAttributeConfidentiality.Private?u.ValidationResult.error(s.CoreErrors.requests.invalidRequestItem("The confidentiality of the given `attribute` is private. Therefore you are not allowed to share it.")):e.owner.equals(t)?u.ValidationResult.error(s.CoreErrors.requests.invalidRequestItem("It doesn't make sense to share a RelationshipAttribute with its owner.")):u.ValidationResult.success()}async accept(e,t,r){""===e.attribute.owner.toString()&&(e.attribute.owner=r.peer);const n=await this.consumptionController.attributes.createPeerLocalAttribute({content:e.attribute,peer:r.peer,requestReference:r.id});return i.ShareAttributeAcceptResponseItem.from({attributeId:n.id,result:i.ResponseItemResult.Accepted})}async applyIncomingResponseItem(e,t,r){e instanceof i.ShareAttributeAcceptResponseItem&&await this.consumptionController.attributes.createSharedLocalAttributeCopy({attributeId:e.attributeId,sourceAttributeId:t.sourceAttributeId,peer:r.peer,requestReference:r.id})}}t.ShareAttributeRequestItemProcessor=ShareAttributeRequestItemProcessor},4251:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(5030),i=r(7997),a=r(9116);function validateThirdParty(e,t,r){return e.equals(t)?a.ValidationResult.error(i.CoreErrors.requests.invalidRequestItem("Cannot query an Attribute with the own address as third party.")):e.equals(r)?a.ValidationResult.error(i.CoreErrors.requests.invalidRequestItem("Cannot query an Attribute with the recipient's address as third party.")):a.ValidationResult.success()}t.default=function validateQuery(e,t,r){if(e instanceof n.ThirdPartyRelationshipAttributeQuery){for(const n of e.thirdParty){const e=validateThirdParty(n,t,r);if(e.isError())return e}if(e.owner.equals(t))return a.ValidationResult.error(i.CoreErrors.requests.invalidRequestItem("Cannot query own Attributes from a third party."))}return a.ValidationResult.success()}},5371:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.LocalRequest=t.LocalRequestSource=void 0;const a=r(194),s=r(5030),o=r(9663),u=r(7997),c=r(1744),l=r(3126),d=r(4136);let f=class LocalRequestSource extends o.CoreSerializable{static from(e){return this.fromAny(e)}};n([(0,a.serialize)(),(0,a.validate)(),i("design:type",String)],f.prototype,"type",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",o.CoreId)],f.prototype,"reference",void 0),f=n([(0,a.type)("LocalRequestSource")],f),t.LocalRequestSource=f;let h=class LocalRequest extends o.CoreSynchronizable{changeStatus(e){if(this.status===e)throw new u.ConsumptionError("cannot change status to the same status");const t=l.LocalRequestStatusLogEntry.from({createdAt:o.CoreDate.utc(),oldStatus:this.status,newStatus:e});this.statusLog.push(t),this.status=e}sent(e){if(this.status!==c.LocalRequestStatus.Draft)throw new u.ConsumptionError("Local Request has to be in status 'Draft'.");this.source=e,this.changeStatus(c.LocalRequestStatus.Open)}static from(e){return this.fromAny(e)}isExpired(e=o.CoreDate.utc()){return!!this.content.expiresAt&&e.isAfter(this.content.expiresAt.add({seconds:10}))}updateStatusBasedOnExpiration(e=o.CoreDate.utc()){return this.status!==c.LocalRequestStatus.Completed&&this.status!==c.LocalRequestStatus.Expired&&(!!this.isExpired(e)&&(this.changeStatus(c.LocalRequestStatus.Expired),!0))}};n([(0,a.serialize)(),(0,a.validate)(),i("design:type",Boolean)],h.prototype,"isOwn",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",o.CoreAddress)],h.prototype,"peer",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",o.CoreDate)],h.prototype,"createdAt",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",s.Request)],h.prototype,"content",void 0),n([(0,a.serialize)(),(0,a.validate)({nullable:!0}),i("design:type",f)],h.prototype,"source",void 0),n([(0,a.serialize)(),(0,a.validate)({nullable:!0}),i("design:type",d.LocalResponse)],h.prototype,"response",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",String)],h.prototype,"status",void 0),n([(0,a.serialize)({type:l.LocalRequestStatusLogEntry}),(0,a.validate)(),i("design:type",Array)],h.prototype,"statusLog",void 0),h=n([(0,a.type)("LocalRequest")],h),t.LocalRequest=h},1744:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LocalRequestStatus=void 0,function(e){e.Draft="Draft",e.Open="Open",e.DecisionRequired="DecisionRequired",e.ManualDecisionRequired="ManualDecisionRequired",e.Decided="Decided",e.Completed="Completed",e.Expired="Expired"}(t.LocalRequestStatus||(t.LocalRequestStatus={}))},3126:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.LocalRequestStatusLogEntry=void 0;const a=r(194),s=r(9663);r(1744);let o=class LocalRequestStatusLogEntry extends s.CoreSerializable{static from(e){return this.fromAny(e)}};n([(0,a.serialize)(),(0,a.validate)(),i("design:type",s.CoreDate)],o.prototype,"createdAt",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",String)],o.prototype,"oldStatus",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",String)],o.prototype,"newStatus",void 0),n([(0,a.serialize)(),(0,a.validate)({nullable:!0}),i("design:type",Object)],o.prototype,"data",void 0),n([(0,a.serialize)(),(0,a.validate)({nullable:!0}),i("design:type",String)],o.prototype,"code",void 0),o=n([(0,a.type)("LocalRequestStatusLogEntry")],o),t.LocalRequestStatusLogEntry=o},4136:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.LocalResponse=t.LocalResponseSource=void 0;const a=r(194),s=r(5030),o=r(9663);let u=class LocalResponseSource extends o.CoreSerializable{static from(e){return this.fromAny(e)}};n([(0,a.serialize)(),(0,a.validate)(),i("design:type",String)],u.prototype,"type",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",o.CoreId)],u.prototype,"reference",void 0),u=n([(0,a.type)("LocalResponseSource")],u),t.LocalResponseSource=u;let c=class LocalResponse extends o.CoreSerializable{static from(e){return this.fromAny(e)}};n([(0,a.serialize)(),(0,a.validate)(),i("design:type",o.CoreDate)],c.prototype,"createdAt",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",s.Response)],c.prototype,"content",void 0),n([(0,a.serialize)(),(0,a.validate)({nullable:!0}),i("design:type",u)],c.prototype,"source",void 0),c=n([(0,a.type)("LocalResponse")],c),t.LocalResponse=c},5180:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OutgoingRequestsController=void 0;const n=r(5030),i=r(9663),a=r(7997),s=r(5941),o=r(9116),u=r(5371),c=r(1744),l=r(4136),d=r(3592),f=r(4981),h=r(1878),p=r(1557),m=r(325);class OutgoingRequestsController extends a.ConsumptionBaseController{constructor(e,t,r,n,i){super(a.ConsumptionControllerName.RequestsController,r),this.localRequests=e,this.processorRegistry=t,this.eventBus=n,this.identity=i}async canCreate(e){const t=h.CanCreateOutgoingRequestParameters.from(e),r=await this.canCreateItems(t.content,t.peer);return o.ValidationResult.fromItems(r)}async canCreateItems(e,t){const r=[];for(const i of e.items)if(i instanceof n.RequestItem){const n=await this.canCreateItem(i,e,t);r.push(n)}else{const n=await this.canCreateItemGroup(i,e,t);r.push(n)}return r}async canCreateItem(e,t,r){const n=this.processorRegistry.getProcessorForItem(e);return await n.canCreateOutgoingRequestItem(e,t,r)}async canCreateItemGroup(e,t,r){const n=[];for(const i of e.items){const e=await this.canCreateItem(i,t,r);n.push(e)}return o.ValidationResult.fromItems(n)}async create(e){const t=p.CreateOutgoingRequestParameters.from(e),r=await a.ConsumptionIds.request.generate();t.content.id=r;const n=await this._create(r,t.content,t.peer);return this.eventBus.publish(new s.OutgoingRequestCreatedEvent(this.identity.address.toString(),n)),n}async _create(e,t,r){const n=await this.canCreate({content:t,peer:r});if(n.isError())throw n.error;const a=u.LocalRequest.from({id:e,content:t,createdAt:i.CoreDate.utc(),isOwn:!0,peer:r,status:c.LocalRequestStatus.Draft,statusLog:[]});return await this.localRequests.create(a),a}async createFromRelationshipCreationChange(e){const t=f.CreateOutgoingRequestFromRelationshipCreationChangeParameters.from(e),r=t.creationChange.request.createdBy,i=t.creationChange.request.content;if(!(i instanceof n.RelationshipCreationChangeRequestContent))throw new a.ConsumptionError("The content of the request is not supported as it is not type of RelationshipCreationChangeRequestContent.");const o=i.response,u=o.requestId,c=t.template.cache.content;if(!(c instanceof n.RelationshipTemplateContent))throw new a.ConsumptionError("The content of the template is not supported as it is not type of RelationshipTemplateContent.");await this._create(u,c.onNewRelationship,r),await this._sent(u,t.template);const l=await this._complete(u,t.creationChange,o);return this.eventBus.publish(new s.OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent(this.identity.address.toString(),l)),l}async sent(e){const t=m.SentOutgoingRequestParameters.from(e),r=await this._sent(t.requestId,t.requestSourceObject);return this.eventBus.publish(new s.OutgoingRequestStatusChangedEvent(this.identity.address.toString(),{request:r,oldStatus:c.LocalRequestStatus.Draft,newStatus:r.status})),r}async _sent(e,t){const r=await this.getOrThrow(e);return this.assertRequestStatus(r,c.LocalRequestStatus.Draft),r.changeStatus(c.LocalRequestStatus.Open),r.source=u.LocalRequestSource.from({reference:t.id,type:this.getSourceType(t)}),await this.update(r),r}getSourceType(e){if(e instanceof i.Message){if(!e.isOwn)throw new a.ConsumptionError("Cannot create outgoing Request from a peer Message");return"Message"}if(e instanceof i.RelationshipTemplate){if(!e.isOwn)throw new a.ConsumptionError("Cannot create outgoing Request from a peer Relationship Template");return"RelationshipTemplate"}throw new a.ConsumptionError("The given sourceObject is not of a valid type. Valid types are 'Message' and 'RelationshipTemplate'.")}async complete(e){const t=d.CompleteOugoingRequestParameters.from(e),r=await this._complete(t.requestId,t.responseSourceObject,t.receivedResponse);return this.eventBus.publish(new s.OutgoingRequestStatusChangedEvent(this.identity.address.toString(),{request:r,oldStatus:c.LocalRequestStatus.Open,newStatus:r.status})),r}async _complete(e,t,r){const n=await this.getOrThrow(e);this.assertRequestStatus(n,c.LocalRequestStatus.Open,c.LocalRequestStatus.Expired);const s=t instanceof i.Message?t.cache.createdAt:t.request.createdAt;if(n.status===c.LocalRequestStatus.Expired&&n.isExpired(s))throw new a.ConsumptionError("Cannot complete an expired request with a response that was created before the expiration date");const o=await this.canComplete(n,r);if(o.isError())throw o.error;let u;if(await this.applyItems(n.content.items,r.items,n),t instanceof i.Message)u="Message";else{if(!(t instanceof i.RelationshipChange))throw new a.ConsumptionError("Invalid responseSourceObject");u="RelationshipChange"}const d=l.LocalResponse.from({content:r,createdAt:i.CoreDate.utc(),source:{reference:t.id,type:u}});return n.response=d,n.changeStatus(c.LocalRequestStatus.Completed),await this.update(n),n}async canComplete(e,t){for(let r=0;r<t.items.length;r++){const i=e.content.items[r];if(i instanceof n.RequestItem){const n=t.items[r],a=this.processorRegistry.getProcessorForItem(i),s=await a.canApplyIncomingResponseItem(n,i,e);if(s.isError())return s}else if(i instanceof n.RequestItemGroup){const n=t.items[r];for(let t=0;t<i.items.length;t++){const r=i.items[t],a=n.items[t],s=this.processorRegistry.getProcessorForItem(r),o=await s.canApplyIncomingResponseItem(a,r,e);if(o.isError())return o}}}return o.ValidationResult.success()}async applyItems(e,t,r){for(let i=0;i<t.length;i++){const a=e[i];if(a instanceof n.RequestItem){const e=t[i];await this.applyItem(a,e,r)}else{const e=t[i];await this.applyItems(a.items,e.items,r)}}}async applyItem(e,t,r){const n=this.processorRegistry.getProcessorForItem(e);await n.applyIncomingResponseItem(t,e,r)}async getOutgoingRequests(e){const t=(await this.localRequests.find({...e,isOwn:!0})).map((e=>this.updateRequestExpiry(u.LocalRequest.from(e))));return await Promise.all(t)}async discardOutgoingRequest(e){const t=await this.getOrThrow(e);this.assertRequestStatus(t,c.LocalRequestStatus.Draft),await this.localRequests.delete(t)}async getOutgoingRequest(e){const t=await this.localRequests.findOne({id:e.toString(),isOwn:!0});if(!t)return;const r=u.LocalRequest.from(t);return await this.updateRequestExpiry(r)}async getOrThrow(e){const t=await this.getOutgoingRequest(e);if(!t)throw i.CoreErrors.general.recordNotFound(u.LocalRequest,e.toString());return t}async update(e){const t=await this.localRequests.findOne({id:e.id.toString(),isOwn:!0});if(!t)throw i.CoreErrors.general.recordNotFound(u.LocalRequest,e.id.toString());await this.localRequests.update(t,e)}assertRequestStatus(e,...t){if(!t.includes(e.status))throw new a.ConsumptionError(`Local Request has to be in status '${t.join("/")}'.`)}async updateRequestExpiry(e){return e.updateStatusBasedOnExpiration()&&await this.update(e),e}}t.OutgoingRequestsController=OutgoingRequestsController},3592:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.CompleteOugoingRequestParameters=void 0;const a=r(194),s=r(5030),o=r(9663);let u=class CompleteOugoingRequestParameters extends a.Serializable{static from(e){return this.fromAny(e)}};n([(0,a.serialize)(),(0,a.validate)(),i("design:type",o.CoreId)],u.prototype,"requestId",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",o.Message)],u.prototype,"responseSourceObject",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",s.Response)],u.prototype,"receivedResponse",void 0),u=n([(0,a.type)("CompleteOugoingRequestParameters")],u),t.CompleteOugoingRequestParameters=u},4981:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.CreateOutgoingRequestFromRelationshipCreationChangeParameters=void 0;const a=r(194),s=r(9663);let o=class CreateOutgoingRequestFromRelationshipCreationChangeParameters extends a.Serializable{static from(e){return this.fromAny(e)}};n([(0,a.serialize)(),(0,a.validate)(),i("design:type",s.RelationshipTemplate)],o.prototype,"template",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",s.RelationshipChange)],o.prototype,"creationChange",void 0),o=n([(0,a.type)("CreateOutgoingRequestFromRelationshipCreationChangeParameters")],o),t.CreateOutgoingRequestFromRelationshipCreationChangeParameters=o},1878:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.CanCreateOutgoingRequestParameters=void 0;const a=r(194),s=r(5030),o=r(9663);let u=class CanCreateOutgoingRequestParameters extends a.Serializable{static from(e){return this.fromAny(e)}};n([(0,a.serialize)(),(0,a.validate)(),i("design:type",s.Request)],u.prototype,"content",void 0),n([(0,a.serialize)(),(0,a.validate)({nullable:!0}),i("design:type",o.CoreAddress)],u.prototype,"peer",void 0),u=n([(0,a.type)("CanCreateOutgoingRequestParameters")],u),t.CanCreateOutgoingRequestParameters=u},1557:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.CreateOutgoingRequestParameters=void 0;const a=r(194),s=r(5030),o=r(9663);let u=class CreateOutgoingRequestParameters extends a.Serializable{static from(e){return this.fromAny(e)}};n([(0,a.serialize)(),(0,a.validate)(),i("design:type",s.Request)],u.prototype,"content",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",o.CoreAddress)],u.prototype,"peer",void 0),u=n([(0,a.type)("CreateOutgoingRequestParameters")],u),t.CreateOutgoingRequestParameters=u},325:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.SentOutgoingRequestParameters=void 0;const a=r(194),s=r(9663);let o=class SentOutgoingRequestParameters extends a.Serializable{static from(e){return this.fromAny(e)}};n([(0,a.serialize)(),(0,a.validate)(),i("design:type",s.CoreId)],o.prototype,"requestId",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",s.Message)],o.prototype,"requestSourceObject",void 0),o=n([(0,a.type)("SentOutgoingRequestParameters")],o),t.SentOutgoingRequestParameters=o},8672:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.SettingsController=void 0;const a=r(5172),s=r(9663),o=r(7997),u=r(2660);class SettingsController extends o.ConsumptionBaseController{constructor(e){super(o.ConsumptionControllerName.SettingsController,e)}async init(){return await super.init(),this.settings=await this.parent.accountController.getSynchronizedCollection("Settings"),this}async getSetting(e){const t=await this.settings.read(e.toString());return t?u.Setting.from(t):void 0}async getSettings(e){const t=await this.settings.find(e);return this.parseArray(t,u.Setting)}async createSetting(e){const t=u.Setting.from({id:await o.ConsumptionIds.setting.generate(),createdAt:s.CoreDate.utc(),key:e.key,scope:e.scope??u.SettingScope.Identity,value:e.value,reference:e.reference,succeedsAt:e.succeedsAt,succeedsItem:e.succeedsItem});return await this.settings.create(t),t}async updateSetting(e){const t=await this.settings.read(e.id.toString());if(!t)throw s.CoreErrors.general.recordNotFound(u.Setting,e.id.toString());await this.settings.update(t,e)}async deleteSetting(e){await this.settings.delete(e)}}n([(0,a.log)(),i("design:type",Function),i("design:paramtypes",[u.Setting]),i("design:returntype",Promise)],SettingsController.prototype,"updateSetting",null),t.SettingsController=SettingsController},5431:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(9671),t),i(r(2660),t),i(r(8672),t)},9671:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},2660:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.Setting=t.SettingScope=void 0;const a=r(194),s=r(9663),o=r(4714);!function(e){e.Identity="Identity",e.Device="Device",e.Relationship="Relationship"}(t.SettingScope||(t.SettingScope={}));let u=class Setting extends s.CoreSynchronizable{constructor(){super(...arguments),this.technicalProperties=["@type","@context",(0,o.nameof)((e=>e.key)),(0,o.nameof)((e=>e.scope)),(0,o.nameof)((e=>e.reference)),(0,o.nameof)((e=>e.createdAt)),(0,o.nameof)((e=>e.succeedsItem)),(0,o.nameof)((e=>e.succeedsAt))],this.userdataProperties=[(0,o.nameof)((e=>e.value))],this.metadataProperties=[(0,o.nameof)((e=>e.metadata)),(0,o.nameof)((e=>e.metadataModifiedAt))]}static from(e){return this.fromAny(e)}};n([(0,a.validate)(),(0,a.serialize)(),i("design:type",String)],u.prototype,"key",void 0),n([(0,a.validate)(),(0,a.serialize)(),i("design:type",String)],u.prototype,"scope",void 0),n([(0,a.validate)({nullable:!0}),(0,a.serialize)(),i("design:type",s.CoreId)],u.prototype,"reference",void 0),n([(0,a.validate)(),(0,a.serialize)(),i("design:type",a.Serializable)],u.prototype,"value",void 0),n([(0,a.validate)(),(0,a.serialize)(),i("design:type",s.CoreDate)],u.prototype,"createdAt",void 0),n([(0,a.validate)({nullable:!0}),(0,a.serialize)(),i("design:type",s.CoreId)],u.prototype,"succeedsItem",void 0),n([(0,a.validate)({nullable:!0}),(0,a.serialize)(),i("design:type",s.CoreDate)],u.prototype,"succeedsAt",void 0),n([(0,a.validate)({nullable:!0}),(0,a.serialize)({any:!0}),i("design:type",Object)],u.prototype,"metadata",void 0),n([(0,a.validate)({nullable:!0}),(0,a.serialize)(),i("design:type",s.CoreDate)],u.prototype,"metadataModifiedAt",void 0),u=n([(0,a.type)("Setting")],u),t.Setting=u},9126:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QueryTranslator=void 0;class QueryTranslator{static defaultKeyRegex=/^[A-z_@][A-z@0-9-_]*(\.[A-z_@][A-z@0-9-_]*)*$/;static defaultValRegex=void 0;static defaultArrRegex=/^[a-zæøå0-9-_.]+(\[])?$/i;ops;alias;blacklist;whitelist;custom;string;keyRegex;valRegex;arrRegex;constructor(e={}){this.ops=e.ops??["!","^","$","~",">","<","$containsAny","$containsNone"],this.alias=e.alias??{},this.blacklist=e.blacklist??{},this.whitelist=e.whitelist??{},this.custom=e.custom??{},e.string=e.string??{},this.string=e.string,this.string.toBoolean="boolean"!=typeof e.string.toBoolean||e.string.toBoolean,this.string.toNumber="boolean"!=typeof e.string.toNumber||e.string.toNumber,this.keyRegex=e.keyRegex??QueryTranslator.defaultKeyRegex,this.valRegex=e.valRegex??QueryTranslator.defaultValRegex,this.arrRegex=e.arrRegex??QueryTranslator.defaultArrRegex}static setDefaultKeyRegex(e){QueryTranslator.defaultKeyRegex=e}static setDefaultValRegex(e){QueryTranslator.defaultValRegex=e}static setDefaultArrRegex(e){QueryTranslator.defaultArrRegex=e}parseString(e,t){let r=e[0]||"";const n="="===e[1];let i=e.substr(n?2:1)||"";const a=this.parseStringVal(i),s={op:r,org:i,value:a};switch(r){case"!":t?s.field="$containsNone":""===i?(s.field="$exists",s.value=!1):s.field="$ne";break;case">":s.field=n?"$gte":"$gt";break;case"<":s.field=n?"$lte":"$lt";break;case"^":case"$":case"~":switch(s.field="$regex",s.options="i",s.value=this.valRegex?i.replace(this.valRegex,""):s.value.toString(),r){case"^":s.value=`^${a}`;break;case"$":s.value=`${a}$`}break;default:s.org=i=r+i,s.op=r="",s.value=this.parseStringVal(i),t?s.field="$containsAny":""===i?(s.field="$exists",s.value=!0):s.field="$eq"}return s.parsed={},s.parsed[s.field]=s.value,s.options&&(s.parsed.$options=s.options),s}parseStringVal(e){return!(!this.string.toBoolean||"true"!==e.toLowerCase())||(!this.string.toBoolean||"false"!==e.toLowerCase())&&(this.string.toNumber&&!isNaN(parseInt(e,10))&&+e-+e+1>=0?parseFloat(e):e)}parse(e){if(!e)return{};const t={};for(let r of Object.keys(e)){const n=e[r];if(Array.isArray(n)&&(r=r.replace(/\[]$/,"")),(!Object.keys(this.whitelist).length||this.whitelist[r])&&!this.blacklist[r]&&(this.alias[r]&&(r=this.alias[r]),("string"!=typeof n||this.keyRegex.test(r))&&(!Array.isArray(n)||this.arrRegex.test(r))))if("function"!=typeof this.custom[r])if(Array.isArray(n)){if(this.ops.includes("$containsAny")&&n.length>0){t[r]={};for(const e of n)if(this.ops.includes(e[0])){const n=this.parseString(e,!0);switch(n.field){case"$containsAny":case"$containsNone":t[r][n.field]=t[r][n.field]||[],t[r][n.field].push(n.value);break;case"$regex":t[r].$regex=n.value,t[r].$options=n.options;break;default:t[r][n.field]=n.value}}else t[r].$containsAny=t[r].$containsAny||[],t[r].$containsAny.push(this.parseStringVal(e))}}else"string"==typeof n&&(n?this.ops.includes(n[0])?t[r]=this.parseString(n).parsed:t[r]=this.parseStringVal(n):t[r]={$exists:!0});else this.custom[r].apply(null,[t,n])}return t}}t.QueryTranslator=QueryTranslator},2937:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QueryTranslator=void 0;var n=r(9126);Object.defineProperty(t,"QueryTranslator",{enumerable:!0,get:function(){return n.QueryTranslator}})},1174:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},9159:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getEventNamespaceFromObject=t.EventBus=void 0;t.EventBus=class EventBus{},t.getEventNamespaceFromObject=function getEventNamespaceFromObject(e){return e.namespace}},5970:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SubscriptionTargetInfo=void 0;class SubscriptionTargetInfo{namespace;constructor(e){this.namespace=e}static from(e){return e instanceof Function?new ConstructorSubscriptionTargetInfo(e):new NamespaceSubscriptionTargetInfo(e)}}t.SubscriptionTargetInfo=SubscriptionTargetInfo;class ConstructorSubscriptionTargetInfo extends SubscriptionTargetInfo{constructorFunction;constructor(e){super(function getEventNamespaceFromClass(e){return e.namespace}(e)),this.constructorFunction=e}isCompatibleWith(e){return e instanceof this.constructorFunction}}class NamespaceSubscriptionTargetInfo extends SubscriptionTargetInfo{constructor(e){super(e)}isCompatibleWith(e){return!0}}},9729:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EventEmitter2EventBus=void 0;const n=r(6387);r(8660);const i=r(9159),a=r(5970);t.EventEmitter2EventBus=class EventEmitter2EventBus{errorCallback;emitter;listeners=new Map;nextId=0;invocationPromises=[];constructor(e,t){this.errorCallback=e,this.emitter=new n.EventEmitter2({maxListeners:50,verboseMemoryLeak:!0,...t,wildcard:!0})}subscribe(e,t){return this.registerHandler(e,t)}subscribeOnce(e,t){return this.registerHandler(e,t,!0)}unsubscribe(e){return this.unregisterHandler(e)}registerHandler(e,t,r=!1){const n=a.SubscriptionTargetInfo.from(e),i=this.nextId++,handlerWrapper=async e=>{if(!n.isCompatibleWith(e))return;const a=(async()=>await t(e))();this.invocationPromises.push(a),await a.catch((e=>this.errorCallback(e,n.namespace))),this.invocationPromises=this.invocationPromises.filter((e=>e!==a)),r&&this.listeners.delete(i)};if(r){const e=this.emitter.once(n.namespace,handlerWrapper,{objectify:!0});return this.listeners.set(i,e),i}const s=this.emitter.on(n.namespace,handlerWrapper,{objectify:!0});return this.listeners.set(i,s),i}unregisterHandler(e){const t=this.listeners.get(e);return!!t&&(t.off(),this.listeners.delete(e),!0)}publish(e){const t=(0,i.getEventNamespaceFromObject)(e);if(!t)throw Error("The event needs a namespace. Use the EventNamespace-decorator in order to define a namespace for a event.");this.emitter.emit(t,e)}async close(e){this.emitter.removeAllListeners();const t=Promise.all(this.invocationPromises).catch((()=>{}));if(!e)return void await t;let r;const n=new Promise(((t,n)=>{r=setTimeout((()=>{n(new Error("timeout exceeded while waiting for events to process"))}),e)}));await Promise.race([t,n]),clearTimeout(r)}}},9256:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(9159),t),i(r(9729),t)},5917:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DataEvent=void 0;const n=r(8267);class DataEvent extends n.Event{data;constructor(e,t){super(e),this.data=t}}t.DataEvent=DataEvent},8267:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Event=void 0;t.Event=class Event{namespace;constructor(e){this.namespace=e}}},2636:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(5917),t),i(r(8267),t)},5172:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(9256),t),i(r(2636),t),i(r(9855),t),i(r(1809),t),i(r(4569),t),i(r(1174),t),i(r(7226),t),i(r(7374),t)},9855: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.log=void 0;const i=n(r(4530));t.log=function log(e){return function(t,r,n){const a=n.value;return n.value=function(...t){const n=this;try{e?.logParams?n.log.trace(`Calling ${r}(${t.map((e=>(0,i.default)(e))).join(", ")})`):n.log.trace(`Calling ${r}`);const s=a.apply(this,t);return e?.logReturnValue?n.log.trace(`Returning from ${r} with: ${(0,i.default)(s)}`):n.log.trace(`Returning from ${r}`),s}catch(e){throw e instanceof Error&&e.stack&&(e.stack=e.stack.split("\n").filter((e=>!e.includes(".propertyDescriptorDoNotChangeMyNamePlease.value"))).join("\n")),n.log.error(`Error in ${r}:`,e),e}},n}}},1809:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.measureExcecutionTime=void 0,t.measureExcecutionTime=function measureExcecutionTime(e,t,r){const n=r.value;return r.value=async function(...e){const t=Date.now(),r=await n.apply(this,e),i=Date.now();return console.info(`Execution time: ${i-t}ms`),r},r}},4569:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.randomString=void 0,t.randomString=function randomString(e,t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"){let r="";const n=t.length;for(let i=0;i<e;i++)r+=t.charAt(Math.floor(Math.random()*n));return r}},7807:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ApplicationError=void 0;class ApplicationError extends Error{code;data;constructor(e,t,r){super(t),this.code=e,this.data=r}equals(e){return this.code===e.code}toString(){return JSON.stringify({code:this.code,message:this.message,data:this.data},void 0,2)}}t.ApplicationError=ApplicationError},9278:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Result=void 0;class Result{_isSuccess;_error;_value;constructor(e,t,r){if(e&&r)throw new Error("InvalidOperation: A result cannot be successful and contain an error");if(!e&&!r)throw new Error("InvalidOperation: A failing result needs to contain an error");if(void 0!==t&&!e)throw new Error("InvalidOperation: A value is only useful in case of a success.");this._value=t,this._isSuccess=e,this._error=r}get isSuccess(){return this._isSuccess}get isError(){return!this._isSuccess}get error(){return this._error}get value(){if(!this.isSuccess)throw new Error(`Can't get the value of an error result. Use 'error' instead. Root error: \r\n${this.error}`);return this._value}static ok(e){return new Result(!0,e)}static fail(e){return new Result(!1,void 0,e)}}t.Result=Result},7226:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(7807),t),i(r(9278),t)},7374:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.sleep=void 0,t.sleep=function sleep(e){return new Promise((t=>{setTimeout(t,e)}))}},6387:(e,t,r)=>{var n;!function(i){var a=Object.hasOwnProperty,s=Array.isArray?Array.isArray:function _isArray(e){return"[object Array]"===Object.prototype.toString.call(e)},o="object"==typeof process&&"function"==typeof process.nextTick,u="function"==typeof Symbol,c="object"==typeof Reflect,l="function"==typeof setImmediate?setImmediate:setTimeout,d=u?c&&"function"==typeof Reflect.ownKeys?Reflect.ownKeys:function(e){var t=Object.getOwnPropertyNames(e);return t.push.apply(t,Object.getOwnPropertySymbols(e)),t}:Object.keys;function init(){this._events={},this._conf&&configure.call(this,this._conf)}function configure(e){e&&(this._conf=e,e.delimiter&&(this.delimiter=e.delimiter),e.maxListeners!==i&&(this._maxListeners=e.maxListeners),e.wildcard&&(this.wildcard=e.wildcard),e.newListener&&(this._newListener=e.newListener),e.removeListener&&(this._removeListener=e.removeListener),e.verboseMemoryLeak&&(this.verboseMemoryLeak=e.verboseMemoryLeak),e.ignoreErrors&&(this.ignoreErrors=e.ignoreErrors),this.wildcard&&(this.listenerTree={}))}function logPossibleMemoryLeak(e,t){var r="(node) warning: possible EventEmitter memory leak detected. "+e+" listeners added. Use emitter.setMaxListeners() to increase limit.";if(this.verboseMemoryLeak&&(r+=" Event name: "+t+"."),"undefined"!=typeof process&&process.emitWarning){var n=new Error(r);n.name="MaxListenersExceededWarning",n.emitter=this,n.count=e,process.emitWarning(n)}else console.error(r),console.trace&&console.trace()}var toArray=function(e,t,r){var n=arguments.length;switch(n){case 0:return[];case 1:return[e];case 2:return[e,t];case 3:return[e,t,r];default:for(var i=new Array(n);n--;)i[n]=arguments[n];return i}};function toObject(e,t){for(var r={},n=e.length,a=t?t.length:0,s=0;s<n;s++)r[e[s]]=s<a?t[s]:i;return r}function TargetObserver(e,t,r){var n,i;if(this._emitter=e,this._target=t,this._listeners={},this._listenersCount=0,(r.on||r.off)&&(n=r.on,i=r.off),t.addEventListener?(n=t.addEventListener,i=t.removeEventListener):t.addListener?(n=t.addListener,i=t.removeListener):t.on&&(n=t.on,i=t.off),!n&&!i)throw Error("target does not implement any known event API");if("function"!=typeof n)throw TypeError("on method must be a function");if("function"!=typeof i)throw TypeError("off method must be a function");this._on=n,this._off=i;var a=e._observers;a?a.push(this):e._observers=[this]}function resolveOptions(e,t,r,n){var s=Object.assign({},t);if(!e)return s;if("object"!=typeof e)throw TypeError("options must be an object");var o,u,c,l=Object.keys(e),d=l.length;function reject(e){throw Error('Invalid "'+o+'" option value'+(e?". Reason: "+e:""))}for(var f=0;f<d;f++){if(o=l[f],!n&&!a.call(t,o))throw Error('Unknown "'+o+'" option');(u=e[o])!==i&&(c=r[o],s[o]=c?c(u,reject):u)}return s}function constructorReducer(e,t){return"function"==typeof e&&e.hasOwnProperty("prototype")||t("value must be a constructor"),e}function makeTypeReducer(e){var t="value must be type of "+e.join("|"),r=e.length,n=e[0],i=e[1];return 1===r?function(e,r){if(typeof e===n)return e;r(t)}:2===r?function(e,r){var a=typeof e;if(a===n||a===i)return e;r(t)}:function(n,i){for(var a=typeof n,s=r;s-- >0;)if(a===e[s])return n;i(t)}}Object.assign(TargetObserver.prototype,{subscribe:function(e,t,r){var n=this,i=this._target,a=this._emitter,s=this._listeners,handler=function(){var n=toArray.apply(null,arguments),s={data:n,name:t,original:e};if(r){var o=r.call(i,s);!1!==o&&a.emit.apply(a,[s.name].concat(n))}else a.emit.apply(a,[t].concat(n))};if(s[e])throw Error("Event '"+e+"' is already listening");this._listenersCount++,a._newListener&&a._removeListener&&!n._onNewListener?(this._onNewListener=function(r){r===t&&null===s[e]&&(s[e]=handler,n._on.call(i,e,handler))},a.on("newListener",this._onNewListener),this._onRemoveListener=function(r){r===t&&!a.hasListeners(r)&&s[e]&&(s[e]=null,n._off.call(i,e,handler))},s[e]=null,a.on("removeListener",this._onRemoveListener)):(s[e]=handler,n._on.call(i,e,handler))},unsubscribe:function(e){var t,r,n,i=this,a=this._listeners,s=this._emitter,o=this._off,u=this._target;if(e&&"string"!=typeof e)throw TypeError("event must be a string");function clearRefs(){i._onNewListener&&(s.off("newListener",i._onNewListener),s.off("removeListener",i._onRemoveListener),i._onNewListener=null,i._onRemoveListener=null);var e=findTargetIndex.call(s,i);s._observers.splice(e,1)}if(e){if(!(t=a[e]))return;o.call(u,e,t),delete a[e],--this._listenersCount||clearRefs()}else{for(n=(r=d(a)).length;n-- >0;)e=r[n],o.call(u,e,a[e]);this._listeners={},this._listenersCount=0,clearRefs()}}});var f=makeTypeReducer(["function"]),h=makeTypeReducer(["object","function"]);function makeCancelablePromise(e,t,r){var n,i,a,s=0,o=new e((function(u,c,l){function cleanup(){i&&(i=null),s&&(clearTimeout(s),s=0)}r=resolveOptions(r,{timeout:0,overload:!1},{timeout:function(e,t){return("number"!=typeof(e*=1)||e<0||!Number.isFinite(e))&&t("timeout must be a positive number"),e}}),n=!r.overload&&"function"==typeof e.prototype.cancel&&"function"==typeof l;var _resolve=function(e){cleanup(),u(e)},_reject=function(e){cleanup(),c(e)};n?t(_resolve,_reject,l):(i=[function(e){_reject(e||Error("canceled"))}],t(_resolve,_reject,(function(e){if(a)throw Error("Unable to subscribe on cancel event asynchronously");if("function"!=typeof e)throw TypeError("onCancel callback must be a function");i.push(e)})),a=!0),r.timeout>0&&(s=setTimeout((function(){var e=Error("timeout");e.code="ETIMEDOUT",s=0,o.cancel(e),c(e)}),r.timeout))}));return n||(o.cancel=function(e){if(i){for(var t=i.length,r=1;r<t;r++)i[r](e);i[0](e),i=null}}),o}function findTargetIndex(e){var t=this._observers;if(!t)return-1;for(var r=t.length,n=0;n<r;n++)if(t[n]._target===e)return n;return-1}function searchListenerTree(e,t,r,n,i){if(!r)return null;if(0===n){var a=typeof t;if("string"===a){var s,o,u=0,c=0,l=this.delimiter,f=l.length;if(-1!==(o=t.indexOf(l))){s=new Array(5);do{s[u++]=t.slice(c,o),c=o+f}while(-1!==(o=t.indexOf(l,c)));s[u++]=t.slice(c),t=s,i=u}else t=[t],i=1}else"object"===a?i=t.length:(t=[t],i=1)}var h,p,m,y,g,b,v,_=null,w=t[n],I=t[n+1];if(n===i)r._listeners&&("function"==typeof r._listeners?(e&&e.push(r._listeners),_=[r]):(e&&e.push.apply(e,r._listeners),_=[r]));else{if("*"===w){for(o=(b=d(r)).length;o-- >0;)"_listeners"!==(h=b[o])&&(v=searchListenerTree(e,t,r[h],n+1,i))&&(_?_.push.apply(_,v):_=v);return _}if("**"===w){for((g=n+1===i||n+2===i&&"*"===I)&&r._listeners&&(_=searchListenerTree(e,t,r,i,i)),o=(b=d(r)).length;o-- >0;)"_listeners"!==(h=b[o])&&("*"===h||"**"===h?(r[h]._listeners&&!g&&(v=searchListenerTree(e,t,r[h],i,i))&&(_?_.push.apply(_,v):_=v),v=searchListenerTree(e,t,r[h],n,i)):v=searchListenerTree(e,t,r[h],h===I?n+2:n,i),v&&(_?_.push.apply(_,v):_=v));return _}r[w]&&(_=searchListenerTree(e,t,r[w],n+1,i))}if((p=r["*"])&&searchListenerTree(e,t,p,n+1,i),m=r["**"])if(n<i)for(m._listeners&&searchListenerTree(e,t,m,i,i),o=(b=d(m)).length;o-- >0;)"_listeners"!==(h=b[o])&&(h===I?searchListenerTree(e,t,m[h],n+2,i):h===w?searchListenerTree(e,t,m[h],n+1,i):((y={})[h]=m[h],searchListenerTree(e,t,{"**":y},n+1,i)));else m._listeners?searchListenerTree(e,t,m,i,i):m["*"]&&m["*"]._listeners&&searchListenerTree(e,t,m["*"],i,i);return _}function growListenerTree(e,t,r){var n,i,a=0,s=0,o=this.delimiter,u=o.length;if("string"==typeof e)if(-1!==(n=e.indexOf(o))){i=new Array(5);do{i[a++]=e.slice(s,n),s=n+u}while(-1!==(n=e.indexOf(o,s)));i[a++]=e.slice(s)}else i=[e],a=1;else i=e,a=e.length;if(a>1)for(n=0;n+1<a;n++)if("**"===i[n]&&"**"===i[n+1])return;var c,l=this.listenerTree;for(n=0;n<a;n++)if(l=l[c=i[n]]||(l[c]={}),n===a-1)return l._listeners?("function"==typeof l._listeners&&(l._listeners=[l._listeners]),r?l._listeners.unshift(t):l._listeners.push(t),!l._listeners.warned&&this._maxListeners>0&&l._listeners.length>this._maxListeners&&(l._listeners.warned=!0,logPossibleMemoryLeak.call(this,l._listeners.length,c))):l._listeners=t,!0;return!0}function collectTreeEvents(e,t,r,n){for(var i,a,s,o,u=d(e),c=u.length,l=e._listeners;c-- >0;)i=e[a=u[c]],s="_listeners"===a?r:r?r.concat(a):[a],o=n||"symbol"==typeof a,l&&t.push(o?s:s.join(this.delimiter)),"object"==typeof i&&collectTreeEvents.call(this,i,t,s,o);return t}function recursivelyGarbageCollect(e){for(var t,r,n,i=d(e),a=i.length;a-- >0;)(t=e[r=i[a]])&&(n=!0,"_listeners"===r||recursivelyGarbageCollect(t)||delete e[r]);return n}function Listener(e,t,r){this.emitter=e,this.event=t,this.listener=r}function setupListener(e,t,r){if(!0===r)a=!0;else if(!1===r)n=!0;else{if(!r||"object"!=typeof r)throw TypeError("options should be an object or true");var n=r.async,a=r.promisify,s=r.nextTick,u=r.objectify}if(n||s||a){var c=t,d=t._origin||t;if(s&&!o)throw Error("process.nextTick is not supported");a===i&&(a="AsyncFunction"===t.constructor.name),t=function(){var e=arguments,t=this,r=this.event;return a?s?Promise.resolve():new Promise((function(e){l(e)})).then((function(){return t.event=r,c.apply(t,e)})):(s?process.nextTick:l)((function(){t.event=r,c.apply(t,e)}))},t._async=!0,t._origin=d}return[t,u?new Listener(this,e,t):this]}function EventEmitter(e){this._events={},this._newListener=!1,this._removeListener=!1,this.verboseMemoryLeak=!1,configure.call(this,e)}Listener.prototype.off=function(){return this.emitter.off(this.event,this.listener),this},EventEmitter.EventEmitter2=EventEmitter,EventEmitter.prototype.listenTo=function(e,t,r){if("object"!=typeof e)throw TypeError("target musts be an object");var n=this;function listen(t){if("object"!=typeof t)throw TypeError("events must be an object");var i,a=r.reducers,s=findTargetIndex.call(n,e);i=-1===s?new TargetObserver(n,e,r):n._observers[s];for(var o,u=d(t),c=u.length,l="function"==typeof a,f=0;f<c;f++)o=u[f],i.subscribe(o,t[o]||o,l?a:a&&a[o])}return r=resolveOptions(r,{on:i,off:i,reducers:i},{on:f,off:f,reducers:h}),s(t)?listen(toObject(t)):listen("string"==typeof t?toObject(t.split(/\s+/)):t),this},EventEmitter.prototype.stopListeningTo=function(e,t){var r=this._observers;if(!r)return!1;var n,i=r.length,a=!1;if(e&&"object"!=typeof e)throw TypeError("target should be an object");for(;i-- >0;)n=r[i],e&&n._target!==e||(n.unsubscribe(t),a=!0);return a},EventEmitter.prototype.delimiter=".",EventEmitter.prototype.setMaxListeners=function(e){e!==i&&(this._maxListeners=e,this._conf||(this._conf={}),this._conf.maxListeners=e)},EventEmitter.prototype.getMaxListeners=function(){return this._maxListeners},EventEmitter.prototype.event="",EventEmitter.prototype.once=function(e,t,r){return this._once(e,t,!1,r)},EventEmitter.prototype.prependOnceListener=function(e,t,r){return this._once(e,t,!0,r)},EventEmitter.prototype._once=function(e,t,r,n){return this._many(e,1,t,r,n)},EventEmitter.prototype.many=function(e,t,r,n){return this._many(e,t,r,!1,n)},EventEmitter.prototype.prependMany=function(e,t,r,n){return this._many(e,t,r,!0,n)},EventEmitter.prototype._many=function(e,t,r,n,i){var a=this;if("function"!=typeof r)throw new Error("many only accepts instances of Function");function listener(){return 0==--t&&a.off(e,listener),r.apply(this,arguments)}return listener._origin=r,this._on(e,listener,n,i)},EventEmitter.prototype.emit=function(){if(!this._events&&!this._all)return!1;this._events||init.call(this);var e,t,r,n,i,a,s=arguments[0],o=this.wildcard;if("newListener"===s&&!this._newListener&&!this._events.newListener)return!1;if(o&&(e=s,"newListener"!==s&&"removeListener"!==s&&"object"==typeof s)){if(r=s.length,u)for(n=0;n<r;n++)if("symbol"==typeof s[n]){a=!0;break}a||(s=s.join(this.delimiter))}var c,l=arguments.length;if(this._all&&this._all.length)for(n=0,r=(c=this._all.slice()).length;n<r;n++)switch(this.event=s,l){case 1:c[n].call(this,s);break;case 2:c[n].call(this,s,arguments[1]);break;case 3:c[n].call(this,s,arguments[1],arguments[2]);break;default:c[n].apply(this,arguments)}if(o)c=[],searchListenerTree.call(this,c,e,this.listenerTree,0,r);else{if("function"==typeof(c=this._events[s])){switch(this.event=s,l){case 1:c.call(this);break;case 2:c.call(this,arguments[1]);break;case 3:c.call(this,arguments[1],arguments[2]);break;default:for(t=new Array(l-1),i=1;i<l;i++)t[i-1]=arguments[i];c.apply(this,t)}return!0}c&&(c=c.slice())}if(c&&c.length){if(l>3)for(t=new Array(l-1),i=1;i<l;i++)t[i-1]=arguments[i];for(n=0,r=c.length;n<r;n++)switch(this.event=s,l){case 1:c[n].call(this);break;case 2:c[n].call(this,arguments[1]);break;case 3:c[n].call(this,arguments[1],arguments[2]);break;default:c[n].apply(this,t)}return!0}if(!this.ignoreErrors&&!this._all&&"error"===s)throw arguments[1]instanceof Error?arguments[1]:new Error("Uncaught, unspecified 'error' event.");return!!this._all},EventEmitter.prototype.emitAsync=function(){if(!this._events&&!this._all)return!1;this._events||init.call(this);var e,t,r,n,i,a,s=arguments[0],o=this.wildcard;if("newListener"===s&&!this._newListener&&!this._events.newListener)return Promise.resolve([!1]);if(o&&(e=s,"newListener"!==s&&"removeListener"!==s&&"object"==typeof s)){if(n=s.length,u)for(i=0;i<n;i++)if("symbol"==typeof s[i]){t=!0;break}t||(s=s.join(this.delimiter))}var c,l=[],d=arguments.length;if(this._all)for(i=0,n=this._all.length;i<n;i++)switch(this.event=s,d){case 1:l.push(this._all[i].call(this,s));break;case 2:l.push(this._all[i].call(this,s,arguments[1]));break;case 3:l.push(this._all[i].call(this,s,arguments[1],arguments[2]));break;default:l.push(this._all[i].apply(this,arguments))}if(o?(c=[],searchListenerTree.call(this,c,e,this.listenerTree,0)):c=this._events[s],"function"==typeof c)switch(this.event=s,d){case 1:l.push(c.call(this));break;case 2:l.push(c.call(this,arguments[1]));break;case 3:l.push(c.call(this,arguments[1],arguments[2]));break;default:for(r=new Array(d-1),a=1;a<d;a++)r[a-1]=arguments[a];l.push(c.apply(this,r))}else if(c&&c.length){if(c=c.slice(),d>3)for(r=new Array(d-1),a=1;a<d;a++)r[a-1]=arguments[a];for(i=0,n=c.length;i<n;i++)switch(this.event=s,d){case 1:l.push(c[i].call(this));break;case 2:l.push(c[i].call(this,arguments[1]));break;case 3:l.push(c[i].call(this,arguments[1],arguments[2]));break;default:l.push(c[i].apply(this,r))}}else if(!this.ignoreErrors&&!this._all&&"error"===s)return arguments[1]instanceof Error?Promise.reject(arguments[1]):Promise.reject("Uncaught, unspecified 'error' event.");return Promise.all(l)},EventEmitter.prototype.on=function(e,t,r){return this._on(e,t,!1,r)},EventEmitter.prototype.prependListener=function(e,t,r){return this._on(e,t,!0,r)},EventEmitter.prototype.onAny=function(e){return this._onAny(e,!1)},EventEmitter.prototype.prependAny=function(e){return this._onAny(e,!0)},EventEmitter.prototype.addListener=EventEmitter.prototype.on,EventEmitter.prototype._onAny=function(e,t){if("function"!=typeof e)throw new Error("onAny only accepts instances of Function");return this._all||(this._all=[]),t?this._all.unshift(e):this._all.push(e),this},EventEmitter.prototype._on=function(e,t,r,n){if("function"==typeof e)return this._onAny(e,t),this;if("function"!=typeof t)throw new Error("on only accepts instances of Function");this._events||init.call(this);var a,s=this;return n!==i&&(t=(a=setupListener.call(this,e,t,n))[0],s=a[1]),this._newListener&&this.emit("newListener",e,t),this.wildcard?(growListenerTree.call(this,e,t,r),s):(this._events[e]?("function"==typeof this._events[e]&&(this._events[e]=[this._events[e]]),r?this._events[e].unshift(t):this._events[e].push(t),!this._events[e].warned&&this._maxListeners>0&&this._events[e].length>this._maxListeners&&(this._events[e].warned=!0,logPossibleMemoryLeak.call(this,this._events[e].length,e))):this._events[e]=t,s)},EventEmitter.prototype.off=function(e,t){if("function"!=typeof t)throw new Error("removeListener only takes instances of Function");var r,n=[];if(this.wildcard){var i="string"==typeof e?e.split(this.delimiter):e.slice();if(!(n=searchListenerTree.call(this,null,i,this.listenerTree,0)))return this}else{if(!this._events[e])return this;r=this._events[e],n.push({_listeners:r})}for(var a=0;a<n.length;a++){var o=n[a];if(r=o._listeners,s(r)){for(var u=-1,c=0,l=r.length;c<l;c++)if(r[c]===t||r[c].listener&&r[c].listener===t||r[c]._origin&&r[c]._origin===t){u=c;break}if(u<0)continue;return this.wildcard?o._listeners.splice(u,1):this._events[e].splice(u,1),0===r.length&&(this.wildcard?delete o._listeners:delete this._events[e]),this._removeListener&&this.emit("removeListener",e,t),this}(r===t||r.listener&&r.listener===t||r._origin&&r._origin===t)&&(this.wildcard?delete o._listeners:delete this._events[e],this._removeListener&&this.emit("removeListener",e,t))}return this.listenerTree&&recursivelyGarbageCollect(this.listenerTree),this},EventEmitter.prototype.offAny=function(e){var t,r=0,n=0;if(e&&this._all&&this._all.length>0){for(r=0,n=(t=this._all).length;r<n;r++)if(e===t[r])return t.splice(r,1),this._removeListener&&this.emit("removeListenerAny",e),this}else{if(t=this._all,this._removeListener)for(r=0,n=t.length;r<n;r++)this.emit("removeListenerAny",t[r]);this._all=[]}return this},EventEmitter.prototype.removeListener=EventEmitter.prototype.off,EventEmitter.prototype.removeAllListeners=function(e){if(e===i)return!this._events||init.call(this),this;if(this.wildcard){var t,r=searchListenerTree.call(this,null,e,this.listenerTree,0);if(!r)return this;for(t=0;t<r.length;t++)r[t]._listeners=null;this.listenerTree&&recursivelyGarbageCollect(this.listenerTree)}else this._events&&(this._events[e]=null);return this},EventEmitter.prototype.listeners=function(e){var t,r,n,a,s,o=this._events;if(e===i){if(this.wildcard)throw Error("event name required for wildcard emitter");if(!o)return[];for(a=(t=d(o)).length,n=[];a-- >0;)"function"==typeof(r=o[t[a]])?n.push(r):n.push.apply(n,r);return n}if(this.wildcard){if(!(s=this.listenerTree))return[];var u=[],c="string"==typeof e?e.split(this.delimiter):e.slice();return searchListenerTree.call(this,u,c,s,0),u}return o&&(r=o[e])?"function"==typeof r?[r]:r:[]},EventEmitter.prototype.eventNames=function(e){var t=this._events;return this.wildcard?collectTreeEvents.call(this,this.listenerTree,[],null,e):t?d(t):[]},EventEmitter.prototype.listenerCount=function(e){return this.listeners(e).length},EventEmitter.prototype.hasListeners=function(e){if(this.wildcard){var t=[],r="string"==typeof e?e.split(this.delimiter):e.slice();return searchListenerTree.call(this,t,r,this.listenerTree,0),t.length>0}var n=this._events,a=this._all;return!!(a&&a.length||n&&(e===i?d(n).length:n[e]))},EventEmitter.prototype.listenersAny=function(){return this._all?this._all:[]},EventEmitter.prototype.waitFor=function(e,t){var r=this,n=typeof t;return"number"===n?t={timeout:t}:"function"===n&&(t={filter:t}),makeCancelablePromise((t=resolveOptions(t,{timeout:0,filter:i,handleError:!1,Promise,overload:!1},{filter:f,Promise:constructorReducer})).Promise,(function(n,i,a){function listener(){var a=t.filter;if(!a||a.apply(r,arguments))if(r.off(e,listener),t.handleError){var s=arguments[0];s?i(s):n(toArray.apply(null,arguments).slice(1))}else n(toArray.apply(null,arguments))}a((function(){r.off(e,listener)})),r._on(e,listener,!1)}),{timeout:t.timeout,overload:t.overload})};var p=EventEmitter.prototype;Object.defineProperties(EventEmitter,{defaultMaxListeners:{get:function(){return p._maxListeners},set:function(e){if("number"!=typeof e||e<0||Number.isNaN(e))throw TypeError("n must be a non-negative number");p._maxListeners=e},enumerable:!0},once:{value:function once(e,t,r){return makeCancelablePromise((r=resolveOptions(r,{Promise,timeout:0,overload:!1},{Promise:constructorReducer})).Promise,(function(r,n,i){var a;if("function"==typeof e.addEventListener)return a=function(){r(toArray.apply(null,arguments))},i((function(){e.removeEventListener(t,a)})),void e.addEventListener(t,a,{once:!0});var s,eventListener=function(){s&&e.removeListener("error",s),r(toArray.apply(null,arguments))};"error"!==t&&(s=function(r){e.removeListener(t,eventListener),n(r)},e.once("error",s)),i((function(){s&&e.removeListener("error",s),e.removeListener(t,eventListener)})),e.once(t,eventListener)}),{timeout:r.timeout,overload:r.overload})},writable:!0,configurable:!0}}),Object.defineProperties(p,{_maxListeners:{value:10,writable:!0,configurable:!0},_observers:{value:null,writable:!0,configurable:!0}}),(n=function(){return EventEmitter}.call(t,r,t,e))===i||(e.exports=n)}()},4530:(e,t)=>{function serializer(e,t){var r=[],n=[];return null==t&&(t=function(e,t){return r[0]===t?"[Circular ~]":"[Circular ~."+n.slice(0,r.indexOf(t)).join(".")+"]"}),function(i,a){if(r.length>0){var s=r.indexOf(this);~s?r.splice(s+1):r.push(this),~s?n.splice(s,1/0,i):n.push(i),~r.indexOf(a)&&(a=t.call(this,i,a))}else r.push(a);return null==e?a:e.call(this,i,a)}}(e.exports=function stringify(e,t,r,n){return JSON.stringify(e,serializer(t,n),r)}).getSerialize=serializer},6486:function(e,t,r){var n;e=r.nmd(e),function(){var i,a="Expected a function",s="__lodash_hash_undefined__",o="__lodash_placeholder__",u=16,c=32,l=64,d=128,f=256,h=1/0,p=9007199254740991,m=NaN,y=4294967295,g=[["ary",d],["bind",1],["bindKey",2],["curry",8],["curryRight",u],["flip",512],["partial",c],["partialRight",l],["rearg",f]],b="[object Arguments]",v="[object Array]",_="[object Boolean]",w="[object Date]",I="[object Error]",O="[object Function]",R="[object GeneratorFunction]",A="[object Map]",S="[object Number]",C="[object Object]",T="[object Promise]",E="[object RegExp]",L="[object Set]",P="[object String]",j="[object Symbol]",q="[object WeakMap]",x="[object ArrayBuffer]",k="[object DataView]",M="[object Float32Array]",D="[object Float64Array]",F="[object Int8Array]",N="[object Int16Array]",z="[object Int32Array]",V="[object Uint8Array]",U="[object Uint8ClampedArray]",W="[object Uint16Array]",$="[object Uint32Array]",B=/\b__p \+= '';/g,Z=/\b(__p \+=) '' \+/g,G=/(__e\(.*?\)|\b__t\)) \+\n'';/g,H=/&(?:amp|lt|gt|quot|#39);/g,K=/[&<>"']/g,Y=RegExp(H.source),Q=RegExp(K.source),J=/<%-([\s\S]+?)%>/g,X=/<%([\s\S]+?)%>/g,ee=/<%=([\s\S]+?)%>/g,te=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,re=/^\w*$/,ne=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ie=/[\\^$.*+?()[\]{}|]/g,ae=RegExp(ie.source),se=/^\s+/,oe=/\s/,ue=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,ce=/\{\n\/\* \[wrapped with (.+)\] \*/,le=/,? & /,de=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,fe=/[()=,{}\[\]\/\s]/,he=/\\(\\)?/g,pe=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,me=/\w*$/,ye=/^[-+]0x[0-9a-f]+$/i,ge=/^0b[01]+$/i,be=/^\[object .+?Constructor\]$/,ve=/^0o[0-7]+$/i,_e=/^(?:0|[1-9]\d*)$/,we=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Ie=/($^)/,Oe=/['\n\r\u2028\u2029\\]/g,Re="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Ae="\\u2700-\\u27bf",Se="a-z\\xdf-\\xf6\\xf8-\\xff",Ce="A-Z\\xc0-\\xd6\\xd8-\\xde",Te="\\ufe0e\\ufe0f",Ee="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Le="['’]",Pe="[\\ud800-\\udfff]",je="["+Ee+"]",qe="["+Re+"]",xe="\\d+",ke="[\\u2700-\\u27bf]",Me="["+Se+"]",De="[^\\ud800-\\udfff"+Ee+xe+Ae+Se+Ce+"]",Fe="\\ud83c[\\udffb-\\udfff]",Ne="[^\\ud800-\\udfff]",ze="(?:\\ud83c[\\udde6-\\uddff]){2}",Ve="[\\ud800-\\udbff][\\udc00-\\udfff]",Ue="["+Ce+"]",We="(?:"+Me+"|"+De+")",$e="(?:"+Ue+"|"+De+")",Be="(?:['’](?:d|ll|m|re|s|t|ve))?",Ze="(?:['’](?:D|LL|M|RE|S|T|VE))?",Ge="(?:"+qe+"|"+Fe+")"+"?",He="[\\ufe0e\\ufe0f]?",Ke=He+Ge+("(?:\\u200d(?:"+[Ne,ze,Ve].join("|")+")"+He+Ge+")*"),Ye="(?:"+[ke,ze,Ve].join("|")+")"+Ke,Qe="(?:"+[Ne+qe+"?",qe,ze,Ve,Pe].join("|")+")",Je=RegExp(Le,"g"),Xe=RegExp(qe,"g"),et=RegExp(Fe+"(?="+Fe+")|"+Qe+Ke,"g"),tt=RegExp([Ue+"?"+Me+"+"+Be+"(?="+[je,Ue,"$"].join("|")+")",$e+"+"+Ze+"(?="+[je,Ue+We,"$"].join("|")+")",Ue+"?"+We+"+"+Be,Ue+"+"+Ze,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",xe,Ye].join("|"),"g"),rt=RegExp("[\\u200d\\ud800-\\udfff"+Re+Te+"]"),nt=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,it=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],at=-1,st={};st[M]=st[D]=st[F]=st[N]=st[z]=st[V]=st[U]=st[W]=st[$]=!0,st[b]=st[v]=st[x]=st[_]=st[k]=st[w]=st[I]=st[O]=st[A]=st[S]=st[C]=st[E]=st[L]=st[P]=st[q]=!1;var ot={};ot[b]=ot[v]=ot[x]=ot[k]=ot[_]=ot[w]=ot[M]=ot[D]=ot[F]=ot[N]=ot[z]=ot[A]=ot[S]=ot[C]=ot[E]=ot[L]=ot[P]=ot[j]=ot[V]=ot[U]=ot[W]=ot[$]=!0,ot[I]=ot[O]=ot[q]=!1;var ut={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},ct=parseFloat,lt=parseInt,dt="object"==typeof global&&global&&global.Object===Object&&global,ft="object"==typeof self&&self&&self.Object===Object&&self,ht=dt||ft||Function("return this")(),pt=t&&!t.nodeType&&t,mt=pt&&e&&!e.nodeType&&e,yt=mt&&mt.exports===pt,gt=yt&&dt.process,bt=function(){try{var e=mt&&mt.require&&mt.require("util").types;return e||gt&>.binding&>.binding("util")}catch(e){}}(),vt=bt&&bt.isArrayBuffer,_t=bt&&bt.isDate,wt=bt&&bt.isMap,It=bt&&bt.isRegExp,Ot=bt&&bt.isSet,Rt=bt&&bt.isTypedArray;function apply(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}function arrayAggregator(e,t,r,n){for(var i=-1,a=null==e?0:e.length;++i<a;){var s=e[i];t(n,s,r(s),e)}return n}function arrayEach(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e}function arrayEachRight(e,t){for(var r=null==e?0:e.length;r--&&!1!==t(e[r],r,e););return e}function arrayEvery(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(!t(e[r],r,e))return!1;return!0}function arrayFilter(e,t){for(var r=-1,n=null==e?0:e.length,i=0,a=[];++r<n;){var s=e[r];t(s,r,e)&&(a[i++]=s)}return a}function arrayIncludes(e,t){return!!(null==e?0:e.length)&&baseIndexOf(e,t,0)>-1}function arrayIncludesWith(e,t,r){for(var n=-1,i=null==e?0:e.length;++n<i;)if(r(t,e[n]))return!0;return!1}function arrayMap(e,t){for(var r=-1,n=null==e?0:e.length,i=Array(n);++r<n;)i[r]=t(e[r],r,e);return i}function arrayPush(e,t){for(var r=-1,n=t.length,i=e.length;++r<n;)e[i+r]=t[r];return e}function arrayReduce(e,t,r,n){var i=-1,a=null==e?0:e.length;for(n&&a&&(r=e[++i]);++i<a;)r=t(r,e[i],i,e);return r}function arrayReduceRight(e,t,r,n){var i=null==e?0:e.length;for(n&&i&&(r=e[--i]);i--;)r=t(r,e[i],i,e);return r}function arraySome(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}var At=baseProperty("length");function baseFindKey(e,t,r){var n;return r(e,(function(e,r,i){if(t(e,r,i))return n=r,!1})),n}function baseFindIndex(e,t,r,n){for(var i=e.length,a=r+(n?1:-1);n?a--:++a<i;)if(t(e[a],a,e))return a;return-1}function baseIndexOf(e,t,r){return t==t?function strictIndexOf(e,t,r){var n=r-1,i=e.length;for(;++n<i;)if(e[n]===t)return n;return-1}(e,t,r):baseFindIndex(e,baseIsNaN,r)}function baseIndexOfWith(e,t,r,n){for(var i=r-1,a=e.length;++i<a;)if(n(e[i],t))return i;return-1}function baseIsNaN(e){return e!=e}function baseMean(e,t){var r=null==e?0:e.length;return r?baseSum(e,t)/r:m}function baseProperty(e){return function(t){return null==t?i:t[e]}}function basePropertyOf(e){return function(t){return null==e?i:e[t]}}function baseReduce(e,t,r,n,i){return i(e,(function(e,i,a){r=n?(n=!1,e):t(r,e,i,a)})),r}function baseSum(e,t){for(var r,n=-1,a=e.length;++n<a;){var s=t(e[n]);s!==i&&(r=r===i?s:r+s)}return r}function baseTimes(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}function baseTrim(e){return e?e.slice(0,trimmedEndIndex(e)+1).replace(se,""):e}function baseUnary(e){return function(t){return e(t)}}function baseValues(e,t){return arrayMap(t,(function(t){return e[t]}))}function cacheHas(e,t){return e.has(t)}function charsStartIndex(e,t){for(var r=-1,n=e.length;++r<n&&baseIndexOf(t,e[r],0)>-1;);return r}function charsEndIndex(e,t){for(var r=e.length;r--&&baseIndexOf(t,e[r],0)>-1;);return r}function countHolders(e,t){for(var r=e.length,n=0;r--;)e[r]===t&&++n;return n}var St=basePropertyOf({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"}),Ct=basePropertyOf({"&":"&","<":"<",">":">",'"':""","'":"'"});function escapeStringChar(e){return"\\"+ut[e]}function hasUnicode(e){return rt.test(e)}function mapToArray(e){var t=-1,r=Array(e.size);return e.forEach((function(e,n){r[++t]=[n,e]})),r}function overArg(e,t){return function(r){return e(t(r))}}function replaceHolders(e,t){for(var r=-1,n=e.length,i=0,a=[];++r<n;){var s=e[r];s!==t&&s!==o||(e[r]=o,a[i++]=r)}return a}function setToArray(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r}function setToPairs(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=[e,e]})),r}function stringSize(e){return hasUnicode(e)?function unicodeSize(e){var t=et.lastIndex=0;for(;et.test(e);)++t;return t}(e):At(e)}function stringToArray(e){return hasUnicode(e)?function unicodeToArray(e){return e.match(et)||[]}(e):function asciiToArray(e){return e.split("")}(e)}function trimmedEndIndex(e){for(var t=e.length;t--&&oe.test(e.charAt(t)););return t}var Tt=basePropertyOf({"&":"&","<":"<",">":">",""":'"',"'":"'"});var Et=function runInContext(e){var t,r=(e=null==e?ht:Et.defaults(ht.Object(),e,Et.pick(ht,it))).Array,n=e.Date,oe=e.Error,Re=e.Function,Ae=e.Math,Se=e.Object,Ce=e.RegExp,Te=e.String,Ee=e.TypeError,Le=r.prototype,Pe=Re.prototype,je=Se.prototype,qe=e["__core-js_shared__"],xe=Pe.toString,ke=je.hasOwnProperty,Me=0,De=(t=/[^.]+$/.exec(qe&&qe.keys&&qe.keys.IE_PROTO||""))?"Symbol(src)_1."+t:"",Fe=je.toString,Ne=xe.call(Se),ze=ht._,Ve=Ce("^"+xe.call(ke).replace(ie,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ue=yt?e.Buffer:i,We=e.Symbol,$e=e.Uint8Array,Be=Ue?Ue.allocUnsafe:i,Ze=overArg(Se.getPrototypeOf,Se),Ge=Se.create,He=je.propertyIsEnumerable,Ke=Le.splice,Ye=We?We.isConcatSpreadable:i,Qe=We?We.iterator:i,et=We?We.toStringTag:i,rt=function(){try{var e=getNative(Se,"defineProperty");return e({},"",{}),e}catch(e){}}(),ut=e.clearTimeout!==ht.clearTimeout&&e.clearTimeout,dt=n&&n.now!==ht.Date.now&&n.now,ft=e.setTimeout!==ht.setTimeout&&e.setTimeout,pt=Ae.ceil,mt=Ae.floor,gt=Se.getOwnPropertySymbols,bt=Ue?Ue.isBuffer:i,At=e.isFinite,Lt=Le.join,Pt=overArg(Se.keys,Se),jt=Ae.max,qt=Ae.min,xt=n.now,kt=e.parseInt,Mt=Ae.random,Dt=Le.reverse,Ft=getNative(e,"DataView"),Nt=getNative(e,"Map"),zt=getNative(e,"Promise"),Vt=getNative(e,"Set"),Ut=getNative(e,"WeakMap"),Wt=getNative(Se,"create"),$t=Ut&&new Ut,Bt={},Zt=toSource(Ft),Gt=toSource(Nt),Ht=toSource(zt),Kt=toSource(Vt),Yt=toSource(Ut),Qt=We?We.prototype:i,Jt=Qt?Qt.valueOf:i,Xt=Qt?Qt.toString:i;function lodash(e){if(isObjectLike(e)&&!nn(e)&&!(e instanceof LazyWrapper)){if(e instanceof LodashWrapper)return e;if(ke.call(e,"__wrapped__"))return wrapperClone(e)}return new LodashWrapper(e)}var er=function(){function object(){}return function(e){if(!isObject(e))return{};if(Ge)return Ge(e);object.prototype=e;var t=new object;return object.prototype=i,t}}();function baseLodash(){}function LodashWrapper(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=i}function LazyWrapper(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=y,this.__views__=[]}function Hash(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function ListCache(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function MapCache(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function SetCache(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new MapCache;++t<r;)this.add(e[t])}function Stack(e){var t=this.__data__=new ListCache(e);this.size=t.size}function arrayLikeKeys(e,t){var r=nn(e),n=!r&&rn(e),i=!r&&!n&&sn(e),a=!r&&!n&&!i&&dn(e),s=r||n||i||a,o=s?baseTimes(e.length,Te):[],u=o.length;for(var c in e)!t&&!ke.call(e,c)||s&&("length"==c||i&&("offset"==c||"parent"==c)||a&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||isIndex(c,u))||o.push(c);return o}function arraySample(e){var t=e.length;return t?e[baseRandom(0,t-1)]:i}function arraySampleSize(e,t){return shuffleSelf(copyArray(e),baseClamp(t,0,e.length))}function arrayShuffle(e){return shuffleSelf(copyArray(e))}function assignMergeValue(e,t,r){(r!==i&&!eq(e[t],r)||r===i&&!(t in e))&&baseAssignValue(e,t,r)}function assignValue(e,t,r){var n=e[t];ke.call(e,t)&&eq(n,r)&&(r!==i||t in e)||baseAssignValue(e,t,r)}function assocIndexOf(e,t){for(var r=e.length;r--;)if(eq(e[r][0],t))return r;return-1}function baseAggregator(e,t,r,n){return tr(e,(function(e,i,a){t(n,e,r(e),a)})),n}function baseAssign(e,t){return e&©Object(t,keys(t),e)}function baseAssignValue(e,t,r){"__proto__"==t&&rt?rt(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}function baseAt(e,t){for(var n=-1,a=t.length,s=r(a),o=null==e;++n<a;)s[n]=o?i:get(e,t[n]);return s}function baseClamp(e,t,r){return e==e&&(r!==i&&(e=e<=r?e:r),t!==i&&(e=e>=t?e:t)),e}function baseClone(e,t,r,n,a,s){var o,u=1&t,c=2&t,l=4&t;if(r&&(o=a?r(e,n,a,s):r(e)),o!==i)return o;if(!isObject(e))return e;var d=nn(e);if(d){if(o=function initCloneArray(e){var t=e.length,r=new e.constructor(t);t&&"string"==typeof e[0]&&ke.call(e,"index")&&(r.index=e.index,r.input=e.input);return r}(e),!u)return copyArray(e,o)}else{var f=hr(e),h=f==O||f==R;if(sn(e))return cloneBuffer(e,u);if(f==C||f==b||h&&!a){if(o=c||h?{}:initCloneObject(e),!u)return c?function copySymbolsIn(e,t){return copyObject(e,fr(e),t)}(e,function baseAssignIn(e,t){return e&©Object(t,keysIn(t),e)}(o,e)):function copySymbols(e,t){return copyObject(e,dr(e),t)}(e,baseAssign(o,e))}else{if(!ot[f])return a?e:{};o=function initCloneByTag(e,t,r){var n=e.constructor;switch(t){case x:return cloneArrayBuffer(e);case _:case w:return new n(+e);case k:return function cloneDataView(e,t){var r=t?cloneArrayBuffer(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}(e,r);case M:case D:case F:case N:case z:case V:case U:case W:case $:return cloneTypedArray(e,r);case A:return new n;case S:case P:return new n(e);case E:return function cloneRegExp(e){var t=new e.constructor(e.source,me.exec(e));return t.lastIndex=e.lastIndex,t}(e);case L:return new n;case j:return function cloneSymbol(e){return Jt?Se(Jt.call(e)):{}}(e)}}(e,f,u)}}s||(s=new Stack);var p=s.get(e);if(p)return p;s.set(e,o),ln(e)?e.forEach((function(n){o.add(baseClone(n,t,r,n,e,s))})):un(e)&&e.forEach((function(n,i){o.set(i,baseClone(n,t,r,i,e,s))}));var m=d?i:(l?c?getAllKeysIn:getAllKeys:c?keysIn:keys)(e);return arrayEach(m||e,(function(n,i){m&&(n=e[i=n]),assignValue(o,i,baseClone(n,t,r,i,e,s))})),o}function baseConformsTo(e,t,r){var n=r.length;if(null==e)return!n;for(e=Se(e);n--;){var a=r[n],s=t[a],o=e[a];if(o===i&&!(a in e)||!s(o))return!1}return!0}function baseDelay(e,t,r){if("function"!=typeof e)throw new Ee(a);return yr((function(){e.apply(i,r)}),t)}function baseDifference(e,t,r,n){var i=-1,a=arrayIncludes,s=!0,o=e.length,u=[],c=t.length;if(!o)return u;r&&(t=arrayMap(t,baseUnary(r))),n?(a=arrayIncludesWith,s=!1):t.length>=200&&(a=cacheHas,s=!1,t=new SetCache(t));e:for(;++i<o;){var l=e[i],d=null==r?l:r(l);if(l=n||0!==l?l:0,s&&d==d){for(var f=c;f--;)if(t[f]===d)continue e;u.push(l)}else a(t,d,n)||u.push(l)}return u}lodash.templateSettings={escape:J,evaluate:X,interpolate:ee,variable:"",imports:{_:lodash}},lodash.prototype=baseLodash.prototype,lodash.prototype.constructor=lodash,LodashWrapper.prototype=er(baseLodash.prototype),LodashWrapper.prototype.constructor=LodashWrapper,LazyWrapper.prototype=er(baseLodash.prototype),LazyWrapper.prototype.constructor=LazyWrapper,Hash.prototype.clear=function hashClear(){this.__data__=Wt?Wt(null):{},this.size=0},Hash.prototype.delete=function hashDelete(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},Hash.prototype.get=function hashGet(e){var t=this.__data__;if(Wt){var r=t[e];return r===s?i:r}return ke.call(t,e)?t[e]:i},Hash.prototype.has=function hashHas(e){var t=this.__data__;return Wt?t[e]!==i:ke.call(t,e)},Hash.prototype.set=function hashSet(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Wt&&t===i?s:t,this},ListCache.prototype.clear=function listCacheClear(){this.__data__=[],this.size=0},ListCache.prototype.delete=function listCacheDelete(e){var t=this.__data__,r=assocIndexOf(t,e);return!(r<0)&&(r==t.length-1?t.pop():Ke.call(t,r,1),--this.size,!0)},ListCache.prototype.get=function listCacheGet(e){var t=this.__data__,r=assocIndexOf(t,e);return r<0?i:t[r][1]},ListCache.prototype.has=function listCacheHas(e){return assocIndexOf(this.__data__,e)>-1},ListCache.prototype.set=function listCacheSet(e,t){var r=this.__data__,n=assocIndexOf(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this},MapCache.prototype.clear=function mapCacheClear(){this.size=0,this.__data__={hash:new Hash,map:new(Nt||ListCache),string:new Hash}},MapCache.prototype.delete=function mapCacheDelete(e){var t=getMapData(this,e).delete(e);return this.size-=t?1:0,t},MapCache.prototype.get=function mapCacheGet(e){return getMapData(this,e).get(e)},MapCache.prototype.has=function mapCacheHas(e){return getMapData(this,e).has(e)},MapCache.prototype.set=function mapCacheSet(e,t){var r=getMapData(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this},SetCache.prototype.add=SetCache.prototype.push=function setCacheAdd(e){return this.__data__.set(e,s),this},SetCache.prototype.has=function setCacheHas(e){return this.__data__.has(e)},Stack.prototype.clear=function stackClear(){this.__data__=new ListCache,this.size=0},Stack.prototype.delete=function stackDelete(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r},Stack.prototype.get=function stackGet(e){return this.__data__.get(e)},Stack.prototype.has=function stackHas(e){return this.__data__.has(e)},Stack.prototype.set=function stackSet(e,t){var r=this.__data__;if(r instanceof ListCache){var n=r.__data__;if(!Nt||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new MapCache(n)}return r.set(e,t),this.size=r.size,this};var tr=createBaseEach(baseForOwn),rr=createBaseEach(baseForOwnRight,!0);function baseEvery(e,t){var r=!0;return tr(e,(function(e,n,i){return r=!!t(e,n,i)})),r}function baseExtremum(e,t,r){for(var n=-1,a=e.length;++n<a;){var s=e[n],o=t(s);if(null!=o&&(u===i?o==o&&!isSymbol(o):r(o,u)))var u=o,c=s}return c}function baseFilter(e,t){var r=[];return tr(e,(function(e,n,i){t(e,n,i)&&r.push(e)})),r}function baseFlatten(e,t,r,n,i){var a=-1,s=e.length;for(r||(r=isFlattenable),i||(i=[]);++a<s;){var o=e[a];t>0&&r(o)?t>1?baseFlatten(o,t-1,r,n,i):arrayPush(i,o):n||(i[i.length]=o)}return i}var nr=createBaseFor(),ir=createBaseFor(!0);function baseForOwn(e,t){return e&&nr(e,t,keys)}function baseForOwnRight(e,t){return e&&ir(e,t,keys)}function baseFunctions(e,t){return arrayFilter(t,(function(t){return isFunction(e[t])}))}function baseGet(e,t){for(var r=0,n=(t=castPath(t,e)).length;null!=e&&r<n;)e=e[toKey(t[r++])];return r&&r==n?e:i}function baseGetAllKeys(e,t,r){var n=t(e);return nn(e)?n:arrayPush(n,r(e))}function baseGetTag(e){return null==e?e===i?"[object Undefined]":"[object Null]":et&&et in Se(e)?function getRawTag(e){var t=ke.call(e,et),r=e[et];try{e[et]=i;var n=!0}catch(e){}var a=Fe.call(e);n&&(t?e[et]=r:delete e[et]);return a}(e):function objectToString(e){return Fe.call(e)}(e)}function baseGt(e,t){return e>t}function baseHas(e,t){return null!=e&&ke.call(e,t)}function baseHasIn(e,t){return null!=e&&t in Se(e)}function baseIntersection(e,t,n){for(var a=n?arrayIncludesWith:arrayIncludes,s=e[0].length,o=e.length,u=o,c=r(o),l=1/0,d=[];u--;){var f=e[u];u&&t&&(f=arrayMap(f,baseUnary(t))),l=qt(f.length,l),c[u]=!n&&(t||s>=120&&f.length>=120)?new SetCache(u&&f):i}f=e[0];var h=-1,p=c[0];e:for(;++h<s&&d.length<l;){var m=f[h],y=t?t(m):m;if(m=n||0!==m?m:0,!(p?cacheHas(p,y):a(d,y,n))){for(u=o;--u;){var g=c[u];if(!(g?cacheHas(g,y):a(e[u],y,n)))continue e}p&&p.push(y),d.push(m)}}return d}function baseInvoke(e,t,r){var n=null==(e=parent(e,t=castPath(t,e)))?e:e[toKey(last(t))];return null==n?i:apply(n,e,r)}function baseIsArguments(e){return isObjectLike(e)&&baseGetTag(e)==b}function baseIsEqual(e,t,r,n,a){return e===t||(null==e||null==t||!isObjectLike(e)&&!isObjectLike(t)?e!=e&&t!=t:function baseIsEqualDeep(e,t,r,n,a,s){var o=nn(e),u=nn(t),c=o?v:hr(e),l=u?v:hr(t),d=(c=c==b?C:c)==C,f=(l=l==b?C:l)==C,h=c==l;if(h&&sn(e)){if(!sn(t))return!1;o=!0,d=!1}if(h&&!d)return s||(s=new Stack),o||dn(e)?equalArrays(e,t,r,n,a,s):function equalByTag(e,t,r,n,i,a,s){switch(r){case k:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case x:return!(e.byteLength!=t.byteLength||!a(new $e(e),new $e(t)));case _:case w:case S:return eq(+e,+t);case I:return e.name==t.name&&e.message==t.message;case E:case P:return e==t+"";case A:var o=mapToArray;case L:var u=1&n;if(o||(o=setToArray),e.size!=t.size&&!u)return!1;var c=s.get(e);if(c)return c==t;n|=2,s.set(e,t);var l=equalArrays(o(e),o(t),n,i,a,s);return s.delete(e),l;case j:if(Jt)return Jt.call(e)==Jt.call(t)}return!1}(e,t,c,r,n,a,s);if(!(1&r)){var p=d&&ke.call(e,"__wrapped__"),m=f&&ke.call(t,"__wrapped__");if(p||m){var y=p?e.value():e,g=m?t.value():t;return s||(s=new Stack),a(y,g,r,n,s)}}if(!h)return!1;return s||(s=new Stack),function equalObjects(e,t,r,n,a,s){var o=1&r,u=getAllKeys(e),c=u.length,l=getAllKeys(t).length;if(c!=l&&!o)return!1;var d=c;for(;d--;){var f=u[d];if(!(o?f in t:ke.call(t,f)))return!1}var h=s.get(e),p=s.get(t);if(h&&p)return h==t&&p==e;var m=!0;s.set(e,t),s.set(t,e);var y=o;for(;++d<c;){var g=e[f=u[d]],b=t[f];if(n)var v=o?n(b,g,f,t,e,s):n(g,b,f,e,t,s);if(!(v===i?g===b||a(g,b,r,n,s):v)){m=!1;break}y||(y="constructor"==f)}if(m&&!y){var _=e.constructor,w=t.constructor;_==w||!("constructor"in e)||!("constructor"in t)||"function"==typeof _&&_ instanceof _&&"function"==typeof w&&w instanceof w||(m=!1)}return s.delete(e),s.delete(t),m}(e,t,r,n,a,s)}(e,t,r,n,baseIsEqual,a))}function baseIsMatch(e,t,r,n){var a=r.length,s=a,o=!n;if(null==e)return!s;for(e=Se(e);a--;){var u=r[a];if(o&&u[2]?u[1]!==e[u[0]]:!(u[0]in e))return!1}for(;++a<s;){var c=(u=r[a])[0],l=e[c],d=u[1];if(o&&u[2]){if(l===i&&!(c in e))return!1}else{var f=new Stack;if(n)var h=n(l,d,c,e,t,f);if(!(h===i?baseIsEqual(d,l,3,n,f):h))return!1}}return!0}function baseIsNative(e){return!(!isObject(e)||function isMasked(e){return!!De&&De in e}(e))&&(isFunction(e)?Ve:be).test(toSource(e))}function baseIteratee(e){return"function"==typeof e?e:null==e?identity:"object"==typeof e?nn(e)?baseMatchesProperty(e[0],e[1]):baseMatches(e):property(e)}function baseKeys(e){if(!isPrototype(e))return Pt(e);var t=[];for(var r in Se(e))ke.call(e,r)&&"constructor"!=r&&t.push(r);return t}function baseKeysIn(e){if(!isObject(e))return function nativeKeysIn(e){var t=[];if(null!=e)for(var r in Se(e))t.push(r);return t}(e);var t=isPrototype(e),r=[];for(var n in e)("constructor"!=n||!t&&ke.call(e,n))&&r.push(n);return r}function baseLt(e,t){return e<t}function baseMap(e,t){var n=-1,i=isArrayLike(e)?r(e.length):[];return tr(e,(function(e,r,a){i[++n]=t(e,r,a)})),i}function baseMatches(e){var t=getMatchData(e);return 1==t.length&&t[0][2]?matchesStrictComparable(t[0][0],t[0][1]):function(r){return r===e||baseIsMatch(r,e,t)}}function baseMatchesProperty(e,t){return isKey(e)&&isStrictComparable(t)?matchesStrictComparable(toKey(e),t):function(r){var n=get(r,e);return n===i&&n===t?hasIn(r,e):baseIsEqual(t,n,3)}}function baseMerge(e,t,r,n,a){e!==t&&nr(t,(function(s,o){if(a||(a=new Stack),isObject(s))!function baseMergeDeep(e,t,r,n,a,s,o){var u=safeGet(e,r),c=safeGet(t,r),l=o.get(c);if(l)return void assignMergeValue(e,r,l);var d=s?s(u,c,r+"",e,t,o):i,f=d===i;if(f){var h=nn(c),p=!h&&sn(c),m=!h&&!p&&dn(c);d=c,h||p||m?nn(u)?d=u:isArrayLikeObject(u)?d=copyArray(u):p?(f=!1,d=cloneBuffer(c,!0)):m?(f=!1,d=cloneTypedArray(c,!0)):d=[]:isPlainObject(c)||rn(c)?(d=u,rn(u)?d=toPlainObject(u):isObject(u)&&!isFunction(u)||(d=initCloneObject(c))):f=!1}f&&(o.set(c,d),a(d,c,n,s,o),o.delete(c));assignMergeValue(e,r,d)}(e,t,o,r,baseMerge,n,a);else{var u=n?n(safeGet(e,o),s,o+"",e,t,a):i;u===i&&(u=s),assignMergeValue(e,o,u)}}),keysIn)}function baseNth(e,t){var r=e.length;if(r)return isIndex(t+=t<0?r:0,r)?e[t]:i}function baseOrderBy(e,t,r){t=t.length?arrayMap(t,(function(e){return nn(e)?function(t){return baseGet(t,1===e.length?e[0]:e)}:e})):[identity];var n=-1;t=arrayMap(t,baseUnary(getIteratee()));var i=baseMap(e,(function(e,r,i){var a=arrayMap(t,(function(t){return t(e)}));return{criteria:a,index:++n,value:e}}));return function baseSortBy(e,t){var r=e.length;for(e.sort(t);r--;)e[r]=e[r].value;return e}(i,(function(e,t){return function compareMultiple(e,t,r){var n=-1,i=e.criteria,a=t.criteria,s=i.length,o=r.length;for(;++n<s;){var u=compareAscending(i[n],a[n]);if(u)return n>=o?u:u*("desc"==r[n]?-1:1)}return e.index-t.index}(e,t,r)}))}function basePickBy(e,t,r){for(var n=-1,i=t.length,a={};++n<i;){var s=t[n],o=baseGet(e,s);r(o,s)&&baseSet(a,castPath(s,e),o)}return a}function basePullAll(e,t,r,n){var i=n?baseIndexOfWith:baseIndexOf,a=-1,s=t.length,o=e;for(e===t&&(t=copyArray(t)),r&&(o=arrayMap(e,baseUnary(r)));++a<s;)for(var u=0,c=t[a],l=r?r(c):c;(u=i(o,l,u,n))>-1;)o!==e&&Ke.call(o,u,1),Ke.call(e,u,1);return e}function basePullAt(e,t){for(var r=e?t.length:0,n=r-1;r--;){var i=t[r];if(r==n||i!==a){var a=i;isIndex(i)?Ke.call(e,i,1):baseUnset(e,i)}}return e}function baseRandom(e,t){return e+mt(Mt()*(t-e+1))}function baseRepeat(e,t){var r="";if(!e||t<1||t>p)return r;do{t%2&&(r+=e),(t=mt(t/2))&&(e+=e)}while(t);return r}function baseRest(e,t){return gr(overRest(e,t,identity),e+"")}function baseSample(e){return arraySample(values(e))}function baseSampleSize(e,t){var r=values(e);return shuffleSelf(r,baseClamp(t,0,r.length))}function baseSet(e,t,r,n){if(!isObject(e))return e;for(var a=-1,s=(t=castPath(t,e)).length,o=s-1,u=e;null!=u&&++a<s;){var c=toKey(t[a]),l=r;if("__proto__"===c||"constructor"===c||"prototype"===c)return e;if(a!=o){var d=u[c];(l=n?n(d,c,u):i)===i&&(l=isObject(d)?d:isIndex(t[a+1])?[]:{})}assignValue(u,c,l),u=u[c]}return e}var ar=$t?function(e,t){return $t.set(e,t),e}:identity,sr=rt?function(e,t){return rt(e,"toString",{configurable:!0,enumerable:!1,value:constant(t),writable:!0})}:identity;function baseShuffle(e){return shuffleSelf(values(e))}function baseSlice(e,t,n){var i=-1,a=e.length;t<0&&(t=-t>a?0:a+t),(n=n>a?a:n)<0&&(n+=a),a=t>n?0:n-t>>>0,t>>>=0;for(var s=r(a);++i<a;)s[i]=e[i+t];return s}function baseSome(e,t){var r;return tr(e,(function(e,n,i){return!(r=t(e,n,i))})),!!r}function baseSortedIndex(e,t,r){var n=0,i=null==e?n:e.length;if("number"==typeof t&&t==t&&i<=2147483647){for(;n<i;){var a=n+i>>>1,s=e[a];null!==s&&!isSymbol(s)&&(r?s<=t:s<t)?n=a+1:i=a}return i}return baseSortedIndexBy(e,t,identity,r)}function baseSortedIndexBy(e,t,r,n){var a=0,s=null==e?0:e.length;if(0===s)return 0;for(var o=(t=r(t))!=t,u=null===t,c=isSymbol(t),l=t===i;a<s;){var d=mt((a+s)/2),f=r(e[d]),h=f!==i,p=null===f,m=f==f,y=isSymbol(f);if(o)var g=n||m;else g=l?m&&(n||h):u?m&&h&&(n||!p):c?m&&h&&!p&&(n||!y):!p&&!y&&(n?f<=t:f<t);g?a=d+1:s=d}return qt(s,4294967294)}function baseSortedUniq(e,t){for(var r=-1,n=e.length,i=0,a=[];++r<n;){var s=e[r],o=t?t(s):s;if(!r||!eq(o,u)){var u=o;a[i++]=0===s?0:s}}return a}function baseToNumber(e){return"number"==typeof e?e:isSymbol(e)?m:+e}function baseToString(e){if("string"==typeof e)return e;if(nn(e))return arrayMap(e,baseToString)+"";if(isSymbol(e))return Xt?Xt.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function baseUniq(e,t,r){var n=-1,i=arrayIncludes,a=e.length,s=!0,o=[],u=o;if(r)s=!1,i=arrayIncludesWith;else if(a>=200){var c=t?null:cr(e);if(c)return setToArray(c);s=!1,i=cacheHas,u=new SetCache}else u=t?[]:o;e:for(;++n<a;){var l=e[n],d=t?t(l):l;if(l=r||0!==l?l:0,s&&d==d){for(var f=u.length;f--;)if(u[f]===d)continue e;t&&u.push(d),o.push(l)}else i(u,d,r)||(u!==o&&u.push(d),o.push(l))}return o}function baseUnset(e,t){return null==(e=parent(e,t=castPath(t,e)))||delete e[toKey(last(t))]}function baseUpdate(e,t,r,n){return baseSet(e,t,r(baseGet(e,t)),n)}function baseWhile(e,t,r,n){for(var i=e.length,a=n?i:-1;(n?a--:++a<i)&&t(e[a],a,e););return r?baseSlice(e,n?0:a,n?a+1:i):baseSlice(e,n?a+1:0,n?i:a)}function baseWrapperValue(e,t){var r=e;return r instanceof LazyWrapper&&(r=r.value()),arrayReduce(t,(function(e,t){return t.func.apply(t.thisArg,arrayPush([e],t.args))}),r)}function baseXor(e,t,n){var i=e.length;if(i<2)return i?baseUniq(e[0]):[];for(var a=-1,s=r(i);++a<i;)for(var o=e[a],u=-1;++u<i;)u!=a&&(s[a]=baseDifference(s[a]||o,e[u],t,n));return baseUniq(baseFlatten(s,1),t,n)}function baseZipObject(e,t,r){for(var n=-1,a=e.length,s=t.length,o={};++n<a;){var u=n<s?t[n]:i;r(o,e[n],u)}return o}function castArrayLikeObject(e){return isArrayLikeObject(e)?e:[]}function castFunction(e){return"function"==typeof e?e:identity}function castPath(e,t){return nn(e)?e:isKey(e,t)?[e]:br(toString(e))}var or=baseRest;function castSlice(e,t,r){var n=e.length;return r=r===i?n:r,!t&&r>=n?e:baseSlice(e,t,r)}var ur=ut||function(e){return ht.clearTimeout(e)};function cloneBuffer(e,t){if(t)return e.slice();var r=e.length,n=Be?Be(r):new e.constructor(r);return e.copy(n),n}function cloneArrayBuffer(e){var t=new e.constructor(e.byteLength);return new $e(t).set(new $e(e)),t}function cloneTypedArray(e,t){var r=t?cloneArrayBuffer(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}function compareAscending(e,t){if(e!==t){var r=e!==i,n=null===e,a=e==e,s=isSymbol(e),o=t!==i,u=null===t,c=t==t,l=isSymbol(t);if(!u&&!l&&!s&&e>t||s&&o&&c&&!u&&!l||n&&o&&c||!r&&c||!a)return 1;if(!n&&!s&&!l&&e<t||l&&r&&a&&!n&&!s||u&&r&&a||!o&&a||!c)return-1}return 0}function composeArgs(e,t,n,i){for(var a=-1,s=e.length,o=n.length,u=-1,c=t.length,l=jt(s-o,0),d=r(c+l),f=!i;++u<c;)d[u]=t[u];for(;++a<o;)(f||a<s)&&(d[n[a]]=e[a]);for(;l--;)d[u++]=e[a++];return d}function composeArgsRight(e,t,n,i){for(var a=-1,s=e.length,o=-1,u=n.length,c=-1,l=t.length,d=jt(s-u,0),f=r(d+l),h=!i;++a<d;)f[a]=e[a];for(var p=a;++c<l;)f[p+c]=t[c];for(;++o<u;)(h||a<s)&&(f[p+n[o]]=e[a++]);return f}function copyArray(e,t){var n=-1,i=e.length;for(t||(t=r(i));++n<i;)t[n]=e[n];return t}function copyObject(e,t,r,n){var a=!r;r||(r={});for(var s=-1,o=t.length;++s<o;){var u=t[s],c=n?n(r[u],e[u],u,r,e):i;c===i&&(c=e[u]),a?baseAssignValue(r,u,c):assignValue(r,u,c)}return r}function createAggregator(e,t){return function(r,n){var i=nn(r)?arrayAggregator:baseAggregator,a=t?t():{};return i(r,e,getIteratee(n,2),a)}}function createAssigner(e){return baseRest((function(t,r){var n=-1,a=r.length,s=a>1?r[a-1]:i,o=a>2?r[2]:i;for(s=e.length>3&&"function"==typeof s?(a--,s):i,o&&isIterateeCall(r[0],r[1],o)&&(s=a<3?i:s,a=1),t=Se(t);++n<a;){var u=r[n];u&&e(t,u,n,s)}return t}))}function createBaseEach(e,t){return function(r,n){if(null==r)return r;if(!isArrayLike(r))return e(r,n);for(var i=r.length,a=t?i:-1,s=Se(r);(t?a--:++a<i)&&!1!==n(s[a],a,s););return r}}function createBaseFor(e){return function(t,r,n){for(var i=-1,a=Se(t),s=n(t),o=s.length;o--;){var u=s[e?o:++i];if(!1===r(a[u],u,a))break}return t}}function createCaseFirst(e){return function(t){var r=hasUnicode(t=toString(t))?stringToArray(t):i,n=r?r[0]:t.charAt(0),a=r?castSlice(r,1).join(""):t.slice(1);return n[e]()+a}}function createCompounder(e){return function(t){return arrayReduce(words(deburr(t).replace(Je,"")),e,"")}}function createCtor(e){return function(){var t=arguments;switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3]);case 5:return new e(t[0],t[1],t[2],t[3],t[4]);case 6:return new e(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var r=er(e.prototype),n=e.apply(r,t);return isObject(n)?n:r}}function createFind(e){return function(t,r,n){var a=Se(t);if(!isArrayLike(t)){var s=getIteratee(r,3);t=keys(t),r=function(e){return s(a[e],e,a)}}var o=e(t,r,n);return o>-1?a[s?t[o]:o]:i}}function createFlow(e){return flatRest((function(t){var r=t.length,n=r,s=LodashWrapper.prototype.thru;for(e&&t.reverse();n--;){var o=t[n];if("function"!=typeof o)throw new Ee(a);if(s&&!u&&"wrapper"==getFuncName(o))var u=new LodashWrapper([],!0)}for(n=u?n:r;++n<r;){var c=getFuncName(o=t[n]),l="wrapper"==c?lr(o):i;u=l&&isLaziable(l[0])&&424==l[1]&&!l[4].length&&1==l[9]?u[getFuncName(l[0])].apply(u,l[3]):1==o.length&&isLaziable(o)?u[c]():u.thru(o)}return function(){var e=arguments,n=e[0];if(u&&1==e.length&&nn(n))return u.plant(n).value();for(var i=0,a=r?t[i].apply(this,e):n;++i<r;)a=t[i].call(this,a);return a}}))}function createHybrid(e,t,n,a,s,o,u,c,l,f){var h=t&d,p=1&t,m=2&t,y=24&t,g=512&t,b=m?i:createCtor(e);return function wrapper(){for(var i=arguments.length,d=r(i),v=i;v--;)d[v]=arguments[v];if(y)var _=getHolder(wrapper),w=countHolders(d,_);if(a&&(d=composeArgs(d,a,s,y)),o&&(d=composeArgsRight(d,o,u,y)),i-=w,y&&i<f){var I=replaceHolders(d,_);return createRecurry(e,t,createHybrid,wrapper.placeholder,n,d,I,c,l,f-i)}var O=p?n:this,R=m?O[e]:e;return i=d.length,c?d=reorder(d,c):g&&i>1&&d.reverse(),h&&l<i&&(d.length=l),this&&this!==ht&&this instanceof wrapper&&(R=b||createCtor(R)),R.apply(O,d)}}function createInverter(e,t){return function(r,n){return function baseInverter(e,t,r,n){return baseForOwn(e,(function(e,i,a){t(n,r(e),i,a)})),n}(r,e,t(n),{})}}function createMathOperation(e,t){return function(r,n){var a;if(r===i&&n===i)return t;if(r!==i&&(a=r),n!==i){if(a===i)return n;"string"==typeof r||"string"==typeof n?(r=baseToString(r),n=baseToString(n)):(r=baseToNumber(r),n=baseToNumber(n)),a=e(r,n)}return a}}function createOver(e){return flatRest((function(t){return t=arrayMap(t,baseUnary(getIteratee())),baseRest((function(r){var n=this;return e(t,(function(e){return apply(e,n,r)}))}))}))}function createPadding(e,t){var r=(t=t===i?" ":baseToString(t)).length;if(r<2)return r?baseRepeat(t,e):t;var n=baseRepeat(t,pt(e/stringSize(t)));return hasUnicode(t)?castSlice(stringToArray(n),0,e).join(""):n.slice(0,e)}function createRange(e){return function(t,n,a){return a&&"number"!=typeof a&&isIterateeCall(t,n,a)&&(n=a=i),t=toFinite(t),n===i?(n=t,t=0):n=toFinite(n),function baseRange(e,t,n,i){for(var a=-1,s=jt(pt((t-e)/(n||1)),0),o=r(s);s--;)o[i?s:++a]=e,e+=n;return o}(t,n,a=a===i?t<n?1:-1:toFinite(a),e)}}function createRelationalOperation(e){return function(t,r){return"string"==typeof t&&"string"==typeof r||(t=toNumber(t),r=toNumber(r)),e(t,r)}}function createRecurry(e,t,r,n,a,s,o,u,d,f){var h=8&t;t|=h?c:l,4&(t&=~(h?l:c))||(t&=-4);var p=[e,t,a,h?s:i,h?o:i,h?i:s,h?i:o,u,d,f],m=r.apply(i,p);return isLaziable(e)&&mr(m,p),m.placeholder=n,setWrapToString(m,e,t)}function createRound(e){var t=Ae[e];return function(e,r){if(e=toNumber(e),(r=null==r?0:qt(toInteger(r),292))&&At(e)){var n=(toString(e)+"e").split("e");return+((n=(toString(t(n[0]+"e"+(+n[1]+r)))+"e").split("e"))[0]+"e"+(+n[1]-r))}return t(e)}}var cr=Vt&&1/setToArray(new Vt([,-0]))[1]==h?function(e){return new Vt(e)}:noop;function createToPairs(e){return function(t){var r=hr(t);return r==A?mapToArray(t):r==L?setToPairs(t):function baseToPairs(e,t){return arrayMap(t,(function(t){return[t,e[t]]}))}(t,e(t))}}function createWrap(e,t,n,s,h,p,m,y){var g=2&t;if(!g&&"function"!=typeof e)throw new Ee(a);var b=s?s.length:0;if(b||(t&=-97,s=h=i),m=m===i?m:jt(toInteger(m),0),y=y===i?y:toInteger(y),b-=h?h.length:0,t&l){var v=s,_=h;s=h=i}var w=g?i:lr(e),I=[e,t,n,s,h,v,_,p,m,y];if(w&&function mergeData(e,t){var r=e[1],n=t[1],i=r|n,a=i<131,s=n==d&&8==r||n==d&&r==f&&e[7].length<=t[8]||384==n&&t[7].length<=t[8]&&8==r;if(!a&&!s)return e;1&n&&(e[2]=t[2],i|=1&r?0:4);var u=t[3];if(u){var c=e[3];e[3]=c?composeArgs(c,u,t[4]):u,e[4]=c?replaceHolders(e[3],o):t[4]}(u=t[5])&&(c=e[5],e[5]=c?composeArgsRight(c,u,t[6]):u,e[6]=c?replaceHolders(e[5],o):t[6]);(u=t[7])&&(e[7]=u);n&d&&(e[8]=null==e[8]?t[8]:qt(e[8],t[8]));null==e[9]&&(e[9]=t[9]);return e[0]=t[0],e[1]=i,e}(I,w),e=I[0],t=I[1],n=I[2],s=I[3],h=I[4],!(y=I[9]=I[9]===i?g?0:e.length:jt(I[9]-b,0))&&24&t&&(t&=-25),t&&1!=t)O=8==t||t==u?function createCurry(e,t,n){var a=createCtor(e);return function wrapper(){for(var s=arguments.length,o=r(s),u=s,c=getHolder(wrapper);u--;)o[u]=arguments[u];var l=s<3&&o[0]!==c&&o[s-1]!==c?[]:replaceHolders(o,c);return(s-=l.length)<n?createRecurry(e,t,createHybrid,wrapper.placeholder,i,o,l,i,i,n-s):apply(this&&this!==ht&&this instanceof wrapper?a:e,this,o)}}(e,t,y):t!=c&&33!=t||h.length?createHybrid.apply(i,I):function createPartial(e,t,n,i){var a=1&t,s=createCtor(e);return function wrapper(){for(var t=-1,o=arguments.length,u=-1,c=i.length,l=r(c+o),d=this&&this!==ht&&this instanceof wrapper?s:e;++u<c;)l[u]=i[u];for(;o--;)l[u++]=arguments[++t];return apply(d,a?n:this,l)}}(e,t,n,s);else var O=function createBind(e,t,r){var n=1&t,i=createCtor(e);return function wrapper(){return(this&&this!==ht&&this instanceof wrapper?i:e).apply(n?r:this,arguments)}}(e,t,n);return setWrapToString((w?ar:mr)(O,I),e,t)}function customDefaultsAssignIn(e,t,r,n){return e===i||eq(e,je[r])&&!ke.call(n,r)?t:e}function customDefaultsMerge(e,t,r,n,a,s){return isObject(e)&&isObject(t)&&(s.set(t,e),baseMerge(e,t,i,customDefaultsMerge,s),s.delete(t)),e}function customOmitClone(e){return isPlainObject(e)?i:e}function equalArrays(e,t,r,n,a,s){var o=1&r,u=e.length,c=t.length;if(u!=c&&!(o&&c>u))return!1;var l=s.get(e),d=s.get(t);if(l&&d)return l==t&&d==e;var f=-1,h=!0,p=2&r?new SetCache:i;for(s.set(e,t),s.set(t,e);++f<u;){var m=e[f],y=t[f];if(n)var g=o?n(y,m,f,t,e,s):n(m,y,f,e,t,s);if(g!==i){if(g)continue;h=!1;break}if(p){if(!arraySome(t,(function(e,t){if(!cacheHas(p,t)&&(m===e||a(m,e,r,n,s)))return p.push(t)}))){h=!1;break}}else if(m!==y&&!a(m,y,r,n,s)){h=!1;break}}return s.delete(e),s.delete(t),h}function flatRest(e){return gr(overRest(e,i,flatten),e+"")}function getAllKeys(e){return baseGetAllKeys(e,keys,dr)}function getAllKeysIn(e){return baseGetAllKeys(e,keysIn,fr)}var lr=$t?function(e){return $t.get(e)}:noop;function getFuncName(e){for(var t=e.name+"",r=Bt[t],n=ke.call(Bt,t)?r.length:0;n--;){var i=r[n],a=i.func;if(null==a||a==e)return i.name}return t}function getHolder(e){return(ke.call(lodash,"placeholder")?lodash:e).placeholder}function getIteratee(){var e=lodash.iteratee||iteratee;return e=e===iteratee?baseIteratee:e,arguments.length?e(arguments[0],arguments[1]):e}function getMapData(e,t){var r=e.__data__;return function isKeyable(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}(t)?r["string"==typeof t?"string":"hash"]:r.map}function getMatchData(e){for(var t=keys(e),r=t.length;r--;){var n=t[r],i=e[n];t[r]=[n,i,isStrictComparable(i)]}return t}function getNative(e,t){var r=function getValue(e,t){return null==e?i:e[t]}(e,t);return baseIsNative(r)?r:i}var dr=gt?function(e){return null==e?[]:(e=Se(e),arrayFilter(gt(e),(function(t){return He.call(e,t)})))}:stubArray,fr=gt?function(e){for(var t=[];e;)arrayPush(t,dr(e)),e=Ze(e);return t}:stubArray,hr=baseGetTag;function hasPath(e,t,r){for(var n=-1,i=(t=castPath(t,e)).length,a=!1;++n<i;){var s=toKey(t[n]);if(!(a=null!=e&&r(e,s)))break;e=e[s]}return a||++n!=i?a:!!(i=null==e?0:e.length)&&isLength(i)&&isIndex(s,i)&&(nn(e)||rn(e))}function initCloneObject(e){return"function"!=typeof e.constructor||isPrototype(e)?{}:er(Ze(e))}function isFlattenable(e){return nn(e)||rn(e)||!!(Ye&&e&&e[Ye])}function isIndex(e,t){var r=typeof e;return!!(t=null==t?p:t)&&("number"==r||"symbol"!=r&&_e.test(e))&&e>-1&&e%1==0&&e<t}function isIterateeCall(e,t,r){if(!isObject(r))return!1;var n=typeof t;return!!("number"==n?isArrayLike(r)&&isIndex(t,r.length):"string"==n&&t in r)&&eq(r[t],e)}function isKey(e,t){if(nn(e))return!1;var r=typeof e;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!isSymbol(e))||(re.test(e)||!te.test(e)||null!=t&&e in Se(t))}function isLaziable(e){var t=getFuncName(e),r=lodash[t];if("function"!=typeof r||!(t in LazyWrapper.prototype))return!1;if(e===r)return!0;var n=lr(r);return!!n&&e===n[0]}(Ft&&hr(new Ft(new ArrayBuffer(1)))!=k||Nt&&hr(new Nt)!=A||zt&&hr(zt.resolve())!=T||Vt&&hr(new Vt)!=L||Ut&&hr(new Ut)!=q)&&(hr=function(e){var t=baseGetTag(e),r=t==C?e.constructor:i,n=r?toSource(r):"";if(n)switch(n){case Zt:return k;case Gt:return A;case Ht:return T;case Kt:return L;case Yt:return q}return t});var pr=qe?isFunction:stubFalse;function isPrototype(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||je)}function isStrictComparable(e){return e==e&&!isObject(e)}function matchesStrictComparable(e,t){return function(r){return null!=r&&(r[e]===t&&(t!==i||e in Se(r)))}}function overRest(e,t,n){return t=jt(t===i?e.length-1:t,0),function(){for(var i=arguments,a=-1,s=jt(i.length-t,0),o=r(s);++a<s;)o[a]=i[t+a];a=-1;for(var u=r(t+1);++a<t;)u[a]=i[a];return u[t]=n(o),apply(e,this,u)}}function parent(e,t){return t.length<2?e:baseGet(e,baseSlice(t,0,-1))}function reorder(e,t){for(var r=e.length,n=qt(t.length,r),a=copyArray(e);n--;){var s=t[n];e[n]=isIndex(s,r)?a[s]:i}return e}function safeGet(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}var mr=shortOut(ar),yr=ft||function(e,t){return ht.setTimeout(e,t)},gr=shortOut(sr);function setWrapToString(e,t,r){var n=t+"";return gr(e,function insertWrapDetails(e,t){var r=t.length;if(!r)return e;var n=r-1;return t[n]=(r>1?"& ":"")+t[n],t=t.join(r>2?", ":" "),e.replace(ue,"{\n/* [wrapped with "+t+"] */\n")}(n,function updateWrapDetails(e,t){return arrayEach(g,(function(r){var n="_."+r[0];t&r[1]&&!arrayIncludes(e,n)&&e.push(n)})),e.sort()}(function getWrapDetails(e){var t=e.match(ce);return t?t[1].split(le):[]}(n),r)))}function shortOut(e){var t=0,r=0;return function(){var n=xt(),a=16-(n-r);if(r=n,a>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(i,arguments)}}function shuffleSelf(e,t){var r=-1,n=e.length,a=n-1;for(t=t===i?n:t;++r<t;){var s=baseRandom(r,a),o=e[s];e[s]=e[r],e[r]=o}return e.length=t,e}var br=function memoizeCapped(e){var t=memoize(e,(function(e){return 500===r.size&&r.clear(),e})),r=t.cache;return t}((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(ne,(function(e,r,n,i){t.push(n?i.replace(he,"$1"):r||e)})),t}));function toKey(e){if("string"==typeof e||isSymbol(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function toSource(e){if(null!=e){try{return xe.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function wrapperClone(e){if(e instanceof LazyWrapper)return e.clone();var t=new LodashWrapper(e.__wrapped__,e.__chain__);return t.__actions__=copyArray(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}var vr=baseRest((function(e,t){return isArrayLikeObject(e)?baseDifference(e,baseFlatten(t,1,isArrayLikeObject,!0)):[]})),_r=baseRest((function(e,t){var r=last(t);return isArrayLikeObject(r)&&(r=i),isArrayLikeObject(e)?baseDifference(e,baseFlatten(t,1,isArrayLikeObject,!0),getIteratee(r,2)):[]})),wr=baseRest((function(e,t){var r=last(t);return isArrayLikeObject(r)&&(r=i),isArrayLikeObject(e)?baseDifference(e,baseFlatten(t,1,isArrayLikeObject,!0),i,r):[]}));function findIndex(e,t,r){var n=null==e?0:e.length;if(!n)return-1;var i=null==r?0:toInteger(r);return i<0&&(i=jt(n+i,0)),baseFindIndex(e,getIteratee(t,3),i)}function findLastIndex(e,t,r){var n=null==e?0:e.length;if(!n)return-1;var a=n-1;return r!==i&&(a=toInteger(r),a=r<0?jt(n+a,0):qt(a,n-1)),baseFindIndex(e,getIteratee(t,3),a,!0)}function flatten(e){return(null==e?0:e.length)?baseFlatten(e,1):[]}function head(e){return e&&e.length?e[0]:i}var Ir=baseRest((function(e){var t=arrayMap(e,castArrayLikeObject);return t.length&&t[0]===e[0]?baseIntersection(t):[]})),Or=baseRest((function(e){var t=last(e),r=arrayMap(e,castArrayLikeObject);return t===last(r)?t=i:r.pop(),r.length&&r[0]===e[0]?baseIntersection(r,getIteratee(t,2)):[]})),Rr=baseRest((function(e){var t=last(e),r=arrayMap(e,castArrayLikeObject);return(t="function"==typeof t?t:i)&&r.pop(),r.length&&r[0]===e[0]?baseIntersection(r,i,t):[]}));function last(e){var t=null==e?0:e.length;return t?e[t-1]:i}var Ar=baseRest(pullAll);function pullAll(e,t){return e&&e.length&&t&&t.length?basePullAll(e,t):e}var Sr=flatRest((function(e,t){var r=null==e?0:e.length,n=baseAt(e,t);return basePullAt(e,arrayMap(t,(function(e){return isIndex(e,r)?+e:e})).sort(compareAscending)),n}));function reverse(e){return null==e?e:Dt.call(e)}var Cr=baseRest((function(e){return baseUniq(baseFlatten(e,1,isArrayLikeObject,!0))})),Tr=baseRest((function(e){var t=last(e);return isArrayLikeObject(t)&&(t=i),baseUniq(baseFlatten(e,1,isArrayLikeObject,!0),getIteratee(t,2))})),Er=baseRest((function(e){var t=last(e);return t="function"==typeof t?t:i,baseUniq(baseFlatten(e,1,isArrayLikeObject,!0),i,t)}));function unzip(e){if(!e||!e.length)return[];var t=0;return e=arrayFilter(e,(function(e){if(isArrayLikeObject(e))return t=jt(e.length,t),!0})),baseTimes(t,(function(t){return arrayMap(e,baseProperty(t))}))}function unzipWith(e,t){if(!e||!e.length)return[];var r=unzip(e);return null==t?r:arrayMap(r,(function(e){return apply(t,i,e)}))}var Lr=baseRest((function(e,t){return isArrayLikeObject(e)?baseDifference(e,t):[]})),Pr=baseRest((function(e){return baseXor(arrayFilter(e,isArrayLikeObject))})),jr=baseRest((function(e){var t=last(e);return isArrayLikeObject(t)&&(t=i),baseXor(arrayFilter(e,isArrayLikeObject),getIteratee(t,2))})),qr=baseRest((function(e){var t=last(e);return t="function"==typeof t?t:i,baseXor(arrayFilter(e,isArrayLikeObject),i,t)})),xr=baseRest(unzip);var kr=baseRest((function(e){var t=e.length,r=t>1?e[t-1]:i;return r="function"==typeof r?(e.pop(),r):i,unzipWith(e,r)}));function chain(e){var t=lodash(e);return t.__chain__=!0,t}function thru(e,t){return t(e)}var Mr=flatRest((function(e){var t=e.length,r=t?e[0]:0,n=this.__wrapped__,interceptor=function(t){return baseAt(t,e)};return!(t>1||this.__actions__.length)&&n instanceof LazyWrapper&&isIndex(r)?((n=n.slice(r,+r+(t?1:0))).__actions__.push({func:thru,args:[interceptor],thisArg:i}),new LodashWrapper(n,this.__chain__).thru((function(e){return t&&!e.length&&e.push(i),e}))):this.thru(interceptor)}));var Dr=createAggregator((function(e,t,r){ke.call(e,r)?++e[r]:baseAssignValue(e,r,1)}));var Fr=createFind(findIndex),Nr=createFind(findLastIndex);function forEach(e,t){return(nn(e)?arrayEach:tr)(e,getIteratee(t,3))}function forEachRight(e,t){return(nn(e)?arrayEachRight:rr)(e,getIteratee(t,3))}var zr=createAggregator((function(e,t,r){ke.call(e,r)?e[r].push(t):baseAssignValue(e,r,[t])}));var Vr=baseRest((function(e,t,n){var i=-1,a="function"==typeof t,s=isArrayLike(e)?r(e.length):[];return tr(e,(function(e){s[++i]=a?apply(t,e,n):baseInvoke(e,t,n)})),s})),Ur=createAggregator((function(e,t,r){baseAssignValue(e,r,t)}));function map(e,t){return(nn(e)?arrayMap:baseMap)(e,getIteratee(t,3))}var Wr=createAggregator((function(e,t,r){e[r?0:1].push(t)}),(function(){return[[],[]]}));var $r=baseRest((function(e,t){if(null==e)return[];var r=t.length;return r>1&&isIterateeCall(e,t[0],t[1])?t=[]:r>2&&isIterateeCall(t[0],t[1],t[2])&&(t=[t[0]]),baseOrderBy(e,baseFlatten(t,1),[])})),Br=dt||function(){return ht.Date.now()};function ary(e,t,r){return t=r?i:t,t=e&&null==t?e.length:t,createWrap(e,d,i,i,i,i,t)}function before(e,t){var r;if("function"!=typeof t)throw new Ee(a);return e=toInteger(e),function(){return--e>0&&(r=t.apply(this,arguments)),e<=1&&(t=i),r}}var Zr=baseRest((function(e,t,r){var n=1;if(r.length){var i=replaceHolders(r,getHolder(Zr));n|=c}return createWrap(e,n,t,r,i)})),Gr=baseRest((function(e,t,r){var n=3;if(r.length){var i=replaceHolders(r,getHolder(Gr));n|=c}return createWrap(t,n,e,r,i)}));function debounce(e,t,r){var n,s,o,u,c,l,d=0,f=!1,h=!1,p=!0;if("function"!=typeof e)throw new Ee(a);function invokeFunc(t){var r=n,a=s;return n=s=i,d=t,u=e.apply(a,r)}function leadingEdge(e){return d=e,c=yr(timerExpired,t),f?invokeFunc(e):u}function shouldInvoke(e){var r=e-l;return l===i||r>=t||r<0||h&&e-d>=o}function timerExpired(){var e=Br();if(shouldInvoke(e))return trailingEdge(e);c=yr(timerExpired,function remainingWait(e){var r=t-(e-l);return h?qt(r,o-(e-d)):r}(e))}function trailingEdge(e){return c=i,p&&n?invokeFunc(e):(n=s=i,u)}function debounced(){var e=Br(),r=shouldInvoke(e);if(n=arguments,s=this,l=e,r){if(c===i)return leadingEdge(l);if(h)return ur(c),c=yr(timerExpired,t),invokeFunc(l)}return c===i&&(c=yr(timerExpired,t)),u}return t=toNumber(t)||0,isObject(r)&&(f=!!r.leading,o=(h="maxWait"in r)?jt(toNumber(r.maxWait)||0,t):o,p="trailing"in r?!!r.trailing:p),debounced.cancel=function cancel(){c!==i&&ur(c),d=0,n=l=s=c=i},debounced.flush=function flush(){return c===i?u:trailingEdge(Br())},debounced}var Hr=baseRest((function(e,t){return baseDelay(e,1,t)})),Kr=baseRest((function(e,t,r){return baseDelay(e,toNumber(t)||0,r)}));function memoize(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new Ee(a);var memoized=function(){var r=arguments,n=t?t.apply(this,r):r[0],i=memoized.cache;if(i.has(n))return i.get(n);var a=e.apply(this,r);return memoized.cache=i.set(n,a)||i,a};return memoized.cache=new(memoize.Cache||MapCache),memoized}function negate(e){if("function"!=typeof e)throw new Ee(a);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}memoize.Cache=MapCache;var Yr=or((function(e,t){var r=(t=1==t.length&&nn(t[0])?arrayMap(t[0],baseUnary(getIteratee())):arrayMap(baseFlatten(t,1),baseUnary(getIteratee()))).length;return baseRest((function(n){for(var i=-1,a=qt(n.length,r);++i<a;)n[i]=t[i].call(this,n[i]);return apply(e,this,n)}))})),Qr=baseRest((function(e,t){var r=replaceHolders(t,getHolder(Qr));return createWrap(e,c,i,t,r)})),Jr=baseRest((function(e,t){var r=replaceHolders(t,getHolder(Jr));return createWrap(e,l,i,t,r)})),Xr=flatRest((function(e,t){return createWrap(e,f,i,i,i,t)}));function eq(e,t){return e===t||e!=e&&t!=t}var en=createRelationalOperation(baseGt),tn=createRelationalOperation((function(e,t){return e>=t})),rn=baseIsArguments(function(){return arguments}())?baseIsArguments:function(e){return isObjectLike(e)&&ke.call(e,"callee")&&!He.call(e,"callee")},nn=r.isArray,an=vt?baseUnary(vt):function baseIsArrayBuffer(e){return isObjectLike(e)&&baseGetTag(e)==x};function isArrayLike(e){return null!=e&&isLength(e.length)&&!isFunction(e)}function isArrayLikeObject(e){return isObjectLike(e)&&isArrayLike(e)}var sn=bt||stubFalse,on=_t?baseUnary(_t):function baseIsDate(e){return isObjectLike(e)&&baseGetTag(e)==w};function isError(e){if(!isObjectLike(e))return!1;var t=baseGetTag(e);return t==I||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!isPlainObject(e)}function isFunction(e){if(!isObject(e))return!1;var t=baseGetTag(e);return t==O||t==R||"[object AsyncFunction]"==t||"[object Proxy]"==t}function isInteger(e){return"number"==typeof e&&e==toInteger(e)}function isLength(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=p}function isObject(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function isObjectLike(e){return null!=e&&"object"==typeof e}var un=wt?baseUnary(wt):function baseIsMap(e){return isObjectLike(e)&&hr(e)==A};function isNumber(e){return"number"==typeof e||isObjectLike(e)&&baseGetTag(e)==S}function isPlainObject(e){if(!isObjectLike(e)||baseGetTag(e)!=C)return!1;var t=Ze(e);if(null===t)return!0;var r=ke.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&xe.call(r)==Ne}var cn=It?baseUnary(It):function baseIsRegExp(e){return isObjectLike(e)&&baseGetTag(e)==E};var ln=Ot?baseUnary(Ot):function baseIsSet(e){return isObjectLike(e)&&hr(e)==L};function isString(e){return"string"==typeof e||!nn(e)&&isObjectLike(e)&&baseGetTag(e)==P}function isSymbol(e){return"symbol"==typeof e||isObjectLike(e)&&baseGetTag(e)==j}var dn=Rt?baseUnary(Rt):function baseIsTypedArray(e){return isObjectLike(e)&&isLength(e.length)&&!!st[baseGetTag(e)]};var fn=createRelationalOperation(baseLt),hn=createRelationalOperation((function(e,t){return e<=t}));function toArray(e){if(!e)return[];if(isArrayLike(e))return isString(e)?stringToArray(e):copyArray(e);if(Qe&&e[Qe])return function iteratorToArray(e){for(var t,r=[];!(t=e.next()).done;)r.push(t.value);return r}(e[Qe]());var t=hr(e);return(t==A?mapToArray:t==L?setToArray:values)(e)}function toFinite(e){return e?(e=toNumber(e))===h||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function toInteger(e){var t=toFinite(e),r=t%1;return t==t?r?t-r:t:0}function toLength(e){return e?baseClamp(toInteger(e),0,y):0}function toNumber(e){if("number"==typeof e)return e;if(isSymbol(e))return m;if(isObject(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=isObject(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=baseTrim(e);var r=ge.test(e);return r||ve.test(e)?lt(e.slice(2),r?2:8):ye.test(e)?m:+e}function toPlainObject(e){return copyObject(e,keysIn(e))}function toString(e){return null==e?"":baseToString(e)}var pn=createAssigner((function(e,t){if(isPrototype(t)||isArrayLike(t))copyObject(t,keys(t),e);else for(var r in t)ke.call(t,r)&&assignValue(e,r,t[r])})),mn=createAssigner((function(e,t){copyObject(t,keysIn(t),e)})),yn=createAssigner((function(e,t,r,n){copyObject(t,keysIn(t),e,n)})),gn=createAssigner((function(e,t,r,n){copyObject(t,keys(t),e,n)})),bn=flatRest(baseAt);var vn=baseRest((function(e,t){e=Se(e);var r=-1,n=t.length,a=n>2?t[2]:i;for(a&&isIterateeCall(t[0],t[1],a)&&(n=1);++r<n;)for(var s=t[r],o=keysIn(s),u=-1,c=o.length;++u<c;){var l=o[u],d=e[l];(d===i||eq(d,je[l])&&!ke.call(e,l))&&(e[l]=s[l])}return e})),_n=baseRest((function(e){return e.push(i,customDefaultsMerge),apply(An,i,e)}));function get(e,t,r){var n=null==e?i:baseGet(e,t);return n===i?r:n}function hasIn(e,t){return null!=e&&hasPath(e,t,baseHasIn)}var wn=createInverter((function(e,t,r){null!=t&&"function"!=typeof t.toString&&(t=Fe.call(t)),e[t]=r}),constant(identity)),In=createInverter((function(e,t,r){null!=t&&"function"!=typeof t.toString&&(t=Fe.call(t)),ke.call(e,t)?e[t].push(r):e[t]=[r]}),getIteratee),On=baseRest(baseInvoke);function keys(e){return isArrayLike(e)?arrayLikeKeys(e):baseKeys(e)}function keysIn(e){return isArrayLike(e)?arrayLikeKeys(e,!0):baseKeysIn(e)}var Rn=createAssigner((function(e,t,r){baseMerge(e,t,r)})),An=createAssigner((function(e,t,r,n){baseMerge(e,t,r,n)})),Sn=flatRest((function(e,t){var r={};if(null==e)return r;var n=!1;t=arrayMap(t,(function(t){return t=castPath(t,e),n||(n=t.length>1),t})),copyObject(e,getAllKeysIn(e),r),n&&(r=baseClone(r,7,customOmitClone));for(var i=t.length;i--;)baseUnset(r,t[i]);return r}));var Cn=flatRest((function(e,t){return null==e?{}:function basePick(e,t){return basePickBy(e,t,(function(t,r){return hasIn(e,r)}))}(e,t)}));function pickBy(e,t){if(null==e)return{};var r=arrayMap(getAllKeysIn(e),(function(e){return[e]}));return t=getIteratee(t),basePickBy(e,r,(function(e,r){return t(e,r[0])}))}var Tn=createToPairs(keys),En=createToPairs(keysIn);function values(e){return null==e?[]:baseValues(e,keys(e))}var Ln=createCompounder((function(e,t,r){return t=t.toLowerCase(),e+(r?capitalize(t):t)}));function capitalize(e){return Dn(toString(e).toLowerCase())}function deburr(e){return(e=toString(e))&&e.replace(we,St).replace(Xe,"")}var Pn=createCompounder((function(e,t,r){return e+(r?"-":"")+t.toLowerCase()})),jn=createCompounder((function(e,t,r){return e+(r?" ":"")+t.toLowerCase()})),qn=createCaseFirst("toLowerCase");var xn=createCompounder((function(e,t,r){return e+(r?"_":"")+t.toLowerCase()}));var kn=createCompounder((function(e,t,r){return e+(r?" ":"")+Dn(t)}));var Mn=createCompounder((function(e,t,r){return e+(r?" ":"")+t.toUpperCase()})),Dn=createCaseFirst("toUpperCase");function words(e,t,r){return e=toString(e),(t=r?i:t)===i?function hasUnicodeWord(e){return nt.test(e)}(e)?function unicodeWords(e){return e.match(tt)||[]}(e):function asciiWords(e){return e.match(de)||[]}(e):e.match(t)||[]}var Fn=baseRest((function(e,t){try{return apply(e,i,t)}catch(e){return isError(e)?e:new oe(e)}})),Nn=flatRest((function(e,t){return arrayEach(t,(function(t){t=toKey(t),baseAssignValue(e,t,Zr(e[t],e))})),e}));function constant(e){return function(){return e}}var zn=createFlow(),Vn=createFlow(!0);function identity(e){return e}function iteratee(e){return baseIteratee("function"==typeof e?e:baseClone(e,1))}var Un=baseRest((function(e,t){return function(r){return baseInvoke(r,e,t)}})),Wn=baseRest((function(e,t){return function(r){return baseInvoke(e,r,t)}}));function mixin(e,t,r){var n=keys(t),i=baseFunctions(t,n);null!=r||isObject(t)&&(i.length||!n.length)||(r=t,t=e,e=this,i=baseFunctions(t,keys(t)));var a=!(isObject(r)&&"chain"in r&&!r.chain),s=isFunction(e);return arrayEach(i,(function(r){var n=t[r];e[r]=n,s&&(e.prototype[r]=function(){var t=this.__chain__;if(a||t){var r=e(this.__wrapped__),i=r.__actions__=copyArray(this.__actions__);return i.push({func:n,args:arguments,thisArg:e}),r.__chain__=t,r}return n.apply(e,arrayPush([this.value()],arguments))})})),e}function noop(){}var $n=createOver(arrayMap),Bn=createOver(arrayEvery),Zn=createOver(arraySome);function property(e){return isKey(e)?baseProperty(toKey(e)):function basePropertyDeep(e){return function(t){return baseGet(t,e)}}(e)}var Gn=createRange(),Hn=createRange(!0);function stubArray(){return[]}function stubFalse(){return!1}var Kn=createMathOperation((function(e,t){return e+t}),0),Yn=createRound("ceil"),Qn=createMathOperation((function(e,t){return e/t}),1),Jn=createRound("floor");var Xn,ei=createMathOperation((function(e,t){return e*t}),1),ti=createRound("round"),ri=createMathOperation((function(e,t){return e-t}),0);return lodash.after=function after(e,t){if("function"!=typeof t)throw new Ee(a);return e=toInteger(e),function(){if(--e<1)return t.apply(this,arguments)}},lodash.ary=ary,lodash.assign=pn,lodash.assignIn=mn,lodash.assignInWith=yn,lodash.assignWith=gn,lodash.at=bn,lodash.before=before,lodash.bind=Zr,lodash.bindAll=Nn,lodash.bindKey=Gr,lodash.castArray=function castArray(){if(!arguments.length)return[];var e=arguments[0];return nn(e)?e:[e]},lodash.chain=chain,lodash.chunk=function chunk(e,t,n){t=(n?isIterateeCall(e,t,n):t===i)?1:jt(toInteger(t),0);var a=null==e?0:e.length;if(!a||t<1)return[];for(var s=0,o=0,u=r(pt(a/t));s<a;)u[o++]=baseSlice(e,s,s+=t);return u},lodash.compact=function compact(e){for(var t=-1,r=null==e?0:e.length,n=0,i=[];++t<r;){var a=e[t];a&&(i[n++]=a)}return i},lodash.concat=function concat(){var e=arguments.length;if(!e)return[];for(var t=r(e-1),n=arguments[0],i=e;i--;)t[i-1]=arguments[i];return arrayPush(nn(n)?copyArray(n):[n],baseFlatten(t,1))},lodash.cond=function cond(e){var t=null==e?0:e.length,r=getIteratee();return e=t?arrayMap(e,(function(e){if("function"!=typeof e[1])throw new Ee(a);return[r(e[0]),e[1]]})):[],baseRest((function(r){for(var n=-1;++n<t;){var i=e[n];if(apply(i[0],this,r))return apply(i[1],this,r)}}))},lodash.conforms=function conforms(e){return function baseConforms(e){var t=keys(e);return function(r){return baseConformsTo(r,e,t)}}(baseClone(e,1))},lodash.constant=constant,lodash.countBy=Dr,lodash.create=function create(e,t){var r=er(e);return null==t?r:baseAssign(r,t)},lodash.curry=function curry(e,t,r){var n=createWrap(e,8,i,i,i,i,i,t=r?i:t);return n.placeholder=curry.placeholder,n},lodash.curryRight=function curryRight(e,t,r){var n=createWrap(e,u,i,i,i,i,i,t=r?i:t);return n.placeholder=curryRight.placeholder,n},lodash.debounce=debounce,lodash.defaults=vn,lodash.defaultsDeep=_n,lodash.defer=Hr,lodash.delay=Kr,lodash.difference=vr,lodash.differenceBy=_r,lodash.differenceWith=wr,lodash.drop=function drop(e,t,r){var n=null==e?0:e.length;return n?baseSlice(e,(t=r||t===i?1:toInteger(t))<0?0:t,n):[]},lodash.dropRight=function dropRight(e,t,r){var n=null==e?0:e.length;return n?baseSlice(e,0,(t=n-(t=r||t===i?1:toInteger(t)))<0?0:t):[]},lodash.dropRightWhile=function dropRightWhile(e,t){return e&&e.length?baseWhile(e,getIteratee(t,3),!0,!0):[]},lodash.dropWhile=function dropWhile(e,t){return e&&e.length?baseWhile(e,getIteratee(t,3),!0):[]},lodash.fill=function fill(e,t,r,n){var a=null==e?0:e.length;return a?(r&&"number"!=typeof r&&isIterateeCall(e,t,r)&&(r=0,n=a),function baseFill(e,t,r,n){var a=e.length;for((r=toInteger(r))<0&&(r=-r>a?0:a+r),(n=n===i||n>a?a:toInteger(n))<0&&(n+=a),n=r>n?0:toLength(n);r<n;)e[r++]=t;return e}(e,t,r,n)):[]},lodash.filter=function filter(e,t){return(nn(e)?arrayFilter:baseFilter)(e,getIteratee(t,3))},lodash.flatMap=function flatMap(e,t){return baseFlatten(map(e,t),1)},lodash.flatMapDeep=function flatMapDeep(e,t){return baseFlatten(map(e,t),h)},lodash.flatMapDepth=function flatMapDepth(e,t,r){return r=r===i?1:toInteger(r),baseFlatten(map(e,t),r)},lodash.flatten=flatten,lodash.flattenDeep=function flattenDeep(e){return(null==e?0:e.length)?baseFlatten(e,h):[]},lodash.flattenDepth=function flattenDepth(e,t){return(null==e?0:e.length)?baseFlatten(e,t=t===i?1:toInteger(t)):[]},lodash.flip=function flip(e){return createWrap(e,512)},lodash.flow=zn,lodash.flowRight=Vn,lodash.fromPairs=function fromPairs(e){for(var t=-1,r=null==e?0:e.length,n={};++t<r;){var i=e[t];n[i[0]]=i[1]}return n},lodash.functions=function functions(e){return null==e?[]:baseFunctions(e,keys(e))},lodash.functionsIn=function functionsIn(e){return null==e?[]:baseFunctions(e,keysIn(e))},lodash.groupBy=zr,lodash.initial=function initial(e){return(null==e?0:e.length)?baseSlice(e,0,-1):[]},lodash.intersection=Ir,lodash.intersectionBy=Or,lodash.intersectionWith=Rr,lodash.invert=wn,lodash.invertBy=In,lodash.invokeMap=Vr,lodash.iteratee=iteratee,lodash.keyBy=Ur,lodash.keys=keys,lodash.keysIn=keysIn,lodash.map=map,lodash.mapKeys=function mapKeys(e,t){var r={};return t=getIteratee(t,3),baseForOwn(e,(function(e,n,i){baseAssignValue(r,t(e,n,i),e)})),r},lodash.mapValues=function mapValues(e,t){var r={};return t=getIteratee(t,3),baseForOwn(e,(function(e,n,i){baseAssignValue(r,n,t(e,n,i))})),r},lodash.matches=function matches(e){return baseMatches(baseClone(e,1))},lodash.matchesProperty=function matchesProperty(e,t){return baseMatchesProperty(e,baseClone(t,1))},lodash.memoize=memoize,lodash.merge=Rn,lodash.mergeWith=An,lodash.method=Un,lodash.methodOf=Wn,lodash.mixin=mixin,lodash.negate=negate,lodash.nthArg=function nthArg(e){return e=toInteger(e),baseRest((function(t){return baseNth(t,e)}))},lodash.omit=Sn,lodash.omitBy=function omitBy(e,t){return pickBy(e,negate(getIteratee(t)))},lodash.once=function once(e){return before(2,e)},lodash.orderBy=function orderBy(e,t,r,n){return null==e?[]:(nn(t)||(t=null==t?[]:[t]),nn(r=n?i:r)||(r=null==r?[]:[r]),baseOrderBy(e,t,r))},lodash.over=$n,lodash.overArgs=Yr,lodash.overEvery=Bn,lodash.overSome=Zn,lodash.partial=Qr,lodash.partialRight=Jr,lodash.partition=Wr,lodash.pick=Cn,lodash.pickBy=pickBy,lodash.property=property,lodash.propertyOf=function propertyOf(e){return function(t){return null==e?i:baseGet(e,t)}},lodash.pull=Ar,lodash.pullAll=pullAll,lodash.pullAllBy=function pullAllBy(e,t,r){return e&&e.length&&t&&t.length?basePullAll(e,t,getIteratee(r,2)):e},lodash.pullAllWith=function pullAllWith(e,t,r){return e&&e.length&&t&&t.length?basePullAll(e,t,i,r):e},lodash.pullAt=Sr,lodash.range=Gn,lodash.rangeRight=Hn,lodash.rearg=Xr,lodash.reject=function reject(e,t){return(nn(e)?arrayFilter:baseFilter)(e,negate(getIteratee(t,3)))},lodash.remove=function remove(e,t){var r=[];if(!e||!e.length)return r;var n=-1,i=[],a=e.length;for(t=getIteratee(t,3);++n<a;){var s=e[n];t(s,n,e)&&(r.push(s),i.push(n))}return basePullAt(e,i),r},lodash.rest=function rest(e,t){if("function"!=typeof e)throw new Ee(a);return baseRest(e,t=t===i?t:toInteger(t))},lodash.reverse=reverse,lodash.sampleSize=function sampleSize(e,t,r){return t=(r?isIterateeCall(e,t,r):t===i)?1:toInteger(t),(nn(e)?arraySampleSize:baseSampleSize)(e,t)},lodash.set=function set(e,t,r){return null==e?e:baseSet(e,t,r)},lodash.setWith=function setWith(e,t,r,n){return n="function"==typeof n?n:i,null==e?e:baseSet(e,t,r,n)},lodash.shuffle=function shuffle(e){return(nn(e)?arrayShuffle:baseShuffle)(e)},lodash.slice=function slice(e,t,r){var n=null==e?0:e.length;return n?(r&&"number"!=typeof r&&isIterateeCall(e,t,r)?(t=0,r=n):(t=null==t?0:toInteger(t),r=r===i?n:toInteger(r)),baseSlice(e,t,r)):[]},lodash.sortBy=$r,lodash.sortedUniq=function sortedUniq(e){return e&&e.length?baseSortedUniq(e):[]},lodash.sortedUniqBy=function sortedUniqBy(e,t){return e&&e.length?baseSortedUniq(e,getIteratee(t,2)):[]},lodash.split=function split(e,t,r){return r&&"number"!=typeof r&&isIterateeCall(e,t,r)&&(t=r=i),(r=r===i?y:r>>>0)?(e=toString(e))&&("string"==typeof t||null!=t&&!cn(t))&&!(t=baseToString(t))&&hasUnicode(e)?castSlice(stringToArray(e),0,r):e.split(t,r):[]},lodash.spread=function spread(e,t){if("function"!=typeof e)throw new Ee(a);return t=null==t?0:jt(toInteger(t),0),baseRest((function(r){var n=r[t],i=castSlice(r,0,t);return n&&arrayPush(i,n),apply(e,this,i)}))},lodash.tail=function tail(e){var t=null==e?0:e.length;return t?baseSlice(e,1,t):[]},lodash.take=function take(e,t,r){return e&&e.length?baseSlice(e,0,(t=r||t===i?1:toInteger(t))<0?0:t):[]},lodash.takeRight=function takeRight(e,t,r){var n=null==e?0:e.length;return n?baseSlice(e,(t=n-(t=r||t===i?1:toInteger(t)))<0?0:t,n):[]},lodash.takeRightWhile=function takeRightWhile(e,t){return e&&e.length?baseWhile(e,getIteratee(t,3),!1,!0):[]},lodash.takeWhile=function takeWhile(e,t){return e&&e.length?baseWhile(e,getIteratee(t,3)):[]},lodash.tap=function tap(e,t){return t(e),e},lodash.throttle=function throttle(e,t,r){var n=!0,i=!0;if("function"!=typeof e)throw new Ee(a);return isObject(r)&&(n="leading"in r?!!r.leading:n,i="trailing"in r?!!r.trailing:i),debounce(e,t,{leading:n,maxWait:t,trailing:i})},lodash.thru=thru,lodash.toArray=toArray,lodash.toPairs=Tn,lodash.toPairsIn=En,lodash.toPath=function toPath(e){return nn(e)?arrayMap(e,toKey):isSymbol(e)?[e]:copyArray(br(toString(e)))},lodash.toPlainObject=toPlainObject,lodash.transform=function transform(e,t,r){var n=nn(e),i=n||sn(e)||dn(e);if(t=getIteratee(t,4),null==r){var a=e&&e.constructor;r=i?n?new a:[]:isObject(e)&&isFunction(a)?er(Ze(e)):{}}return(i?arrayEach:baseForOwn)(e,(function(e,n,i){return t(r,e,n,i)})),r},lodash.unary=function unary(e){return ary(e,1)},lodash.union=Cr,lodash.unionBy=Tr,lodash.unionWith=Er,lodash.uniq=function uniq(e){return e&&e.length?baseUniq(e):[]},lodash.uniqBy=function uniqBy(e,t){return e&&e.length?baseUniq(e,getIteratee(t,2)):[]},lodash.uniqWith=function uniqWith(e,t){return t="function"==typeof t?t:i,e&&e.length?baseUniq(e,i,t):[]},lodash.unset=function unset(e,t){return null==e||baseUnset(e,t)},lodash.unzip=unzip,lodash.unzipWith=unzipWith,lodash.update=function update(e,t,r){return null==e?e:baseUpdate(e,t,castFunction(r))},lodash.updateWith=function updateWith(e,t,r,n){return n="function"==typeof n?n:i,null==e?e:baseUpdate(e,t,castFunction(r),n)},lodash.values=values,lodash.valuesIn=function valuesIn(e){return null==e?[]:baseValues(e,keysIn(e))},lodash.without=Lr,lodash.words=words,lodash.wrap=function wrap(e,t){return Qr(castFunction(t),e)},lodash.xor=Pr,lodash.xorBy=jr,lodash.xorWith=qr,lodash.zip=xr,lodash.zipObject=function zipObject(e,t){return baseZipObject(e||[],t||[],assignValue)},lodash.zipObjectDeep=function zipObjectDeep(e,t){return baseZipObject(e||[],t||[],baseSet)},lodash.zipWith=kr,lodash.entries=Tn,lodash.entriesIn=En,lodash.extend=mn,lodash.extendWith=yn,mixin(lodash,lodash),lodash.add=Kn,lodash.attempt=Fn,lodash.camelCase=Ln,lodash.capitalize=capitalize,lodash.ceil=Yn,lodash.clamp=function clamp(e,t,r){return r===i&&(r=t,t=i),r!==i&&(r=(r=toNumber(r))==r?r:0),t!==i&&(t=(t=toNumber(t))==t?t:0),baseClamp(toNumber(e),t,r)},lodash.clone=function clone(e){return baseClone(e,4)},lodash.cloneDeep=function cloneDeep(e){return baseClone(e,5)},lodash.cloneDeepWith=function cloneDeepWith(e,t){return baseClone(e,5,t="function"==typeof t?t:i)},lodash.cloneWith=function cloneWith(e,t){return baseClone(e,4,t="function"==typeof t?t:i)},lodash.conformsTo=function conformsTo(e,t){return null==t||baseConformsTo(e,t,keys(t))},lodash.deburr=deburr,lodash.defaultTo=function defaultTo(e,t){return null==e||e!=e?t:e},lodash.divide=Qn,lodash.endsWith=function endsWith(e,t,r){e=toString(e),t=baseToString(t);var n=e.length,a=r=r===i?n:baseClamp(toInteger(r),0,n);return(r-=t.length)>=0&&e.slice(r,a)==t},lodash.eq=eq,lodash.escape=function escape(e){return(e=toString(e))&&Q.test(e)?e.replace(K,Ct):e},lodash.escapeRegExp=function escapeRegExp(e){return(e=toString(e))&&ae.test(e)?e.replace(ie,"\\$&"):e},lodash.every=function every(e,t,r){var n=nn(e)?arrayEvery:baseEvery;return r&&isIterateeCall(e,t,r)&&(t=i),n(e,getIteratee(t,3))},lodash.find=Fr,lodash.findIndex=findIndex,lodash.findKey=function findKey(e,t){return baseFindKey(e,getIteratee(t,3),baseForOwn)},lodash.findLast=Nr,lodash.findLastIndex=findLastIndex,lodash.findLastKey=function findLastKey(e,t){return baseFindKey(e,getIteratee(t,3),baseForOwnRight)},lodash.floor=Jn,lodash.forEach=forEach,lodash.forEachRight=forEachRight,lodash.forIn=function forIn(e,t){return null==e?e:nr(e,getIteratee(t,3),keysIn)},lodash.forInRight=function forInRight(e,t){return null==e?e:ir(e,getIteratee(t,3),keysIn)},lodash.forOwn=function forOwn(e,t){return e&&baseForOwn(e,getIteratee(t,3))},lodash.forOwnRight=function forOwnRight(e,t){return e&&baseForOwnRight(e,getIteratee(t,3))},lodash.get=get,lodash.gt=en,lodash.gte=tn,lodash.has=function has(e,t){return null!=e&&hasPath(e,t,baseHas)},lodash.hasIn=hasIn,lodash.head=head,lodash.identity=identity,lodash.includes=function includes(e,t,r,n){e=isArrayLike(e)?e:values(e),r=r&&!n?toInteger(r):0;var i=e.length;return r<0&&(r=jt(i+r,0)),isString(e)?r<=i&&e.indexOf(t,r)>-1:!!i&&baseIndexOf(e,t,r)>-1},lodash.indexOf=function indexOf(e,t,r){var n=null==e?0:e.length;if(!n)return-1;var i=null==r?0:toInteger(r);return i<0&&(i=jt(n+i,0)),baseIndexOf(e,t,i)},lodash.inRange=function inRange(e,t,r){return t=toFinite(t),r===i?(r=t,t=0):r=toFinite(r),function baseInRange(e,t,r){return e>=qt(t,r)&&e<jt(t,r)}(e=toNumber(e),t,r)},lodash.invoke=On,lodash.isArguments=rn,lodash.isArray=nn,lodash.isArrayBuffer=an,lodash.isArrayLike=isArrayLike,lodash.isArrayLikeObject=isArrayLikeObject,lodash.isBoolean=function isBoolean(e){return!0===e||!1===e||isObjectLike(e)&&baseGetTag(e)==_},lodash.isBuffer=sn,lodash.isDate=on,lodash.isElement=function isElement(e){return isObjectLike(e)&&1===e.nodeType&&!isPlainObject(e)},lodash.isEmpty=function isEmpty(e){if(null==e)return!0;if(isArrayLike(e)&&(nn(e)||"string"==typeof e||"function"==typeof e.splice||sn(e)||dn(e)||rn(e)))return!e.length;var t=hr(e);if(t==A||t==L)return!e.size;if(isPrototype(e))return!baseKeys(e).length;for(var r in e)if(ke.call(e,r))return!1;return!0},lodash.isEqual=function isEqual(e,t){return baseIsEqual(e,t)},lodash.isEqualWith=function isEqualWith(e,t,r){var n=(r="function"==typeof r?r:i)?r(e,t):i;return n===i?baseIsEqual(e,t,i,r):!!n},lodash.isError=isError,lodash.isFinite=function isFinite(e){return"number"==typeof e&&At(e)},lodash.isFunction=isFunction,lodash.isInteger=isInteger,lodash.isLength=isLength,lodash.isMap=un,lodash.isMatch=function isMatch(e,t){return e===t||baseIsMatch(e,t,getMatchData(t))},lodash.isMatchWith=function isMatchWith(e,t,r){return r="function"==typeof r?r:i,baseIsMatch(e,t,getMatchData(t),r)},lodash.isNaN=function isNaN(e){return isNumber(e)&&e!=+e},lodash.isNative=function isNative(e){if(pr(e))throw new oe("Unsupported core-js use. Try https://npms.io/search?q=ponyfill.");return baseIsNative(e)},lodash.isNil=function isNil(e){return null==e},lodash.isNull=function isNull(e){return null===e},lodash.isNumber=isNumber,lodash.isObject=isObject,lodash.isObjectLike=isObjectLike,lodash.isPlainObject=isPlainObject,lodash.isRegExp=cn,lodash.isSafeInteger=function isSafeInteger(e){return isInteger(e)&&e>=-9007199254740991&&e<=p},lodash.isSet=ln,lodash.isString=isString,lodash.isSymbol=isSymbol,lodash.isTypedArray=dn,lodash.isUndefined=function isUndefined(e){return e===i},lodash.isWeakMap=function isWeakMap(e){return isObjectLike(e)&&hr(e)==q},lodash.isWeakSet=function isWeakSet(e){return isObjectLike(e)&&"[object WeakSet]"==baseGetTag(e)},lodash.join=function join(e,t){return null==e?"":Lt.call(e,t)},lodash.kebabCase=Pn,lodash.last=last,lodash.lastIndexOf=function lastIndexOf(e,t,r){var n=null==e?0:e.length;if(!n)return-1;var a=n;return r!==i&&(a=(a=toInteger(r))<0?jt(n+a,0):qt(a,n-1)),t==t?function strictLastIndexOf(e,t,r){for(var n=r+1;n--;)if(e[n]===t)return n;return n}(e,t,a):baseFindIndex(e,baseIsNaN,a,!0)},lodash.lowerCase=jn,lodash.lowerFirst=qn,lodash.lt=fn,lodash.lte=hn,lodash.max=function max(e){return e&&e.length?baseExtremum(e,identity,baseGt):i},lodash.maxBy=function maxBy(e,t){return e&&e.length?baseExtremum(e,getIteratee(t,2),baseGt):i},lodash.mean=function mean(e){return baseMean(e,identity)},lodash.meanBy=function meanBy(e,t){return baseMean(e,getIteratee(t,2))},lodash.min=function min(e){return e&&e.length?baseExtremum(e,identity,baseLt):i},lodash.minBy=function minBy(e,t){return e&&e.length?baseExtremum(e,getIteratee(t,2),baseLt):i},lodash.stubArray=stubArray,lodash.stubFalse=stubFalse,lodash.stubObject=function stubObject(){return{}},lodash.stubString=function stubString(){return""},lodash.stubTrue=function stubTrue(){return!0},lodash.multiply=ei,lodash.nth=function nth(e,t){return e&&e.length?baseNth(e,toInteger(t)):i},lodash.noConflict=function noConflict(){return ht._===this&&(ht._=ze),this},lodash.noop=noop,lodash.now=Br,lodash.pad=function pad(e,t,r){e=toString(e);var n=(t=toInteger(t))?stringSize(e):0;if(!t||n>=t)return e;var i=(t-n)/2;return createPadding(mt(i),r)+e+createPadding(pt(i),r)},lodash.padEnd=function padEnd(e,t,r){e=toString(e);var n=(t=toInteger(t))?stringSize(e):0;return t&&n<t?e+createPadding(t-n,r):e},lodash.padStart=function padStart(e,t,r){e=toString(e);var n=(t=toInteger(t))?stringSize(e):0;return t&&n<t?createPadding(t-n,r)+e:e},lodash.parseInt=function parseInt(e,t,r){return r||null==t?t=0:t&&(t=+t),kt(toString(e).replace(se,""),t||0)},lodash.random=function random(e,t,r){if(r&&"boolean"!=typeof r&&isIterateeCall(e,t,r)&&(t=r=i),r===i&&("boolean"==typeof t?(r=t,t=i):"boolean"==typeof e&&(r=e,e=i)),e===i&&t===i?(e=0,t=1):(e=toFinite(e),t===i?(t=e,e=0):t=toFinite(t)),e>t){var n=e;e=t,t=n}if(r||e%1||t%1){var a=Mt();return qt(e+a*(t-e+ct("1e-"+((a+"").length-1))),t)}return baseRandom(e,t)},lodash.reduce=function reduce(e,t,r){var n=nn(e)?arrayReduce:baseReduce,i=arguments.length<3;return n(e,getIteratee(t,4),r,i,tr)},lodash.reduceRight=function reduceRight(e,t,r){var n=nn(e)?arrayReduceRight:baseReduce,i=arguments.length<3;return n(e,getIteratee(t,4),r,i,rr)},lodash.repeat=function repeat(e,t,r){return t=(r?isIterateeCall(e,t,r):t===i)?1:toInteger(t),baseRepeat(toString(e),t)},lodash.replace=function replace(){var e=arguments,t=toString(e[0]);return e.length<3?t:t.replace(e[1],e[2])},lodash.result=function result(e,t,r){var n=-1,a=(t=castPath(t,e)).length;for(a||(a=1,e=i);++n<a;){var s=null==e?i:e[toKey(t[n])];s===i&&(n=a,s=r),e=isFunction(s)?s.call(e):s}return e},lodash.round=ti,lodash.runInContext=runInContext,lodash.sample=function sample(e){return(nn(e)?arraySample:baseSample)(e)},lodash.size=function size(e){if(null==e)return 0;if(isArrayLike(e))return isString(e)?stringSize(e):e.length;var t=hr(e);return t==A||t==L?e.size:baseKeys(e).length},lodash.snakeCase=xn,lodash.some=function some(e,t,r){var n=nn(e)?arraySome:baseSome;return r&&isIterateeCall(e,t,r)&&(t=i),n(e,getIteratee(t,3))},lodash.sortedIndex=function sortedIndex(e,t){return baseSortedIndex(e,t)},lodash.sortedIndexBy=function sortedIndexBy(e,t,r){return baseSortedIndexBy(e,t,getIteratee(r,2))},lodash.sortedIndexOf=function sortedIndexOf(e,t){var r=null==e?0:e.length;if(r){var n=baseSortedIndex(e,t);if(n<r&&eq(e[n],t))return n}return-1},lodash.sortedLastIndex=function sortedLastIndex(e,t){return baseSortedIndex(e,t,!0)},lodash.sortedLastIndexBy=function sortedLastIndexBy(e,t,r){return baseSortedIndexBy(e,t,getIteratee(r,2),!0)},lodash.sortedLastIndexOf=function sortedLastIndexOf(e,t){if(null==e?0:e.length){var r=baseSortedIndex(e,t,!0)-1;if(eq(e[r],t))return r}return-1},lodash.startCase=kn,lodash.startsWith=function startsWith(e,t,r){return e=toString(e),r=null==r?0:baseClamp(toInteger(r),0,e.length),t=baseToString(t),e.slice(r,r+t.length)==t},lodash.subtract=ri,lodash.sum=function sum(e){return e&&e.length?baseSum(e,identity):0},lodash.sumBy=function sumBy(e,t){return e&&e.length?baseSum(e,getIteratee(t,2)):0},lodash.template=function template(e,t,r){var n=lodash.templateSettings;r&&isIterateeCall(e,t,r)&&(t=i),e=toString(e),t=yn({},t,n,customDefaultsAssignIn);var a,s,o=yn({},t.imports,n.imports,customDefaultsAssignIn),u=keys(o),c=baseValues(o,u),l=0,d=t.interpolate||Ie,f="__p += '",h=Ce((t.escape||Ie).source+"|"+d.source+"|"+(d===ee?pe:Ie).source+"|"+(t.evaluate||Ie).source+"|$","g"),p="//# sourceURL="+(ke.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++at+"]")+"\n";e.replace(h,(function(t,r,n,i,o,u){return n||(n=i),f+=e.slice(l,u).replace(Oe,escapeStringChar),r&&(a=!0,f+="' +\n__e("+r+") +\n'"),o&&(s=!0,f+="';\n"+o+";\n__p += '"),n&&(f+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=u+t.length,t})),f+="';\n";var m=ke.call(t,"variable")&&t.variable;if(m){if(fe.test(m))throw new oe("Invalid `variable` option passed into `_.template`")}else f="with (obj) {\n"+f+"\n}\n";f=(s?f.replace(B,""):f).replace(Z,"$1").replace(G,"$1;"),f="function("+(m||"obj")+") {\n"+(m?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(a?", __e = _.escape":"")+(s?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+f+"return __p\n}";var y=Fn((function(){return Re(u,p+"return "+f).apply(i,c)}));if(y.source=f,isError(y))throw y;return y},lodash.times=function times(e,t){if((e=toInteger(e))<1||e>p)return[];var r=y,n=qt(e,y);t=getIteratee(t),e-=y;for(var i=baseTimes(n,t);++r<e;)t(r);return i},lodash.toFinite=toFinite,lodash.toInteger=toInteger,lodash.toLength=toLength,lodash.toLower=function toLower(e){return toString(e).toLowerCase()},lodash.toNumber=toNumber,lodash.toSafeInteger=function toSafeInteger(e){return e?baseClamp(toInteger(e),-9007199254740991,p):0===e?e:0},lodash.toString=toString,lodash.toUpper=function toUpper(e){return toString(e).toUpperCase()},lodash.trim=function trim(e,t,r){if((e=toString(e))&&(r||t===i))return baseTrim(e);if(!e||!(t=baseToString(t)))return e;var n=stringToArray(e),a=stringToArray(t);return castSlice(n,charsStartIndex(n,a),charsEndIndex(n,a)+1).join("")},lodash.trimEnd=function trimEnd(e,t,r){if((e=toString(e))&&(r||t===i))return e.slice(0,trimmedEndIndex(e)+1);if(!e||!(t=baseToString(t)))return e;var n=stringToArray(e);return castSlice(n,0,charsEndIndex(n,stringToArray(t))+1).join("")},lodash.trimStart=function trimStart(e,t,r){if((e=toString(e))&&(r||t===i))return e.replace(se,"");if(!e||!(t=baseToString(t)))return e;var n=stringToArray(e);return castSlice(n,charsStartIndex(n,stringToArray(t))).join("")},lodash.truncate=function truncate(e,t){var r=30,n="...";if(isObject(t)){var a="separator"in t?t.separator:a;r="length"in t?toInteger(t.length):r,n="omission"in t?baseToString(t.omission):n}var s=(e=toString(e)).length;if(hasUnicode(e)){var o=stringToArray(e);s=o.length}if(r>=s)return e;var u=r-stringSize(n);if(u<1)return n;var c=o?castSlice(o,0,u).join(""):e.slice(0,u);if(a===i)return c+n;if(o&&(u+=c.length-u),cn(a)){if(e.slice(u).search(a)){var l,d=c;for(a.global||(a=Ce(a.source,toString(me.exec(a))+"g")),a.lastIndex=0;l=a.exec(d);)var f=l.index;c=c.slice(0,f===i?u:f)}}else if(e.indexOf(baseToString(a),u)!=u){var h=c.lastIndexOf(a);h>-1&&(c=c.slice(0,h))}return c+n},lodash.unescape=function unescape(e){return(e=toString(e))&&Y.test(e)?e.replace(H,Tt):e},lodash.uniqueId=function uniqueId(e){var t=++Me;return toString(e)+t},lodash.upperCase=Mn,lodash.upperFirst=Dn,lodash.each=forEach,lodash.eachRight=forEachRight,lodash.first=head,mixin(lodash,(Xn={},baseForOwn(lodash,(function(e,t){ke.call(lodash.prototype,t)||(Xn[t]=e)})),Xn),{chain:!1}),lodash.VERSION="4.17.21",arrayEach(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){lodash[e].placeholder=lodash})),arrayEach(["drop","take"],(function(e,t){LazyWrapper.prototype[e]=function(r){r=r===i?1:jt(toInteger(r),0);var n=this.__filtered__&&!t?new LazyWrapper(this):this.clone();return n.__filtered__?n.__takeCount__=qt(r,n.__takeCount__):n.__views__.push({size:qt(r,y),type:e+(n.__dir__<0?"Right":"")}),n},LazyWrapper.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}})),arrayEach(["filter","map","takeWhile"],(function(e,t){var r=t+1,n=1==r||3==r;LazyWrapper.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:getIteratee(e,3),type:r}),t.__filtered__=t.__filtered__||n,t}})),arrayEach(["head","last"],(function(e,t){var r="take"+(t?"Right":"");LazyWrapper.prototype[e]=function(){return this[r](1).value()[0]}})),arrayEach(["initial","tail"],(function(e,t){var r="drop"+(t?"":"Right");LazyWrapper.prototype[e]=function(){return this.__filtered__?new LazyWrapper(this):this[r](1)}})),LazyWrapper.prototype.compact=function(){return this.filter(identity)},LazyWrapper.prototype.find=function(e){return this.filter(e).head()},LazyWrapper.prototype.findLast=function(e){return this.reverse().find(e)},LazyWrapper.prototype.invokeMap=baseRest((function(e,t){return"function"==typeof e?new LazyWrapper(this):this.map((function(r){return baseInvoke(r,e,t)}))})),LazyWrapper.prototype.reject=function(e){return this.filter(negate(getIteratee(e)))},LazyWrapper.prototype.slice=function(e,t){e=toInteger(e);var r=this;return r.__filtered__&&(e>0||t<0)?new LazyWrapper(r):(e<0?r=r.takeRight(-e):e&&(r=r.drop(e)),t!==i&&(r=(t=toInteger(t))<0?r.dropRight(-t):r.take(t-e)),r)},LazyWrapper.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},LazyWrapper.prototype.toArray=function(){return this.take(y)},baseForOwn(LazyWrapper.prototype,(function(e,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),n=/^(?:head|last)$/.test(t),a=lodash[n?"take"+("last"==t?"Right":""):t],s=n||/^find/.test(t);a&&(lodash.prototype[t]=function(){var t=this.__wrapped__,o=n?[1]:arguments,u=t instanceof LazyWrapper,c=o[0],l=u||nn(t),interceptor=function(e){var t=a.apply(lodash,arrayPush([e],o));return n&&d?t[0]:t};l&&r&&"function"==typeof c&&1!=c.length&&(u=l=!1);var d=this.__chain__,f=!!this.__actions__.length,h=s&&!d,p=u&&!f;if(!s&&l){t=p?t:new LazyWrapper(this);var m=e.apply(t,o);return m.__actions__.push({func:thru,args:[interceptor],thisArg:i}),new LodashWrapper(m,d)}return h&&p?e.apply(this,o):(m=this.thru(interceptor),h?n?m.value()[0]:m.value():m)})})),arrayEach(["pop","push","shift","sort","splice","unshift"],(function(e){var t=Le[e],r=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",n=/^(?:pop|shift)$/.test(e);lodash.prototype[e]=function(){var e=arguments;if(n&&!this.__chain__){var i=this.value();return t.apply(nn(i)?i:[],e)}return this[r]((function(r){return t.apply(nn(r)?r:[],e)}))}})),baseForOwn(LazyWrapper.prototype,(function(e,t){var r=lodash[t];if(r){var n=r.name+"";ke.call(Bt,n)||(Bt[n]=[]),Bt[n].push({name:t,func:r})}})),Bt[createHybrid(i,2).name]=[{name:"wrapper",func:i}],LazyWrapper.prototype.clone=function lazyClone(){var e=new LazyWrapper(this.__wrapped__);return e.__actions__=copyArray(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=copyArray(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=copyArray(this.__views__),e},LazyWrapper.prototype.reverse=function lazyReverse(){if(this.__filtered__){var e=new LazyWrapper(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},LazyWrapper.prototype.value=function lazyValue(){var e=this.__wrapped__.value(),t=this.__dir__,r=nn(e),n=t<0,i=r?e.length:0,a=function getView(e,t,r){var n=-1,i=r.length;for(;++n<i;){var a=r[n],s=a.size;switch(a.type){case"drop":e+=s;break;case"dropRight":t-=s;break;case"take":t=qt(t,e+s);break;case"takeRight":e=jt(e,t-s)}}return{start:e,end:t}}(0,i,this.__views__),s=a.start,o=a.end,u=o-s,c=n?o:s-1,l=this.__iteratees__,d=l.length,f=0,h=qt(u,this.__takeCount__);if(!r||!n&&i==u&&h==u)return baseWrapperValue(e,this.__actions__);var p=[];e:for(;u--&&f<h;){for(var m=-1,y=e[c+=t];++m<d;){var g=l[m],b=g.iteratee,v=g.type,_=b(y);if(2==v)y=_;else if(!_){if(1==v)continue e;break e}}p[f++]=y}return p},lodash.prototype.at=Mr,lodash.prototype.chain=function wrapperChain(){return chain(this)},lodash.prototype.commit=function wrapperCommit(){return new LodashWrapper(this.value(),this.__chain__)},lodash.prototype.next=function wrapperNext(){this.__values__===i&&(this.__values__=toArray(this.value()));var e=this.__index__>=this.__values__.length;return{done:e,value:e?i:this.__values__[this.__index__++]}},lodash.prototype.plant=function wrapperPlant(e){for(var t,r=this;r instanceof baseLodash;){var n=wrapperClone(r);n.__index__=0,n.__values__=i,t?a.__wrapped__=n:t=n;var a=n;r=r.__wrapped__}return a.__wrapped__=e,t},lodash.prototype.reverse=function wrapperReverse(){var e=this.__wrapped__;if(e instanceof LazyWrapper){var t=e;return this.__actions__.length&&(t=new LazyWrapper(this)),(t=t.reverse()).__actions__.push({func:thru,args:[reverse],thisArg:i}),new LodashWrapper(t,this.__chain__)}return this.thru(reverse)},lodash.prototype.toJSON=lodash.prototype.valueOf=lodash.prototype.value=function wrapperValue(){return baseWrapperValue(this.__wrapped__,this.__actions__)},lodash.prototype.first=lodash.prototype.head,Qe&&(lodash.prototype[Qe]=function wrapperToIterator(){return this}),lodash}();ht._=Et,(n=function(){return Et}.call(t,r,t,e))===i||(e.exports=n)}.call(this)},8565:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});class LuxonError extends Error{}class InvalidDateTimeError extends LuxonError{constructor(e){super(`Invalid DateTime: ${e.toMessage()}`)}}class InvalidIntervalError extends LuxonError{constructor(e){super(`Invalid Interval: ${e.toMessage()}`)}}class InvalidDurationError extends LuxonError{constructor(e){super(`Invalid Duration: ${e.toMessage()}`)}}class ConflictingSpecificationError extends LuxonError{}class InvalidUnitError extends LuxonError{constructor(e){super(`Invalid unit ${e}`)}}class InvalidArgumentError extends LuxonError{}class ZoneIsAbstractError extends LuxonError{constructor(){super("Zone is an abstract class")}}const r="numeric",n="short",i="long",a={year:r,month:r,day:r},s={year:r,month:n,day:r},o={year:r,month:n,day:r,weekday:n},u={year:r,month:i,day:r},c={year:r,month:i,day:r,weekday:i},l={hour:r,minute:r},d={hour:r,minute:r,second:r},f={hour:r,minute:r,second:r,timeZoneName:n},h={hour:r,minute:r,second:r,timeZoneName:i},p={hour:r,minute:r,hourCycle:"h23"},m={hour:r,minute:r,second:r,hourCycle:"h23"},y={hour:r,minute:r,second:r,hourCycle:"h23",timeZoneName:n},g={hour:r,minute:r,second:r,hourCycle:"h23",timeZoneName:i},b={year:r,month:r,day:r,hour:r,minute:r},v={year:r,month:r,day:r,hour:r,minute:r,second:r},_={year:r,month:n,day:r,hour:r,minute:r},w={year:r,month:n,day:r,hour:r,minute:r,second:r},I={year:r,month:n,day:r,weekday:n,hour:r,minute:r},O={year:r,month:i,day:r,hour:r,minute:r,timeZoneName:n},R={year:r,month:i,day:r,hour:r,minute:r,second:r,timeZoneName:n},A={year:r,month:i,day:r,weekday:i,hour:r,minute:r,timeZoneName:i},S={year:r,month:i,day:r,weekday:i,hour:r,minute:r,second:r,timeZoneName:i};function isUndefined(e){return void 0===e}function isNumber(e){return"number"==typeof e}function isInteger(e){return"number"==typeof e&&e%1==0}function hasRelative(){try{return"undefined"!=typeof Intl&&!!Intl.RelativeTimeFormat}catch(e){return!1}}function bestBy(e,t,r){if(0!==e.length)return e.reduce(((e,n)=>{const i=[t(n),n];return e&&r(e[0],i[0])===e[0]?e:i}),null)[1]}function hasOwnProperty(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function integerBetween(e,t,r){return isInteger(e)&&e>=t&&e<=r}function padStart(e,t=2){let r;return r=e<0?"-"+(""+-e).padStart(t,"0"):(""+e).padStart(t,"0"),r}function parseInteger(e){return isUndefined(e)||null===e||""===e?void 0:parseInt(e,10)}function parseFloating(e){return isUndefined(e)||null===e||""===e?void 0:parseFloat(e)}function parseMillis(e){if(!isUndefined(e)&&null!==e&&""!==e){const t=1e3*parseFloat("0."+e);return Math.floor(t)}}function roundTo(e,t,r=!1){const n=10**t;return(r?Math.trunc:Math.round)(e*n)/n}function isLeapYear(e){return e%4==0&&(e%100!=0||e%400==0)}function daysInYear(e){return isLeapYear(e)?366:365}function daysInMonth(e,t){const r=function floorMod(e,t){return e-t*Math.floor(e/t)}(t-1,12)+1;return 2===r?isLeapYear(e+(t-r)/12)?29:28:[31,null,31,30,31,30,31,31,30,31,30,31][r-1]}function objToLocalTS(e){let t=Date.UTC(e.year,e.month-1,e.day,e.hour,e.minute,e.second,e.millisecond);return e.year<100&&e.year>=0&&(t=new Date(t),t.setUTCFullYear(t.getUTCFullYear()-1900)),+t}function weeksInWeekYear(e){const t=(e+Math.floor(e/4)-Math.floor(e/100)+Math.floor(e/400))%7,r=e-1,n=(r+Math.floor(r/4)-Math.floor(r/100)+Math.floor(r/400))%7;return 4===t||3===n?53:52}function untruncateYear(e){return e>99?e:e>60?1900+e:2e3+e}function parseZoneInfo(e,t,r,n=null){const i=new Date(e),a={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};n&&(a.timeZone=n);const s={timeZoneName:t,...a},o=new Intl.DateTimeFormat(r,s).formatToParts(i).find((e=>"timezonename"===e.type.toLowerCase()));return o?o.value:null}function signedOffset(e,t){let r=parseInt(e,10);Number.isNaN(r)&&(r=0);const n=parseInt(t,10)||0;return 60*r+(r<0||Object.is(r,-0)?-n:n)}function asNumber(e){const t=Number(e);if("boolean"==typeof e||""===e||Number.isNaN(t))throw new InvalidArgumentError(`Invalid unit value ${e}`);return t}function normalizeObject(e,t){const r={};for(const n in e)if(hasOwnProperty(e,n)){const i=e[n];if(null==i)continue;r[t(n)]=asNumber(i)}return r}function formatOffset(e,t){const r=Math.trunc(Math.abs(e/60)),n=Math.trunc(Math.abs(e%60)),i=e>=0?"+":"-";switch(t){case"short":return`${i}${padStart(r,2)}:${padStart(n,2)}`;case"narrow":return`${i}${r}${n>0?`:${n}`:""}`;case"techie":return`${i}${padStart(r,2)}${padStart(n,2)}`;default:throw new RangeError(`Value format ${t} is out of range for property format`)}}function timeObject(e){return function pick(e,t){return t.reduce(((t,r)=>(t[r]=e[r],t)),{})}(e,["hour","minute","second","millisecond"])}const C=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/,T=["January","February","March","April","May","June","July","August","September","October","November","December"],E=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],L=["J","F","M","A","M","J","J","A","S","O","N","D"];function months(e){switch(e){case"narrow":return[...L];case"short":return[...E];case"long":return[...T];case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}const P=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],j=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],q=["M","T","W","T","F","S","S"];function weekdays(e){switch(e){case"narrow":return[...q];case"short":return[...j];case"long":return[...P];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}const x=["AM","PM"],k=["Before Christ","Anno Domini"],M=["BC","AD"],D=["B","A"];function eras(e){switch(e){case"narrow":return[...D];case"short":return[...M];case"long":return[...k];default:return null}}function stringifyTokens(e,t){let r="";for(const n of e)n.literal?r+=n.val:r+=t(n.val);return r}const F={D:a,DD:s,DDD:u,DDDD:c,t:l,tt:d,ttt:f,tttt:h,T:p,TT:m,TTT:y,TTTT:g,f:b,ff:_,fff:O,ffff:A,F:v,FF:w,FFF:R,FFFF:S};class Formatter{static create(e,t={}){return new Formatter(e,t)}static parseFormat(e){let t=null,r="",n=!1;const i=[];for(let a=0;a<e.length;a++){const s=e.charAt(a);"'"===s?(r.length>0&&i.push({literal:n,val:r}),t=null,r="",n=!n):n||s===t?r+=s:(r.length>0&&i.push({literal:!1,val:r}),r=s,t=s)}return r.length>0&&i.push({literal:n,val:r}),i}static macroTokenToFormatOpts(e){return F[e]}constructor(e,t){this.opts=t,this.loc=e,this.systemLoc=null}formatWithSystemDefault(e,t){null===this.systemLoc&&(this.systemLoc=this.loc.redefaultToSystem());return this.systemLoc.dtFormatter(e,{...this.opts,...t}).format()}formatDateTime(e,t={}){return this.loc.dtFormatter(e,{...this.opts,...t}).format()}formatDateTimeParts(e,t={}){return this.loc.dtFormatter(e,{...this.opts,...t}).formatToParts()}resolvedOptions(e,t={}){return this.loc.dtFormatter(e,{...this.opts,...t}).resolvedOptions()}num(e,t=0){if(this.opts.forceSimple)return padStart(e,t);const r={...this.opts};return t>0&&(r.padTo=t),this.loc.numberFormatter(r).format(e)}formatDateTimeFromString(e,t){const r="en"===this.loc.listingMode(),n=this.loc.outputCalendar&&"gregory"!==this.loc.outputCalendar,string=(t,r)=>this.loc.extract(e,t,r),formatOffset=t=>e.isOffsetFixed&&0===e.offset&&t.allowZ?"Z":e.isValid?e.zone.formatOffset(e.ts,t.format):"",meridiem=()=>r?function meridiemForDateTime(e){return x[e.hour<12?0:1]}(e):string({hour:"numeric",hourCycle:"h12"},"dayperiod"),month=(t,n)=>r?function monthForDateTime(e,t){return months(t)[e.month-1]}(e,t):string(n?{month:t}:{month:t,day:"numeric"},"month"),weekday=(t,n)=>r?function weekdayForDateTime(e,t){return weekdays(t)[e.weekday-1]}(e,t):string(n?{weekday:t}:{weekday:t,month:"long",day:"numeric"},"weekday"),maybeMacro=t=>{const r=Formatter.macroTokenToFormatOpts(t);return r?this.formatWithSystemDefault(e,r):t},era=t=>r?function eraForDateTime(e,t){return eras(t)[e.year<0?0:1]}(e,t):string({era:t},"era");return stringifyTokens(Formatter.parseFormat(t),(t=>{switch(t){case"S":return this.num(e.millisecond);case"u":case"SSS":return this.num(e.millisecond,3);case"s":return this.num(e.second);case"ss":return this.num(e.second,2);case"uu":return this.num(Math.floor(e.millisecond/10),2);case"uuu":return this.num(Math.floor(e.millisecond/100));case"m":return this.num(e.minute);case"mm":return this.num(e.minute,2);case"h":return this.num(e.hour%12==0?12:e.hour%12);case"hh":return this.num(e.hour%12==0?12:e.hour%12,2);case"H":return this.num(e.hour);case"HH":return this.num(e.hour,2);case"Z":return formatOffset({format:"narrow",allowZ:this.opts.allowZ});case"ZZ":return formatOffset({format:"short",allowZ:this.opts.allowZ});case"ZZZ":return formatOffset({format:"techie",allowZ:this.opts.allowZ});case"ZZZZ":return e.zone.offsetName(e.ts,{format:"short",locale:this.loc.locale});case"ZZZZZ":return e.zone.offsetName(e.ts,{format:"long",locale:this.loc.locale});case"z":return e.zoneName;case"a":return meridiem();case"d":return n?string({day:"numeric"},"day"):this.num(e.day);case"dd":return n?string({day:"2-digit"},"day"):this.num(e.day,2);case"c":case"E":return this.num(e.weekday);case"ccc":return weekday("short",!0);case"cccc":return weekday("long",!0);case"ccccc":return weekday("narrow",!0);case"EEE":return weekday("short",!1);case"EEEE":return weekday("long",!1);case"EEEEE":return weekday("narrow",!1);case"L":return n?string({month:"numeric",day:"numeric"},"month"):this.num(e.month);case"LL":return n?string({month:"2-digit",day:"numeric"},"month"):this.num(e.month,2);case"LLL":return month("short",!0);case"LLLL":return month("long",!0);case"LLLLL":return month("narrow",!0);case"M":return n?string({month:"numeric"},"month"):this.num(e.month);case"MM":return n?string({month:"2-digit"},"month"):this.num(e.month,2);case"MMM":return month("short",!1);case"MMMM":return month("long",!1);case"MMMMM":return month("narrow",!1);case"y":return n?string({year:"numeric"},"year"):this.num(e.year);case"yy":return n?string({year:"2-digit"},"year"):this.num(e.year.toString().slice(-2),2);case"yyyy":return n?string({year:"numeric"},"year"):this.num(e.year,4);case"yyyyyy":return n?string({year:"numeric"},"year"):this.num(e.year,6);case"G":return era("short");case"GG":return era("long");case"GGGGG":return era("narrow");case"kk":return this.num(e.weekYear.toString().slice(-2),2);case"kkkk":return this.num(e.weekYear,4);case"W":return this.num(e.weekNumber);case"WW":return this.num(e.weekNumber,2);case"o":return this.num(e.ordinal);case"ooo":return this.num(e.ordinal,3);case"q":return this.num(e.quarter);case"qq":return this.num(e.quarter,2);case"X":return this.num(Math.floor(e.ts/1e3));case"x":return this.num(e.ts);default:return maybeMacro(t)}}))}formatDurationFromString(e,t){const tokenToField=e=>{switch(e[0]){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":return"hour";case"d":return"day";case"w":return"week";case"M":return"month";case"y":return"year";default:return null}},r=Formatter.parseFormat(t),n=r.reduce(((e,{literal:t,val:r})=>t?e:e.concat(r)),[]);return stringifyTokens(r,(e=>t=>{const r=tokenToField(t);return r?this.num(e.get(r),t.length):t})(e.shiftTo(...n.map(tokenToField).filter((e=>e)))))}}class Invalid{constructor(e,t){this.reason=e,this.explanation=t}toMessage(){return this.explanation?`${this.reason}: ${this.explanation}`:this.reason}}class Zone{get type(){throw new ZoneIsAbstractError}get name(){throw new ZoneIsAbstractError}get ianaName(){return this.name}get isUniversal(){throw new ZoneIsAbstractError}offsetName(e,t){throw new ZoneIsAbstractError}formatOffset(e,t){throw new ZoneIsAbstractError}offset(e){throw new ZoneIsAbstractError}equals(e){throw new ZoneIsAbstractError}get isValid(){throw new ZoneIsAbstractError}}let N=null;class SystemZone extends Zone{static get instance(){return null===N&&(N=new SystemZone),N}get type(){return"system"}get name(){return(new Intl.DateTimeFormat).resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(e,{format:t,locale:r}){return parseZoneInfo(e,t,r)}formatOffset(e,t){return formatOffset(this.offset(e),t)}offset(e){return-new Date(e).getTimezoneOffset()}equals(e){return"system"===e.type}get isValid(){return!0}}let z={};const V={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};let U={};class IANAZone extends Zone{static create(e){return U[e]||(U[e]=new IANAZone(e)),U[e]}static resetCache(){U={},z={}}static isValidSpecifier(e){return this.isValidZone(e)}static isValidZone(e){if(!e)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:e}).format(),!0}catch(e){return!1}}constructor(e){super(),this.zoneName=e,this.valid=IANAZone.isValidZone(e)}get type(){return"iana"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(e,{format:t,locale:r}){return parseZoneInfo(e,t,r,this.name)}formatOffset(e,t){return formatOffset(this.offset(e),t)}offset(e){const t=new Date(e);if(isNaN(t))return NaN;const r=function makeDTF(e){return z[e]||(z[e]=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:e,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",era:"short"})),z[e]}(this.name);let[n,i,a,s,o,u,c]=r.formatToParts?function partsOffset(e,t){const r=e.formatToParts(t),n=[];for(let e=0;e<r.length;e++){const{type:t,value:i}=r[e],a=V[t];"era"===t?n[a]=i:isUndefined(a)||(n[a]=parseInt(i,10))}return n}(r,t):function hackyOffset(e,t){const r=e.format(t).replace(/\u200E/g,""),n=/(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(r),[,i,a,s,o,u,c,l]=n;return[s,i,a,o,u,c,l]}(r,t);"BC"===s&&(n=1-Math.abs(n));let l=+t;const d=l%1e3;return l-=d>=0?d:1e3+d,(objToLocalTS({year:n,month:i,day:a,hour:24===o?0:o,minute:u,second:c,millisecond:0})-l)/6e4}equals(e){return"iana"===e.type&&e.name===this.name}get isValid(){return this.valid}}let W=null;class FixedOffsetZone extends Zone{static get utcInstance(){return null===W&&(W=new FixedOffsetZone(0)),W}static instance(e){return 0===e?FixedOffsetZone.utcInstance:new FixedOffsetZone(e)}static parseSpecifier(e){if(e){const t=e.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(t)return new FixedOffsetZone(signedOffset(t[1],t[2]))}return null}constructor(e){super(),this.fixed=e}get type(){return"fixed"}get name(){return 0===this.fixed?"UTC":`UTC${formatOffset(this.fixed,"narrow")}`}get ianaName(){return 0===this.fixed?"Etc/UTC":`Etc/GMT${formatOffset(-this.fixed,"narrow")}`}offsetName(){return this.name}formatOffset(e,t){return formatOffset(this.fixed,t)}get isUniversal(){return!0}offset(){return this.fixed}equals(e){return"fixed"===e.type&&e.fixed===this.fixed}get isValid(){return!0}}class InvalidZone extends Zone{constructor(e){super(),this.zoneName=e}get type(){return"invalid"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(){return null}formatOffset(){return""}offset(){return NaN}equals(){return!1}get isValid(){return!1}}function normalizeZone(e,t){if(isUndefined(e)||null===e)return t;if(e instanceof Zone)return e;if(function isString(e){return"string"==typeof e}(e)){const r=e.toLowerCase();return"default"===r?t:"local"===r||"system"===r?SystemZone.instance:"utc"===r||"gmt"===r?FixedOffsetZone.utcInstance:FixedOffsetZone.parseSpecifier(r)||IANAZone.create(e)}return isNumber(e)?FixedOffsetZone.instance(e):"object"==typeof e&&e.offset&&"number"==typeof e.offset?e:new InvalidZone(e)}let $,now=()=>Date.now(),B="system",Z=null,G=null,H=null;class Settings{static get now(){return now}static set now(e){now=e}static set defaultZone(e){B=e}static get defaultZone(){return normalizeZone(B,SystemZone.instance)}static get defaultLocale(){return Z}static set defaultLocale(e){Z=e}static get defaultNumberingSystem(){return G}static set defaultNumberingSystem(e){G=e}static get defaultOutputCalendar(){return H}static set defaultOutputCalendar(e){H=e}static get throwOnInvalid(){return $}static set throwOnInvalid(e){$=e}static resetCaches(){Locale.resetCache(),IANAZone.resetCache()}}let K={};let Y={};function getCachedDTF(e,t={}){const r=JSON.stringify([e,t]);let n=Y[r];return n||(n=new Intl.DateTimeFormat(e,t),Y[r]=n),n}let Q={};let J={};let X=null;function listStuff(e,t,r,n,i){const a=e.listingMode(r);return"error"===a?null:"en"===a?n(t):i(t)}class PolyNumberFormatter{constructor(e,t,r){this.padTo=r.padTo||0,this.floor=r.floor||!1;const{padTo:n,floor:i,...a}=r;if(!t||Object.keys(a).length>0){const t={useGrouping:!1,...r};r.padTo>0&&(t.minimumIntegerDigits=r.padTo),this.inf=function getCachedINF(e,t={}){const r=JSON.stringify([e,t]);let n=Q[r];return n||(n=new Intl.NumberFormat(e,t),Q[r]=n),n}(e,t)}}format(e){if(this.inf){const t=this.floor?Math.floor(e):e;return this.inf.format(t)}return padStart(this.floor?Math.floor(e):roundTo(e,3),this.padTo)}}class PolyDateFormatter{constructor(e,t,r){let n;if(this.opts=r,e.zone.isUniversal){const t=e.offset/60*-1,i=t>=0?`Etc/GMT+${t}`:`Etc/GMT${t}`;0!==e.offset&&IANAZone.create(i).valid?(n=i,this.dt=e):(n="UTC",r.timeZoneName?this.dt=e:this.dt=0===e.offset?e:DateTime.fromMillis(e.ts+60*e.offset*1e3))}else"system"===e.zone.type?this.dt=e:(this.dt=e,n=e.zone.name);const i={...this.opts};n&&(i.timeZone=n),this.dtf=getCachedDTF(t,i)}format(){return this.dtf.format(this.dt.toJSDate())}formatToParts(){return this.dtf.formatToParts(this.dt.toJSDate())}resolvedOptions(){return this.dtf.resolvedOptions()}}class PolyRelFormatter{constructor(e,t,r){this.opts={style:"long",...r},!t&&hasRelative()&&(this.rtf=function getCachedRTF(e,t={}){const{base:r,...n}=t,i=JSON.stringify([e,n]);let a=J[i];return a||(a=new Intl.RelativeTimeFormat(e,t),J[i]=a),a}(e,r))}format(e,t){return this.rtf?this.rtf.format(e,t):function formatRelativeTime(e,t,r="always",n=!1){const i={years:["year","yr."],quarters:["quarter","qtr."],months:["month","mo."],weeks:["week","wk."],days:["day","day","days"],hours:["hour","hr."],minutes:["minute","min."],seconds:["second","sec."]},a=-1===["hours","minutes","seconds"].indexOf(e);if("auto"===r&&a){const r="days"===e;switch(t){case 1:return r?"tomorrow":`next ${i[e][0]}`;case-1:return r?"yesterday":`last ${i[e][0]}`;case 0:return r?"today":`this ${i[e][0]}`}}const s=Object.is(t,-0)||t<0,o=Math.abs(t),u=1===o,c=i[e],l=n?u?c[1]:c[2]||c[1]:u?i[e][0]:e;return s?`${o} ${l} ago`:`in ${o} ${l}`}(t,e,this.opts.numeric,"long"!==this.opts.style)}formatToParts(e,t){return this.rtf?this.rtf.formatToParts(e,t):[]}}class Locale{static fromOpts(e){return Locale.create(e.locale,e.numberingSystem,e.outputCalendar,e.defaultToEN)}static create(e,t,r,n=!1){const i=e||Settings.defaultLocale,a=i||(n?"en-US":function systemLocale(){return X||(X=(new Intl.DateTimeFormat).resolvedOptions().locale,X)}()),s=t||Settings.defaultNumberingSystem,o=r||Settings.defaultOutputCalendar;return new Locale(a,s,o,i)}static resetCache(){X=null,Y={},Q={},J={}}static fromObject({locale:e,numberingSystem:t,outputCalendar:r}={}){return Locale.create(e,t,r)}constructor(e,t,r,n){const[i,a,s]=function parseLocaleString(e){const t=e.indexOf("-u-");if(-1===t)return[e];{let r;const n=e.substring(0,t);try{r=getCachedDTF(e).resolvedOptions()}catch(e){r=getCachedDTF(n).resolvedOptions()}const{numberingSystem:i,calendar:a}=r;return[n,i,a]}}(e);this.locale=i,this.numberingSystem=t||a||null,this.outputCalendar=r||s||null,this.intl=function intlConfigString(e,t,r){return r||t?(e+="-u",r&&(e+=`-ca-${r}`),t&&(e+=`-nu-${t}`),e):e}(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=n,this.fastNumbersCached=null}get fastNumbers(){return null==this.fastNumbersCached&&(this.fastNumbersCached=function supportsFastNumbers(e){return(!e.numberingSystem||"latn"===e.numberingSystem)&&("latn"===e.numberingSystem||!e.locale||e.locale.startsWith("en")||"latn"===new Intl.DateTimeFormat(e.intl).resolvedOptions().numberingSystem)}(this)),this.fastNumbersCached}listingMode(){const e=this.isEnglish(),t=!(null!==this.numberingSystem&&"latn"!==this.numberingSystem||null!==this.outputCalendar&&"gregory"!==this.outputCalendar);return e&&t?"en":"intl"}clone(e){return e&&0!==Object.getOwnPropertyNames(e).length?Locale.create(e.locale||this.specifiedLocale,e.numberingSystem||this.numberingSystem,e.outputCalendar||this.outputCalendar,e.defaultToEN||!1):this}redefaultToEN(e={}){return this.clone({...e,defaultToEN:!0})}redefaultToSystem(e={}){return this.clone({...e,defaultToEN:!1})}months(e,t=!1,r=!0){return listStuff(this,e,r,months,(()=>{const r=t?{month:e,day:"numeric"}:{month:e},n=t?"format":"standalone";return this.monthsCache[n][e]||(this.monthsCache[n][e]=function mapMonths(e){const t=[];for(let r=1;r<=12;r++){const n=DateTime.utc(2016,r,1);t.push(e(n))}return t}((e=>this.extract(e,r,"month")))),this.monthsCache[n][e]}))}weekdays(e,t=!1,r=!0){return listStuff(this,e,r,weekdays,(()=>{const r=t?{weekday:e,year:"numeric",month:"long",day:"numeric"}:{weekday:e},n=t?"format":"standalone";return this.weekdaysCache[n][e]||(this.weekdaysCache[n][e]=function mapWeekdays(e){const t=[];for(let r=1;r<=7;r++){const n=DateTime.utc(2016,11,13+r);t.push(e(n))}return t}((e=>this.extract(e,r,"weekday")))),this.weekdaysCache[n][e]}))}meridiems(e=!0){return listStuff(this,void 0,e,(()=>x),(()=>{if(!this.meridiemCache){const e={hour:"numeric",hourCycle:"h12"};this.meridiemCache=[DateTime.utc(2016,11,13,9),DateTime.utc(2016,11,13,19)].map((t=>this.extract(t,e,"dayperiod")))}return this.meridiemCache}))}eras(e,t=!0){return listStuff(this,e,t,eras,(()=>{const t={era:e};return this.eraCache[e]||(this.eraCache[e]=[DateTime.utc(-40,1,1),DateTime.utc(2017,1,1)].map((e=>this.extract(e,t,"era")))),this.eraCache[e]}))}extract(e,t,r){const n=this.dtFormatter(e,t).formatToParts().find((e=>e.type.toLowerCase()===r));return n?n.value:null}numberFormatter(e={}){return new PolyNumberFormatter(this.intl,e.forceSimple||this.fastNumbers,e)}dtFormatter(e,t={}){return new PolyDateFormatter(e,this.intl,t)}relFormatter(e={}){return new PolyRelFormatter(this.intl,this.isEnglish(),e)}listFormatter(e={}){return function getCachedLF(e,t={}){const r=JSON.stringify([e,t]);let n=K[r];return n||(n=new Intl.ListFormat(e,t),K[r]=n),n}(this.intl,e)}isEnglish(){return"en"===this.locale||"en-us"===this.locale.toLowerCase()||new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith("en-us")}equals(e){return this.locale===e.locale&&this.numberingSystem===e.numberingSystem&&this.outputCalendar===e.outputCalendar}}function combineRegexes(...e){const t=e.reduce(((e,t)=>e+t.source),"");return RegExp(`^${t}$`)}function combineExtractors(...e){return t=>e.reduce((([e,r,n],i)=>{const[a,s,o]=i(t,n);return[{...e,...a},s||r,o]}),[{},null,1]).slice(0,2)}function parse(e,...t){if(null==e)return[null,null];for(const[r,n]of t){const t=r.exec(e);if(t)return n(t)}return[null,null]}function simpleParse(...e){return(t,r)=>{const n={};let i;for(i=0;i<e.length;i++)n[e[i]]=parseInteger(t[r+i]);return[n,null,r+i]}}const ee=/(?:(Z)|([+-]\d\d)(?::?(\d\d))?)/,te=/(\d\d)(?::?(\d\d)(?::?(\d\d)(?:[.,](\d{1,30}))?)?)?/,re=RegExp(`${te.source}${`(?:${ee.source}?(?:\\[(${C.source})\\])?)?`}`),ne=RegExp(`(?:T${re.source})?`),ie=simpleParse("weekYear","weekNumber","weekDay"),ae=simpleParse("year","ordinal"),se=RegExp(`${te.source} ?(?:${ee.source}|(${C.source}))?`),oe=RegExp(`(?: ${se.source})?`);function int(e,t,r){const n=e[t];return isUndefined(n)?r:parseInteger(n)}function extractISOTime(e,t){return[{hours:int(e,t,0),minutes:int(e,t+1,0),seconds:int(e,t+2,0),milliseconds:parseMillis(e[t+3])},null,t+4]}function extractISOOffset(e,t){const r=!e[t]&&!e[t+1],n=signedOffset(e[t+1],e[t+2]);return[{},r?null:FixedOffsetZone.instance(n),t+3]}function extractIANAZone(e,t){return[{},e[t]?IANAZone.create(e[t]):null,t+1]}const ue=RegExp(`^T?${te.source}$`),ce=/^-?P(?:(?:(-?\d{1,20}(?:\.\d{1,20})?)Y)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20}(?:\.\d{1,20})?)W)?(?:(-?\d{1,20}(?:\.\d{1,20})?)D)?(?:T(?:(-?\d{1,20}(?:\.\d{1,20})?)H)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20})(?:[.,](-?\d{1,20}))?S)?)?)$/;function extractISODuration(e){const[t,r,n,i,a,s,o,u,c]=e,l="-"===t[0],d=u&&"-"===u[0],maybeNegate=(e,t=!1)=>void 0!==e&&(t||e&&l)?-e:e;return[{years:maybeNegate(parseFloating(r)),months:maybeNegate(parseFloating(n)),weeks:maybeNegate(parseFloating(i)),days:maybeNegate(parseFloating(a)),hours:maybeNegate(parseFloating(s)),minutes:maybeNegate(parseFloating(o)),seconds:maybeNegate(parseFloating(u),"-0"===u),milliseconds:maybeNegate(parseMillis(c),d)}]}const le={GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function fromStrings(e,t,r,n,i,a,s){const o={year:2===t.length?untruncateYear(parseInteger(t)):parseInteger(t),month:E.indexOf(r)+1,day:parseInteger(n),hour:parseInteger(i),minute:parseInteger(a)};return s&&(o.second=parseInteger(s)),e&&(o.weekday=e.length>3?P.indexOf(e)+1:j.indexOf(e)+1),o}const de=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/;function extractRFC2822(e){const[,t,r,n,i,a,s,o,u,c,l,d]=e,f=fromStrings(t,i,n,r,a,s,o);let h;return h=u?le[u]:c?0:signedOffset(l,d),[f,new FixedOffsetZone(h)]}const fe=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/,he=/^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/,pe=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;function extractRFC1123Or850(e){const[,t,r,n,i,a,s,o]=e;return[fromStrings(t,i,n,r,a,s,o),FixedOffsetZone.utcInstance]}function extractASCII(e){const[,t,r,n,i,a,s,o]=e;return[fromStrings(t,o,r,n,i,a,s),FixedOffsetZone.utcInstance]}const me=combineRegexes(/([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/,ne),ye=combineRegexes(/(\d{4})-?W(\d\d)(?:-?(\d))?/,ne),ge=combineRegexes(/(\d{4})-?(\d{3})/,ne),be=combineRegexes(re),ve=combineExtractors((function extractISOYmd(e,t){return[{year:int(e,t),month:int(e,t+1,1),day:int(e,t+2,1)},null,t+3]}),extractISOTime,extractISOOffset,extractIANAZone),_e=combineExtractors(ie,extractISOTime,extractISOOffset,extractIANAZone),we=combineExtractors(ae,extractISOTime,extractISOOffset,extractIANAZone),Ie=combineExtractors(extractISOTime,extractISOOffset,extractIANAZone);const Oe=combineExtractors(extractISOTime);const Re=combineRegexes(/(\d{4})-(\d\d)-(\d\d)/,oe),Ae=combineRegexes(se),Se=combineExtractors(extractISOTime,extractISOOffset,extractIANAZone);const Ce={weeks:{days:7,hours:168,minutes:10080,seconds:604800,milliseconds:6048e5},days:{hours:24,minutes:1440,seconds:86400,milliseconds:864e5},hours:{minutes:60,seconds:3600,milliseconds:36e5},minutes:{seconds:60,milliseconds:6e4},seconds:{milliseconds:1e3}},Te={years:{quarters:4,months:12,weeks:52,days:365,hours:8760,minutes:525600,seconds:31536e3,milliseconds:31536e6},quarters:{months:3,weeks:13,days:91,hours:2184,minutes:131040,seconds:7862400,milliseconds:78624e5},months:{weeks:4,days:30,hours:720,minutes:43200,seconds:2592e3,milliseconds:2592e6},...Ce},Ee=365.2425,Le=30.436875,Pe={years:{quarters:4,months:12,weeks:52.1775,days:Ee,hours:8765.82,minutes:525949.2,seconds:525949.2*60,milliseconds:525949.2*60*1e3},quarters:{months:3,weeks:13.044375,days:91.310625,hours:2191.455,minutes:131487.3,seconds:525949.2*60/4,milliseconds:7889237999.999999},months:{weeks:4.3481250000000005,days:Le,hours:730.485,minutes:43829.1,seconds:2629746,milliseconds:2629746e3},...Ce},je=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],qe=je.slice(0).reverse();function clone$1(e,t,r=!1){const n={values:r?t.values:{...e.values,...t.values||{}},loc:e.loc.clone(t.loc),conversionAccuracy:t.conversionAccuracy||e.conversionAccuracy,matrix:t.matrix||e.matrix};return new Duration(n)}function convert(e,t,r,n,i){const a=e[i][r],s=t[r]/a,o=!(Math.sign(s)===Math.sign(n[i]))&&0!==n[i]&&Math.abs(s)<=1?function antiTrunc(e){return e<0?Math.floor(e):Math.ceil(e)}(s):Math.trunc(s);n[i]+=o,t[r]-=o*a}class Duration{constructor(e){const t="longterm"===e.conversionAccuracy||!1;let r=t?Pe:Te;e.matrix&&(r=e.matrix),this.values=e.values,this.loc=e.loc||Locale.create(),this.conversionAccuracy=t?"longterm":"casual",this.invalid=e.invalid||null,this.matrix=r,this.isLuxonDuration=!0}static fromMillis(e,t){return Duration.fromObject({milliseconds:e},t)}static fromObject(e,t={}){if(null==e||"object"!=typeof e)throw new InvalidArgumentError("Duration.fromObject: argument expected to be an object, got "+(null===e?"null":typeof e));return new Duration({values:normalizeObject(e,Duration.normalizeUnit),loc:Locale.fromObject(t),conversionAccuracy:t.conversionAccuracy,matrix:t.matrix})}static fromDurationLike(e){if(isNumber(e))return Duration.fromMillis(e);if(Duration.isDuration(e))return e;if("object"==typeof e)return Duration.fromObject(e);throw new InvalidArgumentError(`Unknown duration argument ${e} of type ${typeof e}`)}static fromISO(e,t){const[r]=function parseISODuration(e){return parse(e,[ce,extractISODuration])}(e);return r?Duration.fromObject(r,t):Duration.invalid("unparsable",`the input "${e}" can't be parsed as ISO 8601`)}static fromISOTime(e,t){const[r]=function parseISOTimeOnly(e){return parse(e,[ue,Oe])}(e);return r?Duration.fromObject(r,t):Duration.invalid("unparsable",`the input "${e}" can't be parsed as ISO 8601`)}static invalid(e,t=null){if(!e)throw new InvalidArgumentError("need to specify a reason the Duration is invalid");const r=e instanceof Invalid?e:new Invalid(e,t);if(Settings.throwOnInvalid)throw new InvalidDurationError(r);return new Duration({invalid:r})}static normalizeUnit(e){const t={year:"years",years:"years",quarter:"quarters",quarters:"quarters",month:"months",months:"months",week:"weeks",weeks:"weeks",day:"days",days:"days",hour:"hours",hours:"hours",minute:"minutes",minutes:"minutes",second:"seconds",seconds:"seconds",millisecond:"milliseconds",milliseconds:"milliseconds"}[e?e.toLowerCase():e];if(!t)throw new InvalidUnitError(e);return t}static isDuration(e){return e&&e.isLuxonDuration||!1}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}toFormat(e,t={}){const r={...t,floor:!1!==t.round&&!1!==t.floor};return this.isValid?Formatter.create(this.loc,r).formatDurationFromString(this,e):"Invalid Duration"}toHuman(e={}){const t=je.map((t=>{const r=this.values[t];return isUndefined(r)?null:this.loc.numberFormatter({style:"unit",unitDisplay:"long",...e,unit:t.slice(0,-1)}).format(r)})).filter((e=>e));return this.loc.listFormatter({type:"conjunction",style:e.listStyle||"narrow",...e}).format(t)}toObject(){return this.isValid?{...this.values}:{}}toISO(){if(!this.isValid)return null;let e="P";return 0!==this.years&&(e+=this.years+"Y"),0===this.months&&0===this.quarters||(e+=this.months+3*this.quarters+"M"),0!==this.weeks&&(e+=this.weeks+"W"),0!==this.days&&(e+=this.days+"D"),0===this.hours&&0===this.minutes&&0===this.seconds&&0===this.milliseconds||(e+="T"),0!==this.hours&&(e+=this.hours+"H"),0!==this.minutes&&(e+=this.minutes+"M"),0===this.seconds&&0===this.milliseconds||(e+=roundTo(this.seconds+this.milliseconds/1e3,3)+"S"),"P"===e&&(e+="T0S"),e}toISOTime(e={}){if(!this.isValid)return null;const t=this.toMillis();if(t<0||t>=864e5)return null;e={suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended",...e};const r=this.shiftTo("hours","minutes","seconds","milliseconds");let n="basic"===e.format?"hhmm":"hh:mm";e.suppressSeconds&&0===r.seconds&&0===r.milliseconds||(n+="basic"===e.format?"ss":":ss",e.suppressMilliseconds&&0===r.milliseconds||(n+=".SSS"));let i=r.toFormat(n);return e.includePrefix&&(i="T"+i),i}toJSON(){return this.toISO()}toString(){return this.toISO()}toMillis(){return this.as("milliseconds")}valueOf(){return this.toMillis()}plus(e){if(!this.isValid)return this;const t=Duration.fromDurationLike(e),r={};for(const e of je)(hasOwnProperty(t.values,e)||hasOwnProperty(this.values,e))&&(r[e]=t.get(e)+this.get(e));return clone$1(this,{values:r},!0)}minus(e){if(!this.isValid)return this;const t=Duration.fromDurationLike(e);return this.plus(t.negate())}mapUnits(e){if(!this.isValid)return this;const t={};for(const r of Object.keys(this.values))t[r]=asNumber(e(this.values[r],r));return clone$1(this,{values:t},!0)}get(e){return this[Duration.normalizeUnit(e)]}set(e){if(!this.isValid)return this;return clone$1(this,{values:{...this.values,...normalizeObject(e,Duration.normalizeUnit)}})}reconfigure({locale:e,numberingSystem:t,conversionAccuracy:r,matrix:n}={}){return clone$1(this,{loc:this.loc.clone({locale:e,numberingSystem:t}),matrix:n,conversionAccuracy:r})}as(e){return this.isValid?this.shiftTo(e).get(e):NaN}normalize(){if(!this.isValid)return this;const e=this.toObject();return function normalizeValues(e,t){qe.reduce(((r,n)=>isUndefined(t[n])?r:(r&&convert(e,t,r,t,n),n)),null)}(this.matrix,e),clone$1(this,{values:e},!0)}shiftTo(...e){if(!this.isValid)return this;if(0===e.length)return this;e=e.map((e=>Duration.normalizeUnit(e)));const t={},r={},n=this.toObject();let i;for(const a of je)if(e.indexOf(a)>=0){i=a;let e=0;for(const t in r)e+=this.matrix[t][a]*r[t],r[t]=0;isNumber(n[a])&&(e+=n[a]);const s=Math.trunc(e);t[a]=s,r[a]=(1e3*e-1e3*s)/1e3;for(const e in n)je.indexOf(e)>je.indexOf(a)&&convert(this.matrix,n,e,t,a)}else isNumber(n[a])&&(r[a]=n[a]);for(const e in r)0!==r[e]&&(t[i]+=e===i?r[e]:r[e]/this.matrix[i][e]);return clone$1(this,{values:t},!0).normalize()}negate(){if(!this.isValid)return this;const e={};for(const t of Object.keys(this.values))e[t]=0===this.values[t]?0:-this.values[t];return clone$1(this,{values:e},!0)}get years(){return this.isValid?this.values.years||0:NaN}get quarters(){return this.isValid?this.values.quarters||0:NaN}get months(){return this.isValid?this.values.months||0:NaN}get weeks(){return this.isValid?this.values.weeks||0:NaN}get days(){return this.isValid?this.values.days||0:NaN}get hours(){return this.isValid?this.values.hours||0:NaN}get minutes(){return this.isValid?this.values.minutes||0:NaN}get seconds(){return this.isValid?this.values.seconds||0:NaN}get milliseconds(){return this.isValid?this.values.milliseconds||0:NaN}get isValid(){return null===this.invalid}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}equals(e){if(!this.isValid||!e.isValid)return!1;if(!this.loc.equals(e.loc))return!1;for(const n of je)if(t=this.values[n],r=e.values[n],!(void 0===t||0===t?void 0===r||0===r:t===r))return!1;var t,r;return!0}}const xe="Invalid Interval";class Interval{constructor(e){this.s=e.start,this.e=e.end,this.invalid=e.invalid||null,this.isLuxonInterval=!0}static invalid(e,t=null){if(!e)throw new InvalidArgumentError("need to specify a reason the Interval is invalid");const r=e instanceof Invalid?e:new Invalid(e,t);if(Settings.throwOnInvalid)throw new InvalidIntervalError(r);return new Interval({invalid:r})}static fromDateTimes(e,t){const r=friendlyDateTime(e),n=friendlyDateTime(t),i=function validateStartEnd(e,t){return e&&e.isValid?t&&t.isValid?t<e?Interval.invalid("end before start",`The end of an interval must be after its start, but you had start=${e.toISO()} and end=${t.toISO()}`):null:Interval.invalid("missing or invalid end"):Interval.invalid("missing or invalid start")}(r,n);return null==i?new Interval({start:r,end:n}):i}static after(e,t){const r=Duration.fromDurationLike(t),n=friendlyDateTime(e);return Interval.fromDateTimes(n,n.plus(r))}static before(e,t){const r=Duration.fromDurationLike(t),n=friendlyDateTime(e);return Interval.fromDateTimes(n.minus(r),n)}static fromISO(e,t){const[r,n]=(e||"").split("/",2);if(r&&n){let e,i,a,s;try{e=DateTime.fromISO(r,t),i=e.isValid}catch(n){i=!1}try{a=DateTime.fromISO(n,t),s=a.isValid}catch(n){s=!1}if(i&&s)return Interval.fromDateTimes(e,a);if(i){const r=Duration.fromISO(n,t);if(r.isValid)return Interval.after(e,r)}else if(s){const e=Duration.fromISO(r,t);if(e.isValid)return Interval.before(a,e)}}return Interval.invalid("unparsable",`the input "${e}" can't be parsed as ISO 8601`)}static isInterval(e){return e&&e.isLuxonInterval||!1}get start(){return this.isValid?this.s:null}get end(){return this.isValid?this.e:null}get isValid(){return null===this.invalidReason}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}length(e="milliseconds"){return this.isValid?this.toDuration(e).get(e):NaN}count(e="milliseconds"){if(!this.isValid)return NaN;const t=this.start.startOf(e),r=this.end.startOf(e);return Math.floor(r.diff(t,e).get(e))+1}hasSame(e){return!!this.isValid&&(this.isEmpty()||this.e.minus(1).hasSame(this.s,e))}isEmpty(){return this.s.valueOf()===this.e.valueOf()}isAfter(e){return!!this.isValid&&this.s>e}isBefore(e){return!!this.isValid&&this.e<=e}contains(e){return!!this.isValid&&(this.s<=e&&this.e>e)}set({start:e,end:t}={}){return this.isValid?Interval.fromDateTimes(e||this.s,t||this.e):this}splitAt(...e){if(!this.isValid)return[];const t=e.map(friendlyDateTime).filter((e=>this.contains(e))).sort(),r=[];let{s:n}=this,i=0;for(;n<this.e;){const e=t[i]||this.e,a=+e>+this.e?this.e:e;r.push(Interval.fromDateTimes(n,a)),n=a,i+=1}return r}splitBy(e){const t=Duration.fromDurationLike(e);if(!this.isValid||!t.isValid||0===t.as("milliseconds"))return[];let r,{s:n}=this,i=1;const a=[];for(;n<this.e;){const e=this.start.plus(t.mapUnits((e=>e*i)));r=+e>+this.e?this.e:e,a.push(Interval.fromDateTimes(n,r)),n=r,i+=1}return a}divideEqually(e){return this.isValid?this.splitBy(this.length()/e).slice(0,e):[]}overlaps(e){return this.e>e.s&&this.s<e.e}abutsStart(e){return!!this.isValid&&+this.e==+e.s}abutsEnd(e){return!!this.isValid&&+e.e==+this.s}engulfs(e){return!!this.isValid&&(this.s<=e.s&&this.e>=e.e)}equals(e){return!(!this.isValid||!e.isValid)&&(this.s.equals(e.s)&&this.e.equals(e.e))}intersection(e){if(!this.isValid)return this;const t=this.s>e.s?this.s:e.s,r=this.e<e.e?this.e:e.e;return t>=r?null:Interval.fromDateTimes(t,r)}union(e){if(!this.isValid)return this;const t=this.s<e.s?this.s:e.s,r=this.e>e.e?this.e:e.e;return Interval.fromDateTimes(t,r)}static merge(e){const[t,r]=e.sort(((e,t)=>e.s-t.s)).reduce((([e,t],r)=>t?t.overlaps(r)||t.abutsStart(r)?[e,t.union(r)]:[e.concat([t]),r]:[e,r]),[[],null]);return r&&t.push(r),t}static xor(e){let t=null,r=0;const n=[],i=e.map((e=>[{time:e.s,type:"s"},{time:e.e,type:"e"}])),a=Array.prototype.concat(...i).sort(((e,t)=>e.time-t.time));for(const e of a)r+="s"===e.type?1:-1,1===r?t=e.time:(t&&+t!=+e.time&&n.push(Interval.fromDateTimes(t,e.time)),t=null);return Interval.merge(n)}difference(...e){return Interval.xor([this].concat(e)).map((e=>this.intersection(e))).filter((e=>e&&!e.isEmpty()))}toString(){return this.isValid?`[${this.s.toISO()} – ${this.e.toISO()})`:xe}toISO(e){return this.isValid?`${this.s.toISO(e)}/${this.e.toISO(e)}`:xe}toISODate(){return this.isValid?`${this.s.toISODate()}/${this.e.toISODate()}`:xe}toISOTime(e){return this.isValid?`${this.s.toISOTime(e)}/${this.e.toISOTime(e)}`:xe}toFormat(e,{separator:t=" – "}={}){return this.isValid?`${this.s.toFormat(e)}${t}${this.e.toFormat(e)}`:xe}toDuration(e,t){return this.isValid?this.e.diff(this.s,e,t):Duration.invalid(this.invalidReason)}mapEndpoints(e){return Interval.fromDateTimes(e(this.s),e(this.e))}}class Info{static hasDST(e=Settings.defaultZone){const t=DateTime.now().setZone(e).set({month:12});return!e.isUniversal&&t.offset!==t.set({month:6}).offset}static isValidIANAZone(e){return IANAZone.isValidZone(e)}static normalizeZone(e){return normalizeZone(e,Settings.defaultZone)}static months(e="long",{locale:t=null,numberingSystem:r=null,locObj:n=null,outputCalendar:i="gregory"}={}){return(n||Locale.create(t,r,i)).months(e)}static monthsFormat(e="long",{locale:t=null,numberingSystem:r=null,locObj:n=null,outputCalendar:i="gregory"}={}){return(n||Locale.create(t,r,i)).months(e,!0)}static weekdays(e="long",{locale:t=null,numberingSystem:r=null,locObj:n=null}={}){return(n||Locale.create(t,r,null)).weekdays(e)}static weekdaysFormat(e="long",{locale:t=null,numberingSystem:r=null,locObj:n=null}={}){return(n||Locale.create(t,r,null)).weekdays(e,!0)}static meridiems({locale:e=null}={}){return Locale.create(e).meridiems()}static eras(e="short",{locale:t=null}={}){return Locale.create(t,null,"gregory").eras(e)}static features(){return{relative:hasRelative()}}}function dayDiff(e,t){const utcDayStart=e=>e.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf(),r=utcDayStart(t)-utcDayStart(e);return Math.floor(Duration.fromMillis(r).as("days"))}function diff(e,t,r,n){let[i,a,s,o]=function highOrderDiffs(e,t,r){const n=[["years",(e,t)=>t.year-e.year],["quarters",(e,t)=>t.quarter-e.quarter+4*(t.year-e.year)],["months",(e,t)=>t.month-e.month+12*(t.year-e.year)],["weeks",(e,t)=>{const r=dayDiff(e,t);return(r-r%7)/7}],["days",dayDiff]],i={};let a,s;for(const[o,u]of n)if(r.indexOf(o)>=0){a=o;let r=u(e,t);s=e.plus({[o]:r}),s>t?(e=e.plus({[o]:r-1}),r-=1):e=s,i[o]=r}return[e,i,s,a]}(e,t,r);const u=t-i,c=r.filter((e=>["hours","minutes","seconds","milliseconds"].indexOf(e)>=0));0===c.length&&(s<t&&(s=i.plus({[o]:1})),s!==i&&(a[o]=(a[o]||0)+u/(s-i)));const l=Duration.fromObject(a,n);return c.length>0?Duration.fromMillis(u,n).shiftTo(...c).plus(l):l}const ke={arab:"[٠-٩]",arabext:"[۰-۹]",bali:"[᭐-᭙]",beng:"[০-৯]",deva:"[०-९]",fullwide:"[0-9]",gujr:"[૦-૯]",hanidec:"[〇|一|二|三|四|五|六|七|八|九]",khmr:"[០-៩]",knda:"[೦-೯]",laoo:"[໐-໙]",limb:"[᥆-᥏]",mlym:"[൦-൯]",mong:"[᠐-᠙]",mymr:"[၀-၉]",orya:"[୦-୯]",tamldec:"[௦-௯]",telu:"[౦-౯]",thai:"[๐-๙]",tibt:"[༠-༩]",latn:"\\d"},Me={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},De=ke.hanidec.replace(/[\[|\]]/g,"").split("");function digitRegex({numberingSystem:e},t=""){return new RegExp(`${ke[e||"latn"]}${t}`)}function intUnit(e,t=(e=>e)){return{regex:e,deser:([e])=>t(function parseDigits(e){let t=parseInt(e,10);if(isNaN(t)){t="";for(let r=0;r<e.length;r++){const n=e.charCodeAt(r);if(-1!==e[r].search(ke.hanidec))t+=De.indexOf(e[r]);else for(const e in Me){const[r,i]=Me[e];n>=r&&n<=i&&(t+=n-r)}}return parseInt(t,10)}return t}(e))}}const Fe=`[ ${String.fromCharCode(160)}]`,Ne=new RegExp(Fe,"g");function fixListRegex(e){return e.replace(/\./g,"\\.?").replace(Ne,Fe)}function stripInsensitivities(e){return e.replace(/\./g,"").replace(Ne," ").toLowerCase()}function oneOf(e,t){return null===e?null:{regex:RegExp(e.map(fixListRegex).join("|")),deser:([r])=>e.findIndex((e=>stripInsensitivities(r)===stripInsensitivities(e)))+t}}function offset(e,t){return{regex:e,deser:([,e,t])=>signedOffset(e,t),groups:t}}function simple(e){return{regex:e,deser:([e])=>e}}const ze={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour:{numeric:"h","2-digit":"hh"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"},timeZoneName:{long:"ZZZZZ",short:"ZZZ"}};let Ve=null;function expandMacroTokens(e,t){return Array.prototype.concat(...e.map((e=>function maybeExpandMacroToken(e,t){if(e.literal)return e;const r=formatOptsToTokens(Formatter.macroTokenToFormatOpts(e.val),t);return null==r||r.includes(void 0)?e:r}(e,t))))}function explainFromTokens(e,t,r){const n=expandMacroTokens(Formatter.parseFormat(r),e),i=n.map((t=>function unitForToken(e,t){const r=digitRegex(t),n=digitRegex(t,"{2}"),i=digitRegex(t,"{3}"),a=digitRegex(t,"{4}"),s=digitRegex(t,"{6}"),o=digitRegex(t,"{1,2}"),u=digitRegex(t,"{1,3}"),c=digitRegex(t,"{1,6}"),l=digitRegex(t,"{1,9}"),d=digitRegex(t,"{2,4}"),f=digitRegex(t,"{4,6}"),literal=e=>{return{regex:RegExp((t=e.val,t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"))),deser:([e])=>e,literal:!0};var t},h=(h=>{if(e.literal)return literal(h);switch(h.val){case"G":return oneOf(t.eras("short",!1),0);case"GG":return oneOf(t.eras("long",!1),0);case"y":return intUnit(c);case"yy":case"kk":return intUnit(d,untruncateYear);case"yyyy":case"kkkk":return intUnit(a);case"yyyyy":return intUnit(f);case"yyyyyy":return intUnit(s);case"M":case"L":case"d":case"H":case"h":case"m":case"q":case"s":case"W":return intUnit(o);case"MM":case"LL":case"dd":case"HH":case"hh":case"mm":case"qq":case"ss":case"WW":return intUnit(n);case"MMM":return oneOf(t.months("short",!0,!1),1);case"MMMM":return oneOf(t.months("long",!0,!1),1);case"LLL":return oneOf(t.months("short",!1,!1),1);case"LLLL":return oneOf(t.months("long",!1,!1),1);case"o":case"S":return intUnit(u);case"ooo":case"SSS":return intUnit(i);case"u":return simple(l);case"uu":return simple(o);case"uuu":case"E":case"c":return intUnit(r);case"a":return oneOf(t.meridiems(),0);case"EEE":return oneOf(t.weekdays("short",!1,!1),1);case"EEEE":return oneOf(t.weekdays("long",!1,!1),1);case"ccc":return oneOf(t.weekdays("short",!0,!1),1);case"cccc":return oneOf(t.weekdays("long",!0,!1),1);case"Z":case"ZZ":return offset(new RegExp(`([+-]${o.source})(?::(${n.source}))?`),2);case"ZZZ":return offset(new RegExp(`([+-]${o.source})(${n.source})?`),2);case"z":return simple(/[a-z_+-/]{1,256}?/i);default:return literal(h)}})(e)||{invalidReason:"missing Intl.DateTimeFormat.formatToParts support"};return h.token=e,h}(t,e))),a=i.find((e=>e.invalidReason));if(a)return{input:t,tokens:n,invalidReason:a.invalidReason};{const[e,r]=function buildRegex(e){return[`^${e.map((e=>e.regex)).reduce(((e,t)=>`${e}(${t.source})`),"")}$`,e]}(i),a=RegExp(e,"i"),[s,o]=function match(e,t,r){const n=e.match(t);if(n){const e={};let t=1;for(const i in r)if(hasOwnProperty(r,i)){const a=r[i],s=a.groups?a.groups+1:1;!a.literal&&a.token&&(e[a.token.val[0]]=a.deser(n.slice(t,t+s))),t+=s}return[n,e]}return[n,{}]}(t,a,r),[u,c,l]=o?function dateTimeFromMatches(e){let t,r=null;return isUndefined(e.z)||(r=IANAZone.create(e.z)),isUndefined(e.Z)||(r||(r=new FixedOffsetZone(e.Z)),t=e.Z),isUndefined(e.q)||(e.M=3*(e.q-1)+1),isUndefined(e.h)||(e.h<12&&1===e.a?e.h+=12:12===e.h&&0===e.a&&(e.h=0)),0===e.G&&e.y&&(e.y=-e.y),isUndefined(e.u)||(e.S=parseMillis(e.u)),[Object.keys(e).reduce(((t,r)=>{const n=(e=>{switch(e){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}})(r);return n&&(t[n]=e[r]),t}),{}),r,t]}(o):[null,null,void 0];if(hasOwnProperty(o,"a")&&hasOwnProperty(o,"H"))throw new ConflictingSpecificationError("Can't include meridiem when specifying 24-hour format");return{input:t,tokens:n,regex:a,rawMatches:s,matches:o,result:u,zone:c,specificOffset:l}}}function formatOptsToTokens(e,t){if(!e)return null;return Formatter.create(t,e).formatDateTimeParts(function getDummyDateTime(){return Ve||(Ve=DateTime.fromMillis(1555555555555)),Ve}()).map((t=>function tokenForPart(e,t,r){const{type:n,value:i}=e;if("literal"===n)return{literal:!0,val:i};const a=r[n];let s=ze[n];return"object"==typeof s&&(s=s[a]),s?{literal:!1,val:s}:void 0}(t,0,e)))}const Ue=[0,31,59,90,120,151,181,212,243,273,304,334],We=[0,31,60,91,121,152,182,213,244,274,305,335];function unitOutOfRange(e,t){return new Invalid("unit out of range",`you specified ${t} (of type ${typeof t}) as a ${e}, which is invalid`)}function dayOfWeek(e,t,r){const n=new Date(Date.UTC(e,t-1,r));e<100&&e>=0&&n.setUTCFullYear(n.getUTCFullYear()-1900);const i=n.getUTCDay();return 0===i?7:i}function computeOrdinal(e,t,r){return r+(isLeapYear(e)?We:Ue)[t-1]}function uncomputeOrdinal(e,t){const r=isLeapYear(e)?We:Ue,n=r.findIndex((e=>e<t));return{month:n+1,day:t-r[n]}}function gregorianToWeek(e){const{year:t,month:r,day:n}=e,i=computeOrdinal(t,r,n),a=dayOfWeek(t,r,n);let s,o=Math.floor((i-a+10)/7);return o<1?(s=t-1,o=weeksInWeekYear(s)):o>weeksInWeekYear(t)?(s=t+1,o=1):s=t,{weekYear:s,weekNumber:o,weekday:a,...timeObject(e)}}function weekToGregorian(e){const{weekYear:t,weekNumber:r,weekday:n}=e,i=dayOfWeek(t,1,4),a=daysInYear(t);let s,o=7*r+n-i-3;o<1?(s=t-1,o+=daysInYear(s)):o>a?(s=t+1,o-=daysInYear(t)):s=t;const{month:u,day:c}=uncomputeOrdinal(s,o);return{year:s,month:u,day:c,...timeObject(e)}}function gregorianToOrdinal(e){const{year:t,month:r,day:n}=e;return{year:t,ordinal:computeOrdinal(t,r,n),...timeObject(e)}}function ordinalToGregorian(e){const{year:t,ordinal:r}=e,{month:n,day:i}=uncomputeOrdinal(t,r);return{year:t,month:n,day:i,...timeObject(e)}}function hasInvalidGregorianData(e){const t=isInteger(e.year),r=integerBetween(e.month,1,12),n=integerBetween(e.day,1,daysInMonth(e.year,e.month));return t?r?!n&&unitOutOfRange("day",e.day):unitOutOfRange("month",e.month):unitOutOfRange("year",e.year)}function hasInvalidTimeData(e){const{hour:t,minute:r,second:n,millisecond:i}=e,a=integerBetween(t,0,23)||24===t&&0===r&&0===n&&0===i,s=integerBetween(r,0,59),o=integerBetween(n,0,59),u=integerBetween(i,0,999);return a?s?o?!u&&unitOutOfRange("millisecond",i):unitOutOfRange("second",n):unitOutOfRange("minute",r):unitOutOfRange("hour",t)}const $e="Invalid DateTime",Be=864e13;function unsupportedZone(e){return new Invalid("unsupported zone",`the zone "${e.name}" is not supported`)}function possiblyCachedWeekData(e){return null===e.weekData&&(e.weekData=gregorianToWeek(e.c)),e.weekData}function clone(e,t){const r={ts:e.ts,zone:e.zone,c:e.c,o:e.o,loc:e.loc,invalid:e.invalid};return new DateTime({...r,...t,old:r})}function fixOffset(e,t,r){let n=e-60*t*1e3;const i=r.offset(n);if(t===i)return[n,t];n-=60*(i-t)*1e3;const a=r.offset(n);return i===a?[n,i]:[e-60*Math.min(i,a)*1e3,Math.max(i,a)]}function tsToObj(e,t){const r=new Date(e+=60*t*1e3);return{year:r.getUTCFullYear(),month:r.getUTCMonth()+1,day:r.getUTCDate(),hour:r.getUTCHours(),minute:r.getUTCMinutes(),second:r.getUTCSeconds(),millisecond:r.getUTCMilliseconds()}}function objToTS(e,t,r){return fixOffset(objToLocalTS(e),t,r)}function adjustTime(e,t){const r=e.o,n=e.c.year+Math.trunc(t.years),i=e.c.month+Math.trunc(t.months)+3*Math.trunc(t.quarters),a={...e.c,year:n,month:i,day:Math.min(e.c.day,daysInMonth(n,i))+Math.trunc(t.days)+7*Math.trunc(t.weeks)},s=Duration.fromObject({years:t.years-Math.trunc(t.years),quarters:t.quarters-Math.trunc(t.quarters),months:t.months-Math.trunc(t.months),weeks:t.weeks-Math.trunc(t.weeks),days:t.days-Math.trunc(t.days),hours:t.hours,minutes:t.minutes,seconds:t.seconds,milliseconds:t.milliseconds}).as("milliseconds"),o=objToLocalTS(a);let[u,c]=fixOffset(o,r,e.zone);return 0!==s&&(u+=s,c=e.zone.offset(u)),{ts:u,o:c}}function parseDataToDateTime(e,t,r,n,i,a){const{setZone:s,zone:o}=r;if(e&&0!==Object.keys(e).length){const n=t||o,i=DateTime.fromObject(e,{...r,zone:n,specificOffset:a});return s?i:i.setZone(o)}return DateTime.invalid(new Invalid("unparsable",`the input "${i}" can't be parsed as ${n}`))}function toTechFormat(e,t,r=!0){return e.isValid?Formatter.create(Locale.create("en-US"),{allowZ:r,forceSimple:!0}).formatDateTimeFromString(e,t):null}function toISODate(e,t){const r=e.c.year>9999||e.c.year<0;let n="";return r&&e.c.year>=0&&(n+="+"),n+=padStart(e.c.year,r?6:4),t?(n+="-",n+=padStart(e.c.month),n+="-",n+=padStart(e.c.day)):(n+=padStart(e.c.month),n+=padStart(e.c.day)),n}function toISOTime(e,t,r,n,i,a){let s=padStart(e.c.hour);return t?(s+=":",s+=padStart(e.c.minute),0===e.c.second&&r||(s+=":")):s+=padStart(e.c.minute),0===e.c.second&&r||(s+=padStart(e.c.second),0===e.c.millisecond&&n||(s+=".",s+=padStart(e.c.millisecond,3))),i&&(e.isOffsetFixed&&0===e.offset&&!a?s+="Z":e.o<0?(s+="-",s+=padStart(Math.trunc(-e.o/60)),s+=":",s+=padStart(Math.trunc(-e.o%60))):(s+="+",s+=padStart(Math.trunc(e.o/60)),s+=":",s+=padStart(Math.trunc(e.o%60)))),a&&(s+="["+e.zone.ianaName+"]"),s}const Ze={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},Ge={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},He={ordinal:1,hour:0,minute:0,second:0,millisecond:0},Ke=["year","month","day","hour","minute","second","millisecond"],Ye=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],Qe=["year","ordinal","hour","minute","second","millisecond"];function normalizeUnit(e){const t={year:"year",years:"year",month:"month",months:"month",day:"day",days:"day",hour:"hour",hours:"hour",minute:"minute",minutes:"minute",quarter:"quarter",quarters:"quarter",second:"second",seconds:"second",millisecond:"millisecond",milliseconds:"millisecond",weekday:"weekday",weekdays:"weekday",weeknumber:"weekNumber",weeksnumber:"weekNumber",weeknumbers:"weekNumber",weekyear:"weekYear",weekyears:"weekYear",ordinal:"ordinal"}[e.toLowerCase()];if(!t)throw new InvalidUnitError(e);return t}function quickDT(e,t){const r=normalizeZone(t.zone,Settings.defaultZone),n=Locale.fromObject(t),i=Settings.now();let a,s;if(isUndefined(e.year))a=i;else{for(const t of Ke)isUndefined(e[t])&&(e[t]=Ze[t]);const t=hasInvalidGregorianData(e)||hasInvalidTimeData(e);if(t)return DateTime.invalid(t);const n=r.offset(i);[a,s]=objToTS(e,n,r)}return new DateTime({ts:a,zone:r,loc:n,o:s})}function diffRelative(e,t,r){const n=!!isUndefined(r.round)||r.round,format=(e,i)=>{e=roundTo(e,n||r.calendary?0:2,!0);return t.loc.clone(r).relFormatter(r).format(e,i)},differ=n=>r.calendary?t.hasSame(e,n)?0:t.startOf(n).diff(e.startOf(n),n).get(n):t.diff(e,n).get(n);if(r.unit)return format(differ(r.unit),r.unit);for(const e of r.units){const t=differ(e);if(Math.abs(t)>=1)return format(t,e)}return format(e>t?-0:0,r.units[r.units.length-1])}function lastOpts(e){let t,r={};return e.length>0&&"object"==typeof e[e.length-1]?(r=e[e.length-1],t=Array.from(e).slice(0,e.length-1)):t=Array.from(e),[r,t]}class DateTime{constructor(e){const t=e.zone||Settings.defaultZone;let r=e.invalid||(Number.isNaN(e.ts)?new Invalid("invalid input"):null)||(t.isValid?null:unsupportedZone(t));this.ts=isUndefined(e.ts)?Settings.now():e.ts;let n=null,i=null;if(!r){if(e.old&&e.old.ts===this.ts&&e.old.zone.equals(t))[n,i]=[e.old.c,e.old.o];else{const e=t.offset(this.ts);n=tsToObj(this.ts,e),r=Number.isNaN(n.year)?new Invalid("invalid input"):null,n=r?null:n,i=r?null:e}}this._zone=t,this.loc=e.loc||Locale.create(),this.invalid=r,this.weekData=null,this.c=n,this.o=i,this.isLuxonDateTime=!0}static now(){return new DateTime({})}static local(){const[e,t]=lastOpts(arguments),[r,n,i,a,s,o,u]=t;return quickDT({year:r,month:n,day:i,hour:a,minute:s,second:o,millisecond:u},e)}static utc(){const[e,t]=lastOpts(arguments),[r,n,i,a,s,o,u]=t;return e.zone=FixedOffsetZone.utcInstance,quickDT({year:r,month:n,day:i,hour:a,minute:s,second:o,millisecond:u},e)}static fromJSDate(e,t={}){const r=function isDate(e){return"[object Date]"===Object.prototype.toString.call(e)}(e)?e.valueOf():NaN;if(Number.isNaN(r))return DateTime.invalid("invalid input");const n=normalizeZone(t.zone,Settings.defaultZone);return n.isValid?new DateTime({ts:r,zone:n,loc:Locale.fromObject(t)}):DateTime.invalid(unsupportedZone(n))}static fromMillis(e,t={}){if(isNumber(e))return e<-Be||e>Be?DateTime.invalid("Timestamp out of range"):new DateTime({ts:e,zone:normalizeZone(t.zone,Settings.defaultZone),loc:Locale.fromObject(t)});throw new InvalidArgumentError(`fromMillis requires a numerical input, but received a ${typeof e} with value ${e}`)}static fromSeconds(e,t={}){if(isNumber(e))return new DateTime({ts:1e3*e,zone:normalizeZone(t.zone,Settings.defaultZone),loc:Locale.fromObject(t)});throw new InvalidArgumentError("fromSeconds requires a numerical input")}static fromObject(e,t={}){e=e||{};const r=normalizeZone(t.zone,Settings.defaultZone);if(!r.isValid)return DateTime.invalid(unsupportedZone(r));const n=Settings.now(),i=isUndefined(t.specificOffset)?r.offset(n):t.specificOffset,a=normalizeObject(e,normalizeUnit),s=!isUndefined(a.ordinal),o=!isUndefined(a.year),u=!isUndefined(a.month)||!isUndefined(a.day),c=o||u,l=a.weekYear||a.weekNumber,d=Locale.fromObject(t);if((c||s)&&l)throw new ConflictingSpecificationError("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(u&&s)throw new ConflictingSpecificationError("Can't mix ordinal dates with month/day");const f=l||a.weekday&&!c;let h,p,m=tsToObj(n,i);f?(h=Ye,p=Ge,m=gregorianToWeek(m)):s?(h=Qe,p=He,m=gregorianToOrdinal(m)):(h=Ke,p=Ze);let y=!1;for(const e of h){isUndefined(a[e])?a[e]=y?p[e]:m[e]:y=!0}const g=f?function hasInvalidWeekData(e){const t=isInteger(e.weekYear),r=integerBetween(e.weekNumber,1,weeksInWeekYear(e.weekYear)),n=integerBetween(e.weekday,1,7);return t?r?!n&&unitOutOfRange("weekday",e.weekday):unitOutOfRange("week",e.week):unitOutOfRange("weekYear",e.weekYear)}(a):s?function hasInvalidOrdinalData(e){const t=isInteger(e.year),r=integerBetween(e.ordinal,1,daysInYear(e.year));return t?!r&&unitOutOfRange("ordinal",e.ordinal):unitOutOfRange("year",e.year)}(a):hasInvalidGregorianData(a),b=g||hasInvalidTimeData(a);if(b)return DateTime.invalid(b);const v=f?weekToGregorian(a):s?ordinalToGregorian(a):a,[_,w]=objToTS(v,i,r),I=new DateTime({ts:_,zone:r,o:w,loc:d});return a.weekday&&c&&e.weekday!==I.weekday?DateTime.invalid("mismatched weekday",`you can't specify both a weekday of ${a.weekday} and a date of ${I.toISO()}`):I}static fromISO(e,t={}){const[r,n]=function parseISODate(e){return parse(e,[me,ve],[ye,_e],[ge,we],[be,Ie])}(e);return parseDataToDateTime(r,n,t,"ISO 8601",e)}static fromRFC2822(e,t={}){const[r,n]=function parseRFC2822Date(e){return parse(function preprocessRFC2822(e){return e.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}(e),[de,extractRFC2822])}(e);return parseDataToDateTime(r,n,t,"RFC 2822",e)}static fromHTTP(e,t={}){const[r,n]=function parseHTTPDate(e){return parse(e,[fe,extractRFC1123Or850],[he,extractRFC1123Or850],[pe,extractASCII])}(e);return parseDataToDateTime(r,n,t,"HTTP",t)}static fromFormat(e,t,r={}){if(isUndefined(e)||isUndefined(t))throw new InvalidArgumentError("fromFormat requires an input string and a format");const{locale:n=null,numberingSystem:i=null}=r,a=Locale.fromOpts({locale:n,numberingSystem:i,defaultToEN:!0}),[s,o,u,c]=function parseFromTokens(e,t,r){const{result:n,zone:i,specificOffset:a,invalidReason:s}=explainFromTokens(e,t,r);return[n,i,a,s]}(a,e,t);return c?DateTime.invalid(c):parseDataToDateTime(s,o,r,`format ${t}`,e,u)}static fromString(e,t,r={}){return DateTime.fromFormat(e,t,r)}static fromSQL(e,t={}){const[r,n]=function parseSQL(e){return parse(e,[Re,ve],[Ae,Se])}(e);return parseDataToDateTime(r,n,t,"SQL",e)}static invalid(e,t=null){if(!e)throw new InvalidArgumentError("need to specify a reason the DateTime is invalid");const r=e instanceof Invalid?e:new Invalid(e,t);if(Settings.throwOnInvalid)throw new InvalidDateTimeError(r);return new DateTime({invalid:r})}static isDateTime(e){return e&&e.isLuxonDateTime||!1}static parseFormatForOpts(e,t={}){const r=formatOptsToTokens(e,Locale.fromObject(t));return r?r.map((e=>e?e.val:null)).join(""):null}static expandFormat(e,t={}){return expandMacroTokens(Formatter.parseFormat(e),Locale.fromObject(t)).map((e=>e.val)).join("")}get(e){return this[e]}get isValid(){return null===this.invalid}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}get outputCalendar(){return this.isValid?this.loc.outputCalendar:null}get zone(){return this._zone}get zoneName(){return this.isValid?this.zone.name:null}get year(){return this.isValid?this.c.year:NaN}get quarter(){return this.isValid?Math.ceil(this.c.month/3):NaN}get month(){return this.isValid?this.c.month:NaN}get day(){return this.isValid?this.c.day:NaN}get hour(){return this.isValid?this.c.hour:NaN}get minute(){return this.isValid?this.c.minute:NaN}get second(){return this.isValid?this.c.second:NaN}get millisecond(){return this.isValid?this.c.millisecond:NaN}get weekYear(){return this.isValid?possiblyCachedWeekData(this).weekYear:NaN}get weekNumber(){return this.isValid?possiblyCachedWeekData(this).weekNumber:NaN}get weekday(){return this.isValid?possiblyCachedWeekData(this).weekday:NaN}get ordinal(){return this.isValid?gregorianToOrdinal(this.c).ordinal:NaN}get monthShort(){return this.isValid?Info.months("short",{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?Info.months("long",{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?Info.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?Info.weekdays("long",{locObj:this.loc})[this.weekday-1]:null}get offset(){return this.isValid?+this.o:NaN}get offsetNameShort(){return this.isValid?this.zone.offsetName(this.ts,{format:"short",locale:this.locale}):null}get offsetNameLong(){return this.isValid?this.zone.offsetName(this.ts,{format:"long",locale:this.locale}):null}get isOffsetFixed(){return this.isValid?this.zone.isUniversal:null}get isInDST(){return!this.isOffsetFixed&&(this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset)}get isInLeapYear(){return isLeapYear(this.year)}get daysInMonth(){return daysInMonth(this.year,this.month)}get daysInYear(){return this.isValid?daysInYear(this.year):NaN}get weeksInWeekYear(){return this.isValid?weeksInWeekYear(this.weekYear):NaN}resolvedLocaleOptions(e={}){const{locale:t,numberingSystem:r,calendar:n}=Formatter.create(this.loc.clone(e),e).resolvedOptions(this);return{locale:t,numberingSystem:r,outputCalendar:n}}toUTC(e=0,t={}){return this.setZone(FixedOffsetZone.instance(e),t)}toLocal(){return this.setZone(Settings.defaultZone)}setZone(e,{keepLocalTime:t=!1,keepCalendarTime:r=!1}={}){if((e=normalizeZone(e,Settings.defaultZone)).equals(this.zone))return this;if(e.isValid){let n=this.ts;if(t||r){const t=e.offset(this.ts),r=this.toObject();[n]=objToTS(r,t,e)}return clone(this,{ts:n,zone:e})}return DateTime.invalid(unsupportedZone(e))}reconfigure({locale:e,numberingSystem:t,outputCalendar:r}={}){return clone(this,{loc:this.loc.clone({locale:e,numberingSystem:t,outputCalendar:r})})}setLocale(e){return this.reconfigure({locale:e})}set(e){if(!this.isValid)return this;const t=normalizeObject(e,normalizeUnit),r=!isUndefined(t.weekYear)||!isUndefined(t.weekNumber)||!isUndefined(t.weekday),n=!isUndefined(t.ordinal),i=!isUndefined(t.year),a=!isUndefined(t.month)||!isUndefined(t.day),s=i||a,o=t.weekYear||t.weekNumber;if((s||n)&&o)throw new ConflictingSpecificationError("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(a&&n)throw new ConflictingSpecificationError("Can't mix ordinal dates with month/day");let u;r?u=weekToGregorian({...gregorianToWeek(this.c),...t}):isUndefined(t.ordinal)?(u={...this.toObject(),...t},isUndefined(t.day)&&(u.day=Math.min(daysInMonth(u.year,u.month),u.day))):u=ordinalToGregorian({...gregorianToOrdinal(this.c),...t});const[c,l]=objToTS(u,this.o,this.zone);return clone(this,{ts:c,o:l})}plus(e){if(!this.isValid)return this;return clone(this,adjustTime(this,Duration.fromDurationLike(e)))}minus(e){if(!this.isValid)return this;return clone(this,adjustTime(this,Duration.fromDurationLike(e).negate()))}startOf(e){if(!this.isValid)return this;const t={},r=Duration.normalizeUnit(e);switch(r){case"years":t.month=1;case"quarters":case"months":t.day=1;case"weeks":case"days":t.hour=0;case"hours":t.minute=0;case"minutes":t.second=0;case"seconds":t.millisecond=0}if("weeks"===r&&(t.weekday=1),"quarters"===r){const e=Math.ceil(this.month/3);t.month=3*(e-1)+1}return this.set(t)}endOf(e){return this.isValid?this.plus({[e]:1}).startOf(e).minus(1):this}toFormat(e,t={}){return this.isValid?Formatter.create(this.loc.redefaultToEN(t)).formatDateTimeFromString(this,e):$e}toLocaleString(e=a,t={}){return this.isValid?Formatter.create(this.loc.clone(t),e).formatDateTime(this):$e}toLocaleParts(e={}){return this.isValid?Formatter.create(this.loc.clone(e),e).formatDateTimeParts(this):[]}toISO({format:e="extended",suppressSeconds:t=!1,suppressMilliseconds:r=!1,includeOffset:n=!0,extendedZone:i=!1}={}){if(!this.isValid)return null;const a="extended"===e;let s=toISODate(this,a);return s+="T",s+=toISOTime(this,a,t,r,n,i),s}toISODate({format:e="extended"}={}){return this.isValid?toISODate(this,"extended"===e):null}toISOWeekDate(){return toTechFormat(this,"kkkk-'W'WW-c")}toISOTime({suppressMilliseconds:e=!1,suppressSeconds:t=!1,includeOffset:r=!0,includePrefix:n=!1,extendedZone:i=!1,format:a="extended"}={}){if(!this.isValid)return null;return(n?"T":"")+toISOTime(this,"extended"===a,t,e,r,i)}toRFC2822(){return toTechFormat(this,"EEE, dd LLL yyyy HH:mm:ss ZZZ",!1)}toHTTP(){return toTechFormat(this.toUTC(),"EEE, dd LLL yyyy HH:mm:ss 'GMT'")}toSQLDate(){return this.isValid?toISODate(this,!0):null}toSQLTime({includeOffset:e=!0,includeZone:t=!1,includeOffsetSpace:r=!0}={}){let n="HH:mm:ss.SSS";return(t||e)&&(r&&(n+=" "),t?n+="z":e&&(n+="ZZ")),toTechFormat(this,n,!0)}toSQL(e={}){return this.isValid?`${this.toSQLDate()} ${this.toSQLTime(e)}`:null}toString(){return this.isValid?this.toISO():$e}valueOf(){return this.toMillis()}toMillis(){return this.isValid?this.ts:NaN}toSeconds(){return this.isValid?this.ts/1e3:NaN}toUnixInteger(){return this.isValid?Math.floor(this.ts/1e3):NaN}toJSON(){return this.toISO()}toBSON(){return this.toJSDate()}toObject(e={}){if(!this.isValid)return{};const t={...this.c};return e.includeConfig&&(t.outputCalendar=this.outputCalendar,t.numberingSystem=this.loc.numberingSystem,t.locale=this.loc.locale),t}toJSDate(){return new Date(this.isValid?this.ts:NaN)}diff(e,t="milliseconds",r={}){if(!this.isValid||!e.isValid)return Duration.invalid("created by diffing an invalid DateTime");const n={locale:this.locale,numberingSystem:this.numberingSystem,...r},i=function maybeArray(e){return Array.isArray(e)?e:[e]}(t).map(Duration.normalizeUnit),a=e.valueOf()>this.valueOf(),s=diff(a?this:e,a?e:this,i,n);return a?s.negate():s}diffNow(e="milliseconds",t={}){return this.diff(DateTime.now(),e,t)}until(e){return this.isValid?Interval.fromDateTimes(this,e):this}hasSame(e,t){if(!this.isValid)return!1;const r=e.valueOf(),n=this.setZone(e.zone,{keepLocalTime:!0});return n.startOf(t)<=r&&r<=n.endOf(t)}equals(e){return this.isValid&&e.isValid&&this.valueOf()===e.valueOf()&&this.zone.equals(e.zone)&&this.loc.equals(e.loc)}toRelative(e={}){if(!this.isValid)return null;const t=e.base||DateTime.fromObject({},{zone:this.zone}),r=e.padding?this<t?-e.padding:e.padding:0;let n=["years","months","days","hours","minutes","seconds"],i=e.unit;return Array.isArray(e.unit)&&(n=e.unit,i=void 0),diffRelative(t,this.plus(r),{...e,numeric:"always",units:n,unit:i})}toRelativeCalendar(e={}){return this.isValid?diffRelative(e.base||DateTime.fromObject({},{zone:this.zone}),this,{...e,numeric:"auto",units:["years","months","days"],calendary:!0}):null}static min(...e){if(!e.every(DateTime.isDateTime))throw new InvalidArgumentError("min requires all arguments be DateTimes");return bestBy(e,(e=>e.valueOf()),Math.min)}static max(...e){if(!e.every(DateTime.isDateTime))throw new InvalidArgumentError("max requires all arguments be DateTimes");return bestBy(e,(e=>e.valueOf()),Math.max)}static fromFormatExplain(e,t,r={}){const{locale:n=null,numberingSystem:i=null}=r;return explainFromTokens(Locale.fromOpts({locale:n,numberingSystem:i,defaultToEN:!0}),e,t)}static fromStringExplain(e,t,r={}){return DateTime.fromFormatExplain(e,t,r)}static get DATE_SHORT(){return a}static get DATE_MED(){return s}static get DATE_MED_WITH_WEEKDAY(){return o}static get DATE_FULL(){return u}static get DATE_HUGE(){return c}static get TIME_SIMPLE(){return l}static get TIME_WITH_SECONDS(){return d}static get TIME_WITH_SHORT_OFFSET(){return f}static get TIME_WITH_LONG_OFFSET(){return h}static get TIME_24_SIMPLE(){return p}static get TIME_24_WITH_SECONDS(){return m}static get TIME_24_WITH_SHORT_OFFSET(){return y}static get TIME_24_WITH_LONG_OFFSET(){return g}static get DATETIME_SHORT(){return b}static get DATETIME_SHORT_WITH_SECONDS(){return v}static get DATETIME_MED(){return _}static get DATETIME_MED_WITH_SECONDS(){return w}static get DATETIME_MED_WITH_WEEKDAY(){return I}static get DATETIME_FULL(){return O}static get DATETIME_FULL_WITH_SECONDS(){return R}static get DATETIME_HUGE(){return A}static get DATETIME_HUGE_WITH_SECONDS(){return S}}function friendlyDateTime(e){if(DateTime.isDateTime(e))return e;if(e&&e.valueOf&&isNumber(e.valueOf()))return DateTime.fromJSDate(e);if(e&&"object"==typeof e)return DateTime.fromObject(e);throw new InvalidArgumentError(`Unknown datetime argument: ${e}, of type ${typeof e}`)}t.DateTime=DateTime,t.Duration=Duration,t.FixedOffsetZone=FixedOffsetZone,t.IANAZone=IANAZone,t.Info=Info,t.Interval=Interval,t.InvalidZone=InvalidZone,t.Settings=Settings,t.SystemZone=SystemZone,t.VERSION="3.0.4",t.Zone=Zone},8660:()=>{var e;!function(e){!function(t){var r="object"==typeof global?global:"object"==typeof self?self:"object"==typeof this?this:Function("return this;")(),n=makeExporter(e);function makeExporter(e,t){return function(r,n){"function"!=typeof e[r]&&Object.defineProperty(e,r,{configurable:!0,writable:!0,value:n}),t&&t(r,n)}}void 0===r.Reflect?r.Reflect=e:n=makeExporter(r.Reflect,n),function(e){var t=Object.prototype.hasOwnProperty,r="function"==typeof Symbol,n=r&&void 0!==Symbol.toPrimitive?Symbol.toPrimitive:"@@toPrimitive",i=r&&void 0!==Symbol.iterator?Symbol.iterator:"@@iterator",a="function"==typeof Object.create,s={__proto__:[]}instanceof Array,o=!a&&!s,u={create:a?function(){return MakeDictionary(Object.create(null))}:s?function(){return MakeDictionary({__proto__:null})}:function(){return MakeDictionary({})},has:o?function(e,r){return t.call(e,r)}:function(e,t){return t in e},get:o?function(e,r){return t.call(e,r)?e[r]:void 0}:function(e,t){return e[t]}},c=Object.getPrototypeOf(Function),l="object"==typeof process&&process.env&&"true"===process.env.REFLECT_METADATA_USE_MAP_POLYFILL,d=l||"function"!=typeof Map||"function"!=typeof Map.prototype.entries?CreateMapPolyfill():Map,f=l||"function"!=typeof Set||"function"!=typeof Set.prototype.entries?CreateSetPolyfill():Set,h=new(l||"function"!=typeof WeakMap?CreateWeakMapPolyfill():WeakMap);function decorate(e,t,r,n){if(IsUndefined(r)){if(!IsArray(e))throw new TypeError;if(!IsConstructor(t))throw new TypeError;return DecorateConstructor(e,t)}if(!IsArray(e))throw new TypeError;if(!IsObject(t))throw new TypeError;if(!IsObject(n)&&!IsUndefined(n)&&!IsNull(n))throw new TypeError;return IsNull(n)&&(n=void 0),DecorateProperty(e,t,r=ToPropertyKey(r),n)}function metadata(e,t){function decorator(r,n){if(!IsObject(r))throw new TypeError;if(!IsUndefined(n)&&!IsPropertyKey(n))throw new TypeError;OrdinaryDefineOwnMetadata(e,t,r,n)}return decorator}function defineMetadata(e,t,r,n){if(!IsObject(r))throw new TypeError;return IsUndefined(n)||(n=ToPropertyKey(n)),OrdinaryDefineOwnMetadata(e,t,r,n)}function hasMetadata(e,t,r){if(!IsObject(t))throw new TypeError;return IsUndefined(r)||(r=ToPropertyKey(r)),OrdinaryHasMetadata(e,t,r)}function hasOwnMetadata(e,t,r){if(!IsObject(t))throw new TypeError;return IsUndefined(r)||(r=ToPropertyKey(r)),OrdinaryHasOwnMetadata(e,t,r)}function getMetadata(e,t,r){if(!IsObject(t))throw new TypeError;return IsUndefined(r)||(r=ToPropertyKey(r)),OrdinaryGetMetadata(e,t,r)}function getOwnMetadata(e,t,r){if(!IsObject(t))throw new TypeError;return IsUndefined(r)||(r=ToPropertyKey(r)),OrdinaryGetOwnMetadata(e,t,r)}function getMetadataKeys(e,t){if(!IsObject(e))throw new TypeError;return IsUndefined(t)||(t=ToPropertyKey(t)),OrdinaryMetadataKeys(e,t)}function getOwnMetadataKeys(e,t){if(!IsObject(e))throw new TypeError;return IsUndefined(t)||(t=ToPropertyKey(t)),OrdinaryOwnMetadataKeys(e,t)}function deleteMetadata(e,t,r){if(!IsObject(t))throw new TypeError;IsUndefined(r)||(r=ToPropertyKey(r));var n=GetOrCreateMetadataMap(t,r,!1);if(IsUndefined(n))return!1;if(!n.delete(e))return!1;if(n.size>0)return!0;var i=h.get(t);return i.delete(r),i.size>0||h.delete(t),!0}function DecorateConstructor(e,t){for(var r=e.length-1;r>=0;--r){var n=(0,e[r])(t);if(!IsUndefined(n)&&!IsNull(n)){if(!IsConstructor(n))throw new TypeError;t=n}}return t}function DecorateProperty(e,t,r,n){for(var i=e.length-1;i>=0;--i){var a=(0,e[i])(t,r,n);if(!IsUndefined(a)&&!IsNull(a)){if(!IsObject(a))throw new TypeError;n=a}}return n}function GetOrCreateMetadataMap(e,t,r){var n=h.get(e);if(IsUndefined(n)){if(!r)return;n=new d,h.set(e,n)}var i=n.get(t);if(IsUndefined(i)){if(!r)return;i=new d,n.set(t,i)}return i}function OrdinaryHasMetadata(e,t,r){if(OrdinaryHasOwnMetadata(e,t,r))return!0;var n=OrdinaryGetPrototypeOf(t);return!IsNull(n)&&OrdinaryHasMetadata(e,n,r)}function OrdinaryHasOwnMetadata(e,t,r){var n=GetOrCreateMetadataMap(t,r,!1);return!IsUndefined(n)&&ToBoolean(n.has(e))}function OrdinaryGetMetadata(e,t,r){if(OrdinaryHasOwnMetadata(e,t,r))return OrdinaryGetOwnMetadata(e,t,r);var n=OrdinaryGetPrototypeOf(t);return IsNull(n)?void 0:OrdinaryGetMetadata(e,n,r)}function OrdinaryGetOwnMetadata(e,t,r){var n=GetOrCreateMetadataMap(t,r,!1);if(!IsUndefined(n))return n.get(e)}function OrdinaryDefineOwnMetadata(e,t,r,n){GetOrCreateMetadataMap(r,n,!0).set(e,t)}function OrdinaryMetadataKeys(e,t){var r=OrdinaryOwnMetadataKeys(e,t),n=OrdinaryGetPrototypeOf(e);if(null===n)return r;var i=OrdinaryMetadataKeys(n,t);if(i.length<=0)return r;if(r.length<=0)return i;for(var a=new f,s=[],o=0,u=r;o<u.length;o++){var c=u[o];a.has(c)||(a.add(c),s.push(c))}for(var l=0,d=i;l<d.length;l++){c=d[l];a.has(c)||(a.add(c),s.push(c))}return s}function OrdinaryOwnMetadataKeys(e,t){var r=[],n=GetOrCreateMetadataMap(e,t,!1);if(IsUndefined(n))return r;for(var i=GetIterator(n.keys()),a=0;;){var s=IteratorStep(i);if(!s)return r.length=a,r;var o=IteratorValue(s);try{r[a]=o}catch(e){try{IteratorClose(i)}finally{throw e}}a++}}function Type(e){if(null===e)return 1;switch(typeof e){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return null===e?1:6;default:return 6}}function IsUndefined(e){return void 0===e}function IsNull(e){return null===e}function IsSymbol(e){return"symbol"==typeof e}function IsObject(e){return"object"==typeof e?null!==e:"function"==typeof e}function ToPrimitive(e,t){switch(Type(e)){case 0:case 1:case 2:case 3:case 4:case 5:return e}var r=3===t?"string":5===t?"number":"default",i=GetMethod(e,n);if(void 0!==i){var a=i.call(e,r);if(IsObject(a))throw new TypeError;return a}return OrdinaryToPrimitive(e,"default"===r?"number":r)}function OrdinaryToPrimitive(e,t){if("string"===t){var r=e.toString;if(IsCallable(r))if(!IsObject(i=r.call(e)))return i;if(IsCallable(n=e.valueOf))if(!IsObject(i=n.call(e)))return i}else{var n;if(IsCallable(n=e.valueOf))if(!IsObject(i=n.call(e)))return i;var i,a=e.toString;if(IsCallable(a))if(!IsObject(i=a.call(e)))return i}throw new TypeError}function ToBoolean(e){return!!e}function ToString(e){return""+e}function ToPropertyKey(e){var t=ToPrimitive(e,3);return IsSymbol(t)?t:ToString(t)}function IsArray(e){return Array.isArray?Array.isArray(e):e instanceof Object?e instanceof Array:"[object Array]"===Object.prototype.toString.call(e)}function IsCallable(e){return"function"==typeof e}function IsConstructor(e){return"function"==typeof e}function IsPropertyKey(e){switch(Type(e)){case 3:case 4:return!0;default:return!1}}function GetMethod(e,t){var r=e[t];if(null!=r){if(!IsCallable(r))throw new TypeError;return r}}function GetIterator(e){var t=GetMethod(e,i);if(!IsCallable(t))throw new TypeError;var r=t.call(e);if(!IsObject(r))throw new TypeError;return r}function IteratorValue(e){return e.value}function IteratorStep(e){var t=e.next();return!t.done&&t}function IteratorClose(e){var t=e.return;t&&t.call(e)}function OrdinaryGetPrototypeOf(e){var t=Object.getPrototypeOf(e);if("function"!=typeof e||e===c)return t;if(t!==c)return t;var r=e.prototype,n=r&&Object.getPrototypeOf(r);if(null==n||n===Object.prototype)return t;var i=n.constructor;return"function"!=typeof i||i===e?t:i}function CreateMapPolyfill(){var e={},t=[],r=function(){function MapIterator(e,t,r){this._index=0,this._keys=e,this._values=t,this._selector=r}return MapIterator.prototype["@@iterator"]=function(){return this},MapIterator.prototype[i]=function(){return this},MapIterator.prototype.next=function(){var e=this._index;if(e>=0&&e<this._keys.length){var r=this._selector(this._keys[e],this._values[e]);return e+1>=this._keys.length?(this._index=-1,this._keys=t,this._values=t):this._index++,{value:r,done:!1}}return{value:void 0,done:!0}},MapIterator.prototype.throw=function(e){throw this._index>=0&&(this._index=-1,this._keys=t,this._values=t),e},MapIterator.prototype.return=function(e){return this._index>=0&&(this._index=-1,this._keys=t,this._values=t),{value:e,done:!0}},MapIterator}();return function(){function Map(){this._keys=[],this._values=[],this._cacheKey=e,this._cacheIndex=-2}return Object.defineProperty(Map.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),Map.prototype.has=function(e){return this._find(e,!1)>=0},Map.prototype.get=function(e){var t=this._find(e,!1);return t>=0?this._values[t]:void 0},Map.prototype.set=function(e,t){var r=this._find(e,!0);return this._values[r]=t,this},Map.prototype.delete=function(t){var r=this._find(t,!1);if(r>=0){for(var n=this._keys.length,i=r+1;i<n;i++)this._keys[i-1]=this._keys[i],this._values[i-1]=this._values[i];return this._keys.length--,this._values.length--,t===this._cacheKey&&(this._cacheKey=e,this._cacheIndex=-2),!0}return!1},Map.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=e,this._cacheIndex=-2},Map.prototype.keys=function(){return new r(this._keys,this._values,getKey)},Map.prototype.values=function(){return new r(this._keys,this._values,getValue)},Map.prototype.entries=function(){return new r(this._keys,this._values,getEntry)},Map.prototype["@@iterator"]=function(){return this.entries()},Map.prototype[i]=function(){return this.entries()},Map.prototype._find=function(e,t){return this._cacheKey!==e&&(this._cacheIndex=this._keys.indexOf(this._cacheKey=e)),this._cacheIndex<0&&t&&(this._cacheIndex=this._keys.length,this._keys.push(e),this._values.push(void 0)),this._cacheIndex},Map}();function getKey(e,t){return e}function getValue(e,t){return t}function getEntry(e,t){return[e,t]}}function CreateSetPolyfill(){return function(){function Set(){this._map=new d}return Object.defineProperty(Set.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),Set.prototype.has=function(e){return this._map.has(e)},Set.prototype.add=function(e){return this._map.set(e,e),this},Set.prototype.delete=function(e){return this._map.delete(e)},Set.prototype.clear=function(){this._map.clear()},Set.prototype.keys=function(){return this._map.keys()},Set.prototype.values=function(){return this._map.values()},Set.prototype.entries=function(){return this._map.entries()},Set.prototype["@@iterator"]=function(){return this.keys()},Set.prototype[i]=function(){return this.keys()},Set}()}function CreateWeakMapPolyfill(){var e=16,r=u.create(),n=CreateUniqueKey();return function(){function WeakMap(){this._key=CreateUniqueKey()}return WeakMap.prototype.has=function(e){var t=GetOrCreateWeakMapTable(e,!1);return void 0!==t&&u.has(t,this._key)},WeakMap.prototype.get=function(e){var t=GetOrCreateWeakMapTable(e,!1);return void 0!==t?u.get(t,this._key):void 0},WeakMap.prototype.set=function(e,t){return GetOrCreateWeakMapTable(e,!0)[this._key]=t,this},WeakMap.prototype.delete=function(e){var t=GetOrCreateWeakMapTable(e,!1);return void 0!==t&&delete t[this._key]},WeakMap.prototype.clear=function(){this._key=CreateUniqueKey()},WeakMap}();function CreateUniqueKey(){var e;do{e="@@WeakMap@@"+CreateUUID()}while(u.has(r,e));return r[e]=!0,e}function GetOrCreateWeakMapTable(e,r){if(!t.call(e,n)){if(!r)return;Object.defineProperty(e,n,{value:u.create()})}return e[n]}function FillRandomBytes(e,t){for(var r=0;r<t;++r)e[r]=255*Math.random()|0;return e}function GenRandomBytes(e){return"function"==typeof Uint8Array?"undefined"!=typeof crypto?crypto.getRandomValues(new Uint8Array(e)):"undefined"!=typeof msCrypto?msCrypto.getRandomValues(new Uint8Array(e)):FillRandomBytes(new Uint8Array(e),e):FillRandomBytes(new Array(e),e)}function CreateUUID(){var t=GenRandomBytes(e);t[6]=79&t[6]|64,t[8]=191&t[8]|128;for(var r="",n=0;n<e;++n){var i=t[n];4!==n&&6!==n&&8!==n||(r+="-"),i<16&&(r+="0"),r+=i.toString(16).toLowerCase()}return r}}function MakeDictionary(e){return e.__=void 0,delete e.__,e}e("decorate",decorate),e("metadata",metadata),e("defineMetadata",defineMetadata),e("hasMetadata",hasMetadata),e("hasOwnMetadata",hasOwnMetadata),e("getMetadata",getMetadata),e("getOwnMetadata",getOwnMetadata),e("getMetadataKeys",getMetadataKeys),e("getOwnMetadataKeys",getOwnMetadataKeys),e("deleteMetadata",deleteMetadata)}(n)}()}(e||(e={}))},4714:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.nameof=void 0;var n=r(6898);Object.defineProperty(t,"nameof",{enumerable:!0,get:function(){return n.nameof}})},6898:(e,t)=>{"use strict";function cleanseAssertionOperators(e){return e.replace(/[?!]/g,"")}Object.defineProperty(t,"__esModule",{value:!0}),t.nameof=void 0,t.nameof=function nameof(e,t){var r=e.toString();if(r.startsWith("class ")&&!r.startsWith("class =>"))return cleanseAssertionOperators(r.substring("class ".length,r.indexOf(" {")));if(r.includes("=>"))return cleanseAssertionOperators(r.substring(r.indexOf(".")+1));var n=r.match(/function\s*\(\w+\)\s*\{[\r\n\s]*return\s+\w+\.((\w+\.)*(\w+))/i);if(n)return t&&t.lastProp?n[3]:n[1];if(r.startsWith("function "))return cleanseAssertionOperators(r.substring("function ".length,r.indexOf("(")));throw new Error("ts-simple-nameof: Invalid function.")}},5030:e=>{"use strict";e.exports=NMSHDContent},2890:e=>{"use strict";e.exports=NMSHDCrypto},9663:e=>{"use strict";e.exports=NMSHDTransport},194:e=>{"use strict";e.exports=TSServal}},t={};function __webpack_require__(r){var n=t[r];if(void 0!==n)return n.exports;var i=t[r]={id:r,loaded:!1,exports:{}};return e[r].call(i.exports,i,i.exports,__webpack_require__),i.loaded=!0,i.exports}__webpack_require__.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var r=__webpack_require__(5590);NMSHDConsumption=r})();
|
|
2
|
+
var NMSHDConsumption;(()=>{var e={2500:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.buildInformation=void 0;const n=r(194),i=r(5030),a=r(2890),s=r(9663);t.buildInformation={version:"3.0.0",build:"92",date:"2022-12-06T07:39:37+00:00",commit:"152c16f7d3cd8b2a56128ccab587139eb56b2f1c",dependencies:{"@js-soft/docdb-querytranslator":"^1.1.0","ts-simple-nameof":"^1.3.1"},libraries:{transport:s.buildInformation,crypto:a.buildInformation,serval:n.buildInformation,content:i.buildInformation}}},5136:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConsumptionBaseController=void 0;const n=r(9663);t.ConsumptionBaseController=class ConsumptionBaseController{get log(){return this._log}get parent(){return this._parent}constructor(e,t){this._parent=t,this._log=n.TransportLoggerFactory.getLogger(e)}init(){return Promise.resolve(this)}parseArray(e,t){return e.map((e=>t.fromAny(e)))}}},9793:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConsumptionController=void 0;const n=r(5030),i=r(9662);t.ConsumptionController=class ConsumptionController{constructor(e,t){this.transport=e,this.accountController=t}get attributes(){return this._attributes}get drafts(){return this._drafts}get outgoingRequests(){return this._outgoingRequests}get incomingRequests(){return this._incomingRequests}get settings(){return this._settings}get attributeListeners(){return this._attributeListeners}async init(e=new Map){this._attributes=await new i.AttributesController(this,this.transport.eventBus,this.accountController.identity).init(),this._drafts=await new i.DraftsController(this).init();const t=new i.RequestItemProcessorRegistry(this,this.getDefaultProcessors());for(const[r,n]of e)t.registerOrReplaceProcessor(r,n);return this._outgoingRequests=await new i.OutgoingRequestsController(await this.accountController.getSynchronizedCollection("Requests"),t,this,this.transport.eventBus,this.accountController.identity).init(),this._incomingRequests=await new i.IncomingRequestsController(await this.accountController.getSynchronizedCollection("Requests"),t,this,this.transport.eventBus,this.accountController.identity).init(),this._settings=await new i.SettingsController(this).init(),this._attributeListeners=await new i.AttributeListenersController(this,this.transport.eventBus,this.accountController.identity).init(),this}getDefaultProcessors(){return new Map([[n.ShareAttributeRequestItem,i.ShareAttributeRequestItemProcessor],[n.CreateAttributeRequestItem,i.CreateAttributeRequestItemProcessor],[n.ReadAttributeRequestItem,i.ReadAttributeRequestItemProcessor],[n.ProposeAttributeRequestItem,i.ProposeAttributeRequestItemProcessor],[n.ConsentRequestItem,i.GenericRequestItemProcessor],[n.AuthenticationRequestItem,i.GenericRequestItemProcessor],[n.RegisterAttributeListenerRequestItem,i.RegisterAttributeListenerRequestItemProcessor]])}}},2047:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConsumptionControllerName=void 0,function(e){e.AttributesController="AttributesController",e.AttributeListenersController="AttributeListenersController",e.DraftsController="DraftsController",e.RelationshipInfoController="RelationshipInfoController",e.SingleRelationshipController="SingleRelationshipController",e.OnboardingFlowController="OnboardingFlowController",e.OffboardingFlowController="OffboardingFlowController",e.RequestsController="Requestsontroller",e.SettingsController="SettingsController",e.SharedItemsController="SharedItemsController"}(t.ConsumptionControllerName||(t.ConsumptionControllerName={}))},4858:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConsumptionError=void 0;class ConsumptionError extends Error{}t.ConsumptionError=ConsumptionError},6265:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConsumptionIds=void 0;const n=r(9663);class ConsumptionIds{}t.ConsumptionIds=ConsumptionIds,ConsumptionIds.draft=new n.CoreIdHelper("LCLDRF"),ConsumptionIds.setting=new n.CoreIdHelper("LCLSET"),ConsumptionIds.attribute=new n.CoreIdHelper("ATT"),ConsumptionIds.request=new n.CoreIdHelper("REQ"),ConsumptionIds.attributeListener=new n.CoreIdHelper("ATL")},8131:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CoreErrors=void 0;const n=r(5172),i=r(9663);class Requests{constructor(){this.decideValidation=new Requests._decideValidation}unexpectedErrorDuringRequestItemProcessing(e){return new i.CoreError("error.consumption.requests.unexpectedErrorDuringRequestItemProcessing",e instanceof Error?e.message:`Unknown error: '${JSON.stringify(e)}'`,void 0,void 0,e)}servalErrorDuringRequestItemProcessing(e){return new i.CoreError("error.consumption.requests.servalErrorDuringRequestItemProcessing",e instanceof Error?e.message:`Serval error: '${JSON.stringify(e)}'`,void 0,void 0,e)}invalidRequestItem(e){return new i.CoreError("error.consumption.requests.invalidRequestItem",e)}}Requests._decideValidation=class{invalidNumberOfItems(e){return new n.ApplicationError("error.consumption.requests.decide.validation.invalidNumberOfItems",e)}itemAcceptedButParentNotAccepted(e){return new n.ApplicationError("error.consumption.requests.decide.validation.itemAcceptedButParentNotAccepted",e)}mustBeAcceptedItemNotAccepted(e){return new n.ApplicationError("error.consumption.requests.decide.validation.mustBeAcceptedItemNotAccepted",e)}requestItemAnsweredAsRequestItemGroup(){return new n.ApplicationError("error.consumption.requests.decide.validation.requestItemAnsweredAsRequestItemGroup","The RequestItem was answered as a RequestItemGroup.")}requestItemGroupAnsweredAsRequestItem(){return new n.ApplicationError("error.consumption.requests.decide.validation.requestItemGroupAnsweredAsRequestItem","The RequestItemGroup was answered as a RequestItem.")}};class CoreErrors{}t.CoreErrors=CoreErrors,CoreErrors.attributes=new class Attributes{cannotSucceedAttributesWithAParent(e){return new i.CoreError("error.consumption.attributes.cannotSucceedAttributesWithAParent",`The Attribute you want to succeed has a parent (id: ${e.toString()}). You cannot succeed Attributes with a parent. Instead, succeed the parent, which will implicitly succeed all its children.`)}},CoreErrors.requests=new Requests},7997:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(5136),t),i(r(2047),t),i(r(4858),t),i(r(6265),t),i(r(8131),t)},5590:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(2500),t),i(r(7997),t),i(r(9793),t),i(r(9662),t)},5693:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AttributeListenersController=void 0;const n=r(7997),i=r(5136),a=r(2047),s=r(5089),o=r(910),u=r(7742);class AttributeListenersController extends i.ConsumptionBaseController{constructor(e,t,r){super(a.ConsumptionControllerName.AttributeListenersController,e),this.eventBus=t,this.identity=r}async init(){return await super.init(),this.attributeListeners=await this.parent.accountController.getSynchronizedCollection("AttributeListeners"),this}async getAttributeListeners(e){const t=await this.attributeListeners.find(e);return this.parseArray(t,u.LocalAttributeListener)}async getAttributeListener(e){const t=await this.attributeListeners.read(e.toString());if(t)return u.LocalAttributeListener.from(t)}async createAttributeListener(e){const t=o.CreateLocalAttributeListenerParams.from(e),r=u.LocalAttributeListener.from({id:await n.ConsumptionIds.attributeListener.generate(),query:t.query,peer:t.peer});return await this.attributeListeners.create(r),this.eventBus.publish(new s.AttributeListenerCreatedEvent(this.identity.address.toString(),r)),r}}t.AttributeListenersController=AttributeListenersController},3570:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AttributeListenerCreatedEvent=void 0;const n=r(9663);class AttributeListenerCreatedEvent extends n.TransportDataEvent{constructor(e,t){super(AttributeListenerCreatedEvent.namespace,e,t)}}t.AttributeListenerCreatedEvent=AttributeListenerCreatedEvent,AttributeListenerCreatedEvent.namespace="consumption.attributeListenerCreated"},5089:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(3570),t)},1485:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(5693),t),i(r(5089),t),i(r(910),t),i(r(7742),t)},910:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.CreateLocalAttributeListenerParams=void 0;const a=r(194),s=r(5030),o=r(9663);let u=class CreateLocalAttributeListenerParams extends a.Serializable{static from(e){return this.fromAny(e)}};n([(0,a.serialize)({unionTypes:[s.IdentityAttributeQuery,s.ThirdPartyRelationshipAttributeQuery]}),(0,a.validate)(),i("design:type",Object)],u.prototype,"query",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",o.CoreAddress)],u.prototype,"peer",void 0),u=n([(0,a.type)("CreateLocalAttributeListenerParams")],u),t.CreateLocalAttributeListenerParams=u},7742:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.LocalAttributeListener=void 0;const a=r(194),s=r(5030),o=r(9663),u=r(4714);let c=class LocalAttributeListener extends o.CoreSynchronizable{constructor(){super(...arguments),this.userdataProperties=[(0,u.nameof)((e=>e.query)),(0,u.nameof)((e=>e.peer))]}static from(e){return this.fromAny(e)}toJSON(){return super.toJSON()}};n([(0,a.serialize)({unionTypes:[s.IdentityAttributeQuery,s.ThirdPartyRelationshipAttributeQuery]}),(0,a.validate)(),i("design:type",Object)],c.prototype,"query",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",o.CoreAddress)],c.prototype,"peer",void 0),c=n([(0,a.type)("LocalAttributeListener")],c),t.LocalAttributeListener=c},4472:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AttributesController=void 0;const n=r(5030),i=r(9663),a=r(4714),s=r(7997),o=r(9757),u=r(7011),c=r(306),l=r(6832),d=r(2732),f=r(8637);class AttributesController extends s.ConsumptionBaseController{constructor(e,t,r){super(s.ConsumptionControllerName.AttributesController,e),this.eventBus=t,this.identity=r}async init(){return await super.init(),this.attributes=await this.parent.accountController.getSynchronizedCollection("Attributes"),this}checkValid(e){const t=i.CoreDate.utc();return!e.content.validFrom&&!e.content.validTo||(!(!e.content.validFrom||e.content.validTo||!e.content.validFrom.isSameOrBefore(t))||(!(e.content.validFrom||!e.content.validTo||!e.content.validTo.isSameOrAfter(t))||!!(e.content.validFrom&&e.content.validTo&&e.content.validFrom.isSameOrBefore(t)&&e.content.validTo.isSameOrAfter(t))))}findCurrent(e){const t=e.sort(((e,t)=>e.createdAt.compare(t.createdAt)));let r;for(const e of t)this.checkValid(e)&&(r=e);return r}filterCurrent(e){const t=e.sort(((e,t)=>e.createdAt.compare(t.createdAt))),r=[];for(const e of t)this.checkValid(e)&&r.push(e);return r}async getLocalAttribute(e){const t=await this.attributes.findOne({[(0,a.nameof)((e=>e.id))]:e.toString()});if(t)return c.LocalAttribute.from(t)}async getLocalAttributes(e,t=!1,r=!1){const n=this.enrichQuery(e,t),i=await this.attributes.find(n),a=this.parseArray(i,c.LocalAttribute);return r?this.filterCurrent(a):a}enrichQuery(e,t){if(!t)return e;const r={$or:[{[`${(0,a.nameof)((e=>e.content))}.@type`]:"IdentityAttribute"},{$and:[{[`${(0,a.nameof)((e=>e.content))}.@type`]:"RelationshipAttribute"},{[`${(0,a.nameof)((e=>e.content))}.${(0,a.nameof)((e=>e.isTechnical))}`]:!1}]}]};return e?{$and:[e,r]}:r}async getValidLocalAttributes(e,t=!1){return await this.getLocalAttributes(e,t,!0)}async executeRelationshipAttributeQuery(e){const t=n.RelationshipAttributeQuery.from(e),r=d.RelationshipAttributeQueryTranslator.translate(t);r["content.confidentiality"]={$ne:"private"};const i=await this.attributes.find(r);return i.length>0?c.LocalAttribute.from(i[0]):void 0}async executeThirdPartyRelationshipAttributeQuery(e){const t=n.ThirdPartyRelationshipAttributeQuery.from(e),r=d.ThirdPartyRelationshipAttributeQueryTranslator.translate(t);r["content.confidentiality"]={$ne:"private"};const i=await this.attributes.find(r);return this.parseArray(i,c.LocalAttribute)}async executeIdentityAttributeQuery(e){const t=n.IdentityAttributeQuery.from(e),r=d.IdentityAttributeQueryTranslator.translate(t);r["content.owner"]=this.identity.address.toString(),r.shareInfo={$exists:!1};const i=await this.attributes.find(r);return this.parseArray(i,c.LocalAttribute)}async createLocalAttribute(e){const t=c.LocalAttribute.from({id:await s.ConsumptionIds.attribute.generate(),createdAt:i.CoreDate.utc(),content:e.content,parentId:e.parentId});return await this.attributes.create(t),t.content instanceof n.IdentityAttribute&&t.content.value instanceof n.AbstractComplexValue&&await this.createLocalAttributesForNestedAttributeValues(t),this.eventBus.publish(new o.AttributeCreatedEvent(this.identity.address.toString(),t)),t}async createLocalAttributesForNestedAttributeValues(e){if(!(e.content instanceof n.IdentityAttribute))throw new s.ConsumptionError("Only Identity Attributes are allowed here");const t=Object.values(e.content.value).filter((e=>e instanceof n.AbstractAttributeValue));for(const r of t){const t=n.IdentityAttribute.from({...e.content.toJSON(),value:r.toJSON()});await this.createLocalAttribute({content:t,parentId:e.id})}}async succeedLocalAttribute(e){const t=f.SucceedLocalAttributeParams.from(e),r=await this.attributes.findOne({[(0,a.nameof)((e=>e.id))]:e.succeeds.toString()}),n=c.LocalAttribute.from(r);if(n.parentId)throw s.CoreErrors.attributes.cannotSucceedAttributesWithAParent(t.succeeds.toString());if(!r)throw i.CoreErrors.general.recordNotFound(c.LocalAttribute,t.succeeds.toString());t.successorContent.validFrom||(t.successorContent.validFrom=i.CoreDate.utc());const u=t.successorContent.validFrom;n.content.validTo=u.subtract(1),await this.attributes.update(r,n);const l=await c.LocalAttribute.fromAttribute(t.successorContent,t.succeeds);return await this.attributes.create(l),this.eventBus.publish(new o.AttributeSucceededEvent(this.identity.address.toString(),l)),l}async createSharedLocalAttributeCopy(e){const t=u.CreateSharedLocalAttributeCopyParams.from(e),r=await this.getLocalAttribute(t.sourceAttributeId);if(!r)throw i.CoreErrors.general.recordNotFound(c.LocalAttribute,t.sourceAttributeId.toString());const n=l.LocalAttributeShareInfo.from({peer:t.peer,requestReference:t.requestReference,sourceAttribute:t.sourceAttributeId}),a=await c.LocalAttribute.fromAttribute(r.content,void 0,n,t.attributeId);return await this.attributes.create(a),this.eventBus.publish(new o.SharedAttributeCopyCreatedEvent(this.identity.address.toString(),a)),a}async createPeerLocalAttribute(e){const t=l.LocalAttributeShareInfo.from({peer:e.peer,requestReference:e.requestReference}),r=c.LocalAttribute.from({id:e.id??await s.ConsumptionIds.attribute.generate(),content:e.content,shareInfo:t,createdAt:i.CoreDate.utc()});return await this.attributes.create(r),this.eventBus.publish(new o.AttributeCreatedEvent(this.identity.address.toString(),r)),r}async updateLocalAttribute(e){const t=await this.attributes.findOne({[(0,a.nameof)((e=>e.id))]:e.id.toString()});if(!t)throw i.CoreErrors.general.recordNotFound(c.LocalAttribute,e.id.toString());const r=c.LocalAttribute.from({id:t.id,content:e.content,createdAt:t.createdAt,shareInfo:t.shareInfo,succeededBy:t.succeededBy,succeeds:t.succeeds});return await this.attributes.update(t,r),this.eventBus.publish(new o.AttributeUpdatedEvent(this.identity.address.toString(),r)),r}async deleteAttribute(e){await this.attributes.delete(e),this.eventBus.publish(new o.AttributeDeletedEvent(this.identity.address.toString(),e))}}t.AttributesController=AttributesController},361:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AttributeCreatedEvent=void 0;const n=r(9663);class AttributeCreatedEvent extends n.TransportDataEvent{constructor(e,t){super(AttributeCreatedEvent.namespace,e,t)}}t.AttributeCreatedEvent=AttributeCreatedEvent,AttributeCreatedEvent.namespace="consumption.attributeCreated"},7933:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AttributeDeletedEvent=void 0;const n=r(9663);class AttributeDeletedEvent extends n.TransportDataEvent{constructor(e,t){super(AttributeDeletedEvent.namespace,e,t)}}t.AttributeDeletedEvent=AttributeDeletedEvent,AttributeDeletedEvent.namespace="consumption.attributeDeleted"},7957:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AttributeSucceededEvent=void 0;const n=r(9663);class AttributeSucceededEvent extends n.TransportDataEvent{constructor(e,t){super(AttributeSucceededEvent.namespace,e,t)}}t.AttributeSucceededEvent=AttributeSucceededEvent,AttributeSucceededEvent.namespace="consumption.attributeSucceded"},5324:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AttributeUpdatedEvent=void 0;const n=r(9663);class AttributeUpdatedEvent extends n.TransportDataEvent{constructor(e,t){super(AttributeUpdatedEvent.namespace,e,t)}}t.AttributeUpdatedEvent=AttributeUpdatedEvent,AttributeUpdatedEvent.namespace="consumption.attributeUpdated"},512:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SharedAttributeCopyCreatedEvent=void 0;const n=r(9663);class SharedAttributeCopyCreatedEvent extends n.TransportDataEvent{constructor(e,t){super(SharedAttributeCopyCreatedEvent.namespace,e,t)}}t.SharedAttributeCopyCreatedEvent=SharedAttributeCopyCreatedEvent,SharedAttributeCopyCreatedEvent.namespace="consumption.sharedAttributeCopyCreated"},9757:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(361),t),i(r(7933),t),i(r(7957),t),i(r(5324),t),i(r(512),t)},3811:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(4472),t),i(r(9757),t),i(r(8743),t),i(r(9228),t),i(r(7011),t),i(r(306),t),i(r(6832),t),i(r(8637),t),i(r(9468),t)},8743:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.CreateLocalAttributeParams=void 0;const a=r(194),s=r(5030),o=r(9663);class CreateLocalAttributeParams extends a.Serializable{static from(e){return this.fromAny(e)}}n([(0,a.serialize)({unionTypes:[s.IdentityAttribute,s.RelationshipAttribute]}),(0,a.validate)(),i("design:type",Object)],CreateLocalAttributeParams.prototype,"content",void 0),n([(0,a.serialize)({optional:!0}),(0,a.validate)(),i("design:type",o.CoreId)],CreateLocalAttributeParams.prototype,"parentId",void 0),t.CreateLocalAttributeParams=CreateLocalAttributeParams},9228:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.CreatePeerLocalAttributeParams=void 0;const a=r(194),s=r(5030),o=r(9663);class CreatePeerLocalAttributeParams extends a.Serializable{static from(e){return this.fromAny(e)}}n([(0,a.serialize)(),(0,a.validate)(),i("design:type",o.CoreId)],CreatePeerLocalAttributeParams.prototype,"id",void 0),n([(0,a.serialize)({unionTypes:[s.IdentityAttribute,s.RelationshipAttribute]}),(0,a.validate)(),i("design:type",Object)],CreatePeerLocalAttributeParams.prototype,"content",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",o.CoreId)],CreatePeerLocalAttributeParams.prototype,"requestReference",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",o.CoreAddress)],CreatePeerLocalAttributeParams.prototype,"peer",void 0),t.CreatePeerLocalAttributeParams=CreatePeerLocalAttributeParams},7011:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.CreateSharedLocalAttributeCopyParams=void 0;const a=r(194),s=r(9663);class CreateSharedLocalAttributeCopyParams extends a.Serializable{static from(e){return this.fromAny(e)}}n([(0,a.serialize)(),(0,a.validate)({nullable:!0}),i("design:type",s.CoreId)],CreateSharedLocalAttributeCopyParams.prototype,"attributeId",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",s.CoreId)],CreateSharedLocalAttributeCopyParams.prototype,"sourceAttributeId",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",s.CoreAddress)],CreateSharedLocalAttributeCopyParams.prototype,"peer",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",s.CoreId)],CreateSharedLocalAttributeCopyParams.prototype,"requestReference",void 0),t.CreateSharedLocalAttributeCopyParams=CreateSharedLocalAttributeCopyParams},306:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.LocalAttribute=void 0;const a=r(194),s=r(5030),o=r(9663),u=r(4714),c=r(7997),l=r(6832);let d=class LocalAttribute extends o.CoreSynchronizable{constructor(){super(...arguments),this.technicalProperties=["@type","@context",(0,u.nameof)((e=>e.createdAt)),(0,u.nameof)((e=>e.succeeds)),(0,u.nameof)((e=>e.createdAt))],this.userdataProperties=[(0,u.nameof)((e=>e.content))]}isIdentityAttribute(){return this.content instanceof s.IdentityAttribute}isRelationshipAttribute(){return this.content instanceof s.RelationshipAttribute}isOwnedBy(e){return this.content.owner.equals(e)}isRepositoryAttribute(){return this.isIdentityAttribute()&&!this.isShared()}isShared(){return void 0!==this.shareInfo}isSharedWith(e){return!!this.isShared()&&this.shareInfo.peer===e}static from(e){return this.fromAny(e)}static async fromAttribute(e,t,r,n,i){return this.from({id:n??await c.ConsumptionIds.attribute.generate(),createdAt:o.CoreDate.utc(),content:e,succeeds:t,shareInfo:r,parentId:i})}};n([(0,a.validate)(),(0,a.serialize)({unionTypes:[s.IdentityAttribute,s.RelationshipAttribute]}),i("design:type",Object)],d.prototype,"content",void 0),n([(0,a.validate)(),(0,a.serialize)(),i("design:type",o.CoreDate)],d.prototype,"createdAt",void 0),n([(0,a.validate)({nullable:!0}),(0,a.serialize)(),i("design:type",o.CoreId)],d.prototype,"succeeds",void 0),n([(0,a.validate)({nullable:!0}),(0,a.serialize)(),i("design:type",o.CoreId)],d.prototype,"succeededBy",void 0),n([(0,a.validate)({nullable:!0}),(0,a.serialize)(),i("design:type",l.LocalAttributeShareInfo)],d.prototype,"shareInfo",void 0),n([(0,a.validate)({nullable:!0}),(0,a.serialize)(),i("design:type",o.CoreId)],d.prototype,"parentId",void 0),d=n([(0,a.type)("LocalAttribute")],d),t.LocalAttribute=d},6832:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.LocalAttributeShareInfo=void 0;const a=r(194),s=r(9663);class LocalAttributeShareInfo extends s.CoreSerializable{static from(e){return super.fromAny(e)}}n([(0,a.validate)(),(0,a.serialize)(),i("design:type",s.CoreId)],LocalAttributeShareInfo.prototype,"requestReference",void 0),n([(0,a.validate)(),(0,a.serialize)(),i("design:type",s.CoreAddress)],LocalAttributeShareInfo.prototype,"peer",void 0),n([(0,a.validate)({nullable:!0}),(0,a.serialize)(),i("design:type",s.CoreId)],LocalAttributeShareInfo.prototype,"sourceAttribute",void 0),t.LocalAttributeShareInfo=LocalAttributeShareInfo},2732:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ThirdPartyRelationshipAttributeQueryTranslator=t.RelationshipAttributeQueryTranslator=t.IdentityAttributeQueryTranslator=void 0;const n=r(2937),i=r(8565),a=r(4714),s=r(7997);class IdentityAttributeQueryTranslator{static translate(e){return this.translator.parse({...e.toJSON(),attributeType:"IdentityAttribute"})}}t.IdentityAttributeQueryTranslator=IdentityAttributeQueryTranslator,IdentityAttributeQueryTranslator.translator=new n.QueryTranslator({whitelist:{[(0,a.nameof)((e=>e.tags))]:!0,[(0,a.nameof)((e=>e.valueType))]:!0,[(0,a.nameof)((e=>e.validFrom))]:!0,[(0,a.nameof)((e=>e.validTo))]:!0,attributeType:!0},alias:{[(0,a.nameof)((e=>e.valueType))]:[`${(0,a.nameof)((e=>e.content))}.${(0,a.nameof)((e=>e.value))}.@type`],attributeType:[`${(0,a.nameof)((e=>e.content))}.@type`]},custom:{[(0,a.nameof)((e=>e.tags))]:(e,t)=>{if(!t)return;if(!Array.isArray(t))throw new s.ConsumptionError("Invalid input: 'tags' must be an array");const r=t;e.$or=r.map((e=>({[`${(0,a.nameof)((e=>e.content))}.${(0,a.nameof)((e=>e.tags))}`]:{$contains:e}})))},[(0,a.nameof)((e=>e.validFrom))]:(e,t)=>{if(!t)return;const r=i.DateTime.fromISO(t).toUTC().toString();e[`${(0,a.nameof)((e=>e.content))}.${(0,a.nameof)((e=>e.validFrom))}`]={$gte:r}},[(0,a.nameof)((e=>e.validTo))]:(e,t)=>{if(!t)return;const r=i.DateTime.fromISO(t).toUTC().toString();e[`${(0,a.nameof)((e=>e.content))}.${(0,a.nameof)((e=>e.validTo))}`]={$lte:r}}}});class RelationshipAttributeQueryTranslator{static translate(e){return this.translator.parse({...e.toJSON(),attributeType:"RelationshipAttribute"})}}t.RelationshipAttributeQueryTranslator=RelationshipAttributeQueryTranslator,RelationshipAttributeQueryTranslator.translator=new n.QueryTranslator({whitelist:{[(0,a.nameof)((e=>e.key))]:!0,[(0,a.nameof)((e=>e.validFrom))]:!0,[(0,a.nameof)((e=>e.validTo))]:!0,[(0,a.nameof)((e=>e.owner))]:!0,attributeType:!0},alias:{[(0,a.nameof)((e=>e.key))]:[`${(0,a.nameof)((e=>e.content))}.${(0,a.nameof)((e=>e.key))}`],attributeType:[`${(0,a.nameof)((e=>e.content))}.@type`],[(0,a.nameof)((e=>e.owner))]:[`${(0,a.nameof)((e=>e.content))}.${(0,a.nameof)((e=>e.owner))}`]},custom:{[(0,a.nameof)((e=>e.validFrom))]:(e,t)=>{if(!t)return;const r=i.DateTime.fromISO(t).toUTC().toString();e[`${(0,a.nameof)((e=>e.content))}.${(0,a.nameof)((e=>e.validFrom))}`]={$gte:r}},[(0,a.nameof)((e=>e.validTo))]:(e,t)=>{if(!t)return;const r=i.DateTime.fromISO(t).toUTC().toString();e[`${(0,a.nameof)((e=>e.content))}.${(0,a.nameof)((e=>e.validTo))}`]={$lte:r}}}});class ThirdPartyRelationshipAttributeQueryTranslator{static translate(e){return this.translator.parse({...e.toJSON(),attributeType:"RelationshipAttribute"})}}t.ThirdPartyRelationshipAttributeQueryTranslator=ThirdPartyRelationshipAttributeQueryTranslator,ThirdPartyRelationshipAttributeQueryTranslator.translator=new n.QueryTranslator({whitelist:{[(0,a.nameof)((e=>e.key))]:!0,[(0,a.nameof)((e=>e.validFrom))]:!0,[(0,a.nameof)((e=>e.validTo))]:!0,[(0,a.nameof)((e=>e.owner))]:!0,[(0,a.nameof)((e=>e.thirdParty))]:!0,attributeType:!0},alias:{[(0,a.nameof)((e=>e.key))]:[`${(0,a.nameof)((e=>e.content))}.${(0,a.nameof)((e=>e.key))}`],attributeType:[`${(0,a.nameof)((e=>e.content))}.@type`],[(0,a.nameof)((e=>e.owner))]:[`${(0,a.nameof)((e=>e.content))}.${(0,a.nameof)((e=>e.owner))}`],[(0,a.nameof)((e=>e.thirdParty))]:[`${(0,a.nameof)((e=>e.shareInfo))}.${(0,a.nameof)((e=>e.peer))}`]},custom:{[(0,a.nameof)((e=>e.validFrom))]:(e,t)=>{if(!t)return;const r=i.DateTime.fromISO(t).toUTC().toString();e[`${(0,a.nameof)((e=>e.content))}.${(0,a.nameof)((e=>e.validFrom))}`]={$gte:r}},[(0,a.nameof)((e=>e.validTo))]:(e,t)=>{if(!t)return;const r=i.DateTime.fromISO(t).toUTC().toString();e[`${(0,a.nameof)((e=>e.content))}.${(0,a.nameof)((e=>e.validTo))}`]={$lte:r}}}})},8637:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.SucceedLocalAttributeParams=void 0;const a=r(194),s=r(5030),o=r(9663);class SucceedLocalAttributeParams extends a.Serializable{static from(e){return this.fromAny(e)}}n([(0,a.serialize)({unionTypes:[s.IdentityAttribute,s.RelationshipAttribute]}),(0,a.validate)(),i("design:type",Object)],SucceedLocalAttributeParams.prototype,"successorContent",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",o.CoreId)],SucceedLocalAttributeParams.prototype,"succeeds",void 0),t.SucceedLocalAttributeParams=SucceedLocalAttributeParams},9468:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.UpdateLocalAttributeParams=void 0;const a=r(194),s=r(5030),o=r(9663);class UpdateLocalAttributeParams extends a.Serializable{static from(e){return this.fromAny(e)}}n([(0,a.serialize)(),(0,a.validate)(),i("design:type",o.CoreId)],UpdateLocalAttributeParams.prototype,"id",void 0),n([(0,a.serialize)({unionTypes:[s.IdentityAttribute,s.RelationshipAttribute]}),(0,a.validate)(),i("design:type",Object)],UpdateLocalAttributeParams.prototype,"content",void 0),t.UpdateLocalAttributeParams=UpdateLocalAttributeParams},1574:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DraftsController=void 0;const n=r(9663),i=r(7997),a=r(8535);class DraftsController extends i.ConsumptionBaseController{constructor(e){super(i.ConsumptionControllerName.DraftsController,e)}async init(){return await super.init(),this.drafts=await this.parent.accountController.getSynchronizedCollection("Drafts"),this}async getDraft(e){const t=await this.drafts.read(e.toString());return t?a.Draft.from(t):void 0}async getDrafts(e){const t=await this.drafts.find(e);return this.parseArray(t,a.Draft)}async createDraft(e,t=""){const r=a.Draft.from({id:await i.ConsumptionIds.draft.generate(),content:e,createdAt:new n.CoreDate,lastModifiedAt:new n.CoreDate,type:t});return await this.drafts.create(r),r}async updateDraft(e){const t=await this.drafts.read(e.id.toString());if(!t)throw new i.ConsumptionError("Draft Not Found");await this.drafts.update(t,e)}async deleteDraft(e){await this.drafts.delete(e)}}t.DraftsController=DraftsController},137:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(1574),t),i(r(8535),t)},8535:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.Draft=void 0;const a=r(194),s=r(9663),o=r(4714);let u=class Draft extends s.CoreSynchronizable{constructor(){super(...arguments),this.technicalProperties=["@type","@context",(0,o.nameof)((e=>e.type)),(0,o.nameof)((e=>e.createdAt)),(0,o.nameof)((e=>e.lastModifiedAt))],this.userdataProperties=[(0,o.nameof)((e=>e.content))],this.metadataProperties=[(0,o.nameof)((e=>e.metadata)),(0,o.nameof)((e=>e.metadataModifiedAt))]}static from(e){return this.fromAny(e)}};n([(0,a.validate)(),(0,a.serialize)(),i("design:type",String)],u.prototype,"type",void 0),n([(0,a.validate)(),(0,a.serialize)(),i("design:type",s.CoreDate)],u.prototype,"createdAt",void 0),n([(0,a.validate)(),(0,a.serialize)(),i("design:type",s.CoreDate)],u.prototype,"lastModifiedAt",void 0),n([(0,a.validate)(),(0,a.serialize)(),i("design:type",a.Serializable)],u.prototype,"content",void 0),n([(0,a.validate)({nullable:!0}),(0,a.serialize)({any:!0}),i("design:type",Object)],u.prototype,"metadata",void 0),n([(0,a.validate)({nullable:!0}),(0,a.serialize)(),i("design:type",s.CoreDate)],u.prototype,"metadataModifiedAt",void 0),u=n([(0,a.type)("Draft")],u),t.Draft=u},9662:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(1485),t),i(r(3811),t),i(r(137),t),i(r(1253),t),i(r(5431),t)},4014:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IncomingRequestReceivedEvent=void 0;const n=r(9663),i=r(7997);class IncomingRequestReceivedEvent extends n.TransportDataEvent{constructor(e,t){if(super(IncomingRequestReceivedEvent.namespace,e,t),t.isOwn)throw new i.ConsumptionError("Cannot create this event for an outgoing Request")}}t.IncomingRequestReceivedEvent=IncomingRequestReceivedEvent,IncomingRequestReceivedEvent.namespace="consumption.incomingRequestReceived"},8204:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IncomingRequestStatusChangedEvent=void 0;const n=r(9663),i=r(7997);class IncomingRequestStatusChangedEvent extends n.TransportDataEvent{constructor(e,t){if(super(IncomingRequestStatusChangedEvent.namespace,e,t),t.request.isOwn)throw new i.ConsumptionError("Cannot create this event for an outgoing Request")}}t.IncomingRequestStatusChangedEvent=IncomingRequestStatusChangedEvent,IncomingRequestStatusChangedEvent.namespace="consumption.incomingRequestStatusChanged"},1859:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OutgoingRequestCreatedAndCompletedEvent=void 0;const n=r(9663),i=r(7997);class OutgoingRequestCreatedAndCompletedEvent extends n.TransportDataEvent{constructor(e,t){if(super(OutgoingRequestCreatedAndCompletedEvent.namespace,e,t),!t.isOwn)throw new i.ConsumptionError("Cannot create this event for an incoming Request")}}t.OutgoingRequestCreatedAndCompletedEvent=OutgoingRequestCreatedAndCompletedEvent,OutgoingRequestCreatedAndCompletedEvent.namespace="consumption.outgoingRequestCreatedAndCompleted"},1934:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OutgoingRequestCreatedEvent=void 0;const n=r(9663),i=r(7997);class OutgoingRequestCreatedEvent extends n.TransportDataEvent{constructor(e,t){if(super(OutgoingRequestCreatedEvent.namespace,e,t),!t.isOwn)throw new i.ConsumptionError("Cannot create this event for an incoming Request")}}t.OutgoingRequestCreatedEvent=OutgoingRequestCreatedEvent,OutgoingRequestCreatedEvent.namespace="consumption.outgoingRequestCreated"},9537:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OutgoingRequestStatusChangedEvent=void 0;const n=r(9663),i=r(7997);class OutgoingRequestStatusChangedEvent extends n.TransportDataEvent{constructor(e,t){if(super(OutgoingRequestStatusChangedEvent.namespace,e,t),!t.request.isOwn)throw new i.ConsumptionError("Cannot create this event for an incoming Request")}}t.OutgoingRequestStatusChangedEvent=OutgoingRequestStatusChangedEvent,OutgoingRequestStatusChangedEvent.namespace="consumption.outgoingRequestStatusChanged"},5941:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(4014),t),i(r(8204),t),i(r(1859),t),i(r(1934),t),i(r(9537),t)},7066:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DecideRequestParametersValidator=void 0;const n=r(5030),i=r(9663),a=r(7997),s=r(9116),o=r(1687),u=r(6592);t.DecideRequestParametersValidator=class DecideRequestParametersValidator{validate(e,t){if(!t.id.equals(i.CoreId.from(e.requestId)))throw new Error("The response is invalid because the id of the Request does not match the id of the Response.");if(e.items.length!==t.content.items.length)return s.ValidationResult.error(a.CoreErrors.requests.decideValidation.invalidNumberOfItems("Number of items in Request and Response do not match"));const r=t.content.items.map(((t,r)=>this.checkItemOrGroup(t,e.items[r],e.accept)));return s.ValidationResult.fromItems(r)}checkItemOrGroup(e,t,r){return e instanceof n.RequestItem?this.checkItem(e,t,r):this.checkItemGroup(e,t,r)}checkItem(e,t,r){return(0,o.isDecideRequestItemGroupParametersJSON)(t)?s.ValidationResult.error(a.CoreErrors.requests.decideValidation.requestItemAnsweredAsRequestItemGroup()):!r&&t.accept?s.ValidationResult.error(a.CoreErrors.requests.decideValidation.itemAcceptedButParentNotAccepted("The RequestItem was accepted, but the parent was not accepted.")):r&&e.mustBeAccepted&&!t.accept?s.ValidationResult.error(a.CoreErrors.requests.decideValidation.mustBeAcceptedItemNotAccepted("The RequestItem is flagged as 'mustBeAccepted', but it was not accepted.")):s.ValidationResult.success()}checkItemGroup(e,t,r){if((0,u.isDecideRequestItemParametersJSON)(t))return s.ValidationResult.error(a.CoreErrors.requests.decideValidation.requestItemGroupAnsweredAsRequestItem());if(t.items.length!==e.items.length)return s.ValidationResult.error(a.CoreErrors.requests.decideValidation.invalidNumberOfItems("Number of items in RequestItemGroup and ResponseItemGroup do not match"));const n=t.items.some((e=>e.accept));if(!r&&n)return s.ValidationResult.error(a.CoreErrors.requests.decideValidation.itemAcceptedButParentNotAccepted("The RequestItemGroup was accepted, but the parent was not accepted."));if(r&&e.mustBeAccepted&&!n)return s.ValidationResult.error(a.CoreErrors.requests.decideValidation.mustBeAcceptedItemNotAccepted("The RequestItemGroup is flagged as 'mustBeAccepted', but it was not accepted. Please accept all 'mustBeAccepted' items in this group."));const i=e.items.map(((e,r)=>this.checkItem(e,t.items[r],n)));return s.ValidationResult.fromItems(i)}}},5664:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IncomingRequestsController=void 0;const n=r(194),i=r(5030),a=r(9663),s=r(7997),o=r(5941),u=r(9116),c=r(5371),l=r(1744),d=r(4136),f=r(8576),h=r(6520),p=r(2908),m=r(7066),y=r(3665),g=r(569);class IncomingRequestsController extends s.ConsumptionBaseController{constructor(e,t,r,n,i){super(s.ConsumptionControllerName.RequestsController,r),this.localRequests=e,this.processorRegistry=t,this.eventBus=n,this.identity=i,this.decideRequestParamsValidator=new m.DecideRequestParametersValidator}async received(e){const t=y.ReceivedIncomingRequestParameters.from(e),r=this.extractInfoFromSource(t.requestSourceObject),n=c.LocalRequest.from({id:t.receivedRequest.id??await s.ConsumptionIds.request.generate(),createdAt:a.CoreDate.utc(),status:l.LocalRequestStatus.Open,content:t.receivedRequest,isOwn:!1,peer:r.peer,source:r.source,statusLog:[]});return await this.localRequests.create(n),this.eventBus.publish(new o.IncomingRequestReceivedEvent(this.identity.address.toString(),n)),n}extractInfoFromSource(e){return e instanceof a.Message?this.extractInfoFromMessage(e):this.extractInfoFromRelationshipTemplate(e)}extractInfoFromMessage(e){if(e.isOwn)throw new s.ConsumptionError("Cannot create incoming Request from own Message");return{peer:e.cache.createdBy,source:{reference:e.id,type:"Message"}}}extractInfoFromRelationshipTemplate(e){if(e.isOwn)throw new s.ConsumptionError("Cannot create incoming Request from own Relationship Template");return{peer:e.cache.createdBy,source:{reference:e.id,type:"RelationshipTemplate"}}}async checkPrerequisites(e){const t=f.CheckPrerequisitesOfIncomingRequestParameters.from(e),r=await this.getOrThrow(t.requestId);this.assertRequestStatus(r,l.LocalRequestStatus.Open);for(const e of r.content.items)if(e instanceof i.RequestItem){const t=this.processorRegistry.getProcessorForItem(e);if(!await t.checkPrerequisitesOfIncomingRequestItem(e,r))return r}else for(const t of e.items){const e=this.processorRegistry.getProcessorForItem(t);if(!await e.checkPrerequisitesOfIncomingRequestItem(t,r))return r}return r.changeStatus(l.LocalRequestStatus.DecisionRequired),await this.update(r),this.eventBus.publish(new o.IncomingRequestStatusChangedEvent(this.identity.address.toString(),{request:r,oldStatus:l.LocalRequestStatus.Open,newStatus:r.status})),r}async requireManualDecision(e){const t=g.RequireManualDecisionOfIncomingRequestParameters.from(e),r=await this.getOrThrow(t.requestId);return this.assertRequestStatus(r,l.LocalRequestStatus.DecisionRequired),r.changeStatus(l.LocalRequestStatus.ManualDecisionRequired),await this.update(r),this.eventBus.publish(new o.IncomingRequestStatusChangedEvent(this.identity.address.toString(),{request:r,oldStatus:l.LocalRequestStatus.DecisionRequired,newStatus:r.status})),r}async canAccept(e){return await this.canDecide({...e,accept:!0})}async canReject(e){return await this.canDecide({...e,accept:!1})}async canDecide(e){p.InternalDecideRequestParameters.from(e);const t=await this.getOrThrow(e.requestId);this.assertRequestStatus(t,l.LocalRequestStatus.DecisionRequired,l.LocalRequestStatus.ManualDecisionRequired);const r=this.decideRequestParamsValidator.validate(e,t);if(r.isError())return r;const n=await this.canDecideItems(e.items,t.content.items,t);return u.ValidationResult.fromItems(n)}async canDecideGroup(e,t,r){const n=await this.canDecideItems(e.items,t.items,r);return u.ValidationResult.fromItems(n)}async canDecideItems(e,t,r){const n=[];for(let a=0;a<e.length;a++){const s=e[a],o=t[a];if(o instanceof i.RequestItemGroup){const e=await this.canDecideGroup(s,o,r);n.push(e)}else{const e=await this.canDecideItem(s,o,r);n.push(e)}}return n}async canDecideItem(e,t,r){const i=this.processorRegistry.getProcessorForItem(t);try{return e.accept?await i.canAccept(t,e,r):await i.canReject(t,e,r)}catch(e){return e instanceof n.ServalError?u.ValidationResult.error(s.CoreErrors.requests.servalErrorDuringRequestItemProcessing(e)):u.ValidationResult.error(s.CoreErrors.requests.unexpectedErrorDuringRequestItemProcessing(e))}}async accept(e){if(!(await this.canAccept(e)).isSuccess())throw new s.ConsumptionError("Cannot accept the Request with the given parameters. Call 'canAccept' to get more information.");return await this.decide({...e,accept:!0})}async reject(e){if(!(await this.canReject(e)).isSuccess())throw new s.ConsumptionError("Cannot reject the Request with the given parameters. Call 'canReject' to get more information.");return await this.decide({...e,accept:!1})}async decide(e){const t=await this.getOrThrow(e.requestId);this.assertRequestStatus(t,l.LocalRequestStatus.DecisionRequired,l.LocalRequestStatus.ManualDecisionRequired);const r=await this.createLocalResponse(e,t),n=t.status;return t.response=r,t.changeStatus(l.LocalRequestStatus.Decided),await this.update(t),this.eventBus.publish(new o.IncomingRequestStatusChangedEvent(this.identity.address.toString(),{request:t,oldStatus:n,newStatus:t.status})),t}async createLocalResponse(e,t){const r=t.content.items,n=await this.decideItems(e.items,r,t),s=i.Response.from({result:e.accept?i.ResponseResult.Accepted:i.ResponseResult.Rejected,requestId:t.id,items:n});return d.LocalResponse.from({content:s,createdAt:a.CoreDate.utc()})}async decideGroup(e,t,r){const n=await this.decideItems(e.items,t.items,r);return i.ResponseItemGroup.from({items:n})}async decideItems(e,t,r){const n=[];for(let a=0;a<e.length;a++){const s=e[a],o=t[a];o instanceof i.RequestItemGroup?n.push(await this.decideGroup(s,o,r)):n.push(await this.decideItem(s,t[a],r))}return n}async decideItem(e,t,r){const n=this.processorRegistry.getProcessorForItem(t);try{return e.accept?await n.accept(t,e,r):await n.reject(t,e,r)}catch(e){let r="";throw e instanceof Error&&(r=` Details: ${e.message}`),new s.ConsumptionError(`An error occurred while processing a '${t.constructor.name}'. You should contact the developer of this RequestItem.${r}}`)}}async complete(e){const t=h.CompleteIncomingRequestParameters.from(e),r=await this.getOrThrow(t.requestId);if(r.isOwn)throw new s.ConsumptionError("Cannot decide own Request");this.assertRequestStatus(r,l.LocalRequestStatus.Decided);const n=r.response.content.result===i.ResponseResult.Rejected,u="RelationshipTemplate"===r.source.type;if(t.responseSourceObject)r.response.source=d.LocalResponseSource.from({type:t.responseSourceObject instanceof a.Message?"Message":"RelationshipChange",reference:t.responseSourceObject.id});else if(!n||!u)throw new s.ConsumptionError("A Request can only be completed without a responseSource if the Request is rejected and the Request is from a Relationship Template");return r.changeStatus(l.LocalRequestStatus.Completed),await this.update(r),this.eventBus.publish(new o.IncomingRequestStatusChangedEvent(this.identity.address.toString(),{request:r,oldStatus:l.LocalRequestStatus.Decided,newStatus:r.status})),r}async getIncomingRequests(e){const t=(await this.localRequests.find({...e,isOwn:!1})).map((e=>this.updateRequestExpiry(c.LocalRequest.from(e))));return await Promise.all(t)}async getIncomingRequest(e){const t=await this.localRequests.findOne({id:e.toString(),isOwn:!1});if(!t)return;const r=c.LocalRequest.from(t);return await this.updateRequestExpiry(r)}async getOrThrow(e){const t=await this.getIncomingRequest(a.CoreId.from(e));if(!t)throw a.CoreErrors.general.recordNotFound(c.LocalRequest,e.toString());return t}async update(e){const t=await this.localRequests.findOne({id:e.id.toString(),isOwn:!1});if(!t)throw a.CoreErrors.general.recordNotFound(c.LocalRequest,e.id.toString());await this.localRequests.update(t,e)}assertRequestStatus(e,...t){if(!t.includes(e.status))throw new s.ConsumptionError(`Local Request has to be in status '${t.join("/")}'.`)}async updateRequestExpiry(e){return e.updateStatusBasedOnExpiration()&&await this.update(e),e}}t.IncomingRequestsController=IncomingRequestsController},8576:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.CheckPrerequisitesOfIncomingRequestParameters=void 0;const a=r(194),s=r(9663);let o=class CheckPrerequisitesOfIncomingRequestParameters extends a.Serializable{static from(e){return this.fromAny(e)}};n([(0,a.serialize)(),(0,a.validate)(),i("design:type",s.CoreId)],o.prototype,"requestId",void 0),o=n([(0,a.type)("CheckPrerequisitesOfIncomingRequestParameters")],o),t.CheckPrerequisitesOfIncomingRequestParameters=o},6520:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.CompleteIncomingRequestParameters=void 0;const a=r(194),s=r(9663);class CompleteIncomingRequestParameters extends a.Serializable{static from(e){return this.fromAny(e)}}n([(0,a.serialize)(),(0,a.validate)(),i("design:type",s.CoreId)],CompleteIncomingRequestParameters.prototype,"requestId",void 0),n([(0,a.serialize)({unionTypes:[s.Message,s.RelationshipChange]}),(0,a.validate)({nullable:!0}),i("design:type",Object)],CompleteIncomingRequestParameters.prototype,"responseSourceObject",void 0),t.CompleteIncomingRequestParameters=CompleteIncomingRequestParameters},9379:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},1687:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isDecideRequestItemGroupParametersJSON=void 0,t.isDecideRequestItemGroupParametersJSON=function isDecideRequestItemGroupParametersJSON(e){return void 0!==e.items&&void 0===e.accept}},6592:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isDecideRequestItemParametersJSON=void 0,t.isDecideRequestItemParametersJSON=function isDecideRequestItemParametersJSON(e){return void 0===e.items&&void 0!==e.accept}},7323:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},2908:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.InternalDecideRequestParameters=void 0;const a=r(194),s=r(9663);let o=class InternalDecideRequestParameters extends a.Serializable{static from(e){return this.fromAny(e)}};n([(0,a.serialize)(),(0,a.validate)(),i("design:type",s.CoreId)],o.prototype,"requestId",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",Array)],o.prototype,"items",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",Boolean)],o.prototype,"accept",void 0),o=n([(0,a.type)("InternalDecideRequestParameters")],o),t.InternalDecideRequestParameters=o},5829:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},3665:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.ReceivedIncomingRequestParameters=void 0;const a=r(194),s=r(5030),o=r(9663);let u=class ReceivedIncomingRequestParameters extends a.Serializable{static from(e){return this.fromAny(e)}};n([(0,a.serialize)(),(0,a.validate)(),i("design:type",s.Request)],u.prototype,"receivedRequest",void 0),n([(0,a.serialize)({unionTypes:[o.Message,o.RelationshipTemplate]}),(0,a.validate)(),i("design:type",Object)],u.prototype,"requestSourceObject",void 0),u=n([(0,a.type)("ReceivedIncomingRequestParameters")],u),t.ReceivedIncomingRequestParameters=u},569:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.RequireManualDecisionOfIncomingRequestParameters=void 0;const a=r(194),s=r(9663);class RequireManualDecisionOfIncomingRequestParameters extends a.Serializable{static from(e){return this.fromAny(e)}}n([(0,a.serialize)(),(0,a.validate)(),i("design:type",s.CoreId)],RequireManualDecisionOfIncomingRequestParameters.prototype,"requestId",void 0),t.RequireManualDecisionOfIncomingRequestParameters=RequireManualDecisionOfIncomingRequestParameters},1253:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(5941),t),i(r(8576),t),i(r(6520),t),i(r(9379),t),i(r(1687),t),i(r(6592),t),i(r(7323),t),i(r(5829),t),i(r(7066),t),i(r(5664),t),i(r(3665),t),i(r(569),t),i(r(8067),t),i(r(9886),t),i(r(7994),t),i(r(2743),t),i(r(2753),t),i(r(7482),t),i(r(3372),t),i(r(2858),t),i(r(8787),t),i(r(8368),t),i(r(9469),t),i(r(633),t),i(r(9116),t),i(r(5371),t),i(r(1744),t),i(r(3126),t),i(r(4136),t),i(r(3592),t),i(r(9633),t),i(r(1878),t),i(r(1557),t),i(r(5180),t),i(r(325),t)},8067:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractRequestItemProcessor=void 0;t.AbstractRequestItemProcessor=class AbstractRequestItemProcessor{constructor(e){this.consumptionController=e,this.accountController=this.consumptionController.accountController,this.currentIdentityAddress=this.accountController.identity.address}}},7994:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GenericRequestItemProcessor=void 0;const n=r(5030),i=r(8067),a=r(9116);class GenericRequestItemProcessor extends i.AbstractRequestItemProcessor{checkPrerequisitesOfIncomingRequestItem(e,t){return!0}canAccept(e,t,r){return a.ValidationResult.success()}canReject(e,t,r){return a.ValidationResult.success()}accept(e,t,r){return n.AcceptResponseItem.from({result:n.ResponseItemResult.Accepted})}reject(e,t,r){return n.RejectResponseItem.from({result:n.ResponseItemResult.Rejected})}canCreateOutgoingRequestItem(e,t,r){return a.ValidationResult.success()}canApplyIncomingResponseItem(e,t,r){return a.ValidationResult.success()}applyIncomingResponseItem(e,t,r){}}t.GenericRequestItemProcessor=GenericRequestItemProcessor},2743:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},2753:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},8368:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},9469:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RequestItemProcessorRegistry=void 0;const n=r(7997);t.RequestItemProcessorRegistry=class RequestItemProcessorRegistry{constructor(e,t=new Map){this.consumptionController=e,this.processors=t}registerProcessor(e,t){if(this.processors.has(e))throw new n.ConsumptionError(`There is already a processor registered for '${e.name}''. Use 'replaceProcessorForType' if you want to replace it.`);this.processors.set(e,t)}registerOrReplaceProcessor(e,t){this.processors.set(e,t)}getProcessorForItem(e){const t=this.processors.get(e.constructor);if(!t)throw new n.ConsumptionError(`There was no processor registered for '${e.constructor.name}'.`);return new t(this.consumptionController)}}},9116:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ErrorValidationResult=t.SuccessfulValidationResult=t.ValidationResult=void 0;const n=r(5172);class ValidationResult{constructor(e){this.items=e}isSuccess(){return this instanceof SuccessfulValidationResult}isError(){return this instanceof ErrorValidationResult}static success(e=[]){return new SuccessfulValidationResult(e)}static error(e,t=[]){return new ErrorValidationResult(e,t)}static fromItems(e){return e.some((e=>e.isError()))?ValidationResult.error(new n.ApplicationError("inheritedFromItem","Some child items have errors."),e):ValidationResult.success(e)}}t.ValidationResult=ValidationResult;class SuccessfulValidationResult extends ValidationResult{constructor(e){super(e)}}t.SuccessfulValidationResult=SuccessfulValidationResult;class ErrorValidationResult extends ValidationResult{constructor(e,t){super(t),this.error=e}}t.ErrorValidationResult=ErrorValidationResult},9886:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CreateAttributeRequestItemProcessor=void 0;const n=r(5030),i=r(7997),a=r(7994),s=r(9116);class CreateAttributeRequestItemProcessor extends a.GenericRequestItemProcessor{canCreateOutgoingRequestItem(e,t,r){const a=e.attribute.owner.equals(r),o=e.attribute.owner.equals(this.currentIdentityAddress),u=""===e.attribute.owner.toString();return e.attribute instanceof n.IdentityAttribute?o?s.ValidationResult.error(i.CoreErrors.requests.invalidRequestItem("Cannot create own Attributes with a CreateAttributeRequestItem. Use a ShareAttributeRequestItem instead.")):a||u||void 0===r?s.ValidationResult.success():s.ValidationResult.error(i.CoreErrors.requests.invalidRequestItem("The owner of the given `attribute` can only be the recipient's address or an empty string. The latter will default to the recipient's address.")):a||o||u||void 0===r?s.ValidationResult.success():s.ValidationResult.error(i.CoreErrors.requests.invalidRequestItem("The owner of the given 'attribute' can only be the sender's address, the recipient's address or an empty string. The latter will default to the recipient's address."))}async accept(e,t,r){let i;if(""===e.attribute.owner.toString()&&(e.attribute.owner=this.currentIdentityAddress),e.attribute instanceof n.IdentityAttribute){const t=await this.consumptionController.attributes.createLocalAttribute({content:e.attribute});i=await this.consumptionController.attributes.createSharedLocalAttributeCopy({peer:r.peer,requestReference:r.id,sourceAttributeId:t.id})}else i=await this.consumptionController.attributes.createPeerLocalAttribute({content:e.attribute,peer:r.peer,requestReference:r.id});return n.CreateAttributeAcceptResponseItem.from({result:n.ResponseItemResult.Accepted,attributeId:i.id})}async applyIncomingResponseItem(e,t,r){e instanceof n.CreateAttributeAcceptResponseItem&&(""===t.attribute.owner.toString()&&(t.attribute.owner=r.peer),await this.consumptionController.attributes.createPeerLocalAttribute({id:e.attributeId,content:t.attribute,peer:r.peer,requestReference:r.id}))}}t.CreateAttributeRequestItemProcessor=CreateAttributeRequestItemProcessor},7482:function(e,t,r){"use strict";var n,i=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.AcceptProposeAttributeRequestItemParameters=void 0;const s=r(194),o=r(5030),u=r(9663),c=r(4714),l=r(7997);let d=n=class AcceptProposeAttributeRequestItemParameters extends s.Serializable{isWithExistingAttribute(){return void 0!==this.attributeId}isWithNewAttribute(){return void 0!==this.attribute}static from(e){return this.fromAny(e)}static postFrom(e){if(!(e instanceof n))throw new l.ConsumptionError("this should never happen");if(e.attributeId&&e.attribute)throw new s.ValidationError(n.name,(0,c.nameof)((e=>e.attribute)),`You cannot specify both ${(0,c.nameof)((e=>e.attribute))} and ${(0,c.nameof)((e=>e.attributeId))}.`);if(!e.attributeId&&!e.attribute)throw new s.ValidationError(n.name,(0,c.nameof)((e=>e.attribute)),`You have to specify either ${(0,c.nameof)((e=>e.attribute))} or ${(0,c.nameof)((e=>e.attributeId))}.`);return e}};i([(0,s.serialize)(),(0,s.validate)({nullable:!0}),a("design:type",u.CoreId)],d.prototype,"attributeId",void 0),i([(0,s.serialize)({unionTypes:[o.IdentityAttribute,o.RelationshipAttribute]}),(0,s.validate)({nullable:!0}),a("design:type",Object)],d.prototype,"attribute",void 0),d=n=i([(0,s.type)("AcceptProposeAttributeRequestItemParameters")],d),t.AcceptProposeAttributeRequestItemParameters=d},3372: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.ProposeAttributeRequestItemProcessor=void 0;const i=r(5030),a=r(9663),s=r(7997),o=r(306),u=r(7994),c=n(r(4251)),l=r(9116),d=r(7482);class ProposeAttributeRequestItemProcessor extends u.GenericRequestItemProcessor{canCreateOutgoingRequestItem(e,t,r){const n=this.validateQuery(e,r);if(n.isError())return n;const i=this.validateAttribute(e.attribute);return i.isError()?i:l.ValidationResult.success()}validateAttribute(e){return""!==e.owner.toString()?l.ValidationResult.error(s.CoreErrors.requests.invalidRequestItem("The owner of the given `attribute` can only be an empty string. This is because you can only propose Attributes where the recipient of the Request is the owner anyway. And in order to avoid mistakes, the owner will be automatically filled for you.")):l.ValidationResult.success()}validateQuery(e,t){const r=(0,c.default)(e.query,this.currentIdentityAddress,t);return r.isError()?r:e.query instanceof i.RelationshipAttributeQuery&&""!==e.query.owner.toString()?l.ValidationResult.error(s.CoreErrors.requests.invalidRequestItem("The owner of the given `query` can only be an empty string. This is because you can only propose Attributes where the recipient of the Request is the owner anyway. And in order to avoid mistakes, the owner will be automatically filled for you.")):l.ValidationResult.success()}async canAccept(e,t,r){const n=d.AcceptProposeAttributeRequestItemParameters.from(t);let i=n.attribute;if(n.isWithExistingAttribute()){const e=await this.consumptionController.attributes.getLocalAttribute(n.attributeId);if(!e)return l.ValidationResult.error(a.CoreErrors.general.recordNotFound(o.LocalAttribute,r.id.toString()));i=e.content}return i.owner.equals(this.currentIdentityAddress)?l.ValidationResult.success():l.ValidationResult.error(s.CoreErrors.requests.invalidRequestItem("The given Attribute belongs to someone else. You can only share own Attributes."))}async accept(e,t,r){const n=d.AcceptProposeAttributeRequestItemParameters.from(t);let a;return a=n.isWithExistingAttribute()?await this.copyExistingAttribute(n.attributeId,r):await this.createNewAttribute(n.attribute,r),i.ProposeAttributeAcceptResponseItem.from({result:i.ResponseItemResult.Accepted,attributeId:a.id,attribute:a.content})}async copyExistingAttribute(e,t){return await this.consumptionController.attributes.createSharedLocalAttributeCopy({sourceAttributeId:a.CoreId.from(e),peer:a.CoreAddress.from(t.peer),requestReference:a.CoreId.from(t.id)})}async createNewAttribute(e,t){if(e instanceof i.IdentityAttribute){const r=await this.consumptionController.attributes.createLocalAttribute({content:e});return await this.consumptionController.attributes.createSharedLocalAttributeCopy({sourceAttributeId:a.CoreId.from(r.id),peer:a.CoreAddress.from(t.peer),requestReference:a.CoreId.from(t.id)})}return await this.consumptionController.attributes.createPeerLocalAttribute({content:e,peer:t.peer,requestReference:a.CoreId.from(t.id)})}async applyIncomingResponseItem(e,t,r){e instanceof i.ProposeAttributeAcceptResponseItem&&await this.consumptionController.attributes.createPeerLocalAttribute({id:e.attributeId,content:e.attribute,peer:r.peer,requestReference:r.id})}}t.ProposeAttributeRequestItemProcessor=ProposeAttributeRequestItemProcessor},2319:function(e,t,r){"use strict";var n,i=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.AcceptReadAttributeRequestItemParameters=void 0;const s=r(194),o=r(5030),u=r(9663),c=r(4714),l=r(7997);let d=n=class AcceptReadAttributeRequestItemParameters extends s.Serializable{isWithExistingAttribute(){return void 0!==this.existingAttributeId}isWithNewAttribute(){return void 0!==this.newAttribute}static from(e){return this.fromAny(e)}static postFrom(e){if(!(e instanceof n))throw new l.ConsumptionError("this should never happen");if(e.existingAttributeId&&e.newAttribute)throw new s.ValidationError(n.name,(0,c.nameof)((e=>e.newAttribute)),`You cannot specify both ${(0,c.nameof)((e=>e.newAttribute))} and ${(0,c.nameof)((e=>e.existingAttributeId))}.`);if(!e.existingAttributeId&&!e.newAttribute)throw new s.ValidationError(n.name,(0,c.nameof)((e=>e.newAttribute)),`You have to specify either ${(0,c.nameof)((e=>e.newAttribute))} or ${(0,c.nameof)((e=>e.existingAttributeId))}.`);return e}};i([(0,s.serialize)(),(0,s.validate)({nullable:!0}),a("design:type",u.CoreId)],d.prototype,"existingAttributeId",void 0),i([(0,s.serialize)({unionTypes:[o.IdentityAttribute,o.RelationshipAttribute]}),(0,s.validate)({nullable:!0}),a("design:type",Object)],d.prototype,"newAttribute",void 0),d=n=i([(0,s.type)("AcceptReadAttributeRequestItemParameters")],d),t.AcceptReadAttributeRequestItemParameters=d},2858: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.ReadAttributeRequestItemProcessor=void 0;const i=r(5030),a=r(9663),s=r(7997),o=r(306),u=r(7994),c=n(r(4251)),l=r(9116),d=r(2319);class ReadAttributeRequestItemProcessor extends u.GenericRequestItemProcessor{canCreateOutgoingRequestItem(e,t,r){const n=(0,c.default)(e.query,this.currentIdentityAddress,r);return n.isError()?n:l.ValidationResult.success()}async canAccept(e,t,r){const n=d.AcceptReadAttributeRequestItemParameters.from(t);if(n.isWithExistingAttribute()){const e=await this.consumptionController.attributes.getLocalAttribute(n.existingAttributeId);if(!e)return l.ValidationResult.error(a.CoreErrors.general.recordNotFound(o.LocalAttribute,r.id.toString()));if(!this.accountController.identity.isMe(e.content.owner)&&e.content instanceof i.IdentityAttribute)return l.ValidationResult.error(s.CoreErrors.requests.invalidRequestItem("The given Attribute belongs to someone else. You can only share own Attributes."))}return l.ValidationResult.success()}async accept(e,t,r){const n=d.AcceptReadAttributeRequestItemParameters.from(t);let a;return a=n.isWithExistingAttribute()?await this.copyExistingAttribute(n.existingAttributeId,r):await this.createNewAttribute(n.newAttribute,r),i.ReadAttributeAcceptResponseItem.from({result:i.ResponseItemResult.Accepted,attributeId:a.id,attribute:a.content})}async copyExistingAttribute(e,t){return await this.consumptionController.attributes.createSharedLocalAttributeCopy({sourceAttributeId:a.CoreId.from(e),peer:a.CoreAddress.from(t.peer),requestReference:a.CoreId.from(t.id)})}async createNewAttribute(e,t){if(e instanceof i.IdentityAttribute){const r=await this.consumptionController.attributes.createLocalAttribute({content:e});return await this.consumptionController.attributes.createSharedLocalAttributeCopy({sourceAttributeId:a.CoreId.from(r.id),peer:a.CoreAddress.from(t.peer),requestReference:a.CoreId.from(t.id)})}return await this.consumptionController.attributes.createPeerLocalAttribute({content:e,peer:t.peer,requestReference:a.CoreId.from(t.id)})}async applyIncomingResponseItem(e,t,r){e instanceof i.ReadAttributeAcceptResponseItem&&await this.consumptionController.attributes.createPeerLocalAttribute({id:e.attributeId,content:e.attribute,peer:r.peer,requestReference:r.id})}}t.ReadAttributeRequestItemProcessor=ReadAttributeRequestItemProcessor},8787:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RegisterAttributeListenerRequestItemProcessor=void 0;const n=r(5030),i=r(7994);class RegisterAttributeListenerRequestItemProcessor extends i.GenericRequestItemProcessor{async accept(e,t,r){const i=await this.consumptionController.attributeListeners.createAttributeListener({peer:r.peer,query:e.query});return n.RegisterAttributeListenerAcceptResponseItem.from({result:n.ResponseItemResult.Accepted,listenerId:i.id.toString()})}}t.RegisterAttributeListenerRequestItemProcessor=RegisterAttributeListenerRequestItemProcessor},633: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.ShareAttributeRequestItemProcessor=void 0;const i=r(5030),a=n(r(6486)),s=r(7997),o=r(7994),u=r(9116);class ShareAttributeRequestItemProcessor extends o.GenericRequestItemProcessor{async canCreateOutgoingRequestItem(e,t,r){const n=await this.consumptionController.attributes.getLocalAttribute(e.sourceAttributeId);return n?a.default.isEqual(n.content.toJSON(),e.attribute.toJSON())?e.attribute instanceof i.IdentityAttribute?this.canCreateWithIdentityAttribute(e):this.canCreateWithRelationshipAttribute(e.attribute,r):u.ValidationResult.error(s.CoreErrors.requests.invalidRequestItem(`The Attribute with the given sourceAttributeId '${e.sourceAttributeId.toString()}' does not match the given attribute.`)):u.ValidationResult.error(s.CoreErrors.requests.invalidRequestItem(`The Attribute with the given sourceAttributeId '${e.sourceAttributeId.toString()}' could not be found.`))}canCreateWithIdentityAttribute(e){const t=""===e.attribute.owner.toString(),r=e.attribute.owner.equals(this.currentIdentityAddress);return t||r?u.ValidationResult.success():u.ValidationResult.error(s.CoreErrors.requests.invalidRequestItem("The owner of the given `attribute` can only be an empty string. This is because you can only send Attributes where the recipient of the Request is the owner anyway. And in order to avoid mistakes, the owner will be automatically filled for you."))}canCreateWithRelationshipAttribute(e,t){return e.confidentiality===i.RelationshipAttributeConfidentiality.Private?u.ValidationResult.error(s.CoreErrors.requests.invalidRequestItem("The confidentiality of the given `attribute` is private. Therefore you are not allowed to share it.")):e.owner.equals(t)?u.ValidationResult.error(s.CoreErrors.requests.invalidRequestItem("It doesn't make sense to share a RelationshipAttribute with its owner.")):u.ValidationResult.success()}async accept(e,t,r){""===e.attribute.owner.toString()&&(e.attribute.owner=r.peer);const n=await this.consumptionController.attributes.createPeerLocalAttribute({content:e.attribute,peer:r.peer,requestReference:r.id});return i.ShareAttributeAcceptResponseItem.from({attributeId:n.id,result:i.ResponseItemResult.Accepted})}async applyIncomingResponseItem(e,t,r){e instanceof i.ShareAttributeAcceptResponseItem&&await this.consumptionController.attributes.createSharedLocalAttributeCopy({attributeId:e.attributeId,sourceAttributeId:t.sourceAttributeId,peer:r.peer,requestReference:r.id})}}t.ShareAttributeRequestItemProcessor=ShareAttributeRequestItemProcessor},4251:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(5030),i=r(7997),a=r(9116);function validateThirdParty(e,t,r){return e.equals(t)?a.ValidationResult.error(i.CoreErrors.requests.invalidRequestItem("Cannot query an Attribute with the own address as third party.")):e.equals(r)?a.ValidationResult.error(i.CoreErrors.requests.invalidRequestItem("Cannot query an Attribute with the recipient's address as third party.")):a.ValidationResult.success()}t.default=function validateQuery(e,t,r){if(e instanceof n.ThirdPartyRelationshipAttributeQuery){for(const n of e.thirdParty){const e=validateThirdParty(n,t,r);if(e.isError())return e}if(e.owner.equals(t))return a.ValidationResult.error(i.CoreErrors.requests.invalidRequestItem("Cannot query own Attributes from a third party."))}return a.ValidationResult.success()}},5371:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.LocalRequest=t.LocalRequestSource=void 0;const a=r(194),s=r(5030),o=r(9663),u=r(7997),c=r(1744),l=r(3126),d=r(4136);let f=class LocalRequestSource extends o.CoreSerializable{static from(e){return this.fromAny(e)}};n([(0,a.serialize)(),(0,a.validate)(),i("design:type",String)],f.prototype,"type",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",o.CoreId)],f.prototype,"reference",void 0),f=n([(0,a.type)("LocalRequestSource")],f),t.LocalRequestSource=f;let h=class LocalRequest extends o.CoreSynchronizable{changeStatus(e){if(this.status===e)throw new u.ConsumptionError("cannot change status to the same status");const t=l.LocalRequestStatusLogEntry.from({createdAt:o.CoreDate.utc(),oldStatus:this.status,newStatus:e});this.statusLog.push(t),this.status=e}sent(e){if(this.status!==c.LocalRequestStatus.Draft)throw new u.ConsumptionError("Local Request has to be in status 'Draft'.");this.source=e,this.changeStatus(c.LocalRequestStatus.Open)}static from(e){return this.fromAny(e)}isExpired(e=o.CoreDate.utc()){return!!this.content.expiresAt&&e.isAfter(this.content.expiresAt.add({seconds:10}))}updateStatusBasedOnExpiration(e=o.CoreDate.utc()){return this.status!==c.LocalRequestStatus.Completed&&this.status!==c.LocalRequestStatus.Expired&&(!!this.isExpired(e)&&(this.changeStatus(c.LocalRequestStatus.Expired),!0))}};n([(0,a.serialize)(),(0,a.validate)(),i("design:type",Boolean)],h.prototype,"isOwn",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",o.CoreAddress)],h.prototype,"peer",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",o.CoreDate)],h.prototype,"createdAt",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",s.Request)],h.prototype,"content",void 0),n([(0,a.serialize)(),(0,a.validate)({nullable:!0}),i("design:type",f)],h.prototype,"source",void 0),n([(0,a.serialize)(),(0,a.validate)({nullable:!0}),i("design:type",d.LocalResponse)],h.prototype,"response",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",String)],h.prototype,"status",void 0),n([(0,a.serialize)({type:l.LocalRequestStatusLogEntry}),(0,a.validate)(),i("design:type",Array)],h.prototype,"statusLog",void 0),h=n([(0,a.type)("LocalRequest")],h),t.LocalRequest=h},1744:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LocalRequestStatus=void 0,function(e){e.Draft="Draft",e.Open="Open",e.DecisionRequired="DecisionRequired",e.ManualDecisionRequired="ManualDecisionRequired",e.Decided="Decided",e.Completed="Completed",e.Expired="Expired"}(t.LocalRequestStatus||(t.LocalRequestStatus={}))},3126:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.LocalRequestStatusLogEntry=void 0;const a=r(194),s=r(9663);r(1744);let o=class LocalRequestStatusLogEntry extends s.CoreSerializable{static from(e){return this.fromAny(e)}};n([(0,a.serialize)(),(0,a.validate)(),i("design:type",s.CoreDate)],o.prototype,"createdAt",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",String)],o.prototype,"oldStatus",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",String)],o.prototype,"newStatus",void 0),n([(0,a.serialize)(),(0,a.validate)({nullable:!0}),i("design:type",Object)],o.prototype,"data",void 0),n([(0,a.serialize)(),(0,a.validate)({nullable:!0}),i("design:type",String)],o.prototype,"code",void 0),o=n([(0,a.type)("LocalRequestStatusLogEntry")],o),t.LocalRequestStatusLogEntry=o},4136:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.LocalResponse=t.LocalResponseSource=void 0;const a=r(194),s=r(5030),o=r(9663);let u=class LocalResponseSource extends o.CoreSerializable{static from(e){return this.fromAny(e)}};n([(0,a.serialize)(),(0,a.validate)(),i("design:type",String)],u.prototype,"type",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",o.CoreId)],u.prototype,"reference",void 0),u=n([(0,a.type)("LocalResponseSource")],u),t.LocalResponseSource=u;let c=class LocalResponse extends o.CoreSerializable{static from(e){return this.fromAny(e)}};n([(0,a.serialize)(),(0,a.validate)(),i("design:type",o.CoreDate)],c.prototype,"createdAt",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",s.Response)],c.prototype,"content",void 0),n([(0,a.serialize)(),(0,a.validate)({nullable:!0}),i("design:type",u)],c.prototype,"source",void 0),c=n([(0,a.type)("LocalResponse")],c),t.LocalResponse=c},5180:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OutgoingRequestsController=void 0;const n=r(5030),i=r(9663),a=r(7997),s=r(5941),o=r(9116),u=r(5371),c=r(1744),l=r(4136),d=r(3592),f=r(9633),h=r(1878),p=r(1557),m=r(325);class OutgoingRequestsController extends a.ConsumptionBaseController{constructor(e,t,r,n,i){super(a.ConsumptionControllerName.RequestsController,r),this.localRequests=e,this.processorRegistry=t,this.eventBus=n,this.identity=i}async canCreate(e){const t=h.CanCreateOutgoingRequestParameters.from(e),r=await this.canCreateItems(t.content,t.peer);return o.ValidationResult.fromItems(r)}async canCreateItems(e,t){const r=[];for(const i of e.items)if(i instanceof n.RequestItem){const n=await this.canCreateItem(i,e,t);r.push(n)}else{const n=await this.canCreateItemGroup(i,e,t);r.push(n)}return r}async canCreateItem(e,t,r){const n=this.processorRegistry.getProcessorForItem(e);return await n.canCreateOutgoingRequestItem(e,t,r)}async canCreateItemGroup(e,t,r){const n=[];for(const i of e.items){const e=await this.canCreateItem(i,t,r);n.push(e)}return o.ValidationResult.fromItems(n)}async create(e){const t=p.CreateOutgoingRequestParameters.from(e),r=await a.ConsumptionIds.request.generate();t.content.id=r;const n=await this._create(r,t.content,t.peer);return this.eventBus.publish(new s.OutgoingRequestCreatedEvent(this.identity.address.toString(),n)),n}async _create(e,t,r){const n=await this.canCreate({content:t,peer:r});if(n.isError())throw n.error;const a=u.LocalRequest.from({id:e,content:t,createdAt:i.CoreDate.utc(),isOwn:!0,peer:r,status:c.LocalRequestStatus.Draft,statusLog:[]});return await this.localRequests.create(a),a}async createFromRelationshipTemplateResponse(e){const t=f.CreateOutgoingRequestFromRelationshipTemplateResponseParameters.from(e);let r,o;if(t.responseSource instanceof i.RelationshipChange){r=t.responseSource.request.createdBy;const e=t.responseSource.request.content;if(!(e instanceof n.RelationshipCreationChangeRequestContent))throw new a.ConsumptionError("The content of the relationship creation change is not supported as it is not type of RelationshipCreationChangeRequestContent.");o=e.response}else{r=t.responseSource.cache.createdBy;const e=t.responseSource.cache.content;if(!(e instanceof n.Response))throw new a.ConsumptionError("The content of the request is not supported as it is not type of Response.");o=e}const u=o.requestId,c=t.template.cache.content;if(!(c instanceof n.RelationshipTemplateContent))throw new a.ConsumptionError("The content of the template is not supported as it is not type of RelationshipTemplateContent.");await this._create(u,c.onNewRelationship,r),await this._sent(u,t.template);const l=await this._complete(u,t.responseSource,o);return this.eventBus.publish(new s.OutgoingRequestCreatedAndCompletedEvent(this.identity.address.toString(),l)),l}async sent(e){const t=m.SentOutgoingRequestParameters.from(e),r=await this._sent(t.requestId,t.requestSourceObject);return this.eventBus.publish(new s.OutgoingRequestStatusChangedEvent(this.identity.address.toString(),{request:r,oldStatus:c.LocalRequestStatus.Draft,newStatus:r.status})),r}async _sent(e,t){const r=await this.getOrThrow(e);return this.assertRequestStatus(r,c.LocalRequestStatus.Draft),r.changeStatus(c.LocalRequestStatus.Open),r.source=u.LocalRequestSource.from({reference:t.id,type:this.getSourceType(t)}),await this.update(r),r}getSourceType(e){if(e instanceof i.Message){if(!e.isOwn)throw new a.ConsumptionError("Cannot create outgoing Request from a peer Message");return"Message"}if(e instanceof i.RelationshipTemplate){if(!e.isOwn)throw new a.ConsumptionError("Cannot create outgoing Request from a peer Relationship Template");return"RelationshipTemplate"}throw new a.ConsumptionError("The given sourceObject is not of a valid type. Valid types are 'Message' and 'RelationshipTemplate'.")}async complete(e){const t=d.CompleteOutgoingRequestParameters.from(e),r=await this._complete(t.requestId,t.responseSourceObject,t.receivedResponse);return this.eventBus.publish(new s.OutgoingRequestStatusChangedEvent(this.identity.address.toString(),{request:r,oldStatus:c.LocalRequestStatus.Open,newStatus:r.status})),r}async _complete(e,t,r){const n=await this.getOrThrow(e);this.assertRequestStatus(n,c.LocalRequestStatus.Open,c.LocalRequestStatus.Expired);const s=t instanceof i.Message?t.cache.createdAt:t.request.createdAt;if(n.status===c.LocalRequestStatus.Expired&&n.isExpired(s))throw new a.ConsumptionError("Cannot complete an expired request with a response that was created before the expiration date");const o=await this.canComplete(n,r);if(o.isError())throw o.error;let u;if(await this.applyItems(n.content.items,r.items,n),t instanceof i.Message)u="Message";else{if(!(t instanceof i.RelationshipChange))throw new a.ConsumptionError("Invalid responseSourceObject");u="RelationshipChange"}const d=l.LocalResponse.from({content:r,createdAt:i.CoreDate.utc(),source:{reference:t.id,type:u}});return n.response=d,n.changeStatus(c.LocalRequestStatus.Completed),await this.update(n),n}async canComplete(e,t){for(let r=0;r<t.items.length;r++){const i=e.content.items[r];if(i instanceof n.RequestItem){const n=t.items[r],a=this.processorRegistry.getProcessorForItem(i),s=await a.canApplyIncomingResponseItem(n,i,e);if(s.isError())return s}else if(i instanceof n.RequestItemGroup){const n=t.items[r];for(let t=0;t<i.items.length;t++){const r=i.items[t],a=n.items[t],s=this.processorRegistry.getProcessorForItem(r),o=await s.canApplyIncomingResponseItem(a,r,e);if(o.isError())return o}}}return o.ValidationResult.success()}async applyItems(e,t,r){for(let i=0;i<t.length;i++){const a=e[i];if(a instanceof n.RequestItem){const e=t[i];await this.applyItem(a,e,r)}else{const e=t[i];await this.applyItems(a.items,e.items,r)}}}async applyItem(e,t,r){const n=this.processorRegistry.getProcessorForItem(e);await n.applyIncomingResponseItem(t,e,r)}async getOutgoingRequests(e){const t=(await this.localRequests.find({...e,isOwn:!0})).map((e=>this.updateRequestExpiry(u.LocalRequest.from(e))));return await Promise.all(t)}async discardOutgoingRequest(e){const t=await this.getOrThrow(e);this.assertRequestStatus(t,c.LocalRequestStatus.Draft),await this.localRequests.delete(t)}async getOutgoingRequest(e){const t=await this.localRequests.findOne({id:e.toString(),isOwn:!0});if(!t)return;const r=u.LocalRequest.from(t);return await this.updateRequestExpiry(r)}async getOrThrow(e){const t=await this.getOutgoingRequest(e);if(!t)throw i.CoreErrors.general.recordNotFound(u.LocalRequest,e.toString());return t}async update(e){const t=await this.localRequests.findOne({id:e.id.toString(),isOwn:!0});if(!t)throw i.CoreErrors.general.recordNotFound(u.LocalRequest,e.id.toString());await this.localRequests.update(t,e)}assertRequestStatus(e,...t){if(!t.includes(e.status))throw new a.ConsumptionError(`Local Request has to be in status '${t.join("/")}'.`)}async updateRequestExpiry(e){return e.updateStatusBasedOnExpiration()&&await this.update(e),e}}t.OutgoingRequestsController=OutgoingRequestsController},3592:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.CompleteOutgoingRequestParameters=void 0;const a=r(194),s=r(5030),o=r(9663);let u=class CompleteOutgoingRequestParameters extends a.Serializable{static from(e){return this.fromAny(e)}};n([(0,a.serialize)(),(0,a.validate)(),i("design:type",o.CoreId)],u.prototype,"requestId",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",o.Message)],u.prototype,"responseSourceObject",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",s.Response)],u.prototype,"receivedResponse",void 0),u=n([(0,a.type)("CompleteOutgoingRequestParameters")],u),t.CompleteOutgoingRequestParameters=u},9633:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.CreateOutgoingRequestFromRelationshipTemplateResponseParameters=void 0;const a=r(194),s=r(9663);let o=class CreateOutgoingRequestFromRelationshipTemplateResponseParameters extends a.Serializable{static from(e){return this.fromAny(e)}};n([(0,a.serialize)(),(0,a.validate)(),i("design:type",s.RelationshipTemplate)],o.prototype,"template",void 0),n([(0,a.serialize)({unionTypes:[s.RelationshipChange,s.Message]}),(0,a.validate)(),i("design:type",Object)],o.prototype,"responseSource",void 0),o=n([(0,a.type)("CreateOutgoingRequestFromRelationshipCreationChangeParameters")],o),t.CreateOutgoingRequestFromRelationshipTemplateResponseParameters=o},1878:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.CanCreateOutgoingRequestParameters=void 0;const a=r(194),s=r(5030),o=r(9663);let u=class CanCreateOutgoingRequestParameters extends a.Serializable{static from(e){return this.fromAny(e)}};n([(0,a.serialize)(),(0,a.validate)(),i("design:type",s.Request)],u.prototype,"content",void 0),n([(0,a.serialize)(),(0,a.validate)({nullable:!0}),i("design:type",o.CoreAddress)],u.prototype,"peer",void 0),u=n([(0,a.type)("CanCreateOutgoingRequestParameters")],u),t.CanCreateOutgoingRequestParameters=u},1557:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.CreateOutgoingRequestParameters=void 0;const a=r(194),s=r(5030),o=r(9663);let u=class CreateOutgoingRequestParameters extends a.Serializable{static from(e){return this.fromAny(e)}};n([(0,a.serialize)(),(0,a.validate)(),i("design:type",s.Request)],u.prototype,"content",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",o.CoreAddress)],u.prototype,"peer",void 0),u=n([(0,a.type)("CreateOutgoingRequestParameters")],u),t.CreateOutgoingRequestParameters=u},325:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.SentOutgoingRequestParameters=void 0;const a=r(194),s=r(9663);let o=class SentOutgoingRequestParameters extends a.Serializable{static from(e){return this.fromAny(e)}};n([(0,a.serialize)(),(0,a.validate)(),i("design:type",s.CoreId)],o.prototype,"requestId",void 0),n([(0,a.serialize)(),(0,a.validate)(),i("design:type",s.Message)],o.prototype,"requestSourceObject",void 0),o=n([(0,a.type)("SentOutgoingRequestParameters")],o),t.SentOutgoingRequestParameters=o},8672:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.SettingsController=void 0;const a=r(5172),s=r(9663),o=r(7997),u=r(2660);class SettingsController extends o.ConsumptionBaseController{constructor(e){super(o.ConsumptionControllerName.SettingsController,e)}async init(){return await super.init(),this.settings=await this.parent.accountController.getSynchronizedCollection("Settings"),this}async getSetting(e){const t=await this.settings.read(e.toString());return t?u.Setting.from(t):void 0}async getSettings(e){const t=await this.settings.find(e);return this.parseArray(t,u.Setting)}async createSetting(e){const t=u.Setting.from({id:await o.ConsumptionIds.setting.generate(),createdAt:s.CoreDate.utc(),key:e.key,scope:e.scope??u.SettingScope.Identity,value:e.value,reference:e.reference,succeedsAt:e.succeedsAt,succeedsItem:e.succeedsItem});return await this.settings.create(t),t}async updateSetting(e){const t=await this.settings.read(e.id.toString());if(!t)throw s.CoreErrors.general.recordNotFound(u.Setting,e.id.toString());await this.settings.update(t,e)}async deleteSetting(e){await this.settings.delete(e)}}n([(0,a.log)(),i("design:type",Function),i("design:paramtypes",[u.Setting]),i("design:returntype",Promise)],SettingsController.prototype,"updateSetting",null),t.SettingsController=SettingsController},5431:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(9671),t),i(r(2660),t),i(r(8672),t)},9671:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},2660:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.Setting=t.SettingScope=void 0;const a=r(194),s=r(9663),o=r(4714);!function(e){e.Identity="Identity",e.Device="Device",e.Relationship="Relationship"}(t.SettingScope||(t.SettingScope={}));let u=class Setting extends s.CoreSynchronizable{constructor(){super(...arguments),this.technicalProperties=["@type","@context",(0,o.nameof)((e=>e.key)),(0,o.nameof)((e=>e.scope)),(0,o.nameof)((e=>e.reference)),(0,o.nameof)((e=>e.createdAt)),(0,o.nameof)((e=>e.succeedsItem)),(0,o.nameof)((e=>e.succeedsAt))],this.userdataProperties=[(0,o.nameof)((e=>e.value))],this.metadataProperties=[(0,o.nameof)((e=>e.metadata)),(0,o.nameof)((e=>e.metadataModifiedAt))]}static from(e){return this.fromAny(e)}};n([(0,a.validate)(),(0,a.serialize)(),i("design:type",String)],u.prototype,"key",void 0),n([(0,a.validate)(),(0,a.serialize)(),i("design:type",String)],u.prototype,"scope",void 0),n([(0,a.validate)({nullable:!0}),(0,a.serialize)(),i("design:type",s.CoreId)],u.prototype,"reference",void 0),n([(0,a.validate)(),(0,a.serialize)(),i("design:type",a.Serializable)],u.prototype,"value",void 0),n([(0,a.validate)(),(0,a.serialize)(),i("design:type",s.CoreDate)],u.prototype,"createdAt",void 0),n([(0,a.validate)({nullable:!0}),(0,a.serialize)(),i("design:type",s.CoreId)],u.prototype,"succeedsItem",void 0),n([(0,a.validate)({nullable:!0}),(0,a.serialize)(),i("design:type",s.CoreDate)],u.prototype,"succeedsAt",void 0),n([(0,a.validate)({nullable:!0}),(0,a.serialize)({any:!0}),i("design:type",Object)],u.prototype,"metadata",void 0),n([(0,a.validate)({nullable:!0}),(0,a.serialize)(),i("design:type",s.CoreDate)],u.prototype,"metadataModifiedAt",void 0),u=n([(0,a.type)("Setting")],u),t.Setting=u},9126:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QueryTranslator=void 0;class QueryTranslator{static defaultKeyRegex=/^[A-z_@][A-z@0-9-_]*(\.[A-z_@][A-z@0-9-_]*)*$/;static defaultValRegex=void 0;static defaultArrRegex=/^[a-zæøå0-9-_.]+(\[])?$/i;ops;alias;blacklist;whitelist;custom;string;keyRegex;valRegex;arrRegex;constructor(e={}){this.ops=e.ops??["!","^","$","~",">","<","$containsAny","$containsNone"],this.alias=e.alias??{},this.blacklist=e.blacklist??{},this.whitelist=e.whitelist??{},this.custom=e.custom??{},e.string=e.string??{},this.string=e.string,this.string.toBoolean="boolean"!=typeof e.string.toBoolean||e.string.toBoolean,this.string.toNumber="boolean"!=typeof e.string.toNumber||e.string.toNumber,this.keyRegex=e.keyRegex??QueryTranslator.defaultKeyRegex,this.valRegex=e.valRegex??QueryTranslator.defaultValRegex,this.arrRegex=e.arrRegex??QueryTranslator.defaultArrRegex}static setDefaultKeyRegex(e){QueryTranslator.defaultKeyRegex=e}static setDefaultValRegex(e){QueryTranslator.defaultValRegex=e}static setDefaultArrRegex(e){QueryTranslator.defaultArrRegex=e}parseString(e,t){let r=e[0]||"";const n="="===e[1];let i=e.substr(n?2:1)||"";const a=this.parseStringVal(i),s={op:r,org:i,value:a};switch(r){case"!":t?s.field="$containsNone":""===i?(s.field="$exists",s.value=!1):s.field="$ne";break;case">":s.field=n?"$gte":"$gt";break;case"<":s.field=n?"$lte":"$lt";break;case"^":case"$":case"~":switch(s.field="$regex",s.options="i",s.value=this.valRegex?i.replace(this.valRegex,""):s.value.toString(),r){case"^":s.value=`^${a}`;break;case"$":s.value=`${a}$`}break;default:s.org=i=r+i,s.op=r="",s.value=this.parseStringVal(i),t?s.field="$containsAny":""===i?(s.field="$exists",s.value=!0):s.field="$eq"}return s.parsed={},s.parsed[s.field]=s.value,s.options&&(s.parsed.$options=s.options),s}parseStringVal(e){return!(!this.string.toBoolean||"true"!==e.toLowerCase())||(!this.string.toBoolean||"false"!==e.toLowerCase())&&(this.string.toNumber&&!isNaN(parseInt(e,10))&&+e-+e+1>=0?parseFloat(e):e)}parse(e){if(!e)return{};const t={};for(let r of Object.keys(e)){const n=e[r];if(Array.isArray(n)&&(r=r.replace(/\[]$/,"")),(!Object.keys(this.whitelist).length||this.whitelist[r])&&!this.blacklist[r]&&(this.alias[r]&&(r=this.alias[r]),("string"!=typeof n||this.keyRegex.test(r))&&(!Array.isArray(n)||this.arrRegex.test(r))))if("function"!=typeof this.custom[r])if(Array.isArray(n)){if(this.ops.includes("$containsAny")&&n.length>0){t[r]={};for(const e of n)if(this.ops.includes(e[0])){const n=this.parseString(e,!0);switch(n.field){case"$containsAny":case"$containsNone":t[r][n.field]=t[r][n.field]||[],t[r][n.field].push(n.value);break;case"$regex":t[r].$regex=n.value,t[r].$options=n.options;break;default:t[r][n.field]=n.value}}else t[r].$containsAny=t[r].$containsAny||[],t[r].$containsAny.push(this.parseStringVal(e))}}else"string"==typeof n&&(n?this.ops.includes(n[0])?t[r]=this.parseString(n).parsed:t[r]=this.parseStringVal(n):t[r]={$exists:!0});else this.custom[r].apply(null,[t,n])}return t}}t.QueryTranslator=QueryTranslator},2937:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QueryTranslator=void 0;var n=r(9126);Object.defineProperty(t,"QueryTranslator",{enumerable:!0,get:function(){return n.QueryTranslator}})},1174:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},9159:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getEventNamespaceFromObject=t.EventBus=void 0;t.EventBus=class EventBus{},t.getEventNamespaceFromObject=function getEventNamespaceFromObject(e){return e.namespace}},5970:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SubscriptionTargetInfo=void 0;class SubscriptionTargetInfo{namespace;constructor(e){this.namespace=e}static from(e){return e instanceof Function?new ConstructorSubscriptionTargetInfo(e):new NamespaceSubscriptionTargetInfo(e)}}t.SubscriptionTargetInfo=SubscriptionTargetInfo;class ConstructorSubscriptionTargetInfo extends SubscriptionTargetInfo{constructorFunction;constructor(e){super(function getEventNamespaceFromClass(e){return e.namespace}(e)),this.constructorFunction=e}isCompatibleWith(e){return e instanceof this.constructorFunction}}class NamespaceSubscriptionTargetInfo extends SubscriptionTargetInfo{constructor(e){super(e)}isCompatibleWith(e){return!0}}},9729:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EventEmitter2EventBus=void 0;const n=r(6387);r(8660);const i=r(9159),a=r(5970);t.EventEmitter2EventBus=class EventEmitter2EventBus{errorCallback;emitter;listeners=new Map;nextId=0;invocationPromises=[];constructor(e,t){this.errorCallback=e,this.emitter=new n.EventEmitter2({maxListeners:50,verboseMemoryLeak:!0,...t,wildcard:!0})}subscribe(e,t){return this.registerHandler(e,t)}subscribeOnce(e,t){return this.registerHandler(e,t,!0)}unsubscribe(e){return this.unregisterHandler(e)}registerHandler(e,t,r=!1){const n=a.SubscriptionTargetInfo.from(e),i=this.nextId++,handlerWrapper=async e=>{if(!n.isCompatibleWith(e))return;const a=(async()=>await t(e))();this.invocationPromises.push(a),await a.catch((e=>this.errorCallback(e,n.namespace))),this.invocationPromises=this.invocationPromises.filter((e=>e!==a)),r&&this.listeners.delete(i)};if(r){const e=this.emitter.once(n.namespace,handlerWrapper,{objectify:!0});return this.listeners.set(i,e),i}const s=this.emitter.on(n.namespace,handlerWrapper,{objectify:!0});return this.listeners.set(i,s),i}unregisterHandler(e){const t=this.listeners.get(e);return!!t&&(t.off(),this.listeners.delete(e),!0)}publish(e){const t=(0,i.getEventNamespaceFromObject)(e);if(!t)throw Error("The event needs a namespace. Use the EventNamespace-decorator in order to define a namespace for a event.");this.emitter.emit(t,e)}async close(e){this.emitter.removeAllListeners();const t=Promise.all(this.invocationPromises).catch((()=>{}));if(!e)return void await t;let r;const n=new Promise(((t,n)=>{r=setTimeout((()=>{n(new Error("timeout exceeded while waiting for events to process"))}),e)}));await Promise.race([t,n]),clearTimeout(r)}}},9256:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(9159),t),i(r(9729),t)},5917:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DataEvent=void 0;const n=r(8267);class DataEvent extends n.Event{data;constructor(e,t){super(e),this.data=t}}t.DataEvent=DataEvent},8267:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Event=void 0;t.Event=class Event{namespace;constructor(e){this.namespace=e}}},2636:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(5917),t),i(r(8267),t)},5172:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(9256),t),i(r(2636),t),i(r(9855),t),i(r(1809),t),i(r(4569),t),i(r(1174),t),i(r(7226),t),i(r(7374),t)},9855: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.log=void 0;const i=n(r(4530));t.log=function log(e){return function(t,r,n){const a=n.value;return n.value=function(...t){const n=this;try{e?.logParams?n.log.trace(`Calling ${r}(${t.map((e=>(0,i.default)(e))).join(", ")})`):n.log.trace(`Calling ${r}`);const s=a.apply(this,t);return e?.logReturnValue?n.log.trace(`Returning from ${r} with: ${(0,i.default)(s)}`):n.log.trace(`Returning from ${r}`),s}catch(e){throw e instanceof Error&&e.stack&&(e.stack=e.stack.split("\n").filter((e=>!e.includes(".propertyDescriptorDoNotChangeMyNamePlease.value"))).join("\n")),n.log.error(`Error in ${r}:`,e),e}},n}}},1809:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.measureExcecutionTime=void 0,t.measureExcecutionTime=function measureExcecutionTime(e,t,r){const n=r.value;return r.value=async function(...e){const t=Date.now(),r=await n.apply(this,e),i=Date.now();return console.info(`Execution time: ${i-t}ms`),r},r}},4569:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.randomString=void 0,t.randomString=function randomString(e,t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"){let r="";const n=t.length;for(let i=0;i<e;i++)r+=t.charAt(Math.floor(Math.random()*n));return r}},7807:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ApplicationError=void 0;class ApplicationError extends Error{code;data;constructor(e,t,r){super(t),this.code=e,this.data=r}equals(e){return this.code===e.code}toString(){return JSON.stringify({code:this.code,message:this.message,data:this.data},void 0,2)}}t.ApplicationError=ApplicationError},9278:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Result=void 0;class Result{_isSuccess;_error;_value;constructor(e,t,r){if(e&&r)throw new Error("InvalidOperation: A result cannot be successful and contain an error");if(!e&&!r)throw new Error("InvalidOperation: A failing result needs to contain an error");if(void 0!==t&&!e)throw new Error("InvalidOperation: A value is only useful in case of a success.");this._value=t,this._isSuccess=e,this._error=r}get isSuccess(){return this._isSuccess}get isError(){return!this._isSuccess}get error(){return this._error}get value(){if(!this.isSuccess)throw new Error(`Can't get the value of an error result. Use 'error' instead. Root error: \r\n${this.error}`);return this._value}static ok(e){return new Result(!0,e)}static fail(e){return new Result(!1,void 0,e)}}t.Result=Result},7226:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(7807),t),i(r(9278),t)},7374:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.sleep=void 0,t.sleep=function sleep(e){return new Promise((t=>{setTimeout(t,e)}))}},6387:(e,t,r)=>{var n;!function(i){var a=Object.hasOwnProperty,s=Array.isArray?Array.isArray:function _isArray(e){return"[object Array]"===Object.prototype.toString.call(e)},o="object"==typeof process&&"function"==typeof process.nextTick,u="function"==typeof Symbol,c="object"==typeof Reflect,l="function"==typeof setImmediate?setImmediate:setTimeout,d=u?c&&"function"==typeof Reflect.ownKeys?Reflect.ownKeys:function(e){var t=Object.getOwnPropertyNames(e);return t.push.apply(t,Object.getOwnPropertySymbols(e)),t}:Object.keys;function init(){this._events={},this._conf&&configure.call(this,this._conf)}function configure(e){e&&(this._conf=e,e.delimiter&&(this.delimiter=e.delimiter),e.maxListeners!==i&&(this._maxListeners=e.maxListeners),e.wildcard&&(this.wildcard=e.wildcard),e.newListener&&(this._newListener=e.newListener),e.removeListener&&(this._removeListener=e.removeListener),e.verboseMemoryLeak&&(this.verboseMemoryLeak=e.verboseMemoryLeak),e.ignoreErrors&&(this.ignoreErrors=e.ignoreErrors),this.wildcard&&(this.listenerTree={}))}function logPossibleMemoryLeak(e,t){var r="(node) warning: possible EventEmitter memory leak detected. "+e+" listeners added. Use emitter.setMaxListeners() to increase limit.";if(this.verboseMemoryLeak&&(r+=" Event name: "+t+"."),"undefined"!=typeof process&&process.emitWarning){var n=new Error(r);n.name="MaxListenersExceededWarning",n.emitter=this,n.count=e,process.emitWarning(n)}else console.error(r),console.trace&&console.trace()}var toArray=function(e,t,r){var n=arguments.length;switch(n){case 0:return[];case 1:return[e];case 2:return[e,t];case 3:return[e,t,r];default:for(var i=new Array(n);n--;)i[n]=arguments[n];return i}};function toObject(e,t){for(var r={},n=e.length,a=t?t.length:0,s=0;s<n;s++)r[e[s]]=s<a?t[s]:i;return r}function TargetObserver(e,t,r){var n,i;if(this._emitter=e,this._target=t,this._listeners={},this._listenersCount=0,(r.on||r.off)&&(n=r.on,i=r.off),t.addEventListener?(n=t.addEventListener,i=t.removeEventListener):t.addListener?(n=t.addListener,i=t.removeListener):t.on&&(n=t.on,i=t.off),!n&&!i)throw Error("target does not implement any known event API");if("function"!=typeof n)throw TypeError("on method must be a function");if("function"!=typeof i)throw TypeError("off method must be a function");this._on=n,this._off=i;var a=e._observers;a?a.push(this):e._observers=[this]}function resolveOptions(e,t,r,n){var s=Object.assign({},t);if(!e)return s;if("object"!=typeof e)throw TypeError("options must be an object");var o,u,c,l=Object.keys(e),d=l.length;function reject(e){throw Error('Invalid "'+o+'" option value'+(e?". Reason: "+e:""))}for(var f=0;f<d;f++){if(o=l[f],!n&&!a.call(t,o))throw Error('Unknown "'+o+'" option');(u=e[o])!==i&&(c=r[o],s[o]=c?c(u,reject):u)}return s}function constructorReducer(e,t){return"function"==typeof e&&e.hasOwnProperty("prototype")||t("value must be a constructor"),e}function makeTypeReducer(e){var t="value must be type of "+e.join("|"),r=e.length,n=e[0],i=e[1];return 1===r?function(e,r){if(typeof e===n)return e;r(t)}:2===r?function(e,r){var a=typeof e;if(a===n||a===i)return e;r(t)}:function(n,i){for(var a=typeof n,s=r;s-- >0;)if(a===e[s])return n;i(t)}}Object.assign(TargetObserver.prototype,{subscribe:function(e,t,r){var n=this,i=this._target,a=this._emitter,s=this._listeners,handler=function(){var n=toArray.apply(null,arguments),s={data:n,name:t,original:e};if(r){var o=r.call(i,s);!1!==o&&a.emit.apply(a,[s.name].concat(n))}else a.emit.apply(a,[t].concat(n))};if(s[e])throw Error("Event '"+e+"' is already listening");this._listenersCount++,a._newListener&&a._removeListener&&!n._onNewListener?(this._onNewListener=function(r){r===t&&null===s[e]&&(s[e]=handler,n._on.call(i,e,handler))},a.on("newListener",this._onNewListener),this._onRemoveListener=function(r){r===t&&!a.hasListeners(r)&&s[e]&&(s[e]=null,n._off.call(i,e,handler))},s[e]=null,a.on("removeListener",this._onRemoveListener)):(s[e]=handler,n._on.call(i,e,handler))},unsubscribe:function(e){var t,r,n,i=this,a=this._listeners,s=this._emitter,o=this._off,u=this._target;if(e&&"string"!=typeof e)throw TypeError("event must be a string");function clearRefs(){i._onNewListener&&(s.off("newListener",i._onNewListener),s.off("removeListener",i._onRemoveListener),i._onNewListener=null,i._onRemoveListener=null);var e=findTargetIndex.call(s,i);s._observers.splice(e,1)}if(e){if(!(t=a[e]))return;o.call(u,e,t),delete a[e],--this._listenersCount||clearRefs()}else{for(n=(r=d(a)).length;n-- >0;)e=r[n],o.call(u,e,a[e]);this._listeners={},this._listenersCount=0,clearRefs()}}});var f=makeTypeReducer(["function"]),h=makeTypeReducer(["object","function"]);function makeCancelablePromise(e,t,r){var n,i,a,s=0,o=new e((function(u,c,l){function cleanup(){i&&(i=null),s&&(clearTimeout(s),s=0)}r=resolveOptions(r,{timeout:0,overload:!1},{timeout:function(e,t){return("number"!=typeof(e*=1)||e<0||!Number.isFinite(e))&&t("timeout must be a positive number"),e}}),n=!r.overload&&"function"==typeof e.prototype.cancel&&"function"==typeof l;var _resolve=function(e){cleanup(),u(e)},_reject=function(e){cleanup(),c(e)};n?t(_resolve,_reject,l):(i=[function(e){_reject(e||Error("canceled"))}],t(_resolve,_reject,(function(e){if(a)throw Error("Unable to subscribe on cancel event asynchronously");if("function"!=typeof e)throw TypeError("onCancel callback must be a function");i.push(e)})),a=!0),r.timeout>0&&(s=setTimeout((function(){var e=Error("timeout");e.code="ETIMEDOUT",s=0,o.cancel(e),c(e)}),r.timeout))}));return n||(o.cancel=function(e){if(i){for(var t=i.length,r=1;r<t;r++)i[r](e);i[0](e),i=null}}),o}function findTargetIndex(e){var t=this._observers;if(!t)return-1;for(var r=t.length,n=0;n<r;n++)if(t[n]._target===e)return n;return-1}function searchListenerTree(e,t,r,n,i){if(!r)return null;if(0===n){var a=typeof t;if("string"===a){var s,o,u=0,c=0,l=this.delimiter,f=l.length;if(-1!==(o=t.indexOf(l))){s=new Array(5);do{s[u++]=t.slice(c,o),c=o+f}while(-1!==(o=t.indexOf(l,c)));s[u++]=t.slice(c),t=s,i=u}else t=[t],i=1}else"object"===a?i=t.length:(t=[t],i=1)}var h,p,m,y,g,b,v,_=null,w=t[n],I=t[n+1];if(n===i)r._listeners&&("function"==typeof r._listeners?(e&&e.push(r._listeners),_=[r]):(e&&e.push.apply(e,r._listeners),_=[r]));else{if("*"===w){for(o=(b=d(r)).length;o-- >0;)"_listeners"!==(h=b[o])&&(v=searchListenerTree(e,t,r[h],n+1,i))&&(_?_.push.apply(_,v):_=v);return _}if("**"===w){for((g=n+1===i||n+2===i&&"*"===I)&&r._listeners&&(_=searchListenerTree(e,t,r,i,i)),o=(b=d(r)).length;o-- >0;)"_listeners"!==(h=b[o])&&("*"===h||"**"===h?(r[h]._listeners&&!g&&(v=searchListenerTree(e,t,r[h],i,i))&&(_?_.push.apply(_,v):_=v),v=searchListenerTree(e,t,r[h],n,i)):v=searchListenerTree(e,t,r[h],h===I?n+2:n,i),v&&(_?_.push.apply(_,v):_=v));return _}r[w]&&(_=searchListenerTree(e,t,r[w],n+1,i))}if((p=r["*"])&&searchListenerTree(e,t,p,n+1,i),m=r["**"])if(n<i)for(m._listeners&&searchListenerTree(e,t,m,i,i),o=(b=d(m)).length;o-- >0;)"_listeners"!==(h=b[o])&&(h===I?searchListenerTree(e,t,m[h],n+2,i):h===w?searchListenerTree(e,t,m[h],n+1,i):((y={})[h]=m[h],searchListenerTree(e,t,{"**":y},n+1,i)));else m._listeners?searchListenerTree(e,t,m,i,i):m["*"]&&m["*"]._listeners&&searchListenerTree(e,t,m["*"],i,i);return _}function growListenerTree(e,t,r){var n,i,a=0,s=0,o=this.delimiter,u=o.length;if("string"==typeof e)if(-1!==(n=e.indexOf(o))){i=new Array(5);do{i[a++]=e.slice(s,n),s=n+u}while(-1!==(n=e.indexOf(o,s)));i[a++]=e.slice(s)}else i=[e],a=1;else i=e,a=e.length;if(a>1)for(n=0;n+1<a;n++)if("**"===i[n]&&"**"===i[n+1])return;var c,l=this.listenerTree;for(n=0;n<a;n++)if(l=l[c=i[n]]||(l[c]={}),n===a-1)return l._listeners?("function"==typeof l._listeners&&(l._listeners=[l._listeners]),r?l._listeners.unshift(t):l._listeners.push(t),!l._listeners.warned&&this._maxListeners>0&&l._listeners.length>this._maxListeners&&(l._listeners.warned=!0,logPossibleMemoryLeak.call(this,l._listeners.length,c))):l._listeners=t,!0;return!0}function collectTreeEvents(e,t,r,n){for(var i,a,s,o,u=d(e),c=u.length,l=e._listeners;c-- >0;)i=e[a=u[c]],s="_listeners"===a?r:r?r.concat(a):[a],o=n||"symbol"==typeof a,l&&t.push(o?s:s.join(this.delimiter)),"object"==typeof i&&collectTreeEvents.call(this,i,t,s,o);return t}function recursivelyGarbageCollect(e){for(var t,r,n,i=d(e),a=i.length;a-- >0;)(t=e[r=i[a]])&&(n=!0,"_listeners"===r||recursivelyGarbageCollect(t)||delete e[r]);return n}function Listener(e,t,r){this.emitter=e,this.event=t,this.listener=r}function setupListener(e,t,r){if(!0===r)a=!0;else if(!1===r)n=!0;else{if(!r||"object"!=typeof r)throw TypeError("options should be an object or true");var n=r.async,a=r.promisify,s=r.nextTick,u=r.objectify}if(n||s||a){var c=t,d=t._origin||t;if(s&&!o)throw Error("process.nextTick is not supported");a===i&&(a="AsyncFunction"===t.constructor.name),t=function(){var e=arguments,t=this,r=this.event;return a?s?Promise.resolve():new Promise((function(e){l(e)})).then((function(){return t.event=r,c.apply(t,e)})):(s?process.nextTick:l)((function(){t.event=r,c.apply(t,e)}))},t._async=!0,t._origin=d}return[t,u?new Listener(this,e,t):this]}function EventEmitter(e){this._events={},this._newListener=!1,this._removeListener=!1,this.verboseMemoryLeak=!1,configure.call(this,e)}Listener.prototype.off=function(){return this.emitter.off(this.event,this.listener),this},EventEmitter.EventEmitter2=EventEmitter,EventEmitter.prototype.listenTo=function(e,t,r){if("object"!=typeof e)throw TypeError("target musts be an object");var n=this;function listen(t){if("object"!=typeof t)throw TypeError("events must be an object");var i,a=r.reducers,s=findTargetIndex.call(n,e);i=-1===s?new TargetObserver(n,e,r):n._observers[s];for(var o,u=d(t),c=u.length,l="function"==typeof a,f=0;f<c;f++)o=u[f],i.subscribe(o,t[o]||o,l?a:a&&a[o])}return r=resolveOptions(r,{on:i,off:i,reducers:i},{on:f,off:f,reducers:h}),s(t)?listen(toObject(t)):listen("string"==typeof t?toObject(t.split(/\s+/)):t),this},EventEmitter.prototype.stopListeningTo=function(e,t){var r=this._observers;if(!r)return!1;var n,i=r.length,a=!1;if(e&&"object"!=typeof e)throw TypeError("target should be an object");for(;i-- >0;)n=r[i],e&&n._target!==e||(n.unsubscribe(t),a=!0);return a},EventEmitter.prototype.delimiter=".",EventEmitter.prototype.setMaxListeners=function(e){e!==i&&(this._maxListeners=e,this._conf||(this._conf={}),this._conf.maxListeners=e)},EventEmitter.prototype.getMaxListeners=function(){return this._maxListeners},EventEmitter.prototype.event="",EventEmitter.prototype.once=function(e,t,r){return this._once(e,t,!1,r)},EventEmitter.prototype.prependOnceListener=function(e,t,r){return this._once(e,t,!0,r)},EventEmitter.prototype._once=function(e,t,r,n){return this._many(e,1,t,r,n)},EventEmitter.prototype.many=function(e,t,r,n){return this._many(e,t,r,!1,n)},EventEmitter.prototype.prependMany=function(e,t,r,n){return this._many(e,t,r,!0,n)},EventEmitter.prototype._many=function(e,t,r,n,i){var a=this;if("function"!=typeof r)throw new Error("many only accepts instances of Function");function listener(){return 0==--t&&a.off(e,listener),r.apply(this,arguments)}return listener._origin=r,this._on(e,listener,n,i)},EventEmitter.prototype.emit=function(){if(!this._events&&!this._all)return!1;this._events||init.call(this);var e,t,r,n,i,a,s=arguments[0],o=this.wildcard;if("newListener"===s&&!this._newListener&&!this._events.newListener)return!1;if(o&&(e=s,"newListener"!==s&&"removeListener"!==s&&"object"==typeof s)){if(r=s.length,u)for(n=0;n<r;n++)if("symbol"==typeof s[n]){a=!0;break}a||(s=s.join(this.delimiter))}var c,l=arguments.length;if(this._all&&this._all.length)for(n=0,r=(c=this._all.slice()).length;n<r;n++)switch(this.event=s,l){case 1:c[n].call(this,s);break;case 2:c[n].call(this,s,arguments[1]);break;case 3:c[n].call(this,s,arguments[1],arguments[2]);break;default:c[n].apply(this,arguments)}if(o)c=[],searchListenerTree.call(this,c,e,this.listenerTree,0,r);else{if("function"==typeof(c=this._events[s])){switch(this.event=s,l){case 1:c.call(this);break;case 2:c.call(this,arguments[1]);break;case 3:c.call(this,arguments[1],arguments[2]);break;default:for(t=new Array(l-1),i=1;i<l;i++)t[i-1]=arguments[i];c.apply(this,t)}return!0}c&&(c=c.slice())}if(c&&c.length){if(l>3)for(t=new Array(l-1),i=1;i<l;i++)t[i-1]=arguments[i];for(n=0,r=c.length;n<r;n++)switch(this.event=s,l){case 1:c[n].call(this);break;case 2:c[n].call(this,arguments[1]);break;case 3:c[n].call(this,arguments[1],arguments[2]);break;default:c[n].apply(this,t)}return!0}if(!this.ignoreErrors&&!this._all&&"error"===s)throw arguments[1]instanceof Error?arguments[1]:new Error("Uncaught, unspecified 'error' event.");return!!this._all},EventEmitter.prototype.emitAsync=function(){if(!this._events&&!this._all)return!1;this._events||init.call(this);var e,t,r,n,i,a,s=arguments[0],o=this.wildcard;if("newListener"===s&&!this._newListener&&!this._events.newListener)return Promise.resolve([!1]);if(o&&(e=s,"newListener"!==s&&"removeListener"!==s&&"object"==typeof s)){if(n=s.length,u)for(i=0;i<n;i++)if("symbol"==typeof s[i]){t=!0;break}t||(s=s.join(this.delimiter))}var c,l=[],d=arguments.length;if(this._all)for(i=0,n=this._all.length;i<n;i++)switch(this.event=s,d){case 1:l.push(this._all[i].call(this,s));break;case 2:l.push(this._all[i].call(this,s,arguments[1]));break;case 3:l.push(this._all[i].call(this,s,arguments[1],arguments[2]));break;default:l.push(this._all[i].apply(this,arguments))}if(o?(c=[],searchListenerTree.call(this,c,e,this.listenerTree,0)):c=this._events[s],"function"==typeof c)switch(this.event=s,d){case 1:l.push(c.call(this));break;case 2:l.push(c.call(this,arguments[1]));break;case 3:l.push(c.call(this,arguments[1],arguments[2]));break;default:for(r=new Array(d-1),a=1;a<d;a++)r[a-1]=arguments[a];l.push(c.apply(this,r))}else if(c&&c.length){if(c=c.slice(),d>3)for(r=new Array(d-1),a=1;a<d;a++)r[a-1]=arguments[a];for(i=0,n=c.length;i<n;i++)switch(this.event=s,d){case 1:l.push(c[i].call(this));break;case 2:l.push(c[i].call(this,arguments[1]));break;case 3:l.push(c[i].call(this,arguments[1],arguments[2]));break;default:l.push(c[i].apply(this,r))}}else if(!this.ignoreErrors&&!this._all&&"error"===s)return arguments[1]instanceof Error?Promise.reject(arguments[1]):Promise.reject("Uncaught, unspecified 'error' event.");return Promise.all(l)},EventEmitter.prototype.on=function(e,t,r){return this._on(e,t,!1,r)},EventEmitter.prototype.prependListener=function(e,t,r){return this._on(e,t,!0,r)},EventEmitter.prototype.onAny=function(e){return this._onAny(e,!1)},EventEmitter.prototype.prependAny=function(e){return this._onAny(e,!0)},EventEmitter.prototype.addListener=EventEmitter.prototype.on,EventEmitter.prototype._onAny=function(e,t){if("function"!=typeof e)throw new Error("onAny only accepts instances of Function");return this._all||(this._all=[]),t?this._all.unshift(e):this._all.push(e),this},EventEmitter.prototype._on=function(e,t,r,n){if("function"==typeof e)return this._onAny(e,t),this;if("function"!=typeof t)throw new Error("on only accepts instances of Function");this._events||init.call(this);var a,s=this;return n!==i&&(t=(a=setupListener.call(this,e,t,n))[0],s=a[1]),this._newListener&&this.emit("newListener",e,t),this.wildcard?(growListenerTree.call(this,e,t,r),s):(this._events[e]?("function"==typeof this._events[e]&&(this._events[e]=[this._events[e]]),r?this._events[e].unshift(t):this._events[e].push(t),!this._events[e].warned&&this._maxListeners>0&&this._events[e].length>this._maxListeners&&(this._events[e].warned=!0,logPossibleMemoryLeak.call(this,this._events[e].length,e))):this._events[e]=t,s)},EventEmitter.prototype.off=function(e,t){if("function"!=typeof t)throw new Error("removeListener only takes instances of Function");var r,n=[];if(this.wildcard){var i="string"==typeof e?e.split(this.delimiter):e.slice();if(!(n=searchListenerTree.call(this,null,i,this.listenerTree,0)))return this}else{if(!this._events[e])return this;r=this._events[e],n.push({_listeners:r})}for(var a=0;a<n.length;a++){var o=n[a];if(r=o._listeners,s(r)){for(var u=-1,c=0,l=r.length;c<l;c++)if(r[c]===t||r[c].listener&&r[c].listener===t||r[c]._origin&&r[c]._origin===t){u=c;break}if(u<0)continue;return this.wildcard?o._listeners.splice(u,1):this._events[e].splice(u,1),0===r.length&&(this.wildcard?delete o._listeners:delete this._events[e]),this._removeListener&&this.emit("removeListener",e,t),this}(r===t||r.listener&&r.listener===t||r._origin&&r._origin===t)&&(this.wildcard?delete o._listeners:delete this._events[e],this._removeListener&&this.emit("removeListener",e,t))}return this.listenerTree&&recursivelyGarbageCollect(this.listenerTree),this},EventEmitter.prototype.offAny=function(e){var t,r=0,n=0;if(e&&this._all&&this._all.length>0){for(r=0,n=(t=this._all).length;r<n;r++)if(e===t[r])return t.splice(r,1),this._removeListener&&this.emit("removeListenerAny",e),this}else{if(t=this._all,this._removeListener)for(r=0,n=t.length;r<n;r++)this.emit("removeListenerAny",t[r]);this._all=[]}return this},EventEmitter.prototype.removeListener=EventEmitter.prototype.off,EventEmitter.prototype.removeAllListeners=function(e){if(e===i)return!this._events||init.call(this),this;if(this.wildcard){var t,r=searchListenerTree.call(this,null,e,this.listenerTree,0);if(!r)return this;for(t=0;t<r.length;t++)r[t]._listeners=null;this.listenerTree&&recursivelyGarbageCollect(this.listenerTree)}else this._events&&(this._events[e]=null);return this},EventEmitter.prototype.listeners=function(e){var t,r,n,a,s,o=this._events;if(e===i){if(this.wildcard)throw Error("event name required for wildcard emitter");if(!o)return[];for(a=(t=d(o)).length,n=[];a-- >0;)"function"==typeof(r=o[t[a]])?n.push(r):n.push.apply(n,r);return n}if(this.wildcard){if(!(s=this.listenerTree))return[];var u=[],c="string"==typeof e?e.split(this.delimiter):e.slice();return searchListenerTree.call(this,u,c,s,0),u}return o&&(r=o[e])?"function"==typeof r?[r]:r:[]},EventEmitter.prototype.eventNames=function(e){var t=this._events;return this.wildcard?collectTreeEvents.call(this,this.listenerTree,[],null,e):t?d(t):[]},EventEmitter.prototype.listenerCount=function(e){return this.listeners(e).length},EventEmitter.prototype.hasListeners=function(e){if(this.wildcard){var t=[],r="string"==typeof e?e.split(this.delimiter):e.slice();return searchListenerTree.call(this,t,r,this.listenerTree,0),t.length>0}var n=this._events,a=this._all;return!!(a&&a.length||n&&(e===i?d(n).length:n[e]))},EventEmitter.prototype.listenersAny=function(){return this._all?this._all:[]},EventEmitter.prototype.waitFor=function(e,t){var r=this,n=typeof t;return"number"===n?t={timeout:t}:"function"===n&&(t={filter:t}),makeCancelablePromise((t=resolveOptions(t,{timeout:0,filter:i,handleError:!1,Promise,overload:!1},{filter:f,Promise:constructorReducer})).Promise,(function(n,i,a){function listener(){var a=t.filter;if(!a||a.apply(r,arguments))if(r.off(e,listener),t.handleError){var s=arguments[0];s?i(s):n(toArray.apply(null,arguments).slice(1))}else n(toArray.apply(null,arguments))}a((function(){r.off(e,listener)})),r._on(e,listener,!1)}),{timeout:t.timeout,overload:t.overload})};var p=EventEmitter.prototype;Object.defineProperties(EventEmitter,{defaultMaxListeners:{get:function(){return p._maxListeners},set:function(e){if("number"!=typeof e||e<0||Number.isNaN(e))throw TypeError("n must be a non-negative number");p._maxListeners=e},enumerable:!0},once:{value:function once(e,t,r){return makeCancelablePromise((r=resolveOptions(r,{Promise,timeout:0,overload:!1},{Promise:constructorReducer})).Promise,(function(r,n,i){var a;if("function"==typeof e.addEventListener)return a=function(){r(toArray.apply(null,arguments))},i((function(){e.removeEventListener(t,a)})),void e.addEventListener(t,a,{once:!0});var s,eventListener=function(){s&&e.removeListener("error",s),r(toArray.apply(null,arguments))};"error"!==t&&(s=function(r){e.removeListener(t,eventListener),n(r)},e.once("error",s)),i((function(){s&&e.removeListener("error",s),e.removeListener(t,eventListener)})),e.once(t,eventListener)}),{timeout:r.timeout,overload:r.overload})},writable:!0,configurable:!0}}),Object.defineProperties(p,{_maxListeners:{value:10,writable:!0,configurable:!0},_observers:{value:null,writable:!0,configurable:!0}}),(n=function(){return EventEmitter}.call(t,r,t,e))===i||(e.exports=n)}()},4530:(e,t)=>{function serializer(e,t){var r=[],n=[];return null==t&&(t=function(e,t){return r[0]===t?"[Circular ~]":"[Circular ~."+n.slice(0,r.indexOf(t)).join(".")+"]"}),function(i,a){if(r.length>0){var s=r.indexOf(this);~s?r.splice(s+1):r.push(this),~s?n.splice(s,1/0,i):n.push(i),~r.indexOf(a)&&(a=t.call(this,i,a))}else r.push(a);return null==e?a:e.call(this,i,a)}}(e.exports=function stringify(e,t,r,n){return JSON.stringify(e,serializer(t,n),r)}).getSerialize=serializer},6486:function(e,t,r){var n;e=r.nmd(e),function(){var i,a="Expected a function",s="__lodash_hash_undefined__",o="__lodash_placeholder__",u=16,c=32,l=64,d=128,f=256,h=1/0,p=9007199254740991,m=NaN,y=4294967295,g=[["ary",d],["bind",1],["bindKey",2],["curry",8],["curryRight",u],["flip",512],["partial",c],["partialRight",l],["rearg",f]],b="[object Arguments]",v="[object Array]",_="[object Boolean]",w="[object Date]",I="[object Error]",O="[object Function]",R="[object GeneratorFunction]",S="[object Map]",A="[object Number]",C="[object Object]",T="[object Promise]",E="[object RegExp]",L="[object Set]",P="[object String]",j="[object Symbol]",q="[object WeakMap]",x="[object ArrayBuffer]",k="[object DataView]",M="[object Float32Array]",D="[object Float64Array]",F="[object Int8Array]",N="[object Int16Array]",z="[object Int32Array]",V="[object Uint8Array]",U="[object Uint8ClampedArray]",W="[object Uint16Array]",$="[object Uint32Array]",B=/\b__p \+= '';/g,Z=/\b(__p \+=) '' \+/g,G=/(__e\(.*?\)|\b__t\)) \+\n'';/g,H=/&(?:amp|lt|gt|quot|#39);/g,K=/[&<>"']/g,Y=RegExp(H.source),Q=RegExp(K.source),J=/<%-([\s\S]+?)%>/g,X=/<%([\s\S]+?)%>/g,ee=/<%=([\s\S]+?)%>/g,te=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,re=/^\w*$/,ne=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ie=/[\\^$.*+?()[\]{}|]/g,ae=RegExp(ie.source),se=/^\s+/,oe=/\s/,ue=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,ce=/\{\n\/\* \[wrapped with (.+)\] \*/,le=/,? & /,de=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,fe=/[()=,{}\[\]\/\s]/,he=/\\(\\)?/g,pe=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,me=/\w*$/,ye=/^[-+]0x[0-9a-f]+$/i,ge=/^0b[01]+$/i,be=/^\[object .+?Constructor\]$/,ve=/^0o[0-7]+$/i,_e=/^(?:0|[1-9]\d*)$/,we=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Ie=/($^)/,Oe=/['\n\r\u2028\u2029\\]/g,Re="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Se="\\u2700-\\u27bf",Ae="a-z\\xdf-\\xf6\\xf8-\\xff",Ce="A-Z\\xc0-\\xd6\\xd8-\\xde",Te="\\ufe0e\\ufe0f",Ee="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Le="['’]",Pe="[\\ud800-\\udfff]",je="["+Ee+"]",qe="["+Re+"]",xe="\\d+",ke="[\\u2700-\\u27bf]",Me="["+Ae+"]",De="[^\\ud800-\\udfff"+Ee+xe+Se+Ae+Ce+"]",Fe="\\ud83c[\\udffb-\\udfff]",Ne="[^\\ud800-\\udfff]",ze="(?:\\ud83c[\\udde6-\\uddff]){2}",Ve="[\\ud800-\\udbff][\\udc00-\\udfff]",Ue="["+Ce+"]",We="(?:"+Me+"|"+De+")",$e="(?:"+Ue+"|"+De+")",Be="(?:['’](?:d|ll|m|re|s|t|ve))?",Ze="(?:['’](?:D|LL|M|RE|S|T|VE))?",Ge="(?:"+qe+"|"+Fe+")"+"?",He="[\\ufe0e\\ufe0f]?",Ke=He+Ge+("(?:\\u200d(?:"+[Ne,ze,Ve].join("|")+")"+He+Ge+")*"),Ye="(?:"+[ke,ze,Ve].join("|")+")"+Ke,Qe="(?:"+[Ne+qe+"?",qe,ze,Ve,Pe].join("|")+")",Je=RegExp(Le,"g"),Xe=RegExp(qe,"g"),et=RegExp(Fe+"(?="+Fe+")|"+Qe+Ke,"g"),tt=RegExp([Ue+"?"+Me+"+"+Be+"(?="+[je,Ue,"$"].join("|")+")",$e+"+"+Ze+"(?="+[je,Ue+We,"$"].join("|")+")",Ue+"?"+We+"+"+Be,Ue+"+"+Ze,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",xe,Ye].join("|"),"g"),rt=RegExp("[\\u200d\\ud800-\\udfff"+Re+Te+"]"),nt=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,it=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],at=-1,st={};st[M]=st[D]=st[F]=st[N]=st[z]=st[V]=st[U]=st[W]=st[$]=!0,st[b]=st[v]=st[x]=st[_]=st[k]=st[w]=st[I]=st[O]=st[S]=st[A]=st[C]=st[E]=st[L]=st[P]=st[q]=!1;var ot={};ot[b]=ot[v]=ot[x]=ot[k]=ot[_]=ot[w]=ot[M]=ot[D]=ot[F]=ot[N]=ot[z]=ot[S]=ot[A]=ot[C]=ot[E]=ot[L]=ot[P]=ot[j]=ot[V]=ot[U]=ot[W]=ot[$]=!0,ot[I]=ot[O]=ot[q]=!1;var ut={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},ct=parseFloat,lt=parseInt,dt="object"==typeof global&&global&&global.Object===Object&&global,ft="object"==typeof self&&self&&self.Object===Object&&self,ht=dt||ft||Function("return this")(),pt=t&&!t.nodeType&&t,mt=pt&&e&&!e.nodeType&&e,yt=mt&&mt.exports===pt,gt=yt&&dt.process,bt=function(){try{var e=mt&&mt.require&&mt.require("util").types;return e||gt&>.binding&>.binding("util")}catch(e){}}(),vt=bt&&bt.isArrayBuffer,_t=bt&&bt.isDate,wt=bt&&bt.isMap,It=bt&&bt.isRegExp,Ot=bt&&bt.isSet,Rt=bt&&bt.isTypedArray;function apply(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}function arrayAggregator(e,t,r,n){for(var i=-1,a=null==e?0:e.length;++i<a;){var s=e[i];t(n,s,r(s),e)}return n}function arrayEach(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e}function arrayEachRight(e,t){for(var r=null==e?0:e.length;r--&&!1!==t(e[r],r,e););return e}function arrayEvery(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(!t(e[r],r,e))return!1;return!0}function arrayFilter(e,t){for(var r=-1,n=null==e?0:e.length,i=0,a=[];++r<n;){var s=e[r];t(s,r,e)&&(a[i++]=s)}return a}function arrayIncludes(e,t){return!!(null==e?0:e.length)&&baseIndexOf(e,t,0)>-1}function arrayIncludesWith(e,t,r){for(var n=-1,i=null==e?0:e.length;++n<i;)if(r(t,e[n]))return!0;return!1}function arrayMap(e,t){for(var r=-1,n=null==e?0:e.length,i=Array(n);++r<n;)i[r]=t(e[r],r,e);return i}function arrayPush(e,t){for(var r=-1,n=t.length,i=e.length;++r<n;)e[i+r]=t[r];return e}function arrayReduce(e,t,r,n){var i=-1,a=null==e?0:e.length;for(n&&a&&(r=e[++i]);++i<a;)r=t(r,e[i],i,e);return r}function arrayReduceRight(e,t,r,n){var i=null==e?0:e.length;for(n&&i&&(r=e[--i]);i--;)r=t(r,e[i],i,e);return r}function arraySome(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}var St=baseProperty("length");function baseFindKey(e,t,r){var n;return r(e,(function(e,r,i){if(t(e,r,i))return n=r,!1})),n}function baseFindIndex(e,t,r,n){for(var i=e.length,a=r+(n?1:-1);n?a--:++a<i;)if(t(e[a],a,e))return a;return-1}function baseIndexOf(e,t,r){return t==t?function strictIndexOf(e,t,r){var n=r-1,i=e.length;for(;++n<i;)if(e[n]===t)return n;return-1}(e,t,r):baseFindIndex(e,baseIsNaN,r)}function baseIndexOfWith(e,t,r,n){for(var i=r-1,a=e.length;++i<a;)if(n(e[i],t))return i;return-1}function baseIsNaN(e){return e!=e}function baseMean(e,t){var r=null==e?0:e.length;return r?baseSum(e,t)/r:m}function baseProperty(e){return function(t){return null==t?i:t[e]}}function basePropertyOf(e){return function(t){return null==e?i:e[t]}}function baseReduce(e,t,r,n,i){return i(e,(function(e,i,a){r=n?(n=!1,e):t(r,e,i,a)})),r}function baseSum(e,t){for(var r,n=-1,a=e.length;++n<a;){var s=t(e[n]);s!==i&&(r=r===i?s:r+s)}return r}function baseTimes(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}function baseTrim(e){return e?e.slice(0,trimmedEndIndex(e)+1).replace(se,""):e}function baseUnary(e){return function(t){return e(t)}}function baseValues(e,t){return arrayMap(t,(function(t){return e[t]}))}function cacheHas(e,t){return e.has(t)}function charsStartIndex(e,t){for(var r=-1,n=e.length;++r<n&&baseIndexOf(t,e[r],0)>-1;);return r}function charsEndIndex(e,t){for(var r=e.length;r--&&baseIndexOf(t,e[r],0)>-1;);return r}function countHolders(e,t){for(var r=e.length,n=0;r--;)e[r]===t&&++n;return n}var At=basePropertyOf({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"}),Ct=basePropertyOf({"&":"&","<":"<",">":">",'"':""","'":"'"});function escapeStringChar(e){return"\\"+ut[e]}function hasUnicode(e){return rt.test(e)}function mapToArray(e){var t=-1,r=Array(e.size);return e.forEach((function(e,n){r[++t]=[n,e]})),r}function overArg(e,t){return function(r){return e(t(r))}}function replaceHolders(e,t){for(var r=-1,n=e.length,i=0,a=[];++r<n;){var s=e[r];s!==t&&s!==o||(e[r]=o,a[i++]=r)}return a}function setToArray(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r}function setToPairs(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=[e,e]})),r}function stringSize(e){return hasUnicode(e)?function unicodeSize(e){var t=et.lastIndex=0;for(;et.test(e);)++t;return t}(e):St(e)}function stringToArray(e){return hasUnicode(e)?function unicodeToArray(e){return e.match(et)||[]}(e):function asciiToArray(e){return e.split("")}(e)}function trimmedEndIndex(e){for(var t=e.length;t--&&oe.test(e.charAt(t)););return t}var Tt=basePropertyOf({"&":"&","<":"<",">":">",""":'"',"'":"'"});var Et=function runInContext(e){var t,r=(e=null==e?ht:Et.defaults(ht.Object(),e,Et.pick(ht,it))).Array,n=e.Date,oe=e.Error,Re=e.Function,Se=e.Math,Ae=e.Object,Ce=e.RegExp,Te=e.String,Ee=e.TypeError,Le=r.prototype,Pe=Re.prototype,je=Ae.prototype,qe=e["__core-js_shared__"],xe=Pe.toString,ke=je.hasOwnProperty,Me=0,De=(t=/[^.]+$/.exec(qe&&qe.keys&&qe.keys.IE_PROTO||""))?"Symbol(src)_1."+t:"",Fe=je.toString,Ne=xe.call(Ae),ze=ht._,Ve=Ce("^"+xe.call(ke).replace(ie,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ue=yt?e.Buffer:i,We=e.Symbol,$e=e.Uint8Array,Be=Ue?Ue.allocUnsafe:i,Ze=overArg(Ae.getPrototypeOf,Ae),Ge=Ae.create,He=je.propertyIsEnumerable,Ke=Le.splice,Ye=We?We.isConcatSpreadable:i,Qe=We?We.iterator:i,et=We?We.toStringTag:i,rt=function(){try{var e=getNative(Ae,"defineProperty");return e({},"",{}),e}catch(e){}}(),ut=e.clearTimeout!==ht.clearTimeout&&e.clearTimeout,dt=n&&n.now!==ht.Date.now&&n.now,ft=e.setTimeout!==ht.setTimeout&&e.setTimeout,pt=Se.ceil,mt=Se.floor,gt=Ae.getOwnPropertySymbols,bt=Ue?Ue.isBuffer:i,St=e.isFinite,Lt=Le.join,Pt=overArg(Ae.keys,Ae),jt=Se.max,qt=Se.min,xt=n.now,kt=e.parseInt,Mt=Se.random,Dt=Le.reverse,Ft=getNative(e,"DataView"),Nt=getNative(e,"Map"),zt=getNative(e,"Promise"),Vt=getNative(e,"Set"),Ut=getNative(e,"WeakMap"),Wt=getNative(Ae,"create"),$t=Ut&&new Ut,Bt={},Zt=toSource(Ft),Gt=toSource(Nt),Ht=toSource(zt),Kt=toSource(Vt),Yt=toSource(Ut),Qt=We?We.prototype:i,Jt=Qt?Qt.valueOf:i,Xt=Qt?Qt.toString:i;function lodash(e){if(isObjectLike(e)&&!nn(e)&&!(e instanceof LazyWrapper)){if(e instanceof LodashWrapper)return e;if(ke.call(e,"__wrapped__"))return wrapperClone(e)}return new LodashWrapper(e)}var er=function(){function object(){}return function(e){if(!isObject(e))return{};if(Ge)return Ge(e);object.prototype=e;var t=new object;return object.prototype=i,t}}();function baseLodash(){}function LodashWrapper(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=i}function LazyWrapper(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=y,this.__views__=[]}function Hash(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function ListCache(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function MapCache(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function SetCache(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new MapCache;++t<r;)this.add(e[t])}function Stack(e){var t=this.__data__=new ListCache(e);this.size=t.size}function arrayLikeKeys(e,t){var r=nn(e),n=!r&&rn(e),i=!r&&!n&&sn(e),a=!r&&!n&&!i&&dn(e),s=r||n||i||a,o=s?baseTimes(e.length,Te):[],u=o.length;for(var c in e)!t&&!ke.call(e,c)||s&&("length"==c||i&&("offset"==c||"parent"==c)||a&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||isIndex(c,u))||o.push(c);return o}function arraySample(e){var t=e.length;return t?e[baseRandom(0,t-1)]:i}function arraySampleSize(e,t){return shuffleSelf(copyArray(e),baseClamp(t,0,e.length))}function arrayShuffle(e){return shuffleSelf(copyArray(e))}function assignMergeValue(e,t,r){(r!==i&&!eq(e[t],r)||r===i&&!(t in e))&&baseAssignValue(e,t,r)}function assignValue(e,t,r){var n=e[t];ke.call(e,t)&&eq(n,r)&&(r!==i||t in e)||baseAssignValue(e,t,r)}function assocIndexOf(e,t){for(var r=e.length;r--;)if(eq(e[r][0],t))return r;return-1}function baseAggregator(e,t,r,n){return tr(e,(function(e,i,a){t(n,e,r(e),a)})),n}function baseAssign(e,t){return e&©Object(t,keys(t),e)}function baseAssignValue(e,t,r){"__proto__"==t&&rt?rt(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}function baseAt(e,t){for(var n=-1,a=t.length,s=r(a),o=null==e;++n<a;)s[n]=o?i:get(e,t[n]);return s}function baseClamp(e,t,r){return e==e&&(r!==i&&(e=e<=r?e:r),t!==i&&(e=e>=t?e:t)),e}function baseClone(e,t,r,n,a,s){var o,u=1&t,c=2&t,l=4&t;if(r&&(o=a?r(e,n,a,s):r(e)),o!==i)return o;if(!isObject(e))return e;var d=nn(e);if(d){if(o=function initCloneArray(e){var t=e.length,r=new e.constructor(t);t&&"string"==typeof e[0]&&ke.call(e,"index")&&(r.index=e.index,r.input=e.input);return r}(e),!u)return copyArray(e,o)}else{var f=hr(e),h=f==O||f==R;if(sn(e))return cloneBuffer(e,u);if(f==C||f==b||h&&!a){if(o=c||h?{}:initCloneObject(e),!u)return c?function copySymbolsIn(e,t){return copyObject(e,fr(e),t)}(e,function baseAssignIn(e,t){return e&©Object(t,keysIn(t),e)}(o,e)):function copySymbols(e,t){return copyObject(e,dr(e),t)}(e,baseAssign(o,e))}else{if(!ot[f])return a?e:{};o=function initCloneByTag(e,t,r){var n=e.constructor;switch(t){case x:return cloneArrayBuffer(e);case _:case w:return new n(+e);case k:return function cloneDataView(e,t){var r=t?cloneArrayBuffer(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}(e,r);case M:case D:case F:case N:case z:case V:case U:case W:case $:return cloneTypedArray(e,r);case S:return new n;case A:case P:return new n(e);case E:return function cloneRegExp(e){var t=new e.constructor(e.source,me.exec(e));return t.lastIndex=e.lastIndex,t}(e);case L:return new n;case j:return function cloneSymbol(e){return Jt?Ae(Jt.call(e)):{}}(e)}}(e,f,u)}}s||(s=new Stack);var p=s.get(e);if(p)return p;s.set(e,o),ln(e)?e.forEach((function(n){o.add(baseClone(n,t,r,n,e,s))})):un(e)&&e.forEach((function(n,i){o.set(i,baseClone(n,t,r,i,e,s))}));var m=d?i:(l?c?getAllKeysIn:getAllKeys:c?keysIn:keys)(e);return arrayEach(m||e,(function(n,i){m&&(n=e[i=n]),assignValue(o,i,baseClone(n,t,r,i,e,s))})),o}function baseConformsTo(e,t,r){var n=r.length;if(null==e)return!n;for(e=Ae(e);n--;){var a=r[n],s=t[a],o=e[a];if(o===i&&!(a in e)||!s(o))return!1}return!0}function baseDelay(e,t,r){if("function"!=typeof e)throw new Ee(a);return yr((function(){e.apply(i,r)}),t)}function baseDifference(e,t,r,n){var i=-1,a=arrayIncludes,s=!0,o=e.length,u=[],c=t.length;if(!o)return u;r&&(t=arrayMap(t,baseUnary(r))),n?(a=arrayIncludesWith,s=!1):t.length>=200&&(a=cacheHas,s=!1,t=new SetCache(t));e:for(;++i<o;){var l=e[i],d=null==r?l:r(l);if(l=n||0!==l?l:0,s&&d==d){for(var f=c;f--;)if(t[f]===d)continue e;u.push(l)}else a(t,d,n)||u.push(l)}return u}lodash.templateSettings={escape:J,evaluate:X,interpolate:ee,variable:"",imports:{_:lodash}},lodash.prototype=baseLodash.prototype,lodash.prototype.constructor=lodash,LodashWrapper.prototype=er(baseLodash.prototype),LodashWrapper.prototype.constructor=LodashWrapper,LazyWrapper.prototype=er(baseLodash.prototype),LazyWrapper.prototype.constructor=LazyWrapper,Hash.prototype.clear=function hashClear(){this.__data__=Wt?Wt(null):{},this.size=0},Hash.prototype.delete=function hashDelete(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},Hash.prototype.get=function hashGet(e){var t=this.__data__;if(Wt){var r=t[e];return r===s?i:r}return ke.call(t,e)?t[e]:i},Hash.prototype.has=function hashHas(e){var t=this.__data__;return Wt?t[e]!==i:ke.call(t,e)},Hash.prototype.set=function hashSet(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Wt&&t===i?s:t,this},ListCache.prototype.clear=function listCacheClear(){this.__data__=[],this.size=0},ListCache.prototype.delete=function listCacheDelete(e){var t=this.__data__,r=assocIndexOf(t,e);return!(r<0)&&(r==t.length-1?t.pop():Ke.call(t,r,1),--this.size,!0)},ListCache.prototype.get=function listCacheGet(e){var t=this.__data__,r=assocIndexOf(t,e);return r<0?i:t[r][1]},ListCache.prototype.has=function listCacheHas(e){return assocIndexOf(this.__data__,e)>-1},ListCache.prototype.set=function listCacheSet(e,t){var r=this.__data__,n=assocIndexOf(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this},MapCache.prototype.clear=function mapCacheClear(){this.size=0,this.__data__={hash:new Hash,map:new(Nt||ListCache),string:new Hash}},MapCache.prototype.delete=function mapCacheDelete(e){var t=getMapData(this,e).delete(e);return this.size-=t?1:0,t},MapCache.prototype.get=function mapCacheGet(e){return getMapData(this,e).get(e)},MapCache.prototype.has=function mapCacheHas(e){return getMapData(this,e).has(e)},MapCache.prototype.set=function mapCacheSet(e,t){var r=getMapData(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this},SetCache.prototype.add=SetCache.prototype.push=function setCacheAdd(e){return this.__data__.set(e,s),this},SetCache.prototype.has=function setCacheHas(e){return this.__data__.has(e)},Stack.prototype.clear=function stackClear(){this.__data__=new ListCache,this.size=0},Stack.prototype.delete=function stackDelete(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r},Stack.prototype.get=function stackGet(e){return this.__data__.get(e)},Stack.prototype.has=function stackHas(e){return this.__data__.has(e)},Stack.prototype.set=function stackSet(e,t){var r=this.__data__;if(r instanceof ListCache){var n=r.__data__;if(!Nt||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new MapCache(n)}return r.set(e,t),this.size=r.size,this};var tr=createBaseEach(baseForOwn),rr=createBaseEach(baseForOwnRight,!0);function baseEvery(e,t){var r=!0;return tr(e,(function(e,n,i){return r=!!t(e,n,i)})),r}function baseExtremum(e,t,r){for(var n=-1,a=e.length;++n<a;){var s=e[n],o=t(s);if(null!=o&&(u===i?o==o&&!isSymbol(o):r(o,u)))var u=o,c=s}return c}function baseFilter(e,t){var r=[];return tr(e,(function(e,n,i){t(e,n,i)&&r.push(e)})),r}function baseFlatten(e,t,r,n,i){var a=-1,s=e.length;for(r||(r=isFlattenable),i||(i=[]);++a<s;){var o=e[a];t>0&&r(o)?t>1?baseFlatten(o,t-1,r,n,i):arrayPush(i,o):n||(i[i.length]=o)}return i}var nr=createBaseFor(),ir=createBaseFor(!0);function baseForOwn(e,t){return e&&nr(e,t,keys)}function baseForOwnRight(e,t){return e&&ir(e,t,keys)}function baseFunctions(e,t){return arrayFilter(t,(function(t){return isFunction(e[t])}))}function baseGet(e,t){for(var r=0,n=(t=castPath(t,e)).length;null!=e&&r<n;)e=e[toKey(t[r++])];return r&&r==n?e:i}function baseGetAllKeys(e,t,r){var n=t(e);return nn(e)?n:arrayPush(n,r(e))}function baseGetTag(e){return null==e?e===i?"[object Undefined]":"[object Null]":et&&et in Ae(e)?function getRawTag(e){var t=ke.call(e,et),r=e[et];try{e[et]=i;var n=!0}catch(e){}var a=Fe.call(e);n&&(t?e[et]=r:delete e[et]);return a}(e):function objectToString(e){return Fe.call(e)}(e)}function baseGt(e,t){return e>t}function baseHas(e,t){return null!=e&&ke.call(e,t)}function baseHasIn(e,t){return null!=e&&t in Ae(e)}function baseIntersection(e,t,n){for(var a=n?arrayIncludesWith:arrayIncludes,s=e[0].length,o=e.length,u=o,c=r(o),l=1/0,d=[];u--;){var f=e[u];u&&t&&(f=arrayMap(f,baseUnary(t))),l=qt(f.length,l),c[u]=!n&&(t||s>=120&&f.length>=120)?new SetCache(u&&f):i}f=e[0];var h=-1,p=c[0];e:for(;++h<s&&d.length<l;){var m=f[h],y=t?t(m):m;if(m=n||0!==m?m:0,!(p?cacheHas(p,y):a(d,y,n))){for(u=o;--u;){var g=c[u];if(!(g?cacheHas(g,y):a(e[u],y,n)))continue e}p&&p.push(y),d.push(m)}}return d}function baseInvoke(e,t,r){var n=null==(e=parent(e,t=castPath(t,e)))?e:e[toKey(last(t))];return null==n?i:apply(n,e,r)}function baseIsArguments(e){return isObjectLike(e)&&baseGetTag(e)==b}function baseIsEqual(e,t,r,n,a){return e===t||(null==e||null==t||!isObjectLike(e)&&!isObjectLike(t)?e!=e&&t!=t:function baseIsEqualDeep(e,t,r,n,a,s){var o=nn(e),u=nn(t),c=o?v:hr(e),l=u?v:hr(t),d=(c=c==b?C:c)==C,f=(l=l==b?C:l)==C,h=c==l;if(h&&sn(e)){if(!sn(t))return!1;o=!0,d=!1}if(h&&!d)return s||(s=new Stack),o||dn(e)?equalArrays(e,t,r,n,a,s):function equalByTag(e,t,r,n,i,a,s){switch(r){case k:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case x:return!(e.byteLength!=t.byteLength||!a(new $e(e),new $e(t)));case _:case w:case A:return eq(+e,+t);case I:return e.name==t.name&&e.message==t.message;case E:case P:return e==t+"";case S:var o=mapToArray;case L:var u=1&n;if(o||(o=setToArray),e.size!=t.size&&!u)return!1;var c=s.get(e);if(c)return c==t;n|=2,s.set(e,t);var l=equalArrays(o(e),o(t),n,i,a,s);return s.delete(e),l;case j:if(Jt)return Jt.call(e)==Jt.call(t)}return!1}(e,t,c,r,n,a,s);if(!(1&r)){var p=d&&ke.call(e,"__wrapped__"),m=f&&ke.call(t,"__wrapped__");if(p||m){var y=p?e.value():e,g=m?t.value():t;return s||(s=new Stack),a(y,g,r,n,s)}}if(!h)return!1;return s||(s=new Stack),function equalObjects(e,t,r,n,a,s){var o=1&r,u=getAllKeys(e),c=u.length,l=getAllKeys(t).length;if(c!=l&&!o)return!1;var d=c;for(;d--;){var f=u[d];if(!(o?f in t:ke.call(t,f)))return!1}var h=s.get(e),p=s.get(t);if(h&&p)return h==t&&p==e;var m=!0;s.set(e,t),s.set(t,e);var y=o;for(;++d<c;){var g=e[f=u[d]],b=t[f];if(n)var v=o?n(b,g,f,t,e,s):n(g,b,f,e,t,s);if(!(v===i?g===b||a(g,b,r,n,s):v)){m=!1;break}y||(y="constructor"==f)}if(m&&!y){var _=e.constructor,w=t.constructor;_==w||!("constructor"in e)||!("constructor"in t)||"function"==typeof _&&_ instanceof _&&"function"==typeof w&&w instanceof w||(m=!1)}return s.delete(e),s.delete(t),m}(e,t,r,n,a,s)}(e,t,r,n,baseIsEqual,a))}function baseIsMatch(e,t,r,n){var a=r.length,s=a,o=!n;if(null==e)return!s;for(e=Ae(e);a--;){var u=r[a];if(o&&u[2]?u[1]!==e[u[0]]:!(u[0]in e))return!1}for(;++a<s;){var c=(u=r[a])[0],l=e[c],d=u[1];if(o&&u[2]){if(l===i&&!(c in e))return!1}else{var f=new Stack;if(n)var h=n(l,d,c,e,t,f);if(!(h===i?baseIsEqual(d,l,3,n,f):h))return!1}}return!0}function baseIsNative(e){return!(!isObject(e)||function isMasked(e){return!!De&&De in e}(e))&&(isFunction(e)?Ve:be).test(toSource(e))}function baseIteratee(e){return"function"==typeof e?e:null==e?identity:"object"==typeof e?nn(e)?baseMatchesProperty(e[0],e[1]):baseMatches(e):property(e)}function baseKeys(e){if(!isPrototype(e))return Pt(e);var t=[];for(var r in Ae(e))ke.call(e,r)&&"constructor"!=r&&t.push(r);return t}function baseKeysIn(e){if(!isObject(e))return function nativeKeysIn(e){var t=[];if(null!=e)for(var r in Ae(e))t.push(r);return t}(e);var t=isPrototype(e),r=[];for(var n in e)("constructor"!=n||!t&&ke.call(e,n))&&r.push(n);return r}function baseLt(e,t){return e<t}function baseMap(e,t){var n=-1,i=isArrayLike(e)?r(e.length):[];return tr(e,(function(e,r,a){i[++n]=t(e,r,a)})),i}function baseMatches(e){var t=getMatchData(e);return 1==t.length&&t[0][2]?matchesStrictComparable(t[0][0],t[0][1]):function(r){return r===e||baseIsMatch(r,e,t)}}function baseMatchesProperty(e,t){return isKey(e)&&isStrictComparable(t)?matchesStrictComparable(toKey(e),t):function(r){var n=get(r,e);return n===i&&n===t?hasIn(r,e):baseIsEqual(t,n,3)}}function baseMerge(e,t,r,n,a){e!==t&&nr(t,(function(s,o){if(a||(a=new Stack),isObject(s))!function baseMergeDeep(e,t,r,n,a,s,o){var u=safeGet(e,r),c=safeGet(t,r),l=o.get(c);if(l)return void assignMergeValue(e,r,l);var d=s?s(u,c,r+"",e,t,o):i,f=d===i;if(f){var h=nn(c),p=!h&&sn(c),m=!h&&!p&&dn(c);d=c,h||p||m?nn(u)?d=u:isArrayLikeObject(u)?d=copyArray(u):p?(f=!1,d=cloneBuffer(c,!0)):m?(f=!1,d=cloneTypedArray(c,!0)):d=[]:isPlainObject(c)||rn(c)?(d=u,rn(u)?d=toPlainObject(u):isObject(u)&&!isFunction(u)||(d=initCloneObject(c))):f=!1}f&&(o.set(c,d),a(d,c,n,s,o),o.delete(c));assignMergeValue(e,r,d)}(e,t,o,r,baseMerge,n,a);else{var u=n?n(safeGet(e,o),s,o+"",e,t,a):i;u===i&&(u=s),assignMergeValue(e,o,u)}}),keysIn)}function baseNth(e,t){var r=e.length;if(r)return isIndex(t+=t<0?r:0,r)?e[t]:i}function baseOrderBy(e,t,r){t=t.length?arrayMap(t,(function(e){return nn(e)?function(t){return baseGet(t,1===e.length?e[0]:e)}:e})):[identity];var n=-1;t=arrayMap(t,baseUnary(getIteratee()));var i=baseMap(e,(function(e,r,i){var a=arrayMap(t,(function(t){return t(e)}));return{criteria:a,index:++n,value:e}}));return function baseSortBy(e,t){var r=e.length;for(e.sort(t);r--;)e[r]=e[r].value;return e}(i,(function(e,t){return function compareMultiple(e,t,r){var n=-1,i=e.criteria,a=t.criteria,s=i.length,o=r.length;for(;++n<s;){var u=compareAscending(i[n],a[n]);if(u)return n>=o?u:u*("desc"==r[n]?-1:1)}return e.index-t.index}(e,t,r)}))}function basePickBy(e,t,r){for(var n=-1,i=t.length,a={};++n<i;){var s=t[n],o=baseGet(e,s);r(o,s)&&baseSet(a,castPath(s,e),o)}return a}function basePullAll(e,t,r,n){var i=n?baseIndexOfWith:baseIndexOf,a=-1,s=t.length,o=e;for(e===t&&(t=copyArray(t)),r&&(o=arrayMap(e,baseUnary(r)));++a<s;)for(var u=0,c=t[a],l=r?r(c):c;(u=i(o,l,u,n))>-1;)o!==e&&Ke.call(o,u,1),Ke.call(e,u,1);return e}function basePullAt(e,t){for(var r=e?t.length:0,n=r-1;r--;){var i=t[r];if(r==n||i!==a){var a=i;isIndex(i)?Ke.call(e,i,1):baseUnset(e,i)}}return e}function baseRandom(e,t){return e+mt(Mt()*(t-e+1))}function baseRepeat(e,t){var r="";if(!e||t<1||t>p)return r;do{t%2&&(r+=e),(t=mt(t/2))&&(e+=e)}while(t);return r}function baseRest(e,t){return gr(overRest(e,t,identity),e+"")}function baseSample(e){return arraySample(values(e))}function baseSampleSize(e,t){var r=values(e);return shuffleSelf(r,baseClamp(t,0,r.length))}function baseSet(e,t,r,n){if(!isObject(e))return e;for(var a=-1,s=(t=castPath(t,e)).length,o=s-1,u=e;null!=u&&++a<s;){var c=toKey(t[a]),l=r;if("__proto__"===c||"constructor"===c||"prototype"===c)return e;if(a!=o){var d=u[c];(l=n?n(d,c,u):i)===i&&(l=isObject(d)?d:isIndex(t[a+1])?[]:{})}assignValue(u,c,l),u=u[c]}return e}var ar=$t?function(e,t){return $t.set(e,t),e}:identity,sr=rt?function(e,t){return rt(e,"toString",{configurable:!0,enumerable:!1,value:constant(t),writable:!0})}:identity;function baseShuffle(e){return shuffleSelf(values(e))}function baseSlice(e,t,n){var i=-1,a=e.length;t<0&&(t=-t>a?0:a+t),(n=n>a?a:n)<0&&(n+=a),a=t>n?0:n-t>>>0,t>>>=0;for(var s=r(a);++i<a;)s[i]=e[i+t];return s}function baseSome(e,t){var r;return tr(e,(function(e,n,i){return!(r=t(e,n,i))})),!!r}function baseSortedIndex(e,t,r){var n=0,i=null==e?n:e.length;if("number"==typeof t&&t==t&&i<=2147483647){for(;n<i;){var a=n+i>>>1,s=e[a];null!==s&&!isSymbol(s)&&(r?s<=t:s<t)?n=a+1:i=a}return i}return baseSortedIndexBy(e,t,identity,r)}function baseSortedIndexBy(e,t,r,n){var a=0,s=null==e?0:e.length;if(0===s)return 0;for(var o=(t=r(t))!=t,u=null===t,c=isSymbol(t),l=t===i;a<s;){var d=mt((a+s)/2),f=r(e[d]),h=f!==i,p=null===f,m=f==f,y=isSymbol(f);if(o)var g=n||m;else g=l?m&&(n||h):u?m&&h&&(n||!p):c?m&&h&&!p&&(n||!y):!p&&!y&&(n?f<=t:f<t);g?a=d+1:s=d}return qt(s,4294967294)}function baseSortedUniq(e,t){for(var r=-1,n=e.length,i=0,a=[];++r<n;){var s=e[r],o=t?t(s):s;if(!r||!eq(o,u)){var u=o;a[i++]=0===s?0:s}}return a}function baseToNumber(e){return"number"==typeof e?e:isSymbol(e)?m:+e}function baseToString(e){if("string"==typeof e)return e;if(nn(e))return arrayMap(e,baseToString)+"";if(isSymbol(e))return Xt?Xt.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function baseUniq(e,t,r){var n=-1,i=arrayIncludes,a=e.length,s=!0,o=[],u=o;if(r)s=!1,i=arrayIncludesWith;else if(a>=200){var c=t?null:cr(e);if(c)return setToArray(c);s=!1,i=cacheHas,u=new SetCache}else u=t?[]:o;e:for(;++n<a;){var l=e[n],d=t?t(l):l;if(l=r||0!==l?l:0,s&&d==d){for(var f=u.length;f--;)if(u[f]===d)continue e;t&&u.push(d),o.push(l)}else i(u,d,r)||(u!==o&&u.push(d),o.push(l))}return o}function baseUnset(e,t){return null==(e=parent(e,t=castPath(t,e)))||delete e[toKey(last(t))]}function baseUpdate(e,t,r,n){return baseSet(e,t,r(baseGet(e,t)),n)}function baseWhile(e,t,r,n){for(var i=e.length,a=n?i:-1;(n?a--:++a<i)&&t(e[a],a,e););return r?baseSlice(e,n?0:a,n?a+1:i):baseSlice(e,n?a+1:0,n?i:a)}function baseWrapperValue(e,t){var r=e;return r instanceof LazyWrapper&&(r=r.value()),arrayReduce(t,(function(e,t){return t.func.apply(t.thisArg,arrayPush([e],t.args))}),r)}function baseXor(e,t,n){var i=e.length;if(i<2)return i?baseUniq(e[0]):[];for(var a=-1,s=r(i);++a<i;)for(var o=e[a],u=-1;++u<i;)u!=a&&(s[a]=baseDifference(s[a]||o,e[u],t,n));return baseUniq(baseFlatten(s,1),t,n)}function baseZipObject(e,t,r){for(var n=-1,a=e.length,s=t.length,o={};++n<a;){var u=n<s?t[n]:i;r(o,e[n],u)}return o}function castArrayLikeObject(e){return isArrayLikeObject(e)?e:[]}function castFunction(e){return"function"==typeof e?e:identity}function castPath(e,t){return nn(e)?e:isKey(e,t)?[e]:br(toString(e))}var or=baseRest;function castSlice(e,t,r){var n=e.length;return r=r===i?n:r,!t&&r>=n?e:baseSlice(e,t,r)}var ur=ut||function(e){return ht.clearTimeout(e)};function cloneBuffer(e,t){if(t)return e.slice();var r=e.length,n=Be?Be(r):new e.constructor(r);return e.copy(n),n}function cloneArrayBuffer(e){var t=new e.constructor(e.byteLength);return new $e(t).set(new $e(e)),t}function cloneTypedArray(e,t){var r=t?cloneArrayBuffer(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}function compareAscending(e,t){if(e!==t){var r=e!==i,n=null===e,a=e==e,s=isSymbol(e),o=t!==i,u=null===t,c=t==t,l=isSymbol(t);if(!u&&!l&&!s&&e>t||s&&o&&c&&!u&&!l||n&&o&&c||!r&&c||!a)return 1;if(!n&&!s&&!l&&e<t||l&&r&&a&&!n&&!s||u&&r&&a||!o&&a||!c)return-1}return 0}function composeArgs(e,t,n,i){for(var a=-1,s=e.length,o=n.length,u=-1,c=t.length,l=jt(s-o,0),d=r(c+l),f=!i;++u<c;)d[u]=t[u];for(;++a<o;)(f||a<s)&&(d[n[a]]=e[a]);for(;l--;)d[u++]=e[a++];return d}function composeArgsRight(e,t,n,i){for(var a=-1,s=e.length,o=-1,u=n.length,c=-1,l=t.length,d=jt(s-u,0),f=r(d+l),h=!i;++a<d;)f[a]=e[a];for(var p=a;++c<l;)f[p+c]=t[c];for(;++o<u;)(h||a<s)&&(f[p+n[o]]=e[a++]);return f}function copyArray(e,t){var n=-1,i=e.length;for(t||(t=r(i));++n<i;)t[n]=e[n];return t}function copyObject(e,t,r,n){var a=!r;r||(r={});for(var s=-1,o=t.length;++s<o;){var u=t[s],c=n?n(r[u],e[u],u,r,e):i;c===i&&(c=e[u]),a?baseAssignValue(r,u,c):assignValue(r,u,c)}return r}function createAggregator(e,t){return function(r,n){var i=nn(r)?arrayAggregator:baseAggregator,a=t?t():{};return i(r,e,getIteratee(n,2),a)}}function createAssigner(e){return baseRest((function(t,r){var n=-1,a=r.length,s=a>1?r[a-1]:i,o=a>2?r[2]:i;for(s=e.length>3&&"function"==typeof s?(a--,s):i,o&&isIterateeCall(r[0],r[1],o)&&(s=a<3?i:s,a=1),t=Ae(t);++n<a;){var u=r[n];u&&e(t,u,n,s)}return t}))}function createBaseEach(e,t){return function(r,n){if(null==r)return r;if(!isArrayLike(r))return e(r,n);for(var i=r.length,a=t?i:-1,s=Ae(r);(t?a--:++a<i)&&!1!==n(s[a],a,s););return r}}function createBaseFor(e){return function(t,r,n){for(var i=-1,a=Ae(t),s=n(t),o=s.length;o--;){var u=s[e?o:++i];if(!1===r(a[u],u,a))break}return t}}function createCaseFirst(e){return function(t){var r=hasUnicode(t=toString(t))?stringToArray(t):i,n=r?r[0]:t.charAt(0),a=r?castSlice(r,1).join(""):t.slice(1);return n[e]()+a}}function createCompounder(e){return function(t){return arrayReduce(words(deburr(t).replace(Je,"")),e,"")}}function createCtor(e){return function(){var t=arguments;switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3]);case 5:return new e(t[0],t[1],t[2],t[3],t[4]);case 6:return new e(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var r=er(e.prototype),n=e.apply(r,t);return isObject(n)?n:r}}function createFind(e){return function(t,r,n){var a=Ae(t);if(!isArrayLike(t)){var s=getIteratee(r,3);t=keys(t),r=function(e){return s(a[e],e,a)}}var o=e(t,r,n);return o>-1?a[s?t[o]:o]:i}}function createFlow(e){return flatRest((function(t){var r=t.length,n=r,s=LodashWrapper.prototype.thru;for(e&&t.reverse();n--;){var o=t[n];if("function"!=typeof o)throw new Ee(a);if(s&&!u&&"wrapper"==getFuncName(o))var u=new LodashWrapper([],!0)}for(n=u?n:r;++n<r;){var c=getFuncName(o=t[n]),l="wrapper"==c?lr(o):i;u=l&&isLaziable(l[0])&&424==l[1]&&!l[4].length&&1==l[9]?u[getFuncName(l[0])].apply(u,l[3]):1==o.length&&isLaziable(o)?u[c]():u.thru(o)}return function(){var e=arguments,n=e[0];if(u&&1==e.length&&nn(n))return u.plant(n).value();for(var i=0,a=r?t[i].apply(this,e):n;++i<r;)a=t[i].call(this,a);return a}}))}function createHybrid(e,t,n,a,s,o,u,c,l,f){var h=t&d,p=1&t,m=2&t,y=24&t,g=512&t,b=m?i:createCtor(e);return function wrapper(){for(var i=arguments.length,d=r(i),v=i;v--;)d[v]=arguments[v];if(y)var _=getHolder(wrapper),w=countHolders(d,_);if(a&&(d=composeArgs(d,a,s,y)),o&&(d=composeArgsRight(d,o,u,y)),i-=w,y&&i<f){var I=replaceHolders(d,_);return createRecurry(e,t,createHybrid,wrapper.placeholder,n,d,I,c,l,f-i)}var O=p?n:this,R=m?O[e]:e;return i=d.length,c?d=reorder(d,c):g&&i>1&&d.reverse(),h&&l<i&&(d.length=l),this&&this!==ht&&this instanceof wrapper&&(R=b||createCtor(R)),R.apply(O,d)}}function createInverter(e,t){return function(r,n){return function baseInverter(e,t,r,n){return baseForOwn(e,(function(e,i,a){t(n,r(e),i,a)})),n}(r,e,t(n),{})}}function createMathOperation(e,t){return function(r,n){var a;if(r===i&&n===i)return t;if(r!==i&&(a=r),n!==i){if(a===i)return n;"string"==typeof r||"string"==typeof n?(r=baseToString(r),n=baseToString(n)):(r=baseToNumber(r),n=baseToNumber(n)),a=e(r,n)}return a}}function createOver(e){return flatRest((function(t){return t=arrayMap(t,baseUnary(getIteratee())),baseRest((function(r){var n=this;return e(t,(function(e){return apply(e,n,r)}))}))}))}function createPadding(e,t){var r=(t=t===i?" ":baseToString(t)).length;if(r<2)return r?baseRepeat(t,e):t;var n=baseRepeat(t,pt(e/stringSize(t)));return hasUnicode(t)?castSlice(stringToArray(n),0,e).join(""):n.slice(0,e)}function createRange(e){return function(t,n,a){return a&&"number"!=typeof a&&isIterateeCall(t,n,a)&&(n=a=i),t=toFinite(t),n===i?(n=t,t=0):n=toFinite(n),function baseRange(e,t,n,i){for(var a=-1,s=jt(pt((t-e)/(n||1)),0),o=r(s);s--;)o[i?s:++a]=e,e+=n;return o}(t,n,a=a===i?t<n?1:-1:toFinite(a),e)}}function createRelationalOperation(e){return function(t,r){return"string"==typeof t&&"string"==typeof r||(t=toNumber(t),r=toNumber(r)),e(t,r)}}function createRecurry(e,t,r,n,a,s,o,u,d,f){var h=8&t;t|=h?c:l,4&(t&=~(h?l:c))||(t&=-4);var p=[e,t,a,h?s:i,h?o:i,h?i:s,h?i:o,u,d,f],m=r.apply(i,p);return isLaziable(e)&&mr(m,p),m.placeholder=n,setWrapToString(m,e,t)}function createRound(e){var t=Se[e];return function(e,r){if(e=toNumber(e),(r=null==r?0:qt(toInteger(r),292))&&St(e)){var n=(toString(e)+"e").split("e");return+((n=(toString(t(n[0]+"e"+(+n[1]+r)))+"e").split("e"))[0]+"e"+(+n[1]-r))}return t(e)}}var cr=Vt&&1/setToArray(new Vt([,-0]))[1]==h?function(e){return new Vt(e)}:noop;function createToPairs(e){return function(t){var r=hr(t);return r==S?mapToArray(t):r==L?setToPairs(t):function baseToPairs(e,t){return arrayMap(t,(function(t){return[t,e[t]]}))}(t,e(t))}}function createWrap(e,t,n,s,h,p,m,y){var g=2&t;if(!g&&"function"!=typeof e)throw new Ee(a);var b=s?s.length:0;if(b||(t&=-97,s=h=i),m=m===i?m:jt(toInteger(m),0),y=y===i?y:toInteger(y),b-=h?h.length:0,t&l){var v=s,_=h;s=h=i}var w=g?i:lr(e),I=[e,t,n,s,h,v,_,p,m,y];if(w&&function mergeData(e,t){var r=e[1],n=t[1],i=r|n,a=i<131,s=n==d&&8==r||n==d&&r==f&&e[7].length<=t[8]||384==n&&t[7].length<=t[8]&&8==r;if(!a&&!s)return e;1&n&&(e[2]=t[2],i|=1&r?0:4);var u=t[3];if(u){var c=e[3];e[3]=c?composeArgs(c,u,t[4]):u,e[4]=c?replaceHolders(e[3],o):t[4]}(u=t[5])&&(c=e[5],e[5]=c?composeArgsRight(c,u,t[6]):u,e[6]=c?replaceHolders(e[5],o):t[6]);(u=t[7])&&(e[7]=u);n&d&&(e[8]=null==e[8]?t[8]:qt(e[8],t[8]));null==e[9]&&(e[9]=t[9]);return e[0]=t[0],e[1]=i,e}(I,w),e=I[0],t=I[1],n=I[2],s=I[3],h=I[4],!(y=I[9]=I[9]===i?g?0:e.length:jt(I[9]-b,0))&&24&t&&(t&=-25),t&&1!=t)O=8==t||t==u?function createCurry(e,t,n){var a=createCtor(e);return function wrapper(){for(var s=arguments.length,o=r(s),u=s,c=getHolder(wrapper);u--;)o[u]=arguments[u];var l=s<3&&o[0]!==c&&o[s-1]!==c?[]:replaceHolders(o,c);return(s-=l.length)<n?createRecurry(e,t,createHybrid,wrapper.placeholder,i,o,l,i,i,n-s):apply(this&&this!==ht&&this instanceof wrapper?a:e,this,o)}}(e,t,y):t!=c&&33!=t||h.length?createHybrid.apply(i,I):function createPartial(e,t,n,i){var a=1&t,s=createCtor(e);return function wrapper(){for(var t=-1,o=arguments.length,u=-1,c=i.length,l=r(c+o),d=this&&this!==ht&&this instanceof wrapper?s:e;++u<c;)l[u]=i[u];for(;o--;)l[u++]=arguments[++t];return apply(d,a?n:this,l)}}(e,t,n,s);else var O=function createBind(e,t,r){var n=1&t,i=createCtor(e);return function wrapper(){return(this&&this!==ht&&this instanceof wrapper?i:e).apply(n?r:this,arguments)}}(e,t,n);return setWrapToString((w?ar:mr)(O,I),e,t)}function customDefaultsAssignIn(e,t,r,n){return e===i||eq(e,je[r])&&!ke.call(n,r)?t:e}function customDefaultsMerge(e,t,r,n,a,s){return isObject(e)&&isObject(t)&&(s.set(t,e),baseMerge(e,t,i,customDefaultsMerge,s),s.delete(t)),e}function customOmitClone(e){return isPlainObject(e)?i:e}function equalArrays(e,t,r,n,a,s){var o=1&r,u=e.length,c=t.length;if(u!=c&&!(o&&c>u))return!1;var l=s.get(e),d=s.get(t);if(l&&d)return l==t&&d==e;var f=-1,h=!0,p=2&r?new SetCache:i;for(s.set(e,t),s.set(t,e);++f<u;){var m=e[f],y=t[f];if(n)var g=o?n(y,m,f,t,e,s):n(m,y,f,e,t,s);if(g!==i){if(g)continue;h=!1;break}if(p){if(!arraySome(t,(function(e,t){if(!cacheHas(p,t)&&(m===e||a(m,e,r,n,s)))return p.push(t)}))){h=!1;break}}else if(m!==y&&!a(m,y,r,n,s)){h=!1;break}}return s.delete(e),s.delete(t),h}function flatRest(e){return gr(overRest(e,i,flatten),e+"")}function getAllKeys(e){return baseGetAllKeys(e,keys,dr)}function getAllKeysIn(e){return baseGetAllKeys(e,keysIn,fr)}var lr=$t?function(e){return $t.get(e)}:noop;function getFuncName(e){for(var t=e.name+"",r=Bt[t],n=ke.call(Bt,t)?r.length:0;n--;){var i=r[n],a=i.func;if(null==a||a==e)return i.name}return t}function getHolder(e){return(ke.call(lodash,"placeholder")?lodash:e).placeholder}function getIteratee(){var e=lodash.iteratee||iteratee;return e=e===iteratee?baseIteratee:e,arguments.length?e(arguments[0],arguments[1]):e}function getMapData(e,t){var r=e.__data__;return function isKeyable(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}(t)?r["string"==typeof t?"string":"hash"]:r.map}function getMatchData(e){for(var t=keys(e),r=t.length;r--;){var n=t[r],i=e[n];t[r]=[n,i,isStrictComparable(i)]}return t}function getNative(e,t){var r=function getValue(e,t){return null==e?i:e[t]}(e,t);return baseIsNative(r)?r:i}var dr=gt?function(e){return null==e?[]:(e=Ae(e),arrayFilter(gt(e),(function(t){return He.call(e,t)})))}:stubArray,fr=gt?function(e){for(var t=[];e;)arrayPush(t,dr(e)),e=Ze(e);return t}:stubArray,hr=baseGetTag;function hasPath(e,t,r){for(var n=-1,i=(t=castPath(t,e)).length,a=!1;++n<i;){var s=toKey(t[n]);if(!(a=null!=e&&r(e,s)))break;e=e[s]}return a||++n!=i?a:!!(i=null==e?0:e.length)&&isLength(i)&&isIndex(s,i)&&(nn(e)||rn(e))}function initCloneObject(e){return"function"!=typeof e.constructor||isPrototype(e)?{}:er(Ze(e))}function isFlattenable(e){return nn(e)||rn(e)||!!(Ye&&e&&e[Ye])}function isIndex(e,t){var r=typeof e;return!!(t=null==t?p:t)&&("number"==r||"symbol"!=r&&_e.test(e))&&e>-1&&e%1==0&&e<t}function isIterateeCall(e,t,r){if(!isObject(r))return!1;var n=typeof t;return!!("number"==n?isArrayLike(r)&&isIndex(t,r.length):"string"==n&&t in r)&&eq(r[t],e)}function isKey(e,t){if(nn(e))return!1;var r=typeof e;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!isSymbol(e))||(re.test(e)||!te.test(e)||null!=t&&e in Ae(t))}function isLaziable(e){var t=getFuncName(e),r=lodash[t];if("function"!=typeof r||!(t in LazyWrapper.prototype))return!1;if(e===r)return!0;var n=lr(r);return!!n&&e===n[0]}(Ft&&hr(new Ft(new ArrayBuffer(1)))!=k||Nt&&hr(new Nt)!=S||zt&&hr(zt.resolve())!=T||Vt&&hr(new Vt)!=L||Ut&&hr(new Ut)!=q)&&(hr=function(e){var t=baseGetTag(e),r=t==C?e.constructor:i,n=r?toSource(r):"";if(n)switch(n){case Zt:return k;case Gt:return S;case Ht:return T;case Kt:return L;case Yt:return q}return t});var pr=qe?isFunction:stubFalse;function isPrototype(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||je)}function isStrictComparable(e){return e==e&&!isObject(e)}function matchesStrictComparable(e,t){return function(r){return null!=r&&(r[e]===t&&(t!==i||e in Ae(r)))}}function overRest(e,t,n){return t=jt(t===i?e.length-1:t,0),function(){for(var i=arguments,a=-1,s=jt(i.length-t,0),o=r(s);++a<s;)o[a]=i[t+a];a=-1;for(var u=r(t+1);++a<t;)u[a]=i[a];return u[t]=n(o),apply(e,this,u)}}function parent(e,t){return t.length<2?e:baseGet(e,baseSlice(t,0,-1))}function reorder(e,t){for(var r=e.length,n=qt(t.length,r),a=copyArray(e);n--;){var s=t[n];e[n]=isIndex(s,r)?a[s]:i}return e}function safeGet(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}var mr=shortOut(ar),yr=ft||function(e,t){return ht.setTimeout(e,t)},gr=shortOut(sr);function setWrapToString(e,t,r){var n=t+"";return gr(e,function insertWrapDetails(e,t){var r=t.length;if(!r)return e;var n=r-1;return t[n]=(r>1?"& ":"")+t[n],t=t.join(r>2?", ":" "),e.replace(ue,"{\n/* [wrapped with "+t+"] */\n")}(n,function updateWrapDetails(e,t){return arrayEach(g,(function(r){var n="_."+r[0];t&r[1]&&!arrayIncludes(e,n)&&e.push(n)})),e.sort()}(function getWrapDetails(e){var t=e.match(ce);return t?t[1].split(le):[]}(n),r)))}function shortOut(e){var t=0,r=0;return function(){var n=xt(),a=16-(n-r);if(r=n,a>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(i,arguments)}}function shuffleSelf(e,t){var r=-1,n=e.length,a=n-1;for(t=t===i?n:t;++r<t;){var s=baseRandom(r,a),o=e[s];e[s]=e[r],e[r]=o}return e.length=t,e}var br=function memoizeCapped(e){var t=memoize(e,(function(e){return 500===r.size&&r.clear(),e})),r=t.cache;return t}((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(ne,(function(e,r,n,i){t.push(n?i.replace(he,"$1"):r||e)})),t}));function toKey(e){if("string"==typeof e||isSymbol(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function toSource(e){if(null!=e){try{return xe.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function wrapperClone(e){if(e instanceof LazyWrapper)return e.clone();var t=new LodashWrapper(e.__wrapped__,e.__chain__);return t.__actions__=copyArray(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}var vr=baseRest((function(e,t){return isArrayLikeObject(e)?baseDifference(e,baseFlatten(t,1,isArrayLikeObject,!0)):[]})),_r=baseRest((function(e,t){var r=last(t);return isArrayLikeObject(r)&&(r=i),isArrayLikeObject(e)?baseDifference(e,baseFlatten(t,1,isArrayLikeObject,!0),getIteratee(r,2)):[]})),wr=baseRest((function(e,t){var r=last(t);return isArrayLikeObject(r)&&(r=i),isArrayLikeObject(e)?baseDifference(e,baseFlatten(t,1,isArrayLikeObject,!0),i,r):[]}));function findIndex(e,t,r){var n=null==e?0:e.length;if(!n)return-1;var i=null==r?0:toInteger(r);return i<0&&(i=jt(n+i,0)),baseFindIndex(e,getIteratee(t,3),i)}function findLastIndex(e,t,r){var n=null==e?0:e.length;if(!n)return-1;var a=n-1;return r!==i&&(a=toInteger(r),a=r<0?jt(n+a,0):qt(a,n-1)),baseFindIndex(e,getIteratee(t,3),a,!0)}function flatten(e){return(null==e?0:e.length)?baseFlatten(e,1):[]}function head(e){return e&&e.length?e[0]:i}var Ir=baseRest((function(e){var t=arrayMap(e,castArrayLikeObject);return t.length&&t[0]===e[0]?baseIntersection(t):[]})),Or=baseRest((function(e){var t=last(e),r=arrayMap(e,castArrayLikeObject);return t===last(r)?t=i:r.pop(),r.length&&r[0]===e[0]?baseIntersection(r,getIteratee(t,2)):[]})),Rr=baseRest((function(e){var t=last(e),r=arrayMap(e,castArrayLikeObject);return(t="function"==typeof t?t:i)&&r.pop(),r.length&&r[0]===e[0]?baseIntersection(r,i,t):[]}));function last(e){var t=null==e?0:e.length;return t?e[t-1]:i}var Sr=baseRest(pullAll);function pullAll(e,t){return e&&e.length&&t&&t.length?basePullAll(e,t):e}var Ar=flatRest((function(e,t){var r=null==e?0:e.length,n=baseAt(e,t);return basePullAt(e,arrayMap(t,(function(e){return isIndex(e,r)?+e:e})).sort(compareAscending)),n}));function reverse(e){return null==e?e:Dt.call(e)}var Cr=baseRest((function(e){return baseUniq(baseFlatten(e,1,isArrayLikeObject,!0))})),Tr=baseRest((function(e){var t=last(e);return isArrayLikeObject(t)&&(t=i),baseUniq(baseFlatten(e,1,isArrayLikeObject,!0),getIteratee(t,2))})),Er=baseRest((function(e){var t=last(e);return t="function"==typeof t?t:i,baseUniq(baseFlatten(e,1,isArrayLikeObject,!0),i,t)}));function unzip(e){if(!e||!e.length)return[];var t=0;return e=arrayFilter(e,(function(e){if(isArrayLikeObject(e))return t=jt(e.length,t),!0})),baseTimes(t,(function(t){return arrayMap(e,baseProperty(t))}))}function unzipWith(e,t){if(!e||!e.length)return[];var r=unzip(e);return null==t?r:arrayMap(r,(function(e){return apply(t,i,e)}))}var Lr=baseRest((function(e,t){return isArrayLikeObject(e)?baseDifference(e,t):[]})),Pr=baseRest((function(e){return baseXor(arrayFilter(e,isArrayLikeObject))})),jr=baseRest((function(e){var t=last(e);return isArrayLikeObject(t)&&(t=i),baseXor(arrayFilter(e,isArrayLikeObject),getIteratee(t,2))})),qr=baseRest((function(e){var t=last(e);return t="function"==typeof t?t:i,baseXor(arrayFilter(e,isArrayLikeObject),i,t)})),xr=baseRest(unzip);var kr=baseRest((function(e){var t=e.length,r=t>1?e[t-1]:i;return r="function"==typeof r?(e.pop(),r):i,unzipWith(e,r)}));function chain(e){var t=lodash(e);return t.__chain__=!0,t}function thru(e,t){return t(e)}var Mr=flatRest((function(e){var t=e.length,r=t?e[0]:0,n=this.__wrapped__,interceptor=function(t){return baseAt(t,e)};return!(t>1||this.__actions__.length)&&n instanceof LazyWrapper&&isIndex(r)?((n=n.slice(r,+r+(t?1:0))).__actions__.push({func:thru,args:[interceptor],thisArg:i}),new LodashWrapper(n,this.__chain__).thru((function(e){return t&&!e.length&&e.push(i),e}))):this.thru(interceptor)}));var Dr=createAggregator((function(e,t,r){ke.call(e,r)?++e[r]:baseAssignValue(e,r,1)}));var Fr=createFind(findIndex),Nr=createFind(findLastIndex);function forEach(e,t){return(nn(e)?arrayEach:tr)(e,getIteratee(t,3))}function forEachRight(e,t){return(nn(e)?arrayEachRight:rr)(e,getIteratee(t,3))}var zr=createAggregator((function(e,t,r){ke.call(e,r)?e[r].push(t):baseAssignValue(e,r,[t])}));var Vr=baseRest((function(e,t,n){var i=-1,a="function"==typeof t,s=isArrayLike(e)?r(e.length):[];return tr(e,(function(e){s[++i]=a?apply(t,e,n):baseInvoke(e,t,n)})),s})),Ur=createAggregator((function(e,t,r){baseAssignValue(e,r,t)}));function map(e,t){return(nn(e)?arrayMap:baseMap)(e,getIteratee(t,3))}var Wr=createAggregator((function(e,t,r){e[r?0:1].push(t)}),(function(){return[[],[]]}));var $r=baseRest((function(e,t){if(null==e)return[];var r=t.length;return r>1&&isIterateeCall(e,t[0],t[1])?t=[]:r>2&&isIterateeCall(t[0],t[1],t[2])&&(t=[t[0]]),baseOrderBy(e,baseFlatten(t,1),[])})),Br=dt||function(){return ht.Date.now()};function ary(e,t,r){return t=r?i:t,t=e&&null==t?e.length:t,createWrap(e,d,i,i,i,i,t)}function before(e,t){var r;if("function"!=typeof t)throw new Ee(a);return e=toInteger(e),function(){return--e>0&&(r=t.apply(this,arguments)),e<=1&&(t=i),r}}var Zr=baseRest((function(e,t,r){var n=1;if(r.length){var i=replaceHolders(r,getHolder(Zr));n|=c}return createWrap(e,n,t,r,i)})),Gr=baseRest((function(e,t,r){var n=3;if(r.length){var i=replaceHolders(r,getHolder(Gr));n|=c}return createWrap(t,n,e,r,i)}));function debounce(e,t,r){var n,s,o,u,c,l,d=0,f=!1,h=!1,p=!0;if("function"!=typeof e)throw new Ee(a);function invokeFunc(t){var r=n,a=s;return n=s=i,d=t,u=e.apply(a,r)}function leadingEdge(e){return d=e,c=yr(timerExpired,t),f?invokeFunc(e):u}function shouldInvoke(e){var r=e-l;return l===i||r>=t||r<0||h&&e-d>=o}function timerExpired(){var e=Br();if(shouldInvoke(e))return trailingEdge(e);c=yr(timerExpired,function remainingWait(e){var r=t-(e-l);return h?qt(r,o-(e-d)):r}(e))}function trailingEdge(e){return c=i,p&&n?invokeFunc(e):(n=s=i,u)}function debounced(){var e=Br(),r=shouldInvoke(e);if(n=arguments,s=this,l=e,r){if(c===i)return leadingEdge(l);if(h)return ur(c),c=yr(timerExpired,t),invokeFunc(l)}return c===i&&(c=yr(timerExpired,t)),u}return t=toNumber(t)||0,isObject(r)&&(f=!!r.leading,o=(h="maxWait"in r)?jt(toNumber(r.maxWait)||0,t):o,p="trailing"in r?!!r.trailing:p),debounced.cancel=function cancel(){c!==i&&ur(c),d=0,n=l=s=c=i},debounced.flush=function flush(){return c===i?u:trailingEdge(Br())},debounced}var Hr=baseRest((function(e,t){return baseDelay(e,1,t)})),Kr=baseRest((function(e,t,r){return baseDelay(e,toNumber(t)||0,r)}));function memoize(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new Ee(a);var memoized=function(){var r=arguments,n=t?t.apply(this,r):r[0],i=memoized.cache;if(i.has(n))return i.get(n);var a=e.apply(this,r);return memoized.cache=i.set(n,a)||i,a};return memoized.cache=new(memoize.Cache||MapCache),memoized}function negate(e){if("function"!=typeof e)throw new Ee(a);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}memoize.Cache=MapCache;var Yr=or((function(e,t){var r=(t=1==t.length&&nn(t[0])?arrayMap(t[0],baseUnary(getIteratee())):arrayMap(baseFlatten(t,1),baseUnary(getIteratee()))).length;return baseRest((function(n){for(var i=-1,a=qt(n.length,r);++i<a;)n[i]=t[i].call(this,n[i]);return apply(e,this,n)}))})),Qr=baseRest((function(e,t){var r=replaceHolders(t,getHolder(Qr));return createWrap(e,c,i,t,r)})),Jr=baseRest((function(e,t){var r=replaceHolders(t,getHolder(Jr));return createWrap(e,l,i,t,r)})),Xr=flatRest((function(e,t){return createWrap(e,f,i,i,i,t)}));function eq(e,t){return e===t||e!=e&&t!=t}var en=createRelationalOperation(baseGt),tn=createRelationalOperation((function(e,t){return e>=t})),rn=baseIsArguments(function(){return arguments}())?baseIsArguments:function(e){return isObjectLike(e)&&ke.call(e,"callee")&&!He.call(e,"callee")},nn=r.isArray,an=vt?baseUnary(vt):function baseIsArrayBuffer(e){return isObjectLike(e)&&baseGetTag(e)==x};function isArrayLike(e){return null!=e&&isLength(e.length)&&!isFunction(e)}function isArrayLikeObject(e){return isObjectLike(e)&&isArrayLike(e)}var sn=bt||stubFalse,on=_t?baseUnary(_t):function baseIsDate(e){return isObjectLike(e)&&baseGetTag(e)==w};function isError(e){if(!isObjectLike(e))return!1;var t=baseGetTag(e);return t==I||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!isPlainObject(e)}function isFunction(e){if(!isObject(e))return!1;var t=baseGetTag(e);return t==O||t==R||"[object AsyncFunction]"==t||"[object Proxy]"==t}function isInteger(e){return"number"==typeof e&&e==toInteger(e)}function isLength(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=p}function isObject(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function isObjectLike(e){return null!=e&&"object"==typeof e}var un=wt?baseUnary(wt):function baseIsMap(e){return isObjectLike(e)&&hr(e)==S};function isNumber(e){return"number"==typeof e||isObjectLike(e)&&baseGetTag(e)==A}function isPlainObject(e){if(!isObjectLike(e)||baseGetTag(e)!=C)return!1;var t=Ze(e);if(null===t)return!0;var r=ke.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&xe.call(r)==Ne}var cn=It?baseUnary(It):function baseIsRegExp(e){return isObjectLike(e)&&baseGetTag(e)==E};var ln=Ot?baseUnary(Ot):function baseIsSet(e){return isObjectLike(e)&&hr(e)==L};function isString(e){return"string"==typeof e||!nn(e)&&isObjectLike(e)&&baseGetTag(e)==P}function isSymbol(e){return"symbol"==typeof e||isObjectLike(e)&&baseGetTag(e)==j}var dn=Rt?baseUnary(Rt):function baseIsTypedArray(e){return isObjectLike(e)&&isLength(e.length)&&!!st[baseGetTag(e)]};var fn=createRelationalOperation(baseLt),hn=createRelationalOperation((function(e,t){return e<=t}));function toArray(e){if(!e)return[];if(isArrayLike(e))return isString(e)?stringToArray(e):copyArray(e);if(Qe&&e[Qe])return function iteratorToArray(e){for(var t,r=[];!(t=e.next()).done;)r.push(t.value);return r}(e[Qe]());var t=hr(e);return(t==S?mapToArray:t==L?setToArray:values)(e)}function toFinite(e){return e?(e=toNumber(e))===h||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function toInteger(e){var t=toFinite(e),r=t%1;return t==t?r?t-r:t:0}function toLength(e){return e?baseClamp(toInteger(e),0,y):0}function toNumber(e){if("number"==typeof e)return e;if(isSymbol(e))return m;if(isObject(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=isObject(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=baseTrim(e);var r=ge.test(e);return r||ve.test(e)?lt(e.slice(2),r?2:8):ye.test(e)?m:+e}function toPlainObject(e){return copyObject(e,keysIn(e))}function toString(e){return null==e?"":baseToString(e)}var pn=createAssigner((function(e,t){if(isPrototype(t)||isArrayLike(t))copyObject(t,keys(t),e);else for(var r in t)ke.call(t,r)&&assignValue(e,r,t[r])})),mn=createAssigner((function(e,t){copyObject(t,keysIn(t),e)})),yn=createAssigner((function(e,t,r,n){copyObject(t,keysIn(t),e,n)})),gn=createAssigner((function(e,t,r,n){copyObject(t,keys(t),e,n)})),bn=flatRest(baseAt);var vn=baseRest((function(e,t){e=Ae(e);var r=-1,n=t.length,a=n>2?t[2]:i;for(a&&isIterateeCall(t[0],t[1],a)&&(n=1);++r<n;)for(var s=t[r],o=keysIn(s),u=-1,c=o.length;++u<c;){var l=o[u],d=e[l];(d===i||eq(d,je[l])&&!ke.call(e,l))&&(e[l]=s[l])}return e})),_n=baseRest((function(e){return e.push(i,customDefaultsMerge),apply(Sn,i,e)}));function get(e,t,r){var n=null==e?i:baseGet(e,t);return n===i?r:n}function hasIn(e,t){return null!=e&&hasPath(e,t,baseHasIn)}var wn=createInverter((function(e,t,r){null!=t&&"function"!=typeof t.toString&&(t=Fe.call(t)),e[t]=r}),constant(identity)),In=createInverter((function(e,t,r){null!=t&&"function"!=typeof t.toString&&(t=Fe.call(t)),ke.call(e,t)?e[t].push(r):e[t]=[r]}),getIteratee),On=baseRest(baseInvoke);function keys(e){return isArrayLike(e)?arrayLikeKeys(e):baseKeys(e)}function keysIn(e){return isArrayLike(e)?arrayLikeKeys(e,!0):baseKeysIn(e)}var Rn=createAssigner((function(e,t,r){baseMerge(e,t,r)})),Sn=createAssigner((function(e,t,r,n){baseMerge(e,t,r,n)})),An=flatRest((function(e,t){var r={};if(null==e)return r;var n=!1;t=arrayMap(t,(function(t){return t=castPath(t,e),n||(n=t.length>1),t})),copyObject(e,getAllKeysIn(e),r),n&&(r=baseClone(r,7,customOmitClone));for(var i=t.length;i--;)baseUnset(r,t[i]);return r}));var Cn=flatRest((function(e,t){return null==e?{}:function basePick(e,t){return basePickBy(e,t,(function(t,r){return hasIn(e,r)}))}(e,t)}));function pickBy(e,t){if(null==e)return{};var r=arrayMap(getAllKeysIn(e),(function(e){return[e]}));return t=getIteratee(t),basePickBy(e,r,(function(e,r){return t(e,r[0])}))}var Tn=createToPairs(keys),En=createToPairs(keysIn);function values(e){return null==e?[]:baseValues(e,keys(e))}var Ln=createCompounder((function(e,t,r){return t=t.toLowerCase(),e+(r?capitalize(t):t)}));function capitalize(e){return Dn(toString(e).toLowerCase())}function deburr(e){return(e=toString(e))&&e.replace(we,At).replace(Xe,"")}var Pn=createCompounder((function(e,t,r){return e+(r?"-":"")+t.toLowerCase()})),jn=createCompounder((function(e,t,r){return e+(r?" ":"")+t.toLowerCase()})),qn=createCaseFirst("toLowerCase");var xn=createCompounder((function(e,t,r){return e+(r?"_":"")+t.toLowerCase()}));var kn=createCompounder((function(e,t,r){return e+(r?" ":"")+Dn(t)}));var Mn=createCompounder((function(e,t,r){return e+(r?" ":"")+t.toUpperCase()})),Dn=createCaseFirst("toUpperCase");function words(e,t,r){return e=toString(e),(t=r?i:t)===i?function hasUnicodeWord(e){return nt.test(e)}(e)?function unicodeWords(e){return e.match(tt)||[]}(e):function asciiWords(e){return e.match(de)||[]}(e):e.match(t)||[]}var Fn=baseRest((function(e,t){try{return apply(e,i,t)}catch(e){return isError(e)?e:new oe(e)}})),Nn=flatRest((function(e,t){return arrayEach(t,(function(t){t=toKey(t),baseAssignValue(e,t,Zr(e[t],e))})),e}));function constant(e){return function(){return e}}var zn=createFlow(),Vn=createFlow(!0);function identity(e){return e}function iteratee(e){return baseIteratee("function"==typeof e?e:baseClone(e,1))}var Un=baseRest((function(e,t){return function(r){return baseInvoke(r,e,t)}})),Wn=baseRest((function(e,t){return function(r){return baseInvoke(e,r,t)}}));function mixin(e,t,r){var n=keys(t),i=baseFunctions(t,n);null!=r||isObject(t)&&(i.length||!n.length)||(r=t,t=e,e=this,i=baseFunctions(t,keys(t)));var a=!(isObject(r)&&"chain"in r&&!r.chain),s=isFunction(e);return arrayEach(i,(function(r){var n=t[r];e[r]=n,s&&(e.prototype[r]=function(){var t=this.__chain__;if(a||t){var r=e(this.__wrapped__),i=r.__actions__=copyArray(this.__actions__);return i.push({func:n,args:arguments,thisArg:e}),r.__chain__=t,r}return n.apply(e,arrayPush([this.value()],arguments))})})),e}function noop(){}var $n=createOver(arrayMap),Bn=createOver(arrayEvery),Zn=createOver(arraySome);function property(e){return isKey(e)?baseProperty(toKey(e)):function basePropertyDeep(e){return function(t){return baseGet(t,e)}}(e)}var Gn=createRange(),Hn=createRange(!0);function stubArray(){return[]}function stubFalse(){return!1}var Kn=createMathOperation((function(e,t){return e+t}),0),Yn=createRound("ceil"),Qn=createMathOperation((function(e,t){return e/t}),1),Jn=createRound("floor");var Xn,ei=createMathOperation((function(e,t){return e*t}),1),ti=createRound("round"),ri=createMathOperation((function(e,t){return e-t}),0);return lodash.after=function after(e,t){if("function"!=typeof t)throw new Ee(a);return e=toInteger(e),function(){if(--e<1)return t.apply(this,arguments)}},lodash.ary=ary,lodash.assign=pn,lodash.assignIn=mn,lodash.assignInWith=yn,lodash.assignWith=gn,lodash.at=bn,lodash.before=before,lodash.bind=Zr,lodash.bindAll=Nn,lodash.bindKey=Gr,lodash.castArray=function castArray(){if(!arguments.length)return[];var e=arguments[0];return nn(e)?e:[e]},lodash.chain=chain,lodash.chunk=function chunk(e,t,n){t=(n?isIterateeCall(e,t,n):t===i)?1:jt(toInteger(t),0);var a=null==e?0:e.length;if(!a||t<1)return[];for(var s=0,o=0,u=r(pt(a/t));s<a;)u[o++]=baseSlice(e,s,s+=t);return u},lodash.compact=function compact(e){for(var t=-1,r=null==e?0:e.length,n=0,i=[];++t<r;){var a=e[t];a&&(i[n++]=a)}return i},lodash.concat=function concat(){var e=arguments.length;if(!e)return[];for(var t=r(e-1),n=arguments[0],i=e;i--;)t[i-1]=arguments[i];return arrayPush(nn(n)?copyArray(n):[n],baseFlatten(t,1))},lodash.cond=function cond(e){var t=null==e?0:e.length,r=getIteratee();return e=t?arrayMap(e,(function(e){if("function"!=typeof e[1])throw new Ee(a);return[r(e[0]),e[1]]})):[],baseRest((function(r){for(var n=-1;++n<t;){var i=e[n];if(apply(i[0],this,r))return apply(i[1],this,r)}}))},lodash.conforms=function conforms(e){return function baseConforms(e){var t=keys(e);return function(r){return baseConformsTo(r,e,t)}}(baseClone(e,1))},lodash.constant=constant,lodash.countBy=Dr,lodash.create=function create(e,t){var r=er(e);return null==t?r:baseAssign(r,t)},lodash.curry=function curry(e,t,r){var n=createWrap(e,8,i,i,i,i,i,t=r?i:t);return n.placeholder=curry.placeholder,n},lodash.curryRight=function curryRight(e,t,r){var n=createWrap(e,u,i,i,i,i,i,t=r?i:t);return n.placeholder=curryRight.placeholder,n},lodash.debounce=debounce,lodash.defaults=vn,lodash.defaultsDeep=_n,lodash.defer=Hr,lodash.delay=Kr,lodash.difference=vr,lodash.differenceBy=_r,lodash.differenceWith=wr,lodash.drop=function drop(e,t,r){var n=null==e?0:e.length;return n?baseSlice(e,(t=r||t===i?1:toInteger(t))<0?0:t,n):[]},lodash.dropRight=function dropRight(e,t,r){var n=null==e?0:e.length;return n?baseSlice(e,0,(t=n-(t=r||t===i?1:toInteger(t)))<0?0:t):[]},lodash.dropRightWhile=function dropRightWhile(e,t){return e&&e.length?baseWhile(e,getIteratee(t,3),!0,!0):[]},lodash.dropWhile=function dropWhile(e,t){return e&&e.length?baseWhile(e,getIteratee(t,3),!0):[]},lodash.fill=function fill(e,t,r,n){var a=null==e?0:e.length;return a?(r&&"number"!=typeof r&&isIterateeCall(e,t,r)&&(r=0,n=a),function baseFill(e,t,r,n){var a=e.length;for((r=toInteger(r))<0&&(r=-r>a?0:a+r),(n=n===i||n>a?a:toInteger(n))<0&&(n+=a),n=r>n?0:toLength(n);r<n;)e[r++]=t;return e}(e,t,r,n)):[]},lodash.filter=function filter(e,t){return(nn(e)?arrayFilter:baseFilter)(e,getIteratee(t,3))},lodash.flatMap=function flatMap(e,t){return baseFlatten(map(e,t),1)},lodash.flatMapDeep=function flatMapDeep(e,t){return baseFlatten(map(e,t),h)},lodash.flatMapDepth=function flatMapDepth(e,t,r){return r=r===i?1:toInteger(r),baseFlatten(map(e,t),r)},lodash.flatten=flatten,lodash.flattenDeep=function flattenDeep(e){return(null==e?0:e.length)?baseFlatten(e,h):[]},lodash.flattenDepth=function flattenDepth(e,t){return(null==e?0:e.length)?baseFlatten(e,t=t===i?1:toInteger(t)):[]},lodash.flip=function flip(e){return createWrap(e,512)},lodash.flow=zn,lodash.flowRight=Vn,lodash.fromPairs=function fromPairs(e){for(var t=-1,r=null==e?0:e.length,n={};++t<r;){var i=e[t];n[i[0]]=i[1]}return n},lodash.functions=function functions(e){return null==e?[]:baseFunctions(e,keys(e))},lodash.functionsIn=function functionsIn(e){return null==e?[]:baseFunctions(e,keysIn(e))},lodash.groupBy=zr,lodash.initial=function initial(e){return(null==e?0:e.length)?baseSlice(e,0,-1):[]},lodash.intersection=Ir,lodash.intersectionBy=Or,lodash.intersectionWith=Rr,lodash.invert=wn,lodash.invertBy=In,lodash.invokeMap=Vr,lodash.iteratee=iteratee,lodash.keyBy=Ur,lodash.keys=keys,lodash.keysIn=keysIn,lodash.map=map,lodash.mapKeys=function mapKeys(e,t){var r={};return t=getIteratee(t,3),baseForOwn(e,(function(e,n,i){baseAssignValue(r,t(e,n,i),e)})),r},lodash.mapValues=function mapValues(e,t){var r={};return t=getIteratee(t,3),baseForOwn(e,(function(e,n,i){baseAssignValue(r,n,t(e,n,i))})),r},lodash.matches=function matches(e){return baseMatches(baseClone(e,1))},lodash.matchesProperty=function matchesProperty(e,t){return baseMatchesProperty(e,baseClone(t,1))},lodash.memoize=memoize,lodash.merge=Rn,lodash.mergeWith=Sn,lodash.method=Un,lodash.methodOf=Wn,lodash.mixin=mixin,lodash.negate=negate,lodash.nthArg=function nthArg(e){return e=toInteger(e),baseRest((function(t){return baseNth(t,e)}))},lodash.omit=An,lodash.omitBy=function omitBy(e,t){return pickBy(e,negate(getIteratee(t)))},lodash.once=function once(e){return before(2,e)},lodash.orderBy=function orderBy(e,t,r,n){return null==e?[]:(nn(t)||(t=null==t?[]:[t]),nn(r=n?i:r)||(r=null==r?[]:[r]),baseOrderBy(e,t,r))},lodash.over=$n,lodash.overArgs=Yr,lodash.overEvery=Bn,lodash.overSome=Zn,lodash.partial=Qr,lodash.partialRight=Jr,lodash.partition=Wr,lodash.pick=Cn,lodash.pickBy=pickBy,lodash.property=property,lodash.propertyOf=function propertyOf(e){return function(t){return null==e?i:baseGet(e,t)}},lodash.pull=Sr,lodash.pullAll=pullAll,lodash.pullAllBy=function pullAllBy(e,t,r){return e&&e.length&&t&&t.length?basePullAll(e,t,getIteratee(r,2)):e},lodash.pullAllWith=function pullAllWith(e,t,r){return e&&e.length&&t&&t.length?basePullAll(e,t,i,r):e},lodash.pullAt=Ar,lodash.range=Gn,lodash.rangeRight=Hn,lodash.rearg=Xr,lodash.reject=function reject(e,t){return(nn(e)?arrayFilter:baseFilter)(e,negate(getIteratee(t,3)))},lodash.remove=function remove(e,t){var r=[];if(!e||!e.length)return r;var n=-1,i=[],a=e.length;for(t=getIteratee(t,3);++n<a;){var s=e[n];t(s,n,e)&&(r.push(s),i.push(n))}return basePullAt(e,i),r},lodash.rest=function rest(e,t){if("function"!=typeof e)throw new Ee(a);return baseRest(e,t=t===i?t:toInteger(t))},lodash.reverse=reverse,lodash.sampleSize=function sampleSize(e,t,r){return t=(r?isIterateeCall(e,t,r):t===i)?1:toInteger(t),(nn(e)?arraySampleSize:baseSampleSize)(e,t)},lodash.set=function set(e,t,r){return null==e?e:baseSet(e,t,r)},lodash.setWith=function setWith(e,t,r,n){return n="function"==typeof n?n:i,null==e?e:baseSet(e,t,r,n)},lodash.shuffle=function shuffle(e){return(nn(e)?arrayShuffle:baseShuffle)(e)},lodash.slice=function slice(e,t,r){var n=null==e?0:e.length;return n?(r&&"number"!=typeof r&&isIterateeCall(e,t,r)?(t=0,r=n):(t=null==t?0:toInteger(t),r=r===i?n:toInteger(r)),baseSlice(e,t,r)):[]},lodash.sortBy=$r,lodash.sortedUniq=function sortedUniq(e){return e&&e.length?baseSortedUniq(e):[]},lodash.sortedUniqBy=function sortedUniqBy(e,t){return e&&e.length?baseSortedUniq(e,getIteratee(t,2)):[]},lodash.split=function split(e,t,r){return r&&"number"!=typeof r&&isIterateeCall(e,t,r)&&(t=r=i),(r=r===i?y:r>>>0)?(e=toString(e))&&("string"==typeof t||null!=t&&!cn(t))&&!(t=baseToString(t))&&hasUnicode(e)?castSlice(stringToArray(e),0,r):e.split(t,r):[]},lodash.spread=function spread(e,t){if("function"!=typeof e)throw new Ee(a);return t=null==t?0:jt(toInteger(t),0),baseRest((function(r){var n=r[t],i=castSlice(r,0,t);return n&&arrayPush(i,n),apply(e,this,i)}))},lodash.tail=function tail(e){var t=null==e?0:e.length;return t?baseSlice(e,1,t):[]},lodash.take=function take(e,t,r){return e&&e.length?baseSlice(e,0,(t=r||t===i?1:toInteger(t))<0?0:t):[]},lodash.takeRight=function takeRight(e,t,r){var n=null==e?0:e.length;return n?baseSlice(e,(t=n-(t=r||t===i?1:toInteger(t)))<0?0:t,n):[]},lodash.takeRightWhile=function takeRightWhile(e,t){return e&&e.length?baseWhile(e,getIteratee(t,3),!1,!0):[]},lodash.takeWhile=function takeWhile(e,t){return e&&e.length?baseWhile(e,getIteratee(t,3)):[]},lodash.tap=function tap(e,t){return t(e),e},lodash.throttle=function throttle(e,t,r){var n=!0,i=!0;if("function"!=typeof e)throw new Ee(a);return isObject(r)&&(n="leading"in r?!!r.leading:n,i="trailing"in r?!!r.trailing:i),debounce(e,t,{leading:n,maxWait:t,trailing:i})},lodash.thru=thru,lodash.toArray=toArray,lodash.toPairs=Tn,lodash.toPairsIn=En,lodash.toPath=function toPath(e){return nn(e)?arrayMap(e,toKey):isSymbol(e)?[e]:copyArray(br(toString(e)))},lodash.toPlainObject=toPlainObject,lodash.transform=function transform(e,t,r){var n=nn(e),i=n||sn(e)||dn(e);if(t=getIteratee(t,4),null==r){var a=e&&e.constructor;r=i?n?new a:[]:isObject(e)&&isFunction(a)?er(Ze(e)):{}}return(i?arrayEach:baseForOwn)(e,(function(e,n,i){return t(r,e,n,i)})),r},lodash.unary=function unary(e){return ary(e,1)},lodash.union=Cr,lodash.unionBy=Tr,lodash.unionWith=Er,lodash.uniq=function uniq(e){return e&&e.length?baseUniq(e):[]},lodash.uniqBy=function uniqBy(e,t){return e&&e.length?baseUniq(e,getIteratee(t,2)):[]},lodash.uniqWith=function uniqWith(e,t){return t="function"==typeof t?t:i,e&&e.length?baseUniq(e,i,t):[]},lodash.unset=function unset(e,t){return null==e||baseUnset(e,t)},lodash.unzip=unzip,lodash.unzipWith=unzipWith,lodash.update=function update(e,t,r){return null==e?e:baseUpdate(e,t,castFunction(r))},lodash.updateWith=function updateWith(e,t,r,n){return n="function"==typeof n?n:i,null==e?e:baseUpdate(e,t,castFunction(r),n)},lodash.values=values,lodash.valuesIn=function valuesIn(e){return null==e?[]:baseValues(e,keysIn(e))},lodash.without=Lr,lodash.words=words,lodash.wrap=function wrap(e,t){return Qr(castFunction(t),e)},lodash.xor=Pr,lodash.xorBy=jr,lodash.xorWith=qr,lodash.zip=xr,lodash.zipObject=function zipObject(e,t){return baseZipObject(e||[],t||[],assignValue)},lodash.zipObjectDeep=function zipObjectDeep(e,t){return baseZipObject(e||[],t||[],baseSet)},lodash.zipWith=kr,lodash.entries=Tn,lodash.entriesIn=En,lodash.extend=mn,lodash.extendWith=yn,mixin(lodash,lodash),lodash.add=Kn,lodash.attempt=Fn,lodash.camelCase=Ln,lodash.capitalize=capitalize,lodash.ceil=Yn,lodash.clamp=function clamp(e,t,r){return r===i&&(r=t,t=i),r!==i&&(r=(r=toNumber(r))==r?r:0),t!==i&&(t=(t=toNumber(t))==t?t:0),baseClamp(toNumber(e),t,r)},lodash.clone=function clone(e){return baseClone(e,4)},lodash.cloneDeep=function cloneDeep(e){return baseClone(e,5)},lodash.cloneDeepWith=function cloneDeepWith(e,t){return baseClone(e,5,t="function"==typeof t?t:i)},lodash.cloneWith=function cloneWith(e,t){return baseClone(e,4,t="function"==typeof t?t:i)},lodash.conformsTo=function conformsTo(e,t){return null==t||baseConformsTo(e,t,keys(t))},lodash.deburr=deburr,lodash.defaultTo=function defaultTo(e,t){return null==e||e!=e?t:e},lodash.divide=Qn,lodash.endsWith=function endsWith(e,t,r){e=toString(e),t=baseToString(t);var n=e.length,a=r=r===i?n:baseClamp(toInteger(r),0,n);return(r-=t.length)>=0&&e.slice(r,a)==t},lodash.eq=eq,lodash.escape=function escape(e){return(e=toString(e))&&Q.test(e)?e.replace(K,Ct):e},lodash.escapeRegExp=function escapeRegExp(e){return(e=toString(e))&&ae.test(e)?e.replace(ie,"\\$&"):e},lodash.every=function every(e,t,r){var n=nn(e)?arrayEvery:baseEvery;return r&&isIterateeCall(e,t,r)&&(t=i),n(e,getIteratee(t,3))},lodash.find=Fr,lodash.findIndex=findIndex,lodash.findKey=function findKey(e,t){return baseFindKey(e,getIteratee(t,3),baseForOwn)},lodash.findLast=Nr,lodash.findLastIndex=findLastIndex,lodash.findLastKey=function findLastKey(e,t){return baseFindKey(e,getIteratee(t,3),baseForOwnRight)},lodash.floor=Jn,lodash.forEach=forEach,lodash.forEachRight=forEachRight,lodash.forIn=function forIn(e,t){return null==e?e:nr(e,getIteratee(t,3),keysIn)},lodash.forInRight=function forInRight(e,t){return null==e?e:ir(e,getIteratee(t,3),keysIn)},lodash.forOwn=function forOwn(e,t){return e&&baseForOwn(e,getIteratee(t,3))},lodash.forOwnRight=function forOwnRight(e,t){return e&&baseForOwnRight(e,getIteratee(t,3))},lodash.get=get,lodash.gt=en,lodash.gte=tn,lodash.has=function has(e,t){return null!=e&&hasPath(e,t,baseHas)},lodash.hasIn=hasIn,lodash.head=head,lodash.identity=identity,lodash.includes=function includes(e,t,r,n){e=isArrayLike(e)?e:values(e),r=r&&!n?toInteger(r):0;var i=e.length;return r<0&&(r=jt(i+r,0)),isString(e)?r<=i&&e.indexOf(t,r)>-1:!!i&&baseIndexOf(e,t,r)>-1},lodash.indexOf=function indexOf(e,t,r){var n=null==e?0:e.length;if(!n)return-1;var i=null==r?0:toInteger(r);return i<0&&(i=jt(n+i,0)),baseIndexOf(e,t,i)},lodash.inRange=function inRange(e,t,r){return t=toFinite(t),r===i?(r=t,t=0):r=toFinite(r),function baseInRange(e,t,r){return e>=qt(t,r)&&e<jt(t,r)}(e=toNumber(e),t,r)},lodash.invoke=On,lodash.isArguments=rn,lodash.isArray=nn,lodash.isArrayBuffer=an,lodash.isArrayLike=isArrayLike,lodash.isArrayLikeObject=isArrayLikeObject,lodash.isBoolean=function isBoolean(e){return!0===e||!1===e||isObjectLike(e)&&baseGetTag(e)==_},lodash.isBuffer=sn,lodash.isDate=on,lodash.isElement=function isElement(e){return isObjectLike(e)&&1===e.nodeType&&!isPlainObject(e)},lodash.isEmpty=function isEmpty(e){if(null==e)return!0;if(isArrayLike(e)&&(nn(e)||"string"==typeof e||"function"==typeof e.splice||sn(e)||dn(e)||rn(e)))return!e.length;var t=hr(e);if(t==S||t==L)return!e.size;if(isPrototype(e))return!baseKeys(e).length;for(var r in e)if(ke.call(e,r))return!1;return!0},lodash.isEqual=function isEqual(e,t){return baseIsEqual(e,t)},lodash.isEqualWith=function isEqualWith(e,t,r){var n=(r="function"==typeof r?r:i)?r(e,t):i;return n===i?baseIsEqual(e,t,i,r):!!n},lodash.isError=isError,lodash.isFinite=function isFinite(e){return"number"==typeof e&&St(e)},lodash.isFunction=isFunction,lodash.isInteger=isInteger,lodash.isLength=isLength,lodash.isMap=un,lodash.isMatch=function isMatch(e,t){return e===t||baseIsMatch(e,t,getMatchData(t))},lodash.isMatchWith=function isMatchWith(e,t,r){return r="function"==typeof r?r:i,baseIsMatch(e,t,getMatchData(t),r)},lodash.isNaN=function isNaN(e){return isNumber(e)&&e!=+e},lodash.isNative=function isNative(e){if(pr(e))throw new oe("Unsupported core-js use. Try https://npms.io/search?q=ponyfill.");return baseIsNative(e)},lodash.isNil=function isNil(e){return null==e},lodash.isNull=function isNull(e){return null===e},lodash.isNumber=isNumber,lodash.isObject=isObject,lodash.isObjectLike=isObjectLike,lodash.isPlainObject=isPlainObject,lodash.isRegExp=cn,lodash.isSafeInteger=function isSafeInteger(e){return isInteger(e)&&e>=-9007199254740991&&e<=p},lodash.isSet=ln,lodash.isString=isString,lodash.isSymbol=isSymbol,lodash.isTypedArray=dn,lodash.isUndefined=function isUndefined(e){return e===i},lodash.isWeakMap=function isWeakMap(e){return isObjectLike(e)&&hr(e)==q},lodash.isWeakSet=function isWeakSet(e){return isObjectLike(e)&&"[object WeakSet]"==baseGetTag(e)},lodash.join=function join(e,t){return null==e?"":Lt.call(e,t)},lodash.kebabCase=Pn,lodash.last=last,lodash.lastIndexOf=function lastIndexOf(e,t,r){var n=null==e?0:e.length;if(!n)return-1;var a=n;return r!==i&&(a=(a=toInteger(r))<0?jt(n+a,0):qt(a,n-1)),t==t?function strictLastIndexOf(e,t,r){for(var n=r+1;n--;)if(e[n]===t)return n;return n}(e,t,a):baseFindIndex(e,baseIsNaN,a,!0)},lodash.lowerCase=jn,lodash.lowerFirst=qn,lodash.lt=fn,lodash.lte=hn,lodash.max=function max(e){return e&&e.length?baseExtremum(e,identity,baseGt):i},lodash.maxBy=function maxBy(e,t){return e&&e.length?baseExtremum(e,getIteratee(t,2),baseGt):i},lodash.mean=function mean(e){return baseMean(e,identity)},lodash.meanBy=function meanBy(e,t){return baseMean(e,getIteratee(t,2))},lodash.min=function min(e){return e&&e.length?baseExtremum(e,identity,baseLt):i},lodash.minBy=function minBy(e,t){return e&&e.length?baseExtremum(e,getIteratee(t,2),baseLt):i},lodash.stubArray=stubArray,lodash.stubFalse=stubFalse,lodash.stubObject=function stubObject(){return{}},lodash.stubString=function stubString(){return""},lodash.stubTrue=function stubTrue(){return!0},lodash.multiply=ei,lodash.nth=function nth(e,t){return e&&e.length?baseNth(e,toInteger(t)):i},lodash.noConflict=function noConflict(){return ht._===this&&(ht._=ze),this},lodash.noop=noop,lodash.now=Br,lodash.pad=function pad(e,t,r){e=toString(e);var n=(t=toInteger(t))?stringSize(e):0;if(!t||n>=t)return e;var i=(t-n)/2;return createPadding(mt(i),r)+e+createPadding(pt(i),r)},lodash.padEnd=function padEnd(e,t,r){e=toString(e);var n=(t=toInteger(t))?stringSize(e):0;return t&&n<t?e+createPadding(t-n,r):e},lodash.padStart=function padStart(e,t,r){e=toString(e);var n=(t=toInteger(t))?stringSize(e):0;return t&&n<t?createPadding(t-n,r)+e:e},lodash.parseInt=function parseInt(e,t,r){return r||null==t?t=0:t&&(t=+t),kt(toString(e).replace(se,""),t||0)},lodash.random=function random(e,t,r){if(r&&"boolean"!=typeof r&&isIterateeCall(e,t,r)&&(t=r=i),r===i&&("boolean"==typeof t?(r=t,t=i):"boolean"==typeof e&&(r=e,e=i)),e===i&&t===i?(e=0,t=1):(e=toFinite(e),t===i?(t=e,e=0):t=toFinite(t)),e>t){var n=e;e=t,t=n}if(r||e%1||t%1){var a=Mt();return qt(e+a*(t-e+ct("1e-"+((a+"").length-1))),t)}return baseRandom(e,t)},lodash.reduce=function reduce(e,t,r){var n=nn(e)?arrayReduce:baseReduce,i=arguments.length<3;return n(e,getIteratee(t,4),r,i,tr)},lodash.reduceRight=function reduceRight(e,t,r){var n=nn(e)?arrayReduceRight:baseReduce,i=arguments.length<3;return n(e,getIteratee(t,4),r,i,rr)},lodash.repeat=function repeat(e,t,r){return t=(r?isIterateeCall(e,t,r):t===i)?1:toInteger(t),baseRepeat(toString(e),t)},lodash.replace=function replace(){var e=arguments,t=toString(e[0]);return e.length<3?t:t.replace(e[1],e[2])},lodash.result=function result(e,t,r){var n=-1,a=(t=castPath(t,e)).length;for(a||(a=1,e=i);++n<a;){var s=null==e?i:e[toKey(t[n])];s===i&&(n=a,s=r),e=isFunction(s)?s.call(e):s}return e},lodash.round=ti,lodash.runInContext=runInContext,lodash.sample=function sample(e){return(nn(e)?arraySample:baseSample)(e)},lodash.size=function size(e){if(null==e)return 0;if(isArrayLike(e))return isString(e)?stringSize(e):e.length;var t=hr(e);return t==S||t==L?e.size:baseKeys(e).length},lodash.snakeCase=xn,lodash.some=function some(e,t,r){var n=nn(e)?arraySome:baseSome;return r&&isIterateeCall(e,t,r)&&(t=i),n(e,getIteratee(t,3))},lodash.sortedIndex=function sortedIndex(e,t){return baseSortedIndex(e,t)},lodash.sortedIndexBy=function sortedIndexBy(e,t,r){return baseSortedIndexBy(e,t,getIteratee(r,2))},lodash.sortedIndexOf=function sortedIndexOf(e,t){var r=null==e?0:e.length;if(r){var n=baseSortedIndex(e,t);if(n<r&&eq(e[n],t))return n}return-1},lodash.sortedLastIndex=function sortedLastIndex(e,t){return baseSortedIndex(e,t,!0)},lodash.sortedLastIndexBy=function sortedLastIndexBy(e,t,r){return baseSortedIndexBy(e,t,getIteratee(r,2),!0)},lodash.sortedLastIndexOf=function sortedLastIndexOf(e,t){if(null==e?0:e.length){var r=baseSortedIndex(e,t,!0)-1;if(eq(e[r],t))return r}return-1},lodash.startCase=kn,lodash.startsWith=function startsWith(e,t,r){return e=toString(e),r=null==r?0:baseClamp(toInteger(r),0,e.length),t=baseToString(t),e.slice(r,r+t.length)==t},lodash.subtract=ri,lodash.sum=function sum(e){return e&&e.length?baseSum(e,identity):0},lodash.sumBy=function sumBy(e,t){return e&&e.length?baseSum(e,getIteratee(t,2)):0},lodash.template=function template(e,t,r){var n=lodash.templateSettings;r&&isIterateeCall(e,t,r)&&(t=i),e=toString(e),t=yn({},t,n,customDefaultsAssignIn);var a,s,o=yn({},t.imports,n.imports,customDefaultsAssignIn),u=keys(o),c=baseValues(o,u),l=0,d=t.interpolate||Ie,f="__p += '",h=Ce((t.escape||Ie).source+"|"+d.source+"|"+(d===ee?pe:Ie).source+"|"+(t.evaluate||Ie).source+"|$","g"),p="//# sourceURL="+(ke.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++at+"]")+"\n";e.replace(h,(function(t,r,n,i,o,u){return n||(n=i),f+=e.slice(l,u).replace(Oe,escapeStringChar),r&&(a=!0,f+="' +\n__e("+r+") +\n'"),o&&(s=!0,f+="';\n"+o+";\n__p += '"),n&&(f+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=u+t.length,t})),f+="';\n";var m=ke.call(t,"variable")&&t.variable;if(m){if(fe.test(m))throw new oe("Invalid `variable` option passed into `_.template`")}else f="with (obj) {\n"+f+"\n}\n";f=(s?f.replace(B,""):f).replace(Z,"$1").replace(G,"$1;"),f="function("+(m||"obj")+") {\n"+(m?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(a?", __e = _.escape":"")+(s?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+f+"return __p\n}";var y=Fn((function(){return Re(u,p+"return "+f).apply(i,c)}));if(y.source=f,isError(y))throw y;return y},lodash.times=function times(e,t){if((e=toInteger(e))<1||e>p)return[];var r=y,n=qt(e,y);t=getIteratee(t),e-=y;for(var i=baseTimes(n,t);++r<e;)t(r);return i},lodash.toFinite=toFinite,lodash.toInteger=toInteger,lodash.toLength=toLength,lodash.toLower=function toLower(e){return toString(e).toLowerCase()},lodash.toNumber=toNumber,lodash.toSafeInteger=function toSafeInteger(e){return e?baseClamp(toInteger(e),-9007199254740991,p):0===e?e:0},lodash.toString=toString,lodash.toUpper=function toUpper(e){return toString(e).toUpperCase()},lodash.trim=function trim(e,t,r){if((e=toString(e))&&(r||t===i))return baseTrim(e);if(!e||!(t=baseToString(t)))return e;var n=stringToArray(e),a=stringToArray(t);return castSlice(n,charsStartIndex(n,a),charsEndIndex(n,a)+1).join("")},lodash.trimEnd=function trimEnd(e,t,r){if((e=toString(e))&&(r||t===i))return e.slice(0,trimmedEndIndex(e)+1);if(!e||!(t=baseToString(t)))return e;var n=stringToArray(e);return castSlice(n,0,charsEndIndex(n,stringToArray(t))+1).join("")},lodash.trimStart=function trimStart(e,t,r){if((e=toString(e))&&(r||t===i))return e.replace(se,"");if(!e||!(t=baseToString(t)))return e;var n=stringToArray(e);return castSlice(n,charsStartIndex(n,stringToArray(t))).join("")},lodash.truncate=function truncate(e,t){var r=30,n="...";if(isObject(t)){var a="separator"in t?t.separator:a;r="length"in t?toInteger(t.length):r,n="omission"in t?baseToString(t.omission):n}var s=(e=toString(e)).length;if(hasUnicode(e)){var o=stringToArray(e);s=o.length}if(r>=s)return e;var u=r-stringSize(n);if(u<1)return n;var c=o?castSlice(o,0,u).join(""):e.slice(0,u);if(a===i)return c+n;if(o&&(u+=c.length-u),cn(a)){if(e.slice(u).search(a)){var l,d=c;for(a.global||(a=Ce(a.source,toString(me.exec(a))+"g")),a.lastIndex=0;l=a.exec(d);)var f=l.index;c=c.slice(0,f===i?u:f)}}else if(e.indexOf(baseToString(a),u)!=u){var h=c.lastIndexOf(a);h>-1&&(c=c.slice(0,h))}return c+n},lodash.unescape=function unescape(e){return(e=toString(e))&&Y.test(e)?e.replace(H,Tt):e},lodash.uniqueId=function uniqueId(e){var t=++Me;return toString(e)+t},lodash.upperCase=Mn,lodash.upperFirst=Dn,lodash.each=forEach,lodash.eachRight=forEachRight,lodash.first=head,mixin(lodash,(Xn={},baseForOwn(lodash,(function(e,t){ke.call(lodash.prototype,t)||(Xn[t]=e)})),Xn),{chain:!1}),lodash.VERSION="4.17.21",arrayEach(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){lodash[e].placeholder=lodash})),arrayEach(["drop","take"],(function(e,t){LazyWrapper.prototype[e]=function(r){r=r===i?1:jt(toInteger(r),0);var n=this.__filtered__&&!t?new LazyWrapper(this):this.clone();return n.__filtered__?n.__takeCount__=qt(r,n.__takeCount__):n.__views__.push({size:qt(r,y),type:e+(n.__dir__<0?"Right":"")}),n},LazyWrapper.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}})),arrayEach(["filter","map","takeWhile"],(function(e,t){var r=t+1,n=1==r||3==r;LazyWrapper.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:getIteratee(e,3),type:r}),t.__filtered__=t.__filtered__||n,t}})),arrayEach(["head","last"],(function(e,t){var r="take"+(t?"Right":"");LazyWrapper.prototype[e]=function(){return this[r](1).value()[0]}})),arrayEach(["initial","tail"],(function(e,t){var r="drop"+(t?"":"Right");LazyWrapper.prototype[e]=function(){return this.__filtered__?new LazyWrapper(this):this[r](1)}})),LazyWrapper.prototype.compact=function(){return this.filter(identity)},LazyWrapper.prototype.find=function(e){return this.filter(e).head()},LazyWrapper.prototype.findLast=function(e){return this.reverse().find(e)},LazyWrapper.prototype.invokeMap=baseRest((function(e,t){return"function"==typeof e?new LazyWrapper(this):this.map((function(r){return baseInvoke(r,e,t)}))})),LazyWrapper.prototype.reject=function(e){return this.filter(negate(getIteratee(e)))},LazyWrapper.prototype.slice=function(e,t){e=toInteger(e);var r=this;return r.__filtered__&&(e>0||t<0)?new LazyWrapper(r):(e<0?r=r.takeRight(-e):e&&(r=r.drop(e)),t!==i&&(r=(t=toInteger(t))<0?r.dropRight(-t):r.take(t-e)),r)},LazyWrapper.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},LazyWrapper.prototype.toArray=function(){return this.take(y)},baseForOwn(LazyWrapper.prototype,(function(e,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),n=/^(?:head|last)$/.test(t),a=lodash[n?"take"+("last"==t?"Right":""):t],s=n||/^find/.test(t);a&&(lodash.prototype[t]=function(){var t=this.__wrapped__,o=n?[1]:arguments,u=t instanceof LazyWrapper,c=o[0],l=u||nn(t),interceptor=function(e){var t=a.apply(lodash,arrayPush([e],o));return n&&d?t[0]:t};l&&r&&"function"==typeof c&&1!=c.length&&(u=l=!1);var d=this.__chain__,f=!!this.__actions__.length,h=s&&!d,p=u&&!f;if(!s&&l){t=p?t:new LazyWrapper(this);var m=e.apply(t,o);return m.__actions__.push({func:thru,args:[interceptor],thisArg:i}),new LodashWrapper(m,d)}return h&&p?e.apply(this,o):(m=this.thru(interceptor),h?n?m.value()[0]:m.value():m)})})),arrayEach(["pop","push","shift","sort","splice","unshift"],(function(e){var t=Le[e],r=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",n=/^(?:pop|shift)$/.test(e);lodash.prototype[e]=function(){var e=arguments;if(n&&!this.__chain__){var i=this.value();return t.apply(nn(i)?i:[],e)}return this[r]((function(r){return t.apply(nn(r)?r:[],e)}))}})),baseForOwn(LazyWrapper.prototype,(function(e,t){var r=lodash[t];if(r){var n=r.name+"";ke.call(Bt,n)||(Bt[n]=[]),Bt[n].push({name:t,func:r})}})),Bt[createHybrid(i,2).name]=[{name:"wrapper",func:i}],LazyWrapper.prototype.clone=function lazyClone(){var e=new LazyWrapper(this.__wrapped__);return e.__actions__=copyArray(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=copyArray(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=copyArray(this.__views__),e},LazyWrapper.prototype.reverse=function lazyReverse(){if(this.__filtered__){var e=new LazyWrapper(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},LazyWrapper.prototype.value=function lazyValue(){var e=this.__wrapped__.value(),t=this.__dir__,r=nn(e),n=t<0,i=r?e.length:0,a=function getView(e,t,r){var n=-1,i=r.length;for(;++n<i;){var a=r[n],s=a.size;switch(a.type){case"drop":e+=s;break;case"dropRight":t-=s;break;case"take":t=qt(t,e+s);break;case"takeRight":e=jt(e,t-s)}}return{start:e,end:t}}(0,i,this.__views__),s=a.start,o=a.end,u=o-s,c=n?o:s-1,l=this.__iteratees__,d=l.length,f=0,h=qt(u,this.__takeCount__);if(!r||!n&&i==u&&h==u)return baseWrapperValue(e,this.__actions__);var p=[];e:for(;u--&&f<h;){for(var m=-1,y=e[c+=t];++m<d;){var g=l[m],b=g.iteratee,v=g.type,_=b(y);if(2==v)y=_;else if(!_){if(1==v)continue e;break e}}p[f++]=y}return p},lodash.prototype.at=Mr,lodash.prototype.chain=function wrapperChain(){return chain(this)},lodash.prototype.commit=function wrapperCommit(){return new LodashWrapper(this.value(),this.__chain__)},lodash.prototype.next=function wrapperNext(){this.__values__===i&&(this.__values__=toArray(this.value()));var e=this.__index__>=this.__values__.length;return{done:e,value:e?i:this.__values__[this.__index__++]}},lodash.prototype.plant=function wrapperPlant(e){for(var t,r=this;r instanceof baseLodash;){var n=wrapperClone(r);n.__index__=0,n.__values__=i,t?a.__wrapped__=n:t=n;var a=n;r=r.__wrapped__}return a.__wrapped__=e,t},lodash.prototype.reverse=function wrapperReverse(){var e=this.__wrapped__;if(e instanceof LazyWrapper){var t=e;return this.__actions__.length&&(t=new LazyWrapper(this)),(t=t.reverse()).__actions__.push({func:thru,args:[reverse],thisArg:i}),new LodashWrapper(t,this.__chain__)}return this.thru(reverse)},lodash.prototype.toJSON=lodash.prototype.valueOf=lodash.prototype.value=function wrapperValue(){return baseWrapperValue(this.__wrapped__,this.__actions__)},lodash.prototype.first=lodash.prototype.head,Qe&&(lodash.prototype[Qe]=function wrapperToIterator(){return this}),lodash}();ht._=Et,(n=function(){return Et}.call(t,r,t,e))===i||(e.exports=n)}.call(this)},8565:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});class LuxonError extends Error{}class InvalidDateTimeError extends LuxonError{constructor(e){super(`Invalid DateTime: ${e.toMessage()}`)}}class InvalidIntervalError extends LuxonError{constructor(e){super(`Invalid Interval: ${e.toMessage()}`)}}class InvalidDurationError extends LuxonError{constructor(e){super(`Invalid Duration: ${e.toMessage()}`)}}class ConflictingSpecificationError extends LuxonError{}class InvalidUnitError extends LuxonError{constructor(e){super(`Invalid unit ${e}`)}}class InvalidArgumentError extends LuxonError{}class ZoneIsAbstractError extends LuxonError{constructor(){super("Zone is an abstract class")}}const r="numeric",n="short",i="long",a={year:r,month:r,day:r},s={year:r,month:n,day:r},o={year:r,month:n,day:r,weekday:n},u={year:r,month:i,day:r},c={year:r,month:i,day:r,weekday:i},l={hour:r,minute:r},d={hour:r,minute:r,second:r},f={hour:r,minute:r,second:r,timeZoneName:n},h={hour:r,minute:r,second:r,timeZoneName:i},p={hour:r,minute:r,hourCycle:"h23"},m={hour:r,minute:r,second:r,hourCycle:"h23"},y={hour:r,minute:r,second:r,hourCycle:"h23",timeZoneName:n},g={hour:r,minute:r,second:r,hourCycle:"h23",timeZoneName:i},b={year:r,month:r,day:r,hour:r,minute:r},v={year:r,month:r,day:r,hour:r,minute:r,second:r},_={year:r,month:n,day:r,hour:r,minute:r},w={year:r,month:n,day:r,hour:r,minute:r,second:r},I={year:r,month:n,day:r,weekday:n,hour:r,minute:r},O={year:r,month:i,day:r,hour:r,minute:r,timeZoneName:n},R={year:r,month:i,day:r,hour:r,minute:r,second:r,timeZoneName:n},S={year:r,month:i,day:r,weekday:i,hour:r,minute:r,timeZoneName:i},A={year:r,month:i,day:r,weekday:i,hour:r,minute:r,second:r,timeZoneName:i};function isUndefined(e){return void 0===e}function isNumber(e){return"number"==typeof e}function isInteger(e){return"number"==typeof e&&e%1==0}function hasRelative(){try{return"undefined"!=typeof Intl&&!!Intl.RelativeTimeFormat}catch(e){return!1}}function bestBy(e,t,r){if(0!==e.length)return e.reduce(((e,n)=>{const i=[t(n),n];return e&&r(e[0],i[0])===e[0]?e:i}),null)[1]}function hasOwnProperty(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function integerBetween(e,t,r){return isInteger(e)&&e>=t&&e<=r}function padStart(e,t=2){let r;return r=e<0?"-"+(""+-e).padStart(t,"0"):(""+e).padStart(t,"0"),r}function parseInteger(e){return isUndefined(e)||null===e||""===e?void 0:parseInt(e,10)}function parseFloating(e){return isUndefined(e)||null===e||""===e?void 0:parseFloat(e)}function parseMillis(e){if(!isUndefined(e)&&null!==e&&""!==e){const t=1e3*parseFloat("0."+e);return Math.floor(t)}}function roundTo(e,t,r=!1){const n=10**t;return(r?Math.trunc:Math.round)(e*n)/n}function isLeapYear(e){return e%4==0&&(e%100!=0||e%400==0)}function daysInYear(e){return isLeapYear(e)?366:365}function daysInMonth(e,t){const r=function floorMod(e,t){return e-t*Math.floor(e/t)}(t-1,12)+1;return 2===r?isLeapYear(e+(t-r)/12)?29:28:[31,null,31,30,31,30,31,31,30,31,30,31][r-1]}function objToLocalTS(e){let t=Date.UTC(e.year,e.month-1,e.day,e.hour,e.minute,e.second,e.millisecond);return e.year<100&&e.year>=0&&(t=new Date(t),t.setUTCFullYear(t.getUTCFullYear()-1900)),+t}function weeksInWeekYear(e){const t=(e+Math.floor(e/4)-Math.floor(e/100)+Math.floor(e/400))%7,r=e-1,n=(r+Math.floor(r/4)-Math.floor(r/100)+Math.floor(r/400))%7;return 4===t||3===n?53:52}function untruncateYear(e){return e>99?e:e>60?1900+e:2e3+e}function parseZoneInfo(e,t,r,n=null){const i=new Date(e),a={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};n&&(a.timeZone=n);const s={timeZoneName:t,...a},o=new Intl.DateTimeFormat(r,s).formatToParts(i).find((e=>"timezonename"===e.type.toLowerCase()));return o?o.value:null}function signedOffset(e,t){let r=parseInt(e,10);Number.isNaN(r)&&(r=0);const n=parseInt(t,10)||0;return 60*r+(r<0||Object.is(r,-0)?-n:n)}function asNumber(e){const t=Number(e);if("boolean"==typeof e||""===e||Number.isNaN(t))throw new InvalidArgumentError(`Invalid unit value ${e}`);return t}function normalizeObject(e,t){const r={};for(const n in e)if(hasOwnProperty(e,n)){const i=e[n];if(null==i)continue;r[t(n)]=asNumber(i)}return r}function formatOffset(e,t){const r=Math.trunc(Math.abs(e/60)),n=Math.trunc(Math.abs(e%60)),i=e>=0?"+":"-";switch(t){case"short":return`${i}${padStart(r,2)}:${padStart(n,2)}`;case"narrow":return`${i}${r}${n>0?`:${n}`:""}`;case"techie":return`${i}${padStart(r,2)}${padStart(n,2)}`;default:throw new RangeError(`Value format ${t} is out of range for property format`)}}function timeObject(e){return function pick(e,t){return t.reduce(((t,r)=>(t[r]=e[r],t)),{})}(e,["hour","minute","second","millisecond"])}const C=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/,T=["January","February","March","April","May","June","July","August","September","October","November","December"],E=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],L=["J","F","M","A","M","J","J","A","S","O","N","D"];function months(e){switch(e){case"narrow":return[...L];case"short":return[...E];case"long":return[...T];case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}const P=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],j=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],q=["M","T","W","T","F","S","S"];function weekdays(e){switch(e){case"narrow":return[...q];case"short":return[...j];case"long":return[...P];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}const x=["AM","PM"],k=["Before Christ","Anno Domini"],M=["BC","AD"],D=["B","A"];function eras(e){switch(e){case"narrow":return[...D];case"short":return[...M];case"long":return[...k];default:return null}}function stringifyTokens(e,t){let r="";for(const n of e)n.literal?r+=n.val:r+=t(n.val);return r}const F={D:a,DD:s,DDD:u,DDDD:c,t:l,tt:d,ttt:f,tttt:h,T:p,TT:m,TTT:y,TTTT:g,f:b,ff:_,fff:O,ffff:S,F:v,FF:w,FFF:R,FFFF:A};class Formatter{static create(e,t={}){return new Formatter(e,t)}static parseFormat(e){let t=null,r="",n=!1;const i=[];for(let a=0;a<e.length;a++){const s=e.charAt(a);"'"===s?(r.length>0&&i.push({literal:n,val:r}),t=null,r="",n=!n):n||s===t?r+=s:(r.length>0&&i.push({literal:!1,val:r}),r=s,t=s)}return r.length>0&&i.push({literal:n,val:r}),i}static macroTokenToFormatOpts(e){return F[e]}constructor(e,t){this.opts=t,this.loc=e,this.systemLoc=null}formatWithSystemDefault(e,t){null===this.systemLoc&&(this.systemLoc=this.loc.redefaultToSystem());return this.systemLoc.dtFormatter(e,{...this.opts,...t}).format()}formatDateTime(e,t={}){return this.loc.dtFormatter(e,{...this.opts,...t}).format()}formatDateTimeParts(e,t={}){return this.loc.dtFormatter(e,{...this.opts,...t}).formatToParts()}resolvedOptions(e,t={}){return this.loc.dtFormatter(e,{...this.opts,...t}).resolvedOptions()}num(e,t=0){if(this.opts.forceSimple)return padStart(e,t);const r={...this.opts};return t>0&&(r.padTo=t),this.loc.numberFormatter(r).format(e)}formatDateTimeFromString(e,t){const r="en"===this.loc.listingMode(),n=this.loc.outputCalendar&&"gregory"!==this.loc.outputCalendar,string=(t,r)=>this.loc.extract(e,t,r),formatOffset=t=>e.isOffsetFixed&&0===e.offset&&t.allowZ?"Z":e.isValid?e.zone.formatOffset(e.ts,t.format):"",meridiem=()=>r?function meridiemForDateTime(e){return x[e.hour<12?0:1]}(e):string({hour:"numeric",hourCycle:"h12"},"dayperiod"),month=(t,n)=>r?function monthForDateTime(e,t){return months(t)[e.month-1]}(e,t):string(n?{month:t}:{month:t,day:"numeric"},"month"),weekday=(t,n)=>r?function weekdayForDateTime(e,t){return weekdays(t)[e.weekday-1]}(e,t):string(n?{weekday:t}:{weekday:t,month:"long",day:"numeric"},"weekday"),maybeMacro=t=>{const r=Formatter.macroTokenToFormatOpts(t);return r?this.formatWithSystemDefault(e,r):t},era=t=>r?function eraForDateTime(e,t){return eras(t)[e.year<0?0:1]}(e,t):string({era:t},"era");return stringifyTokens(Formatter.parseFormat(t),(t=>{switch(t){case"S":return this.num(e.millisecond);case"u":case"SSS":return this.num(e.millisecond,3);case"s":return this.num(e.second);case"ss":return this.num(e.second,2);case"uu":return this.num(Math.floor(e.millisecond/10),2);case"uuu":return this.num(Math.floor(e.millisecond/100));case"m":return this.num(e.minute);case"mm":return this.num(e.minute,2);case"h":return this.num(e.hour%12==0?12:e.hour%12);case"hh":return this.num(e.hour%12==0?12:e.hour%12,2);case"H":return this.num(e.hour);case"HH":return this.num(e.hour,2);case"Z":return formatOffset({format:"narrow",allowZ:this.opts.allowZ});case"ZZ":return formatOffset({format:"short",allowZ:this.opts.allowZ});case"ZZZ":return formatOffset({format:"techie",allowZ:this.opts.allowZ});case"ZZZZ":return e.zone.offsetName(e.ts,{format:"short",locale:this.loc.locale});case"ZZZZZ":return e.zone.offsetName(e.ts,{format:"long",locale:this.loc.locale});case"z":return e.zoneName;case"a":return meridiem();case"d":return n?string({day:"numeric"},"day"):this.num(e.day);case"dd":return n?string({day:"2-digit"},"day"):this.num(e.day,2);case"c":case"E":return this.num(e.weekday);case"ccc":return weekday("short",!0);case"cccc":return weekday("long",!0);case"ccccc":return weekday("narrow",!0);case"EEE":return weekday("short",!1);case"EEEE":return weekday("long",!1);case"EEEEE":return weekday("narrow",!1);case"L":return n?string({month:"numeric",day:"numeric"},"month"):this.num(e.month);case"LL":return n?string({month:"2-digit",day:"numeric"},"month"):this.num(e.month,2);case"LLL":return month("short",!0);case"LLLL":return month("long",!0);case"LLLLL":return month("narrow",!0);case"M":return n?string({month:"numeric"},"month"):this.num(e.month);case"MM":return n?string({month:"2-digit"},"month"):this.num(e.month,2);case"MMM":return month("short",!1);case"MMMM":return month("long",!1);case"MMMMM":return month("narrow",!1);case"y":return n?string({year:"numeric"},"year"):this.num(e.year);case"yy":return n?string({year:"2-digit"},"year"):this.num(e.year.toString().slice(-2),2);case"yyyy":return n?string({year:"numeric"},"year"):this.num(e.year,4);case"yyyyyy":return n?string({year:"numeric"},"year"):this.num(e.year,6);case"G":return era("short");case"GG":return era("long");case"GGGGG":return era("narrow");case"kk":return this.num(e.weekYear.toString().slice(-2),2);case"kkkk":return this.num(e.weekYear,4);case"W":return this.num(e.weekNumber);case"WW":return this.num(e.weekNumber,2);case"o":return this.num(e.ordinal);case"ooo":return this.num(e.ordinal,3);case"q":return this.num(e.quarter);case"qq":return this.num(e.quarter,2);case"X":return this.num(Math.floor(e.ts/1e3));case"x":return this.num(e.ts);default:return maybeMacro(t)}}))}formatDurationFromString(e,t){const tokenToField=e=>{switch(e[0]){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":return"hour";case"d":return"day";case"w":return"week";case"M":return"month";case"y":return"year";default:return null}},r=Formatter.parseFormat(t),n=r.reduce(((e,{literal:t,val:r})=>t?e:e.concat(r)),[]);return stringifyTokens(r,(e=>t=>{const r=tokenToField(t);return r?this.num(e.get(r),t.length):t})(e.shiftTo(...n.map(tokenToField).filter((e=>e)))))}}class Invalid{constructor(e,t){this.reason=e,this.explanation=t}toMessage(){return this.explanation?`${this.reason}: ${this.explanation}`:this.reason}}class Zone{get type(){throw new ZoneIsAbstractError}get name(){throw new ZoneIsAbstractError}get ianaName(){return this.name}get isUniversal(){throw new ZoneIsAbstractError}offsetName(e,t){throw new ZoneIsAbstractError}formatOffset(e,t){throw new ZoneIsAbstractError}offset(e){throw new ZoneIsAbstractError}equals(e){throw new ZoneIsAbstractError}get isValid(){throw new ZoneIsAbstractError}}let N=null;class SystemZone extends Zone{static get instance(){return null===N&&(N=new SystemZone),N}get type(){return"system"}get name(){return(new Intl.DateTimeFormat).resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(e,{format:t,locale:r}){return parseZoneInfo(e,t,r)}formatOffset(e,t){return formatOffset(this.offset(e),t)}offset(e){return-new Date(e).getTimezoneOffset()}equals(e){return"system"===e.type}get isValid(){return!0}}let z={};const V={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};let U={};class IANAZone extends Zone{static create(e){return U[e]||(U[e]=new IANAZone(e)),U[e]}static resetCache(){U={},z={}}static isValidSpecifier(e){return this.isValidZone(e)}static isValidZone(e){if(!e)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:e}).format(),!0}catch(e){return!1}}constructor(e){super(),this.zoneName=e,this.valid=IANAZone.isValidZone(e)}get type(){return"iana"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(e,{format:t,locale:r}){return parseZoneInfo(e,t,r,this.name)}formatOffset(e,t){return formatOffset(this.offset(e),t)}offset(e){const t=new Date(e);if(isNaN(t))return NaN;const r=function makeDTF(e){return z[e]||(z[e]=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:e,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",era:"short"})),z[e]}(this.name);let[n,i,a,s,o,u,c]=r.formatToParts?function partsOffset(e,t){const r=e.formatToParts(t),n=[];for(let e=0;e<r.length;e++){const{type:t,value:i}=r[e],a=V[t];"era"===t?n[a]=i:isUndefined(a)||(n[a]=parseInt(i,10))}return n}(r,t):function hackyOffset(e,t){const r=e.format(t).replace(/\u200E/g,""),n=/(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(r),[,i,a,s,o,u,c,l]=n;return[s,i,a,o,u,c,l]}(r,t);"BC"===s&&(n=1-Math.abs(n));let l=+t;const d=l%1e3;return l-=d>=0?d:1e3+d,(objToLocalTS({year:n,month:i,day:a,hour:24===o?0:o,minute:u,second:c,millisecond:0})-l)/6e4}equals(e){return"iana"===e.type&&e.name===this.name}get isValid(){return this.valid}}let W=null;class FixedOffsetZone extends Zone{static get utcInstance(){return null===W&&(W=new FixedOffsetZone(0)),W}static instance(e){return 0===e?FixedOffsetZone.utcInstance:new FixedOffsetZone(e)}static parseSpecifier(e){if(e){const t=e.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(t)return new FixedOffsetZone(signedOffset(t[1],t[2]))}return null}constructor(e){super(),this.fixed=e}get type(){return"fixed"}get name(){return 0===this.fixed?"UTC":`UTC${formatOffset(this.fixed,"narrow")}`}get ianaName(){return 0===this.fixed?"Etc/UTC":`Etc/GMT${formatOffset(-this.fixed,"narrow")}`}offsetName(){return this.name}formatOffset(e,t){return formatOffset(this.fixed,t)}get isUniversal(){return!0}offset(){return this.fixed}equals(e){return"fixed"===e.type&&e.fixed===this.fixed}get isValid(){return!0}}class InvalidZone extends Zone{constructor(e){super(),this.zoneName=e}get type(){return"invalid"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(){return null}formatOffset(){return""}offset(){return NaN}equals(){return!1}get isValid(){return!1}}function normalizeZone(e,t){if(isUndefined(e)||null===e)return t;if(e instanceof Zone)return e;if(function isString(e){return"string"==typeof e}(e)){const r=e.toLowerCase();return"default"===r?t:"local"===r||"system"===r?SystemZone.instance:"utc"===r||"gmt"===r?FixedOffsetZone.utcInstance:FixedOffsetZone.parseSpecifier(r)||IANAZone.create(e)}return isNumber(e)?FixedOffsetZone.instance(e):"object"==typeof e&&e.offset&&"number"==typeof e.offset?e:new InvalidZone(e)}let $,now=()=>Date.now(),B="system",Z=null,G=null,H=null;class Settings{static get now(){return now}static set now(e){now=e}static set defaultZone(e){B=e}static get defaultZone(){return normalizeZone(B,SystemZone.instance)}static get defaultLocale(){return Z}static set defaultLocale(e){Z=e}static get defaultNumberingSystem(){return G}static set defaultNumberingSystem(e){G=e}static get defaultOutputCalendar(){return H}static set defaultOutputCalendar(e){H=e}static get throwOnInvalid(){return $}static set throwOnInvalid(e){$=e}static resetCaches(){Locale.resetCache(),IANAZone.resetCache()}}let K={};let Y={};function getCachedDTF(e,t={}){const r=JSON.stringify([e,t]);let n=Y[r];return n||(n=new Intl.DateTimeFormat(e,t),Y[r]=n),n}let Q={};let J={};let X=null;function listStuff(e,t,r,n,i){const a=e.listingMode(r);return"error"===a?null:"en"===a?n(t):i(t)}class PolyNumberFormatter{constructor(e,t,r){this.padTo=r.padTo||0,this.floor=r.floor||!1;const{padTo:n,floor:i,...a}=r;if(!t||Object.keys(a).length>0){const t={useGrouping:!1,...r};r.padTo>0&&(t.minimumIntegerDigits=r.padTo),this.inf=function getCachedINF(e,t={}){const r=JSON.stringify([e,t]);let n=Q[r];return n||(n=new Intl.NumberFormat(e,t),Q[r]=n),n}(e,t)}}format(e){if(this.inf){const t=this.floor?Math.floor(e):e;return this.inf.format(t)}return padStart(this.floor?Math.floor(e):roundTo(e,3),this.padTo)}}class PolyDateFormatter{constructor(e,t,r){let n;if(this.opts=r,e.zone.isUniversal){const t=e.offset/60*-1,i=t>=0?`Etc/GMT+${t}`:`Etc/GMT${t}`;0!==e.offset&&IANAZone.create(i).valid?(n=i,this.dt=e):(n="UTC",r.timeZoneName?this.dt=e:this.dt=0===e.offset?e:DateTime.fromMillis(e.ts+60*e.offset*1e3))}else"system"===e.zone.type?this.dt=e:(this.dt=e,n=e.zone.name);const i={...this.opts};n&&(i.timeZone=n),this.dtf=getCachedDTF(t,i)}format(){return this.dtf.format(this.dt.toJSDate())}formatToParts(){return this.dtf.formatToParts(this.dt.toJSDate())}resolvedOptions(){return this.dtf.resolvedOptions()}}class PolyRelFormatter{constructor(e,t,r){this.opts={style:"long",...r},!t&&hasRelative()&&(this.rtf=function getCachedRTF(e,t={}){const{base:r,...n}=t,i=JSON.stringify([e,n]);let a=J[i];return a||(a=new Intl.RelativeTimeFormat(e,t),J[i]=a),a}(e,r))}format(e,t){return this.rtf?this.rtf.format(e,t):function formatRelativeTime(e,t,r="always",n=!1){const i={years:["year","yr."],quarters:["quarter","qtr."],months:["month","mo."],weeks:["week","wk."],days:["day","day","days"],hours:["hour","hr."],minutes:["minute","min."],seconds:["second","sec."]},a=-1===["hours","minutes","seconds"].indexOf(e);if("auto"===r&&a){const r="days"===e;switch(t){case 1:return r?"tomorrow":`next ${i[e][0]}`;case-1:return r?"yesterday":`last ${i[e][0]}`;case 0:return r?"today":`this ${i[e][0]}`}}const s=Object.is(t,-0)||t<0,o=Math.abs(t),u=1===o,c=i[e],l=n?u?c[1]:c[2]||c[1]:u?i[e][0]:e;return s?`${o} ${l} ago`:`in ${o} ${l}`}(t,e,this.opts.numeric,"long"!==this.opts.style)}formatToParts(e,t){return this.rtf?this.rtf.formatToParts(e,t):[]}}class Locale{static fromOpts(e){return Locale.create(e.locale,e.numberingSystem,e.outputCalendar,e.defaultToEN)}static create(e,t,r,n=!1){const i=e||Settings.defaultLocale,a=i||(n?"en-US":function systemLocale(){return X||(X=(new Intl.DateTimeFormat).resolvedOptions().locale,X)}()),s=t||Settings.defaultNumberingSystem,o=r||Settings.defaultOutputCalendar;return new Locale(a,s,o,i)}static resetCache(){X=null,Y={},Q={},J={}}static fromObject({locale:e,numberingSystem:t,outputCalendar:r}={}){return Locale.create(e,t,r)}constructor(e,t,r,n){const[i,a,s]=function parseLocaleString(e){const t=e.indexOf("-u-");if(-1===t)return[e];{let r;const n=e.substring(0,t);try{r=getCachedDTF(e).resolvedOptions()}catch(e){r=getCachedDTF(n).resolvedOptions()}const{numberingSystem:i,calendar:a}=r;return[n,i,a]}}(e);this.locale=i,this.numberingSystem=t||a||null,this.outputCalendar=r||s||null,this.intl=function intlConfigString(e,t,r){return r||t?(e+="-u",r&&(e+=`-ca-${r}`),t&&(e+=`-nu-${t}`),e):e}(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=n,this.fastNumbersCached=null}get fastNumbers(){return null==this.fastNumbersCached&&(this.fastNumbersCached=function supportsFastNumbers(e){return(!e.numberingSystem||"latn"===e.numberingSystem)&&("latn"===e.numberingSystem||!e.locale||e.locale.startsWith("en")||"latn"===new Intl.DateTimeFormat(e.intl).resolvedOptions().numberingSystem)}(this)),this.fastNumbersCached}listingMode(){const e=this.isEnglish(),t=!(null!==this.numberingSystem&&"latn"!==this.numberingSystem||null!==this.outputCalendar&&"gregory"!==this.outputCalendar);return e&&t?"en":"intl"}clone(e){return e&&0!==Object.getOwnPropertyNames(e).length?Locale.create(e.locale||this.specifiedLocale,e.numberingSystem||this.numberingSystem,e.outputCalendar||this.outputCalendar,e.defaultToEN||!1):this}redefaultToEN(e={}){return this.clone({...e,defaultToEN:!0})}redefaultToSystem(e={}){return this.clone({...e,defaultToEN:!1})}months(e,t=!1,r=!0){return listStuff(this,e,r,months,(()=>{const r=t?{month:e,day:"numeric"}:{month:e},n=t?"format":"standalone";return this.monthsCache[n][e]||(this.monthsCache[n][e]=function mapMonths(e){const t=[];for(let r=1;r<=12;r++){const n=DateTime.utc(2016,r,1);t.push(e(n))}return t}((e=>this.extract(e,r,"month")))),this.monthsCache[n][e]}))}weekdays(e,t=!1,r=!0){return listStuff(this,e,r,weekdays,(()=>{const r=t?{weekday:e,year:"numeric",month:"long",day:"numeric"}:{weekday:e},n=t?"format":"standalone";return this.weekdaysCache[n][e]||(this.weekdaysCache[n][e]=function mapWeekdays(e){const t=[];for(let r=1;r<=7;r++){const n=DateTime.utc(2016,11,13+r);t.push(e(n))}return t}((e=>this.extract(e,r,"weekday")))),this.weekdaysCache[n][e]}))}meridiems(e=!0){return listStuff(this,void 0,e,(()=>x),(()=>{if(!this.meridiemCache){const e={hour:"numeric",hourCycle:"h12"};this.meridiemCache=[DateTime.utc(2016,11,13,9),DateTime.utc(2016,11,13,19)].map((t=>this.extract(t,e,"dayperiod")))}return this.meridiemCache}))}eras(e,t=!0){return listStuff(this,e,t,eras,(()=>{const t={era:e};return this.eraCache[e]||(this.eraCache[e]=[DateTime.utc(-40,1,1),DateTime.utc(2017,1,1)].map((e=>this.extract(e,t,"era")))),this.eraCache[e]}))}extract(e,t,r){const n=this.dtFormatter(e,t).formatToParts().find((e=>e.type.toLowerCase()===r));return n?n.value:null}numberFormatter(e={}){return new PolyNumberFormatter(this.intl,e.forceSimple||this.fastNumbers,e)}dtFormatter(e,t={}){return new PolyDateFormatter(e,this.intl,t)}relFormatter(e={}){return new PolyRelFormatter(this.intl,this.isEnglish(),e)}listFormatter(e={}){return function getCachedLF(e,t={}){const r=JSON.stringify([e,t]);let n=K[r];return n||(n=new Intl.ListFormat(e,t),K[r]=n),n}(this.intl,e)}isEnglish(){return"en"===this.locale||"en-us"===this.locale.toLowerCase()||new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith("en-us")}equals(e){return this.locale===e.locale&&this.numberingSystem===e.numberingSystem&&this.outputCalendar===e.outputCalendar}}function combineRegexes(...e){const t=e.reduce(((e,t)=>e+t.source),"");return RegExp(`^${t}$`)}function combineExtractors(...e){return t=>e.reduce((([e,r,n],i)=>{const[a,s,o]=i(t,n);return[{...e,...a},s||r,o]}),[{},null,1]).slice(0,2)}function parse(e,...t){if(null==e)return[null,null];for(const[r,n]of t){const t=r.exec(e);if(t)return n(t)}return[null,null]}function simpleParse(...e){return(t,r)=>{const n={};let i;for(i=0;i<e.length;i++)n[e[i]]=parseInteger(t[r+i]);return[n,null,r+i]}}const ee=/(?:(Z)|([+-]\d\d)(?::?(\d\d))?)/,te=/(\d\d)(?::?(\d\d)(?::?(\d\d)(?:[.,](\d{1,30}))?)?)?/,re=RegExp(`${te.source}${`(?:${ee.source}?(?:\\[(${C.source})\\])?)?`}`),ne=RegExp(`(?:T${re.source})?`),ie=simpleParse("weekYear","weekNumber","weekDay"),ae=simpleParse("year","ordinal"),se=RegExp(`${te.source} ?(?:${ee.source}|(${C.source}))?`),oe=RegExp(`(?: ${se.source})?`);function int(e,t,r){const n=e[t];return isUndefined(n)?r:parseInteger(n)}function extractISOTime(e,t){return[{hours:int(e,t,0),minutes:int(e,t+1,0),seconds:int(e,t+2,0),milliseconds:parseMillis(e[t+3])},null,t+4]}function extractISOOffset(e,t){const r=!e[t]&&!e[t+1],n=signedOffset(e[t+1],e[t+2]);return[{},r?null:FixedOffsetZone.instance(n),t+3]}function extractIANAZone(e,t){return[{},e[t]?IANAZone.create(e[t]):null,t+1]}const ue=RegExp(`^T?${te.source}$`),ce=/^-?P(?:(?:(-?\d{1,20}(?:\.\d{1,20})?)Y)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20}(?:\.\d{1,20})?)W)?(?:(-?\d{1,20}(?:\.\d{1,20})?)D)?(?:T(?:(-?\d{1,20}(?:\.\d{1,20})?)H)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20})(?:[.,](-?\d{1,20}))?S)?)?)$/;function extractISODuration(e){const[t,r,n,i,a,s,o,u,c]=e,l="-"===t[0],d=u&&"-"===u[0],maybeNegate=(e,t=!1)=>void 0!==e&&(t||e&&l)?-e:e;return[{years:maybeNegate(parseFloating(r)),months:maybeNegate(parseFloating(n)),weeks:maybeNegate(parseFloating(i)),days:maybeNegate(parseFloating(a)),hours:maybeNegate(parseFloating(s)),minutes:maybeNegate(parseFloating(o)),seconds:maybeNegate(parseFloating(u),"-0"===u),milliseconds:maybeNegate(parseMillis(c),d)}]}const le={GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function fromStrings(e,t,r,n,i,a,s){const o={year:2===t.length?untruncateYear(parseInteger(t)):parseInteger(t),month:E.indexOf(r)+1,day:parseInteger(n),hour:parseInteger(i),minute:parseInteger(a)};return s&&(o.second=parseInteger(s)),e&&(o.weekday=e.length>3?P.indexOf(e)+1:j.indexOf(e)+1),o}const de=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/;function extractRFC2822(e){const[,t,r,n,i,a,s,o,u,c,l,d]=e,f=fromStrings(t,i,n,r,a,s,o);let h;return h=u?le[u]:c?0:signedOffset(l,d),[f,new FixedOffsetZone(h)]}const fe=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/,he=/^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/,pe=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;function extractRFC1123Or850(e){const[,t,r,n,i,a,s,o]=e;return[fromStrings(t,i,n,r,a,s,o),FixedOffsetZone.utcInstance]}function extractASCII(e){const[,t,r,n,i,a,s,o]=e;return[fromStrings(t,o,r,n,i,a,s),FixedOffsetZone.utcInstance]}const me=combineRegexes(/([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/,ne),ye=combineRegexes(/(\d{4})-?W(\d\d)(?:-?(\d))?/,ne),ge=combineRegexes(/(\d{4})-?(\d{3})/,ne),be=combineRegexes(re),ve=combineExtractors((function extractISOYmd(e,t){return[{year:int(e,t),month:int(e,t+1,1),day:int(e,t+2,1)},null,t+3]}),extractISOTime,extractISOOffset,extractIANAZone),_e=combineExtractors(ie,extractISOTime,extractISOOffset,extractIANAZone),we=combineExtractors(ae,extractISOTime,extractISOOffset,extractIANAZone),Ie=combineExtractors(extractISOTime,extractISOOffset,extractIANAZone);const Oe=combineExtractors(extractISOTime);const Re=combineRegexes(/(\d{4})-(\d\d)-(\d\d)/,oe),Se=combineRegexes(se),Ae=combineExtractors(extractISOTime,extractISOOffset,extractIANAZone);const Ce={weeks:{days:7,hours:168,minutes:10080,seconds:604800,milliseconds:6048e5},days:{hours:24,minutes:1440,seconds:86400,milliseconds:864e5},hours:{minutes:60,seconds:3600,milliseconds:36e5},minutes:{seconds:60,milliseconds:6e4},seconds:{milliseconds:1e3}},Te={years:{quarters:4,months:12,weeks:52,days:365,hours:8760,minutes:525600,seconds:31536e3,milliseconds:31536e6},quarters:{months:3,weeks:13,days:91,hours:2184,minutes:131040,seconds:7862400,milliseconds:78624e5},months:{weeks:4,days:30,hours:720,minutes:43200,seconds:2592e3,milliseconds:2592e6},...Ce},Ee=365.2425,Le=30.436875,Pe={years:{quarters:4,months:12,weeks:52.1775,days:Ee,hours:8765.82,minutes:525949.2,seconds:525949.2*60,milliseconds:525949.2*60*1e3},quarters:{months:3,weeks:13.044375,days:91.310625,hours:2191.455,minutes:131487.3,seconds:525949.2*60/4,milliseconds:7889237999.999999},months:{weeks:4.3481250000000005,days:Le,hours:730.485,minutes:43829.1,seconds:2629746,milliseconds:2629746e3},...Ce},je=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],qe=je.slice(0).reverse();function clone$1(e,t,r=!1){const n={values:r?t.values:{...e.values,...t.values||{}},loc:e.loc.clone(t.loc),conversionAccuracy:t.conversionAccuracy||e.conversionAccuracy,matrix:t.matrix||e.matrix};return new Duration(n)}function convert(e,t,r,n,i){const a=e[i][r],s=t[r]/a,o=!(Math.sign(s)===Math.sign(n[i]))&&0!==n[i]&&Math.abs(s)<=1?function antiTrunc(e){return e<0?Math.floor(e):Math.ceil(e)}(s):Math.trunc(s);n[i]+=o,t[r]-=o*a}class Duration{constructor(e){const t="longterm"===e.conversionAccuracy||!1;let r=t?Pe:Te;e.matrix&&(r=e.matrix),this.values=e.values,this.loc=e.loc||Locale.create(),this.conversionAccuracy=t?"longterm":"casual",this.invalid=e.invalid||null,this.matrix=r,this.isLuxonDuration=!0}static fromMillis(e,t){return Duration.fromObject({milliseconds:e},t)}static fromObject(e,t={}){if(null==e||"object"!=typeof e)throw new InvalidArgumentError("Duration.fromObject: argument expected to be an object, got "+(null===e?"null":typeof e));return new Duration({values:normalizeObject(e,Duration.normalizeUnit),loc:Locale.fromObject(t),conversionAccuracy:t.conversionAccuracy,matrix:t.matrix})}static fromDurationLike(e){if(isNumber(e))return Duration.fromMillis(e);if(Duration.isDuration(e))return e;if("object"==typeof e)return Duration.fromObject(e);throw new InvalidArgumentError(`Unknown duration argument ${e} of type ${typeof e}`)}static fromISO(e,t){const[r]=function parseISODuration(e){return parse(e,[ce,extractISODuration])}(e);return r?Duration.fromObject(r,t):Duration.invalid("unparsable",`the input "${e}" can't be parsed as ISO 8601`)}static fromISOTime(e,t){const[r]=function parseISOTimeOnly(e){return parse(e,[ue,Oe])}(e);return r?Duration.fromObject(r,t):Duration.invalid("unparsable",`the input "${e}" can't be parsed as ISO 8601`)}static invalid(e,t=null){if(!e)throw new InvalidArgumentError("need to specify a reason the Duration is invalid");const r=e instanceof Invalid?e:new Invalid(e,t);if(Settings.throwOnInvalid)throw new InvalidDurationError(r);return new Duration({invalid:r})}static normalizeUnit(e){const t={year:"years",years:"years",quarter:"quarters",quarters:"quarters",month:"months",months:"months",week:"weeks",weeks:"weeks",day:"days",days:"days",hour:"hours",hours:"hours",minute:"minutes",minutes:"minutes",second:"seconds",seconds:"seconds",millisecond:"milliseconds",milliseconds:"milliseconds"}[e?e.toLowerCase():e];if(!t)throw new InvalidUnitError(e);return t}static isDuration(e){return e&&e.isLuxonDuration||!1}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}toFormat(e,t={}){const r={...t,floor:!1!==t.round&&!1!==t.floor};return this.isValid?Formatter.create(this.loc,r).formatDurationFromString(this,e):"Invalid Duration"}toHuman(e={}){const t=je.map((t=>{const r=this.values[t];return isUndefined(r)?null:this.loc.numberFormatter({style:"unit",unitDisplay:"long",...e,unit:t.slice(0,-1)}).format(r)})).filter((e=>e));return this.loc.listFormatter({type:"conjunction",style:e.listStyle||"narrow",...e}).format(t)}toObject(){return this.isValid?{...this.values}:{}}toISO(){if(!this.isValid)return null;let e="P";return 0!==this.years&&(e+=this.years+"Y"),0===this.months&&0===this.quarters||(e+=this.months+3*this.quarters+"M"),0!==this.weeks&&(e+=this.weeks+"W"),0!==this.days&&(e+=this.days+"D"),0===this.hours&&0===this.minutes&&0===this.seconds&&0===this.milliseconds||(e+="T"),0!==this.hours&&(e+=this.hours+"H"),0!==this.minutes&&(e+=this.minutes+"M"),0===this.seconds&&0===this.milliseconds||(e+=roundTo(this.seconds+this.milliseconds/1e3,3)+"S"),"P"===e&&(e+="T0S"),e}toISOTime(e={}){if(!this.isValid)return null;const t=this.toMillis();if(t<0||t>=864e5)return null;e={suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended",...e};const r=this.shiftTo("hours","minutes","seconds","milliseconds");let n="basic"===e.format?"hhmm":"hh:mm";e.suppressSeconds&&0===r.seconds&&0===r.milliseconds||(n+="basic"===e.format?"ss":":ss",e.suppressMilliseconds&&0===r.milliseconds||(n+=".SSS"));let i=r.toFormat(n);return e.includePrefix&&(i="T"+i),i}toJSON(){return this.toISO()}toString(){return this.toISO()}toMillis(){return this.as("milliseconds")}valueOf(){return this.toMillis()}plus(e){if(!this.isValid)return this;const t=Duration.fromDurationLike(e),r={};for(const e of je)(hasOwnProperty(t.values,e)||hasOwnProperty(this.values,e))&&(r[e]=t.get(e)+this.get(e));return clone$1(this,{values:r},!0)}minus(e){if(!this.isValid)return this;const t=Duration.fromDurationLike(e);return this.plus(t.negate())}mapUnits(e){if(!this.isValid)return this;const t={};for(const r of Object.keys(this.values))t[r]=asNumber(e(this.values[r],r));return clone$1(this,{values:t},!0)}get(e){return this[Duration.normalizeUnit(e)]}set(e){if(!this.isValid)return this;return clone$1(this,{values:{...this.values,...normalizeObject(e,Duration.normalizeUnit)}})}reconfigure({locale:e,numberingSystem:t,conversionAccuracy:r,matrix:n}={}){return clone$1(this,{loc:this.loc.clone({locale:e,numberingSystem:t}),matrix:n,conversionAccuracy:r})}as(e){return this.isValid?this.shiftTo(e).get(e):NaN}normalize(){if(!this.isValid)return this;const e=this.toObject();return function normalizeValues(e,t){qe.reduce(((r,n)=>isUndefined(t[n])?r:(r&&convert(e,t,r,t,n),n)),null)}(this.matrix,e),clone$1(this,{values:e},!0)}shiftTo(...e){if(!this.isValid)return this;if(0===e.length)return this;e=e.map((e=>Duration.normalizeUnit(e)));const t={},r={},n=this.toObject();let i;for(const a of je)if(e.indexOf(a)>=0){i=a;let e=0;for(const t in r)e+=this.matrix[t][a]*r[t],r[t]=0;isNumber(n[a])&&(e+=n[a]);const s=Math.trunc(e);t[a]=s,r[a]=(1e3*e-1e3*s)/1e3;for(const e in n)je.indexOf(e)>je.indexOf(a)&&convert(this.matrix,n,e,t,a)}else isNumber(n[a])&&(r[a]=n[a]);for(const e in r)0!==r[e]&&(t[i]+=e===i?r[e]:r[e]/this.matrix[i][e]);return clone$1(this,{values:t},!0).normalize()}negate(){if(!this.isValid)return this;const e={};for(const t of Object.keys(this.values))e[t]=0===this.values[t]?0:-this.values[t];return clone$1(this,{values:e},!0)}get years(){return this.isValid?this.values.years||0:NaN}get quarters(){return this.isValid?this.values.quarters||0:NaN}get months(){return this.isValid?this.values.months||0:NaN}get weeks(){return this.isValid?this.values.weeks||0:NaN}get days(){return this.isValid?this.values.days||0:NaN}get hours(){return this.isValid?this.values.hours||0:NaN}get minutes(){return this.isValid?this.values.minutes||0:NaN}get seconds(){return this.isValid?this.values.seconds||0:NaN}get milliseconds(){return this.isValid?this.values.milliseconds||0:NaN}get isValid(){return null===this.invalid}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}equals(e){if(!this.isValid||!e.isValid)return!1;if(!this.loc.equals(e.loc))return!1;for(const n of je)if(t=this.values[n],r=e.values[n],!(void 0===t||0===t?void 0===r||0===r:t===r))return!1;var t,r;return!0}}const xe="Invalid Interval";class Interval{constructor(e){this.s=e.start,this.e=e.end,this.invalid=e.invalid||null,this.isLuxonInterval=!0}static invalid(e,t=null){if(!e)throw new InvalidArgumentError("need to specify a reason the Interval is invalid");const r=e instanceof Invalid?e:new Invalid(e,t);if(Settings.throwOnInvalid)throw new InvalidIntervalError(r);return new Interval({invalid:r})}static fromDateTimes(e,t){const r=friendlyDateTime(e),n=friendlyDateTime(t),i=function validateStartEnd(e,t){return e&&e.isValid?t&&t.isValid?t<e?Interval.invalid("end before start",`The end of an interval must be after its start, but you had start=${e.toISO()} and end=${t.toISO()}`):null:Interval.invalid("missing or invalid end"):Interval.invalid("missing or invalid start")}(r,n);return null==i?new Interval({start:r,end:n}):i}static after(e,t){const r=Duration.fromDurationLike(t),n=friendlyDateTime(e);return Interval.fromDateTimes(n,n.plus(r))}static before(e,t){const r=Duration.fromDurationLike(t),n=friendlyDateTime(e);return Interval.fromDateTimes(n.minus(r),n)}static fromISO(e,t){const[r,n]=(e||"").split("/",2);if(r&&n){let e,i,a,s;try{e=DateTime.fromISO(r,t),i=e.isValid}catch(n){i=!1}try{a=DateTime.fromISO(n,t),s=a.isValid}catch(n){s=!1}if(i&&s)return Interval.fromDateTimes(e,a);if(i){const r=Duration.fromISO(n,t);if(r.isValid)return Interval.after(e,r)}else if(s){const e=Duration.fromISO(r,t);if(e.isValid)return Interval.before(a,e)}}return Interval.invalid("unparsable",`the input "${e}" can't be parsed as ISO 8601`)}static isInterval(e){return e&&e.isLuxonInterval||!1}get start(){return this.isValid?this.s:null}get end(){return this.isValid?this.e:null}get isValid(){return null===this.invalidReason}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}length(e="milliseconds"){return this.isValid?this.toDuration(e).get(e):NaN}count(e="milliseconds"){if(!this.isValid)return NaN;const t=this.start.startOf(e),r=this.end.startOf(e);return Math.floor(r.diff(t,e).get(e))+1}hasSame(e){return!!this.isValid&&(this.isEmpty()||this.e.minus(1).hasSame(this.s,e))}isEmpty(){return this.s.valueOf()===this.e.valueOf()}isAfter(e){return!!this.isValid&&this.s>e}isBefore(e){return!!this.isValid&&this.e<=e}contains(e){return!!this.isValid&&(this.s<=e&&this.e>e)}set({start:e,end:t}={}){return this.isValid?Interval.fromDateTimes(e||this.s,t||this.e):this}splitAt(...e){if(!this.isValid)return[];const t=e.map(friendlyDateTime).filter((e=>this.contains(e))).sort(),r=[];let{s:n}=this,i=0;for(;n<this.e;){const e=t[i]||this.e,a=+e>+this.e?this.e:e;r.push(Interval.fromDateTimes(n,a)),n=a,i+=1}return r}splitBy(e){const t=Duration.fromDurationLike(e);if(!this.isValid||!t.isValid||0===t.as("milliseconds"))return[];let r,{s:n}=this,i=1;const a=[];for(;n<this.e;){const e=this.start.plus(t.mapUnits((e=>e*i)));r=+e>+this.e?this.e:e,a.push(Interval.fromDateTimes(n,r)),n=r,i+=1}return a}divideEqually(e){return this.isValid?this.splitBy(this.length()/e).slice(0,e):[]}overlaps(e){return this.e>e.s&&this.s<e.e}abutsStart(e){return!!this.isValid&&+this.e==+e.s}abutsEnd(e){return!!this.isValid&&+e.e==+this.s}engulfs(e){return!!this.isValid&&(this.s<=e.s&&this.e>=e.e)}equals(e){return!(!this.isValid||!e.isValid)&&(this.s.equals(e.s)&&this.e.equals(e.e))}intersection(e){if(!this.isValid)return this;const t=this.s>e.s?this.s:e.s,r=this.e<e.e?this.e:e.e;return t>=r?null:Interval.fromDateTimes(t,r)}union(e){if(!this.isValid)return this;const t=this.s<e.s?this.s:e.s,r=this.e>e.e?this.e:e.e;return Interval.fromDateTimes(t,r)}static merge(e){const[t,r]=e.sort(((e,t)=>e.s-t.s)).reduce((([e,t],r)=>t?t.overlaps(r)||t.abutsStart(r)?[e,t.union(r)]:[e.concat([t]),r]:[e,r]),[[],null]);return r&&t.push(r),t}static xor(e){let t=null,r=0;const n=[],i=e.map((e=>[{time:e.s,type:"s"},{time:e.e,type:"e"}])),a=Array.prototype.concat(...i).sort(((e,t)=>e.time-t.time));for(const e of a)r+="s"===e.type?1:-1,1===r?t=e.time:(t&&+t!=+e.time&&n.push(Interval.fromDateTimes(t,e.time)),t=null);return Interval.merge(n)}difference(...e){return Interval.xor([this].concat(e)).map((e=>this.intersection(e))).filter((e=>e&&!e.isEmpty()))}toString(){return this.isValid?`[${this.s.toISO()} – ${this.e.toISO()})`:xe}toISO(e){return this.isValid?`${this.s.toISO(e)}/${this.e.toISO(e)}`:xe}toISODate(){return this.isValid?`${this.s.toISODate()}/${this.e.toISODate()}`:xe}toISOTime(e){return this.isValid?`${this.s.toISOTime(e)}/${this.e.toISOTime(e)}`:xe}toFormat(e,{separator:t=" – "}={}){return this.isValid?`${this.s.toFormat(e)}${t}${this.e.toFormat(e)}`:xe}toDuration(e,t){return this.isValid?this.e.diff(this.s,e,t):Duration.invalid(this.invalidReason)}mapEndpoints(e){return Interval.fromDateTimes(e(this.s),e(this.e))}}class Info{static hasDST(e=Settings.defaultZone){const t=DateTime.now().setZone(e).set({month:12});return!e.isUniversal&&t.offset!==t.set({month:6}).offset}static isValidIANAZone(e){return IANAZone.isValidZone(e)}static normalizeZone(e){return normalizeZone(e,Settings.defaultZone)}static months(e="long",{locale:t=null,numberingSystem:r=null,locObj:n=null,outputCalendar:i="gregory"}={}){return(n||Locale.create(t,r,i)).months(e)}static monthsFormat(e="long",{locale:t=null,numberingSystem:r=null,locObj:n=null,outputCalendar:i="gregory"}={}){return(n||Locale.create(t,r,i)).months(e,!0)}static weekdays(e="long",{locale:t=null,numberingSystem:r=null,locObj:n=null}={}){return(n||Locale.create(t,r,null)).weekdays(e)}static weekdaysFormat(e="long",{locale:t=null,numberingSystem:r=null,locObj:n=null}={}){return(n||Locale.create(t,r,null)).weekdays(e,!0)}static meridiems({locale:e=null}={}){return Locale.create(e).meridiems()}static eras(e="short",{locale:t=null}={}){return Locale.create(t,null,"gregory").eras(e)}static features(){return{relative:hasRelative()}}}function dayDiff(e,t){const utcDayStart=e=>e.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf(),r=utcDayStart(t)-utcDayStart(e);return Math.floor(Duration.fromMillis(r).as("days"))}function diff(e,t,r,n){let[i,a,s,o]=function highOrderDiffs(e,t,r){const n=[["years",(e,t)=>t.year-e.year],["quarters",(e,t)=>t.quarter-e.quarter+4*(t.year-e.year)],["months",(e,t)=>t.month-e.month+12*(t.year-e.year)],["weeks",(e,t)=>{const r=dayDiff(e,t);return(r-r%7)/7}],["days",dayDiff]],i={};let a,s;for(const[o,u]of n)if(r.indexOf(o)>=0){a=o;let r=u(e,t);s=e.plus({[o]:r}),s>t?(e=e.plus({[o]:r-1}),r-=1):e=s,i[o]=r}return[e,i,s,a]}(e,t,r);const u=t-i,c=r.filter((e=>["hours","minutes","seconds","milliseconds"].indexOf(e)>=0));0===c.length&&(s<t&&(s=i.plus({[o]:1})),s!==i&&(a[o]=(a[o]||0)+u/(s-i)));const l=Duration.fromObject(a,n);return c.length>0?Duration.fromMillis(u,n).shiftTo(...c).plus(l):l}const ke={arab:"[٠-٩]",arabext:"[۰-۹]",bali:"[᭐-᭙]",beng:"[০-৯]",deva:"[०-९]",fullwide:"[0-9]",gujr:"[૦-૯]",hanidec:"[〇|一|二|三|四|五|六|七|八|九]",khmr:"[០-៩]",knda:"[೦-೯]",laoo:"[໐-໙]",limb:"[᥆-᥏]",mlym:"[൦-൯]",mong:"[᠐-᠙]",mymr:"[၀-၉]",orya:"[୦-୯]",tamldec:"[௦-௯]",telu:"[౦-౯]",thai:"[๐-๙]",tibt:"[༠-༩]",latn:"\\d"},Me={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},De=ke.hanidec.replace(/[\[|\]]/g,"").split("");function digitRegex({numberingSystem:e},t=""){return new RegExp(`${ke[e||"latn"]}${t}`)}function intUnit(e,t=(e=>e)){return{regex:e,deser:([e])=>t(function parseDigits(e){let t=parseInt(e,10);if(isNaN(t)){t="";for(let r=0;r<e.length;r++){const n=e.charCodeAt(r);if(-1!==e[r].search(ke.hanidec))t+=De.indexOf(e[r]);else for(const e in Me){const[r,i]=Me[e];n>=r&&n<=i&&(t+=n-r)}}return parseInt(t,10)}return t}(e))}}const Fe=`[ ${String.fromCharCode(160)}]`,Ne=new RegExp(Fe,"g");function fixListRegex(e){return e.replace(/\./g,"\\.?").replace(Ne,Fe)}function stripInsensitivities(e){return e.replace(/\./g,"").replace(Ne," ").toLowerCase()}function oneOf(e,t){return null===e?null:{regex:RegExp(e.map(fixListRegex).join("|")),deser:([r])=>e.findIndex((e=>stripInsensitivities(r)===stripInsensitivities(e)))+t}}function offset(e,t){return{regex:e,deser:([,e,t])=>signedOffset(e,t),groups:t}}function simple(e){return{regex:e,deser:([e])=>e}}const ze={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour:{numeric:"h","2-digit":"hh"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"},timeZoneName:{long:"ZZZZZ",short:"ZZZ"}};let Ve=null;function expandMacroTokens(e,t){return Array.prototype.concat(...e.map((e=>function maybeExpandMacroToken(e,t){if(e.literal)return e;const r=formatOptsToTokens(Formatter.macroTokenToFormatOpts(e.val),t);return null==r||r.includes(void 0)?e:r}(e,t))))}function explainFromTokens(e,t,r){const n=expandMacroTokens(Formatter.parseFormat(r),e),i=n.map((t=>function unitForToken(e,t){const r=digitRegex(t),n=digitRegex(t,"{2}"),i=digitRegex(t,"{3}"),a=digitRegex(t,"{4}"),s=digitRegex(t,"{6}"),o=digitRegex(t,"{1,2}"),u=digitRegex(t,"{1,3}"),c=digitRegex(t,"{1,6}"),l=digitRegex(t,"{1,9}"),d=digitRegex(t,"{2,4}"),f=digitRegex(t,"{4,6}"),literal=e=>{return{regex:RegExp((t=e.val,t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"))),deser:([e])=>e,literal:!0};var t},h=(h=>{if(e.literal)return literal(h);switch(h.val){case"G":return oneOf(t.eras("short",!1),0);case"GG":return oneOf(t.eras("long",!1),0);case"y":return intUnit(c);case"yy":case"kk":return intUnit(d,untruncateYear);case"yyyy":case"kkkk":return intUnit(a);case"yyyyy":return intUnit(f);case"yyyyyy":return intUnit(s);case"M":case"L":case"d":case"H":case"h":case"m":case"q":case"s":case"W":return intUnit(o);case"MM":case"LL":case"dd":case"HH":case"hh":case"mm":case"qq":case"ss":case"WW":return intUnit(n);case"MMM":return oneOf(t.months("short",!0,!1),1);case"MMMM":return oneOf(t.months("long",!0,!1),1);case"LLL":return oneOf(t.months("short",!1,!1),1);case"LLLL":return oneOf(t.months("long",!1,!1),1);case"o":case"S":return intUnit(u);case"ooo":case"SSS":return intUnit(i);case"u":return simple(l);case"uu":return simple(o);case"uuu":case"E":case"c":return intUnit(r);case"a":return oneOf(t.meridiems(),0);case"EEE":return oneOf(t.weekdays("short",!1,!1),1);case"EEEE":return oneOf(t.weekdays("long",!1,!1),1);case"ccc":return oneOf(t.weekdays("short",!0,!1),1);case"cccc":return oneOf(t.weekdays("long",!0,!1),1);case"Z":case"ZZ":return offset(new RegExp(`([+-]${o.source})(?::(${n.source}))?`),2);case"ZZZ":return offset(new RegExp(`([+-]${o.source})(${n.source})?`),2);case"z":return simple(/[a-z_+-/]{1,256}?/i);default:return literal(h)}})(e)||{invalidReason:"missing Intl.DateTimeFormat.formatToParts support"};return h.token=e,h}(t,e))),a=i.find((e=>e.invalidReason));if(a)return{input:t,tokens:n,invalidReason:a.invalidReason};{const[e,r]=function buildRegex(e){return[`^${e.map((e=>e.regex)).reduce(((e,t)=>`${e}(${t.source})`),"")}$`,e]}(i),a=RegExp(e,"i"),[s,o]=function match(e,t,r){const n=e.match(t);if(n){const e={};let t=1;for(const i in r)if(hasOwnProperty(r,i)){const a=r[i],s=a.groups?a.groups+1:1;!a.literal&&a.token&&(e[a.token.val[0]]=a.deser(n.slice(t,t+s))),t+=s}return[n,e]}return[n,{}]}(t,a,r),[u,c,l]=o?function dateTimeFromMatches(e){let t,r=null;return isUndefined(e.z)||(r=IANAZone.create(e.z)),isUndefined(e.Z)||(r||(r=new FixedOffsetZone(e.Z)),t=e.Z),isUndefined(e.q)||(e.M=3*(e.q-1)+1),isUndefined(e.h)||(e.h<12&&1===e.a?e.h+=12:12===e.h&&0===e.a&&(e.h=0)),0===e.G&&e.y&&(e.y=-e.y),isUndefined(e.u)||(e.S=parseMillis(e.u)),[Object.keys(e).reduce(((t,r)=>{const n=(e=>{switch(e){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}})(r);return n&&(t[n]=e[r]),t}),{}),r,t]}(o):[null,null,void 0];if(hasOwnProperty(o,"a")&&hasOwnProperty(o,"H"))throw new ConflictingSpecificationError("Can't include meridiem when specifying 24-hour format");return{input:t,tokens:n,regex:a,rawMatches:s,matches:o,result:u,zone:c,specificOffset:l}}}function formatOptsToTokens(e,t){if(!e)return null;return Formatter.create(t,e).formatDateTimeParts(function getDummyDateTime(){return Ve||(Ve=DateTime.fromMillis(1555555555555)),Ve}()).map((t=>function tokenForPart(e,t,r){const{type:n,value:i}=e;if("literal"===n)return{literal:!0,val:i};const a=r[n];let s=ze[n];return"object"==typeof s&&(s=s[a]),s?{literal:!1,val:s}:void 0}(t,0,e)))}const Ue=[0,31,59,90,120,151,181,212,243,273,304,334],We=[0,31,60,91,121,152,182,213,244,274,305,335];function unitOutOfRange(e,t){return new Invalid("unit out of range",`you specified ${t} (of type ${typeof t}) as a ${e}, which is invalid`)}function dayOfWeek(e,t,r){const n=new Date(Date.UTC(e,t-1,r));e<100&&e>=0&&n.setUTCFullYear(n.getUTCFullYear()-1900);const i=n.getUTCDay();return 0===i?7:i}function computeOrdinal(e,t,r){return r+(isLeapYear(e)?We:Ue)[t-1]}function uncomputeOrdinal(e,t){const r=isLeapYear(e)?We:Ue,n=r.findIndex((e=>e<t));return{month:n+1,day:t-r[n]}}function gregorianToWeek(e){const{year:t,month:r,day:n}=e,i=computeOrdinal(t,r,n),a=dayOfWeek(t,r,n);let s,o=Math.floor((i-a+10)/7);return o<1?(s=t-1,o=weeksInWeekYear(s)):o>weeksInWeekYear(t)?(s=t+1,o=1):s=t,{weekYear:s,weekNumber:o,weekday:a,...timeObject(e)}}function weekToGregorian(e){const{weekYear:t,weekNumber:r,weekday:n}=e,i=dayOfWeek(t,1,4),a=daysInYear(t);let s,o=7*r+n-i-3;o<1?(s=t-1,o+=daysInYear(s)):o>a?(s=t+1,o-=daysInYear(t)):s=t;const{month:u,day:c}=uncomputeOrdinal(s,o);return{year:s,month:u,day:c,...timeObject(e)}}function gregorianToOrdinal(e){const{year:t,month:r,day:n}=e;return{year:t,ordinal:computeOrdinal(t,r,n),...timeObject(e)}}function ordinalToGregorian(e){const{year:t,ordinal:r}=e,{month:n,day:i}=uncomputeOrdinal(t,r);return{year:t,month:n,day:i,...timeObject(e)}}function hasInvalidGregorianData(e){const t=isInteger(e.year),r=integerBetween(e.month,1,12),n=integerBetween(e.day,1,daysInMonth(e.year,e.month));return t?r?!n&&unitOutOfRange("day",e.day):unitOutOfRange("month",e.month):unitOutOfRange("year",e.year)}function hasInvalidTimeData(e){const{hour:t,minute:r,second:n,millisecond:i}=e,a=integerBetween(t,0,23)||24===t&&0===r&&0===n&&0===i,s=integerBetween(r,0,59),o=integerBetween(n,0,59),u=integerBetween(i,0,999);return a?s?o?!u&&unitOutOfRange("millisecond",i):unitOutOfRange("second",n):unitOutOfRange("minute",r):unitOutOfRange("hour",t)}const $e="Invalid DateTime",Be=864e13;function unsupportedZone(e){return new Invalid("unsupported zone",`the zone "${e.name}" is not supported`)}function possiblyCachedWeekData(e){return null===e.weekData&&(e.weekData=gregorianToWeek(e.c)),e.weekData}function clone(e,t){const r={ts:e.ts,zone:e.zone,c:e.c,o:e.o,loc:e.loc,invalid:e.invalid};return new DateTime({...r,...t,old:r})}function fixOffset(e,t,r){let n=e-60*t*1e3;const i=r.offset(n);if(t===i)return[n,t];n-=60*(i-t)*1e3;const a=r.offset(n);return i===a?[n,i]:[e-60*Math.min(i,a)*1e3,Math.max(i,a)]}function tsToObj(e,t){const r=new Date(e+=60*t*1e3);return{year:r.getUTCFullYear(),month:r.getUTCMonth()+1,day:r.getUTCDate(),hour:r.getUTCHours(),minute:r.getUTCMinutes(),second:r.getUTCSeconds(),millisecond:r.getUTCMilliseconds()}}function objToTS(e,t,r){return fixOffset(objToLocalTS(e),t,r)}function adjustTime(e,t){const r=e.o,n=e.c.year+Math.trunc(t.years),i=e.c.month+Math.trunc(t.months)+3*Math.trunc(t.quarters),a={...e.c,year:n,month:i,day:Math.min(e.c.day,daysInMonth(n,i))+Math.trunc(t.days)+7*Math.trunc(t.weeks)},s=Duration.fromObject({years:t.years-Math.trunc(t.years),quarters:t.quarters-Math.trunc(t.quarters),months:t.months-Math.trunc(t.months),weeks:t.weeks-Math.trunc(t.weeks),days:t.days-Math.trunc(t.days),hours:t.hours,minutes:t.minutes,seconds:t.seconds,milliseconds:t.milliseconds}).as("milliseconds"),o=objToLocalTS(a);let[u,c]=fixOffset(o,r,e.zone);return 0!==s&&(u+=s,c=e.zone.offset(u)),{ts:u,o:c}}function parseDataToDateTime(e,t,r,n,i,a){const{setZone:s,zone:o}=r;if(e&&0!==Object.keys(e).length){const n=t||o,i=DateTime.fromObject(e,{...r,zone:n,specificOffset:a});return s?i:i.setZone(o)}return DateTime.invalid(new Invalid("unparsable",`the input "${i}" can't be parsed as ${n}`))}function toTechFormat(e,t,r=!0){return e.isValid?Formatter.create(Locale.create("en-US"),{allowZ:r,forceSimple:!0}).formatDateTimeFromString(e,t):null}function toISODate(e,t){const r=e.c.year>9999||e.c.year<0;let n="";return r&&e.c.year>=0&&(n+="+"),n+=padStart(e.c.year,r?6:4),t?(n+="-",n+=padStart(e.c.month),n+="-",n+=padStart(e.c.day)):(n+=padStart(e.c.month),n+=padStart(e.c.day)),n}function toISOTime(e,t,r,n,i,a){let s=padStart(e.c.hour);return t?(s+=":",s+=padStart(e.c.minute),0===e.c.second&&r||(s+=":")):s+=padStart(e.c.minute),0===e.c.second&&r||(s+=padStart(e.c.second),0===e.c.millisecond&&n||(s+=".",s+=padStart(e.c.millisecond,3))),i&&(e.isOffsetFixed&&0===e.offset&&!a?s+="Z":e.o<0?(s+="-",s+=padStart(Math.trunc(-e.o/60)),s+=":",s+=padStart(Math.trunc(-e.o%60))):(s+="+",s+=padStart(Math.trunc(e.o/60)),s+=":",s+=padStart(Math.trunc(e.o%60)))),a&&(s+="["+e.zone.ianaName+"]"),s}const Ze={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},Ge={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},He={ordinal:1,hour:0,minute:0,second:0,millisecond:0},Ke=["year","month","day","hour","minute","second","millisecond"],Ye=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],Qe=["year","ordinal","hour","minute","second","millisecond"];function normalizeUnit(e){const t={year:"year",years:"year",month:"month",months:"month",day:"day",days:"day",hour:"hour",hours:"hour",minute:"minute",minutes:"minute",quarter:"quarter",quarters:"quarter",second:"second",seconds:"second",millisecond:"millisecond",milliseconds:"millisecond",weekday:"weekday",weekdays:"weekday",weeknumber:"weekNumber",weeksnumber:"weekNumber",weeknumbers:"weekNumber",weekyear:"weekYear",weekyears:"weekYear",ordinal:"ordinal"}[e.toLowerCase()];if(!t)throw new InvalidUnitError(e);return t}function quickDT(e,t){const r=normalizeZone(t.zone,Settings.defaultZone),n=Locale.fromObject(t),i=Settings.now();let a,s;if(isUndefined(e.year))a=i;else{for(const t of Ke)isUndefined(e[t])&&(e[t]=Ze[t]);const t=hasInvalidGregorianData(e)||hasInvalidTimeData(e);if(t)return DateTime.invalid(t);const n=r.offset(i);[a,s]=objToTS(e,n,r)}return new DateTime({ts:a,zone:r,loc:n,o:s})}function diffRelative(e,t,r){const n=!!isUndefined(r.round)||r.round,format=(e,i)=>{e=roundTo(e,n||r.calendary?0:2,!0);return t.loc.clone(r).relFormatter(r).format(e,i)},differ=n=>r.calendary?t.hasSame(e,n)?0:t.startOf(n).diff(e.startOf(n),n).get(n):t.diff(e,n).get(n);if(r.unit)return format(differ(r.unit),r.unit);for(const e of r.units){const t=differ(e);if(Math.abs(t)>=1)return format(t,e)}return format(e>t?-0:0,r.units[r.units.length-1])}function lastOpts(e){let t,r={};return e.length>0&&"object"==typeof e[e.length-1]?(r=e[e.length-1],t=Array.from(e).slice(0,e.length-1)):t=Array.from(e),[r,t]}class DateTime{constructor(e){const t=e.zone||Settings.defaultZone;let r=e.invalid||(Number.isNaN(e.ts)?new Invalid("invalid input"):null)||(t.isValid?null:unsupportedZone(t));this.ts=isUndefined(e.ts)?Settings.now():e.ts;let n=null,i=null;if(!r){if(e.old&&e.old.ts===this.ts&&e.old.zone.equals(t))[n,i]=[e.old.c,e.old.o];else{const e=t.offset(this.ts);n=tsToObj(this.ts,e),r=Number.isNaN(n.year)?new Invalid("invalid input"):null,n=r?null:n,i=r?null:e}}this._zone=t,this.loc=e.loc||Locale.create(),this.invalid=r,this.weekData=null,this.c=n,this.o=i,this.isLuxonDateTime=!0}static now(){return new DateTime({})}static local(){const[e,t]=lastOpts(arguments),[r,n,i,a,s,o,u]=t;return quickDT({year:r,month:n,day:i,hour:a,minute:s,second:o,millisecond:u},e)}static utc(){const[e,t]=lastOpts(arguments),[r,n,i,a,s,o,u]=t;return e.zone=FixedOffsetZone.utcInstance,quickDT({year:r,month:n,day:i,hour:a,minute:s,second:o,millisecond:u},e)}static fromJSDate(e,t={}){const r=function isDate(e){return"[object Date]"===Object.prototype.toString.call(e)}(e)?e.valueOf():NaN;if(Number.isNaN(r))return DateTime.invalid("invalid input");const n=normalizeZone(t.zone,Settings.defaultZone);return n.isValid?new DateTime({ts:r,zone:n,loc:Locale.fromObject(t)}):DateTime.invalid(unsupportedZone(n))}static fromMillis(e,t={}){if(isNumber(e))return e<-Be||e>Be?DateTime.invalid("Timestamp out of range"):new DateTime({ts:e,zone:normalizeZone(t.zone,Settings.defaultZone),loc:Locale.fromObject(t)});throw new InvalidArgumentError(`fromMillis requires a numerical input, but received a ${typeof e} with value ${e}`)}static fromSeconds(e,t={}){if(isNumber(e))return new DateTime({ts:1e3*e,zone:normalizeZone(t.zone,Settings.defaultZone),loc:Locale.fromObject(t)});throw new InvalidArgumentError("fromSeconds requires a numerical input")}static fromObject(e,t={}){e=e||{};const r=normalizeZone(t.zone,Settings.defaultZone);if(!r.isValid)return DateTime.invalid(unsupportedZone(r));const n=Settings.now(),i=isUndefined(t.specificOffset)?r.offset(n):t.specificOffset,a=normalizeObject(e,normalizeUnit),s=!isUndefined(a.ordinal),o=!isUndefined(a.year),u=!isUndefined(a.month)||!isUndefined(a.day),c=o||u,l=a.weekYear||a.weekNumber,d=Locale.fromObject(t);if((c||s)&&l)throw new ConflictingSpecificationError("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(u&&s)throw new ConflictingSpecificationError("Can't mix ordinal dates with month/day");const f=l||a.weekday&&!c;let h,p,m=tsToObj(n,i);f?(h=Ye,p=Ge,m=gregorianToWeek(m)):s?(h=Qe,p=He,m=gregorianToOrdinal(m)):(h=Ke,p=Ze);let y=!1;for(const e of h){isUndefined(a[e])?a[e]=y?p[e]:m[e]:y=!0}const g=f?function hasInvalidWeekData(e){const t=isInteger(e.weekYear),r=integerBetween(e.weekNumber,1,weeksInWeekYear(e.weekYear)),n=integerBetween(e.weekday,1,7);return t?r?!n&&unitOutOfRange("weekday",e.weekday):unitOutOfRange("week",e.week):unitOutOfRange("weekYear",e.weekYear)}(a):s?function hasInvalidOrdinalData(e){const t=isInteger(e.year),r=integerBetween(e.ordinal,1,daysInYear(e.year));return t?!r&&unitOutOfRange("ordinal",e.ordinal):unitOutOfRange("year",e.year)}(a):hasInvalidGregorianData(a),b=g||hasInvalidTimeData(a);if(b)return DateTime.invalid(b);const v=f?weekToGregorian(a):s?ordinalToGregorian(a):a,[_,w]=objToTS(v,i,r),I=new DateTime({ts:_,zone:r,o:w,loc:d});return a.weekday&&c&&e.weekday!==I.weekday?DateTime.invalid("mismatched weekday",`you can't specify both a weekday of ${a.weekday} and a date of ${I.toISO()}`):I}static fromISO(e,t={}){const[r,n]=function parseISODate(e){return parse(e,[me,ve],[ye,_e],[ge,we],[be,Ie])}(e);return parseDataToDateTime(r,n,t,"ISO 8601",e)}static fromRFC2822(e,t={}){const[r,n]=function parseRFC2822Date(e){return parse(function preprocessRFC2822(e){return e.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}(e),[de,extractRFC2822])}(e);return parseDataToDateTime(r,n,t,"RFC 2822",e)}static fromHTTP(e,t={}){const[r,n]=function parseHTTPDate(e){return parse(e,[fe,extractRFC1123Or850],[he,extractRFC1123Or850],[pe,extractASCII])}(e);return parseDataToDateTime(r,n,t,"HTTP",t)}static fromFormat(e,t,r={}){if(isUndefined(e)||isUndefined(t))throw new InvalidArgumentError("fromFormat requires an input string and a format");const{locale:n=null,numberingSystem:i=null}=r,a=Locale.fromOpts({locale:n,numberingSystem:i,defaultToEN:!0}),[s,o,u,c]=function parseFromTokens(e,t,r){const{result:n,zone:i,specificOffset:a,invalidReason:s}=explainFromTokens(e,t,r);return[n,i,a,s]}(a,e,t);return c?DateTime.invalid(c):parseDataToDateTime(s,o,r,`format ${t}`,e,u)}static fromString(e,t,r={}){return DateTime.fromFormat(e,t,r)}static fromSQL(e,t={}){const[r,n]=function parseSQL(e){return parse(e,[Re,ve],[Se,Ae])}(e);return parseDataToDateTime(r,n,t,"SQL",e)}static invalid(e,t=null){if(!e)throw new InvalidArgumentError("need to specify a reason the DateTime is invalid");const r=e instanceof Invalid?e:new Invalid(e,t);if(Settings.throwOnInvalid)throw new InvalidDateTimeError(r);return new DateTime({invalid:r})}static isDateTime(e){return e&&e.isLuxonDateTime||!1}static parseFormatForOpts(e,t={}){const r=formatOptsToTokens(e,Locale.fromObject(t));return r?r.map((e=>e?e.val:null)).join(""):null}static expandFormat(e,t={}){return expandMacroTokens(Formatter.parseFormat(e),Locale.fromObject(t)).map((e=>e.val)).join("")}get(e){return this[e]}get isValid(){return null===this.invalid}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}get outputCalendar(){return this.isValid?this.loc.outputCalendar:null}get zone(){return this._zone}get zoneName(){return this.isValid?this.zone.name:null}get year(){return this.isValid?this.c.year:NaN}get quarter(){return this.isValid?Math.ceil(this.c.month/3):NaN}get month(){return this.isValid?this.c.month:NaN}get day(){return this.isValid?this.c.day:NaN}get hour(){return this.isValid?this.c.hour:NaN}get minute(){return this.isValid?this.c.minute:NaN}get second(){return this.isValid?this.c.second:NaN}get millisecond(){return this.isValid?this.c.millisecond:NaN}get weekYear(){return this.isValid?possiblyCachedWeekData(this).weekYear:NaN}get weekNumber(){return this.isValid?possiblyCachedWeekData(this).weekNumber:NaN}get weekday(){return this.isValid?possiblyCachedWeekData(this).weekday:NaN}get ordinal(){return this.isValid?gregorianToOrdinal(this.c).ordinal:NaN}get monthShort(){return this.isValid?Info.months("short",{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?Info.months("long",{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?Info.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?Info.weekdays("long",{locObj:this.loc})[this.weekday-1]:null}get offset(){return this.isValid?+this.o:NaN}get offsetNameShort(){return this.isValid?this.zone.offsetName(this.ts,{format:"short",locale:this.locale}):null}get offsetNameLong(){return this.isValid?this.zone.offsetName(this.ts,{format:"long",locale:this.locale}):null}get isOffsetFixed(){return this.isValid?this.zone.isUniversal:null}get isInDST(){return!this.isOffsetFixed&&(this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset)}get isInLeapYear(){return isLeapYear(this.year)}get daysInMonth(){return daysInMonth(this.year,this.month)}get daysInYear(){return this.isValid?daysInYear(this.year):NaN}get weeksInWeekYear(){return this.isValid?weeksInWeekYear(this.weekYear):NaN}resolvedLocaleOptions(e={}){const{locale:t,numberingSystem:r,calendar:n}=Formatter.create(this.loc.clone(e),e).resolvedOptions(this);return{locale:t,numberingSystem:r,outputCalendar:n}}toUTC(e=0,t={}){return this.setZone(FixedOffsetZone.instance(e),t)}toLocal(){return this.setZone(Settings.defaultZone)}setZone(e,{keepLocalTime:t=!1,keepCalendarTime:r=!1}={}){if((e=normalizeZone(e,Settings.defaultZone)).equals(this.zone))return this;if(e.isValid){let n=this.ts;if(t||r){const t=e.offset(this.ts),r=this.toObject();[n]=objToTS(r,t,e)}return clone(this,{ts:n,zone:e})}return DateTime.invalid(unsupportedZone(e))}reconfigure({locale:e,numberingSystem:t,outputCalendar:r}={}){return clone(this,{loc:this.loc.clone({locale:e,numberingSystem:t,outputCalendar:r})})}setLocale(e){return this.reconfigure({locale:e})}set(e){if(!this.isValid)return this;const t=normalizeObject(e,normalizeUnit),r=!isUndefined(t.weekYear)||!isUndefined(t.weekNumber)||!isUndefined(t.weekday),n=!isUndefined(t.ordinal),i=!isUndefined(t.year),a=!isUndefined(t.month)||!isUndefined(t.day),s=i||a,o=t.weekYear||t.weekNumber;if((s||n)&&o)throw new ConflictingSpecificationError("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(a&&n)throw new ConflictingSpecificationError("Can't mix ordinal dates with month/day");let u;r?u=weekToGregorian({...gregorianToWeek(this.c),...t}):isUndefined(t.ordinal)?(u={...this.toObject(),...t},isUndefined(t.day)&&(u.day=Math.min(daysInMonth(u.year,u.month),u.day))):u=ordinalToGregorian({...gregorianToOrdinal(this.c),...t});const[c,l]=objToTS(u,this.o,this.zone);return clone(this,{ts:c,o:l})}plus(e){if(!this.isValid)return this;return clone(this,adjustTime(this,Duration.fromDurationLike(e)))}minus(e){if(!this.isValid)return this;return clone(this,adjustTime(this,Duration.fromDurationLike(e).negate()))}startOf(e){if(!this.isValid)return this;const t={},r=Duration.normalizeUnit(e);switch(r){case"years":t.month=1;case"quarters":case"months":t.day=1;case"weeks":case"days":t.hour=0;case"hours":t.minute=0;case"minutes":t.second=0;case"seconds":t.millisecond=0}if("weeks"===r&&(t.weekday=1),"quarters"===r){const e=Math.ceil(this.month/3);t.month=3*(e-1)+1}return this.set(t)}endOf(e){return this.isValid?this.plus({[e]:1}).startOf(e).minus(1):this}toFormat(e,t={}){return this.isValid?Formatter.create(this.loc.redefaultToEN(t)).formatDateTimeFromString(this,e):$e}toLocaleString(e=a,t={}){return this.isValid?Formatter.create(this.loc.clone(t),e).formatDateTime(this):$e}toLocaleParts(e={}){return this.isValid?Formatter.create(this.loc.clone(e),e).formatDateTimeParts(this):[]}toISO({format:e="extended",suppressSeconds:t=!1,suppressMilliseconds:r=!1,includeOffset:n=!0,extendedZone:i=!1}={}){if(!this.isValid)return null;const a="extended"===e;let s=toISODate(this,a);return s+="T",s+=toISOTime(this,a,t,r,n,i),s}toISODate({format:e="extended"}={}){return this.isValid?toISODate(this,"extended"===e):null}toISOWeekDate(){return toTechFormat(this,"kkkk-'W'WW-c")}toISOTime({suppressMilliseconds:e=!1,suppressSeconds:t=!1,includeOffset:r=!0,includePrefix:n=!1,extendedZone:i=!1,format:a="extended"}={}){if(!this.isValid)return null;return(n?"T":"")+toISOTime(this,"extended"===a,t,e,r,i)}toRFC2822(){return toTechFormat(this,"EEE, dd LLL yyyy HH:mm:ss ZZZ",!1)}toHTTP(){return toTechFormat(this.toUTC(),"EEE, dd LLL yyyy HH:mm:ss 'GMT'")}toSQLDate(){return this.isValid?toISODate(this,!0):null}toSQLTime({includeOffset:e=!0,includeZone:t=!1,includeOffsetSpace:r=!0}={}){let n="HH:mm:ss.SSS";return(t||e)&&(r&&(n+=" "),t?n+="z":e&&(n+="ZZ")),toTechFormat(this,n,!0)}toSQL(e={}){return this.isValid?`${this.toSQLDate()} ${this.toSQLTime(e)}`:null}toString(){return this.isValid?this.toISO():$e}valueOf(){return this.toMillis()}toMillis(){return this.isValid?this.ts:NaN}toSeconds(){return this.isValid?this.ts/1e3:NaN}toUnixInteger(){return this.isValid?Math.floor(this.ts/1e3):NaN}toJSON(){return this.toISO()}toBSON(){return this.toJSDate()}toObject(e={}){if(!this.isValid)return{};const t={...this.c};return e.includeConfig&&(t.outputCalendar=this.outputCalendar,t.numberingSystem=this.loc.numberingSystem,t.locale=this.loc.locale),t}toJSDate(){return new Date(this.isValid?this.ts:NaN)}diff(e,t="milliseconds",r={}){if(!this.isValid||!e.isValid)return Duration.invalid("created by diffing an invalid DateTime");const n={locale:this.locale,numberingSystem:this.numberingSystem,...r},i=function maybeArray(e){return Array.isArray(e)?e:[e]}(t).map(Duration.normalizeUnit),a=e.valueOf()>this.valueOf(),s=diff(a?this:e,a?e:this,i,n);return a?s.negate():s}diffNow(e="milliseconds",t={}){return this.diff(DateTime.now(),e,t)}until(e){return this.isValid?Interval.fromDateTimes(this,e):this}hasSame(e,t){if(!this.isValid)return!1;const r=e.valueOf(),n=this.setZone(e.zone,{keepLocalTime:!0});return n.startOf(t)<=r&&r<=n.endOf(t)}equals(e){return this.isValid&&e.isValid&&this.valueOf()===e.valueOf()&&this.zone.equals(e.zone)&&this.loc.equals(e.loc)}toRelative(e={}){if(!this.isValid)return null;const t=e.base||DateTime.fromObject({},{zone:this.zone}),r=e.padding?this<t?-e.padding:e.padding:0;let n=["years","months","days","hours","minutes","seconds"],i=e.unit;return Array.isArray(e.unit)&&(n=e.unit,i=void 0),diffRelative(t,this.plus(r),{...e,numeric:"always",units:n,unit:i})}toRelativeCalendar(e={}){return this.isValid?diffRelative(e.base||DateTime.fromObject({},{zone:this.zone}),this,{...e,numeric:"auto",units:["years","months","days"],calendary:!0}):null}static min(...e){if(!e.every(DateTime.isDateTime))throw new InvalidArgumentError("min requires all arguments be DateTimes");return bestBy(e,(e=>e.valueOf()),Math.min)}static max(...e){if(!e.every(DateTime.isDateTime))throw new InvalidArgumentError("max requires all arguments be DateTimes");return bestBy(e,(e=>e.valueOf()),Math.max)}static fromFormatExplain(e,t,r={}){const{locale:n=null,numberingSystem:i=null}=r;return explainFromTokens(Locale.fromOpts({locale:n,numberingSystem:i,defaultToEN:!0}),e,t)}static fromStringExplain(e,t,r={}){return DateTime.fromFormatExplain(e,t,r)}static get DATE_SHORT(){return a}static get DATE_MED(){return s}static get DATE_MED_WITH_WEEKDAY(){return o}static get DATE_FULL(){return u}static get DATE_HUGE(){return c}static get TIME_SIMPLE(){return l}static get TIME_WITH_SECONDS(){return d}static get TIME_WITH_SHORT_OFFSET(){return f}static get TIME_WITH_LONG_OFFSET(){return h}static get TIME_24_SIMPLE(){return p}static get TIME_24_WITH_SECONDS(){return m}static get TIME_24_WITH_SHORT_OFFSET(){return y}static get TIME_24_WITH_LONG_OFFSET(){return g}static get DATETIME_SHORT(){return b}static get DATETIME_SHORT_WITH_SECONDS(){return v}static get DATETIME_MED(){return _}static get DATETIME_MED_WITH_SECONDS(){return w}static get DATETIME_MED_WITH_WEEKDAY(){return I}static get DATETIME_FULL(){return O}static get DATETIME_FULL_WITH_SECONDS(){return R}static get DATETIME_HUGE(){return S}static get DATETIME_HUGE_WITH_SECONDS(){return A}}function friendlyDateTime(e){if(DateTime.isDateTime(e))return e;if(e&&e.valueOf&&isNumber(e.valueOf()))return DateTime.fromJSDate(e);if(e&&"object"==typeof e)return DateTime.fromObject(e);throw new InvalidArgumentError(`Unknown datetime argument: ${e}, of type ${typeof e}`)}t.DateTime=DateTime,t.Duration=Duration,t.FixedOffsetZone=FixedOffsetZone,t.IANAZone=IANAZone,t.Info=Info,t.Interval=Interval,t.InvalidZone=InvalidZone,t.Settings=Settings,t.SystemZone=SystemZone,t.VERSION="3.0.4",t.Zone=Zone},8660:()=>{var e;!function(e){!function(t){var r="object"==typeof global?global:"object"==typeof self?self:"object"==typeof this?this:Function("return this;")(),n=makeExporter(e);function makeExporter(e,t){return function(r,n){"function"!=typeof e[r]&&Object.defineProperty(e,r,{configurable:!0,writable:!0,value:n}),t&&t(r,n)}}void 0===r.Reflect?r.Reflect=e:n=makeExporter(r.Reflect,n),function(e){var t=Object.prototype.hasOwnProperty,r="function"==typeof Symbol,n=r&&void 0!==Symbol.toPrimitive?Symbol.toPrimitive:"@@toPrimitive",i=r&&void 0!==Symbol.iterator?Symbol.iterator:"@@iterator",a="function"==typeof Object.create,s={__proto__:[]}instanceof Array,o=!a&&!s,u={create:a?function(){return MakeDictionary(Object.create(null))}:s?function(){return MakeDictionary({__proto__:null})}:function(){return MakeDictionary({})},has:o?function(e,r){return t.call(e,r)}:function(e,t){return t in e},get:o?function(e,r){return t.call(e,r)?e[r]:void 0}:function(e,t){return e[t]}},c=Object.getPrototypeOf(Function),l="object"==typeof process&&process.env&&"true"===process.env.REFLECT_METADATA_USE_MAP_POLYFILL,d=l||"function"!=typeof Map||"function"!=typeof Map.prototype.entries?CreateMapPolyfill():Map,f=l||"function"!=typeof Set||"function"!=typeof Set.prototype.entries?CreateSetPolyfill():Set,h=new(l||"function"!=typeof WeakMap?CreateWeakMapPolyfill():WeakMap);function decorate(e,t,r,n){if(IsUndefined(r)){if(!IsArray(e))throw new TypeError;if(!IsConstructor(t))throw new TypeError;return DecorateConstructor(e,t)}if(!IsArray(e))throw new TypeError;if(!IsObject(t))throw new TypeError;if(!IsObject(n)&&!IsUndefined(n)&&!IsNull(n))throw new TypeError;return IsNull(n)&&(n=void 0),DecorateProperty(e,t,r=ToPropertyKey(r),n)}function metadata(e,t){function decorator(r,n){if(!IsObject(r))throw new TypeError;if(!IsUndefined(n)&&!IsPropertyKey(n))throw new TypeError;OrdinaryDefineOwnMetadata(e,t,r,n)}return decorator}function defineMetadata(e,t,r,n){if(!IsObject(r))throw new TypeError;return IsUndefined(n)||(n=ToPropertyKey(n)),OrdinaryDefineOwnMetadata(e,t,r,n)}function hasMetadata(e,t,r){if(!IsObject(t))throw new TypeError;return IsUndefined(r)||(r=ToPropertyKey(r)),OrdinaryHasMetadata(e,t,r)}function hasOwnMetadata(e,t,r){if(!IsObject(t))throw new TypeError;return IsUndefined(r)||(r=ToPropertyKey(r)),OrdinaryHasOwnMetadata(e,t,r)}function getMetadata(e,t,r){if(!IsObject(t))throw new TypeError;return IsUndefined(r)||(r=ToPropertyKey(r)),OrdinaryGetMetadata(e,t,r)}function getOwnMetadata(e,t,r){if(!IsObject(t))throw new TypeError;return IsUndefined(r)||(r=ToPropertyKey(r)),OrdinaryGetOwnMetadata(e,t,r)}function getMetadataKeys(e,t){if(!IsObject(e))throw new TypeError;return IsUndefined(t)||(t=ToPropertyKey(t)),OrdinaryMetadataKeys(e,t)}function getOwnMetadataKeys(e,t){if(!IsObject(e))throw new TypeError;return IsUndefined(t)||(t=ToPropertyKey(t)),OrdinaryOwnMetadataKeys(e,t)}function deleteMetadata(e,t,r){if(!IsObject(t))throw new TypeError;IsUndefined(r)||(r=ToPropertyKey(r));var n=GetOrCreateMetadataMap(t,r,!1);if(IsUndefined(n))return!1;if(!n.delete(e))return!1;if(n.size>0)return!0;var i=h.get(t);return i.delete(r),i.size>0||h.delete(t),!0}function DecorateConstructor(e,t){for(var r=e.length-1;r>=0;--r){var n=(0,e[r])(t);if(!IsUndefined(n)&&!IsNull(n)){if(!IsConstructor(n))throw new TypeError;t=n}}return t}function DecorateProperty(e,t,r,n){for(var i=e.length-1;i>=0;--i){var a=(0,e[i])(t,r,n);if(!IsUndefined(a)&&!IsNull(a)){if(!IsObject(a))throw new TypeError;n=a}}return n}function GetOrCreateMetadataMap(e,t,r){var n=h.get(e);if(IsUndefined(n)){if(!r)return;n=new d,h.set(e,n)}var i=n.get(t);if(IsUndefined(i)){if(!r)return;i=new d,n.set(t,i)}return i}function OrdinaryHasMetadata(e,t,r){if(OrdinaryHasOwnMetadata(e,t,r))return!0;var n=OrdinaryGetPrototypeOf(t);return!IsNull(n)&&OrdinaryHasMetadata(e,n,r)}function OrdinaryHasOwnMetadata(e,t,r){var n=GetOrCreateMetadataMap(t,r,!1);return!IsUndefined(n)&&ToBoolean(n.has(e))}function OrdinaryGetMetadata(e,t,r){if(OrdinaryHasOwnMetadata(e,t,r))return OrdinaryGetOwnMetadata(e,t,r);var n=OrdinaryGetPrototypeOf(t);return IsNull(n)?void 0:OrdinaryGetMetadata(e,n,r)}function OrdinaryGetOwnMetadata(e,t,r){var n=GetOrCreateMetadataMap(t,r,!1);if(!IsUndefined(n))return n.get(e)}function OrdinaryDefineOwnMetadata(e,t,r,n){GetOrCreateMetadataMap(r,n,!0).set(e,t)}function OrdinaryMetadataKeys(e,t){var r=OrdinaryOwnMetadataKeys(e,t),n=OrdinaryGetPrototypeOf(e);if(null===n)return r;var i=OrdinaryMetadataKeys(n,t);if(i.length<=0)return r;if(r.length<=0)return i;for(var a=new f,s=[],o=0,u=r;o<u.length;o++){var c=u[o];a.has(c)||(a.add(c),s.push(c))}for(var l=0,d=i;l<d.length;l++){c=d[l];a.has(c)||(a.add(c),s.push(c))}return s}function OrdinaryOwnMetadataKeys(e,t){var r=[],n=GetOrCreateMetadataMap(e,t,!1);if(IsUndefined(n))return r;for(var i=GetIterator(n.keys()),a=0;;){var s=IteratorStep(i);if(!s)return r.length=a,r;var o=IteratorValue(s);try{r[a]=o}catch(e){try{IteratorClose(i)}finally{throw e}}a++}}function Type(e){if(null===e)return 1;switch(typeof e){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return null===e?1:6;default:return 6}}function IsUndefined(e){return void 0===e}function IsNull(e){return null===e}function IsSymbol(e){return"symbol"==typeof e}function IsObject(e){return"object"==typeof e?null!==e:"function"==typeof e}function ToPrimitive(e,t){switch(Type(e)){case 0:case 1:case 2:case 3:case 4:case 5:return e}var r=3===t?"string":5===t?"number":"default",i=GetMethod(e,n);if(void 0!==i){var a=i.call(e,r);if(IsObject(a))throw new TypeError;return a}return OrdinaryToPrimitive(e,"default"===r?"number":r)}function OrdinaryToPrimitive(e,t){if("string"===t){var r=e.toString;if(IsCallable(r))if(!IsObject(i=r.call(e)))return i;if(IsCallable(n=e.valueOf))if(!IsObject(i=n.call(e)))return i}else{var n;if(IsCallable(n=e.valueOf))if(!IsObject(i=n.call(e)))return i;var i,a=e.toString;if(IsCallable(a))if(!IsObject(i=a.call(e)))return i}throw new TypeError}function ToBoolean(e){return!!e}function ToString(e){return""+e}function ToPropertyKey(e){var t=ToPrimitive(e,3);return IsSymbol(t)?t:ToString(t)}function IsArray(e){return Array.isArray?Array.isArray(e):e instanceof Object?e instanceof Array:"[object Array]"===Object.prototype.toString.call(e)}function IsCallable(e){return"function"==typeof e}function IsConstructor(e){return"function"==typeof e}function IsPropertyKey(e){switch(Type(e)){case 3:case 4:return!0;default:return!1}}function GetMethod(e,t){var r=e[t];if(null!=r){if(!IsCallable(r))throw new TypeError;return r}}function GetIterator(e){var t=GetMethod(e,i);if(!IsCallable(t))throw new TypeError;var r=t.call(e);if(!IsObject(r))throw new TypeError;return r}function IteratorValue(e){return e.value}function IteratorStep(e){var t=e.next();return!t.done&&t}function IteratorClose(e){var t=e.return;t&&t.call(e)}function OrdinaryGetPrototypeOf(e){var t=Object.getPrototypeOf(e);if("function"!=typeof e||e===c)return t;if(t!==c)return t;var r=e.prototype,n=r&&Object.getPrototypeOf(r);if(null==n||n===Object.prototype)return t;var i=n.constructor;return"function"!=typeof i||i===e?t:i}function CreateMapPolyfill(){var e={},t=[],r=function(){function MapIterator(e,t,r){this._index=0,this._keys=e,this._values=t,this._selector=r}return MapIterator.prototype["@@iterator"]=function(){return this},MapIterator.prototype[i]=function(){return this},MapIterator.prototype.next=function(){var e=this._index;if(e>=0&&e<this._keys.length){var r=this._selector(this._keys[e],this._values[e]);return e+1>=this._keys.length?(this._index=-1,this._keys=t,this._values=t):this._index++,{value:r,done:!1}}return{value:void 0,done:!0}},MapIterator.prototype.throw=function(e){throw this._index>=0&&(this._index=-1,this._keys=t,this._values=t),e},MapIterator.prototype.return=function(e){return this._index>=0&&(this._index=-1,this._keys=t,this._values=t),{value:e,done:!0}},MapIterator}();return function(){function Map(){this._keys=[],this._values=[],this._cacheKey=e,this._cacheIndex=-2}return Object.defineProperty(Map.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),Map.prototype.has=function(e){return this._find(e,!1)>=0},Map.prototype.get=function(e){var t=this._find(e,!1);return t>=0?this._values[t]:void 0},Map.prototype.set=function(e,t){var r=this._find(e,!0);return this._values[r]=t,this},Map.prototype.delete=function(t){var r=this._find(t,!1);if(r>=0){for(var n=this._keys.length,i=r+1;i<n;i++)this._keys[i-1]=this._keys[i],this._values[i-1]=this._values[i];return this._keys.length--,this._values.length--,t===this._cacheKey&&(this._cacheKey=e,this._cacheIndex=-2),!0}return!1},Map.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=e,this._cacheIndex=-2},Map.prototype.keys=function(){return new r(this._keys,this._values,getKey)},Map.prototype.values=function(){return new r(this._keys,this._values,getValue)},Map.prototype.entries=function(){return new r(this._keys,this._values,getEntry)},Map.prototype["@@iterator"]=function(){return this.entries()},Map.prototype[i]=function(){return this.entries()},Map.prototype._find=function(e,t){return this._cacheKey!==e&&(this._cacheIndex=this._keys.indexOf(this._cacheKey=e)),this._cacheIndex<0&&t&&(this._cacheIndex=this._keys.length,this._keys.push(e),this._values.push(void 0)),this._cacheIndex},Map}();function getKey(e,t){return e}function getValue(e,t){return t}function getEntry(e,t){return[e,t]}}function CreateSetPolyfill(){return function(){function Set(){this._map=new d}return Object.defineProperty(Set.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),Set.prototype.has=function(e){return this._map.has(e)},Set.prototype.add=function(e){return this._map.set(e,e),this},Set.prototype.delete=function(e){return this._map.delete(e)},Set.prototype.clear=function(){this._map.clear()},Set.prototype.keys=function(){return this._map.keys()},Set.prototype.values=function(){return this._map.values()},Set.prototype.entries=function(){return this._map.entries()},Set.prototype["@@iterator"]=function(){return this.keys()},Set.prototype[i]=function(){return this.keys()},Set}()}function CreateWeakMapPolyfill(){var e=16,r=u.create(),n=CreateUniqueKey();return function(){function WeakMap(){this._key=CreateUniqueKey()}return WeakMap.prototype.has=function(e){var t=GetOrCreateWeakMapTable(e,!1);return void 0!==t&&u.has(t,this._key)},WeakMap.prototype.get=function(e){var t=GetOrCreateWeakMapTable(e,!1);return void 0!==t?u.get(t,this._key):void 0},WeakMap.prototype.set=function(e,t){return GetOrCreateWeakMapTable(e,!0)[this._key]=t,this},WeakMap.prototype.delete=function(e){var t=GetOrCreateWeakMapTable(e,!1);return void 0!==t&&delete t[this._key]},WeakMap.prototype.clear=function(){this._key=CreateUniqueKey()},WeakMap}();function CreateUniqueKey(){var e;do{e="@@WeakMap@@"+CreateUUID()}while(u.has(r,e));return r[e]=!0,e}function GetOrCreateWeakMapTable(e,r){if(!t.call(e,n)){if(!r)return;Object.defineProperty(e,n,{value:u.create()})}return e[n]}function FillRandomBytes(e,t){for(var r=0;r<t;++r)e[r]=255*Math.random()|0;return e}function GenRandomBytes(e){return"function"==typeof Uint8Array?"undefined"!=typeof crypto?crypto.getRandomValues(new Uint8Array(e)):"undefined"!=typeof msCrypto?msCrypto.getRandomValues(new Uint8Array(e)):FillRandomBytes(new Uint8Array(e),e):FillRandomBytes(new Array(e),e)}function CreateUUID(){var t=GenRandomBytes(e);t[6]=79&t[6]|64,t[8]=191&t[8]|128;for(var r="",n=0;n<e;++n){var i=t[n];4!==n&&6!==n&&8!==n||(r+="-"),i<16&&(r+="0"),r+=i.toString(16).toLowerCase()}return r}}function MakeDictionary(e){return e.__=void 0,delete e.__,e}e("decorate",decorate),e("metadata",metadata),e("defineMetadata",defineMetadata),e("hasMetadata",hasMetadata),e("hasOwnMetadata",hasOwnMetadata),e("getMetadata",getMetadata),e("getOwnMetadata",getOwnMetadata),e("getMetadataKeys",getMetadataKeys),e("getOwnMetadataKeys",getOwnMetadataKeys),e("deleteMetadata",deleteMetadata)}(n)}()}(e||(e={}))},4714:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.nameof=void 0;var n=r(6898);Object.defineProperty(t,"nameof",{enumerable:!0,get:function(){return n.nameof}})},6898:(e,t)=>{"use strict";function cleanseAssertionOperators(e){return e.replace(/[?!]/g,"")}Object.defineProperty(t,"__esModule",{value:!0}),t.nameof=void 0,t.nameof=function nameof(e,t){var r=e.toString();if(r.startsWith("class ")&&!r.startsWith("class =>"))return cleanseAssertionOperators(r.substring("class ".length,r.indexOf(" {")));if(r.includes("=>"))return cleanseAssertionOperators(r.substring(r.indexOf(".")+1));var n=r.match(/function\s*\(\w+\)\s*\{[\r\n\s]*return\s+\w+\.((\w+\.)*(\w+))/i);if(n)return t&&t.lastProp?n[3]:n[1];if(r.startsWith("function "))return cleanseAssertionOperators(r.substring("function ".length,r.indexOf("(")));throw new Error("ts-simple-nameof: Invalid function.")}},5030:e=>{"use strict";e.exports=NMSHDContent},2890:e=>{"use strict";e.exports=NMSHDCrypto},9663:e=>{"use strict";e.exports=NMSHDTransport},194:e=>{"use strict";e.exports=TSServal}},t={};function __webpack_require__(r){var n=t[r];if(void 0!==n)return n.exports;var i=t[r]={id:r,loaded:!1,exports:{}};return e[r].call(i.exports,i,i.exports,__webpack_require__),i.loaded=!0,i.exports}__webpack_require__.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var r=__webpack_require__(5590);NMSHDConsumption=r})();
|
|
3
3
|
//# sourceMappingURL=nmshd.consumption.min.js.map
|