@nmshd/consumption 2.0.0-beta.2 → 2.0.0-beta.20

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.
Files changed (128) hide show
  1. package/dist/buildInformation.js +4 -4
  2. package/dist/consumption/ConsumptionBaseController.d.ts +1 -1
  3. package/dist/consumption/ConsumptionBaseController.js +2 -3
  4. package/dist/consumption/ConsumptionBaseController.js.map +1 -1
  5. package/dist/consumption/ConsumptionController.d.ts +4 -8
  6. package/dist/consumption/ConsumptionController.js +14 -13
  7. package/dist/consumption/ConsumptionController.js.map +1 -1
  8. package/dist/consumption/ConsumptionControllerName.d.ts +2 -1
  9. package/dist/consumption/ConsumptionControllerName.js +2 -1
  10. package/dist/consumption/ConsumptionControllerName.js.map +1 -1
  11. package/dist/consumption/ConsumptionErrors.d.ts +11 -0
  12. package/dist/consumption/ConsumptionErrors.js +28 -1
  13. package/dist/consumption/ConsumptionErrors.js.map +1 -1
  14. package/dist/consumption/ConsumptionIds.d.ts +1 -0
  15. package/dist/consumption/ConsumptionIds.js +1 -0
  16. package/dist/consumption/ConsumptionIds.js.map +1 -1
  17. package/dist/modules/attributeListeners/AttributeListenersController.d.ts +18 -0
  18. package/dist/modules/attributeListeners/AttributeListenersController.js +44 -0
  19. package/dist/modules/attributeListeners/AttributeListenersController.js.map +1 -0
  20. package/dist/modules/attributeListeners/events/AttributeListenerCreatedEvent.d.ts +6 -0
  21. package/dist/modules/attributeListeners/events/AttributeListenerCreatedEvent.js +12 -0
  22. package/dist/modules/attributeListeners/events/AttributeListenerCreatedEvent.js.map +1 -0
  23. package/dist/modules/attributeListeners/events/index.d.ts +1 -0
  24. package/dist/modules/attributeListeners/events/index.js +18 -0
  25. package/dist/modules/attributeListeners/events/index.js.map +1 -0
  26. package/dist/modules/attributeListeners/index.d.ts +4 -0
  27. package/dist/modules/attributeListeners/index.js +21 -0
  28. package/dist/modules/attributeListeners/index.js.map +1 -0
  29. package/dist/modules/attributeListeners/local/CreateLocalAttributeListenerParams.d.ts +12 -0
  30. package/dist/modules/attributeListeners/local/CreateLocalAttributeListenerParams.js +35 -0
  31. package/dist/modules/attributeListeners/local/CreateLocalAttributeListenerParams.js.map +1 -0
  32. package/dist/modules/attributeListeners/local/LocalAttributeListener.d.ts +19 -0
  33. package/dist/modules/attributeListeners/local/LocalAttributeListener.js +46 -0
  34. package/dist/modules/attributeListeners/local/LocalAttributeListener.js.map +1 -0
  35. package/dist/modules/attributes/{LocalAttributesController.d.ts → AttributesController.d.ts} +4 -3
  36. package/dist/modules/attributes/{LocalAttributesController.js → AttributesController.js} +22 -9
  37. package/dist/modules/attributes/AttributesController.js.map +1 -0
  38. package/dist/modules/attributes/index.d.ts +9 -0
  39. package/dist/modules/attributes/index.js +26 -0
  40. package/dist/modules/attributes/index.js.map +1 -0
  41. package/dist/modules/attributes/local/{CreateRelationshipAttributeParams.d.ts → CreateAttributeParams.d.ts} +3 -3
  42. package/dist/modules/attributes/local/{CreateRelationshipAttributeParams.js → CreateAttributeParams.js} +10 -10
  43. package/dist/modules/attributes/local/CreateAttributeParams.js.map +1 -0
  44. package/dist/modules/attributes/local/CreateLocalAttributeParams.js.map +1 -1
  45. package/dist/modules/attributes/local/CreatePeerLocalAttributeParams.js.map +1 -1
  46. package/dist/modules/attributes/local/CreateSharedLocalAttributeCopyParams.js.map +1 -1
  47. package/dist/modules/attributes/local/LocalAttribute.js.map +1 -1
  48. package/dist/modules/attributes/local/LocalAttributeShareInfo.js.map +1 -1
  49. package/dist/modules/attributes/local/QueryTranslator.d.ts +5 -1
  50. package/dist/modules/attributes/local/QueryTranslator.js +50 -6
  51. package/dist/modules/attributes/local/QueryTranslator.js.map +1 -1
  52. package/dist/modules/attributes/local/SucceedLocalAttributeParams.js.map +1 -1
  53. package/dist/modules/attributes/local/UpdateLocalAttributeParams.js.map +1 -1
  54. package/dist/modules/drafts/DraftsController.js +1 -1
  55. package/dist/modules/drafts/DraftsController.js.map +1 -1
  56. package/dist/modules/drafts/index.d.ts +2 -0
  57. package/dist/modules/drafts/index.js +19 -0
  58. package/dist/modules/drafts/index.js.map +1 -0
  59. package/dist/modules/drafts/local/Draft.js.map +1 -1
  60. package/dist/modules/index.d.ts +5 -50
  61. package/dist/modules/index.js +5 -49
  62. package/dist/modules/index.js.map +1 -1
  63. package/dist/modules/requests/incoming/DecideRequestParametersValidator.d.ts +0 -1
  64. package/dist/modules/requests/incoming/DecideRequestParametersValidator.js +10 -13
  65. package/dist/modules/requests/incoming/DecideRequestParametersValidator.js.map +1 -1
  66. package/dist/modules/requests/incoming/IncomingRequestsController.js +14 -14
  67. package/dist/modules/requests/incoming/IncomingRequestsController.js.map +1 -1
  68. package/dist/modules/requests/incoming/checkPrerequisites/CheckPrerequisitesOfIncomingRequestParameters.js.map +1 -1
  69. package/dist/modules/requests/incoming/complete/CompleteIncomingRequestParameters.d.ts +2 -2
  70. package/dist/modules/requests/incoming/complete/CompleteIncomingRequestParameters.js +1 -1
  71. package/dist/modules/requests/incoming/complete/CompleteIncomingRequestParameters.js.map +1 -1
  72. package/dist/modules/requests/incoming/decide/InternalDecideRequestParameters.js.map +1 -1
  73. package/dist/modules/requests/incoming/received/ReceivedIncomingRequestParameters.js.map +1 -1
  74. package/dist/modules/requests/incoming/requireManualDecision/RequireManualDecisionOfIncomingRequestParameters.js.map +1 -1
  75. package/dist/modules/requests/index.d.ts +38 -0
  76. package/dist/modules/requests/index.js +54 -0
  77. package/dist/modules/requests/index.js.map +1 -0
  78. package/dist/modules/requests/itemProcessors/GenericRequestItemProcessor.d.ts +1 -1
  79. package/dist/modules/requests/itemProcessors/GenericRequestItemProcessor.js.map +1 -1
  80. package/dist/modules/requests/itemProcessors/IRequestItemProcessor.d.ts +1 -1
  81. package/dist/modules/requests/itemProcessors/createAttribute/AcceptCreateAttributeRequestItemParameters.js.map +1 -1
  82. package/dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.d.ts +1 -3
  83. package/dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.js +42 -43
  84. package/dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.js.map +1 -1
  85. package/dist/modules/requests/itemProcessors/proposeAttribute/AcceptProposeAttributeRequestItemParameters.js.map +1 -1
  86. package/dist/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.d.ts +1 -1
  87. package/dist/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.js +2 -2
  88. package/dist/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.js.map +1 -1
  89. package/dist/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.js.map +1 -1
  90. package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.d.ts +1 -1
  91. package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js +2 -1
  92. package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js.map +1 -1
  93. package/dist/modules/requests/itemProcessors/registerAttributeListener/RegisterAttributeListenerRequestItemProcessor.d.ts +7 -0
  94. package/dist/modules/requests/itemProcessors/registerAttributeListener/RegisterAttributeListenerRequestItemProcessor.js +19 -0
  95. package/dist/modules/requests/itemProcessors/registerAttributeListener/RegisterAttributeListenerRequestItemProcessor.js.map +1 -0
  96. package/dist/modules/requests/itemProcessors/shareAttribute/AcceptShareAttributeRequestItemParameters.js.map +1 -1
  97. package/dist/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.d.ts +6 -8
  98. package/dist/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.js +34 -72
  99. package/dist/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.js.map +1 -1
  100. package/dist/modules/requests/itemProcessors/utility/validateQuery.d.ts +2 -2
  101. package/dist/modules/requests/itemProcessors/utility/validateQuery.js +4 -4
  102. package/dist/modules/requests/itemProcessors/utility/validateQuery.js.map +1 -1
  103. package/dist/modules/requests/local/LocalRequest.js.map +1 -1
  104. package/dist/modules/requests/local/LocalRequestStatusLogEntry.js.map +1 -1
  105. package/dist/modules/requests/local/LocalResponse.js.map +1 -1
  106. package/dist/modules/requests/outgoing/OutgoingRequestsController.d.ts +4 -2
  107. package/dist/modules/requests/outgoing/OutgoingRequestsController.js +7 -1
  108. package/dist/modules/requests/outgoing/OutgoingRequestsController.js.map +1 -1
  109. package/dist/modules/requests/outgoing/completeOutgoingRequest/CompleteOutgoingRequestParameters.js.map +1 -1
  110. package/dist/modules/requests/outgoing/createFromRelationshipCreationChange/CreateOutgoingRequestFromRelationshipCreationChangeParameters.js.map +1 -1
  111. package/dist/modules/requests/outgoing/createOutgoingRequest/CanCreateOutgoingRequestParameters.d.ts +13 -0
  112. package/dist/modules/requests/outgoing/createOutgoingRequest/CanCreateOutgoingRequestParameters.js +35 -0
  113. package/dist/modules/requests/outgoing/createOutgoingRequest/CanCreateOutgoingRequestParameters.js.map +1 -0
  114. package/dist/modules/requests/outgoing/createOutgoingRequest/CreateOutgoingRequestParameters.js.map +1 -1
  115. package/dist/modules/requests/outgoing/sentOutgoingRequest/SentOutgoingRequestParameters.js.map +1 -1
  116. package/dist/modules/settings/SettingsController.js +1 -1
  117. package/dist/modules/settings/SettingsController.js.map +1 -1
  118. package/dist/modules/settings/index.d.ts +3 -0
  119. package/dist/modules/settings/index.js +20 -0
  120. package/dist/modules/settings/index.js.map +1 -0
  121. package/dist/modules/settings/local/Setting.js.map +1 -1
  122. package/lib-web/nmshd.consumption.js +798 -275
  123. package/lib-web/nmshd.consumption.js.map +1 -1
  124. package/lib-web/nmshd.consumption.min.js +1 -1
  125. package/lib-web/nmshd.consumption.min.js.map +1 -1
  126. package/package.json +20 -20
  127. package/dist/modules/attributes/LocalAttributesController.js.map +0 -1
  128. package/dist/modules/attributes/local/CreateRelationshipAttributeParams.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),s=r(2890),o=r(9663);t.buildInformation={version:"2.0.0-beta.2",build:"52",date:"2022-07-21T12:41:03+00:00",commit:"5ae49a7cb3ded2b90958e44e4f3e03599ba6cc9c",dependencies:{"@js-soft/docdb-querytranslator":"^1.1.0","ts-simple-nameof":"^1.3.1"},libraries:{transport:o.buildInformation,crypto:s.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{constructor(e,t){this._parent=t,this._log=n.TransportLoggerFactory.getLogger(e)}get log(){return this._log}get parent(){return this._parent}init(){return Promise.resolve(this)}async parseArray(e,t){const r=e.map((e=>t.from(e)));return await Promise.all(r)}}},9793:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConsumptionController=void 0;const n=r(5030),i=r(9662),s=r(9221),o=r(1574),a=r(5664),u=r(9469),c=r(5180),l=r(8672);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}async init(e=new Map){this._attributes=await new s.LocalAttributesController(this,this.transport.eventBus,this.accountController.identity).init(),this._drafts=await new o.DraftsController(this).init();const t=new u.RequestItemProcessorRegistry(this,this.getDefaultProcessors());for(const[r,n]of e)t.registerOrReplaceProcessor(r,n);return this._outgoingRequests=await new c.OutgoingRequestsController(await this.accountController.getSynchronizedCollection("Requests"),t,this,this.transport.eventBus,this.accountController.identity).init(),this._incomingRequests=await new a.IncomingRequestsController(await this.accountController.getSynchronizedCollection("Requests"),t,this,this.transport.eventBus,this.accountController.identity).init(),this._settings=await new l.SettingsController(this).init(),this}getDefaultProcessors(){return new Map([[n.CreateAttributeRequestItem,i.CreateAttributeRequestItemProcessor],[n.ReadAttributeRequestItem,i.ReadAttributeRequestItemProcessor],[n.ProposeAttributeRequestItem,i.ProposeAttributeRequestItemProcessor],[n.ShareAttributeRequestItem,i.ShareAttributeRequestItemProcessor]])}}},2047:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConsumptionControllerName=void 0,function(e){e.LocalAttributesController="LocalAttributesController",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={}))},3926:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConsumptionErrors=void 0;const n=r(9663);class ConsumptionErrors{}t.ConsumptionErrors=ConsumptionErrors,ConsumptionErrors.attributes=new class Attributes{attributeExists(e){return new n.CoreError("error.consumption.attributes.attributeExists",`Attribute with id '${e}' already exists. Please use succeed instead.`)}predecessorNotFound(e){return new n.CoreError("error.consumption.attributes.predecessorNotFound",`Attribute with id '${e}' does not exist. Please use create instead.`)}},ConsumptionErrors.requests=new class Requests{requestExists(e){return new n.CoreError("error.consumption.requests.requestExists",`Request with id ${e} already exists and can't be created.`)}unexpectedErrorDuringRequestItemProcessing(e){return new n.CoreError("error.consumption.requests.unexpectedErrorDuringRequestItemProcessing",e instanceof Error?e.message:"Unknown error: '${JSON.stringify(e)'")}invalidRequestItem(e){return new n.CoreError("error.consumption.requests.invalidRequestItem",e)}},ConsumptionErrors.relationshipInfo=new class RelationshipInfo{relationshipInfoExists(e){return new n.CoreError("error.consumption.relationshipInfos.relationshipInfoExists",`RelationshipInfo for Relationship ${e} already exists.`)}},ConsumptionErrors.onboarding=new class Onboarding{attributeNotSet(e){return new n.CoreError("error.consumption.onboarding.attributeNotSet",`No attribute with name ${e} set but was required to be shared.`)}wrongTemplate(){return new n.CoreError("error.consumption.onboarding.wrongTemplate","The given template is in the wrong format.")}}},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")},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(3926),t),i(r(6265),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)},9221:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LocalAttributesController=void 0;const n=r(5030),i=r(9663),s=r(4714),o=r(7997),a=r(9757),u=r(7011),c=r(306),l=r(6832),d=r(2732),f=r(8637);class LocalAttributesController extends o.ConsumptionBaseController{constructor(e,t,r){super(o.ConsumptionControllerName.LocalAttributesController,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,s.nameof)((e=>e.id))]:e.toString()});if(t)return c.LocalAttribute.from(t)}async getLocalAttributes(e){const t=await this.attributes.find(e);return await this.parseArray(t,c.LocalAttribute)}async getValidLocalAttributes(e){const t=await this.attributes.find(e),r=await this.parseArray(t,c.LocalAttribute);return this.filterCurrent(r)}async executeRelationshipAttributeQuery(e){const t=n.RelationshipAttributeQuery.from(e),r=d.RelationshipAttributeQueryTranslator.translate(t),i=await this.attributes.find(r);return await this.parseArray(i,c.LocalAttribute)}async executeIdentityAttributeQuery(e){const t=n.IdentityAttributeQuery.from(e),r=d.IdentityAttributeQueryTranslator.translate(t),i=await this.attributes.find(r);return await this.parseArray(i,c.LocalAttribute)}async createLocalAttribute(e){const t=await c.LocalAttribute.fromAttribute(e.content);return await this.attributes.create(t),this.eventBus.publish(new a.AttributeCreatedEvent(this.identity.address.toString(),t)),t}async succeedLocalAttribute(e){const t=f.SucceedLocalAttributeParams.from(e),r=await this.attributes.findOne({[(0,s.nameof)((e=>e.id))]:e.succeeds.toString()});if(!r)throw o.ConsumptionErrors.attributes.predecessorNotFound(t.succeeds.toString());t.successorContent.validFrom||(t.successorContent.validFrom=i.CoreDate.utc());const n=t.successorContent.validFrom,u=c.LocalAttribute.from(r);u.content.validTo=n.subtract(1),await this.attributes.update(r,u);const l=await c.LocalAttribute.fromAttribute(t.successorContent,t.succeeds);return await this.attributes.create(l),this.eventBus.publish(new a.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 o.ConsumptionErrors.attributes.predecessorNotFound(t.sourceAttributeId.toString());const n=l.LocalAttributeShareInfo.from({peer:t.peer,requestReference:t.requestReference,sourceAttribute:t.sourceAttributeId}),i=await c.LocalAttribute.fromAttribute(r.content,void 0,n,t.attributeId);return await this.attributes.create(i),this.eventBus.publish(new a.SharedAttributeCopyCreatedEvent(this.identity.address.toString(),i)),i}async createPeerLocalAttribute(e){const t=l.LocalAttributeShareInfo.from({peer:e.peer,requestReference:e.requestReference}),r=c.LocalAttribute.from({id:e.id??await o.ConsumptionIds.attribute.generate(),content:e.content,shareInfo:t,createdAt:i.CoreDate.utc()});return await this.attributes.create(r),r}async updateLocalAttribute(e){const t=await this.attributes.findOne({[(0,s.nameof)((e=>e.id))]:e.id.toString()});if(!t)throw i.TransportErrors.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 a.AttributeUpdatedEvent(this.identity.address.toString(),r)),r}async deleteAttribute(e){await this.attributes.delete(e),this.eventBus.publish(new a.AttributeDeletedEvent(this.identity.address.toString(),e))}}t.LocalAttributesController=LocalAttributesController},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)},8743:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(5030);class CreateLocalAttributeParams extends s.Serializable{static from(e){return this.fromAny(e)}}n([(0,s.serialize)({unionTypes:[o.IdentityAttribute,o.RelationshipAttribute]}),(0,s.validate)(),i("design:type",Object)],CreateLocalAttributeParams.prototype,"content",void 0),t.CreateLocalAttributeParams=CreateLocalAttributeParams},9228:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(5030),a=r(9663);class CreatePeerLocalAttributeParams extends s.Serializable{static from(e){return this.fromAny(e)}}n([(0,s.serialize)(),(0,s.validate)(),i("design:type",a.CoreId)],CreatePeerLocalAttributeParams.prototype,"id",void 0),n([(0,s.serialize)({unionTypes:[o.IdentityAttribute,o.RelationshipAttribute]}),(0,s.validate)(),i("design:type",Object)],CreatePeerLocalAttributeParams.prototype,"content",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",a.CoreId)],CreatePeerLocalAttributeParams.prototype,"requestReference",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",a.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,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(9663);class CreateSharedLocalAttributeCopyParams extends s.Serializable{static from(e){return this.fromAny(e)}}n([(0,s.serialize)(),(0,s.validate)({nullable:!0}),i("design:type",o.CoreId)],CreateSharedLocalAttributeCopyParams.prototype,"attributeId",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",o.CoreId)],CreateSharedLocalAttributeCopyParams.prototype,"sourceAttributeId",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",o.CoreAddress)],CreateSharedLocalAttributeCopyParams.prototype,"peer",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",o.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,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(5030),a=r(9663),u=r(4714),c=r(7997),l=r(6832);let d=class LocalAttribute extends a.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 o.IdentityAttribute}isOwnedBy(e){return this.content.owner.equals(e)}static from(e){return this.fromAny(e)}static async fromAttribute(e,t,r,n){return this.from({id:n??await c.ConsumptionIds.attribute.generate(),content:e,createdAt:a.CoreDate.utc(),succeeds:t,shareInfo:r})}};n([(0,s.validate)(),(0,s.serialize)({unionTypes:[o.IdentityAttribute,o.RelationshipAttribute]}),i("design:type",Object)],d.prototype,"content",void 0),n([(0,s.validate)(),(0,s.serialize)(),i("design:type",a.CoreDate)],d.prototype,"createdAt",void 0),n([(0,s.validate)({nullable:!0}),(0,s.serialize)(),i("design:type",a.CoreId)],d.prototype,"succeeds",void 0),n([(0,s.validate)({nullable:!0}),(0,s.serialize)(),i("design:type",a.CoreId)],d.prototype,"succeededBy",void 0),n([(0,s.validate)({nullable:!0}),(0,s.serialize)(),i("design:type",l.LocalAttributeShareInfo)],d.prototype,"shareInfo",void 0),d=n([(0,s.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,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(9663);class LocalAttributeShareInfo extends o.CoreSerializable{static from(e){return super.fromAny(e)}}n([(0,s.validate)(),(0,s.serialize)(),i("design:type",o.CoreId)],LocalAttributeShareInfo.prototype,"requestReference",void 0),n([(0,s.validate)(),(0,s.serialize)(),i("design:type",o.CoreAddress)],LocalAttributeShareInfo.prototype,"peer",void 0),n([(0,s.validate)({nullable:!0}),(0,s.serialize)(),i("design:type",o.CoreId)],LocalAttributeShareInfo.prototype,"sourceAttribute",void 0),t.LocalAttributeShareInfo=LocalAttributeShareInfo},2732:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RelationshipAttributeQueryTranslator=t.IdentityAttributeQueryTranslator=void 0;const n=r(2937),i=r(8565),s=r(4714);class IdentityAttributeQueryTranslator{static translate(e){return this.translator.parse({...e.toJSON(),attributeType:"IdentityAttribute"})}}t.IdentityAttributeQueryTranslator=IdentityAttributeQueryTranslator,IdentityAttributeQueryTranslator.translator=new n.QueryTranslator({whitelist:{[(0,s.nameof)((e=>e.tags))]:!0,[(0,s.nameof)((e=>e.valueType))]:!0,[(0,s.nameof)((e=>e.validFrom))]:!0,[(0,s.nameof)((e=>e.validTo))]:!0,attributeType:!0},alias:{[(0,s.nameof)((e=>e.valueType))]:[`${(0,s.nameof)((e=>e.content))}.${(0,s.nameof)((e=>e.value))}.@type`],attributeType:[`${(0,s.nameof)((e=>e.content))}.@type`]},custom:{[(0,s.nameof)((e=>e.tags))]:(e,t)=>{if(!t)return;if(!Array.isArray(t))throw new Error("Invalid input: 'tags' must be an array");const r=t;e.$or=r.map((e=>({[`${(0,s.nameof)((e=>e.content))}.${(0,s.nameof)((e=>e.tags))}`]:{$contains:e}})))},[(0,s.nameof)((e=>e.validFrom))]:(e,t)=>{if(!t)return;const r=i.DateTime.fromISO(t).toUTC().toString();e[`${(0,s.nameof)((e=>e.content))}.${(0,s.nameof)((e=>e.validFrom))}`]={$gte:r}},[(0,s.nameof)((e=>e.validTo))]:(e,t)=>{if(!t)return;const r=i.DateTime.fromISO(t).toUTC().toString();e[`${(0,s.nameof)((e=>e.content))}.${(0,s.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,s.nameof)((e=>e.key))]:!0,[(0,s.nameof)((e=>e.valueType))]:!0,[(0,s.nameof)((e=>e.validFrom))]:!0,[(0,s.nameof)((e=>e.validTo))]:!0,[(0,s.nameof)((e=>e.owner))]:!0,[(0,s.nameof)((e=>e.thirdParty))]:!0,attributeType:!0},alias:{[(0,s.nameof)((e=>e.key))]:[`${(0,s.nameof)((e=>e.content))}.${(0,s.nameof)((e=>e.key))}`],[(0,s.nameof)((e=>e.valueType))]:[`${(0,s.nameof)((e=>e.content))}.${(0,s.nameof)((e=>e.value))}.@type`],attributeType:[`${(0,s.nameof)((e=>e.content))}.@type`],[(0,s.nameof)((e=>e.owner))]:[`${(0,s.nameof)((e=>e.content))}.${(0,s.nameof)((e=>e.owner))}`],[(0,s.nameof)((e=>e.thirdParty))]:[`${(0,s.nameof)((e=>e.shareInfo))}.${(0,s.nameof)((e=>e.peer))}`]},custom:{[(0,s.nameof)((e=>e.validFrom))]:(e,t)=>{if(!t)return;const r=i.DateTime.fromISO(t).toUTC().toString();e[`${(0,s.nameof)((e=>e.content))}.${(0,s.nameof)((e=>e.validFrom))}`]={$gte:r}},[(0,s.nameof)((e=>e.validTo))]:(e,t)=>{if(!t)return;const r=i.DateTime.fromISO(t).toUTC().toString();e[`${(0,s.nameof)((e=>e.content))}.${(0,s.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,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(5030),a=r(9663);class SucceedLocalAttributeParams extends s.Serializable{static from(e){return this.fromAny(e)}}n([(0,s.serialize)({unionTypes:[o.IdentityAttribute,o.RelationshipAttribute]}),(0,s.validate)(),i("design:type",Object)],SucceedLocalAttributeParams.prototype,"successorContent",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",a.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,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(5030),a=r(9663);class UpdateLocalAttributeParams extends s.Serializable{static from(e){return this.fromAny(e)}}n([(0,s.serialize)(),(0,s.validate)(),i("design:type",a.CoreId)],UpdateLocalAttributeParams.prototype,"id",void 0),n([(0,s.serialize)({unionTypes:[o.IdentityAttribute,o.RelationshipAttribute]}),(0,s.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),s=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?s.Draft.from(t):void 0}async getDrafts(e){const t=await this.drafts.find(e);return await this.parseArray(t,s.Draft)}async createDraft(e,t=""){const r=s.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 Error("Draft Not Found");await this.drafts.update(t,e)}async deleteDraft(e){await this.drafts.delete(e)}}t.DraftsController=DraftsController},8535:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(9663),a=r(4714);let u=class Draft extends o.CoreSynchronizable{constructor(){super(...arguments),this.technicalProperties=["@type","@context",(0,a.nameof)((e=>e.type)),(0,a.nameof)((e=>e.createdAt)),(0,a.nameof)((e=>e.lastModifiedAt))],this.userdataProperties=[(0,a.nameof)((e=>e.content))],this.metadataProperties=[(0,a.nameof)((e=>e.metadata)),(0,a.nameof)((e=>e.metadataModifiedAt))]}static from(e){return this.fromAny(e)}};n([(0,s.validate)(),(0,s.serialize)(),i("design:type",String)],u.prototype,"type",void 0),n([(0,s.validate)(),(0,s.serialize)(),i("design:type",o.CoreDate)],u.prototype,"createdAt",void 0),n([(0,s.validate)(),(0,s.serialize)(),i("design:type",o.CoreDate)],u.prototype,"lastModifiedAt",void 0),n([(0,s.validate)(),(0,s.serialize)(),i("design:type",s.Serializable)],u.prototype,"content",void 0),n([(0,s.validate)({nullable:!0}),(0,s.serialize)({any:!0}),i("design:type",Object)],u.prototype,"metadata",void 0),n([(0,s.validate)({nullable:!0}),(0,s.serialize)(),i("design:type",o.CoreDate)],u.prototype,"metadataModifiedAt",void 0),u=n([(0,s.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(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),i(r(9221),t),i(r(1574),t),i(r(8535),t),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(3309),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(8368),t),i(r(9469),t),i(r(2067),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(1557),t),i(r(5180),t),i(r(325),t),i(r(9671),t),i(r(2660),t),i(r(8672),t)},4014:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IncomingRequestReceivedEvent=void 0;const n=r(9663);class IncomingRequestReceivedEvent extends n.TransportDataEvent{constructor(e,t){if(super(IncomingRequestReceivedEvent.namespace,e,t),t.isOwn)throw new Error("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);class IncomingRequestStatusChangedEvent extends n.TransportDataEvent{constructor(e,t){if(super(IncomingRequestStatusChangedEvent.namespace,e,t),t.request.isOwn)throw new Error("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);class OutgoingRequestCreatedEvent extends n.TransportDataEvent{constructor(e,t){if(super(OutgoingRequestCreatedEvent.namespace,e,t),!t.isOwn)throw new Error("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);class OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent extends n.TransportDataEvent{constructor(e,t){if(super(OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent.namespace,e,t),!t.isOwn)throw new Error("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);class OutgoingRequestStatusChangedEvent extends n.TransportDataEvent{constructor(e,t){if(super(OutgoingRequestStatusChangedEvent.namespace,e,t),!t.request.isOwn)throw new Error("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(5172),i=r(5030),s=r(9663),o=r(9116),a=r(1687),u=r(6592);t.DecideRequestParametersValidator=class DecideRequestParametersValidator{validate(e,t){if(!t.id.equals(s.CoreId.from(e.requestId)))return o.ValidationResult.error(new n.ApplicationError("error.requests.decide.validation.invalidRequestId","The id of the Request does not match the id of the Response"));if(e.items.length!==t.content.items.length)return o.ValidationResult.error(this.invalidNumberOfItemsError("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 o.ValidationResult.fromItems(r)}checkItemOrGroup(e,t,r){return e instanceof i.RequestItem?this.checkItem(e,t,r):this.checkItemGroup(e,t,r)}checkItem(e,t,r){return(0,a.isDecideRequestItemGroupParametersJSON)(t)?o.ValidationResult.error(new n.ApplicationError("error.requests.decide.validation.invalidResponseItemForRequestItem","The RequestItem was answered as a RequestItemGroup.")):!r&&t.accept?o.ValidationResult.error(new n.ApplicationError("error.requests.decide.validation.invalidResponseItemForRequestItem","The RequestItem was accepted, but the parent was not accepted.")):r&&e.mustBeAccepted&&!t.accept?o.ValidationResult.error(new n.ApplicationError("error.requests.decide.validation.invalidResponseItemForRequestItem","The RequestItem is flagged as 'mustBeAccepted', but it was not accepted.")):o.ValidationResult.success()}checkItemGroup(e,t,r){if((0,u.isDecideRequestItemParametersJSON)(t))return o.ValidationResult.error(new n.ApplicationError("error.requests.decide.validation.invalidResponseItemForRequestItem","The RequestItemGroup was answered as a RequestItem."));if(t.items.length!==e.items.length)return o.ValidationResult.error(this.invalidNumberOfItemsError("Number of items in RequestItemGroup and ResponseItemGroup do not match"));const i=t.items.some((e=>e.accept));if(!r&&i)return o.ValidationResult.error(new n.ApplicationError("error.requests.decide.validation.invalidResponseItemForRequestItem","The RequestItemGroup was accepted, but the parent was not accepted."));if(r&&e.mustBeAccepted&&!i)return o.ValidationResult.error(new n.ApplicationError("error.requests.decide.validation.invalidResponseItemForRequestItem","The RequestItemGroup is flagged as 'mustBeAccepted', but it was not accepted. Please accept all 'mustBeAccepted' items in this group."));const s=e.items.map(((e,r)=>this.checkItem(e,t.items[r],i)));return o.ValidationResult.fromItems(s)}invalidNumberOfItemsError(e){return new n.ApplicationError("error.requests.decide.validation.invalidNumberOfItems",e)}}},5664:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IncomingRequestsController=void 0;const n=r(5030),i=r(9663),s=r(7997),o=r(5941),a=r(9116),u=r(5371),c=r(1744),l=r(4136),d=r(8576),f=r(6520),h=r(2908),m=r(7066),p=r(3665),y=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=p.ReceivedIncomingRequestParameters.from(e),r=this.extractInfoFromSource(t.requestSourceObject),n=u.LocalRequest.from({id:t.receivedRequest.id??await s.ConsumptionIds.request.generate(),createdAt:i.CoreDate.utc(),status:c.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 i.Message?this.extractInfoFromMessage(e):this.extractInfoFromRelationshipTemplate(e)}extractInfoFromMessage(e){if(e.isOwn)throw new Error("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 Error("Cannot create incoming Request from own Relationship Template");return{peer:e.cache.createdBy,source:{reference:e.id,type:"RelationshipTemplate"}}}async checkPrerequisites(e){const t=d.CheckPrerequisitesOfIncomingRequestParameters.from(e),r=await this.getOrThrow(t.requestId);this.assertRequestStatus(r,c.LocalRequestStatus.Open);for(const e of r.content.items)if(e instanceof n.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(c.LocalRequestStatus.DecisionRequired),await this.update(r),this.eventBus.publish(new o.IncomingRequestStatusChangedEvent(this.identity.address.toString(),{request:r,oldStatus:c.LocalRequestStatus.Open,newStatus:r.status})),r}async requireManualDecision(e){const t=y.RequireManualDecisionOfIncomingRequestParameters.from(e),r=await this.getOrThrow(t.requestId);return this.assertRequestStatus(r,c.LocalRequestStatus.DecisionRequired),r.changeStatus(c.LocalRequestStatus.ManualDecisionRequired),await this.update(r),this.eventBus.publish(new o.IncomingRequestStatusChangedEvent(this.identity.address.toString(),{request:r,oldStatus:c.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){h.InternalDecideRequestParameters.from(e);const t=await this.getOrThrow(e.requestId);this.assertRequestStatus(t,c.LocalRequestStatus.DecisionRequired,c.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 a.ValidationResult.fromItems(n)}async canDecideGroup(e,t,r){const n=await this.canDecideItems(e.items,t.items,r);return a.ValidationResult.fromItems(n)}async canDecideItems(e,t,r){const i=[];for(let s=0;s<e.length;s++){const o=e[s],a=t[s];if(a instanceof n.RequestItemGroup){const e=await this.canDecideGroup(o,a,r);i.push(e)}else{const e=await this.canDecideItem(o,a,r);i.push(e)}}return i}async canDecideItem(e,t,r){const n=this.processorRegistry.getProcessorForItem(t);try{return e.accept?await n.canAccept(t,e,r):await n.canReject(t,e,r)}catch(e){return a.ValidationResult.error(s.ConsumptionErrors.requests.unexpectedErrorDuringRequestItemProcessing(e))}}async accept(e){if(!(await this.canAccept(e)).isSuccess())throw new Error("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 Error("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,c.LocalRequestStatus.DecisionRequired,c.LocalRequestStatus.ManualDecisionRequired);const r=await this.createLocalResponse(e,t),n=t.status;return t.response=r,t.changeStatus(c.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,s=await this.decideItems(e.items,r,t),o=n.Response.from({result:e.accept?n.ResponseResult.Accepted:n.ResponseResult.Rejected,requestId:t.id,items:s});return l.LocalResponse.from({content:o,createdAt:i.CoreDate.utc()})}async decideGroup(e,t,r){const i=await this.decideItems(e.items,t.items,r);return n.ResponseItemGroup.from({items:i})}async decideItems(e,t,r){const i=[];for(let s=0;s<e.length;s++){const o=e[s],a=t[s];a instanceof n.RequestItemGroup?i.push(await this.decideGroup(o,a,r)):i.push(await this.decideItem(o,t[s],r))}return i}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 Error(`An error occurred while processing a '${t.constructor.name}'. You should contact the developer of this RequestItem.${r}}`)}}async complete(e){const t=f.CompleteIncomingRequestParameters.from(e),r=await this.getOrThrow(t.requestId);if(r.isOwn)throw new Error("Cannot decide own Request");let n;if(this.assertRequestStatus(r,c.LocalRequestStatus.Decided),t.responseSourceObject instanceof i.Message)n="Message";else{if(!(t.responseSourceObject instanceof i.RelationshipChange))throw new Error("Unknown response source");n="RelationshipChange"}return r.response.source=l.LocalResponseSource.from({type:n,reference:t.responseSourceObject.id}),r.changeStatus(c.LocalRequestStatus.Completed),await this.update(r),this.eventBus.publish(new o.IncomingRequestStatusChangedEvent(this.identity.address.toString(),{request:r,oldStatus:c.LocalRequestStatus.Decided,newStatus:r.status})),r}async getIncomingRequests(e){e??={},e.isOwn=!1;return(await this.localRequests.find(e)).map((e=>u.LocalRequest.from(e)))}async getIncomingRequest(e){const t=await this.localRequests.findOne({id:e.toString(),isOwn:!1});return t?u.LocalRequest.from(t):void 0}async getOrThrow(e){const t=await this.getIncomingRequest(i.CoreId.from(e));if(!t)throw i.TransportErrors.general.recordNotFound(u.LocalRequest,e.toString());return t}async update(e){const t=await this.localRequests.findOne({id:e.id.toString(),isOwn:!1});if(!t)throw i.TransportErrors.general.recordNotFound(u.LocalRequest,e.id.toString());await this.localRequests.update(t,e)}assertRequestStatus(e,...t){if(!t.includes(e.status))throw new Error(`Local Request has to be in status '${t.join("/")}'.`)}}t.IncomingRequestsController=IncomingRequestsController},8576:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(9663);let a=class CheckPrerequisitesOfIncomingRequestParameters extends s.Serializable{static from(e){return this.fromAny(e)}};n([(0,s.serialize)(),(0,s.validate)(),i("design:type",o.CoreId)],a.prototype,"requestId",void 0),a=n([(0,s.type)("CheckPrerequisitesOfIncomingRequestParameters")],a),t.CheckPrerequisitesOfIncomingRequestParameters=a},6520:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(9663);class CompleteIncomingRequestParameters extends s.Serializable{static from(e){return this.fromAny(e)}}n([(0,s.serialize)(),(0,s.validate)(),i("design:type",o.CoreId)],CompleteIncomingRequestParameters.prototype,"requestId",void 0),n([(0,s.serialize)({unionTypes:[o.Message,o.RelationshipChange]}),(0,s.validate)(),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,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(9663);let a=class InternalDecideRequestParameters extends s.Serializable{static from(e){return this.fromAny(e)}};n([(0,s.serialize)(),(0,s.validate)(),i("design:type",o.CoreId)],a.prototype,"requestId",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",Array)],a.prototype,"items",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",Boolean)],a.prototype,"accept",void 0),a=n([(0,s.type)("InternalDecideRequestParameters")],a),t.InternalDecideRequestParameters=a},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,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(5030),a=r(9663);let u=class ReceivedIncomingRequestParameters extends s.Serializable{static from(e){return this.fromAny(e)}};n([(0,s.serialize)(),(0,s.validate)(),i("design:type",o.Request)],u.prototype,"receivedRequest",void 0),n([(0,s.serialize)({unionTypes:[a.Message,a.RelationshipTemplate]}),(0,s.validate)(),i("design:type",Object)],u.prototype,"requestSourceObject",void 0),u=n([(0,s.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,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(9663);class RequireManualDecisionOfIncomingRequestParameters extends s.Serializable{static from(e){return this.fromAny(e)}}n([(0,s.serialize)(),(0,s.validate)(),i("design:type",o.CoreId)],RequireManualDecisionOfIncomingRequestParameters.prototype,"requestId",void 0),t.RequireManualDecisionOfIncomingRequestParameters=RequireManualDecisionOfIncomingRequestParameters},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),s=r(9116);class GenericRequestItemProcessor extends i.AbstractRequestItemProcessor{checkPrerequisitesOfIncomingRequestItem(e,t){return!0}canAccept(e,t,r){return s.ValidationResult.success()}canReject(e,t,r){return s.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 s.ValidationResult.success()}canApplyIncomingResponseItem(e,t,r){return s.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)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RequestItemProcessorRegistry=void 0;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 Error(`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 Error(`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},3309:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o};Object.defineProperty(t,"__esModule",{value:!0}),t.AcceptCreateAttributeRequestItemParameters=void 0;const i=r(194);let s=class AcceptCreateAttributeRequestItemParameters extends i.Serializable{static from(e){return this.fromAny(e)}};s=n([(0,i.type)("AcceptCreateAttributeRequestItemParameters")],s),t.AcceptCreateAttributeRequestItemParameters=s},9886:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CreateAttributeRequestItemProcessor=void 0;const n=r(5030),i=r(7997),s=r(7994),o=r(9116);class CreateAttributeRequestItemProcessor extends s.GenericRequestItemProcessor{canCreateOutgoingRequestItem(e,t,r){return e.attribute.owner.equals(r)||e.sourceAttributeId?e.attribute instanceof n.IdentityAttribute?this.canCreateRequestItemWithIdentityAttribute(e):this.canCreateRequestItemWithRelationshipAttribute(e):o.ValidationResult.error(i.ConsumptionErrors.requests.invalidRequestItem("'sourceAttributeId' cannot be undefined when sending an attribute that is not owned by the recipient."))}canCreateRequestItemWithIdentityAttribute(e){return this.accountController.identity.isMe(e.attribute.owner)?o.ValidationResult.success():o.ValidationResult.error(i.ConsumptionErrors.requests.invalidRequestItem(`Cannot send Identity Attributes of which you are not the owner via ${n.CreateAttributeRequestItem.name}. Consider using a ${n.ProposeAttributeRequestItem.name} instead.`))}canCreateRequestItemWithRelationshipAttribute(e){return this.accountController.identity.isMe(e.attribute.owner)?o.ValidationResult.success():o.ValidationResult.error(i.ConsumptionErrors.requests.invalidRequestItem("Cannot send Relationship Attributes of which you are not the owner."))}async accept(e,t,r){const i=await this.consumptionController.attributes.createPeerLocalAttribute({content:e.attribute,peer:r.peer,requestReference:r.id});return n.CreateAttributeAcceptResponseItem.from({attributeId:i.id,result:n.ResponseItemResult.Accepted})}async applyIncomingResponseItem(e,t,r){if(e instanceof n.CreateAttributeAcceptResponseItem)if(t.sourceAttributeId){const n=await this.consumptionController.attributes.getLocalAttribute(t.sourceAttributeId);await this.consumptionController.attributes.createSharedLocalAttributeCopy({attributeId:e.attributeId,sourceAttributeId:n.id,peer:r.peer,requestReference:r.id})}else 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,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},s=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 o=r(194),a=r(5030),u=r(9663),c=r(4714);let l=n=class AcceptProposeAttributeRequestItemParameters extends o.Serializable{static from(e){return this.fromAny(e)}static postFrom(e){const t=e;if(t.attributeId&&t.attribute)throw new o.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(!t.attributeId&&!t.attribute)throw new o.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,o.serialize)(),(0,o.validate)({nullable:!0}),s("design:type",u.CoreId)],l.prototype,"attributeId",void 0),i([(0,o.serialize)({unionTypes:[a.IdentityAttribute,a.RelationshipAttribute]}),(0,o.validate)({nullable:!0}),s("design:type",Object)],l.prototype,"attribute",void 0),l=n=i([(0,o.type)("AcceptProposeAttributeRequestItemParameters")],l),t.AcceptProposeAttributeRequestItemParameters=l},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),s=r(9663),o=r(7997),a=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(o.ConsumptionErrors.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(o.ConsumptionErrors.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.attributeId){const e=await this.consumptionController.attributes.getLocalAttribute(n.attributeId);if(!e)return l.ValidationResult.error(s.TransportErrors.general.recordNotFound(a.LocalAttribute,r.id.toString()));i=e.content}return i.owner.equals(this.currentIdentityAddress)?l.ValidationResult.success():l.ValidationResult.error(o.ConsumptionErrors.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 s;return s=n.attributeId?await this.copyExistingAttribute(n.attributeId,r):await this.createNewAttribute(n.attribute,r),i.ProposeAttributeAcceptResponseItem.from({result:i.ResponseItemResult.Accepted,attributeId:s.id,attribute:s.content})}async copyExistingAttribute(e,t){return await this.consumptionController.attributes.createSharedLocalAttributeCopy({sourceAttributeId:s.CoreId.from(e),peer:s.CoreAddress.from(t.peer),requestReference:s.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:s.CoreId.from(r.id),peer:s.CoreAddress.from(t.peer),requestReference:s.CoreId.from(t.id)})}return await this.consumptionController.attributes.createPeerLocalAttribute({content:e,peer:t.peer,requestReference:s.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,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},s=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 o=r(194),a=r(5030),u=r(9663),c=r(4714);let l=n=class AcceptReadAttributeRequestItemParameters extends o.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 Error("this should never happen");if(e.existingAttributeId&&e.newAttribute)throw new o.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 o.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,o.serialize)(),(0,o.validate)({nullable:!0}),s("design:type",u.CoreId)],l.prototype,"existingAttributeId",void 0),i([(0,o.serialize)({unionTypes:[a.IdentityAttribute,a.RelationshipAttribute]}),(0,o.validate)({nullable:!0}),s("design:type",Object)],l.prototype,"newAttribute",void 0),l=n=i([(0,o.type)("AcceptReadAttributeRequestItemParameters")],l),t.AcceptReadAttributeRequestItemParameters=l},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),s=r(9663),o=r(7997),a=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(s.TransportErrors.general.recordNotFound(a.LocalAttribute,r.id.toString()));if(!this.accountController.identity.isMe(e.content.owner))return l.ValidationResult.error(o.ConsumptionErrors.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 s;return s=n.isWithExistingAttribute()?await this.copyExistingAttribute(n.existingAttributeId,r):await this.createNewAttribute(n.newAttribute,r),i.ReadAttributeAcceptResponseItem.from({result:i.ResponseItemResult.Accepted,attributeId:s.id,attribute:s.content})}async copyExistingAttribute(e,t){return await this.consumptionController.attributes.createSharedLocalAttributeCopy({sourceAttributeId:s.CoreId.from(e),peer:s.CoreAddress.from(t.peer),requestReference:s.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:s.CoreId.from(r.id),peer:s.CoreAddress.from(t.peer),requestReference:s.CoreId.from(t.id)})}return await this.consumptionController.attributes.createPeerLocalAttribute({content:e,peer:t.peer,requestReference:s.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},2067:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o};Object.defineProperty(t,"__esModule",{value:!0}),t.AcceptShareAttributeRequestItemParameters=void 0;const i=r(194);let s=class AcceptShareAttributeRequestItemParameters extends i.Serializable{static from(e){return this.fromAny(e)}};s=n([(0,i.type)("AcceptShareAttributeRequestItemParameters")],s),t.AcceptShareAttributeRequestItemParameters=s},633:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShareAttributeRequestItemProcessor=void 0;const n=r(5030),i=r(9663),s=r(7997),o=r(7994),a=r(9116);class ShareAttributeRequestItemProcessor extends o.GenericRequestItemProcessor{async canCreateOutgoingRequestItem(e,t,r){const s=await this.consumptionController.attributes.getLocalAttribute(e.attributeId);if(!s)return a.ValidationResult.error(i.TransportErrors.general.recordNotFound(n.Attribute,e.attributeId.toString()));const o=this.validateAttributeOwner(s.content,this.currentIdentityAddress,r);return o.isError()?o:a.ValidationResult.success()}async checkPrerequisitesOfIncomingRequestItem(e,t){if(!await this.accountController.relationships.getRelationshipToIdentity(e.shareWith))return!1;const r=await this.consumptionController.attributes.getLocalAttribute(e.attributeId);return!!r&&!this.validateAttributeOwner(r.content,t.peer,this.currentIdentityAddress).isError()}validateAttributeOwner(e,t,r){const i=e.owner;return e instanceof n.IdentityAttribute&&!i.equals(r)?a.ValidationResult.error(s.ConsumptionErrors.requests.invalidRequestItem("Can only request sharing of identity attributes owned by the recipient.")):e instanceof n.RelationshipAttribute&&!i.equals(r)&&!i.equals(t)?a.ValidationResult.error(s.ConsumptionErrors.requests.invalidRequestItem("Cannot request sharing of relationship attributes not owned by recipient or sender.")):a.ValidationResult.success()}canAccept(e,t,r){return a.ValidationResult.success()}async accept(e,t,r){const i=await this.consumptionController.attributes.getLocalAttribute(e.attributeId);return await this.isAttributeAlreadyShared(i,e.shareWith)||await this.shareAttribute(i,e.shareWith),n.AcceptResponseItem.from({result:n.ResponseItemResult.Accepted})}async isAttributeAlreadyShared(e,t){return e.content instanceof n.IdentityAttribute?(await this.consumptionController.attributes.getLocalAttributes({"shareInfo.sourceAttribute":e.shareInfo.sourceAttribute.toString(),"shareInfo.peer":t.toString()})).length>0:(await this.consumptionController.attributes.getLocalAttributes({"shareInfo.sourceAttribute":e.id.toString(),"shareInfo.peer":t.toString()})).length>0}async shareAttribute(e,t){const r=n.CreateAttributeRequestItem.from({attribute:e.content,mustBeAccepted:!0,sourceAttributeId:e.id}),i=await this.consumptionController.outgoingRequests.create({peer:t,content:n.Request.from({items:[r]})}),s=await this.accountController.messages.sendMessage({recipients:[t],content:i.content});await this.consumptionController.outgoingRequests.sent({requestId:i.id,requestSourceObject:s})}}t.ShareAttributeRequestItemProcessor=ShareAttributeRequestItemProcessor},4251:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(5030),i=r(7997),s=r(9116);t.default=function validateQuery(e,t,r){if(e instanceof n.RelationshipAttributeQuery){if(e.thirdParty?.equals(t))return s.ValidationResult.error(i.ConsumptionErrors.requests.invalidRequestItem("Cannot query an Attribute with the own address as third party."));if(e.thirdParty?.equals(r))return s.ValidationResult.error(i.ConsumptionErrors.requests.invalidRequestItem("Cannot query an Attribute with the recipient's address as third party."));if(e.owner.equals(t)&&void 0!==e.thirdParty)return s.ValidationResult.error(i.ConsumptionErrors.requests.invalidRequestItem("Cannot query own Attributes from a third party."))}return s.ValidationResult.success()}},5371:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(5030),a=r(9663),u=r(1744),c=r(3126),l=r(4136);let d=class LocalRequestSource extends a.CoreSerializable{static from(e){return this.fromAny(e)}};n([(0,s.serialize)(),(0,s.validate)(),i("design:type",String)],d.prototype,"type",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",a.CoreId)],d.prototype,"reference",void 0),d=n([(0,s.type)("LocalRequestSource")],d),t.LocalRequestSource=d;let f=class LocalRequest extends a.CoreSynchronizable{changeStatus(e){const t=c.LocalRequestStatusLogEntry.from({createdAt:a.CoreDate.utc(),oldStatus:this.status,newStatus:e});this.statusLog.push(t),this.status=e}sent(e){if(this.status!==u.LocalRequestStatus.Draft)throw new Error("Local Request has to be in status 'Draft'.");this.source=e,this.changeStatus(u.LocalRequestStatus.Open)}static from(e){return this.fromAny(e)}};n([(0,s.serialize)(),(0,s.validate)(),i("design:type",Boolean)],f.prototype,"isOwn",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",a.CoreAddress)],f.prototype,"peer",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",a.CoreDate)],f.prototype,"createdAt",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",o.Request)],f.prototype,"content",void 0),n([(0,s.serialize)(),(0,s.validate)({nullable:!0}),i("design:type",d)],f.prototype,"source",void 0),n([(0,s.serialize)(),(0,s.validate)({nullable:!0}),i("design:type",l.LocalResponse)],f.prototype,"response",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",String)],f.prototype,"status",void 0),n([(0,s.serialize)({type:c.LocalRequestStatusLogEntry}),(0,s.validate)(),i("design:type",Array)],f.prototype,"statusLog",void 0),f=n([(0,s.type)("LocalRequest")],f),t.LocalRequest=f},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"}(t.LocalRequestStatus||(t.LocalRequestStatus={}))},3126:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(9663);r(1744);let a=class LocalRequestStatusLogEntry extends o.CoreSerializable{static from(e){return this.fromAny(e)}};n([(0,s.serialize)(),(0,s.validate)(),i("design:type",o.CoreDate)],a.prototype,"createdAt",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",String)],a.prototype,"oldStatus",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",String)],a.prototype,"newStatus",void 0),n([(0,s.serialize)(),(0,s.validate)({nullable:!0}),i("design:type",Object)],a.prototype,"data",void 0),n([(0,s.serialize)(),(0,s.validate)({nullable:!0}),i("design:type",String)],a.prototype,"code",void 0),a=n([(0,s.type)("LocalRequestStatusLogEntry")],a),t.LocalRequestStatusLogEntry=a},4136:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(5030),a=r(9663);let u=class LocalResponseSource extends a.CoreSerializable{static from(e){return this.fromAny(e)}};n([(0,s.serialize)(),(0,s.validate)(),i("design:type",String)],u.prototype,"type",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",a.CoreId)],u.prototype,"reference",void 0),u=n([(0,s.type)("LocalResponseSource")],u),t.LocalResponseSource=u;let c=class LocalResponse extends a.CoreSerializable{static from(e){return this.fromAny(e)}};n([(0,s.serialize)(),(0,s.validate)(),i("design:type",a.CoreDate)],c.prototype,"createdAt",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",o.Response)],c.prototype,"content",void 0),n([(0,s.serialize)(),(0,s.validate)({nullable:!0}),i("design:type",u)],c.prototype,"source",void 0),c=n([(0,s.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),s=r(7997),o=r(5941),a=r(9116),u=r(5371),c=r(1744),l=r(4136),d=r(3592),f=r(4981),h=r(1557),m=r(325);class OutgoingRequestsController 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}async canCreate(e){const t=h.CreateOutgoingRequestParameters.from(e),r=await this.canCreateItems(t.content,t.peer);return a.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 a.ValidationResult.fromItems(n)}async create(e){const t=h.CreateOutgoingRequestParameters.from(e),r=await s.ConsumptionIds.request.generate();t.content.id=r;const n=await this._create(r,t.content,t.peer);return this.eventBus.publish(new o.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 s=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(s),s}async createFromRelationshipCreationChange(e){const t=f.CreateOutgoingRequestFromRelationshipCreationChangeParameters.from(e),r=t.creationChange.request.createdBy,i=t.creationChange.request.content;if(!(i instanceof n.RelationshipCreationChangeRequestBody))throw new Error("the body of the request is not supported as is is not type of RelationshipCreationChangeRequestBody");const s=i.response,a=s.requestId,u=t.template.cache.content;if(!(u instanceof n.RelationshipTemplateBody))throw new Error("the body of the template is not supported as is is not type of RelationshipTemplateBody");await this._create(a,u.onNewRelationship,r),await this._sent(a,t.template);const c=await this._complete(a,t.creationChange,s);return this.eventBus.publish(new o.OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent(this.identity.address.toString(),c)),c}async sent(e){const t=m.SentOutgoingRequestParameters.from(e),r=await this._sent(t.requestId,t.requestSourceObject);return this.eventBus.publish(new o.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 Error("Cannot create outgoing Request from a peer Message");return"Message"}if(e instanceof i.RelationshipTemplate){if(!e.isOwn)throw new Error("Cannot create outgoing Request from a peer Relationship Template");return"RelationshipTemplate"}throw new Error("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 o.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);const s=await this.canComplete(n,r);if(s.isError())throw s.error;let o;if(await this.applyItems(n.content.items,r.items,n),t instanceof i.Message)o="Message";else{if(!(t instanceof i.RelationshipChange))throw new Error("Invalid responseSourceObject");o="RelationshipChange"}const a=l.LocalResponse.from({content:r,createdAt:i.CoreDate.utc(),source:{reference:t.id,type:o}});return n.response=a,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],s=this.processorRegistry.getProcessorForItem(i),o=await s.canApplyIncomingResponseItem(n,i,e);if(o.isError())return o}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],s=n.items[t],o=this.processorRegistry.getProcessorForItem(r),a=await o.canApplyIncomingResponseItem(s,r,e);if(a.isError())return a}}}return a.ValidationResult.success()}async applyItems(e,t,r){for(let i=0;i<t.length;i++){const s=e[i];if(s instanceof n.RequestItem){const e=t[i];await this.applyItem(s,e,r)}else{const e=t[i];await this.applyItems(s.items,e.items,r)}}}async applyItem(e,t,r){const n=this.processorRegistry.getProcessorForItem(e);await n.applyIncomingResponseItem(t,e,r)}async getOutgoingRequests(e){e??={},e.isOwn=!0;return(await this.localRequests.find(e)).map((e=>u.LocalRequest.from(e)))}async getOutgoingRequest(e){const t=await this.localRequests.findOne({id:e.toString(),isOwn:!0});return t?u.LocalRequest.from(t):void 0}async getOrThrow(e){const t=await this.getOutgoingRequest(e);if(!t)throw i.TransportErrors.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.TransportErrors.general.recordNotFound(u.LocalRequest,e.id.toString());await this.localRequests.update(t,e)}assertRequestStatus(e,...t){if(!t.includes(e.status))throw new Error(`Local Request has to be in status '${t.join("/")}'.`)}}t.OutgoingRequestsController=OutgoingRequestsController},3592:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(5030),a=r(9663);let u=class CompleteOugoingRequestParameters extends s.Serializable{static from(e){return this.fromAny(e)}};n([(0,s.serialize)(),(0,s.validate)(),i("design:type",a.CoreId)],u.prototype,"requestId",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",a.Message)],u.prototype,"responseSourceObject",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",o.Response)],u.prototype,"receivedResponse",void 0),u=n([(0,s.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,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(9663);let a=class CreateOutgoingRequestFromRelationshipCreationChangeParameters extends s.Serializable{static from(e){return this.fromAny(e)}};n([(0,s.serialize)(),(0,s.validate)(),i("design:type",o.RelationshipTemplate)],a.prototype,"template",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",o.RelationshipChange)],a.prototype,"creationChange",void 0),a=n([(0,s.type)("CreateOutgoingRequestFromRelationshipCreationChangeParameters")],a),t.CreateOutgoingRequestFromRelationshipCreationChangeParameters=a},1557:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(5030),a=r(9663);let u=class CreateOutgoingRequestParameters extends s.Serializable{static from(e){return this.fromAny(e)}};n([(0,s.serialize)(),(0,s.validate)(),i("design:type",o.Request)],u.prototype,"content",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",a.CoreAddress)],u.prototype,"peer",void 0),u=n([(0,s.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,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(9663);let a=class SentOutgoingRequestParameters extends s.Serializable{static from(e){return this.fromAny(e)}};n([(0,s.serialize)(),(0,s.validate)(),i("design:type",o.CoreId)],a.prototype,"requestId",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",o.Message)],a.prototype,"requestSourceObject",void 0),a=n([(0,s.type)("SentOutgoingRequestParameters")],a),t.SentOutgoingRequestParameters=a},8672:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SettingsController=void 0;const n=r(9663),i=r(7997),s=r(2660);class SettingsController extends i.ConsumptionBaseController{constructor(e){super(i.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?s.Setting.from(t):void 0}async getSettings(e){const t=await this.settings.find(e);return await this.parseArray(t,s.Setting)}async createSetting(e){const t=s.Setting.from({id:await i.ConsumptionIds.setting.generate(),createdAt:n.CoreDate.utc(),key:e.key,scope:e.scope??s.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 n.TransportErrors.general.recordNotFound(s.Setting,e.id.toString()).logWith(this._log);await this.settings.update(t,e)}async deleteSetting(e){await this.settings.delete(e)}}t.SettingsController=SettingsController},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,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(9663),a=r(4714);!function(e){e.Identity="Identity",e.Device="Device",e.Relationship="Relationship"}(t.SettingScope||(t.SettingScope={}));let u=class Setting extends o.CoreSynchronizable{constructor(){super(...arguments),this.technicalProperties=["@type","@context",(0,a.nameof)((e=>e.key)),(0,a.nameof)((e=>e.scope)),(0,a.nameof)((e=>e.reference)),(0,a.nameof)((e=>e.createdAt)),(0,a.nameof)((e=>e.succeedsItem)),(0,a.nameof)((e=>e.succeedsAt))],this.userdataProperties=[(0,a.nameof)((e=>e.value))],this.metadataProperties=[(0,a.nameof)((e=>e.metadata)),(0,a.nameof)((e=>e.metadataModifiedAt))]}static from(e){return this.fromAny(e)}};n([(0,s.validate)(),(0,s.serialize)(),i("design:type",String)],u.prototype,"key",void 0),n([(0,s.validate)(),(0,s.serialize)(),i("design:type",String)],u.prototype,"scope",void 0),n([(0,s.validate)({nullable:!0}),(0,s.serialize)(),i("design:type",o.CoreId)],u.prototype,"reference",void 0),n([(0,s.validate)(),(0,s.serialize)(),i("design:type",s.Serializable)],u.prototype,"value",void 0),n([(0,s.validate)(),(0,s.serialize)(),i("design:type",o.CoreDate)],u.prototype,"createdAt",void 0),n([(0,s.validate)({nullable:!0}),(0,s.serialize)(),i("design:type",o.CoreId)],u.prototype,"succeedsItem",void 0),n([(0,s.validate)({nullable:!0}),(0,s.serialize)(),i("design:type",o.CoreDate)],u.prototype,"succeedsAt",void 0),n([(0,s.validate)({nullable:!0}),(0,s.serialize)({any:!0}),i("design:type",Object)],u.prototype,"metadata",void 0),n([(0,s.validate)({nullable:!0}),(0,s.serialize)(),i("design:type",o.CoreDate)],u.prototype,"metadataModifiedAt",void 0),u=n([(0,s.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 s=this.parseStringVal(i),o={op:r,org:i,value:s};switch(r){case"!":t?o.field="$containsNone":""===i?(o.field="$exists",o.value=!1):o.field="$ne";break;case">":o.field=n?"$gte":"$gt";break;case"<":o.field=n?"$lte":"$lt";break;case"^":case"$":case"~":switch(o.field="$regex",o.options="i",o.value=this.valRegex?i.replace(this.valRegex,""):o.value.toString(),r){case"^":o.value=`^${s}`;break;case"$":o.value=`${s}$`}break;default:o.org=i=r+i,o.op=r="",o.value=this.parseStringVal(i),t?o.field="$containsAny":""===i?(o.field="$exists",o.value=!0):o.field="$eq"}return o.parsed={},o.parsed[o.field]=o.value,o.options&&(o.parsed.$options=o.options),o}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),s=r(5970);t.EventEmitter2EventBus=class EventEmitter2EventBus{emitter;listeners=new Map;nextId=0;invocationPromises=[];constructor(e){this.emitter=new n.EventEmitter2({...e,wildcard:!0,maxListeners:50,verboseMemoryLeak:!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=s.SubscriptionTargetInfo.from(e),i=this.nextId++,handlerWrapper=async e=>{if(!n.isCompatibleWith(e))return;const s=(async()=>await t(e))();this.invocationPromises.push(s),await s,this.invocationPromises=this.invocationPromises.filter((e=>e!==s)),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 o=this.emitter.on(n.namespace,handlerWrapper,{objectify:!0});return this.listeners.set(i,o),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),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}: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),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}: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),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}: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:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.log=void 0,t.log=function log(e,t,r){const n=r.value;return r.value=function(...e){const r=e.map((e=>JSON.stringify(e))).join();try{const i=n.apply(this,e),s=JSON.stringify(i);return console.log(`Call: ${t}(${r}) => ${s}`),i}catch(e){throw console.log(e),e}},r}},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}}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.");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),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}: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 s=Object.hasOwnProperty,o=Array.isArray?Array.isArray:function _isArray(e){return"[object Array]"===Object.prototype.toString.call(e)},a="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,s=t?value.length:0,o=0;o<n;o++)r[e[o]]=o<s?t[o]: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 s=e._observers;s?s.push(this):e._observers=[this]}function resolveOptions(e,t,r,n){var o=Object.assign({},t);if(!e)return o;if("object"!=typeof e)throw TypeError("options must be an object");var a,u,c,l=Object.keys(e),d=l.length;function reject(e){throw Error('Invalid "'+a+'" option value'+(e?". Reason: "+e:""))}for(var f=0;f<d;f++){if(a=l[f],!n&&!s.call(t,a))throw Error('Unknown "'+a+'" option');(u=e[a])!==i&&(c=r[a],o[a]=c?c(u,reject):u)}return o}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 s=typeof e;if(s===n||s===i)return e;r(t)}:function(n,i){for(var s=typeof n,o=r;o-- >0;)if(s===e[o])return n;i(t)}}Object.assign(TargetObserver.prototype,{subscribe:function(e,t,r){var n=this,i=this._target,s=this._emitter,o=this._listeners,handler=function(){var n=toArray.apply(null,arguments),o={data:n,name:t,original:e};if(r){var a=r.call(i,o);!1!==a&&s.emit.apply(s,[o.name].concat(n))}else s.emit.apply(s,[t].concat(n))};if(o[e])throw Error("Event '"+e+"' is already listening");this._listenersCount++,s._newListener&&s._removeListener&&!n._onNewListener?(this._onNewListener=function(r){r===t&&null===o[e]&&(o[e]=handler,n._on.call(i,e,handler))},s.on("newListener",this._onNewListener),this._onRemoveListener=function(r){r===t&&!s.hasListeners(r)&&o[e]&&(o[e]=null,n._off.call(i,e,handler))},o[e]=null,s.on("removeListener",this._onRemoveListener)):(o[e]=handler,n._on.call(i,e,handler))},unsubscribe:function(e){var t,r,n,i=this,s=this._listeners,o=this._emitter,a=this._off,u=this._target;if(e&&"string"!=typeof e)throw TypeError("event must be a string");function clearRefs(){i._onNewListener&&(o.off("newListener",i._onNewListener),o.off("removeListener",i._onRemoveListener),i._onNewListener=null,i._onRemoveListener=null);var e=findTargetIndex.call(o,i);o._observers.splice(e,1)}if(e){if(!(t=s[e]))return;a.call(u,e,t),delete s[e],--this._listenersCount||clearRefs()}else{for(n=(r=d(s)).length;n-- >0;)e=r[n],a.call(u,e,s[e]);this._listeners={},this._listenersCount=0,clearRefs()}}});var f=makeTypeReducer(["function"]),h=makeTypeReducer(["object","function"]);function makeCancelablePromise(e,t,r){var n,i,s,o=0,a=new e((function(u,c,l){function cleanup(){i&&(i=null),o&&(clearTimeout(o),o=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(s)throw Error("Unable to subscribe on cancel event asynchronously");if("function"!=typeof e)throw TypeError("onCancel callback must be a function");i.push(e)})),s=!0),r.timeout>0&&(o=setTimeout((function(){var e=Error("timeout");e.code="ETIMEDOUT",o=0,a.cancel(e),c(e)}),r.timeout))}));return n||(a.cancel=function(e){if(i){for(var t=i.length,r=1;r<t;r++)i[r](e);i[0](e),i=null}}),a}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 s=typeof t;if("string"===s){var o,a,u=0,c=0,l=this.delimiter,f=l.length;if(-1!==(a=t.indexOf(l))){o=new Array(5);do{o[u++]=t.slice(c,a),c=a+f}while(-1!==(a=t.indexOf(l,c)));o[u++]=t.slice(c),t=o,i=u}else t=[t],i=1}else"object"===s?i=t.length:(t=[t],i=1)}var h,m,p,y,g,v,b,w=null,R=t[n],O=t[n+1];if(n===i)r._listeners&&("function"==typeof r._listeners?(e&&e.push(r._listeners),w=[r]):(e&&e.push.apply(e,r._listeners),w=[r]));else{if("*"===R){for(a=(v=d(r)).length;a-- >0;)"_listeners"!==(h=v[a])&&(b=searchListenerTree(e,t,r[h],n+1,i))&&(w?w.push.apply(w,b):w=b);return w}if("**"===R){for((g=n+1===i||n+2===i&&"*"===O)&&r._listeners&&(w=searchListenerTree(e,t,r,i,i)),a=(v=d(r)).length;a-- >0;)"_listeners"!==(h=v[a])&&("*"===h||"**"===h?(r[h]._listeners&&!g&&(b=searchListenerTree(e,t,r[h],i,i))&&(w?w.push.apply(w,b):w=b),b=searchListenerTree(e,t,r[h],n,i)):b=searchListenerTree(e,t,r[h],h===O?n+2:n,i),b&&(w?w.push.apply(w,b):w=b));return w}r[R]&&(w=searchListenerTree(e,t,r[R],n+1,i))}if((m=r["*"])&&searchListenerTree(e,t,m,n+1,i),p=r["**"])if(n<i)for(p._listeners&&searchListenerTree(e,t,p,i,i),a=(v=d(p)).length;a-- >0;)"_listeners"!==(h=v[a])&&(h===O?searchListenerTree(e,t,p[h],n+2,i):h===R?searchListenerTree(e,t,p[h],n+1,i):((y={})[h]=p[h],searchListenerTree(e,t,{"**":y},n+1,i)));else p._listeners?searchListenerTree(e,t,p,i,i):p["*"]&&p["*"]._listeners&&searchListenerTree(e,t,p["*"],i,i);return w}function growListenerTree(e,t,r){var n,i,s=0,o=0,a=this.delimiter,u=a.length;if("string"==typeof e)if(-1!==(n=e.indexOf(a))){i=new Array(5);do{i[s++]=e.slice(o,n),o=n+u}while(-1!==(n=e.indexOf(a,o)));i[s++]=e.slice(o)}else i=[e],s=1;else i=e,s=e.length;if(s>1)for(n=0;n+1<s;n++)if("**"===i[n]&&"**"===i[n+1])return;var c,l=this.listenerTree;for(n=0;n<s;n++)if(l=l[c=i[n]]||(l[c]={}),n===s-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,s,o,a,u=d(e),c=u.length,l=e._listeners;c-- >0;)i=e[s=u[c]],o="_listeners"===s?r:r?r.concat(s):[s],a=n||"symbol"==typeof s,l&&t.push(a?o:o.join(this.delimiter)),"object"==typeof i&&collectTreeEvents.call(this,i,t,o,a);return t}function recursivelyGarbageCollect(e){for(var t,r,n,i=d(e),s=i.length;s-- >0;)(t=e[r=i[s]])&&(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)s=!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,s=r.promisify,o=r.nextTick,u=r.objectify}if(n||o||s){var c=t,d=t._origin||t;if(o&&!a)throw Error("process.nextTick is not supported");s===i&&(s="AsyncFunction"===t.constructor.name),t=function(){var e=arguments,t=this,r=this.event;return s?o?Promise.resolve():new Promise((function(e){l(e)})).then((function(){return t.event=r,c.apply(t,e)})):(o?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,s=r.reducers,o=findTargetIndex.call(n,e);i=-1===o?new TargetObserver(n,e,r):n._observers[o];for(var a,u=d(t),c=u.length,l="function"==typeof s,f=0;f<c;f++)a=u[f],i.subscribe(a,t[a]||a,l?s:s&&s[a])}return r=resolveOptions(r,{on:i,off:i,reducers:i},{on:f,off:f,reducers:h}),o(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,s=!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),s=!0);return s},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 s=this;if("function"!=typeof r)throw new Error("many only accepts instances of Function");function listener(){return 0==--t&&s.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,s,o=arguments[0],a=this.wildcard;if("newListener"===o&&!this._newListener&&!this._events.newListener)return!1;if(a&&(e=o,"newListener"!==o&&"removeListener"!==o&&"object"==typeof o)){if(r=o.length,u)for(n=0;n<r;n++)if("symbol"==typeof o[n]){s=!0;break}s||(o=o.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=o,l){case 1:c[n].call(this,o);break;case 2:c[n].call(this,o,arguments[1]);break;case 3:c[n].call(this,o,arguments[1],arguments[2]);break;default:c[n].apply(this,arguments)}if(a)c=[],searchListenerTree.call(this,c,e,this.listenerTree,0,r);else{if("function"==typeof(c=this._events[o])){switch(this.event=o,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=o,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"===o)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,s,o=arguments[0],a=this.wildcard;if("newListener"===o&&!this._newListener&&!this._events.newListener)return Promise.resolve([!1]);if(a&&(e=o,"newListener"!==o&&"removeListener"!==o&&"object"==typeof o)){if(n=o.length,u)for(i=0;i<n;i++)if("symbol"==typeof o[i]){t=!0;break}t||(o=o.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=o,d){case 1:l.push(this._all[i].call(this,o));break;case 2:l.push(this._all[i].call(this,o,arguments[1]));break;case 3:l.push(this._all[i].call(this,o,arguments[1],arguments[2]));break;default:l.push(this._all[i].apply(this,arguments))}if(a?(c=[],searchListenerTree.call(this,c,e,this.listenerTree,0)):c=this._events[o],"function"==typeof c)switch(this.event=o,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),s=1;s<d;s++)r[s-1]=arguments[s];l.push(c.apply(this,r))}else if(c&&c.length){if(c=c.slice(),d>3)for(r=new Array(d-1),s=1;s<d;s++)r[s-1]=arguments[s];for(i=0,n=c.length;i<n;i++)switch(this.event=o,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"===o)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 s,o=this;return n!==i&&(t=(s=setupListener.call(this,e,t,n))[0],o=s[1]),this._newListener&&this.emit("newListener",e,t),this.wildcard?(growListenerTree.call(this,e,t,r),o):(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,o)},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 s=0;s<n.length;s++){var a=n[s];if(r=a._listeners,o(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?a._listeners.splice(u,1):this._events[e].splice(u,1),0===r.length&&(this.wildcard?delete a._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 a._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,s,o,a=this._events;if(e===i){if(this.wildcard)throw Error("event name required for wildcard emitter");if(!a)return[];for(s=(t=d(a)).length,n=[];s-- >0;)"function"==typeof(r=a[t[s]])?n.push(r):n.push.apply(n,r);return n}if(this.wildcard){if(!(o=this.listenerTree))return[];var u=[],c="string"==typeof e?e.split(this.delimiter):e.slice();return searchListenerTree.call(this,u,c,o,0),u}return a&&(r=a[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,s=this._all;return!!(s&&s.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,s){function listener(){var s=t.filter;if(!s||s.apply(r,arguments))if(r.off(e,listener),t.handleError){var o=arguments[0];o?i(o):n(toArray.apply(null,arguments).slice(1))}else n(toArray.apply(null,arguments))}s((function(){r.off(e,listener)})),r._on(e,listener,!1)}),{timeout:t.timeout,overload:t.overload})};var m=EventEmitter.prototype;Object.defineProperties(EventEmitter,{defaultMaxListeners:{get:function(){return m._maxListeners},set:function(e){if("number"!=typeof e||e<0||Number.isNaN(e))throw TypeError("n must be a non-negative number");m._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 s;if("function"==typeof e.addEventListener)return s=function(){r(toArray.apply(null,arguments))},i((function(){e.removeEventListener(t,s)})),void e.addEventListener(t,s,{once:!0});var o,eventListener=function(){o&&e.removeListener("error",o),r(toArray.apply(null,arguments))};"error"!==t&&(o=function(r){e.removeListener(t,eventListener),n(r)},e.once("error",o)),i((function(){o&&e.removeListener("error",o),e.removeListener(t,eventListener)})),e.once(t,eventListener)}),{timeout:r.timeout,overload:r.overload})},writable:!0,configurable:!0}}),Object.defineProperties(m,{_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)}()},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",s={year:r,month:r,day:r},o={year:r,month:n,day:r},a={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},m={hour:r,minute:r,hourCycle:"h23"},p={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},v={year:r,month:r,day:r,hour:r,minute:r},b={year:r,month:r,day:r,hour:r,minute:r,second:r},w={year:r,month:n,day:r,hour:r,minute:r},R={year:r,month:n,day:r,hour:r,minute:r,second:r},O={year:r,month:n,day:r,weekday:n,hour:r,minute:r},I={year:r,month:i,day:r,hour:r,minute:r,timeZoneName:n},S={year:r,month:i,day:r,hour:r,minute:r,second:r,timeZoneName:n},_={year:r,month:i,day:r,weekday:i,hour:r,minute:r,timeZoneName:i},C={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),s={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};n&&(s.timeZone=n);const o={timeZoneName:t,...s},a=new Intl.DateTimeFormat(r,o).formatToParts(i).find((e=>"timezonename"===e.type.toLowerCase()));return a?a.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 A=/[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"],q=["J","F","M","A","M","J","J","A","S","O","N","D"];function months(e){switch(e){case"narrow":return[...q];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"],D=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],M=["M","T","W","T","F","S","S"];function weekdays(e){switch(e){case"narrow":return[...M];case"short":return[...D];case"long":return[...P];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}const L=["AM","PM"],j=["Before Christ","Anno Domini"],x=["BC","AD"],k=["B","A"];function eras(e){switch(e){case"narrow":return[...k];case"short":return[...x];case"long":return[...j];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 N={D:s,DD:o,DDD:u,DDDD:c,t:l,tt:d,ttt:f,tttt:h,T:m,TT:p,TTT:y,TTTT:g,f:v,ff:w,fff:I,ffff:_,F:b,FF:R,FFF:S,FFFF:C};class Formatter{static create(e,t={}){return new Formatter(e,t)}static parseFormat(e){let t=null,r="",n=!1;const i=[];for(let s=0;s<e.length;s++){const o=e.charAt(s);"'"===o?(r.length>0&&i.push({literal:n,val:r}),t=null,r="",n=!n):n||o===t?r+=o:(r.length>0&&i.push({literal:!1,val:r}),r=o,t=o)}return r.length>0&&i.push({literal:n,val:r}),i}static macroTokenToFormatOpts(e){return N[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 L[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 F=null;class SystemZone extends Zone{static get instance(){return null===F&&(F=new SystemZone),F}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 V={};const z={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};let $={};class IANAZone extends Zone{static create(e){return $[e]||($[e]=new IANAZone(e)),$[e]}static resetCache(){$={},V={}}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 V[e]||(V[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"})),V[e]}(this.name);let[n,i,s,o,a,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],s=z[t];"era"===t?n[s]=i:isUndefined(s)||(n[s]=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,s,o,a,u,c,l]=n;return[o,i,s,a,u,c,l]}(r,t);"BC"===o&&(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:s,hour:24===a?0:a,minute:u,second:c,millisecond:0})-l)/6e4}equals(e){return"iana"===e.type&&e.name===this.name}get isValid(){return this.valid}}let Z=null;class FixedOffsetZone extends Zone{static get utcInstance(){return null===Z&&(Z=new FixedOffsetZone(0)),Z}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 U,now=()=>Date.now(),G="system",B=null,W=null,H=null;class Settings{static get now(){return now}static set now(e){now=e}static set defaultZone(e){G=e}static get defaultZone(){return normalizeZone(G,SystemZone.instance)}static get defaultLocale(){return B}static set defaultLocale(e){B=e}static get defaultNumberingSystem(){return W}static set defaultNumberingSystem(e){W=e}static get defaultOutputCalendar(){return H}static set defaultOutputCalendar(e){H=e}static get throwOnInvalid(){return U}static set throwOnInvalid(e){U=e}static resetCaches(){Locale.resetCache(),IANAZone.resetCache()}}let Y={};let J={};function getCachedDTF(e,t={}){const r=JSON.stringify([e,t]);let n=J[r];return n||(n=new Intl.DateTimeFormat(e,t),J[r]=n),n}let Q={};let K={};let X=null;function listStuff(e,t,r,n,i){const s=e.listingMode(r);return"error"===s?null:"en"===s?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,...s}=r;if(!t||Object.keys(s).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 s=K[i];return s||(s=new Intl.RelativeTimeFormat(e,t),K[i]=s),s}(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."]},s=-1===["hours","minutes","seconds"].indexOf(e);if("auto"===r&&s){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 o=Object.is(t,-0)||t<0,a=Math.abs(t),u=1===a,c=i[e],l=n?u?c[1]:c[2]||c[1]:u?i[e][0]:e;return o?`${a} ${l} ago`:`in ${a} ${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,s=i||(n?"en-US":function systemLocale(){return X||(X=(new Intl.DateTimeFormat).resolvedOptions().locale,X)}()),o=t||Settings.defaultNumberingSystem,a=r||Settings.defaultOutputCalendar;return new Locale(s,o,a,i)}static resetCache(){X=null,J={},Q={},K={}}static fromObject({locale:e,numberingSystem:t,outputCalendar:r}={}){return Locale.create(e,t,r)}constructor(e,t,r,n){const[i,s,o]=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:s}=r;return[n,i,s]}}(e);this.locale=i,this.numberingSystem=t||s||null,this.outputCalendar=r||o||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,(()=>L),(()=>{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=Y[r];return n||(n=new Intl.ListFormat(e,t),Y[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[s,o,a]=i(t,n);return[{...e,...s},o||r,a]}),[{},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}?(?:\\[(${A.source})\\])?)?`}`),ne=RegExp(`(?:T${re.source})?`),ie=simpleParse("weekYear","weekNumber","weekDay"),se=simpleParse("year","ordinal"),oe=RegExp(`${te.source} ?(?:${ee.source}|(${A.source}))?`),ae=RegExp(`(?: ${oe.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,s,o,a,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(s)),hours:maybeNegate(parseFloating(o)),minutes:maybeNegate(parseFloating(a)),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,s,o){const a={year:2===t.length?untruncateYear(parseInteger(t)):parseInteger(t),month:E.indexOf(r)+1,day:parseInteger(n),hour:parseInteger(i),minute:parseInteger(s)};return o&&(a.second=parseInteger(o)),e&&(a.weekday=e.length>3?P.indexOf(e)+1:D.indexOf(e)+1),a}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,s,o,a,u,c,l,d]=e,f=fromStrings(t,i,n,r,s,o,a);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$/,me=/^(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,s,o,a]=e;return[fromStrings(t,i,n,r,s,o,a),FixedOffsetZone.utcInstance]}function extractASCII(e){const[,t,r,n,i,s,o,a]=e;return[fromStrings(t,a,r,n,i,s,o),FixedOffsetZone.utcInstance]}const pe=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),ve=combineRegexes(re),be=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),we=combineExtractors(ie,extractISOTime,extractISOOffset,extractIANAZone),Re=combineExtractors(se,extractISOTime,extractISOOffset,extractIANAZone),Oe=combineExtractors(extractISOTime,extractISOOffset,extractIANAZone);const Ie=combineExtractors(extractISOTime);const Se=combineRegexes(/(\d{4})-(\d\d)-(\d\d)/,ae),_e=combineRegexes(oe),Ce=combineExtractors(extractISOTime,extractISOOffset,extractIANAZone);const Ae={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},...Ae},Ee=365.2425,qe=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:qe,hours:730.485,minutes:43829.1,seconds:2629746,milliseconds:2629746e3},...Ae},De=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],Me=De.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};return new Duration(n)}function convert(e,t,r,n,i){const s=e[i][r],o=t[r]/s,a=!(Math.sign(o)===Math.sign(n[i]))&&0!==n[i]&&Math.abs(o)<=1?function antiTrunc(e){return e<0?Math.floor(e):Math.ceil(e)}(o):Math.trunc(o);n[i]+=a,t[r]-=a*s}class Duration{constructor(e){const t="longterm"===e.conversionAccuracy||!1;this.values=e.values,this.loc=e.loc||Locale.create(),this.conversionAccuracy=t?"longterm":"casual",this.invalid=e.invalid||null,this.matrix=t?Pe:Te,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})}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,Ie])}(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=De.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 De)(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}={}){const n={loc:this.loc.clone({locale:e,numberingSystem:t})};return r&&(n.conversionAccuracy=r),clone$1(this,n)}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){Me.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 s of De)if(e.indexOf(s)>=0){i=s;let e=0;for(const t in r)e+=this.matrix[t][s]*r[t],r[t]=0;isNumber(n[s])&&(e+=n[s]);const o=Math.trunc(e);t[s]=o,r[s]=(1e3*e-1e3*o)/1e3;for(const e in n)De.indexOf(e)>De.indexOf(s)&&convert(this.matrix,n,e,t,s)}else isNumber(n[s])&&(r[s]=n[s]);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 De)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 Le="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,s,o;try{e=DateTime.fromISO(r,t),i=e.isValid}catch(n){i=!1}try{s=DateTime.fromISO(n,t),o=s.isValid}catch(n){o=!1}if(i&&o)return Interval.fromDateTimes(e,s);if(i){const r=Duration.fromISO(n,t);if(r.isValid)return Interval.after(e,r)}else if(o){const e=Duration.fromISO(r,t);if(e.isValid)return Interval.before(s,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,s=+e>+this.e?this.e:e;r.push(Interval.fromDateTimes(n,s)),n=s,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 s=[];for(;n<this.e;){const e=this.start.plus(t.mapUnits((e=>e*i)));r=+e>+this.e?this.e:e,s.push(Interval.fromDateTimes(n,r)),n=r,i+=1}return s}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"}])),s=Array.prototype.concat(...i).sort(((e,t)=>e.time-t.time));for(const e of s)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()})`:Le}toISO(e){return this.isValid?`${this.s.toISO(e)}/${this.e.toISO(e)}`:Le}toISODate(){return this.isValid?`${this.s.toISODate()}/${this.e.toISODate()}`:Le}toISOTime(e){return this.isValid?`${this.s.toISOTime(e)}/${this.e.toISOTime(e)}`:Le}toFormat(e,{separator:t=" – "}={}){return this.isValid?`${this.s.toFormat(e)}${t}${this.e.toFormat(e)}`:Le}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,s,o,a]=function highOrderDiffs(e,t,r){const n=[["years",(e,t)=>t.year-e.year],["quarters",(e,t)=>t.quarter-e.quarter],["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 s,o;for(const[a,u]of n)if(r.indexOf(a)>=0){s=a;let r=u(e,t);o=e.plus({[a]:r}),o>t?(e=e.plus({[a]:r-1}),r-=1):e=o,i[a]=r}return[e,i,o,s]}(e,t,r);const u=t-i,c=r.filter((e=>["hours","minutes","seconds","milliseconds"].indexOf(e)>=0));0===c.length&&(o<t&&(o=i.plus({[a]:1})),o!==i&&(s[a]=(s[a]||0)+u/(o-i)));const l=Duration.fromObject(s,n);return c.length>0?Duration.fromMillis(u,n).shiftTo(...c).plus(l):l}const je={arab:"[٠-٩]",arabext:"[۰-۹]",bali:"[᭐-᭙]",beng:"[০-৯]",deva:"[०-९]",fullwide:"[0-9]",gujr:"[૦-૯]",hanidec:"[〇|一|二|三|四|五|六|七|八|九]",khmr:"[០-៩]",knda:"[೦-೯]",laoo:"[໐-໙]",limb:"[᥆-᥏]",mlym:"[൦-൯]",mong:"[᠐-᠙]",mymr:"[၀-၉]",orya:"[୦-୯]",tamldec:"[௦-௯]",telu:"[౦-౯]",thai:"[๐-๙]",tibt:"[༠-༩]",latn:"\\d"},xe={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]},ke=je.hanidec.replace(/[\[|\]]/g,"").split("");function digitRegex({numberingSystem:e},t=""){return new RegExp(`${je[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(je.hanidec))t+=ke.indexOf(e[r]);else for(const e in xe){const[r,i]=xe[e];n>=r&&n<=i&&(t+=n-r)}}return parseInt(t,10)}return t}(e))}}const Ne=`[ ${String.fromCharCode(160)}]`,Fe=new RegExp(Ne,"g");function fixListRegex(e){return e.replace(/\./g,"\\.?").replace(Fe,Ne)}function stripInsensitivities(e){return e.replace(/\./g,"").replace(Fe," ").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}}function escapeToken(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}const Ve={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 ze=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}"),s=digitRegex(t,"{4}"),o=digitRegex(t,"{6}"),a=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=>({regex:RegExp(escapeToken(e.val)),deser:([e])=>e,literal:!0}),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(s);case"yyyyy":return intUnit(f);case"yyyyyy":return intUnit(o);case"M":case"L":case"d":case"H":case"h":case"m":case"q":case"s":case"W":return intUnit(a);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(a);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(`([+-]${a.source})(?::(${n.source}))?`),2);case"ZZZ":return offset(new RegExp(`([+-]${a.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))),s=i.find((e=>e.invalidReason));if(s)return{input:t,tokens:n,invalidReason:s.invalidReason};{const[e,r]=function buildRegex(e){return[`^${e.map((e=>e.regex)).reduce(((e,t)=>`${e}(${t.source})`),"")}$`,e]}(i),s=RegExp(e,"i"),[o,a]=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 s=r[i],o=s.groups?s.groups+1:1;!s.literal&&s.token&&(e[s.token.val[0]]=s.deser(n.slice(t,t+o))),t+=o}return[n,e]}return[n,{}]}(t,s,r),[u,c,l]=a?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]}(a):[null,null,void 0];if(hasOwnProperty(a,"a")&&hasOwnProperty(a,"H"))throw new ConflictingSpecificationError("Can't include meridiem when specifying 24-hour format");return{input:t,tokens:n,regex:s,rawMatches:o,matches:a,result:u,zone:c,specificOffset:l}}}function formatOptsToTokens(e,t){if(!e)return null;return Formatter.create(t,e).formatDateTimeParts(function getDummyDateTime(){return ze||(ze=DateTime.fromMillis(1555555555555)),ze}()).map((t=>function tokenForPart(e,t,r){const{type:n,value:i}=e;if("literal"===n)return{literal:!0,val:i};const s=r[n];let o=Ve[n];return"object"==typeof o&&(o=o[s]),o?{literal:!1,val:o}:void 0}(t,0,e)))}const $e=[0,31,59,90,120,151,181,212,243,273,304,334],Ze=[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)?Ze:$e)[t-1]}function uncomputeOrdinal(e,t){const r=isLeapYear(e)?Ze:$e,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),s=dayOfWeek(t,r,n);let o,a=Math.floor((i-s+10)/7);return a<1?(o=t-1,a=weeksInWeekYear(o)):a>weeksInWeekYear(t)?(o=t+1,a=1):o=t,{weekYear:o,weekNumber:a,weekday:s,...timeObject(e)}}function weekToGregorian(e){const{weekYear:t,weekNumber:r,weekday:n}=e,i=dayOfWeek(t,1,4),s=daysInYear(t);let o,a=7*r+n-i-3;a<1?(o=t-1,a+=daysInYear(o)):a>s?(o=t+1,a-=daysInYear(t)):o=t;const{month:u,day:c}=uncomputeOrdinal(o,a);return{year:o,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,s=integerBetween(t,0,23)||24===t&&0===r&&0===n&&0===i,o=integerBetween(r,0,59),a=integerBetween(n,0,59),u=integerBetween(i,0,999);return s?o?a?!u&&unitOutOfRange("millisecond",i):unitOutOfRange("second",n):unitOutOfRange("minute",r):unitOutOfRange("hour",t)}const Ue="Invalid DateTime",Ge=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 s=r.offset(n);return i===s?[n,i]:[e-60*Math.min(i,s)*1e3,Math.max(i,s)]}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),s={...e.c,year:n,month:i,day:Math.min(e.c.day,daysInMonth(n,i))+Math.trunc(t.days)+7*Math.trunc(t.weeks)},o=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"),a=objToLocalTS(s);let[u,c]=fixOffset(a,r,e.zone);return 0!==o&&(u+=o,c=e.zone.offset(u)),{ts:u,o:c}}function parseDataToDateTime(e,t,r,n,i,s){const{setZone:o,zone:a}=r;if(e&&0!==Object.keys(e).length){const n=t||a,i=DateTime.fromObject(e,{...r,zone:n,specificOffset:s});return o?i:i.setZone(a)}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,s){let o=padStart(e.c.hour);return t?(o+=":",o+=padStart(e.c.minute),0===e.c.second&&r||(o+=":")):o+=padStart(e.c.minute),0===e.c.second&&r||(o+=padStart(e.c.second),0===e.c.millisecond&&n||(o+=".",o+=padStart(e.c.millisecond,3))),i&&(e.isOffsetFixed&&0===e.offset&&!s?o+="Z":e.o<0?(o+="-",o+=padStart(Math.trunc(-e.o/60)),o+=":",o+=padStart(Math.trunc(-e.o%60))):(o+="+",o+=padStart(Math.trunc(e.o/60)),o+=":",o+=padStart(Math.trunc(e.o%60)))),s&&(o+="["+e.zone.ianaName+"]"),o}const Be={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},We={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},He={ordinal:1,hour:0,minute:0,second:0,millisecond:0},Ye=["year","month","day","hour","minute","second","millisecond"],Je=["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 s,o;if(isUndefined(e.year))s=i;else{for(const t of Ye)isUndefined(e[t])&&(e[t]=Be[t]);const t=hasInvalidGregorianData(e)||hasInvalidTimeData(e);if(t)return DateTime.invalid(t);const n=r.offset(i);[s,o]=objToTS(e,n,r)}return new DateTime({ts:s,zone:r,loc:n,o})}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,s,o,a,u]=t;return quickDT({year:r,month:n,day:i,hour:s,minute:o,second:a,millisecond:u},e)}static utc(){const[e,t]=lastOpts(arguments),[r,n,i,s,o,a,u]=t;return e.zone=FixedOffsetZone.utcInstance,quickDT({year:r,month:n,day:i,hour:s,minute:o,second:a,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<-Ge||e>Ge?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,s=normalizeObject(e,normalizeUnit),o=!isUndefined(s.ordinal),a=!isUndefined(s.year),u=!isUndefined(s.month)||!isUndefined(s.day),c=a||u,l=s.weekYear||s.weekNumber,d=Locale.fromObject(t);if((c||o)&&l)throw new ConflictingSpecificationError("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(u&&o)throw new ConflictingSpecificationError("Can't mix ordinal dates with month/day");const f=l||s.weekday&&!c;let h,m,p=tsToObj(n,i);f?(h=Je,m=We,p=gregorianToWeek(p)):o?(h=Qe,m=He,p=gregorianToOrdinal(p)):(h=Ye,m=Be);let y=!1;for(const e of h){isUndefined(s[e])?s[e]=y?m[e]:p[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)}(s):o?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)}(s):hasInvalidGregorianData(s),v=g||hasInvalidTimeData(s);if(v)return DateTime.invalid(v);const b=f?weekToGregorian(s):o?ordinalToGregorian(s):s,[w,R]=objToTS(b,i,r),O=new DateTime({ts:w,zone:r,o:R,loc:d});return s.weekday&&c&&e.weekday!==O.weekday?DateTime.invalid("mismatched weekday",`you can't specify both a weekday of ${s.weekday} and a date of ${O.toISO()}`):O}static fromISO(e,t={}){const[r,n]=function parseISODate(e){return parse(e,[pe,be],[ye,we],[ge,Re],[ve,Oe])}(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],[me,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,s=Locale.fromOpts({locale:n,numberingSystem:i,defaultToEN:!0}),[o,a,u,c]=function parseFromTokens(e,t,r){const{result:n,zone:i,specificOffset:s,invalidReason:o}=explainFromTokens(e,t,r);return[n,i,s,o]}(s,e,t);return c?DateTime.invalid(c):parseDataToDateTime(o,a,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,[Se,be],[_e,Ce])}(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}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),s=!isUndefined(t.month)||!isUndefined(t.day),o=i||s,a=t.weekYear||t.weekNumber;if((o||n)&&a)throw new ConflictingSpecificationError("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(s&&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):Ue}toLocaleString(e=s,t={}){return this.isValid?Formatter.create(this.loc.clone(t),e).formatDateTime(this):Ue}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 s="extended"===e;let o=toISODate(this,s);return o+="T",o+=toISOTime(this,s,t,r,n,i),o}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:s="extended"}={}){if(!this.isValid)return null;return(n?"T":"")+toISOTime(this,"extended"===s,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():Ue}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),s=e.valueOf()>this.valueOf(),o=diff(s?this:e,s?e:this,i,n);return s?o.negate():o}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 s}static get DATE_MED(){return o}static get DATE_MED_WITH_WEEKDAY(){return a}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 m}static get TIME_24_WITH_SECONDS(){return p}static get TIME_24_WITH_SHORT_OFFSET(){return y}static get TIME_24_WITH_LONG_OFFSET(){return g}static get DATETIME_SHORT(){return v}static get DATETIME_SHORT_WITH_SECONDS(){return b}static get DATETIME_MED(){return w}static get DATETIME_MED_WITH_SECONDS(){return R}static get DATETIME_MED_WITH_WEEKDAY(){return O}static get DATETIME_FULL(){return I}static get DATETIME_FULL_WITH_SECONDS(){return S}static get DATETIME_HUGE(){return _}static get DATETIME_HUGE_WITH_SECONDS(){return C}}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.1",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",s="function"==typeof Object.create,o={__proto__:[]}instanceof Array,a=!s&&!o,u={create:s?function(){return MakeDictionary(Object.create(null))}:o?function(){return MakeDictionary({__proto__:null})}:function(){return MakeDictionary({})},has:a?function(e,r){return t.call(e,r)}:function(e,t){return t in e},get:a?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 s=(0,e[i])(t,r,n);if(!IsUndefined(s)&&!IsNull(s)){if(!IsObject(s))throw new TypeError;n=s}}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 s=new f,o=[],a=0,u=r;a<u.length;a++){var c=u[a];s.has(c)||(s.add(c),o.push(c))}for(var l=0,d=i;l<d.length;l++){c=d[l];s.has(c)||(s.add(c),o.push(c))}return o}function OrdinaryOwnMetadataKeys(e,t){var r=[],n=GetOrCreateMetadataMap(e,t,!1);if(IsUndefined(n))return r;for(var i=GetIterator(n.keys()),s=0;;){var o=IteratorStep(i);if(!o)return r.length=s,r;var a=IteratorValue(o);try{r[s]=a}catch(e){try{IteratorClose(i)}finally{throw e}}s++}}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 s=i.call(e,r);if(IsObject(s))throw new TypeError;return s}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,s=e.toString;if(IsCallable(s))if(!IsObject(i=s.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={};var r=function __webpack_require__(r){var n=t[r];if(void 0!==n)return n.exports;var i=t[r]={exports:{}};return e[r].call(i.exports,i,i.exports,__webpack_require__),i.exports}(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),s=r(2890),o=r(9663);t.buildInformation={version:"2.0.0-beta.20",build:"72",date:"2022-09-14T14:15:16+00:00",commit:"66e8b413537746ca0d7476ac6c73064d0c3b0c84",dependencies:{"@js-soft/docdb-querytranslator":"^1.1.0","ts-simple-nameof":"^1.3.1"},libraries:{transport:o.buildInformation,crypto:s.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{constructor(e,t){this._parent=t,this._log=n.TransportLoggerFactory.getLogger(e)}get log(){return this._log}get parent(){return this._parent}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={}))},3926:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConsumptionErrors=void 0;const n=r(5172),i=r(9663);class Requests{constructor(){this.decideValidation=new Requests._decideValidation}requestExists(e){return new i.CoreError("error.consumption.requests.requestExists",`Request with id ${e} already exists and can't be created.`)}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{invalidRequestId(){return new n.ApplicationError("error.requests.decide.validation.invalidRequestId","The id of the Request does not match the id of the Response")}invalidNumberOfItems(e){return new n.ApplicationError("error.requests.decide.validation.invalidNumberOfItems",e)}itemAcceptedButParentNotAccepted(e){return new n.ApplicationError("error.requests.decide.validation.itemAcceptedButParentNotAccepted",e)}mustBeAcceptedItemNotAccepted(e){return new n.ApplicationError("error.requests.decide.validation.mustBeAcceptedItemNotAccepted",e)}requestItemAnsweredAsRequestItemGroup(){return new n.ApplicationError("error.requests.decide.validation.requestItemAnsweredAsRequestItemGroup","The RequestItem was answered as a RequestItemGroup.")}requestItemGroupAnsweredAsRequestItem(){return new n.ApplicationError("error.requests.decide.validation.requestItemGroupAnsweredAsRequestItem","The RequestItemGroup was answered as a RequestItem.")}};class ConsumptionErrors{}t.ConsumptionErrors=ConsumptionErrors,ConsumptionErrors.attributes=new class Attributes{attributeExists(e){return new i.CoreError("error.consumption.attributes.attributeExists",`Attribute with id '${e}' already exists. Please use succeed instead.`)}predecessorNotFound(e){return new i.CoreError("error.consumption.attributes.predecessorNotFound",`Attribute with id '${e}' does not exist. Please use create instead.`)}},ConsumptionErrors.requests=new Requests,ConsumptionErrors.relationshipInfo=new class RelationshipInfo{relationshipInfoExists(e){return new i.CoreError("error.consumption.relationshipInfos.relationshipInfoExists",`RelationshipInfo for Relationship ${e} already exists.`)}},ConsumptionErrors.onboarding=new class Onboarding{attributeNotSet(e){return new i.CoreError("error.consumption.onboarding.attributeNotSet",`No attribute with name ${e} set but was required to be shared.`)}wrongTemplate(){return new i.CoreError("error.consumption.onboarding.wrongTemplate","The given template is in the wrong format.")}}},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")},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(3926),t),i(r(6265),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),s=r(2047),o=r(5089),a=r(910),u=r(7742);class AttributeListenersController extends i.ConsumptionBaseController{constructor(e,t,r){super(s.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=a.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 o.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,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(5030),a=r(9663);let u=class CreateLocalAttributeListenerParams extends s.Serializable{static from(e){return this.fromAny(e)}};n([(0,s.serialize)({unionTypes:[o.IdentityAttributeQuery,o.ThirdPartyRelationshipAttributeQuery]}),(0,s.validate)(),i("design:type",Object)],u.prototype,"query",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",a.CoreAddress)],u.prototype,"peer",void 0),u=n([(0,s.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,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(5030),a=r(9663),u=r(4714);let c=class LocalAttributeListener extends a.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,s.serialize)({unionTypes:[o.IdentityAttributeQuery,o.ThirdPartyRelationshipAttributeQuery]}),(0,s.validate)(),i("design:type",Object)],c.prototype,"query",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",a.CoreAddress)],c.prototype,"peer",void 0),c=n([(0,s.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),s=r(4714),o=r(7997),a=r(9757),u=r(7011),c=r(306),l=r(6832),d=r(2732),f=r(8637);class AttributesController extends o.ConsumptionBaseController{constructor(e,t,r){super(o.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,s.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),s=i.length>0?i[0]:void 0;return void 0===s?void 0:c.LocalAttribute.from(s)}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),s=i.length>0?i[0]:void 0;return s??c.LocalAttribute.from(s)}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=await c.LocalAttribute.fromAttribute(e.content);return await this.attributes.create(t),this.eventBus.publish(new a.AttributeCreatedEvent(this.identity.address.toString(),t)),t}async succeedLocalAttribute(e){const t=f.SucceedLocalAttributeParams.from(e),r=await this.attributes.findOne({[(0,s.nameof)((e=>e.id))]:e.succeeds.toString()});if(!r)throw o.ConsumptionErrors.attributes.predecessorNotFound(t.succeeds.toString());t.successorContent.validFrom||(t.successorContent.validFrom=i.CoreDate.utc());const n=t.successorContent.validFrom,u=c.LocalAttribute.from(r);u.content.validTo=n.subtract(1),await this.attributes.update(r,u);const l=await c.LocalAttribute.fromAttribute(t.successorContent,t.succeeds);return await this.attributes.create(l),this.eventBus.publish(new a.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 o.ConsumptionErrors.attributes.predecessorNotFound(t.sourceAttributeId.toString());const n=l.LocalAttributeShareInfo.from({peer:t.peer,requestReference:t.requestReference,sourceAttribute:t.sourceAttributeId}),i=await c.LocalAttribute.fromAttribute(r.content,void 0,n,t.attributeId);return await this.attributes.create(i),this.eventBus.publish(new a.SharedAttributeCopyCreatedEvent(this.identity.address.toString(),i)),i}async createPeerLocalAttribute(e){const t=l.LocalAttributeShareInfo.from({peer:e.peer,requestReference:e.requestReference}),r=c.LocalAttribute.from({id:e.id??await o.ConsumptionIds.attribute.generate(),content:e.content,shareInfo:t,createdAt:i.CoreDate.utc()});return await this.attributes.create(r),this.eventBus.publish(new a.AttributeCreatedEvent(this.identity.address.toString(),r)),r}async updateLocalAttribute(e){const t=await this.attributes.findOne({[(0,s.nameof)((e=>e.id))]:e.id.toString()});if(!t)throw i.TransportErrors.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 a.AttributeUpdatedEvent(this.identity.address.toString(),r)),r}async deleteAttribute(e){await this.attributes.delete(e),this.eventBus.publish(new a.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,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(5030);class CreateLocalAttributeParams extends s.Serializable{static from(e){return this.fromAny(e)}}n([(0,s.serialize)({unionTypes:[o.IdentityAttribute,o.RelationshipAttribute]}),(0,s.validate)(),i("design:type",Object)],CreateLocalAttributeParams.prototype,"content",void 0),t.CreateLocalAttributeParams=CreateLocalAttributeParams},9228:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(5030),a=r(9663);class CreatePeerLocalAttributeParams extends s.Serializable{static from(e){return this.fromAny(e)}}n([(0,s.serialize)(),(0,s.validate)(),i("design:type",a.CoreId)],CreatePeerLocalAttributeParams.prototype,"id",void 0),n([(0,s.serialize)({unionTypes:[o.IdentityAttribute,o.RelationshipAttribute]}),(0,s.validate)(),i("design:type",Object)],CreatePeerLocalAttributeParams.prototype,"content",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",a.CoreId)],CreatePeerLocalAttributeParams.prototype,"requestReference",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",a.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,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(9663);class CreateSharedLocalAttributeCopyParams extends s.Serializable{static from(e){return this.fromAny(e)}}n([(0,s.serialize)(),(0,s.validate)({nullable:!0}),i("design:type",o.CoreId)],CreateSharedLocalAttributeCopyParams.prototype,"attributeId",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",o.CoreId)],CreateSharedLocalAttributeCopyParams.prototype,"sourceAttributeId",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",o.CoreAddress)],CreateSharedLocalAttributeCopyParams.prototype,"peer",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",o.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,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(5030),a=r(9663),u=r(4714),c=r(7997),l=r(6832);let d=class LocalAttribute extends a.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 o.IdentityAttribute}isOwnedBy(e){return this.content.owner.equals(e)}static from(e){return this.fromAny(e)}static async fromAttribute(e,t,r,n){return this.from({id:n??await c.ConsumptionIds.attribute.generate(),content:e,createdAt:a.CoreDate.utc(),succeeds:t,shareInfo:r})}};n([(0,s.validate)(),(0,s.serialize)({unionTypes:[o.IdentityAttribute,o.RelationshipAttribute]}),i("design:type",Object)],d.prototype,"content",void 0),n([(0,s.validate)(),(0,s.serialize)(),i("design:type",a.CoreDate)],d.prototype,"createdAt",void 0),n([(0,s.validate)({nullable:!0}),(0,s.serialize)(),i("design:type",a.CoreId)],d.prototype,"succeeds",void 0),n([(0,s.validate)({nullable:!0}),(0,s.serialize)(),i("design:type",a.CoreId)],d.prototype,"succeededBy",void 0),n([(0,s.validate)({nullable:!0}),(0,s.serialize)(),i("design:type",l.LocalAttributeShareInfo)],d.prototype,"shareInfo",void 0),d=n([(0,s.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,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(9663);class LocalAttributeShareInfo extends o.CoreSerializable{static from(e){return super.fromAny(e)}}n([(0,s.validate)(),(0,s.serialize)(),i("design:type",o.CoreId)],LocalAttributeShareInfo.prototype,"requestReference",void 0),n([(0,s.validate)(),(0,s.serialize)(),i("design:type",o.CoreAddress)],LocalAttributeShareInfo.prototype,"peer",void 0),n([(0,s.validate)({nullable:!0}),(0,s.serialize)(),i("design:type",o.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),s=r(4714);class IdentityAttributeQueryTranslator{static translate(e){return this.translator.parse({...e.toJSON(),attributeType:"IdentityAttribute"})}}t.IdentityAttributeQueryTranslator=IdentityAttributeQueryTranslator,IdentityAttributeQueryTranslator.translator=new n.QueryTranslator({whitelist:{[(0,s.nameof)((e=>e.tags))]:!0,[(0,s.nameof)((e=>e.valueType))]:!0,[(0,s.nameof)((e=>e.validFrom))]:!0,[(0,s.nameof)((e=>e.validTo))]:!0,attributeType:!0},alias:{[(0,s.nameof)((e=>e.valueType))]:[`${(0,s.nameof)((e=>e.content))}.${(0,s.nameof)((e=>e.value))}.@type`],attributeType:[`${(0,s.nameof)((e=>e.content))}.@type`]},custom:{[(0,s.nameof)((e=>e.tags))]:(e,t)=>{if(!t)return;if(!Array.isArray(t))throw new Error("Invalid input: 'tags' must be an array");const r=t;e.$or=r.map((e=>({[`${(0,s.nameof)((e=>e.content))}.${(0,s.nameof)((e=>e.tags))}`]:{$contains:e}})))},[(0,s.nameof)((e=>e.validFrom))]:(e,t)=>{if(!t)return;const r=i.DateTime.fromISO(t).toUTC().toString();e[`${(0,s.nameof)((e=>e.content))}.${(0,s.nameof)((e=>e.validFrom))}`]={$gte:r}},[(0,s.nameof)((e=>e.validTo))]:(e,t)=>{if(!t)return;const r=i.DateTime.fromISO(t).toUTC().toString();e[`${(0,s.nameof)((e=>e.content))}.${(0,s.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,s.nameof)((e=>e.key))]:!0,[(0,s.nameof)((e=>e.validFrom))]:!0,[(0,s.nameof)((e=>e.validTo))]:!0,[(0,s.nameof)((e=>e.owner))]:!0,attributeType:!0},alias:{[(0,s.nameof)((e=>e.key))]:[`${(0,s.nameof)((e=>e.content))}.${(0,s.nameof)((e=>e.key))}`],attributeType:[`${(0,s.nameof)((e=>e.content))}.@type`],[(0,s.nameof)((e=>e.owner))]:[`${(0,s.nameof)((e=>e.content))}.${(0,s.nameof)((e=>e.owner))}`]},custom:{[(0,s.nameof)((e=>e.validFrom))]:(e,t)=>{if(!t)return;const r=i.DateTime.fromISO(t).toUTC().toString();e[`${(0,s.nameof)((e=>e.content))}.${(0,s.nameof)((e=>e.validFrom))}`]={$gte:r}},[(0,s.nameof)((e=>e.validTo))]:(e,t)=>{if(!t)return;const r=i.DateTime.fromISO(t).toUTC().toString();e[`${(0,s.nameof)((e=>e.content))}.${(0,s.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,s.nameof)((e=>e.key))]:!0,[(0,s.nameof)((e=>e.validFrom))]:!0,[(0,s.nameof)((e=>e.validTo))]:!0,[(0,s.nameof)((e=>e.owner))]:!0,[(0,s.nameof)((e=>e.thirdParty))]:!0,attributeType:!0},alias:{[(0,s.nameof)((e=>e.key))]:[`${(0,s.nameof)((e=>e.content))}.${(0,s.nameof)((e=>e.key))}`],attributeType:[`${(0,s.nameof)((e=>e.content))}.@type`],[(0,s.nameof)((e=>e.owner))]:[`${(0,s.nameof)((e=>e.content))}.${(0,s.nameof)((e=>e.owner))}`],[(0,s.nameof)((e=>e.thirdParty))]:[`${(0,s.nameof)((e=>e.shareInfo))}.${(0,s.nameof)((e=>e.peer))}`]},custom:{[(0,s.nameof)((e=>e.validFrom))]:(e,t)=>{if(!t)return;const r=i.DateTime.fromISO(t).toUTC().toString();e[`${(0,s.nameof)((e=>e.content))}.${(0,s.nameof)((e=>e.validFrom))}`]={$gte:r}},[(0,s.nameof)((e=>e.validTo))]:(e,t)=>{if(!t)return;const r=i.DateTime.fromISO(t).toUTC().toString();e[`${(0,s.nameof)((e=>e.content))}.${(0,s.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,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(5030),a=r(9663);class SucceedLocalAttributeParams extends s.Serializable{static from(e){return this.fromAny(e)}}n([(0,s.serialize)({unionTypes:[o.IdentityAttribute,o.RelationshipAttribute]}),(0,s.validate)(),i("design:type",Object)],SucceedLocalAttributeParams.prototype,"successorContent",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",a.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,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(5030),a=r(9663);class UpdateLocalAttributeParams extends s.Serializable{static from(e){return this.fromAny(e)}}n([(0,s.serialize)(),(0,s.validate)(),i("design:type",a.CoreId)],UpdateLocalAttributeParams.prototype,"id",void 0),n([(0,s.serialize)({unionTypes:[o.IdentityAttribute,o.RelationshipAttribute]}),(0,s.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),s=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?s.Draft.from(t):void 0}async getDrafts(e){const t=await this.drafts.find(e);return this.parseArray(t,s.Draft)}async createDraft(e,t=""){const r=s.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 Error("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,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(9663),a=r(4714);let u=class Draft extends o.CoreSynchronizable{constructor(){super(...arguments),this.technicalProperties=["@type","@context",(0,a.nameof)((e=>e.type)),(0,a.nameof)((e=>e.createdAt)),(0,a.nameof)((e=>e.lastModifiedAt))],this.userdataProperties=[(0,a.nameof)((e=>e.content))],this.metadataProperties=[(0,a.nameof)((e=>e.metadata)),(0,a.nameof)((e=>e.metadataModifiedAt))]}static from(e){return this.fromAny(e)}};n([(0,s.validate)(),(0,s.serialize)(),i("design:type",String)],u.prototype,"type",void 0),n([(0,s.validate)(),(0,s.serialize)(),i("design:type",o.CoreDate)],u.prototype,"createdAt",void 0),n([(0,s.validate)(),(0,s.serialize)(),i("design:type",o.CoreDate)],u.prototype,"lastModifiedAt",void 0),n([(0,s.validate)(),(0,s.serialize)(),i("design:type",s.Serializable)],u.prototype,"content",void 0),n([(0,s.validate)({nullable:!0}),(0,s.serialize)({any:!0}),i("design:type",Object)],u.prototype,"metadata",void 0),n([(0,s.validate)({nullable:!0}),(0,s.serialize)(),i("design:type",o.CoreDate)],u.prototype,"metadataModifiedAt",void 0),u=n([(0,s.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);class IncomingRequestReceivedEvent extends n.TransportDataEvent{constructor(e,t){if(super(IncomingRequestReceivedEvent.namespace,e,t),t.isOwn)throw new Error("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);class IncomingRequestStatusChangedEvent extends n.TransportDataEvent{constructor(e,t){if(super(IncomingRequestStatusChangedEvent.namespace,e,t),t.request.isOwn)throw new Error("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);class OutgoingRequestCreatedEvent extends n.TransportDataEvent{constructor(e,t){if(super(OutgoingRequestCreatedEvent.namespace,e,t),!t.isOwn)throw new Error("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);class OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent extends n.TransportDataEvent{constructor(e,t){if(super(OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent.namespace,e,t),!t.isOwn)throw new Error("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);class OutgoingRequestStatusChangedEvent extends n.TransportDataEvent{constructor(e,t){if(super(OutgoingRequestStatusChangedEvent.namespace,e,t),!t.request.isOwn)throw new Error("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),s=r(7997),o=r(9116),a=r(1687),u=r(6592);t.DecideRequestParametersValidator=class DecideRequestParametersValidator{validate(e,t){if(!t.id.equals(i.CoreId.from(e.requestId)))return o.ValidationResult.error(s.ConsumptionErrors.requests.decideValidation.invalidRequestId());if(e.items.length!==t.content.items.length)return o.ValidationResult.error(s.ConsumptionErrors.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 o.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,a.isDecideRequestItemGroupParametersJSON)(t)?o.ValidationResult.error(s.ConsumptionErrors.requests.decideValidation.requestItemAnsweredAsRequestItemGroup()):!r&&t.accept?o.ValidationResult.error(s.ConsumptionErrors.requests.decideValidation.itemAcceptedButParentNotAccepted("The RequestItem was accepted, but the parent was not accepted.")):r&&e.mustBeAccepted&&!t.accept?o.ValidationResult.error(s.ConsumptionErrors.requests.decideValidation.mustBeAcceptedItemNotAccepted("The RequestItem is flagged as 'mustBeAccepted', but it was not accepted.")):o.ValidationResult.success()}checkItemGroup(e,t,r){if((0,u.isDecideRequestItemParametersJSON)(t))return o.ValidationResult.error(s.ConsumptionErrors.requests.decideValidation.requestItemGroupAnsweredAsRequestItem());if(t.items.length!==e.items.length)return o.ValidationResult.error(s.ConsumptionErrors.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 o.ValidationResult.error(s.ConsumptionErrors.requests.decideValidation.itemAcceptedButParentNotAccepted("The RequestItemGroup was accepted, but the parent was not accepted."));if(r&&e.mustBeAccepted&&!n)return o.ValidationResult.error(s.ConsumptionErrors.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 o.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),s=r(9663),o=r(7997),a=r(5941),u=r(9116),c=r(5371),l=r(1744),d=r(4136),f=r(8576),h=r(6520),m=r(2908),p=r(7066),y=r(3665),g=r(569);class IncomingRequestsController extends o.ConsumptionBaseController{constructor(e,t,r,n,i){super(o.ConsumptionControllerName.RequestsController,r),this.localRequests=e,this.processorRegistry=t,this.eventBus=n,this.identity=i,this.decideRequestParamsValidator=new p.DecideRequestParametersValidator}async received(e){const t=y.ReceivedIncomingRequestParameters.from(e),r=this.extractInfoFromSource(t.requestSourceObject),n=c.LocalRequest.from({id:t.receivedRequest.id??await o.ConsumptionIds.request.generate(),createdAt:s.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 a.IncomingRequestReceivedEvent(this.identity.address.toString(),n)),n}extractInfoFromSource(e){return e instanceof s.Message?this.extractInfoFromMessage(e):this.extractInfoFromRelationshipTemplate(e)}extractInfoFromMessage(e){if(e.isOwn)throw new Error("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 Error("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 a.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 a.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){m.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 s=0;s<e.length;s++){const o=e[s],a=t[s];if(a instanceof i.RequestItemGroup){const e=await this.canDecideGroup(o,a,r);n.push(e)}else{const e=await this.canDecideItem(o,a,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(o.ConsumptionErrors.requests.servalErrorDuringRequestItemProcessing(e)):u.ValidationResult.error(o.ConsumptionErrors.requests.unexpectedErrorDuringRequestItemProcessing(e))}}async accept(e){if(!(await this.canAccept(e)).isSuccess())throw new Error("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 Error("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 a.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),o=i.Response.from({result:e.accept?i.ResponseResult.Accepted:i.ResponseResult.Rejected,requestId:t.id,items:n});return d.LocalResponse.from({content:o,createdAt:s.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 s=0;s<e.length;s++){const o=e[s],a=t[s];a instanceof i.RequestItemGroup?n.push(await this.decideGroup(o,a,r)):n.push(await this.decideItem(o,t[s],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 Error(`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 Error("Cannot decide own Request");this.assertRequestStatus(r,l.LocalRequestStatus.Decided);const n=r.response.content.result===i.ResponseResult.Rejected,o="RelationshipTemplate"===r.source.type;if(t.responseSourceObject)r.response.source=d.LocalResponseSource.from({type:t.responseSourceObject instanceof s.Message?"Message":"RelationshipChange",reference:t.responseSourceObject.id});else if(!n||!o)throw new Error("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 a.IncomingRequestStatusChangedEvent(this.identity.address.toString(),{request:r,oldStatus:l.LocalRequestStatus.Decided,newStatus:r.status})),r}async getIncomingRequests(e){e??={},e.isOwn=!1;return(await this.localRequests.find(e)).map((e=>c.LocalRequest.from(e)))}async getIncomingRequest(e){const t=await this.localRequests.findOne({id:e.toString(),isOwn:!1});return t?c.LocalRequest.from(t):void 0}async getOrThrow(e){const t=await this.getIncomingRequest(s.CoreId.from(e));if(!t)throw s.TransportErrors.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 s.TransportErrors.general.recordNotFound(c.LocalRequest,e.id.toString());await this.localRequests.update(t,e)}assertRequestStatus(e,...t){if(!t.includes(e.status))throw new Error(`Local Request has to be in status '${t.join("/")}'.`)}}t.IncomingRequestsController=IncomingRequestsController},8576:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(9663);let a=class CheckPrerequisitesOfIncomingRequestParameters extends s.Serializable{static from(e){return this.fromAny(e)}};n([(0,s.serialize)(),(0,s.validate)(),i("design:type",o.CoreId)],a.prototype,"requestId",void 0),a=n([(0,s.type)("CheckPrerequisitesOfIncomingRequestParameters")],a),t.CheckPrerequisitesOfIncomingRequestParameters=a},6520:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(9663);class CompleteIncomingRequestParameters extends s.Serializable{static from(e){return this.fromAny(e)}}n([(0,s.serialize)(),(0,s.validate)(),i("design:type",o.CoreId)],CompleteIncomingRequestParameters.prototype,"requestId",void 0),n([(0,s.serialize)({unionTypes:[o.Message,o.RelationshipChange]}),(0,s.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,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(9663);let a=class InternalDecideRequestParameters extends s.Serializable{static from(e){return this.fromAny(e)}};n([(0,s.serialize)(),(0,s.validate)(),i("design:type",o.CoreId)],a.prototype,"requestId",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",Array)],a.prototype,"items",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",Boolean)],a.prototype,"accept",void 0),a=n([(0,s.type)("InternalDecideRequestParameters")],a),t.InternalDecideRequestParameters=a},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,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(5030),a=r(9663);let u=class ReceivedIncomingRequestParameters extends s.Serializable{static from(e){return this.fromAny(e)}};n([(0,s.serialize)(),(0,s.validate)(),i("design:type",o.Request)],u.prototype,"receivedRequest",void 0),n([(0,s.serialize)({unionTypes:[a.Message,a.RelationshipTemplate]}),(0,s.validate)(),i("design:type",Object)],u.prototype,"requestSourceObject",void 0),u=n([(0,s.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,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(9663);class RequireManualDecisionOfIncomingRequestParameters extends s.Serializable{static from(e){return this.fromAny(e)}}n([(0,s.serialize)(),(0,s.validate)(),i("design:type",o.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(3309),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(9221),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),s=r(9116);class GenericRequestItemProcessor extends i.AbstractRequestItemProcessor{checkPrerequisitesOfIncomingRequestItem(e,t){return!0}canAccept(e,t,r){return s.ValidationResult.success()}canReject(e,t,r){return s.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 s.ValidationResult.success()}canApplyIncomingResponseItem(e,t,r){return s.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)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RequestItemProcessorRegistry=void 0;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 Error(`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 Error(`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},3309:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o};Object.defineProperty(t,"__esModule",{value:!0}),t.AcceptCreateAttributeRequestItemParameters=void 0;const i=r(194);let s=class AcceptCreateAttributeRequestItemParameters extends i.Serializable{static from(e){return this.fromAny(e)}};s=n([(0,i.type)("AcceptCreateAttributeRequestItemParameters")],s),t.AcceptCreateAttributeRequestItemParameters=s},9886:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CreateAttributeRequestItemProcessor=void 0;const n=r(5030),i=r(7997),s=r(7994),o=r(9116);class CreateAttributeRequestItemProcessor extends s.GenericRequestItemProcessor{canCreateOutgoingRequestItem(e,t,r){const s=e.attribute.owner.equals(r),a=e.attribute.owner.equals(this.currentIdentityAddress),u=""===e.attribute.owner.toString();return e.attribute instanceof n.IdentityAttribute?a?o.ValidationResult.error(i.ConsumptionErrors.requests.invalidRequestItem("Cannot create own Attributes with a CreateAttributeRequestItem. Use a ShareAttributeRequestItem instead.")):s||u||void 0===r?o.ValidationResult.success():o.ValidationResult.error(i.ConsumptionErrors.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.")):s||a||u||void 0===r?o.ValidationResult.success():o.ValidationResult.error(i.ConsumptionErrors.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,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},s=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 o=r(194),a=r(5030),u=r(9663),c=r(4714);let l=n=class AcceptProposeAttributeRequestItemParameters extends o.Serializable{static from(e){return this.fromAny(e)}static postFrom(e){const t=e;if(t.attributeId&&t.attribute)throw new o.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(!t.attributeId&&!t.attribute)throw new o.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,o.serialize)(),(0,o.validate)({nullable:!0}),s("design:type",u.CoreId)],l.prototype,"attributeId",void 0),i([(0,o.serialize)({unionTypes:[a.IdentityAttribute,a.RelationshipAttribute]}),(0,o.validate)({nullable:!0}),s("design:type",Object)],l.prototype,"attribute",void 0),l=n=i([(0,o.type)("AcceptProposeAttributeRequestItemParameters")],l),t.AcceptProposeAttributeRequestItemParameters=l},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),s=r(9663),o=r(7997),a=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(o.ConsumptionErrors.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(o.ConsumptionErrors.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.attributeId){const e=await this.consumptionController.attributes.getLocalAttribute(n.attributeId);if(!e)return l.ValidationResult.error(s.TransportErrors.general.recordNotFound(a.LocalAttribute,r.id.toString()));i=e.content}return i.owner.equals(this.currentIdentityAddress)?l.ValidationResult.success():l.ValidationResult.error(o.ConsumptionErrors.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 s;return s=n.attributeId?await this.copyExistingAttribute(n.attributeId,r):await this.createNewAttribute(n.attribute,r),i.ProposeAttributeAcceptResponseItem.from({result:i.ResponseItemResult.Accepted,attributeId:s.id,attribute:s.content})}async copyExistingAttribute(e,t){return await this.consumptionController.attributes.createSharedLocalAttributeCopy({sourceAttributeId:s.CoreId.from(e),peer:s.CoreAddress.from(t.peer),requestReference:s.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:s.CoreId.from(r.id),peer:s.CoreAddress.from(t.peer),requestReference:s.CoreId.from(t.id)})}return await this.consumptionController.attributes.createPeerLocalAttribute({content:e,peer:t.peer,requestReference:s.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,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},s=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 o=r(194),a=r(5030),u=r(9663),c=r(4714);let l=n=class AcceptReadAttributeRequestItemParameters extends o.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 Error("this should never happen");if(e.existingAttributeId&&e.newAttribute)throw new o.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 o.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,o.serialize)(),(0,o.validate)({nullable:!0}),s("design:type",u.CoreId)],l.prototype,"existingAttributeId",void 0),i([(0,o.serialize)({unionTypes:[a.IdentityAttribute,a.RelationshipAttribute]}),(0,o.validate)({nullable:!0}),s("design:type",Object)],l.prototype,"newAttribute",void 0),l=n=i([(0,o.type)("AcceptReadAttributeRequestItemParameters")],l),t.AcceptReadAttributeRequestItemParameters=l},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),s=r(9663),o=r(7997),a=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(s.TransportErrors.general.recordNotFound(a.LocalAttribute,r.id.toString()));if(!this.accountController.identity.isMe(e.content.owner))return l.ValidationResult.error(o.ConsumptionErrors.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 s;return s=n.isWithExistingAttribute()?await this.copyExistingAttribute(n.existingAttributeId,r):await this.createNewAttribute(n.newAttribute,r),i.ReadAttributeAcceptResponseItem.from({result:i.ResponseItemResult.Accepted,attributeId:s.id,attribute:s.content})}async copyExistingAttribute(e,t){return await this.consumptionController.attributes.createSharedLocalAttributeCopy({sourceAttributeId:s.CoreId.from(e),peer:s.CoreAddress.from(t.peer),requestReference:s.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:s.CoreId.from(r.id),peer:s.CoreAddress.from(t.peer),requestReference:s.CoreId.from(t.id)})}return await this.consumptionController.attributes.createPeerLocalAttribute({content:e,peer:t.peer,requestReference:s.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},9221:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o};Object.defineProperty(t,"__esModule",{value:!0}),t.AcceptShareAttributeRequestItemParameters=void 0;const i=r(194);let s=class AcceptShareAttributeRequestItemParameters extends i.Serializable{static from(e){return this.fromAny(e)}};s=n([(0,i.type)("AcceptShareAttributeRequestItemParameters")],s),t.AcceptShareAttributeRequestItemParameters=s},633:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShareAttributeRequestItemProcessor=void 0;const n=r(5030),i=r(7997),s=r(7994),o=r(9116);class ShareAttributeRequestItemProcessor extends s.GenericRequestItemProcessor{canCreateOutgoingRequestItem(e,t,r){return e.attribute instanceof n.IdentityAttribute?this.canCreateWithIdentityAttribute(e):this.canCreateWithRelationshipAttribute(e.attribute)}canCreateWithIdentityAttribute(e){const t=""===e.attribute.owner.toString(),r=e.attribute.owner.equals(this.currentIdentityAddress);return t||r?o.ValidationResult.success():o.ValidationResult.error(i.ConsumptionErrors.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){return e.confidentiality===n.RelationshipAttributeConfidentiality.Private?o.ValidationResult.error(i.ConsumptionErrors.requests.invalidRequestItem("The confidentiality of the given `attribute` is private. Therefore you are not allowed to share it.")):o.ValidationResult.success()}async accept(e,t,r){""===e.attribute.owner.toString()&&(e.attribute.owner=r.peer);const i=await this.consumptionController.attributes.createPeerLocalAttribute({content:e.attribute,peer:r.peer,requestReference:r.id});return n.ShareAttributeAcceptResponseItem.from({attributeId:i.id,result:n.ResponseItemResult.Accepted})}async applyIncomingResponseItem(e,t,r){e instanceof n.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),s=r(9116);t.default=function validateQuery(e,t,r){if(e instanceof n.ThirdPartyRelationshipAttributeQuery){if(e.thirdParty.equals(t))return s.ValidationResult.error(i.ConsumptionErrors.requests.invalidRequestItem("Cannot query an Attribute with the own address as third party."));if(e.thirdParty.equals(r))return s.ValidationResult.error(i.ConsumptionErrors.requests.invalidRequestItem("Cannot query an Attribute with the recipient's address as third party."));if(e.owner.equals(t))return s.ValidationResult.error(i.ConsumptionErrors.requests.invalidRequestItem("Cannot query own Attributes from a third party."))}return s.ValidationResult.success()}},5371:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(5030),a=r(9663),u=r(1744),c=r(3126),l=r(4136);let d=class LocalRequestSource extends a.CoreSerializable{static from(e){return this.fromAny(e)}};n([(0,s.serialize)(),(0,s.validate)(),i("design:type",String)],d.prototype,"type",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",a.CoreId)],d.prototype,"reference",void 0),d=n([(0,s.type)("LocalRequestSource")],d),t.LocalRequestSource=d;let f=class LocalRequest extends a.CoreSynchronizable{changeStatus(e){const t=c.LocalRequestStatusLogEntry.from({createdAt:a.CoreDate.utc(),oldStatus:this.status,newStatus:e});this.statusLog.push(t),this.status=e}sent(e){if(this.status!==u.LocalRequestStatus.Draft)throw new Error("Local Request has to be in status 'Draft'.");this.source=e,this.changeStatus(u.LocalRequestStatus.Open)}static from(e){return this.fromAny(e)}};n([(0,s.serialize)(),(0,s.validate)(),i("design:type",Boolean)],f.prototype,"isOwn",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",a.CoreAddress)],f.prototype,"peer",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",a.CoreDate)],f.prototype,"createdAt",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",o.Request)],f.prototype,"content",void 0),n([(0,s.serialize)(),(0,s.validate)({nullable:!0}),i("design:type",d)],f.prototype,"source",void 0),n([(0,s.serialize)(),(0,s.validate)({nullable:!0}),i("design:type",l.LocalResponse)],f.prototype,"response",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",String)],f.prototype,"status",void 0),n([(0,s.serialize)({type:c.LocalRequestStatusLogEntry}),(0,s.validate)(),i("design:type",Array)],f.prototype,"statusLog",void 0),f=n([(0,s.type)("LocalRequest")],f),t.LocalRequest=f},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"}(t.LocalRequestStatus||(t.LocalRequestStatus={}))},3126:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(9663);r(1744);let a=class LocalRequestStatusLogEntry extends o.CoreSerializable{static from(e){return this.fromAny(e)}};n([(0,s.serialize)(),(0,s.validate)(),i("design:type",o.CoreDate)],a.prototype,"createdAt",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",String)],a.prototype,"oldStatus",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",String)],a.prototype,"newStatus",void 0),n([(0,s.serialize)(),(0,s.validate)({nullable:!0}),i("design:type",Object)],a.prototype,"data",void 0),n([(0,s.serialize)(),(0,s.validate)({nullable:!0}),i("design:type",String)],a.prototype,"code",void 0),a=n([(0,s.type)("LocalRequestStatusLogEntry")],a),t.LocalRequestStatusLogEntry=a},4136:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(5030),a=r(9663);let u=class LocalResponseSource extends a.CoreSerializable{static from(e){return this.fromAny(e)}};n([(0,s.serialize)(),(0,s.validate)(),i("design:type",String)],u.prototype,"type",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",a.CoreId)],u.prototype,"reference",void 0),u=n([(0,s.type)("LocalResponseSource")],u),t.LocalResponseSource=u;let c=class LocalResponse extends a.CoreSerializable{static from(e){return this.fromAny(e)}};n([(0,s.serialize)(),(0,s.validate)(),i("design:type",a.CoreDate)],c.prototype,"createdAt",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",o.Response)],c.prototype,"content",void 0),n([(0,s.serialize)(),(0,s.validate)({nullable:!0}),i("design:type",u)],c.prototype,"source",void 0),c=n([(0,s.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),s=r(7997),o=r(5941),a=r(9116),u=r(5371),c=r(1744),l=r(4136),d=r(3592),f=r(4981),h=r(1878),m=r(1557),p=r(325);class OutgoingRequestsController 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}async canCreate(e){const t=h.CanCreateOutgoingRequestParameters.from(e),r=await this.canCreateItems(t.content,t.peer);return a.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 a.ValidationResult.fromItems(n)}async create(e){const t=m.CreateOutgoingRequestParameters.from(e),r=await s.ConsumptionIds.request.generate();t.content.id=r;const n=await this._create(r,t.content,t.peer);return this.eventBus.publish(new o.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 s=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(s),s}async createFromRelationshipCreationChange(e){const t=f.CreateOutgoingRequestFromRelationshipCreationChangeParameters.from(e),r=t.creationChange.request.createdBy,i=t.creationChange.request.content;if(!(i instanceof n.RelationshipCreationChangeRequestBody))throw new Error("the body of the request is not supported as is is not type of RelationshipCreationChangeRequestBody");const s=i.response,a=s.requestId,u=t.template.cache.content;if(!(u instanceof n.RelationshipTemplateBody))throw new Error("the body of the template is not supported as is is not type of RelationshipTemplateBody");await this._create(a,u.onNewRelationship,r),await this._sent(a,t.template);const c=await this._complete(a,t.creationChange,s);return this.eventBus.publish(new o.OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent(this.identity.address.toString(),c)),c}async sent(e){const t=p.SentOutgoingRequestParameters.from(e),r=await this._sent(t.requestId,t.requestSourceObject);return this.eventBus.publish(new o.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 Error("Cannot create outgoing Request from a peer Message");return"Message"}if(e instanceof i.RelationshipTemplate){if(!e.isOwn)throw new Error("Cannot create outgoing Request from a peer Relationship Template");return"RelationshipTemplate"}throw new Error("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 o.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);const s=await this.canComplete(n,r);if(s.isError())throw s.error;let o;if(await this.applyItems(n.content.items,r.items,n),t instanceof i.Message)o="Message";else{if(!(t instanceof i.RelationshipChange))throw new Error("Invalid responseSourceObject");o="RelationshipChange"}const a=l.LocalResponse.from({content:r,createdAt:i.CoreDate.utc(),source:{reference:t.id,type:o}});return n.response=a,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],s=this.processorRegistry.getProcessorForItem(i),o=await s.canApplyIncomingResponseItem(n,i,e);if(o.isError())return o}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],s=n.items[t],o=this.processorRegistry.getProcessorForItem(r),a=await o.canApplyIncomingResponseItem(s,r,e);if(a.isError())return a}}}return a.ValidationResult.success()}async applyItems(e,t,r){for(let i=0;i<t.length;i++){const s=e[i];if(s instanceof n.RequestItem){const e=t[i];await this.applyItem(s,e,r)}else{const e=t[i];await this.applyItems(s.items,e.items,r)}}}async applyItem(e,t,r){const n=this.processorRegistry.getProcessorForItem(e);await n.applyIncomingResponseItem(t,e,r)}async getOutgoingRequests(e){e??={},e.isOwn=!0;return(await this.localRequests.find(e)).map((e=>u.LocalRequest.from(e)))}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});return t?u.LocalRequest.from(t):void 0}async getOrThrow(e){const t=await this.getOutgoingRequest(e);if(!t)throw i.TransportErrors.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.TransportErrors.general.recordNotFound(u.LocalRequest,e.id.toString());await this.localRequests.update(t,e)}assertRequestStatus(e,...t){if(!t.includes(e.status))throw new Error(`Local Request has to be in status '${t.join("/")}'.`)}}t.OutgoingRequestsController=OutgoingRequestsController},3592:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(5030),a=r(9663);let u=class CompleteOugoingRequestParameters extends s.Serializable{static from(e){return this.fromAny(e)}};n([(0,s.serialize)(),(0,s.validate)(),i("design:type",a.CoreId)],u.prototype,"requestId",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",a.Message)],u.prototype,"responseSourceObject",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",o.Response)],u.prototype,"receivedResponse",void 0),u=n([(0,s.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,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(9663);let a=class CreateOutgoingRequestFromRelationshipCreationChangeParameters extends s.Serializable{static from(e){return this.fromAny(e)}};n([(0,s.serialize)(),(0,s.validate)(),i("design:type",o.RelationshipTemplate)],a.prototype,"template",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",o.RelationshipChange)],a.prototype,"creationChange",void 0),a=n([(0,s.type)("CreateOutgoingRequestFromRelationshipCreationChangeParameters")],a),t.CreateOutgoingRequestFromRelationshipCreationChangeParameters=a},1878:function(e,t,r){"use strict";var n=this&&this.__decorate||function(e,t,r,n){var i,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(5030),a=r(9663);let u=class CanCreateOutgoingRequestParameters extends s.Serializable{static from(e){return this.fromAny(e)}};n([(0,s.serialize)(),(0,s.validate)(),i("design:type",o.Request)],u.prototype,"content",void 0),n([(0,s.serialize)(),(0,s.validate)({nullable:!0}),i("design:type",a.CoreAddress)],u.prototype,"peer",void 0),u=n([(0,s.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,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(5030),a=r(9663);let u=class CreateOutgoingRequestParameters extends s.Serializable{static from(e){return this.fromAny(e)}};n([(0,s.serialize)(),(0,s.validate)(),i("design:type",o.Request)],u.prototype,"content",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",a.CoreAddress)],u.prototype,"peer",void 0),u=n([(0,s.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,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(9663);let a=class SentOutgoingRequestParameters extends s.Serializable{static from(e){return this.fromAny(e)}};n([(0,s.serialize)(),(0,s.validate)(),i("design:type",o.CoreId)],a.prototype,"requestId",void 0),n([(0,s.serialize)(),(0,s.validate)(),i("design:type",o.Message)],a.prototype,"requestSourceObject",void 0),a=n([(0,s.type)("SentOutgoingRequestParameters")],a),t.SentOutgoingRequestParameters=a},8672:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SettingsController=void 0;const n=r(9663),i=r(7997),s=r(2660);class SettingsController extends i.ConsumptionBaseController{constructor(e){super(i.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?s.Setting.from(t):void 0}async getSettings(e){const t=await this.settings.find(e);return this.parseArray(t,s.Setting)}async createSetting(e){const t=s.Setting.from({id:await i.ConsumptionIds.setting.generate(),createdAt:n.CoreDate.utc(),key:e.key,scope:e.scope??s.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 n.TransportErrors.general.recordNotFound(s.Setting,e.id.toString()).logWith(this._log);await this.settings.update(t,e)}async deleteSetting(e){await this.settings.delete(e)}}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,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o},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 s=r(194),o=r(9663),a=r(4714);!function(e){e.Identity="Identity",e.Device="Device",e.Relationship="Relationship"}(t.SettingScope||(t.SettingScope={}));let u=class Setting extends o.CoreSynchronizable{constructor(){super(...arguments),this.technicalProperties=["@type","@context",(0,a.nameof)((e=>e.key)),(0,a.nameof)((e=>e.scope)),(0,a.nameof)((e=>e.reference)),(0,a.nameof)((e=>e.createdAt)),(0,a.nameof)((e=>e.succeedsItem)),(0,a.nameof)((e=>e.succeedsAt))],this.userdataProperties=[(0,a.nameof)((e=>e.value))],this.metadataProperties=[(0,a.nameof)((e=>e.metadata)),(0,a.nameof)((e=>e.metadataModifiedAt))]}static from(e){return this.fromAny(e)}};n([(0,s.validate)(),(0,s.serialize)(),i("design:type",String)],u.prototype,"key",void 0),n([(0,s.validate)(),(0,s.serialize)(),i("design:type",String)],u.prototype,"scope",void 0),n([(0,s.validate)({nullable:!0}),(0,s.serialize)(),i("design:type",o.CoreId)],u.prototype,"reference",void 0),n([(0,s.validate)(),(0,s.serialize)(),i("design:type",s.Serializable)],u.prototype,"value",void 0),n([(0,s.validate)(),(0,s.serialize)(),i("design:type",o.CoreDate)],u.prototype,"createdAt",void 0),n([(0,s.validate)({nullable:!0}),(0,s.serialize)(),i("design:type",o.CoreId)],u.prototype,"succeedsItem",void 0),n([(0,s.validate)({nullable:!0}),(0,s.serialize)(),i("design:type",o.CoreDate)],u.prototype,"succeedsAt",void 0),n([(0,s.validate)({nullable:!0}),(0,s.serialize)({any:!0}),i("design:type",Object)],u.prototype,"metadata",void 0),n([(0,s.validate)({nullable:!0}),(0,s.serialize)(),i("design:type",o.CoreDate)],u.prototype,"metadataModifiedAt",void 0),u=n([(0,s.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 s=this.parseStringVal(i),o={op:r,org:i,value:s};switch(r){case"!":t?o.field="$containsNone":""===i?(o.field="$exists",o.value=!1):o.field="$ne";break;case">":o.field=n?"$gte":"$gt";break;case"<":o.field=n?"$lte":"$lt";break;case"^":case"$":case"~":switch(o.field="$regex",o.options="i",o.value=this.valRegex?i.replace(this.valRegex,""):o.value.toString(),r){case"^":o.value=`^${s}`;break;case"$":o.value=`${s}$`}break;default:o.org=i=r+i,o.op=r="",o.value=this.parseStringVal(i),t?o.field="$containsAny":""===i?(o.field="$exists",o.value=!0):o.field="$eq"}return o.parsed={},o.parsed[o.field]=o.value,o.options&&(o.parsed.$options=o.options),o}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),s=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=s.SubscriptionTargetInfo.from(e),i=this.nextId++,handlerWrapper=async e=>{if(!n.isCompatibleWith(e))return;const s=(async()=>await t(e))();this.invocationPromises.push(s),await s.catch((e=>this.errorCallback(e,n.namespace))),this.invocationPromises=this.invocationPromises.filter((e=>e!==s)),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 o=this.emitter.on(n.namespace,handlerWrapper,{objectify:!0});return this.listeners.set(i,o),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:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.log=void 0,t.log=function log(e,t,r){const n=r.value;return r.value=function(...e){const r=e.map((e=>JSON.stringify(e))).join();try{const i=n.apply(this,e),s=JSON.stringify(i);return console.log(`Call: ${t}(${r}) => ${s}`),i}catch(e){throw console.log(e),e}},r}},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 s=Object.hasOwnProperty,o=Array.isArray?Array.isArray:function _isArray(e){return"[object Array]"===Object.prototype.toString.call(e)},a="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,s=t?t.length:0,o=0;o<n;o++)r[e[o]]=o<s?t[o]: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 s=e._observers;s?s.push(this):e._observers=[this]}function resolveOptions(e,t,r,n){var o=Object.assign({},t);if(!e)return o;if("object"!=typeof e)throw TypeError("options must be an object");var a,u,c,l=Object.keys(e),d=l.length;function reject(e){throw Error('Invalid "'+a+'" option value'+(e?". Reason: "+e:""))}for(var f=0;f<d;f++){if(a=l[f],!n&&!s.call(t,a))throw Error('Unknown "'+a+'" option');(u=e[a])!==i&&(c=r[a],o[a]=c?c(u,reject):u)}return o}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 s=typeof e;if(s===n||s===i)return e;r(t)}:function(n,i){for(var s=typeof n,o=r;o-- >0;)if(s===e[o])return n;i(t)}}Object.assign(TargetObserver.prototype,{subscribe:function(e,t,r){var n=this,i=this._target,s=this._emitter,o=this._listeners,handler=function(){var n=toArray.apply(null,arguments),o={data:n,name:t,original:e};if(r){var a=r.call(i,o);!1!==a&&s.emit.apply(s,[o.name].concat(n))}else s.emit.apply(s,[t].concat(n))};if(o[e])throw Error("Event '"+e+"' is already listening");this._listenersCount++,s._newListener&&s._removeListener&&!n._onNewListener?(this._onNewListener=function(r){r===t&&null===o[e]&&(o[e]=handler,n._on.call(i,e,handler))},s.on("newListener",this._onNewListener),this._onRemoveListener=function(r){r===t&&!s.hasListeners(r)&&o[e]&&(o[e]=null,n._off.call(i,e,handler))},o[e]=null,s.on("removeListener",this._onRemoveListener)):(o[e]=handler,n._on.call(i,e,handler))},unsubscribe:function(e){var t,r,n,i=this,s=this._listeners,o=this._emitter,a=this._off,u=this._target;if(e&&"string"!=typeof e)throw TypeError("event must be a string");function clearRefs(){i._onNewListener&&(o.off("newListener",i._onNewListener),o.off("removeListener",i._onRemoveListener),i._onNewListener=null,i._onRemoveListener=null);var e=findTargetIndex.call(o,i);o._observers.splice(e,1)}if(e){if(!(t=s[e]))return;a.call(u,e,t),delete s[e],--this._listenersCount||clearRefs()}else{for(n=(r=d(s)).length;n-- >0;)e=r[n],a.call(u,e,s[e]);this._listeners={},this._listenersCount=0,clearRefs()}}});var f=makeTypeReducer(["function"]),h=makeTypeReducer(["object","function"]);function makeCancelablePromise(e,t,r){var n,i,s,o=0,a=new e((function(u,c,l){function cleanup(){i&&(i=null),o&&(clearTimeout(o),o=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(s)throw Error("Unable to subscribe on cancel event asynchronously");if("function"!=typeof e)throw TypeError("onCancel callback must be a function");i.push(e)})),s=!0),r.timeout>0&&(o=setTimeout((function(){var e=Error("timeout");e.code="ETIMEDOUT",o=0,a.cancel(e),c(e)}),r.timeout))}));return n||(a.cancel=function(e){if(i){for(var t=i.length,r=1;r<t;r++)i[r](e);i[0](e),i=null}}),a}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 s=typeof t;if("string"===s){var o,a,u=0,c=0,l=this.delimiter,f=l.length;if(-1!==(a=t.indexOf(l))){o=new Array(5);do{o[u++]=t.slice(c,a),c=a+f}while(-1!==(a=t.indexOf(l,c)));o[u++]=t.slice(c),t=o,i=u}else t=[t],i=1}else"object"===s?i=t.length:(t=[t],i=1)}var h,m,p,y,g,v,b,w=null,R=t[n],O=t[n+1];if(n===i)r._listeners&&("function"==typeof r._listeners?(e&&e.push(r._listeners),w=[r]):(e&&e.push.apply(e,r._listeners),w=[r]));else{if("*"===R){for(a=(v=d(r)).length;a-- >0;)"_listeners"!==(h=v[a])&&(b=searchListenerTree(e,t,r[h],n+1,i))&&(w?w.push.apply(w,b):w=b);return w}if("**"===R){for((g=n+1===i||n+2===i&&"*"===O)&&r._listeners&&(w=searchListenerTree(e,t,r,i,i)),a=(v=d(r)).length;a-- >0;)"_listeners"!==(h=v[a])&&("*"===h||"**"===h?(r[h]._listeners&&!g&&(b=searchListenerTree(e,t,r[h],i,i))&&(w?w.push.apply(w,b):w=b),b=searchListenerTree(e,t,r[h],n,i)):b=searchListenerTree(e,t,r[h],h===O?n+2:n,i),b&&(w?w.push.apply(w,b):w=b));return w}r[R]&&(w=searchListenerTree(e,t,r[R],n+1,i))}if((m=r["*"])&&searchListenerTree(e,t,m,n+1,i),p=r["**"])if(n<i)for(p._listeners&&searchListenerTree(e,t,p,i,i),a=(v=d(p)).length;a-- >0;)"_listeners"!==(h=v[a])&&(h===O?searchListenerTree(e,t,p[h],n+2,i):h===R?searchListenerTree(e,t,p[h],n+1,i):((y={})[h]=p[h],searchListenerTree(e,t,{"**":y},n+1,i)));else p._listeners?searchListenerTree(e,t,p,i,i):p["*"]&&p["*"]._listeners&&searchListenerTree(e,t,p["*"],i,i);return w}function growListenerTree(e,t,r){var n,i,s=0,o=0,a=this.delimiter,u=a.length;if("string"==typeof e)if(-1!==(n=e.indexOf(a))){i=new Array(5);do{i[s++]=e.slice(o,n),o=n+u}while(-1!==(n=e.indexOf(a,o)));i[s++]=e.slice(o)}else i=[e],s=1;else i=e,s=e.length;if(s>1)for(n=0;n+1<s;n++)if("**"===i[n]&&"**"===i[n+1])return;var c,l=this.listenerTree;for(n=0;n<s;n++)if(l=l[c=i[n]]||(l[c]={}),n===s-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,s,o,a,u=d(e),c=u.length,l=e._listeners;c-- >0;)i=e[s=u[c]],o="_listeners"===s?r:r?r.concat(s):[s],a=n||"symbol"==typeof s,l&&t.push(a?o:o.join(this.delimiter)),"object"==typeof i&&collectTreeEvents.call(this,i,t,o,a);return t}function recursivelyGarbageCollect(e){for(var t,r,n,i=d(e),s=i.length;s-- >0;)(t=e[r=i[s]])&&(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)s=!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,s=r.promisify,o=r.nextTick,u=r.objectify}if(n||o||s){var c=t,d=t._origin||t;if(o&&!a)throw Error("process.nextTick is not supported");s===i&&(s="AsyncFunction"===t.constructor.name),t=function(){var e=arguments,t=this,r=this.event;return s?o?Promise.resolve():new Promise((function(e){l(e)})).then((function(){return t.event=r,c.apply(t,e)})):(o?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,s=r.reducers,o=findTargetIndex.call(n,e);i=-1===o?new TargetObserver(n,e,r):n._observers[o];for(var a,u=d(t),c=u.length,l="function"==typeof s,f=0;f<c;f++)a=u[f],i.subscribe(a,t[a]||a,l?s:s&&s[a])}return r=resolveOptions(r,{on:i,off:i,reducers:i},{on:f,off:f,reducers:h}),o(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,s=!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),s=!0);return s},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 s=this;if("function"!=typeof r)throw new Error("many only accepts instances of Function");function listener(){return 0==--t&&s.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,s,o=arguments[0],a=this.wildcard;if("newListener"===o&&!this._newListener&&!this._events.newListener)return!1;if(a&&(e=o,"newListener"!==o&&"removeListener"!==o&&"object"==typeof o)){if(r=o.length,u)for(n=0;n<r;n++)if("symbol"==typeof o[n]){s=!0;break}s||(o=o.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=o,l){case 1:c[n].call(this,o);break;case 2:c[n].call(this,o,arguments[1]);break;case 3:c[n].call(this,o,arguments[1],arguments[2]);break;default:c[n].apply(this,arguments)}if(a)c=[],searchListenerTree.call(this,c,e,this.listenerTree,0,r);else{if("function"==typeof(c=this._events[o])){switch(this.event=o,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=o,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"===o)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,s,o=arguments[0],a=this.wildcard;if("newListener"===o&&!this._newListener&&!this._events.newListener)return Promise.resolve([!1]);if(a&&(e=o,"newListener"!==o&&"removeListener"!==o&&"object"==typeof o)){if(n=o.length,u)for(i=0;i<n;i++)if("symbol"==typeof o[i]){t=!0;break}t||(o=o.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=o,d){case 1:l.push(this._all[i].call(this,o));break;case 2:l.push(this._all[i].call(this,o,arguments[1]));break;case 3:l.push(this._all[i].call(this,o,arguments[1],arguments[2]));break;default:l.push(this._all[i].apply(this,arguments))}if(a?(c=[],searchListenerTree.call(this,c,e,this.listenerTree,0)):c=this._events[o],"function"==typeof c)switch(this.event=o,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),s=1;s<d;s++)r[s-1]=arguments[s];l.push(c.apply(this,r))}else if(c&&c.length){if(c=c.slice(),d>3)for(r=new Array(d-1),s=1;s<d;s++)r[s-1]=arguments[s];for(i=0,n=c.length;i<n;i++)switch(this.event=o,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"===o)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 s,o=this;return n!==i&&(t=(s=setupListener.call(this,e,t,n))[0],o=s[1]),this._newListener&&this.emit("newListener",e,t),this.wildcard?(growListenerTree.call(this,e,t,r),o):(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,o)},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 s=0;s<n.length;s++){var a=n[s];if(r=a._listeners,o(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?a._listeners.splice(u,1):this._events[e].splice(u,1),0===r.length&&(this.wildcard?delete a._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 a._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,s,o,a=this._events;if(e===i){if(this.wildcard)throw Error("event name required for wildcard emitter");if(!a)return[];for(s=(t=d(a)).length,n=[];s-- >0;)"function"==typeof(r=a[t[s]])?n.push(r):n.push.apply(n,r);return n}if(this.wildcard){if(!(o=this.listenerTree))return[];var u=[],c="string"==typeof e?e.split(this.delimiter):e.slice();return searchListenerTree.call(this,u,c,o,0),u}return a&&(r=a[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,s=this._all;return!!(s&&s.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,s){function listener(){var s=t.filter;if(!s||s.apply(r,arguments))if(r.off(e,listener),t.handleError){var o=arguments[0];o?i(o):n(toArray.apply(null,arguments).slice(1))}else n(toArray.apply(null,arguments))}s((function(){r.off(e,listener)})),r._on(e,listener,!1)}),{timeout:t.timeout,overload:t.overload})};var m=EventEmitter.prototype;Object.defineProperties(EventEmitter,{defaultMaxListeners:{get:function(){return m._maxListeners},set:function(e){if("number"!=typeof e||e<0||Number.isNaN(e))throw TypeError("n must be a non-negative number");m._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 s;if("function"==typeof e.addEventListener)return s=function(){r(toArray.apply(null,arguments))},i((function(){e.removeEventListener(t,s)})),void e.addEventListener(t,s,{once:!0});var o,eventListener=function(){o&&e.removeListener("error",o),r(toArray.apply(null,arguments))};"error"!==t&&(o=function(r){e.removeListener(t,eventListener),n(r)},e.once("error",o)),i((function(){o&&e.removeListener("error",o),e.removeListener(t,eventListener)})),e.once(t,eventListener)}),{timeout:r.timeout,overload:r.overload})},writable:!0,configurable:!0}}),Object.defineProperties(m,{_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)}()},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",s={year:r,month:r,day:r},o={year:r,month:n,day:r},a={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},m={hour:r,minute:r,hourCycle:"h23"},p={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},v={year:r,month:r,day:r,hour:r,minute:r},b={year:r,month:r,day:r,hour:r,minute:r,second:r},w={year:r,month:n,day:r,hour:r,minute:r},R={year:r,month:n,day:r,hour:r,minute:r,second:r},O={year:r,month:n,day:r,weekday:n,hour:r,minute:r},I={year:r,month:i,day:r,hour:r,minute:r,timeZoneName:n},_={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},C={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),s={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};n&&(s.timeZone=n);const o={timeZoneName:t,...s},a=new Intl.DateTimeFormat(r,o).formatToParts(i).find((e=>"timezonename"===e.type.toLowerCase()));return a?a.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 A=/[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"],q=["J","F","M","A","M","J","J","A","S","O","N","D"];function months(e){switch(e){case"narrow":return[...q];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"],D=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],L=["M","T","W","T","F","S","S"];function weekdays(e){switch(e){case"narrow":return[...L];case"short":return[...D];case"long":return[...P];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}const M=["AM","PM"],j=["Before Christ","Anno Domini"],x=["BC","AD"],k=["B","A"];function eras(e){switch(e){case"narrow":return[...k];case"short":return[...x];case"long":return[...j];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 N={D:s,DD:o,DDD:u,DDDD:c,t:l,tt:d,ttt:f,tttt:h,T:m,TT:p,TTT:y,TTTT:g,f:v,ff:w,fff:I,ffff:S,F:b,FF:R,FFF:_,FFFF:C};class Formatter{static create(e,t={}){return new Formatter(e,t)}static parseFormat(e){let t=null,r="",n=!1;const i=[];for(let s=0;s<e.length;s++){const o=e.charAt(s);"'"===o?(r.length>0&&i.push({literal:n,val:r}),t=null,r="",n=!n):n||o===t?r+=o:(r.length>0&&i.push({literal:!1,val:r}),r=o,t=o)}return r.length>0&&i.push({literal:n,val:r}),i}static macroTokenToFormatOpts(e){return N[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 M[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 F=null;class SystemZone extends Zone{static get instance(){return null===F&&(F=new SystemZone),F}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 V={};const z={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};let $={};class IANAZone extends Zone{static create(e){return $[e]||($[e]=new IANAZone(e)),$[e]}static resetCache(){$={},V={}}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 V[e]||(V[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"})),V[e]}(this.name);let[n,i,s,o,a,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],s=z[t];"era"===t?n[s]=i:isUndefined(s)||(n[s]=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,s,o,a,u,c,l]=n;return[o,i,s,a,u,c,l]}(r,t);"BC"===o&&(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:s,hour:24===a?0:a,minute:u,second:c,millisecond:0})-l)/6e4}equals(e){return"iana"===e.type&&e.name===this.name}get isValid(){return this.valid}}let Z=null;class FixedOffsetZone extends Zone{static get utcInstance(){return null===Z&&(Z=new FixedOffsetZone(0)),Z}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 U,now=()=>Date.now(),B="system",G=null,W=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 G}static set defaultLocale(e){G=e}static get defaultNumberingSystem(){return W}static set defaultNumberingSystem(e){W=e}static get defaultOutputCalendar(){return H}static set defaultOutputCalendar(e){H=e}static get throwOnInvalid(){return U}static set throwOnInvalid(e){U=e}static resetCaches(){Locale.resetCache(),IANAZone.resetCache()}}let Y={};let Q={};function getCachedDTF(e,t={}){const r=JSON.stringify([e,t]);let n=Q[r];return n||(n=new Intl.DateTimeFormat(e,t),Q[r]=n),n}let J={};let K={};let X=null;function listStuff(e,t,r,n,i){const s=e.listingMode(r);return"error"===s?null:"en"===s?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,...s}=r;if(!t||Object.keys(s).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=J[r];return n||(n=new Intl.NumberFormat(e,t),J[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 s=K[i];return s||(s=new Intl.RelativeTimeFormat(e,t),K[i]=s),s}(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."]},s=-1===["hours","minutes","seconds"].indexOf(e);if("auto"===r&&s){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 o=Object.is(t,-0)||t<0,a=Math.abs(t),u=1===a,c=i[e],l=n?u?c[1]:c[2]||c[1]:u?i[e][0]:e;return o?`${a} ${l} ago`:`in ${a} ${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,s=i||(n?"en-US":function systemLocale(){return X||(X=(new Intl.DateTimeFormat).resolvedOptions().locale,X)}()),o=t||Settings.defaultNumberingSystem,a=r||Settings.defaultOutputCalendar;return new Locale(s,o,a,i)}static resetCache(){X=null,Q={},J={},K={}}static fromObject({locale:e,numberingSystem:t,outputCalendar:r}={}){return Locale.create(e,t,r)}constructor(e,t,r,n){const[i,s,o]=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:s}=r;return[n,i,s]}}(e);this.locale=i,this.numberingSystem=t||s||null,this.outputCalendar=r||o||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,(()=>M),(()=>{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=Y[r];return n||(n=new Intl.ListFormat(e,t),Y[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[s,o,a]=i(t,n);return[{...e,...s},o||r,a]}),[{},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}?(?:\\[(${A.source})\\])?)?`}`),ne=RegExp(`(?:T${re.source})?`),ie=simpleParse("weekYear","weekNumber","weekDay"),se=simpleParse("year","ordinal"),oe=RegExp(`${te.source} ?(?:${ee.source}|(${A.source}))?`),ae=RegExp(`(?: ${oe.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,s,o,a,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(s)),hours:maybeNegate(parseFloating(o)),minutes:maybeNegate(parseFloating(a)),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,s,o){const a={year:2===t.length?untruncateYear(parseInteger(t)):parseInteger(t),month:E.indexOf(r)+1,day:parseInteger(n),hour:parseInteger(i),minute:parseInteger(s)};return o&&(a.second=parseInteger(o)),e&&(a.weekday=e.length>3?P.indexOf(e)+1:D.indexOf(e)+1),a}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,s,o,a,u,c,l,d]=e,f=fromStrings(t,i,n,r,s,o,a);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$/,me=/^(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,s,o,a]=e;return[fromStrings(t,i,n,r,s,o,a),FixedOffsetZone.utcInstance]}function extractASCII(e){const[,t,r,n,i,s,o,a]=e;return[fromStrings(t,a,r,n,i,s,o),FixedOffsetZone.utcInstance]}const pe=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),ve=combineRegexes(re),be=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),we=combineExtractors(ie,extractISOTime,extractISOOffset,extractIANAZone),Re=combineExtractors(se,extractISOTime,extractISOOffset,extractIANAZone),Oe=combineExtractors(extractISOTime,extractISOOffset,extractIANAZone);const Ie=combineExtractors(extractISOTime);const _e=combineRegexes(/(\d{4})-(\d\d)-(\d\d)/,ae),Se=combineRegexes(oe),Ce=combineExtractors(extractISOTime,extractISOOffset,extractIANAZone);const Ae={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},...Ae},Ee=365.2425,qe=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:qe,hours:730.485,minutes:43829.1,seconds:2629746,milliseconds:2629746e3},...Ae},De=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],Le=De.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 s=e[i][r],o=t[r]/s,a=!(Math.sign(o)===Math.sign(n[i]))&&0!==n[i]&&Math.abs(o)<=1?function antiTrunc(e){return e<0?Math.floor(e):Math.ceil(e)}(o):Math.trunc(o);n[i]+=a,t[r]-=a*s}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,Ie])}(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=De.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 De)(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){Le.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 s of De)if(e.indexOf(s)>=0){i=s;let e=0;for(const t in r)e+=this.matrix[t][s]*r[t],r[t]=0;isNumber(n[s])&&(e+=n[s]);const o=Math.trunc(e);t[s]=o,r[s]=(1e3*e-1e3*o)/1e3;for(const e in n)De.indexOf(e)>De.indexOf(s)&&convert(this.matrix,n,e,t,s)}else isNumber(n[s])&&(r[s]=n[s]);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 De)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 Me="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,s,o;try{e=DateTime.fromISO(r,t),i=e.isValid}catch(n){i=!1}try{s=DateTime.fromISO(n,t),o=s.isValid}catch(n){o=!1}if(i&&o)return Interval.fromDateTimes(e,s);if(i){const r=Duration.fromISO(n,t);if(r.isValid)return Interval.after(e,r)}else if(o){const e=Duration.fromISO(r,t);if(e.isValid)return Interval.before(s,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,s=+e>+this.e?this.e:e;r.push(Interval.fromDateTimes(n,s)),n=s,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 s=[];for(;n<this.e;){const e=this.start.plus(t.mapUnits((e=>e*i)));r=+e>+this.e?this.e:e,s.push(Interval.fromDateTimes(n,r)),n=r,i+=1}return s}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"}])),s=Array.prototype.concat(...i).sort(((e,t)=>e.time-t.time));for(const e of s)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()})`:Me}toISO(e){return this.isValid?`${this.s.toISO(e)}/${this.e.toISO(e)}`:Me}toISODate(){return this.isValid?`${this.s.toISODate()}/${this.e.toISODate()}`:Me}toISOTime(e){return this.isValid?`${this.s.toISOTime(e)}/${this.e.toISOTime(e)}`:Me}toFormat(e,{separator:t=" – "}={}){return this.isValid?`${this.s.toFormat(e)}${t}${this.e.toFormat(e)}`:Me}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,s,o,a]=function highOrderDiffs(e,t,r){const n=[["years",(e,t)=>t.year-e.year],["quarters",(e,t)=>t.quarter-e.quarter],["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 s,o;for(const[a,u]of n)if(r.indexOf(a)>=0){s=a;let r=u(e,t);o=e.plus({[a]:r}),o>t?(e=e.plus({[a]:r-1}),r-=1):e=o,i[a]=r}return[e,i,o,s]}(e,t,r);const u=t-i,c=r.filter((e=>["hours","minutes","seconds","milliseconds"].indexOf(e)>=0));0===c.length&&(o<t&&(o=i.plus({[a]:1})),o!==i&&(s[a]=(s[a]||0)+u/(o-i)));const l=Duration.fromObject(s,n);return c.length>0?Duration.fromMillis(u,n).shiftTo(...c).plus(l):l}const je={arab:"[٠-٩]",arabext:"[۰-۹]",bali:"[᭐-᭙]",beng:"[০-৯]",deva:"[०-९]",fullwide:"[0-9]",gujr:"[૦-૯]",hanidec:"[〇|一|二|三|四|五|六|七|八|九]",khmr:"[០-៩]",knda:"[೦-೯]",laoo:"[໐-໙]",limb:"[᥆-᥏]",mlym:"[൦-൯]",mong:"[᠐-᠙]",mymr:"[၀-၉]",orya:"[୦-୯]",tamldec:"[௦-௯]",telu:"[౦-౯]",thai:"[๐-๙]",tibt:"[༠-༩]",latn:"\\d"},xe={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]},ke=je.hanidec.replace(/[\[|\]]/g,"").split("");function digitRegex({numberingSystem:e},t=""){return new RegExp(`${je[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(je.hanidec))t+=ke.indexOf(e[r]);else for(const e in xe){const[r,i]=xe[e];n>=r&&n<=i&&(t+=n-r)}}return parseInt(t,10)}return t}(e))}}const Ne=`[ ${String.fromCharCode(160)}]`,Fe=new RegExp(Ne,"g");function fixListRegex(e){return e.replace(/\./g,"\\.?").replace(Fe,Ne)}function stripInsensitivities(e){return e.replace(/\./g,"").replace(Fe," ").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 Ve={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 ze=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}"),s=digitRegex(t,"{4}"),o=digitRegex(t,"{6}"),a=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(s);case"yyyyy":return intUnit(f);case"yyyyyy":return intUnit(o);case"M":case"L":case"d":case"H":case"h":case"m":case"q":case"s":case"W":return intUnit(a);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(a);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(`([+-]${a.source})(?::(${n.source}))?`),2);case"ZZZ":return offset(new RegExp(`([+-]${a.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))),s=i.find((e=>e.invalidReason));if(s)return{input:t,tokens:n,invalidReason:s.invalidReason};{const[e,r]=function buildRegex(e){return[`^${e.map((e=>e.regex)).reduce(((e,t)=>`${e}(${t.source})`),"")}$`,e]}(i),s=RegExp(e,"i"),[o,a]=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 s=r[i],o=s.groups?s.groups+1:1;!s.literal&&s.token&&(e[s.token.val[0]]=s.deser(n.slice(t,t+o))),t+=o}return[n,e]}return[n,{}]}(t,s,r),[u,c,l]=a?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]}(a):[null,null,void 0];if(hasOwnProperty(a,"a")&&hasOwnProperty(a,"H"))throw new ConflictingSpecificationError("Can't include meridiem when specifying 24-hour format");return{input:t,tokens:n,regex:s,rawMatches:o,matches:a,result:u,zone:c,specificOffset:l}}}function formatOptsToTokens(e,t){if(!e)return null;return Formatter.create(t,e).formatDateTimeParts(function getDummyDateTime(){return ze||(ze=DateTime.fromMillis(1555555555555)),ze}()).map((t=>function tokenForPart(e,t,r){const{type:n,value:i}=e;if("literal"===n)return{literal:!0,val:i};const s=r[n];let o=Ve[n];return"object"==typeof o&&(o=o[s]),o?{literal:!1,val:o}:void 0}(t,0,e)))}const $e=[0,31,59,90,120,151,181,212,243,273,304,334],Ze=[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)?Ze:$e)[t-1]}function uncomputeOrdinal(e,t){const r=isLeapYear(e)?Ze:$e,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),s=dayOfWeek(t,r,n);let o,a=Math.floor((i-s+10)/7);return a<1?(o=t-1,a=weeksInWeekYear(o)):a>weeksInWeekYear(t)?(o=t+1,a=1):o=t,{weekYear:o,weekNumber:a,weekday:s,...timeObject(e)}}function weekToGregorian(e){const{weekYear:t,weekNumber:r,weekday:n}=e,i=dayOfWeek(t,1,4),s=daysInYear(t);let o,a=7*r+n-i-3;a<1?(o=t-1,a+=daysInYear(o)):a>s?(o=t+1,a-=daysInYear(t)):o=t;const{month:u,day:c}=uncomputeOrdinal(o,a);return{year:o,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,s=integerBetween(t,0,23)||24===t&&0===r&&0===n&&0===i,o=integerBetween(r,0,59),a=integerBetween(n,0,59),u=integerBetween(i,0,999);return s?o?a?!u&&unitOutOfRange("millisecond",i):unitOutOfRange("second",n):unitOutOfRange("minute",r):unitOutOfRange("hour",t)}const Ue="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 s=r.offset(n);return i===s?[n,i]:[e-60*Math.min(i,s)*1e3,Math.max(i,s)]}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),s={...e.c,year:n,month:i,day:Math.min(e.c.day,daysInMonth(n,i))+Math.trunc(t.days)+7*Math.trunc(t.weeks)},o=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"),a=objToLocalTS(s);let[u,c]=fixOffset(a,r,e.zone);return 0!==o&&(u+=o,c=e.zone.offset(u)),{ts:u,o:c}}function parseDataToDateTime(e,t,r,n,i,s){const{setZone:o,zone:a}=r;if(e&&0!==Object.keys(e).length){const n=t||a,i=DateTime.fromObject(e,{...r,zone:n,specificOffset:s});return o?i:i.setZone(a)}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,s){let o=padStart(e.c.hour);return t?(o+=":",o+=padStart(e.c.minute),0===e.c.second&&r||(o+=":")):o+=padStart(e.c.minute),0===e.c.second&&r||(o+=padStart(e.c.second),0===e.c.millisecond&&n||(o+=".",o+=padStart(e.c.millisecond,3))),i&&(e.isOffsetFixed&&0===e.offset&&!s?o+="Z":e.o<0?(o+="-",o+=padStart(Math.trunc(-e.o/60)),o+=":",o+=padStart(Math.trunc(-e.o%60))):(o+="+",o+=padStart(Math.trunc(e.o/60)),o+=":",o+=padStart(Math.trunc(e.o%60)))),s&&(o+="["+e.zone.ianaName+"]"),o}const Ge={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},We={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},He={ordinal:1,hour:0,minute:0,second:0,millisecond:0},Ye=["year","month","day","hour","minute","second","millisecond"],Qe=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],Je=["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 s,o;if(isUndefined(e.year))s=i;else{for(const t of Ye)isUndefined(e[t])&&(e[t]=Ge[t]);const t=hasInvalidGregorianData(e)||hasInvalidTimeData(e);if(t)return DateTime.invalid(t);const n=r.offset(i);[s,o]=objToTS(e,n,r)}return new DateTime({ts:s,zone:r,loc:n,o})}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,s,o,a,u]=t;return quickDT({year:r,month:n,day:i,hour:s,minute:o,second:a,millisecond:u},e)}static utc(){const[e,t]=lastOpts(arguments),[r,n,i,s,o,a,u]=t;return e.zone=FixedOffsetZone.utcInstance,quickDT({year:r,month:n,day:i,hour:s,minute:o,second:a,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,s=normalizeObject(e,normalizeUnit),o=!isUndefined(s.ordinal),a=!isUndefined(s.year),u=!isUndefined(s.month)||!isUndefined(s.day),c=a||u,l=s.weekYear||s.weekNumber,d=Locale.fromObject(t);if((c||o)&&l)throw new ConflictingSpecificationError("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(u&&o)throw new ConflictingSpecificationError("Can't mix ordinal dates with month/day");const f=l||s.weekday&&!c;let h,m,p=tsToObj(n,i);f?(h=Qe,m=We,p=gregorianToWeek(p)):o?(h=Je,m=He,p=gregorianToOrdinal(p)):(h=Ye,m=Ge);let y=!1;for(const e of h){isUndefined(s[e])?s[e]=y?m[e]:p[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)}(s):o?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)}(s):hasInvalidGregorianData(s),v=g||hasInvalidTimeData(s);if(v)return DateTime.invalid(v);const b=f?weekToGregorian(s):o?ordinalToGregorian(s):s,[w,R]=objToTS(b,i,r),O=new DateTime({ts:w,zone:r,o:R,loc:d});return s.weekday&&c&&e.weekday!==O.weekday?DateTime.invalid("mismatched weekday",`you can't specify both a weekday of ${s.weekday} and a date of ${O.toISO()}`):O}static fromISO(e,t={}){const[r,n]=function parseISODate(e){return parse(e,[pe,be],[ye,we],[ge,Re],[ve,Oe])}(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],[me,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,s=Locale.fromOpts({locale:n,numberingSystem:i,defaultToEN:!0}),[o,a,u,c]=function parseFromTokens(e,t,r){const{result:n,zone:i,specificOffset:s,invalidReason:o}=explainFromTokens(e,t,r);return[n,i,s,o]}(s,e,t);return c?DateTime.invalid(c):parseDataToDateTime(o,a,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,[_e,be],[Se,Ce])}(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),s=!isUndefined(t.month)||!isUndefined(t.day),o=i||s,a=t.weekYear||t.weekNumber;if((o||n)&&a)throw new ConflictingSpecificationError("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(s&&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):Ue}toLocaleString(e=s,t={}){return this.isValid?Formatter.create(this.loc.clone(t),e).formatDateTime(this):Ue}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 s="extended"===e;let o=toISODate(this,s);return o+="T",o+=toISOTime(this,s,t,r,n,i),o}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:s="extended"}={}){if(!this.isValid)return null;return(n?"T":"")+toISOTime(this,"extended"===s,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():Ue}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),s=e.valueOf()>this.valueOf(),o=diff(s?this:e,s?e:this,i,n);return s?o.negate():o}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 s}static get DATE_MED(){return o}static get DATE_MED_WITH_WEEKDAY(){return a}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 m}static get TIME_24_WITH_SECONDS(){return p}static get TIME_24_WITH_SHORT_OFFSET(){return y}static get TIME_24_WITH_LONG_OFFSET(){return g}static get DATETIME_SHORT(){return v}static get DATETIME_SHORT_WITH_SECONDS(){return b}static get DATETIME_MED(){return w}static get DATETIME_MED_WITH_SECONDS(){return R}static get DATETIME_MED_WITH_WEEKDAY(){return O}static get DATETIME_FULL(){return I}static get DATETIME_FULL_WITH_SECONDS(){return _}static get DATETIME_HUGE(){return S}static get DATETIME_HUGE_WITH_SECONDS(){return C}}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.3",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",s="function"==typeof Object.create,o={__proto__:[]}instanceof Array,a=!s&&!o,u={create:s?function(){return MakeDictionary(Object.create(null))}:o?function(){return MakeDictionary({__proto__:null})}:function(){return MakeDictionary({})},has:a?function(e,r){return t.call(e,r)}:function(e,t){return t in e},get:a?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 s=(0,e[i])(t,r,n);if(!IsUndefined(s)&&!IsNull(s)){if(!IsObject(s))throw new TypeError;n=s}}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 s=new f,o=[],a=0,u=r;a<u.length;a++){var c=u[a];s.has(c)||(s.add(c),o.push(c))}for(var l=0,d=i;l<d.length;l++){c=d[l];s.has(c)||(s.add(c),o.push(c))}return o}function OrdinaryOwnMetadataKeys(e,t){var r=[],n=GetOrCreateMetadataMap(e,t,!1);if(IsUndefined(n))return r;for(var i=GetIterator(n.keys()),s=0;;){var o=IteratorStep(i);if(!o)return r.length=s,r;var a=IteratorValue(o);try{r[s]=a}catch(e){try{IteratorClose(i)}finally{throw e}}s++}}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 s=i.call(e,r);if(IsObject(s))throw new TypeError;return s}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,s=e.toString;if(IsCallable(s))if(!IsObject(i=s.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={};var r=function __webpack_require__(r){var n=t[r];if(void 0!==n)return n.exports;var i=t[r]={exports:{}};return e[r].call(i.exports,i,i.exports,__webpack_require__),i.exports}(5590);NMSHDConsumption=r})();
3
3
  //# sourceMappingURL=nmshd.consumption.min.js.map