{
  "version": 3,
  "sources": ["../../../packages/shared/tm3-core/api.dtos.ts"],
  "sourcesContent": ["import { immerable } from \"immer\";\n\nexport interface IReturn<T>\n{\n    createResponse(): T;\n}\n\nexport interface IReturnVoid\n{\n    createResponse(): void;\n}\n\nexport interface IHasSessionId\n{\n    sessionId: string|null;\n}\n\nexport interface IHasBearerToken\n{\n    bearerToken: string|null;\n}\n\nexport interface IGet\n{\n}\n\nexport interface IPost\n{\n}\n\nexport interface IPut\n{\n}\n\nexport class SquareCard\n{\n    public id: string|null;\n    public card_brand: string|null;\n    public exp_month: number|null;\n    public exp_year: number|null;\n    public last_4: string|null;\n    public customer_id: string|null;\n    public cardholder_name: string|null;\n\n    public constructor(init?: Partial<SquareCard>) { (Object as any).assign(this, init); }\n}\n(SquareCard as unknown)[immerable] = true;\n\nexport class SquareMoneyAmount\n{\n    public amount: number|null;\n    public currency: string|null;\n\n    public constructor(init?: Partial<SquareMoneyAmount>) { (Object as any).assign(this, init); }\n}\n(SquareMoneyAmount as unknown)[immerable] = true;\n\nexport class SquareRefund\n{\n    public id: string|null;\n    public created_at: string|null;\n    public updated_at: string|null;\n    public status: string|null;\n    public amount_money: SquareMoneyAmount|null;\n    public location_id: string|null;\n    public payment_id: string|null;\n\n    public constructor(init?: Partial<SquareRefund>) { (Object as any).assign(this, init); }\n}\n(SquareRefund as unknown)[immerable] = true;\n\nexport class SquareDeviceCode\n{\n    public code: string|null;\n    public created_at: string|null;\n    public device_id: string|null;\n    public id: string|null;\n    public location_id: string|null;\n    public name: string|null;\n    public paired_at: string|null;\n    public product_type: string|null;\n    public status: string|null;\n    public status_changed_at: string|null;\n\n    public constructor(init?: Partial<SquareDeviceCode>) { (Object as any).assign(this, init); }\n}\n(SquareDeviceCode as unknown)[immerable] = true;\n\nexport class SquareDeviceOptions\n{\n    public device_id: string|null;\n    public skip_receipt_screen: boolean|null;\n\n    public constructor(init?: Partial<SquareDeviceOptions>) { (Object as any).assign(this, init); }\n}\n(SquareDeviceOptions as unknown)[immerable] = true;\n\nexport class SquareTerminalCheckout\n{\n    public amount_money: SquareMoneyAmount|null;\n    public created_at: string|null;\n    public deadline_duration: string|null;\n    public id: string|null;\n    public note: string|null;\n    public reference_id: string|null;\n    public status: string|null;\n    public updated_at: string|null;\n    public payment_ids: string[]|null;\n    public device_options: SquareDeviceOptions|null;\n\n    public constructor(init?: Partial<SquareTerminalCheckout>) { (Object as any).assign(this, init); }\n}\n(SquareTerminalCheckout as unknown)[immerable] = true;\n\nexport class SquareData\n{\n    public card: SquareCard|null;\n    public refund: SquareRefund|null;\n    public device_code: SquareDeviceCode|null;\n    public checkout: SquareTerminalCheckout|null;\n\n    public constructor(init?: Partial<SquareData>) { (Object as any).assign(this, init); }\n}\n(SquareData as unknown)[immerable] = true;\n\nexport class SquareWebhookData\n{\n    public type: string|null;\n    public id: string|null;\n    public object: SquareData|null;\n\n    public constructor(init?: Partial<SquareWebhookData>) { (Object as any).assign(this, init); }\n}\n(SquareWebhookData as unknown)[immerable] = true;\n\nexport class BillingItem implements IHasId, ILocationId\n{\n    public accountId: number|null;\n    public customerId: number|null;\n    public practitionerId: number|null;\n    public appointmentId: number|null;\n    public locationId: number|null;\n    public invoiceId: number|null;\n    public stockId: number|null;\n    public date: string|null;\n    public description: string|null;\n    public total: number|null;\n    public isPaid: boolean|null;\n    public isMigrated: boolean|null;\n    public totalExVat: number|null;\n    public quantity: number|null;\n    public price: number|null;\n    public vatRate: number|null;\n    public totalVat: number|null;\n    public id: number|null;\n    public category: string|null;\n    public ledgerCode: string|null;\n    public accountsExportId: number|null;\n    public prontoServiceId: string|null;\n    public parentId: number|null;\n    public subscriptionId: number|null;\n    public discountCodeId: string|null;\n\n    public constructor(init?: Partial<BillingItem>) { (Object as any).assign(this, init); }\n}\n(BillingItem as unknown)[immerable] = true;\n\nexport enum DiscountType\n{\n    Amount = 'Amount',\n    Percentage = 'Percentage',\n}\n\nexport enum DiscountStatus\n{\n    Inactive = 'Inactive',\n    Active = 'Active',\n}\n\nexport interface ILocationId\n{\n    locationId: number|null;\n}\n\nexport enum AlphaNumericFilterConditions\n{\n    Equals = 'Equals',\n    DoesNotEqual = 'DoesNotEqual',\n    StartsWith = 'StartsWith',\n    EndsWith = 'EndsWith',\n    DoesNotStartWith = 'DoesNotStartWith',\n    DoesNotEndWith = 'DoesNotEndWith',\n    Contains = 'Contains',\n    DoesNotContain = 'DoesNotContain',\n    IsSet = 'IsSet',\n    IsNotSet = 'IsNotSet',\n}\n\nexport class AlphaNumericSearch\n{\n    public selectedFilterOption: AlphaNumericFilterConditions|null;\n    public alphaNumericSearchValue: string|null;\n    public removeSpaces: boolean|null;\n\n    public constructor(init?: Partial<AlphaNumericSearch>) { (Object as any).assign(this, init); }\n}\n(AlphaNumericSearch as unknown)[immerable] = true;\n\nexport enum LookUpFilterConditions\n{\n    Is = 'Is',\n    IsNot = 'IsNot',\n    IsOneOf = 'IsOneOf',\n    IsNotOneOf = 'IsNotOneOf',\n}\n\nexport enum LookUpSearchType\n{\n    Practitioners = 'Practitioners',\n    PatientTags = 'PatientTags',\n    Locations = 'Locations',\n    Groups = 'Groups',\n    PaymentMethod = 'PaymentMethod',\n    PaymentStatus = 'PaymentStatus',\n    InvoiceStatus = 'InvoiceStatus',\n    InvoiceBatch = 'InvoiceBatch',\n    StockCategory = 'StockCategory',\n    StockTags = 'StockTags',\n    LocationStatus = 'LocationStatus',\n    BillingItemStatus = 'BillingItemStatus',\n    InvoicePeriod = 'InvoicePeriod',\n    CaseStatus = 'CaseStatus',\n    BodySite = 'BodySite',\n    Diagnosis = 'Diagnosis',\n    Suppliers = 'Suppliers',\n    ExpenditureCategory = 'ExpenditureCategory',\n    GroupClassification = 'GroupClassification',\n    PractitionerType = 'PractitionerType',\n    AuditObjectTypes = 'AuditObjectTypes',\n    AuditActions = 'AuditActions',\n    AccountType = 'AccountType',\n    DebtInvoiceStatus = 'DebtInvoiceStatus',\n    DebtAge = 'DebtAge',\n    CustomerStatus = 'CustomerStatus',\n    Gender = 'Gender',\n    Stock = 'Stock',\n    AppointmentStatus = 'AppointmentStatus',\n    AppointmentType = 'AppointmentType',\n    RpUserType = 'RpUserType',\n    Tags = 'Tags',\n    Skills = 'Skills',\n    GdsWorkSheetStatus = 'GdsWorkSheetStatus',\n    TimelineType = 'TimelineType',\n    Vehicle = 'Vehicle',\n}\n\nexport class LookUpSearch\n{\n    public selectedFilterOption: LookUpFilterConditions|null;\n    public lookUpSearchType: LookUpSearchType|null;\n    public isJsonSearch: boolean|null;\n    public lookUpDataType: string|null;\n    public lookUpSearchValues: Object[]|null;\n\n    public constructor(init?: Partial<LookUpSearch>) { (Object as any).assign(this, init); }\n}\n(LookUpSearch as unknown)[immerable] = true;\n\nexport enum DateTimeFilterConditions\n{\n    IsOn = 'IsOn',\n    IsNotOn = 'IsNotOn',\n    IsBetween = 'IsBetween',\n    IsNotBetween = 'IsNotBetween',\n    IsBefore = 'IsBefore',\n    IsOnOrBefore = 'IsOnOrBefore',\n    IsAfter = 'IsAfter',\n    IsOnOrAfter = 'IsOnOrAfter',\n}\n\nexport class DateRange\n{\n    public from: string|null;\n    public to: string|null;\n\n    public constructor(init?: Partial<DateRange>) { (Object as any).assign(this, init); }\n}\n(DateRange as unknown)[immerable] = true;\n\nexport class DateTimeSearch\n{\n    public selectedFilterOption: DateTimeFilterConditions|null;\n    public dateRangeValue: DateRange|null;\n\n    public constructor(init?: Partial<DateTimeSearch>) { (Object as any).assign(this, init); }\n}\n(DateTimeSearch as unknown)[immerable] = true;\n\nexport enum BooleanFilterConditions\n{\n    IsSet = 'IsSet',\n    IsNotSet = 'IsNotSet',\n}\n\nexport class BooleanSearch\n{\n    public selectedFilterOption: BooleanFilterConditions|null;\n    public booleanSearchValue: boolean|null;\n\n    public constructor(init?: Partial<BooleanSearch>) { (Object as any).assign(this, init); }\n}\n(BooleanSearch as unknown)[immerable] = true;\n\nexport class SearchFilterConditionItem\n{\n    public alphaNumericSearchFieldCondition: AlphaNumericSearch|null;\n    public lookUpSearchFieldCondition: LookUpSearch|null;\n    public dateTimeSearchFieldCondition: DateTimeSearch|null;\n    public booleanSearchFieldCondition: BooleanSearch|null;\n    public integerSearchFieldCondition: NumericSearch<number>|null;\n    public decimalSearchFieldCondition: NumericSearch<number>|null;\n\n    public constructor(init?: Partial<SearchFilterConditionItem>) { (Object as any).assign(this, init); }\n}\n(SearchFilterConditionItem as unknown)[immerable] = true;\n\nexport enum SearchFieldDataType\n{\n    StringField = 'StringField',\n    AlphaNumericField = 'AlphaNumericField',\n    LookUpField = 'LookUpField',\n    BooleanField = 'BooleanField',\n    DateTimeField = 'DateTimeField',\n    JsonField = 'JsonField',\n    IntegerField = 'IntegerField',\n    DecimalField = 'DecimalField',\n}\n\nexport enum Delimiters\n{\n    None = 'None',\n    Space = 'Space',\n    Comma = 'Comma',\n}\n\nexport class SearchFilterCondition\n{\n    public conditions: SearchFilterConditionItem[]|null;\n    public fieldName: string|null;\n    public displayName: string|null;\n    public fieldType: SearchFieldDataType|null;\n    public displayOnGrid: boolean|null;\n    public isFilterApplied: boolean|null;\n    public isCustom: boolean|null;\n    public delimiters: Delimiters|null;\n    public customIsSetText: string|null;\n    public customIsNotSetText: string|null;\n    public module: string|null;\n\n    public constructor(init?: Partial<SearchFilterCondition>) { (Object as any).assign(this, init); }\n}\n(SearchFilterCondition as unknown)[immerable] = true;\n\nexport class QueryField\n{\n    // @ApiMember(ExcludeInSchema=true)\n    public customFieldNames: string[]|null;\n\n    /** @description Field Name to sort by */\n    // @ApiMember(Description=\"Field Name to sort by\")\n    public field: string|null;\n\n    /** @description Sort order - `asc` or `desc` */\n    // @ApiMember(Description=\"Sort order - `asc` or `desc`\")\n    public dir: string|null;\n\n    public constructor(init?: Partial<QueryField>) { (Object as any).assign(this, init); }\n}\n(QueryField as unknown)[immerable] = true;\n\nexport class BaseAdvancedSearchRequest implements ILocationIds, IFilterServiceTypeManually\n{\n    public filterConditions: SearchFilterCondition[]|null;\n    public appliedFilters: SearchFilterCondition[]|null;\n    public appliedCustomFilters: SearchFilterCondition[]|null;\n    public skip: number|null;\n    public take: number|null;\n    public groups: QueryField[]|null;\n    public sort: QueryField[]|null;\n    public term: string|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<BaseAdvancedSearchRequest>) { (Object as any).assign(this, init); }\n}\n(BaseAdvancedSearchRequest as unknown)[immerable] = true;\n\nexport interface ILocationIds\n{\n    locationIds: number[]|null;\n    requestLocationIds: number[]|null;\n}\n\nexport interface IFilterServiceTypeManually\n{\n}\n\nexport interface ISecurityId\n{\n    securityId: number|null;\n}\n\nexport enum ResetMode\n{\n    None = 'None',\n    PassKey = 'PassKey',\n    MFA = 'MFA',\n    Password = 'Password',\n}\n\nexport class UserRoleLocationDto\n{\n    public id: number|null;\n    public locationId: number|null;\n    public userId: number|null;\n    public roleId: number|null;\n    public globalGuid: string|null;\n\n    public constructor(init?: Partial<UserRoleLocationDto>) { (Object as any).assign(this, init); }\n}\n(UserRoleLocationDto as unknown)[immerable] = true;\n\nexport interface IHasPath\n{\n    path: string|null;\n    safeRoot: string|null;\n}\n\nexport class CommandBarRequest implements ILocationIds\n{\n    public term: string|null;\n    public limit: number|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<CommandBarRequest>) { (Object as any).assign(this, init); }\n}\n(CommandBarRequest as unknown)[immerable] = true;\n\nexport enum MergeFieldType\n{\n    Workflow = 'Workflow',\n    SubWorkflow = 'SubWorkflow',\n    Network = 'Network',\n    NetworkClinician = 'NetworkClinician',\n    NetworkLocation = 'NetworkLocation',\n}\n\nexport enum MergeFieldDataType\n{\n    Text = 'Text',\n    Date = 'Date',\n    DateTime = 'DateTime',\n}\n\nexport class MergeFieldMappingDto\n{\n    public id: string|null;\n    public type: MergeFieldType|null;\n    public name: string|null;\n    public field: string|null;\n    public dataType: MergeFieldDataType|null;\n\n    public constructor(init?: Partial<MergeFieldMappingDto>) { (Object as any).assign(this, init); }\n}\n(MergeFieldMappingDto as unknown)[immerable] = true;\n\nexport class BatchInvoiceMergeDataRequestObject\n{\n    public id: number|null;\n    public template: string|null;\n\n    public constructor(init?: Partial<BatchInvoiceMergeDataRequestObject>) { (Object as any).assign(this, init); }\n}\n(BatchInvoiceMergeDataRequestObject as unknown)[immerable] = true;\n\nexport interface ISecurityIds\n{\n    securityIds: number[]|null;\n}\n\nexport class BatchMergeDataRequestObject\n{\n    public id: number|null;\n    public template: string|null;\n    public type: string|null;\n\n    public constructor(init?: Partial<BatchMergeDataRequestObject>) { (Object as any).assign(this, init); }\n}\n(BatchMergeDataRequestObject as unknown)[immerable] = true;\n\nexport interface ISecurityType\n{\n    securityType: string|null;\n}\n\nexport interface IDepartmentIds\n{\n    departmentIds: number[]|null;\n}\n\nexport interface IAllowedDepartmentIds\n{\n    allowedDepartmentIds: number[]|null;\n}\n\nexport interface ICustomerId\n{\n    customerId: number|null;\n}\n\nexport enum PackageBundleItemType\n{\n    Consultancy = 'Consultancy',\n    Stock = 'Stock',\n    Course = 'Course',\n    Class = 'Class',\n}\n\nexport interface IInvoiceId\n{\n    invoiceId: number|null;\n}\n\nexport class CustomerCSVHeaderOverrides\n{\n    public status: string|null;\n    public reference: string|null;\n    public name: string|null;\n    public address: string|null;\n    public postCode: string|null;\n    public dateOfBirth: string|null;\n    public number: string|null;\n    public email: string|null;\n    public registrationDate: string|null;\n    public balanceInvoiced: string|null;\n    public locationName: string|null;\n    public groupName: string|null;\n    public practitionerName: string|null;\n\n    public constructor(init?: Partial<CustomerCSVHeaderOverrides>) { (Object as any).assign(this, init); }\n}\n(CustomerCSVHeaderOverrides as unknown)[immerable] = true;\n\nexport class MedicalContactsCSVHeaderOverrides\n{\n    public status: string|null;\n    public reference: string|null;\n    public forename: string|null;\n    public surname: string|null;\n    public businessName: string|null;\n    public address: string|null;\n    public telephone: string|null;\n    public email: string|null;\n    public web: string|null;\n    public locationName: string|null;\n\n    public constructor(init?: Partial<MedicalContactsCSVHeaderOverrides>) { (Object as any).assign(this, init); }\n}\n(MedicalContactsCSVHeaderOverrides as unknown)[immerable] = true;\n\nexport interface IServiceTypeId\n{\n    serviceTypeId: number|null;\n}\n\nexport class DiaryListBase extends BaseAdvancedSearchRequest\n{\n    public date: string|null;\n    public isWeek: boolean|null;\n    public practitionerIds: number[]|null;\n    public locationId: number|null;\n    public appointmentId: number|null;\n\n    public constructor(init?: Partial<DiaryListBase>) { super(init); (Object as any).assign(this, init); }\n}\n(DiaryListBase as unknown)[immerable] = true;\n\nexport interface IHasAutoRefresh\n{\n    autoRefresh: boolean|null;\n}\n\nexport enum ResourceMode\n{\n    Room = 'Room',\n    Practitioner = 'Practitioner',\n}\n\nexport enum RecurrenceType\n{\n    None = 'None',\n    Day = 'Day',\n    Week = 'Week',\n    Fortnight = 'Fortnight',\n    Month = 'Month',\n    Quarter = 'Quarter',\n    Year = 'Year',\n    Custom = 'Custom',\n    WorkingDay = 'WorkingDay',\n}\n\nexport enum InvoicePeriod\n{\n    All = 'All',\n    Monthly = 'Monthly',\n    AfterEachAppointment = 'AfterEachAppointment',\n    AdHoc = 'AdHoc',\n    Manual = 'Manual',\n    Discharge = 'Discharge',\n}\n\nexport enum ChargeSearchMode\n{\n    All = 'All',\n    PrivateOnly = 'PrivateOnly',\n    AllGroups = 'AllGroups',\n    SelectedGroups = 'SelectedGroups',\n    HealthcodeGroups = 'HealthcodeGroups',\n}\n\nexport enum InvoicedStatusToInclude\n{\n    All = 'All',\n    Uninvoiced = 'Uninvoiced',\n    Invoiced = 'Invoiced',\n}\n\nexport class CurrencyRange\n{\n    public min: number|null;\n    public max: number|null;\n\n    public constructor(init?: Partial<CurrencyRange>) { (Object as any).assign(this, init); }\n}\n(CurrencyRange as unknown)[immerable] = true;\n\nexport interface IChargeSearchRequest extends ILocationIds\n{\n    sort: QueryField[]|null;\n    invoicePeriod: InvoicePeriod|null;\n    mode: ChargeSearchMode|null;\n    invoicedStatus: InvoicedStatusToInclude|null;\n    groupIds: number[]|null;\n    date: DateRange|null;\n    addressTo: string|null;\n    description: string|null;\n    amount: CurrencyRange|null;\n    term: string|null;\n    locked: boolean|null;\n    displayDiscountCodes: boolean|null;\n}\n\nexport class ChargeGroup\n{\n    public accountId: number|null;\n    public type: string|null;\n    public charges: number[]|null;\n\n    public constructor(init?: Partial<ChargeGroup>) { (Object as any).assign(this, init); }\n}\n(ChargeGroup as unknown)[immerable] = true;\n\nexport class InvoiceBatch implements IHasId\n{\n    public id: number|null;\n    public date: string|null;\n\n    public constructor(init?: Partial<InvoiceBatch>) { (Object as any).assign(this, init); }\n}\n(InvoiceBatch as unknown)[immerable] = true;\n\nexport class Charge\n{\n    public locationId: number|null;\n    public accountId: number|null;\n    public customerId: number|null;\n    public appointmentId: number|null;\n    public practitionerId: number|null;\n    public invoiceId: number|null;\n    public stockId: number|null;\n    public paid: number|null;\n    public migrated: number|null;\n    public transferred: number|null;\n    public roomId: number|null;\n    public accountsExportId: number|null;\n    public createdByUserId: number|null;\n    public description: string|null;\n    public category: string|null;\n    public ledgerCode: string|null;\n    public discriminatorType: string|null;\n    public totalExVat: number|null;\n    public quantity: number|null;\n    public price: number|null;\n    public vatRate: number|null;\n    public totalVat: number|null;\n    public total: number|null;\n    public date: string|null;\n    public parentId: number|null;\n\n    public constructor(init?: Partial<Charge>) { (Object as any).assign(this, init); }\n}\n(Charge as unknown)[immerable] = true;\n\nexport class Invoice implements ILocationId, IHasReference, IHasDocuments\n{\n    public id: number|null;\n    public status: string|null;\n    public reference: string|null;\n    public date: string|null;\n    public dueDate: string|null;\n    public fullyPaidDate: string|null;\n    public grandTotal: number|null;\n    public amountPaid: number|null;\n    public customerId: number|null;\n    public locationId: number|null;\n    public accountId: number|null;\n    public addressTo: string|null;\n    public addressLine1: string|null;\n    public addressLine2: string|null;\n    public addressLine3: string|null;\n    public addressLine4: string|null;\n    public addressLine5: string|null;\n    public postCode: string|null;\n    public reminder: string|null;\n    public secondReminder: string|null;\n    public totalExcludingVat: number|null;\n    public vatAmount: number|null;\n    public batchId: number|null;\n    public notes: string|null;\n    public globalId: string|null;\n    public globalType: number|null;\n    public paymentStatus: string|null;\n    public medipassTransactionId: string|null;\n    public medipassStatus: string|null;\n    public purchaseOrderNumber: string|null;\n    public medicalContactId: number|null;\n    public referralDate: string|null;\n    public documentsLoaded: boolean|null;\n    public isSquarePrepayment: boolean|null;\n    // @Ignore()\n    public documentsSubDirectory: string|null;\n\n    public constructor(init?: Partial<Invoice>) { (Object as any).assign(this, init); }\n}\n(Invoice as unknown)[immerable] = true;\n\nexport class Income implements ILocationId, IHasReference\n{\n    public id: number|null;\n    public amount: number|null;\n    public paymentMethod: string|null;\n    public otherPaymentMethod: string|null;\n    public customerId: number|null;\n    public status: string|null;\n    public date: string|null;\n    public reference: string|null;\n    public lodgementRef: string|null;\n    public accountId: number|null;\n    public accountsExportId: number|null;\n    public locationId: number|null;\n    public receivedAtLocationId: number|null;\n    public notes: string|null;\n    public cardType: string|null;\n    public cardNumber: string|null;\n    public expiry: string|null;\n    public chequeNumber: string|null;\n    public migrated: boolean|null;\n    public transferred: boolean|null;\n    public paidBy: string|null;\n    public refundReason: string|null;\n    public paymentIntentId: string|null;\n    public electronicPaymentDate: string|null;\n    public importDate: string|null;\n    public importBatchId: string|null;\n    public merchantReference: string|null;\n    public authorisationCode: string|null;\n    public squarePaymentId: string|null;\n    // @Ignore()\n    public meta: { [index:string]: Object; }|null;\n\n    public data: { [index:string]: string; }|null;\n\n    public constructor(init?: Partial<Income>) { (Object as any).assign(this, init); }\n}\n(Income as unknown)[immerable] = true;\n\nexport interface IHasId extends IHasIdMarker\n{\n    id: number|null;\n}\n\nexport interface IHasIdMarker\n{\n}\n\nexport interface IHasReference extends IHasId\n{\n    reference: string|null;\n}\n\nexport class ReconciliationResponse\n{\n    public id: number|null;\n    public status: string|null;\n    public date: string|null;\n    public paymentId: number|null;\n    public reference: string|null;\n    public name: string|null;\n    public total: number|null;\n    public paid: number|null;\n    public reconciled: number|null;\n    public customerName: string|null;\n\n    public constructor(init?: Partial<ReconciliationResponse>) { (Object as any).assign(this, init); }\n}\n(ReconciliationResponse as unknown)[immerable] = true;\n\nexport enum QuickBillMode\n{\n    Patient = 'Patient',\n    Appointment = 'Appointment',\n    MyClinics = 'MyClinics',\n}\n\n// @Flags()\nexport enum EPrePaidType\n{\n    Items = 0,\n    Credits = 1,\n}\n\nexport enum QuickPayType\n{\n    Customer = 'Customer',\n    Group = 'Group',\n    Medipass = 'Medipass',\n}\n\nexport enum QuickPayMode\n{\n    PayLater = 'PayLater',\n    DoNotBill = 'DoNotBill',\n    InvoiceAndDoMore = 'InvoiceAndDoMore',\n    Cash = 'Cash',\n    Cheque = 'Cheque',\n    Card = 'Card',\n    Chase = 'Chase',\n    Token = 'Token',\n    Medipass = 'Medipass',\n    Terminal = 'Terminal',\n    Prepayment = 'Prepayment',\n}\n\nexport enum PaymentProviderName\n{\n    None = 'None',\n    Stripe = 'Stripe',\n    Worldpay = 'Worldpay',\n    Square = 'Square',\n    ClearAccept = 'ClearAccept',\n}\n\nexport enum TerminalPaymentProviderPaymentStatus\n{\n    None = 'None',\n    InProgress = 'InProgress',\n    Complete = 'Complete',\n    Error = 'Error',\n    Cancelled = 'Cancelled',\n}\n\nexport enum PaymentProviderPaymentStatus\n{\n    None = 'None',\n    NotFound = 'NotFound',\n    Pending = 'Pending',\n    Success = 'Success',\n    Error = 'Error',\n    Cancelled = 'Cancelled',\n    Refunded = 'Refunded',\n    Voided = 'Voided',\n}\n\nexport class TerminalPaymentDto\n{\n    public provider: PaymentProviderName|null;\n    public data: { [index:string]: string; }|null;\n    public merchantReference: string|null;\n    public terminalStatus: TerminalPaymentProviderPaymentStatus|null;\n    public status: PaymentProviderPaymentStatus|null;\n    public message: string|null;\n    public invoiceId: number|null;\n    public terminalId: string|null;\n    public cardType: string|null;\n    public transactionId: string|null;\n    public incomeId: number|null;\n\n    public constructor(init?: Partial<TerminalPaymentDto>) { (Object as any).assign(this, init); }\n}\n(TerminalPaymentDto as unknown)[immerable] = true;\n\nexport class QuickPayment\n{\n    public type: QuickPayType|null;\n    public mode: QuickPayMode|null;\n    public amount: number|null;\n    public locationId: number|null;\n    public receivedAtLocationId: number|null;\n    public invoicePeriod: string|null;\n    public accountId: number|null;\n    public chequeNo: string|null;\n    public token: string|null;\n    public customerId: number|null;\n    public isNewCard: boolean|null;\n    public terminalPayment: TerminalPaymentDto|null;\n    public meta: { [index:string]: Object; }|null;\n\n    public constructor(init?: Partial<QuickPayment>) { (Object as any).assign(this, init); }\n}\n(QuickPayment as unknown)[immerable] = true;\n\nexport interface IHasNewPath\n{\n    newName: string|null;\n    safeRoot: string|null;\n}\n\nexport interface ICookies\n{\n    collection: Cookie[]|null;\n}\n\nexport interface IHttpResponse\n{\n    cookies: ICookies|null;\n}\n\nexport interface IHttpRequest\n{\n    httpResponse: IHttpResponse|null;\n    httpMethod: string|null;\n    xForwardedFor: string|null;\n    xForwardedPort: number|null;\n    xForwardedProtocol: string|null;\n    xRealIp: string|null;\n    accept: string|null;\n}\n\n// @DataContract\nexport class ResponseError\n{\n    // @DataMember(Order=1)\n    public errorCode: string|null;\n\n    // @DataMember(Order=2)\n    public fieldName: string|null;\n\n    // @DataMember(Order=3)\n    public message: string|null;\n\n    // @DataMember(Order=4)\n    public meta: { [index:string]: string; }|null;\n\n    public constructor(init?: Partial<ResponseError>) { (Object as any).assign(this, init); }\n}\n(ResponseError as unknown)[immerable] = true;\n\n// @DataContract\nexport class ResponseStatus\n{\n    // @DataMember(Order=1)\n    public errorCode: string|null;\n\n    // @DataMember(Order=2)\n    public message: string|null;\n\n    // @DataMember(Order=3)\n    public stackTrace: string|null;\n\n    // @DataMember(Order=4)\n    public errors: ResponseError[]|null;\n\n    // @DataMember(Order=5)\n    public meta: { [index:string]: string; }|null;\n\n    public constructor(init?: Partial<ResponseStatus>) { (Object as any).assign(this, init); }\n}\n(ResponseStatus as unknown)[immerable] = true;\n\nexport class DownloadBatchRequestObject\n{\n    public path: string|null;\n    public fileName: string|null;\n\n    public constructor(init?: Partial<DownloadBatchRequestObject>) { (Object as any).assign(this, init); }\n}\n(DownloadBatchRequestObject as unknown)[immerable] = true;\n\nexport interface IHasPaths\n{\n    securityPaths: string[]|null;\n}\n\nexport enum DocumentType\n{\n    Letter = 'Letter',\n    SMS = 'SMS',\n    Email = 'Email',\n}\n\nexport class GroupsCSVHeaderOverrides\n{\n    public status: string|null;\n    public reference: string|null;\n    public name: string|null;\n    public contact: string|null;\n    public address: string|null;\n    public telephone: string|null;\n    public email: string|null;\n    public web: string|null;\n    public balanceInvoiced: string|null;\n    public locations: string|null;\n\n    public constructor(init?: Partial<GroupsCSVHeaderOverrides>) { (Object as any).assign(this, init); }\n}\n(GroupsCSVHeaderOverrides as unknown)[immerable] = true;\n\nexport class StockLocationItem\n{\n    public locId: number|null;\n    public stockId: number|null;\n\n    public constructor(init?: Partial<StockLocationItem>) { (Object as any).assign(this, init); }\n}\n(StockLocationItem as unknown)[immerable] = true;\n\nexport class GroupProfileDto implements IHasId\n{\n    public id: number|null;\n    public profileField1: boolean|null;\n    public profileField2: boolean|null;\n    public profileField3: boolean|null;\n    public profileField4: boolean|null;\n    public profileField5: boolean|null;\n    public profileField6: boolean|null;\n    public profileField7: boolean|null;\n    public profileField8: boolean|null;\n\n    public constructor(init?: Partial<GroupProfileDto>) { (Object as any).assign(this, init); }\n}\n(GroupProfileDto as unknown)[immerable] = true;\n\nexport class NotificationSubscription implements IHasId\n{\n    public id: number|null;\n    public type: string|null;\n    public typeId: number|null;\n    public handlerId: string|null;\n\n    public constructor(init?: Partial<NotificationSubscription>) { (Object as any).assign(this, init); }\n}\n(NotificationSubscription as unknown)[immerable] = true;\n\nexport class GroupStockResponse\n{\n    public id: number|null;\n    public stockId: number|null;\n    public reference: string|null;\n    public totalPrice: number|null;\n    public description: string|null;\n    public appointmentLength: number|null;\n    public groupLocationLocationId: number|null;\n    public serviceTypeId: number|null;\n    public stockIsCancel: boolean|null;\n    public stockIsFirst: boolean|null;\n    public stockIsFollowUp: boolean|null;\n    public stockIsDNA: boolean|null;\n    public category: string|null;\n    public onlineGuid: string|null;\n    public isMultiLocation: boolean|null;\n\n    public constructor(init?: Partial<GroupStockResponse>) { (Object as any).assign(this, init); }\n}\n(GroupStockResponse as unknown)[immerable] = true;\n\nexport class LocResponse\n{\n    public id: number|null;\n    public groupLocationId: number|null;\n    public groupId: number|null;\n    public locationId: number|null;\n    public firstAppointmentStockId: number|null;\n    public nextAppointmentStockId: number|null;\n    public providerNo: string|null;\n    public name: string|null;\n    public addressLine1: string|null;\n    public addressLine2: string|null;\n    public addressLine3: string|null;\n    public addressLine4: string|null;\n    public addressLine5: string|null;\n    public address: string|null;\n    public postCode: string|null;\n    public fax: string|null;\n    public web: string|null;\n    public telephone: string|null;\n    public email: string|null;\n    public stock: GroupStockResponse[]|null;\n    public specificStock: GroupStockResponse[]|null;\n\n    public constructor(init?: Partial<LocResponse>) { (Object as any).assign(this, init); }\n}\n(LocResponse as unknown)[immerable] = true;\n\nexport class AddBusinessModel\n{\n    public id: number|null;\n    public name: string|null;\n    public isActive: boolean|null;\n\n    public constructor(init?: Partial<AddBusinessModel>) { (Object as any).assign(this, init); }\n}\n(AddBusinessModel as unknown)[immerable] = true;\n\nexport class PractitionerLocationPair\n{\n    public locationId: number|null;\n    public practitionerId: number|null;\n\n    public constructor(init?: Partial<PractitionerLocationPair>) { (Object as any).assign(this, init); }\n}\n(PractitionerLocationPair as unknown)[immerable] = true;\n\nexport enum PractitionerStatus\n{\n    Inactive = 'Inactive',\n    Active = 'Active',\n    PayAsYouGo = 'PayAsYouGo',\n}\n\nexport class PractitionerStatusUpdate\n{\n    public id: number|null;\n    public status: PractitionerStatus|null;\n\n    public constructor(init?: Partial<PractitionerStatusUpdate>) { (Object as any).assign(this, init); }\n}\n(PractitionerStatusUpdate as unknown)[immerable] = true;\n\nexport class PractitionerSkillBaseRequest\n{\n    public practitionerGuid: string|null;\n    public specialismId: string|null;\n\n    public constructor(init?: Partial<PractitionerSkillBaseRequest>) { (Object as any).assign(this, init); }\n}\n(PractitionerSkillBaseRequest as unknown)[immerable] = true;\n\nexport class BulkUpdateField\n{\n    public name: string|null;\n    public propertyName: string|null;\n    public type: string|null;\n    public searchType: LookUpSearchType|null;\n    public isCustom: boolean|null;\n    public includeNone: boolean|null;\n\n    public constructor(init?: Partial<BulkUpdateField>) { (Object as any).assign(this, init); }\n}\n(BulkUpdateField as unknown)[immerable] = true;\n\nexport enum BulkActionRecordType\n{\n    Patient = 'Patient',\n    Diary = 'Diary',\n    Stock = 'Stock',\n    Practitioner = 'Practitioner',\n    Record = 'Record',\n}\n\nexport class BulkActionBaseRequest<T> implements ILocationIds, IBulkAction\n{\n    public recordType: BulkActionRecordType|null;\n    public selectedIds: number[]|null;\n    public selectAll: boolean|null;\n    public searchRequest: T|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<BulkActionBaseRequest<T>>) { (Object as any).assign(this, init); }\n}\n\nexport class AlertResponse implements IHasId\n{\n    public title: string|null;\n    public notes: string|null;\n    public objectId: number|null;\n    public userId: number|null;\n    public future: boolean|null;\n    public startDateTime: string|null;\n    public flagType: number|null;\n    public id: number|null;\n    public discriminatorType: string|null;\n    public complete: boolean|null;\n    public requiresAcknowledgement: boolean|null;\n    public serviceTypeId: number|null;\n\n    public constructor(init?: Partial<AlertResponse>) { (Object as any).assign(this, init); }\n}\n(AlertResponse as unknown)[immerable] = true;\n\nexport class GeneralPractitionerResponse\n{\n    public id: number|null;\n    public fullName: string|null;\n    public name: string|null;\n    public defaultRoomId: number|null;\n    public code: string|null;\n    public fullAddress: string|null;\n    public locationName: string|null;\n    public title: string|null;\n    public forename: string|null;\n    public surname: string|null;\n    public gender: string|null;\n    public addressLine1: string|null;\n    public addressLine2: string|null;\n    public addressLine3: string|null;\n    public addressLine4: string|null;\n    public addressLine5: string|null;\n    public postCode: string|null;\n    public telephone: string|null;\n    public mobile: string|null;\n    public homeTelephone: string|null;\n    public email: string|null;\n    public fax: string|null;\n    public web: string|null;\n    public online: boolean|null;\n    public status: number|null;\n    public type: string|null;\n    public contractNumber: string|null;\n    public onlineGuid: string|null;\n    public physitrackToken: string|null;\n    public defaultLocationId: number|null;\n    public serviceTypeId: number|null;\n    public regNumber: string|null;\n    public commissionFlatRate: number|null;\n    public commissionPercent: number|null;\n    public employmentStatus: string|null;\n    public timeSlot: number|null;\n    public providerNo: string|null;\n    public taxNo: string|null;\n    public alerts: AlertResponse[]|null;\n    public locationIds: number[]|null;\n    public skills: string[]|null;\n    public zoomUserId: string|null;\n    public orderId: number|null;\n\n    public constructor(init?: Partial<GeneralPractitionerResponse>) { (Object as any).assign(this, init); }\n}\n\n// @Route(\"/practitioners/all\")\nexport class AllPractitionersRequest extends BaseAdvancedSearchRequest implements IReturn<ResponseBase<GeneralPractitionerResponse>>\n{\n    public fullname: string|null;\n    public code: string|null;\n    public status: number|null;\n    public address: string|null;\n\n    public constructor(init?: Partial<AllPractitionersRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'AllPractitionersRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<GeneralPractitionerResponse>(); }\n}\n(AllPractitionersRequest as unknown)[immerable] = true;\n\nexport class PractitionerBulkActionBaseRequest extends BulkActionBaseRequest<AllPractitionersRequest>\n{\n\n    public constructor(init?: Partial<PractitionerBulkActionBaseRequest>) { super(init); (Object as any).assign(this, init); }\n}\n(PractitionerBulkActionBaseRequest as unknown)[immerable] = true;\n\nexport interface IBulkAction\n{\n    selectedIds: number[]|null;\n    selectAll: boolean|null;\n}\n\nexport class RestrictedCustomerAlertDetails\n{\n    public title: string|null;\n    public notes: string|null;\n    public objectId: number|null;\n    public userId: number|null;\n    public future: boolean|null;\n    public startDateTime: string|null;\n    public flagType: number|null;\n    public id: number|null;\n    public discriminatorType: string|null;\n    public complete: boolean|null;\n    public requiresAcknowledgement: boolean|null;\n\n    public constructor(init?: Partial<RestrictedCustomerAlertDetails>) { (Object as any).assign(this, init); }\n}\n(RestrictedCustomerAlertDetails as unknown)[immerable] = true;\n\nexport class RestrictedCustomerDetails\n{\n    public id: number|null;\n    public title: string|null;\n    public forename: string|null;\n    public surname: string|null;\n    public gender: string|null;\n    public status: number|null;\n    public locationId: number|null;\n    public smsEnabled: boolean|null;\n    public reference: string|null;\n    public email: string|null;\n    public mobileTelephone: string|null;\n    public dateOfBirth: string|null;\n    public alerts: RestrictedCustomerAlertDetails[]|null;\n\n    public constructor(init?: Partial<RestrictedCustomerDetails>) { (Object as any).assign(this, init); }\n}\n(RestrictedCustomerDetails as unknown)[immerable] = true;\n\nexport class AppointmentResponse\n{\n    public id: number|null;\n    public startDateTime: string|null;\n    public endDateTime: string|null;\n    public name: string|null;\n    public status: number|null;\n    public type: string|null;\n    public reference: string|null;\n    public bookingMethod: string|null;\n    public bookedByName: string|null;\n    public bookingDateTime: string|null;\n    public duration: number|null;\n    public firstAppointment: boolean|null;\n    public comment: string|null;\n    public title: string|null;\n    public customerId: number|null;\n    public practitionerId: number|null;\n    public locationId: number|null;\n    public roomId: number|null;\n    public stockId: number|null;\n    public practitioner: string|null;\n    public practitionerStatus: number|null;\n    public location: string|null;\n    public roomName: string|null;\n    public stock: string|null;\n    public inDebt: boolean|null;\n    public colour: number|null;\n    public stockColour: number|null;\n    public description: string|null;\n    public hexColour: string|null;\n    public classMax: number|null;\n    public classAttendees: number|null;\n    public customerAlert: boolean|null;\n    public customerLastAppointment: string|null;\n    public reminderSentType: string|null;\n    public reminderType: string|null;\n    public payAtEachAppt: boolean|null;\n    public authId: number|null;\n    public groupId: number|null;\n    public groupName: string|null;\n    public groupAddressTo: string|null;\n    public authCode: string|null;\n    public caseId: number|null;\n    public auditId: string|null;\n    public prontoAuditId: string|null;\n    public prontoAppointmentId: string|null;\n    public prontoServiceId: string|null;\n    public patient: RestrictedCustomerDetails|null;\n    public meta: { [index:string]: Object; }|null;\n    public serviceTypeId: number|null;\n    public serviceType: string|null;\n    public isVideo: boolean|null;\n    public videoCode: string|null;\n    public discountCodeId: string|null;\n    public discountCodeAppliedDate: string|null;\n    public discountCodeAdvance: boolean|null;\n    public cancellationReason: string|null;\n    public videoLink: string|null;\n    public videoMeetingParticipantJoinUrl: string|null;\n    public videoMeetingPassword: string|null;\n\n    public constructor(init?: Partial<AppointmentResponse>) { (Object as any).assign(this, init); }\n}\n(AppointmentResponse as unknown)[immerable] = true;\n\nexport enum NetworkServiceType\n{\n    Appointment = 'Appointment',\n    Cancellation = 'Cancellation',\n    DNA = 'DNA',\n}\n\nexport class ServiceCharge\n{\n    public exVat: number|null;\n    public vatRate: number|null;\n    public canBillCXX: boolean|null;\n    public canBillDNA: boolean|null;\n    public cancellationChargeServiceId: string|null;\n    public dnaChargeServiceId: string|null;\n    public id: string|null;\n    public name: string|null;\n    public stockOnlineGuid: string|null;\n    public overrides: { [index:string]: string; }|null;\n    public serviceType: NetworkServiceType|null;\n    public serviceNextAppointmentType: string|null;\n\n    public constructor(init?: Partial<ServiceCharge>) { (Object as any).assign(this, init); }\n}\n(ServiceCharge as unknown)[immerable] = true;\n\nexport class ReferralAppointment\n{\n    public id: string|null;\n    public date: string|null;\n    public status: number|null;\n    public invoiced: boolean|null;\n    public serviceId: string|null;\n    public locationId: string|null;\n    public practitionerId: string|null;\n    public appointmentId: string|null;\n    public tm3AppointmentId: number|null;\n    public authCode: string|null;\n    public imported: boolean|null;\n    public isLocked: boolean|null;\n    public success: boolean|null;\n    public errors: string[]|null;\n    public warnings: string[]|null;\n\n    public constructor(init?: Partial<ReferralAppointment>) { (Object as any).assign(this, init); }\n}\n(ReferralAppointment as unknown)[immerable] = true;\n\nexport class ReferralAppointmentResponse extends ReferralAppointment\n{\n    public exVat: number|null;\n    public vatRate: number|null;\n    public description: string|null;\n\n    public constructor(init?: Partial<ReferralAppointmentResponse>) { super(init); (Object as any).assign(this, init); }\n}\n(ReferralAppointmentResponse as unknown)[immerable] = true;\n\nexport class ReferralAuthorisation\n{\n    public id: string|null;\n    public amount: number|null;\n    public reportId: string|null;\n    public timeStamp: string|null;\n    public isNewAdditionalAuth: boolean|null;\n    public isRevoked: boolean|null;\n    public initialAmount: number|null;\n    public revokedAmount: number|null;\n    public revokedTimeStamp: string|null;\n\n    public constructor(init?: Partial<ReferralAuthorisation>) { (Object as any).assign(this, init); }\n}\n(ReferralAuthorisation as unknown)[immerable] = true;\n\nexport class PractitionerDto\n{\n    public id: string|null;\n    public title: string|null;\n    public forename: string|null;\n    public surname: string|null;\n    public gender: string|null;\n    public addressLine1: string|null;\n    public addressLine2: string|null;\n    public addressLine3: string|null;\n    public addressLine4: string|null;\n    public addressLine5: string|null;\n    public postCode: string|null;\n    public telephone: string|null;\n    public mobile: string|null;\n    public email: string|null;\n    public fax: string|null;\n    public web: string|null;\n    public online: boolean|null;\n    public status: boolean|null;\n    public type: string|null;\n    public contractNumber: string|null;\n    public onlineGuid: string|null;\n    public defaultLocation: string|null;\n    public disciplines: string[]|null;\n    public name: string|null;\n    public shortName: string|null;\n\n    public constructor(init?: Partial<PractitionerDto>) { (Object as any).assign(this, init); }\n}\n(PractitionerDto as unknown)[immerable] = true;\n\nexport class BookingAuditResponse\n{\n    public id: string|null;\n    public userId: number|null;\n    public appointmentId: string|null;\n    public appointmentStartDateTime: string|null;\n    public appointmentBookingDateTime: string|null;\n    public appointmentCustomerId: string|null;\n    public customerReference: string|null;\n    public bookingType: string|null;\n    public serviceId: string|null;\n    public clinicReference: string|null;\n    public referrerReference: string|null;\n    public targetId: string|null;\n    public bookerId: string|null;\n    public systemType: string|null;\n    public referralStatus: number|null;\n    public triageReport: string|null;\n    public initialReport: string|null;\n    public rfatReport: string|null;\n    public dischargeReport: string|null;\n    public triageReportName: string|null;\n    public initialReportName: string|null;\n    public rfatReportName: string|null;\n    public dischargeReportName: string|null;\n    public needsAction: boolean|null;\n    public serviceCharges: { [index:string]: ServiceCharge; }|null;\n    public appointments: ReferralAppointmentResponse[]|null;\n    public authorisations: ReferralAuthorisation[]|null;\n    public practitioners: PractitionerDto[]|null;\n    public workflowId: number|null;\n    public reminderSentType: number|null;\n    public initialReportSubmissionDueDate: string|null;\n    public firstReminderSentDate: string|null;\n    public finalReminderSentDate: string|null;\n    public expiredReminderSentDate: string|null;\n\n    public constructor(init?: Partial<BookingAuditResponse>) { (Object as any).assign(this, init); }\n}\n(BookingAuditResponse as unknown)[immerable] = true;\n\nexport class Dictionary<T> { [Key: string]: T; }\n\nexport class JsonField extends Dictionary<Object>\n{\n\n    public constructor(init?: Partial<JsonField>) { super(); (Object as any).assign(this, init); }\n}\n(JsonField as unknown)[immerable] = true;\n\nexport enum ReportTemplateType\n{\n    D = 68,\n    M = 77,\n}\n\nexport class ReferralReport\n{\n    public id: string|null;\n    public rootId: string|null;\n    public templateId: string|null;\n    public bookerId: string|null;\n    public targetId: string|null;\n    public data: JsonField|null;\n    public timeStamp: string|null;\n    public auditId: string|null;\n    public status: number|null;\n    public message: string|null;\n    public title: string|null;\n    public reportTemplateType: ReportTemplateType|null;\n\n    public constructor(init?: Partial<ReferralReport>) { (Object as any).assign(this, init); }\n}\n(ReferralReport as unknown)[immerable] = true;\n\nexport enum VideoMeetingProvider\n{\n    Twilio = 0,\n    Zoom = 1,\n    Other = 99,\n}\n\nexport class Appointment implements ILocationId, IHasReference\n{\n    public id: number|null;\n    public startDateTime: string|null;\n    public endDateTime: string|null;\n    public name: string|null;\n    public customerId: number|null;\n    public practitionerId: number|null;\n    public locationId: number|null;\n    public status: number|null;\n    public type: string|null;\n    public reference: string|null;\n    public roomId: number|null;\n    public stockId: number|null;\n    public groupId: number|null;\n    public bookedBy: number|null;\n    public authId: number|null;\n    public serviceTypeId: number|null;\n    public firstAppointment: boolean|null;\n    public bookingDateTime: string|null;\n    public arrivalDateTime: string|null;\n    public comment: string|null;\n    public colour: number|null;\n    public billingItemID: number|null;\n    public location: string|null;\n    public equipment: string|null;\n    public reminderType: string|null;\n    public reminderDate: string|null;\n    // @Ignore()\n    public title: string|null;\n\n    public auditId: string|null;\n    public prontoAppointmentId: string|null;\n    public prontoServiceId: string|null;\n    public discountCodeId: string|null;\n    public discountCodeAppliedDate: string|null;\n    public discountCodeAdvance: boolean|null;\n    public prePaidId: number|null;\n    public prePaymentIncomeId: number|null;\n    public connectServiceId: string|null;\n    public owesCredit: boolean|null;\n    public isVideo: boolean|null;\n    public videoCode: string|null;\n    public videoMeetingHostJoinUrl: string|null;\n    public videoMeetingProvider: VideoMeetingProvider|null;\n    public videoMeetingPassword: string|null;\n    public videoMeetingParticipantJoinUrl: string|null;\n    public videoMeetingId: string|null;\n    public batchNo: number|null;\n    // @Ignore()\n    public videoLink: string|null;\n\n    public cancelUsesAuth: boolean|null;\n    public dnaUsesAuth: boolean|null;\n    public prepaymentStatus: string|null;\n    public cancelMethod: string|null;\n    public recallStatus: string|null;\n\n    public constructor(init?: Partial<Appointment>) { (Object as any).assign(this, init); }\n}\n(Appointment as unknown)[immerable] = true;\n\nexport class ProntoBillingItem\n{\n    public apptGuid: string|null;\n    public id: number|null;\n    public date: string|null;\n    public service: { [index:string]: string; }|null;\n    public location: { [index:string]: string; }|null;\n    public practitioner: { [index:string]: string; }|null;\n    public vatRate: number|null;\n    public amount: number|null;\n    public amountExVat: number|null;\n    public metadata: string|null;\n    public appointment: Appointment|null;\n    public isPreviouslyBilledFromTM3: boolean|null;\n    public isBillingPartOfFailedInvoice: boolean|null;\n\n    public constructor(init?: Partial<ProntoBillingItem>) { (Object as any).assign(this, init); }\n}\n(ProntoBillingItem as unknown)[immerable] = true;\n\nexport class ProntoInvoice\n{\n    public id: string|null;\n    public auditId: string|null;\n    public bookerId: string|null;\n    public targetId: string|null;\n    public templateId: string|null;\n    public timeStamp: string|null;\n    public status: number|null;\n    public message: string|null;\n    public authCode: string|null;\n    public admissionDate: string|null;\n    public ref: string|null;\n    public date: string|null;\n    public locationId: string|null;\n    public primaryPracitionerId: string|null;\n    public patientMemberId: string|null;\n    public patientPostcode: string|null;\n    public patientForename: string|null;\n    public patientSurname: string|null;\n    public patientDateOfBirth: string|null;\n    public totalAmount: number|null;\n    public items: ProntoBillingItem[]|null;\n    public metadata: string|null;\n    public mappings: string|null;\n\n    public constructor(init?: Partial<ProntoInvoice>) { (Object as any).assign(this, init); }\n}\n(ProntoInvoice as unknown)[immerable] = true;\n\nexport class LocationInfo\n{\n    public id: string|null;\n    public exclude: boolean|null;\n    public cancellationPolicy: string|null;\n    public generalInfo: string|null;\n\n    public constructor(init?: Partial<LocationInfo>) { (Object as any).assign(this, init); }\n}\n(LocationInfo as unknown)[immerable] = true;\n\n// @Flags()\nexport enum ESSocialSignOn\n{\n    Apple = 1,\n    Google = 2,\n    Microsoft = 4,\n    Facebook = 8,\n}\n\nexport class OnlineSettings implements IHasId\n{\n    public id: number|null;\n    public siteTitle: string|null;\n    public showSiteTitle: boolean|null;\n    public title: string|null;\n    public logoUrl: string|null;\n    public appIconUrl: string|null;\n    public skin: string|null;\n    public customColourPrimary: string|null;\n    public customColourSecondary: string|null;\n    public customColourNav: string|null;\n    public customColourNavText: string|null;\n    public message: string|null;\n    public confirmSubject: string|null;\n    public clinicFromEmail: string|null;\n    public clinicNumber: string|null;\n    public minBookingDays: number|null;\n    public maxBookingDays: number|null;\n    public isSiteLive: boolean|null;\n    public registerProvisional: boolean|null;\n    public maxBookings: number|null;\n    public allowClassBooking: boolean|null;\n    public allowRegister: boolean|null;\n    public allowPayAtClinic: boolean|null;\n    public locationInfo: LocationInfo[]|null;\n    public googleTrackingId: string|null;\n    public googleTagManagerContainerId: string|null;\n    public useAllDeliveryMethodsForAccessCode: boolean|null;\n    // @Ignore()\n    public businessId: number|null;\n\n    // @Ignore()\n    public isCustom: boolean|null;\n\n    public classes: boolean|null;\n    public payments: boolean|null;\n    public clinical: boolean|null;\n    public generalInfo: string|null;\n    public cancellationPolicy: string|null;\n    public privacyPolicy: string|null;\n    public termsAndConditions: string|null;\n    public shareCancellationPolicy: boolean|null;\n    public shareGeneralInfo: boolean|null;\n    public url: string|null;\n    public notifyOfAppointments: boolean|null;\n    public unauthenticatedMessage: string|null;\n    public sso: ESSocialSignOn|null;\n\n    public constructor(init?: Partial<OnlineSettings>) { (Object as any).assign(this, init); }\n}\n(OnlineSettings as unknown)[immerable] = true;\n\nexport class ClinicSettings\n{\n    public url: string|null;\n    public shareCancellationPolicy: boolean|null;\n    public shareGeneralInfo: boolean|null;\n    public referrerName: string|null;\n    public receptionName: string|null;\n    public clinicEmail: string|null;\n    public allowClinicProntoEmails: boolean|null;\n    public clinicNumber: string|null;\n    public onlineSettings: OnlineSettings|null;\n    public onlineBookingMinimumDays: number|null;\n    public onlineBookingMaximumDays: number|null;\n    public classOrder: number[]|null;\n    public serviceOrder: string[]|null;\n    public cancellationPolicy: string|null;\n    public generalInfo: string|null;\n    public noAppointmentsFoundText: string|null;\n    public locationInfo: LocationInfo[]|null;\n    public excludeLocations: { [index:string]: string[]; }|null;\n    public excludePractitioners: { [index:string]: string[]; }|null;\n    public excludeSessionIds: { [index:string]: number[]; }|null;\n    public excludeNormalSessionIds: { [index:string]: number[]; }|null;\n    public defaultServices: { [index:string]: string; }|null;\n    public clientId: string|null;\n    public ppsId: string|null;\n    public ppsUserName: string|null;\n    public ppsKey: string|null;\n    public ppsUrl: string|null;\n    public remoteProxyUrl: string|null;\n    public remoteSecret: string|null;\n    public clinicCurrency: string|null;\n\n    public constructor(init?: Partial<ClinicSettings>) { (Object as any).assign(this, init); }\n}\n(ClinicSettings as unknown)[immerable] = true;\n\nexport class GroupLinker\n{\n    public globalId: string|null;\n    public onlineGuid: string|null;\n\n    public constructor(init?: Partial<GroupLinker>) { (Object as any).assign(this, init); }\n}\n(GroupLinker as unknown)[immerable] = true;\n\nexport class StockOverrideDto\n{\n    public stockId: number|null;\n    public locationId: string|null;\n    public locId: number|null;\n    public price: number|null;\n    public priceExVat: number|null;\n    public meta: { [index:string]: string; }|null;\n\n    public constructor(init?: Partial<StockOverrideDto>) { (Object as any).assign(this, init); }\n}\n(StockOverrideDto as unknown)[immerable] = true;\n\nexport class ProntoStockDto\n{\n    public id: string|null;\n    public reference: string|null;\n    public description: string|null;\n    public locationGuid: string|null;\n    public priceExVat: number|null;\n    public vatRate: number|null;\n    public vatAmount: number|null;\n    public totalPrice: number|null;\n    public price: number|null;\n    public colourCss: string|null;\n    public colour: number|null;\n    public onlineGuid: string|null;\n    public appointmentLength: number|null;\n    public consultancyTime: number|null;\n    public overrides: StockOverrideDto[]|null;\n    public ledgerCode: string|null;\n    // @Ignore()\n    public objId: string|null;\n\n    public category: string|null;\n\n    public constructor(init?: Partial<ProntoStockDto>) { (Object as any).assign(this, init); }\n}\n(ProntoStockDto as unknown)[immerable] = true;\n\nexport class AvailabilitySummary\n{\n    public next: string|null;\n    public nextLocations: string[]|null;\n    public otherLocations: string[]|null;\n    public price: number|null;\n\n    public constructor(init?: Partial<AvailabilitySummary>) { (Object as any).assign(this, init); }\n}\n(AvailabilitySummary as unknown)[immerable] = true;\n\nexport class ClinicService\n{\n    public networkServiceId: string|null;\n    public networkId: string|null;\n    public name: string|null;\n    public description: string|null;\n    public discipline: string|null;\n    public colour: string|null;\n    public isOnline: boolean|null;\n    public sortIndex: number|null;\n    public availability: AvailabilitySummary|null;\n    public meta: { [index:string]: string; }|null;\n    public excludeGroups: string[]|null;\n    public excludeLocations: string[]|null;\n    public excludePractitioners: string[]|null;\n    public overrides: { [index:string]: string; }|null;\n    public stockId: string|null;\n    public excludeSessionIds: number[]|null;\n    public excludeNormalSessionIds: number[]|null;\n\n    public constructor(init?: Partial<ClinicService>) { (Object as any).assign(this, init); }\n}\n(ClinicService as unknown)[immerable] = true;\n\nexport class StockResponse\n{\n    public id: number|null;\n    public reference: string|null;\n    public totalPrice: number|null;\n    public description: string|null;\n    public appointmentLength: number|null;\n    public groupLocationLocationId: number|null;\n    public locationId: number|null;\n    public colour: number|null;\n    public online: boolean|null;\n    public onlineGuid: string|null;\n    public inUse: boolean|null;\n    public priceExVAT: number|null;\n    public vatRate: number|null;\n    public vatAmount: number|null;\n    public costAmount: number|null;\n    public costVATRate: number|null;\n    public costExVAT: number|null;\n    public costVATAmount: number|null;\n    public longDescription: string|null;\n    public category: string|null;\n    public ledgerCode: string|null;\n    public level: number|null;\n    public minimumLevel: number|null;\n    public displayInPriceList: boolean|null;\n    public totalWorth: number|null;\n    public supplierId: number|null;\n    public serviceTypeId: number|null;\n    public isPrivateCharge: boolean|null;\n    public stockIsCancel: boolean|null;\n    public stockIsFirst: boolean|null;\n    public stockIsFollowUp: boolean|null;\n    public stockIsDNA: boolean|null;\n    public isMultiple: boolean|null;\n    public groupName: string|null;\n    public isVideo: boolean|null;\n    public managementFee: boolean|null;\n    public cancellationCharge: number|null;\n    public didNotAttendCharge: number|null;\n    public cancellationStockId: number|null;\n    public didNotAttendStockId: number|null;\n    public notes: string|null;\n    public colourCss: string|null;\n    public ccsd: string|null;\n    public iscCodeID: number|null;\n    public classification: string|null;\n    public tags: string[]|null;\n    public specialismId: string|null;\n    public credits: number|null;\n    public eligibleForTaxExemption: boolean|null;\n\n    public constructor(init?: Partial<StockResponse>) { (Object as any).assign(this, init); }\n}\n(StockResponse as unknown)[immerable] = true;\n\nexport class LocationFacilities\n{\n    public allFacilities: string[]|null;\n    public selectedFacilities: string[]|null;\n\n    public constructor(init?: Partial<LocationFacilities>) { (Object as any).assign(this, init); }\n}\n(LocationFacilities as unknown)[immerable] = true;\n\nexport class LocationResponse\n{\n    public id: number|null;\n    public name: string|null;\n    public addressLine1: string|null;\n    public addressLine2: string|null;\n    public addressLine3: string|null;\n    public addressLine4: string|null;\n    public addressLine5: string|null;\n    public postCode: string|null;\n    public fullAddressMultiLine: string|null;\n    public telephone: string|null;\n    public fax: string|null;\n    public email: string|null;\n    public web: string|null;\n    public dnaStockId: number|null;\n    public cancelStockId: number|null;\n    public status: string|null;\n    public directions: string|null;\n    public reminderTemplateEmail_TM3: string|null;\n    public reminderTemplateSMS_TM3: string|null;\n    public onlineGuid: string|null;\n    public facilities: LocationFacilities|null;\n    public isMainLocation: boolean|null;\n    public merchantReference: string|null;\n    public locationLong: number|null;\n    public locationLat: number|null;\n    public trackingCategory: string|null;\n\n    public constructor(init?: Partial<LocationResponse>) { (Object as any).assign(this, init); }\n}\n(LocationResponse as unknown)[immerable] = true;\n\nexport class StockOverrideResponse\n{\n    public id: number|null;\n    public locationId: number|null;\n    public locationGuid: string|null;\n    public stockId: number|null;\n    public stockGuid: string|null;\n    public priceExVAT: number|null;\n    public totalPrice: number|null;\n    public stockLevel: number|null;\n    public stockMinimum: number|null;\n\n    public constructor(init?: Partial<StockOverrideResponse>) { (Object as any).assign(this, init); }\n}\n(StockOverrideResponse as unknown)[immerable] = true;\n\nexport class PackageBundleItemWithQuantity\n{\n    public quantity: number|null;\n    public typeId: number|null;\n    public packageId: string|null;\n\n    public constructor(init?: Partial<PackageBundleItemWithQuantity>) { (Object as any).assign(this, init); }\n}\n(PackageBundleItemWithQuantity as unknown)[immerable] = true;\n\nexport enum AccountingSystemProviderName\n{\n    None = 'None',\n    Xero = 'Xero',\n    Quickbooks = 'Quickbooks',\n    Sage = 'Sage',\n}\n\nexport class AccountingStockLedgerLookup implements IHasId\n{\n    public id: number|null;\n    public stockId: number|null;\n    public systemId: string|null;\n    public systemName: AccountingSystemProviderName|null;\n    public accountingSystemLedgerId: string|null;\n    public accountingSystemLedgerCode: string|null;\n\n    public constructor(init?: Partial<AccountingStockLedgerLookup>) { (Object as any).assign(this, init); }\n}\n(AccountingStockLedgerLookup as unknown)[immerable] = true;\n\nexport class StockWithLocationResponse extends StockResponse\n{\n    public locationName: string|null;\n    public groups: number[]|null;\n    public locations: LocationResponse[]|null;\n    public overrides: StockOverrideResponse[]|null;\n    public packageItems: PackageBundleItemWithQuantity[]|null;\n    public ledgerCodeOverrides: AccountingStockLedgerLookup[]|null;\n    public legderCodeAccountId: string|null;\n    public accountingSystemLedgerCode: string|null;\n\n    public constructor(init?: Partial<StockWithLocationResponse>) { super(init); (Object as any).assign(this, init); }\n}\n(StockWithLocationResponse as unknown)[immerable] = true;\n\n// @Route(\"/all/stock\")\nexport class AllStockRequest extends BaseAdvancedSearchRequest implements IReturn<ResponseBase<StockWithLocationResponse>>\n{\n    public description: string|null;\n    public reference: string|null;\n    public category: string|null;\n    public type: string|null;\n    public private: boolean|null;\n    public status: boolean|null;\n    public amount: CurrencyRange|null;\n    public includeTags: string[]|null;\n    public excludeTags: string[]|null;\n\n    public constructor(init?: Partial<AllStockRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'AllStockRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<StockWithLocationResponse>(); }\n}\n(AllStockRequest as unknown)[immerable] = true;\n\nexport class StockBulkActionBaseRequest extends BulkActionBaseRequest<AllStockRequest>\n{\n\n    public constructor(init?: Partial<StockBulkActionBaseRequest>) { super(init); (Object as any).assign(this, init); }\n}\n(StockBulkActionBaseRequest as unknown)[immerable] = true;\n\nexport class SingleCacheRequest\n{\n    public version: string|null;\n\n    public constructor(init?: Partial<SingleCacheRequest>) { (Object as any).assign(this, init); }\n}\n\nexport class LabelItem\n{\n    public id: string|null;\n    public text: string|null;\n\n    public constructor(init?: Partial<LabelItem>) { (Object as any).assign(this, init); }\n}\n(LabelItem as unknown)[immerable] = true;\n\nexport interface IClientSpecificCacheService\n{\n}\n\nexport interface IClientDbAccess\n{\n    cache: IClientSpecificCacheService|null;\n}\n\nexport class SecurityDto implements ISecurityId, ISecurityType, ISecurityGuid\n{\n    public securityId: number|null;\n    public securityType: string|null;\n    public securityGuid: string|null;\n\n    public constructor(init?: Partial<SecurityDto>) { (Object as any).assign(this, init); }\n}\n(SecurityDto as unknown)[immerable] = true;\n\nexport interface ISecurityLocator\n{\n    securityLocator: Func<Object, IClientDbAccess, SecurityDto>|null;\n}\n\nexport enum TimelineContextObjectType\n{\n    Default = 'Default',\n    Vehicle = 'Vehicle',\n}\n\nexport enum TimelineLinkedObjectType\n{\n    Default = 'Default',\n    Payment = 'Payment',\n    Invoice = 'Invoice',\n    Charge = 'Charge',\n    Appointment = 'Appointment',\n    Class = 'Class',\n    Document = 'Document',\n    Form = 'Form',\n    Download = 'Download',\n    Worksheet = 'Worksheet',\n    Vehicle = 'Vehicle',\n}\n\nexport interface ISecurityGuid\n{\n    securityGuid: string|null;\n}\n\nexport class DynamicLabelRequest\n{\n\n    public constructor(init?: Partial<DynamicLabelRequest>) { (Object as any).assign(this, init); }\n}\n(DynamicLabelRequest as unknown)[immerable] = true;\n\nexport class TaskForUser implements IHasId\n{\n    public id: number|null;\n    public createdDate: string|null;\n    public dueDate: string|null;\n    public description: string|null;\n    public status: string|null;\n    public userId: number|null;\n    public reminder: boolean|null;\n    public priority: boolean|null;\n    public createdUserId: number|null;\n    public dateCompleted: string|null;\n    public patientId: number|null;\n    public private: boolean|null;\n    // @Ignore()\n    public recur: boolean|null;\n\n    // @Ignore()\n    public recurFreq: string|null;\n\n    // @Ignore()\n    public recurDate: string|null;\n\n    public tags: string[]|null;\n\n    public constructor(init?: Partial<TaskForUser>) { (Object as any).assign(this, init); }\n}\n(TaskForUser as unknown)[immerable] = true;\n\nexport class ScoresGoalsSettingsRequest\n{\n    public id: number|null;\n    public type: string|null;\n    public name: string|null;\n    public max: number|null;\n    public min: number|null;\n    public enabled: boolean|null;\n    public inUse: boolean|null;\n\n    public constructor(init?: Partial<ScoresGoalsSettingsRequest>) { (Object as any).assign(this, init); }\n}\n(ScoresGoalsSettingsRequest as unknown)[immerable] = true;\n\nexport enum ReportPatientType\n{\n    AllPatients = 1,\n    GroupPatientsOnly = 2,\n    SelfFunding = 3,\n}\n\nexport enum ReportLocationType\n{\n    AllLocations = 'AllLocations',\n    ActiveAndViewOnly = 'ActiveAndViewOnly',\n    InactiveHidden = 'InactiveHidden',\n}\n\nexport enum ReportPractitionerType\n{\n    Inactive = 'Inactive',\n    ActiveAndPAYG = 'ActiveAndPAYG',\n    AllPractitioners = 'AllPractitioners',\n}\n\nexport class BaseParamsForAllReports implements ILocationIds, ILocationId\n{\n    public displayAll: boolean|null;\n    public skip: number|null;\n    public take: number|null;\n    public requestLocationIds: number[]|null;\n    public locationIds: number[]|null;\n    public practitionerIds: number[]|null;\n    public groupIds: number[]|null;\n    public userId: number|null;\n    public term: string|null;\n    public name: string|null;\n    public date: DateRange|null;\n    public locationId: number|null;\n    public patientType: ReportPatientType|null;\n    public locationType: ReportLocationType|null;\n    public practitionerType: ReportPractitionerType|null;\n\n    public constructor(init?: Partial<BaseParamsForAllReports>) { (Object as any).assign(this, init); }\n}\n(BaseParamsForAllReports as unknown)[immerable] = true;\n\nexport enum InvoiceStatus\n{\n    All = 1,\n    Invoiced = 2,\n    Uninvoiced = 3,\n}\n\nexport enum RemainingAuthorisationOption\n{\n    Both = 'Both',\n    Yes = 'Yes',\n    No = 'No',\n}\n\nexport class DatePart\n{\n    public date: number|null;\n    public month: number|null;\n\n    public constructor(init?: Partial<DatePart>) { (Object as any).assign(this, init); }\n}\n(DatePart as unknown)[immerable] = true;\n\nexport class DatePartRange\n{\n    public from: DatePart|null;\n    public to: DatePart|null;\n\n    public constructor(init?: Partial<DatePartRange>) { (Object as any).assign(this, init); }\n}\n(DatePartRange as unknown)[immerable] = true;\n\nexport class RegistrationRequest\n{\n    public subdomain: string|null;\n    public title: string|null;\n    public forename: string|null;\n    public surname: string|null;\n    public email: string|null;\n    public businessName: string|null;\n    public address: string|null;\n    public town: string|null;\n    public postCode: string|null;\n    public locationId: number|null;\n    public password: string|null;\n    public marketingConsent: boolean|null;\n    public enquirySource: string|null;\n\n    public constructor(init?: Partial<RegistrationRequest>) { (Object as any).assign(this, init); }\n}\n(RegistrationRequest as unknown)[immerable] = true;\n\nexport enum EnquiryType\n{\n    Healthcode = 'Healthcode',\n    Reception = 'Reception',\n}\n\nexport class QuickStartWizardGroupStock\n{\n    public stockId: number|null;\n    public groupStockId: number|null;\n    public hasChanged: boolean|null;\n\n    public constructor(init?: Partial<QuickStartWizardGroupStock>) { (Object as any).assign(this, init); }\n}\n(QuickStartWizardGroupStock as unknown)[immerable] = true;\n\nexport enum TemplatePackOptions\n{\n    None = 'None',\n    Physiotherapy = 'Physiotherapy',\n    Osteopathy = 'Osteopathy',\n    Chiropractic = 'Chiropractic',\n    Podiatry = 'Podiatry',\n}\n\nexport class ClinicServiceSetupDto\n{\n    public networkServiceId: string|null;\n    public networkId: string|null;\n    public name: string|null;\n    public description: string|null;\n    public discipline: string|null;\n    public colour: string|null;\n    public isOnline: boolean|null;\n    // @Ignore()\n    public sortIndex: number|null;\n\n    public meta: { [index:string]: string; }|null;\n    public excludeGroups: string[]|null;\n    public excludeLocations: string[]|null;\n    public excludePractitioners: string[]|null;\n    public overrides: { [index:string]: string; }|null;\n    public stockId: string|null;\n    public stockName: string|null;\n    public stockLength: number|null;\n    public stockPrice: number|null;\n    public existingCharge: number|null;\n    public excludeSessionIds: number[]|null;\n    public excludeNormalSessionIds: number[]|null;\n\n    public constructor(init?: Partial<ClinicServiceSetupDto>) { (Object as any).assign(this, init); }\n}\n(ClinicServiceSetupDto as unknown)[immerable] = true;\n\nexport enum PrescriptionActions\n{\n    draft = 'draft',\n    issueForCollection = 'issueForCollection',\n    issueToContact = 'issueToContact',\n    issueForDelivery = 'issueForDelivery',\n    issueOnly = 'issueOnly',\n    printPrescription = 'printPrescription',\n}\n\nexport class Update\n{\n    public type: string|null;\n    public data: string|null;\n    public local: string|null;\n\n    public constructor(init?: Partial<Update>) { (Object as any).assign(this, init); }\n}\n(Update as unknown)[immerable] = true;\n\n// @Flags()\nexport enum FormStatus\n{\n    Sent = 1,\n    Draft = 2,\n    Submitted = 3,\n    Completed = 4,\n    Cancelled = 5,\n    Declined = 6,\n}\n\nexport enum FileAreaType\n{\n    All = 'All',\n    Customer = 'Customer',\n    Group = 'Group',\n    Case = 'Case',\n    Invoice = 'Invoice',\n    Practitioner = 'Practitioner',\n    MedicalContact = 'MedicalContact',\n    NM_Business = 'NM_Business',\n}\n\nexport enum TimelineType\n{\n    Log = 'Log',\n    Note = 'Note',\n    Alert = 'Alert',\n}\n\nexport class OnlineConsent\n{\n    public emailConsent: boolean|null;\n    public smsConsent: boolean|null;\n    public phoneConsent: boolean|null;\n    public generalConsent: boolean|null;\n    public smsEnabled: boolean|null;\n\n    public constructor(init?: Partial<OnlineConsent>) { (Object as any).assign(this, init); }\n}\n(OnlineConsent as unknown)[immerable] = true;\n\nexport class BatchEmailRequestObject\n{\n    public id: number|null;\n    public template: string|null;\n\n    public constructor(init?: Partial<BatchEmailRequestObject>) { (Object as any).assign(this, init); }\n}\n(BatchEmailRequestObject as unknown)[immerable] = true;\n\nexport class Attachment\n{\n    public name: string|null;\n    public path: string|null;\n    public content: string|null;\n\n    public constructor(init?: Partial<Attachment>) { (Object as any).assign(this, init); }\n}\n(Attachment as unknown)[immerable] = true;\n\nexport class AttachmentGroup\n{\n    public files: Attachment[]|null;\n    public templates: Attachment[]|null;\n    public mergedTemplates: Attachment[]|null;\n\n    public constructor(init?: Partial<AttachmentGroup>) { (Object as any).assign(this, init); }\n}\n(AttachmentGroup as unknown)[immerable] = true;\n\nexport enum BlockTemplateFormat\n{\n    Draft = 'Draft',\n    Block = 'Block',\n}\n\nexport class SystemConfig implements IHasId\n{\n    public id: number|null;\n    public description: string|null;\n    public value: string|null;\n\n    public constructor(init?: Partial<SystemConfig>) { (Object as any).assign(this, init); }\n}\n(SystemConfig as unknown)[immerable] = true;\n\nexport enum FromMode\n{\n    OurNumber = 'OurNumber',\n    TheirNumber = 'TheirNumber',\n    FromText = 'FromText',\n}\n\nexport class CasePrintingItem\n{\n    public id: number|null;\n    public type: string|null;\n\n    public constructor(init?: Partial<CasePrintingItem>) { (Object as any).assign(this, init); }\n}\n(CasePrintingItem as unknown)[immerable] = true;\n\nexport class CaseReport\n{\n    public id: string|null;\n    public rootId: string|null;\n    public templateId: string|null;\n    public bookerId: string|null;\n    public targetId: string|null;\n    public data: string|null;\n    public timeStamp: string|null;\n    public auditId: string|null;\n    public status: number|null;\n    public message: string|null;\n\n    public constructor(init?: Partial<CaseReport>) { (Object as any).assign(this, init); }\n}\n(CaseReport as unknown)[immerable] = true;\n\nexport interface IHasCaseId\n{\n    caseId: number|null;\n}\n\nexport class AutoSaveUpdate\n{\n    public id: number|null;\n    public type: string|null;\n    public local: string|null;\n    public data: { [index:string]: Object; }|null;\n\n    public constructor(init?: Partial<AutoSaveUpdate>) { (Object as any).assign(this, init); }\n}\n(AutoSaveUpdate as unknown)[immerable] = true;\n\nexport class Case implements ICascade, ILocationId, IHasReference, IHasDocuments\n{\n    public id: number|null;\n    public customerId: number|null;\n    public practitionerId: number|null;\n    public createdByUserId: number|null;\n    public dischargedByUserId: number|null;\n    public medicalContactId: number|null;\n    public admissionDate: string|null;\n    public referralReason: string|null;\n    public diagnosis: string|null;\n    public diagnosisKey: string|null;\n    public diagnosisCode: string|null;\n    public dischargeDate: string|null;\n    public patientOutcome: string|null;\n    public practitionerOutcome: string|null;\n    public dischargeStatus: string|null;\n    public numberOfAppointments: number|null;\n    public reference: string|null;\n    public admissionCode: string|null;\n    public reviewDate: string|null;\n    public referralDate: string|null;\n    public bodySite: string|null;\n    public bodySide: string|null;\n    public timePresent: number|null;\n    public timePresentUnit: string|null;\n    public injuryCause: string|null;\n    public preExistingConditions: string|null;\n    public admissionPainScale: number|null;\n    public admissionLetterDate: string|null;\n    public dischargePainScale: number|null;\n    public dischargeLetterDate: string|null;\n    public clinicNotes: string|null;\n    public agreedFunctionalOutcome: string|null;\n    public closed: boolean|null;\n    public closedUser: string|null;\n    public closedDateTime: string|null;\n    public patientType: string|null;\n    public auditUser: string|null;\n    public auditNotes: string|null;\n    public auditDate: string|null;\n    public standardPathwayFollowed: boolean|null;\n    public locationId: number|null;\n    public ofInterest: boolean|null;\n    public firstAppointmentId: number|null;\n    public serviceTypeId: number|null;\n    public linkedCaseId: number|null;\n    public status: number|null;\n    public autoSaved: boolean|null;\n    public data: { [index:string]: Object; }|null;\n    public admissionTemplateId: string|null;\n    public dischargeTemplateId: string|null;\n    public admissionHighlight: { [index:string]: number[]; }|null;\n    public dischargeHighlight: { [index:string]: number[]; }|null;\n    public type: string|null;\n    public bookingAuditId: string|null;\n    public goalOrder: number[]|null;\n    public scoreOrder: number[]|null;\n    public viewed: boolean|null;\n    public documentsLoaded: boolean|null;\n    public consent: boolean|null;\n    public taxExempt: boolean|null;\n    // @Ignore()\n    public documentsSubDirectory: string|null;\n\n    public constructor(init?: Partial<Case>) { (Object as any).assign(this, init); }\n}\n(Case as unknown)[immerable] = true;\n\nexport class Psfs implements IHasId\n{\n    public id: number|null;\n    public caseId: number|null;\n    public activity: string|null;\n    public linkedGoalId: number|null;\n\n    public constructor(init?: Partial<Psfs>) { (Object as any).assign(this, init); }\n}\n(Psfs as unknown)[immerable] = true;\n\nexport class CaseWithCustomerPractitionerLocationDetails extends Case\n{\n    public customerForename: string|null;\n    public customerSurname: string|null;\n    public customerTitle: string|null;\n    public customerHomeTelephone: string|null;\n    public customerWorkTelephone: string|null;\n    public customerMobileTelephone: string|null;\n    public customerEmail: string|null;\n    public customerCategory: string|null;\n    public customerDateOfBirth: string|null;\n    public addressLine1: string|null;\n    public addressLine2: string|null;\n    public addressLine3: string|null;\n    public addressLine4: string|null;\n    public addressLine5: string|null;\n    public postCode: string|null;\n    public location: string|null;\n    public practitionerTitle: string|null;\n    public practitionerForename: string|null;\n    public practitionerSurname: string|null;\n    public practitionerEmail: string|null;\n    public practitionerCode: string|null;\n    public contractNumber: string|null;\n    public regNumber: string|null;\n    // @Ignore()\n    public practitionerName: string|null;\n\n    // @Ignore()\n    public practitionerNameWithAwards: string|null;\n\n    // @Ignore()\n    public createdByName: string|null;\n\n    // @Ignore()\n    public dischargedByName: string|null;\n\n    // @Ignore()\n    public isAudited: boolean|null;\n\n    // @Ignore()\n    public auditUserName: string|null;\n\n    public serviceType: string|null;\n    // @Ignore()\n    public psfs: Psfs[]|null;\n\n    public constructor(init?: Partial<CaseWithCustomerPractitionerLocationDetails>) { super(init); (Object as any).assign(this, init); }\n}\n(CaseWithCustomerPractitionerLocationDetails as unknown)[immerable] = true;\n\nexport class GraphicResult\n{\n    public id: number|null;\n    public caseId: number|null;\n    public date: string|null;\n    public value: string|null;\n\n    public constructor(init?: Partial<GraphicResult>) { (Object as any).assign(this, init); }\n}\n(GraphicResult as unknown)[immerable] = true;\n\nexport class PainAnnotation\n{\n    public id: number|null;\n    public chartId: number|null;\n    public annotation: string|null;\n    public x: number|null;\n    public y: number|null;\n    public rectX: number|null;\n    public rectY: number|null;\n    public title: string|null;\n    public treatmentId: number|null;\n    public point: number|null;\n    public caseId: number|null;\n    public painType: string|null;\n    public dateTime: string|null;\n\n    public constructor(init?: Partial<PainAnnotation>) { (Object as any).assign(this, init); }\n}\n(PainAnnotation as unknown)[immerable] = true;\n\nexport class ImageResult\n{\n    public id: number|null;\n    public caseId: number|null;\n    public date: string|null;\n    public filename: string|null;\n    public type: string|null;\n    public closed: boolean|null;\n    public closedUser: string|null;\n    public closedDateTime: string|null;\n    public annotations: PainAnnotation[]|null;\n\n    public constructor(init?: Partial<ImageResult>) { (Object as any).assign(this, init); }\n}\n(ImageResult as unknown)[immerable] = true;\n\nexport class CaseSummaryResult\n{\n    public id: number|null;\n    public admissionDate: string|null;\n    public reference: string|null;\n    public diagnosis: string|null;\n    public bodySite: string|null;\n    public dischargeDate: string|null;\n    public treatments: number|null;\n\n    public constructor(init?: Partial<CaseSummaryResult>) { (Object as any).assign(this, init); }\n}\n(CaseSummaryResult as unknown)[immerable] = true;\n\nexport enum ConsultationItemType\n{\n    Assessment = 'Assessment',\n    Modality = 'Modality',\n    Goal = 'Goal',\n    Score = 'Score',\n    Image = 'Image',\n}\n\nexport class ConsultationItem implements IHasId, ICascade\n{\n    public id: number|null;\n    public treatmentId: number|null;\n    public type: ConsultationItemType|null;\n    public title: string|null;\n    public data: { [index:string]: Object; }|null;\n    public date: string|null;\n    public templateId: string|null;\n    public highlights: { [index:string]: number[]; }|null;\n\n    public constructor(init?: Partial<ConsultationItem>) { (Object as any).assign(this, init); }\n}\n(ConsultationItem as unknown)[immerable] = true;\n\nexport class PostCloseNotes implements IHasId\n{\n    public id: number|null;\n    public caseId: number|null;\n    public treatmentId: number|null;\n    public userId: number|null;\n    public notes: string|null;\n    public date: string|null;\n    public type: string|null;\n\n    public constructor(init?: Partial<PostCloseNotes>) { (Object as any).assign(this, init); }\n}\n(PostCloseNotes as unknown)[immerable] = true;\n\nexport class PostCloseNotesWithUser extends PostCloseNotes\n{\n    public userName: string|null;\n    public userFullName: string|null;\n\n    public constructor(init?: Partial<PostCloseNotesWithUser>) { super(init); (Object as any).assign(this, init); }\n}\n(PostCloseNotesWithUser as unknown)[immerable] = true;\n\nexport class CaseScoreGoalResponse\n{\n    public id: number|null;\n    public name: string|null;\n\n    public constructor(init?: Partial<CaseScoreGoalResponse>) { (Object as any).assign(this, init); }\n}\n(CaseScoreGoalResponse as unknown)[immerable] = true;\n\nexport class NewPsfs\n{\n    public id: number|null;\n    public activity: string|null;\n    public initialValue: number|null;\n    public linkedGoalId: number|null;\n\n    public constructor(init?: Partial<NewPsfs>) { (Object as any).assign(this, init); }\n}\n(NewPsfs as unknown)[immerable] = true;\n\nexport class TreatmentDetails\n{\n    public id: number|null;\n    public caseId: number|null;\n    public appointmentId: number|null;\n    public dateTime: string|null;\n    public initials: string|null;\n    public notes: string|null;\n    public length: number|null;\n    public assessLength: number|null;\n    public cost: number|null;\n    public locationId: number|null;\n    public practitionerId: number|null;\n    public migrated: boolean|null;\n    public closed: boolean|null;\n    public closedUser: string|null;\n    public closedDate: string|null;\n    public scale: number|null;\n    public measure: string|null;\n    public type: string|null;\n\n    public constructor(init?: Partial<TreatmentDetails>) { (Object as any).assign(this, init); }\n}\n(TreatmentDetails as unknown)[immerable] = true;\n\nexport class DynamicUpdate\n{\n    public id: number|null;\n    public type: string|null;\n    public json: string|null;\n\n    public constructor(init?: Partial<DynamicUpdate>) { (Object as any).assign(this, init); }\n}\n(DynamicUpdate as unknown)[immerable] = true;\n\nexport class ScoreEntryRequest implements ILocationId, ISecurityId\n{\n    public id: number|null;\n    public dateAdded: string|null;\n    public scoreId: number|null;\n    public score: number|null;\n    public locationId: number|null;\n    public caseId: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<ScoreEntryRequest>) { (Object as any).assign(this, init); }\n}\n(ScoreEntryRequest as unknown)[immerable] = true;\n\nexport class ScoreRequest implements ILocationId, ISecurityId\n{\n    public id: number|null;\n    public securityId: number|null;\n    public title: string|null;\n    public dateAdded: string|null;\n    public dateCompleted: string|null;\n    public caseId: number|null;\n    public settingId: number|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<ScoreRequest>) { (Object as any).assign(this, init); }\n}\n(ScoreRequest as unknown)[immerable] = true;\n\nexport class GoalEntryRequest implements ISecurityId\n{\n    public title: string|null;\n    public id: number|null;\n    public notes: string|null;\n    public caseId: number|null;\n    public securityId: number|null;\n    public goalId: number|null;\n    public completionPercentage: number|null;\n    public dateAdded: string|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<GoalEntryRequest>) { (Object as any).assign(this, init); }\n}\n(GoalEntryRequest as unknown)[immerable] = true;\n\nexport class GoalRequest implements ISecurityId\n{\n    public id: number|null;\n    public caseId: number|null;\n    public securityId: number|null;\n    public title: string|null;\n    public averaged: boolean|null;\n    public dateAdded: string|null;\n    public dateCompleted: string|null;\n    public settingId: number|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<GoalRequest>) { (Object as any).assign(this, init); }\n}\n(GoalRequest as unknown)[immerable] = true;\n\nexport class DiaryListResponse implements IHasId\n{\n    public id: number|null;\n    public name: string|null;\n    public startDateTime: string|null;\n    public endDateTime: string|null;\n    public type: string|null;\n    public status: number|null;\n    public practitionerId: number|null;\n    public locationId: number|null;\n    public stockId: number|null;\n    public comment: string|null;\n    public customerId: number|null;\n    public customerReference: string|null;\n    public customerAltRef: string|null;\n    public customerMobileTelephone: string|null;\n    public customerEmail: string|null;\n    public customerSMSEnabled: boolean|null;\n    public customerTitle: string|null;\n    public customerForename: string|null;\n    public customerSurname: string|null;\n    public customerDateOfBirth: string|null;\n    public customerGender: string|null;\n    public insuranceNumber: string|null;\n    public groupReference: string|null;\n    public customerStatus: number|null;\n    public customerRegistrationDate: string|null;\n    public registrationNumber: string|null;\n\n    public constructor(init?: Partial<DiaryListResponse>) { (Object as any).assign(this, init); }\n}\n(DiaryListResponse as unknown)[immerable] = true;\n\nexport class DiaryListRequest extends DiaryListBase implements IReturn<ResponseBase<DiaryListResponse>>\n{\n\n    public constructor(init?: Partial<DiaryListRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'DiaryListRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<DiaryListResponse>(); }\n}\n(DiaryListRequest as unknown)[immerable] = true;\n\nexport class DiaryBulkActionBaseRequest extends BulkActionBaseRequest<DiaryListRequest>\n{\n\n    public constructor(init?: Partial<DiaryBulkActionBaseRequest>) { super(init); (Object as any).assign(this, init); }\n}\n(DiaryBulkActionBaseRequest as unknown)[immerable] = true;\n\n// @Flags()\nexport enum TagActionType\n{\n    AddTag = 0,\n    RemoveTag = 1,\n}\n\nexport class GuardDeleteResponse\n{\n    public cases: number|null;\n    public appointments: number|null;\n    public invoices: number|null;\n    public payments: number|null;\n    public billingItems: number|null;\n    public classes: number|null;\n\n    public constructor(init?: Partial<GuardDeleteResponse>) { (Object as any).assign(this, init); }\n}\n(GuardDeleteResponse as unknown)[immerable] = true;\n\nexport class GeneralCustomerResponse\n{\n    public id: number|null;\n    public reference: string|null;\n    public forename: string|null;\n    public surname: string|null;\n    public title: string|null;\n    public name: string|null;\n    public gender: string|null;\n    public addressLine1: string|null;\n    public addressLine2: string|null;\n    public addressLine3: string|null;\n    public addressLine4: string|null;\n    public addressLine5: string|null;\n    public invoiceAddressLine1: string|null;\n    public invoiceAddressLine2: string|null;\n    public invoiceAddressLine3: string|null;\n    public invoiceAddressLine4: string|null;\n    public invoiceAddressLine5: string|null;\n    public invoicePostCode: string|null;\n    public useInvoiceAddress: boolean|null;\n    public address: string|null;\n    public invoiceAddress: string|null;\n    public groupAddressTo: string|null;\n    public postCode: string|null;\n    public registrationDate: string|null;\n    public homeTelephone: string|null;\n    public workTelephone: string|null;\n    public mobileTelephone: string|null;\n    public taxExempt: boolean|null;\n    public email: string|null;\n    public dateOfBirth: string|null;\n    public locationId: number|null;\n    public groupId: number|null;\n    public locationName: string|null;\n    public practitionerId: number|null;\n    public practitionerEmail: string|null;\n    public practitionerTitle: string|null;\n    public practitionerForename: string|null;\n    public practitionerSurname: string|null;\n    public practitionerName: string|null;\n    public practitionerStatus: number|null;\n    public groupName: string|null;\n    public patientGroup: string|null;\n    public status: string|null;\n    public provisional: boolean|null;\n    public height: number|null;\n    public weight: number|null;\n    public employer: string|null;\n    public niNumber: string|null;\n    public hospitalNumber: string|null;\n    public insuranceNumber: string|null;\n    public alternativeRef1: string|null;\n    public groupReference: string|null;\n    public consent: string|null;\n    public category: string|null;\n    public enquiry: string|null;\n    public invoicePeriod: string|null;\n    public balanceInvoiced: number|null;\n    public balanceOwed: number|null;\n    public billTo: string|null;\n    public online: boolean|null;\n    public smsEnabled: boolean|null;\n    public sarStatus: string|null;\n    public alerts: AlertResponse[]|null;\n    public guardDelete: GuardDeleteResponse[]|null;\n    public givenConsent: boolean|null;\n    public emailConsent: boolean|null;\n    public smsConsent: boolean|null;\n    public phoneConsent: boolean|null;\n    public meta: { [index:string]: Object; }|null;\n    public cardName: string|null;\n    public lastFourDigits: string|null;\n    public brand: string|null;\n    public expiryMonth: number|null;\n    public expiryYear: number|null;\n    public flag: string|null;\n    public irn: string|null;\n    public medicareCardNo: string|null;\n    public dvaNumber: string|null;\n    public accountId: number|null;\n    public accountType: string|null;\n    public tags: string[]|null;\n    public overridePayAtClinic: boolean|null;\n\n    public constructor(init?: Partial<GeneralCustomerResponse>) { (Object as any).assign(this, init); }\n}\n\n// @Route(\"/customers/search\")\nexport class CustomerAdvancedSearchRequest extends BaseAdvancedSearchRequest implements IReturn<ResponseBase<GeneralCustomerResponse>>\n{\n    public name: string|null;\n    public address: string|null;\n    public email: string|null;\n    public phoneNumbers: string|null;\n    public reference: string|null;\n    public status: number|null;\n    public provisional: boolean|null;\n    public gender: string[]|null;\n    public dateOfBirth: DateRange|null;\n    public registrationDate: DateRange|null;\n    public lastAppointmentDate: DateRange|null;\n    public practitionerIds: number[]|null;\n    public includeTags: string[]|null;\n    public excludeTags: string[]|null;\n\n    public constructor(init?: Partial<CustomerAdvancedSearchRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'CustomerAdvancedSearchRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<GeneralCustomerResponse>(); }\n}\n(CustomerAdvancedSearchRequest as unknown)[immerable] = true;\n\nexport class CustomerBulkActionBaseRequest extends BulkActionBaseRequest<CustomerAdvancedSearchRequest>\n{\n\n    public constructor(init?: Partial<CustomerBulkActionBaseRequest>) { super(init); (Object as any).assign(this, init); }\n}\n(CustomerBulkActionBaseRequest as unknown)[immerable] = true;\n\nexport enum AutomationEventEntityType\n{\n    Appointment = 'Appointment',\n    Patient = 'Patient',\n    Invoice = 'Invoice',\n    Case = 'Case',\n    Task = 'Task',\n    ClassAttendance = 'ClassAttendance',\n    Charge = 'Charge',\n    Form = 'Form',\n    Stock = 'Stock',\n    Authorisation = 'Authorisation',\n    Vehicle = 'Vehicle',\n}\n\nexport enum AutomationEventName\n{\n    Booked = 'Booked',\n    Completed = 'Completed',\n    Cancelled = 'Cancelled',\n    DNAed = 'DNAed',\n    Created = 'Created',\n    Updated = 'Updated',\n    Discharged = 'Discharged',\n    Attended = 'Attended',\n    Birthday = 'Birthday',\n    PackageItemsExpiring = 'PackageItemsExpiring',\n    BulkAction = 'BulkAction',\n    Sent = 'Sent',\n    AuthAdded = 'AuthAdded',\n    ExpiringAuth = 'ExpiringAuth',\n    FallsBelowAuthThreshold = 'FallsBelowAuthThreshold',\n    FallsBelowTreatmentThreshold = 'FallsBelowTreatmentThreshold',\n    HasReminder = 'HasReminder',\n    FallsBelowCreditThreshold = 'FallsBelowCreditThreshold',\n}\n\nexport enum AppointmentConditions\n{\n    IsFirstAppointment = 'IsFirstAppointment',\n    IsFirstAppointmentAfterRegistration = 'IsFirstAppointmentAfterRegistration',\n    HasCase = 'HasCase',\n    LinkedToDischargedCase = 'LinkedToDischargedCase',\n    LinkedToUndischargedCase = 'LinkedToUndischargedCase',\n    HasFutureAuthorisations = 'HasFutureAuthorisations',\n    IsLinkedToSpecificGroups = 'IsLinkedToSpecificGroups',\n    IsLinkedToGroupWithClassifications = 'IsLinkedToGroupWithClassifications',\n    IsLinkedToGroup = 'IsLinkedToGroup',\n    AppointmentChargeHasAllTheTags = 'AppointmentChargeHasAllTheTags',\n    AppointmentChargeHasNoneOfTheTags = 'AppointmentChargeHasNoneOfTheTags',\n    AppointmentChargeHasAnyOfTheTags = 'AppointmentChargeHasAnyOfTheTags',\n    HasNoFutureAppointments = 'HasNoFutureAppointments',\n    HasFutureAppointments = 'HasFutureAppointments',\n    IsNotLinkedToGroup = 'IsNotLinkedToGroup',\n    HasBeenRecalled = 'HasBeenRecalled',\n    HasNotBeenRecalled = 'HasNotBeenRecalled',\n    IsAtLocation = 'IsAtLocation',\n}\n\nexport enum TaskConditions\n{\n    HasAllTheTags = 'HasAllTheTags',\n    HasAnyOfTheTags = 'HasAnyOfTheTags',\n    HasNoneOfTheTags = 'HasNoneOfTheTags',\n}\n\nexport enum InvoiceConditions\n{\n    InvoiceHasTheStatus = 'InvoiceHasTheStatus',\n    IsAtLocation = 'IsAtLocation',\n}\n\nexport enum CaseConditions\n{\n    IsDischarged = 'IsDischarged',\n    IsNotDischarged = 'IsNotDischarged',\n}\n\nexport enum CustomerConditions\n{\n    HasNoneOfTheTags = 'HasNoneOfTheTags',\n    HasAnyOfTheTags = 'HasAnyOfTheTags',\n    HasAllTheTags = 'HasAllTheTags',\n    HasTheStatus = 'HasTheStatus',\n    IsLinkedToGroup = 'IsLinkedToGroup',\n    HasNoFutureAppointments = 'HasNoFutureAppointments',\n    HasFutureAppointments = 'HasFutureAppointments',\n    IsLinkedToSpecificGroups = 'IsLinkedToSpecificGroups',\n    IsNotLinkedToGroup = 'IsNotLinkedToGroup',\n    IsLinkedToGroupWithClassifications = 'IsLinkedToGroupWithClassifications',\n    HasFutureAuthorisations = 'HasFutureAuthorisations',\n    HasNoFutureAuthorisations = 'HasNoFutureAuthorisations',\n    HasFutureClasses = 'HasFutureClasses',\n    HasNoFutureClasses = 'HasNoFutureClasses',\n    HasConsentedToEmails = 'HasConsentedToEmails',\n    HasConsentedToTextMessages = 'HasConsentedToTextMessages',\n    HasConsentedToPhoneCalls = 'HasConsentedToPhoneCalls',\n    HasConsentedToTreatment = 'HasConsentedToTreatment',\n    IsAtLocation = 'IsAtLocation',\n    HasSomeCompletedAppointments = 'HasSomeCompletedAppointments',\n    HasAttendedSomeClasses = 'HasAttendedSomeClasses',\n    HasHad = 'HasHad',\n    HasNotHad = 'HasNotHad',\n}\n\nexport enum ClassAttendanceConditions\n{\n    HasAttended = 'HasAttended',\n    HasNotAttended = 'HasNotAttended',\n    HasCancelled = 'HasCancelled',\n    HasNotCancelled = 'HasNotCancelled',\n    HasNotBeenRecalled = 'HasNotBeenRecalled',\n    HasBeenRecalled = 'HasBeenRecalled',\n    IsAtLocation = 'IsAtLocation',\n}\n\nexport enum ChargeConditions\n{\n    IsDiscount = 'IsDiscount',\n    IsWriteOff = 'IsWriteOff',\n    IsCredit = 'IsCredit',\n    IsForPhysicalStock = 'IsForPhysicalStock',\n    IsForConnectPackage = 'IsForConnectPackage',\n    IsASubscription = 'IsASubscription',\n    IsNotASubscription = 'IsNotASubscription',\n    StockItemIs = 'StockItemIs',\n    HasAllTheTags = 'HasAllTheTags',\n    HasAnyOfTheTags = 'HasAnyOfTheTags',\n    HasNoneOfTheTags = 'HasNoneOfTheTags',\n    IsAtLocation = 'IsAtLocation',\n    IsTransfer = 'IsTransfer',\n}\n\nexport enum FormConditions\n{\n    IsComplete = 'IsComplete',\n    IsIncomplete = 'IsIncomplete',\n}\n\nexport enum StockConditions\n{\n    HasAllTheTags = 'HasAllTheTags',\n    HasAnyOfTheTags = 'HasAnyOfTheTags',\n    HasNoneOfTheTags = 'HasNoneOfTheTags',\n}\n\nexport class EventCondition\n{\n    public type: AutomationEventEntityType|null;\n    public appointmentFunction: AppointmentConditions|null;\n    public taskFunction: TaskConditions|null;\n    public invoiceFunction: InvoiceConditions|null;\n    public caseFunction: CaseConditions|null;\n    public patientFunction: CustomerConditions|null;\n    public classattendanceFunction: ClassAttendanceConditions|null;\n    public parameters: { [index:string]: Object; }|null;\n    public chargeFunction: ChargeConditions|null;\n    public formFunction: FormConditions|null;\n    public stockFunction: StockConditions|null;\n\n    public constructor(init?: Partial<EventCondition>) { (Object as any).assign(this, init); }\n}\n(EventCondition as unknown)[immerable] = true;\n\nexport enum EventActionType\n{\n    Task = 'Task',\n    AddTag = 'AddTag',\n    RemoveTag = 'RemoveTag',\n    Email = 'Email',\n    SMS = 'SMS',\n    Form = 'Form',\n    AddTagsFromCharge = 'AddTagsFromCharge',\n    UpdateField = 'UpdateField',\n    Mailchimp = 'Mailchimp',\n}\n\nexport enum TimeUnit\n{\n    Immediate = 'Immediate',\n    Hours = 'Hours',\n    Days = 'Days',\n    Weeks = 'Weeks',\n    Months = 'Months',\n}\n\nexport class FutureDateSpecifier\n{\n    public value: number|null;\n    public unit: TimeUnit|null;\n\n    public constructor(init?: Partial<FutureDateSpecifier>) { (Object as any).assign(this, init); }\n}\n(FutureDateSpecifier as unknown)[immerable] = true;\n\nexport class FutureTimeSpecifier\n{\n    public hour: number|null;\n    public minutes: number|null;\n\n    public constructor(init?: Partial<FutureTimeSpecifier>) { (Object as any).assign(this, init); }\n}\n(FutureTimeSpecifier as unknown)[immerable] = true;\n\nexport enum EEventActionTarget\n{\n    EventLinkedPractitioner = 'EventLinkedPractitioner',\n    Patient = 'Patient',\n    PatientLinkedBusiness = 'PatientLinkedBusiness',\n    PatientLinkedPractitioner = 'PatientLinkedPractitioner',\n    Specified = 'Specified',\n}\n\nexport class EventAction\n{\n    public eventType: AutomationEventEntityType|null;\n    public actionType: EventActionType|null;\n    public due: FutureDateSpecifier|null;\n    public time: FutureTimeSpecifier|null;\n    public conditions: EventCondition[]|null;\n    public template: string|null;\n    public taskDescription: string|null;\n    public tags: string[]|null;\n    public taskDue: FutureDateSpecifier|null;\n    public taskFor: number|null;\n    public taskPriority: boolean|null;\n    public taskReminder: boolean|null;\n    public taskStatus: string|null;\n    public formTemplateId: string|null;\n    public customMessage: string|null;\n    public audienceId: string|null;\n    public target: EEventActionTarget|null;\n    public emailAddress: string|null;\n\n    public constructor(init?: Partial<EventAction>) { (Object as any).assign(this, init); }\n}\n(EventAction as unknown)[immerable] = true;\n\nexport class AutomationEvent implements IHasGuidId\n{\n    public id: string|null;\n    public type: AutomationEventEntityType|null;\n    public eventName: AutomationEventName|null;\n    public name: string|null;\n    public description: string|null;\n    public isActive: boolean|null;\n    public isArchived: boolean|null;\n    public conditions: EventCondition[]|null;\n    public actions: EventAction[]|null;\n    public isBulkAction: boolean|null;\n    public createdDate: string|null;\n    public lookupValue: string|null;\n    public beforeDays: number|null;\n\n    public constructor(init?: Partial<AutomationEvent>) { (Object as any).assign(this, init); }\n}\n(AutomationEvent as unknown)[immerable] = true;\n\nexport interface IHasGuidId extends IHasIdMarker\n{\n    id: string|null;\n}\n\nexport enum TagEntityType\n{\n    General = 'General',\n    Patient = 'Patient',\n    Stock = 'Stock',\n}\n\nexport class Tag implements IHasGuidId\n{\n    public id: string|null;\n    public name: string|null;\n    public type: TagEntityType|null;\n    public colour: string|null;\n    public isActive: boolean|null;\n    public isInverted: boolean|null;\n    public showInLists: boolean|null;\n\n    public constructor(init?: Partial<Tag>) { (Object as any).assign(this, init); }\n}\n(Tag as unknown)[immerable] = true;\n\nexport class AssertionResponse\n{\n    public authenticatorData: string|null;\n    public signature: string|null;\n    public clientDataJson: string|null;\n    public userHandle: string|null;\n\n    public constructor(init?: Partial<AssertionResponse>) { (Object as any).assign(this, init); }\n}\n\nexport enum PublicKeyCredentialType\n{\n    PublicKey = 'public-key',\n}\n\nexport class AuthenticationExtensionsClientOutputs\n{\n    public appID: boolean|null;\n    public authenticatorSelection: boolean|null;\n\n    public constructor(init?: Partial<AuthenticationExtensionsClientOutputs>) { (Object as any).assign(this, init); }\n}\n(AuthenticationExtensionsClientOutputs as unknown)[immerable] = true;\n\nexport class ResponseData\n{\n    public attestationObject: string|null;\n    public clientDataJson: string|null;\n\n    public constructor(init?: Partial<ResponseData>) { (Object as any).assign(this, init); }\n}\n\nexport class AssignedCustomAttributeDto\n{\n    public id: string|null;\n    public objectId: number|null;\n    public objectType: string|null;\n    public customAttributeType: string|null;\n    public customAttributeId: string|null;\n    public objectGuid: string|null;\n    public name: string|null;\n\n    public constructor(init?: Partial<AssignedCustomAttributeDto>) { (Object as any).assign(this, init); }\n}\n(AssignedCustomAttributeDto as unknown)[immerable] = true;\n\nexport enum AccessMode\n{\n    Private = 'Private',\n    ViewOnly = 'ViewOnly',\n    FullAccess = 'FullAccess',\n}\n\nexport enum DefaultStockTypes\n{\n    First = 'First',\n    FollowUp = 'FollowUp',\n    Dna = 'Dna',\n    Cancel = 'Cancel',\n    Unknown = 'Unknown',\n}\n\nexport class TreatmentAuthResponse\n{\n    public id: number|null;\n    public authCode: string|null;\n    public expired: string|null;\n    public isExpired: boolean|null;\n    public maxTreatments: number|null;\n    public maxValue: number|null;\n    public expiryDate: string|null;\n    public usedTreatments: number|null;\n    public usedValue: number|null;\n    public usedFor: string|null;\n    public startDate: string|null;\n    public groupId: number|null;\n    public caseId: number|null;\n    public customerId: number|null;\n    public contactId: number|null;\n    public valueRemaining: number|null;\n    public appointmentsRemaining: number|null;\n    public bodySite: string|null;\n    public groupName: string|null;\n    public serviceType: string|null;\n    public serviceTypeId: number|null;\n    public prontoBookingAuditId: string|null;\n    public authCodeCustomerReference: string|null;\n\n    public constructor(init?: Partial<TreatmentAuthResponse>) { (Object as any).assign(this, init); }\n}\n(TreatmentAuthResponse as unknown)[immerable] = true;\n\nexport enum PrepaymentType\n{\n    PayLater = 'PayLater',\n    Autopay = 'Autopay',\n}\n\nexport interface IAlertRequest\n{\n}\n\nexport class IdDescriminatorType\n{\n    public objectId: number|null;\n    public descriminatorType: string|null;\n\n    public constructor(init?: Partial<IdDescriminatorType>) { (Object as any).assign(this, init); }\n}\n(IdDescriminatorType as unknown)[immerable] = true;\n\nexport enum SearchModuleEntityType\n{\n    Audit = 'Audit',\n    AutomationRules = 'AutomationRules',\n    Business = 'Business',\n    Case = 'Case',\n    Charge = 'Charge',\n    Debtor = 'Debtor',\n    Diary = 'Diary',\n    Expenditure = 'Expenditure',\n    GdsEstimate = 'GdsEstimate',\n    Invoice = 'Invoice',\n    JobSheet = 'JobSheet',\n    Patient = 'Patient',\n    Location = 'Location',\n    MedicalContact = 'MedicalContact',\n    Payment = 'Payment',\n    Practitioner = 'Practitioner',\n    Room = 'Room',\n    RpReferrals = 'RpReferrals',\n    RpReferralsAction = 'RpReferralsAction',\n    RpFiles = 'RpFiles',\n    Supplier = 'Supplier',\n    Subscription = 'Subscription',\n    RpUser = 'RpUser',\n    Stock = 'Stock',\n    Timeline = 'Timeline',\n    User = 'User',\n    Vehicle = 'Vehicle',\n}\n\nexport class SearchFilter implements IHasGuidId\n{\n    public id: string|null;\n    public filterModule: SearchModuleEntityType|null;\n    public filterName: string|null;\n    public filterDescription: string|null;\n    public isActive: boolean|null;\n    public filterConditions: string|null;\n    // @Ignore()\n    public parsedFilterConditions: SearchFilterCondition[]|null;\n\n    public constructor(init?: Partial<SearchFilter>) { (Object as any).assign(this, init); }\n}\n(SearchFilter as unknown)[immerable] = true;\n\nexport class LedgerAccountInfo\n{\n    public id: string|null;\n    public accountName: string|null;\n    public code: string|null;\n    public type: string|null;\n    public override: boolean|null;\n\n    public constructor(init?: Partial<LedgerAccountInfo>) { (Object as any).assign(this, init); }\n}\n(LedgerAccountInfo as unknown)[immerable] = true;\n\nexport enum LedgerCodeCategory\n{\n    DefaultSales = 'DefaultSales',\n    DefaultIncome = 'DefaultIncome',\n    Stock = 'Stock',\n    Consultation = 'Consultation',\n    Class = 'Class',\n    Package = 'Package',\n    CreditNote = 'CreditNote',\n    WriteOff = 'WriteOff',\n    Discount = 'Discount',\n    Transfer = 'Transfer',\n    Cancellation = 'Cancellation',\n    Dna = 'Dna',\n}\n\nexport class LedgerAccountInfoWithCategory extends LedgerAccountInfo\n{\n    public ledgerCategory: LedgerCodeCategory|null;\n\n    public constructor(init?: Partial<LedgerAccountInfoWithCategory>) { super(init); (Object as any).assign(this, init); }\n}\n(LedgerAccountInfoWithCategory as unknown)[immerable] = true;\n\nexport class TaxRateInfo\n{\n    public id: string|null;\n    public name: string|null;\n    public code: string|null;\n    public totalTaxRate: number|null;\n\n    public constructor(init?: Partial<TaxRateInfo>) { (Object as any).assign(this, init); }\n}\n(TaxRateInfo as unknown)[immerable] = true;\n\nexport enum TaxRateCategory\n{\n    Taxable = 'Taxable',\n    NonTaxable = 'NonTaxable',\n}\n\nexport class TaxRateInfoWithCategory extends TaxRateInfo\n{\n    public taxCategory: TaxRateCategory|null;\n\n    public constructor(init?: Partial<TaxRateInfoWithCategory>) { super(init); (Object as any).assign(this, init); }\n}\n(TaxRateInfoWithCategory as unknown)[immerable] = true;\n\nexport class AccountingSettingInfo\n{\n    public tenantId: string|null;\n    public status: string|null;\n    public systemName: AccountingSystemProviderName|null;\n    public serviceId: string|null;\n    public salesLedgerCodeId: string|null;\n    public incomeLedgerCodeId: string|null;\n    public nonTaxableRateId: string|null;\n    public taxableRateId: string|null;\n    public appointmentItemsLedgerCodeId: string|null;\n    public classItemsLedgerCodeId: string|null;\n    public packageItemsLedgerCodeId: string|null;\n    public stockItemsLedgerCodeId: string|null;\n    public discountItemsLedgerCodeId: string|null;\n    public creditItemsLedgerCodeId: string|null;\n    public transferItemsLedgerCodeId: string|null;\n    public writeoffItemsLedgerCodeId: string|null;\n    public cancellationItemsLedgerCodeId: string|null;\n    public dnaItemsLedgerCodeId: string|null;\n    public syncStartDate: string|null;\n    public deactivationDate: string|null;\n    public setupComplete: boolean|null;\n    public deactivated: boolean|null;\n    public ledgerAccountInfos: LedgerAccountInfoWithCategory[]|null;\n    public taxRateInfos: TaxRateInfoWithCategory[]|null;\n    public activationHistory: string[]|null;\n\n    public constructor(init?: Partial<AccountingSettingInfo>) { (Object as any).assign(this, init); }\n}\n(AccountingSettingInfo as unknown)[immerable] = true;\n\nexport enum SubscriptionStatus\n{\n    Active = 1,\n    Cancelled = 2,\n    Expired = 3,\n    Removed = 4,\n}\n\nexport enum SubscriptionBillingMode\n{\n    Now = 'Now',\n    Later = 'Later',\n}\n\nexport enum SubscriptionPaymentMode\n{\n    Now = 'Now',\n    Later = 'Later',\n}\n\nexport enum SubscriptionPaymentMethod\n{\n    Cash = 'Cash',\n    ExistingCard = 'ExistingCard',\n    Other = 'Other',\n    SynchronousTempCardOnly = 'SynchronousTempCardOnly',\n    SquareTerminal = 'SquareTerminal',\n}\n\nexport enum SubscriptionRecurrenceInterval\n{\n    Day = 'Day',\n    Week = 'Week',\n    Fortnight = 'Fortnight',\n    Month = 'Month',\n    Quarter = 'Quarter',\n    Year = 'Year',\n}\n\nexport class PackageBundleItemResponse\n{\n    public id: string|null;\n    public bundleId: string|null;\n    public type: PackageBundleItemType|null;\n    public typeId: number|null;\n    public description: string|null;\n\n    public constructor(init?: Partial<PackageBundleItemResponse>) { (Object as any).assign(this, init); }\n}\n(PackageBundleItemResponse as unknown)[immerable] = true;\n\nexport class PackageBundleResponse\n{\n    public id: string|null;\n    public quantity: number|null;\n    public type: PackageBundleItemType|null;\n    public items: PackageBundleItemResponse[]|null;\n    public packageId: string|null;\n\n    public constructor(init?: Partial<PackageBundleResponse>) { (Object as any).assign(this, init); }\n}\n(PackageBundleResponse as unknown)[immerable] = true;\n\n// @Flags()\nexport enum PackageType\n{\n    ITEM = 0,\n    CREDIT = 1,\n}\n\nexport enum WaitListGender\n{\n    Unspecified = 'Unspecified',\n    Male = 'Male',\n    Female = 'Female',\n    Specified = 'Specified',\n}\n\nexport enum TimeOfDay\n{\n    AnyTime = 'AnyTime',\n    Morning = 'Morning',\n    Afternoon = 'Afternoon',\n    Evening = 'Evening',\n    Custom = 'Custom',\n}\n\nexport enum WaitingListType\n{\n    Appointment = 'Appointment',\n    Class = 'Class',\n    Course = 'Course',\n}\n\nexport enum LocationType\n{\n    Any = 'Any',\n    Specific = 'Specific',\n}\n\nexport enum WaitingListUrgency\n{\n    Normal = 'Normal',\n    High = 'High',\n}\n\nexport enum WaitingListStatus\n{\n    Waiting = 'Waiting',\n    AwaitingConfirmation = 'AwaitingConfirmation',\n    Booked = 'Booked',\n    Declined = 'Declined',\n    Expired = 'Expired',\n}\n\nexport enum WaitingListSubStatus\n{\n    Awaiting = 'Awaiting',\n    Confirmed = 'Confirmed',\n    Declined = 'Declined',\n    DidNotRespond = 'DidNotRespond',\n    RespondedButNotBooked = 'RespondedButNotBooked',\n}\n\nexport enum WaitingListNotificationType\n{\n    KeepNotifying = 'KeepNotifying',\n    Pause = 'Pause',\n    Remove = 'Remove',\n}\n\nexport enum WaitingListBookingType\n{\n    TM3 = 'TM3',\n    ONLINE = 'ONLINE',\n}\n\nexport class Qualification\n{\n    public id: string|null;\n    public isSet: boolean|null;\n    public name: string|null;\n    public body: string|null;\n    public expiryDate: string|null;\n    public startDate: string|null;\n\n    public constructor(init?: Partial<Qualification>) { (Object as any).assign(this, init); }\n}\n(Qualification as unknown)[immerable] = true;\n\nexport class AppointmentPractitionerObject\n{\n    public title: string|null;\n    public forename: string|null;\n    public surname: string|null;\n    public gender: string|null;\n    public id: string|null;\n    public practitionerId: number|null;\n    public name: string|null;\n    public shortName: string|null;\n    public qualifications: Qualification[]|null;\n\n    public constructor(init?: Partial<AppointmentPractitionerObject>) { (Object as any).assign(this, init); }\n}\n(AppointmentPractitionerObject as unknown)[immerable] = true;\n\nexport class AppointmentLocationObject\n{\n    public name: string|null;\n    public id: string|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<AppointmentLocationObject>) { (Object as any).assign(this, init); }\n}\n(AppointmentLocationObject as unknown)[immerable] = true;\n\nexport class AppointmentRoomObject\n{\n    public id: number|null;\n\n    public constructor(init?: Partial<AppointmentRoomObject>) { (Object as any).assign(this, init); }\n}\n(AppointmentRoomObject as unknown)[immerable] = true;\n\nexport enum AppointmentType\n{\n    Pronto = 'Pronto',\n    Internal = 'Internal',\n}\n\nexport class AppointmentSearchResult\n{\n    public price: number|null;\n    public priceExVat: number|null;\n    public creditValue: number|null;\n    public vatRate: number|null;\n    public bookingMethod: string|null;\n    public startDateTime: string|null;\n    public endDateTime: string|null;\n    public practitioner: AppointmentPractitionerObject|null;\n    public location: AppointmentLocationObject|null;\n    public room: AppointmentRoomObject|null;\n    public patientId: string|null;\n    public stockId: string|null;\n    public networkId: string|null;\n    public serviceId: string|null;\n    public serviceTypeId: number|null;\n    public appointmentType: AppointmentType|null;\n    public returnAppointmentTimesAsUnspecified: boolean|null;\n    public isFollowUp: boolean|null;\n\n    public constructor(init?: Partial<AppointmentSearchResult>) { (Object as any).assign(this, init); }\n}\n(AppointmentSearchResult as unknown)[immerable] = true;\n\nexport enum PaymentMode\n{\n    Credit = 1,\n    Card = 2,\n    SubscriptionPackage = 3,\n    Clinic = 4,\n    PrePaid = 5,\n    FutureCredit = 6,\n    CreditBasedPackage = 7,\n}\n\nexport class CustomerCardDemographics\n{\n    public name: string|null;\n    public addressLine1: string|null;\n    public addressLine2: string|null;\n    public addressLine3: string|null;\n    public addressLine4: string|null;\n    public addressLine5: string|null;\n    public postCode: string|null;\n\n    public constructor(init?: Partial<CustomerCardDemographics>) { (Object as any).assign(this, init); }\n}\n(CustomerCardDemographics as unknown)[immerable] = true;\n\nexport class TakePaymentRequest\n{\n    public provider: PaymentProviderName|null;\n    public data: { [index:string]: string; }|null;\n    public saveCard: boolean|null;\n    public useSavedCard: boolean|null;\n    public customerDetails: CustomerCardDemographics|null;\n\n    public constructor(init?: Partial<TakePaymentRequest>) { (Object as any).assign(this, init); }\n}\n(TakePaymentRequest as unknown)[immerable] = true;\n\nexport class OnlineGroupDto\n{\n    public id: number|null;\n    public name: string|null;\n\n    public constructor(init?: Partial<OnlineGroupDto>) { (Object as any).assign(this, init); }\n}\n(OnlineGroupDto as unknown)[immerable] = true;\n\nexport class CardDetails\n{\n    public brand: string|null;\n    public elementType: string|null;\n    public cardName: string|null;\n    public expiryMonth: number|null;\n    public expiryYear: number|null;\n    public lastFourDigits: string|null;\n\n    public constructor(init?: Partial<CardDetails>) { (Object as any).assign(this, init); }\n}\n(CardDetails as unknown)[immerable] = true;\n\nexport class MsContact\n{\n    public name: string|null;\n    public email: string|null;\n\n    public constructor(init?: Partial<MsContact>) { (Object as any).assign(this, init); }\n}\n(MsContact as unknown)[immerable] = true;\n\nexport class StripeEntity implements IStripeEntity\n{\n\n    public constructor(init?: Partial<StripeEntity>) { (Object as any).assign(this, init); }\n}\n\nexport class StripeEntity_1<T> extends StripeEntity\n{\n\n    public constructor(init?: Partial<StripeEntity_1<T>>) { super(init); (Object as any).assign(this, init); }\n}\n\nexport class PaymentMethodAcssDebit extends StripeEntity_1<PaymentMethodAcssDebit>\n{\n    public bankName: string|null;\n    public fingerprint: string|null;\n    public institutionNumber: string|null;\n    public last4: string|null;\n    public transitNumber: string|null;\n\n    public constructor(init?: Partial<PaymentMethodAcssDebit>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodAcssDebit as unknown)[immerable] = true;\n\nexport class PaymentMethodAffirm extends StripeEntity_1<PaymentMethodAffirm>\n{\n\n    public constructor(init?: Partial<PaymentMethodAffirm>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodAffirm as unknown)[immerable] = true;\n\nexport class PaymentMethodAfterpayClearpay extends StripeEntity_1<PaymentMethodAfterpayClearpay>\n{\n\n    public constructor(init?: Partial<PaymentMethodAfterpayClearpay>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodAfterpayClearpay as unknown)[immerable] = true;\n\nexport class PaymentMethodAlipay extends StripeEntity_1<PaymentMethodAlipay>\n{\n\n    public constructor(init?: Partial<PaymentMethodAlipay>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodAlipay as unknown)[immerable] = true;\n\nexport class PaymentMethodAlma extends StripeEntity_1<PaymentMethodAlma>\n{\n\n    public constructor(init?: Partial<PaymentMethodAlma>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodAlma as unknown)[immerable] = true;\n\nexport class PaymentMethodAmazonPay extends StripeEntity_1<PaymentMethodAmazonPay>\n{\n\n    public constructor(init?: Partial<PaymentMethodAmazonPay>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodAmazonPay as unknown)[immerable] = true;\n\nexport class PaymentMethodAuBecsDebit extends StripeEntity_1<PaymentMethodAuBecsDebit>\n{\n    public bsbNumber: string|null;\n    public fingerprint: string|null;\n    public last4: string|null;\n\n    public constructor(init?: Partial<PaymentMethodAuBecsDebit>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodAuBecsDebit as unknown)[immerable] = true;\n\nexport class PaymentMethodBacsDebit extends StripeEntity_1<PaymentMethodBacsDebit>\n{\n    public fingerprint: string|null;\n    public last4: string|null;\n    public sortCode: string|null;\n\n    public constructor(init?: Partial<PaymentMethodBacsDebit>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodBacsDebit as unknown)[immerable] = true;\n\nexport class PaymentMethodBancontact extends StripeEntity_1<PaymentMethodBancontact>\n{\n\n    public constructor(init?: Partial<PaymentMethodBancontact>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodBancontact as unknown)[immerable] = true;\n\nexport class Address extends StripeEntity_1<Address>\n{\n    public city: string|null;\n    public country: string|null;\n    public line1: string|null;\n    public line2: string|null;\n    public postalCode: string|null;\n    public state: string|null;\n\n    public constructor(init?: Partial<Address>) { super(init); (Object as any).assign(this, init); }\n}\n(Address as unknown)[immerable] = true;\n\nexport class PaymentMethodBillingDetails extends StripeEntity_1<PaymentMethodBillingDetails>\n{\n    public address: Address|null;\n    public email: string|null;\n    public name: string|null;\n    public phone: string|null;\n\n    public constructor(init?: Partial<PaymentMethodBillingDetails>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodBillingDetails as unknown)[immerable] = true;\n\nexport class PaymentMethodBlik extends StripeEntity_1<PaymentMethodBlik>\n{\n\n    public constructor(init?: Partial<PaymentMethodBlik>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodBlik as unknown)[immerable] = true;\n\nexport class PaymentMethodBoleto extends StripeEntity_1<PaymentMethodBoleto>\n{\n    public taxId: string|null;\n\n    public constructor(init?: Partial<PaymentMethodBoleto>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodBoleto as unknown)[immerable] = true;\n\nexport class PaymentMethodCardChecks extends StripeEntity_1<PaymentMethodCardChecks>\n{\n    public addressLine1Check: string|null;\n    public addressPostalCodeCheck: string|null;\n    public cvcCheck: string|null;\n\n    public constructor(init?: Partial<PaymentMethodCardChecks>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodCardChecks as unknown)[immerable] = true;\n\nexport class PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresentOffline extends StripeEntity_1<PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresentOffline>\n{\n    public storedAt: string|null;\n    public type: string|null;\n\n    public constructor(init?: Partial<PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresentOffline>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresentOffline as unknown)[immerable] = true;\n\nexport class PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresentReceipt extends StripeEntity_1<PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresentReceipt>\n{\n    public accountType: string|null;\n    public applicationCryptogram: string|null;\n    public applicationPreferredName: string|null;\n    public authorizationCode: string|null;\n    public authorizationResponseCode: string|null;\n    public cardholderVerificationMethod: string|null;\n    public dedicatedFileName: string|null;\n    public terminalVerificationResults: string|null;\n    public transactionStatusInformation: string|null;\n\n    public constructor(init?: Partial<PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresentReceipt>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresentReceipt as unknown)[immerable] = true;\n\nexport class PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresentWallet extends StripeEntity_1<PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresentWallet>\n{\n    public type: string|null;\n\n    public constructor(init?: Partial<PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresentWallet>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresentWallet as unknown)[immerable] = true;\n\nexport class PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresent extends StripeEntity_1<PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresent>\n{\n    public amountAuthorized: number|null;\n    public brand: string|null;\n    public brandProduct: string|null;\n    public captureBefore: string|null;\n    public cardholderName: string|null;\n    public country: string|null;\n    public description: string|null;\n    public emvAuthData: string|null;\n    public expMonth: number|null;\n    public expYear: number|null;\n    public fingerprint: string|null;\n    public funding: string|null;\n    public generatedCard: string|null;\n    public iin: string|null;\n    public incrementalAuthorizationSupported: boolean|null;\n    public issuer: string|null;\n    public last4: string|null;\n    public network: string|null;\n    public networkTransactionId: string|null;\n    public offline: PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresentOffline|null;\n    public overcaptureSupported: boolean|null;\n    public preferredLocales: string[]|null;\n    public readMethod: string|null;\n    public receipt: PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresentReceipt|null;\n    public wallet: PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresentWallet|null;\n\n    public constructor(init?: Partial<PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresent>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresent as unknown)[immerable] = true;\n\nexport class PaymentMethodCardGeneratedFromPaymentMethodDetails extends StripeEntity_1<PaymentMethodCardGeneratedFromPaymentMethodDetails>\n{\n    public cardPresent: PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresent|null;\n    public type: string|null;\n\n    public constructor(init?: Partial<PaymentMethodCardGeneratedFromPaymentMethodDetails>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodCardGeneratedFromPaymentMethodDetails as unknown)[immerable] = true;\n\nexport class PaymentMethodCardGeneratedFrom extends StripeEntity_1<PaymentMethodCardGeneratedFrom>\n{\n    public charge: string|null;\n    public paymentMethodDetails: PaymentMethodCardGeneratedFromPaymentMethodDetails|null;\n\n    public constructor(init?: Partial<PaymentMethodCardGeneratedFrom>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodCardGeneratedFrom as unknown)[immerable] = true;\n\nexport class PaymentMethodCardNetworks extends StripeEntity_1<PaymentMethodCardNetworks>\n{\n    public available: string[]|null;\n    public preferred: string|null;\n\n    public constructor(init?: Partial<PaymentMethodCardNetworks>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodCardNetworks as unknown)[immerable] = true;\n\nexport class PaymentMethodCardThreeDSecureUsage extends StripeEntity_1<PaymentMethodCardThreeDSecureUsage>\n{\n    public supported: boolean|null;\n\n    public constructor(init?: Partial<PaymentMethodCardThreeDSecureUsage>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodCardThreeDSecureUsage as unknown)[immerable] = true;\n\nexport class PaymentMethodCardWalletAmexExpressCheckout extends StripeEntity_1<PaymentMethodCardWalletAmexExpressCheckout>\n{\n\n    public constructor(init?: Partial<PaymentMethodCardWalletAmexExpressCheckout>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodCardWalletAmexExpressCheckout as unknown)[immerable] = true;\n\nexport class PaymentMethodCardWalletApplePay extends StripeEntity_1<PaymentMethodCardWalletApplePay>\n{\n\n    public constructor(init?: Partial<PaymentMethodCardWalletApplePay>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodCardWalletApplePay as unknown)[immerable] = true;\n\nexport class PaymentMethodCardWalletGooglePay extends StripeEntity_1<PaymentMethodCardWalletGooglePay>\n{\n\n    public constructor(init?: Partial<PaymentMethodCardWalletGooglePay>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodCardWalletGooglePay as unknown)[immerable] = true;\n\nexport class PaymentMethodCardWalletLink extends StripeEntity_1<PaymentMethodCardWalletLink>\n{\n\n    public constructor(init?: Partial<PaymentMethodCardWalletLink>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodCardWalletLink as unknown)[immerable] = true;\n\nexport class PaymentMethodCardWalletMasterpass extends StripeEntity_1<PaymentMethodCardWalletMasterpass>\n{\n    public billingAddress: Address|null;\n    public email: string|null;\n    public name: string|null;\n    public shippingAddress: Address|null;\n\n    public constructor(init?: Partial<PaymentMethodCardWalletMasterpass>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodCardWalletMasterpass as unknown)[immerable] = true;\n\nexport class PaymentMethodCardWalletSamsungPay extends StripeEntity_1<PaymentMethodCardWalletSamsungPay>\n{\n\n    public constructor(init?: Partial<PaymentMethodCardWalletSamsungPay>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodCardWalletSamsungPay as unknown)[immerable] = true;\n\nexport class PaymentMethodCardWalletVisaCheckout extends StripeEntity_1<PaymentMethodCardWalletVisaCheckout>\n{\n    public billingAddress: Address|null;\n    public email: string|null;\n    public name: string|null;\n    public shippingAddress: Address|null;\n\n    public constructor(init?: Partial<PaymentMethodCardWalletVisaCheckout>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodCardWalletVisaCheckout as unknown)[immerable] = true;\n\nexport class PaymentMethodCardWallet extends StripeEntity_1<PaymentMethodCardWallet>\n{\n    public amexExpressCheckout: PaymentMethodCardWalletAmexExpressCheckout|null;\n    public applePay: PaymentMethodCardWalletApplePay|null;\n    public dynamicLast4: string|null;\n    public googlePay: PaymentMethodCardWalletGooglePay|null;\n    public link: PaymentMethodCardWalletLink|null;\n    public masterpass: PaymentMethodCardWalletMasterpass|null;\n    public samsungPay: PaymentMethodCardWalletSamsungPay|null;\n    public type: string|null;\n    public visaCheckout: PaymentMethodCardWalletVisaCheckout|null;\n\n    public constructor(init?: Partial<PaymentMethodCardWallet>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodCardWallet as unknown)[immerable] = true;\n\nexport class PaymentMethodCard extends StripeEntity_1<PaymentMethodCard>\n{\n    public brand: string|null;\n    public checks: PaymentMethodCardChecks|null;\n    public country: string|null;\n    public description: string|null;\n    public displayBrand: string|null;\n    public expMonth: number|null;\n    public expYear: number|null;\n    public fingerprint: string|null;\n    public funding: string|null;\n    public generatedFrom: PaymentMethodCardGeneratedFrom|null;\n    public iin: string|null;\n    public issuer: string|null;\n    public last4: string|null;\n    public networks: PaymentMethodCardNetworks|null;\n    public regulatedStatus: string|null;\n    public threeDSecureUsage: PaymentMethodCardThreeDSecureUsage|null;\n    public wallet: PaymentMethodCardWallet|null;\n\n    public constructor(init?: Partial<PaymentMethodCard>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodCard as unknown)[immerable] = true;\n\nexport class PaymentMethodCardPresentNetworks extends StripeEntity_1<PaymentMethodCardPresentNetworks>\n{\n    public available: string[]|null;\n    public preferred: string|null;\n\n    public constructor(init?: Partial<PaymentMethodCardPresentNetworks>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodCardPresentNetworks as unknown)[immerable] = true;\n\nexport class PaymentMethodCardPresentOffline extends StripeEntity_1<PaymentMethodCardPresentOffline>\n{\n    public storedAt: string|null;\n    public type: string|null;\n\n    public constructor(init?: Partial<PaymentMethodCardPresentOffline>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodCardPresentOffline as unknown)[immerable] = true;\n\nexport class PaymentMethodCardPresentWallet extends StripeEntity_1<PaymentMethodCardPresentWallet>\n{\n    public type: string|null;\n\n    public constructor(init?: Partial<PaymentMethodCardPresentWallet>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodCardPresentWallet as unknown)[immerable] = true;\n\nexport class PaymentMethodCardPresent extends StripeEntity_1<PaymentMethodCardPresent>\n{\n    public brand: string|null;\n    public brandProduct: string|null;\n    public cardholderName: string|null;\n    public country: string|null;\n    public description: string|null;\n    public expMonth: number|null;\n    public expYear: number|null;\n    public fingerprint: string|null;\n    public funding: string|null;\n    public iin: string|null;\n    public issuer: string|null;\n    public last4: string|null;\n    public networks: PaymentMethodCardPresentNetworks|null;\n    public offline: PaymentMethodCardPresentOffline|null;\n    public preferredLocales: string[]|null;\n    public readMethod: string|null;\n    public wallet: PaymentMethodCardPresentWallet|null;\n\n    public constructor(init?: Partial<PaymentMethodCardPresent>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodCardPresent as unknown)[immerable] = true;\n\nexport class PaymentMethodCashapp extends StripeEntity_1<PaymentMethodCashapp>\n{\n    public buyerId: string|null;\n    public cashtag: string|null;\n\n    public constructor(init?: Partial<PaymentMethodCashapp>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodCashapp as unknown)[immerable] = true;\n\nexport class PaymentMethodCustomerBalance extends StripeEntity_1<PaymentMethodCustomerBalance>\n{\n\n    public constructor(init?: Partial<PaymentMethodCustomerBalance>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodCustomerBalance as unknown)[immerable] = true;\n\nexport class PaymentMethodEps extends StripeEntity_1<PaymentMethodEps>\n{\n    public bank: string|null;\n\n    public constructor(init?: Partial<PaymentMethodEps>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodEps as unknown)[immerable] = true;\n\nexport class PaymentMethodFpx extends StripeEntity_1<PaymentMethodFpx>\n{\n    public accountHolderType: string|null;\n    public bank: string|null;\n\n    public constructor(init?: Partial<PaymentMethodFpx>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodFpx as unknown)[immerable] = true;\n\nexport class PaymentMethodGiropay extends StripeEntity_1<PaymentMethodGiropay>\n{\n\n    public constructor(init?: Partial<PaymentMethodGiropay>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodGiropay as unknown)[immerable] = true;\n\nexport class PaymentMethodGrabpay extends StripeEntity_1<PaymentMethodGrabpay>\n{\n\n    public constructor(init?: Partial<PaymentMethodGrabpay>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodGrabpay as unknown)[immerable] = true;\n\nexport class PaymentMethodIdeal extends StripeEntity_1<PaymentMethodIdeal>\n{\n    public bank: string|null;\n    public bic: string|null;\n\n    public constructor(init?: Partial<PaymentMethodIdeal>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodIdeal as unknown)[immerable] = true;\n\nexport class PaymentMethodInteracPresentNetworks extends StripeEntity_1<PaymentMethodInteracPresentNetworks>\n{\n    public available: string[]|null;\n    public preferred: string|null;\n\n    public constructor(init?: Partial<PaymentMethodInteracPresentNetworks>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodInteracPresentNetworks as unknown)[immerable] = true;\n\nexport class PaymentMethodInteracPresent extends StripeEntity_1<PaymentMethodInteracPresent>\n{\n    public brand: string|null;\n    public cardholderName: string|null;\n    public country: string|null;\n    public description: string|null;\n    public expMonth: number|null;\n    public expYear: number|null;\n    public fingerprint: string|null;\n    public funding: string|null;\n    public iin: string|null;\n    public issuer: string|null;\n    public last4: string|null;\n    public networks: PaymentMethodInteracPresentNetworks|null;\n    public preferredLocales: string[]|null;\n    public readMethod: string|null;\n\n    public constructor(init?: Partial<PaymentMethodInteracPresent>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodInteracPresent as unknown)[immerable] = true;\n\nexport class PaymentMethodKakaoPay extends StripeEntity_1<PaymentMethodKakaoPay>\n{\n\n    public constructor(init?: Partial<PaymentMethodKakaoPay>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodKakaoPay as unknown)[immerable] = true;\n\nexport class PaymentMethodKlarnaDob extends StripeEntity_1<PaymentMethodKlarnaDob>\n{\n    public day: number|null;\n    public month: number|null;\n    public year: number|null;\n\n    public constructor(init?: Partial<PaymentMethodKlarnaDob>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodKlarnaDob as unknown)[immerable] = true;\n\nexport class PaymentMethodKlarna extends StripeEntity_1<PaymentMethodKlarna>\n{\n    public dob: PaymentMethodKlarnaDob|null;\n\n    public constructor(init?: Partial<PaymentMethodKlarna>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodKlarna as unknown)[immerable] = true;\n\nexport class PaymentMethodKonbini extends StripeEntity_1<PaymentMethodKonbini>\n{\n\n    public constructor(init?: Partial<PaymentMethodKonbini>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodKonbini as unknown)[immerable] = true;\n\nexport class PaymentMethodKrCard extends StripeEntity_1<PaymentMethodKrCard>\n{\n    public brand: string|null;\n    public last4: string|null;\n\n    public constructor(init?: Partial<PaymentMethodKrCard>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodKrCard as unknown)[immerable] = true;\n\nexport class PaymentMethodLink extends StripeEntity_1<PaymentMethodLink>\n{\n    public email: string|null;\n    public persistentToken: string|null;\n\n    public constructor(init?: Partial<PaymentMethodLink>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodLink as unknown)[immerable] = true;\n\nexport class PaymentMethodMobilepay extends StripeEntity_1<PaymentMethodMobilepay>\n{\n\n    public constructor(init?: Partial<PaymentMethodMobilepay>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodMobilepay as unknown)[immerable] = true;\n\nexport class PaymentMethodMultibanco extends StripeEntity_1<PaymentMethodMultibanco>\n{\n\n    public constructor(init?: Partial<PaymentMethodMultibanco>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodMultibanco as unknown)[immerable] = true;\n\nexport class PaymentMethodNaverPay extends StripeEntity_1<PaymentMethodNaverPay>\n{\n    public funding: string|null;\n\n    public constructor(init?: Partial<PaymentMethodNaverPay>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodNaverPay as unknown)[immerable] = true;\n\nexport class PaymentMethodOxxo extends StripeEntity_1<PaymentMethodOxxo>\n{\n\n    public constructor(init?: Partial<PaymentMethodOxxo>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodOxxo as unknown)[immerable] = true;\n\nexport class PaymentMethodP24 extends StripeEntity_1<PaymentMethodP24>\n{\n    public bank: string|null;\n\n    public constructor(init?: Partial<PaymentMethodP24>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodP24 as unknown)[immerable] = true;\n\nexport class PaymentMethodPayByBank extends StripeEntity_1<PaymentMethodPayByBank>\n{\n\n    public constructor(init?: Partial<PaymentMethodPayByBank>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodPayByBank as unknown)[immerable] = true;\n\nexport class PaymentMethodPayco extends StripeEntity_1<PaymentMethodPayco>\n{\n\n    public constructor(init?: Partial<PaymentMethodPayco>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodPayco as unknown)[immerable] = true;\n\nexport class PaymentMethodPaynow extends StripeEntity_1<PaymentMethodPaynow>\n{\n\n    public constructor(init?: Partial<PaymentMethodPaynow>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodPaynow as unknown)[immerable] = true;\n\nexport class PaymentMethodPaypal extends StripeEntity_1<PaymentMethodPaypal>\n{\n    public country: string|null;\n    public payerEmail: string|null;\n    public payerId: string|null;\n\n    public constructor(init?: Partial<PaymentMethodPaypal>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodPaypal as unknown)[immerable] = true;\n\nexport class PaymentMethodPix extends StripeEntity_1<PaymentMethodPix>\n{\n\n    public constructor(init?: Partial<PaymentMethodPix>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodPix as unknown)[immerable] = true;\n\nexport class PaymentMethodPromptpay extends StripeEntity_1<PaymentMethodPromptpay>\n{\n\n    public constructor(init?: Partial<PaymentMethodPromptpay>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodPromptpay as unknown)[immerable] = true;\n\nexport class PaymentMethodRadarOptions extends StripeEntity_1<PaymentMethodRadarOptions>\n{\n    public session: string|null;\n\n    public constructor(init?: Partial<PaymentMethodRadarOptions>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodRadarOptions as unknown)[immerable] = true;\n\nexport class PaymentMethodRevolutPay extends StripeEntity_1<PaymentMethodRevolutPay>\n{\n\n    public constructor(init?: Partial<PaymentMethodRevolutPay>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodRevolutPay as unknown)[immerable] = true;\n\nexport class PaymentMethodSamsungPay extends StripeEntity_1<PaymentMethodSamsungPay>\n{\n\n    public constructor(init?: Partial<PaymentMethodSamsungPay>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodSamsungPay as unknown)[immerable] = true;\n\nexport class PaymentMethodSepaDebitGeneratedFrom extends StripeEntity_1<PaymentMethodSepaDebitGeneratedFrom>\n{\n\n    public constructor(init?: Partial<PaymentMethodSepaDebitGeneratedFrom>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodSepaDebitGeneratedFrom as unknown)[immerable] = true;\n\nexport class PaymentMethodSepaDebit extends StripeEntity_1<PaymentMethodSepaDebit>\n{\n    public bankCode: string|null;\n    public branchCode: string|null;\n    public country: string|null;\n    public fingerprint: string|null;\n    public generatedFrom: PaymentMethodSepaDebitGeneratedFrom|null;\n    public last4: string|null;\n\n    public constructor(init?: Partial<PaymentMethodSepaDebit>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodSepaDebit as unknown)[immerable] = true;\n\nexport class PaymentMethodSofort extends StripeEntity_1<PaymentMethodSofort>\n{\n    public country: string|null;\n\n    public constructor(init?: Partial<PaymentMethodSofort>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodSofort as unknown)[immerable] = true;\n\nexport class PaymentMethodSwish extends StripeEntity_1<PaymentMethodSwish>\n{\n\n    public constructor(init?: Partial<PaymentMethodSwish>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodSwish as unknown)[immerable] = true;\n\nexport class PaymentMethodTwint extends StripeEntity_1<PaymentMethodTwint>\n{\n\n    public constructor(init?: Partial<PaymentMethodTwint>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodTwint as unknown)[immerable] = true;\n\nexport class PaymentMethodUsBankAccountNetworks extends StripeEntity_1<PaymentMethodUsBankAccountNetworks>\n{\n    public preferred: string|null;\n    public supported: string[]|null;\n\n    public constructor(init?: Partial<PaymentMethodUsBankAccountNetworks>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodUsBankAccountNetworks as unknown)[immerable] = true;\n\nexport class PaymentMethodUsBankAccountStatusDetailsBlocked extends StripeEntity_1<PaymentMethodUsBankAccountStatusDetailsBlocked>\n{\n    public networkCode: string|null;\n    public reason: string|null;\n\n    public constructor(init?: Partial<PaymentMethodUsBankAccountStatusDetailsBlocked>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodUsBankAccountStatusDetailsBlocked as unknown)[immerable] = true;\n\nexport class PaymentMethodUsBankAccountStatusDetails extends StripeEntity_1<PaymentMethodUsBankAccountStatusDetails>\n{\n    public blocked: PaymentMethodUsBankAccountStatusDetailsBlocked|null;\n\n    public constructor(init?: Partial<PaymentMethodUsBankAccountStatusDetails>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodUsBankAccountStatusDetails as unknown)[immerable] = true;\n\nexport class PaymentMethodUsBankAccount extends StripeEntity_1<PaymentMethodUsBankAccount>\n{\n    public accountHolderType: string|null;\n    public accountType: string|null;\n    public bankName: string|null;\n    public financialConnectionsAccount: string|null;\n    public fingerprint: string|null;\n    public last4: string|null;\n    public networks: PaymentMethodUsBankAccountNetworks|null;\n    public routingNumber: string|null;\n    public statusDetails: PaymentMethodUsBankAccountStatusDetails|null;\n\n    public constructor(init?: Partial<PaymentMethodUsBankAccount>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodUsBankAccount as unknown)[immerable] = true;\n\nexport class PaymentMethodWechatPay extends StripeEntity_1<PaymentMethodWechatPay>\n{\n\n    public constructor(init?: Partial<PaymentMethodWechatPay>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodWechatPay as unknown)[immerable] = true;\n\nexport class PaymentMethodZip extends StripeEntity_1<PaymentMethodZip>\n{\n\n    public constructor(init?: Partial<PaymentMethodZip>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethodZip as unknown)[immerable] = true;\n\nexport class PaymentMethod extends StripeEntity_1<PaymentMethod> implements IHasId, IHasMetadata, IHasObject\n{\n    public id: string|null;\n    public object: string|null;\n    public acssDebit: PaymentMethodAcssDebit|null;\n    public affirm: PaymentMethodAffirm|null;\n    public afterpayClearpay: PaymentMethodAfterpayClearpay|null;\n    public alipay: PaymentMethodAlipay|null;\n    public allowRedisplay: string|null;\n    public alma: PaymentMethodAlma|null;\n    public amazonPay: PaymentMethodAmazonPay|null;\n    public auBecsDebit: PaymentMethodAuBecsDebit|null;\n    public bacsDebit: PaymentMethodBacsDebit|null;\n    public bancontact: PaymentMethodBancontact|null;\n    public billingDetails: PaymentMethodBillingDetails|null;\n    public blik: PaymentMethodBlik|null;\n    public boleto: PaymentMethodBoleto|null;\n    public card: PaymentMethodCard|null;\n    public cardPresent: PaymentMethodCardPresent|null;\n    public cashapp: PaymentMethodCashapp|null;\n    public created: string|null;\n    public customerBalance: PaymentMethodCustomerBalance|null;\n    public eps: PaymentMethodEps|null;\n    public fpx: PaymentMethodFpx|null;\n    public giropay: PaymentMethodGiropay|null;\n    public grabpay: PaymentMethodGrabpay|null;\n    public ideal: PaymentMethodIdeal|null;\n    public interacPresent: PaymentMethodInteracPresent|null;\n    public kakaoPay: PaymentMethodKakaoPay|null;\n    public klarna: PaymentMethodKlarna|null;\n    public konbini: PaymentMethodKonbini|null;\n    public krCard: PaymentMethodKrCard|null;\n    public link: PaymentMethodLink|null;\n    public livemode: boolean|null;\n    public metadata: { [index:string]: string; }|null;\n    public mobilepay: PaymentMethodMobilepay|null;\n    public multibanco: PaymentMethodMultibanco|null;\n    public naverPay: PaymentMethodNaverPay|null;\n    public oxxo: PaymentMethodOxxo|null;\n    public p24: PaymentMethodP24|null;\n    public payByBank: PaymentMethodPayByBank|null;\n    public payco: PaymentMethodPayco|null;\n    public paynow: PaymentMethodPaynow|null;\n    public paypal: PaymentMethodPaypal|null;\n    public pix: PaymentMethodPix|null;\n    public promptpay: PaymentMethodPromptpay|null;\n    public radarOptions: PaymentMethodRadarOptions|null;\n    public revolutPay: PaymentMethodRevolutPay|null;\n    public samsungPay: PaymentMethodSamsungPay|null;\n    public sepaDebit: PaymentMethodSepaDebit|null;\n    public sofort: PaymentMethodSofort|null;\n    public swish: PaymentMethodSwish|null;\n    public twint: PaymentMethodTwint|null;\n    public type: string|null;\n    public usBankAccount: PaymentMethodUsBankAccount|null;\n    public wechatPay: PaymentMethodWechatPay|null;\n    public zip: PaymentMethodZip|null;\n\n    public constructor(init?: Partial<PaymentMethod>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentMethod as unknown)[immerable] = true;\n\nexport enum ItemType\n{\n    ClassSessionDelete = 'ClassSessionDelete',\n    AppointmentDelete = 'AppointmentDelete',\n    Appointment = 'Appointment',\n    ClassSession = 'ClassSession',\n    StripeCommission = 'StripeCommission',\n    OnlineAppointment = 'OnlineAppointment',\n    OnlineClassSession = 'OnlineClassSession',\n    VideoCall = 'VideoCall',\n    ClickVideoCall = 'ClickVideoCall',\n    AutomationAction = 'AutomationAction',\n    FormSent = 'FormSent',\n    ProntoReferral = 'ProntoReferral',\n    SMS = 'SMS',\n    AddressLookup = 'AddressLookup',\n    ReferralPortalReferral = 'ReferralPortalReferral',\n    PatientPortalReferral = 'PatientPortalReferral',\n    ManualReferral = 'ManualReferral',\n    APIReferral = 'APIReferral',\n    ApiUsage = 'ApiUsage',\n    SystemCredit = 'SystemCredit',\n}\n\nexport enum TrafficReportOrdering\n{\n    All = 1,\n    Appointments = 2,\n    Classes = 3,\n}\n\nexport class OnlineClinicService implements IHasGuidId\n{\n    public hidden: boolean|null;\n    public networkServiceId: string|null;\n    public networkId: string|null;\n    public name: string|null;\n    public description: string|null;\n    public longDescription: string|null;\n    public imageUrl: string|null;\n    public discipline: string|null;\n    public colour: string|null;\n    public isOnline: boolean|null;\n    public isClassService: boolean|null;\n    public isCaseflowService: boolean|null;\n    // @Ignore()\n    public isCourse: boolean|null;\n\n    public isMultiClass: boolean|null;\n    public classTypeIds: number[]|null;\n    public classTypeId: number|null;\n    public excludeLocations: string[]|null;\n    public excludePractitioners: string[]|null;\n    public excludeDiscountCodes: string[]|null;\n    public stockId: string|null;\n    public excludeSessionIds: number[]|null;\n    public excludeNormalSessionIds: number[]|null;\n    public sortIndex: Object|null;\n    public urlSlug: string|null;\n    public canCancel: boolean|null;\n    public isHidden: boolean|null;\n    public businessId: number|null;\n    public contractId: string|null;\n    public productId: string|null;\n    public productServiceId: string|null;\n    public expiryDate: string|null;\n    public accessCode: string|null;\n    public cfBookingAction: string|null;\n    // @Ignore()\n    public hasAccessCode: boolean|null;\n\n    // @Ignore()\n    public accessCodeLength: number|null;\n\n    // @Ignore()\n    public isLocationBased: boolean|null;\n\n    // @Ignore()\n    public isDigitalTriage: boolean|null;\n\n    // @Ignore()\n    public serviceName: string|null;\n\n    // @Ignore()\n    public isPlaceholderService: boolean|null;\n\n    public id: string|null;\n\n    public constructor(init?: Partial<OnlineClinicService>) { (Object as any).assign(this, init); }\n}\n(OnlineClinicService as unknown)[immerable] = true;\n\nexport class OnlineServiceCategory implements IHasGuidId\n{\n    public id: string|null;\n    public parentId: string|null;\n    public title: string|null;\n    public urlSlug: string|null;\n    public description: string|null;\n    public longDescription: string|null;\n    public imageUrl: string|null;\n    public isOnline: boolean|null;\n    public sortIndex: number|null;\n    public orderedServices: string[]|null;\n    public businessId: number|null;\n    // @Ignore()\n    public hasClasses: boolean|null;\n\n    // @Ignore()\n    public hasAppointments: boolean|null;\n\n    // @Ignore()\n    public rootSlug: string|null;\n\n    public hideFromExplore: boolean|null;\n\n    public constructor(init?: Partial<OnlineServiceCategory>) { (Object as any).assign(this, init); }\n}\n(OnlineServiceCategory as unknown)[immerable] = true;\n\nexport enum OnlineSectionTypes\n{\n    Header = 'Header',\n    Search = 'Search',\n    AppointmentSearch = 'AppointmentSearch',\n    ClassSearch = 'ClassSearch',\n    Categories = 'Categories',\n    Services = 'Services',\n    Offers = 'Offers',\n    Packages = 'Packages',\n}\n\nexport class OnlineSection implements IHasId\n{\n    public sortIndex: number|null;\n    public type: OnlineSectionTypes|null;\n    public params: { [index:string]: string; }|null;\n    public mode: string|null;\n    public id: number|null;\n\n    public constructor(init?: Partial<OnlineSection>) { (Object as any).assign(this, init); }\n}\n(OnlineSection as unknown)[immerable] = true;\n\nexport class BookingClassResponse\n{\n    public success: boolean|null;\n    public isFull: boolean|null;\n    public attendanceIds: number[]|null;\n    public attendeeId: number|null;\n    public backgroundJobId: string|null;\n\n    public constructor(init?: Partial<BookingClassResponse>) { (Object as any).assign(this, init); }\n}\n(BookingClassResponse as unknown)[immerable] = true;\n\nexport class WaitingList implements IHasId\n{\n    public id: number|null;\n    public createdDate: string|null;\n    public waitingListGlobalId: string|null;\n    public customerId: number|null;\n    public description: string|null;\n    public nextAppointment: string|null;\n    public expiryDate: string|null;\n    public practitionerId: number|null;\n    public practitionerGender: WaitListGender|null;\n    public locationId: number|null;\n    public timeOfDay: TimeOfDay|null;\n    public listType: WaitingListType|null;\n    public locationPreference: LocationType|null;\n    public dayPreference: string|null;\n    public stockId: number|null;\n    public classTypeId: number|null;\n    public classSessionId: number|null;\n    public temporaryAppointmentId: number|null;\n    public temporaryClassSessionId: number|null;\n    public temporaryCourseId: number|null;\n    public dateTimeBookingOffered: string|null;\n    public urgency: WaitingListUrgency|null;\n    public status: WaitingListStatus|null;\n    public subStatus: WaitingListSubStatus|null;\n    public notificationType: WaitingListNotificationType|null;\n    public dateTimeOfferDeclined: string|null;\n    public pauseUntilDateTime: string|null;\n    public dateTimeNotResponded: string|null;\n    public bookingType: WaitingListBookingType|null;\n    public dateTimeBookingDone: string|null;\n    public linkedToAppointmentId: number|null;\n    public startDate: string|null;\n\n    public constructor(init?: Partial<WaitingList>) { (Object as any).assign(this, init); }\n}\n(WaitingList as unknown)[immerable] = true;\n\nexport enum SentryApmAction\n{\n    on = 'on',\n    off = 'off',\n}\n\nexport enum AppointmentStatus\n{\n    Booked = 0,\n    Arrived = 1,\n    Completed = 2,\n    DNA = 3,\n    Cancelled = 4,\n    Temporary = 6,\n    Provisional = 7,\n}\n\nexport class ClickInvoiceReqBase\n{\n    public invoiceId: number|null;\n\n    public constructor(init?: Partial<ClickInvoiceReqBase>) { (Object as any).assign(this, init); }\n}\n(ClickInvoiceReqBase as unknown)[immerable] = true;\n\nexport enum CommunicationMode\n{\n    Email = 'Email',\n    SMS = 'SMS',\n}\n\nexport enum ClassDateCreationMode\n{\n    WeeklyRecurrence = 'WeeklyRecurrence',\n    DateRange = 'DateRange',\n    CustomDates = 'CustomDates',\n}\n\nexport enum ClashMode\n{\n    UpdateOnlyIfNoClashes = 'UpdateOnlyIfNoClashes',\n    UpdateNonClashing = 'UpdateNonClashing',\n    UpdateAllAnyway = 'UpdateAllAnyway',\n    NeverUpdate = 'NeverUpdate',\n    CreateExcludingClashes = 'CreateExcludingClashes',\n}\n\nexport enum ClassBillingMode\n{\n    Attendance = 'Attendance',\n    BillNow = 'BillNow',\n    NewPackage = 'NewPackage',\n    ExistingPackage = 'ExistingPackage',\n    NewSubscription = 'NewSubscription',\n    Autopay = 'Autopay',\n    ExistingCreditPackage = 'ExistingCreditPackage',\n}\n\nexport enum ClassPaymentMode\n{\n    DoNotBill = 'DoNotBill',\n    PayLater = 'PayLater',\n    PayNowCash = 'PayNowCash',\n    PayNowCard = 'PayNowCard',\n    UsePrePayment = 'UsePrePayment',\n    PayNowMerchant = 'PayNowMerchant',\n    PayNowMerchantTerminal = 'PayNowMerchantTerminal',\n}\n\nexport enum SessionUpdateAppliesTo\n{\n    ThisSessionOnly = 'ThisSessionOnly',\n    SameTimeEachWeek = 'SameTimeEachWeek',\n    Custom = 'Custom',\n}\n\nexport enum ClassEditType\n{\n    Practitioner = 'Practitioner',\n    Room = 'Room',\n    EditSessionDate = 'EditSessionDate',\n    EditSessionTime = 'EditSessionTime',\n    Space = 'Space',\n}\n\nexport class ClassPackageResponse\n{\n    public id: string|null;\n    public name: string|null;\n    public price: number|null;\n    public classTypeId: number|null;\n    public stockId: number|null;\n    public validForDaysFromPurchase: number|null;\n    public credits: number|null;\n    public creditPackageStockExclusions: number[]|null;\n    public creditPackageClassTypeExclusions: number[]|null;\n    public restrictToPrivateCharges: boolean|null;\n\n    public constructor(init?: Partial<ClassPackageResponse>) { (Object as any).assign(this, init); }\n}\n(ClassPackageResponse as unknown)[immerable] = true;\n\nexport enum CourseBillingMode\n{\n    FirstAttendance = 'FirstAttendance',\n    BillNow = 'BillNow',\n    NewPackage = 'NewPackage',\n    ExistingPackage = 'ExistingPackage',\n    NewSubscription = 'NewSubscription',\n    ExistingCredits = 'ExistingCredits',\n    ExistingCreditPackage = 'ExistingCreditPackage',\n}\n\nexport enum CourseEditAppliesTo\n{\n    ThisSessionOnly = 'ThisSessionOnly',\n    ThisAndAllSubsequentSessions = 'ThisAndAllSubsequentSessions',\n}\n\nexport class DigitalPrescriptionDMDResponse\n{\n    public name: string|null;\n    public productId: BigInteger|null;\n\n    public constructor(init?: Partial<DigitalPrescriptionDMDResponse>) { (Object as any).assign(this, init); }\n}\n(DigitalPrescriptionDMDResponse as unknown)[immerable] = true;\n\nexport class TwilioRoomResponse\n{\n    public roomId: string|null;\n    public roomName: string|null;\n    public token: string|null;\n    public startDateTime: string|null;\n    public endDateTime: string|null;\n    public practitionerName: string|null;\n    public status: number|null;\n    public roomCreated: boolean|null;\n    public videoCode: string|null;\n    public smsEnabled: boolean|null;\n\n    public constructor(init?: Partial<TwilioRoomResponse>) { (Object as any).assign(this, init); }\n}\n(TwilioRoomResponse as unknown)[immerable] = true;\n\nexport interface IVirtualDirectory\n{\n}\n\nexport interface IVirtualPathProvider\n{\n    rootDirectory: IVirtualDirectory|null;\n    virtualPathSeparator: string|null;\n    realPathSeparator: string|null;\n}\n\nexport interface IVirtualFile\n{\n    virtualPathProvider: IVirtualPathProvider|null;\n    extension: string|null;\n    length: number|null;\n}\n\n// @Flags()\nexport enum CacheControl\n{\n    None = 0,\n    Public = 1,\n    Private = 2,\n    MustRevalidate = 4,\n    NoCache = 8,\n    NoStore = 16,\n    NoTransform = 32,\n    ProxyRevalidate = 64,\n}\n\nexport interface IContentTypeWriter\n{\n}\n\n// @Flags()\nexport enum RequestAttributes\n{\n    None = 0,\n    Localhost = 1,\n    LocalSubnet = 2,\n    External = 4,\n    Secure = 8,\n    InSecure = 16,\n    AnySecurityMode = 24,\n    HttpHead = 32,\n    HttpGet = 64,\n    HttpPost = 128,\n    HttpPut = 256,\n    HttpDelete = 512,\n    HttpPatch = 1024,\n    HttpOptions = 2048,\n    HttpOther = 4096,\n    AnyHttpMethod = 8160,\n    OneWay = 8192,\n    Reply = 16384,\n    AnyCallStyle = 24576,\n    Soap11 = 32768,\n    Soap12 = 65536,\n    Xml = 131072,\n    Json = 262144,\n    Jsv = 524288,\n    ProtoBuf = 1048576,\n    Csv = 2097152,\n    Html = 4194304,\n    Jsonl = 8388608,\n    MsgPack = 16777216,\n    FormatOther = 33554432,\n    AnyFormat = 67076096,\n    Http = 67108864,\n    MessageQueue = 134217728,\n    Tcp = 268435456,\n    Grpc = 536870912,\n    EndpointOther = 1073741824,\n    AnyEndpoint = 2080374784,\n    InProcess = -2147483648,\n    InternalNetworkAccess = -2147483645,\n    AnyNetworkAccessType = -2147483641,\n    Any = -1,\n}\n\nexport interface IRequestPreferences\n{\n    acceptsBrotli: boolean|null;\n    acceptsDeflate: boolean|null;\n    acceptsGzip: boolean|null;\n}\n\nexport interface IHttpFile\n{\n    name: string|null;\n    fileName: string|null;\n    contentLength: number|null;\n    contentType: string|null;\n    inputStream: string|null;\n}\n\nexport interface IRequest\n{\n    originalRequest: Object|null;\n    response: IResponse|null;\n    operationName: string|null;\n    verb: string|null;\n    requestAttributes: RequestAttributes|null;\n    requestPreferences: IRequestPreferences|null;\n    dto: Object|null;\n    contentType: string|null;\n    isLocal: boolean|null;\n    userAgent: string|null;\n    cookies: { [index:string]: Cookie; }|null;\n    responseContentType: string|null;\n    hasExplicitResponseContentType: boolean|null;\n    items: { [index:string]: Object; }|null;\n    headers: NameValueCollection|null;\n    queryString: NameValueCollection|null;\n    formData: NameValueCollection|null;\n    useBufferedStream: boolean|null;\n    rawUrl: string|null;\n    absoluteUri: string|null;\n    userHostAddress: string|null;\n    remoteIp: string|null;\n    authorization: string|null;\n    isSecureConnection: boolean|null;\n    acceptTypes: string[]|null;\n    pathInfo: string|null;\n    originalPathInfo: string|null;\n    inputStream: string|null;\n    contentLength: number|null;\n    files: IHttpFile[]|null;\n    urlReferrer: string|null;\n}\n\nexport interface IResponse\n{\n    originalResponse: Object|null;\n    request: IRequest|null;\n    statusCode: number|null;\n    statusDescription: string|null;\n    contentType: string|null;\n    outputStream: string|null;\n    dto: Object|null;\n    useBufferedStream: boolean|null;\n    isClosed: boolean|null;\n    keepAlive: boolean|null;\n    hasStarted: boolean|null;\n    items: { [index:string]: Object; }|null;\n}\n\nexport class WorldPayResponse\n{\n    public success: boolean|null;\n    public errorCode: string|null;\n    public errorMessage: string|null;\n    public pgtr: string|null;\n    public paymentPageUrl: string|null;\n    public authorisationCode: string|null;\n\n    public constructor(init?: Partial<WorldPayResponse>) { (Object as any).assign(this, init); }\n}\n(WorldPayResponse as unknown)[immerable] = true;\n\nexport class StripeTerminal\n{\n    public id: string|null;\n    public displayName: string|null;\n    public locationId: string|null;\n\n    public constructor(init?: Partial<StripeTerminal>) { (Object as any).assign(this, init); }\n}\n(StripeTerminal as unknown)[immerable] = true;\n\nexport class StripeTerminalLocation\n{\n    public id: string|null;\n    public displayName: string|null;\n    public locationTerminals: StripeTerminal[]|null;\n    public hasTerminals: boolean|null;\n\n    public constructor(init?: Partial<StripeTerminalLocation>) { (Object as any).assign(this, init); }\n}\n(StripeTerminalLocation as unknown)[immerable] = true;\n\nexport class StripeTerminalLocationsResponse\n{\n    public terminalLocations: StripeTerminalLocation[]|null;\n\n    public constructor(init?: Partial<StripeTerminalLocationsResponse>) { (Object as any).assign(this, init); }\n}\n(StripeTerminalLocationsResponse as unknown)[immerable] = true;\n\nexport enum AutoPayStatus\n{\n    InProgress = 'InProgress',\n    PaidbyAutoPay = 'PaidbyAutoPay',\n    Failed = 'Failed',\n    Paid = 'Paid',\n}\n\nexport class AutoPayResponse\n{\n    public status: AutoPayStatus|null;\n\n    public constructor(init?: Partial<AutoPayResponse>) { (Object as any).assign(this, init); }\n}\n(AutoPayResponse as unknown)[immerable] = true;\n\nexport class AddressFindResponse\n{\n    public id: string|null;\n    public type: string|null;\n    public text: string|null;\n    public highlight: string|null;\n    public description: string|null;\n\n    public constructor(init?: Partial<AddressFindResponse>) { (Object as any).assign(this, init); }\n}\n(AddressFindResponse as unknown)[immerable] = true;\n\nexport class AddressRetrieveResponse\n{\n    public id: string|null;\n    public domesticId: string|null;\n    public language: string|null;\n    public languageAlternative: string|null;\n    public department: string|null;\n    public company: string|null;\n    public subBuilding: string|null;\n    public buildingNumber: string|null;\n    public buildingName: string|null;\n    public secondaryStreet: string|null;\n    public street: string|null;\n    public block: string|null;\n    public neighbourhood: string|null;\n    public district: string|null;\n    public city: string|null;\n    public line1: string|null;\n    public line2: string|null;\n    public line3: string|null;\n    public line4: string|null;\n    public line5: string|null;\n    public adminAreaName: string|null;\n    public adminAreaCode: string|null;\n    public province: string|null;\n    public provinceName: string|null;\n    public provinceCode: string|null;\n    public postalCode: string|null;\n    public countryName: string|null;\n    public countryIso2: string|null;\n    public countryIso3: string|null;\n    public countryIsoNumber: string|null;\n    public sortingNumber1: string|null;\n    public sortingNumber2: string|null;\n    public barcode: string|null;\n    public poBoxNumber: string|null;\n    public label: string|null;\n    public type: string|null;\n    public dataLevel: string|null;\n\n    public constructor(init?: Partial<AddressRetrieveResponse>) { (Object as any).assign(this, init); }\n}\n(AddressRetrieveResponse as unknown)[immerable] = true;\n\nexport class JsonPermissionResponse\n{\n    public id: number|null;\n    public shortDescription: string|null;\n    public type: string|null;\n    public level: string|null;\n\n    public constructor(init?: Partial<JsonPermissionResponse>) { (Object as any).assign(this, init); }\n}\n(JsonPermissionResponse as unknown)[immerable] = true;\n\nexport class JsonPermissionGetResponse\n{\n    public id: number|null;\n    public shortDescription: string|null;\n    public jsonPermissions: string[]|null;\n    public readOnly: boolean|null;\n\n    public constructor(init?: Partial<JsonPermissionGetResponse>) { (Object as any).assign(this, init); }\n}\n(JsonPermissionGetResponse as unknown)[immerable] = true;\n\nexport class Permission\n{\n    public description: string|null;\n    public hiddenFromNonAdmin: boolean|null;\n    public allowed: string[]|null;\n    public revoked: string[]|null;\n    public reports: string[]|null;\n    public accessablePractitioners: number[]|null;\n    public multiDiaryRestricted: boolean|null;\n    public autoLogout: number|null;\n\n    public constructor(init?: Partial<Permission>) { (Object as any).assign(this, init); }\n}\n(Permission as unknown)[immerable] = true;\n\nexport class JsonPermission implements IHasId, IHasGlobalGuid\n{\n    public id: number|null;\n    public type: string|null;\n    public permission: Permission|null;\n    public level: string|null;\n    public readOnly: boolean|null;\n    public globalGuid: string|null;\n    // @Ignore()\n    public shortDescription: string|null;\n\n    // @Ignore()\n    public jsonPermissions: string[]|null;\n\n    public constructor(init?: Partial<JsonPermission>) { (Object as any).assign(this, init); }\n}\n(JsonPermission as unknown)[immerable] = true;\n\nexport class UsersSearchResponse\n{\n    public id: number|null;\n    public name: string|null;\n    public fullName: string|null;\n    public firstName: string|null;\n    public lastName: string|null;\n    public current: boolean|null;\n    public email: string|null;\n    public mobileNumber: string|null;\n    public position: string|null;\n    public locationId: number|null;\n    public locationName: string|null;\n    public practitionerId: number|null;\n    public migrated: boolean|null;\n    public accessiblePractitioners: number[]|null;\n    public practitionerTitle: string|null;\n    public practitionerForename: string|null;\n    public practitionerSurname: string|null;\n    public departments: number[]|null;\n    public permissionId: number|null;\n    public practitioner: string|null;\n    public globalGuid: string|null;\n    public avatar: string|null;\n\n    public constructor(init?: Partial<UsersSearchResponse>) { (Object as any).assign(this, init); }\n}\n(UsersSearchResponse as unknown)[immerable] = true;\n\nexport class UserRoleLocation implements IHasId, IHasGlobalGuid\n{\n    public id: number|null;\n    public locationId: number|null;\n    // @Ignore()\n    public locationGuid: string|null;\n\n    public userId: number|null;\n    // @Ignore()\n    public userGuid: string|null;\n\n    public roleId: number|null;\n    // @Ignore()\n    public roleGuid: string|null;\n\n    public globalGuid: string|null;\n\n    public constructor(init?: Partial<UserRoleLocation>) { (Object as any).assign(this, init); }\n}\n(UserRoleLocation as unknown)[immerable] = true;\n\nexport class UserRoleLocationWithDetails extends UserRoleLocation\n{\n    public userName: string|null;\n    public fullName: string|null;\n    public locationName: string|null;\n    public userType: string|null;\n    public userCurrent: boolean|null;\n    public roleName: string|null;\n\n    public constructor(init?: Partial<UserRoleLocationWithDetails>) { super(init); (Object as any).assign(this, init); }\n}\n(UserRoleLocationWithDetails as unknown)[immerable] = true;\n\nexport class UserLocationsResponse\n{\n    public id: number|null;\n    public userId: number|null;\n    public locationId: number|null;\n    public roleId: number|null;\n    public locationName: string|null;\n    public globalGuid: string|null;\n\n    public constructor(init?: Partial<UserLocationsResponse>) { (Object as any).assign(this, init); }\n}\n(UserLocationsResponse as unknown)[immerable] = true;\n\nexport class BusinessProfileResponse\n{\n    public id: number|null;\n    public businessName: string|null;\n    public tradingName: string|null;\n    public description: string|null;\n    public termsAndConditions: string|null;\n    public privacyPolicy: string|null;\n    public cancellationPolicy: string|null;\n\n    public constructor(init?: Partial<BusinessProfileResponse>) { (Object as any).assign(this, init); }\n}\n(BusinessProfileResponse as unknown)[immerable] = true;\n\nexport class ExtractionResponse\n{\n    public signature: string|null;\n    public creation: string|null;\n    public completion: string|null;\n\n    public constructor(init?: Partial<ExtractionResponse>) { (Object as any).assign(this, init); }\n}\n(ExtractionResponse as unknown)[immerable] = true;\n\n// @DataContract\nexport class Folder\n{\n    // @DataMember(Order=1)\n    public name: string|null;\n\n    // @DataMember(Order=2)\n    public modifiedDate: string|null;\n\n    // @DataMember(Order=3)\n    public path: string|null;\n\n    // @DataMember(Order=4)\n    public isGlobal: boolean|null;\n\n    // @DataMember(Order=5)\n    public isOverride: boolean|null;\n\n    public constructor(init?: Partial<Folder>) { (Object as any).assign(this, init); }\n}\n(Folder as unknown)[immerable] = true;\n\n// @DataContract\nexport class File\n{\n    // @DataMember(Order=1)\n    public name: string|null;\n\n    // @DataMember(Order=2)\n    public extension: string|null;\n\n    // @DataMember(Order=3)\n    public fileSizeBytes: number|null;\n\n    // @DataMember(Order=4)\n    public createdDate: string|null;\n\n    // @DataMember(Order=5)\n    public modifiedDate: string|null;\n\n    // @DataMember(Order=6)\n    public accessedDate: string|null;\n\n    // @DataMember(Order=7)\n    public path: string|null;\n\n    // @DataMember(Order=8)\n    public isGlobal: boolean|null;\n\n    // @DataMember(Order=9)\n    public isOverride: boolean|null;\n\n    // @DataMember(Order=10)\n    public description: string|null;\n\n    // @DataMember(Order=11)\n    public createdBy: string|null;\n\n    public constructor(init?: Partial<File>) { (Object as any).assign(this, init); }\n}\n(File as unknown)[immerable] = true;\n\n// @DataContract\nexport class FolderResult\n{\n    // @DataMember(Order=1)\n    public folders: Folder[]|null;\n\n    // @DataMember(Order=2)\n    public files: File[]|null;\n\n    public constructor(init?: Partial<FolderResult>) { (Object as any).assign(this, init); }\n}\n(FolderResult as unknown)[immerable] = true;\n\nexport class CaseImagingResult\n{\n    public width: number|null;\n    public height: number|null;\n    public src: string|null;\n    public signature: string|null;\n\n    public constructor(init?: Partial<CaseImagingResult>) { (Object as any).assign(this, init); }\n}\n(CaseImagingResult as unknown)[immerable] = true;\n\nexport class CommandBarResponse\n{\n    public id: string|null;\n    public name: string|null;\n    public description: string|null;\n\n    public constructor(init?: Partial<CommandBarResponse>) { (Object as any).assign(this, init); }\n}\n(CommandBarResponse as unknown)[immerable] = true;\n\nexport class BatchMergeDataResponse\n{\n    public data: Object|null;\n    public template: string|null;\n    public id: number|null;\n\n    public constructor(init?: Partial<BatchMergeDataResponse>) { (Object as any).assign(this, init); }\n}\n(BatchMergeDataResponse as unknown)[immerable] = true;\n\nexport class ContactMergeCheckResponse\n{\n    public contactId: number|null;\n    public contactTitle: string|null;\n    public contactForename: string|null;\n    public contactSurname: string|null;\n    public contactBusinessName: string|null;\n    public contactcategory: string|null;\n\n    public constructor(init?: Partial<ContactMergeCheckResponse>) { (Object as any).assign(this, init); }\n}\n(ContactMergeCheckResponse as unknown)[immerable] = true;\n\nexport enum svcResponse\n{\n    Success = 'Success',\n    GeneralException = 'GeneralException',\n    InvalidClientID = 'InvalidClientID',\n    EncryptionError = 'EncryptionError',\n    DBError = 'DBError',\n    LicenceNotActive = 'LicenceNotActive',\n}\n\nexport class MedicalContactResponse\n{\n    public id: number|null;\n    public current: boolean|null;\n    public defaultContact: boolean|null;\n    public contactable: boolean|null;\n    public category: string|null;\n    public title: string|null;\n    public forename: string|null;\n    public surname: string|null;\n    public name: string|null;\n    public businessName: string|null;\n    public relationship: string|null;\n    public address: string|null;\n    public addressLine1: string|null;\n    public addressLine2: string|null;\n    public addressLine3: string|null;\n    public addressLine4: string|null;\n    public addressLine5: string|null;\n    public mobile: string|null;\n    public postCode: string|null;\n    public telephone: string|null;\n    public altTelephone1: string|null;\n    public altTelephone2: string|null;\n    public fax: string|null;\n    public web: string|null;\n    public email: string|null;\n    public locationId: number|null;\n    public locationName: string|null;\n    public providerNumber: string|null;\n    public alerts: AlertResponse[]|null;\n\n    public constructor(init?: Partial<MedicalContactResponse>) { (Object as any).assign(this, init); }\n}\n(MedicalContactResponse as unknown)[immerable] = true;\n\nexport class PaymentCard implements IHasId\n{\n    public id: number|null;\n    public cardObjectID: number|null;\n    public cardObjectType: string|null;\n    public cardExpiry: string|null;\n    public cardIssue: string|null;\n    public cardType: string|null;\n    public cardFrom: string|null;\n    public cardSecurity: string|null;\n    public cardNotes: string|null;\n    public cardNumber: string|null;\n    public cardName: string|null;\n    public cardUseAddress: number|null;\n    public cardAddress1: string|null;\n    public cardAddress2: string|null;\n    public cardAddress3: string|null;\n    public cardAddress4: string|null;\n    public cardPostCode: string|null;\n    public cardVerified: string|null;\n    public lastFourDigits: string|null;\n    public expiryMonth: number|null;\n    public expiryYear: number|null;\n    public brand: string|null;\n\n    public constructor(init?: Partial<PaymentCard>) { (Object as any).assign(this, init); }\n}\n(PaymentCard as unknown)[immerable] = true;\n\nexport class CustomerLiteDto\n{\n    public id: number|null;\n    public reference: string|null;\n    public forename: string|null;\n    public surname: string|null;\n    public title: string|null;\n    public name: string|null;\n    public address: string|null;\n    public practitionerName: string|null;\n    public addressLine1: string|null;\n    public addressLine2: string|null;\n    public addressLine3: string|null;\n    public addressLine4: string|null;\n    public addressLine5: string|null;\n    public smsEnabled: boolean|null;\n    public groupName: string|null;\n    public locationName: string|null;\n    public locationId: number|null;\n    public groupId: number|null;\n    public practitionerId: number|null;\n    public groupAddressTo: string|null;\n    public postCode: string|null;\n    public mobileTelephone: string|null;\n    public email: string|null;\n    public smsEnabled: boolean|null;\n    public dateOfBirth: string|null;\n    public alerts: AlertResponse[]|null;\n    public billTo: string|null;\n    public practitionerForename: string|null;\n    public practitionerSurname: string|null;\n    public cardID: number|null;\n    public paymentCard: PaymentCard|null;\n\n    public constructor(init?: Partial<CustomerLiteDto>) { (Object as any).assign(this, init); }\n}\n(CustomerLiteDto as unknown)[immerable] = true;\n\nexport class CustomerBatchConsentResponse\n{\n    public updated: boolean|null;\n\n    public constructor(init?: Partial<CustomerBatchConsentResponse>) { (Object as any).assign(this, init); }\n}\n(CustomerBatchConsentResponse as unknown)[immerable] = true;\n\nexport class Customer implements IHasAddressDetails, IHasReference, IHasDocuments\n{\n    public title: string|null;\n    public forename: string|null;\n    public surname: string|null;\n    public gender: string|null;\n    public addressLine1: string|null;\n    public addressLine2: string|null;\n    public addressLine3: string|null;\n    public addressLine4: string|null;\n    public addressLine5: string|null;\n    public postCode: string|null;\n    public invoiceAddressLine1: string|null;\n    public invoiceAddressLine2: string|null;\n    public invoiceAddressLine3: string|null;\n    public invoiceAddressLine4: string|null;\n    public invoiceAddressLine5: string|null;\n    public invoicePostCode: string|null;\n    public dateOfBirth: string|null;\n    public registrationDate: string|null;\n    public locationId: number|null;\n    public practitionerId: number|null;\n    public accountId: number|null;\n    public groupId: number|null;\n    public homeTelephone: string|null;\n    public workTelephone: string|null;\n    public mobileTelephone: string|null;\n    public email: string|null;\n    public reference: string|null;\n    public insuranceNumber: string|null;\n    public groupReference: string|null;\n    public smsEnabled: boolean|null;\n    public defaultCharge: string|null;\n    public invoicePeriod: string|null;\n    public status: number|null;\n    public useInvoiceAddress: boolean|null;\n    public enquiry: string|null;\n    public category: string|null;\n    public employer: string|null;\n    public height: number|null;\n    public weight: number|null;\n    public hospitalNumber: string|null;\n    public niNumber: string|null;\n    public medication: string|null;\n    public previousInjuries: string|null;\n    public alternativeRef1: string|null;\n    public alternativeRef2: string|null;\n    public alternativeRef3: string|null;\n    public alternativeRef4: string|null;\n    public lastAppointmentDate: string|null;\n    public notes: string|null;\n    public billTo: string|null;\n    public online: boolean|null;\n    public cardNo: string|null;\n    public invoiceFrequency: number|null;\n    public invoiceDeadline: string|null;\n    public consent: string|null;\n    public groupDepartment: string|null;\n    public id: number|null;\n    public provisional: boolean|null;\n    public givenConsent: boolean|null;\n    public emailConsent: boolean|null;\n    public smsConsent: boolean|null;\n    public phoneConsent: boolean|null;\n    public stripeCustomerId: string|null;\n    public paymentMethodId: string|null;\n    public cardID: number|null;\n    public tempPaymentMethodId: string|null;\n    public medicareCardNo: string|null;\n    public irn: string|null;\n    public dvaNumber: string|null;\n    public flag: string|null;\n    public documentsLoaded: boolean|null;\n    // @Ignore()\n    public documentsSubDirectory: string|null;\n\n    public squareCustomerId: string|null;\n    public squareCardId: string|null;\n    // @Ignore()\n    public name: string|null;\n\n    public merchantCardId: string|null;\n    public merchantCustomerId: string|null;\n    public merchantCardToken: string|null;\n    public tags: string[]|null;\n    public overridePayAtClinic: boolean|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<Customer>) { (Object as any).assign(this, init); }\n}\n(Customer as unknown)[immerable] = true;\n\nexport class DupEmailResponse\n{\n    public consent: boolean|null;\n    public customers: Customer[]|null;\n    public patient: Customer|null;\n\n    public constructor(init?: Partial<DupEmailResponse>) { (Object as any).assign(this, init); }\n}\n(DupEmailResponse as unknown)[immerable] = true;\n\nexport class CustomerSaveResponse\n{\n    public patient: GeneralCustomerResponse|null;\n    public suggested: boolean|null;\n    public result: DupEmailResponse|null;\n\n    public constructor(init?: Partial<CustomerSaveResponse>) { (Object as any).assign(this, init); }\n}\n(CustomerSaveResponse as unknown)[immerable] = true;\n\nexport interface IHasAddressDetails\n{\n    addressLine1: string|null;\n    addressLine2: string|null;\n    addressLine3: string|null;\n    addressLine4: string|null;\n    addressLine5: string|null;\n    postCode: string|null;\n}\n\nexport interface IHasDocuments\n{\n    documentsLoaded: boolean|null;\n    documentsSubDirectory: string|null;\n}\n\nexport class TransactionItemResponse\n{\n    public date: string|null;\n    public type: string|null;\n    public status: string|null;\n    public amount: number|null;\n    public displayName: string|null;\n\n    public constructor(init?: Partial<TransactionItemResponse>) { (Object as any).assign(this, init); }\n}\n(TransactionItemResponse as unknown)[immerable] = true;\n\nexport class CaseSearchResponse\n{\n    public admissionDate: string|null;\n    public appointmentCount: number|null;\n    public appointmentsWithoutConsultations: number|null;\n    public alerts: number|null;\n    public nextAppointmentDate: string|null;\n    public auth: string|null;\n    public authExpiryDate: string|null;\n    public bodySite: string|null;\n    public bodySiteText: string|null;\n    public closed: boolean|null;\n    public closedDateTime: string|null;\n    public customerForename: string|null;\n    public customerId: number|null;\n    public customerSurname: string|null;\n    public customerTitle: string|null;\n    public diagnosis: string|null;\n    public diagnosisCode: string|null;\n    public dischargeDate: string|null;\n    public dischargeStatus: string|null;\n    public statusText: string|null;\n    public expired: boolean|null;\n    public firstAppointmentId: number|null;\n    public groupName: string|null;\n    public id: number|null;\n    public incompleteNotes: boolean|null;\n    public location: string|null;\n    public locationId: number|null;\n    public practitionerTitle: string|null;\n    public practitionerForename: string|null;\n    public practitionerSurname: string|null;\n    public practitionerName: string|null;\n    public practitionerId: number|null;\n    public patientName: string|null;\n    public reference: number|null;\n    public restricted: boolean|null;\n    public statusValue: string|null;\n    public status: number|null;\n    public unclosedConsultations: number|null;\n    public lastConsultationDate: string|null;\n    public type: string|null;\n    public serviceType: string|null;\n\n    public constructor(init?: Partial<CaseSearchResponse>) { (Object as any).assign(this, init); }\n}\n(CaseSearchResponse as unknown)[immerable] = true;\n\nexport class JoinedContactResponse\n{\n    public id: number|null;\n    public reference: string|null;\n    public forename: string|null;\n    public surname: string|null;\n    public title: string|null;\n    public email: string|null;\n    public type: string|null;\n    public relationship: string|null;\n    public number: string|null;\n    public name: string|null;\n\n    public constructor(init?: Partial<JoinedContactResponse>) { (Object as any).assign(this, init); }\n}\n(JoinedContactResponse as unknown)[immerable] = true;\n\nexport class AccountStatementResponse\n{\n    public id: number|null;\n    public idKey: string|null;\n    public date: string|null;\n    public ref: string|null;\n    public type: string|null;\n    public location: string|null;\n    public debit: number|null;\n    public credit: number|null;\n    public status: string|null;\n    public reason: string|null;\n    public totalRows: number|null;\n    public meta: { [index:string]: Object; }|null;\n\n    public constructor(init?: Partial<AccountStatementResponse>) { (Object as any).assign(this, init); }\n}\n(AccountStatementResponse as unknown)[immerable] = true;\n\nexport class GroupAccountStatementResponse\n{\n    public id: number|null;\n    public reference: string|null;\n    public date: string|null;\n    public debitAmount: number|null;\n    public creditAmount: number|null;\n    public status: string|null;\n    public groupName: string|null;\n    public paymentType: string|null;\n    public transactionType: string|null;\n    public locationName: string|null;\n\n    public constructor(init?: Partial<GroupAccountStatementResponse>) { (Object as any).assign(this, init); }\n}\n(GroupAccountStatementResponse as unknown)[immerable] = true;\n\nexport class BillingItemsResponse\n{\n    public id: number|null;\n    public date: string|null;\n    public description: string|null;\n    public total: number|null;\n    public accountName: string|null;\n    public groupOrPatientReference: string|null;\n    public isPaid: boolean|null;\n    public invoiceRef: string|null;\n    public paidDate: string|null;\n    public invoiceId: number|null;\n    public stockType: string|null;\n    public locationName: string|null;\n    public practitionerName: string|null;\n    public totalExVat: number|null;\n    public quantity: number|null;\n    public price: number|null;\n    public vatRate: number|null;\n    public totalVat: number|null;\n    public category: string|null;\n\n    public constructor(init?: Partial<BillingItemsResponse>) { (Object as any).assign(this, init); }\n}\n(BillingItemsResponse as unknown)[immerable] = true;\n\nexport enum PrePaidStatus\n{\n    Active = 'Active',\n    Expired = 'Expired',\n    Used = 'Used',\n    Removed = 'Removed',\n}\n\nexport class GroupedPrePaidItems\n{\n    public id: number|null;\n    public description: string|null;\n    public items: string[]|null;\n    public classTypeIds: number[]|null;\n    public status: PrePaidStatus|null;\n    public isCourse: boolean|null;\n    public itemsLeft: number|null;\n    public itemsUsed: number|null;\n    public used: number|null;\n    public totalQuantity: number|null;\n    public names: string|null;\n    public expires: string|null;\n    public remaining: string|null;\n\n    public constructor(init?: Partial<GroupedPrePaidItems>) { (Object as any).assign(this, init); }\n}\n(GroupedPrePaidItems as unknown)[immerable] = true;\n\nexport class PrePaidItems\n{\n    public billingItemId: number|null;\n    public packageId: string|null;\n    public packageName: string|null;\n    public totalPrice: number|null;\n    public items: GroupedPrePaidItems[]|null;\n    public itemIds: number[]|null;\n    public date: string|null;\n    public expiryDate: string|null;\n    public status: number|null;\n    public totalCredits: number|null;\n    public creditsRemaining: number|null;\n\n    public constructor(init?: Partial<PrePaidItems>) { (Object as any).assign(this, init); }\n}\n(PrePaidItems as unknown)[immerable] = true;\n\nexport class InvoicePaymentsResponse\n{\n    public id: number|null;\n    public invoiceId: number|null;\n    public refundId: number|null;\n    public amount: number|null;\n    public paymentMethod: string|null;\n    public otherPaymentMethod: string|null;\n    public actualPaymentMethod: string|null;\n    public customerId: number|null;\n    public status: string|null;\n    public date: string|null;\n    public reference: string|null;\n    public lodgementRef: string|null;\n    public paymentId: number|null;\n    public paidBy: string|null;\n    public notes: string|null;\n    public cardType: string|null;\n    public cardNumber: string|null;\n    public expiry: string|null;\n    public chequeNumber: string|null;\n    public migrated: boolean|null;\n    public paymentAmount: number|null;\n    public transferred: string|null;\n\n    public constructor(init?: Partial<InvoicePaymentsResponse>) { (Object as any).assign(this, init); }\n}\n(InvoicePaymentsResponse as unknown)[immerable] = true;\n\nexport class ClickContactSearchResult\n{\n    public typeId: number|null;\n    public id: string|null;\n    public title: string|null;\n    public forename: string|null;\n    public surname: string|null;\n    public addR1: string|null;\n    public addR2: string|null;\n    public addR3: string|null;\n    public addR4: string|null;\n    public addR5: string|null;\n    public postcode: string|null;\n    public isMedical: boolean|null;\n    // @Ignore()\n    public name: string|null;\n\n    public category: string|null;\n\n    public constructor(init?: Partial<ClickContactSearchResult>) { (Object as any).assign(this, init); }\n}\n(ClickContactSearchResult as unknown)[immerable] = true;\n\nexport class ClickCustomerNotesCheckResponse\n{\n    public caseId: number|null;\n\n    public constructor(init?: Partial<ClickCustomerNotesCheckResponse>) { (Object as any).assign(this, init); }\n}\n(ClickCustomerNotesCheckResponse as unknown)[immerable] = true;\n\nexport class Treatment implements IHasId, ICascade\n{\n    public id: number|null;\n    public caseId: number|null;\n    public appointmentId: number|null;\n    public dateTime: string|null;\n    public initials: string|null;\n    public notes: string|null;\n    public length: number|null;\n    public assessLength: number|null;\n    public cost: number|null;\n    public locationId: number|null;\n    public practitionerId: number|null;\n    public migrated: boolean|null;\n    public closed: boolean|null;\n    public closedUser: string|null;\n    public closedDate: string|null;\n    public scale: number|null;\n    public measure: string|null;\n    public data: { [index:string]: Object; }|null;\n    public autoSaved: boolean|null;\n    public templateId: string|null;\n    public highlights: { [index:string]: number[]; }|null;\n    public type: string|null;\n    public createdByUserId: number|null;\n    public createdDate: string|null;\n    public lastUpdatedDate: string|null;\n    public validated: boolean|null;\n\n    public constructor(init?: Partial<Treatment>) { (Object as any).assign(this, init); }\n}\n(Treatment as unknown)[immerable] = true;\n\nexport enum CaseStatus\n{\n    AwaitingFirstAppointment = 1,\n    InTreatment = 3,\n    OnHold = 7,\n    Discharged = 8,\n    ClosedButWaitingForReview = 12,\n    ClosedAndReviewed = 14,\n}\n\nexport class AppointmentCaseResponse\n{\n    public id: number|null;\n    public bodySite: string|null;\n    public admissionDate: string|null;\n    public practitionerId: string|null;\n    public description: string|null;\n    public consultations: Treatment[]|null;\n    public dischargeDate: string|null;\n    public discharged: boolean|null;\n    public bookingAuditId: string|null;\n    public status: CaseStatus|null;\n    public firstAppointmentStatus: number|null;\n\n    public constructor(init?: Partial<AppointmentCaseResponse>) { (Object as any).assign(this, init); }\n}\n(AppointmentCaseResponse as unknown)[immerable] = true;\n\nexport class CustomerServiceResponse\n{\n    public id: number|null;\n    public customerSecurityLevel: number|null;\n    public customerSecurityKeyWord: string|null;\n\n    public constructor(init?: Partial<CustomerServiceResponse>) { (Object as any).assign(this, init); }\n}\n(CustomerServiceResponse as unknown)[immerable] = true;\n\nexport class PatientLogResponse\n{\n    public id: number|null;\n    public customerId: number|null;\n    public dateTime: string|null;\n    public entry: string|null;\n    public serviceTypeId: number|null;\n\n    public constructor(init?: Partial<PatientLogResponse>) { (Object as any).assign(this, init); }\n}\n(PatientLogResponse as unknown)[immerable] = true;\n\nexport class Patientlog implements IHasId\n{\n    public id: number|null;\n    public customerId: number|null;\n    public dateTime: string|null;\n    public entry: string|null;\n    public user: number|null;\n    public type: string|null;\n    public activityArea: string|null;\n    public serviceTypeId: number|null;\n    public linkedObjectType: TimelineLinkedObjectType|null;\n    public linkedObjectId: number|null;\n    public contextId: number|null;\n    public context: TimelineContextObjectType|null;\n    public linkedDocumentId: string|null;\n    public documentLinkedToObjectType: TimelineLinkedObjectType|null;\n    public documentLinkedToObjectId: number|null;\n\n    public constructor(init?: Partial<Patientlog>) { (Object as any).assign(this, init); }\n}\n(Patientlog as unknown)[immerable] = true;\n\nexport class PatientInfoLogResponse implements IPatientInfoResponse\n{\n    public id: number|null;\n    public responseType: string|null;\n    public date: string|null;\n    public description: string|null;\n    public title: string|null;\n    public pinned: boolean|null;\n    public dateTime: string|null;\n    public entry: string|null;\n    public userName: string|null;\n    public customerId: number|null;\n    public type: string|null;\n    public activityArea: string|null;\n    public serviceTypeId: number|null;\n\n    public constructor(init?: Partial<PatientInfoLogResponse>) { (Object as any).assign(this, init); }\n}\n(PatientInfoLogResponse as unknown)[immerable] = true;\n\nexport class RoomResponse\n{\n    public id: number|null;\n    public description: string|null;\n    public locationId: number|null;\n    public locationName: string|null;\n    public status: boolean|null;\n    public colour: number|null;\n    public hexColour: string|null;\n\n    public constructor(init?: Partial<RoomResponse>) { (Object as any).assign(this, init); }\n}\n(RoomResponse as unknown)[immerable] = true;\n\nexport class PractitionerLocation\n{\n    public id: number|null;\n    public practitionerId: number|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<PractitionerLocation>) { (Object as any).assign(this, init); }\n}\n\nexport class NonWorkingDate implements IHasId\n{\n    public id: number|null;\n    public date: string|null;\n    public practitionerId: number|null;\n    public title: string|null;\n\n    public constructor(init?: Partial<NonWorkingDate>) { (Object as any).assign(this, init); }\n}\n(NonWorkingDate as unknown)[immerable] = true;\n\nexport class NonWorkingDateResponse implements IHasId\n{\n    public id: number|null;\n    public date: string|null;\n    public practitionerId: number|null;\n    public endDate: string|null;\n    public title: string|null;\n\n    public constructor(init?: Partial<NonWorkingDateResponse>) { (Object as any).assign(this, init); }\n}\n(NonWorkingDateResponse as unknown)[immerable] = true;\n\nexport class DiarySessionResponse\n{\n    public startDateTime: string|null;\n    public endDateTime: string|null;\n    public locationDescription: string|null;\n    public practitionerDescription: string|null;\n    public roomDescription: string|null;\n    public isSpecialSession: boolean|null;\n    public practitionerId: number|null;\n    public roomId: number|null;\n    public usedFor: string|null;\n    public locationId: number|null;\n    public hexColour: string|null;\n    public online: boolean|null;\n    public occurrences: string[]|null;\n    public id: number|null;\n\n    public constructor(init?: Partial<DiarySessionResponse>) { (Object as any).assign(this, init); }\n}\n(DiarySessionResponse as unknown)[immerable] = true;\n\nexport class ScheduleSession\n{\n    public id: number|null;\n    public roomId: number|null;\n    public type: string|null;\n    public isOnline: boolean|null;\n    public isSpecial: boolean|null;\n    public locationId: number|null;\n    public usedFor: string|null;\n    public hexColour: string|null;\n    public scheduleId: string|null;\n    public practitionerId: number|null;\n    public endDateTime: string|null;\n    public startDateTime: string|null;\n    public dateDiff: number|null;\n    public startTimeMinutes: number|null;\n    public isBatch: boolean|null;\n    public isFirstInBatch: boolean|null;\n    public batchNo: number|null;\n    public multiUsedFor: string[]|null;\n    public skillRestrictions: string[]|null;\n\n    public constructor(init?: Partial<ScheduleSession>) { (Object as any).assign(this, init); }\n}\n(ScheduleSession as unknown)[immerable] = true;\n\nexport class ScheduleAppointment\n{\n    public id: number|null;\n    public locationId: number|null;\n    public name: string|null;\n    public authId: number|null;\n    public authLeft: number|null;\n    public startDateTime: string|null;\n    public endDateTime: string|null;\n    public actualStartDateTime: string|null;\n    public actualEndDateTime: string|null;\n    public dateDiff: number|null;\n    public startTimeMinutes: number|null;\n    public scheduleId: string|null;\n    public hexColour: string|null;\n    public type: string|null;\n    public reminderType: string|null;\n    public status: number|null;\n    public isMulti: boolean|null;\n    public isMultiFirst: boolean|null;\n    public inDebt: boolean|null;\n    public payAtEachAppt: string|null;\n    public comment: string|null;\n    public caseId: number|null;\n    public firstAppointment: boolean|null;\n    public stockDescription: string|null;\n    public meta: { [index:string]: Object; }|null;\n    public serviceTypeId: number|null;\n    public alert: boolean|null;\n    public prontoAuditId: string|null;\n    public prontoAppointmentId: string|null;\n    public prontoServiceId: string|null;\n    public practitionerId: number|null;\n    public roomId: number|null;\n    public stockId: number|null;\n    public customerId: number|null;\n    public customerReference: string|null;\n    public customerAltRef: string|null;\n    public customerMobileTelephone: string|null;\n    public customerEmail: string|null;\n    public customerSMSEnabled: boolean|null;\n    public customerTitle: string|null;\n    public customerForename: string|null;\n    public customerSurname: string|null;\n    public customerName: string|null;\n    public customerDateOfBirth: string|null;\n    public customerGender: string|null;\n    public customerStatus: number|null;\n    public customerRegistrationDate: string|null;\n    public insuranceNumber: string|null;\n    public groupReference: string|null;\n    public groupId: number|null;\n    public batchNo: number|null;\n    public isFirstInBatch: boolean|null;\n    public isBatch: boolean|null;\n\n    public constructor(init?: Partial<ScheduleAppointment>) { (Object as any).assign(this, init); }\n}\n(ScheduleAppointment as unknown)[immerable] = true;\n\nexport class Schedule\n{\n    public id: number|null;\n    public name: string|null;\n    public sessions: { [index:string]: ScheduleSession; }|null;\n    public appointments: { [index:string]: ScheduleAppointment; }|null;\n\n    public constructor(init?: Partial<Schedule>) { (Object as any).assign(this, init); }\n}\n(Schedule as unknown)[immerable] = true;\n\nexport class ScheduleBlock\n{\n    public count: number|null;\n    public holiday: boolean|null;\n    public keys: string[]|null;\n    public values: { [index:string]: Schedule; }|null;\n\n    public constructor(init?: Partial<ScheduleBlock>) { (Object as any).assign(this, init); }\n}\n(ScheduleBlock as unknown)[immerable] = true;\n\nexport class ScheduleResponse\n{\n    public columns: number|null;\n    public count: number|null;\n    public keys: string[]|null;\n    public blocks: { [index:string]: ScheduleBlock; }|null;\n\n    public constructor(init?: Partial<ScheduleResponse>) { (Object as any).assign(this, init); }\n}\n(ScheduleResponse as unknown)[immerable] = true;\n\nexport class DayOverview\n{\n    public availableHours: number|null;\n    public noOfAppointments: number|null;\n    public noOfClasses: number|null;\n    public noOfMeetings: number|null;\n    public noOfOtherEvents: number|null;\n    public noOfHolidays: number|null;\n    public date: string|null;\n    public nonWorkingDate: boolean|null;\n    public utilizationPercentage: number|null;\n    public noOfCancelled: number|null;\n\n    public constructor(init?: Partial<DayOverview>) { (Object as any).assign(this, init); }\n}\n(DayOverview as unknown)[immerable] = true;\n\nexport class MonthlyScheduleResponse\n{\n    public days: DayOverview[]|null;\n\n    public constructor(init?: Partial<MonthlyScheduleResponse>) { (Object as any).assign(this, init); }\n}\n(MonthlyScheduleResponse as unknown)[immerable] = true;\n\nexport class OccurrenceResponse\n{\n    public occurrences: string[]|null;\n    public isLastInBatch: boolean|null;\n\n    public constructor(init?: Partial<OccurrenceResponse>) { (Object as any).assign(this, init); }\n}\n(OccurrenceResponse as unknown)[immerable] = true;\n\nexport interface IHasGlobalGuid\n{\n    globalGuid: string|null;\n}\n\nexport class PaymentResponse extends Income\n{\n    public accountName: string|null;\n    public smsEnabled: boolean|null;\n    public customerMobileTelephone: string|null;\n    public accountType: string|null;\n    public accountTypeId: number|null;\n    public locationName: string|null;\n    public emailReceipt: boolean|null;\n    public receiptTemplate: string|null;\n    public statusName: string|null;\n    public method: string|null;\n    public accountingSystemPaymentId: string|null;\n\n    public constructor(init?: Partial<PaymentResponse>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentResponse as unknown)[immerable] = true;\n\nexport class PaymentsResponse extends PaymentResponse\n{\n    public invoiceId: number|null;\n    public refundId: number|null;\n    public paymentAmount: number|null;\n    public description: string|null;\n    public type: string|null;\n    public debit: number|null;\n    public credit: number|null;\n    public customerName: string|null;\n    public remainingAmount: number|null;\n\n    public constructor(init?: Partial<PaymentsResponse>) { super(init); (Object as any).assign(this, init); }\n}\n(PaymentsResponse as unknown)[immerable] = true;\n\nexport class BillingItemWithNames extends BillingItem\n{\n    public practitionerForename: string|null;\n    public practitionerTitle: string|null;\n    public practitionerSurname: string|null;\n    public practitionerCode: string|null;\n    public practitionerLocationCode: string|null;\n    public practitionerGroupProviderNo: string|null;\n    // @Ignore()\n    public providerNo: string|null;\n\n    public employmentStatus: string|null;\n    // @Ignore()\n    public practitionerName: string|null;\n\n    public customerForename: string|null;\n    public customerTitle: string|null;\n    public customerSurname: string|null;\n    // @Ignore()\n    public customerName: string|null;\n\n    public auditId: string|null;\n\n    public constructor(init?: Partial<BillingItemWithNames>) { super(init); (Object as any).assign(this, init); }\n}\n(BillingItemWithNames as unknown)[immerable] = true;\n\nexport class BillingItemWithNamesExtended extends BillingItemWithNames\n{\n    public customerReference: string|null;\n    public customerAddressLine1: string|null;\n    public customerAddressLine2: string|null;\n    public customerAddressLine3: string|null;\n    public customerAddressLine4: string|null;\n    public customerAddressLine5: string|null;\n    public customerPostcode: string|null;\n    public customerDateOfBirth: string|null;\n    public customerGroupReference: string|null;\n    public customerInsuranceNumber: string|null;\n    public regNumber: string|null;\n\n    public constructor(init?: Partial<BillingItemWithNamesExtended>) { super(init); (Object as any).assign(this, init); }\n}\n(BillingItemWithNamesExtended as unknown)[immerable] = true;\n\nexport class BillingItemWithNamesAuth extends BillingItemWithNamesExtended\n{\n    public authId: number|null;\n    public authCode: string|null;\n\n    public constructor(init?: Partial<BillingItemWithNamesAuth>) { super(init); (Object as any).assign(this, init); }\n}\n(BillingItemWithNamesAuth as unknown)[immerable] = true;\n\nexport class AccountsExportChargesPreviewResponse\n{\n    public ledgerCode: string|null;\n    public location: string|null;\n    public amount: number|null;\n    public exVat: number|null;\n    public vat: number|null;\n\n    public constructor(init?: Partial<AccountsExportChargesPreviewResponse>) { (Object as any).assign(this, init); }\n}\n(AccountsExportChargesPreviewResponse as unknown)[immerable] = true;\n\nexport class AccountsExportPaymentsAlertsResponse\n{\n    public id: number|null;\n    public date: string|null;\n    public amount: number|null;\n    public method: string|null;\n    public reference: string|null;\n    public name: string|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<AccountsExportPaymentsAlertsResponse>) { (Object as any).assign(this, init); }\n}\n(AccountsExportPaymentsAlertsResponse as unknown)[immerable] = true;\n\nexport class AccountsExportPaymentsFilePreviewResponse\n{\n    public type: string|null;\n    public reference: string|null;\n    public location: string|null;\n    public date: string|null;\n    public amount: number|null;\n    public paymentMethod: string|null;\n\n    public constructor(init?: Partial<AccountsExportPaymentsFilePreviewResponse>) { (Object as any).assign(this, init); }\n}\n(AccountsExportPaymentsFilePreviewResponse as unknown)[immerable] = true;\n\nexport class AccountsExportPaymentsPreviewResponse\n{\n    public a: AccountsExportPaymentsAlertsResponse[]|null;\n    public b: AccountsExportPaymentsFilePreviewResponse[]|null;\n\n    public constructor(init?: Partial<AccountsExportPaymentsPreviewResponse>) { (Object as any).assign(this, init); }\n}\n(AccountsExportPaymentsPreviewResponse as unknown)[immerable] = true;\n\nexport class AccountExportHistoryResponse\n{\n    public id: number|null;\n    public fromDate: string|null;\n    public toDate: string|null;\n    public type: string|null;\n    public dateTime: string|null;\n\n    public constructor(init?: Partial<AccountExportHistoryResponse>) { (Object as any).assign(this, init); }\n}\n(AccountExportHistoryResponse as unknown)[immerable] = true;\n\nexport class GroupBillingItemsResponse\n{\n    public id: number|null;\n    public date: string|null;\n    public description: string|null;\n    public total: number|null;\n    public accountName: string|null;\n    public accountsExportId: number|null;\n    public groupOrPatientReference: string|null;\n    public customerInvoicePeriod: string|null;\n    public groupInvoicePeriod: string|null;\n    public invoicePeriod: string|null;\n    public isPaid: boolean|null;\n    public invoiceRef: string|null;\n    public paidDate: string|null;\n    public invoiceId: number|null;\n    public stockType: string|null;\n    public locationName: string|null;\n    public practitionerName: string|null;\n    public customerName: string|null;\n    public customerId: number|null;\n    public status: string|null;\n    public parentId: number|null;\n    public totalExVat: number|null;\n    public groupId: number|null;\n    public groupName: string|null;\n    public accountingSystemLineItemId: string|null;\n    public accountingSystemCreditNoteId: string|null;\n\n    public constructor(init?: Partial<GroupBillingItemsResponse>) { (Object as any).assign(this, init); }\n}\n(GroupBillingItemsResponse as unknown)[immerable] = true;\n\nexport class GroupingResponse\n{\n    public total: number|null;\n    public grouping: ChargeGroup[]|null;\n\n    public constructor(init?: Partial<GroupingResponse>) { (Object as any).assign(this, init); }\n}\n(GroupingResponse as unknown)[immerable] = true;\n\nexport class InvoiceGroupingResponse\n{\n    public batch: InvoiceBatch|null;\n    public manifest: GroupingResponse[]|null;\n\n    public constructor(init?: Partial<InvoiceGroupingResponse>) { (Object as any).assign(this, init); }\n}\n(InvoiceGroupingResponse as unknown)[immerable] = true;\n\nexport class InvoiceWizardResponse\n{\n    public invoices: number[]|null;\n\n    public constructor(init?: Partial<InvoiceWizardResponse>) { (Object as any).assign(this, init); }\n}\n(InvoiceWizardResponse as unknown)[immerable] = true;\n\nexport class DebtsResponse\n{\n    public id: number|null;\n    public reference: string|null;\n    public date: string|null;\n    public dueDate: string|null;\n    public grandTotal: number|null;\n    public amountPaid: number|null;\n    public amountRemaining: number|null;\n    public debtAge: string|null;\n    public accountTypeName: string|null;\n    public accountName: string|null;\n    public mobileNumber: string|null;\n    public smsEnabled: boolean|null;\n    public status: string|null;\n    public statusName: string|null;\n    public customerId: number|null;\n    public customerName: string|null;\n    public locationId: number|null;\n    public accountId: number|null;\n    public groupAccountId: number|null;\n    public patientAccountId: number|null;\n    public patientFullName: string|null;\n    public template: string|null;\n    public email: string|null;\n    public paymentCardAvailability: boolean|null;\n    public accountType: string|null;\n    public paymentStatus: string|null;\n\n    public constructor(init?: Partial<DebtsResponse>) { (Object as any).assign(this, init); }\n}\n(DebtsResponse as unknown)[immerable] = true;\n\nexport class ExpenditureResponse\n{\n    public id: number|null;\n    public date: string|null;\n    public description: string|null;\n    public reference: string|null;\n    public amountExVAT: number|null;\n    public vatRate: number|null;\n    public vatAmount: number|null;\n    public total: number|null;\n    public category: string|null;\n    public supplierId: number|null;\n    public supplierName: string|null;\n    public expenditureName: string|null;\n    public locationId: number|null;\n    public locationName: string|null;\n    public otherPaymentMethod: string|null;\n    public chequeNumber: string|null;\n    public cardType: string|null;\n\n    public constructor(init?: Partial<ExpenditureResponse>) { (Object as any).assign(this, init); }\n}\n(ExpenditureResponse as unknown)[immerable] = true;\n\nexport class InvoicesResponse\n{\n    public id: number|null;\n    public reference: string|null;\n    public date: string|null;\n    public dueDate: string|null;\n    public fullyPaidDate: string|null;\n    public grandTotal: number|null;\n    public amountPaid: number|null;\n    public mobileNumber: string|null;\n    public smsEnabled: boolean|null;\n    public status: string|null;\n    public statusName: string|null;\n    public customerId: number|null;\n    public locationId: number|null;\n    public accountId: number|null;\n    public patientAccountId: number|null;\n    public healthCodeId: number|null;\n    public accountType: string|null;\n    public accountTypeId: number|null;\n    public groupAccountId: number|null;\n    public groupName: string|null;\n    public addressTo: string|null;\n    public addressLine1: string|null;\n    public addressLine2: string|null;\n    public addressLine3: string|null;\n    public addressLine4: string|null;\n    public addressLine5: string|null;\n    public postCode: string|null;\n    public invoiceAddress: string|null;\n    public invoiceReminder: number|null;\n    public invoiceSecondReminder: number|null;\n    public notes: string|null;\n    public customerForename: string|null;\n    public customerSurname: string|null;\n    public customerName: string|null;\n    public customerAddress1: string|null;\n    public customerPostCode: string|null;\n    public patientPractitionerId: number|null;\n    public otherAmountAvailable: number|null;\n    public locationName: string|null;\n    public template: string|null;\n    public email: string|null;\n    public globalId: string|null;\n    public globalType: number|null;\n    public metadata: ProntoInvoice|null;\n    public paymentCard: PaymentCard|null;\n    public paymentCardAvailability: boolean|null;\n    public meta: { [index:string]: Object; }|null;\n    public paymentStatus: string|null;\n    public medipassStatus: string|null;\n    public purchaseOrderNumber: string|null;\n    public medicalContactId: number|null;\n    public medicalContactName: string|null;\n    public referralDate: string|null;\n    public uninvoicedBillingItemCount: number|null;\n    public patientAmountAvailable: number|null;\n    public accountingSystemInvoiceId: string|null;\n    public registrationNumber: string|null;\n    public vehicleId: number|null;\n    public registrationOrigin: string|null;\n\n    public constructor(init?: Partial<InvoicesResponse>) { (Object as any).assign(this, init); }\n}\n(InvoicesResponse as unknown)[immerable] = true;\n\nexport class InvoiceDto\n{\n    public id: string|null;\n\n    public constructor(init?: Partial<InvoiceDto>) { (Object as any).assign(this, init); }\n}\n(InvoiceDto as unknown)[immerable] = true;\n\nexport class ProntoInvoiceResponse\n{\n    public invoice: InvoiceDto|null;\n    public responseStatus: ResponseStatus|null;\n\n    public constructor(init?: Partial<ProntoInvoiceResponse>) { (Object as any).assign(this, init); }\n}\n(ProntoInvoiceResponse as unknown)[immerable] = true;\n\nexport class TransactionResponse\n{\n    public id: number|null;\n    public type: string|null;\n    public date: string|null;\n    public description: string|null;\n    public total: number|null;\n    public totalExVat: number|null;\n    public totalVat: number|null;\n    public practitioner: string|null;\n    public practitionerId: number|null;\n    public customer: string|null;\n    public reference: string|null;\n    public method: string|null;\n    public status: string|null;\n    public paymentId: number|null;\n    public itemPrice: number|null;\n    public ledgerCode: string|null;\n    public lodgementRef: string|null;\n    public category: string|null;\n    public accountId: number|null;\n    public customerId: number|null;\n    public accountsExportId: number|null;\n    public locationId: number|null;\n    public invoiceStatus: string|null;\n    public invoiceId: number|null;\n    public invoiceStatusName: string|null;\n    public prontoServiceId: string|null;\n\n    public constructor(init?: Partial<TransactionResponse>) { (Object as any).assign(this, init); }\n}\n(TransactionResponse as unknown)[immerable] = true;\n\nexport class InvoiceBatchResponse\n{\n    public id: number|null;\n    public date: string|null;\n\n    public constructor(init?: Partial<InvoiceBatchResponse>) { (Object as any).assign(this, init); }\n}\n(InvoiceBatchResponse as unknown)[immerable] = true;\n\n// @Flags()\nexport enum EGroupsAccountSearchResponseType\n{\n    Invoice = 0,\n    Payment = 1,\n}\n\n// @Flags()\nexport enum EGroupsAccountSearchResponseStatus\n{\n    InvoicePaid = 0,\n    InvoiceUnpaid = 1,\n    InvoicePartPaid = 2,\n    InvoiceWrittenOff = 3,\n    PaymentReconciled = 4,\n    PaymentUnreconciled = 5,\n    PaymentPartReconciled = 6,\n    PaymentVoided = 7,\n}\n\nexport class GroupsAccountSearchResponse\n{\n    public id: number|null;\n    public reference: string|null;\n    public date: string|null;\n    public customerName: string|null;\n    public customerId: number|null;\n    public locationId: number|null;\n    public locationName: string|null;\n    public debit: number|null;\n    public credit: number|null;\n    public type: EGroupsAccountSearchResponseType|null;\n    public eStatus: EGroupsAccountSearchResponseStatus|null;\n\n    public constructor(init?: Partial<GroupsAccountSearchResponse>) { (Object as any).assign(this, init); }\n}\n(GroupsAccountSearchResponse as unknown)[immerable] = true;\n\nexport class PaymentDetailsResponse\n{\n    public refundId: number|null;\n    public isLocked: boolean|null;\n    public refund: number|null;\n    public available: number[]|null;\n    public reconciled: number[]|null;\n    public payment: PaymentResponse|null;\n    public reconciliations: ReconciliationResponse[]|null;\n\n    public constructor(init?: Partial<PaymentDetailsResponse>) { (Object as any).assign(this, init); }\n}\n(PaymentDetailsResponse as unknown)[immerable] = true;\n\nexport class RemainingAuths\n{\n    public id: number|null;\n    public remaining: number|null;\n\n    public constructor(init?: Partial<RemainingAuths>) { (Object as any).assign(this, init); }\n}\n(RemainingAuths as unknown)[immerable] = true;\n\nexport class CancellationReasonResponse\n{\n    public appointmentAuthRemaining: RemainingAuths[]|null;\n\n    public constructor(init?: Partial<CancellationReasonResponse>) { (Object as any).assign(this, init); }\n}\n(CancellationReasonResponse as unknown)[immerable] = true;\n\nexport interface IHangfireJobQueueService\n{\n}\n\nexport class QuickBill extends Customer\n{\n    public name: string|null;\n    public paymentsAvailable: boolean|null;\n    public cardDetails: CardDetails|null;\n\n    public constructor(init?: Partial<QuickBill>) { super(init); (Object as any).assign(this, init); }\n}\n\nexport class Group implements IHasId, IHasAddressDetails, IHasGlobalGuid, IHasDocuments\n{\n    public id: number|null;\n    public name: string|null;\n    public contact: string|null;\n    public addressLine1: string|null;\n    public addressLine2: string|null;\n    public addressLine3: string|null;\n    public addressLine4: string|null;\n    public addressLine5: string|null;\n    public postCode: string|null;\n    public telephone: string|null;\n    public fax: string|null;\n    public email: string|null;\n    public web: string|null;\n    public accountId: number|null;\n    // @Ignore()\n    public accountGuid: string|null;\n\n    public profileId: number|null;\n    public locationId: number|null;\n    // @Ignore()\n    public locationGuid: string|null;\n\n    public showReferrals: boolean|null;\n    public groupInvoices: string|null;\n    public addressTo: string|null;\n    public invoicePeriod: string|null;\n    public contractNumber: string|null;\n    public invoiceFrequency: number|null;\n    public invoiceWPID: number|null;\n    public showVAT: boolean|null;\n    public authorisationCode: string|null;\n    public defaultMaxTreatments: number|null;\n    public classification: string|null;\n    public cancellationHours: number|null;\n    public paysForDNA: boolean|null;\n    public paysForCancel: boolean|null;\n    public notificationEmail: string|null;\n    public abbreviationPrefix: string|null;\n    public online: boolean|null;\n    public globalId: string|null;\n    public accountCode: string|null;\n    public dueDaysOverride: number|null;\n    public invoiceTemplate: string|null;\n    public onlineGuid: string|null;\n    public tm3InvoiceTemplate: string|null;\n    public invoicePaymentTerms: string|null;\n    public useInvoicePaymentTerms: boolean|null;\n    public groupInvoiceByStockId: boolean|null;\n    public financialAddress: string|null;\n    public medipassFunder: string|null;\n    public medipassFunderCode: string|null;\n    public isVatExempt: boolean|null;\n    public vatExemptionNumber: string|null;\n    public vatExemptionExpiryDate: string|null;\n    public allowedEmails: string|null;\n    public onlineSettingsId: number|null;\n    public documentsLoaded: boolean|null;\n    public businessPortalTwoFactorAuthenticationEnabled: boolean|null;\n    public authorisationExpiryInDays: number|null;\n    public authorisationExpiryTriggerInDays: number|null;\n    public remainingAuthorisationThreshold: number|null;\n    // @Ignore()\n    public documentsSubDirectory: string|null;\n\n    // @Ignore()\n    public reference: string|null;\n\n    // @Ignore()\n    public globalGuid: string|null;\n\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<Group>) { (Object as any).assign(this, init); }\n}\n(Group as unknown)[immerable] = true;\n\nexport class PrePaid implements IHasId\n{\n    public id: number|null;\n    public accountId: number|null;\n    public customerId: number|null;\n    public billingItemId: number|null;\n    public quantity: number|null;\n    public used: number|null;\n    public status: PrePaidStatus|null;\n    public prePaidLastUsedOn: string|null;\n    public expiryDate: string|null;\n\n    public constructor(init?: Partial<PrePaid>) { (Object as any).assign(this, init); }\n}\n(PrePaid as unknown)[immerable] = true;\n\nexport class PrePaidLegacy extends PrePaid\n{\n    public stockId: number|null;\n\n    public constructor(init?: Partial<PrePaidLegacy>) { super(init); (Object as any).assign(this, init); }\n}\n(PrePaidLegacy as unknown)[immerable] = true;\n\nexport class PrePaidWithBillingDescription extends PrePaidLegacy\n{\n    public billingItemDescription: string|null;\n    public billingItemStockId: number|null;\n    public type: EPrePaidType|null;\n\n    public constructor(init?: Partial<PrePaidWithBillingDescription>) { super(init); (Object as any).assign(this, init); }\n}\n(PrePaidWithBillingDescription as unknown)[immerable] = true;\n\nexport class Stock implements IHasId, IHasGlobalGuid\n{\n    public id: number|null;\n    public totalPrice: number|null;\n    public description: string|null;\n    public appointmentLength: number|null;\n    public serviceTypeId: number|null;\n    // @Ignore()\n    public serviceTypeGuid: string|null;\n\n    public crossLocationThreadId: string|null;\n    public locationId: number|null;\n    // @Ignore()\n    public locationGuid: string|null;\n\n    public colour: number|null;\n    public inUse: boolean|null;\n    public priceExVAT: number|null;\n    public vatRate: number|null;\n    public vatAmount: number|null;\n    public costAmount: number|null;\n    public costVATRate: number|null;\n    public costExVAT: number|null;\n    public costVATAmount: number|null;\n    public longDescription: string|null;\n    public ledgerCode: string|null;\n    public barCodeReference: string|null;\n    public reference: string|null;\n    public category: string|null;\n    public level: number|null;\n    public minimumLevel: number|null;\n    public displayInPriceList: boolean|null;\n    public isMultiple: boolean|null;\n    public isClass: boolean|null;\n    public migrated: boolean|null;\n    public supplierId: number|null;\n    public isPrivateCharge: boolean|null;\n    public groupName: string|null;\n    public classification: string|null;\n    public online: boolean|null;\n    public onlineGuid: string|null;\n    public ccsd: string|null;\n    public iscCodeID: number|null;\n    public templateSetId: number|null;\n    public isVideo: boolean|null;\n    public managementFee: boolean|null;\n    public cancellationStockId: number|null;\n    public didNotAttendStockId: number|null;\n    public notes: string|null;\n    // @Ignore()\n    public globalGuid: string|null;\n\n    public tags: string[]|null;\n    public specialismId: string|null;\n    public credits: number|null;\n    public eligibleForTaxExemption: boolean|null;\n\n    public constructor(init?: Partial<Stock>) { (Object as any).assign(this, init); }\n}\n(Stock as unknown)[immerable] = true;\n\nexport class GeneralBillingItemResponse extends BillingItem\n{\n    public accountName: string|null;\n    public practitionerName: string|null;\n    public reference: string|null;\n    public accountType: string|null;\n    public auditId: string|null;\n    public prontoAppointmentId: string|null;\n    public apptProntoServiceId: string|null;\n    public apptStockId: number|null;\n    public apptBillingItemID: number|null;\n\n    public constructor(init?: Partial<GeneralBillingItemResponse>) { super(init); (Object as any).assign(this, init); }\n}\n\nexport class ProntoServiceStock\n{\n    public id: string|null;\n    public name: string|null;\n    public exVat: number|null;\n    public vatRate: number|null;\n    public stockOnlineGuid: string|null;\n    public overrides: { [index:string]: string; }|null;\n    public canBillCXX: boolean|null;\n    public canBillDNA: boolean|null;\n    public cancellationChargeServiceId: string|null;\n    public dnaChargeServiceId: string|null;\n    public serviceType: NetworkServiceType|null;\n    public serviceNextAppointmentType: string|null;\n\n    public constructor(init?: Partial<ProntoServiceStock>) { (Object as any).assign(this, init); }\n}\n(ProntoServiceStock as unknown)[immerable] = true;\n\nexport class InvoiceTemplate\n{\n    public id: string|null;\n    public type: number|null;\n    public title: string|null;\n    public bookerId: string|null;\n    public template: string|null;\n    public itemTemplate: string|null;\n    public timeStamp: string|null;\n\n    public constructor(init?: Partial<InvoiceTemplate>) { (Object as any).assign(this, init); }\n}\n(InvoiceTemplate as unknown)[immerable] = true;\n\nexport class ServiceStock extends ServiceCharge\n{\n    public id: string|null;\n    public name: string|null;\n    public serviceType: NetworkServiceType|null;\n    public serviceNextAppointmentType: string|null;\n    public stockOnlineGuid: string|null;\n    public overrides: { [index:string]: string; }|null;\n\n    public constructor(init?: Partial<ServiceStock>) { super(init); (Object as any).assign(this, init); }\n}\n(ServiceStock as unknown)[immerable] = true;\n\nexport class ProntoInvoiceSearchResponse\n{\n    public invoice: ProntoInvoice|null;\n    public schema: InvoiceTemplate|null;\n    public inventory: ServiceStock[]|null;\n\n    public constructor(init?: Partial<ProntoInvoiceSearchResponse>) { (Object as any).assign(this, init); }\n}\n(ProntoInvoiceSearchResponse as unknown)[immerable] = true;\n\nexport class QuickBillResponse\n{\n    public appointment: Appointment|null;\n    public customer: QuickBill|null;\n    public group: Group|null;\n    public stockId: number|null;\n    public ownerPractitionerId: number|null;\n    public filterMode: string|null;\n    public unpaidInvoices: Invoice[]|null;\n    public prePaid: PrePaidWithBillingDescription[]|null;\n    public prePaidInventory: Stock[]|null;\n    public uninvoicedBillingItems: GeneralBillingItemResponse[]|null;\n    public selfEmployed: boolean|null;\n    public defaultBillTo: number|null;\n    public fee: number|null;\n    public creditFee: number|null;\n    public config: Object|null;\n    public userLocationId: number|null;\n    public prontoServices: { [index:string]: ProntoServiceStock; }|null;\n    public cardDetails: CardDetails|null;\n    public clientSecret: string|null;\n    public paymentMethodId: string|null;\n    public paymentIntentId: string|null;\n    public showMedipass: boolean|null;\n    public isMyClinicIntegration: boolean|null;\n    public prontoInvoiceSearchResponse: ProntoInvoiceSearchResponse|null;\n    public meta: { [index:string]: Object; }|null;\n    public failedProntoInvoices: number[]|null;\n    public isProntoReferralBooking: boolean|null;\n    public prontoBillToReferrer: boolean|null;\n\n    public constructor(init?: Partial<QuickBillResponse>) { (Object as any).assign(this, init); }\n}\n(QuickBillResponse as unknown)[immerable] = true;\n\nexport class QuickbillMedipassResponse\n{\n    public invoiceId: number|null;\n\n    public constructor(init?: Partial<QuickbillMedipassResponse>) { (Object as any).assign(this, init); }\n}\n(QuickbillMedipassResponse as unknown)[immerable] = true;\n\nexport class AppointmentPrePaidResponse\n{\n\n    public constructor(init?: Partial<AppointmentPrePaidResponse>) { (Object as any).assign(this, init); }\n}\n(AppointmentPrePaidResponse as unknown)[immerable] = true;\n\nexport class ReferralAttachment\n{\n    public name: string|null;\n    public extension: string|null;\n    public fileSize: number|null;\n    public dateCreated: string|null;\n    public path: string|null;\n\n    public constructor(init?: Partial<ReferralAttachment>) { (Object as any).assign(this, init); }\n}\n(ReferralAttachment as unknown)[immerable] = true;\n\nexport class AuditListDto\n{\n    public auditId: string|null;\n    public id: string|null;\n    public type: number|null;\n    public status: number|null;\n    public message: string|null;\n    public timeStamp: string|null;\n    public metadata: { [index:string]: string; }|null;\n    public attachments: ReferralAttachment[]|null;\n    public title: string|null;\n    public templateId: string|null;\n    public workflowId: number|null;\n\n    public constructor(init?: Partial<AuditListDto>) { (Object as any).assign(this, init); }\n}\n(AuditListDto as unknown)[immerable] = true;\n\nexport class MyClinicInvoiceResponse\n{\n    public invoice: AuditListDto|null;\n    public appointments: ReferralAppointmentResponse[]|null;\n\n    public constructor(init?: Partial<MyClinicInvoiceResponse>) { (Object as any).assign(this, init); }\n}\n(MyClinicInvoiceResponse as unknown)[immerable] = true;\n\nexport class QuickBillCompleteResponse\n{\n    public customerInvoiceId: number|null;\n    public groupInvoiceId: number|null;\n    public customerPaymentId: number|null;\n    public customerInDebt: boolean|null;\n    public groupPaymentId: number|null;\n    public groupInvoiceTemplate: string|null;\n    public appointmentAuthRemaining: RemainingAuths[]|null;\n    public medipassPaymentInfo: { [index:string]: Object; }|null;\n    public showMedipass: boolean|null;\n    public prontoInvoiceResponse: MyClinicInvoiceResponse|null;\n\n    public constructor(init?: Partial<QuickBillCompleteResponse>) { (Object as any).assign(this, init); }\n}\n(QuickBillCompleteResponse as unknown)[immerable] = true;\n\nexport class GroupServiceTypeOptions implements IHasId, IHasGlobalGuid\n{\n    public id: number|null;\n    public serviceTypeID: number|null;\n    // @Ignore()\n    public serviceTypeGuid: string|null;\n\n    public groupID: number|null;\n    // @Ignore()\n    public groupGuid: string|null;\n\n    public useAuthCodes: boolean|null;\n    public useDummyAuthCodes: boolean|null;\n    public dummyCodePrefix: string|null;\n    public cancelAffectsAuthCount: boolean|null;\n    public dnaAffectsAuthCount: boolean|null;\n    public authCodeGenerateMode: number|null;\n    public authCodeGenerateAssess: number|null;\n    public authCodeGenerateTreat: number|null;\n    public authCodeGenerateAll: number|null;\n    public globalGuid: string|null;\n    public cancelAlwaysAffectsAuthCount: boolean|null;\n    public cancelAffectsAuthCountDays: number|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<GroupServiceTypeOptions>) { (Object as any).assign(this, init); }\n}\n(GroupServiceTypeOptions as unknown)[immerable] = true;\n\nexport class GroupResponse\n{\n    public id: number|null;\n    public name: string|null;\n    public contact: string|null;\n    public addressLine1: string|null;\n    public addressLine2: string|null;\n    public addressLine3: string|null;\n    public addressLine4: string|null;\n    public addressLine5: string|null;\n    public address: string|null;\n    public postCode: string|null;\n    public telephone: string|null;\n    public fax: string|null;\n    public web: string|null;\n    public email: string|null;\n    public locationId: number|null;\n    public showReferrals: boolean|null;\n    public groupInvoices: string|null;\n    public addressTo: string|null;\n    public invoicePeriod: string|null;\n    public contractNumber: string|null;\n    public accountId: number|null;\n    public accountType: string|null;\n    public profileId: number|null;\n    public invoiceFrequency: number|null;\n    public invoiceWPID: number|null;\n    public showVAT: boolean|null;\n    public authorisationCode: string|null;\n    public defaultMaxTreatments: number|null;\n    public classification: string|null;\n    public cancellationHours: number|null;\n    public paysForDNA: boolean|null;\n    public paysForCancel: boolean|null;\n    public notificationEmail: string|null;\n    public abbreviationPrefix: string|null;\n    public online: boolean|null;\n    public globalId: string|null;\n    public cancelId: number|null;\n    public dnaId: number|null;\n    public alerts: AlertResponse[]|null;\n    public locationIds: number[]|null;\n    public balanceOwed: number|null;\n    public balanceInvoiced: number|null;\n    public uninvoicedCharges: number|null;\n    public tm3InvoiceTemplate: string|null;\n    public locationName: string|null;\n    public meta: { [index:string]: Object; }|null;\n    public dueDaysOverride: number|null;\n    public serviceTypes: GroupServiceTypeOptions[]|null;\n    public distributorGroupId: number|null;\n    public isDistributor: boolean|null;\n    public invoicePaymentTerms: string|null;\n    public useInvoicePaymentTerms: boolean|null;\n    public groupInvoiceByStockId: boolean|null;\n    public billDistributor: boolean|null;\n    public healthcodeEnabled: boolean|null;\n    public minorUpperAgeLimit: number|null;\n    public adolescentUpperAgeLimit: number|null;\n    public medipassFunder: string|null;\n    public medipassFunderCode: string|null;\n    public isVatExempt: boolean|null;\n    public financialAddress: string|null;\n    public vatExemptionNumber: string|null;\n    public vatExemptionExpiryDate: string|null;\n    public allowedEmails: string|null;\n    public onlineGuid: string|null;\n    public referralPortalEnabled: boolean|null;\n    public businessPortalTwoFactorAuthenticationEnabled: boolean|null;\n    public childGroups: number[]|null;\n    public authorisationExpiryInDays: number|null;\n    public authorisationExpiryTriggerInDays: number|null;\n    public remainingAuthorisationThreshold: number|null;\n\n    public constructor(init?: Partial<GroupResponse>) { (Object as any).assign(this, init); }\n}\n(GroupResponse as unknown)[immerable] = true;\n\nexport class GroupServiceTypeOptionsResponse\n{\n    public id: number|null;\n    public serviceTypeID: number|null;\n    public groupID: number|null;\n    public useAuthCodes: boolean|null;\n    public useDummyAuthCodes: boolean|null;\n    public dummyCodePrefix: string|null;\n    public groupDefaultAuthCount: number|null;\n    public nextDummyCode: string|null;\n    public cancelAffectsAuthCount: boolean|null;\n    public dnaAffectsAuthCount: boolean|null;\n    public authCodeGenerateMode: number|null;\n    public authCodeGenerateAssess: number|null;\n    public authCodeGenerateTreat: number|null;\n    public authCodeGenerateAll: number|null;\n    public cancelAlwaysAffectsAuthCount: boolean|null;\n    public cancelAffectsAuthCountDays: number|null;\n\n    public constructor(init?: Partial<GroupServiceTypeOptionsResponse>) { (Object as any).assign(this, init); }\n}\n(GroupServiceTypeOptionsResponse as unknown)[immerable] = true;\n\nexport class AppointmentEventBase\n{\n    public id: string|null;\n    public name: string|null;\n\n    public constructor(init?: Partial<AppointmentEventBase>) { (Object as any).assign(this, init); }\n}\n\nexport class BusinessResponse\n{\n    public name: string|null;\n    public isActive: boolean|null;\n    public id: number|null;\n\n    public constructor(init?: Partial<BusinessResponse>) { (Object as any).assign(this, init); }\n}\n(BusinessResponse as unknown)[immerable] = true;\n\nexport class HealthcodeSettingsResponse\n{\n    public groups: BusinessResponse[]|null;\n    public username: string|null;\n    public password: string|null;\n    public siteId: string|null;\n    public senderCode: string|null;\n\n    public constructor(init?: Partial<HealthcodeSettingsResponse>) { (Object as any).assign(this, init); }\n}\n(HealthcodeSettingsResponse as unknown)[immerable] = true;\n\nexport class ExportIssueBillingItem\n{\n    public billingItemDate: string|null;\n    public billingItemDescription: string|null;\n    public billingItemTotal: number|null;\n    public locationName: string|null;\n    public problems: string[]|null;\n\n    public constructor(init?: Partial<ExportIssueBillingItem>) { (Object as any).assign(this, init); }\n}\n(ExportIssueBillingItem as unknown)[immerable] = true;\n\nexport class ExportIssueInvoice\n{\n    public invoiceReference: number|null;\n    public customer: string|null;\n    public problems: string[]|null;\n    public billingItems: ExportIssueBillingItem[]|null;\n    public problemCount: number|null;\n\n    public constructor(init?: Partial<ExportIssueInvoice>) { (Object as any).assign(this, init); }\n}\n(ExportIssueInvoice as unknown)[immerable] = true;\n\nexport class ExportIssueResponse\n{\n    public accountName: string|null;\n    public problemCount: number|null;\n    public invoices: ExportIssueInvoice[]|null;\n\n    public constructor(init?: Partial<ExportIssueResponse>) { (Object as any).assign(this, init); }\n}\n(ExportIssueResponse as unknown)[immerable] = true;\n\nexport class ExportedInvoiceFileResponse\n{\n    public name: string|null;\n    public date: string|null;\n\n    public constructor(init?: Partial<ExportedInvoiceFileResponse>) { (Object as any).assign(this, init); }\n}\n(ExportedInvoiceFileResponse as unknown)[immerable] = true;\n\nexport class HealthcodeImportSummaryResponse\n{\n    public account: string|null;\n    public type: string|null;\n    public reference: string|null;\n    public message: string|null;\n    public status: string|null;\n\n    public constructor(init?: Partial<HealthcodeImportSummaryResponse>) { (Object as any).assign(this, init); }\n}\n(HealthcodeImportSummaryResponse as unknown)[immerable] = true;\n\nexport class HealthcodeExportSummaryResponse\n{\n    public invoiceReference: number|null;\n    public date: string|null;\n    public location: string|null;\n    public patient: string|null;\n    public total: number|null;\n\n    public constructor(init?: Partial<HealthcodeExportSummaryResponse>) { (Object as any).assign(this, init); }\n}\n(HealthcodeExportSummaryResponse as unknown)[immerable] = true;\n\nexport class MailChimpLoginResponse\n{\n    public apiKey: string|null;\n    public username: string|null;\n\n    public constructor(init?: Partial<MailChimpLoginResponse>) { (Object as any).assign(this, init); }\n}\n(MailChimpLoginResponse as unknown)[immerable] = true;\n\nexport class MailchimpList\n{\n    public id: string|null;\n    public name: string|null;\n    public status: number|null;\n\n    public constructor(init?: Partial<MailchimpList>) { (Object as any).assign(this, init); }\n}\n(MailchimpList as unknown)[immerable] = true;\n\nexport class AudiencesResponse\n{\n    public lists: MailchimpList[]|null;\n    public total: number|null;\n    public success: number|null;\n    public error: string|null;\n\n    public constructor(init?: Partial<AudiencesResponse>) { (Object as any).assign(this, init); }\n}\n(AudiencesResponse as unknown)[immerable] = true;\n\nexport class MailChimpDuplicatesResponse\n{\n    public customers: { [index:string]: AudienceMember[]; }|null;\n\n    public constructor(init?: Partial<MailChimpDuplicatesResponse>) { (Object as any).assign(this, init); }\n}\n(MailChimpDuplicatesResponse as unknown)[immerable] = true;\n\nexport class PostcodeLookupResponse\n{\n    public fullAddress: string|null;\n    public addressLine1: string|null;\n    public addressLine2: string|null;\n    public addressLine3: string|null;\n    public addressLine4: string|null;\n    public addressLine5: string|null;\n    public postCode: string|null;\n\n    public constructor(init?: Partial<PostcodeLookupResponse>) { (Object as any).assign(this, init); }\n}\n(PostcodeLookupResponse as unknown)[immerable] = true;\n\nexport class CustomListItem\n{\n    public text: string|null;\n    public order: number|null;\n    public id: number|null;\n    public inUse: boolean|null;\n\n    public constructor(init?: Partial<CustomListItem>) { (Object as any).assign(this, init); }\n}\n(CustomListItem as unknown)[immerable] = true;\n\nexport class CustomListItemResponse\n{\n    public id: number|null;\n    public category: string|null;\n    public values: CustomListItem[]|null;\n\n    public constructor(init?: Partial<CustomListItemResponse>) { (Object as any).assign(this, init); }\n}\n(CustomListItemResponse as unknown)[immerable] = true;\n\nexport class PractitionerGroupResponse\n{\n    public id: number|null;\n    public groupId: number|null;\n    public providerNo: string|null;\n    public groupName: string|null;\n\n    public constructor(init?: Partial<PractitionerGroupResponse>) { (Object as any).assign(this, init); }\n}\n(PractitionerGroupResponse as unknown)[immerable] = true;\n\nexport class GroupLocationsResponse\n{\n    public groupId: number|null;\n    public groupName: string|null;\n\n    public constructor(init?: Partial<GroupLocationsResponse>) { (Object as any).assign(this, init); }\n}\n(GroupLocationsResponse as unknown)[immerable] = true;\n\nexport class AddPractitionerResponse\n{\n    public currentPractitioners: number|null;\n    public licensedPractitioners: number|null;\n    public canAddPractitioner: boolean|null;\n\n    public constructor(init?: Partial<AddPractitionerResponse>) { (Object as any).assign(this, init); }\n}\n(AddPractitionerResponse as unknown)[immerable] = true;\n\nexport class MinimalPractitioner\n{\n    public id: number|null;\n    public forename: string|null;\n    public surname: string|null;\n    public title: string|null;\n    public name: string|null;\n    public status: number|null;\n    public serviceTypeId: number|null;\n\n    public constructor(init?: Partial<MinimalPractitioner>) { (Object as any).assign(this, init); }\n}\n\nexport class PracStockLoc\n{\n    public locationName: string|null;\n    public locationId: number|null;\n    public practitionerLocationLocationId: number|null;\n    public practitionerServiceStockFirstStockId: number|null;\n    public practitionerServiceStockFollowupStockId: number|null;\n    public code: string|null;\n    public firstStockDesc: string|null;\n    public followUpStockDesc: string|null;\n    public firstStockRef: string|null;\n    public followUpStockRef: string|null;\n    public firstStockTotalPrice: number|null;\n    public followUpTotalPrice: number|null;\n    public firstStockAppointmentLength: number|null;\n    public followUpStockAppointmentLength: number|null;\n    public firstServiceTypeId: number|null;\n    public followUpServiceTypeId: number|null;\n    public practitionerServiceTypeId: number|null;\n\n    public constructor(init?: Partial<PracStockLoc>) { (Object as any).assign(this, init); }\n}\n(PracStockLoc as unknown)[immerable] = true;\n\nexport class PractitionerDiaryOrder\n{\n    public practitionerId: number|null;\n    public name: string|null;\n    public order: number|null;\n\n    public constructor(init?: Partial<PractitionerDiaryOrder>) { (Object as any).assign(this, init); }\n}\n\nexport class PractitionerDiaryOrderResponse\n{\n    public locationId: number|null;\n    public orderedPractitioners: PractitionerDiaryOrder[]|null;\n    public total: number|null;\n\n    public constructor(init?: Partial<PractitionerDiaryOrderResponse>) { (Object as any).assign(this, init); }\n}\n\nexport class SkillResponse\n{\n    public id: string|null;\n    public name: string|null;\n    public inUse: boolean|null;\n\n    public constructor(init?: Partial<SkillResponse>) { (Object as any).assign(this, init); }\n}\n(SkillResponse as unknown)[immerable] = true;\n\nexport class UpdateFieldBulkActionResponse\n{\n\n    public constructor(init?: Partial<UpdateFieldBulkActionResponse>) { (Object as any).assign(this, init); }\n}\n(UpdateFieldBulkActionResponse as unknown)[immerable] = true;\n\nexport class AllowedReports\n{\n    public triage: string|null;\n    public initial: string|null;\n    public discharge: string|null;\n    public rfat: string|null;\n\n    public constructor(init?: Partial<AllowedReports>) { (Object as any).assign(this, init); }\n}\n(AllowedReports as unknown)[immerable] = true;\n\nexport class BookingAuditResult extends AllowedReports\n{\n    public id: string|null;\n    public appointmentDate: string|null;\n    public referralDate: string|null;\n    public patient: string|null;\n    public location: string|null;\n    public practitioner: string|null;\n    public group: string|null;\n    public prontoStatus: string|null;\n    public appointments: ReferralAppointment[]|null;\n    public authorisations: ReferralAuthorisation[]|null;\n    public serviceCharges: { [index:string]: ServiceCharge; }|null;\n    public canReport: boolean|null;\n    public canInvoice: boolean|null;\n    public hasCharges: boolean|null;\n    public needsAction: boolean|null;\n    public bookerId: string|null;\n    public appointmentId: string|null;\n    public patientId: string|null;\n    public bookingType: string|null;\n    public referralStatus: number|null;\n    public triageReportName: string|null;\n    public initialReportName: string|null;\n    public rfatReportName: string|null;\n    public dischargeReportName: string|null;\n    public customerForename: string|null;\n    public customerTitle: string|null;\n    public customerSurname: string|null;\n    public customerName: string|null;\n    public practitionerForename: string|null;\n    public practitionerSurname: string|null;\n    public practitionerTitle: string|null;\n    // @Ignore()\n    public practitionerName: string|null;\n\n    public practitionerOnlineGuid: string|null;\n    public workflowId: number|null;\n    public referencePrefix: string|null;\n    public workflowIdWithReferrerPrefix: string|null;\n    public initialReportSubmissionDueDate: string|null;\n    public hoursUntilReferralExpires: number|null;\n\n    public constructor(init?: Partial<BookingAuditResult>) { super(init); (Object as any).assign(this, init); }\n}\n(BookingAuditResult as unknown)[immerable] = true;\n\nexport class MyBookingsResponse\n{\n    public results: BookingAuditResult[]|null;\n    public total: number|null;\n    public all: number|null;\n    public online: number|null;\n    public referrals: number|null;\n    public reception: number|null;\n    public received: number|null;\n    public awaiting: number|null;\n    public rejected: number|null;\n    public booking: number|null;\n    public enterFirstReport: number|null;\n    public inTreatment: number|null;\n    public discharged: number|null;\n    public complete: number|null;\n    public none: number|null;\n    public needsAction: number|null;\n    public requiresIAReportSubmission: number|null;\n    public appointmentsInThePast: number|null;\n    public additionalAuthsAdded: number|null;\n    public authsRevoked: number|null;\n    public page: number|null;\n    public totalPages: number|null;\n    public filteredResultCount: number|null;\n\n    public constructor(init?: Partial<MyBookingsResponse>) { (Object as any).assign(this, init); }\n}\n(MyBookingsResponse as unknown)[immerable] = true;\n\nexport class LocationDto\n{\n    public name: string|null;\n    public addressLine1: string|null;\n    public addressLine2: string|null;\n    public addressLine3: string|null;\n    public addressLine4: string|null;\n    public addressLine5: string|null;\n    public postCode: string|null;\n    public telephone: string|null;\n    public email: string|null;\n    public web: string|null;\n    public fax: string|null;\n    public status: number|null;\n    public onlineGuid: string|null;\n    public fullAddressMultiLine: string|null;\n\n    public constructor(init?: Partial<LocationDto>) { (Object as any).assign(this, init); }\n}\n(LocationDto as unknown)[immerable] = true;\n\nexport class AttachmentFile\n{\n    public name: string|null;\n    public extension: string|null;\n    public fileSize: number|null;\n    public dateCreated: string|null;\n    public path: string|null;\n\n    public constructor(init?: Partial<AttachmentFile>) { (Object as any).assign(this, init); }\n}\n(AttachmentFile as unknown)[immerable] = true;\n\nexport class SingleBookingAuditResponse\n{\n    public canReport: boolean|null;\n    public canInvoice: boolean|null;\n    public authorisations: number|null;\n    public referrer: string|null;\n    public audit: BookingAuditResponse|null;\n    public reports: AuditListDto[]|null;\n    public invoices: AuditListDto[]|null;\n    public inventory: ServiceStock[]|null;\n    public locations: LocationDto[]|null;\n    public practitioners: PractitionerDto[]|null;\n    public patient: { [index:string]: string; }|null;\n    public defaults: { [index:string]: string; }|null;\n    public attachments: AttachmentFile[]|null;\n    public appointments: ReferralAppointment[]|null;\n    public enableReportWizard: boolean|null;\n    public isAppointmentLocationSelectionDisabled: boolean|null;\n    public linkAppointmentsToReports: boolean|null;\n    public linkInvoicesToReports: boolean|null;\n    public onlyPastAppointmentsComplete: boolean|null;\n    public disableInvoicingAppointmentsInThePast: boolean|null;\n    public referencePrefix: string|null;\n    public workflowIdWithReferrerPrefix: string|null;\n    public referrerAlwaysRequiresAuthorisations: boolean|null;\n\n    public constructor(init?: Partial<SingleBookingAuditResponse>) { (Object as any).assign(this, init); }\n}\n(SingleBookingAuditResponse as unknown)[immerable] = true;\n\nexport enum ProntoNetworkServiceType\n{\n    Appointment = 'Appointment',\n    Cancellation = 'Cancellation',\n    DNA = 'DNA',\n}\n\nexport class ReferrerDto\n{\n    public id: string|null;\n    public name: string|null;\n\n    public constructor(init?: Partial<ReferrerDto>) { (Object as any).assign(this, init); }\n}\n(ReferrerDto as unknown)[immerable] = true;\n\nexport class ProntoClinicalService extends ClinicService\n{\n    public locations: LocationDto[]|null;\n    public practitioners: PractitionerDto[]|null;\n    public stock: string|null;\n    public referrers: ReferrerDto[]|null;\n\n    public constructor(init?: Partial<ProntoClinicalService>) { super(init); (Object as any).assign(this, init); }\n}\n(ProntoClinicalService as unknown)[immerable] = true;\n\nexport class ProntoServiceDto\n{\n    public id: string|null;\n    public name: string|null;\n    public order: number|null;\n    public type: ProntoNetworkServiceType|null;\n    public clinicalService: ProntoClinicalService|null;\n\n    public constructor(init?: Partial<ProntoServiceDto>) { (Object as any).assign(this, init); }\n}\n(ProntoServiceDto as unknown)[immerable] = true;\n\nexport class ProntoDisciplineDto\n{\n    public id: string|null;\n    public name: string|null;\n    public networkId: string|null;\n    public description: string|null;\n    public meta: { [index:string]: string; }|null;\n    public defaultService: string|null;\n    public services: ProntoServiceDto[]|null;\n\n    public constructor(init?: Partial<ProntoDisciplineDto>) { (Object as any).assign(this, init); }\n}\n(ProntoDisciplineDto as unknown)[immerable] = true;\n\nexport class ProntoNetworkDto\n{\n    public id: string|null;\n    public name: string|null;\n    public description: string|null;\n    public disciplines: ProntoDisciplineDto[]|null;\n\n    public constructor(init?: Partial<ProntoNetworkDto>) { (Object as any).assign(this, init); }\n}\n(ProntoNetworkDto as unknown)[immerable] = true;\n\nexport class ServiceDto\n{\n    public clinicalService: ClinicService|null;\n\n    public constructor(init?: Partial<ServiceDto>) { (Object as any).assign(this, init); }\n}\n(ServiceDto as unknown)[immerable] = true;\n\nexport class ClinicPractitionerResponse\n{\n    public name: string|null;\n    public practitionerProntoId: string|null;\n    public responseStatus: ResponseStatus|null;\n\n    public constructor(init?: Partial<ClinicPractitionerResponse>) { (Object as any).assign(this, init); }\n}\n(ClinicPractitionerResponse as unknown)[immerable] = true;\n\nexport class MyClinicSummaryResponse\n{\n    public networks: ProntoNetworkDto[]|null;\n    public services: ServiceDto[]|null;\n    public referrers: ReferrerDto[]|null;\n    public practitioners: ClinicPractitionerResponse[]|null;\n    public locations: LocationDto[]|null;\n    public hasReferrals: boolean|null;\n    public hasReception: boolean|null;\n    public hasOnline: boolean|null;\n    public referrals: number|null;\n    public reception: number|null;\n    public online: number|null;\n    public dataPoints: { [index:string]: { [index:string]: DataPoint; }; }|null;\n    public provisional: boolean|null;\n\n    public constructor(init?: Partial<MyClinicSummaryResponse>) { (Object as any).assign(this, init); }\n}\n(MyClinicSummaryResponse as unknown)[immerable] = true;\n\nexport class NestedLookupDto\n{\n    public id: string|null;\n    public name: string|null;\n    public value: string|null;\n    public timeStamp: string|null;\n    public bookerId: string|null;\n\n    public constructor(init?: Partial<NestedLookupDto>) { (Object as any).assign(this, init); }\n}\n(NestedLookupDto as unknown)[immerable] = true;\n\nexport class SectionDto\n{\n    public id: string|null;\n    public name: string|null;\n    public body: string|null;\n    public timeStamp: string|null;\n    public bookerId: string|null;\n\n    public constructor(init?: Partial<SectionDto>) { (Object as any).assign(this, init); }\n}\n(SectionDto as unknown)[immerable] = true;\n\nexport class ReportTemplateDto\n{\n    public id: string|null;\n    public type: number|null;\n    public enabled: boolean|null;\n    public title: string|null;\n    public reportTemplateType: string|null;\n    public bookerId: string|null;\n    public template: string|null;\n    public timeStamp: string|null;\n    public lists: { [index:string]: NestedLookupDto; }|null;\n    public sections: SectionDto[]|null;\n    public mandatoryFieldOverrides: { [index:string]: { [index:string]: boolean; }; }|null;\n    public labelOverrides: { [index:string]: { [index:string]: string; }; }|null;\n    public customLists: { [index:string]: { [index:string]: string; }; }|null;\n    public allowsAttachments: boolean|null;\n    public requiresAttachment: boolean|null;\n    public attachmentPromptText: string|null;\n\n    public constructor(init?: Partial<ReportTemplateDto>) { (Object as any).assign(this, init); }\n}\n(ReportTemplateDto as unknown)[immerable] = true;\n\nexport class ReportSearchResponse\n{\n    public report: ReferralReport|null;\n    public schema: ReportTemplateDto|null;\n\n    public constructor(init?: Partial<ReportSearchResponse>) { (Object as any).assign(this, init); }\n}\n(ReportSearchResponse as unknown)[immerable] = true;\n\nexport class SubmitReportResponse\n{\n    public report: ReferralReport|null;\n    public invoice: AuditListDto|null;\n    public appointments: ReferralAppointment[]|null;\n\n    public constructor(init?: Partial<SubmitReportResponse>) { (Object as any).assign(this, init); }\n}\n(SubmitReportResponse as unknown)[immerable] = true;\n\nexport class ClickLinkableAppointment extends ReferralAppointment\n{\n    public description: string|null;\n    public length: number|null;\n\n    public constructor(init?: Partial<ClickLinkableAppointment>) { super(init); (Object as any).assign(this, init); }\n}\n(ClickLinkableAppointment as unknown)[immerable] = true;\n\nexport class BookingAuthorization\n{\n    public applicationId: string|null;\n    public bookerId: string|null;\n    public extendedPermissions: { [index:string]: string; }|null;\n    public clinicEnabled: boolean|null;\n    public prontoActivated: boolean|null;\n    public provisionals: boolean|null;\n\n    public constructor(init?: Partial<BookingAuthorization>) { (Object as any).assign(this, init); }\n}\n(BookingAuthorization as unknown)[immerable] = true;\n\nexport class ClientWhoReceivesBookings implements IHasGuidId\n{\n    public id: string|null;\n    public provisional: boolean|null;\n    public clientId: string|null;\n    public type: string|null;\n    public name: string|null;\n    public settings: ClinicSettings|null;\n    public authorizations: BookingAuthorization[]|null;\n    public prontoPortalLockDate: string|null;\n\n    public constructor(init?: Partial<ClientWhoReceivesBookings>) { (Object as any).assign(this, init); }\n}\n(ClientWhoReceivesBookings as unknown)[immerable] = true;\n\nexport enum BookerType\n{\n    Reception = 'Reception',\n    Referrer = 'Referrer',\n    Online = 'Online',\n    MyClinic = 'MyClinic',\n    SysAdmin = 'SysAdmin',\n}\n\nexport class UserActivations\n{\n    public userName: string|null;\n    public userRole: string|null;\n    public email: string|null;\n    public displayName: string|null;\n    public loginId: number|null;\n    public enabled: boolean|null;\n    public extendedPermissions: { [index:string]: string; }|null;\n\n    public constructor(init?: Partial<UserActivations>) { (Object as any).assign(this, init); }\n}\n(UserActivations as unknown)[immerable] = true;\n\nexport enum InvoicingMode\n{\n    Off = 'Off',\n    Fixed = 'Fixed',\n    Flexable = 'Flexable',\n}\n\nexport enum ReportingMode\n{\n    Off = 'Off',\n    Bespoke = 'Bespoke',\n    Default = 'Default',\n}\n\nexport class CWBSettings\n{\n    public slaHours: number|null;\n    public authCodeSessions: number|null;\n    public clinicalDetails: boolean|null;\n    public successURL: string|null;\n    public hiddenFromThirdParties: boolean|null;\n    public defaultNetworkId: string|null;\n    public defaultServices: { [index:string]: string; }|null;\n    public overridingClinicReferralCharge: { [index:string]: number; }|null;\n    public onlineTitle: string|null;\n    public onlineMessage: string|null;\n    public onlineLogoUrl: string|null;\n    public onlineEmail: string|null;\n    public tempAllowFallbackToGroupCharges: boolean|null;\n    public allInWeekRange: number|null;\n    public confirmBooking: boolean|null;\n    public sendPatientConfirmationEmail: boolean|null;\n    public patientConfirmationTemplate: string|null;\n    public invoicingMode: InvoicingMode|null;\n    public reportingMode: ReportingMode|null;\n    public sendOwnConfirmations: boolean|null;\n    public referrerCurrency: string|null;\n    public referralExpiryDays: number|null;\n\n    public constructor(init?: Partial<CWBSettings>) { (Object as any).assign(this, init); }\n}\n(CWBSettings as unknown)[immerable] = true;\n\nexport class ClientWhoBooks implements IHasUsers\n{\n    public id: string|null;\n    public clientID: string|null;\n    public name: string|null;\n    public title: string|null;\n    public email: string|null;\n    public description: string|null;\n    public type: BookerType|null;\n    public users: UserActivations[]|null;\n    public settings: CWBSettings|null;\n    public currentSecret: string|null;\n    public previousSecret: string|null;\n    public enableSignUp: boolean|null;\n    public caseflowUrl: string|null;\n    public isTestReferrer: boolean|null;\n    public disableAppointmentLocationSelection: boolean|null;\n    public canSelectStock: boolean|null;\n    public receivesActivationDeActivationEmails: boolean|null;\n    public linkAppointmentsToReports: boolean|null;\n    public linkInvoicesToReports: boolean|null;\n    public authorization: BookingAuthorization|null;\n    public referencePrefix: string|null;\n\n    public constructor(init?: Partial<ClientWhoBooks>) { (Object as any).assign(this, init); }\n}\n(ClientWhoBooks as unknown)[immerable] = true;\n\nexport class MyClinicLocationResponse\n{\n    public responseStatus: ResponseStatus|null;\n    public result: LocationDto[]|null;\n\n    public constructor(init?: Partial<MyClinicLocationResponse>) { (Object as any).assign(this, init); }\n}\n(MyClinicLocationResponse as unknown)[immerable] = true;\n\nexport class MyClinicPractitionerResponse\n{\n    public result: PractitionerDto[]|null;\n    public responseStatus: ResponseStatus|null;\n\n    public constructor(init?: Partial<MyClinicPractitionerResponse>) { (Object as any).assign(this, init); }\n}\n(MyClinicPractitionerResponse as unknown)[immerable] = true;\n\nexport class GroupListResult\n{\n    public id: number|null;\n    public name: string|null;\n    public globalId: string|null;\n    public onlineGuid: string|null;\n\n    public constructor(init?: Partial<GroupListResult>) { (Object as any).assign(this, init); }\n}\n(GroupListResult as unknown)[immerable] = true;\n\nexport class MyClinicGroupListResponse\n{\n    public result: GroupListResult[]|null;\n\n    public constructor(init?: Partial<MyClinicGroupListResponse>) { (Object as any).assign(this, init); }\n}\n(MyClinicGroupListResponse as unknown)[immerable] = true;\n\nexport class MyClinicWhoReceivesBookingsResponse\n{\n    public clientWhoReceives: ClientWhoReceivesBookings|null;\n    public clientsWhoBook: ClientWhoBooks[]|null;\n    public locations: MyClinicLocationResponse|null;\n    public practitioners: MyClinicPractitionerResponse|null;\n    public groups: MyClinicGroupListResponse|null;\n\n    public constructor(init?: Partial<MyClinicWhoReceivesBookingsResponse>) { (Object as any).assign(this, init); }\n}\n(MyClinicWhoReceivesBookingsResponse as unknown)[immerable] = true;\n\nexport class ProntoNetworkSettingsResponse\n{\n    public myClinicWhoReceivesBookings: MyClinicWhoReceivesBookingsResponse|null;\n    public networks: ProntoNetworkDto[]|null;\n    public stock: ProntoStockDto[]|null;\n    public locations: LocationDto[]|null;\n    public practitioners: PractitionerDto[]|null;\n    public referrers: GroupListResult[]|null;\n\n    public constructor(init?: Partial<ProntoNetworkSettingsResponse>) { (Object as any).assign(this, init); }\n}\n(ProntoNetworkSettingsResponse as unknown)[immerable] = true;\n\nexport class ClientWhoReceivesBookingsResponse extends ClientWhoReceivesBookings\n{\n\n    public constructor(init?: Partial<ClientWhoReceivesBookingsResponse>) { super(init); (Object as any).assign(this, init); }\n}\n(ClientWhoReceivesBookingsResponse as unknown)[immerable] = true;\n\nexport class ReportsResponse\n{\n    public id: string|null;\n    public reportId: string|null;\n    public category: string|null;\n    public name: string|null;\n    public isLive: boolean|null;\n    public description: string|null;\n    public data: string|null;\n    public colour: number|null;\n    public url: string|null;\n    public isFavourite: boolean|null;\n    public colourCss: string|null;\n\n    public constructor(init?: Partial<ReportsResponse>) { (Object as any).assign(this, init); }\n}\n(ReportsResponse as unknown)[immerable] = true;\n\nexport class StockAtLocationResponse\n{\n    public id: number|null;\n    public reference: string|null;\n    public totalPrice: number|null;\n    public priceExVAT: number|null;\n    public vatAmount: number|null;\n    public vatRate: number|null;\n    public itemPrice: number|null;\n    public description: string|null;\n    public category: string|null;\n\n    public constructor(init?: Partial<StockAtLocationResponse>) { (Object as any).assign(this, init); }\n}\n(StockAtLocationResponse as unknown)[immerable] = true;\n\nexport class StockOverride implements IHasId, IHasGlobalGuid\n{\n    public id: number|null;\n    public stockId: number|null;\n    // @Ignore()\n    public stockGuid: string|null;\n\n    public locationId: number|null;\n    // @Ignore()\n    public locationGuid: string|null;\n\n    public priceExVAT: number|null;\n    public totalPrice: number|null;\n    public meta: { [index:string]: string; }|null;\n    public globalGuid: string|null;\n    public stockLevel: number|null;\n    public stockMinimum: number|null;\n\n    public constructor(init?: Partial<StockOverride>) { (Object as any).assign(this, init); }\n}\n(StockOverride as unknown)[immerable] = true;\n\nexport class StockListResponse\n{\n    public stock: StockWithLocationResponse[]|null;\n    public overrides: StockOverride[]|null;\n\n    public constructor(init?: Partial<StockListResponse>) { (Object as any).assign(this, init); }\n}\n(StockListResponse as unknown)[immerable] = true;\n\nexport class StockOnlineCategoryResponse\n{\n    public id: string|null;\n    public title: string|null;\n\n    public constructor(init?: Partial<StockOnlineCategoryResponse>) { (Object as any).assign(this, init); }\n}\n(StockOnlineCategoryResponse as unknown)[immerable] = true;\n\nexport class StockWithCategoryResponse\n{\n    public stock: StockWithLocationResponse|null;\n    public category: OnlineServiceCategory|null;\n\n    public constructor(init?: Partial<StockWithCategoryResponse>) { (Object as any).assign(this, init); }\n}\n(StockWithCategoryResponse as unknown)[immerable] = true;\n\nexport class SupplierResponse\n{\n    public id: number|null;\n    public reference: string|null;\n    public name: string|null;\n    public contact: string|null;\n    public telephone: string|null;\n    public email: string|null;\n    public address: string|null;\n    public addressLine1: string|null;\n    public addressLine2: string|null;\n    public addressLine3: string|null;\n    public addressLine4: string|null;\n    public addressLine5: string|null;\n    public postCode: string|null;\n    public accountNo: string|null;\n    public web: string|null;\n    public locationName: string|null;\n    public locationId: number|null;\n    public current: boolean|null;\n    public vatNumber: string|null;\n\n    public constructor(init?: Partial<SupplierResponse>) { (Object as any).assign(this, init); }\n}\n(SupplierResponse as unknown)[immerable] = true;\n\nexport class AuditResponse\n{\n    public id: number|null;\n    public objectId: number|null;\n    public objectType: string|null;\n    public objectTypeString: string|null;\n    public action: string|null;\n    public actionString: string|null;\n    public actionDetail: string|null;\n    public dateTime: string|null;\n    public user: string|null;\n    public title: string|null;\n    public forename: string|null;\n    public surname: string|null;\n    public name: string|null;\n    public oldRowData: string|null;\n    public newRowData: string|null;\n\n    public constructor(init?: Partial<AuditResponse>) { (Object as any).assign(this, init); }\n}\n(AuditResponse as unknown)[immerable] = true;\n\nexport class ServiceTypeResponse\n{\n    public id: number|null;\n    public name: string|null;\n    public clinicalAccessMode: AccessMode|null;\n    public patientAccessMode: AccessMode|null;\n    public isCurrent: boolean|null;\n    public usesScores: boolean|null;\n    public usesGoals: boolean|null;\n    public usesImages: boolean|null;\n    public labelOverrides: { [index:string]: string; }|null;\n    public listOverrides: { [index:string]: string; }|null;\n    public configOverrides: { [index:string]: string; }|null;\n    public workflowAccessMode: AccessMode|null;\n    public globalGuid: string|null;\n\n    public constructor(init?: Partial<ServiceTypeResponse>) { (Object as any).assign(this, init); }\n}\n(ServiceTypeResponse as unknown)[immerable] = true;\n\nexport class ClassTypeResponse\n{\n    public id: number|null;\n    public name: string|null;\n    public description: string|null;\n    public imageUrl: string|null;\n    public termsAndConditionsFormId: string|null;\n    public colour: number|null;\n    public defaultSessionLength: number|null;\n    public defaultMinAttendees: number|null;\n    public defaultMaxAttendees: number|null;\n    public isAvailableOnline: boolean|null;\n    public cancellationChargeApplies: boolean|null;\n    public cancellationHours: number|null;\n    public cancellationCreditCharge: number|null;\n    public isCurrent: boolean|null;\n    public isCourse: boolean|null;\n    public isFavourite: boolean|null;\n    public lateTransferChargeApplies: boolean|null;\n    public lateTransferHours: number|null;\n    public allowPayPerSession: boolean|null;\n    public stockId: number|null;\n    public stockDesription: string|null;\n    public stockPrice: number|null;\n    public colourCss: string|null;\n    public packages: ClassPackageResponse[]|null;\n    public transferStockId: number|null;\n    public cancellationStockId: number|null;\n    public cancellationPrice: number|null;\n    public serviceTypeId: number|null;\n    public numberOfSessions: number|null;\n    public isVideo: boolean|null;\n    public stockCredits: number|null;\n    public isPrivateCharge: boolean|null;\n\n    public constructor(init?: Partial<ClassTypeResponse>) { (Object as any).assign(this, init); }\n}\n(ClassTypeResponse as unknown)[immerable] = true;\n\nexport class TagResponse\n{\n    public id: string|null;\n    public name: string|null;\n    public type: TagEntityType|null;\n    public colour: string|null;\n    public isActive: boolean|null;\n    public isInverted: boolean|null;\n    public showInLists: boolean|null;\n\n    public constructor(init?: Partial<TagResponse>) { (Object as any).assign(this, init); }\n}\n(TagResponse as unknown)[immerable] = true;\n\nexport class LookupResponse\n{\n    public id: number|null;\n    public name: string|null;\n    public value: string|null;\n    public niceName: string|null;\n    public values: string[]|null;\n    public order: number|null;\n\n    public constructor(init?: Partial<LookupResponse>) { (Object as any).assign(this, init); }\n}\n(LookupResponse as unknown)[immerable] = true;\n\nexport class SecurityResponse\n{\n    public roleMap: { [index:number]: number; }|null;\n    public roles: { [index:number]: { [index:string]: boolean; }; }|null;\n    public editableServiceTypeIds: number[]|null;\n\n    public constructor(init?: Partial<SecurityResponse>) { (Object as any).assign(this, init); }\n}\n(SecurityResponse as unknown)[immerable] = true;\n\nexport class NestedLookup implements IHasId, IHasGlobalGuid\n{\n    public id: number|null;\n    public name: string|null;\n    public value: string|null;\n    public alternates: string[]|null;\n    public groupId: number|null;\n    public globalId: string|null;\n    public syncToPronto: boolean|null;\n    public lastSyncDate: string|null;\n    public serviceTypeId: number|null;\n    // @Ignore()\n    public serviceTypeGuid: string|null;\n\n    // @Ignore()\n    public globalGuid: string|null;\n\n    public constructor(init?: Partial<NestedLookup>) { (Object as any).assign(this, init); }\n}\n(NestedLookup as unknown)[immerable] = true;\n\nexport class DynamicLabelResponse\n{\n    public id: string|null;\n    public languageSwitch: string|null;\n    public text: string|null;\n    public extraText: string|null;\n    public extraTextType: string|null;\n\n    public constructor(init?: Partial<DynamicLabelResponse>) { (Object as any).assign(this, init); }\n}\n(DynamicLabelResponse as unknown)[immerable] = true;\n\n// @Route(\"/discountcode\", \"POST, PUT, DELETE\")\nexport class DiscountCodeDto implements IReturn<DiscountCodeWithDiscountValueDto>\n{\n    public id: string|null;\n    public code: string|null;\n    public description: string|null;\n    public value: number|null;\n    public type: DiscountType|null;\n    public validFrom: string|null;\n    public validTo: string|null;\n    public displayText: string|null;\n    public isInUse: boolean|null;\n    public enableForConnect: boolean|null;\n    public enabledForAllServices: boolean|null;\n    public status: DiscountStatus|null;\n    public enforcePatientLimit: boolean|null;\n    public limitPerPatient: number|null;\n\n    public constructor(init?: Partial<DiscountCodeDto>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DiscountCodeDto'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new DiscountCodeWithDiscountValueDto(); }\n}\n(DiscountCodeDto as unknown)[immerable] = true;\n\nexport class DiscountCodeWithDiscountValueDto extends DiscountCodeDto\n{\n    public totalExVat: Object|null;\n    public price: Object|null;\n    public total: Object|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<DiscountCodeWithDiscountValueDto>) { super(init); (Object as any).assign(this, init); }\n}\n(DiscountCodeWithDiscountValueDto as unknown)[immerable] = true;\n\nexport class CacheResponse\n{\n    public inventory: { [index:string]: StockWithLocationResponse; }|null;\n    public locations: { [index:string]: LocationResponse; }|null;\n    public customerLocations: { [index:string]: LocationResponse; }|null;\n    public services: { [index:string]: ServiceTypeResponse; }|null;\n    public classTypes: { [index:string]: ClassTypeResponse; }|null;\n    public rooms: { [index:string]: RoomResponse; }|null;\n    public groups: { [index:string]: GroupResponse; }|null;\n    public tags: { [index:string]: TagResponse; }|null;\n    public practitioners: { [index:string]: GeneralPractitionerResponse; }|null;\n    public lookups: { [index:string]: LookupResponse; }|null;\n    public permissions: SecurityResponse|null;\n    public practitionerLocations: { [index:string]: PractitionerLocation; }|null;\n    public suppliers: { [index:string]: SupplierResponse; }|null;\n    public keys: { [index:string]: string; }|null;\n    public currentUserId: string|null;\n    public alphabetical: boolean|null;\n    public nestedLookups: { [index:string]: NestedLookup; }|null;\n    public dynamicLabels: { [index:string]: DynamicLabelResponse; }|null;\n    public skills: { [index:string]: SkillResponse; }|null;\n    public discountCodes: { [index:string]: DiscountCodeWithDiscountValueDto; }|null;\n\n    public constructor(init?: Partial<CacheResponse>) { (Object as any).assign(this, init); }\n}\n(CacheResponse as unknown)[immerable] = true;\n\nexport class SingleCacheMapResponse<T>\n{\n    public version: string|null;\n    public value: { [index:string]: T; }|null;\n\n    public constructor(init?: Partial<SingleCacheMapResponse<T>>) { (Object as any).assign(this, init); }\n}\n\nexport class LookupCacheResponse extends SingleCacheMapResponse<LookupResponse>\n{\n\n    public constructor(init?: Partial<LookupCacheResponse>) { super(init); (Object as any).assign(this, init); }\n}\n(LookupCacheResponse as unknown)[immerable] = true;\n\nexport class SystemDictionary implements IHasId, IHasGlobalGuid\n{\n    public id: number|null;\n    public key: string|null;\n    public value: string|null;\n    public language: number|null;\n    public visible: number|null;\n    public keyID: number|null;\n    public globalGuid: string|null;\n    // @Ignore()\n    public pluralKey: string|null;\n\n    // @Ignore()\n    public plural: string|null;\n\n    // @Ignore()\n    public possessiveKey: string|null;\n\n    // @Ignore()\n    public possessive: string|null;\n\n    // @Ignore()\n    public pluralPossessiveKey: string|null;\n\n    // @Ignore()\n    public pluralPossessive: string|null;\n\n    public constructor(init?: Partial<SystemDictionary>) { (Object as any).assign(this, init); }\n}\n(SystemDictionary as unknown)[immerable] = true;\n\nexport class ExtendedNotesResponse\n{\n    public id: number|null;\n    public type: string|null;\n    public typeId: string|null;\n    public typeGuid: string|null;\n    public title: string|null;\n    public entry: string|null;\n    public lockMode: string|null;\n    public lockValue: number|null;\n    public lastModified: string|null;\n    public date: string|null;\n    public alert: boolean|null;\n    public userName: string|null;\n    public hidden: boolean|null;\n    public serviceTypeId: number|null;\n    public acknowledgementRequired: boolean|null;\n    public alertStartDate: string|null;\n    public alertExpiryDate: string|null;\n\n    public constructor(init?: Partial<ExtendedNotesResponse>) { (Object as any).assign(this, init); }\n}\n(ExtendedNotesResponse as unknown)[immerable] = true;\n\nexport class ExtendedNotes implements IHasId\n{\n    public id: number|null;\n    public type: string|null;\n    public typeId: number|null;\n    public icon: string|null;\n    public colour: string|null;\n    public title: string|null;\n    public entry: string|null;\n    public lockMode: string|null;\n    public lockValue: number|null;\n    public lastModified: string|null;\n    public alert: boolean|null;\n    public lastUserId: number|null;\n    public typeGuid: string|null;\n    public serviceTypeId: number|null;\n    public acknowledgementRequired: boolean|null;\n    public alertStartDate: string|null;\n    public alertExpiryDate: string|null;\n    public contextObjectType: TimelineContextObjectType|null;\n    public contextId: number|null;\n    public linkedObjectType: TimelineLinkedObjectType|null;\n    public linkedObjectId: number|null;\n    public noteType: string|null;\n    public printOnDocument: boolean|null;\n\n    public constructor(init?: Partial<ExtendedNotes>) { (Object as any).assign(this, init); }\n}\n(ExtendedNotes as unknown)[immerable] = true;\n\nexport class ExtendedNotesWithUserName extends ExtendedNotes\n{\n    public userName: string|null;\n    public fullName: string|null;\n    public roleLevel: string|null;\n    // @Ignore()\n    public hidden: boolean|null;\n\n    public constructor(init?: Partial<ExtendedNotesWithUserName>) { super(init); (Object as any).assign(this, init); }\n}\n(ExtendedNotesWithUserName as unknown)[immerable] = true;\n\nexport class NestedLookupResponse\n{\n    public id: number|null;\n    public name: string|null;\n    public value: string|null;\n    public alternates: string[]|null;\n    public groupId: number|null;\n    public globalId: string|null;\n    public syncToPronto: boolean|null;\n    public lastSyncDate: string|null;\n    public serviceTypeId: number|null;\n\n    public constructor(init?: Partial<NestedLookupResponse>) { (Object as any).assign(this, init); }\n}\n(NestedLookupResponse as unknown)[immerable] = true;\n\nexport class RegionalLookup implements IHasId, IHasGlobalGuid\n{\n    public id: number|null;\n    public country: string|null;\n    public city: string|null;\n    public region: string|null;\n    public globalGuid: string|null;\n\n    public constructor(init?: Partial<RegionalLookup>) { (Object as any).assign(this, init); }\n}\n(RegionalLookup as unknown)[immerable] = true;\n\nexport class SecurityStat\n{\n    public requestName: string|null;\n    public routes: string[]|null;\n    public methods: string[]|null;\n    public security: string[]|null;\n    public implemented: boolean|null;\n    public hasIReturn: boolean|null;\n    public isAuthenticated: boolean|null;\n\n    public constructor(init?: Partial<SecurityStat>) { (Object as any).assign(this, init); }\n}\n(SecurityStat as unknown)[immerable] = true;\n\nexport class TaskResponse\n{\n    public id: number|null;\n    public createdDate: string|null;\n    public dueDate: string|null;\n    public dueTime: string|null;\n    public description: string|null;\n    public status: string|null;\n    public userId: number|null;\n    public reminder: boolean|null;\n    public priority: boolean|null;\n    public createdUserId: number|null;\n    public dateCompleted: string|null;\n    public patientId: number|null;\n    public customerForename: string|null;\n    public customerSurname: string|null;\n    public patientName: string|null;\n    public private: boolean|null;\n    public tags: string[]|null;\n\n    public constructor(init?: Partial<TaskResponse>) { (Object as any).assign(this, init); }\n}\n(TaskResponse as unknown)[immerable] = true;\n\nexport class UserRoleLocationWithUserName extends UserRoleLocation\n{\n    public userName: string|null;\n    public type: string|null;\n    public current: boolean|null;\n\n    public constructor(init?: Partial<UserRoleLocationWithUserName>) { super(init); (Object as any).assign(this, init); }\n}\n(UserRoleLocationWithUserName as unknown)[immerable] = true;\n\nexport class ScoresGoalsSettingsResponse\n{\n    public id: number|null;\n    public type: string|null;\n    public name: string|null;\n    public max: number|null;\n    public min: number|null;\n    public enabled: boolean|null;\n    public inUse: boolean|null;\n\n    public constructor(init?: Partial<ScoresGoalsSettingsResponse>) { (Object as any).assign(this, init); }\n}\n(ScoresGoalsSettingsResponse as unknown)[immerable] = true;\n\nexport class DnsInfo\n{\n    public valid: boolean|null;\n    public type: string|null;\n    public host: string|null;\n    public data: string|null;\n\n    public constructor(init?: Partial<DnsInfo>) { (Object as any).assign(this, init); }\n}\n(DnsInfo as unknown)[immerable] = true;\n\nexport class DomainAuthenticationStatusResponse\n{\n    public id: number|null;\n    public user_id: number|null;\n    public subdomain: string|null;\n    public domain: string|null;\n    public valid: boolean|null;\n    public dns: { [index:string]: DnsInfo; }|null;\n\n    public constructor(init?: Partial<DomainAuthenticationStatusResponse>) { (Object as any).assign(this, init); }\n}\n(DomainAuthenticationStatusResponse as unknown)[immerable] = true;\n\nexport class AuthenticateDomainResponse\n{\n    public id: number|null;\n    public user_id: number|null;\n    public subdomain: string|null;\n    public domain: string|null;\n    public username: string|null;\n\n    public constructor(init?: Partial<AuthenticateDomainResponse>) { (Object as any).assign(this, init); }\n}\n(AuthenticateDomainResponse as unknown)[immerable] = true;\n\nexport class ValidationModel\n{\n    public valid: boolean|null;\n    public reason: string|null;\n\n    public constructor(init?: Partial<ValidationModel>) { (Object as any).assign(this, init); }\n}\n(ValidationModel as unknown)[immerable] = true;\n\nexport class ValidateDomainResponse\n{\n    public id: number|null;\n    public valid: boolean|null;\n    public validation_results: { [index:string]: ValidationModel; }|null;\n\n    public constructor(init?: Partial<ValidateDomainResponse>) { (Object as any).assign(this, init); }\n}\n(ValidateDomainResponse as unknown)[immerable] = true;\n\n// @Flags()\nexport enum LocationStatus\n{\n    Active = 0,\n    ActiveViewOnly = 1,\n    InactiveHidden = 2,\n}\n\nexport class StockReorder\n{\n    public location: string|null;\n    public locationStatus: LocationStatus|null;\n    public stockDescription: string|null;\n    public stockReference: string|null;\n    public priceEXVAT: number|null;\n    public vatRate: number|null;\n    public vatAmount: number|null;\n    public totalPrice: number|null;\n    public costPrice: number|null;\n    public minimumLevel: number|null;\n    public currentLevel: number|null;\n    public stockStatus: string|null;\n    public reorder: string|null;\n    public supplier: string|null;\n\n    public constructor(init?: Partial<StockReorder>) { (Object as any).assign(this, init); }\n}\n(StockReorder as unknown)[immerable] = true;\n\nexport class StockSales\n{\n    public stockDescription: string|null;\n    public stockReference: string|null;\n    public priceEXVAT: number|null;\n    public vatRate: number|null;\n    public vatAmount: number|null;\n    public totalPrice: number|null;\n    public quantity: number|null;\n    public chargeTotal: number|null;\n    public chargeDate: string|null;\n    public stockLocation: string|null;\n    public ageGrouping: string|null;\n\n    public constructor(init?: Partial<StockSales>) { (Object as any).assign(this, init); }\n}\n(StockSales as unknown)[immerable] = true;\n\nexport class InvoiceAnalysisReport\n{\n    public invoiceLocation: string|null;\n    public invoiceReference: string|null;\n    public accountName: string|null;\n    public customerForename: string|null;\n    public customerSurname: string|null;\n    public accountType: string|null;\n    public invoiceDate: string|null;\n    public totalEXVAT: number|null;\n    public vatAmount: number|null;\n    public invoiceGrandTotal: number|null;\n    public amountPaid: number|null;\n    public remaining: number|null;\n    public fullyPaidDate: string|null;\n    public invoiceStatus: string|null;\n    public patientsOnInvoice: string|null;\n    public practitionersOnInvoice: string|null;\n    public practitionerStatus: number|null;\n    public locationStatus: LocationStatus|null;\n\n    public constructor(init?: Partial<InvoiceAnalysisReport>) { (Object as any).assign(this, init); }\n}\n(InvoiceAnalysisReport as unknown)[immerable] = true;\n\nexport class IncomeAnalysisReport\n{\n    public incomeLocation: string|null;\n    public practitionerStatus: number|null;\n    public locationStatus: LocationStatus|null;\n    public accountName: string|null;\n    public customerForename: string|null;\n    public customerSurname: string|null;\n    public accountType: string|null;\n    public incomeReference: string|null;\n    public lodgementReference: string|null;\n    public incomeDate: string|null;\n    public incomeAmount: number|null;\n    public amountUsed: number|null;\n    public remaining: number|null;\n    public incomeOtherPaymentMethod: string|null;\n    public incomeStatus: string|null;\n    public associatedInvoices: string|null;\n    public associatedPractitioners: string|null;\n\n    public constructor(init?: Partial<IncomeAnalysisReport>) { (Object as any).assign(this, init); }\n}\n(IncomeAnalysisReport as unknown)[immerable] = true;\n\nexport class ExpenditureMonthSummary\n{\n    public year: number|null;\n    public monthNumber: number|null;\n    public month: string|null;\n    public totalExpenditure: number|null;\n\n    public constructor(init?: Partial<ExpenditureMonthSummary>) { (Object as any).assign(this, init); }\n}\n(ExpenditureMonthSummary as unknown)[immerable] = true;\n\nexport class ExpenditureAnalysisReportDto\n{\n    public expenditureCategory: string|null;\n    public expenditureOtherPaymentMethod: string|null;\n    public supplierName: string|null;\n    public expenditureDate: string|null;\n    public expenditureReference: string|null;\n    public description: string|null;\n    public expenditureAmountExVAT: number|null;\n    public expenditureVATRate: number|null;\n    public expenditureVATAmount: number|null;\n    public expenditureTotal: number|null;\n\n    public constructor(init?: Partial<ExpenditureAnalysisReportDto>) { (Object as any).assign(this, init); }\n}\n(ExpenditureAnalysisReportDto as unknown)[immerable] = true;\n\nexport class AgedDebtors\n{\n    public accountName: string|null;\n    public invoiceStatus: string|null;\n    public invoiceStatusName: string|null;\n    public invoiceGrandTotal: number|null;\n    public invoiceAmountPaid: number|null;\n    public invoiceAmountOutstanding: number|null;\n    public invoiceAge: number|null;\n    public ageCategory: string|null;\n    public invoiceReference: string|null;\n    public accountType: string|null;\n    public accountAddressLine1: string|null;\n    public accountAddressLine2: string|null;\n    public accountAddressLine3: string|null;\n    public accountAddressLine4: string|null;\n    public accountAddressLine5: string|null;\n    public customerAddress: string|null;\n    public accountPostCode: string|null;\n    public invoiceDate: string|null;\n    public month: string|null;\n    public year: string|null;\n    public patientReference: string|null;\n    public patientName: string|null;\n    public customerForename: string|null;\n    public customerSurname: string|null;\n    public patientAge: number|null;\n    public ageGrouping: string|null;\n    public accountBalanceInvoiced: number|null;\n    public locationName: string|null;\n    public locationStatus: LocationStatus|null;\n    public patientOnInvoice: string|null;\n\n    public constructor(init?: Partial<AgedDebtors>) { (Object as any).assign(this, init); }\n}\n(AgedDebtors as unknown)[immerable] = true;\n\nexport class DebtorsByAccount\n{\n    public locationId: number|null;\n    public locationStatus: LocationStatus|null;\n    public accountLocation: string|null;\n    public accountName: string|null;\n    public invoiceStatus: string|null;\n    public invoiceStatusName: string|null;\n    public invoiceGrandTotal: number|null;\n    public invoiceReference: string|null;\n    public accountType: string|null;\n    public accountTypeName: string|null;\n    public accountAddressLine1: string|null;\n    public accountAddressLine2: string|null;\n    public accountAddressLine3: string|null;\n    public accountAddressLine4: string|null;\n    public accountAddressLine5: string|null;\n    public customerAddress: string|null;\n    public accountPostCode: string|null;\n    public amountPaid: number|null;\n    public invoiceDate: string|null;\n    public month: string|null;\n    public year: string|null;\n    public patientReference: string|null;\n    public patientId: number|null;\n    public customerTitle: string|null;\n    public customerForename: string|null;\n    public customerSurname: string|null;\n    public patientName: string|null;\n    public accountBalanceInvoiced: number|null;\n    public accountId: number|null;\n    public accountDetails: string|null;\n    public balanceText: string|null;\n    public patientAge: number|null;\n    public ageGrouping: string|null;\n    public singlePatient: boolean|null;\n    public invoiceAmountLeft: number|null;\n    public patientOnInvoice: string|null;\n\n    public constructor(init?: Partial<DebtorsByAccount>) { (Object as any).assign(this, init); }\n}\n(DebtorsByAccount as unknown)[immerable] = true;\n\nexport class DebtorsOnADate\n{\n    public accountID: number|null;\n    public accountingDate: string|null;\n    public accountingType: string|null;\n    public accountType: string|null;\n    public accountName: string|null;\n    public accountTypeName: string|null;\n    public ageGrouping: string|null;\n    public daysInDebt: number|null;\n    public groupID: number|null;\n    public groupName: string|null;\n    public incomeID: number|null;\n    public incomeReference: string|null;\n    public invoiceDescription: string|null;\n    public invoiceID: number|null;\n    public invoiceStatusOnDate: string|null;\n    public itemDate: string|null;\n    public date: string|null;\n    public dob: string|null;\n    public itemReference: string|null;\n    public locationID: number|null;\n    public locationName: string|null;\n    public locationStatus: LocationStatus|null;\n    public patientAge: number|null;\n    public patientName: string|null;\n    public customerForename: string|null;\n    public customerSurname: string|null;\n    public customerReference: string|null;\n    public paymentAmount: number|null;\n    public remaining: number|null;\n    public total: number|null;\n    public tType: string|null;\n\n    public constructor(init?: Partial<DebtorsOnADate>) { (Object as any).assign(this, init); }\n}\n(DebtorsOnADate as unknown)[immerable] = true;\n\nexport class ChargesAnalysisReport\n{\n    public chargeLocation: string|null;\n    public billingItemDate: string|null;\n    public billingItemLedgerCode: string|null;\n    public patientName: string|null;\n    public customerID: number|null;\n    public customerForename: string|null;\n    public customerSurname: string|null;\n    public billedTo: string|null;\n    public accountType: string|null;\n    public chargeDescription: string|null;\n    public billingItemCategory: string|null;\n    public chargeQuantity: number|null;\n    public totalExVat: number|null;\n    public totalVAT: number|null;\n    public chargeTotal: number|null;\n    public practitionerTitle: string|null;\n    public practitionerForename: string|null;\n    public practitionerSurname: string|null;\n    public practitionerName: string|null;\n    public practitionerStatus: number|null;\n    public locationStatus: LocationStatus|null;\n    public commissionType: string|null;\n    public commissionValue: number|null;\n    public stockReference: string|null;\n    public invoiceReference: string|null;\n    public authCode: string|null;\n\n    public constructor(init?: Partial<ChargesAnalysisReport>) { (Object as any).assign(this, init); }\n}\n(ChargesAnalysisReport as unknown)[immerable] = true;\n\nexport class PractitionerAvailabilityReport\n{\n    public locationId: number|null;\n    public location: string|null;\n    public practitionerName: string|null;\n    public totalSessionTime: number|null;\n    public meetingDuration: number|null;\n    public otherDuration: number|null;\n    public holidayDuration: number|null;\n    public completedAppointmentDuration: number|null;\n    public cancelledAppointmentsDuration: number|null;\n    public dnaAppointmentsDuration: number|null;\n    public weekBeginning: string|null;\n    public monthNumber: number|null;\n    public year: number|null;\n    public monthName: string|null;\n    public actualAvailableTime: number|null;\n    public completedClassesDuration: number|null;\n    public diaryUtilisation: number|null;\n\n    public constructor(init?: Partial<PractitionerAvailabilityReport>) { (Object as any).assign(this, init); }\n}\n(PractitionerAvailabilityReport as unknown)[immerable] = true;\n\nexport class PractitionerAvailabilityReportResponse\n{\n    public results: PractitionerAvailabilityReport[]|null;\n    public totals: { [index:string]: number; }|null;\n    public total: number|null;\n\n    public constructor(init?: Partial<PractitionerAvailabilityReportResponse>) { (Object as any).assign(this, init); }\n}\n(PractitionerAvailabilityReportResponse as unknown)[immerable] = true;\n\nexport class AdmissionsAnalysisReport\n{\n    public admissionCode: string|null;\n    public admissionDate: string|null;\n    public referralDate: string|null;\n    public ageGrouping: string|null;\n    public bodySite: string|null;\n    public customerCategory: string|null;\n    public customerContact: string|null;\n    public customerHomeTelephone: string|null;\n    public customerWorkTelephone: string|null;\n    public customerMobileTelephone: string|null;\n    public customerEmail: string|null;\n    public customerDateOfBirth: string|null;\n    public customerId: number|null;\n    public customerName: string|null;\n    public medicalContact: string|null;\n    public locationName: string|null;\n    public contactTitle: string|null;\n    public contactForename: string|null;\n    public contactSurname: string|null;\n    public customerTitle: string|null;\n    public customerForename: string|null;\n    public customerSurname: string|null;\n    public diagnosisCode: string|null;\n    public groupId: number|null;\n    public locationId: number|null;\n    public groupName: string|null;\n    public id: number|null;\n    public practitionerId: number|null;\n    public practitionerForename: string|null;\n    public practitionerSurname: string|null;\n    public practitionerName: string|null;\n    public practitionerTitle: string|null;\n    public reference: number|null;\n\n    public constructor(init?: Partial<AdmissionsAnalysisReport>) { (Object as any).assign(this, init); }\n}\n(AdmissionsAnalysisReport as unknown)[immerable] = true;\n\nexport class AverageTreatmentsReport\n{\n    public grouping: string|null;\n    public locationId: number|null;\n    public location: string|null;\n    public totalCases: number|null;\n    public totalTreatments: number|null;\n    public averageTreatments: number|null;\n    public averageDaysSpan: number|null;\n\n    public constructor(init?: Partial<AverageTreatmentsReport>) { (Object as any).assign(this, init); }\n}\n(AverageTreatmentsReport as unknown)[immerable] = true;\n\nexport class AverageTreatmentsReportResponse\n{\n    public results: AverageTreatmentsReport[]|null;\n    public total: number|null;\n    public totals: { [index:string]: number; }|null;\n\n    public constructor(init?: Partial<AverageTreatmentsReportResponse>) { (Object as any).assign(this, init); }\n}\n(AverageTreatmentsReportResponse as unknown)[immerable] = true;\n\nexport class CasesDueForReviewReport\n{\n    public locationName: string|null;\n    public locationId: number|null;\n    public caseReference: string|null;\n    public customerReference: string|null;\n    public clientName: string|null;\n    public customerTitle: string|null;\n    public customerForename: string|null;\n    public customerSurname: string|null;\n    public addressLine1: string|null;\n    public postCode: string|null;\n    public diagnosisCode: string|null;\n    public dischargeDate: string|null;\n    public reviewDate: string|null;\n    public admissionDate: string|null;\n    public numberOfAppointments: number|null;\n    public practitionerTitle: string|null;\n    public practitionerForename: string|null;\n    public practitionerSurname: string|null;\n    public practitionerName: string|null;\n    public practitionerId: number|null;\n    public customerMobileTelephone: string|null;\n    public customerHomeTelephone: string|null;\n    public customerWorkTelephone: string|null;\n    public customerContact: string|null;\n\n    public constructor(init?: Partial<CasesDueForReviewReport>) { (Object as any).assign(this, init); }\n}\n(CasesDueForReviewReport as unknown)[immerable] = true;\n\nexport class CurrentCaseLoadReport\n{\n    public id: number|null;\n    public admissionDate: string|null;\n    public addressLine1: string|null;\n    public addressLine2: string|null;\n    public addressLine3: string|null;\n    public addressLine4: string|null;\n    public addressLine5: string|null;\n    public postCode: string|null;\n    public diagnosisCode: string|null;\n    public bodySite: string|null;\n    public appointmentType: string|null;\n    public customerAddress: string|null;\n    public customerForename: string|null;\n    public customerName: string|null;\n    public customerSurname: string|null;\n    public customerTitle: string|null;\n    public customerEmail: string|null;\n    public customerMobileTelephone: string|null;\n    public customerHomeTelephone: string|null;\n    public customerWorkTelephone: string|null;\n    public customerContact: string|null;\n    public groupName: string|null;\n    public locationName: string|null;\n    public locationId: number|null;\n    public practitionerForename: string|null;\n    public practitionerName: string|null;\n    public practitionerSurname: string|null;\n    public practitionerTitle: string|null;\n    public practitionerId: number|null;\n    public reference: string|null;\n    public bookingMethod: string|null;\n    public lastAppointmentDate: string|null;\n\n    public constructor(init?: Partial<CurrentCaseLoadReport>) { (Object as any).assign(this, init); }\n}\n(CurrentCaseLoadReport as unknown)[immerable] = true;\n\nexport class CurrentCaseLoadReportResponse\n{\n    public results: CurrentCaseLoadReport[]|null;\n    public total: number|null;\n    public totals: { [index:string]: number; }|null;\n\n    public constructor(init?: Partial<CurrentCaseLoadReportResponse>) { (Object as any).assign(this, init); }\n}\n(CurrentCaseLoadReportResponse as unknown)[immerable] = true;\n\nexport class DischargeAnalysisReport\n{\n    public locationId: number|null;\n    public location: string|null;\n    public admissionDate: string|null;\n    public dischargeDate: string|null;\n    public referralDate: string|null;\n    public totalAppointments: string|null;\n    public bodySite: string|null;\n    public admissionCode: string|null;\n    public diagnosisCode: string|null;\n    public injuryCause: string|null;\n    public dateOfBirth: string|null;\n    public caseRef: string|null;\n    public surname: string|null;\n    public title: string|null;\n    public forename: string|null;\n    public customerName: string|null;\n    public customerId: number|null;\n    public addressLine1: string|null;\n    public addressLine2: string|null;\n    public addressLine3: string|null;\n    public addressLine4: string|null;\n    public addressLine5: string|null;\n    public customerAddress: string|null;\n    public mobile: string|null;\n    public work: string|null;\n    public home: string|null;\n    public customerContact: string|null;\n    public customerEmail: string|null;\n    public postCode: string|null;\n    public caseReferenceId: number|null;\n    public groupName: string|null;\n    public clientRef: string|null;\n    public ageGrouping: string|null;\n    public practitionerTitle: string|null;\n    public practitionerForename: string|null;\n    public practitionerSurname: string|null;\n    public practitionerName: string|null;\n\n    public constructor(init?: Partial<DischargeAnalysisReport>) { (Object as any).assign(this, init); }\n}\n(DischargeAnalysisReport as unknown)[immerable] = true;\n\nexport class DischargeAnalysisReportResponse\n{\n    public results: DischargeAnalysisReport[]|null;\n    public totals: { [index:string]: number; }|null;\n\n    public constructor(init?: Partial<DischargeAnalysisReportResponse>) { (Object as any).assign(this, init); }\n}\n(DischargeAnalysisReportResponse as unknown)[immerable] = true;\n\nexport class LapsedPatientsReport\n{\n    public groupName: string|null;\n    public locationName: string|null;\n    public locationId: number|null;\n    public practitionerTitle: string|null;\n    public practitionerForename: string|null;\n    public practitionerSurname: string|null;\n    public practitionerName: string|null;\n    public practitionerId: number|null;\n    public admissionDate: string|null;\n    public caseReference: string|null;\n    public customerId: number|null;\n    public customerTitle: string|null;\n    public customerForename: string|null;\n    public customerSurname: string|null;\n    public clientName: string|null;\n    public email: string|null;\n    public mobileTelephone: string|null;\n    public homeTelephone: string|null;\n    public workTelephone: string|null;\n    public customerContact: string|null;\n    public addressLine1: string|null;\n    public addressLine2: string|null;\n    public addressLine3: string|null;\n    public addressLine4: string|null;\n    public addressLine5: string|null;\n    public customerReference: string|null;\n    public customerAddress: string|null;\n    public postCode: string|null;\n    public diagnosisCode: string|null;\n    public dischargeDate: string|null;\n    public bodySite: string|null;\n    public myProperty: number|null;\n    public lastAppointment: string|null;\n    public remainingAuthorisation: string|null;\n    public authExpiryDate: string|null;\n\n    public constructor(init?: Partial<LapsedPatientsReport>) { (Object as any).assign(this, init); }\n}\n(LapsedPatientsReport as unknown)[immerable] = true;\n\nexport class ClientAnalysisReport\n{\n    public registeredLocation: string|null;\n    public patientReference: string|null;\n    public patientName: string|null;\n    public customerForename: string|null;\n    public customerSurname: string|null;\n    public customerEmail: string|null;\n    public mobile: string|null;\n    public work: string|null;\n    public home: string|null;\n    public customerContact: string|null;\n    public gender: string|null;\n    public addressLine1: string|null;\n    public addressLine2: string|null;\n    public addressLine3: string|null;\n    public addressLine4: string|null;\n    public addressLine5: string|null;\n    public customerAddress: string|null;\n    public patientPostCode: string|null;\n    public patientDateOfBirth: string|null;\n    public customerRegistrationDate: string|null;\n    public ageGrouping: string|null;\n    public practitionerTitle: string|null;\n    public practitionerForename: string|null;\n    public practitionerSurname: string|null;\n    public practitionerName: string|null;\n    public practitionerStatus: number|null;\n    public locationStatus: LocationStatus|null;\n    public patientGroup: string|null;\n    public enquirySource: string|null;\n    public futureBookedAppointments: number|null;\n    public futureBookedAppointmentsText: string|null;\n    public customerGivenConsent: boolean|null;\n    public customerSMSConsent: boolean|null;\n    public customerEmailConsent: boolean|null;\n    public customerPhoneConsent: boolean|null;\n\n    public constructor(init?: Partial<ClientAnalysisReport>) { (Object as any).assign(this, init); }\n}\n(ClientAnalysisReport as unknown)[immerable] = true;\n\nexport class ClientAnalysisResponse\n{\n    public results: ClientAnalysisReport[]|null;\n    public totals: { [index:string]: number; }|null;\n\n    public constructor(init?: Partial<ClientAnalysisResponse>) { (Object as any).assign(this, init); }\n}\n(ClientAnalysisResponse as unknown)[immerable] = true;\n\nexport class ClientBirthdayReport\n{\n    public registeredLocation: string|null;\n    public dateOfBirth: string|null;\n    public ageAsOfToday: number|null;\n    public patientReference: string|null;\n    public patientName: string|null;\n    public customerForename: string|null;\n    public customerSurname: string|null;\n    public addressLine1: string|null;\n    public addressLine2: string|null;\n    public addressLine3: string|null;\n    public addressLine4: string|null;\n    public addressLine5: string|null;\n    public customerAddress: string|null;\n    public patientPostCode: string|null;\n    public patientEmail: string|null;\n    public mobile: string|null;\n    public work: string|null;\n    public home: string|null;\n    public customerContact: string|null;\n    public lastAppointmentDate: string|null;\n    public locationStatus: LocationStatus|null;\n\n    public constructor(init?: Partial<ClientBirthdayReport>) { (Object as any).assign(this, init); }\n}\n(ClientBirthdayReport as unknown)[immerable] = true;\n\nexport class ClientTrackingReport\n{\n    public ageGrouping: string|null;\n    public appointmentClassification: string|null;\n    public appointmentDate: string|null;\n    public appointmentLocation: string|null;\n    public appointmentStatus: string|null;\n    public appointmentType: string|null;\n    public chargeCreated: string|null;\n    public chargeTotal: number|null;\n    public futureAppointment: string|null;\n    public futureAppointmentDate: string|null;\n    public hasFutureAppointment: string|null;\n    public patientName: string|null;\n    public customerForename: string|null;\n    public customerSurname: string|null;\n    public customerID: number|null;\n    public customerMobileTelephone: string|null;\n    public customerHomeTelephone: string|null;\n    public customerWorkTelephone: string|null;\n    public customerContact: string|null;\n    public customerEmail: string|null;\n    public patientReference: string|null;\n    public patientStatus: string|null;\n    public practitioner: string|null;\n    public practitionerStatus: number|null;\n    public locationStatus: LocationStatus|null;\n    public practitionerName: string|null;\n    public stockDescription: string|null;\n\n    public constructor(init?: Partial<ClientTrackingReport>) { (Object as any).assign(this, init); }\n}\n(ClientTrackingReport as unknown)[immerable] = true;\n\nexport class ClientTrackingResponse\n{\n    public results: ClientTrackingReport[]|null;\n    public totals: { [index:string]: number; }|null;\n\n    public constructor(init?: Partial<ClientTrackingResponse>) { (Object as any).assign(this, init); }\n}\n(ClientTrackingResponse as unknown)[immerable] = true;\n\nexport class ClickReferrerImagePath\n{\n    public name: string|null;\n    public path: string|null;\n\n    public constructor(init?: Partial<ClickReferrerImagePath>) { (Object as any).assign(this, init); }\n}\n(ClickReferrerImagePath as unknown)[immerable] = true;\n\nexport class QuickStartWizardGroupResponse\n{\n    public id: number|null;\n    public name: string|null;\n    public email: string|null;\n    public showReferrals: boolean|null;\n    public useAuthCode: boolean|null;\n\n    public constructor(init?: Partial<QuickStartWizardGroupResponse>) { (Object as any).assign(this, init); }\n}\n(QuickStartWizardGroupResponse as unknown)[immerable] = true;\n\nexport class QuickStartWizardPractitionerResponse\n{\n    public id: number|null;\n    public email: string|null;\n    public title: string|null;\n    public forename: string|null;\n    public surname: string|null;\n    public gender: string|null;\n    public isActive: boolean|null;\n    public mobile: string|null;\n    public firstStockId: number|null;\n    public followupStockId: number|null;\n    public locations: number[]|null;\n    public defaultLocationId: number|null;\n    public name: string|null;\n    public onlineGuid: string|null;\n\n    public constructor(init?: Partial<QuickStartWizardPractitionerResponse>) { (Object as any).assign(this, init); }\n}\n(QuickStartWizardPractitionerResponse as unknown)[immerable] = true;\n\nexport class ServiceType implements IHasId, IHasGlobalGuid\n{\n    public id: number|null;\n    public name: string|null;\n    public isCurrent: boolean|null;\n    public clinicalAccessMode: AccessMode|null;\n    public patientAccessMode: AccessMode|null;\n    public usesScores: boolean|null;\n    public usesGoals: boolean|null;\n    public usesImages: boolean|null;\n    public labelOverrides: { [index:string]: string; }|null;\n    public listOverrides: { [index:string]: string; }|null;\n    public configOverrides: { [index:string]: string; }|null;\n    public workflowAccessMode: AccessMode|null;\n    public globalGuid: string|null;\n\n    public constructor(init?: Partial<ServiceType>) { (Object as any).assign(this, init); }\n}\n(ServiceType as unknown)[immerable] = true;\n\nexport class QuickStartWizardGetStocksResponse\n{\n    public consultations: Stock[]|null;\n    public cancellations: Stock[]|null;\n\n    public constructor(init?: Partial<QuickStartWizardGetStocksResponse>) { (Object as any).assign(this, init); }\n}\n(QuickStartWizardGetStocksResponse as unknown)[immerable] = true;\n\nexport class QuickStartWizardStock\n{\n    public id: number|null;\n    public appointmentLength: number|null;\n    public totalPrice: number|null;\n    public isFirst: boolean|null;\n    public isFollowup: boolean|null;\n    public description: string|null;\n    public reference: string|null;\n\n    public constructor(init?: Partial<QuickStartWizardStock>) { (Object as any).assign(this, init); }\n}\n(QuickStartWizardStock as unknown)[immerable] = true;\n\nexport class Template implements IHasId, IHasGlobalGuid\n{\n    public id: number|null;\n    public name: string|null;\n    public description: string|null;\n    public body: string|null;\n    public type: string|null;\n    public lastModified: string|null;\n    public globalId: string|null;\n    public isReadOnly: boolean|null;\n    public syncToPronto: boolean|null;\n    public lastSyncDate: string|null;\n    public isRemoved: boolean|null;\n    public serviceTypeId: number|null;\n    public format: BlockTemplateFormat|null;\n    public archived: boolean|null;\n    // @Ignore()\n    public serviceTypeGuid: string|null;\n\n    // @Ignore()\n    public globalGuid: string|null;\n\n    public signatureRequired: boolean|null;\n\n    public constructor(init?: Partial<Template>) { (Object as any).assign(this, init); }\n}\n(Template as unknown)[immerable] = true;\n\nexport class QuickStartWizardTemplateOptionsResponse\n{\n    public simple: Template|null;\n    public advanced: Template|null;\n\n    public constructor(init?: Partial<QuickStartWizardTemplateOptionsResponse>) { (Object as any).assign(this, init); }\n}\n(QuickStartWizardTemplateOptionsResponse as unknown)[immerable] = true;\n\nexport class ProntoInvoiceTemplate\n{\n    public id: string|null;\n    public template: string|null;\n    public itemTemplate: string|null;\n    public timeStamp: string|null;\n\n    public constructor(init?: Partial<ProntoInvoiceTemplate>) { (Object as any).assign(this, init); }\n}\n(ProntoInvoiceTemplate as unknown)[immerable] = true;\n\nexport class ProntoNetworkService\n{\n    public name: string|null;\n    public stockId: string|null;\n    public networkServiceId: string|null;\n    public discipline: string|null;\n    public serviceName: string|null;\n\n    public constructor(init?: Partial<ProntoNetworkService>) { (Object as any).assign(this, init); }\n}\n(ProntoNetworkService as unknown)[immerable] = true;\n\nexport class ProntoCacheResponse\n{\n    public invoices: { [index:string]: ProntoInvoiceTemplate; }|null;\n    public services: { [index:string]: ProntoNetworkService; }|null;\n\n    public constructor(init?: Partial<ProntoCacheResponse>) { (Object as any).assign(this, init); }\n}\n(ProntoCacheResponse as unknown)[immerable] = true;\n\nexport class GetClinicDetailsResponse\n{\n    public clinicName: string|null;\n    public addressLine1: string|null;\n    public addressLine2: string|null;\n    public addressLine3: string|null;\n    public addressLine4: string|null;\n    public postCode: string|null;\n    public homeTelephone: string|null;\n    public category: string|null;\n    public previousSystem: string|null;\n    public clinicCurrencySymbol: string|null;\n\n    public constructor(init?: Partial<GetClinicDetailsResponse>) { (Object as any).assign(this, init); }\n}\n(GetClinicDetailsResponse as unknown)[immerable] = true;\n\nexport class ReferrerOverrideNetworkCharge\n{\n    public referrerId: string|null;\n    public networkId: string|null;\n    public overridingClinicReferralCharge: number|null;\n    public isDefaultCharge: boolean|null;\n\n    public constructor(init?: Partial<ReferrerOverrideNetworkCharge>) { (Object as any).assign(this, init); }\n}\n(ReferrerOverrideNetworkCharge as unknown)[immerable] = true;\n\nexport class GetClientPaymentDetailsResponse\n{\n    public cardExists: boolean|null;\n    public cardName: string|null;\n    public lastFourDigits: string|null;\n    public expiryMonth: number|null;\n    public expiryYear: number|null;\n    public brand: string|null;\n\n    public constructor(init?: Partial<GetClientPaymentDetailsResponse>) { (Object as any).assign(this, init); }\n}\n(GetClientPaymentDetailsResponse as unknown)[immerable] = true;\n\nexport class ProntoPaymentResponse\n{\n    public paymentDetails: GetClientPaymentDetailsResponse|null;\n\n    public constructor(init?: Partial<ProntoPaymentResponse>) { (Object as any).assign(this, init); }\n}\n(ProntoPaymentResponse as unknown)[immerable] = true;\n\nexport class ProntoRegistrationResponse\n{\n\n    public constructor(init?: Partial<ProntoRegistrationResponse>) { (Object as any).assign(this, init); }\n}\n(ProntoRegistrationResponse as unknown)[immerable] = true;\n\nexport class License\n{\n    public clientID: number|null;\n    public locationId: number|null;\n    public expiryDate: string|null;\n    public isTM3Connect: boolean|null;\n    public isEClinic: boolean|null;\n    public isPPM: boolean|null;\n    public isGDS: boolean|null;\n    public hasClass: boolean|null;\n    public hasEnterprise: boolean|null;\n    public hasHealthCode: boolean|null;\n    public hasMultiDiscipline: boolean|null;\n    public hasMultiLocation: boolean|null;\n    public hasOnlinePatientBooking: boolean|null;\n    public hasPostcode: boolean|null;\n    public hasReferrals: boolean|null;\n    public hasRemote: boolean|null;\n    public hasRoomManager: boolean|null;\n    public hasRoleManager: boolean|null;\n    public hasOnlineReception: boolean|null;\n    public hasOnlineReferralBookings: boolean|null;\n    public hasStock: boolean|null;\n    public hasTouch: boolean|null;\n    public hasApi: boolean|null;\n    public hasApiLimit: boolean|null;\n    public dailyApiLimit: number|null;\n    public monthlyApiLimit: number|null;\n    public maxLocations: number|null;\n    public maxUsers: number|null;\n    public onlinePractitioners: number|null;\n    public startDate: string|null;\n    public touchMaxUsers: number|null;\n    public hasPatientPortalBasic: boolean|null;\n    public hasPatientPortalAdvanced: boolean|null;\n    public hasOnlinePatient: boolean|null;\n    public practitionerLicensing: boolean|null;\n    public practitioners: number|null;\n    public hasWebClinicalNotes: boolean|null;\n    public isCancelling: boolean|null;\n    public hasCustomStripeCommission: boolean|null;\n    public customStripeCommissionRate: number|null;\n    public hasCustomSquareCommission: boolean|null;\n    public customSquareCommissionRate: number|null;\n    public isEvaluating: boolean|null;\n    public isProntoPortal: boolean|null;\n    public isClick: boolean|null;\n    public isClickPlus: boolean|null;\n    public isCaseflow: boolean|null;\n    public hasCustomClearAcceptCommission: boolean|null;\n    public customClearAcceptCommissionRate: number|null;\n    public isTM3Essentials: boolean|null;\n    public bzProduct: string|null;\n    public subscription: string|null;\n    public emailRateLimitPerLicense: number|null;\n\n    public constructor(init?: Partial<License>) { (Object as any).assign(this, init); }\n}\n(License as unknown)[immerable] = true;\n\nexport class StartTrialResponse\n{\n    public license: License|null;\n    public url: string|null;\n    public errorMessage: string|null;\n\n    public constructor(init?: Partial<StartTrialResponse>) { (Object as any).assign(this, init); }\n}\n(StartTrialResponse as unknown)[immerable] = true;\n\nexport class ConfirmClientDowngradeToProntoResponse\n{\n    public success: boolean|null;\n    public domain: string|null;\n    public url: string|null;\n\n    public constructor(init?: Partial<ConfirmClientDowngradeToProntoResponse>) { (Object as any).assign(this, init); }\n}\n(ConfirmClientDowngradeToProntoResponse as unknown)[immerable] = true;\n\nexport class PrescriptionDetails\n{\n    public id: number|null;\n    public description: string|null;\n    public dosage: string|null;\n    public otherInstructions: string|null;\n    public deliveryType: string|null;\n    public dateIssued: string|null;\n    public practitionerTitle: string|null;\n    public practitionerForename: string|null;\n    public practitionerSurname: string|null;\n    public userName: string|null;\n    public userFullName: string|null;\n    // @Ignore()\n    public practitionerName: string|null;\n\n    // @Ignore()\n    public issuedBy: string|null;\n\n    public constructor(init?: Partial<PrescriptionDetails>) { (Object as any).assign(this, init); }\n}\n(PrescriptionDetails as unknown)[immerable] = true;\n\nexport class GetPatientPrescriptionsResponse\n{\n    public prescriptions: PrescriptionDetails[]|null;\n    public prescriptionPrintPath: string|null;\n\n    public constructor(init?: Partial<GetPatientPrescriptionsResponse>) { (Object as any).assign(this, init); }\n}\n(GetPatientPrescriptionsResponse as unknown)[immerable] = true;\n\nexport class PrescriptionSummary\n{\n    public description: string|null;\n    public createdAt: string|null;\n    public prescriber: string|null;\n\n    public constructor(init?: Partial<PrescriptionSummary>) { (Object as any).assign(this, init); }\n}\n(PrescriptionSummary as unknown)[immerable] = true;\n\nexport class GetPatientPrescriptionsSummaryResponse\n{\n    public count: number|null;\n    public latest: PrescriptionSummary|null;\n\n    public constructor(init?: Partial<GetPatientPrescriptionsSummaryResponse>) { (Object as any).assign(this, init); }\n}\n(GetPatientPrescriptionsSummaryResponse as unknown)[immerable] = true;\n\nexport class CreateNonRxPrescriptionsResponse\n{\n    public prescriptionId: number|null;\n    public prescriptionPrintPath: string|null;\n\n    public constructor(init?: Partial<CreateNonRxPrescriptionsResponse>) { (Object as any).assign(this, init); }\n}\n(CreateNonRxPrescriptionsResponse as unknown)[immerable] = true;\n\nexport class AddLocationResponse\n{\n    public currentLocations: number|null;\n    public licensedLocations: number|null;\n    public canAddLocation: boolean|null;\n\n    public constructor(init?: Partial<AddLocationResponse>) { (Object as any).assign(this, init); }\n}\n(AddLocationResponse as unknown)[immerable] = true;\n\nexport class SignatureRxResponse\n{\n    public signatureRxIntegrationCode: string|null;\n\n    public constructor(init?: Partial<SignatureRxResponse>) { (Object as any).assign(this, init); }\n}\n(SignatureRxResponse as unknown)[immerable] = true;\n\nexport class CreatePrescriptionResponse\n{\n    public isSuccess: boolean|null;\n    public message: string|null;\n\n    public constructor(init?: Partial<CreatePrescriptionResponse>) { (Object as any).assign(this, init); }\n}\n(CreatePrescriptionResponse as unknown)[immerable] = true;\n\nexport class ICD9\n{\n    public id: number|null;\n    public code: string|null;\n    public description: string|null;\n    public globalId: string|null;\n\n    public constructor(init?: Partial<ICD9>) { (Object as any).assign(this, init); }\n}\n(ICD9 as unknown)[immerable] = true;\n\nexport class JobHistoryDto\n{\n    public createdAt: string|null;\n    public failedAt: string|null;\n    public exceptionType: string|null;\n    public exceptionMessage: string|null;\n    public exceptionDetails: string|null;\n    public state: string|null;\n    public reason: string|null;\n\n    public constructor(init?: Partial<JobHistoryDto>) { (Object as any).assign(this, init); }\n}\n(JobHistoryDto as unknown)[immerable] = true;\n\nexport class JobDto\n{\n    public createdAt: string|null;\n    public cron: string|null;\n    public name: string|null;\n    public nextExecution: string|null;\n    public lastExecution: string|null;\n    public lastJobId: string|null;\n    public lastRecurring: JobDto|null;\n    public type: string|null;\n    public state: string|null;\n    public history: JobHistoryDto[]|null;\n\n    public constructor(init?: Partial<JobDto>) { (Object as any).assign(this, init); }\n}\n(JobDto as unknown)[immerable] = true;\n\nexport class FormReportResponse\n{\n    public id: number|null;\n    public globalId: string|null;\n    public templateId: string|null;\n    public reportData: string|null;\n    public dateSent: string|null;\n    public lastEdited: string|null;\n    public submissionDate: string|null;\n    public completionDate: string|null;\n    public cancellationDate: string|null;\n    public declinedDate: string|null;\n    public patientId: number|null;\n    public caseId: number|null;\n    public name: string|null;\n    public status: number|null;\n    public description: string|null;\n    public type: string|null;\n    public body: string|null;\n    public recordedBy: number|null;\n    public patientSubmitted: boolean|null;\n    public format: BlockTemplateFormat|null;\n    public signatureRequired: boolean|null;\n    public signature: string|null;\n    public userFullName: string|null;\n\n    public constructor(init?: Partial<FormReportResponse>) { (Object as any).assign(this, init); }\n}\n(FormReportResponse as unknown)[immerable] = true;\n\nexport class FormTemplatesResponse\n{\n    public id: number|null;\n    public name: string|null;\n    public description: string|null;\n    public type: string|null;\n    public body: string|null;\n    public globalId: string|null;\n    public used: boolean|null;\n    public smsTemplate: string|null;\n    public emailTemplate: string|null;\n    public archived: boolean|null;\n    public format: BlockTemplateFormat|null;\n    public signatureRequired: boolean|null;\n\n    public constructor(init?: Partial<FormTemplatesResponse>) { (Object as any).assign(this, init); }\n}\n(FormTemplatesResponse as unknown)[immerable] = true;\n\nexport class PatientReport implements IHasId\n{\n    public id: number|null;\n    public globalId: string|null;\n    public templateId: string|null;\n    public reportData: string|null;\n    public dateSent: string|null;\n    public lastEdited: string|null;\n    public submissionDate: string|null;\n    public completionDate: string|null;\n    public cancellationDate: string|null;\n    public declinedDate: string|null;\n    public patientId: number|null;\n    public caseId: number|null;\n    public status: number|null;\n    public recordedBy: number|null;\n    public notificationType: number|null;\n    public signature: string|null;\n    public signedBy: number|null;\n\n    public constructor(init?: Partial<PatientReport>) { (Object as any).assign(this, init); }\n}\n(PatientReport as unknown)[immerable] = true;\n\nexport class ClassesResponse\n{\n    public weeklyClasses: { [index:string]: ClassSessionWithDetails[]; }|null;\n\n    public constructor(init?: Partial<ClassesResponse>) { (Object as any).assign(this, init); }\n}\n(ClassesResponse as unknown)[immerable] = true;\n\nexport class PatientClass\n{\n    public sessionId: number|null;\n    public name: string|null;\n    public description: string|null;\n    public practitionerForename: string|null;\n    public practitionerSurname: string|null;\n    // @Ignore()\n    public practitionerName: string|null;\n\n    public status: string|null;\n    public locationName: string|null;\n    public startDate: string|null;\n    public endDate: string|null;\n\n    public constructor(init?: Partial<PatientClass>) { (Object as any).assign(this, init); }\n}\n(PatientClass as unknown)[immerable] = true;\n\nexport class Point\n{\n    public x: number|null;\n    public y: number|null;\n\n    public constructor(init?: Partial<Point>) { (Object as any).assign(this, init); }\n}\n(Point as unknown)[immerable] = true;\n\nexport class GraphData\n{\n    public label: string|null;\n    public values: Point[]|null;\n\n    public constructor(init?: Partial<GraphData>) { (Object as any).assign(this, init); }\n}\n(GraphData as unknown)[immerable] = true;\n\nexport class PieChartSegment\n{\n    public label: string|null;\n    public value: number|null;\n\n    public constructor(init?: Partial<PieChartSegment>) { (Object as any).assign(this, init); }\n}\n(PieChartSegment as unknown)[immerable] = true;\n\nexport class PieChartData\n{\n    public segments: PieChartSegment[]|null;\n\n    public constructor(init?: Partial<PieChartData>) { (Object as any).assign(this, init); }\n}\n(PieChartData as unknown)[immerable] = true;\n\nexport class TopClients\n{\n    public name: string|null;\n    public type: string|null;\n    public total: number|null;\n\n    public constructor(init?: Partial<TopClients>) { (Object as any).assign(this, init); }\n}\n(TopClients as unknown)[immerable] = true;\n\nexport class DashboardResponse\n{\n    public dnas: GraphData[]|null;\n    public cancellations: GraphData[]|null;\n    public allAppointments: GraphData[]|null;\n    public newPatients: GraphData[]|null;\n    public turnover: GraphData[]|null;\n    public appointmentShare: PieChartData|null;\n    public newPatientByType: PieChartData|null;\n    public topClients: TopClients[]|null;\n    public debt: Object|null;\n    public appointmentStats: Object|null;\n    public dnaTotal: Object|null;\n\n    public constructor(init?: Partial<DashboardResponse>) { (Object as any).assign(this, init); }\n}\n(DashboardResponse as unknown)[immerable] = true;\n\nexport class Timeline\n{\n    public id: number|null;\n    public userId: number|null;\n    public userName: string|null;\n    public title: string|null;\n    public body: string|null;\n    public icon: string|null;\n    public isPriority: boolean|null;\n    public requiresAcknowledgement: boolean|null;\n    public colour: string|null;\n    public date: string|null;\n    public type: TimelineType|null;\n    public subType: string|null;\n    public linkedObjectType: TimelineLinkedObjectType|null;\n    public linkedObjectId: number|null;\n    public contextObjectType: TimelineContextObjectType|null;\n    public contextDescription: string|null;\n    public contextId: number|null;\n    public totalRows: number|null;\n    public documentPath: string|null;\n    public documentName: string|null;\n    public documentFilePath: string|null;\n\n    public constructor(init?: Partial<Timeline>) { (Object as any).assign(this, init); }\n}\n(Timeline as unknown)[immerable] = true;\n\nexport class OnlineConsentResponse extends OnlineConsent\n{\n\n    public constructor(init?: Partial<OnlineConsentResponse>) { super(init); (Object as any).assign(this, init); }\n}\n(OnlineConsentResponse as unknown)[immerable] = true;\n\nexport class ClinicalReportingFieldMap\n{\n    public name: string|null;\n    public map: string[]|null;\n\n    public constructor(init?: Partial<ClinicalReportingFieldMap>) { (Object as any).assign(this, init); }\n}\n(ClinicalReportingFieldMap as unknown)[immerable] = true;\n\nexport class ClinicalReportingFieldResponse\n{\n    public fields: { [index:string]: ReportingField[]; }|null;\n    public mappings: { [index:string]: ClinicalReportingFieldMap; }|null;\n\n    public constructor(init?: Partial<ClinicalReportingFieldResponse>) { (Object as any).assign(this, init); }\n}\n(ClinicalReportingFieldResponse as unknown)[immerable] = true;\n\nexport class ClinicalMyTemplatesResponse\n{\n    public id: number|null;\n    public name: string|null;\n    public description: string|null;\n    public type: string|null;\n    public body: string|null;\n    public globalId: string|null;\n    public used: boolean|null;\n    public background: boolean|null;\n    public isDefault: boolean|null;\n    public isFirst: boolean|null;\n    public isFollow: boolean|null;\n    public isReadOnly: boolean|null;\n    public serviceTypeId: number|null;\n    public archived: boolean|null;\n    public signatureRequired: boolean|null;\n\n    public constructor(init?: Partial<ClinicalMyTemplatesResponse>) { (Object as any).assign(this, init); }\n}\n(ClinicalMyTemplatesResponse as unknown)[immerable] = true;\n\nexport class Lookup implements IHasId, IHasGlobalGuid\n{\n    public id: number|null;\n    public name: string|null;\n    public value: string|null;\n    public order: number|null;\n    public globalGuid: string|null;\n\n    public constructor(init?: Partial<Lookup>) { (Object as any).assign(this, init); }\n}\n(Lookup as unknown)[immerable] = true;\n\nexport class ConfigResponse\n{\n    public id: number|null;\n    public description: string|null;\n    public value: string|null;\n\n    public constructor(init?: Partial<ConfigResponse>) { (Object as any).assign(this, init); }\n}\n(ConfigResponse as unknown)[immerable] = true;\n\nexport class PractitionerResponse\n{\n\n    public constructor(init?: Partial<PractitionerResponse>) { (Object as any).assign(this, init); }\n}\n(PractitionerResponse as unknown)[immerable] = true;\n\nexport class CustomLookupResponse\n{\n    public id: number|null;\n    public name: string|null;\n    public value: string|null;\n    public globalId: string|null;\n    public alternates: string[]|null;\n    public groupId: number|null;\n    public serviceTypeId: number|null;\n\n    public constructor(init?: Partial<CustomLookupResponse>) { (Object as any).assign(this, init); }\n}\n(CustomLookupResponse as unknown)[immerable] = true;\n\nexport class ClinicalTemplatesResponse\n{\n    public templateMappings: { [index:string]: string; }|null;\n    public templates: { [index:string]: Template; }|null;\n\n    public constructor(init?: Partial<ClinicalTemplatesResponse>) { (Object as any).assign(this, init); }\n}\n(ClinicalTemplatesResponse as unknown)[immerable] = true;\n\nexport class TemplateResponse\n{\n    public id: number|null;\n    public body: string|null;\n    public name: string|null;\n    public archived: boolean|null;\n    public isReadOnly: boolean|null;\n    public signatureRequired: boolean|null;\n\n    public constructor(init?: Partial<TemplateResponse>) { (Object as any).assign(this, init); }\n}\n(TemplateResponse as unknown)[immerable] = true;\n\nexport class ClickAccountPaymentsStatsResponse\n{\n    public unreconciledPayments: number|null;\n    public partReconciledPayments: number|null;\n\n    public constructor(init?: Partial<ClickAccountPaymentsStatsResponse>) { (Object as any).assign(this, init); }\n}\n(ClickAccountPaymentsStatsResponse as unknown)[immerable] = true;\n\nexport class ClickAccountInvoiceStatsResponse\n{\n    public unpaidInvoices: number|null;\n    public partPaidInvoices: number|null;\n    public accountBalance: number|null;\n\n    public constructor(init?: Partial<ClickAccountInvoiceStatsResponse>) { (Object as any).assign(this, init); }\n}\n(ClickAccountInvoiceStatsResponse as unknown)[immerable] = true;\n\nexport class ClickAccountUninvoicedChargesCountResponse\n{\n    public uninvoicedCharges: number|null;\n\n    public constructor(init?: Partial<ClickAccountUninvoicedChargesCountResponse>) { (Object as any).assign(this, init); }\n}\n(ClickAccountUninvoicedChargesCountResponse as unknown)[immerable] = true;\n\nexport class CasePrintingStats\n{\n    public image: number|null;\n    public consultation: number|null;\n\n    public constructor(init?: Partial<CasePrintingStats>) { (Object as any).assign(this, init); }\n}\n(CasePrintingStats as unknown)[immerable] = true;\n\nexport class HistoryResult\n{\n    public id: number|null;\n    public type: string|null;\n    public date: string|null;\n    public data: Object|null;\n\n    public constructor(init?: Partial<HistoryResult>) { (Object as any).assign(this, init); }\n}\n(HistoryResult as unknown)[immerable] = true;\n\nexport class CaseAuditDetails\n{\n    public auditUserName: string|null;\n    public auditDate: string|null;\n    public auditNotes: string|null;\n\n    public constructor(init?: Partial<CaseAuditDetails>) { (Object as any).assign(this, init); }\n}\n(CaseAuditDetails as unknown)[immerable] = true;\n\nexport class CasePrintingResponse\n{\n    public stats: CasePrintingStats|null;\n    public details: CaseWithCustomerPractitionerLocationDetails|null;\n    public templates: { [index:string]: { [index:string]: string; }; }|null;\n    public content: HistoryResult[]|null;\n    public postCloseNotes: PostCloseNotesWithUser[]|null;\n    public closedUser: string|null;\n    public closedDate: string|null;\n    public auditDetails: CaseAuditDetails|null;\n    public scores: CasePrintingScore<ClinicalScoreEntry>[]|null;\n    public goals: CasePrintingGoal<GoalEntry>[]|null;\n\n    public constructor(init?: Partial<CasePrintingResponse>) { (Object as any).assign(this, init); }\n}\n(CasePrintingResponse as unknown)[immerable] = true;\n\nexport class CaseReportTemplate\n{\n    public type: number|null;\n    public mode: string|null;\n    public title: string|null;\n    public template: string|null;\n    public sections: string[]|null;\n    public mandatoryFieldOverrides: { [index:string]: { [index:string]: boolean; }; }|null;\n    public customLists: { [index:string]: { [index:string]: string; }; }|null;\n    public lists: { [index:string]: NestedLookupDto; }|null;\n\n    public constructor(init?: Partial<CaseReportTemplate>) { (Object as any).assign(this, init); }\n}\n(CaseReportTemplate as unknown)[immerable] = true;\n\nexport class CaseReportSectionTemplate\n{\n    public id: string|null;\n    public name: string|null;\n    public body: string|null;\n    public timeStamp: string|null;\n    public bookerId: string|null;\n\n    public constructor(init?: Partial<CaseReportSectionTemplate>) { (Object as any).assign(this, init); }\n}\n(CaseReportSectionTemplate as unknown)[immerable] = true;\n\nexport class CaseReportSearchResponse\n{\n    public referralStatus: number|null;\n    public bookerName: string|null;\n    public bookerId: string|null;\n    public treatments: HistoryResult[]|null;\n    public attachments: AttachmentFile[]|null;\n    public allowed: { [index:string]: string; }|null;\n    public reports: { [index:string]: CaseReport; }|null;\n    public templates: { [index:string]: CaseReportTemplate; }|null;\n    public sections: { [index:string]: CaseReportSectionTemplate; }|null;\n    public linkAppointmentsToReports: boolean|null;\n\n    public constructor(init?: Partial<CaseReportSearchResponse>) { (Object as any).assign(this, init); }\n}\n(CaseReportSearchResponse as unknown)[immerable] = true;\n\nexport class CaseDashboardResponse\n{\n    public appointmentCount: number|null;\n    public appointmentStartTime: string|null;\n    public appointmentsWithoutConsultations: number|null;\n    public auth: string|null;\n    public bodySiteText: string|null;\n    public closed: boolean|null;\n    public customerId: number|null;\n    public dateOfAdmission: string|null;\n    public diagnosis: string|null;\n    public diagnosisCode: string|null;\n    public dischargeDate: string|null;\n    public firstAppointmentId: number|null;\n    public id: number|null;\n    public incompleteNotes: boolean|null;\n    public name: string|null;\n    public numberOfAppointments: number|null;\n    public unclosedConsultations: number|null;\n    public status: number|null;\n    public lastConsultationDate: string|null;\n\n    public constructor(init?: Partial<CaseDashboardResponse>) { (Object as any).assign(this, init); }\n}\n(CaseDashboardResponse as unknown)[immerable] = true;\n\nexport class Alert implements IHasId\n{\n    public id: number|null;\n    public userId: number|null;\n    public createdByUserId: number|null;\n    public discriminatorType: string|null;\n    public objectId: number|null;\n    public title: string|null;\n    public notes: string|null;\n    public createdDateTime: string|null;\n    public startDateTime: string|null;\n    public requiresAcknowledgement: boolean|null;\n    public complete: boolean|null;\n    public expiryDateTime: string|null;\n    public diaryDateTime: string|null;\n    public includeInMyWork: boolean|null;\n    public forYourEyesOnly: boolean|null;\n    public flagType: number|null;\n    public serviceTypeId: number|null;\n    // @Ignore()\n    public future: boolean|null;\n\n    public constructor(init?: Partial<Alert>) { (Object as any).assign(this, init); }\n}\n(Alert as unknown)[immerable] = true;\n\nexport class AutoSaveResult\n{\n    public flag: boolean|null;\n    public alert: Alert|null;\n    public question: Object|null;\n\n    public constructor(init?: Partial<AutoSaveResult>) { (Object as any).assign(this, init); }\n}\n(AutoSaveResult as unknown)[immerable] = true;\n\nexport class CaseDropDownResposne\n{\n    public id: number|null;\n    public bodySite: string|null;\n    public admissionDate: string|null;\n    public dischargeDate: string|null;\n    public description: string|null;\n    public customerId: number|null;\n    public serviceTypeId: number|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<CaseDropDownResposne>) { (Object as any).assign(this, init); }\n}\n(CaseDropDownResposne as unknown)[immerable] = true;\n\nexport class CustomerBackgroundResponse\n{\n    public id: number|null;\n    public customerId: number|null;\n    public data: { [index:string]: Object; }|null;\n    public modifiedBy: number|null;\n    public lastModified: string|null;\n    public templateId: string|null;\n    public userFullName: string|null;\n    public highlight: { [index:string]: number[]; }|null;\n\n    public constructor(init?: Partial<CustomerBackgroundResponse>) { (Object as any).assign(this, init); }\n}\n(CustomerBackgroundResponse as unknown)[immerable] = true;\n\nexport interface IPatientInfoResponse\n{\n    id: number|null;\n    responseType: string|null;\n    date: string|null;\n    pinned: boolean|null;\n    description: string|null;\n    title: string|null;\n    serviceTypeId: number|null;\n    customerId: number|null;\n}\n\nexport class DiagnosisCodeTempResponse\n{\n    public key: string|null;\n    public type: string|null;\n    public json: string|null;\n\n    public constructor(init?: Partial<DiagnosisCodeTempResponse>) { (Object as any).assign(this, init); }\n}\n(DiagnosisCodeTempResponse as unknown)[immerable] = true;\n\nexport class AssessmentResult\n{\n    public id: number|null;\n    public treatmentId: number|null;\n    public type: string|null;\n    public title: string|null;\n    public notes: string|null;\n    public date: string|null;\n\n    public constructor(init?: Partial<AssessmentResult>) { (Object as any).assign(this, init); }\n}\n(AssessmentResult as unknown)[immerable] = true;\n\nexport class CaseConsultationItem\n{\n    public id: number|null;\n    public title: string|null;\n    public templateId: string|null;\n    public date: string|null;\n    public type: ConsultationItemType|null;\n    public data: { [index:string]: Object; }|null;\n    public highlights: { [index:string]: number[]; }|null;\n\n    public constructor(init?: Partial<CaseConsultationItem>) { (Object as any).assign(this, init); }\n}\n(CaseConsultationItem as unknown)[immerable] = true;\n\nexport interface ICascade\n{\n    data: { [index:string]: Object; }|null;\n}\n\nexport class ScoreEntryResponse\n{\n    public id: number|null;\n    public scoreId: number|null;\n    public score: number|null;\n    public dateAdded: string|null;\n    public patientSubmitted: boolean|null;\n\n    public constructor(init?: Partial<ScoreEntryResponse>) { (Object as any).assign(this, init); }\n}\n(ScoreEntryResponse as unknown)[immerable] = true;\n\nexport class ScoreResponse implements IHasId\n{\n    public id: number|null;\n    public title: string|null;\n    public dateAdded: string|null;\n    public dateCompleted: string|null;\n    public caseId: number|null;\n    public entries: ScoreEntryResponse[]|null;\n    public min: number|null;\n    public max: number|null;\n    public settingId: number|null;\n    public isPsfs: boolean|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<ScoreResponse>) { (Object as any).assign(this, init); }\n}\n(ScoreResponse as unknown)[immerable] = true;\n\nexport class ScoreSearchResponse\n{\n    public order: string[]|null;\n    public scores: { [index:string]: ScoreResponse; }|null;\n\n    public constructor(init?: Partial<ScoreSearchResponse>) { (Object as any).assign(this, init); }\n}\n(ScoreSearchResponse as unknown)[immerable] = true;\n\nexport class GoalEntryResponse\n{\n    public id: number|null;\n    public notes: string|null;\n    public goalId: number|null;\n    public completionPercentage: number|null;\n    public dateAdded: string|null;\n    public patientSubmitted: boolean|null;\n\n    public constructor(init?: Partial<GoalEntryResponse>) { (Object as any).assign(this, init); }\n}\n(GoalEntryResponse as unknown)[immerable] = true;\n\nexport class GoalResponse implements IHasId\n{\n    public id: number|null;\n    public title: string|null;\n    public dateAdded: string|null;\n    public dateCompleted: string|null;\n    public averaged: boolean|null;\n    public caseId: number|null;\n    public entries: GoalEntryResponse[]|null;\n    public isPsfs: boolean|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<GoalResponse>) { (Object as any).assign(this, init); }\n}\n(GoalResponse as unknown)[immerable] = true;\n\nexport class GoalSearchResponse\n{\n    public order: string[]|null;\n    public goals: { [index:string]: GoalResponse; }|null;\n\n    public constructor(init?: Partial<GoalSearchResponse>) { (Object as any).assign(this, init); }\n}\n(GoalSearchResponse as unknown)[immerable] = true;\n\nexport class SMSBulkActionResponse\n{\n\n    public constructor(init?: Partial<SMSBulkActionResponse>) { (Object as any).assign(this, init); }\n}\n(SMSBulkActionResponse as unknown)[immerable] = true;\n\nexport class EmailBulkActionResponse\n{\n\n    public constructor(init?: Partial<EmailBulkActionResponse>) { (Object as any).assign(this, init); }\n}\n(EmailBulkActionResponse as unknown)[immerable] = true;\n\nexport class ContactBulkActionResponse\n{\n\n    public constructor(init?: Partial<ContactBulkActionResponse>) { (Object as any).assign(this, init); }\n}\n(ContactBulkActionResponse as unknown)[immerable] = true;\n\nexport class FormBulkActionResponse\n{\n\n    public constructor(init?: Partial<FormBulkActionResponse>) { (Object as any).assign(this, init); }\n}\n(FormBulkActionResponse as unknown)[immerable] = true;\n\nexport class TagBulkActionResponse\n{\n\n    public constructor(init?: Partial<TagBulkActionResponse>) { (Object as any).assign(this, init); }\n}\n(TagBulkActionResponse as unknown)[immerable] = true;\n\nexport class MailChimpSubscriptionBulkActionResponse\n{\n\n    public constructor(init?: Partial<MailChimpSubscriptionBulkActionResponse>) { (Object as any).assign(this, init); }\n}\n(MailChimpSubscriptionBulkActionResponse as unknown)[immerable] = true;\n\nexport class AutomationJob implements IHasGuidId\n{\n    public id: string|null;\n    public createdAt: string|null;\n    public dueAt: string|null;\n    public executedAt: string|null;\n    public isComplete: boolean|null;\n    public isError: boolean|null;\n    public isActive: boolean|null;\n    public errorMessage: string|null;\n    public hangfireJobId: string|null;\n    public entityType: AutomationEventEntityType|null;\n    public actionType: EventActionType|null;\n    public entityId: number|null;\n    public name: string|null;\n    public patientName: string|null;\n    public isBulkAction: boolean|null;\n    public automationJobTriggerUserId: number|null;\n\n    public constructor(init?: Partial<AutomationJob>) { (Object as any).assign(this, init); }\n}\n(AutomationJob as unknown)[immerable] = true;\n\nexport class WebinarResponse\n{\n    public id: number|null;\n    public title: string|null;\n    public date: string|null;\n    public text: string|null;\n    public src: string|null;\n\n    public constructor(init?: Partial<WebinarResponse>) { (Object as any).assign(this, init); }\n}\n(WebinarResponse as unknown)[immerable] = true;\n\nexport class SimpleUser\n{\n    public id: number|null;\n    public name: string|null;\n    public fullName: string|null;\n    public type: string|null;\n    public globalGuid: string|null;\n\n    public constructor(init?: Partial<SimpleUser>) { (Object as any).assign(this, init); }\n}\n(SimpleUser as unknown)[immerable] = true;\n\nexport class PublicKeyCredentialDescriptor\n{\n    public type: PublicKeyCredentialType|null;\n    public id: string|null;\n\n    public constructor(init?: Partial<PublicKeyCredentialDescriptor>) { (Object as any).assign(this, init); }\n}\n(PublicKeyCredentialDescriptor as unknown)[immerable] = true;\n\nexport enum UserVerificationRequirement\n{\n    Required = 'required',\n    Preferred = 'preferred',\n    Discouraged = 'discouraged',\n}\n\nexport class Fido2ResponseBase\n{\n    public status: string|null;\n    public errorMessage: string|null;\n\n    public constructor(init?: Partial<Fido2ResponseBase>) { (Object as any).assign(this, init); }\n}\n\nexport class AssertionVerificationResult extends Fido2ResponseBase\n{\n    public credentialId: string|null;\n    public counter: number|null;\n\n    public constructor(init?: Partial<AssertionVerificationResult>) { super(init); (Object as any).assign(this, init); }\n}\n(AssertionVerificationResult as unknown)[immerable] = true;\n\nexport class Fido2User\n{\n    public name: string|null;\n    public id: string|null;\n    public displayName: string|null;\n\n    public constructor(init?: Partial<Fido2User>) { (Object as any).assign(this, init); }\n}\n(Fido2User as unknown)[immerable] = true;\n\nexport class AttestationVerificationSuccess extends AssertionVerificationResult\n{\n    public publicKey: string|null;\n    public user: Fido2User|null;\n    public credType: string|null;\n    public aaGuid: string|null;\n    public attestationCertificate: X509Certificate2|null;\n    public attestationCertificateChain: X509Certificate2[]|null;\n\n    public constructor(init?: Partial<AttestationVerificationSuccess>) { super(init); (Object as any).assign(this, init); }\n}\n(AttestationVerificationSuccess as unknown)[immerable] = true;\n\nexport class CredentialMakeResult extends Fido2ResponseBase\n{\n    public result: AttestationVerificationSuccess|null;\n\n    public constructor(init?: Partial<CredentialMakeResult>) { super(init); (Object as any).assign(this, init); }\n}\n\nexport class LicenseDetailsResponse\n{\n    public license: License|null;\n\n    public constructor(init?: Partial<LicenseDetailsResponse>) { (Object as any).assign(this, init); }\n}\n(LicenseDetailsResponse as unknown)[immerable] = true;\n\nexport class LicenceModule\n{\n    public name: string|null;\n    public description: string|null;\n    public dependencies: LicenceModule[]|null;\n\n    public constructor(init?: Partial<LicenceModule>) { (Object as any).assign(this, init); }\n}\n(LicenceModule as unknown)[immerable] = true;\n\nexport class ModularLicence\n{\n    public name: string|null;\n    public description: string|null;\n    public number: string|null;\n    public type: string|null;\n    public modules: LicenceModule[]|null;\n\n    public constructor(init?: Partial<ModularLicence>) { (Object as any).assign(this, init); }\n}\n(ModularLicence as unknown)[immerable] = true;\n\nexport class CustomAttributeDto\n{\n    public id: string|null;\n    public name: string|null;\n    public type: string|null;\n    public typeFriendlyName: string|null;\n\n    public constructor(init?: Partial<CustomAttributeDto>) { (Object as any).assign(this, init); }\n}\n(CustomAttributeDto as unknown)[immerable] = true;\n\nexport class ConfigureCustomAttributeDto extends CustomAttributeDto\n{\n    public inUse: boolean|null;\n\n    public constructor(init?: Partial<ConfigureCustomAttributeDto>) { super(init); (Object as any).assign(this, init); }\n}\n(ConfigureCustomAttributeDto as unknown)[immerable] = true;\n\nexport class GetCustomAttributeListsResponse\n{\n    public id: string|null;\n    public niceName: string|null;\n    public values: ConfigureCustomAttributeDto[]|null;\n\n    public constructor(init?: Partial<GetCustomAttributeListsResponse>) { (Object as any).assign(this, init); }\n}\n(GetCustomAttributeListsResponse as unknown)[immerable] = true;\n\nexport class CustomAttributes implements IHasGuidId, IHasGlobalGuid\n{\n    public id: string|null;\n    public name: string|null;\n    public typeId: string|null;\n    // @Ignore()\n    public globalGuid: string|null;\n\n    public constructor(init?: Partial<CustomAttributes>) { (Object as any).assign(this, init); }\n}\n(CustomAttributes as unknown)[immerable] = true;\n\nexport enum TokenStatus\n{\n    PotentialChange = 'PotentialChange',\n    AwaitingToken = 'AwaitingToken',\n    Available = 'Available',\n    Expired = 'Expired',\n}\n\nexport class TokenSearchResponse\n{\n    public id: string|null;\n    public customerId: number|null;\n    public pan: string|null;\n    public token: string|null;\n    public merchant: string|null;\n    public expiryDate: string|null;\n    public tokenStatus: TokenStatus|null;\n\n    public constructor(init?: Partial<TokenSearchResponse>) { (Object as any).assign(this, init); }\n}\n(TokenSearchResponse as unknown)[immerable] = true;\n\nexport class TokenRegisterResponse\n{\n    public id: string|null;\n    public customerId: number|null;\n    public pan: string|null;\n    public token: string|null;\n    public merchant: string|null;\n    public expiryDate: string|null;\n\n    public constructor(init?: Partial<TokenRegisterResponse>) { (Object as any).assign(this, init); }\n}\n(TokenRegisterResponse as unknown)[immerable] = true;\n\nexport enum AppointmentBillingType\n{\n    None = 'None',\n    CaseflowManaged = 'CaseflowManaged',\n    ClinicManaged = 'ClinicManaged',\n}\n\nexport class AppointmentDetailsResponse\n{\n    public id: number|null;\n    public locationId: number|null;\n    public bookingMethod: string|null;\n    public bookedByName: string|null;\n    public firstAppointment: boolean|null;\n    public groupName: string|null;\n    public authId: number|null;\n    public authCode: string|null;\n    public caseId: number|null;\n    public casePractitionerId: number|null;\n    public prontoAuditId: string|null;\n    public prontoAppointmentId: string|null;\n    public prontoServiceId: string|null;\n    public meta: { [index:string]: Object; }|null;\n    public isVideo: boolean|null;\n    public videoCode: string|null;\n    public discountCodeId: string|null;\n    public discountCodeAppliedDate: string|null;\n    public discountCodeAdvance: boolean|null;\n    public videoLink: string|null;\n    public videoMeetingParticipantJoinUrl: string|null;\n    public videoMeetingPassword: string|null;\n    public authMaxTreatments: number|null;\n    public authMaxValue: number|null;\n    public authValueRemaining: number|null;\n    public authStartDate: string|null;\n    public authExpiryDate: string|null;\n    public authLeft: number|null;\n    public reminderDate: string|null;\n    public reminderType: string|null;\n    public videoMeetingHostJoinUrl: string|null;\n    public videoMeetingProvider: VideoMeetingProvider|null;\n    public videoMeetingId: string|null;\n    public caseReference: string|null;\n    public stockId: string|null;\n    public stockReference: string|null;\n    public stockTotalPrice: string|null;\n    public casePractitioner: string|null;\n    public caseBodySite: string|null;\n    public caseDateOfAdmission: string|null;\n    public caseFirstAppointmentId: number|null;\n    public caseNumberOfAppointments: number|null;\n    public classSessionId: number|null;\n    public isFirstAppointmentCase: boolean|null;\n    public stockDescription: string|null;\n    public batchNo: number|null;\n    public startDateTime: string|null;\n    public endDateTime: string|null;\n    public roomId: number|null;\n    public practitionerId: number|null;\n    public type: string|null;\n    public patient: RestrictedCustomerDetails|null;\n    public name: string|null;\n    public prepaymentStatus: string|null;\n    public appointmentBillingType: AppointmentBillingType|null;\n\n    public constructor(init?: Partial<AppointmentDetailsResponse>) { (Object as any).assign(this, init); }\n}\n(AppointmentDetailsResponse as unknown)[immerable] = true;\n\nexport class AppointmentCreateClickCaseResponse\n{\n    public caseId: number|null;\n\n    public constructor(init?: Partial<AppointmentCreateClickCaseResponse>) { (Object as any).assign(this, init); }\n}\n(AppointmentCreateClickCaseResponse as unknown)[immerable] = true;\n\nexport class Tm3BookingAudit\n{\n    public id: string|null;\n    public userId: number|null;\n    public appointmentId: string|null;\n    public appointmentStartDateTime: string|null;\n    public appointmentBookingDateTime: string|null;\n    public appointmentCustomerId: string|null;\n    public customerReference: string|null;\n    public bookingType: string|null;\n    public serviceId: string|null;\n    public referrerReference: string|null;\n    public locationId: string|null;\n    public targetId: string|null;\n    public bookerId: string|null;\n    public referralStatus: number|null;\n    public auditClash: boolean|null;\n    public triageReport: string|null;\n    public initialReport: string|null;\n    public rfatReport: string|null;\n    public dischargeReport: string|null;\n    public needsAction: boolean|null;\n    public appointments: ReferralAppointment[]|null;\n    public authorisations: ReferralAuthorisation[]|null;\n    public serviceCharges: { [index:string]: ServiceCharge; }|null;\n    public workflowId: number|null;\n    public reminderSentType: number|null;\n    public initialReportSubmissionDueDate: string|null;\n    public firstReminderSentDate: string|null;\n    public finalReminderSentDate: string|null;\n    public expiredReminderSentDate: string|null;\n    public referrerAlwaysRequiresAuthorisations: boolean|null;\n\n    public constructor(init?: Partial<Tm3BookingAudit>) { (Object as any).assign(this, init); }\n}\n(Tm3BookingAudit as unknown)[immerable] = true;\n\nexport class AppointmentBookingInfoResponse\n{\n    public customer: GeneralCustomerResponse|null;\n    public defaultCharge: StockResponse|null;\n    public authCodes: TreatmentAuthResponse[]|null;\n    public prePaid: StockResponse[]|null;\n    public cases: AppointmentCaseResponse[]|null;\n    public prontoBookings: Tm3BookingAudit[]|null;\n    public meta: { [index:string]: Object; }|null;\n\n    public constructor(init?: Partial<AppointmentBookingInfoResponse>) { (Object as any).assign(this, init); }\n}\n(AppointmentBookingInfoResponse as unknown)[immerable] = true;\n\nexport class CreateTemporaryAppointmentResponse\n{\n    public id: number|null;\n    public backgroundJobId: string|null;\n\n    public constructor(init?: Partial<CreateTemporaryAppointmentResponse>) { (Object as any).assign(this, init); }\n}\n(CreateTemporaryAppointmentResponse as unknown)[immerable] = true;\n\nexport class AppointmentPrepaidIncomeResponse\n{\n    public merchantReference: string|null;\n    public data: { [index:string]: string; }|null;\n    public paymentIntentId: string|null;\n    public isPrepayment: boolean|null;\n\n    public constructor(init?: Partial<AppointmentPrepaidIncomeResponse>) { (Object as any).assign(this, init); }\n}\n(AppointmentPrepaidIncomeResponse as unknown)[immerable] = true;\n\nexport class CaseAlertFlagsResponse\n{\n    public quickPicks: Lookup[]|null;\n    public id: number|null;\n    public description: string|null;\n    public value: string|null;\n\n    public constructor(init?: Partial<CaseAlertFlagsResponse>) { (Object as any).assign(this, init); }\n}\n(CaseAlertFlagsResponse as unknown)[immerable] = true;\n\nexport class GetAllAdvancedSearchFiltersResponse\n{\n    public existingFilterResults: SearchFilter[]|null;\n    public searchConditions: SearchFilterCondition[]|null;\n\n    public constructor(init?: Partial<GetAllAdvancedSearchFiltersResponse>) { (Object as any).assign(this, init); }\n}\n(GetAllAdvancedSearchFiltersResponse as unknown)[immerable] = true;\n\nexport class VaultSessionResponse\n{\n    public sessionToken: string|null;\n\n    public constructor(init?: Partial<VaultSessionResponse>) { (Object as any).assign(this, init); }\n}\n(VaultSessionResponse as unknown)[immerable] = true;\n\nexport class GetInitialRegistrationSessionTokenResponse extends VaultSessionResponse\n{\n\n    public constructor(init?: Partial<GetInitialRegistrationSessionTokenResponse>) { super(init); (Object as any).assign(this, init); }\n}\n(GetInitialRegistrationSessionTokenResponse as unknown)[immerable] = true;\n\nexport enum TrackingCategoryStatus\n{\n    Active = 'Active',\n    Archived = 'Archived',\n    Deleted = 'Deleted',\n}\n\nexport class AccountingTrackingCategory\n{\n    public trackingCategoryID: string|null;\n    public name: string|null;\n    public status: TrackingCategoryStatus|null;\n\n    public constructor(init?: Partial<AccountingTrackingCategory>) { (Object as any).assign(this, init); }\n}\n(AccountingTrackingCategory as unknown)[immerable] = true;\n\nexport class AccountingSystemProviderInfo\n{\n    public displayName: string|null;\n    public accountingSystemName: AccountingSystemProviderName|null;\n    public imageUrl: string|null;\n    public serviceId: string|null;\n\n    public constructor(init?: Partial<AccountingSystemProviderInfo>) { (Object as any).assign(this, init); }\n}\n(AccountingSystemProviderInfo as unknown)[immerable] = true;\n\nexport class AllAccountingConfigAndSettings\n{\n    public accountingSettings: AccountingSettingInfo[]|null;\n    public allowedAccountingIntegrations: AccountingSystemProviderInfo[]|null;\n\n    public constructor(init?: Partial<AllAccountingConfigAndSettings>) { (Object as any).assign(this, init); }\n}\n(AllAccountingConfigAndSettings as unknown)[immerable] = true;\n\nexport enum AccountingPaymentType\n{\n    Overpayment = 'Overpayment',\n    Prepayment = 'Prepayment',\n    Refund = 'Refund',\n}\n\nexport class IncomingAccountingPaymentResponse\n{\n    public accountingPaymentType: AccountingPaymentType|null;\n    public paymentDate: string|null;\n    public totalAmount: number|null;\n    public incomingPaymentId: string|null;\n    public paymentMethod: string|null;\n    public invoiceAllocationAmount: number|null;\n    public remainingAmount: number|null;\n    public paymentStatus: string|null;\n\n    public constructor(init?: Partial<IncomingAccountingPaymentResponse>) { (Object as any).assign(this, init); }\n}\n(IncomingAccountingPaymentResponse as unknown)[immerable] = true;\n\nexport enum AccountingApiSyncState\n{\n    Initiated = 'Initiated',\n    Success = 'Success',\n    Failure = 'Failure',\n    RateLimit = 'RateLimit',\n    PayFailure = 'PayFailure',\n}\n\nexport enum InvoiceTransactionEvent\n{\n    None = 'None',\n    NewInvoiceCreate = 'NewInvoiceCreate',\n    InvoiceUpdate = 'InvoiceUpdate',\n    InvoiceDelete = 'InvoiceDelete',\n    InvoiceTransfer = 'InvoiceTransfer',\n    InvoiceChange = 'InvoiceChange',\n    UseCharge = 'UseCharge',\n    CreateCharges = 'CreateCharges',\n    ChargeRemove = 'ChargeRemove',\n    ChargeDelete = 'ChargeDelete',\n    ChargeUpdate = 'ChargeUpdate',\n}\n\nexport enum PaymentTransactionEvent\n{\n    None = 'None',\n    PaymentCreate = 'PaymentCreate',\n    PaymentUpdate = 'PaymentUpdate',\n    PaymentDelete = 'PaymentDelete',\n    PaymentReconcile = 'PaymentReconcile',\n    MultiplePaymentsPerInvoiceReconcile = 'MultiplePaymentsPerInvoiceReconcile',\n    PaymentUpdateReconciliation = 'PaymentUpdateReconciliation',\n    PaymentUnReconcile = 'PaymentUnReconcile',\n    PaymentRefund = 'PaymentRefund',\n}\n\nexport class InvoiceWithAccountingSystemInfo extends Invoice\n{\n    public invoiceId: number|null;\n    public systemId: string|null;\n    public systemName: AccountingSystemProviderName|null;\n    public systemInvoiceStatus: string|null;\n    public accountingSystemInvoiceId: string|null;\n\n    public constructor(init?: Partial<InvoiceWithAccountingSystemInfo>) { super(init); (Object as any).assign(this, init); }\n}\n(InvoiceWithAccountingSystemInfo as unknown)[immerable] = true;\n\nexport class IncomeWithAccountingSystemInfo extends Income\n{\n    public incomeId: number|null;\n    public systemId: string|null;\n    public systemName: AccountingSystemProviderName|null;\n    public accountingSystemPaymentId: string|null;\n    public accountingPaymentType: AccountingPaymentType|null;\n    public systemPaymentStatus: string|null;\n\n    public constructor(init?: Partial<IncomeWithAccountingSystemInfo>) { super(init); (Object as any).assign(this, init); }\n}\n(IncomeWithAccountingSystemInfo as unknown)[immerable] = true;\n\nexport class BillingItemWithAccountingSystemInfo extends BillingItem\n{\n    public billingItemId: number|null;\n    public systemId: string|null;\n    public systemName: AccountingSystemProviderName|null;\n    public accountingSystemLineItemId: string|null;\n    public accountingSystemCreditNoteId: string|null;\n    public creditNoteAllocationId: string|null;\n\n    public constructor(init?: Partial<BillingItemWithAccountingSystemInfo>) { super(init); (Object as any).assign(this, init); }\n}\n(BillingItemWithAccountingSystemInfo as unknown)[immerable] = true;\n\nexport class InvoicePayment implements IHasId\n{\n    public id: number|null;\n    public invoiceId: number|null;\n    public paymentId: number|null;\n    public refundId: number|null;\n    public amount: number|null;\n    public paymentLocationID: number|null;\n\n    public constructor(init?: Partial<InvoicePayment>) { (Object as any).assign(this, init); }\n}\n(InvoicePayment as unknown)[immerable] = true;\n\nexport class IncomeWithInvoicePayment extends InvoicePayment\n{\n    public paymentMethod: string|null;\n    public otherPaymentMethod: string|null;\n    public date: string|null;\n    public reference: string|null;\n    public paidBy: string|null;\n    public notes: string|null;\n    public cardType: string|null;\n    public cardNumber: string|null;\n    public expiry: string|null;\n    public chequeNumber: string|null;\n    public migrated: boolean|null;\n    public paymentAmount: number|null;\n    public transferred: string|null;\n    public lodgementReference: string|null;\n    public merchantReference: string|null;\n    public status: string|null;\n    public accountingSystemInvoiceId: string|null;\n    public accountingSystemPaymentId: string|null;\n\n    public constructor(init?: Partial<IncomeWithInvoicePayment>) { super(init); (Object as any).assign(this, init); }\n}\n(IncomeWithInvoicePayment as unknown)[immerable] = true;\n\nexport class InvoicePaymentWithAccountingSystemInfo extends IncomeWithInvoicePayment\n{\n    public invoicePaymentId: number|null;\n    public systemId: string|null;\n    public systemName: AccountingSystemProviderName|null;\n    public accountingSystemAllocationId: string|null;\n\n    public constructor(init?: Partial<InvoicePaymentWithAccountingSystemInfo>) { super(init); (Object as any).assign(this, init); }\n}\n(InvoicePaymentWithAccountingSystemInfo as unknown)[immerable] = true;\n\nexport class AccountingTransactionSyncJobRequest\n{\n    public batchId: string|null;\n    public invoiceId: number|null;\n    public transferredInvoiceId: number|null;\n    public invoiceEvent: InvoiceTransactionEvent|null;\n    public paymentId: number|null;\n    public refundPaymentId: number|null;\n    public paymentEvent: PaymentTransactionEvent|null;\n    public paymentType: AccountingPaymentType|null;\n    public chargeIdToRemove: number|null;\n    public invoicesToReconcile: number[]|null;\n    public multiplePaymentsToReconcile: number[]|null;\n    public invoiceToDelete: InvoiceWithAccountingSystemInfo|null;\n    public paymentToDelete: IncomeWithAccountingSystemInfo|null;\n    public chargeToDelete: BillingItemWithAccountingSystemInfo|null;\n    public isCreditTypeBillingItem: boolean|null;\n    public billingItemCategory: string|null;\n    public creditNoteIdToReconcile: number|null;\n    public invoicePaymentsToUnReconcile: InvoicePaymentWithAccountingSystemInfo[]|null;\n    public subTransactionProcess: AccountingTransactionSyncJobRequest|null;\n\n    public constructor(init?: Partial<AccountingTransactionSyncJobRequest>) { (Object as any).assign(this, init); }\n}\n(AccountingTransactionSyncJobRequest as unknown)[immerable] = true;\n\nexport class AccountingApiSyncHistory implements IHasId\n{\n    public id: number|null;\n    public batchId: string|null;\n    public syncDateTime: string|null;\n    public systemName: AccountingSystemProviderName|null;\n    public apiSyncState: AccountingApiSyncState|null;\n    public transactionDto: AccountingTransactionSyncJobRequest|null;\n    public invoiceId: number|null;\n    public paymentId: number|null;\n    public invoiceEvent: InvoiceTransactionEvent|null;\n    public paymentEvent: PaymentTransactionEvent|null;\n    public requestUrl: string|null;\n    public requestDescription: string|null;\n    public requestPayload: string|null;\n    public requestDuration: number|null;\n    public statusCode: string|null;\n    public responsePayload: string|null;\n    public error: string|null;\n\n    public constructor(init?: Partial<AccountingApiSyncHistory>) { (Object as any).assign(this, init); }\n}\n(AccountingApiSyncHistory as unknown)[immerable] = true;\n\nexport class AccountingApiSyncHistorySearchResponse extends AccountingApiSyncHistory\n{\n\n    public constructor(init?: Partial<AccountingApiSyncHistorySearchResponse>) { super(init); (Object as any).assign(this, init); }\n}\n(AccountingApiSyncHistorySearchResponse as unknown)[immerable] = true;\n\nexport class PhioConfigResponse\n{\n    public baseUrl: string|null;\n    public accountName: string|null;\n    public email: string|null;\n\n    public constructor(init?: Partial<PhioConfigResponse>) { (Object as any).assign(this, init); }\n}\n(PhioConfigResponse as unknown)[immerable] = true;\n\nexport class SubscriptionResponse\n{\n    public id: number|null;\n    public status: SubscriptionStatus|null;\n    public startDate: string|null;\n    public expiryDate: string|null;\n    public name: string|null;\n    public packageId: string|null;\n    public totalExVat: number|null;\n    public vatRate: number|null;\n    public totalIncVat: number|null;\n    public locationId: number|null;\n    public locationName: string|null;\n    public practitionerForename: string|null;\n    public practitionerSurname: string|null;\n    public practitionerName: string|null;\n    public customerForename: string|null;\n    public customerSurname: string|null;\n    public customerName: string|null;\n    public customer: CustomerLiteDto|null;\n    public practitionerId: number|null;\n    public nextDue: string|null;\n    public subscriptionInterval: number|null;\n    public subscriptionIntervalUnit: SubscriptionRecurrenceInterval|null;\n    public earliestAllowedCancellationDate: string|null;\n    public lastRunOn: string|null;\n    public bundles: PackageBundleResponse[]|null;\n    public customerId: number|null;\n    public invoiceStatus: string|null;\n    public invoiceStatusText: string|null;\n\n    public constructor(init?: Partial<SubscriptionResponse>) { (Object as any).assign(this, init); }\n}\n(SubscriptionResponse as unknown)[immerable] = true;\n\nexport class SubscriptionHistoryResponse\n{\n    public billingItemItemId: number|null;\n    public billingItemTotal: number|null;\n    public invoiceId: number|null;\n    public invoiceStatus: string|null;\n    public paymentMethod: string|null;\n    public billingItemDate: string|null;\n    public invoiceDate: string|null;\n    public fullyPaidDate: string|null;\n    public invoiceReference: string|null;\n    public invoiceStatusName: string|null;\n\n    public constructor(init?: Partial<SubscriptionHistoryResponse>) { (Object as any).assign(this, init); }\n}\n(SubscriptionHistoryResponse as unknown)[immerable] = true;\n\nexport class SquareOAuthResponse\n{\n    public success: boolean|null;\n    public errorMessage: string|null;\n\n    public constructor(init?: Partial<SquareOAuthResponse>) { (Object as any).assign(this, init); }\n}\n(SquareOAuthResponse as unknown)[immerable] = true;\n\nexport class SquareOAuthPermissionsResponse\n{\n    public permissions: string[]|null;\n\n    public constructor(init?: Partial<SquareOAuthPermissionsResponse>) { (Object as any).assign(this, init); }\n}\n(SquareOAuthPermissionsResponse as unknown)[immerable] = true;\n\nexport class BasicCardDetailsResponse\n{\n    public cardExists: boolean|null;\n    public last4: string|null;\n\n    public constructor(init?: Partial<BasicCardDetailsResponse>) { (Object as any).assign(this, init); }\n}\n(BasicCardDetailsResponse as unknown)[immerable] = true;\n\nexport class FullCardDetailsResponse extends CardDetails\n{\n    public cardExists: boolean|null;\n\n    public constructor(init?: Partial<FullCardDetailsResponse>) { super(init); (Object as any).assign(this, init); }\n}\n(FullCardDetailsResponse as unknown)[immerable] = true;\n\nexport class DeleteCardDetailsResponse\n{\n    public success: boolean|null;\n\n    public constructor(init?: Partial<DeleteCardDetailsResponse>) { (Object as any).assign(this, init); }\n}\n(DeleteCardDetailsResponse as unknown)[immerable] = true;\n\nexport class ExcludedStockInfo\n{\n    public stockId: number|null;\n    public classTypeId: number|null;\n    public packageId: string|null;\n    public name: string|null;\n    public onlineId: string|null;\n\n    public constructor(init?: Partial<ExcludedStockInfo>) { (Object as any).assign(this, init); }\n}\n(ExcludedStockInfo as unknown)[immerable] = true;\n\nexport class PackageResponseBase\n{\n    public id: number|null;\n    public reference: string|null;\n    public totalPrice: number|null;\n    public description: string|null;\n    public appointmentLength: number|null;\n    public groupLocationLocationId: number|null;\n    public locationId: number|null;\n    public colour: number|null;\n    public online: boolean|null;\n    public onlineGuid: string|null;\n    public inUse: boolean|null;\n    public priceExVAT: number|null;\n    public vatRate: number|null;\n    public vatAmount: number|null;\n    public costAmount: number|null;\n    public costVATRate: number|null;\n    public costExVAT: number|null;\n    public costVATAmount: number|null;\n    public longDescription: string|null;\n    public ledgerCode: string|null;\n    public category: string|null;\n    public level: number|null;\n    public minimumLevel: number|null;\n    public displayInPriceList: boolean|null;\n    public totalWorth: number|null;\n    public supplierId: number|null;\n    public serviceTypeId: number|null;\n    public isPrivateCharge: boolean|null;\n    public stockIsCancel: boolean|null;\n    public stockIsFirst: boolean|null;\n    public stockIsFollowUp: boolean|null;\n    public stockIsDNA: boolean|null;\n    public isMultiple: boolean|null;\n    public groupName: string|null;\n    public overrides: StockOverrideResponse[]|null;\n    public colourCss: string|null;\n    public validForDaysFromPurchase: number|null;\n    public isSubscriptionType: boolean|null;\n    public subscriptionInterval: number|null;\n    public subscriptionIntervalUnit: SubscriptionRecurrenceInterval|null;\n    public hasMinimumTerm: boolean|null;\n    public minimumTermValue: number|null;\n    public minimumTermInterval: number|null;\n    public minimumTermIntervalUnit: SubscriptionRecurrenceInterval|null;\n    public hasMaximumTerm: boolean|null;\n    public maximumTermValue: number|null;\n    public maximumTermInterval: number|null;\n    public maximumTermIntervalUnit: SubscriptionRecurrenceInterval|null;\n    public onePerCustomer: boolean|null;\n    public newCustomersOnly: boolean|null;\n    public allowDiscountCodes: boolean|null;\n    public hasValidityPeriod: boolean|null;\n    public validFrom: string|null;\n    public validTo: string|null;\n    public termsAndConditionsFormId: string|null;\n    public updateExistingSubscriptionsToUseNewBundles: boolean|null;\n    public urlSlug: string|null;\n    public imageName: string|null;\n    public ledgerCodeOverrides: AccountingStockLedgerLookup[]|null;\n    public legderCodeAccountId: string|null;\n    public creditAmount: number|null;\n    public packageType: PackageType|null;\n    public excludedStock: ExcludedStockInfo[]|null;\n    public excludedClasses: ExcludedStockInfo[]|null;\n    public allExcludedClassNames: string[]|null;\n    public restrictToPrivateCharges: boolean|null;\n\n    public constructor(init?: Partial<PackageResponseBase>) { (Object as any).assign(this, init); }\n}\n(PackageResponseBase as unknown)[immerable] = true;\n\nexport class PackageResponse extends PackageResponseBase implements IPrivateOnlyCharge\n{\n    public bundles: PackageBundleResponse[]|null;\n    public expirationValue: number|null;\n    public quantityThreshold: number|null;\n    public used: number|null;\n\n    public constructor(init?: Partial<PackageResponse>) { super(init); (Object as any).assign(this, init); }\n}\n(PackageResponse as unknown)[immerable] = true;\n\nexport class OnlineAppointmentHistoryResult\n{\n    public appointmentId: number|null;\n    public classAttendanceId: number|null;\n    public isCourse: number|null;\n    public startDateTime: string|null;\n    public endDateTime: string|null;\n    public status: number|null;\n    public locationName: string|null;\n    public onlineGuid: string|null;\n    public locationGuid: string|null;\n    public title: string|null;\n    public forename: string|null;\n    public surname: string|null;\n    public practitionerName: string|null;\n    public totalPrice: number|null;\n    public overridePrice: number|null;\n    public name: string|null;\n    public type: string|null;\n    public day: number|null;\n    public prePaidId: number|null;\n    public serviceId: string|null;\n    public canCancel: boolean|null;\n    public videoMeetingProvider: VideoMeetingProvider|null;\n    public videoMeetingParticipantJoinUrl: string|null;\n    public isVideo: boolean|null;\n    public videoCode: string|null;\n    public isCaseflow: boolean|null;\n    // @Ignore()\n    public isConnectService: boolean|null;\n\n    public bookingMethod: string|null;\n    public billingItemId: number|null;\n\n    public constructor(init?: Partial<OnlineAppointmentHistoryResult>) { (Object as any).assign(this, init); }\n}\n(OnlineAppointmentHistoryResult as unknown)[immerable] = true;\n\nexport class ClassAttendanceResponse\n{\n    public id: number|null;\n    public attendeeId: number|null;\n    public hasAttended: boolean|null;\n    public dna: boolean|null;\n    public hasBilled: boolean|null;\n    public hasPaid: boolean|null;\n    public sessionId: number|null;\n    public invoiceId: number|null;\n    public invoiceStatus: string|null;\n    public billingItemId: number|null;\n    public prePaidId: number|null;\n    public prePaymentIncomeId: number|null;\n    public customer: CustomerLiteDto|null;\n    public customerId: number|null;\n    public customerForename: string|null;\n    public customerSurname: string|null;\n    public customerName: string|null;\n    public treatmentId: number|null;\n    public treatmentClosed: boolean|null;\n    public caseClosed: boolean|null;\n    public treatmentClosedDate: string|null;\n    public caseClosedDate: string|null;\n    public isTemp: boolean|null;\n    public bookingMethod: string|null;\n    public hasCreditAvailable: boolean|null;\n    public customerEmail: string|null;\n    public customerMobileTelephone: string|null;\n    public customerSMSEnabled: boolean|null;\n    public canCommunicate: boolean|null;\n    public isCancelled: boolean|null;\n    public classTypeId: number|null;\n    public owesCredit: boolean|null;\n\n    public constructor(init?: Partial<ClassAttendanceResponse>) { (Object as any).assign(this, init); }\n}\n(ClassAttendanceResponse as unknown)[immerable] = true;\n\nexport class WaitingListWithDetails extends WaitingList\n{\n    public stockDescription: string|null;\n    public appointmentLength: number|null;\n    public onlineGuid: string|null;\n    public classTypeName: string|null;\n    public startDateTime: string|null;\n    public endDateTime: string|null;\n    public appointmentStatus: number|null;\n    public customerTitle: string|null;\n    public customerForename: string|null;\n    public customerSurname: string|null;\n    public customerName: string|null;\n    public mobileTelephone: string|null;\n    public email: string|null;\n    public smsEnabled: boolean|null;\n    public canCommunicate: boolean|null;\n    public appointmentId: number|null;\n\n    public constructor(init?: Partial<WaitingListWithDetails>) { super(init); (Object as any).assign(this, init); }\n}\n(WaitingListWithDetails as unknown)[immerable] = true;\n\nexport class ClassSessionBaseResponse\n{\n    public id: number|null;\n    public courseId: number|null;\n    public startDateTime: string|null;\n    public endDateTime: string|null;\n    public appointmentId: number|null;\n    public classTypeId: number|null;\n    public locationName: string|null;\n    public roomName: string|null;\n    public locationId: number|null;\n    public roomId: number|null;\n    public practitionerId: number|null;\n    public gender: string|null;\n    public practitionerOnlineGuid: string|null;\n    public minAttendees: number|null;\n    public maxAttendees: number|null;\n    public isAvailableOnline: boolean|null;\n    public type: ClassTypeResponse|null;\n    public attendance: ClassAttendanceResponse[]|null;\n    public cancelled: ClassAttendanceResponse[]|null;\n    public enrolledCustomerIds: number[]|null;\n    public waitingListEnrolled: WaitingListWithDetails[]|null;\n    public appointmentStatus: number|null;\n    public practitionerTitle: string|null;\n    public practitionerForename: string|null;\n    public practitionerSurname: string|null;\n    public practitionerName: string|null;\n    public isVideo: boolean|null;\n    public videoMeetingParticipantJoinUrl: string|null;\n    public videoMeetingHostJoinUrl: string|null;\n    public videoMeetingProvider: VideoMeetingProvider|null;\n\n    public constructor(init?: Partial<ClassSessionBaseResponse>) { (Object as any).assign(this, init); }\n}\n(ClassSessionBaseResponse as unknown)[immerable] = true;\n\nexport class CourseAttendeeResponse\n{\n    public id: number|null;\n    public customerId: number|null;\n    public name: string|null;\n    public hasBilled: boolean|null;\n    public hasPaid: boolean|null;\n    public courseId: number|null;\n    public courseSessionId: number|null;\n    public invoiceId: number|null;\n    public billingItemId: number|null;\n    public prePaidId: number|null;\n    public invoiceStatus: string|null;\n    public customerForename: string|null;\n    public customerSurname: string|null;\n    public customerName: string|null;\n    public customerEmail: string|null;\n    public customerMobileTelephone: string|null;\n    public customerSMSEnabled: boolean|null;\n    public canCommunicate: boolean|null;\n\n    public constructor(init?: Partial<CourseAttendeeResponse>) { (Object as any).assign(this, init); }\n}\n(CourseAttendeeResponse as unknown)[immerable] = true;\n\nexport class CourseResponse\n{\n    public id: number|null;\n    public online: boolean|null;\n    public startDate: string|null;\n    public type: ClassTypeResponse|null;\n    public sessions: ClassSessionBaseResponse[]|null;\n    public courseAttendees: CourseAttendeeResponse[]|null;\n    public totalAttendance: number|null;\n    public waitingListEnrolled: WaitingListWithDetails[]|null;\n    public locationName: string|null;\n    public roomName: string|null;\n    public locationId: number|null;\n    public practitionerId: number|null;\n    public roomId: number|null;\n    public minAttendees: number|null;\n    public maxAttendees: number|null;\n    public locationGuid: string|null;\n    public classTypeId: number|null;\n    public practitionerName: string|null;\n\n    public constructor(init?: Partial<CourseResponse>) { (Object as any).assign(this, init); }\n}\n(CourseResponse as unknown)[immerable] = true;\n\nexport class WaitingListResponse\n{\n    public lists: { [index:string]: WaitingListWithDetails[]; }|null;\n\n    public constructor(init?: Partial<WaitingListResponse>) { (Object as any).assign(this, init); }\n}\n(WaitingListResponse as unknown)[immerable] = true;\n\nexport class OnlineLocationDto\n{\n    public id: number|null;\n    public name: string|null;\n    public addressLine1: string|null;\n    public addressLine2: string|null;\n    public addressLine3: string|null;\n    public addressLine4: string|null;\n    public addressLine5: string|null;\n    public postCode: string|null;\n    public address: string|null;\n    public telephone: string|null;\n    public email: string|null;\n    public web: string|null;\n    public fax: string|null;\n    public status: number|null;\n    public onlineGuid: string|null;\n    public facilities: string|null;\n    public locationLat: number|null;\n    public locationLong: number|null;\n    public latLong: number[]|null;\n    public hasCoordinates: boolean|null;\n    public isMainLocation: boolean|null;\n    public merchantReference: string|null;\n\n    public constructor(init?: Partial<OnlineLocationDto>) { (Object as any).assign(this, init); }\n}\n(OnlineLocationDto as unknown)[immerable] = true;\n\nexport class OnlineWorkflowCaseDetails\n{\n    public id: number|null;\n    public maxTreatments: number|null;\n    public usedTreatments: number|null;\n    public groupId: number|null;\n    public creationDate: string|null;\n    public locationId: string|null;\n    public productId: string|null;\n    public productServiceId: string|null;\n    public capturePointServiceId: string|null;\n    public connectServiceId: string|null;\n    public isFollowUp: boolean|null;\n    public code: string|null;\n    public canBook: boolean|null;\n    public canBookFirstAppointment: boolean|null;\n\n    public constructor(init?: Partial<OnlineWorkflowCaseDetails>) { (Object as any).assign(this, init); }\n}\n(OnlineWorkflowCaseDetails as unknown)[immerable] = true;\n\nexport class BusinessCategoryResponse\n{\n    public isMatch: boolean|null;\n    public reason: string|null;\n    public categories: OnlineServiceCategory[]|null;\n    public services: OnlineClinicService[]|null;\n\n    public constructor(init?: Partial<BusinessCategoryResponse>) { (Object as any).assign(this, init); }\n}\n(BusinessCategoryResponse as unknown)[immerable] = true;\n\nexport class MyDiaryResponse\n{\n    public appointments: OnlineAppointmentHistoryResult[]|null;\n    public classes: OnlineAppointmentHistoryResult[]|null;\n    public courses: CourseResponse[]|null;\n    public waitingLists: WaitingListResponse|null;\n    public additionalLocations: OnlineLocationDto[]|null;\n    public workflowCases: OnlineWorkflowCaseDetails[]|null;\n    public customerId: number|null;\n    public services: BusinessCategoryResponse|null;\n\n    public constructor(init?: Partial<MyDiaryResponse>) { (Object as any).assign(this, init); }\n}\n(MyDiaryResponse as unknown)[immerable] = true;\n\nexport class AppointmentSummary\n{\n    public startDateTime: string|null;\n    public endDateTime: string|null;\n    public locationName: string|null;\n    public locationAddress1: string|null;\n    public locationAddress2: string|null;\n    public locationEmail: string|null;\n    public email: string|null;\n    public reference: string|null;\n    public practitionerId: number|null;\n    public locationId: number|null;\n    public id: number|null;\n    public mobileNumber: string|null;\n    public customerId: number|null;\n    public smsEnabled: boolean|null;\n    public status: number|null;\n    public stockId: number|null;\n    public isNetworkBooking: boolean|null;\n\n    public constructor(init?: Partial<AppointmentSummary>) { (Object as any).assign(this, init); }\n}\n(AppointmentSummary as unknown)[immerable] = true;\n\nexport class OnlinePatientFormResponse\n{\n    public lookups: LookupResponse[]|null;\n    public nestedLists: NestedLookup[]|null;\n    public id: number|null;\n    public globalId: string|null;\n    public templateId: string|null;\n    public reportData: string|null;\n    public submissionDate: string|null;\n    public completionDate: string|null;\n    public lastEditedDate: string|null;\n    public lastEdited: string|null;\n    public patientId: number|null;\n    public caseId: number|null;\n    public status: number|null;\n    public templateName: string|null;\n    public templateDescription: string|null;\n    public templateBody: string|null;\n    public templateType: string|null;\n    public psfs: Psfs[]|null;\n    public templateFormat: BlockTemplateFormat|null;\n\n    public constructor(init?: Partial<OnlinePatientFormResponse>) { (Object as any).assign(this, init); }\n}\n(OnlinePatientFormResponse as unknown)[immerable] = true;\n\nexport class OnlineCancellationOptions\n{\n    public chargeApplies: boolean|null;\n    public isPrePaid: boolean|null;\n    public isCreditBasedPackage: boolean|null;\n    public prePaidId: number|null;\n    public totalPaid: number|null;\n    public cancellationCreditCharge: number|null;\n    public cancellationCharge: number|null;\n    public cancellationChargeExVat: number|null;\n    public stockId: number|null;\n\n    public constructor(init?: Partial<OnlineCancellationOptions>) { (Object as any).assign(this, init); }\n}\n(OnlineCancellationOptions as unknown)[immerable] = true;\n\nexport class OnlineCancellationOptionsResponse\n{\n    public cancellationOptions: OnlineCancellationOptions|null;\n    public cardDetails: CardDetails|null;\n    public cancellationReasons: string[]|null;\n\n    public constructor(init?: Partial<OnlineCancellationOptionsResponse>) { (Object as any).assign(this, init); }\n}\n(OnlineCancellationOptionsResponse as unknown)[immerable] = true;\n\nexport class OnlineInvoiceBillingItem\n{\n    public itemPrice: number|null;\n    public description: string|null;\n\n    public constructor(init?: Partial<OnlineInvoiceBillingItem>) { (Object as any).assign(this, init); }\n}\n(OnlineInvoiceBillingItem as unknown)[immerable] = true;\n\nexport class OnlineInvoice\n{\n    public id: number|null;\n    public price: number|null;\n    public date: string|null;\n    public location: string|null;\n    public addressLine1: string|null;\n    public addressLine2: string|null;\n    public addressLine3: string|null;\n    public addressLine4: string|null;\n    public postCode: string|null;\n    public isReceipt: boolean|null;\n    public items: OnlineInvoiceBillingItem[]|null;\n\n    public constructor(init?: Partial<OnlineInvoice>) { (Object as any).assign(this, init); }\n}\n(OnlineInvoice as unknown)[immerable] = true;\n\nexport class OnlineInvoiceListResponse\n{\n    public receipts: OnlineInvoice[]|null;\n\n    public constructor(init?: Partial<OnlineInvoiceListResponse>) { (Object as any).assign(this, init); }\n}\n(OnlineInvoiceListResponse as unknown)[immerable] = true;\n\nexport class CreditBasedPackagePrePaidInfo extends PrePaid implements IPrivateOnlyCharge\n{\n    public stockOnlineGuid: string|null;\n    public restrictToPrivateCharges: boolean|null;\n    public excludedClassTypes: ExcludedStockInfo[]|null;\n    public excludedStock: ExcludedStockInfo[]|null;\n    public packageName: string|null;\n\n    public constructor(init?: Partial<CreditBasedPackagePrePaidInfo>) { super(init); (Object as any).assign(this, init); }\n}\n(CreditBasedPackagePrePaidInfo as unknown)[immerable] = true;\n\nexport class OnlinePaymentDetailsResponse\n{\n    public cardDetails: CardDetails|null;\n    public packages: PackageResponse[]|null;\n    public creditBasedPackagesAvailable: CreditBasedPackagePrePaidInfo[]|null;\n    public hasCredit: boolean|null;\n    public creditsAvailable: number|null;\n    public hasPrePaid: boolean|null;\n    public hasFutureCredit: boolean|null;\n    public stockCreditValue: number|null;\n\n    public constructor(init?: Partial<OnlinePaymentDetailsResponse>) { (Object as any).assign(this, init); }\n}\n(OnlinePaymentDetailsResponse as unknown)[immerable] = true;\n\nexport class PackageBundleStatusResponse\n{\n    public quantity: number|null;\n    public used: number|null;\n    public total: number|null;\n    public type: PackageBundleItemType|null;\n    public items: PackageBundleItemResponse[]|null;\n    public packageId: string|null;\n\n    public constructor(init?: Partial<PackageBundleStatusResponse>) { (Object as any).assign(this, init); }\n}\n(PackageBundleStatusResponse as unknown)[immerable] = true;\n\nexport class CustomerPackagesResponse\n{\n    public id: string|null;\n    public imageName: string|null;\n    public colour: number|null;\n    public colourCss: string|null;\n    public description: string|null;\n    public totalPrice: number|null;\n    public bundles: PackageBundleStatusResponse[]|null;\n    public expiryDate: string|null;\n    public isSubscription: boolean|null;\n    public prePaidId: number|null;\n    public billingItemId: number|null;\n    public urlSlug: string|null;\n    public status: PrePaidStatus|null;\n    public validForDaysFromPurchase: number|null;\n    public packageType: PackageType|null;\n    public creditAmount: number|null;\n    public creditsUsed: number|null;\n    public excludedStock: ExcludedStockInfo[]|null;\n    public excludedClasses: ExcludedStockInfo[]|null;\n    public allExcludedClassNames: string[]|null;\n\n    public constructor(init?: Partial<CustomerPackagesResponse>) { (Object as any).assign(this, init); }\n}\n(CustomerPackagesResponse as unknown)[immerable] = true;\n\nexport class CustomerSubscriptionResponse extends CustomerPackagesResponse\n{\n    public subscriptionId: number|null;\n    public ableToCancel: boolean|null;\n    public subscriptionStatus: SubscriptionStatus|null;\n    public subscriptionInterval: number|null;\n    public earliestAllowedCancellationDate: string|null;\n    public subscriptionIntervalUnit: SubscriptionRecurrenceInterval|null;\n\n    public constructor(init?: Partial<CustomerSubscriptionResponse>) { super(init); (Object as any).assign(this, init); }\n}\n(CustomerSubscriptionResponse as unknown)[immerable] = true;\n\nexport class OnlineMyPackagesResponse\n{\n    public packages: CustomerPackagesResponse[]|null;\n    public subscriptions: CustomerSubscriptionResponse[]|null;\n\n    public constructor(init?: Partial<OnlineMyPackagesResponse>) { (Object as any).assign(this, init); }\n}\n(OnlineMyPackagesResponse as unknown)[immerable] = true;\n\nexport class BuyPackageResponse\n{\n    public success: boolean|null;\n\n    public constructor(init?: Partial<BuyPackageResponse>) { (Object as any).assign(this, init); }\n}\n(BuyPackageResponse as unknown)[immerable] = true;\n\nexport class ToursModel\n{\n    public homeScreenTour1: boolean|null;\n    public diaryWorkingTimeTour1: boolean|null;\n    public diaryCreateTour1: boolean|null;\n    public diaryEditTour1: boolean|null;\n    public diaryCompleteTour1: boolean|null;\n    public diaryEventTour1: boolean|null;\n    public invoiceWizardTour1: boolean|null;\n    public licenseAgreement: boolean|null;\n    public previewNewUx: boolean|null;\n    public licenseAgreement0419: boolean|null;\n    public seenWelcomeScreen: boolean|null;\n\n    public constructor(init?: Partial<ToursModel>) { (Object as any).assign(this, init); }\n}\n(ToursModel as unknown)[immerable] = true;\n\nexport class User implements IHasId, IHasGlobalGuid\n{\n    public id: number|null;\n    public name: string|null;\n    public fullName: string|null;\n    public current: boolean|null;\n    public temporaryPassword: string|null;\n    public migrated: boolean|null;\n    public email: string|null;\n    public online: boolean|null;\n    public type: string|null;\n    public typeId: number|null;\n    public salt: string|null;\n    public passwordHash: string|null;\n    public locationId: number|null;\n    // @Ignore()\n    public locationGuid: string|null;\n\n    public practitionerId: number|null;\n    // @Ignore()\n    public practitionerGuid: string|null;\n\n    public position: string|null;\n    public mobileNumber: string|null;\n    public permissionId: number|null;\n    // @Ignore()\n    public permissionGuid: string|null;\n\n    public passwordScore: number|null;\n    public passwordExpiry: string|null;\n    public tours: ToursModel|null;\n    public saltBytes: string|null;\n    public version: number|null;\n    public status: number|null;\n    // @Ignore()\n    public onlineGuid: string|null;\n\n    public globalGuid: string|null;\n    public level: string|null;\n    public verified: boolean|null;\n    public avatar: string|null;\n    public firstName: string|null;\n    public lastName: string|null;\n    public twoFactorSecret: string|null;\n    public signatureRxIntegrationCode: string|null;\n    public pinHash: string|null;\n    public signature: string|null;\n\n    public constructor(init?: Partial<User>) { (Object as any).assign(this, init); }\n}\n(User as unknown)[immerable] = true;\n\nexport class OnlineReportTemplateItem\n{\n    public id: string|null;\n    public body: string|null;\n    public name: string|null;\n    public serviceTypeId: number|null;\n\n    public constructor(init?: Partial<OnlineReportTemplateItem>) { (Object as any).assign(this, init); }\n}\n(OnlineReportTemplateItem as unknown)[immerable] = true;\n\nexport class CaseflowTemplate\n{\n    public id: string|null;\n    public name: string|null;\n    public type: string|null;\n    public groupGlobalId: string|null;\n    public isActive: boolean|null;\n    public isRemoved: boolean|null;\n    public mandatoryFieldOverrides: { [index:string]: { [index:string]: boolean; }; }|null;\n    public labelOverrides: { [index:string]: { [index:string]: string; }; }|null;\n    public customLists: { [index:string]: { [index:string]: string; }; }|null;\n    public sections: OnlineReportTemplateItem[]|null;\n    public saveSections: string[]|null;\n    public lists: { [index:string]: NestedLookup; }|null;\n    public allowsAttachments: boolean|null;\n    public requiresAttachment: boolean|null;\n    public attachmentPromptText: string|null;\n    public serviceTypeId: string|null;\n\n    public constructor(init?: Partial<CaseflowTemplate>) { (Object as any).assign(this, init); }\n}\n(CaseflowTemplate as unknown)[immerable] = true;\n\nexport class OnlineCaseflowFormResponse\n{\n    public lookups: LookupResponse[]|null;\n    public nestedLists: NestedLookup[]|null;\n    public productId: string|null;\n    public template: CaseflowTemplate|null;\n\n    public constructor(init?: Partial<OnlineCaseflowFormResponse>) { (Object as any).assign(this, init); }\n}\n(OnlineCaseflowFormResponse as unknown)[immerable] = true;\n\nexport enum WorkflowContactType\n{\n    Patient = 'Patient',\n    Contact = 'Contact',\n    GroupContact = 'GroupContact',\n    NetworkLocation = 'NetworkLocation',\n    NetworkClinician = 'NetworkClinician',\n    Practitioner = 'Practitioner',\n    Location = 'Location',\n    Group = 'Group',\n}\n\nexport class OnlineRole\n{\n    public id: string|null;\n    public role: WorkflowContactType|null;\n    public name: string|null;\n    public stream: string|null;\n    public canRefer: boolean|null;\n    public isFinancial: boolean|null;\n    public isAdministrative: boolean|null;\n    public isClinical: boolean|null;\n    public isClinicalAdmin: boolean|null;\n\n    public constructor(init?: Partial<OnlineRole>) { (Object as any).assign(this, init); }\n}\n(OnlineRole as unknown)[immerable] = true;\n\nexport class OnlineCaseflowContact extends MedicalContactResponse\n{\n    public canRefer: boolean|null;\n    public isFinancial: boolean|null;\n    public isAdmin: boolean|null;\n    public isClinical: boolean|null;\n    public role: string|null;\n    public roleDescription: string|null;\n    public groupName: string|null;\n    public groupId: number|null;\n\n    public constructor(init?: Partial<OnlineCaseflowContact>) { super(init); (Object as any).assign(this, init); }\n}\n(OnlineCaseflowContact as unknown)[immerable] = true;\n\nexport class OnlineCategoryResponse\n{\n    public categories: OnlineServiceCategory[]|null;\n    public services: OnlineClinicService[]|null;\n\n    public constructor(init?: Partial<OnlineCategoryResponse>) { (Object as any).assign(this, init); }\n}\n(OnlineCategoryResponse as unknown)[immerable] = true;\n\nexport class OnlinePractitionerDto\n{\n    public id: string|null;\n    public pId: number|null;\n    public title: string|null;\n    public forename: string|null;\n    public surname: string|null;\n    public name: string|null;\n    public locationId: string|null;\n    public practitionerId: string|null;\n    public gender: string|null;\n    public responseStatus: ResponseStatus|null;\n\n    public constructor(init?: Partial<OnlinePractitionerDto>) { (Object as any).assign(this, init); }\n}\n(OnlinePractitionerDto as unknown)[immerable] = true;\n\nexport class OnlineInitialResponse extends OnlineCategoryResponse\n{\n    public locations: OnlineLocationDto[]|null;\n    public practitioners: OnlinePractitionerDto[]|null;\n    public sections: OnlineSection[]|null;\n    public packages: PackageResponse[]|null;\n    public lookups: Lookup[]|null;\n    public isWaitingListEnabled: boolean|null;\n    public isCaseflow: boolean|null;\n    public isMfaEnabled: boolean|null;\n\n    public constructor(init?: Partial<OnlineInitialResponse>) { super(init); (Object as any).assign(this, init); }\n}\n(OnlineInitialResponse as unknown)[immerable] = true;\n\nexport class AvailabilitySession\n{\n    public date: string|null;\n    public locationId: string|null;\n    public practitionerId: string|null;\n\n    public constructor(init?: Partial<AvailabilitySession>) { (Object as any).assign(this, init); }\n}\n(AvailabilitySession as unknown)[immerable] = true;\n\nexport class LocationFacility\n{\n    public id: string|null;\n    public name: string|null;\n    public icon: string|null;\n\n    public constructor(init?: Partial<LocationFacility>) { (Object as any).assign(this, init); }\n}\n(LocationFacility as unknown)[immerable] = true;\n\nexport class OnlineNetworkLocation\n{\n    public distance: number|null;\n    public locationBusinessId: string|null;\n    public locationId: string|null;\n    public name: string|null;\n    public publicDisplayName: string|null;\n    public networkId: string|null;\n    public networkName: string|null;\n    public latLong: string|null;\n    public hasCoordinates: boolean|null;\n    public address: string|null;\n    public addressLine1: string|null;\n    public addressLine2: string|null;\n    public locationProntoStatus: string|null;\n    public telephone: string|null;\n    public locationFacilities: LocationFacility[]|null;\n\n    public constructor(init?: Partial<OnlineNetworkLocation>) { (Object as any).assign(this, init); }\n}\n(OnlineNetworkLocation as unknown)[immerable] = true;\n\nexport class AppointmentDto\n{\n    public id: number|null;\n    public startDateTime: string|null;\n    public endDateTime: string|null;\n    public name: string|null;\n    public customerId: string|null;\n    public practitionerId: number|null;\n    public practitionerGuid: string|null;\n    public locationId: number|null;\n    public locationGuid: string|null;\n    public status: number|null;\n    public type: string|null;\n    public reference: string|null;\n    public roomId: number|null;\n    public stockId: string|null;\n    public caseId: number|null;\n    public groupId: number|null;\n    public bookedBy: number|null;\n    public authId: number|null;\n    public serviceTypeId: number|null;\n    public firstAppointment: boolean|null;\n    public bookingMethod: string|null;\n    public bookingDateTime: string|null;\n    public completedTime: string|null;\n    public duration: number|null;\n    public comment: string|null;\n    public appointmentType: AppointmentType|null;\n    public backgroundJobId: string|null;\n    public videoCode: string|null;\n\n    public constructor(init?: Partial<AppointmentDto>) { (Object as any).assign(this, init); }\n}\n(AppointmentDto as unknown)[immerable] = true;\n\nexport enum RegistrationStatus\n{\n    New = 0,\n    QuickRegister = 1,\n    Default = 2,\n    NotAllowed = 3,\n    MfaChallenge = 4,\n    Exists = -1,\n}\n\nexport class GetUserByEmailOrMobileResponse\n{\n    public status: RegistrationStatus|null;\n    public statusCode: number|null;\n\n    public constructor(init?: Partial<GetUserByEmailOrMobileResponse>) { (Object as any).assign(this, init); }\n}\n(GetUserByEmailOrMobileResponse as unknown)[immerable] = true;\n\nexport class OnlineRegisterValidationResponse\n{\n    public emailValid: boolean|null;\n    public mobileNumberValid: boolean|null;\n    public message: string|null;\n\n    public constructor(init?: Partial<OnlineRegisterValidationResponse>) { (Object as any).assign(this, init); }\n}\n(OnlineRegisterValidationResponse as unknown)[immerable] = true;\n\nexport class OnlineWaitingListReservationConfirmResponse\n{\n    public startDateTime: string|null;\n    public endDateTime: string|null;\n    public stockId: string|null;\n    public courseId: number|null;\n    public classSessionId: number|null;\n    public hasClassSessionId: boolean|null;\n    public stockDescription: string|null;\n    public classTypeName: string|null;\n    public bookingDateTime: string|null;\n    public reservationEndDateTime: string|null;\n    public duration: number|null;\n    public appointmentId: number|null;\n    public locationName: string|null;\n    public locationId: number|null;\n    public practitionerId: number|null;\n    public appointmentStatus: number|null;\n    public practitionerTitle: string|null;\n    public practitionerForename: string|null;\n    public practitionerSurname: string|null;\n    public practitionerName: string|null;\n    public isExpired: boolean|null;\n    public customerTitle: string|null;\n    public customerForename: string|null;\n    public customerSurname: string|null;\n    public customerName: string|null;\n    public waitingListStatus: WaitingListStatus|null;\n    public waitingListSubStatus: WaitingListSubStatus|null;\n    public waitingListType: WaitingListType|null;\n    public courseSessions: ClassSessionBaseResponse[]|null;\n    public totalPrice: number|null;\n    public priceExVAT: number|null;\n    public linkedToAppointmentId: number|null;\n    public waitingListPaid: boolean|null;\n\n    public constructor(init?: Partial<OnlineWaitingListReservationConfirmResponse>) { (Object as any).assign(this, init); }\n}\n(OnlineWaitingListReservationConfirmResponse as unknown)[immerable] = true;\n\nexport class ChasedPaymentDTO\n{\n    public paymentUrlCode: string|null;\n    public paymentAmount: number|null;\n    public paymentStatus: number|null;\n    public locationId: number|null;\n    public customerId: number|null;\n\n    public constructor(init?: Partial<ChasedPaymentDTO>) { (Object as any).assign(this, init); }\n}\n(ChasedPaymentDTO as unknown)[immerable] = true;\n\nexport class GetSquareCustomerDetailsResponse\n{\n    public addressLines: string[]|null;\n    public familyName: string|null;\n    public givenName: string|null;\n    public email: string|null;\n    public country: string|null;\n    public phone: string|null;\n    public region: string|null;\n    public city: string|null;\n\n    public constructor(init?: Partial<GetSquareCustomerDetailsResponse>) { (Object as any).assign(this, init); }\n}\n(GetSquareCustomerDetailsResponse as unknown)[immerable] = true;\n\nexport enum OnlineAutoLoginAuthenticationResult\n{\n    Success = 'Success',\n    Fail = 'Fail',\n    AccessCodeDoesntMatch = 'AccessCodeDoesntMatch',\n    TokenDoesNotMatch = 'TokenDoesNotMatch',\n    AccessCodeNotProvided = 'AccessCodeNotProvided',\n    Expired = 'Expired',\n    Redirect = 'Redirect',\n}\n\nexport class MsBillingItemResponse implements IHasId\n{\n    public id: number|null;\n    public date: string|null;\n    public description: string|null;\n    public totalExVAT: number|null;\n    public quantity: number|null;\n    public itemPrice: number|null;\n    public vatRate: number|null;\n    public totalVAT: number|null;\n    public total: number|null;\n\n    public constructor(init?: Partial<MsBillingItemResponse>) { (Object as any).assign(this, init); }\n}\n(MsBillingItemResponse as unknown)[immerable] = true;\n\nexport class MsInvoiceResponse\n{\n    public id: number|null;\n    public reference: string|null;\n    public addressTo: string|null;\n    public addressLine1: string|null;\n    public addressLine2: string|null;\n    public addressLine3: string|null;\n    public addressLine4: string|null;\n    public addressLine5: string|null;\n    public postCode: string|null;\n    public date: string|null;\n    public dueDate: string|null;\n    public fullyPaidDate: string|null;\n    public totalExcludingVAT: number|null;\n    public vatAmount: number|null;\n    public grandTotal: number|null;\n    public amountPaid: number|null;\n    public status: string|null;\n    public paymentMethod: string|null;\n    public locationId: number|null;\n    public currencySymbol: string|null;\n    public vatNumber: string|null;\n    public salesStatus: string|null;\n    public purchaseOrderNumber: string|null;\n    public billingItems: MsBillingItemResponse[]|null;\n    public payments: Income[]|null;\n    public isBespoke: boolean|null;\n    public creditNoteAmount: number|null;\n\n    public constructor(init?: Partial<MsInvoiceResponse>) { (Object as any).assign(this, init); }\n}\n(MsInvoiceResponse as unknown)[immerable] = true;\n\nexport class Tm3License implements IHasId\n{\n    public id: number|null;\n    public noOfDiarys: number|null;\n    public modules: string[]|null;\n    public firstDiaryMonthly: number|null;\n    public additionalDiaryMonthly: number|null;\n    public firstDiaryMonthlyOverride: number|null;\n    public additionalDiaryMonthlyOverride: number|null;\n    public totalMonthly: number|null;\n    public totalMonthlyPreDiscount: number|null;\n    public totalMonthlyOverride: number|null;\n    public totalMonthlyVatAmount: number|null;\n    public creationDate: string|null;\n\n    public constructor(init?: Partial<Tm3License>) { (Object as any).assign(this, init); }\n}\n(Tm3License as unknown)[immerable] = true;\n\nexport class GetClientPricingResponse\n{\n    public basePrice: number|null;\n    public additionalPrice: number|null;\n    public basePriceWithVAT: number|null;\n    public additionalPriceWithVAT: number|null;\n    public vatRate: number|null;\n    public smsRate: number|null;\n    public downgrading: number|null;\n    public upgrading: number|null;\n\n    public constructor(init?: Partial<GetClientPricingResponse>) { (Object as any).assign(this, init); }\n}\n(GetClientPricingResponse as unknown)[immerable] = true;\n\nexport class ConfirmClientSignUpResponse\n{\n    public success: boolean|null;\n\n    public constructor(init?: Partial<ConfirmClientSignUpResponse>) { (Object as any).assign(this, init); }\n}\n(ConfirmClientSignUpResponse as unknown)[immerable] = true;\n\nexport class SaveClientPaymentDetailsResponse\n{\n    public clientSecret: string|null;\n\n    public constructor(init?: Partial<SaveClientPaymentDetailsResponse>) { (Object as any).assign(this, init); }\n}\n(SaveClientPaymentDetailsResponse as unknown)[immerable] = true;\n\nexport class ClickPPCDetailsResponse\n{\n    public telehealthRate: number|null;\n    public smsRate: number|null;\n    public cardCommission: string|null;\n    public formsRate: number|null;\n\n    public constructor(init?: Partial<ClickPPCDetailsResponse>) { (Object as any).assign(this, init); }\n}\n(ClickPPCDetailsResponse as unknown)[immerable] = true;\n\nexport class ClickUpgradeDetailsResponse\n{\n    public upfront: number|null;\n    public monthly: number|null;\n    public cardCommission: string|null;\n\n    public constructor(init?: Partial<ClickUpgradeDetailsResponse>) { (Object as any).assign(this, init); }\n}\n(ClickUpgradeDetailsResponse as unknown)[immerable] = true;\n\nexport class ClickTrialResponse\n{\n    public success: boolean|null;\n\n    public constructor(init?: Partial<ClickTrialResponse>) { (Object as any).assign(this, init); }\n}\n(ClickTrialResponse as unknown)[immerable] = true;\n\nexport class ClickDowngradeResponse\n{\n    public success: boolean|null;\n\n    public constructor(init?: Partial<ClickDowngradeResponse>) { (Object as any).assign(this, init); }\n}\n(ClickDowngradeResponse as unknown)[immerable] = true;\n\nexport class ClientDowngradeToSingleLicenseResponse\n{\n    public success: boolean|null;\n\n    public constructor(init?: Partial<ClientDowngradeToSingleLicenseResponse>) { (Object as any).assign(this, init); }\n}\n(ClientDowngradeToSingleLicenseResponse as unknown)[immerable] = true;\n\nexport class ClientNoLongerWantsToCancelResponse\n{\n    public success: boolean|null;\n\n    public constructor(init?: Partial<ClientNoLongerWantsToCancelResponse>) { (Object as any).assign(this, init); }\n}\n(ClientNoLongerWantsToCancelResponse as unknown)[immerable] = true;\n\nexport class ConfirmClientCancellationResponse\n{\n    public success: boolean|null;\n\n    public constructor(init?: Partial<ConfirmClientCancellationResponse>) { (Object as any).assign(this, init); }\n}\n(ConfirmClientCancellationResponse as unknown)[immerable] = true;\n\nexport class MSCurrencyResponse\n{\n    public currencySymbol: string|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<MSCurrencyResponse>) { (Object as any).assign(this, init); }\n}\n(MSCurrencyResponse as unknown)[immerable] = true;\n\nexport class MSSubscriptionResponse\n{\n    public date: string|null;\n\n    public constructor(init?: Partial<MSSubscriptionResponse>) { (Object as any).assign(this, init); }\n}\n(MSSubscriptionResponse as unknown)[immerable] = true;\n\nexport class CreditAutoTopUpAmountResponse\n{\n    public number: number|null;\n\n    public constructor(init?: Partial<CreditAutoTopUpAmountResponse>) { (Object as any).assign(this, init); }\n}\n(CreditAutoTopUpAmountResponse as unknown)[immerable] = true;\n\nexport class SMSOrderHistoryResponse\n{\n\n    public constructor(init?: Partial<SMSOrderHistoryResponse>) { (Object as any).assign(this, init); }\n}\n(SMSOrderHistoryResponse as unknown)[immerable] = true;\n\nexport class BundleOption\n{\n    public number: number|null;\n    public totalExVAT: number|null;\n    public vatAmount: number|null;\n    public total: number|null;\n    public bundleType: string|null;\n\n    public constructor(init?: Partial<BundleOption>) { (Object as any).assign(this, init); }\n}\n(BundleOption as unknown)[immerable] = true;\n\nexport class SMSBundleOptionsResponse\n{\n    public bundles: BundleOption[]|null;\n    public remaining: number|null;\n\n    public constructor(init?: Partial<SMSBundleOptionsResponse>) { (Object as any).assign(this, init); }\n}\n(SMSBundleOptionsResponse as unknown)[immerable] = true;\n\nexport class ExtraSystemCreditResponse\n{\n    public amountPurchased: number|null;\n    public purchaseDate: string|null;\n    public amountRemaining: number|null;\n    public expiryDate: string|null;\n\n    public constructor(init?: Partial<ExtraSystemCreditResponse>) { (Object as any).assign(this, init); }\n}\n(ExtraSystemCreditResponse as unknown)[immerable] = true;\n\nexport class SystemCreditBundleOptionsResponse\n{\n    public bundles: BundleOption[]|null;\n    public remaining: number|null;\n    public total: number|null;\n    public extras: ExtraSystemCreditResponse[]|null;\n\n    public constructor(init?: Partial<SystemCreditBundleOptionsResponse>) { (Object as any).assign(this, init); }\n}\n(SystemCreditBundleOptionsResponse as unknown)[immerable] = true;\n\nexport class CreditOrderHistoryResponse\n{\n\n    public constructor(init?: Partial<CreditOrderHistoryResponse>) { (Object as any).assign(this, init); }\n}\n(CreditOrderHistoryResponse as unknown)[immerable] = true;\n\nexport class PayPerClickDetail\n{\n    public id: number|null;\n    public date: string|null;\n    public itemType: string|null;\n    public itemId: number|null;\n    public itemGuid: string|null;\n    public userId: number|null;\n    public practitionerId: number|null;\n    public locationId: number|null;\n    public locationName: string|null;\n    public practitionerName: string|null;\n    public userName: string|null;\n    public includedInAllowance: boolean|null;\n    public itemReference: string|null;\n    public content: string|null;\n    public value: number|null;\n\n    public constructor(init?: Partial<PayPerClickDetail>) { (Object as any).assign(this, init); }\n}\n(PayPerClickDetail as unknown)[immerable] = true;\n\nexport class PayPerClickStats\n{\n    public activePractitioners: number|null;\n    public paygPractitioners: number|null;\n    public appointments: number|null;\n    public paygAppointments: number|null;\n    public classes: number|null;\n    public paygClasses: number|null;\n    public systemCredits: number|null;\n\n    public constructor(init?: Partial<PayPerClickStats>) { (Object as any).assign(this, init); }\n}\n(PayPerClickStats as unknown)[immerable] = true;\n\nexport class PayPerClickStatsResponse\n{\n    public thisMonth: PayPerClickStats|null;\n    public lastMonth: PayPerClickStats|null;\n\n    public constructor(init?: Partial<PayPerClickStatsResponse>) { (Object as any).assign(this, init); }\n}\n(PayPerClickStatsResponse as unknown)[immerable] = true;\n\nexport class UnrestrictedUserResponse\n{\n    public unrestricted: number[]|null;\n\n    public constructor(init?: Partial<UnrestrictedUserResponse>) { (Object as any).assign(this, init); }\n}\n(UnrestrictedUserResponse as unknown)[immerable] = true;\n\nexport class DiaryAnalysisReport\n{\n    public locationStatus: number|null;\n    public locationName: string|null;\n    // @Ignore()\n    public practitionerName: string|null;\n\n    public practitionerTitle: string|null;\n    public practitionerForename: string|null;\n    public practitionerSurname: string|null;\n    public practitionerStatus: number|null;\n    // @Ignore()\n    public appointmentClassification: string|null;\n\n    public groupId: number|null;\n    public groupName: string|null;\n    public roomDescription: string|null;\n    // @Ignore()\n    public patientName: string|null;\n\n    public customerTitle: string|null;\n    public customerForename: string|null;\n    public customerSurname: string|null;\n    public email: string|null;\n    public dateOfBirth: string|null;\n    public ageGrouping: string|null;\n    public startDateTime: string|null;\n    public appointmentName: string|null;\n    // @Ignore()\n    public details: string|null;\n\n    public notes: string|null;\n    public appointmentStatus: AppointmentStatus|null;\n    public stockDescription: string|null;\n    public isFirstAppointment: boolean|null;\n    // @Ignore()\n    public appointmentDescription: string|null;\n\n    // @Ignore()\n    public treatmentType: string|null;\n\n    public appointmentType: string|null;\n    // @Ignore()\n    public diaryEventCategory: string|null;\n\n    public bookingMethod: string|null;\n    public bookingMethodText: string|null;\n    public reason: string|null;\n    // @Ignore()\n    public cancellationReason: string|null;\n\n    public username: string|null;\n    // @Ignore()\n    public bookedBy: string|null;\n\n    public stockId: number|null;\n    public projectedIncome: number|null;\n    public authLeft: number|null;\n    public _cancelMethod: string|null;\n    // @Ignore()\n    public cancelMethod: string|null;\n\n    public _lastActionDateTime: string|null;\n    // @Ignore()\n    public lastActionDateTime: string|null;\n\n    public _lastActionUser: string|null;\n    // @Ignore()\n    public lastActionUser: string|null;\n\n    public _prepaymentStatus: string|null;\n    // @Ignore()\n    public prepaymentStatus: string|null;\n\n    public _recallStatus: string|null;\n    // @Ignore()\n    public recallStatus: string|null;\n\n    public constructor(init?: Partial<DiaryAnalysisReport>) { (Object as any).assign(this, init); }\n}\n(DiaryAnalysisReport as unknown)[immerable] = true;\n\nexport class DiaryAnalysisResponse\n{\n    public results: DiaryAnalysisReport[]|null;\n    public total: number|null;\n    public totals: { [index:string]: number; }|null;\n\n    public constructor(init?: Partial<DiaryAnalysisResponse>) { (Object as any).assign(this, init); }\n}\n(DiaryAnalysisResponse as unknown)[immerable] = true;\n\nexport class NonReturningReportResponse\n{\n    public customerReference: string|null;\n    public customerName: string|null;\n    public totalAppointments: number|null;\n    public lastAppointmentDate: string|null;\n    public totalCharges: number|null;\n    public practitionerName: string|null;\n    public practitionerId: number|null;\n    public locationName: string|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<NonReturningReportResponse>) { (Object as any).assign(this, init); }\n}\n(NonReturningReportResponse as unknown)[immerable] = true;\n\nexport enum TrafficAttendance\n{\n    High = 'High',\n    Low = 'Low',\n}\n\nexport class TrafficReportResponse\n{\n    public customerId: number|null;\n    public accountId: number|null;\n    public patientName: string|null;\n    public totalAppointments: number|null;\n    public booked: number|null;\n    public completed: number|null;\n    public dna: number|null;\n    public cancelled: number|null;\n    public totalClasses: number|null;\n    public billedClient: number|null;\n    public billedGroup: number|null;\n    public attendance: TrafficAttendance|null;\n    public totalClassAttendance: number|null;\n    public totalEvents: number|null;\n    public bookingMethod: string|null;\n\n    public constructor(init?: Partial<TrafficReportResponse>) { (Object as any).assign(this, init); }\n}\n(TrafficReportResponse as unknown)[immerable] = true;\n\nexport class AutopayReportResult\n{\n    public customerTitle: string|null;\n    public customerForename: string|null;\n    public customerSurname: string|null;\n    // @Ignore()\n    public customerName: string|null;\n\n    public nextDue: string|null;\n    public homeTelephone: string|null;\n    public workTelephone: string|null;\n    public mobileTelephone: string|null;\n    public name: string|null;\n    public totalIncVat: number|null;\n    public status: SubscriptionStatus|null;\n    // @Ignore()\n    public number: string|null;\n\n    public locationId: number|null;\n    public locationName: string|null;\n    public practitionerId: number|null;\n    public practitionerTitle: string|null;\n    public practitionerForename: string|null;\n    public practitionerSurname: string|null;\n    // @Ignore()\n    public practitionerName: string|null;\n\n    public expiresSoon: boolean|null;\n    public hasStripe: boolean|null;\n    public cardExpiresSoon: boolean|null;\n    public expiryYear: number|null;\n    public expiryMonth: number|null;\n    public stripeCustomerId: string|null;\n    public packageId: string|null;\n\n    public constructor(init?: Partial<AutopayReportResult>) { (Object as any).assign(this, init); }\n}\n(AutopayReportResult as unknown)[immerable] = true;\n\nexport class GetSettingsResponse extends OnlineSettings\n{\n    public connectUrl: string|null;\n\n    public constructor(init?: Partial<GetSettingsResponse>) { super(init); (Object as any).assign(this, init); }\n}\n(GetSettingsResponse as unknown)[immerable] = true;\n\nexport class CanDeleteImageResponse\n{\n    public isLogo: boolean|null;\n    public isOffer: boolean|null;\n    public isTitle: boolean|null;\n    public packages: string[]|null;\n    public categories: string[]|null;\n    public services: string[]|null;\n\n    public constructor(init?: Partial<CanDeleteImageResponse>) { (Object as any).assign(this, init); }\n}\n(CanDeleteImageResponse as unknown)[immerable] = true;\n\nexport class BusinessSettingsIdResponse\n{\n    public settingsId: number|null;\n\n    public constructor(init?: Partial<BusinessSettingsIdResponse>) { (Object as any).assign(this, init); }\n}\n(BusinessSettingsIdResponse as unknown)[immerable] = true;\n\nexport enum Gender\n{\n    Unspecified = 'Unspecified',\n    Male = 'Male',\n    Female = 'Female',\n}\n\nexport class ClassSearchResult\n{\n    public id: number|null;\n    public appointmentId: number|null;\n    public courseId: number|null;\n    public classTypeId: number|null;\n    public stockId: number|null;\n    public startDateTime: string|null;\n    public endDateTime: string|null;\n    public status: number|null;\n    public locationId: number|null;\n    public locationName: string|null;\n    public onlineGuid: string|null;\n    public price: number|null;\n    public priceExVat: number|null;\n    public creditValue: number|null;\n    public practitionerId: number|null;\n    public practitionerForename: string|null;\n    public practitionerSurname: string|null;\n    public practitionerName: string|null;\n    public practitionerGender: string|null;\n    // @Ignore()\n    public practGender: Gender|null;\n\n    public isCourse: boolean|null;\n    public name: string|null;\n    public defaultMinAttendees: number|null;\n    public defaultMaxAttendees: number|null;\n    public stockOnlineGuid: string|null;\n    public waitingListEnrolled: WaitingListWithDetails[]|null;\n    public practitionerOnlineGuid: string|null;\n    public isAttending: boolean|null;\n    public courseSessionIndex: number|null;\n    public courseTotalSessions: number|null;\n    public serviceId: string|null;\n\n    public constructor(init?: Partial<ClassSearchResult>) { (Object as any).assign(this, init); }\n}\n(ClassSearchResult as unknown)[immerable] = true;\n\nexport class ClassTypeBase implements IHasId\n{\n    public id: number|null;\n    public name: string|null;\n    public description: string|null;\n    public imageUrl: string|null;\n    public isCourse: boolean|null;\n    public termsAndConditionsFormId: string|null;\n    public colour: number|null;\n    public defaultSessionLength: number|null;\n    public defaultMinAttendees: number|null;\n    public defaultMaxAttendees: number|null;\n    public isAvailableOnline: boolean|null;\n    public cancellationChargeApplies: boolean|null;\n    public cancellationHours: number|null;\n    public cancellationStockId: number|null;\n    public isCurrent: boolean|null;\n    public isFavourite: boolean|null;\n    public serviceTypeId: number|null;\n    public isVideo: boolean|null;\n\n    public constructor(init?: Partial<ClassTypeBase>) { (Object as any).assign(this, init); }\n}\n\nexport class ClassType extends ClassTypeBase\n{\n    public lateTransferChargeApplies: boolean|null;\n    public lateTransferHours: number|null;\n    public allowPayPerSession: boolean|null;\n    public stockId: number|null;\n    public numberOfSessions: number|null;\n\n    public constructor(init?: Partial<ClassType>) { super(init); (Object as any).assign(this, init); }\n}\n(ClassType as unknown)[immerable] = true;\n\nexport class ClassSearchResponse\n{\n    public classes: ClassSearchResult[]|null;\n    public locationIds: string[]|null;\n    public attendance: { [index:number]: number; }|null;\n    public classInfo: ClassType|null;\n    public courseAppointmentDates: { [index:number]: string[]; }|null;\n\n    public constructor(init?: Partial<ClassSearchResponse>) { (Object as any).assign(this, init); }\n}\n(ClassSearchResponse as unknown)[immerable] = true;\n\nexport class SimilarClass\n{\n    public classSessionId: number|null;\n    public startDateTime: string|null;\n\n    public constructor(init?: Partial<SimilarClass>) { (Object as any).assign(this, init); }\n}\n(SimilarClass as unknown)[immerable] = true;\n\n// @DataContract\nexport class ConvertSessionToTokenResponse\n{\n    // @DataMember(Order=1)\n    public meta: { [index:string]: string; }|null;\n\n    // @DataMember(Order=2)\n    public accessToken: string|null;\n\n    // @DataMember(Order=3)\n    public refreshToken: string|null;\n\n    // @DataMember(Order=4)\n    public responseStatus: ResponseStatus|null;\n\n    public constructor(init?: Partial<ConvertSessionToTokenResponse>) { (Object as any).assign(this, init); }\n}\n(ConvertSessionToTokenResponse as unknown)[immerable] = true;\n\nexport class ZoomSaveStateResponse\n{\n    public apiKey: string|null;\n    public redirectUri: string|null;\n\n    public constructor(init?: Partial<ZoomSaveStateResponse>) { (Object as any).assign(this, init); }\n}\n(ZoomSaveStateResponse as unknown)[immerable] = true;\n\nexport enum ZoomUserType\n{\n    Basic = 1,\n    Licensed = 2,\n    OnPrem = 3,\n}\n\nexport class ZoomUser\n{\n    public id: string|null;\n    public firstName: string|null;\n    public lastName: string|null;\n    public email: string|null;\n    public type: ZoomUserType|null;\n    public status: string|null;\n    public pmi: number|null;\n    public timezone: string|null;\n    public dept: string|null;\n    public createdAt: string|null;\n    public lastLoginTime: string|null;\n    public lastClientVersion: string|null;\n    public groupIds: string[]|null;\n    public verified: number|null;\n    public accountId: string|null;\n    public fullName: string|null;\n\n    public constructor(init?: Partial<ZoomUser>) { (Object as any).assign(this, init); }\n}\n(ZoomUser as unknown)[immerable] = true;\n\nexport class ZoomReauthResponse extends ZoomSaveStateResponse\n{\n    public isInvalid: boolean|null;\n\n    public constructor(init?: Partial<ZoomReauthResponse>) { super(init); (Object as any).assign(this, init); }\n}\n(ZoomReauthResponse as unknown)[immerable] = true;\n\nexport class WaitingListByIdResponse extends WaitingList\n{\n\n    public constructor(init?: Partial<WaitingListByIdResponse>) { super(init); (Object as any).assign(this, init); }\n}\n(WaitingListByIdResponse as unknown)[immerable] = true;\n\nexport class WaitingListStateHistory implements IHasId\n{\n    public id: number|null;\n    public waitingListId: number|null;\n    public customerId: number|null;\n    public description: string|null;\n    public listType: WaitingListType|null;\n    public stockId: number|null;\n    public classTypeId: number|null;\n    public temporaryClassSessionId: number|null;\n    public temporaryCourseId: number|null;\n    public temporaryAppointmentId: number|null;\n    public status: WaitingListStatus|null;\n    public subStatus: WaitingListSubStatus|null;\n    public notificationType: WaitingListNotificationType|null;\n    public dateUpdated: string|null;\n    public startDateTime: string|null;\n    public pauseUntilDateTime: string|null;\n\n    public constructor(init?: Partial<WaitingListStateHistory>) { (Object as any).assign(this, init); }\n}\n(WaitingListStateHistory as unknown)[immerable] = true;\n\nexport class WaitingListStateHistoryResponse extends WaitingListStateHistory\n{\n\n    public constructor(init?: Partial<WaitingListStateHistoryResponse>) { super(init); (Object as any).assign(this, init); }\n}\n(WaitingListStateHistoryResponse as unknown)[immerable] = true;\n\nexport class AllowedIP implements IHasId\n{\n    public id: number|null;\n    public address: string|null;\n\n    public constructor(init?: Partial<AllowedIP>) { (Object as any).assign(this, init); }\n}\n(AllowedIP as unknown)[immerable] = true;\n\nexport class AllowedIPResponse\n{\n    public allowed: AllowedIP[]|null;\n\n    public constructor(init?: Partial<AllowedIPResponse>) { (Object as any).assign(this, init); }\n}\n(AllowedIPResponse as unknown)[immerable] = true;\n\nexport class EmbeddableDashboardToken\n{\n    public token: string|null;\n\n    public constructor(init?: Partial<EmbeddableDashboardToken>) { (Object as any).assign(this, init); }\n}\n(EmbeddableDashboardToken as unknown)[immerable] = true;\n\nexport class SystemLog implements IHasId\n{\n    public id: number|null;\n    public description: string|null;\n    public requestId: string|null;\n    public requestUrl: string|null;\n    public requestMethod: string|null;\n    public requestPayload: string|null;\n    public responseStatus: string|null;\n    public responsePayload: string|null;\n    public date: string|null;\n    public exception: string|null;\n    public duration: number|null;\n    public customerId: number|null;\n    public objectId: number|null;\n    public objectType: string|null;\n\n    public constructor(init?: Partial<SystemLog>) { (Object as any).assign(this, init); }\n}\n(SystemLog as unknown)[immerable] = true;\n\nexport class SystemLogWithCustomerName extends SystemLog\n{\n    public name: string|null;\n    public forename: string|null;\n    public surname: string|null;\n\n    public constructor(init?: Partial<SystemLogWithCustomerName>) { super(init); (Object as any).assign(this, init); }\n}\n(SystemLogWithCustomerName as unknown)[immerable] = true;\n\nexport class SquareGetDeviceCodeResponse\n{\n    public code: string|null;\n\n    public constructor(init?: Partial<SquareGetDeviceCodeResponse>) { (Object as any).assign(this, init); }\n}\n(SquareGetDeviceCodeResponse as unknown)[immerable] = true;\n\nexport class TerminalPairingResponse\n{\n    public deviceCode: string|null;\n    public paired: boolean|null;\n\n    public constructor(init?: Partial<TerminalPairingResponse>) { (Object as any).assign(this, init); }\n}\n(TerminalPairingResponse as unknown)[immerable] = true;\n\nexport class Terminal implements IHasId\n{\n    public id: number|null;\n    public merchantId: string|null;\n    public locationId: number|null;\n    public deviceCode: string|null;\n    public name: string|null;\n    public pairedAt: string|null;\n    public inUse: boolean|null;\n    public provider: PaymentProviderName|null;\n\n    public constructor(init?: Partial<Terminal>) { (Object as any).assign(this, init); }\n}\n(Terminal as unknown)[immerable] = true;\n\nexport class SquareTerminalPaymentResponse\n{\n    public checkoutId: string|null;\n\n    public constructor(init?: Partial<SquareTerminalPaymentResponse>) { (Object as any).assign(this, init); }\n}\n(SquareTerminalPaymentResponse as unknown)[immerable] = true;\n\nexport class StripeTerminalPairResponse\n{\n    public success: boolean|null;\n\n    public constructor(init?: Partial<StripeTerminalPairResponse>) { (Object as any).assign(this, init); }\n}\n(StripeTerminalPairResponse as unknown)[immerable] = true;\n\nexport class ChangeCardResponse\n{\n    public details: CardDetails|null;\n    public paymentMethodId: string|null;\n    public clientSecret: string|null;\n    public paymentIntentId: string|null;\n\n    public constructor(init?: Partial<ChangeCardResponse>) { (Object as any).assign(this, init); }\n}\n(ChangeCardResponse as unknown)[immerable] = true;\n\nexport class ClearAcceptConfigResponse\n{\n    public scriptUrl: string|null;\n\n    public constructor(init?: Partial<ClearAcceptConfigResponse>) { (Object as any).assign(this, init); }\n}\n(ClearAcceptConfigResponse as unknown)[immerable] = true;\n\nexport class ApiCredentials implements IHasGuidId\n{\n    public id: string|null;\n    public secret: string|null;\n    public createdDate: string|null;\n    public expiryDate: string|null;\n    public cancelledDate: string|null;\n    public notes: string|null;\n    public isSoftDeleted: boolean|null;\n    public isOutboundOnly: boolean|null;\n    // @Ignore()\n    public isValid: boolean|null;\n\n    public userId: number|null;\n\n    public constructor(init?: Partial<ApiCredentials>) { (Object as any).assign(this, init); }\n}\n(ApiCredentials as unknown)[immerable] = true;\n\n// @Flags()\nexport enum CreditProductType\n{\n    Class = 0,\n    Course = 1,\n    Appointment = 2,\n}\n\n// @Flags()\nexport enum CreditTransactionType\n{\n    Purchase = 0,\n    Refund = 1,\n    CancellationCharge = 2,\n}\n\nexport class CreditBasedPackageLineItemsResponse\n{\n    public id: string|null;\n    public stockName: string|null;\n    public productType: CreditProductType|null;\n    public credits: number|null;\n    public date: string|null;\n    public practitionerTitle: string|null;\n    public practitionerFirstName: string|null;\n    public practitionerSurname: string|null;\n    public startDateTime: string|null;\n    public transactionType: CreditTransactionType|null;\n    public locationName: string|null;\n\n    public constructor(init?: Partial<CreditBasedPackageLineItemsResponse>) { (Object as any).assign(this, init); }\n}\n(CreditBasedPackageLineItemsResponse as unknown)[immerable] = true;\n\nexport class ClickBillResponse\n{\n    public invoiceId: number|null;\n    public invoiceStatus: string|null;\n    public serviceName: string|null;\n    public serviceTotalPrice: string|null;\n\n    public constructor(init?: Partial<ClickBillResponse>) { (Object as any).assign(this, init); }\n}\n(ClickBillResponse as unknown)[immerable] = true;\n\nexport class ClickDownloadInvoiceResponse\n{\n    public invoiceId: number|null;\n    public pdfReceipt: string|null;\n\n    public constructor(init?: Partial<ClickDownloadInvoiceResponse>) { (Object as any).assign(this, init); }\n}\n(ClickDownloadInvoiceResponse as unknown)[immerable] = true;\n\nexport class ClickCreatePaymentResponse\n{\n    public paymentId: number|null;\n    public pdfReceipt: string|null;\n\n    public constructor(init?: Partial<ClickCreatePaymentResponse>) { (Object as any).assign(this, init); }\n}\n(ClickCreatePaymentResponse as unknown)[immerable] = true;\n\nexport class ClickCommunicationResponse\n{\n    public subject: string|null;\n    public to: string[]|null;\n    public cc: string[]|null;\n    public attachments: AttachmentGroup|null;\n    public messageBody: string|null;\n\n    public constructor(init?: Partial<ClickCommunicationResponse>) { (Object as any).assign(this, init); }\n}\n(ClickCommunicationResponse as unknown)[immerable] = true;\n\nexport class CreateClassResponse\n{\n    public success: boolean|null;\n    public clashes: string[]|null;\n    public session: ClassSessionBaseResponse|null;\n\n    public constructor(init?: Partial<CreateClassResponse>) { (Object as any).assign(this, init); }\n}\n(CreateClassResponse as unknown)[immerable] = true;\n\nexport class GetDesktopClassResponse\n{\n    public name: string|null;\n    public maxAttendees: number|null;\n\n    public constructor(init?: Partial<GetDesktopClassResponse>) { (Object as any).assign(this, init); }\n}\n(GetDesktopClassResponse as unknown)[immerable] = true;\n\nexport enum AddingAttendeeResponse\n{\n    SpaceAvailable = 'SpaceAvailable',\n    SessionFull = 'SessionFull',\n    AlreadyRegistered = 'AlreadyRegistered',\n    PreviouslyCancelled = 'PreviouslyCancelled',\n}\n\nexport class AddingAttendeeToSessionErrors\n{\n    public classSessionId: number|null;\n    public startDateTime: string|null;\n    public endDateTime: string|null;\n    public availability: AddingAttendeeResponse|null;\n    public errorMessage: string|null;\n    public isSessionInThePast: boolean|null;\n\n    public constructor(init?: Partial<AddingAttendeeToSessionErrors>) { (Object as any).assign(this, init); }\n}\n(AddingAttendeeToSessionErrors as unknown)[immerable] = true;\n\nexport class AddStudentToClassSessionResponse implements IClassFinanceResponse\n{\n    public invoiceId: number|null;\n    public paymentId: number|null;\n    public clashMode: ClashMode|null;\n    public errors: AddingAttendeeToSessionErrors[]|null;\n    public hasErrors: boolean|null;\n    public hasSessionFullErrors: boolean|null;\n    public isAlreadyOnWaitingList: boolean|null;\n    public hasSessionsInThePastErrors: boolean|null;\n    public hasSpacesAvailable: boolean|null;\n    public success: boolean|null;\n    public customerId: number|null;\n\n    public constructor(init?: Partial<AddStudentToClassSessionResponse>) { (Object as any).assign(this, init); }\n}\n(AddStudentToClassSessionResponse as unknown)[immerable] = true;\n\nexport class EditClassResponse\n{\n    public success: boolean|null;\n    public clashes: ClassSessionBaseResponse[]|null;\n    public session: ClassSessionBaseResponse|null;\n\n    public constructor(init?: Partial<EditClassResponse>) { (Object as any).assign(this, init); }\n}\n(EditClassResponse as unknown)[immerable] = true;\n\nexport class PayForClassResponse implements IClassFinanceResponse\n{\n    public invoiceId: number|null;\n    public paymentId: number|null;\n    public prePaidId: number|null;\n    public billingItemId: number|null;\n\n    public constructor(init?: Partial<PayForClassResponse>) { (Object as any).assign(this, init); }\n}\n(PayForClassResponse as unknown)[immerable] = true;\n\nexport class ClassCommunicationResponse\n{\n    public customerId: number|null;\n    public customerEmail: string|null;\n    public customerMobileTelephone: string|null;\n    public customerSMSEnabled: boolean|null;\n    public title: string|null;\n    public forename: string|null;\n    public surname: string|null;\n    // @Ignore()\n    public name: string|null;\n\n    public constructor(init?: Partial<ClassCommunicationResponse>) { (Object as any).assign(this, init); }\n}\n(ClassCommunicationResponse as unknown)[immerable] = true;\n\nexport class PrePaidItemsForClassResponse\n{\n    public packageName: string|null;\n    public totalPrice: number|null;\n    public itemDescription: string|null;\n    public itemsLeft: number|null;\n    public id: number|null;\n\n    public constructor(init?: Partial<PrePaidItemsForClassResponse>) { (Object as any).assign(this, init); }\n}\n(PrePaidItemsForClassResponse as unknown)[immerable] = true;\n\nexport class ClassesPrePaidCreditsResp\n{\n    public packageName: string|null;\n    public quantity: number|null;\n    public used: number|null;\n    public id: number|null;\n\n    public constructor(init?: Partial<ClassesPrePaidCreditsResp>) { (Object as any).assign(this, init); }\n}\n(ClassesPrePaidCreditsResp as unknown)[immerable] = true;\n\nexport class AddStudentToCourseResponse implements IClassFinanceResponse\n{\n    public result: CourseResponse|null;\n    public invoiceId: number|null;\n    public paymentId: number|null;\n    public errors: AddingAttendeeToSessionErrors[]|null;\n    public clashMode: ClashMode|null;\n    public hasErrors: boolean|null;\n    public hasSessionFullErrors: boolean|null;\n    public isAlreadyOnWaitingList: boolean|null;\n    public hasSpacesAvailableInAllSessions: boolean|null;\n    public success: boolean|null;\n\n    public constructor(init?: Partial<AddStudentToCourseResponse>) { (Object as any).assign(this, init); }\n}\n(AddStudentToCourseResponse as unknown)[immerable] = true;\n\nexport class EditCourseResponse\n{\n    public success: boolean|null;\n    public clashes: ClassSessionBaseResponse[]|null;\n    public course: CourseResponse|null;\n\n    public constructor(init?: Partial<EditCourseResponse>) { (Object as any).assign(this, init); }\n}\n(EditCourseResponse as unknown)[immerable] = true;\n\nexport class CreateCourseResponse\n{\n    public success: boolean|null;\n    public clashes: string[]|null;\n    public session: ClassSessionBaseResponse|null;\n\n    public constructor(init?: Partial<CreateCourseResponse>) { (Object as any).assign(this, init); }\n}\n(CreateCourseResponse as unknown)[immerable] = true;\n\nexport class RemoveStudentFromClassResponse implements IClassFinanceResponse\n{\n    public invoiceId: number|null;\n    public paymentId: number|null;\n    public billingItemId: number|null;\n\n    public constructor(init?: Partial<RemoveStudentFromClassResponse>) { (Object as any).assign(this, init); }\n}\n(RemoveStudentFromClassResponse as unknown)[immerable] = true;\n\nexport class StripeResponseBase\n{\n    public statusCode: HttpStatusCode|null;\n    public headers: HttpResponseHeaders|null;\n    public date: string|null;\n    public idempotencyKey: string|null;\n    public requestId: string|null;\n\n    public constructor(init?: Partial<StripeResponseBase>) { (Object as any).assign(this, init); }\n}\n\nexport class StripeResponse extends StripeResponseBase\n{\n    public content: string|null;\n\n    public constructor(init?: Partial<StripeResponse>) { super(init); (Object as any).assign(this, init); }\n}\n(StripeResponse as unknown)[immerable] = true;\n\nexport interface IStripeEntity\n{\n    stripeResponse: StripeResponse|null;\n}\n\nexport interface IHasId\n{\n    id: string|null;\n}\n\nexport interface IHasMetadata\n{\n    metadata: { [index:string]: string; }|null;\n}\n\nexport interface IHasObject\n{\n    object: string|null;\n}\n\nexport class CustomerResponse\n{\n\n    public constructor(init?: Partial<CustomerResponse>) { (Object as any).assign(this, init); }\n}\n(CustomerResponse as unknown)[immerable] = true;\n\nexport interface IHasUsers\n{\n    users: UserActivations[]|null;\n}\n\nexport class ClinicalScore implements IHasId\n{\n    public id: number|null;\n    public title: string|null;\n    public dateAdded: string|null;\n    public dateCompleted: string|null;\n    public caseId: number|null;\n    public settingId: number|null;\n\n    public constructor(init?: Partial<ClinicalScore>) { (Object as any).assign(this, init); }\n}\n(ClinicalScore as unknown)[immerable] = true;\n\nexport class CasePrintingScore<T> extends ClinicalScore\n{\n    public entries: T[]|null;\n\n    public constructor(init?: Partial<CasePrintingScore<T>>) { super(init); (Object as any).assign(this, init); }\n}\n\nexport class Goal implements IHasId\n{\n    public id: number|null;\n    public title: string|null;\n    public dateAdded: string|null;\n    public dateCompleted: string|null;\n    public caseId: number|null;\n    public settingId: number|null;\n    public averaged: boolean|null;\n\n    public constructor(init?: Partial<Goal>) { (Object as any).assign(this, init); }\n}\n(Goal as unknown)[immerable] = true;\n\nexport class CasePrintingGoal<T> extends Goal\n{\n    public entries: T[]|null;\n\n    public constructor(init?: Partial<CasePrintingGoal<T>>) { super(init); (Object as any).assign(this, init); }\n}\n\nexport class Fido2 implements IFido2\n{\n\n    public constructor(init?: Partial<Fido2>) { (Object as any).assign(this, init); }\n}\n(Fido2 as unknown)[immerable] = true;\n\nexport interface IPrivateOnlyCharge\n{\n    restrictToPrivateCharges: boolean|null;\n}\n\nexport interface IClassFinanceResponse\n{\n    invoiceId: number|null;\n    paymentId: number|null;\n}\n\nexport enum NumericFilterConditions\n{\n    IsEqualTo = 'IsEqualTo',\n    IsNotEqualTo = 'IsNotEqualTo',\n    IsBetween = 'IsBetween',\n    IsNotBetween = 'IsNotBetween',\n    IsLessThan = 'IsLessThan',\n    IsLessThanOrEqual = 'IsLessThanOrEqual',\n    IsGreaterThan = 'IsGreaterThan',\n    IsGreaterThanOrEqual = 'IsGreaterThanOrEqual',\n}\n\nexport class NumericSearch<T>\n{\n    public selectedFilterOption: NumericFilterConditions|null;\n    public numericRangeValue: NumericRange<T>|null;\n\n    public constructor(init?: Partial<NumericSearch<T>>) { (Object as any).assign(this, init); }\n}\n\nexport enum NetworkServiceType\n{\n    Appointment = 'Appointment',\n    Cancellation = 'Cancellation',\n    DNA = 'DNA',\n}\n\nexport class BillingItemResponse\n{\n\n    public constructor(init?: Partial<BillingItemResponse>) { (Object as any).assign(this, init); }\n}\n\nexport class AudienceMember\n{\n    public id: number|null;\n    public num: number|null;\n    public homeTelephone: string|null;\n    public workTelephone: string|null;\n    public mobileTelephone: string|null;\n    public email: string|null;\n    public addressLine1: string|null;\n    public addressLine2: string|null;\n    public addressLine3: string|null;\n    public addressLine4: string|null;\n    public addressLine5: string|null;\n    public postCode: string|null;\n    public title: string|null;\n    public forename: string|null;\n    public surname: string|null;\n    public emailConsent: boolean|null;\n\n    public constructor(init?: Partial<AudienceMember>) { (Object as any).assign(this, init); }\n}\n(AudienceMember as unknown)[immerable] = true;\n\nexport class DataPoint\n{\n    public period: string|null;\n    public date: string|null;\n    public referral: number|null;\n    public reception: number|null;\n    public online: number|null;\n\n    public constructor(init?: Partial<DataPoint>) { (Object as any).assign(this, init); }\n}\n(DataPoint as unknown)[immerable] = true;\n\nexport class ClassSessionWithDetails\n{\n    public sessionId: number|null;\n    public name: string|null;\n    public description: string|null;\n    public practitionerForename: string|null;\n    public practitionerSurname: string|null;\n    // @Ignore()\n    public practitionerName: string|null;\n\n    public startDate: string|null;\n    public endDate: string|null;\n    public isVideo: boolean|null;\n    public videoMeetingPassword: string|null;\n    public videoMeetingParticipantJoinUrl: string|null;\n    public videoMeetingId: string|null;\n    public videoMeetingHostJoinUrl: string|null;\n    public videoMeetingProvider: VideoMeetingProvider|null;\n    public classCapacity: number|null;\n    public minAttendees: number|null;\n    public totalAttendees: number|null;\n    public appointmentStatus: number|null;\n    public colour: number|null;\n    public hexColour: string|null;\n    public roomName: string|null;\n    public locationName: string|null;\n\n    public constructor(init?: Partial<ClassSessionWithDetails>) { (Object as any).assign(this, init); }\n}\n(ClassSessionWithDetails as unknown)[immerable] = true;\n\nexport class ReportingField\n{\n    public name: string|null;\n    public field: string|null;\n    public type: string|null;\n\n    public constructor(init?: Partial<ReportingField>) { (Object as any).assign(this, init); }\n}\n(ReportingField as unknown)[immerable] = true;\n\nexport class ClinicalScoreEntry implements IHasId\n{\n    public id: number|null;\n    public scoreId: number|null;\n    public score: number|null;\n    public dateAdded: string|null;\n    public patientSubmitted: boolean|null;\n    public objectType: string|null;\n    public objectId: number|null;\n\n    public constructor(init?: Partial<ClinicalScoreEntry>) { (Object as any).assign(this, init); }\n}\n(ClinicalScoreEntry as unknown)[immerable] = true;\n\nexport class GoalEntry implements IHasId\n{\n    public id: number|null;\n    public notes: string|null;\n    public goalId: number|null;\n    public completionPercentage: number|null;\n    public dateAdded: string|null;\n    public patientSubmitted: boolean|null;\n    public objectType: string|null;\n    public objectId: number|null;\n\n    public constructor(init?: Partial<GoalEntry>) { (Object as any).assign(this, init); }\n}\n(GoalEntry as unknown)[immerable] = true;\n\nexport interface IFido2\n{\n}\n\nexport class NumericRange<T>\n{\n    public from: string|null;\n    public to: string|null;\n\n    public constructor(init?: Partial<NumericRange<T>>) { (Object as any).assign(this, init); }\n}\n\nexport class ResponseBase<T>\n{\n    // @ApiMember(ExcludeInSchema=true)\n    public responseStatus: ResponseStatus|null;\n\n    /** @description This will be returned when there is a single result available. (e.g. get single object by id) */\n    // @ApiMember(Description=\"This will be returned when there is a single result available. (e.g. get single object by id)\")\n    public result: T|null;\n\n    /** @description This will be returned when there is a multiple results available (e.g. search or listing requests). */\n    // @ApiMember(Description=\"This will be returned when there is a multiple results available (e.g. search or listing requests).\")\n    public results: T[]|null;\n\n    /** @description This will be returned when there is a multiple results available (e.g. search or listing requests). */\n    // @ApiMember(Description=\"This will be returned when there is a multiple results available (e.g. search or listing requests).\")\n    public total: number|null;\n\n    /** @description This will be return the amount of skipped rows when paginating */\n    // @ApiMember(Description=\"This will be return the amount of skipped rows when paginating\")\n    public skip: number|null;\n\n    public constructor(init?: Partial<ResponseBase<T>>) { (Object as any).assign(this, init); }\n}\n\nexport class ZodSchemasResponse\n{\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<ZodSchemasResponse>) { (Object as any).assign(this, init); }\n}\n\nexport class HttpResult\n{\n    public responseText: string|null;\n    public responseStream: string|null;\n    public fileInfo: FileInfo|null;\n    public virtualFile: IVirtualFile|null;\n    public contentType: string|null;\n    public headers: { [index:string]: string; }|null;\n    public cookies: Cookie[]|null;\n    public eTag: string|null;\n    public age: string|null;\n    public maxAge: string|null;\n    public expires: string|null;\n    public lastModified: string|null;\n    public cacheControl: CacheControl|null;\n    public resultScope: Func<IDisposable>|null;\n    public allowsPartialResponse: boolean|null;\n    public options: { [index:string]: string; }|null;\n    public status: number|null;\n    public statusCode: HttpStatusCode|null;\n    public statusDescription: string|null;\n    public response: Object|null;\n    public responseFilter: IContentTypeWriter|null;\n    public requestContext: IRequest|null;\n    public view: string|null;\n    public template: string|null;\n    public paddingLength: number|null;\n    public isPartialRequest: boolean|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<HttpResult>) { (Object as any).assign(this, init); }\n}\n(HttpResult as unknown)[immerable] = true;\n\n// @DataContract\nexport class AuthenticateResponse implements IHasSessionId, IHasBearerToken\n{\n    // @DataMember(Order=1)\n    public userId: string|null;\n\n    // @DataMember(Order=2)\n    public sessionId: string|null;\n\n    // @DataMember(Order=3)\n    public userName: string|null;\n\n    // @DataMember(Order=4)\n    public displayName: string|null;\n\n    // @DataMember(Order=5)\n    public referrerUrl: string|null;\n\n    // @DataMember(Order=6)\n    public bearerToken: string|null;\n\n    // @DataMember(Order=7)\n    public refreshToken: string|null;\n\n    // @DataMember(Order=8)\n    public refreshTokenExpiry: string|null;\n\n    // @DataMember(Order=9)\n    public profileUrl: string|null;\n\n    // @DataMember(Order=10)\n    public roles: string[]|null;\n\n    // @DataMember(Order=11)\n    public permissions: string[]|null;\n\n    // @DataMember(Order=12)\n    public authProvider: string|null;\n\n    // @DataMember(Order=13)\n    public responseStatus: ResponseStatus|null;\n\n    // @DataMember(Order=14)\n    public meta: { [index:string]: string; }|null;\n\n    public constructor(init?: Partial<AuthenticateResponse>) { (Object as any).assign(this, init); }\n}\n(AuthenticateResponse as unknown)[immerable] = true;\n\n// @Route(\"/tours/skip\")\nexport class ToursResponse\n{\n    public homeScreenTour1: boolean|null;\n    public diaryWorkingTimeTour1: boolean|null;\n    public diaryCreateTour1: boolean|null;\n    public diaryEditTour1: boolean|null;\n    public diaryCompleteTour1: boolean|null;\n    public diaryEventTour1: boolean|null;\n    public invoiceWizardTour1: boolean|null;\n    public licenseAgreement: boolean|null;\n    public licenseAgreement0419: boolean|null;\n    public seenWelcomeScreen: boolean|null;\n    public previewNewUx: boolean|null;\n\n    public constructor(init?: Partial<ToursResponse>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ToursResponse'; }\n    public getMethod() { return 'PUT'; }\n    public createResponse() {}\n}\n(ToursResponse as unknown)[immerable] = true;\n\nexport class OnlineCustomerDto implements IReturn<ResponseBase<T>>\n{\n    public title: string|null;\n    public forename: string|null;\n    public surname: string|null;\n    public dateOfBirth: string|null;\n    public homeTelephone: string|null;\n    public workTelephone: string|null;\n    public mobileTelephone: string|null;\n    public gender: string|null;\n    public email: string|null;\n    public addressLine1: string|null;\n    public addressLine2: string|null;\n    public addressLine3: string|null;\n    public addressLine4: string|null;\n    public addressLine5: string|null;\n    public postCode: string|null;\n    public id: number|null;\n    public group: OnlineGroupDto|null;\n    public canBookAppointments: boolean|null;\n    public practitionerGuid: string|null;\n    public locationGuid: string|null;\n    public groupReference: string|null;\n    public excludedPackages: string[]|null;\n    public lastAppointmentPractitionerGuid: string|null;\n    public overridePayAtClinic: boolean|null;\n\n    public constructor(init?: Partial<OnlineCustomerDto>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlineCustomerDto'; }\n    public getMethod() { return 'PUT'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(OnlineCustomerDto as unknown)[immerable] = true;\n\nexport class CurrentUser extends AuthenticateResponse\n{\n    public id: string|null;\n    public name: string|null;\n    public email: string|null;\n    public mobileNumber: string|null;\n    public clientId: number|null;\n    public userType: string|null;\n    public isAuthenticated: boolean|null;\n    public isEvaluating: boolean|null;\n    public settings: { [index:string]: Object; }|null;\n    public practitioner: GeneralPractitionerResponse|null;\n    public location: LocationResponse|null;\n    public roleId: number|null;\n    public practitionerId: number|null;\n    public tM2UserName: string|null;\n    public roleName: string|null;\n    public userPermissionId: number|null;\n    public tours: ToursResponse|null;\n    public departments: number[]|null;\n    public customer: OnlineCustomerDto|null;\n    public userGlobalGuid: string|null;\n    public hasTrialExpired: boolean|null;\n    public needsVerified: boolean|null;\n    public twoFactorSetup: boolean|null;\n    public twoFactorRequired: boolean|null;\n    public twoFactorAuthenticated: boolean|null;\n    public hasPassKey: boolean|null;\n    public twoFactorAllowSms: boolean|null;\n    public avatar: string|null;\n    public signatureRxIntegrationCode: string|null;\n    public pinHash: string|null;\n    public signature: string|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<CurrentUser>) { super(init); (Object as any).assign(this, init); }\n}\n(CurrentUser as unknown)[immerable] = true;\n\n// @DataContract\nexport class FilesListingResponse\n{\n    // @DataMember(Order=1)\n    public directory: FolderResult|null;\n\n    // @DataMember(Order=2)\n    public file: File|null;\n\n    // @DataMember(Order=3)\n    public responseStatus: ResponseStatus|null;\n\n    public constructor(init?: Partial<FilesListingResponse>) { (Object as any).assign(this, init); }\n}\n(FilesListingResponse as unknown)[immerable] = true;\n\nexport class CaseImagingResponse\n{\n    public images: { [index:string]: CaseImagingResult; }|null;\n    public custom: { [index:string]: CaseImagingResult; }|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<CaseImagingResponse>) { (Object as any).assign(this, init); }\n}\n(CaseImagingResponse as unknown)[immerable] = true;\n\nexport class SmsResponse\n{\n    public success: svcResponse|null;\n    public message: string|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<SmsResponse>) { (Object as any).assign(this, init); }\n}\n(SmsResponse as unknown)[immerable] = true;\n\nexport class SmsConsentReponse\n{\n    public hasConsent: boolean|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<SmsConsentReponse>) { (Object as any).assign(this, init); }\n}\n(SmsConsentReponse as unknown)[immerable] = true;\n\nexport class ContactRecentResponse\n{\n    public contactsCount: number|null;\n    public document: File|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<ContactRecentResponse>) { (Object as any).assign(this, init); }\n}\n(ContactRecentResponse as unknown)[immerable] = true;\n\nexport class PatientNextAppoimentResponse\n{\n    public nextAppointment: AppointmentResponse|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<PatientNextAppoimentResponse>) { (Object as any).assign(this, init); }\n}\n(PatientNextAppoimentResponse as unknown)[immerable] = true;\n\nexport class PatientRecentResponse\n{\n    public nextAppointment: AppointmentResponse|null;\n    public contact: MedicalContactResponse|null;\n    public contactsCount: number|null;\n    public bookedCount: number|null;\n    public cancelledCount: number|null;\n    public dnaCount: number|null;\n    public completedCount: number|null;\n    public auths: TreatmentAuthResponse[]|null;\n    public futureAuths: TreatmentAuthResponse[]|null;\n    public transactions: TransactionItemResponse[]|null;\n    public cases: CaseSearchResponse[]|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<PatientRecentResponse>) { (Object as any).assign(this, init); }\n}\n(PatientRecentResponse as unknown)[immerable] = true;\n\nexport class RecentDocumentResponse\n{\n    public document: File|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<RecentDocumentResponse>) { (Object as any).assign(this, init); }\n}\n(RecentDocumentResponse as unknown)[immerable] = true;\n\nexport class DiaryDefaultDataForUserResponse\n{\n    public currentLocation: LocationResponse|null;\n    public currentPractitioner: GeneralPractitionerResponse|null;\n    public currentRoom: RoomResponse|null;\n    public practitioners: GeneralPractitionerResponse[]|null;\n    public locations: LocationResponse[]|null;\n    public rooms: RoomResponse[]|null;\n    public practitionerLocations: PractitionerLocation[]|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<DiaryDefaultDataForUserResponse>) { (Object as any).assign(this, init); }\n}\n(DiaryDefaultDataForUserResponse as unknown)[immerable] = true;\n\nexport class DiaryStatsResponse\n{\n    public booked: number|null;\n    public complete: number|null;\n    public cancel: number|null;\n    public other: number|null;\n    public class: number|null;\n    public dna: number|null;\n    public total: number|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<DiaryStatsResponse>) { (Object as any).assign(this, init); }\n}\n(DiaryStatsResponse as unknown)[immerable] = true;\n\nexport class CalculateWorkingTimesResponse\n{\n    public workingTime: string|null;\n    public lastestEndDate: string|null;\n    public totalSessions: number|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<CalculateWorkingTimesResponse>) { (Object as any).assign(this, init); }\n}\n(CalculateWorkingTimesResponse as unknown)[immerable] = true;\n\nexport class Account implements IHasId, IHasGlobalGuid\n{\n    public id: number|null;\n    public accountType: string|null;\n    public name: string|null;\n    public accountTypeId: number|null;\n    // @Ignore()\n    public accountTypeGuid: string|null;\n\n    public balanceInvoiced: number|null;\n    public balanceOwed: number|null;\n    public transferred: string|null;\n    // @Ignore()\n    public uninvoicedCharges: number|null;\n\n    public globalGuid: string|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<Account>) { (Object as any).assign(this, init); }\n}\n(Account as unknown)[immerable] = true;\n\nexport class AccountExportResponse\n{\n    public exportId: number|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<AccountExportResponse>) { (Object as any).assign(this, init); }\n}\n(AccountExportResponse as unknown)[immerable] = true;\n\nexport class TransferResponse\n{\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<TransferResponse>) { (Object as any).assign(this, init); }\n}\n(TransferResponse as unknown)[immerable] = true;\n\nexport class ResponseEnhancerBase<T>\n{\n    public db: IClientDbAccess|null;\n    public hangfireJobQueueService: IHangfireJobQueueService|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<ResponseEnhancerBase<T>>) { (Object as any).assign(this, init); }\n}\n\n// @DataContract\nexport class DeleteResponse\n{\n    // @DataMember(Order=1)\n    public success: boolean|null;\n\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<DeleteResponse>) { (Object as any).assign(this, init); }\n}\n(DeleteResponse as unknown)[immerable] = true;\n\n// @DataContract\nexport class CopyResponse\n{\n    // @DataMember(Order=1)\n    public success: boolean|null;\n\n    // @DataMember(Order=2)\n    public isGlobal: boolean|null;\n\n    // @DataMember(Order=3)\n    public renamedFiles: { [index:string]: string; }|null;\n\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<CopyResponse>) { (Object as any).assign(this, init); }\n}\n(CopyResponse as unknown)[immerable] = true;\n\n// @DataContract\nexport class CreateFolderResponse\n{\n    // @DataMember(Order=1)\n    public success: boolean|null;\n\n    // @DataMember(Order=2)\n    public folderName: string|null;\n\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<CreateFolderResponse>) { (Object as any).assign(this, init); }\n}\n(CreateFolderResponse as unknown)[immerable] = true;\n\n// @DataContract\nexport class RenameResponse\n{\n    // @DataMember(Order=1)\n    public success: boolean|null;\n\n    // @DataMember(Order=2)\n    public fileName: string|null;\n\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<RenameResponse>) { (Object as any).assign(this, init); }\n}\n(RenameResponse as unknown)[immerable] = true;\n\n// @DataContract\nexport class MoveResponse\n{\n    // @DataMember(Order=1)\n    public success: boolean|null;\n\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<MoveResponse>) { (Object as any).assign(this, init); }\n}\n(MoveResponse as unknown)[immerable] = true;\n\n// @DataContract\nexport class UploadResult\n{\n    // @DataMember(Order=1)\n    public paths: string[]|null;\n\n    // @DataMember(Order=2)\n    public uploadErrors: string[]|null;\n\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<UploadResult>) { (Object as any).assign(this, init); }\n}\n(UploadResult as unknown)[immerable] = true;\n\n// @DataContract\nexport class UploadTempResult\n{\n    // @DataMember(Order=1)\n    public id: string|null;\n\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<UploadTempResult>) { (Object as any).assign(this, init); }\n}\n(UploadTempResult as unknown)[immerable] = true;\n\nexport class AttachmentSummaryResponse\n{\n    public files: Attachment[]|null;\n    public templates: Attachment[]|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<AttachmentSummaryResponse>) { (Object as any).assign(this, init); }\n}\n(AttachmentSummaryResponse as unknown)[immerable] = true;\n\nexport class RecentFileResponse\n{\n    // @DataMember(Order=1)\n    public file: File|null;\n\n    // @DataMember(Order=2)\n    public responseStatus: ResponseStatus|null;\n\n    public constructor(init?: Partial<RecentFileResponse>) { (Object as any).assign(this, init); }\n}\n(RecentFileResponse as unknown)[immerable] = true;\n\n// @DataContract\nexport class FileResponse\n{\n    // @DataMember(Order=1)\n    public responseStatus: ResponseStatus|null;\n\n    // @DataMember(Order=2)\n    public contents: string|null;\n\n    // @DataMember(Order=3)\n    public contentLength: number|null;\n\n    public constructor(init?: Partial<FileResponse>) { (Object as any).assign(this, init); }\n}\n(FileResponse as unknown)[immerable] = true;\n\nexport class FolderTree\n{\n    public folders: FolderTree[]|null;\n    public files: File[]|null;\n    public name: string|null;\n    public path: string|null;\n    public fileCount: number|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<FolderTree>) { (Object as any).assign(this, init); }\n}\n(FolderTree as unknown)[immerable] = true;\n\nexport class GroupFurtherDetailsResponse\n{\n    public location: string|null;\n    public balanceOwed: number|null;\n    public balanceInvoiced: number|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<GroupFurtherDetailsResponse>) { (Object as any).assign(this, init); }\n}\n(GroupFurtherDetailsResponse as unknown)[immerable] = true;\n\nexport class GroupRecentResponse\n{\n    public contactsCount: number|null;\n    public transactions: TransactionItemResponse[]|null;\n    public accountBalance: number|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<GroupRecentResponse>) { (Object as any).assign(this, init); }\n}\n(GroupRecentResponse as unknown)[immerable] = true;\n\nexport class LocationStockResponse\n{\n    public locations: LocResponse[]|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<LocationStockResponse>) { (Object as any).assign(this, init); }\n}\n(LocationStockResponse as unknown)[immerable] = true;\n\nexport class PhysiotecPractitioner implements IHasId\n{\n    public id: number|null;\n    public practitionerId: number|null;\n    public userName: string|null;\n    public password: string|null;\n    public status: string|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<PhysiotecPractitioner>) { (Object as any).assign(this, init); }\n}\n(PhysiotecPractitioner as unknown)[immerable] = true;\n\n// @Route(\"/pronto-my-clinic-url\")\nexport class ProntoMyClinicRequest implements IReturn<ProntoMyClinicRequest>\n{\n    public result: string|null;\n\n    public constructor(init?: Partial<ProntoMyClinicRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ProntoMyClinicRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ProntoMyClinicRequest(); }\n}\n(ProntoMyClinicRequest as unknown)[immerable] = true;\n\nexport class Room implements IHasId, IHasGlobalGuid\n{\n    public id: number|null;\n    public description: string|null;\n    public locationId: number|null;\n    // @Ignore()\n    public locationGuid: string|null;\n\n    public status: boolean|null;\n    public colour: number|null;\n    public discriminatorType: string|null;\n    public globalGuid: string|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<Room>) { (Object as any).assign(this, init); }\n}\n(Room as unknown)[immerable] = true;\n\nexport class SecurityStatsResponse\n{\n    public stats: SecurityStat[]|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<SecurityStatsResponse>) { (Object as any).assign(this, init); }\n}\n(SecurityStatsResponse as unknown)[immerable] = true;\n\nexport class StockReorderResponse\n{\n    public results: StockReorder[]|null;\n    public totals: { [index:string]: number; }|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<StockReorderResponse>) { (Object as any).assign(this, init); }\n}\n(StockReorderResponse as unknown)[immerable] = true;\n\nexport class StockSalesResponse\n{\n    public results: StockSales[]|null;\n    public totals: { [index:string]: number; }|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<StockSalesResponse>) { (Object as any).assign(this, init); }\n}\n(StockSalesResponse as unknown)[immerable] = true;\n\nexport class InvoiceAnalysisResponse\n{\n    public results: InvoiceAnalysisReport[]|null;\n    public totals: { [index:string]: number; }|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<InvoiceAnalysisResponse>) { (Object as any).assign(this, init); }\n}\n(InvoiceAnalysisResponse as unknown)[immerable] = true;\n\nexport class IncomeAnalysisResponse\n{\n    public results: IncomeAnalysisReport[]|null;\n    public totals: { [index:string]: number; }|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<IncomeAnalysisResponse>) { (Object as any).assign(this, init); }\n}\n(IncomeAnalysisResponse as unknown)[immerable] = true;\n\nexport class ExpenditureMonthSummaryResponse\n{\n    public results: ExpenditureMonthSummary[]|null;\n    public totals: { [index:string]: number; }|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<ExpenditureMonthSummaryResponse>) { (Object as any).assign(this, init); }\n}\n(ExpenditureMonthSummaryResponse as unknown)[immerable] = true;\n\nexport class ExpenditureAnalysisResponse\n{\n    public results: ExpenditureAnalysisReportDto[]|null;\n    public totals: { [index:string]: number; }|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<ExpenditureAnalysisResponse>) { (Object as any).assign(this, init); }\n}\n(ExpenditureAnalysisResponse as unknown)[immerable] = true;\n\nexport class AgedDebtorsResponse\n{\n    public results: AgedDebtors[]|null;\n    public totals: { [index:string]: number; }|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<AgedDebtorsResponse>) { (Object as any).assign(this, init); }\n}\n(AgedDebtorsResponse as unknown)[immerable] = true;\n\nexport class DebtorsByAccountResponse\n{\n    public results: DebtorsByAccount[]|null;\n    public totals: { [index:string]: number; }|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<DebtorsByAccountResponse>) { (Object as any).assign(this, init); }\n}\n(DebtorsByAccountResponse as unknown)[immerable] = true;\n\nexport class DebtorsOnADateResponse\n{\n    public results: DebtorsOnADate[]|null;\n    public totals: { [index:string]: number; }|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<DebtorsOnADateResponse>) { (Object as any).assign(this, init); }\n}\n(DebtorsOnADateResponse as unknown)[immerable] = true;\n\nexport class ChargeAnalysisResponse\n{\n    public results: ChargesAnalysisReport[]|null;\n    public totals: { [index:string]: number; }|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<ChargeAnalysisResponse>) { (Object as any).assign(this, init); }\n}\n(ChargeAnalysisResponse as unknown)[immerable] = true;\n\nexport class AdmissionsAnalysisReportResponse\n{\n    public results: AdmissionsAnalysisReport[]|null;\n    public total: number|null;\n    public totals: { [index:string]: number; }|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<AdmissionsAnalysisReportResponse>) { (Object as any).assign(this, init); }\n}\n(AdmissionsAnalysisReportResponse as unknown)[immerable] = true;\n\nexport class CasesDueForReviewReportResponse\n{\n    public results: CasesDueForReviewReport[]|null;\n    public total: number|null;\n    public totals: { [index:string]: number; }|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<CasesDueForReviewReportResponse>) { (Object as any).assign(this, init); }\n}\n(CasesDueForReviewReportResponse as unknown)[immerable] = true;\n\nexport class LapsedPatientsReportResponse\n{\n    public results: LapsedPatientsReport[]|null;\n    public totals: { [index:string]: number; }|null;\n    public total: number|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<LapsedPatientsReportResponse>) { (Object as any).assign(this, init); }\n}\n(LapsedPatientsReportResponse as unknown)[immerable] = true;\n\nexport class ClientBirthdayResponse\n{\n    public results: ClientBirthdayReport[]|null;\n    public totals: { [index:string]: number; }|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<ClientBirthdayResponse>) { (Object as any).assign(this, init); }\n}\n(ClientBirthdayResponse as unknown)[immerable] = true;\n\nexport class Location implements IHasId, ILocationId, IHasGlobalGuid\n{\n    public id: number|null;\n    public name: string|null;\n    public addressLine1: string|null;\n    public addressLine2: string|null;\n    public addressLine3: string|null;\n    public addressLine4: string|null;\n    public addressLine5: string|null;\n    public postCode: string|null;\n    public telephone: string|null;\n    public email: string|null;\n    public web: string|null;\n    public fax: string|null;\n    public status: number|null;\n    public onlineGuid: string|null;\n    public dnaStockId: number|null;\n    public cancelStockId: number|null;\n    // @Ignore()\n    public dnaStockGuid: string|null;\n\n    // @Ignore()\n    public cancelStockGuid: string|null;\n\n    public isNetworkLocation: boolean|null;\n    public isTemplateLocation: boolean|null;\n    public directions: string|null;\n    public services: string|null;\n    public region: string|null;\n    public reminderTemplateEmail_TM3: string|null;\n    public reminderTemplateSMS_TM3: string|null;\n    public facilities: string|null;\n    public locationLong: number|null;\n    public locationLat: number|null;\n    public hasCoordinates: boolean|null;\n    public isMainLocation: boolean|null;\n    // @Ignore()\n    public fullAddressMultiLine: string|null;\n\n    // @Ignore()\n    public locationId: number|null;\n\n    // @Ignore()\n    public globalGuid: string|null;\n\n    /** @description For ClearAccept, this is the Location's Merchant Site ID */\n    public merchantReference: string|null;\n    public trackingCategory: string|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<Location>) { (Object as any).assign(this, init); }\n}\n(Location as unknown)[immerable] = true;\n\nexport class DiagnosisCode implements IHasId\n{\n    public id: number|null;\n    public text: string|null;\n    public bodySite: string|null;\n    public mapping: string|null;\n    public serviceTypeId: number|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<DiagnosisCode>) { (Object as any).assign(this, init); }\n}\n(DiagnosisCode as unknown)[immerable] = true;\n\nexport class ClinicalSettingsFlagsResponse\n{\n    public flags: ConfigResponse[]|null;\n    public flagValues: CustomListItemResponse[]|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<ClinicalSettingsFlagsResponse>) { (Object as any).assign(this, init); }\n}\n(ClinicalSettingsFlagsResponse as unknown)[immerable] = true;\n\n// @Route(\"/client/sms/settings\")\nexport class ClientSmsSettings implements IReturn<ClientSmsSettings>\n{\n    public clientId: number|null;\n    public fromMode: FromMode|null;\n    public fromText: string|null;\n    public fromNumber: string|null;\n    public returnEmail: string|null;\n    public fromNumbers: string[]|null;\n\n    public constructor(init?: Partial<ClientSmsSettings>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClientSmsSettings'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ClientSmsSettings(); }\n}\n(ClientSmsSettings as unknown)[immerable] = true;\n\n// @Route(\"/client/sms/settings/code\")\nexport class ClientCodeRequest implements IReturn<ClientCodeRequest>\n{\n    public clientId: number|null;\n    public code: string|null;\n\n    public constructor(init?: Partial<ClientCodeRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClientCodeRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ClientCodeRequest(); }\n}\n(ClientCodeRequest as unknown)[immerable] = true;\n\nexport class CaseAuditResponse\n{\n    public caseClosed: boolean|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<CaseAuditResponse>) { (Object as any).assign(this, init); }\n}\n(CaseAuditResponse as unknown)[immerable] = true;\n\n// @Route(\"/cases/{Id}\", \"PUT\")\n// @Route(\"/cases/\", \"POST\")\nexport class CaseDetailsDto implements IReturn<CaseDetailsDto>, ILocationIds, IServiceTypeId\n{\n    public id: number|null;\n    public case: CaseWithCustomerPractitionerLocationDetails|null;\n    public serviceTypeId: number|null;\n    public graphics: GraphicResult[]|null;\n    public images: ImageResult[]|null;\n    public other: CaseSummaryResult[]|null;\n    public linked: CaseSummaryResult[]|null;\n    public stats: Object|null;\n    public recentModalities: ConsultationItem[]|null;\n    public recentAssessments: ConsultationItem[]|null;\n    public postCloseNotes: PostCloseNotesWithUser[]|null;\n    public appointmentId: number|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n    public meta: { [index:string]: Object; }|null;\n    public availableGoals: CaseScoreGoalResponse[]|null;\n    public availableScores: CaseScoreGoalResponse[]|null;\n    public viewed: boolean|null;\n\n    public constructor(init?: Partial<CaseDetailsDto>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CaseDetailsDto'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new CaseDetailsDto(); }\n}\n(CaseDetailsDto as unknown)[immerable] = true;\n\nexport class ClinicalCacheResponse\n{\n    public practitioners: { [index:number]: string; }|null;\n    public medicalContacts: { [index:number]: string; }|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<ClinicalCacheResponse>) { (Object as any).assign(this, init); }\n}\n(ClinicalCacheResponse as unknown)[immerable] = true;\n\n// @Route(\"/cases/{CaseId}/consultation/{TreatmentId}/items\", \"POST\")\n// @Route(\"/cases/{CaseId}/consultation/{TreatmentId}/items/{Id}\", \"GET, PUT, DELETE\")\nexport class ConsultationItemRequest implements IReturn<ConsultationItemRequest>, ISecurityId\n{\n    public id: number|null;\n    public caseId: number|null;\n    public treatmentId: number|null;\n    public templateId: string|null;\n    public title: string|null;\n    public date: string|null;\n    public type: ConsultationItemType|null;\n    public data: { [index:string]: Object; }|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<ConsultationItemRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ConsultationItemRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ConsultationItemRequest(); }\n}\n(ConsultationItemRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/{CaseId}/consultation/{TreatmentId}/items\", \"POST\")\nexport class ConsultationAssessmentItemRequest implements IReturn<ConsultationAssessmentItemRequest>, ISecurityId\n{\n    public id: number|null;\n    public caseId: number|null;\n    public treatmentId: number|null;\n    public templateId: string|null;\n    public title: string|null;\n    public date: string|null;\n    public type: ConsultationItemType|null;\n    public data: { [index:string]: Object; }|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<ConsultationAssessmentItemRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ConsultationAssessmentItemRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ConsultationAssessmentItemRequest(); }\n}\n(ConsultationAssessmentItemRequest as unknown)[immerable] = true;\n\nexport class ClinicalDiagram implements IHasId\n{\n    public id: number|null;\n    public caseId: number|null;\n    public treatmentId: number|null;\n    public closedUser: string|null;\n    public dateTime: string|null;\n    public closedDateTime: string|null;\n    public closedUserId: number|null;\n    public value: { [index:string]: Object; }[]|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<ClinicalDiagram>) { (Object as any).assign(this, init); }\n}\n(ClinicalDiagram as unknown)[immerable] = true;\n\nexport class TreatmentResult extends Treatment\n{\n    public practitioner: string|null;\n    public practitionerNameWithAwards: string|null;\n    public assessments: AssessmentResult[]|null;\n    public items: CaseConsultationItem[]|null;\n    public hexColour: string|null;\n    public postCloseNotes: PostCloseNotesWithUser[]|null;\n    public createdByUserName: string|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<TreatmentResult>) { super(init); (Object as any).assign(this, init); }\n}\n(TreatmentResult as unknown)[immerable] = true;\n\nexport class AssertionOptions extends Fido2ResponseBase\n{\n    public challenge: string|null;\n    public timeout: number|null;\n    public rpId: string|null;\n    public allowCredentials: PublicKeyCredentialDescriptor[]|null;\n    public userVerification: UserVerificationRequirement|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<AssertionOptions>) { super(init); (Object as any).assign(this, init); }\n}\n(AssertionOptions as unknown)[immerable] = true;\n\nexport class CaseAlertSearchResponse extends ResponseBase<AlertResponse>\n{\n    public customerHasAlertsFromMultipleCases: boolean|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<CaseAlertSearchResponse>) { super(init); (Object as any).assign(this, init); }\n}\n(CaseAlertSearchResponse as unknown)[immerable] = true;\n\nexport class AlertDialogResponse extends Alert\n{\n    public alertForPerson: string|null;\n    public alertForDate: string|null;\n    public alertExpiryDate: string|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<AlertDialogResponse>) { super(init); (Object as any).assign(this, init); }\n}\n(AlertDialogResponse as unknown)[immerable] = true;\n\nexport class OAuthCallbackResponse\n{\n    public idToken: string|null;\n    public accessToken: string|null;\n    public refreshToken: string|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<OAuthCallbackResponse>) { (Object as any).assign(this, init); }\n}\n(OAuthCallbackResponse as unknown)[immerable] = true;\n\nexport class OnlineSettingsResponse\n{\n    public isVHG: boolean|null;\n    public isSiteLive: boolean|null;\n    public siteTitle: string|null;\n    public title: string|null;\n    public logoUrl: string|null;\n    public appIconUrl: string|null;\n    public customColourPrimary: string|null;\n    public customColourSecondary: string|null;\n    public customColourNav: string|null;\n    public customColourNavText: string|null;\n    public message: string|null;\n    public skin: string|null;\n    public confirmSubject: string|null;\n    public confirmFrom: string|null;\n    public connectEnabled: boolean|null;\n    public cancellationPolicy: string|null;\n    public termsAndConditions: string|null;\n    public privacyPolicy: string|null;\n    public license: License|null;\n    public clinical: boolean|null;\n    public payments: boolean|null;\n    public classes: boolean|null;\n    public registerProvisional: boolean|null;\n    public allowClassBooking: boolean|null;\n    public allowRegister: boolean|null;\n    public allowPayAtClinic: boolean|null;\n    public currency: string|null;\n    public googleTrackingId: string|null;\n    public googleTagManagerContainerId: string|null;\n    public dobRequired: boolean|null;\n    public stripeEnabled: boolean|null;\n    public squareEnabled: boolean|null;\n    public stripeApiKey: string|null;\n    public squareApplicationId: string|null;\n    public isSquareSandboxMode: boolean|null;\n    public showSiteTitle: boolean|null;\n    public useExtraAddressLine: boolean|null;\n    public labels: DynamicLabelResponse[]|null;\n    public videoIntegration: string|null;\n    public hasZoomPro: boolean|null;\n    public stripeAccount: string|null;\n    public saveCardMessage: string|null;\n    public clearAcceptEnabled: boolean|null;\n    public recaptchaSiteKey: string|null;\n    public recaptchaEnabled: boolean|null;\n    public allowWaitingListPayments: boolean|null;\n    public connectJuneAnalyticsWriteKey: string|null;\n    public useAllDeliveryMethodsForAccessCode: boolean|null;\n    public unauthenticatedMessage: string|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<OnlineSettingsResponse>) { (Object as any).assign(this, init); }\n}\n(OnlineSettingsResponse as unknown)[immerable] = true;\n\nexport class AppointmentSearchResponse\n{\n    public locationIds: string[]|null;\n    public responseStatus: ResponseStatus|null;\n    public appointments: AppointmentSearchResult[]|null;\n    public latestAppointmentDate: string|null;\n    public earliestAppointmentDate: string|null;\n    public practitionerIds: string[]|null;\n    public practitionerGenders: string[]|null;\n\n    public constructor(init?: Partial<AppointmentSearchResponse>) { (Object as any).assign(this, init); }\n}\n(AppointmentSearchResponse as unknown)[immerable] = true;\n\nexport class ReserveAppointmentResponse\n{\n    public appointment: AppointmentDto|null;\n    public backgroundJobId: string|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<ReserveAppointmentResponse>) { (Object as any).assign(this, init); }\n}\n(ReserveAppointmentResponse as unknown)[immerable] = true;\n\nexport class OnlineAutoLoginVerifyCodeResponse\n{\n    public onlineAutoLoginAuthenticationResult: OnlineAutoLoginAuthenticationResult|null;\n    public response: AuthenticateResponse|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<OnlineAutoLoginVerifyCodeResponse>) { (Object as any).assign(this, init); }\n}\n(OnlineAutoLoginVerifyCodeResponse as unknown)[immerable] = true;\n\nexport class StripeOAuthResponse\n{\n    public accountId: string|null;\n    public redirectUrl: string|null;\n    public error: string|null;\n    public errorMessage: string|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<StripeOAuthResponse>) { (Object as any).assign(this, init); }\n}\n(StripeOAuthResponse as unknown)[immerable] = true;\n\nexport class ZoomLinkToTM3Response\n{\n    public status: HttpStatusCode|null;\n    public redirectUri: string|null;\n    public message: string|null;\n    public responseStatus: ResponseStatus;\n\n    public constructor(init?: Partial<ZoomLinkToTM3Response>) { (Object as any).assign(this, init); }\n}\n(ZoomLinkToTM3Response as unknown)[immerable] = true;\n\n// @DataContract\nexport class AssignRolesResponse\n{\n    // @DataMember(Order=1)\n    public allRoles: string[]|null;\n\n    // @DataMember(Order=2)\n    public allPermissions: string[]|null;\n\n    // @DataMember(Order=3)\n    public meta: { [index:string]: string; }|null;\n\n    // @DataMember(Order=4)\n    public responseStatus: ResponseStatus|null;\n\n    public constructor(init?: Partial<AssignRolesResponse>) { (Object as any).assign(this, init); }\n}\n(AssignRolesResponse as unknown)[immerable] = true;\n\n// @DataContract\nexport class UnAssignRolesResponse\n{\n    // @DataMember(Order=1)\n    public allRoles: string[]|null;\n\n    // @DataMember(Order=2)\n    public allPermissions: string[]|null;\n\n    // @DataMember(Order=3)\n    public meta: { [index:string]: string; }|null;\n\n    // @DataMember(Order=4)\n    public responseStatus: ResponseStatus|null;\n\n    public constructor(init?: Partial<UnAssignRolesResponse>) { (Object as any).assign(this, init); }\n}\n(UnAssignRolesResponse as unknown)[immerable] = true;\n\n// @DataContract\nexport class GetAccessTokenResponse\n{\n    // @DataMember(Order=1)\n    public accessToken: string|null;\n\n    // @DataMember(Order=2)\n    public meta: { [index:string]: string; }|null;\n\n    // @DataMember(Order=3)\n    public responseStatus: ResponseStatus|null;\n\n    public constructor(init?: Partial<GetAccessTokenResponse>) { (Object as any).assign(this, init); }\n}\n(GetAccessTokenResponse as unknown)[immerable] = true;\n\nexport class DigitalPrescriptionDMDRequest implements IReturn<ResponseBase<DigitalPrescriptionDMDResponse>>\n{\n    public term: string|null;\n\n    public constructor(init?: Partial<DigitalPrescriptionDMDRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DigitalPrescriptionDMDRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<DigitalPrescriptionDMDResponse>(); }\n}\n(DigitalPrescriptionDMDRequest as unknown)[immerable] = true;\n\n// @Route(\"/validation\")\nexport class GetZodSchemasRequest implements IReturn<ZodSchemasResponse>\n{\n\n    public constructor(init?: Partial<GetZodSchemasRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetZodSchemasRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ZodSchemasResponse(); }\n}\n\nexport class GetTwilioRoom implements IReturn<ResponseBase<TwilioRoomResponse>>\n{\n    public appointmentId: number|null;\n\n    public constructor(init?: Partial<GetTwilioRoom>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetTwilioRoom'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<TwilioRoomResponse>(); }\n}\n(GetTwilioRoom as unknown)[immerable] = true;\n\nexport class TwilioReminderRequest implements IReturn<ResponseBase<boolean>>\n{\n    public videoCode: string|null;\n\n    public constructor(init?: Partial<TwilioReminderRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'TwilioReminderRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(TwilioReminderRequest as unknown)[immerable] = true;\n\nexport class GetTwilioOnlineRoom implements IReturn<ResponseBase<TwilioRoomResponse>>\n{\n    public videoCode: string|null;\n\n    public constructor(init?: Partial<GetTwilioOnlineRoom>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetTwilioOnlineRoom'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<TwilioRoomResponse>(); }\n}\n(GetTwilioOnlineRoom as unknown)[immerable] = true;\n\n// @Route(\"/square/webhook\")\nexport class SquareWebhookRequest implements IReturn<HttpResult>\n{\n    public merchant_id: string|null;\n    public type: string|null;\n    public event_id: string|null;\n    public created_at: string|null;\n    public data: SquareWebhookData|null;\n\n    public constructor(init?: Partial<SquareWebhookRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SquareWebhookRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new HttpResult(); }\n}\n(SquareWebhookRequest as unknown)[immerable] = true;\n\n// @Route(\"/worldpay/notification\")\nexport class WorldPayNotificationRequest\n{\n    public requestStream: string|null;\n\n    public constructor(init?: Partial<WorldPayNotificationRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'WorldPayNotificationRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(WorldPayNotificationRequest as unknown)[immerable] = true;\n\n// @Route(\"/worldpay/dns/flush\")\nexport class WorldPayFlushDnsCacheRequest implements IReturn<ResponseBase<T>>\n{\n\n    public constructor(init?: Partial<WorldPayFlushDnsCacheRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'WorldPayFlushDnsCacheRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(WorldPayFlushDnsCacheRequest as unknown)[immerable] = true;\n\nexport class WorldPayChargeTokenRequest implements IReturn<ResponseBase<WorldPayResponse>>\n{\n    public reference: string|null;\n    public amount: number|null;\n    public customerId: number|null;\n\n    public constructor(init?: Partial<WorldPayChargeTokenRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'WorldPayChargeTokenRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<WorldPayResponse>(); }\n}\n(WorldPayChargeTokenRequest as unknown)[immerable] = true;\n\nexport class WorldPayRefundRequest implements IReturn<ResponseBase<WorldPayResponse>>\n{\n    public incomeId: number|null;\n    public reference: string|null;\n    public amount: number|null;\n\n    public constructor(init?: Partial<WorldPayRefundRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'WorldPayRefundRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<WorldPayResponse>(); }\n}\n(WorldPayRefundRequest as unknown)[immerable] = true;\n\nexport class WorldPayHostedPaymentPageRequest implements IReturn<ResponseBase<WorldPayResponse>>\n{\n    public customerId: number|null;\n    public amount: number|null;\n    public reference: string|null;\n\n    public constructor(init?: Partial<WorldPayHostedPaymentPageRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'WorldPayHostedPaymentPageRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<WorldPayResponse>(); }\n}\n(WorldPayHostedPaymentPageRequest as unknown)[immerable] = true;\n\nexport class WorldPayWaitingTokenRequest implements IReturn<ResponseBase<T>>\n{\n    public orderCode: string|null;\n    public customerId: number|null;\n\n    public constructor(init?: Partial<WorldPayWaitingTokenRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'WorldPayWaitingTokenRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(WorldPayWaitingTokenRequest as unknown)[immerable] = true;\n\nexport class StripeOnboardRequest\n{\n    public code: string|null;\n\n    public constructor(init?: Partial<StripeOnboardRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'StripeOnboardRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(StripeOnboardRequest as unknown)[immerable] = true;\n\nexport class StripeTerminalLocationsRequest implements IReturn<ResponseBase<StripeTerminalLocationsResponse>>\n{\n    public terminalLocationId: string|null;\n\n    public constructor(init?: Partial<StripeTerminalLocationsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'StripeTerminalLocationsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<StripeTerminalLocationsResponse>(); }\n}\n(StripeTerminalLocationsRequest as unknown)[immerable] = true;\n\n// @Route(\"/autopay\")\nexport class AutoPayRequest implements IReturn<ResponseBase<T>>\n{\n    public invoiceIds: number[]|null;\n    public appointmentId: number|null;\n\n    public constructor(init?: Partial<AutoPayRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AutoPayRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(AutoPayRequest as unknown)[immerable] = true;\n\n// @Route(\"/autopay/cancel\")\nexport class CancelChaseRequest\n{\n    public invoiceId: number|null;\n    public appointmentId: number|null;\n\n    public constructor(init?: Partial<CancelChaseRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CancelChaseRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(CancelChaseRequest as unknown)[immerable] = true;\n\n// @Route(\"/autopay/resend\")\nexport class ResendChaseEmailRequest\n{\n    public invoiceId: number|null;\n    public appointmentId: number|null;\n\n    public constructor(init?: Partial<ResendChaseEmailRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ResendChaseEmailRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(ResendChaseEmailRequest as unknown)[immerable] = true;\n\nexport class GetDiscountCodesRequest implements IReturn<ResponseBase<DiscountCodeDto>>\n{\n    public appointmentDate: string|null;\n    public getInUseFlag: boolean|null;\n    public discountCodeId: string|null;\n\n    public constructor(init?: Partial<GetDiscountCodesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetDiscountCodesRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<DiscountCodeDto>(); }\n}\n(GetDiscountCodesRequest as unknown)[immerable] = true;\n\n// @Route(\"/applicablediscountcodes/{InvoiceId}\", \"GET\")\nexport class GetApplicableDiscountCodes implements IReturn<ResponseBase<DiscountCodeDto>>\n{\n    public invoiceId: number|null;\n\n    public constructor(init?: Partial<GetApplicableDiscountCodes>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetApplicableDiscountCodes'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<DiscountCodeDto>(); }\n}\n(GetApplicableDiscountCodes as unknown)[immerable] = true;\n\n// @Route(\"/getDiscountCodesBillingItem\", \"POST\")\nexport class GetDiscountCodeBillingItem implements IReturn<ResponseBase<BillingItem>>\n{\n    public billingItem: BillingItem|null;\n    public discountCodeId: string|null;\n\n    public constructor(init?: Partial<GetDiscountCodeBillingItem>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetDiscountCodeBillingItem'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<BillingItem>(); }\n}\n(GetDiscountCodeBillingItem as unknown)[immerable] = true;\n\n// @Route(\"/diary/eventtypes\", \"GET, POST, DELETE\")\nexport class DiaryEventTypesDto implements IReturn<ResponseBase<DiaryEventTypesDto>>\n{\n    public id: number|null;\n    public name: string|null;\n    public colour: string|null;\n\n    public constructor(init?: Partial<DiaryEventTypesDto>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DiaryEventTypesDto'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<DiaryEventTypesDto>(); }\n}\n(DiaryEventTypesDto as unknown)[immerable] = true;\n\n// @Route(\"/files/referrer-logo/{Path*}\")\nexport class ClickReferrerLogoRequest implements IReturn<HttpResult>\n{\n    public path: string|null;\n\n    public constructor(init?: Partial<ClickReferrerLogoRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClickReferrerLogoRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new HttpResult(); }\n}\n(ClickReferrerLogoRequest as unknown)[immerable] = true;\n\nexport class AddressSearchRequest implements IReturn<ResponseBase<AddressFindResponse>>\n{\n    public term: string|null;\n    public container: string|null;\n\n    public constructor(init?: Partial<AddressSearchRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AddressSearchRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<AddressFindResponse>(); }\n}\n(AddressSearchRequest as unknown)[immerable] = true;\n\nexport class AddressRetrieveRequest implements IReturn<ResponseBase<AddressRetrieveResponse>>\n{\n    public id: string|null;\n\n    public constructor(init?: Partial<AddressRetrieveRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AddressRetrieveRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<AddressRetrieveResponse>(); }\n}\n(AddressRetrieveRequest as unknown)[immerable] = true;\n\n// @Route(\"/reminder/data\")\nexport class ReminderDataRequest implements ILocationId\n{\n    public isEmail: boolean|null;\n    public practitionerIds: number[]|null;\n    public locationId: number|null;\n    public appointmentId: number|null;\n    public day: string|null;\n\n    public constructor(init?: Partial<ReminderDataRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ReminderDataRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(ReminderDataRequest as unknown)[immerable] = true;\n\n// @Route(\"/reminder/last\")\nexport class LastReminderRequest\n{\n\n    public constructor(init?: Partial<LastReminderRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'LastReminderRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(LastReminderRequest as unknown)[immerable] = true;\n\n// @Route(\"/reminder/send\")\nexport class ReminderSendRequest implements ILocationId\n{\n    public sendSms: boolean|null;\n    public sendEmail: boolean|null;\n    public appointmentIds: number[]|null;\n    public locationId: number|null;\n    public forceSend: boolean|null;\n\n    public constructor(init?: Partial<ReminderSendRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ReminderSendRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(ReminderSendRequest as unknown)[immerable] = true;\n\n// @Route(\"/user/first/verify\")\nexport class FirstUserVerifyRequest implements IReturn<ResponseBase<T>>\n{\n\n    public constructor(init?: Partial<FirstUserVerifyRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'FirstUserVerifyRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(FirstUserVerifyRequest as unknown)[immerable] = true;\n\n// @Route(\"/user/email/verify\")\nexport class EmailVerificationRequest implements IReturn<ResponseBase<T>>\n{\n\n    public constructor(init?: Partial<EmailVerificationRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'EmailVerificationRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(EmailVerificationRequest as unknown)[immerable] = true;\n\n// @Route(\"/user/auto/login\")\nexport class AutoLoginRequest implements IReturn<CurrentUser>\n{\n    public token: string|null;\n\n    public constructor(init?: Partial<AutoLoginRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AutoLoginRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new CurrentUser(); }\n}\n(AutoLoginRequest as unknown)[immerable] = true;\n\n// @Route(\"/user/auto/redirect\")\nexport class AutoRedirectRequest implements IReturn<string>\n{\n    public password: string|null;\n    public verificationCode: string|null;\n\n    public constructor(init?: Partial<AutoRedirectRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AutoRedirectRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return ''; }\n}\n(AutoRedirectRequest as unknown)[immerable] = true;\n\n// @Route(\"/permissions/rules\", \"GET\")\nexport class JsonPermissionRuleRequest implements IReturn<ResponseBase<string>>\n{\n\n    public constructor(init?: Partial<JsonPermissionRuleRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'JsonPermissionRuleRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<string>(); }\n}\n(JsonPermissionRuleRequest as unknown)[immerable] = true;\n\n// @Route(\"/permissions/all\", \"GET\")\nexport class JsonPermissionRequest implements IReturn<ResponseBase<JsonPermissionResponse>>\n{\n\n    public constructor(init?: Partial<JsonPermissionRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'JsonPermissionRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<JsonPermissionResponse>(); }\n}\n(JsonPermissionRequest as unknown)[immerable] = true;\n\n// @Route(\"/permissions/roles\", \"GET\")\nexport class JsonPermissionGetRequest implements IReturn<ResponseBase<T>>\n{\n\n    public constructor(init?: Partial<JsonPermissionGetRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'JsonPermissionGetRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(JsonPermissionGetRequest as unknown)[immerable] = true;\n\n// @Route(\"/permissions/roles/rename\", \"POST\")\nexport class JsonPermissionRenameRequest implements IReturn<ResponseBase<T>>\n{\n    public id: number|null;\n    public shortDescription: string|null;\n    public newRoleName: string|null;\n\n    public constructor(init?: Partial<JsonPermissionRenameRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'JsonPermissionRenameRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(JsonPermissionRenameRequest as unknown)[immerable] = true;\n\n// @Route(\"/permissions/roles/update\", \"POST\")\nexport class JsonPermissionUpdateRequest implements IReturn<ResponseBase<T>>\n{\n    public id: number|null;\n    public shortDescription: string|null;\n    public jsonPermissions: string|null;\n\n    public constructor(init?: Partial<JsonPermissionUpdateRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'JsonPermissionUpdateRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(JsonPermissionUpdateRequest as unknown)[immerable] = true;\n\n// @Route(\"/permissions/roles/clone\", \"POST\")\nexport class JsonPermissionCloneRequest implements IReturn<ResponseBase<T>>\n{\n    public id: number|null;\n    public shortDescription: string|null;\n\n    public constructor(init?: Partial<JsonPermissionCloneRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'JsonPermissionCloneRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(JsonPermissionCloneRequest as unknown)[immerable] = true;\n\n// @Route(\"/permissions/roles/add\", \"POST\")\nexport class JsonPermissionAddRequest implements IReturn<ResponseBase<T>>\n{\n    public shortDescription: string|null;\n\n    public constructor(init?: Partial<JsonPermissionAddRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'JsonPermissionAddRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(JsonPermissionAddRequest as unknown)[immerable] = true;\n\n// @Route(\"/permissions/roles/delete\", \"POST\")\nexport class JsonPermissionDeleteRequest implements IReturn<ResponseBase<T>>\n{\n    public id: number|null;\n    public shortDescription: string|null;\n\n    public constructor(init?: Partial<JsonPermissionDeleteRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'JsonPermissionDeleteRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(JsonPermissionDeleteRequest as unknown)[immerable] = true;\n\n// @Route(\"/users/all\")\nexport class AllUsersLocationRequest extends BaseAdvancedSearchRequest implements IReturn<ResponseBase<UsersSearchResponse>>\n{\n    public username: string|null;\n    public status: boolean|null;\n    public fullname: string|null;\n    public practitioner: number|null;\n\n    public constructor(init?: Partial<AllUsersLocationRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'AllUsersLocationRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<UsersSearchResponse>(); }\n}\n(AllUsersLocationRequest as unknown)[immerable] = true;\n\n// @Route(\"/users/allWorkflowUsers\")\nexport class AllWorkflowUsersLocationRequest implements IReturn<ResponseBase<UsersSearchResponse>>, ILocationIds\n{\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n    public username: string|null;\n    public status: boolean|null;\n    public fullname: string|null;\n    public practitioner: number|null;\n    public term: string|null;\n    public sort: QueryField[]|null;\n    public skip: number|null;\n    public take: number|null;\n\n    public constructor(init?: Partial<AllWorkflowUsersLocationRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AllWorkflowUsersLocationRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<UsersSearchResponse>(); }\n}\n(AllWorkflowUsersLocationRequest as unknown)[immerable] = true;\n\n// @Route(\"/user/email/{Id}\", \"GET\")\nexport class UserEmailRequest implements ISecurityId\n{\n    public id: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<UserEmailRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UserEmailRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(UserEmailRequest as unknown)[immerable] = true;\n\n// @Route(\"/user/email/reset\")\nexport class UserEmailReset implements IReturn<ResponseBase<boolean>>\n{\n    public id: number|null;\n    public email: string|null;\n    public saveEmail: boolean|null;\n\n    public constructor(init?: Partial<UserEmailReset>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UserEmailReset'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(UserEmailReset as unknown)[immerable] = true;\n\nexport class UserResetRequest implements IReturn<ResponseBase<boolean>>, ILocationId\n{\n    public mode: ResetMode|null;\n    public id: number|null;\n    public customerId: number|null;\n    public locationId: number|null;\n    public codeForExistingSecret: string|null;\n\n    public constructor(init?: Partial<UserResetRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UserResetRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(UserResetRequest as unknown)[immerable] = true;\n\n// @Route(\"/users/allUsersWithRoles\")\nexport class UsersWithRolesRequest implements IReturn<UserRoleLocationWithDetails[]>, ILocationIds\n{\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<UsersWithRolesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UsersWithRolesRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new Array<UserRoleLocationWithDetails>(); }\n}\n(UsersWithRolesRequest as unknown)[immerable] = true;\n\nexport class UsersExportRequest implements IReturn<ResponseBase<string>>, ILocationIds\n{\n    public query: AllUsersLocationRequest|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<UsersExportRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UsersExportRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<string>(); }\n}\n(UsersExportRequest as unknown)[immerable] = true;\n\n// @Route(\"/users/{Id}\", \"GET\")\nexport class UserRequest implements IReturn<ResponseBase<UsersSearchResponse>>, ISecurityId\n{\n    public id: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<UserRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UserRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<UsersSearchResponse>(); }\n}\n(UserRequest as unknown)[immerable] = true;\n\n// @Route(\"/users/{UserId}/locations\", \"GET\")\nexport class UserLocationsRequest implements IReturn<ResponseBase<UserLocationsResponse>>, ISecurityId\n{\n    public userId: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<UserLocationsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UserLocationsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<UserLocationsResponse>(); }\n}\n(UserLocationsRequest as unknown)[immerable] = true;\n\n// @Route(\"/users/{Id}/permissions\", \"GET\")\nexport class UserPermissionRequest implements IReturn<ResponseBase<JsonPermission>>, ISecurityId\n{\n    public id: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<UserPermissionRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UserPermissionRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<JsonPermission>(); }\n}\n(UserPermissionRequest as unknown)[immerable] = true;\n\n// @Route(\"/users\")\nexport class UserSaveRequest implements IReturn<ResponseBase<number>>, ILocationId\n{\n    public id: number|null;\n    public name: string|null;\n    public fullName: string|null;\n    public firstName: string|null;\n    public lastName: string|null;\n    public current: boolean|null;\n    public email: string|null;\n    public mobileNumber: string|null;\n    public position: string|null;\n    public pword: string|null;\n    public locationId: number|null;\n    public practitionerId: number|null;\n    public migrated: boolean|null;\n    public practitionerTitle: string|null;\n    public practitionerForename: string|null;\n    public practitionerSurname: string|null;\n    public avatar: string|null;\n    public locations: UserRoleLocationDto[]|null;\n    public accessiblePractitioners: number[]|null;\n    public departments: number[]|null;\n    public globalGuid: string|null;\n\n    public constructor(init?: Partial<UserSaveRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UserSaveRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<number>(); }\n}\n(UserSaveRequest as unknown)[immerable] = true;\n\n// @Route(\"/businessprofile/{Id}\", \"GET\")\nexport class BusinessProfileRequest implements IReturn<ResponseBase<BusinessProfileResponse>>\n{\n    public id: number|null;\n    public businessName: string|null;\n    public tradingName: string|null;\n    public description: string|null;\n    public termsAndConditions: string|null;\n    public privacyPolicy: string|null;\n    public cancellationPolicy: string|null;\n\n    public constructor(init?: Partial<BusinessProfileRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'BusinessProfileRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<BusinessProfileResponse>(); }\n}\n(BusinessProfileRequest as unknown)[immerable] = true;\n\n// @Route(\"/businessprofile\", \"POST\")\n// @Route(\"/businessprofile/{Id}\", \"GET\")\nexport class BusinessProfilePostRequest extends BusinessProfileRequest implements IReturn<ResponseBase<BusinessProfileResponse>>\n{\n\n    public constructor(init?: Partial<BusinessProfilePostRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'BusinessProfilePostRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<BusinessProfileResponse>(); }\n}\n(BusinessProfilePostRequest as unknown)[immerable] = true;\n\n// @Route(\"/businessprofile/{Id}\", \"PUT\")\n// @Route(\"/businessprofile/{Id}\", \"GET\")\nexport class BusinessProfilePutRequest extends BusinessProfileRequest implements IReturn<ResponseBase<BusinessProfileResponse>>\n{\n\n    public constructor(init?: Partial<BusinessProfilePutRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'BusinessProfilePutRequest'; }\n    public getMethod() { return 'PUT'; }\n    public createResponse() { return new ResponseBase<BusinessProfileResponse>(); }\n}\n(BusinessProfilePutRequest as unknown)[immerable] = true;\n\n// @Route(\"/businessprofile\", \"GET\")\nexport class BusinessProfileGetRequest implements IReturn<ResponseBase<BusinessProfileResponse>>\n{\n\n    public constructor(init?: Partial<BusinessProfileGetRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'BusinessProfileGetRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<BusinessProfileResponse>(); }\n}\n(BusinessProfileGetRequest as unknown)[immerable] = true;\n\n// @Route(\"/extraction/status\", \"GET\")\nexport class ExtractionStatusRequest implements IReturn<ResponseBase<ExtractionResponse>>\n{\n\n    public constructor(init?: Partial<ExtractionStatusRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ExtractionStatusRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ExtractionResponse>(); }\n}\n(ExtractionStatusRequest as unknown)[immerable] = true;\n\n// @Route(\"/extraction/begin\", \"POST\")\nexport class ExtractionRequest implements IReturn<ResponseBase<ExtractionResponse>>\n{\n    public outOfHours: boolean|null;\n\n    public constructor(init?: Partial<ExtractionRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ExtractionRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ExtractionResponse>(); }\n}\n(ExtractionRequest as unknown)[immerable] = true;\n\n// @Route(\"/download/util\", \"GET\")\nexport class DownloadUtilRequest\n{\n    public os: string|null;\n\n    public constructor(init?: Partial<DownloadUtilRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DownloadUtilRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(DownloadUtilRequest as unknown)[immerable] = true;\n\n// @Route(\"/cxx/files\")\nexport class CancellationFileExtract implements IReturn<FilesListingResponse>, IHasPath\n{\n    public safeRoot: string|null;\n    // @DataMember(Order=1)\n    public path: string|null;\n\n    // @DataMember(Order=2)\n    public recursive: boolean|null;\n\n    // @DataMember(Order=3)\n    public createDirectoryIfNotExists: boolean|null;\n\n    public constructor(init?: Partial<CancellationFileExtract>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CancellationFileExtract'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new FilesListingResponse(); }\n}\n(CancellationFileExtract as unknown)[immerable] = true;\n\n// @Route(\"/cases/{id}/imaging\")\nexport class CaseImagingRequest implements IReturn<CaseImagingResponse>, ISecurityId\n{\n    public id: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<CaseImagingRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CaseImagingRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new CaseImagingResponse(); }\n}\n(CaseImagingRequest as unknown)[immerable] = true;\n\nexport class CommandBarPatientRequest extends CommandBarRequest implements IReturn<ResponseBase<T>>\n{\n\n    public constructor(init?: Partial<CommandBarPatientRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'CommandBarPatientRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(CommandBarPatientRequest as unknown)[immerable] = true;\n\nexport class CommandBarGroupRequest extends CommandBarRequest implements IReturn<ResponseBase<T>>\n{\n\n    public constructor(init?: Partial<CommandBarGroupRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'CommandBarGroupRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(CommandBarGroupRequest as unknown)[immerable] = true;\n\nexport class CommandBarContactRequest extends CommandBarRequest implements IReturn<ResponseBase<T>>\n{\n\n    public constructor(init?: Partial<CommandBarContactRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'CommandBarContactRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(CommandBarContactRequest as unknown)[immerable] = true;\n\nexport class CommandBarInvoiceRequest extends CommandBarRequest implements IReturn<ResponseBase<T>>\n{\n\n    public constructor(init?: Partial<CommandBarInvoiceRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'CommandBarInvoiceRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(CommandBarInvoiceRequest as unknown)[immerable] = true;\n\nexport class CommandBarPaymentRequest extends CommandBarRequest implements IReturn<ResponseBase<T>>\n{\n\n    public constructor(init?: Partial<CommandBarPaymentRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'CommandBarPaymentRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(CommandBarPaymentRequest as unknown)[immerable] = true;\n\n// @Route(\"/mergefields\")\nexport class MergeFieldsRequest\n{\n    public type: string|null;\n    public webSafe: boolean|null;\n\n    public constructor(init?: Partial<MergeFieldsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'MergeFieldsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(MergeFieldsRequest as unknown)[immerable] = true;\n\nexport class GetCustomMergeFields implements IReturn<ResponseBase<MergeFieldMappingDto>>\n{\n    public mergeFieldTypes: MergeFieldType[]|null;\n\n    public constructor(init?: Partial<GetCustomMergeFields>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetCustomMergeFields'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<MergeFieldMappingDto>(); }\n}\n(GetCustomMergeFields as unknown)[immerable] = true;\n\nexport class GetCustomMergeField implements IReturn<ResponseBase<MergeFieldMappingDto>>\n{\n    public id: string|null;\n\n    public constructor(init?: Partial<GetCustomMergeField>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetCustomMergeField'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<MergeFieldMappingDto>(); }\n}\n(GetCustomMergeField as unknown)[immerable] = true;\n\nexport class SaveCustomMergeField implements IReturn<ResponseBase<MergeFieldMappingDto>>\n{\n    public mergeFieldMapping: MergeFieldMappingDto|null;\n\n    public constructor(init?: Partial<SaveCustomMergeField>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SaveCustomMergeField'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<MergeFieldMappingDto>(); }\n}\n(SaveCustomMergeField as unknown)[immerable] = true;\n\nexport class GetCustomFieldMappings implements IReturn<ResponseBase<{ [index:string]: string[]; }>>\n{\n\n    public constructor(init?: Partial<GetCustomFieldMappings>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetCustomFieldMappings'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<{ [index:string]: string[]; }>(); }\n}\n(GetCustomFieldMappings as unknown)[immerable] = true;\n\n// @Route(\"/batchInvoiceMergeData\")\nexport class BatchInvoiceMergeDataRequest implements IReturn<BatchMergeDataResponse[]>, ISecurityIds\n{\n    public ids: BatchInvoiceMergeDataRequestObject[]|null;\n    public securityIds: number[]|null;\n\n    public constructor(init?: Partial<BatchInvoiceMergeDataRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'BatchInvoiceMergeDataRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new Array<BatchMergeDataResponse>(); }\n}\n(BatchInvoiceMergeDataRequest as unknown)[immerable] = true;\n\n// @Route(\"/batchMergeData\")\nexport class BatchMergeDataRequest implements IReturn<BatchMergeDataResponse[]>, ISecurityIds, ISecurityType\n{\n    public ids: BatchMergeDataRequestObject[]|null;\n    public securityIds: number[]|null;\n    public securityType: string|null;\n\n    public constructor(init?: Partial<BatchMergeDataRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'BatchMergeDataRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new Array<BatchMergeDataResponse>(); }\n}\n(BatchMergeDataRequest as unknown)[immerable] = true;\n\n// @Route(\"/mergedatawithcontact/{Type}/{Id}/{ContactId}/{Path*}\")\n// @Route(\"/mergedata/{Type}/{Id}/{Path*}\")\nexport class MergeDataRequest implements IHasPath, ISecurityId, ISecurityType, IFilterServiceTypeManually, IDepartmentIds, IAllowedDepartmentIds\n{\n    public id: number|null;\n    public type: string|null;\n    public path: string|null;\n    public safeRoot: string|null;\n    public contactId: number|null;\n    public appointmentId: number|null;\n    public securityId: number|null;\n    public securityType: string|null;\n    public onlineUrl: string|null;\n    public validFor: number|null;\n    public departmentIds: number[]|null;\n    public allowedDepartmentIds: number[]|null;\n    public isOnline: boolean|null;\n    public fallbackCustomerId: number|null;\n    public chaseId: string|null;\n    public waitingListId: string|null;\n\n    public constructor(init?: Partial<MergeDataRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'MergeDataRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(MergeDataRequest as unknown)[immerable] = true;\n\n// @Route(\"/contactmergecheck\", \"POST\")\nexport class ContactMergeCheckRequest implements IReturn<ResponseBase<ContactMergeCheckResponse>>, IHasPath, ISecurityId, ISecurityType\n{\n    public mode: string|null;\n    public id: string|null;\n    public templateName: string|null;\n    public path: string|null;\n    public safeRoot: string|null;\n    public securityId: number|null;\n    public securityType: string|null;\n\n    public constructor(init?: Partial<ContactMergeCheckRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ContactMergeCheckRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ContactMergeCheckResponse>(); }\n}\n(ContactMergeCheckRequest as unknown)[immerable] = true;\n\n// @Route(\"/communication/sms\")\nexport class SmsSendRequest implements IReturn<SmsResponse>, ISecurityId, ISecurityType\n{\n    public recipient: string|null;\n    public source: string|null;\n    public object: Object|null;\n    public objectType: string|null;\n    public objectId: number|null;\n    public skipFileSave: boolean|null;\n    public template: string|null;\n    public securityId: number|null;\n    public securityType: string|null;\n    public isOnline: boolean|null;\n    public smsType: string|null;\n    public metadata: { [index:string]: string; }|null;\n\n    public constructor(init?: Partial<SmsSendRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SmsSendRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new SmsResponse(); }\n}\n(SmsSendRequest as unknown)[immerable] = true;\n\n// @Route(\"/communication/consent/{Mode}/{Id}\")\nexport class SmsConsentCheck implements IReturn<SmsConsentReponse>\n{\n    public id: number|null;\n    public mode: string|null;\n\n    public constructor(init?: Partial<SmsConsentCheck>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SmsConsentCheck'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new SmsConsentReponse(); }\n}\n(SmsConsentCheck as unknown)[immerable] = true;\n\n// @Route(\"/customer/contacts\", \"GET\")\n// @Route(\"/customer/contacts/{Id}\", \"GET\")\nexport class MedicalContactRequest implements IReturn<ResponseBase<MedicalContactResponse>>, ISecurityId\n{\n    public skip: number|null;\n    public take: number|null;\n    public id: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<MedicalContactRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'MedicalContactRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<MedicalContactResponse>(); }\n}\n(MedicalContactRequest as unknown)[immerable] = true;\n\n// @Route(\"/customer/contacts/linked\")\n// @Route(\"/customer/contacts/linked/{CustomerId}\")\nexport class LinkedPatientsRequest implements IReturn<ResponseBase<GeneralCustomerResponse>>, ICustomerId\n{\n    public customerId: number|null;\n\n    public constructor(init?: Partial<LinkedPatientsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'LinkedPatientsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<GeneralCustomerResponse>(); }\n}\n(LinkedPatientsRequest as unknown)[immerable] = true;\n\n// @Route(\"/contact/recent/{Id}\", \"GET\")\nexport class ContactRecentRequest implements IReturn<ContactRecentResponse>, IHasPath, ISecurityId\n{\n    public id: number|null;\n    public path: string|null;\n    public safeRoot: string|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<ContactRecentRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ContactRecentRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ContactRecentResponse(); }\n}\n(ContactRecentRequest as unknown)[immerable] = true;\n\n// @Route(\"/contacts/linkedCustomers/\")\n// @Route(\"/contacts/linkedCustomers/{ContactId}\")\nexport class ContactsLinkedPatients implements IReturn<ResponseBase<GeneralCustomerResponse>>, ISecurityId, IFilterServiceTypeManually\n{\n    public contactId: number|null;\n    public securityId: number|null;\n    public sort: QueryField[]|null;\n\n    public constructor(init?: Partial<ContactsLinkedPatients>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ContactsLinkedPatients'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<GeneralCustomerResponse>(); }\n}\n(ContactsLinkedPatients as unknown)[immerable] = true;\n\n// @Route(\"/customers/contactsave\")\nexport class MedicalContactSaveRequest implements IReturn<ResponseBase<MedicalContactResponse>>, ILocationId\n{\n    public id: number|null;\n    public current: boolean|null;\n    public category: string|null;\n    public title: string|null;\n    public forename: string|null;\n    public surname: string|null;\n    public businessName: string|null;\n    public addressLine1: string|null;\n    public addressLine2: string|null;\n    public addressLine3: string|null;\n    public addressLine4: string|null;\n    public addressLine5: string|null;\n    public mobile: string|null;\n    public postCode: string|null;\n    public telephone: string|null;\n    public altTelephone1: string|null;\n    public altTelephone2: string|null;\n    public fax: string|null;\n    public email: string|null;\n    public web: string|null;\n    public locationId: number|null;\n    public locationName: string|null;\n    public providerNumber: string|null;\n\n    public constructor(init?: Partial<MedicalContactSaveRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'MedicalContactSaveRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<MedicalContactResponse>(); }\n}\n(MedicalContactSaveRequest as unknown)[immerable] = true;\n\n// @Route(\"/customers/{CustomerId}\")\n// @Route(\"/customers\")\nexport class CustomerRequest implements IReturn<ResponseBase<GeneralCustomerResponse>>, ICustomerId, IGet\n{\n    public customerId: number|null;\n    public includeDiaryMetaData: boolean|null;\n\n    public constructor(init?: Partial<CustomerRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CustomerRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<GeneralCustomerResponse>(); }\n}\n(CustomerRequest as unknown)[immerable] = true;\n\nexport class CustomerLiteRequest implements IReturn<ResponseBase<CustomerLiteDto>>, ICustomerId\n{\n    public customerId: number|null;\n\n    public constructor(init?: Partial<CustomerLiteRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CustomerLiteRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<CustomerLiteDto>(); }\n}\n(CustomerLiteRequest as unknown)[immerable] = true;\n\n// @Route(\"/customer/save/consent\")\nexport class CustomerSaveConsentRequest implements IReturn<ResponseBase<Object>>, ILocationId, ICustomerId\n{\n    public id: number|null;\n    public locationId: number|null;\n    public customerId: number|null;\n    public emailConsent: boolean|null;\n    public smsConsent: boolean|null;\n    public phoneConsent: boolean|null;\n    public givenConsent: boolean|null;\n\n    public constructor(init?: Partial<CustomerSaveConsentRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CustomerSaveConsentRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<Object>(); }\n}\n(CustomerSaveConsentRequest as unknown)[immerable] = true;\n\n// @Route(\"/customer/batch/consent\")\nexport class CustomerBatchConsentRequest implements IReturn<ResponseBase<CustomerBatchConsentResponse>>\n{\n    public consent: boolean|null;\n    public customerIds: number[]|null;\n\n    public constructor(init?: Partial<CustomerBatchConsentRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CustomerBatchConsentRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<CustomerBatchConsentResponse>(); }\n}\n(CustomerBatchConsentRequest as unknown)[immerable] = true;\n\nexport class CustomerEmailDuplicateCheck implements IReturn<ResponseBase<Customer>>, ILocationId\n{\n    public locationId: number|null;\n    public email: string|null;\n    public customerId: number|null;\n\n    public constructor(init?: Partial<CustomerEmailDuplicateCheck>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CustomerEmailDuplicateCheck'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<Customer>(); }\n}\n(CustomerEmailDuplicateCheck as unknown)[immerable] = true;\n\n// @Route(\"/customer/save\")\nexport class CustomerSaveRequest implements IReturn<ResponseBase<CustomerSaveResponse>>, ILocationId\n{\n    public id: number|null;\n    public reference: string|null;\n    public forename: string|null;\n    public surname: string|null;\n    public title: string|null;\n    public gender: string|null;\n    public addressLine1: string|null;\n    public addressLine2: string|null;\n    public addressLine3: string|null;\n    public addressLine4: string|null;\n    public addressLine5: string|null;\n    public postCode: string|null;\n    public invoiceAddressLine1: string|null;\n    public invoiceAddressLine2: string|null;\n    public invoiceAddressLine3: string|null;\n    public invoiceAddressLine4: string|null;\n    public invoiceAddressLine5: string|null;\n    public invoicePostCode: string|null;\n    public registrationDate: string|null;\n    public homeTelephone: string|null;\n    public workTelephone: string|null;\n    public mobileTelephone: string|null;\n    public stripeToken: string|null;\n    public stripeCustomerId: string|null;\n    public cardName: string|null;\n    public lastFourDigits: string|null;\n    public expiryMonth: number|null;\n    public expiryYear: number|null;\n    public brand: string|null;\n    public isNewCard: boolean|null;\n    public isDeletingCard: boolean|null;\n    public elementType: string|null;\n    public cardID: number|null;\n    public email: string|null;\n    public dateOfBirth: string|null;\n    public locationName: string|null;\n    public practitionerTitle: string|null;\n    public practitionerForename: string|null;\n    public practitionerSurname: string|null;\n    public locationId: number|null;\n    public practitionerId: number|null;\n    public practitionerName: string|null;\n    public groupName: string|null;\n    public groupId: number|null;\n    public patientGroup: string|null;\n    public accountId: number|null;\n    public status: number|null;\n    public insuranceNumber: string|null;\n    public groupReference: string|null;\n    public smsEnabled: boolean|null;\n    public defaultCharge: string|null;\n    public invoicePeriod: string|null;\n    public useInvoiceAddress: boolean|null;\n    public enquiry: string|null;\n    public category: string|null;\n    public employer: string|null;\n    public height: number|null;\n    public weight: number|null;\n    public hospitalNumber: string|null;\n    public niNumber: string|null;\n    public medication: string|null;\n    public previousInjuries: string|null;\n    public alternativeRef1: string|null;\n    public lastAppointmentDate: string|null;\n    public alternativeRef2: string|null;\n    public alternativeRef3: string|null;\n    public alternativeRef4: string|null;\n    public notes: string|null;\n    public billTo: string|null;\n    public online: boolean|null;\n    public cardNo: string|null;\n    public invoiceFrequency: number|null;\n    public invoiceDeadline: string|null;\n    public consent: string|null;\n    public forceSave: boolean|null;\n    public customerId: number|null;\n    public emailConsent: boolean|null;\n    public smsConsent: boolean|null;\n    public phoneConsent: boolean|null;\n    public givenConsent: boolean|null;\n    public updateAnyway: boolean|null;\n    public paymentMethodId: string|null;\n    public mailChimpEnabled: boolean|null;\n    public flag: string|null;\n    public medicareCardNo: string|null;\n    public irn: string|null;\n    public dvaNumber: string|null;\n    public tags: string[]|null;\n    public overridePayAtClinic: boolean|null;\n\n    public constructor(init?: Partial<CustomerSaveRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CustomerSaveRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<CustomerSaveResponse>(); }\n}\n(CustomerSaveRequest as unknown)[immerable] = true;\n\n// @Route(\"/customer/sms/change\")\nexport class ChangeCustomerSmsEnabled implements IReturn<Customer>, ILocationIds\n{\n    public id: number|null;\n    public smsEnabled: boolean|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<ChangeCustomerSmsEnabled>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ChangeCustomerSmsEnabled'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new Customer(); }\n}\n(ChangeCustomerSmsEnabled as unknown)[immerable] = true;\n\n// @Route(\"/patient/nextappointment/{CustomerId}\")\nexport class PatientNextAppoimentRequest implements IReturn<PatientNextAppoimentResponse>, ICustomerId\n{\n    public customerId: number|null;\n\n    public constructor(init?: Partial<PatientNextAppoimentRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PatientNextAppoimentRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new PatientNextAppoimentResponse(); }\n}\n(PatientNextAppoimentRequest as unknown)[immerable] = true;\n\n// @Route(\"/patient/recent/{CustomerId}\")\nexport class PatientRecentRequest implements IReturn<PatientRecentResponse>, IHasPath, ICustomerId, IFilterServiceTypeManually\n{\n    public customerId: number|null;\n    public path: string|null;\n    public safeRoot: string|null;\n\n    public constructor(init?: Partial<PatientRecentRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PatientRecentRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new PatientRecentResponse(); }\n}\n(PatientRecentRequest as unknown)[immerable] = true;\n\n// @Route(\"/patient/recentDocument/{CustomerId}\")\nexport class RecentDocumentRequest implements IReturn<RecentDocumentResponse>, IHasPath, ICustomerId\n{\n    public customerId: number|null;\n    public path: string|null;\n    public safeRoot: string|null;\n\n    public constructor(init?: Partial<RecentDocumentRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'RecentDocumentRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new RecentDocumentResponse(); }\n}\n(RecentDocumentRequest as unknown)[immerable] = true;\n\n// @Route(\"/customer/contacts/medical/{CustomerId}\")\n// @Route(\"/customer/contacts/medical\")\nexport class CustomerMedicalContactsRequest implements IReturn<ResponseBase<MedicalContactResponse>>, ICustomerId\n{\n    public customerId: number|null;\n\n    public constructor(init?: Partial<CustomerMedicalContactsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CustomerMedicalContactsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<MedicalContactResponse>(); }\n}\n(CustomerMedicalContactsRequest as unknown)[immerable] = true;\n\n// @Route(\"/customer/contacts/joined/{CustomerId}\")\n// @Route(\"/customer/contacts/joined\")\nexport class JoinedContactsRequest implements IReturn<ResponseBase<JoinedContactResponse>>, ICustomerId\n{\n    public customerId: number|null;\n    public term: string|null;\n    public skip: number|null;\n    public take: number|null;\n    public sort: QueryField[]|null;\n\n    public constructor(init?: Partial<JoinedContactsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'JoinedContactsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<JoinedContactResponse>(); }\n}\n(JoinedContactsRequest as unknown)[immerable] = true;\n\n// @Route(\"/customer/contacts/medical/default\")\nexport class DefaultMedicalContactRequest implements IReturn<ResponseBase<boolean>>, ICustomerId\n{\n    public customerId: number|null;\n    public contactId: number|null;\n\n    public constructor(init?: Partial<DefaultMedicalContactRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DefaultMedicalContactRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(DefaultMedicalContactRequest as unknown)[immerable] = true;\n\n// @Route(\"/customer/contacts/medical/contactable\")\nexport class ContactableMedicalContactRequest implements IReturn<ResponseBase<boolean>>, ICustomerId\n{\n    public customerId: number|null;\n    public contactId: number|null;\n\n    public constructor(init?: Partial<ContactableMedicalContactRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ContactableMedicalContactRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(ContactableMedicalContactRequest as unknown)[immerable] = true;\n\n// @Route(\"/customer/contacts/patient/{CustomerId}\")\n// @Route(\"/customer/contacts/patient\")\nexport class CustomerPatientContactsRequest implements IReturn<ResponseBase<MedicalContactResponse>>, ICustomerId\n{\n    public customerId: number|null;\n\n    public constructor(init?: Partial<CustomerPatientContactsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CustomerPatientContactsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<MedicalContactResponse>(); }\n}\n(CustomerPatientContactsRequest as unknown)[immerable] = true;\n\n// @Route(\"/customer/contacts/relationship\")\nexport class PatientContactRelationshipRequest implements IReturn<ResponseBase<boolean>>, ICustomerId\n{\n    public customerId: number|null;\n    public contactId: number|null;\n    public relationship: string|null;\n\n    public constructor(init?: Partial<PatientContactRelationshipRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PatientContactRelationshipRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(PatientContactRelationshipRequest as unknown)[immerable] = true;\n\n// @Route(\"/customer/contacts/patient/default\")\nexport class DefaultPatientContactRequest implements IReturn<ResponseBase<boolean>>, ICustomerId\n{\n    public customerId: number|null;\n    public contactId: number|null;\n\n    public constructor(init?: Partial<DefaultPatientContactRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DefaultPatientContactRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(DefaultPatientContactRequest as unknown)[immerable] = true;\n\n// @Route(\"/patient/delete\")\nexport class DeleteCustomerRequest implements IReturn<ResponseBase<boolean>>, ICustomerId\n{\n    public customerId: number|null;\n    public isProvisional: boolean|null;\n\n    public constructor(init?: Partial<DeleteCustomerRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DeleteCustomerRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(DeleteCustomerRequest as unknown)[immerable] = true;\n\n// @Route(\"/patient/linkpatient\")\nexport class LinkCustomerRequest implements IReturn<ResponseBase<boolean>>, ICustomerId\n{\n    public customerId: number|null;\n    public existingPatientId: number|null;\n\n    public constructor(init?: Partial<LinkCustomerRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'LinkCustomerRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(LinkCustomerRequest as unknown)[immerable] = true;\n\n// @Route(\"/patient/makereal\")\nexport class MakeCustomerRealRequest implements IReturn<ResponseBase<boolean>>, ICustomerId\n{\n    public customerId: number|null;\n\n    public constructor(init?: Partial<MakeCustomerRealRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'MakeCustomerRealRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(MakeCustomerRealRequest as unknown)[immerable] = true;\n\n// @Route(\"/customer/contacts/medical/remove\")\nexport class RemoveMedicalContactRequest implements IReturn<ResponseBase<boolean>>, ICustomerId\n{\n    public customerId: number|null;\n    public contactId: number|null;\n\n    public constructor(init?: Partial<RemoveMedicalContactRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'RemoveMedicalContactRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(RemoveMedicalContactRequest as unknown)[immerable] = true;\n\n// @Route(\"/customer/contacts/patient/remove\")\nexport class RemovePatientContactRequest implements IReturn<ResponseBase<boolean>>, ICustomerId\n{\n    public customerId: number|null;\n    public contactId: number|null;\n\n    public constructor(init?: Partial<RemovePatientContactRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'RemovePatientContactRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(RemovePatientContactRequest as unknown)[immerable] = true;\n\n// @Route(\"/customer/contacts/addTo\")\nexport class CustomerContactAddRequest implements IReturn<ResponseBase<boolean>>, ICustomerId\n{\n    public customerId: number|null;\n    public contactId: number|null;\n\n    public constructor(init?: Partial<CustomerContactAddRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CustomerContactAddRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(CustomerContactAddRequest as unknown)[immerable] = true;\n\n// @Route(\"/customer/patientcon/addTo\")\nexport class CustomerPatientContactAddRequest implements IReturn<ResponseBase<boolean>>, ICustomerId\n{\n    public customerId: number|null;\n    public contactId: number|null;\n    public relationship: string|null;\n\n    public constructor(init?: Partial<CustomerPatientContactAddRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CustomerPatientContactAddRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(CustomerPatientContactAddRequest as unknown)[immerable] = true;\n\n// @Route(\"/finances/account\")\n// @Route(\"/finances/account/{CustomerId}\")\nexport class AccountStatementRequest implements IReturn<ResponseBase<AccountStatementResponse>>, ILocationIds\n{\n    public sort: QueryField[]|null;\n    public customerId: number|null;\n    public date: DateRange|null;\n    public skip: number|null;\n    public take: number|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<AccountStatementRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AccountStatementRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<AccountStatementResponse>(); }\n}\n(AccountStatementRequest as unknown)[immerable] = true;\n\n// @Route(\"/finances/account/groups\")\n// @Route(\"/finances/account/groups/{CustomerId}\")\nexport class GroupAccountStatementRequest implements IReturn<ResponseBase<GroupAccountStatementResponse>>, ILocationIds\n{\n    public sort: QueryField[]|null;\n    public customerId: number|null;\n    public date: DateRange|null;\n    public skip: number|null;\n    public take: number|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<GroupAccountStatementRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GroupAccountStatementRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<GroupAccountStatementResponse>(); }\n}\n(GroupAccountStatementRequest as unknown)[immerable] = true;\n\n// @Route(\"/invoices/{InvoiceId}/billingitems\")\n// @Route(\"/billing/items\")\nexport class BillingItemsRequest implements IReturn<ResponseBase<BillingItemsResponse>>, ILocationIds\n{\n    public sort: QueryField[]|null;\n    public customerId: number|null;\n    public invoiceId: number|null;\n    public skip: number|null;\n    public take: number|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n    public hideDiscountItems: boolean|null;\n\n    public constructor(init?: Partial<BillingItemsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'BillingItemsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<BillingItemsResponse>(); }\n}\n(BillingItemsRequest as unknown)[immerable] = true;\n\n// @Route(\"/billing/items/group\")\nexport class GroupBillingItemsRequest implements IReturn<ResponseBase<BillingItemsResponse>>, ILocationId\n{\n    public sort: QueryField[]|null;\n    public customerId: number|null;\n    public invoiceId: number|null;\n    public skip: number|null;\n    public take: number|null;\n    public locationId: number|null;\n    public hideDiscountItems: boolean|null;\n\n    public constructor(init?: Partial<GroupBillingItemsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GroupBillingItemsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<BillingItemsResponse>(); }\n}\n(GroupBillingItemsRequest as unknown)[immerable] = true;\n\n// @Route(\"/customer/prepaidStock\")\nexport class PrePaidStockRequest implements IReturn<ResponseBase<StockResponse>>, ICustomerId\n{\n    public customerId: number|null;\n\n    public constructor(init?: Partial<PrePaidStockRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PrePaidStockRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<StockResponse>(); }\n}\n(PrePaidStockRequest as unknown)[immerable] = true;\n\n// @Route(\"/billing/item/prepaid\")\nexport class PrePaidItemRequest implements IReturn<ResponseBase<PrePaidItems>>, ICustomerId\n{\n    public customerId: number|null;\n    public billingItemId: number|null;\n    public skip: number|null;\n    public take: number|null;\n    public sort: QueryField[]|null;\n\n    public constructor(init?: Partial<PrePaidItemRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PrePaidItemRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<PrePaidItems>(); }\n}\n(PrePaidItemRequest as unknown)[immerable] = true;\n\n// @Route(\"/billing/item/prepaid/add\")\nexport class PrePaidItemAddRequest implements IReturn<ResponseBase<boolean>>, ICustomerId\n{\n    public accountId: number|null;\n    public clientId: number|null;\n    public stockId: number|null;\n    public customerId: number|null;\n    public billingItemId: number|null;\n    public quantity: number|null;\n    public classTypeId: number|null;\n    public expiryDate: string|null;\n    public type: PackageBundleItemType|null;\n\n    public constructor(init?: Partial<PrePaidItemAddRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PrePaidItemAddRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(PrePaidItemAddRequest as unknown)[immerable] = true;\n\n// @Route(\"/billing/item/prepaid/action\")\nexport class PrePaidItemDeleteRequest implements IReturn<ResponseBase<boolean>>\n{\n    public prePaidId: number|null;\n    public markAsRemoved: boolean|null;\n    public incrementUsage: boolean|null;\n    public updateQuantityAndUsage: boolean|null;\n    public quantity: number|null;\n    public used: number|null;\n\n    public constructor(init?: Partial<PrePaidItemDeleteRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PrePaidItemDeleteRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(PrePaidItemDeleteRequest as unknown)[immerable] = true;\n\n// @Route(\"/billing/item/prepaid/edit\")\nexport class PrePaidItemsExpiryDateRequest implements IReturn<ResponseBase<boolean>>\n{\n    public billingItemId: number|null;\n    public expiryDate: string|null;\n\n    public constructor(init?: Partial<PrePaidItemsExpiryDateRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PrePaidItemsExpiryDateRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(PrePaidItemsExpiryDateRequest as unknown)[immerable] = true;\n\n// @Route(\"/invoices/{InvoiceId}/payments\")\nexport class InvoicePaymentsRequest implements IReturn<ResponseBase<InvoicePaymentsResponse>>, IInvoiceId, ISecurityId\n{\n    public invoiceId: number|null;\n    public skip: number|null;\n    public take: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<InvoicePaymentsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'InvoicePaymentsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<InvoicePaymentsResponse>(); }\n}\n(InvoicePaymentsRequest as unknown)[immerable] = true;\n\n// @Route(\"/customers/contactsearch/\", \"POST\")\n// @Route(\"/customers/contactsearch/{CustomerId}\", \"POST\")\nexport class ContactQuickSearchRequest implements IReturn<ResponseBase<MedicalContactResponse>>, ILocationId\n{\n    public skip: number|null;\n    public take: number|null;\n    public term: string|null;\n    public customerId: number|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<ContactQuickSearchRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ContactQuickSearchRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<MedicalContactResponse>(); }\n}\n(ContactQuickSearchRequest as unknown)[immerable] = true;\n\n// @Route(\"/click/contact-search\", \"POST\")\n// @Route(\"/click/contact-search/{CustomerId}\", \"POST\")\nexport class ClickContactQuickSearchRequest implements IReturn<ResponseBase<ClickContactSearchResult>>, ILocationIds, IFilterServiceTypeManually\n{\n    public filterId: number|null;\n    public term: string|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<ClickContactQuickSearchRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClickContactQuickSearchRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ClickContactSearchResult>(); }\n}\n(ClickContactQuickSearchRequest as unknown)[immerable] = true;\n\n// @Route(\"/customers/contactsearch/patient\", \"POST\")\n// @Route(\"/customers/contactsearch/patient/{CustomerId}\", \"POST\")\nexport class ContactPatientQuickSearchRequest implements IReturn<ResponseBase<GeneralCustomerResponse>>, ICustomerId, ILocationIds, IFilterServiceTypeManually\n{\n    public startIdx: number|null;\n    public endIdx: number|null;\n    public realOnly: boolean|null;\n    public includeDeceased: boolean|null;\n    public term: string|null;\n    public customerId: number|null;\n    public sort: QueryField[]|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<ContactPatientQuickSearchRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ContactPatientQuickSearchRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<GeneralCustomerResponse>(); }\n}\n(ContactPatientQuickSearchRequest as unknown)[immerable] = true;\n\n// @Route(\"/customers/export/csv\")\nexport class CustomerAdvancedSearchExportCSVRequest implements IReturn<string>, ILocationIds\n{\n    public customHeaders: CustomerCSVHeaderOverrides|null;\n    public query: CustomerAdvancedSearchRequest|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<CustomerAdvancedSearchExportCSVRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CustomerAdvancedSearchExportCSVRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return ''; }\n}\n(CustomerAdvancedSearchExportCSVRequest as unknown)[immerable] = true;\n\n// @Route(\"/customers/count\")\nexport class PatientCountRequest implements IReturn<ResponseBase<number>>\n{\n\n    public constructor(init?: Partial<PatientCountRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PatientCountRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<number>(); }\n}\n(PatientCountRequest as unknown)[immerable] = true;\n\n// @Route(\"/medicalContacts/count\")\nexport class MedicalContactCountRequest implements IReturn<ResponseBase<number>>\n{\n\n    public constructor(init?: Partial<MedicalContactCountRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'MedicalContactCountRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<number>(); }\n}\n(MedicalContactCountRequest as unknown)[immerable] = true;\n\n// @Route(\"/customers/searchProvisionalPatients\")\nexport class ProvisionalPatientsRequest implements IReturn<ResponseBase<GeneralCustomerResponse>>, ILocationIds\n{\n    public locationIds: number[]|null;\n    public status: number|null;\n    public provisional: boolean|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<ProvisionalPatientsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ProvisionalPatientsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<GeneralCustomerResponse>(); }\n}\n(ProvisionalPatientsRequest as unknown)[immerable] = true;\n\n// @Route(\"/customers/potentialProvisionalMatches/{CustomerId}\")\nexport class PotentialProvisionalMatchesRequest implements IReturn<ResponseBase<GeneralCustomerResponse>>, ICustomerId, ILocationIds, IFilterServiceTypeManually\n{\n    public customerId: number|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<PotentialProvisionalMatchesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PotentialProvisionalMatchesRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<GeneralCustomerResponse>(); }\n}\n(PotentialProvisionalMatchesRequest as unknown)[immerable] = true;\n\nexport class GetPotentialMatchesRequest implements IReturn<ResponseBase<GeneralCustomerResponse>>, ILocationIds, IFilterServiceTypeManually\n{\n    public title: string|null;\n    public forename: string|null;\n    public surname: string|null;\n    public postCode: string|null;\n    public email: string|null;\n    public mobileTelephone: string|null;\n    public dateOfBirth: string|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<GetPotentialMatchesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetPotentialMatchesRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<GeneralCustomerResponse>(); }\n}\n(GetPotentialMatchesRequest as unknown)[immerable] = true;\n\n// @Route(\"/contacts/search\")\nexport class MedicalContactsAdvancedSearchRequest extends BaseAdvancedSearchRequest implements IReturn<ResponseBase<MedicalContactResponse>>\n{\n    public surname: string|null;\n    public status: boolean|null;\n    public address: string|null;\n    public forename: string|null;\n    public locationId: number|null;\n    public locationMulti: number[]|null;\n    public businessName: string|null;\n\n    public constructor(init?: Partial<MedicalContactsAdvancedSearchRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'MedicalContactsAdvancedSearchRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<MedicalContactResponse>(); }\n}\n(MedicalContactsAdvancedSearchRequest as unknown)[immerable] = true;\n\n// @Route(\"/contacts/export/csv\")\nexport class MedicalContactsAdvancedSearchExportCSVRequest implements IReturn<string>, ILocationIds\n{\n    public customHeaders: MedicalContactsCSVHeaderOverrides|null;\n    public query: MedicalContactsAdvancedSearchRequest|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<MedicalContactsAdvancedSearchExportCSVRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'MedicalContactsAdvancedSearchExportCSVRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return ''; }\n}\n(MedicalContactsAdvancedSearchExportCSVRequest as unknown)[immerable] = true;\n\nexport class TreatmentAuthCountRequest implements IReturn<number>\n{\n\n    public constructor(init?: Partial<TreatmentAuthCountRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'TreatmentAuthCountRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return 0; }\n}\n(TreatmentAuthCountRequest as unknown)[immerable] = true;\n\n// @Route(\"/patient/{CustomerId}/authCodes\")\nexport class TreatmentAuthRequest implements IReturn<ResponseBase<TreatmentAuthResponse>>, ICustomerId, IDepartmentIds\n{\n    public sort: QueryField[]|null;\n    public skip: number|null;\n    public take: number|null;\n    public customerId: number|null;\n    public departmentIds: number[]|null;\n\n    public constructor(init?: Partial<TreatmentAuthRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'TreatmentAuthRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<TreatmentAuthResponse>(); }\n}\n(TreatmentAuthRequest as unknown)[immerable] = true;\n\nexport class ClickCustomerNotesCheckRequest implements IReturn<ResponseBase<ClickCustomerNotesCheckResponse>>\n{\n    public customerId: number|null;\n\n    public constructor(init?: Partial<ClickCustomerNotesCheckRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClickCustomerNotesCheckRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ClickCustomerNotesCheckResponse>(); }\n}\n(ClickCustomerNotesCheckRequest as unknown)[immerable] = true;\n\nexport class ClickCustomerCreateCaseRequest implements IReturn<ResponseBase<ClickCustomerNotesCheckResponse>>\n{\n    public customerId: number|null;\n\n    public constructor(init?: Partial<ClickCustomerCreateCaseRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClickCustomerCreateCaseRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ClickCustomerNotesCheckResponse>(); }\n}\n(ClickCustomerCreateCaseRequest as unknown)[immerable] = true;\n\n// @Route(\"/appointment/cases/{CustomerId}\")\nexport class AppointmentCaseRequest implements IReturn<ResponseBase<AppointmentCaseResponse>>, ILocationIds, IServiceTypeId\n{\n    public customerId: number|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n    public serviceTypeId: number|null;\n\n    public constructor(init?: Partial<AppointmentCaseRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AppointmentCaseRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<AppointmentCaseResponse>(); }\n}\n(AppointmentCaseRequest as unknown)[immerable] = true;\n\n// @Route(\"/appointment/auths\")\nexport class AppointmentAuthCode implements IReturn<ResponseBase<TreatmentAuthResponse>>, ICustomerId, IServiceTypeId\n{\n    public customerId: number|null;\n    public existingAuthId: number|null;\n    public serviceTypeId: number|null;\n\n    public constructor(init?: Partial<AppointmentAuthCode>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AppointmentAuthCode'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<TreatmentAuthResponse>(); }\n}\n(AppointmentAuthCode as unknown)[immerable] = true;\n\nexport class TreatmentAuthByIdRequest implements IReturn<ResponseBase<T>>\n{\n    public authId: number|null;\n\n    public constructor(init?: Partial<TreatmentAuthByIdRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'TreatmentAuthByIdRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(TreatmentAuthByIdRequest as unknown)[immerable] = true;\n\n// @Route(\"/authcode/{AuthId}\")\n// @Route(\"/authcode\")\nexport class TreatmentAuthIdRequest implements IReturn<ResponseBase<TreatmentAuthResponse>>, ILocationId, IFilterServiceTypeManually, IGet\n{\n    public skip: number|null;\n    public take: number|null;\n    public authId: number|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<TreatmentAuthIdRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'TreatmentAuthIdRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<TreatmentAuthResponse>(); }\n}\n(TreatmentAuthIdRequest as unknown)[immerable] = true;\n\n// @Route(\"/authcode/delete\")\n// @Route(\"/authcode/delete/{AuthId}\")\nexport class TreatmentAuthDeleteRequest implements IReturn<ResponseBase<boolean>>, ILocationId, IFilterServiceTypeManually\n{\n    public authId: number|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<TreatmentAuthDeleteRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'TreatmentAuthDeleteRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(TreatmentAuthDeleteRequest as unknown)[immerable] = true;\n\n// @Route(\"/authcode/save/\")\nexport class TreatmentAuthSave implements IReturn<ResponseBase<TreatmentAuthResponse>>, ICustomerId, IFilterServiceTypeManually\n{\n    public id: number|null;\n    public authCode: string|null;\n    public expired: string|null;\n    public maxTreatments: number|null;\n    public maxValue: number|null;\n    public expiryDate: string|null;\n    public usedTreatments: number|null;\n    public usedValue: number|null;\n    public usedFor: string|null;\n    public startDate: string|null;\n    public groupId: number|null;\n    public caseId: number|null;\n    public customerId: number|null;\n    public serviceTypeId: number|null;\n    public contactId: number|null;\n\n    public constructor(init?: Partial<TreatmentAuthSave>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'TreatmentAuthSave'; }\n    public getMethod() { return 'PUT'; }\n    public createResponse() { return new ResponseBase<TreatmentAuthResponse>(); }\n}\n(TreatmentAuthSave as unknown)[immerable] = true;\n\n// @Route(\"/customer/sar/status/{customerId}\")\nexport class SarStatusRequest implements IReturn<ResponseBase<string>>, ICustomerId\n{\n    public customerId: number|null;\n\n    public constructor(init?: Partial<SarStatusRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SarStatusRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<string>(); }\n}\n(SarStatusRequest as unknown)[immerable] = true;\n\n// @Route(\"/customer/sar/delete\")\nexport class SarDeleteRequest implements IReturn<ResponseBase<boolean>>, ICustomerId\n{\n    public customerId: number|null;\n    public deleteFile: boolean|null;\n\n    public constructor(init?: Partial<SarDeleteRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SarDeleteRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(SarDeleteRequest as unknown)[immerable] = true;\n\n// @Route(\"/customer/sar/download/{customerId}\")\nexport class SarDownloadRequest implements IReturn<ResponseBase<Object>>, ICustomerId\n{\n    public customerId: number|null;\n\n    public constructor(init?: Partial<SarDownloadRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SarDownloadRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<Object>(); }\n}\n(SarDownloadRequest as unknown)[immerable] = true;\n\n// @Route(\"/customerservice/all\")\nexport class CustomerServiceRequest implements IReturn<ResponseBase<CustomerServiceResponse>>\n{\n\n    public constructor(init?: Partial<CustomerServiceRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CustomerServiceRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<CustomerServiceResponse>(); }\n}\n(CustomerServiceRequest as unknown)[immerable] = true;\n\n// @Route(\"/customerservice/save\")\nexport class CustomerServiceUpdate implements IReturn<ResponseBase<CustomerServiceResponse>>\n{\n    public id: number|null;\n    public customerSecurityLevel: number|null;\n    public customerSecurityKeyWord: string|null;\n\n    public constructor(init?: Partial<CustomerServiceUpdate>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CustomerServiceUpdate'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<CustomerServiceResponse>(); }\n}\n(CustomerServiceUpdate as unknown)[immerable] = true;\n\n// @Route(\"/patient/log\")\n// @Route(\"/patient/log/{LogId}\")\nexport class PatientLogRequest implements IReturn<ResponseBase<PatientLogResponse>>, ILocationId, IFilterServiceTypeManually\n{\n    public skip: number|null;\n    public take: number|null;\n    public logId: number|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<PatientLogRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PatientLogRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<PatientLogResponse>(); }\n}\n(PatientLogRequest as unknown)[immerable] = true;\n\n// @Route(\"/patient/log/delete\")\n// @Route(\"/patient/log/delete/{LogId}\")\nexport class PatientLogDeleteRequest implements IReturn<ResponseBase<Patientlog>>, ILocationId, IFilterServiceTypeManually\n{\n    public logId: number|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<PatientLogDeleteRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PatientLogDeleteRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<Patientlog>(); }\n}\n(PatientLogDeleteRequest as unknown)[immerable] = true;\n\n// @Route(\"/patient/infoLog/{CustomerId}\")\nexport class PatientInfoLogRequest implements IReturn<ResponseBase<PatientInfoLogResponse>>, ICustomerId, IDepartmentIds\n{\n    public skip: number|null;\n    public take: number|null;\n    public customerId: number|null;\n    public departmentIds: number[]|null;\n\n    public constructor(init?: Partial<PatientInfoLogRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PatientInfoLogRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<PatientInfoLogResponse>(); }\n}\n(PatientInfoLogRequest as unknown)[immerable] = true;\n\n// @Route(\"/patient/infoLogsave/\")\nexport class PatientLogSave implements IReturn<ResponseBase<PatientLogResponse>>, ICustomerId, IFilterServiceTypeManually\n{\n    public id: number|null;\n    public customerId: number|null;\n    public dateTime: string|null;\n    public entry: string|null;\n    public serviceTypeId: number|null;\n\n    public constructor(init?: Partial<PatientLogSave>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PatientLogSave'; }\n    public getMethod() { return 'PUT'; }\n    public createResponse() { return new ResponseBase<PatientLogResponse>(); }\n}\n(PatientLogSave as unknown)[immerable] = true;\n\n// @Route(\"/diary\")\nexport class DiaryRequest implements IReturn<DiaryDefaultDataForUserResponse>\n{\n\n    public constructor(init?: Partial<DiaryRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DiaryRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new DiaryDefaultDataForUserResponse(); }\n}\n(DiaryRequest as unknown)[immerable] = true;\n\nexport class DiaryListExportCSVRequest extends DiaryListBase implements IReturn<ResponseBase<string>>\n{\n\n    public constructor(init?: Partial<DiaryListExportCSVRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'DiaryListExportCSVRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<string>(); }\n}\n(DiaryListExportCSVRequest as unknown)[immerable] = true;\n\n// @Route(\"/diary/stats\")\nexport class DiaryAppointmentStatsRequest implements IReturn<DiaryStatsResponse>, ILocationId, IHasAutoRefresh\n{\n    public startDate: string|null;\n    public endDate: string|null;\n    public locationIds: number[]|null;\n    public practitionerIds: number[]|null;\n    public roomIds: number[]|null;\n    public locationId: number|null;\n    public autoRefresh: boolean|null;\n\n    public constructor(init?: Partial<DiaryAppointmentStatsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DiaryAppointmentStatsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new DiaryStatsResponse(); }\n}\n(DiaryAppointmentStatsRequest as unknown)[immerable] = true;\n\n// @Route(\"/diary/nonWorkingDays\")\nexport class DiaryHolidayRequest implements IReturn<NonWorkingDate[]>, ILocationId\n{\n    public startDate: string|null;\n    public endDate: string|null;\n    public locationIds: number[]|null;\n    public practitionerIds: number[]|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<DiaryHolidayRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DiaryHolidayRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new Array<NonWorkingDate>(); }\n}\n(DiaryHolidayRequest as unknown)[immerable] = true;\n\n// @Route(\"/diary/nonWorkingDays/all\")\nexport class DiaryAllHolidaysRequest implements IReturn<NonWorkingDateResponse[]>, ILocationId\n{\n    public locationIds: number[]|null;\n    public practitionerIds: number[]|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<DiaryAllHolidaysRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DiaryAllHolidaysRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new Array<NonWorkingDateResponse>(); }\n}\n(DiaryAllHolidaysRequest as unknown)[immerable] = true;\n\n// @Route(\"/diary/nonWorkingDays/save\")\nexport class DiaryAddHolidayRequest implements IReturn<NonWorkingDateResponse[]>, ILocationId\n{\n    public date: string|null;\n    public locationId: number|null;\n    public endDate: string|null;\n    public title: string|null;\n\n    public constructor(init?: Partial<DiaryAddHolidayRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DiaryAddHolidayRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new Array<NonWorkingDateResponse>(); }\n}\n(DiaryAddHolidayRequest as unknown)[immerable] = true;\n\n// @Route(\"/diary/nonWorkingDays/remove\")\nexport class DiaryRemoveHolidayRequest implements IReturn<NonWorkingDateResponse[]>, ILocationId\n{\n    public id: number|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<DiaryRemoveHolidayRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DiaryRemoveHolidayRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new Array<NonWorkingDateResponse>(); }\n}\n(DiaryRemoveHolidayRequest as unknown)[immerable] = true;\n\n// @Route(\"/diary/sessions\")\nexport class DiarySessionRequest implements IReturn<DiarySessionResponse[]>, ILocationId\n{\n    public startDate: string|null;\n    public endDate: string|null;\n    public locationIds: number[]|null;\n    public practitionerIds: number[]|null;\n    public roomIds: number[]|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<DiarySessionRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DiarySessionRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new Array<DiarySessionResponse>(); }\n}\n(DiarySessionRequest as unknown)[immerable] = true;\n\n// @Route(\"/diary/schedule\")\nexport class ScheduleRequest implements IReturn<ResponseBase<ScheduleResponse>>, ILocationIds, IHasAutoRefresh\n{\n    public date: string|null;\n    public isWeek: boolean|null;\n    public showWeekends: boolean|null;\n    public withoutSessions: boolean|null;\n    public location: number|null;\n    public mode: ResourceMode|null;\n    public locationIds: number[]|null;\n    public resourceIds: number[]|null;\n    public requestLocationIds: number[]|null;\n    public autoRefresh: boolean|null;\n\n    public constructor(init?: Partial<ScheduleRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ScheduleRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ScheduleResponse>(); }\n}\n(ScheduleRequest as unknown)[immerable] = true;\n\n// @Route(\"/diary/schedule\")\nexport class MonthlyScheduleRequest implements IReturn<ResponseBase<MonthlyScheduleResponse>>, ILocationIds, IHasAutoRefresh\n{\n    public date: string|null;\n    public location: number|null;\n    public mode: ResourceMode|null;\n    public locationIds: number[]|null;\n    public resourceIds: number[]|null;\n    public requestLocationIds: number[]|null;\n    public autoRefresh: boolean|null;\n    public showCancellations: boolean|null;\n\n    public constructor(init?: Partial<MonthlyScheduleRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'MonthlyScheduleRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<MonthlyScheduleResponse>(); }\n}\n(MonthlyScheduleRequest as unknown)[immerable] = true;\n\nexport class OccurrenceRequest implements IReturn<ResponseBase<T>>\n{\n    public batchNo: number|null;\n    public type: string|null;\n    public typeId: number|null;\n\n    public constructor(init?: Partial<OccurrenceRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OccurrenceRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(OccurrenceRequest as unknown)[immerable] = true;\n\n// @Route(\"/session/move\", \"POST\")\nexport class SessionMoveRequest\n{\n    public id: number|null;\n    public isSpecial: boolean|null;\n    public startDateTime: string|null;\n    public endDateTime: string|null;\n\n    public constructor(init?: Partial<SessionMoveRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SessionMoveRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(SessionMoveRequest as unknown)[immerable] = true;\n\n// @Route(\"/session/update\", \"POST\")\nexport class SessionUpdateRequest implements IReturn<ResponseBase<{ [index:string]: ScheduleSession[]; }>>\n{\n    public id: number|null;\n    public isSpecial: boolean|null;\n    public startDateTime: string|null;\n    public endDateTime: string|null;\n    public online: boolean|null;\n    public usedFor: string|null;\n    public colour: string|null;\n    public roomId: number|null;\n    public practitionerId: number|null;\n    public applyToAllSubsequent: boolean|null;\n    public locationId: number|null;\n    public multiUsedFor: string[]|null;\n    public isOnline: boolean|null;\n    public skillRestrictions: string[]|null;\n\n    public constructor(init?: Partial<SessionUpdateRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SessionUpdateRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<{ [index:string]: ScheduleSession[]; }>(); }\n}\n(SessionUpdateRequest as unknown)[immerable] = true;\n\n// @Route(\"/session/delete\", \"POST\")\nexport class SessionDeleteRequest implements IReturn<ResponseBase<{ [index:string]: ScheduleSession[]; }>>, ISecurityId\n{\n    public id: number|null;\n    public securityId: number|null;\n    public isSpecial: boolean|null;\n    public all: boolean|null;\n    public includePast: boolean|null;\n\n    public constructor(init?: Partial<SessionDeleteRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SessionDeleteRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<{ [index:string]: ScheduleSession[]; }>(); }\n}\n(SessionDeleteRequest as unknown)[immerable] = true;\n\n// @Route(\"/session/create\", \"POST\")\nexport class SessionCreateRequest implements IReturn<ResponseBase<{ [index:string]: ScheduleSession[]; }>>, ILocationId\n{\n    public yesToWarnings: boolean|null;\n    public excludeWarnings: boolean|null;\n    public startDateTime: string|null;\n    public endDateTime: string|null;\n    public locationId: number|null;\n    public practitionerId: number|null;\n    public duration: number|null;\n    public online: boolean|null;\n    public usedFor: string|null;\n    public roomId: number|null;\n    public colour: string|null;\n    public recurrenceInterval: RecurrenceType|null;\n    public customDuration: number|null;\n    public customFreq: number|null;\n    public customInterval: string|null;\n    public excludeNonWorkingDays: boolean|null;\n    public multiUsedFor: string[]|null;\n    public skillRestrictions: string[]|null;\n\n    public constructor(init?: Partial<SessionCreateRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SessionCreateRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<{ [index:string]: ScheduleSession[]; }>(); }\n}\n(SessionCreateRequest as unknown)[immerable] = true;\n\nexport class CalculateWorkingTimesRequest implements IReturn<CalculateWorkingTimesResponse>\n{\n    public locationId: number|null;\n\n    public constructor(init?: Partial<CalculateWorkingTimesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CalculateWorkingTimesRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new CalculateWorkingTimesResponse(); }\n}\n(CalculateWorkingTimesRequest as unknown)[immerable] = true;\n\n// @Route(\"/patient/{CustomerId}/account\")\nexport class PatientAccountRequest implements IReturn<Account>, ICustomerId\n{\n    public customerId: number|null;\n\n    public constructor(init?: Partial<PatientAccountRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PatientAccountRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new Account(); }\n}\n(PatientAccountRequest as unknown)[immerable] = true;\n\n// @Route(\"/account/{AccountId}/payments\")\nexport class AccountPaymentsRequest implements IReturn<ResponseBase<PaymentsResponse>>, ILocationId\n{\n    public skip: number|null;\n    public take: number|null;\n    public accountId: number|null;\n    public invoiceId: number|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<AccountPaymentsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AccountPaymentsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<PaymentsResponse>(); }\n}\n(AccountPaymentsRequest as unknown)[immerable] = true;\n\n// @Route(\"/account/{AccountId}/billedItems\")\nexport class AccountBilledItemsRequest implements IReturn<ResponseBase<BillingItemWithNamesAuth>>, ILocationId\n{\n    public take: number|null;\n    public skip: number|null;\n    public accountId: number|null;\n    public invoiceId: number|null;\n    public locationId: number|null;\n    public auditId: string|null;\n\n    public constructor(init?: Partial<AccountBilledItemsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AccountBilledItemsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<BillingItemWithNamesAuth>(); }\n}\n(AccountBilledItemsRequest as unknown)[immerable] = true;\n\n// @Route(\"/finances/export/preview/charges\")\nexport class AccountsExportChargesPreviewRequest implements IReturn<ResponseBase<AccountsExportChargesPreviewResponse>>, ILocationId\n{\n    public locationId: number|null;\n    public date: DateRange|null;\n\n    public constructor(init?: Partial<AccountsExportChargesPreviewRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AccountsExportChargesPreviewRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<AccountsExportChargesPreviewResponse>(); }\n}\n(AccountsExportChargesPreviewRequest as unknown)[immerable] = true;\n\n// @Route(\"/finances/export/preview/payments\")\nexport class AccountsExportPaymentsPreviewRequest implements IReturn<ResponseBase<AccountsExportPaymentsPreviewResponse>>, ILocationId\n{\n    public locationId: number|null;\n    public date: DateRange|null;\n\n    public constructor(init?: Partial<AccountsExportPaymentsPreviewRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AccountsExportPaymentsPreviewRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<AccountsExportPaymentsPreviewResponse>(); }\n}\n(AccountsExportPaymentsPreviewRequest as unknown)[immerable] = true;\n\n// @Route(\"/finances/export/charges\")\nexport class AccountsExportChargesRequest implements IReturn<AccountExportResponse>, ILocationId\n{\n    public locationId: number|null;\n    public date: DateRange|null;\n\n    public constructor(init?: Partial<AccountsExportChargesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AccountsExportChargesRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new AccountExportResponse(); }\n}\n(AccountsExportChargesRequest as unknown)[immerable] = true;\n\n// @Route(\"/finances/export/payments\")\nexport class AccountsExportPaymentsRequest implements IReturn<AccountExportResponse>, ILocationId\n{\n    public locationId: number|null;\n    public date: DateRange|null;\n\n    public constructor(init?: Partial<AccountsExportPaymentsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AccountsExportPaymentsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new AccountExportResponse(); }\n}\n(AccountsExportPaymentsRequest as unknown)[immerable] = true;\n\n// @Route(\"/finances/export/charges/{Id}/{LocationId}/{Mode}\")\nexport class AccountsChargesExportRequest implements IReturn<Object>, ILocationId\n{\n    public id: number|null;\n    public mode: string|null;\n    public locationId: number|null;\n    public exportDate: string|null;\n\n    public constructor(init?: Partial<AccountsChargesExportRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AccountsChargesExportRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new Object(); }\n}\n(AccountsChargesExportRequest as unknown)[immerable] = true;\n\n// @Route(\"/finances/export/payments/{Id}/{LocationId}/{Mode}\")\nexport class AccountsPaymentsExportRequest implements IReturn<Object>, ILocationId\n{\n    public id: number|null;\n    public mode: string|null;\n    public locationId: number|null;\n    public exportDate: string|null;\n\n    public constructor(init?: Partial<AccountsPaymentsExportRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AccountsPaymentsExportRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new Object(); }\n}\n(AccountsPaymentsExportRequest as unknown)[immerable] = true;\n\nexport class AccountExportHistoryRequest implements IReturn<ResponseBase<AccountExportHistoryResponse>>\n{\n    public fromDate: string|null;\n    public toDate: string|null;\n    public type: string|null;\n\n    public constructor(init?: Partial<AccountExportHistoryRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AccountExportHistoryRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<AccountExportHistoryResponse>(); }\n}\n(AccountExportHistoryRequest as unknown)[immerable] = true;\n\n// @Route(\"/billingItem/{Id}\", \"GET\")\nexport class BillingItemRequest implements IReturn<ResponseBase<BillingItem>>, ILocationIds\n{\n    public id: number|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<BillingItemRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'BillingItemRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<BillingItem>(); }\n}\n(BillingItemRequest as unknown)[immerable] = true;\n\n// @Route(\"/billingItem\", \"POST\")\n// @Route(\"/billingItem/{Id}\", \"PUT\")\nexport class BillingItemSaveRequest implements IReturn<ResponseBase<BillingItem>>, ILocationId\n{\n    public accountId: number|null;\n    public customerId: number|null;\n    public practitionerId: number|null;\n    public appointmentId: number|null;\n    public locationId: number|null;\n    public invoiceId: number|null;\n    public accountName: string|null;\n    public stockId: number|null;\n    public date: string|null;\n    public description: string|null;\n    public total: number|null;\n    public isPaid: boolean|null;\n    public isMigrated: boolean|null;\n    public totalExVat: number|null;\n    public quantity: number|null;\n    public price: number|null;\n    public vatRate: number|null;\n    public totalVat: number|null;\n    public id: number|null;\n    public category: string|null;\n    public ledgerCode: string|null;\n    public accountsExportId: number|null;\n\n    public constructor(init?: Partial<BillingItemSaveRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'BillingItemSaveRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<BillingItem>(); }\n}\n(BillingItemSaveRequest as unknown)[immerable] = true;\n\n// @Route(\"/charges/count\", \"GET\")\nexport class ChargeCountRequest implements IReturn<number>, ILocationIds\n{\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<ChargeCountRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ChargeCountRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return 0; }\n}\n(ChargeCountRequest as unknown)[immerable] = true;\n\n// @Route(\"/charges/search\")\nexport class ChargesSearchRequest extends BaseAdvancedSearchRequest implements IReturn<ResponseBase<GroupBillingItemsResponse>>, IChargeSearchRequest\n{\n    public invoicePeriod: InvoicePeriod|null;\n    public mode: ChargeSearchMode|null;\n    public groupIds: number[]|null;\n    public invoicedStatus: InvoicedStatusToInclude|null;\n    public date: DateRange|null;\n    public addressTo: string|null;\n    public description: string|null;\n    public amount: CurrencyRange|null;\n    public locked: boolean|null;\n    public displayDiscountCodes: boolean|null;\n\n    public constructor(init?: Partial<ChargesSearchRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'ChargesSearchRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<GroupBillingItemsResponse>(); }\n}\n(ChargesSearchRequest as unknown)[immerable] = true;\n\n// @Route(\"/finances/invoices/prepare-all\", \"POST\")\nexport class InvoiceAllGroupingRequest implements IReturn<ResponseBase<InvoiceGroupingResponse>>, ILocationId, ILocationIds\n{\n    public searchData: ChargesSearchRequest|null;\n    public locationId: number|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<InvoiceAllGroupingRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'InvoiceAllGroupingRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<InvoiceGroupingResponse>(); }\n}\n(InvoiceAllGroupingRequest as unknown)[immerable] = true;\n\n// @Route(\"/charges/search/ids\")\nexport class ChargeIdsSearchRequest implements IReturn<number[]>, IChargeSearchRequest\n{\n    public sort: QueryField[]|null;\n    public invoicePeriod: InvoicePeriod|null;\n    public mode: ChargeSearchMode|null;\n    public invoicedStatus: InvoicedStatusToInclude|null;\n    public groupIds: number[]|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n    public date: DateRange|null;\n    public addressTo: string|null;\n    public description: string|null;\n    public amount: CurrencyRange|null;\n    public term: string|null;\n    public locked: boolean|null;\n    public displayDiscountCodes: boolean|null;\n\n    public constructor(init?: Partial<ChargeIdsSearchRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ChargeIdsSearchRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new Array<number>(); }\n}\n(ChargeIdsSearchRequest as unknown)[immerable] = true;\n\n// @Route(\"/finances/invoices/prepare\", \"POST\")\nexport class InvoiceGroupingRequest implements IReturn<ResponseBase<InvoiceGroupingResponse>>, ILocationId\n{\n    public chargeIds: number[]|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<InvoiceGroupingRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'InvoiceGroupingRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<InvoiceGroupingResponse>(); }\n}\n(InvoiceGroupingRequest as unknown)[immerable] = true;\n\n// @Route(\"/finances/invoices/generate\", \"POST\")\nexport class InvoiceWizardRequest implements IReturn<ResponseBase<InvoiceWizardResponse>>, ILocationId\n{\n    public chargeGroups: ChargeGroup[]|null;\n    public date: string|null;\n    public batch: InvoiceBatch|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<InvoiceWizardRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'InvoiceWizardRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<InvoiceWizardResponse>(); }\n}\n(InvoiceWizardRequest as unknown)[immerable] = true;\n\n// @Route(\"/debt/search\")\nexport class DebtAdvancedSearchRequest extends BaseAdvancedSearchRequest implements IReturn<ResponseBase<DebtsResponse>>\n{\n    public reference: string|null;\n    public status: string|null;\n    public account: string|null;\n    public accountName: string|null;\n    public debtStatus: string[]|null;\n    public invoiceStatus: string|null;\n\n    public constructor(init?: Partial<DebtAdvancedSearchRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'DebtAdvancedSearchRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<DebtsResponse>(); }\n}\n(DebtAdvancedSearchRequest as unknown)[immerable] = true;\n\n// @Route(\"/expenditure\")\n// @Route(\"/expenditure/{Id}\")\nexport class ExpenditureRequest implements IReturn<ResponseBase<ExpenditureResponse>>, ISecurityId\n{\n    public id: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<ExpenditureRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ExpenditureRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ExpenditureResponse>(); }\n}\n(ExpenditureRequest as unknown)[immerable] = true;\n\n// @Route(\"/expenditures/count\")\nexport class ExpenditureCountRequest implements IReturn<number>\n{\n\n    public constructor(init?: Partial<ExpenditureCountRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ExpenditureCountRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return 0; }\n}\n(ExpenditureCountRequest as unknown)[immerable] = true;\n\n// @Route(\"/expenditure/search\")\nexport class ExpenditureAdvancedSearchRequest extends BaseAdvancedSearchRequest implements IReturn<ResponseBase<ExpenditureResponse>>\n{\n    public category: string|null;\n    public date: DateRange|null;\n\n    public constructor(init?: Partial<ExpenditureAdvancedSearchRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'ExpenditureAdvancedSearchRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ExpenditureResponse>(); }\n}\n(ExpenditureAdvancedSearchRequest as unknown)[immerable] = true;\n\n// @Route(\"/expenditure/save\")\nexport class ExpenditureSaveRequest implements IReturn<ResponseBase<ExpenditureResponse>>, ILocationId\n{\n    public id: number|null;\n    public date: string|null;\n    public description: string|null;\n    public reference: string|null;\n    public amountExVAT: number|null;\n    public vatRate: number|null;\n    public vatAmount: number|null;\n    public total: number|null;\n    public category: string|null;\n    public supplierId: number|null;\n    public name: string|null;\n    public locationId: number|null;\n    public otherPaymentMethod: string|null;\n    public chequeNumber: string|null;\n    public cardType: string|null;\n    public recur: RecurrenceType|null;\n    public recurFor: number|null;\n\n    public constructor(init?: Partial<ExpenditureSaveRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ExpenditureSaveRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ExpenditureResponse>(); }\n}\n(ExpenditureSaveRequest as unknown)[immerable] = true;\n\n// @Route(\"/expenditure/delete/{Id}\")\n// @Route(\"/expenditure/delete\")\nexport class ExpenditureDeleteRequest implements IReturn<ResponseBase<boolean>>, ISecurityId\n{\n    public id: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<ExpenditureDeleteRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ExpenditureDeleteRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(ExpenditureDeleteRequest as unknown)[immerable] = true;\n\n// @Route(\"/invoice/{id}\", \"GET\")\nexport class InvoicesRequest implements IReturn<ResponseBase<InvoicesResponse>>, ISecurityId\n{\n    public id: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<InvoicesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'InvoicesRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<InvoicesResponse>(); }\n}\n(InvoicesRequest as unknown)[immerable] = true;\n\n// @Route(\"/invoice\", \"POST\")\n// @Route(\"/invoice/{id}\", \"PUT\")\nexport class InvoiceSaveRequest implements IReturn<ResponseBase<InvoicesResponse>>, ISecurityId\n{\n    public id: number|null;\n    public status: string|null;\n    public reference: string|null;\n    public date: string|null;\n    public dueDate: string|null;\n    public fullyPaidDate: string|null;\n    public grandTotal: number|null;\n    public amountPaid: number|null;\n    public customerId: number|null;\n    public locationId: number|null;\n    public accountId: number|null;\n    public addressTo: string|null;\n    public addressLine1: string|null;\n    public addressLine2: string|null;\n    public addressLine3: string|null;\n    public addressLine4: string|null;\n    public addressLine5: string|null;\n    public postCode: string|null;\n    public reminder: string|null;\n    public secondReminder: string|null;\n    public totalExcludingVat: number|null;\n    public vatAmount: number|null;\n    public batchId: number|null;\n    public notes: string|null;\n    public accountType: string|null;\n    public accountTypeId: number|null;\n    public securityId: number|null;\n    public purchaseOrderNumber: string|null;\n    public meta: { [index:string]: Object; }|null;\n    public medicalContactId: number|null;\n    public referralDate: string|null;\n\n    public constructor(init?: Partial<InvoiceSaveRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'InvoiceSaveRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<InvoicesResponse>(); }\n}\n(InvoiceSaveRequest as unknown)[immerable] = true;\n\n// @Route(\"/invoice/{id}/acknowledge\", \"POST\")\nexport class ProntoInvoiceAcknowledgeRequest implements IReturn<ResponseBase<T>>, ISecurityId\n{\n    public id: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<ProntoInvoiceAcknowledgeRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ProntoInvoiceAcknowledgeRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(ProntoInvoiceAcknowledgeRequest as unknown)[immerable] = true;\n\nexport class ProntoInvoiceResubmitRequest implements IReturn<ResponseBase<T>>, ISecurityId\n{\n    public id: number|null;\n    public templateId: string|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<ProntoInvoiceResubmitRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ProntoInvoiceResubmitRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(ProntoInvoiceResubmitRequest as unknown)[immerable] = true;\n\nexport class ProntoQueriedInvoiceEditRequest implements IReturn<ResponseBase<T>>, ISecurityId\n{\n    public id: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<ProntoQueriedInvoiceEditRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ProntoQueriedInvoiceEditRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(ProntoQueriedInvoiceEditRequest as unknown)[immerable] = true;\n\n// @Route(\"/invoices/count\")\nexport class InvoiceCountRequest implements IReturn<number>\n{\n\n    public constructor(init?: Partial<InvoiceCountRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'InvoiceCountRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return 0; }\n}\n(InvoiceCountRequest as unknown)[immerable] = true;\n\n// @Route(\"/invoice/delete/{Id}\", \"DELETE\")\nexport class InvoiceDeleteRequest implements IReturn<boolean>, ILocationId, ISecurityId\n{\n    public id: number|null;\n    public locationId: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<InvoiceDeleteRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'InvoiceDeleteRequest'; }\n    public getMethod() { return 'DELETE'; }\n    public createResponse() { return false; }\n}\n(InvoiceDeleteRequest as unknown)[immerable] = true;\n\n// @Route(\"/invoice/{id}/change\", \"POST\")\nexport class InvoiceChangeRequest implements IReturn<ResponseBase<boolean>>, ISecurityId\n{\n    public id: number|null;\n    public type: string|null;\n    public changeToId: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<InvoiceChangeRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'InvoiceChangeRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(InvoiceChangeRequest as unknown)[immerable] = true;\n\n// @Route(\"/invoices/payments/{id}\")\nexport class InvoicePaymentRequest implements IReturn<ResponseBase<InvoicePaymentsResponse>>, ILocationId\n{\n    public id: number|null;\n    public amount: number|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<InvoicePaymentRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'InvoicePaymentRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<InvoicePaymentsResponse>(); }\n}\n(InvoicePaymentRequest as unknown)[immerable] = true;\n\n// @Route(\"/invoice/{InvoiceId}/usePayment\", \"POST\")\nexport class InvoiceUsePaymentRequest implements IReturn<ResponseBase<InvoicePaymentsResponse>>, IInvoiceId, ILocationId\n{\n    public invoiceId: number|null;\n    public paymentId: number|null;\n    public amount: number|null;\n    public locationId: number|null;\n    public emailReceipt: boolean|null;\n    public receiptTemplate: string|null;\n    public customerId: number|null;\n    public forceApply: boolean|null;\n    public isPaymentCreatedFromInvoice: boolean|null;\n\n    public constructor(init?: Partial<InvoiceUsePaymentRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'InvoiceUsePaymentRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<InvoicePaymentsResponse>(); }\n}\n(InvoiceUsePaymentRequest as unknown)[immerable] = true;\n\n// @Route(\"/invoice/{InvoiceId}/useCharge\")\nexport class InvoiceUseBillingItemRequest implements IReturn<ResponseBase<boolean>>, IInvoiceId, ILocationId\n{\n    public id: number|null;\n    public invoiceId: number|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<InvoiceUseBillingItemRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'InvoiceUseBillingItemRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(InvoiceUseBillingItemRequest as unknown)[immerable] = true;\n\n// @Route(\"/invoice/{InvoiceId}/removeReconcilitation/{Id}\")\nexport class InvoiceRemoveReconciliationRequest implements IReturn<ResponseBase<boolean>>, IInvoiceId, ILocationId\n{\n    public id: number|null;\n    public invoiceId: number|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<InvoiceRemoveReconciliationRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'InvoiceRemoveReconciliationRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(InvoiceRemoveReconciliationRequest as unknown)[immerable] = true;\n\n// @Route(\"/invoice/{InvoiceId}/removeCharge/{Id}\")\nexport class InvoiceRemoveChargeRequest implements IReturn<ResponseBase<boolean>>, IInvoiceId, ISecurityId\n{\n    public id: number|null;\n    public invoiceId: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<InvoiceRemoveChargeRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'InvoiceRemoveChargeRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(InvoiceRemoveChargeRequest as unknown)[immerable] = true;\n\n// @Route(\"/invoice/{InvoiceId}/deletePayment/{Id}\")\nexport class InvoiceDeletePaymentRequest implements IReturn<ResponseBase<boolean>>, IInvoiceId, ISecurityId\n{\n    public id: number|null;\n    public invoiceId: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<InvoiceDeletePaymentRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'InvoiceDeletePaymentRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(InvoiceDeletePaymentRequest as unknown)[immerable] = true;\n\n// @Route(\"/invoice/removeAllReconciliations/{InvoiceId}\")\nexport class InvoiceRemoveAllReconciliationsRequest implements IReturn<ResponseBase<boolean>>, IInvoiceId, ISecurityId\n{\n    public invoiceId: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<InvoiceRemoveAllReconciliationsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'InvoiceRemoveAllReconciliationsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(InvoiceRemoveAllReconciliationsRequest as unknown)[immerable] = true;\n\n// @Route(\"/invoice/{InvoiceId}/createCharges\")\nexport class CreateChargesRequest implements IReturn<ResponseBase<TransactionResponse>>, IInvoiceId, ILocationId\n{\n    public charges: Charge[]|null;\n    public invoiceId: number|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<CreateChargesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CreateChargesRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<TransactionResponse>(); }\n}\n(CreateChargesRequest as unknown)[immerable] = true;\n\n// @Route(\"/invoice/{InvoiceId}/createCharge\")\nexport class CreateChargeRequest implements IReturn<ResponseBase<TransactionResponse>>, IInvoiceId, ILocationId\n{\n    public charge: Charge|null;\n    public invoiceId: number|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<CreateChargeRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CreateChargeRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<TransactionResponse>(); }\n}\n(CreateChargeRequest as unknown)[immerable] = true;\n\n// @Route(\"/invoice/search\")\nexport class InvoicesAdvancedSearchRequest extends BaseAdvancedSearchRequest implements IReturn<ResponseBase<InvoicesResponse>>\n{\n    public reference: string|null;\n    public addressTo: string|null;\n    public date: DateRange|null;\n    public dueDate: DateRange|null;\n    public amount: CurrencyRange|null;\n    public locked: boolean|null;\n    public status: string|null;\n    public batchId: number|null;\n    public accountId: number|null;\n    public accountType: string|null;\n    public registrationNumber: string|null;\n\n    public constructor(init?: Partial<InvoicesAdvancedSearchRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'InvoicesAdvancedSearchRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<InvoicesResponse>(); }\n}\n(InvoicesAdvancedSearchRequest as unknown)[immerable] = true;\n\n// @Route(\"/invoice/batch\")\nexport class InvoiceBatchRequest implements IReturn<ResponseBase<InvoiceBatchResponse>>, ILocationId\n{\n    public id: number|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<InvoiceBatchRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'InvoiceBatchRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<InvoiceBatchResponse>(); }\n}\n(InvoiceBatchRequest as unknown)[immerable] = true;\n\n// @Route(\"/groups/account\")\n// @Route(\"/groups/account/{GroupId}\")\nexport class GroupsAccountSearchRequest implements IReturn<ResponseBase<GroupsAccountSearchResponse>>, ILocationId\n{\n    public skip: number|null;\n    public take: number|null;\n    public groupId: number|null;\n    public customerId: number|null;\n    public date: DateRange|null;\n    public sort: QueryField[]|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<GroupsAccountSearchRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GroupsAccountSearchRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<GroupsAccountSearchResponse>(); }\n}\n(GroupsAccountSearchRequest as unknown)[immerable] = true;\n\n// @Route(\"/groups/billing\")\n// @Route(\"/groups/billing/{GroupId}\")\nexport class GroupsBillingItemSearchRequest implements IReturn<ResponseBase<GroupBillingItemsResponse>>, ILocationId\n{\n    public skip: number|null;\n    public take: number|null;\n    public groupId: number|null;\n    public sort: QueryField[]|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<GroupsBillingItemSearchRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GroupsBillingItemSearchRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<GroupBillingItemsResponse>(); }\n}\n(GroupsBillingItemSearchRequest as unknown)[immerable] = true;\n\n// @Route(\"/invoice/{InvoiceId}/deleteBillingItem/{Id}\")\n// @Route(\"/billingItem/delete/{Id}\")\nexport class BillingItemDeleteRequest implements IReturn<ResponseBase<boolean>>, ILocationId, ISecurityId\n{\n    public id: number|null;\n    public locationId: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<BillingItemDeleteRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'BillingItemDeleteRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(BillingItemDeleteRequest as unknown)[immerable] = true;\n\n// @Route(\"/invoice/{InvoiceId}/transactions\")\nexport class TransactionRequest implements IReturn<ResponseBase<TransactionResponse>>, IInvoiceId, ISecurityId\n{\n    public invoiceId: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<TransactionRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'TransactionRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<TransactionResponse>(); }\n}\n(TransactionRequest as unknown)[immerable] = true;\n\n// @Route(\"/invoice/medipass/{InvoiceId}\")\nexport class InvoiceMedipassRequest implements IInvoiceId, ISecurityId\n{\n    public invoiceId: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<InvoiceMedipassRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'InvoiceMedipassRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(InvoiceMedipassRequest as unknown)[immerable] = true;\n\n// @Route(\"/invoice/transfer\")\nexport class TransferRequest implements IReturn<TransferResponse>, IInvoiceId, ISecurityId\n{\n    public invoice: Invoice|null;\n    public item: Charge|null;\n    public newInvoice: boolean|null;\n    public useCredit: boolean|null;\n    public invoiceId: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<TransferRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'TransferRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new TransferResponse(); }\n}\n(TransferRequest as unknown)[immerable] = true;\n\nexport class ClickInvoiceUseChargesRequest implements IReturn<ResponseBase<boolean>>, ILocationId\n{\n    public chargeIds: number[]|null;\n    public invoiceId: number|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<ClickInvoiceUseChargesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClickInvoiceUseChargesRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(ClickInvoiceUseChargesRequest as unknown)[immerable] = true;\n\n// @Route(\"/payment/{Id}\", \"GET\")\nexport class GetPaymentRequest implements IReturn<ResponseBase<PaymentDetailsResponse>>, ISecurityId\n{\n    public id: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<GetPaymentRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetPaymentRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<PaymentDetailsResponse>(); }\n}\n(GetPaymentRequest as unknown)[immerable] = true;\n\n// @Route(\"/payments/count\")\nexport class PaymentCountRequest implements IReturn<number>\n{\n\n    public constructor(init?: Partial<PaymentCountRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PaymentCountRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return 0; }\n}\n(PaymentCountRequest as unknown)[immerable] = true;\n\n// @Route(\"/payment\", \"POST\")\nexport class CreatePaymentRequest extends Income implements IReturn<number>\n{\n    public emailReceipt: boolean|null;\n    public receiptTemplate: string|null;\n    public isPaymentCreatedFromInvoice: boolean|null;\n\n    public constructor(init?: Partial<CreatePaymentRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'CreatePaymentRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return 0; }\n}\n(CreatePaymentRequest as unknown)[immerable] = true;\n\n// @Route(\"/payment/{Id}\", \"PUT\")\nexport class SavePaymentRequest extends Income implements IReturn<ResponseBase<PaymentResponse>>\n{\n\n    public constructor(init?: Partial<SavePaymentRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'SavePaymentRequest'; }\n    public getMethod() { return 'PUT'; }\n    public createResponse() { return new ResponseBase<PaymentResponse>(); }\n}\n(SavePaymentRequest as unknown)[immerable] = true;\n\n// @Route(\"/payment/{Id}\", \"DELETE\")\nexport class DeletePaymentRequest implements IReturn<boolean>, ISecurityId\n{\n    public id: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<DeletePaymentRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DeletePaymentRequest'; }\n    public getMethod() { return 'DELETE'; }\n    public createResponse() { return false; }\n}\n(DeletePaymentRequest as unknown)[immerable] = true;\n\nexport class VoidPaymentRequest implements IReturn<boolean>, ISecurityId\n{\n    public id: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<VoidPaymentRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'VoidPaymentRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return false; }\n}\n(VoidPaymentRequest as unknown)[immerable] = true;\n\n// @Route(\"/payment/{Id}/refund\", \"POST\")\nexport class PaymentRefundRequest extends Income implements IReturn<ResponseBase<PaymentResponse>>\n{\n    public paymentId: number|null;\n    public unreconcile: boolean|null;\n\n    public constructor(init?: Partial<PaymentRefundRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'PaymentRefundRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<PaymentResponse>(); }\n}\n(PaymentRefundRequest as unknown)[immerable] = true;\n\n// @Route(\"/payment/{Id}/reconcile\", \"POST\")\nexport class PaymentReconciliationRequest implements IReturn<ResponseBase<ReconciliationResponse>>, ISecurityId\n{\n    public id: number|null;\n    public securityId: number|null;\n    public reconciliations: ReconciliationResponse[]|null;\n\n    public constructor(init?: Partial<PaymentReconciliationRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PaymentReconciliationRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ReconciliationResponse>(); }\n}\n(PaymentReconciliationRequest as unknown)[immerable] = true;\n\n// @Route(\"/payment/search\")\nexport class PaymentAdvancedSearchRequest extends BaseAdvancedSearchRequest implements IReturn<ResponseBase<PaymentResponse>>\n{\n    public reference: string|null;\n    public paymentMethod: string|null;\n    public lodgementReference: string|null;\n    public status: string|null;\n    public refunds: boolean|null;\n    public amount: CurrencyRange|null;\n    public date: DateRange|null;\n    public receivedAtLocationIds: number[]|null;\n    public locked: boolean|null;\n    public accountId: number|null;\n\n    public constructor(init?: Partial<PaymentAdvancedSearchRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'PaymentAdvancedSearchRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<PaymentResponse>(); }\n}\n(PaymentAdvancedSearchRequest as unknown)[immerable] = true;\n\n// @Route(\"/appointment/cancellationreason\")\nexport class CancellationReasonRequest implements IReturn<ResponseBase<CancellationReasonResponse>>, ISecurityId\n{\n    public appointmentId: number|null;\n    public securityId: number|null;\n    public reason: string|null;\n    public deleteCase: boolean|null;\n    public updateAuths: boolean|null;\n\n    public constructor(init?: Partial<CancellationReasonRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CancellationReasonRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<CancellationReasonResponse>(); }\n}\n(CancellationReasonRequest as unknown)[immerable] = true;\n\n// @Route(\"/quickbill/{Id}/{Mode}\")\n// @Route(\"/quickbill/{Id}/{Mode}/{Status}\")\n// @Route(\"/quickbill/{Id}/{Mode}/Pronto/{BookingAuditId}\")\nexport class QuickBillRequest implements IReturn<ResponseEnhancerBase<QuickBillResponse>>\n{\n    public id: number|null;\n    public mode: QuickBillMode|null;\n    public status: number|null;\n    public billToPatient: boolean|null;\n    public bookingAuditId: string|null;\n\n    public constructor(init?: Partial<QuickBillRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'QuickBillRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseEnhancerBase<QuickBillResponse>(); }\n}\n(QuickBillRequest as unknown)[immerable] = true;\n\n// @Route(\"/quickbill/medipass\")\nexport class QuickBillMedipassRequest implements IReturn<ResponseBase<QuickbillMedipassResponse>>, ILocationId, ICustomerId\n{\n    public customerId: number|null;\n    public locationId: number|null;\n    public appointmentId: number|null;\n    public groupInvoiceId: number|null;\n    public amount: number|null;\n\n    public constructor(init?: Partial<QuickBillMedipassRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'QuickBillMedipassRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<QuickbillMedipassResponse>(); }\n}\n(QuickBillMedipassRequest as unknown)[immerable] = true;\n\n// @Route(\"/quickbill/prepaid\")\nexport class QuickBillPrePaidRequest implements IReturn<ResponseBase<AppointmentPrePaidResponse>>, ILocationIds, ICustomerId\n{\n    public id: number|null;\n    public securityId: number|null;\n    public appointmentStatus: number|null;\n    public appointmentId: number|null;\n    public customerId: number|null;\n    public deleteCase: boolean|null;\n    public creditFee: number|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n    public prePaidType: EPrePaidType|null;\n\n    public constructor(init?: Partial<QuickBillPrePaidRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'QuickBillPrePaidRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<AppointmentPrePaidResponse>(); }\n}\n(QuickBillPrePaidRequest as unknown)[immerable] = true;\n\n// @Route(\"/quickpay\")\nexport class QuickPayRequest implements IReturn<ResponseBase<QuickBillCompleteResponse>>, ISecurityId\n{\n    public id: number|null;\n    public securityId: number|null;\n    public payments: QuickPayment[]|null;\n    public invoices: Invoice[]|null;\n    public billingItems: BillingItem[]|null;\n    public appointmentStatus: number|null;\n    public appointmentId: number|null;\n    public deleteCase: boolean|null;\n    public reminderSent: boolean|null;\n    public cardToken: string|null;\n    public isMyClinicIntegration: boolean|null;\n    public locationId: number|null;\n    public furtherPaymentsAfterUsingPrepaid: boolean|null;\n\n    public constructor(init?: Partial<QuickPayRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'QuickPayRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<QuickBillCompleteResponse>(); }\n}\n(QuickPayRequest as unknown)[immerable] = true;\n\n// @Route(\"/files/\", \"DELETE\")\n// @Route(\"/delete\", \"POST\")\n// @DataContract\nexport class DeleteRequest implements IReturn<DeleteResponse>, IHasPath\n{\n    // @DataMember(Order=1)\n    public path: string|null;\n\n    // @DataMember(Order=2)\n    public isGlobal: boolean|null;\n\n    public constructor(init?: Partial<DeleteRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DeleteRequest'; }\n    public getMethod() { return 'DELETE'; }\n    public createResponse() { return new DeleteResponse(); }\n}\n(DeleteRequest as unknown)[immerable] = true;\n\n// @Route(\"/communications/copy\")\n// @Route(\"/copy\")\n// @DataContract\nexport class CopyRequest implements IReturn<CopyResponse>, IHasPath, IHasNewPath, IPost\n{\n    // @DataMember(Order=1)\n    public path: string|null;\n\n    // @DataMember(Order=2)\n    public newName: string|null;\n\n    // @DataMember(Order=3)\n    public moveFilesIfExists: boolean|null;\n\n    // @DataMember(Order=4)\n    public isGlobal: boolean|null;\n\n    public constructor(init?: Partial<CopyRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CopyRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new CopyResponse(); }\n}\n(CopyRequest as unknown)[immerable] = true;\n\n// @Route(\"/createFolder\")\n// @DataContract\nexport class CreateFolderRequest implements IReturn<CreateFolderResponse>, IHasPath, IHasNewPath\n{\n    // @DataMember(Order=1)\n    public path: string|null;\n\n    // @DataMember(Order=2)\n    public newName: string|null;\n\n    public constructor(init?: Partial<CreateFolderRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CreateFolderRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new CreateFolderResponse(); }\n}\n(CreateFolderRequest as unknown)[immerable] = true;\n\n// @Route(\"/communications/rename\")\n// @Route(\"/rename\")\n// @DataContract\nexport class RenameRequest implements IReturn<RenameResponse>, IHasNewPath, IHasPath\n{\n    // @DataMember(Order=1)\n    public path: string|null;\n\n    // @DataMember(Order=2)\n    public newName: string|null;\n\n    // @DataMember(Order=3)\n    public overwrite: boolean|null;\n\n    // @DataMember(Order=4)\n    public isGlobal: boolean|null;\n\n    public constructor(init?: Partial<RenameRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'RenameRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new RenameResponse(); }\n}\n(RenameRequest as unknown)[immerable] = true;\n\n// @Route(\"/move\")\n// @DataContract\nexport class MoveRequest implements IReturn<MoveResponse>, IHasPath, IHasNewPath\n{\n    // @DataMember(Order=1)\n    public path: string|null;\n\n    // @DataMember(Order=2)\n    public newName: string|null;\n\n    public constructor(init?: Partial<MoveRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'MoveRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new MoveResponse(); }\n}\n(MoveRequest as unknown)[immerable] = true;\n\n// @Route(\"/folder/move\")\n// @DataContract\nexport class MoveFolderRequest implements IReturn<MoveResponse>, IHasPath, IHasNewPath\n{\n    // @DataMember(Order=1)\n    public path: string|null;\n\n    // @DataMember(Order=2)\n    public newName: string|null;\n\n    // @DataMember(Order=3)\n    public isFolder: boolean|null;\n\n    public constructor(init?: Partial<MoveFolderRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'MoveFolderRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new MoveResponse(); }\n}\n(MoveFolderRequest as unknown)[immerable] = true;\n\n// @Route(\"/file\", \"POST\")\n// @DataContract\nexport class UploadFile implements IReturn<UploadResult>, IHasPath, ISecurityType, ISecurityId\n{\n    // @DataMember(Order=1)\n    public path: string|null;\n\n    // @DataMember(Order=2)\n    public safeRoot: string|null;\n\n    // @DataMember(Order=3)\n    public httpRequest: IHttpRequest|null;\n\n    // @DataMember(Order=4)\n    public id: number|null;\n\n    // @DataMember(Order=5)\n    public mode: string|null;\n\n    public constructor(init?: Partial<UploadFile>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UploadFile'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new UploadResult(); }\n}\n(UploadFile as unknown)[immerable] = true;\n\n// @Route(\"/tempfile\", \"POST\")\n// @DataContract\nexport class UploadTempFile implements IReturn<UploadTempResult>\n{\n    // @DataMember(Order=1)\n    public id: string|null;\n\n    public constructor(init?: Partial<UploadTempFile>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UploadTempFile'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new UploadTempResult(); }\n}\n(UploadTempFile as unknown)[immerable] = true;\n\nexport class PublishTempFolder implements IReturn<Object>\n{\n    // @DataMember(Order=1)\n    public folderId: string|null;\n\n    // @DataMember(Order=2)\n    public subWorkflowId: number|null;\n\n    // @DataMember(Order=3)\n    public workflowId: number|null;\n\n    // @DataMember(Order=4)\n    public publishToReferralPortal: boolean|null;\n\n    public constructor(init?: Partial<PublishTempFolder>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PublishTempFolder'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new Object(); }\n}\n(PublishTempFolder as unknown)[immerable] = true;\n\n// @Route(\"/attachments/summary\", \"POST\")\nexport class AttachmentSummaryRequest implements IReturn<AttachmentSummaryResponse>\n{\n    public mode: string|null;\n    public onlyReturnTemplates: boolean|null;\n    public id: number|null;\n\n    public constructor(init?: Partial<AttachmentSummaryRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AttachmentSummaryRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new AttachmentSummaryResponse(); }\n}\n(AttachmentSummaryRequest as unknown)[immerable] = true;\n\n// @Route(\"/attachments/upload\", \"POST\")\n// @DataContract\nexport class AttachmentUploadRequest implements IReturn<UploadResult>, IHasPath\n{\n    // @DataMember(Order=1)\n    public path: string|null;\n\n    // @DataMember(Order=2)\n    public safeRoot: string|null;\n\n    // @DataMember(Order=3)\n    public httpRequest: IHttpRequest|null;\n\n    // @DataMember(Order=4)\n    public id: number|null;\n\n    // @DataMember(Order=5)\n    public mode: string|null;\n\n    // @DataMember(Order=6)\n    public targetFolder: string|null;\n\n    // @DataMember(Order=7)\n    public maxWidth: number|null;\n\n    // @DataMember(Order=8)\n    public maxHeight: number|null;\n\n    public constructor(init?: Partial<AttachmentUploadRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AttachmentUploadRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new UploadResult(); }\n}\n(AttachmentUploadRequest as unknown)[immerable] = true;\n\n// @Route(\"/files/bypath/{Path*}\", \"GET, POST\")\nexport class FileByPathRequest implements IReturn<HttpResult>, IHasPath\n{\n    public path: string|null;\n    public isGlobal: boolean|null;\n    public safeRoot: string|null;\n\n    public constructor(init?: Partial<FileByPathRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'FileByPathRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new HttpResult(); }\n}\n(FileByPathRequest as unknown)[immerable] = true;\n\n// @Route(\"/file/recent\", \"GET\")\n// @DataContract\nexport class RecentFileRequest implements IReturn<RecentFileResponse>, IHasPath\n{\n    // @DataMember(Order=1)\n    public path: string|null;\n\n    // @DataMember(Order=2)\n    public safeRoot: string|null;\n\n    public constructor(init?: Partial<RecentFileRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'RecentFileRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new RecentFileResponse(); }\n}\n(RecentFileRequest as unknown)[immerable] = true;\n\n// @Route(\"/files/listing\", \"POST\")\nexport class UrlLessFileListing implements IReturn<FilesListingResponse>, IHasPath\n{\n    public safeRoot: string|null;\n    // @DataMember(Order=1)\n    public path: string|null;\n\n    // @DataMember(Order=2)\n    public recursive: boolean|null;\n\n    public constructor(init?: Partial<UrlLessFileListing>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UrlLessFileListing'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new FilesListingResponse(); }\n}\n(UrlLessFileListing as unknown)[immerable] = true;\n\n// @Route(\"/file/get\", \"POST\")\n// @DataContract\nexport class UrlLessFileRequest implements IReturn<FileResponse>, IHasPath\n{\n    // @DataMember(Order=1)\n    public path: string|null;\n\n    // @DataMember(Order=2)\n    public responseStatus: ResponseStatus|null;\n\n    // @DataMember(Order=3)\n    public textMode: boolean|null;\n\n    public constructor(init?: Partial<UrlLessFileRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UrlLessFileRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new FileResponse(); }\n}\n(UrlLessFileRequest as unknown)[immerable] = true;\n\n// @Route(\"/communications/letter\")\n// @Route(\"/files/{Path*}\")\n// @Route(\"/files\")\n// @DataContract\nexport class FileListing implements IReturn<FilesListingResponse>, IHasPath\n{\n    // @DataMember(Order=1)\n    public path: string|null;\n\n    // @DataMember(Order=2)\n    public recursive: boolean|null;\n\n    // @DataMember(Order=3)\n    public createDirectoryIfNotExists: boolean|null;\n\n    // @DataMember(Order=4)\n    public foldersToIgnore: string|null;\n\n    public constructor(init?: Partial<FileListing>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'FileListing'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new FilesListingResponse(); }\n}\n(FileListing as unknown)[immerable] = true;\n\n// @Route(\"/tempfilelisting/{Id}\", \"POST\")\nexport class GetTempFileListing implements IReturn<FilesListingResponse>\n{\n    public id: string|null;\n\n    public constructor(init?: Partial<GetTempFileListing>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetTempFileListing'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new FilesListingResponse(); }\n}\n(GetTempFileListing as unknown)[immerable] = true;\n\n// @Route(\"/removetempfile/{Id}/{FileName}\", \"POST\")\nexport class RemoveTempFile\n{\n    public id: string|null;\n    public fileName: string|null;\n\n    public constructor(init?: Partial<RemoveTempFile>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'RemoveTempFile'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(RemoveTempFile as unknown)[immerable] = true;\n\n// @Route(\"/file\", \"GET\")\n// @Route(\"/file/{Path*}\", \"GET\")\n// @DataContract\nexport class FileRequest implements IReturn<FileResponse>, IHasPath\n{\n    // @DataMember(Order=1)\n    public path: string|null;\n\n    // @DataMember(Order=2)\n    public responseStatus: ResponseStatus|null;\n\n    // @DataMember(Order=3)\n    public textMode: boolean|null;\n\n    // @DataMember(Order=4)\n    public isGlobal: boolean|null;\n\n    public constructor(init?: Partial<FileRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'FileRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new FileResponse(); }\n}\n(FileRequest as unknown)[immerable] = true;\n\n// @Route(\"/download/{Path*}\", \"GET\")\n// @DataContract\nexport class DownloadFileRequest implements IHasPath, IGet\n{\n    // @DataMember(Order=1)\n    public path: string|null;\n\n    // @DataMember(Order=2)\n    public isGlobal: boolean|null;\n\n    public constructor(init?: Partial<DownloadFileRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DownloadFileRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(DownloadFileRequest as unknown)[immerable] = true;\n\n// @Route(\"/file/view/{Path*}\", \"HEAD, GET\")\n// @DataContract\nexport class ViewFileRequest implements IHasPath\n{\n    // @DataMember(Order=1)\n    public path: string|null;\n\n    // @DataMember(Order=2)\n    public isGlobal: boolean|null;\n\n    public constructor(init?: Partial<ViewFileRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ViewFileRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(ViewFileRequest as unknown)[immerable] = true;\n\n// @Route(\"/download/batch\")\n// @DataContract\nexport class DownloadBatchFileRequest implements IHasPaths\n{\n    // @DataMember(Order=1)\n    public paths: DownloadBatchRequestObject[]|null;\n\n    // @DataMember(Order=2)\n    public isGlobal: boolean|null;\n\n    public constructor(init?: Partial<DownloadBatchFileRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DownloadBatchFileRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(DownloadBatchFileRequest as unknown)[immerable] = true;\n\n// @Route(\"/email/download/{Path*}\", \"GET\")\n// @DataContract\nexport class DownloadEmailRequest implements IHasPath\n{\n    // @DataMember(Order=1)\n    public path: string|null;\n\n    public constructor(init?: Partial<DownloadEmailRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DownloadEmailRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(DownloadEmailRequest as unknown)[immerable] = true;\n\n// @Route(\"/email/attachment/{Path*}\", \"GET\")\nexport class DownloadAttachmentRequest implements IHasPath\n{\n    public path: string|null;\n    public safeRoot: string|null;\n    public attachmentName: string|null;\n\n    public constructor(init?: Partial<DownloadAttachmentRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DownloadAttachmentRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(DownloadAttachmentRequest as unknown)[immerable] = true;\n\n// @Route(\"/communications/documents/save\", \"POST\")\n// @DataContract\nexport class SaveDocument implements IReturn<boolean>, IHasPath, ISecurityId, ISecurityType\n{\n    // @DataMember(Order=1)\n    public text: string|null;\n\n    // @DataMember(Order=2)\n    public path: string|null;\n\n    // @DataMember(Order=3)\n    public action: string|null;\n\n    // @DataMember(Order=4)\n    public letterId: number|null;\n\n    // @DataMember(Order=5)\n    public title: string|null;\n\n    // @DataMember(Order=6)\n    public type: DocumentType|null;\n\n    // @DataMember(Order=7)\n    public rename: boolean|null;\n\n    // @DataMember(Order=8)\n    public oldPath: string|null;\n\n    // @DataMember(Order=9)\n    public objectId: number|null;\n\n    // @DataMember(Order=10)\n    public objectType: string|null;\n\n    public constructor(init?: Partial<SaveDocument>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SaveDocument'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return false; }\n}\n(SaveDocument as unknown)[immerable] = true;\n\n// @Route(\"/managementreportfiles/{Id}\")\nexport class ManagementReportDocumentFileListing implements IReturn<FolderTree>, ISecurityId, IGet\n{\n    public id: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<ManagementReportDocumentFileListing>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ManagementReportDocumentFileListing'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new FolderTree(); }\n}\n(ManagementReportDocumentFileListing as unknown)[immerable] = true;\n\n// @Route(\"/{Mode}/files/{Id}\")\n// @Route(\"/{Mode}/files/{Id}/{ExcludedFileTypes}\")\n// @Route(\"/{Mode}/files/{Id}/{ExcludedFileTypes}/{FoldersToIgnore}\")\n// @Route(\"/{Mode}/files/{Id}/{ExcludedFileTypes}/{FoldersToIgnore}/{Recursive}\")\n// @Route(\"/{Mode}/files/{Id}/{ExcludedFileTypes}/{FoldersToIgnore}/{Recursive}/{IgnoreFiles}\")\nexport class DocumentFileListing implements IReturn<FolderTree>, ISecurityId, ISecurityType, IGet\n{\n    public id: number|null;\n    public mode: string|null;\n    public excludedFileTypes: string|null;\n    public foldersToIgnore: string|null;\n    public recursive: boolean|null;\n    public ignoreFiles: boolean|null;\n    public path: string|null;\n    public skip: number|null;\n    public take: number|null;\n    public sort: QueryField[]|null;\n    public securityId: number|null;\n    public securityType: string|null;\n\n    public constructor(init?: Partial<DocumentFileListing>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DocumentFileListing'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new FolderTree(); }\n}\n(DocumentFileListing as unknown)[immerable] = true;\n\n// @Route(\"/templates\")\nexport class TemplatesRequest implements IReturn<FolderTree>\n{\n    public folder: string|null;\n    public filter: string[]|null;\n    public sortedByDate: boolean|null;\n\n    public constructor(init?: Partial<TemplatesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'TemplatesRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new FolderTree(); }\n}\n(TemplatesRequest as unknown)[immerable] = true;\n\n// @Route(\"/charts\")\nexport class ChartsRequest implements IReturn<FolderTree>\n{\n    public folder: string|null;\n    public filter: string[]|null;\n\n    public constructor(init?: Partial<ChartsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ChartsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new FolderTree(); }\n}\n(ChartsRequest as unknown)[immerable] = true;\n\n// @Route(\"/download/extraction/{Id}\", \"GET\")\nexport class DownloadExtractionRequest\n{\n    public id: number|null;\n\n    public constructor(init?: Partial<DownloadExtractionRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DownloadExtractionRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(DownloadExtractionRequest as unknown)[immerable] = true;\n\nexport class UpdateDocumentListingRequest\n{\n    public fileName: string|null;\n    public filePath: string|null;\n    public description: string|null;\n\n    public constructor(init?: Partial<UpdateDocumentListingRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UpdateDocumentListingRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(UpdateDocumentListingRequest as unknown)[immerable] = true;\n\n// @Route(\"/groups/locations/updateProviderNumber\")\nexport class GroupLocationProviderNumberSaveRequest implements ISecurityId\n{\n    public providerNo: string|null;\n    public id: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<GroupLocationProviderNumberSaveRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GroupLocationProviderNumberSaveRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(GroupLocationProviderNumberSaveRequest as unknown)[immerable] = true;\n\n// @Route(\"/groups\")\n// @Route(\"/groups/{Id}\")\nexport class GroupRequest implements IReturn<ResponseBase<GroupResponse>>, ISecurityId\n{\n    public skip: number|null;\n    public take: number|null;\n    public id: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<GroupRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GroupRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<GroupResponse>(); }\n}\n(GroupRequest as unknown)[immerable] = true;\n\n// @Route(\"/groups/count\")\nexport class GroupCountRequest implements IReturn<ResponseBase<number>>\n{\n\n    public constructor(init?: Partial<GroupCountRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GroupCountRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<number>(); }\n}\n(GroupCountRequest as unknown)[immerable] = true;\n\n// @Route(\"/group/further/{Id}\")\nexport class GroupFurtherDetailsRequest implements IReturn<GroupFurtherDetailsResponse>, ILocationId\n{\n    public id: number|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<GroupFurtherDetailsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GroupFurtherDetailsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new GroupFurtherDetailsResponse(); }\n}\n(GroupFurtherDetailsRequest as unknown)[immerable] = true;\n\n// @Route(\"/group/recent/{Id}\")\nexport class GroupRecentRequest implements IReturn<GroupRecentResponse>, ILocationId\n{\n    public id: number|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<GroupRecentRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GroupRecentRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new GroupRecentResponse(); }\n}\n(GroupRecentRequest as unknown)[immerable] = true;\n\n// @Route(\"/group/recentDocument/{GroupId}\")\nexport class RecentGroupDocumentRequest implements IReturn<Object>, IHasPath, ILocationId\n{\n    public groupId: number|null;\n    public path: string|null;\n    public safeRoot: string|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<RecentGroupDocumentRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'RecentGroupDocumentRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new Object(); }\n}\n(RecentGroupDocumentRequest as unknown)[immerable] = true;\n\n// @Route(\"/groups/search\")\nexport class GroupsAdvancedSearchRequest extends BaseAdvancedSearchRequest implements IReturn<ResponseBase<GroupResponse>>\n{\n    public name: string|null;\n    public status: boolean|null;\n    public classification: string|null;\n\n    public constructor(init?: Partial<GroupsAdvancedSearchRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'GroupsAdvancedSearchRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<GroupResponse>(); }\n}\n(GroupsAdvancedSearchRequest as unknown)[immerable] = true;\n\n// @Route(\"/groups/export/csv\")\nexport class GroupsAdvancedSearchExportCSVRequest implements IReturn<string>, ILocationIds\n{\n    public customHeaders: GroupsCSVHeaderOverrides|null;\n    public query: GroupsAdvancedSearchRequest|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<GroupsAdvancedSearchExportCSVRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GroupsAdvancedSearchExportCSVRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return ''; }\n}\n(GroupsAdvancedSearchExportCSVRequest as unknown)[immerable] = true;\n\n// @Route(\"/group/contacts/search\")\n// @Route(\"/group/contacts/search/{GroupId}\")\nexport class GroupContactsSearchRequest implements IReturn<ResponseBase<MedicalContactResponse>>, ILocationId\n{\n    public groupId: number|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<GroupContactsSearchRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GroupContactsSearchRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<MedicalContactResponse>(); }\n}\n(GroupContactsSearchRequest as unknown)[immerable] = true;\n\n// @Route(\"/group/contactsearch\", \"POST\")\n// @Route(\"/group/contactsearch/{GroupId}\", \"POST\")\nexport class GroupContactQuickSearchRequest implements IReturn<ResponseBase<MedicalContactResponse>>, ISecurityId\n{\n    public skip: number|null;\n    public take: number|null;\n    public groupId: number|null;\n    public securityId: number|null;\n    public searchString: string|null;\n\n    public constructor(init?: Partial<GroupContactQuickSearchRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GroupContactQuickSearchRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<MedicalContactResponse>(); }\n}\n(GroupContactQuickSearchRequest as unknown)[immerable] = true;\n\n// @Route(\"/group/linked/{GroupId}\", \"POST\")\n// @Route(\"/group/linked\", \"POST\")\nexport class LinkedPatientRequest implements IReturn<ResponseBase<GeneralCustomerResponse>>, ISecurityId, IFilterServiceTypeManually\n{\n    public groupId: number|null;\n    public skip: number|null;\n    public take: number|null;\n    public sort: QueryField[]|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<LinkedPatientRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'LinkedPatientRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<GeneralCustomerResponse>(); }\n}\n(LinkedPatientRequest as unknown)[immerable] = true;\n\n// @Route(\"/group/save\", \"POST\")\nexport class SaveGroupRequest implements IReturn<ResponseBase<GroupResponse>>\n{\n    public id: number|null;\n    public name: string|null;\n    public contact: string|null;\n    public addressLine1: string|null;\n    public addressLine2: string|null;\n    public addressLine3: string|null;\n    public addressLine4: string|null;\n    public addressLine5: string|null;\n    public address: string|null;\n    public postCode: string|null;\n    public telephone: string|null;\n    public fax: string|null;\n    public web: string|null;\n    public email: string|null;\n    public locationName: string|null;\n    public locationId: number|null;\n    public balanceOwed: number|null;\n    public showReferrals: boolean|null;\n    public groupInvoices: string|null;\n    public addressTo: string|null;\n    public invoicePeriod: string|null;\n    public contractNumber: string|null;\n    public accountId: number|null;\n    public profileId: number|null;\n    public invoiceFrequency: number|null;\n    public invoiceWPID: number|null;\n    public showVAT: boolean|null;\n    public authorisationCode: string|null;\n    public defaultMaxTreatments: number|null;\n    public classification: string|null;\n    public cancellationHours: number|null;\n    public paysForDNA: boolean|null;\n    public paysForCancel: boolean|null;\n    public notificationEmail: string|null;\n    public abbreviationPrefix: string|null;\n    public online: boolean|null;\n    public firstId: number|null;\n    public followUpId: number|null;\n    public cancelId: number|null;\n    public dnaId: number|null;\n    public tm3InvoiceTemplate: string|null;\n    public meta: { [index:string]: Object; }|null;\n    public dueDaysOverride: number|null;\n    public isDistributor: boolean|null;\n    public distributorGroupId: number|null;\n    public groupInvoiceByStockId: boolean|null;\n    public useInvoicePaymentTerms: boolean|null;\n    public invoicePaymentTerms: string|null;\n    public onlineGuid: string|null;\n    public billDistributor: boolean|null;\n    public minorUpperAgeLimit: number|null;\n    public adolescentUpperAgeLimit: number|null;\n    public medipassFunder: string|null;\n    public medipassFunderCode: string|null;\n    public isVatExempt: boolean|null;\n    public financialAddress: string|null;\n    public vatExemptionNumber: string|null;\n    public vatExemptionExpiryDate: string|null;\n    public allowedEmails: string|null;\n    public authorisationExpiryInDays: number|null;\n    public authorisationExpiryTriggerInDays: number|null;\n    public remainingAuthorisationThreshold: number|null;\n\n    public constructor(init?: Partial<SaveGroupRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SaveGroupRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<GroupResponse>(); }\n}\n(SaveGroupRequest as unknown)[immerable] = true;\n\n// @Route(\"/group/location/search\")\n// @Route(\"/group/location/search/{GroupId}\")\nexport class GroupLocationSearchRequest implements IReturn<LocationStockResponse>, ILocationId\n{\n    public groupId: number|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<GroupLocationSearchRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GroupLocationSearchRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new LocationStockResponse(); }\n}\n(GroupLocationSearchRequest as unknown)[immerable] = true;\n\n// @Route(\"/group/new/stock/\", \"POST\")\nexport class LocationNewStockRequest\n{\n    public groupId: number|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<LocationNewStockRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'LocationNewStockRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(LocationNewStockRequest as unknown)[immerable] = true;\n\n// @Route(\"/group/stockType/add/\", \"POST\")\nexport class UpdateDnaCancelStockRequest implements IReturn<Group>, ISecurityId\n{\n    public groupId: number|null;\n    public stockType: string|null;\n    public stock: StockLocationItem[]|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<UpdateDnaCancelStockRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UpdateDnaCancelStockRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new Group(); }\n}\n(UpdateDnaCancelStockRequest as unknown)[immerable] = true;\n\n// @Route(\"/group/new/location/{id}\")\nexport class LocationNewLocationRequest implements IReturn<Location[]>, ILocationIds\n{\n    public id: number|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<LocationNewLocationRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'LocationNewLocationRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new Array<Location>(); }\n}\n(LocationNewLocationRequest as unknown)[immerable] = true;\n\n// @Route(\"/group/add/stock/all\", \"POST\")\nexport class AddAllStockToGroupRequest implements IReturn<ResponseBase<boolean>>, ILocationId\n{\n    public groupId: number|null;\n    public stockToAdd: number[]|null;\n    public stockToRemove: number[]|null;\n    public locationId: number|null;\n    public serviceTypeId: number|null;\n\n    public constructor(init?: Partial<AddAllStockToGroupRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AddAllStockToGroupRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(AddAllStockToGroupRequest as unknown)[immerable] = true;\n\n// @Route(\"/group/select/stock\", \"POST\")\nexport class ChangeStockOnGroupRequest implements IReturn<ResponseBase<boolean>>, ILocationId\n{\n    public groupId: number|null;\n    public stockId: number|null;\n    public locationId: number|null;\n    public stockType: string|null;\n\n    public constructor(init?: Partial<ChangeStockOnGroupRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ChangeStockOnGroupRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(ChangeStockOnGroupRequest as unknown)[immerable] = true;\n\n// @Route(\"/group/add/location\", \"POST\")\nexport class AddLocationToGroupRequest implements IReturn<LocationStockResponse>\n{\n    public groupId: number|null;\n    public firstId: number|null;\n    public followUpId: number|null;\n    public cancelId: number|null;\n    public dnaId: number|null;\n    public locationId: number|null;\n    public serviceTypeId: number|null;\n\n    public constructor(init?: Partial<AddLocationToGroupRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AddLocationToGroupRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new LocationStockResponse(); }\n}\n(AddLocationToGroupRequest as unknown)[immerable] = true;\n\n// @Route(\"/group/delete/location\", \"POST\")\nexport class RemoveLocationfromGroupRequest implements ILocationId\n{\n    public groupId: number|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<RemoveLocationfromGroupRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'RemoveLocationfromGroupRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(RemoveLocationfromGroupRequest as unknown)[immerable] = true;\n\n// @Route(\"/group/change/stock\", \"POST\")\nexport class ChangeStockfromGroupRequest implements IReturn<ResponseBase<boolean>>, ILocationId\n{\n    public groupId: number|null;\n    public stockToAddId: number|null;\n    public stockToRemoveId: number|null;\n    public locationId: number|null;\n    public stockType: string|null;\n\n    public constructor(init?: Partial<ChangeStockfromGroupRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ChangeStockfromGroupRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(ChangeStockfromGroupRequest as unknown)[immerable] = true;\n\n// @Route(\"/group/settings/{Id}\", \"GET\")\nexport class GroupSettingsRequest implements IReturn<ResponseBase<GroupServiceTypeOptionsResponse>>, ILocationId\n{\n    public id: number|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<GroupSettingsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GroupSettingsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<GroupServiceTypeOptionsResponse>(); }\n}\n(GroupSettingsRequest as unknown)[immerable] = true;\n\n// @Route(\"/group/settings/customer\")\nexport class GroupSettingsForCustomerRequest implements IReturn<ResponseBase<GroupServiceTypeOptionsResponse>>, IServiceTypeId\n{\n    public id: number|null;\n    public customerId: number|null;\n    public serviceTypeId: number|null;\n\n    public constructor(init?: Partial<GroupSettingsForCustomerRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GroupSettingsForCustomerRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<GroupServiceTypeOptionsResponse>(); }\n}\n(GroupSettingsForCustomerRequest as unknown)[immerable] = true;\n\n// @Route(\"/group/notificationTypes\")\n// @Route(\"/group/notifications/{Id}\")\nexport class GroupNotificationsRequest implements IReturn<AppointmentEventBase[]>, ILocationId\n{\n    public id: number|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<GroupNotificationsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GroupNotificationsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new Array<AppointmentEventBase>(); }\n}\n(GroupNotificationsRequest as unknown)[immerable] = true;\n\n// @Route(\"/group/profile\")\n// @Route(\"/group/profile/{Id}\")\nexport class GroupProfileRequest implements IReturn<ResponseBase<GroupProfileDto>>, ISecurityId\n{\n    public id: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<GroupProfileRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GroupProfileRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<GroupProfileDto>(); }\n}\n(GroupProfileRequest as unknown)[immerable] = true;\n\n// @Route(\"/group/settings/save\", \"POST\")\nexport class GroupServiceTypeOptionsRequest implements IReturn<GroupServiceTypeOptions>, ISecurityId\n{\n    public id: number|null;\n    public serviceTypeID: number|null;\n    public groupID: number|null;\n    public securityId: number|null;\n    public useAuthCodes: boolean|null;\n    public useDummyAuthCodes: boolean|null;\n    public dummyCodePrefix: string|null;\n    public cancelAffectsAuthCount: boolean|null;\n    public dnaAffectsAuthCount: boolean|null;\n    public authCodeGenerateMode: number|null;\n    public authCodeGenerateAssess: number|null;\n    public authCodeGenerateTreat: number|null;\n    public authCodeGenerateAll: number|null;\n    public cancelAlwaysAffectsAuthCount: boolean|null;\n    public cancelAffectsAuthCountDays: number|null;\n\n    public constructor(init?: Partial<GroupServiceTypeOptionsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GroupServiceTypeOptionsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new GroupServiceTypeOptions(); }\n}\n(GroupServiceTypeOptionsRequest as unknown)[immerable] = true;\n\n// @Route(\"/group/save/all\", \"POST\")\nexport class SaveAllGroupRequest implements IReturn<ResponseBase<GroupResponse>>, ISecurityId\n{\n    public securityId: number|null;\n    public groupId: number|null;\n    public group: SaveGroupRequest|null;\n    public settings: GroupServiceTypeOptionsRequest[]|null;\n    public profile: GroupProfileDto|null;\n    public notifications: NotificationSubscription[]|null;\n    public chargesToRemove: GroupStockResponse[]|null;\n    public chargesToUpdate: GroupStockResponse[]|null;\n    public locationsToUpdate: LocResponse[]|null;\n    public locationsToRemove: LocResponse[]|null;\n\n    public constructor(init?: Partial<SaveAllGroupRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SaveAllGroupRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<GroupResponse>(); }\n}\n(SaveAllGroupRequest as unknown)[immerable] = true;\n\n// @Route(\"/groups/current\")\nexport class GroupCurrentRequest implements IReturn<ResponseBase<GroupResponse>>\n{\n\n    public constructor(init?: Partial<GroupCurrentRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GroupCurrentRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<GroupResponse>(); }\n}\n(GroupCurrentRequest as unknown)[immerable] = true;\n\nexport class ClickGroupServicesRequest implements IReturn<ResponseBase<GroupStockResponse>>\n{\n    public skip: number|null;\n    public take: number|null;\n    public sort: QueryField[]|null;\n    public groupId: number|null;\n\n    public constructor(init?: Partial<ClickGroupServicesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClickGroupServicesRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<GroupStockResponse>(); }\n}\n(ClickGroupServicesRequest as unknown)[immerable] = true;\n\n// @Route(\"/healthcode/getbusinesses\")\nexport class GetBusinessesRequest implements IReturn<ResponseBase<T>>\n{\n\n    public constructor(init?: Partial<GetBusinessesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetBusinessesRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(GetBusinessesRequest as unknown)[immerable] = true;\n\n// @Route(\"/healthcode/addbusiness\")\nexport class AddBusinessRequest\n{\n    public businesses: AddBusinessModel[]|null;\n\n    public constructor(init?: Partial<AddBusinessRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AddBusinessRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(AddBusinessRequest as unknown)[immerable] = true;\n\n// @Route(\"/healthcode/getallisc\")\nexport class GetAllIscRequest\n{\n\n    public constructor(init?: Partial<GetAllIscRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetAllIscRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(GetAllIscRequest as unknown)[immerable] = true;\n\n// @Route(\"/healthcode/searchisc\")\nexport class SearchIscRequest\n{\n    public term: string|null;\n\n    public constructor(init?: Partial<SearchIscRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SearchIscRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(SearchIscRequest as unknown)[immerable] = true;\n\n// @Route(\"/healthcode/business/providercodes\")\nexport class GetProviderCodesRequest\n{\n    public provideCodeOption: number|null;\n    public groupId: number|null;\n    public skip: number|null;\n    public take: number|null;\n\n    public constructor(init?: Partial<GetProviderCodesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetProviderCodesRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(GetProviderCodesRequest as unknown)[immerable] = true;\n\n// @Route(\"/healthcode/business/{id}\")\nexport class GetBusinessDetailsRequest\n{\n    public id: number|null;\n\n    public constructor(init?: Partial<GetBusinessDetailsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetBusinessDetailsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(GetBusinessDetailsRequest as unknown)[immerable] = true;\n\n// @Route(\"/healthcode/login/update\")\nexport class UpdateHealthcodeLoginDetailRequest\n{\n    public username: string|null;\n    public password: string|null;\n\n    public constructor(init?: Partial<UpdateHealthcodeLoginDetailRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UpdateHealthcodeLoginDetailRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(UpdateHealthcodeLoginDetailRequest as unknown)[immerable] = true;\n\n// @Route(\"/healthcode/business/update\")\nexport class UpdateBusinessDetailRequest\n{\n    public id: number|null;\n    public locationId: number|null;\n    public property: string|null;\n    public value: Object|null;\n\n    public constructor(init?: Partial<UpdateBusinessDetailRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UpdateBusinessDetailRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(UpdateBusinessDetailRequest as unknown)[immerable] = true;\n\n// @Route(\"/healthcode/business/update/providercode\")\nexport class UpdateBusinessProviderCodeRequest\n{\n    public id: number|null;\n    public groupId: number|null;\n    public providerNoOption: number|null;\n    public providerNo: string|null;\n\n    public constructor(init?: Partial<UpdateBusinessProviderCodeRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UpdateBusinessProviderCodeRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(UpdateBusinessProviderCodeRequest as unknown)[immerable] = true;\n\n// @Route(\"/healthcode/stockitem/update\")\nexport class UpdateStockItemDetailRequest\n{\n    public id: number|null;\n    public property: string|null;\n    public value: string|null;\n\n    public constructor(init?: Partial<UpdateStockItemDetailRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UpdateStockItemDetailRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(UpdateStockItemDetailRequest as unknown)[immerable] = true;\n\n// @Route(\"/healthcode/invoices/export/validate\")\nexport class ValidateExportRequest implements IReturn<ResponseBase<ExportIssueResponse>>, ILocationIds\n{\n    public startDate: string|null;\n    public endDate: string|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<ValidateExportRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ValidateExportRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ExportIssueResponse>(); }\n}\n(ValidateExportRequest as unknown)[immerable] = true;\n\n// @Route(\"/healthcode/invoices/export\")\nexport class ExportHealthcodeInvoicesRequest implements ILocationIds\n{\n    public startDate: string|null;\n    public endDate: string|null;\n    public toExport: number[]|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n    public upload: boolean|null;\n\n    public constructor(init?: Partial<ExportHealthcodeInvoicesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ExportHealthcodeInvoicesRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(ExportHealthcodeInvoicesRequest as unknown)[immerable] = true;\n\n// @Route(\"/healthcode/invoices/exportstatus\")\nexport class GetInvoiceExportStatusRequest\n{\n\n    public constructor(init?: Partial<GetInvoiceExportStatusRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetInvoiceExportStatusRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(GetInvoiceExportStatusRequest as unknown)[immerable] = true;\n\n// @Route(\"/healthcode/invoices/uploadedfiles/{Type*}\")\nexport class GetUploadedFilesListRequest implements IReturn<ResponseBase<ExportedInvoiceFileResponse>>\n{\n    // @DataMember(Order=1)\n    public type: string|null;\n\n    public constructor(init?: Partial<GetUploadedFilesListRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetUploadedFilesListRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ExportedInvoiceFileResponse>(); }\n}\n(GetUploadedFilesListRequest as unknown)[immerable] = true;\n\n// @Route(\"/healthcode/invoices/download/{Filename}/{Type*}\", \"GET\")\nexport class DownloadHealthcodeFileRequest\n{\n    public filename: string|null;\n    public type: string|null;\n\n    public constructor(init?: Partial<DownloadHealthcodeFileRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DownloadHealthcodeFileRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(DownloadHealthcodeFileRequest as unknown)[immerable] = true;\n\n// @Route(\"/healthcode/invoices/download/delete\", \"POST\")\nexport class DeleteHealthcodeFileRequest implements IReturn<ResponseBase<T>>\n{\n    public filename: string|null;\n    public type: string|null;\n\n    public constructor(init?: Partial<DeleteHealthcodeFileRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DeleteHealthcodeFileRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(DeleteHealthcodeFileRequest as unknown)[immerable] = true;\n\n// @Route(\"/healthcode/invoices/uploadremittance\", \"POST\")\n// @DataContract\nexport class UploadRemittanceRequest\n{\n\n    public constructor(init?: Partial<UploadRemittanceRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UploadRemittanceRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(UploadRemittanceRequest as unknown)[immerable] = true;\n\n// @Route(\"/healthcode/invoices/importstatus\")\nexport class GetInvoiceImportStatusRequest\n{\n\n    public constructor(init?: Partial<GetInvoiceImportStatusRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetInvoiceImportStatusRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(GetInvoiceImportStatusRequest as unknown)[immerable] = true;\n\n// @Route(\"/healthcode/invoices/runningjob\")\nexport class GetRunningBackgroundJobRequest\n{\n\n    public constructor(init?: Partial<GetRunningBackgroundJobRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetRunningBackgroundJobRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(GetRunningBackgroundJobRequest as unknown)[immerable] = true;\n\n// @Route(\"/healthcode/invoices/importsummary\")\nexport class GetInvoiceImportSummaryRequest implements IReturn<ResponseBase<HealthcodeImportSummaryResponse>>\n{\n\n    public constructor(init?: Partial<GetInvoiceImportSummaryRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetInvoiceImportSummaryRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<HealthcodeImportSummaryResponse>(); }\n}\n(GetInvoiceImportSummaryRequest as unknown)[immerable] = true;\n\n// @Route(\"/healthcode/invoices/validationsummary\")\nexport class GetInvoiceValidationSummaryRequest implements IReturn<ResponseBase<ExportIssueResponse>>\n{\n\n    public constructor(init?: Partial<GetInvoiceValidationSummaryRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetInvoiceValidationSummaryRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ExportIssueResponse>(); }\n}\n(GetInvoiceValidationSummaryRequest as unknown)[immerable] = true;\n\n// @Route(\"/healthcode/invoices/exportsummary\")\nexport class GetInvoiceExportSummaryRequest implements IReturn<ResponseBase<HealthcodeExportSummaryResponse>>\n{\n\n    public constructor(init?: Partial<GetInvoiceExportSummaryRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetInvoiceExportSummaryRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<HealthcodeExportSummaryResponse>(); }\n}\n(GetInvoiceExportSummaryRequest as unknown)[immerable] = true;\n\n// @Route(\"/healthcode/businesstocks\", \"POST\")\nexport class BusinessStocksRequest\n{\n    public sortBy: string|null;\n    public skip: number|null;\n    public take: number|null;\n    public sortDir: string|null;\n    public groupId: number|null;\n\n    public constructor(init?: Partial<BusinessStocksRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'BusinessStocksRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(BusinessStocksRequest as unknown)[immerable] = true;\n\nexport class MailChimpLoginRequest implements IReturn<ResponseBase<T>>\n{\n\n    public constructor(init?: Partial<MailChimpLoginRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'MailChimpLoginRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(MailChimpLoginRequest as unknown)[immerable] = true;\n\n// @Route(\"/mailchimp/pushallemails\")\nexport class PushAllEmailsRequest implements IReturn<ResponseBase<T>>\n{\n    public listId: string|null;\n\n    public constructor(init?: Partial<PushAllEmailsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PushAllEmailsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(PushAllEmailsRequest as unknown)[immerable] = true;\n\n// @Route(\"/mailchimp/lists\")\nexport class GetMailchimpListRequest implements IReturn<ResponseBase<AudiencesResponse>>\n{\n\n    public constructor(init?: Partial<GetMailchimpListRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetMailchimpListRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<AudiencesResponse>(); }\n}\n(GetMailchimpListRequest as unknown)[immerable] = true;\n\n// @Route(\"/mailchimp/sync-progress/{ListId}\", \"GET\")\nexport class GetMailchimpSyncProgressRequest\n{\n    public listId: string|null;\n\n    public constructor(init?: Partial<GetMailchimpSyncProgressRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetMailchimpSyncProgressRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(GetMailchimpSyncProgressRequest as unknown)[immerable] = true;\n\n// @Route(\"/mailchimp/sync-summary/{ListId}\", \"GET\")\nexport class GetMailChimpSyncSummary\n{\n    public listId: string|null;\n\n    public constructor(init?: Partial<GetMailChimpSyncSummary>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetMailChimpSyncSummary'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(GetMailChimpSyncSummary as unknown)[immerable] = true;\n\n// @Route(\"/mailchimp/sync-duplicates/{ListId}\", \"GET\")\nexport class GetMailChimpSyncDuplicates\n{\n    public listId: string|null;\n\n    public constructor(init?: Partial<GetMailChimpSyncDuplicates>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetMailChimpSyncDuplicates'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(GetMailChimpSyncDuplicates as unknown)[immerable] = true;\n\n// @Route(\"/mailchimp/sync-log/{ListId}\", \"GET\")\nexport class GetMailchimpPushAllEmailsLog\n{\n    public listId: string|null;\n\n    public constructor(init?: Partial<GetMailchimpPushAllEmailsLog>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetMailchimpPushAllEmailsLog'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(GetMailchimpPushAllEmailsLog as unknown)[immerable] = true;\n\n// @Route(\"/mailchimp/duplicates/{CustomerId}\")\nexport class GetDuplicateRequest\n{\n    public customerId: number|null;\n\n    public constructor(init?: Partial<GetDuplicateRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetDuplicateRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(GetDuplicateRequest as unknown)[immerable] = true;\n\n// @Route(\"/mailchimp/duplicates\", \"POST\")\nexport class DuplicatesRequest implements IReturn<ResponseBase<MailChimpDuplicatesResponse>>\n{\n    public customerIds: number[]|null;\n\n    public constructor(init?: Partial<DuplicatesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DuplicatesRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<MailChimpDuplicatesResponse>(); }\n}\n(DuplicatesRequest as unknown)[immerable] = true;\n\n// @Route(\"/mailchimp/subscriptions-lists/{CustomerId}\", \"GET\")\nexport class GetSubscriptionListsRequest\n{\n    public customerId: number|null;\n\n    public constructor(init?: Partial<GetSubscriptionListsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetSubscriptionListsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(GetSubscriptionListsRequest as unknown)[immerable] = true;\n\n// @Route(\"/mailchimp/subscribecustomertolist\")\nexport class SubscribeCustomerToListRequest\n{\n    public customerId: number|null;\n    public mailchimpListId: string|null;\n\n    public constructor(init?: Partial<SubscribeCustomerToListRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SubscribeCustomerToListRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(SubscribeCustomerToListRequest as unknown)[immerable] = true;\n\n// @Route(\"/mailchimp/unsubscribecustomerfromlist\")\nexport class UnSubscribeCustomerFromListRequest\n{\n    public customerId: number|null;\n    public mailchimpListId: string|null;\n\n    public constructor(init?: Partial<UnSubscribeCustomerFromListRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UnSubscribeCustomerFromListRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(UnSubscribeCustomerFromListRequest as unknown)[immerable] = true;\n\n// @Route(\"/mailchimp/unsubscribecustomerfromalllists\")\nexport class UnSubscribeCustomerFromAllListsRequest\n{\n    public customerId: number|null;\n\n    public constructor(init?: Partial<UnSubscribeCustomerFromAllListsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UnSubscribeCustomerFromAllListsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(UnSubscribeCustomerFromAllListsRequest as unknown)[immerable] = true;\n\n// @Route(\"/mailchimp/subscribecustomerstolist\")\nexport class SubscribeCustomersToListRequest implements IReturn<ResponseBase<boolean>>\n{\n    public customerIds: number[]|null;\n    public mailchimpListId: string|null;\n\n    public constructor(init?: Partial<SubscribeCustomersToListRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SubscribeCustomersToListRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(SubscribeCustomersToListRequest as unknown)[immerable] = true;\n\n// @Route(\"/mailchimp/statistic/{ListId}\")\nexport class SyncStatisticRequest\n{\n    public listId: string|null;\n\n    public constructor(init?: Partial<SyncStatisticRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SyncStatisticRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(SyncStatisticRequest as unknown)[immerable] = true;\n\n// @Route(\"/mailchimp/unsync-audience/{ListId}\")\nexport class UnsyncAudienceRequest\n{\n    public listId: string|null;\n\n    public constructor(init?: Partial<UnsyncAudienceRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UnsyncAudienceRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(UnsyncAudienceRequest as unknown)[immerable] = true;\n\nexport class PostcodeLookupRequest implements IReturn<ResponseBase<PostcodeLookupResponse>>\n{\n    public houseNumber: string|null;\n    public postcode: string|null;\n\n    public constructor(init?: Partial<PostcodeLookupRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PostcodeLookupRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<PostcodeLookupResponse>(); }\n}\n(PostcodeLookupRequest as unknown)[immerable] = true;\n\n// @Route(\"/physiotec-practitioners\", \"GET\")\n// @Route(\"/physiotec-practitioner/{Id}\", \"GET\")\nexport class PhysiotecPractitionerGetRequest implements IReturn<ResponseBase<PhysiotecPractitioner>>\n{\n    public id: number|null;\n\n    public constructor(init?: Partial<PhysiotecPractitionerGetRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PhysiotecPractitionerGetRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<PhysiotecPractitioner>(); }\n}\n(PhysiotecPractitionerGetRequest as unknown)[immerable] = true;\n\n// @Route(\"/physiotec-practitioners\", \"POST\")\n// @Route(\"/physiotec-practitioner/{Id}\", \"POST\")\nexport class PhysiotecPractitionerPostRequest implements IReturn<ResponseBase<Object>>\n{\n    public id: number|null;\n    public preexisting: boolean|null;\n\n    public constructor(init?: Partial<PhysiotecPractitionerPostRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PhysiotecPractitionerPostRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<Object>(); }\n}\n(PhysiotecPractitionerPostRequest as unknown)[immerable] = true;\n\n// @Route(\"/physiotec-practitioner/{Id}/credentials\")\nexport class PhysiotecPractitionerCredentialsRequest implements IReturn<PhysiotecPractitioner>\n{\n    public id: number|null;\n\n    public constructor(init?: Partial<PhysiotecPractitionerCredentialsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PhysiotecPractitionerCredentialsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new PhysiotecPractitioner(); }\n}\n(PhysiotecPractitionerCredentialsRequest as unknown)[immerable] = true;\n\n// @Route(\"/discipline/{PractitionerId}\")\nexport class PractitionerDisciplineRequest implements IReturn<CustomListItemResponse[]>, ISecurityId\n{\n    public practitionerId: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<PractitionerDisciplineRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PractitionerDisciplineRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new Array<CustomListItemResponse>(); }\n}\n(PractitionerDisciplineRequest as unknown)[immerable] = true;\n\n// @Route(\"/discipline/save\")\nexport class DisciplineSave implements IReturn<CustomListItemResponse[]>, ISecurityId\n{\n    public practitionerId: number|null;\n    public securityId: number|null;\n    public disciplines: CustomListItemResponse[]|null;\n\n    public constructor(init?: Partial<DisciplineSave>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DisciplineSave'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new Array<CustomListItemResponse>(); }\n}\n(DisciplineSave as unknown)[immerable] = true;\n\n// @Route(\"/practitioner/group/{PractitionerId}\")\nexport class PractitionerGroupRequest implements IReturn<ResponseBase<PractitionerGroupResponse>>, ISecurityId\n{\n    public skip: number|null;\n    public take: number|null;\n    public practitionerId: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<PractitionerGroupRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PractitionerGroupRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<PractitionerGroupResponse>(); }\n}\n(PractitionerGroupRequest as unknown)[immerable] = true;\n\n// @Route(\"/practitioner/group/save/\")\nexport class ProviderSave implements IReturn<ResponseBase<PractitionerGroupResponse>>, ISecurityId\n{\n    public id: number|null;\n    public groupId: number|null;\n    public providerNo: string|null;\n    public practitionerId: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<ProviderSave>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ProviderSave'; }\n    public getMethod() { return 'PUT'; }\n    public createResponse() { return new ResponseBase<PractitionerGroupResponse>(); }\n}\n(ProviderSave as unknown)[immerable] = true;\n\n// @Route(\"/practitioners/group/all/{PractitionerId}\")\nexport class PractitionersGroupAllRequest implements IReturn<ResponseBase<GroupLocationsResponse>>, ISecurityId\n{\n    public skip: number|null;\n    public take: number|null;\n    public practitionerId: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<PractitionersGroupAllRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PractitionersGroupAllRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<GroupLocationsResponse>(); }\n}\n(PractitionersGroupAllRequest as unknown)[immerable] = true;\n\n// @Route(\"/practitioner/group/remove/\")\nexport class ProviderRemove implements IReturn<ResponseBase<PractitionerGroupResponse>>, ISecurityId\n{\n    public id: number|null;\n    public groupId: number|null;\n    public providerNo: string|null;\n    public groupName: string|null;\n    public practitionerId: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<ProviderRemove>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ProviderRemove'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<PractitionerGroupResponse>(); }\n}\n(ProviderRemove as unknown)[immerable] = true;\n\n// @Route(\"/practitioners\")\n// @Route(\"/practitioners/{Id}\")\nexport class PractitionerRequest implements IReturn<ResponseBase<GeneralPractitionerResponse>>, IGet\n{\n    public id: number|null;\n\n    public constructor(init?: Partial<PractitionerRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PractitionerRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<GeneralPractitionerResponse>(); }\n}\n(PractitionerRequest as unknown)[immerable] = true;\n\n// @Route(\"/practitioners\")\n// @Route(\"/practitioners/onlineId/{Id}\")\nexport class PractitionerByOnlineIdRequest implements IReturn<ResponseBase<GeneralPractitionerResponse>>\n{\n    public id: string|null;\n\n    public constructor(init?: Partial<PractitionerByOnlineIdRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PractitionerByOnlineIdRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<GeneralPractitionerResponse>(); }\n}\n(PractitionerByOnlineIdRequest as unknown)[immerable] = true;\n\n// @Route(\"/locations/all/practitioners\")\nexport class PractitionersAtAllLocationsRequest implements IReturn<ResponseBase<PractitionerLocation>>\n{\n\n    public constructor(init?: Partial<PractitionersAtAllLocationsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PractitionersAtAllLocationsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<PractitionerLocation>(); }\n}\n(PractitionersAtAllLocationsRequest as unknown)[immerable] = true;\n\n// @Route(\"/practitioners/allowed/add/{LocationId}\")\nexport class AddPractitionerRequest implements IReturn<ResponseBase<AddPractitionerResponse>>, ILocationId\n{\n    public locationId: number|null;\n\n    public constructor(init?: Partial<AddPractitionerRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AddPractitionerRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<AddPractitionerResponse>(); }\n}\n(AddPractitionerRequest as unknown)[immerable] = true;\n\n// @Route(\"/practitioners/allPractitioners\")\nexport class AllPractitionersAllRequest implements IReturn<ResponseBase<MinimalPractitioner>>, ILocationIds\n{\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<AllPractitionersAllRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AllPractitionersAllRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<MinimalPractitioner>(); }\n}\n(AllPractitionersAllRequest as unknown)[immerable] = true;\n\n// @Route(\"/practitioners/count\")\nexport class PractitionerCountRequest implements IReturn<number>\n{\n\n    public constructor(init?: Partial<PractitionerCountRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PractitionerCountRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return 0; }\n}\n(PractitionerCountRequest as unknown)[immerable] = true;\n\n// @Route(\"/practitioners/onlineId\")\nexport class UserIdByPractitionerOnlineIdRequest implements IReturn<ResponseBase<number>>\n{\n    public practitionerOnlineId: string|null;\n\n    public constructor(init?: Partial<UserIdByPractitionerOnlineIdRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UserIdByPractitionerOnlineIdRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<number>(); }\n}\n(UserIdByPractitionerOnlineIdRequest as unknown)[immerable] = true;\n\n// @Route(\"/practitioner/updatePractitionerPatients\")\nexport class UpdatePractitionersPatientsByLocation implements IReturn<boolean>, ISecurityId\n{\n    public updatedPracsByLocation: PractitionerLocationPair[]|null;\n    public id: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<UpdatePractitionersPatientsByLocation>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UpdatePractitionersPatientsByLocation'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return false; }\n}\n(UpdatePractitionersPatientsByLocation as unknown)[immerable] = true;\n\nexport class LinkPractitionerToZoomUser implements IReturn<ResponseBase<T>>\n{\n    public id: number|null;\n    public zoomUserId: string|null;\n\n    public constructor(init?: Partial<LinkPractitionerToZoomUser>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'LinkPractitionerToZoomUser'; }\n    public getMethod() { return 'PUT'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(LinkPractitionerToZoomUser as unknown)[immerable] = true;\n\n// @Route(\"/locations/{id}/practitioners\")\nexport class PractitionersAtLocationRequest implements IReturn<ResponseBase<MinimalPractitioner>>\n{\n    public id: number|null;\n\n    public constructor(init?: Partial<PractitionersAtLocationRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PractitionersAtLocationRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<MinimalPractitioner>(); }\n}\n(PractitionersAtLocationRequest as unknown)[immerable] = true;\n\n// @Route(\"/practitioner/patients/count\")\n// @Route(\"/practitioner/patients/count/{id}\")\nexport class PractitionerPatientsCount implements IReturn<ResponseBase<{ [index:number]: number; }>>, ISecurityId\n{\n    public id: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<PractitionerPatientsCount>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PractitionerPatientsCount'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<{ [index:number]: number; }>(); }\n}\n(PractitionerPatientsCount as unknown)[immerable] = true;\n\n// @Route(\"/practitioner/recentDocument\")\n// @Route(\"/practitioner/recentDocument/{PractitionerId}\")\nexport class RecentPractitionerDocumentRequest implements IReturn<RecentDocumentResponse>, IHasPath, ISecurityId\n{\n    public practitionerId: number|null;\n    public securityId: number|null;\n    public path: string|null;\n    public safeRoot: string|null;\n\n    public constructor(init?: Partial<RecentPractitionerDocumentRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'RecentPractitionerDocumentRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new RecentDocumentResponse(); }\n}\n(RecentPractitionerDocumentRequest as unknown)[immerable] = true;\n\n// @Route(\"/practitioner/save\")\nexport class PractitionerSaveRequest implements IReturn<ResponseBase<GeneralPractitionerResponse>>, ILocationId\n{\n    public id: number|null;\n    public name: string|null;\n    public code: string|null;\n    public fullAddress: string|null;\n    public locationName: string|null;\n    public title: string|null;\n    public forename: string|null;\n    public surname: string|null;\n    public gender: string|null;\n    public addressLine1: string|null;\n    public addressLine2: string|null;\n    public addressLine3: string|null;\n    public addressLine4: string|null;\n    public addressLine5: string|null;\n    public postCode: string|null;\n    public telephone: string|null;\n    public mobile: string|null;\n    public homeTelephone: string|null;\n    public email: string|null;\n    public fax: string|null;\n    public web: string|null;\n    public online: boolean|null;\n    public status: number|null;\n    public setInactiveDate: string|null;\n    public type: string|null;\n    public contractNumber: string|null;\n    public onlineGuid: string|null;\n    public defaultLocationId: number|null;\n    public regNumber: string|null;\n    public commissionFlatRate: number|null;\n    public commissionPercent: number|null;\n    public employmentStatus: string|null;\n    public taxNo: string|null;\n    public firstId: number|null;\n    public followupId: number|null;\n    public locationId: number|null;\n    public serviceTypeId: number|null;\n    public enabledForAllServices: boolean|null;\n\n    public constructor(init?: Partial<PractitionerSaveRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PractitionerSaveRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<GeneralPractitionerResponse>(); }\n}\n(PractitionerSaveRequest as unknown)[immerable] = true;\n\n// @Route(\"/practitioner/locs/save\")\nexport class PractitionersLocationsSave implements IReturn<PracStockLoc[]>, ISecurityId\n{\n    public practitionerId: number|null;\n    public securityId: number|null;\n    public locationId: number|null;\n    public practitionerServiceStockFirstStockId: number|null;\n    public practitionerServiceStockFollowupStockId: number|null;\n    public code: string|null;\n\n    public constructor(init?: Partial<PractitionersLocationsSave>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PractitionersLocationsSave'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new Array<PracStockLoc>(); }\n}\n(PractitionersLocationsSave as unknown)[immerable] = true;\n\n// @Route(\"/practitioner/locs/code/save\", \"POST\")\nexport class PractitionersLocationsCodeSave implements IReturn<ResponseBase<PracStockLoc>>, ISecurityId\n{\n    public practitionerId: number|null;\n    public securityId: number|null;\n    public locationId: number|null;\n    public code: string|null;\n\n    public constructor(init?: Partial<PractitionersLocationsCodeSave>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PractitionersLocationsCodeSave'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<PracStockLoc>(); }\n}\n(PractitionersLocationsCodeSave as unknown)[immerable] = true;\n\n// @Route(\"/practitioner/locs/delete\")\nexport class PractitionersLocationsDelete implements IReturn<PracStockLoc[]>, ILocationId, ISecurityId\n{\n    public practitionerId: number|null;\n    public locationId: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<PractitionersLocationsDelete>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PractitionersLocationsDelete'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new Array<PracStockLoc>(); }\n}\n(PractitionersLocationsDelete as unknown)[immerable] = true;\n\n// @Route(\"/practitioners/locs/all\")\n// @Route(\"/practitioners/locs/all/{Id}\")\nexport class PracLocationsWithStock implements IReturn<PracStockLoc[]>, ISecurityId\n{\n    public id: number|null;\n    public securityId: number|null;\n    public sort: QueryField[]|null;\n\n    public constructor(init?: Partial<PracLocationsWithStock>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PracLocationsWithStock'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new Array<PracStockLoc>(); }\n}\n(PracLocationsWithStock as unknown)[immerable] = true;\n\n// @Route(\"/practitioner/new/location/{id}\")\nexport class NewLocationPractitionersRequest implements IReturn<Location[]>, ILocationIds\n{\n    public id: number|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<NewLocationPractitionersRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'NewLocationPractitionersRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new Array<Location>(); }\n}\n(NewLocationPractitionersRequest as unknown)[immerable] = true;\n\n// @Route(\"/practitioners/diaryOrder\")\nexport class PractitionerDiaryOrderRequest implements IReturn<ResponseBase<CustomListItemResponse>>\n{\n    public diaryOrder: CustomListItemResponse[]|null;\n\n    public constructor(init?: Partial<PractitionerDiaryOrderRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PractitionerDiaryOrderRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<CustomListItemResponse>(); }\n}\n(PractitionerDiaryOrderRequest as unknown)[immerable] = true;\n\nexport class GetDiaryPractitioners implements IReturn<ResponseBase<PractitionerDiaryOrderResponse>>\n{\n\n    public constructor(init?: Partial<GetDiaryPractitioners>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetDiaryPractitioners'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<PractitionerDiaryOrderResponse>(); }\n}\n(GetDiaryPractitioners as unknown)[immerable] = true;\n\n// @Route(\"/practitionersWithLocations\")\nexport class GetPractitionersWithLocationsRequest implements IReturn<ResponseBase<GeneralPractitionerResponse>>, IGet\n{\n\n    public constructor(init?: Partial<GetPractitionersWithLocationsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetPractitionersWithLocationsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<GeneralPractitionerResponse>(); }\n}\n(GetPractitionersWithLocationsRequest as unknown)[immerable] = true;\n\n// @Route(\"/practitioner/status/update\")\nexport class PractitionerStatusUpdateRequest implements ILocationId\n{\n    public updates: PractitionerStatusUpdate[]|null;\n    public locationId: number|null;\n    public newLicensesAmount: number|null;\n\n    public constructor(init?: Partial<PractitionerStatusUpdateRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PractitionerStatusUpdateRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(PractitionerStatusUpdateRequest as unknown)[immerable] = true;\n\nexport class SavePractitionerSkillRequest extends PractitionerSkillBaseRequest implements IReturn<ResponseBase<T>>\n{\n\n    public constructor(init?: Partial<SavePractitionerSkillRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'SavePractitionerSkillRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(SavePractitionerSkillRequest as unknown)[immerable] = true;\n\nexport class DeletePractitionerSkillRequest extends PractitionerSkillBaseRequest implements IReturn<ResponseBase<T>>\n{\n\n    public constructor(init?: Partial<DeletePractitionerSkillRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'DeletePractitionerSkillRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(DeletePractitionerSkillRequest as unknown)[immerable] = true;\n\nexport class CreateSkillRequest implements IReturn<ResponseBase<T>>\n{\n    public name: string|null;\n\n    public constructor(init?: Partial<CreateSkillRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CreateSkillRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(CreateSkillRequest as unknown)[immerable] = true;\n\nexport class DeleteSkillRequest implements IReturn<ResponseBase<T>>\n{\n    public id: string|null;\n\n    public constructor(init?: Partial<DeleteSkillRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DeleteSkillRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(DeleteSkillRequest as unknown)[immerable] = true;\n\nexport class SkillRequest implements IReturn<ResponseBase<T>>\n{\n\n    public constructor(init?: Partial<SkillRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SkillRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(SkillRequest as unknown)[immerable] = true;\n\nexport class PractitionerSkillsRequest implements IReturn<ResponseBase<SkillResponse>>\n{\n    public practitionerId: number|null;\n\n    public constructor(init?: Partial<PractitionerSkillsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PractitionerSkillsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<SkillResponse>(); }\n}\n(PractitionerSkillsRequest as unknown)[immerable] = true;\n\nexport class PractitionerUpdateFieldBulkActionRequest extends PractitionerBulkActionBaseRequest implements IReturn<ResponseBase<UpdateFieldBulkActionResponse>>\n{\n    public field: BulkUpdateField|null;\n    public value: string|null;\n\n    public constructor(init?: Partial<PractitionerUpdateFieldBulkActionRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'PractitionerUpdateFieldBulkActionRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<UpdateFieldBulkActionResponse>(); }\n}\n(PractitionerUpdateFieldBulkActionRequest as unknown)[immerable] = true;\n\nexport class MyBookingsRequest implements IReturn<ResponseBase<MyBookingsResponse>>\n{\n    public skip: number|null;\n    public take: number|null;\n    public fromDate: string|null;\n    public toDate: string|null;\n    public type: string|null;\n    public reference: string|null;\n    public term: string|null;\n    public referrer: string|null;\n    public practitioner: string|null;\n    public status: number|null;\n    public statuses: number[]|null;\n    public sortColumn: string|null;\n    public sortDirection: string|null;\n    public referralOnly: boolean|null;\n    public customerId: number|null;\n    public workflowId: number|null;\n    public showAppointmentsInthePast: boolean|null;\n    public showNewAuths: boolean|null;\n    public showRequiresIAReportSubmission: boolean|null;\n    public showNewNotes: boolean|null;\n    public showAuthsRevoked: boolean|null;\n\n    public constructor(init?: Partial<MyBookingsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'MyBookingsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<MyBookingsResponse>(); }\n}\n(MyBookingsRequest as unknown)[immerable] = true;\n\nexport class BookingAuditsExportRequest implements IReturn<ResponseBase<string>>\n{\n    public skip: number|null;\n    public take: number|null;\n\n    public constructor(init?: Partial<BookingAuditsExportRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'BookingAuditsExportRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<string>(); }\n}\n(BookingAuditsExportRequest as unknown)[immerable] = true;\n\nexport class SingleBookingAuditRequest implements IReturn<ResponseBase<SingleBookingAuditResponse>>\n{\n    public id: string|null;\n\n    public constructor(init?: Partial<SingleBookingAuditRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SingleBookingAuditRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<SingleBookingAuditResponse>(); }\n}\n(SingleBookingAuditRequest as unknown)[immerable] = true;\n\nexport class LinkableAppointmentsRequest implements IReturn<ResponseBase<AppointmentResponse>>\n{\n    public id: string|null;\n\n    public constructor(init?: Partial<LinkableAppointmentsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'LinkableAppointmentsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<AppointmentResponse>(); }\n}\n(LinkableAppointmentsRequest as unknown)[immerable] = true;\n\nexport class LinkAppointmentsToReferralRequest implements IReturn<ResponseBase<boolean>>\n{\n    public auditId: string|null;\n    public appointments: AppointmentResponse[]|null;\n\n    public constructor(init?: Partial<LinkAppointmentsToReferralRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'LinkAppointmentsToReferralRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(LinkAppointmentsToReferralRequest as unknown)[immerable] = true;\n\nexport class MyClinicSummaryRequest implements IReturn<ResponseBase<MyClinicSummaryResponse>>\n{\n\n    public constructor(init?: Partial<MyClinicSummaryRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'MyClinicSummaryRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<MyClinicSummaryResponse>(); }\n}\n(MyClinicSummaryRequest as unknown)[immerable] = true;\n\nexport class ReferralAppointmentRequest extends ReferralAppointment implements IReturn<ResponseBase<ReferralAppointment>>\n{\n    public auditId: string|null;\n    public yesToWarnings: boolean|null;\n    public bookingAudit: BookingAuditResponse|null;\n\n    public constructor(init?: Partial<ReferralAppointmentRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'ReferralAppointmentRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ReferralAppointment>(); }\n}\n(ReferralAppointmentRequest as unknown)[immerable] = true;\n\nexport class ReportSearchRequest implements IReturn<ResponseBase<ReportSearchResponse>>\n{\n    public id: string|null;\n    public bookerId: string|null;\n    public templateId: string|null;\n\n    public constructor(init?: Partial<ReportSearchRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ReportSearchRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ReportSearchResponse>(); }\n}\n(ReportSearchRequest as unknown)[immerable] = true;\n\nexport class EditReportRequest implements IReturn<ResponseBase<ReferralReport>>\n{\n    public id: string|null;\n\n    public constructor(init?: Partial<EditReportRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'EditReportRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ReferralReport>(); }\n}\n(EditReportRequest as unknown)[immerable] = true;\n\nexport class DraftReportRequest extends ReferralReport implements IReturn<ResponseBase<ReferralReport>>\n{\n\n    public constructor(init?: Partial<DraftReportRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'DraftReportRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ReferralReport>(); }\n}\n(DraftReportRequest as unknown)[immerable] = true;\n\nexport class SubmitReportRequest extends ReferralReport implements IReturn<ResponseBase<SubmitReportResponse>>\n{\n    public appointmentsToLock: string[]|null;\n    public isSubmittedFromMyClinic: boolean|null;\n    public prontoIntegrationEnabled: boolean|null;\n    public linkInvoicesToReports: boolean|null;\n    public bookingAuditResponse: BookingAuditResponse|null;\n\n    public constructor(init?: Partial<SubmitReportRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'SubmitReportRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<SubmitReportResponse>(); }\n}\n(SubmitReportRequest as unknown)[immerable] = true;\n\nexport class ProntoInvoiceSearchRequest implements IReturn<ResponseBase<ProntoInvoiceSearchResponse>>\n{\n    public id: string|null;\n    public auditId: string|null;\n    public isRequestFromQuickBill: boolean|null;\n\n    public constructor(init?: Partial<ProntoInvoiceSearchRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ProntoInvoiceSearchRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ProntoInvoiceSearchResponse>(); }\n}\n(ProntoInvoiceSearchRequest as unknown)[immerable] = true;\n\nexport class ProntoInvoiceRequest extends ProntoInvoice implements IReturn<ResponseBase<MyClinicInvoiceResponse>>\n{\n    public submittedFromTM3: boolean|null;\n\n    public constructor(init?: Partial<ProntoInvoiceRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'ProntoInvoiceRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<MyClinicInvoiceResponse>(); }\n}\n(ProntoInvoiceRequest as unknown)[immerable] = true;\n\nexport class ProntoInvoiceSubmitRequest extends ProntoInvoice implements IReturn<ResponseBase<MyClinicInvoiceResponse>>\n{\n\n    public constructor(init?: Partial<ProntoInvoiceSubmitRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'ProntoInvoiceSubmitRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<MyClinicInvoiceResponse>(); }\n}\n(ProntoInvoiceSubmitRequest as unknown)[immerable] = true;\n\nexport class ProntoInvoiceEditRequest extends ProntoInvoice implements IReturn<ResponseBase<MyClinicInvoiceResponse>>\n{\n\n    public constructor(init?: Partial<ProntoInvoiceEditRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'ProntoInvoiceEditRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<MyClinicInvoiceResponse>(); }\n}\n(ProntoInvoiceEditRequest as unknown)[immerable] = true;\n\n// @Route(\"/referral/file/{Path*}\", \"GET\")\nexport class ReferralAttachmentPathRequest implements IReturn<HttpResult>\n{\n    public path: string|null;\n\n    public constructor(init?: Partial<ReferralAttachmentPathRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ReferralAttachmentPathRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new HttpResult(); }\n}\n(ReferralAttachmentPathRequest as unknown)[immerable] = true;\n\nexport class GetClickAppointmentsLinkableToProntoReferralRequest implements IReturn<ResponseBase<ClickLinkableAppointment>>\n{\n    public customerId: number|null;\n\n    public constructor(init?: Partial<GetClickAppointmentsLinkableToProntoReferralRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetClickAppointmentsLinkableToProntoReferralRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ClickLinkableAppointment>(); }\n}\n(GetClickAppointmentsLinkableToProntoReferralRequest as unknown)[immerable] = true;\n\nexport class RejectNewReferralRequest implements IReturn<ResponseBase<boolean>>\n{\n    public id: string|null;\n\n    public constructor(init?: Partial<RejectNewReferralRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'RejectNewReferralRequest'; }\n    public getMethod() { return 'PUT'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(RejectNewReferralRequest as unknown)[immerable] = true;\n\nexport class AcceptNewReferralRequest implements IReturn<ResponseBase<boolean>>\n{\n    public id: string|null;\n\n    public constructor(init?: Partial<AcceptNewReferralRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AcceptNewReferralRequest'; }\n    public getMethod() { return 'PUT'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(AcceptNewReferralRequest as unknown)[immerable] = true;\n\nexport class MyClinicWhoReceivesBookingsRequest implements IReturn<ResponseBase<MyClinicWhoReceivesBookingsResponse>>\n{\n    public firstTimeSetup: boolean|null;\n\n    public constructor(init?: Partial<MyClinicWhoReceivesBookingsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'MyClinicWhoReceivesBookingsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<MyClinicWhoReceivesBookingsResponse>(); }\n}\n(MyClinicWhoReceivesBookingsRequest as unknown)[immerable] = true;\n\nexport class ProntoNetworkSettingsRequest implements IReturn<ResponseBase<ProntoNetworkSettingsResponse>>\n{\n\n    public constructor(init?: Partial<ProntoNetworkSettingsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ProntoNetworkSettingsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ProntoNetworkSettingsResponse>(); }\n}\n(ProntoNetworkSettingsRequest as unknown)[immerable] = true;\n\nexport class MyClinicSettingsRequest extends ClinicSettings implements IReturn<ResponseBase<ClientWhoReceivesBookingsResponse>>\n{\n    // @Ignore()\n    public clinicId: string|null;\n\n    // @Ignore()\n    public accountName: string|null;\n\n    public constructor(init?: Partial<MyClinicSettingsRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'MyClinicSettingsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ClientWhoReceivesBookingsResponse>(); }\n}\n(MyClinicSettingsRequest as unknown)[immerable] = true;\n\nexport class MyClinicAuthorizationsRequest implements IReturn<ResponseBase<ClientWhoReceivesBookingsResponse>>\n{\n    public bookerId: string|null;\n    public clinicEnabled: boolean|null;\n    public provisionals: boolean|null;\n\n    public constructor(init?: Partial<MyClinicAuthorizationsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'MyClinicAuthorizationsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ClientWhoReceivesBookingsResponse>(); }\n}\n(MyClinicAuthorizationsRequest as unknown)[immerable] = true;\n\nexport class ClinicActivatedOrDeactivatedEmailRequest implements IReturn<ResponseBase<boolean>>\n{\n    public bookerId: string|null;\n    public clinicId: string|null;\n    public enabled: boolean|null;\n\n    public constructor(init?: Partial<ClinicActivatedOrDeactivatedEmailRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClinicActivatedOrDeactivatedEmailRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(ClinicActivatedOrDeactivatedEmailRequest as unknown)[immerable] = true;\n\nexport class LinkUpGroupRequest implements IReturn<ResponseBase<boolean>>\n{\n    public groups: GroupLinker[]|null;\n\n    public constructor(init?: Partial<LinkUpGroupRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'LinkUpGroupRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(LinkUpGroupRequest as unknown)[immerable] = true;\n\nexport class RemoveServiceRequest implements IReturn<ResponseBase<boolean>>\n{\n    public id: string|null;\n\n    public constructor(init?: Partial<RemoveServiceRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'RemoveServiceRequest'; }\n    public getMethod() { return 'DELETE'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(RemoveServiceRequest as unknown)[immerable] = true;\n\nexport class ProntoStockRequest extends ProntoStockDto implements IReturn<ResponseBase<ProntoStockDto>>\n{\n\n    public constructor(init?: Partial<ProntoStockRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'ProntoStockRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ProntoStockDto>(); }\n}\n(ProntoStockRequest as unknown)[immerable] = true;\n\nexport class SaveServiceRequest extends ClinicService implements IReturn<ResponseBase<ClinicService>>\n{\n    public targetId: string|null;\n\n    public constructor(init?: Partial<SaveServiceRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'SaveServiceRequest'; }\n    public getMethod() { return 'PUT'; }\n    public createResponse() { return new ResponseBase<ClinicService>(); }\n}\n(SaveServiceRequest as unknown)[immerable] = true;\n\nexport class ProntoPortalCardExpiryRequest\n{\n    public daysDiff: number|null;\n    public lockDate: string|null;\n\n    public constructor(init?: Partial<ProntoPortalCardExpiryRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ProntoPortalCardExpiryRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(ProntoPortalCardExpiryRequest as unknown)[immerable] = true;\n\nexport class ProntoPortalCardDetailsSaveRequest\n{\n\n    public constructor(init?: Partial<ProntoPortalCardDetailsSaveRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ProntoPortalCardDetailsSaveRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(ProntoPortalCardDetailsSaveRequest as unknown)[immerable] = true;\n\n// @Route(\"/reports/clinic-reports/{id}\", \"GET\")\nexport class ClinicReportsRequestById implements IReturn<ResponseBase<ReportsResponse>>\n{\n    public id: string|null;\n\n    public constructor(init?: Partial<ClinicReportsRequestById>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClinicReportsRequestById'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ReportsResponse>(); }\n}\n(ClinicReportsRequestById as unknown)[immerable] = true;\n\n// @Route(\"/reports/clinic-reports/save\", \"POST\")\nexport class ClinicReportsSaveRequest implements IReturn<ResponseBase<ReportsResponse>>\n{\n    public reportId: string|null;\n    public name: string|null;\n    public description: string|null;\n    public data: string|null;\n\n    public constructor(init?: Partial<ClinicReportsSaveRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClinicReportsSaveRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ReportsResponse>(); }\n}\n(ClinicReportsSaveRequest as unknown)[immerable] = true;\n\n// @Route(\"/reports/clinic-reports/delete\")\nexport class ClinicReportsDeleteRequest\n{\n    public reportId: string|null;\n\n    public constructor(init?: Partial<ClinicReportsDeleteRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClinicReportsDeleteRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(ClinicReportsDeleteRequest as unknown)[immerable] = true;\n\n// @Route(\"/reports\")\nexport class ReportsRequest implements IReturn<ResponseBase<ReportsResponse>>\n{\n\n    public constructor(init?: Partial<ReportsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ReportsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ReportsResponse>(); }\n}\n(ReportsRequest as unknown)[immerable] = true;\n\n// @Route(\"/reports/bespoke\")\nexport class GetBespokeReports implements IReturn<FolderTree>\n{\n\n    public constructor(init?: Partial<GetBespokeReports>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetBespokeReports'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new FolderTree(); }\n}\n(GetBespokeReports as unknown)[immerable] = true;\n\n// @Route(\"/reports/{ReportId}/favourite\")\nexport class ReportsFavouriteRequest\n{\n    public reportId: string|null;\n\n    public constructor(init?: Partial<ReportsFavouriteRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ReportsFavouriteRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(ReportsFavouriteRequest as unknown)[immerable] = true;\n\n// @Route(\"/reports/{ReportId}/deleteFavourite\")\nexport class ReportsDeleteFavouriteRequest\n{\n    public reportId: string|null;\n\n    public constructor(init?: Partial<ReportsDeleteFavouriteRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ReportsDeleteFavouriteRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(ReportsDeleteFavouriteRequest as unknown)[immerable] = true;\n\n// @Route(\"/rooms\", \"GET\")\n// @Route(\"/rooms/{Id}\", \"GET,PUT,DELETE\")\nexport class RoomsRequest implements IReturn<ResponseBase<RoomResponse>>, ILocationId, ISecurityId\n{\n    public id: number|null;\n    public description: string|null;\n    public locationId: number|null;\n    public status: boolean|null;\n    public hexColour: string|null;\n    public colour: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<RoomsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'RoomsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<RoomResponse>(); }\n}\n(RoomsRequest as unknown)[immerable] = true;\n\n// @Route(\"/rooms\", \"PUT\")\nexport class EditRoomsRequest implements IReturn<ResponseBase<RoomResponse>>, ILocationId, ISecurityId\n{\n    public id: number|null;\n    public description: string|null;\n    public locationId: number|null;\n    public status: boolean|null;\n    public hexColour: string|null;\n    public colour: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<EditRoomsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'EditRoomsRequest'; }\n    public getMethod() { return 'PUT'; }\n    public createResponse() { return new ResponseBase<RoomResponse>(); }\n}\n(EditRoomsRequest as unknown)[immerable] = true;\n\n// @Route(\"/rooms\", \"POST\")\nexport class CreateRoomsRequest implements IReturn<Room>, ILocationId, ISecurityId\n{\n    public id: number|null;\n    public description: string|null;\n    public locationId: number|null;\n    public status: boolean|null;\n    public hexColour: string|null;\n    public colour: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<CreateRoomsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CreateRoomsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new Room(); }\n}\n(CreateRoomsRequest as unknown)[immerable] = true;\n\n// @Route(\"/rooms/search\", \"POST\")\nexport class RoomSearchRequest extends BaseAdvancedSearchRequest implements IReturn<ResponseBase<RoomResponse>>\n{\n    public description: string|null;\n    public status: boolean|null;\n\n    public constructor(init?: Partial<RoomSearchRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'RoomSearchRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<RoomResponse>(); }\n}\n(RoomSearchRequest as unknown)[immerable] = true;\n\n// @Route(\"/rooms/search\")\n// @Route(\"/rooms/list\")\nexport class RoomsListRequest implements IReturn<Room[]>, ILocationId\n{\n    public locationId: number|null;\n\n    public constructor(init?: Partial<RoomsListRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'RoomsListRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new Array<Room>(); }\n}\n(RoomsListRequest as unknown)[immerable] = true;\n\n// @Route(\"/rooms/count\")\nexport class RoomCountRequest implements IReturn<number>\n{\n\n    public constructor(init?: Partial<RoomCountRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'RoomCountRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return 0; }\n}\n(RoomCountRequest as unknown)[immerable] = true;\n\n// @Route(\"/diary/rooms/{LocationId}\")\nexport class DiaryRoomsRequest implements IReturn<ResponseBase<RoomResponse>>, ILocationId\n{\n    public locationId: number|null;\n\n    public constructor(init?: Partial<DiaryRoomsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DiaryRoomsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<RoomResponse>(); }\n}\n(DiaryRoomsRequest as unknown)[immerable] = true;\n\n// @Route(\"/reporting-fields-service\", \"POST\")\nexport class ReportingFieldLookupDto implements IReturn<ResponseBase<ReportingFieldLookupDto>>\n{\n    public id: string|null;\n    public objectType: string|null;\n    public displayName: string|null;\n    public fieldName: string|null;\n    public fieldType: string|null;\n    public propagate: boolean|null;\n\n    public constructor(init?: Partial<ReportingFieldLookupDto>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ReportingFieldLookupDto'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ReportingFieldLookupDto>(); }\n}\n(ReportingFieldLookupDto as unknown)[immerable] = true;\n\n// @Route(\"/reporting-fields-service\", \"GET\")\nexport class GetReportingFieldLookup implements IReturn<ResponseBase<ReportingFieldLookupDto>>\n{\n    public id: string|null;\n\n    public constructor(init?: Partial<GetReportingFieldLookup>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetReportingFieldLookup'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ReportingFieldLookupDto>(); }\n}\n(GetReportingFieldLookup as unknown)[immerable] = true;\n\nexport class StockUpdateFieldBulkActionRequest extends StockBulkActionBaseRequest implements IReturn<ResponseBase<UpdateFieldBulkActionResponse>>\n{\n    public field: BulkUpdateField|null;\n    public value: string|null;\n\n    public constructor(init?: Partial<StockUpdateFieldBulkActionRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'StockUpdateFieldBulkActionRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<UpdateFieldBulkActionResponse>(); }\n}\n(StockUpdateFieldBulkActionRequest as unknown)[immerable] = true;\n\n// @Route(\"/stock/{StockId}\")\nexport class StockRequest extends BaseAdvancedSearchRequest implements IReturn<ResponseBase<StockWithLocationResponse>>, IGet, IDepartmentIds\n{\n    public stockId: number|null;\n    public departmentIds: number[]|null;\n\n    public constructor(init?: Partial<StockRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'StockRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<StockWithLocationResponse>(); }\n}\n(StockRequest as unknown)[immerable] = true;\n\n// @Route(\"/stock/location/{LocationId}\")\nexport class StockAtLocationRequest implements IReturn<ResponseBase<StockAtLocationResponse>>, ILocationId\n{\n    public locationId: number|null;\n    public term: string|null;\n\n    public constructor(init?: Partial<StockAtLocationRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'StockAtLocationRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<StockAtLocationResponse>(); }\n}\n(StockAtLocationRequest as unknown)[immerable] = true;\n\n// @Route(\"/pricing/groups\")\nexport class StockPricingGroupsRequest\n{\n\n    public constructor(init?: Partial<StockPricingGroupsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'StockPricingGroupsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(StockPricingGroupsRequest as unknown)[immerable] = true;\n\n// @Route(\"/stocksave/\")\nexport class StockSave implements IReturn<ResponseBase<StockWithLocationResponse>>, ILocationIds, IDepartmentIds\n{\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n    public id: number|null;\n    public reference: string|null;\n    public totalPrice: number|null;\n    public description: string|null;\n    public appointmentLength: number|null;\n    public groupLocationLocationId: number|null;\n    public locationId: number|null;\n    public onlineGuid: string|null;\n    public colourCss: string|null;\n    public inUse: boolean|null;\n    public priceExVAT: number|null;\n    public vatRate: number|null;\n    public vatAmount: number|null;\n    public costAmount: number|null;\n    public costVATRate: number|null;\n    public costExVAT: number|null;\n    public costVATAmount: number|null;\n    public longDescription: string|null;\n    public ledgerCode: string|null;\n    public category: string|null;\n    public level: number|null;\n    public minimumLevel: number|null;\n    public displayInPriceList: boolean|null;\n    public isPrivateCharge: boolean|null;\n    public isMultiple: boolean|null;\n    public isClass: boolean|null;\n    public serviceTypeId: number|null;\n    public migrated: boolean|null;\n    public supplierId: number|null;\n    public stockIsCancel: boolean|null;\n    public stockIsFirst: boolean|null;\n    public stockIsFollowUp: boolean|null;\n    public stockIsDNA: boolean|null;\n    public isVideo: boolean|null;\n    public managementFee: boolean|null;\n    public online: boolean|null;\n    public templateSetId: number|null;\n    public classification: string|null;\n    public tags: string[]|null;\n    public overrides: StockOverrideResponse[]|null;\n    public ledgerCodeOverrides: AccountingStockLedgerLookup[]|null;\n    public legderCodeAccountId: string|null;\n    public groupName: string|null;\n    public image: string|null;\n    public cancellationCharge: number|null;\n    public didNotAttendCharge: number|null;\n    public notes: string|null;\n    public colour: number|null;\n    public departmentIds: number[]|null;\n    public specialismId: string|null;\n    // @Ignore()\n    public templateSetName: string|null;\n\n    // @Ignore()\n    public bookingEmail: string|null;\n\n    // @Ignore()\n    public bookingSMS: string|null;\n\n    // @Ignore()\n    public cancellationEmail: string|null;\n\n    // @Ignore()\n    public cancellationSMS: string|null;\n\n    // @Ignore()\n    public reminderEmail: string|null;\n\n    // @Ignore()\n    public reminderSMS: string|null;\n\n    // @Ignore()\n    public showOnline: boolean|null;\n\n    // @Ignore()\n    public imgSrc: string|null;\n\n    // @Ignore()\n    public fullDescription: string|null;\n\n    // @Ignore()\n    public linkedServiceId: string|null;\n\n    // @Ignore()\n    public onlineCategory: string|null;\n\n    public credits: number|null;\n    public eligibleForTaxExemption: boolean|null;\n\n    public constructor(init?: Partial<StockSave>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'StockSave'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<StockWithLocationResponse>(); }\n}\n(StockSave as unknown)[immerable] = true;\n\n// @Route(\"/all/stock/all\")\nexport class AllStockAllRequest implements IReturn<ResponseBase<StockListResponse>>, ILocationIds\n{\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<AllStockAllRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AllStockAllRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<StockListResponse>(); }\n}\n(AllStockAllRequest as unknown)[immerable] = true;\n\n// @Route(\"/stock/templateSets\")\nexport class StockExistingTemplateSetsRequest\n{\n\n    public constructor(init?: Partial<StockExistingTemplateSetsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'StockExistingTemplateSetsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(StockExistingTemplateSetsRequest as unknown)[immerable] = true;\n\n// @Route(\"/stock/categories\")\nexport class StockOnlineCategoriesRequest implements IReturn<ResponseBase<StockOnlineCategoryResponse>>\n{\n\n    public constructor(init?: Partial<StockOnlineCategoriesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'StockOnlineCategoriesRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<StockOnlineCategoryResponse>(); }\n}\n(StockOnlineCategoriesRequest as unknown)[immerable] = true;\n\n// @Route(\"/categorystocksave/\")\nexport class StockWithCategoryRequest implements IReturn<ResponseBase<StockWithCategoryResponse>>, ILocationIds, IDepartmentIds\n{\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n    public departmentIds: number[]|null;\n    public excludedLocations: string[]|null;\n    public stock: StockSave|null;\n    public isAvailableOnline: boolean|null;\n\n    public constructor(init?: Partial<StockWithCategoryRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'StockWithCategoryRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<StockWithCategoryResponse>(); }\n}\n(StockWithCategoryRequest as unknown)[immerable] = true;\n\n// @Route(\"/all/stock\")\nexport class StockExportRequest extends AllStockRequest implements IReturn<ResponseBase<StockWithLocationResponse>>\n{\n\n    public constructor(init?: Partial<StockExportRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'StockExportRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<StockWithLocationResponse>(); }\n}\n(StockExportRequest as unknown)[immerable] = true;\n\n// @Route(\"/suppliers\")\nexport class SupplierRequest implements IReturn<ResponseBase<T>>\n{\n    public id: number|null;\n\n    public constructor(init?: Partial<SupplierRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SupplierRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(SupplierRequest as unknown)[immerable] = true;\n\nexport class SupplierSaveRequest implements IReturn<ResponseBase<SupplierResponse>>, ILocationId\n{\n    public id: number|null;\n    public reference: string|null;\n    public name: string|null;\n    public contact: string|null;\n    public current: boolean|null;\n    public email: string|null;\n    public telephone: string|null;\n    public web: string|null;\n    public locationId: number|null;\n    public addressLine1: string|null;\n    public addressLine2: string|null;\n    public addressLine3: string|null;\n    public addressLine4: string|null;\n    public addressLine5: string|null;\n    public postCode: string|null;\n    public accountNo: string|null;\n    public vatNumber: string|null;\n\n    public constructor(init?: Partial<SupplierSaveRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SupplierSaveRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<SupplierResponse>(); }\n}\n(SupplierSaveRequest as unknown)[immerable] = true;\n\nexport class SuppliersAdvancedSearchRequest extends BaseAdvancedSearchRequest implements IReturn<ResponseBase<SupplierResponse>>\n{\n    public status: boolean|null;\n    public address: string|null;\n    public reference: string|null;\n    public locationId: number|null;\n    public locationMulti: number[]|null;\n    public name: string|null;\n    public accountNo: string|null;\n\n    public constructor(init?: Partial<SuppliersAdvancedSearchRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'SuppliersAdvancedSearchRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<SupplierResponse>(); }\n}\n(SuppliersAdvancedSearchRequest as unknown)[immerable] = true;\n\n// @Route(\"/audit/search\")\nexport class AuditSearchRequest extends BaseAdvancedSearchRequest implements IReturn<ResponseBase<AuditResponse>>\n{\n    public customerId: number|null;\n    public objectId: number|null;\n    public objectType: string|null;\n    public action: string|null;\n    public actionDetail: string|null;\n    public user: string|null;\n    public date: DateRange|null;\n\n    public constructor(init?: Partial<AuditSearchRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'AuditSearchRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<AuditResponse>(); }\n}\n(AuditSearchRequest as unknown)[immerable] = true;\n\n// @Route(\"/audit/add\")\nexport class AuditAddRequest implements IReturn<ResponseBase<boolean>>\n{\n    public objectId: number|null;\n    public customerId: number|null;\n    public objectType: string|null;\n    public action: string|null;\n    public actionDetail: string|null;\n\n    public constructor(init?: Partial<AuditAddRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AuditAddRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(AuditAddRequest as unknown)[immerable] = true;\n\n// @Route(\"/cache/load\", \"POST\")\nexport class CacheRequest implements IReturn<ResponseBase<CacheResponse>>\n{\n    public cachedUserId: number|null;\n    public keys: { [index:string]: string; }|null;\n\n    public constructor(init?: Partial<CacheRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CacheRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<CacheResponse>(); }\n}\n(CacheRequest as unknown)[immerable] = true;\n\nexport class LookupCacheRequest extends SingleCacheRequest implements IReturn<ResponseBase<LookupCacheResponse>>\n{\n\n    public constructor(init?: Partial<LookupCacheRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'LookupCacheRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<LookupCacheResponse>(); }\n}\n(LookupCacheRequest as unknown)[immerable] = true;\n\n// @Route(\"/sys/dictionary/all\", \"Get\")\nexport class DictionaryRequestAll implements IReturn<ResponseBase<SystemDictionary>>\n{\n\n    public constructor(init?: Partial<DictionaryRequestAll>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DictionaryRequestAll'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<SystemDictionary>(); }\n}\n(DictionaryRequestAll as unknown)[immerable] = true;\n\n// @Route(\"/settings/labels/save\")\nexport class DynamicLabelUpdate implements IReturn<ResponseBase<DynamicLabelResponse>>\n{\n    public labels: LabelItem[]|null;\n\n    public constructor(init?: Partial<DynamicLabelUpdate>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DynamicLabelUpdate'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<DynamicLabelResponse>(); }\n}\n(DynamicLabelUpdate as unknown)[immerable] = true;\n\n// @Route(\"/extended/notes\")\n// @Route(\"/extended/notes/{NoteId}\")\nexport class ExtendedNotesRequest implements IReturn<ResponseBase<ExtendedNotesResponse>>, ISecurityLocator, IDepartmentIds\n{\n    public skip: number|null;\n    public take: number|null;\n    public noteId: number|null;\n    public departmentIds: number[]|null;\n\n    public constructor(init?: Partial<ExtendedNotesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ExtendedNotesRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ExtendedNotesResponse>(); }\n}\n(ExtendedNotesRequest as unknown)[immerable] = true;\n\n// @Route(\"/extended/notes/delete\", \"POST\")\nexport class ExtendedNotesDeleteRequest implements IReturn<ResponseBase<boolean>>, ILocationId, IFilterServiceTypeManually, ISecurityType\n{\n    public id: number|null;\n    public locationId: number|null;\n    public type: string|null;\n    public securityType: string|null;\n\n    public constructor(init?: Partial<ExtendedNotesDeleteRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ExtendedNotesDeleteRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(ExtendedNotesDeleteRequest as unknown)[immerable] = true;\n\n// @Route(\"/group/notes/{Id}\", \"GET\")\nexport class GroupExtendedNotesRequest implements IReturn<ResponseBase<ExtendedNotesResponse>>, ILocationId\n{\n    public skip: number|null;\n    public take: number|null;\n    public id: number|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<GroupExtendedNotesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GroupExtendedNotesRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ExtendedNotesResponse>(); }\n}\n(GroupExtendedNotesRequest as unknown)[immerable] = true;\n\n// @Route(\"/medicalcontact/notes/{ContactId}\", \"GET\")\nexport class MedicalContactExtendedNotesRequest implements IReturn<ResponseBase<ExtendedNotesResponse>>, ILocationId\n{\n    public skip: number|null;\n    public take: number|null;\n    public contactId: number|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<MedicalContactExtendedNotesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'MedicalContactExtendedNotesRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ExtendedNotesResponse>(); }\n}\n(MedicalContactExtendedNotesRequest as unknown)[immerable] = true;\n\n// @Route(\"/practitioner/notes/{PractitionerId}\")\nexport class PractitionerExtendedNotesRequest implements IReturn<ResponseBase<ExtendedNotesWithUserName>>, ISecurityId\n{\n    public skip: number|null;\n    public take: number|null;\n    public practitionerId: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<PractitionerExtendedNotesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PractitionerExtendedNotesRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ExtendedNotesWithUserName>(); }\n}\n(PractitionerExtendedNotesRequest as unknown)[immerable] = true;\n\n// @Route(\"/extended/notesave/\")\nexport class ExtendedNotesSave implements IReturn<ResponseBase<ExtendedNotesResponse>>, ISecurityId, ISecurityType, IFilterServiceTypeManually, ISecurityGuid\n{\n    public id: number|null;\n    public type: string|null;\n    public typeId: string|null;\n    public icon: string|null;\n    public colour: string|null;\n    public typeGuid: string|null;\n    public title: string|null;\n    public entry: string|null;\n    public noteType: string|null;\n    public lastModified: string|null;\n    public lockMode: string|null;\n    public lockValue: number|null;\n    public alert: boolean|null;\n    public securityId: number|null;\n    public securityType: string|null;\n    public serviceTypeId: number|null;\n    public securityGuid: string|null;\n    public acknowledgementRequired: boolean|null;\n    public alertExpiryDate: string|null;\n    public alertStartDate: string|null;\n    public contextObjectType: TimelineContextObjectType|null;\n    public contextId: number|null;\n    public linkedObjectType: TimelineLinkedObjectType|null;\n    public linkedObjectId: number|null;\n    public printOnDocument: boolean|null;\n\n    public constructor(init?: Partial<ExtendedNotesSave>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ExtendedNotesSave'; }\n    public getMethod() { return 'PUT'; }\n    public createResponse() { return new ResponseBase<ExtendedNotesResponse>(); }\n}\n(ExtendedNotesSave as unknown)[immerable] = true;\n\n// @Route(\"/locks/clear\")\nexport class LockClearRequest\n{\n\n    public constructor(init?: Partial<LockClearRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'LockClearRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(LockClearRequest as unknown)[immerable] = true;\n\n// @Route(\"/lock/request\")\nexport class LockObtainRequest implements IReturnVoid\n{\n    public objectType: string|null;\n    public objectId: number|null;\n\n    public constructor(init?: Partial<LockObtainRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'LockObtainRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(LockObtainRequest as unknown)[immerable] = true;\n\n// @Route(\"/lock/release\")\nexport class LockReleaseRequest\n{\n    public objectType: string|null;\n    public objectId: number|null;\n\n    public constructor(init?: Partial<LockReleaseRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'LockReleaseRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(LockReleaseRequest as unknown)[immerable] = true;\n\n// @Route(\"/lock/release/user\")\nexport class LockReleaseByUserRequest\n{\n\n    public constructor(init?: Partial<LockReleaseByUserRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'LockReleaseByUserRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(LockReleaseByUserRequest as unknown)[immerable] = true;\n\n// @Route(\"/lock/same\")\nexport class LockSameRequest\n{\n    public id: number|null;\n    public type: string|null;\n    public startDateTime: string|null;\n    public endDateTime: string|null;\n    public status: number|null;\n    public practitionerId: number|null;\n    public locationId: number|null;\n    public roomId: number|null;\n    public name: string|null;\n    public description: string|null;\n\n    public constructor(init?: Partial<LockSameRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'LockSameRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(LockSameRequest as unknown)[immerable] = true;\n\n// @Route(\"/lookup\")\nexport class LookupRequest implements IReturn<ResponseBase<LookupResponse>>\n{\n    public lookUpType: string|null;\n\n    public constructor(init?: Partial<LookupRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'LookupRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<LookupResponse>(); }\n}\n(LookupRequest as unknown)[immerable] = true;\n\n// @Route(\"/lookups/all\")\nexport class AllLookupRequest implements IReturn<ResponseBase<LookupResponse>>, ILocationIds\n{\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<AllLookupRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AllLookupRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<LookupResponse>(); }\n}\n(AllLookupRequest as unknown)[immerable] = true;\n\nexport class NestedLookupsFromTemplateRequest implements IReturn<ResponseBase<NestedLookupResponse>>\n{\n    public templateId: string|null;\n\n    public constructor(init?: Partial<NestedLookupsFromTemplateRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'NestedLookupsFromTemplateRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<NestedLookupResponse>(); }\n}\n(NestedLookupsFromTemplateRequest as unknown)[immerable] = true;\n\n// @Route(\"/lookups/regional\")\nexport class RegionalLookupRequest implements IReturn<ResponseBase<RegionalLookup>>\n{\n\n    public constructor(init?: Partial<RegionalLookupRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'RegionalLookupRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<RegionalLookup>(); }\n}\n(RegionalLookupRequest as unknown)[immerable] = true;\n\n// @Route(\"/lookups/add\")\nexport class AddLookupItem implements IReturn<ResponseBase<LookupResponse>>, ILocationId\n{\n    public lookupId: number|null;\n    public name: string|null;\n    public value: string|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<AddLookupItem>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AddLookupItem'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<LookupResponse>(); }\n}\n(AddLookupItem as unknown)[immerable] = true;\n\n// @Route(\"/lookups/delete\")\nexport class DeleteLookupItem implements IReturn<ResponseBase<LookupResponse>>\n{\n    public name: string|null;\n    public value: string|null;\n\n    public constructor(init?: Partial<DeleteLookupItem>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DeleteLookupItem'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<LookupResponse>(); }\n}\n(DeleteLookupItem as unknown)[immerable] = true;\n\n// @Route(\"/lookups/{Id}\")\nexport class LookupItem implements IReturn<ResponseBase<LookupResponse>>\n{\n    public id: number|null;\n    public name: string|null;\n    public value: string|null;\n\n    public constructor(init?: Partial<LookupItem>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'LookupItem'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<LookupResponse>(); }\n}\n(LookupItem as unknown)[immerable] = true;\n\n// @Route(\"/patterns\", \"GET\")\nexport class PatternRequest implements IReturn<ResponseBase<{ [index:string]: string; }>>\n{\n\n    public constructor(init?: Partial<PatternRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PatternRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<{ [index:string]: string; }>(); }\n}\n(PatternRequest as unknown)[immerable] = true;\n\n// @Route(\"/security-stats\")\nexport class SecurityStatsRequest implements IReturn<SecurityStatsResponse>\n{\n\n    public constructor(init?: Partial<SecurityStatsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SecurityStatsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new SecurityStatsResponse(); }\n}\n(SecurityStatsRequest as unknown)[immerable] = true;\n\n// @Route(\"/system/message\", \"GET\")\nexport class SystemMessageRequest\n{\n\n    public constructor(init?: Partial<SystemMessageRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SystemMessageRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(SystemMessageRequest as unknown)[immerable] = true;\n\n// @Route(\"/system/message/acknowledge\", \"POST\")\nexport class AcknowledgeSystemMessageRequest\n{\n    public messageIds: number[]|null;\n\n    public constructor(init?: Partial<AcknowledgeSystemMessageRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AcknowledgeSystemMessageRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(AcknowledgeSystemMessageRequest as unknown)[immerable] = true;\n\n// @Route(\"/sys/labels/all\")\nexport class DynamicLblRequest\n{\n\n    public constructor(init?: Partial<DynamicLblRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DynamicLblRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n\n// @Route(\"/task/{Id}\")\nexport class TaskRequest implements IReturn<ResponseBase<TaskResponse>>, ILocationId, ISecurityId\n{\n    public id: number|null;\n    public ids: number[]|null;\n    public locationId: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<TaskRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'TaskRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<TaskResponse>(); }\n}\n(TaskRequest as unknown)[immerable] = true;\n\n// @Route(\"/tasks/current/{LocationId}\", \"GET\")\nexport class AllCurrentTasksRequest implements IReturn<TaskForUser[]>, ILocationId\n{\n    public locationId: number|null;\n\n    public constructor(init?: Partial<AllCurrentTasksRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AllCurrentTasksRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new Array<TaskForUser>(); }\n}\n(AllCurrentTasksRequest as unknown)[immerable] = true;\n\n// @Route(\"/tasks/availableUsers\", \"GET\")\nexport class TasksAvailableUsers implements IReturn<UserRoleLocationWithUserName[]>, ILocationIds\n{\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<TasksAvailableUsers>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'TasksAvailableUsers'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new Array<UserRoleLocationWithUserName>(); }\n}\n(TasksAvailableUsers as unknown)[immerable] = true;\n\n// @Route(\"/user/{Id}/tasks\")\nexport class UserTaskRequest implements IReturn<ResponseBase<TaskResponse>>, ISecurityId\n{\n    public id: number|null;\n    public startDate: string|null;\n    public endDate: string|null;\n    public securityId: number|null;\n    public autoRefresh: boolean|null;\n\n    public constructor(init?: Partial<UserTaskRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UserTaskRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<TaskResponse>(); }\n}\n(UserTaskRequest as unknown)[immerable] = true;\n\n// @Route(\"/task\", \"POST\")\n// @Route(\"/task/{Id}\", \"PUT\")\nexport class TaskSaveRequest extends TaskForUser implements IReturn<ResponseBase<TaskResponse>>\n{\n\n    public constructor(init?: Partial<TaskSaveRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'TaskSaveRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<TaskResponse>(); }\n}\n(TaskSaveRequest as unknown)[immerable] = true;\n\n// @Route(\"/user/tasks/search\", \"POST\")\nexport class UserTasksSearchRequest implements IReturn<ResponseBase<T>>, ISecurityId\n{\n    public term: string|null;\n    public id: number|null;\n    public securityId: number|null;\n    public includeFuture: boolean|null;\n    public showCompleted: boolean|null;\n    public skip: number|null;\n    public take: number|null;\n\n    public constructor(init?: Partial<UserTasksSearchRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UserTasksSearchRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(UserTasksSearchRequest as unknown)[immerable] = true;\n\nexport class TrialCancellationRequest implements IReturn<ResponseBase<boolean>>\n{\n    public comments: string|null;\n\n    public constructor(init?: Partial<TrialCancellationRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'TrialCancellationRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(TrialCancellationRequest as unknown)[immerable] = true;\n\n// @Route(\"/subdomain/clientId\")\nexport class CorrectSubdomainRequest\n{\n    public clientId: string|null;\n    public email: string|null;\n\n    public constructor(init?: Partial<CorrectSubdomainRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CorrectSubdomainRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(CorrectSubdomainRequest as unknown)[immerable] = true;\n\n// @Route(\"/settings/clinical/scores-goals/search\", \"POST\")\nexport class ScoresGoalsSettingsSearchRequest implements IReturn<ResponseBase<ScoresGoalsSettingsResponse>>\n{\n\n    public constructor(init?: Partial<ScoresGoalsSettingsSearchRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ScoresGoalsSettingsSearchRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ScoresGoalsSettingsResponse>(); }\n}\n(ScoresGoalsSettingsSearchRequest as unknown)[immerable] = true;\n\n// @Route(\"/settings/clinical/scores-goals/{Id}\", \"GET\")\nexport class ScoresGoalsSettingsGetRequest implements IReturn<ResponseBase<ScoresGoalsSettingsResponse>>\n{\n    public id: number|null;\n\n    public constructor(init?: Partial<ScoresGoalsSettingsGetRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ScoresGoalsSettingsGetRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ScoresGoalsSettingsResponse>(); }\n}\n(ScoresGoalsSettingsGetRequest as unknown)[immerable] = true;\n\n// @Route(\"/settings/clinical/scores-goals/\", \"POST\")\nexport class ScoresGoalsSettingsPostRequest extends ScoresGoalsSettingsRequest implements IReturn<ResponseBase<ScoresGoalsSettingsResponse>>\n{\n\n    public constructor(init?: Partial<ScoresGoalsSettingsPostRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'ScoresGoalsSettingsPostRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ScoresGoalsSettingsResponse>(); }\n}\n(ScoresGoalsSettingsPostRequest as unknown)[immerable] = true;\n\n// @Route(\"/settings/clinical/scores-goals/{Id}\", \"PUT\")\nexport class ScoresGoalsSettingsPutRequest extends ScoresGoalsSettingsRequest implements IReturn<ResponseBase<ScoresGoalsSettingsResponse>>\n{\n\n    public constructor(init?: Partial<ScoresGoalsSettingsPutRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'ScoresGoalsSettingsPutRequest'; }\n    public getMethod() { return 'PUT'; }\n    public createResponse() { return new ResponseBase<ScoresGoalsSettingsResponse>(); }\n}\n(ScoresGoalsSettingsPutRequest as unknown)[immerable] = true;\n\n// @Route(\"/settings/clinical/scores-goals/{Id}\", \"DELETE\")\nexport class ScoresGoalsSettingsDeleteRequest implements IReturn<ResponseBase<boolean>>\n{\n    public id: number|null;\n\n    public constructor(init?: Partial<ScoresGoalsSettingsDeleteRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ScoresGoalsSettingsDeleteRequest'; }\n    public getMethod() { return 'DELETE'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(ScoresGoalsSettingsDeleteRequest as unknown)[immerable] = true;\n\nexport class AdjustNumberOfDiariesRequest implements IReturn<ResponseBase<T>>\n{\n    public numberOfDiaries: number|null;\n\n    public constructor(init?: Partial<AdjustNumberOfDiariesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AdjustNumberOfDiariesRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(AdjustNumberOfDiariesRequest as unknown)[immerable] = true;\n\nexport class GetDomainsRequest implements IReturn<ResponseBase<T>>\n{\n\n    public constructor(init?: Partial<GetDomainsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetDomainsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(GetDomainsRequest as unknown)[immerable] = true;\n\nexport class GetDomainsAuthenticationStatusRequest implements IReturn<ResponseBase<DomainAuthenticationStatusResponse>>\n{\n    public domains: string[]|null;\n\n    public constructor(init?: Partial<GetDomainsAuthenticationStatusRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetDomainsAuthenticationStatusRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<DomainAuthenticationStatusResponse>(); }\n}\n(GetDomainsAuthenticationStatusRequest as unknown)[immerable] = true;\n\nexport class AuthenticateDomainRequest implements IReturn<ResponseBase<AuthenticateDomainResponse>>\n{\n    public domain: string|null;\n    public id: number|null;\n\n    public constructor(init?: Partial<AuthenticateDomainRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AuthenticateDomainRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<AuthenticateDomainResponse>(); }\n}\n(AuthenticateDomainRequest as unknown)[immerable] = true;\n\nexport class ValidateDomainRequest implements IReturn<ResponseBase<ValidateDomainResponse>>\n{\n    public id: number|null;\n\n    public constructor(init?: Partial<ValidateDomainRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ValidateDomainRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ValidateDomainResponse>(); }\n}\n(ValidateDomainRequest as unknown)[immerable] = true;\n\nexport class DMARCWarningRequest implements IReturn<ResponseBase<boolean>>\n{\n\n    public constructor(init?: Partial<DMARCWarningRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DMARCWarningRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(DMARCWarningRequest as unknown)[immerable] = true;\n\nexport class DMARCAcknowledgementRequest implements IReturnVoid\n{\n\n    public constructor(init?: Partial<DMARCAcknowledgementRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DMARCAcknowledgementRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(DMARCAcknowledgementRequest as unknown)[immerable] = true;\n\n// @Route(\"/reports/finances/stock-reorder\")\nexport class StockReorderRequest extends BaseParamsForAllReports implements IReturn<StockReorderResponse>\n{\n    public minimumLevel: number|null;\n    public stockDescription: string|null;\n    public supplier: string|null;\n    public stockStatuses: string[]|null;\n    public reorders: string|null;\n\n    public constructor(init?: Partial<StockReorderRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'StockReorderRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new StockReorderResponse(); }\n}\n(StockReorderRequest as unknown)[immerable] = true;\n\n// @Route(\"/reports/finances/stock-sales\")\nexport class StockSalesRequest extends BaseParamsForAllReports implements IReturn<StockSalesResponse>\n{\n    public reportDate: string|null;\n    public stockDescription: string|null;\n    public ageGroupings: string[]|null;\n\n    public constructor(init?: Partial<StockSalesRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'StockSalesRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new StockSalesResponse(); }\n}\n(StockSalesRequest as unknown)[immerable] = true;\n\n// @Route(\"/reports/finances/invoice-analysis\")\nexport class InvoiceAnalysisRequest extends BaseParamsForAllReports implements IReturn<InvoiceAnalysisResponse>\n{\n    public accountTypes: string[]|null;\n    public invoiceStatuses: string[]|null;\n\n    public constructor(init?: Partial<InvoiceAnalysisRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'InvoiceAnalysisRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new InvoiceAnalysisResponse(); }\n}\n(InvoiceAnalysisRequest as unknown)[immerable] = true;\n\n// @Route(\"/reports/finances/income-analysis\")\nexport class IncomeAnalysisRequest extends BaseParamsForAllReports implements IReturn<IncomeAnalysisResponse>\n{\n    public accountTypes: string[]|null;\n    public paymentMethods: string[]|null;\n    public incomeStatuses: string[]|null;\n\n    public constructor(init?: Partial<IncomeAnalysisRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'IncomeAnalysisRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new IncomeAnalysisResponse(); }\n}\n(IncomeAnalysisRequest as unknown)[immerable] = true;\n\n// @Route(\"/reports/finances/expenditure-month-summary\")\nexport class ExpenditureMonthSummaryRequest extends BaseParamsForAllReports implements IReturn<ExpenditureMonthSummaryResponse>\n{\n\n    public constructor(init?: Partial<ExpenditureMonthSummaryRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'ExpenditureMonthSummaryRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ExpenditureMonthSummaryResponse(); }\n}\n(ExpenditureMonthSummaryRequest as unknown)[immerable] = true;\n\n// @Route(\"/reports/finances/expenditure-analysis\", \"POST\")\nexport class ExpenditureAnalysisRequest extends BaseParamsForAllReports implements IReturn<ExpenditureAnalysisResponse>\n{\n    public expenditureCategory: string[]|null;\n    public expenditureOtherPaymentMethods: string[]|null;\n\n    public constructor(init?: Partial<ExpenditureAnalysisRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'ExpenditureAnalysisRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ExpenditureAnalysisResponse(); }\n}\n(ExpenditureAnalysisRequest as unknown)[immerable] = true;\n\n// @Route(\"/reports/finances/aged-debtors\")\nexport class AgedDebtorsReportRequest extends BaseParamsForAllReports implements IReturn<AgedDebtorsResponse>\n{\n    public invoiceStatuses: string[]|null;\n    public invoiceAges: string[]|null;\n\n    public constructor(init?: Partial<AgedDebtorsReportRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'AgedDebtorsReportRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new AgedDebtorsResponse(); }\n}\n(AgedDebtorsReportRequest as unknown)[immerable] = true;\n\n// @Route(\"/reports/finances/debtors-by-account\")\nexport class DebtorsByAccountRequest extends BaseParamsForAllReports implements IReturn<DebtorsByAccountResponse>\n{\n    public invoiceStatusNames: string[]|null;\n    public accountTypeNames: string[]|null;\n\n    public constructor(init?: Partial<DebtorsByAccountRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'DebtorsByAccountRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new DebtorsByAccountResponse(); }\n}\n(DebtorsByAccountRequest as unknown)[immerable] = true;\n\n// @Route(\"/reports/finances/debtors-on-a-date\")\nexport class DebtorsOnADateReportRequest extends BaseParamsForAllReports implements IReturn<DebtorsOnADateResponse>\n{\n    public invoiceStatusOnDates: string[]|null;\n    public accountTypes: string[]|null;\n\n    public constructor(init?: Partial<DebtorsOnADateReportRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'DebtorsOnADateReportRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new DebtorsOnADateResponse(); }\n}\n(DebtorsOnADateReportRequest as unknown)[immerable] = true;\n\n// @Route(\"/reports/finances/charge-analysis\")\nexport class ChargesAnalysisReportRequest extends BaseParamsForAllReports implements IReturn<ChargeAnalysisResponse>\n{\n    public accountTypes: string[]|null;\n    public chargeDescription: string|null;\n    public billedItemCategories: string[]|null;\n    public accountName: string|null;\n    public useAccountingDate: boolean|null;\n    public invoiceStatus: InvoiceStatus|null;\n\n    public constructor(init?: Partial<ChargesAnalysisReportRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'ChargesAnalysisReportRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ChargeAnalysisResponse(); }\n}\n(ChargesAnalysisReportRequest as unknown)[immerable] = true;\n\n// @Route(\"/reports/diary/practitioner-availability\")\nexport class PractitionerAvailabilityReportRequest extends BaseParamsForAllReports implements IReturn<ResponseBase<PractitionerAvailabilityReportResponse>>\n{\n\n    public constructor(init?: Partial<PractitionerAvailabilityReportRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'PractitionerAvailabilityReportRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<PractitionerAvailabilityReportResponse>(); }\n}\n(PractitionerAvailabilityReportRequest as unknown)[immerable] = true;\n\n// @Route(\"/reports/clinical/admissions-analysis\")\nexport class AdmissionsAnalysisReportRequest extends BaseParamsForAllReports implements IReturn<AdmissionsAnalysisReportResponse>\n{\n    public bodySite: string[]|null;\n    public categories: string[]|null;\n    public ageGrouping: string[]|null;\n    public medicalContact: string|null;\n\n    public constructor(init?: Partial<AdmissionsAnalysisReportRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'AdmissionsAnalysisReportRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new AdmissionsAnalysisReportResponse(); }\n}\n(AdmissionsAnalysisReportRequest as unknown)[immerable] = true;\n\n// @Route(\"/reports/clinical/average-treatments\")\nexport class AverageTreatmentsReportRequest extends BaseParamsForAllReports implements IReturn<ResponseBase<AverageTreatmentsReportResponse>>\n{\n    public groupByItems: string|null;\n\n    public constructor(init?: Partial<AverageTreatmentsReportRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'AverageTreatmentsReportRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<AverageTreatmentsReportResponse>(); }\n}\n(AverageTreatmentsReportRequest as unknown)[immerable] = true;\n\n// @Route(\"/reports/clinical/cases-due-for-review\")\nexport class CasesDueForReviewReportRequest extends BaseParamsForAllReports implements IReturn<CasesDueForReviewReportResponse>\n{\n    public reviewDate: DateRange|null;\n    public medicalContact: string|null;\n\n    public constructor(init?: Partial<CasesDueForReviewReportRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'CasesDueForReviewReportRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new CasesDueForReviewReportResponse(); }\n}\n(CasesDueForReviewReportRequest as unknown)[immerable] = true;\n\n// @Route(\"/reports/clinical/current-case-load\")\nexport class CurrentCaseLoadReportRequest extends BaseParamsForAllReports implements IReturn<ResponseBase<CurrentCaseLoadReportResponse>>\n{\n    public bodySite: string[]|null;\n    public businesses: string|null;\n    public diagnosis: string|null;\n    public showFutureAppointments: number|null;\n    public medicalContact: string|null;\n\n    public constructor(init?: Partial<CurrentCaseLoadReportRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'CurrentCaseLoadReportRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<CurrentCaseLoadReportResponse>(); }\n}\n(CurrentCaseLoadReportRequest as unknown)[immerable] = true;\n\n// @Route(\"/reports/clinical/discharge-analysis\")\nexport class DischargeAnalysisReportRequest extends BaseParamsForAllReports implements IReturn<ResponseBase<DischargeAnalysisReportResponse>>\n{\n    public bodySite: string[]|null;\n    public businesses: string|null;\n    public patientName: string|null;\n    public diagnosis: string|null;\n    public ageGrouping: string[]|null;\n\n    public constructor(init?: Partial<DischargeAnalysisReportRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'DischargeAnalysisReportRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<DischargeAnalysisReportResponse>(); }\n}\n(DischargeAnalysisReportRequest as unknown)[immerable] = true;\n\n// @Route(\"/reports/clinical/lapsed-patients\")\nexport class LapsedPatientsReportRequest extends BaseParamsForAllReports implements IReturn<LapsedPatientsReportResponse>\n{\n    public showRemainingAuths: number|null;\n    public bodySite: string[]|null;\n    public diagnosisCode: string[]|null;\n    public remainingAuthorisation: RemainingAuthorisationOption|null;\n\n    public constructor(init?: Partial<LapsedPatientsReportRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'LapsedPatientsReportRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new LapsedPatientsReportResponse(); }\n}\n(LapsedPatientsReportRequest as unknown)[immerable] = true;\n\n// @Route(\"/reports/clients/client-analysis\")\nexport class ClientAnalysisReportRequest extends BaseParamsForAllReports implements IReturn<ResponseBase<ClientAnalysisResponse>>\n{\n    public gender: string[]|null;\n    public ageGrouping: string[]|null;\n    public businesses: string[]|null;\n    public enquirySources: string[]|null;\n    public showFutureAppointments: number|null;\n\n    public constructor(init?: Partial<ClientAnalysisReportRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClientAnalysisReportRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ClientAnalysisResponse>(); }\n}\n(ClientAnalysisReportRequest as unknown)[immerable] = true;\n\n// @Route(\"/reports/clients/client-birthdays\")\nexport class ClientBirthdayReportRequest extends BaseParamsForAllReports implements IReturn<ClientBirthdayResponse>\n{\n    public filterLastAppointmentDate: boolean|null;\n    public range: DatePartRange|null;\n    public contactMethods: number|null;\n\n    public constructor(init?: Partial<ClientBirthdayReportRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClientBirthdayReportRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ClientBirthdayResponse(); }\n}\n(ClientBirthdayReportRequest as unknown)[immerable] = true;\n\n// @Route(\"/reports/clients/client-tracking\")\nexport class ClientTrackingReportRequest extends BaseParamsForAllReports implements IReturn<ResponseBase<ClientTrackingResponse>>\n{\n    public omitPatientsThatDontNeedAction: boolean|null;\n    public businesses: string|null;\n    public ageGrouping: string[]|null;\n\n    public constructor(init?: Partial<ClientTrackingReportRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClientTrackingReportRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ClientTrackingResponse>(); }\n}\n(ClientTrackingReportRequest as unknown)[immerable] = true;\n\nexport class ClickReferrerImagePathRequest implements IReturn<ResponseBase<ClickReferrerImagePath>>\n{\n    public referrerId: string|null;\n\n    public constructor(init?: Partial<ClickReferrerImagePathRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClickReferrerImagePathRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ClickReferrerImagePath>(); }\n}\n(ClickReferrerImagePathRequest as unknown)[immerable] = true;\n\n// @Route(\"/register/click\")\nexport class ClickRegistrationRequest extends RegistrationRequest implements IReturn<ResponseBase<string>>\n{\n\n    public constructor(init?: Partial<ClickRegistrationRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClickRegistrationRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<string>(); }\n}\n(ClickRegistrationRequest as unknown)[immerable] = true;\n\n// @Route(\"/subdomain/exists\")\nexport class TM3SubdomainExistsRequest implements IReturn<ResponseBase<boolean>>\n{\n    public subdomain: string|null;\n\n    public constructor(init?: Partial<TM3SubdomainExistsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'TM3SubdomainExistsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(TM3SubdomainExistsRequest as unknown)[immerable] = true;\n\nexport class QuickStartWizardSendEnquiryEmailRequest implements IReturn<ResponseBase<boolean>>\n{\n    public locationId: number|null;\n    public type: EnquiryType|null;\n\n    public constructor(init?: Partial<QuickStartWizardSendEnquiryEmailRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'QuickStartWizardSendEnquiryEmailRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(QuickStartWizardSendEnquiryEmailRequest as unknown)[immerable] = true;\n\nexport class QuickStartWizardToggleGroupStocksRequest implements IReturn<ResponseBase<T>>\n{\n    public id: number|null;\n\n    public constructor(init?: Partial<QuickStartWizardToggleGroupStocksRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'QuickStartWizardToggleGroupStocksRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(QuickStartWizardToggleGroupStocksRequest as unknown)[immerable] = true;\n\nexport class QuickStartWizardGetGroupRequest implements IReturn<ResponseBase<QuickStartWizardGroupResponse>>\n{\n    public id: number|null;\n\n    public constructor(init?: Partial<QuickStartWizardGetGroupRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'QuickStartWizardGetGroupRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<QuickStartWizardGroupResponse>(); }\n}\n(QuickStartWizardGetGroupRequest as unknown)[immerable] = true;\n\nexport class QuickStartWizardGetGroupsRequest implements IReturn<ResponseBase<QuickStartWizardGroupResponse>>\n{\n\n    public constructor(init?: Partial<QuickStartWizardGetGroupsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'QuickStartWizardGetGroupsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<QuickStartWizardGroupResponse>(); }\n}\n(QuickStartWizardGetGroupsRequest as unknown)[immerable] = true;\n\nexport class QuickStartWizardSaveGroupRequest implements IReturn<ResponseBase<QuickStartWizardGroupResponse>>\n{\n    public email: string|null;\n    public name: string|null;\n    public id: number|null;\n    public useAuthCode: boolean|null;\n    public locationId: number|null;\n    public firstStockId: number|null;\n    public followupStockId: number|null;\n    public otherStocks: QuickStartWizardGroupStock[]|null;\n\n    public constructor(init?: Partial<QuickStartWizardSaveGroupRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'QuickStartWizardSaveGroupRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<QuickStartWizardGroupResponse>(); }\n}\n(QuickStartWizardSaveGroupRequest as unknown)[immerable] = true;\n\nexport class QuickStartWizardPractitionersRequest implements IReturn<ResponseBase<QuickStartWizardPractitionerResponse>>\n{\n    public id: number|null;\n\n    public constructor(init?: Partial<QuickStartWizardPractitionersRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'QuickStartWizardPractitionersRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<QuickStartWizardPractitionerResponse>(); }\n}\n(QuickStartWizardPractitionersRequest as unknown)[immerable] = true;\n\nexport class QuickStartWizardGetPractitionerRequest implements IReturn<ResponseBase<QuickStartWizardPractitionerResponse>>\n{\n    public id: number|null;\n\n    public constructor(init?: Partial<QuickStartWizardGetPractitionerRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'QuickStartWizardGetPractitionerRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<QuickStartWizardPractitionerResponse>(); }\n}\n(QuickStartWizardGetPractitionerRequest as unknown)[immerable] = true;\n\nexport class QuickStartWizardSavePractitionerRequest implements IReturn<ResponseBase<number>>\n{\n    public id: number|null;\n    public title: string|null;\n    public gender: string|null;\n    public forename: string|null;\n    public surname: string|null;\n    public email: string|null;\n    public mobile: string|null;\n    public firstStockId: number|null;\n    public followupStockId: number|null;\n    public locations: number[]|null;\n    public onlineGuid: string|null;\n    public isActive: boolean|null;\n\n    public constructor(init?: Partial<QuickStartWizardSavePractitionerRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'QuickStartWizardSavePractitionerRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<number>(); }\n}\n(QuickStartWizardSavePractitionerRequest as unknown)[immerable] = true;\n\nexport class QuickStartWizardUpdateDisciplineRequest implements IReturn<ResponseBase<boolean>>\n{\n    public disciplineName: string|null;\n\n    public constructor(init?: Partial<QuickStartWizardUpdateDisciplineRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'QuickStartWizardUpdateDisciplineRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(QuickStartWizardUpdateDisciplineRequest as unknown)[immerable] = true;\n\nexport class QuickStartWizardGetDisciplineRequest implements IReturn<ResponseBase<ServiceType>>\n{\n\n    public constructor(init?: Partial<QuickStartWizardGetDisciplineRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'QuickStartWizardGetDisciplineRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ServiceType>(); }\n}\n(QuickStartWizardGetDisciplineRequest as unknown)[immerable] = true;\n\nexport class QuickStartWizardGetStocksRequest implements IReturn<ResponseBase<QuickStartWizardGetStocksResponse>>\n{\n\n    public constructor(init?: Partial<QuickStartWizardGetStocksRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'QuickStartWizardGetStocksRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<QuickStartWizardGetStocksResponse>(); }\n}\n(QuickStartWizardGetStocksRequest as unknown)[immerable] = true;\n\nexport class QuickStartWizardSaveStocksRequest implements IReturn<ResponseBase<QuickStartWizardStock>>\n{\n    public reference: string|null;\n    public description: string|null;\n    public totalPrice: number|null;\n    public appointmentLength: number|null;\n    public id: number|null;\n\n    public constructor(init?: Partial<QuickStartWizardSaveStocksRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'QuickStartWizardSaveStocksRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<QuickStartWizardStock>(); }\n}\n(QuickStartWizardSaveStocksRequest as unknown)[immerable] = true;\n\nexport class QuickStartWizardStockReminderRequest implements IReturn<ResponseBase<boolean>>\n{\n    public reminderDate: string|null;\n\n    public constructor(init?: Partial<QuickStartWizardStockReminderRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'QuickStartWizardStockReminderRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(QuickStartWizardStockReminderRequest as unknown)[immerable] = true;\n\nexport class QuickStartWizardSelectTemplatePackRequest implements IReturn<ResponseBase<boolean>>\n{\n    public selectedPack: TemplatePackOptions|null;\n\n    public constructor(init?: Partial<QuickStartWizardSelectTemplatePackRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'QuickStartWizardSelectTemplatePackRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(QuickStartWizardSelectTemplatePackRequest as unknown)[immerable] = true;\n\nexport class QuickStartWizardTemplateOptionsRequest implements IReturn<ResponseBase<QuickStartWizardTemplateOptionsResponse>>\n{\n    public type: string|null;\n\n    public constructor(init?: Partial<QuickStartWizardTemplateOptionsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'QuickStartWizardTemplateOptionsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<QuickStartWizardTemplateOptionsResponse>(); }\n}\n(QuickStartWizardTemplateOptionsRequest as unknown)[immerable] = true;\n\n// @Route(\"/pronto/cache/load\", \"POST\")\nexport class ProntoCacheRequest implements IReturn<ResponseBase<T>>\n{\n\n    public constructor(init?: Partial<ProntoCacheRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ProntoCacheRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(ProntoCacheRequest as unknown)[immerable] = true;\n\nexport class GetClinicDetailsRequest implements IReturn<ResponseBase<GetClinicDetailsResponse>>\n{\n\n    public constructor(init?: Partial<GetClinicDetailsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetClinicDetailsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<GetClinicDetailsResponse>(); }\n}\n(GetClinicDetailsRequest as unknown)[immerable] = true;\n\nexport class SubmitClinicDetailsRequest implements IReturn<ResponseBase<boolean>>\n{\n    public clinicName: string|null;\n    public addressLine1: string|null;\n    public addressLine2: string|null;\n    public addressLine3: string|null;\n    public addressLine4: string|null;\n    public postCode: string|null;\n    public homeTelephone: string|null;\n    public category: string|null;\n    public previousSystem: string|null;\n    public clinicCurrencySymbol: string|null;\n\n    public constructor(init?: Partial<SubmitClinicDetailsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SubmitClinicDetailsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(SubmitClinicDetailsRequest as unknown)[immerable] = true;\n\nexport class GetNetworksRequest implements IReturn<ResponseBase<ProntoNetworkDto[]>>\n{\n\n    public constructor(init?: Partial<GetNetworksRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetNetworksRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ProntoNetworkDto[]>(); }\n}\n(GetNetworksRequest as unknown)[immerable] = true;\n\nexport class GetDisciplinesRequest implements IReturn<ResponseBase<ProntoDisciplineDto[]>>\n{\n    public networkId: string|null;\n\n    public constructor(init?: Partial<GetDisciplinesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetDisciplinesRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ProntoDisciplineDto[]>(); }\n}\n(GetDisciplinesRequest as unknown)[immerable] = true;\n\nexport class GetReferrersRequest implements IReturn<ResponseBase<ClientWhoBooks[]>>\n{\n\n    public constructor(init?: Partial<GetReferrersRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetReferrersRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ClientWhoBooks[]>(); }\n}\n(GetReferrersRequest as unknown)[immerable] = true;\n\nexport class GetReferralCharge implements IReturn<ResponseBase<ProntoStockDto[]>>\n{\n\n    public constructor(init?: Partial<GetReferralCharge>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetReferralCharge'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ProntoStockDto[]>(); }\n}\n(GetReferralCharge as unknown)[immerable] = true;\n\nexport class GetReferrersLocations implements IReturn<ResponseBase<LocationDto[]>>\n{\n\n    public constructor(init?: Partial<GetReferrersLocations>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetReferrersLocations'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<LocationDto[]>(); }\n}\n(GetReferrersLocations as unknown)[immerable] = true;\n\nexport class GetReferralChargeOverrides implements IReturn<ResponseBase<ReferrerOverrideNetworkCharge[]>>\n{\n    public networkId: string|null;\n    public referrerIds: string[]|null;\n\n    public constructor(init?: Partial<GetReferralChargeOverrides>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetReferralChargeOverrides'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ReferrerOverrideNetworkCharge[]>(); }\n}\n(GetReferralChargeOverrides as unknown)[immerable] = true;\n\nexport class GetProntoPaymentDetailsRequest implements IReturn<ResponseBase<ProntoPaymentResponse>>\n{\n    public networkId: string|null;\n    public referrerIds: string[]|null;\n\n    public constructor(init?: Partial<GetProntoPaymentDetailsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetProntoPaymentDetailsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ProntoPaymentResponse>(); }\n}\n(GetProntoPaymentDetailsRequest as unknown)[immerable] = true;\n\nexport class ProntoRegistrationRequest implements IReturn<ResponseBase<ProntoRegistrationResponse>>\n{\n    public discountCode: string|null;\n    public targetId: string|null;\n    public networkId: string|null;\n    public clinicServices: ClinicServiceSetupDto[]|null;\n    public referrers: string[]|null;\n    public referrerIds: string[]|null;\n    public isOnline: boolean|null;\n    public autoActivate: boolean|null;\n    public incrementDiscountCode: boolean|null;\n\n    public constructor(init?: Partial<ProntoRegistrationRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ProntoRegistrationRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ProntoRegistrationResponse>(); }\n}\n(ProntoRegistrationRequest as unknown)[immerable] = true;\n\nexport class StartTrialRequest implements IReturn<ResponseBase<StartTrialResponse>>\n{\n\n    public constructor(init?: Partial<StartTrialRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'StartTrialRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<StartTrialResponse>(); }\n}\n(StartTrialRequest as unknown)[immerable] = true;\n\nexport class StartSubscriptionRequest implements IReturn<ResponseBase<StartTrialResponse>>\n{\n\n    public constructor(init?: Partial<StartSubscriptionRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'StartSubscriptionRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<StartTrialResponse>(); }\n}\n(StartSubscriptionRequest as unknown)[immerable] = true;\n\nexport class ClientDowngradeToProntoOnlyRequest implements IReturn<ResponseBase<ConfirmClientDowngradeToProntoResponse>>\n{\n\n    public constructor(init?: Partial<ClientDowngradeToProntoOnlyRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClientDowngradeToProntoOnlyRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ConfirmClientDowngradeToProntoResponse>(); }\n}\n(ClientDowngradeToProntoOnlyRequest as unknown)[immerable] = true;\n\nexport class GetPatientPrescriptionsRequest implements IReturn<ResponseBase<GetPatientPrescriptionsResponse>>\n{\n    public customerId: number|null;\n    public take: number|null;\n\n    public constructor(init?: Partial<GetPatientPrescriptionsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetPatientPrescriptionsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<GetPatientPrescriptionsResponse>(); }\n}\n(GetPatientPrescriptionsRequest as unknown)[immerable] = true;\n\nexport class GetPatientPrescriptionsSummaryRequest implements IReturn<ResponseBase<GetPatientPrescriptionsSummaryResponse>>\n{\n    public customerId: number|null;\n\n    public constructor(init?: Partial<GetPatientPrescriptionsSummaryRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetPatientPrescriptionsSummaryRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<GetPatientPrescriptionsSummaryResponse>(); }\n}\n(GetPatientPrescriptionsSummaryRequest as unknown)[immerable] = true;\n\n// @Route(\"/prescription/create/nonrx\", \"POST\")\nexport class CreateNonRxPrescriptionsRequest implements IReturn<ResponseBase<CreateNonRxPrescriptionsResponse>>\n{\n    public vpid: string|null;\n    // @Required()\n    public description: string;\n\n    // @Required()\n    public quantity: string;\n\n    // @Required()\n    public directions: string;\n\n    public action: string|null;\n    public customerId: number|null;\n\n    public constructor(init?: Partial<CreateNonRxPrescriptionsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CreateNonRxPrescriptionsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<CreateNonRxPrescriptionsResponse>(); }\n}\n(CreateNonRxPrescriptionsRequest as unknown)[immerable] = true;\n\n// @Route(\"/locations/allowed/add/{LocationId}\")\nexport class AddLocationRequest implements IReturn<ResponseBase<AddLocationResponse>>, ILocationId\n{\n    public locationId: number|null;\n\n    public constructor(init?: Partial<AddLocationRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AddLocationRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<AddLocationResponse>(); }\n}\n(AddLocationRequest as unknown)[immerable] = true;\n\n// @Route(\"/locations/all\", \"GET\")\nexport class AllLocationRequest implements IReturn<ResponseBase<LocationResponse>>, ILocationIds, IGet\n{\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<AllLocationRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AllLocationRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<LocationResponse>(); }\n}\n(AllLocationRequest as unknown)[immerable] = true;\n\n// @Route(\"/locations/search\", \"POST\")\nexport class LocationSearchRequest extends BaseAdvancedSearchRequest implements IReturn<ResponseBase<Location>>\n{\n    public name: string|null;\n    public status: number|null;\n\n    public constructor(init?: Partial<LocationSearchRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'LocationSearchRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<Location>(); }\n}\n(LocationSearchRequest as unknown)[immerable] = true;\n\n// @Route(\"/locations/search/ids\", \"POST\")\nexport class LocationsSearchIdsRequest implements IReturn<ResponseBase<Location>>, ILocationIds\n{\n    public ids: number[]|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<LocationsSearchIdsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'LocationsSearchIdsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<Location>(); }\n}\n(LocationsSearchIdsRequest as unknown)[immerable] = true;\n\nexport class LocationsExportRequest implements IReturn<ResponseBase<string>>, ILocationIds\n{\n    public query: LocationSearchRequest|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<LocationsExportRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'LocationsExportRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<string>(); }\n}\n(LocationsExportRequest as unknown)[immerable] = true;\n\n// @Route(\"/locations/{LocationId}\", \"GET\")\nexport class LocationGetRequest implements IReturn<ResponseBase<LocationResponse>>, ILocationId\n{\n    public locationId: number|null;\n    public sort: QueryField[]|null;\n    public skip: number|null;\n    public take: number|null;\n\n    public constructor(init?: Partial<LocationGetRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'LocationGetRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<LocationResponse>(); }\n}\n(LocationGetRequest as unknown)[immerable] = true;\n\n// @Route(\"/locations/facilities\", \"GET\")\nexport class GetFacilitiesListRequest implements IReturn<ResponseBase<LocationFacilities>>\n{\n\n    public constructor(init?: Partial<GetFacilitiesListRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetFacilitiesListRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<LocationFacilities>(); }\n}\n(GetFacilitiesListRequest as unknown)[immerable] = true;\n\n// @Route(\"/locations/save\", \"POST\")\nexport class LocationPostRequest implements IReturn<Location>\n{\n    public id: number|null;\n    public name: string|null;\n    public addressLine1: string|null;\n    public addressLine2: string|null;\n    public addressLine3: string|null;\n    public addressLine4: string|null;\n    public addressLine5: string|null;\n    public postCode: string|null;\n    public telephone: string|null;\n    public fax: string|null;\n    public email: string|null;\n    public web: string|null;\n    public dnaStockId: number|null;\n    public cancelStockId: number|null;\n    public dnaAmount: number|null;\n    public cancelAmount: number|null;\n    public status: string|null;\n    public directions: string|null;\n    public reminderTemplateEmail_TM3: string|null;\n    public reminderTemplateSMS_TM3: string|null;\n    public facilities: LocationFacilities|null;\n    public onlineGuid: string|null;\n\n    public constructor(init?: Partial<LocationPostRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'LocationPostRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new Location(); }\n}\n(LocationPostRequest as unknown)[immerable] = true;\n\n// @Route(\"/exercise/{CustomerId}/{PractitionerId}\")\nexport class ExercisePrescriberRequest implements ICustomerId\n{\n    public customerId: number|null;\n    public practitionerId: number|null;\n\n    public constructor(init?: Partial<ExercisePrescriberRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ExercisePrescriberRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(ExercisePrescriberRequest as unknown)[immerable] = true;\n\n// @Route(\"/wibbi/{CustomerId}/{PractitionerId}\")\nexport class PhysiotecRequest implements ICustomerId\n{\n    public customerId: number|null;\n    public practitionerId: number|null;\n\n    public constructor(init?: Partial<PhysiotecRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PhysiotecRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(PhysiotecRequest as unknown)[immerable] = true;\n\n// @Route(\"/physiotools/{CustomerId}/{PractitionerId}\")\nexport class PhysiotoolsRequest implements ICustomerId\n{\n    public customerId: number|null;\n    public practitionerId: number|null;\n\n    public constructor(init?: Partial<PhysiotoolsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PhysiotoolsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(PhysiotoolsRequest as unknown)[immerable] = true;\n\n// @Route(\"/physitrack/{CustomerId}/{PractitionerId}\")\nexport class PhysitrackRequest implements ICustomerId\n{\n    public customerId: number|null;\n    public practitionerId: number|null;\n\n    public constructor(init?: Partial<PhysitrackRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PhysitrackRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(PhysitrackRequest as unknown)[immerable] = true;\n\n// @Route(\"/salaso/{CustomerId}/{PractitionerId}\", \"GET\")\nexport class SalasoRequest implements ICustomerId\n{\n    public customerId: number|null;\n    public practitionerId: number|null;\n\n    public constructor(init?: Partial<SalasoRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SalasoRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(SalasoRequest as unknown)[immerable] = true;\n\n// @Route(\"/signaturerx/integration\")\nexport class SignatureRxRequest implements IReturn<ResponseBase<SignatureRxResponse>>\n{\n    public signatureRxIntegrationCode: string|null;\n\n    public constructor(init?: Partial<SignatureRxRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SignatureRxRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<SignatureRxResponse>(); }\n}\n(SignatureRxRequest as unknown)[immerable] = true;\n\nexport class CreatePrescriptionRequest implements IReturn<ResponseBase<CreatePrescriptionResponse>>\n{\n    // @Required()\n    public action: PrescriptionActions;\n\n    public vpid: string|null;\n    // @Required()\n    public description: string;\n\n    // @Required()\n    public quantity: string;\n\n    // @Required()\n    public directions: string;\n\n    // @Required()\n    public securePin: string;\n\n    public customerId: number|null;\n\n    public constructor(init?: Partial<CreatePrescriptionRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CreatePrescriptionRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<CreatePrescriptionResponse>(); }\n}\n(CreatePrescriptionRequest as unknown)[immerable] = true;\n\n// @Route(\"/icd9/search\", \"POST\")\nexport class ICD9SearchRequest implements IReturn<ResponseBase<ICD9>>\n{\n\n    public constructor(init?: Partial<ICD9SearchRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ICD9SearchRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ICD9>(); }\n}\n(ICD9SearchRequest as unknown)[immerable] = true;\n\n// @Route(\"/system/{Password}/jobs/\")\nexport class HangfireRequest implements IReturn<ResponseBase<JobDto>>\n{\n    public password: string|null;\n    public skip: number|null;\n    public take: number|null;\n    public recurring: boolean|null;\n\n    public constructor(init?: Partial<HangfireRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'HangfireRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<JobDto>(); }\n}\n(HangfireRequest as unknown)[immerable] = true;\n\nexport class FormByGuidRequest implements IReturn<ResponseBase<FormReportResponse>>\n{\n    public globalId: string|null;\n\n    public constructor(init?: Partial<FormByGuidRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'FormByGuidRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<FormReportResponse>(); }\n}\n(FormByGuidRequest as unknown)[immerable] = true;\n\n// @Route(\"/form/reports/{PatientId}\")\nexport class FormReportsRequest implements IReturn<ResponseBase<FormReportResponse>>\n{\n    public patientId: number|null;\n    public includeClinical: boolean|null;\n    public take: number|null;\n    public onlyRequiringAction: boolean|null;\n\n    public constructor(init?: Partial<FormReportsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'FormReportsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<FormReportResponse>(); }\n}\n(FormReportsRequest as unknown)[immerable] = true;\n\nexport class DeleteFormTemplateRequest implements IReturn<ResponseBase<boolean>>\n{\n    public id: number|null;\n\n    public constructor(init?: Partial<DeleteFormTemplateRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DeleteFormTemplateRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(DeleteFormTemplateRequest as unknown)[immerable] = true;\n\nexport class ArchiveFormTemplateRequest implements IReturn<ResponseBase<boolean>>\n{\n    public id: number|null;\n\n    public constructor(init?: Partial<ArchiveFormTemplateRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ArchiveFormTemplateRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(ArchiveFormTemplateRequest as unknown)[immerable] = true;\n\n// @Route(\"/form/templates\", \"Post\")\nexport class FormTemplatesRequest implements IReturn<ResponseBase<FormTemplatesResponse>>\n{\n    public types: string[]|null;\n\n    public constructor(init?: Partial<FormTemplatesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'FormTemplatesRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<FormTemplatesResponse>(); }\n}\n(FormTemplatesRequest as unknown)[immerable] = true;\n\n// @Route(\"/form/template/editor/{Id}\")\nexport class FormTemplateEditorRequest\n{\n    public id: number|null;\n\n    public constructor(init?: Partial<FormTemplateEditorRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'FormTemplateEditorRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(FormTemplateEditorRequest as unknown)[immerable] = true;\n\n// @Route(\"/form/submit\")\nexport class SubmitFormRequest implements IReturn<boolean>\n{\n    public recordedBy: number|null;\n    public templateId: string|null;\n    public globalId: string|null;\n    public reportData: string|null;\n    public updates: Update[]|null;\n    public patientId: number|null;\n    public caseId: number|null;\n\n    public constructor(init?: Partial<SubmitFormRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SubmitFormRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return false; }\n}\n(SubmitFormRequest as unknown)[immerable] = true;\n\n// @Route(\"/form/complete\")\nexport class CompleteFormRequest implements IReturn<boolean>\n{\n    public id: string|null;\n    public patientId: number|null;\n    public templateId: string|null;\n    public caseId: number|null;\n    public updates: Update[]|null;\n    public reportData: string|null;\n    public signature: string|null;\n\n    public constructor(init?: Partial<CompleteFormRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CompleteFormRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return false; }\n}\n(CompleteFormRequest as unknown)[immerable] = true;\n\nexport class PinUnlockRequest implements IReturn<ResponseBase<boolean>>\n{\n    public pin: string|null;\n    public unlock: boolean|null;\n\n    public constructor(init?: Partial<PinUnlockRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PinUnlockRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(PinUnlockRequest as unknown)[immerable] = true;\n\n// @Route(\"/form/send\")\nexport class SendFormRequest implements IReturn<boolean>\n{\n    public patientId: number|null;\n    public templateId: string|null;\n    public caseId: number|null;\n    public type: string|null;\n    public globalId: string|null;\n    public isNew: boolean|null;\n\n    public constructor(init?: Partial<SendFormRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SendFormRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return false; }\n}\n(SendFormRequest as unknown)[immerable] = true;\n\n// @Route(\"/form/cancel\")\nexport class CancelFormRequest implements IReturn<boolean>\n{\n    public id: string|null;\n\n    public constructor(init?: Partial<CancelFormRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CancelFormRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return false; }\n}\n(CancelFormRequest as unknown)[immerable] = true;\n\n// @Route(\"/form/communication\")\nexport class UpdateCommunicationTemplate implements IReturn<boolean>\n{\n    public templateId: string|null;\n    public smsTemplate: string|null;\n    public emailTemplate: string|null;\n\n    public constructor(init?: Partial<UpdateCommunicationTemplate>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UpdateCommunicationTemplate'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return false; }\n}\n(UpdateCommunicationTemplate as unknown)[immerable] = true;\n\nexport class UpdateFormStatusRequest implements IReturn<ResponseBase<T>>\n{\n    public status: FormStatus|null;\n    public id: number|null;\n\n    public constructor(init?: Partial<UpdateFormStatusRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UpdateFormStatusRequest'; }\n    public getMethod() { return 'PUT'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(UpdateFormStatusRequest as unknown)[immerable] = true;\n\n// @Route(\"/form/decline\")\nexport class DeclineFormRequest implements IReturn<boolean>\n{\n    public id: string|null;\n\n    public constructor(init?: Partial<DeclineFormRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DeclineFormRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return false; }\n}\n(DeclineFormRequest as unknown)[immerable] = true;\n\n// @Route(\"/diary/classes\", \"POST\")\nexport class ClassesRequest implements IReturn<ResponseBase<ClassesResponse>>\n{\n    public fromDate: string|null;\n    public showWeekends: boolean|null;\n\n    public constructor(init?: Partial<ClassesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClassesRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ClassesResponse>(); }\n}\n(ClassesRequest as unknown)[immerable] = true;\n\n// @Route(\"/diary/classes/filter\", \"POST\")\nexport class FilterClassesRequest implements IReturn<ResponseBase<ClassesResponse>>\n{\n    public fromDate: string|null;\n    public classTypeIds: number[]|null;\n    public courseTypeIds: number[]|null;\n    public locationIds: number[]|null;\n    public practitionerIds: number[]|null;\n    public hideCancellations: boolean|null;\n    public showWeekends: boolean|null;\n\n    public constructor(init?: Partial<FilterClassesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'FilterClassesRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ClassesResponse>(); }\n}\n(FilterClassesRequest as unknown)[immerable] = true;\n\nexport class PatientClassesRequest\n{\n    public patientId: number|null;\n\n    public constructor(init?: Partial<PatientClassesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PatientClassesRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(PatientClassesRequest as unknown)[immerable] = true;\n\n// @Route(\"/patient/prepaid/classes/{PatientId}\", \"POST\")\nexport class PatientPrePaidClassRequest implements IReturn<ResponseBase<PatientClass>>\n{\n    public patientId: number|null;\n    public prePaidItemIds: number[]|null;\n    public skip: number|null;\n    public take: number|null;\n    public sort: QueryField[]|null;\n\n    public constructor(init?: Partial<PatientPrePaidClassRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PatientPrePaidClassRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<PatientClass>(); }\n}\n(PatientPrePaidClassRequest as unknown)[immerable] = true;\n\n// @Route(\"/dashboard\")\nexport class DashboardRequest implements IReturn<ResponseBase<DashboardResponse>>, IFilterServiceTypeManually\n{\n\n    public constructor(init?: Partial<DashboardRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DashboardRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<DashboardResponse>(); }\n}\n(DashboardRequest as unknown)[immerable] = true;\n\n// @Route(\"/dashboard/list\")\nexport class DashboardListRequest\n{\n    public startDate: string|null;\n    public endDate: string|null;\n    public locationIds: number[]|null;\n    public practitionerIds: number[]|null;\n    public roomIds: number[]|null;\n\n    public constructor(init?: Partial<DashboardListRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DashboardListRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(DashboardListRequest as unknown)[immerable] = true;\n\nexport class TimelineRequest extends BaseAdvancedSearchRequest implements IReturn<ResponseBase<Timeline>>, ISecurityLocator\n{\n    public mode: FileAreaType|null;\n    public id: number|null;\n    public types: TimelineType[]|null;\n    public subTypes: string[]|null;\n    public linkedObjectTypes: TimelineLinkedObjectType[]|null;\n    public contexts: TimelineContextObjectType[]|null;\n    public context: TimelineContextObjectType|null;\n    public contextId: number|null;\n    public linkedObjectType: TimelineLinkedObjectType|null;\n    public linkedObjectId: number|null;\n    public securityLocator: Func<Object, IClientDbAccess, SecurityDto>|null;\n\n    public constructor(init?: Partial<TimelineRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'TimelineRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<Timeline>(); }\n}\n(TimelineRequest as unknown)[immerable] = true;\n\n// @Route(\"/customer/anonymise\")\nexport class AnonymiseCustomerRequest implements IReturn<ResponseBase<boolean>>, ICustomerId\n{\n    public id: number|null;\n    public customerId: number|null;\n\n    public constructor(init?: Partial<AnonymiseCustomerRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AnonymiseCustomerRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(AnonymiseCustomerRequest as unknown)[immerable] = true;\n\nexport class CustomerUpcomingAppointmentRequest implements IReturn<ResponseBase<number>>, ICustomerId, IFilterServiceTypeManually\n{\n    public customerId: number|null;\n\n    public constructor(init?: Partial<CustomerUpcomingAppointmentRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CustomerUpcomingAppointmentRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<number>(); }\n}\n(CustomerUpcomingAppointmentRequest as unknown)[immerable] = true;\n\n// @Route(\"/customer/appointments/{CustomerId}\")\n// @Route(\"/customer/appointments/{CustomerId}/{CaseId}\")\nexport class CustomerAppointmentRequest implements IReturn<ResponseBase<AppointmentResponse>>, ICustomerId, IFilterServiceTypeManually\n{\n    public customerId: number|null;\n    public appointmentId: number|null;\n    public prePaidItemIds: number[]|null;\n    public caseId: number|null;\n    public skip: number|null;\n    public take: number|null;\n    public sort: QueryField[]|null;\n\n    public constructor(init?: Partial<CustomerAppointmentRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CustomerAppointmentRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<AppointmentResponse>(); }\n}\n(CustomerAppointmentRequest as unknown)[immerable] = true;\n\n// @Route(\"/download/patient\")\nexport class DownloadPatientRequest implements ICustomerId\n{\n    public customerId: number|null;\n    public requestDate: string|null;\n    public demographic: boolean|null;\n    public clinical: boolean|null;\n    public financial: boolean|null;\n    public documents: boolean|null;\n    public forms: boolean|null;\n    public full: boolean|null;\n\n    public constructor(init?: Partial<DownloadPatientRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DownloadPatientRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(DownloadPatientRequest as unknown)[immerable] = true;\n\n// @Route(\"/patient/{Id}/cases\")\nexport class PatientCaseSearchRequest implements IReturn<ResponseBase<CaseSearchResponse>>, ILocationId\n{\n    public skip: number|null;\n    public take: number|null;\n    public id: number|null;\n    public sort: QueryField[]|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<PatientCaseSearchRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PatientCaseSearchRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<CaseSearchResponse>(); }\n}\n(PatientCaseSearchRequest as unknown)[immerable] = true;\n\n// @Route(\"/consent\", \"GET\")\nexport class OnlineConsentRequest implements IReturn<ResponseBase<T>>\n{\n\n    public constructor(init?: Partial<OnlineConsentRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlineConsentRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(OnlineConsentRequest as unknown)[immerable] = true;\n\n// @Route(\"/consent/change\", \"POST\")\nexport class OnlineConsentChangeRequest extends OnlineConsent implements IReturn<ResponseBase<T>>\n{\n\n    public constructor(init?: Partial<OnlineConsentChangeRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlineConsentChangeRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(OnlineConsentChangeRequest as unknown)[immerable] = true;\n\n// @Route(\"/batchEmail\")\nexport class CustomBatchEmailRequest implements ISecurityIds\n{\n    public ids: BatchEmailRequestObject[]|null;\n    public template: string|null;\n    public contactId: number|null;\n    public securityIds: number[]|null;\n\n    public constructor(init?: Partial<CustomBatchEmailRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CustomBatchEmailRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(CustomBatchEmailRequest as unknown)[immerable] = true;\n\n// @Route(\"/payment/emailReceipt\")\nexport class PaymentReceiptRequest implements ISecurityId\n{\n    public id: number|null;\n    public securityId: number|null;\n    public mode: string|null;\n    public template: string|null;\n\n    public constructor(init?: Partial<PaymentReceiptRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PaymentReceiptRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(PaymentReceiptRequest as unknown)[immerable] = true;\n\n// @Route(\"/quickbill/email\")\nexport class QuickBillEmailRequest implements ISecurityId, ISecurityType\n{\n    public id: number|null;\n    public securityId: number|null;\n    public type: string|null;\n    public securityType: string|null;\n\n    public constructor(init?: Partial<QuickBillEmailRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'QuickBillEmailRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(QuickBillEmailRequest as unknown)[immerable] = true;\n\n// @Route(\"/email\")\nexport class CustomEmailRequest implements ISecurityId, ISecurityType\n{\n    public to: string[]|null;\n    public from: string|null;\n    public cc: string[]|null;\n    public bcc: string[]|null;\n    public subject: string|null;\n    public message: string|null;\n    public type: string|null;\n    public typeId: number|null;\n    public medicalContactId: number|null;\n    public fileName: string|null;\n    public attachments: AttachmentGroup|null;\n    public logMessage: string|null;\n    public createLog: boolean|null;\n    public createDocumentHistory: boolean|null;\n    public securityId: number|null;\n    public securityType: string|null;\n    public calendar: string|null;\n    public isOnline: boolean|null;\n    public fallbackCustomerId: number|null;\n    public typeGuid: string|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<CustomEmailRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CustomEmailRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(CustomEmailRequest as unknown)[immerable] = true;\n\n// @Route(\"/ccl/{ClientID}\")\nexport class ClearCachedLicenseRequest implements IReturn<Object>\n{\n    public clientID: string|null;\n\n    public constructor(init?: Partial<ClearCachedLicenseRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClearCachedLicenseRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new Object(); }\n}\n(ClearCachedLicenseRequest as unknown)[immerable] = true;\n\n// @Route(\"/ccp/{ClientID}\")\nexport class ClearCachedPermissionsRequest implements IReturn<Object>\n{\n    public clientID: string|null;\n\n    public constructor(init?: Partial<ClearCachedPermissionsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClearCachedPermissionsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new Object(); }\n}\n(ClearCachedPermissionsRequest as unknown)[immerable] = true;\n\n// @Route(\"/ccc/{ClientID}\")\nexport class ClearCachedConfigRequest implements IReturn<Object>\n{\n    public clientID: string|null;\n\n    public constructor(init?: Partial<ClearCachedConfigRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClearCachedConfigRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new Object(); }\n}\n(ClearCachedConfigRequest as unknown)[immerable] = true;\n\n// @Route(\"/ccwt/{ClientID}\")\nexport class ClearCachedWebTemplatesRequest implements IReturn<Object>\n{\n    public clientID: string|null;\n\n    public constructor(init?: Partial<ClearCachedWebTemplatesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClearCachedWebTemplatesRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new Object(); }\n}\n(ClearCachedWebTemplatesRequest as unknown)[immerable] = true;\n\n// @Route(\"/ccwr/{ClientID}\")\nexport class ClearCachedWebReportsRequest implements IReturn<Object>\n{\n    public clientID: string|null;\n\n    public constructor(init?: Partial<ClearCachedWebReportsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClearCachedWebReportsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new Object(); }\n}\n(ClearCachedWebReportsRequest as unknown)[immerable] = true;\n\n// @Route(\"/config/clear/{ClientId}/{Key}\")\nexport class ClearCachedConfig implements IReturn<Object>\n{\n    public key: string|null;\n    public clientId: string|null;\n\n    public constructor(init?: Partial<ClearCachedConfig>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClearCachedConfig'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new Object(); }\n}\n(ClearCachedConfig as unknown)[immerable] = true;\n\n// @Route(\"/ccek/{ClientID}\")\nexport class ClearCachedExtractionKeyRequest implements IReturn<Object>\n{\n    public clientID: string|null;\n\n    public constructor(init?: Partial<ClearCachedExtractionKeyRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClearCachedExtractionKeyRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new Object(); }\n}\n(ClearCachedExtractionKeyRequest as unknown)[immerable] = true;\n\n// @Route(\"/hangfire/trigger/{Code}/{Job}\")\nexport class HangfireJobTrigger implements IReturn<Object>\n{\n    public job: string|null;\n    public code: string|null;\n\n    public constructor(init?: Partial<HangfireJobTrigger>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'HangfireJobTrigger'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new Object(); }\n}\n(HangfireJobTrigger as unknown)[immerable] = true;\n\n// @Route(\"/ccj/{ClientId}\")\nexport class ClearCachedJobsRequest implements IReturn<Object>\n{\n    public clientID: string|null;\n\n    public constructor(init?: Partial<ClearCachedJobsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClearCachedJobsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new Object(); }\n}\n(ClearCachedJobsRequest as unknown)[immerable] = true;\n\n// @Route(\"/clinical/settings/labels\")\nexport class ClinicalLabelRequest\n{\n\n    public constructor(init?: Partial<ClinicalLabelRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClinicalLabelRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(ClinicalLabelRequest as unknown)[immerable] = true;\n\n// @Route(\"/clinical/settings/reportingfields\")\nexport class ClinicalReportingFieldRequest implements IReturn<ResponseBase<ClinicalReportingFieldResponse>>\n{\n\n    public constructor(init?: Partial<ClinicalReportingFieldRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClinicalReportingFieldRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ClinicalReportingFieldResponse>(); }\n}\n(ClinicalReportingFieldRequest as unknown)[immerable] = true;\n\n// @Route(\"/clinical/settings/diagnosisCodes\", \"GET\")\nexport class ClinicalSettingsDiagnosisRequest implements IReturn<ResponseBase<CustomListItemResponse>>\n{\n    public text: string|null;\n    public bodySite: string|null;\n    public mapping: string|null;\n\n    public constructor(init?: Partial<ClinicalSettingsDiagnosisRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClinicalSettingsDiagnosisRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<CustomListItemResponse>(); }\n}\n(ClinicalSettingsDiagnosisRequest as unknown)[immerable] = true;\n\n// @Route(\"/clinical/settings/diagnosisCodes\", \"POST\")\nexport class ClinicalSettingsDiagnosisRequestPost implements IReturn<DiagnosisCode>\n{\n    public text: string|null;\n    public bodySite: string|null;\n    public mapping: string|null;\n    public serviceTypeId: number|null;\n\n    public constructor(init?: Partial<ClinicalSettingsDiagnosisRequestPost>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClinicalSettingsDiagnosisRequestPost'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new DiagnosisCode(); }\n}\n(ClinicalSettingsDiagnosisRequestPost as unknown)[immerable] = true;\n\n// @Route(\"/clinical/settings/diagnosisCodes/delete\")\nexport class ClinicalSettingsDeleteDiagnosisRequest implements IReturnVoid\n{\n    public text: string|null;\n    public bodySite: string|null;\n\n    public constructor(init?: Partial<ClinicalSettingsDeleteDiagnosisRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClinicalSettingsDeleteDiagnosisRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(ClinicalSettingsDeleteDiagnosisRequest as unknown)[immerable] = true;\n\n// @Route(\"/clinical/settings/mytemplates\")\n// @Route(\"/clinical/settings/mytemplates/{Id}\")\nexport class ClinicalMyTemplatesRequest implements IReturn<ResponseBase<ClinicalMyTemplatesResponse>>, ILocationId\n{\n    public id: number|null;\n    public name: string|null;\n    public description: string|null;\n    public type: string|null;\n    public body: string|null;\n    public summary: string|null;\n    public globalId: string|null;\n    public locationId: number|null;\n    public serviceTypeId: number|null;\n    public format: BlockTemplateFormat|null;\n    public signatureRequired: boolean|null;\n\n    public constructor(init?: Partial<ClinicalMyTemplatesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClinicalMyTemplatesRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ClinicalMyTemplatesResponse>(); }\n}\n(ClinicalMyTemplatesRequest as unknown)[immerable] = true;\n\n// @Route(\"/clinical/settings/mytemplates/delete\")\nexport class ClinicalMyTemplatesDeleteRequest implements IReturn<ResponseBase<ClinicalMyTemplatesResponse>>, ILocationId\n{\n    public id: number|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<ClinicalMyTemplatesDeleteRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClinicalMyTemplatesDeleteRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ClinicalMyTemplatesResponse>(); }\n}\n(ClinicalMyTemplatesDeleteRequest as unknown)[immerable] = true;\n\n// @Route(\"/clinical/settings/mytemplates/default\")\nexport class ClinicalMyTemplatesDefaultRequest implements IReturn<ResponseBase<ClinicalMyTemplatesResponse>>, ILocationId\n{\n    public globalId: string|null;\n    public serviceTypeId: number|null;\n    public type: string|null;\n    public isFirst: boolean|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<ClinicalMyTemplatesDefaultRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClinicalMyTemplatesDefaultRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ClinicalMyTemplatesResponse>(); }\n}\n(ClinicalMyTemplatesDefaultRequest as unknown)[immerable] = true;\n\n// @Route(\"/clinical/settings/mytemplates/clone/{Id}\")\nexport class ClinicalMyTemplatesCloneRequest implements IReturn<ResponseBase<ClinicalMyTemplatesResponse>>\n{\n    public id: number|null;\n\n    public constructor(init?: Partial<ClinicalMyTemplatesCloneRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClinicalMyTemplatesCloneRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ClinicalMyTemplatesResponse>(); }\n}\n(ClinicalMyTemplatesCloneRequest as unknown)[immerable] = true;\n\n// @Route(\"/clinical/settings/flags/used\", \"GET\")\nexport class UsedFlagsRequest implements IReturn<ResponseBase<Lookup>>\n{\n\n    public constructor(init?: Partial<UsedFlagsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UsedFlagsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<Lookup>(); }\n}\n(UsedFlagsRequest as unknown)[immerable] = true;\n\n// @Route(\"/clinical/settings/flags\", \"GET\")\nexport class ClinicalSettingsFlagsRequest implements IReturn<ClinicalSettingsFlagsResponse>\n{\n    public colour: string|null;\n    public title: string|null;\n\n    public constructor(init?: Partial<ClinicalSettingsFlagsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClinicalSettingsFlagsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ClinicalSettingsFlagsResponse(); }\n}\n(ClinicalSettingsFlagsRequest as unknown)[immerable] = true;\n\n// @Route(\"/clinical/settings/flags\", \"POST\")\nexport class ClinicalSettingsFlagsRequestPost implements IReturn<ResponseBase<boolean>>\n{\n    public colour: string|null;\n    public title: string|null;\n\n    public constructor(init?: Partial<ClinicalSettingsFlagsRequestPost>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClinicalSettingsFlagsRequestPost'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(ClinicalSettingsFlagsRequestPost as unknown)[immerable] = true;\n\n// @Route(\"/clinical/settings/flags/acknowledge\")\nexport class ClinicalSettingsAcknowledgeFlagsRequest implements IReturn<ResponseBase<string>>, ILocationId\n{\n    public colour: string|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<ClinicalSettingsAcknowledgeFlagsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClinicalSettingsAcknowledgeFlagsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<string>(); }\n}\n(ClinicalSettingsAcknowledgeFlagsRequest as unknown)[immerable] = true;\n\n// @Route(\"/integrations\", \"GET\")\nexport class ClinicalSettingsIntegrationsRequest implements IReturn<ResponseBase<SystemConfig>>\n{\n\n    public constructor(init?: Partial<ClinicalSettingsIntegrationsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClinicalSettingsIntegrationsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<SystemConfig>(); }\n}\n(ClinicalSettingsIntegrationsRequest as unknown)[immerable] = true;\n\n// @Route(\"/integrations\", \"POST\")\nexport class ClinicalSettingsIntegrationsRequestPost implements IReturn<ResponseBase<boolean>>\n{\n    public settingsToUpdate: SystemConfig[]|null;\n\n    public constructor(init?: Partial<ClinicalSettingsIntegrationsRequestPost>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClinicalSettingsIntegrationsRequestPost'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(ClinicalSettingsIntegrationsRequestPost as unknown)[immerable] = true;\n\n// @Route(\"/integrations/physitrack\")\nexport class ClinicalSettingsPhysitrackIntegrationRequest implements IReturn<ResponseBase<PractitionerResponse>>\n{\n\n    public constructor(init?: Partial<ClinicalSettingsPhysitrackIntegrationRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClinicalSettingsPhysitrackIntegrationRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<PractitionerResponse>(); }\n}\n(ClinicalSettingsPhysitrackIntegrationRequest as unknown)[immerable] = true;\n\n// @Route(\"/clinical/settings/fixconvertedimages\")\nexport class ClinicalSettingsFixConvertedImagesRequest implements IReturn<ResponseBase<boolean>>\n{\n    public email: string|null;\n\n    public constructor(init?: Partial<ClinicalSettingsFixConvertedImagesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClinicalSettingsFixConvertedImagesRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(ClinicalSettingsFixConvertedImagesRequest as unknown)[immerable] = true;\n\n// @Route(\"/clinical/settings/mytemplates/hide\")\nexport class ClinicalMyTemplatesHideRequest implements IReturn<ResponseBase<ClinicalMyTemplatesResponse>>\n{\n    public id: number|null;\n    public archived: boolean|null;\n\n    public constructor(init?: Partial<ClinicalMyTemplatesHideRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClinicalMyTemplatesHideRequest'; }\n    public getMethod() { return 'PUT'; }\n    public createResponse() { return new ResponseBase<ClinicalMyTemplatesResponse>(); }\n}\n(ClinicalMyTemplatesHideRequest as unknown)[immerable] = true;\n\n// @Route(\"/lookups/nested/search\", \"POST\")\nexport class CustomLookupSearchRequest implements IReturn<ResponseBase<CustomLookupResponse>>\n{\n    public term: string|null;\n    public terms: string[]|null;\n\n    public constructor(init?: Partial<CustomLookupSearchRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CustomLookupSearchRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<CustomLookupResponse>(); }\n}\n(CustomLookupSearchRequest as unknown)[immerable] = true;\n\n// @Route(\"/lookups/nested\", \"POST\")\n// @Route(\"/lookups/nested/{Id}\", \"GET, PUT, DELETE\")\nexport class CustomLookupRequest implements IReturn<ResponseBase<CustomLookupResponse>>\n{\n    public id: number|null;\n    public name: string|null;\n    public value: string|null;\n    public alternates: string[]|null;\n    public groupId: number|null;\n    public serviceTypeId: number|null;\n\n    public constructor(init?: Partial<CustomLookupRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CustomLookupRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<CustomLookupResponse>(); }\n}\n(CustomLookupRequest as unknown)[immerable] = true;\n\nexport class CustomLookupsPutRequest implements IReturn<ResponseBase<boolean>>\n{\n    public lookups: CustomLookupRequest[]|null;\n\n    public constructor(init?: Partial<CustomLookupsPutRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CustomLookupsPutRequest'; }\n    public getMethod() { return 'PUT'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(CustomLookupsPutRequest as unknown)[immerable] = true;\n\n// @Route(\"/lookups/nested/alternates\")\nexport class AlternateLookupRequest implements IReturn<ResponseBase<{ [index:string]: { [index:string]: string; }; }>>\n{\n\n    public constructor(init?: Partial<AlternateLookupRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AlternateLookupRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<{ [index:string]: { [index:string]: string; }; }>(); }\n}\n(AlternateLookupRequest as unknown)[immerable] = true;\n\n// @Route(\"/system/keepalive\", \"POST\")\nexport class KeepAliveRequest implements IReturn<ResponseBase<boolean>>\n{\n\n    public constructor(init?: Partial<KeepAliveRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'KeepAliveRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(KeepAliveRequest as unknown)[immerable] = true;\n\n// @Route(\"/sso\")\nexport class SsoRequest\n{\n    public sso: string|null;\n    public sig: string|null;\n\n    public constructor(init?: Partial<SsoRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SsoRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(SsoRequest as unknown)[immerable] = true;\n\n// @Route(\"/clinical/templates\", \"GET\")\nexport class ClinicalTemplateRequest implements IReturn<ResponseBase<ClinicalTemplatesResponse>>\n{\n\n    public constructor(init?: Partial<ClinicalTemplateRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClinicalTemplateRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ClinicalTemplatesResponse>(); }\n}\n(ClinicalTemplateRequest as unknown)[immerable] = true;\n\n// @Route(\"/templates/type\", \"POST\")\n// @Route(\"/templates/type/{Type}\", \"POST\")\nexport class TemplatesByTypeRequest implements IReturn<ResponseBase<Template>>\n{\n    public type: string|null;\n    public types: string[]|null;\n\n    public constructor(init?: Partial<TemplatesByTypeRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'TemplatesByTypeRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<Template>(); }\n}\n(TemplatesByTypeRequest as unknown)[immerable] = true;\n\nexport class TemplateRequest implements IReturn<ResponseBase<TemplateResponse>>\n{\n    public id: number|null;\n\n    public constructor(init?: Partial<TemplateRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'TemplateRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<TemplateResponse>(); }\n}\n(TemplateRequest as unknown)[immerable] = true;\n\nexport class SaveTemplateRequest implements IReturn<ResponseBase<boolean>>\n{\n    public id: number|null;\n    public body: string|null;\n    public name: string|null;\n    public signatureRequired: boolean|null;\n\n    public constructor(init?: Partial<SaveTemplateRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SaveTemplateRequest'; }\n    public getMethod() { return 'PUT'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(SaveTemplateRequest as unknown)[immerable] = true;\n\nexport class ClickAccountPaymentsStatsRequest implements IReturn<ResponseBase<ClickAccountPaymentsStatsResponse>>\n{\n    public accountId: number|null;\n\n    public constructor(init?: Partial<ClickAccountPaymentsStatsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClickAccountPaymentsStatsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ClickAccountPaymentsStatsResponse>(); }\n}\n(ClickAccountPaymentsStatsRequest as unknown)[immerable] = true;\n\nexport class ClickAccountInvoiceStatsRequest implements IReturn<ResponseBase<ClickAccountInvoiceStatsResponse>>\n{\n    public accountId: number|null;\n\n    public constructor(init?: Partial<ClickAccountInvoiceStatsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClickAccountInvoiceStatsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ClickAccountInvoiceStatsResponse>(); }\n}\n(ClickAccountInvoiceStatsRequest as unknown)[immerable] = true;\n\nexport class ClickAccountUninvoicedChargesCountRequest implements IReturn<ResponseBase<ClickAccountUninvoicedChargesCountResponse>>\n{\n    public accountId: number|null;\n\n    public constructor(init?: Partial<ClickAccountUninvoicedChargesCountRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClickAccountUninvoicedChargesCountRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ClickAccountUninvoicedChargesCountResponse>(); }\n}\n(ClickAccountUninvoicedChargesCountRequest as unknown)[immerable] = true;\n\nexport class ClickAccountBusinessUninvoicedChargesCountRequest implements IReturn<ResponseBase<ClickAccountUninvoicedChargesCountResponse>>\n{\n    public accountId: number|null;\n\n    public constructor(init?: Partial<ClickAccountBusinessUninvoicedChargesCountRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClickAccountBusinessUninvoicedChargesCountRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ClickAccountUninvoicedChargesCountResponse>(); }\n}\n(ClickAccountBusinessUninvoicedChargesCountRequest as unknown)[immerable] = true;\n\nexport class ClickAccountBusinessInvoiceStatsRequest implements IReturn<ResponseBase<ClickAccountInvoiceStatsResponse>>\n{\n    public accountId: number|null;\n\n    public constructor(init?: Partial<ClickAccountBusinessInvoiceStatsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClickAccountBusinessInvoiceStatsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ClickAccountInvoiceStatsResponse>(); }\n}\n(ClickAccountBusinessInvoiceStatsRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/{Id}/print\", \"POST\")\nexport class CasePrintingRequest implements IReturn<ResponseBase<CasePrintingResponse>>, ISecurityId, IFilterServiceTypeManually\n{\n    public id: number|null;\n    public locationIds: number[]|null;\n    public items: CasePrintingItem[]|null;\n    public goals: number[]|null;\n    public scores: number[]|null;\n    public discharge: boolean|null;\n    public pmh: boolean|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<CasePrintingRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CasePrintingRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<CasePrintingResponse>(); }\n}\n(CasePrintingRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/{id}/reports/search\", \"GET\")\nexport class CaseReportSearchRequest implements IReturn<ResponseBase<CaseReportSearchResponse>>, ILocationIds, ISecurityId\n{\n    public id: number|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<CaseReportSearchRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CaseReportSearchRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<CaseReportSearchResponse>(); }\n}\n(CaseReportSearchRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/{CaseId}/reports\", \"POST\")\n// @Route(\"/cases/{CaseId}/reports/{Id}\", \"PUT\")\nexport class CaseReportRequest extends CaseReport implements IReturn<ResponseBase<CaseReport>>, IHasCaseId, ISecurityId\n{\n    public caseId: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<CaseReportRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'CaseReportRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<CaseReport>(); }\n}\n(CaseReportRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/{CaseId}/reports/{Id}/submit\", \"POST\")\nexport class CaseReportSubmitRequest extends CaseReport implements IReturn<ResponseBase<CaseReport>>, IHasCaseId, ISecurityId\n{\n    public caseId: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<CaseReportSubmitRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'CaseReportSubmitRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<CaseReport>(); }\n}\n(CaseReportSubmitRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/{CaseId}/reports/{Id}/clone\", \"POST\")\nexport class CaseReportCloneRequest extends CaseReport implements IReturn<ResponseBase<Object>>, IHasCaseId, ISecurityId\n{\n    public caseId: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<CaseReportCloneRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'CaseReportCloneRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<Object>(); }\n}\n(CaseReportCloneRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/{CaseId}/reports/{Id}/acknowledge\", \"POST\")\nexport class CaseReportAcknowledgeRequest implements IReturn<Object>, ISecurityId\n{\n    public id: string|null;\n    public caseId: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<CaseReportAcknowledgeRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CaseReportAcknowledgeRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new Object(); }\n}\n(CaseReportAcknowledgeRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/{CaseId}/attachments/{Name}\", \"GET\")\nexport class CaseReportAttachmentRequest implements IReturn<Object>, ISecurityId\n{\n    public name: string|null;\n    public caseId: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<CaseReportAttachmentRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CaseReportAttachmentRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new Object(); }\n}\n(CaseReportAttachmentRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/dashboard/search\")\nexport class CaseDashboardSearchRequest implements IReturn<ResponseBase<CaseDashboardResponse>>, ILocationIds, IFilterServiceTypeManually\n{\n    public skip: number|null;\n    public take: number|null;\n    public awaiting: boolean|null;\n    public inTreatment: boolean|null;\n    public noNotes: boolean|null;\n    public practitionerId: number|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<CaseDashboardSearchRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CaseDashboardSearchRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<CaseDashboardResponse>(); }\n}\n(CaseDashboardSearchRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/search\")\nexport class CaseSearchRequest extends BaseAdvancedSearchRequest implements IReturn<ResponseBase<CaseSearchResponse>>\n{\n    public admittedBetweenDates: DateRange|null;\n    public dischargedBetweenDates: DateRange|null;\n    public bodySites: string[]|null;\n    public diagnosisCode: string[]|null;\n    public practitionerIds: number[]|null;\n    public id: number|null;\n    public businessIds: number[]|null;\n    public statuses: number[]|null;\n    public name: string|null;\n    public searchApplied: boolean|null;\n    public userIsPractitioner: boolean|null;\n    public dashboardRequest: boolean|null;\n    public initialLoad: boolean|null;\n\n    public constructor(init?: Partial<CaseSearchRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'CaseSearchRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<CaseSearchResponse>(); }\n}\n(CaseSearchRequest as unknown)[immerable] = true;\n\n// @Route(\"/case/{Id}/audit\", \"POST\")\nexport class CaseAudit implements IReturn<CaseAuditResponse>, ILocationIds, ISecurityId\n{\n    public id: number|null;\n    public userId: number|null;\n    public note: string|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<CaseAudit>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CaseAudit'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new CaseAuditResponse(); }\n}\n(CaseAudit as unknown)[immerable] = true;\n\n// @Route(\"/cases/{Id}/autosave\", \"POST\")\nexport class CaseAutoSaveRequest implements IReturn<AutoSaveResult[]>, ILocationIds\n{\n    public id: number|null;\n    public updates: AutoSaveUpdate[]|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<CaseAutoSaveRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CaseAutoSaveRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new Array<AutoSaveResult>(); }\n}\n(CaseAutoSaveRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/{Id}/close\", \"POST\")\nexport class CaseCloseRequest implements IReturn<AutoSaveResult[]>, ILocationIds\n{\n    public id: number|null;\n    public updates: AutoSaveUpdate[]|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<CaseCloseRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CaseCloseRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new Array<AutoSaveResult>(); }\n}\n(CaseCloseRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/{Id}/delete\", \"POST\")\nexport class CaseDeleteRequest implements IReturn<ResponseBase<boolean>>, ILocationIds\n{\n    public id: number|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<CaseDeleteRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CaseDeleteRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(CaseDeleteRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/{Id}/delete\", \"POST\")\nexport class CaseUnlinkAndDelete extends CaseDeleteRequest implements IReturn<ResponseBase<boolean>>\n{\n\n    public constructor(init?: Partial<CaseUnlinkAndDelete>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'CaseUnlinkAndDelete'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(CaseUnlinkAndDelete as unknown)[immerable] = true;\n\n// @Route(\"/cases/{Id}/update\", \"POST\")\nexport class CaseUpdateRequest implements IReturnVoid, ILocationIds\n{\n    public id: number|null;\n    public updates: AutoSaveUpdate[]|null;\n    public lastModified: string|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<CaseUpdateRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CaseUpdateRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(CaseUpdateRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/{Id}/discharge\", \"POST\")\nexport class CaseDischargeRequest implements IReturn<ResponseBase<string>>, ILocationIds\n{\n    public id: number|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<CaseDischargeRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CaseDischargeRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<string>(); }\n}\n(CaseDischargeRequest as unknown)[immerable] = true;\n\nexport class CaseIsTaxExempt implements IReturn<ResponseBase<boolean>>\n{\n    public appointmentId: number|null;\n    public caseId: number|null;\n\n    public constructor(init?: Partial<CaseIsTaxExempt>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CaseIsTaxExempt'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(CaseIsTaxExempt as unknown)[immerable] = true;\n\n// @Route(\"/cases/{Id}/highlight\", \"POST\")\nexport class CaseHighlightRequest implements IReturn<ResponseBase<boolean>>, ILocationIds\n{\n    public id: number|null;\n    public type: string|null;\n    public highlights: { [index:string]: number[]; }|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<CaseHighlightRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CaseHighlightRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(CaseHighlightRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/{Id}\", \"GET\")\nexport class CaseGetRequest implements IReturn<CaseDetailsDto>, ISecurityId\n{\n    public id: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<CaseGetRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CaseGetRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new CaseDetailsDto(); }\n}\n(CaseGetRequest as unknown)[immerable] = true;\n\nexport class CaseUpdateTaxStatus implements IReturn<ResponseBase<boolean>>\n{\n    public caseId: number|null;\n    public taxExempt: boolean|null;\n\n    public constructor(init?: Partial<CaseUpdateTaxStatus>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CaseUpdateTaxStatus'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(CaseUpdateTaxStatus as unknown)[immerable] = true;\n\n// @Route(\"/cases/new\", \"GET\")\nexport class CaseNewRequest implements IReturn<CaseDetailsDto>, ILocationIds\n{\n    public patientId: number|null;\n    public appointmentId: number|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<CaseNewRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CaseNewRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new CaseDetailsDto(); }\n}\n(CaseNewRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/{Id}/upgrade\")\nexport class CaseUpgradeRequest implements IReturn<ResponseBase<boolean>>, ILocationIds\n{\n    public id: number|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<CaseUpgradeRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CaseUpgradeRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(CaseUpgradeRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/{id}/history\")\nexport class CaseHistoryRequest implements IReturn<ResponseBase<HistoryResult>>, ISecurityId\n{\n    public id: number|null;\n    public securityId: number|null;\n    public formStatus: FormStatus[]|null;\n\n    public constructor(init?: Partial<CaseHistoryRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CaseHistoryRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<HistoryResult>(); }\n}\n(CaseHistoryRequest as unknown)[immerable] = true;\n\n// @Route(\"/case/{CustomerId}\")\n// @Route(\"/case\")\nexport class CaseDropdownRequest implements IReturn<ResponseBase<CaseDropDownResposne>>, ILocationIds\n{\n    public skip: number|null;\n    public take: number|null;\n    public customerId: number|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<CaseDropdownRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CaseDropdownRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<CaseDropDownResposne>(); }\n}\n(CaseDropdownRequest as unknown)[immerable] = true;\n\n// @Route(\"/case/reviewDate\")\nexport class CaseReviewDateRequest implements IReturn<ResponseBase<boolean>>, ILocationIds\n{\n    public caseId: number|null;\n    public reviewDate: string|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<CaseReviewDateRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CaseReviewDateRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(CaseReviewDateRequest as unknown)[immerable] = true;\n\n// @Route(\"/case/{CaseId}/notes/add\")\nexport class PostCloseNotesRequest implements IReturn<ResponseBase<PostCloseNotesWithUser>>, ISecurityId\n{\n    public id: number|null;\n    public caseId: number|null;\n    public securityId: number|null;\n    public treatmentId: number|null;\n    public userId: number|null;\n    public notes: string|null;\n    public date: string|null;\n    public type: string|null;\n\n    public constructor(init?: Partial<PostCloseNotesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PostCloseNotesRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<PostCloseNotesWithUser>(); }\n}\n(PostCloseNotesRequest as unknown)[immerable] = true;\n\n// @Route(\"/case/customers/{CustomerId}/{CaseId}\")\nexport class CaseCustomerRequest implements IReturn<ResponseBase<GeneralCustomerResponse>>, ISecurityId\n{\n    public customerId: number|null;\n    public caseId: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<CaseCustomerRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CaseCustomerRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<GeneralCustomerResponse>(); }\n}\n(CaseCustomerRequest as unknown)[immerable] = true;\n\n// @Route(\"/casecheck/appt\")\nexport class AppointmentCheck implements IReturn<ResponseBase<boolean>>\n{\n    public caseId: number|null;\n    public appointmentId: number|null;\n\n    public constructor(init?: Partial<AppointmentCheck>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AppointmentCheck'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(AppointmentCheck as unknown)[immerable] = true;\n\n// @Route(\"/cases/{Id}/background\", \"GET, POST\")\nexport class CaseBackgroundRequest implements IReturn<ResponseBase<CustomerBackgroundResponse>>, ISecurityId\n{\n    public id: number|null;\n    public data: { [index:string]: Object; }|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<CaseBackgroundRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CaseBackgroundRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<CustomerBackgroundResponse>(); }\n}\n(CaseBackgroundRequest as unknown)[immerable] = true;\n\n// @Route(\"/customer/{CustomerId}/background\", \"GET, POST\")\nexport class CustomerBackgroundRequest implements IReturn<ResponseBase<CustomerBackgroundResponse>>, ICustomerId\n{\n    public customerId: number|null;\n    public data: { [index:string]: Object; }|null;\n\n    public constructor(init?: Partial<CustomerBackgroundRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CustomerBackgroundRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<CustomerBackgroundResponse>(); }\n}\n(CustomerBackgroundRequest as unknown)[immerable] = true;\n\n// @Route(\"/background/{Id}/highlight\", \"POST\")\nexport class BackgroundHighlightRequest implements IReturn<ResponseBase<boolean>>, ILocationIds\n{\n    public id: number|null;\n    public highlights: { [index:string]: number[]; }|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<BackgroundHighlightRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'BackgroundHighlightRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(BackgroundHighlightRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/cache/all\", \"GET\")\nexport class ClinicalCacheRequest implements IReturn<ClinicalCacheResponse>\n{\n\n    public constructor(init?: Partial<ClinicalCacheRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClinicalCacheRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ClinicalCacheResponse(); }\n}\n(ClinicalCacheRequest as unknown)[immerable] = true;\n\n// @Route(\"/clinical/logs/{CustomerId}/{CaseId}\")\n// @Route(\"/clinical/logs/{CustomerId}/{CaseId}/{Id}\")\nexport class ClinicalLogRequest implements IReturn<ResponseBase<IPatientInfoResponse>>, ICustomerId, IDepartmentIds\n{\n    public id: number|null;\n    public customerId: number|null;\n    public caseId: number|null;\n    public departmentIds: number[]|null;\n\n    public constructor(init?: Partial<ClinicalLogRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClinicalLogRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<IPatientInfoResponse>(); }\n}\n(ClinicalLogRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/{CaseId}/consultation/{TreatmentId}/items/{Id}/highlight\", \"POST\")\nexport class ConsultationItemHighlightRequest implements IReturn<ResponseBase<boolean>>, ISecurityId\n{\n    public id: number|null;\n    public caseId: number|null;\n    public treatmentId: number|null;\n    public highlights: { [index:string]: number[]; }|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<ConsultationItemHighlightRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ConsultationItemHighlightRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(ConsultationItemHighlightRequest as unknown)[immerable] = true;\n\n// @Route(\"/diagnosiscodes/all\")\nexport class DiagnosisCodeRequest implements IReturn<ResponseBase<CustomListItemResponse>>\n{\n\n    public constructor(init?: Partial<DiagnosisCodeRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DiagnosisCodeRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<CustomListItemResponse>(); }\n}\n(DiagnosisCodeRequest as unknown)[immerable] = true;\n\n// @Route(\"/diagnosiscodes/allVals\")\n// @Route(\"/diagnosiscodes/lookupVals\")\nexport class DiagnosisCodeLookupRequest implements IReturn<ResponseBase<DiagnosisCodeTempResponse>>\n{\n\n    public constructor(init?: Partial<DiagnosisCodeLookupRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DiagnosisCodeLookupRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<DiagnosisCodeTempResponse>(); }\n}\n(DiagnosisCodeLookupRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/{CaseId}/diagram\", \"POST\")\n// @Route(\"/cases/{CaseId}/diagram/{Id}\", \"PUT, DELETE\")\nexport class DiagramRequest implements IReturn<ClinicalDiagram>, ISecurityId\n{\n    public id: number|null;\n    public caseId: number|null;\n    public securityId: number|null;\n    public treatmentId: number|null;\n    public dateTime: string|null;\n    public value: { [index:string]: Object; }[]|null;\n\n    public constructor(init?: Partial<DiagramRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DiagramRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ClinicalDiagram(); }\n}\n(DiagramRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/{CaseId}/diagram/{Id}/lock\", \"PUT\")\nexport class DiagramLockRequest implements IReturn<ClinicalDiagram>, ISecurityId\n{\n    public id: number|null;\n    public caseId: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<DiagramLockRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DiagramLockRequest'; }\n    public getMethod() { return 'PUT'; }\n    public createResponse() { return new ClinicalDiagram(); }\n}\n(DiagramLockRequest as unknown)[immerable] = true;\n\nexport class CreatePsfsRequest implements IReturn<ResponseBase<Psfs[]>>\n{\n    public caseId: number|null;\n    public activities: NewPsfs[]|null;\n    public hasInitialValues: boolean|null;\n\n    public constructor(init?: Partial<CreatePsfsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CreatePsfsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<Psfs[]>(); }\n}\n(CreatePsfsRequest as unknown)[immerable] = true;\n\nexport class UpdatePsfsRequest implements IReturn<ResponseBase<Psfs[]>>\n{\n    public caseId: number|null;\n    public psfs: Psfs[]|null;\n    public activities: NewPsfs[]|null;\n\n    public constructor(init?: Partial<UpdatePsfsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UpdatePsfsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<Psfs[]>(); }\n}\n(UpdatePsfsRequest as unknown)[immerable] = true;\n\nexport class GetTreatmentRequest implements IReturn<ResponseBase<Treatment>>, ISecurityLocator\n{\n    public id: number|null;\n    public securityLocator: Func<Object, IClientDbAccess, SecurityDto>|null;\n\n    public constructor(init?: Partial<GetTreatmentRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetTreatmentRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<Treatment>(); }\n}\n(GetTreatmentRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/{CaseId}/consultation\", \"POST\")\n// @Route(\"/cases/{CaseId}/consultation/{Id}\", \"PUT, DELETE\")\nexport class TreatmentAutoSaveRequest implements IReturn<TreatmentResult>, ISecurityId\n{\n    public id: number|null;\n    public appointmentId: number|null;\n    public caseId: number|null;\n    public details: TreatmentDetails|null;\n    public treatment: string|null;\n    public locationId: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<TreatmentAutoSaveRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'TreatmentAutoSaveRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new TreatmentResult(); }\n}\n(TreatmentAutoSaveRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/{CaseId}/consultation/{Id}\", \"POST\")\nexport class TreatmentSaveRequest implements IReturn<ResponseBase<boolean>>, ISecurityId\n{\n    public id: number|null;\n    public caseId: number|null;\n    public lock: boolean|null;\n    public updates: DynamicUpdate[]|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<TreatmentSaveRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'TreatmentSaveRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(TreatmentSaveRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/{CaseId}/consultation/{Id}/highlight\", \"POST\")\nexport class TreatmentHighlightRequest implements IReturn<ResponseBase<boolean>>, ISecurityId\n{\n    public id: number|null;\n    public caseId: number|null;\n    public highlights: { [index:string]: number[]; }|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<TreatmentHighlightRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'TreatmentHighlightRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(TreatmentHighlightRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/{CaseId}/scores/{ScoreId}/entry\", \"POST\")\nexport class ScoreEntryPostRequest extends ScoreEntryRequest implements IReturn<ResponseBase<ScoreEntryResponse>>\n{\n\n    public constructor(init?: Partial<ScoreEntryPostRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'ScoreEntryPostRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ScoreEntryResponse>(); }\n}\n(ScoreEntryPostRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/{CaseId}/scores/{ScoreId}/entry/{Id}\", \"PUT\")\nexport class ScoreEntryPutRequest extends ScoreEntryRequest implements IReturn<ResponseBase<ScoreEntryResponse>>\n{\n\n    public constructor(init?: Partial<ScoreEntryPutRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'ScoreEntryPutRequest'; }\n    public getMethod() { return 'PUT'; }\n    public createResponse() { return new ResponseBase<ScoreEntryResponse>(); }\n}\n(ScoreEntryPutRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/{CaseId}/scores/{ScoreId}/entry/{Id}\", \"DELETE\")\nexport class ScoreEntryDeleteRequest implements IReturn<ResponseBase<boolean>>, ISecurityId\n{\n    public id: number|null;\n    public caseId: number|null;\n    public securityId: number|null;\n    public scoreId: number|null;\n\n    public constructor(init?: Partial<ScoreEntryDeleteRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ScoreEntryDeleteRequest'; }\n    public getMethod() { return 'DELETE'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(ScoreEntryDeleteRequest as unknown)[immerable] = true;\n\n// @Route(\"/scores/available\", \"POST\")\nexport class AvailableScoresRequest implements IReturn<ResponseBase<CaseScoreGoalResponse>>\n{\n    public isFree: boolean|null;\n\n    public constructor(init?: Partial<AvailableScoresRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AvailableScoresRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<CaseScoreGoalResponse>(); }\n}\n(AvailableScoresRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/{CaseId}/scores/search\", \"POST\")\nexport class ScoreSearchRequest implements IReturn<ResponseBase<ScoreSearchResponse>>, ISecurityId\n{\n    public caseId: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<ScoreSearchRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ScoreSearchRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ScoreSearchResponse>(); }\n}\n(ScoreSearchRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/{CaseId}/scores/order\", \"POST\")\nexport class ScoreOrderRequest implements IReturn<ResponseBase<boolean>>, ISecurityId\n{\n    public caseId: number|null;\n    public securityId: number|null;\n    public order: number[]|null;\n\n    public constructor(init?: Partial<ScoreOrderRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ScoreOrderRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(ScoreOrderRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/{CaseId}/scores/{Id}\", \"POST\")\nexport class ScoreGetRequest implements IReturn<ScoreResponse>, ISecurityId\n{\n    public id: number|null;\n    public caseId: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<ScoreGetRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ScoreGetRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ScoreResponse(); }\n}\n(ScoreGetRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/{CaseId}/scores\", \"POST\")\nexport class ScorePostRequest extends ScoreRequest implements IReturn<ResponseBase<ScoreResponse>>\n{\n\n    public constructor(init?: Partial<ScorePostRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'ScorePostRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ScoreResponse>(); }\n}\n(ScorePostRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/{CaseId}/scores/{Id}\", \"PUT\")\nexport class ScorePutRequest extends ScoreRequest implements IReturn<ResponseBase<ScoreResponse>>\n{\n\n    public constructor(init?: Partial<ScorePutRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'ScorePutRequest'; }\n    public getMethod() { return 'PUT'; }\n    public createResponse() { return new ResponseBase<ScoreResponse>(); }\n}\n(ScorePutRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/{CaseId}/score/{Id}/\", \"DELETE\")\nexport class ScoreDeleteRequest extends ScoreRequest implements IReturn<ResponseBase<ScoreResponse>>\n{\n\n    public constructor(init?: Partial<ScoreDeleteRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'ScoreDeleteRequest'; }\n    public getMethod() { return 'DELETE'; }\n    public createResponse() { return new ResponseBase<ScoreResponse>(); }\n}\n(ScoreDeleteRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/{CaseId}/goals/{GoalId}/entry\", \"POST\")\nexport class GoalEntryPostRequest extends GoalEntryRequest implements IReturn<ResponseBase<GoalEntryResponse>>, ILocationId\n{\n\n    public constructor(init?: Partial<GoalEntryPostRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'GoalEntryPostRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<GoalEntryResponse>(); }\n}\n(GoalEntryPostRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/{CaseId}/goals/{GoalId}/entry/{Id}\", \"PUT\")\nexport class GoalEntryPutRequest extends GoalEntryRequest implements IReturn<ResponseBase<GoalEntryResponse>>, ILocationId\n{\n\n    public constructor(init?: Partial<GoalEntryPutRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'GoalEntryPutRequest'; }\n    public getMethod() { return 'PUT'; }\n    public createResponse() { return new ResponseBase<GoalEntryResponse>(); }\n}\n(GoalEntryPutRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/{CaseId}/goals/{GoalId}/entry/{Id}\", \"DELETE\")\nexport class GoalEntryDeleteRequest implements IReturn<ResponseBase<boolean>>, ISecurityId\n{\n    public id: number|null;\n    public caseId: number|null;\n    public securityId: number|null;\n    public goalId: number|null;\n\n    public constructor(init?: Partial<GoalEntryDeleteRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GoalEntryDeleteRequest'; }\n    public getMethod() { return 'DELETE'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(GoalEntryDeleteRequest as unknown)[immerable] = true;\n\n// @Route(\"/goals/available\", \"POST\")\nexport class AvailableGoalsRequest implements IReturn<ResponseBase<CaseScoreGoalResponse>>\n{\n\n    public constructor(init?: Partial<AvailableGoalsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AvailableGoalsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<CaseScoreGoalResponse>(); }\n}\n(AvailableGoalsRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/{CaseId}/goals/search\", \"POST\")\nexport class GoalSearchRequest implements IReturn<ResponseBase<GoalSearchResponse>>, ISecurityId\n{\n    public caseId: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<GoalSearchRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GoalSearchRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<GoalSearchResponse>(); }\n}\n(GoalSearchRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/{CaseId}/goals/order\", \"POST\")\nexport class GoalOrderRequest implements IReturn<ResponseBase<boolean>>, ISecurityId\n{\n    public caseId: number|null;\n    public securityId: number|null;\n    public order: number[]|null;\n\n    public constructor(init?: Partial<GoalOrderRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GoalOrderRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(GoalOrderRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/{CaseId}/goals/{Id}\", \"GET\")\nexport class GoalsGetRequest implements IReturn<GoalResponse>, ILocationId, ISecurityId\n{\n    public id: number|null;\n    public caseId: number|null;\n    public securityId: number|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<GoalsGetRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GoalsGetRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new GoalResponse(); }\n}\n(GoalsGetRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/{CaseId}/goals\", \"POST\")\nexport class GoalPostRequest extends GoalRequest implements IReturn<ResponseBase<GoalResponse>>, ILocationId\n{\n\n    public constructor(init?: Partial<GoalPostRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'GoalPostRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<GoalResponse>(); }\n}\n(GoalPostRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/{CaseId}/goals/{Id}\", \"PUT\")\nexport class GoalPutRequest extends GoalRequest implements IReturn<ResponseBase<GoalResponse>>, ILocationId\n{\n\n    public constructor(init?: Partial<GoalPutRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'GoalPutRequest'; }\n    public getMethod() { return 'PUT'; }\n    public createResponse() { return new ResponseBase<GoalResponse>(); }\n}\n(GoalPutRequest as unknown)[immerable] = true;\n\n// @Route(\"/cases/{CaseId}/goals/{Id}\", \"DELETE\")\nexport class GoalDeleteRequest extends GoalRequest implements IReturn<ResponseBase<GoalResponse>>\n{\n    public settingId: number|null;\n\n    public constructor(init?: Partial<GoalDeleteRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'GoalDeleteRequest'; }\n    public getMethod() { return 'DELETE'; }\n    public createResponse() { return new ResponseBase<GoalResponse>(); }\n}\n(GoalDeleteRequest as unknown)[immerable] = true;\n\nexport class BulkUpdateFieldRequest implements IReturn<ResponseBase<T>>\n{\n    public recordType: BulkActionRecordType|null;\n\n    public constructor(init?: Partial<BulkUpdateFieldRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'BulkUpdateFieldRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(BulkUpdateFieldRequest as unknown)[immerable] = true;\n\nexport class DiarySMSBulkActionRequest extends DiaryBulkActionBaseRequest implements IReturn<ResponseBase<SMSBulkActionResponse>>\n{\n    public templateNames: string[]|null;\n\n    public constructor(init?: Partial<DiarySMSBulkActionRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'DiarySMSBulkActionRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<SMSBulkActionResponse>(); }\n}\n(DiarySMSBulkActionRequest as unknown)[immerable] = true;\n\nexport class DiaryEmailBulkActionRequest extends DiaryBulkActionBaseRequest implements IReturn<ResponseBase<EmailBulkActionResponse>>\n{\n    public templateNames: string[]|null;\n\n    public constructor(init?: Partial<DiaryEmailBulkActionRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'DiaryEmailBulkActionRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<EmailBulkActionResponse>(); }\n}\n(DiaryEmailBulkActionRequest as unknown)[immerable] = true;\n\nexport class DiaryContactBulkActionRequest extends DiaryBulkActionBaseRequest implements IReturn<ResponseBase<ContactBulkActionResponse>>\n{\n    public customMessage: string|null;\n\n    public constructor(init?: Partial<DiaryContactBulkActionRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'DiaryContactBulkActionRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ContactBulkActionResponse>(); }\n}\n(DiaryContactBulkActionRequest as unknown)[immerable] = true;\n\nexport class DiaryFormBulkActionRequest extends DiaryBulkActionBaseRequest implements IReturn<ResponseBase<FormBulkActionResponse>>\n{\n    public formTemplateIds: string[]|null;\n\n    public constructor(init?: Partial<DiaryFormBulkActionRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'DiaryFormBulkActionRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<FormBulkActionResponse>(); }\n}\n(DiaryFormBulkActionRequest as unknown)[immerable] = true;\n\nexport class DiaryTagBulkActionRequest extends DiaryBulkActionBaseRequest implements IReturn<ResponseBase<TagBulkActionResponse>>\n{\n    public tags: string[]|null;\n    public tagActionType: TagActionType|null;\n\n    public constructor(init?: Partial<DiaryTagBulkActionRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'DiaryTagBulkActionRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<TagBulkActionResponse>(); }\n}\n(DiaryTagBulkActionRequest as unknown)[immerable] = true;\n\nexport class CustomerSMSBulkActionRequest extends CustomerBulkActionBaseRequest implements IReturn<ResponseBase<SMSBulkActionResponse>>\n{\n    public templateNames: string[]|null;\n\n    public constructor(init?: Partial<CustomerSMSBulkActionRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'CustomerSMSBulkActionRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<SMSBulkActionResponse>(); }\n}\n(CustomerSMSBulkActionRequest as unknown)[immerable] = true;\n\nexport class CustomerEmailBulkActionRequest extends CustomerBulkActionBaseRequest implements IReturn<ResponseBase<EmailBulkActionResponse>>\n{\n    public templateNames: string[]|null;\n\n    public constructor(init?: Partial<CustomerEmailBulkActionRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'CustomerEmailBulkActionRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<EmailBulkActionResponse>(); }\n}\n(CustomerEmailBulkActionRequest as unknown)[immerable] = true;\n\nexport class CustomerFormBulkActionRequest extends CustomerBulkActionBaseRequest implements IReturn<ResponseBase<FormBulkActionResponse>>\n{\n    public formTemplateIds: string[]|null;\n\n    public constructor(init?: Partial<CustomerFormBulkActionRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'CustomerFormBulkActionRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<FormBulkActionResponse>(); }\n}\n(CustomerFormBulkActionRequest as unknown)[immerable] = true;\n\nexport class CustomerTagBulkActionRequest extends CustomerBulkActionBaseRequest implements IReturn<ResponseBase<TagBulkActionResponse>>\n{\n    public tags: string[]|null;\n    public tagActionType: TagActionType|null;\n\n    public constructor(init?: Partial<CustomerTagBulkActionRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'CustomerTagBulkActionRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<TagBulkActionResponse>(); }\n}\n(CustomerTagBulkActionRequest as unknown)[immerable] = true;\n\nexport class CustomerContactBulkActionRequest extends CustomerBulkActionBaseRequest implements IReturn<ResponseBase<ContactBulkActionResponse>>\n{\n    public customMessage: string|null;\n\n    public constructor(init?: Partial<CustomerContactBulkActionRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'CustomerContactBulkActionRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ContactBulkActionResponse>(); }\n}\n(CustomerContactBulkActionRequest as unknown)[immerable] = true;\n\nexport class MailChimpSubscriptionBulkActionRequest extends CustomerBulkActionBaseRequest implements IReturn<ResponseBase<MailChimpSubscriptionBulkActionResponse>>\n{\n    public audienceIds: string[]|null;\n\n    public constructor(init?: Partial<MailChimpSubscriptionBulkActionRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'MailChimpSubscriptionBulkActionRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<MailChimpSubscriptionBulkActionResponse>(); }\n}\n(MailChimpSubscriptionBulkActionRequest as unknown)[immerable] = true;\n\nexport class GetAllAutomationEvents extends BaseAdvancedSearchRequest implements IReturn<ResponseBase<AutomationEvent>>\n{\n    public showAll: boolean|null;\n\n    public constructor(init?: Partial<GetAllAutomationEvents>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetAllAutomationEvents'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<AutomationEvent>(); }\n}\n(GetAllAutomationEvents as unknown)[immerable] = true;\n\nexport class GetAutomationEvent implements IReturn<ResponseBase<AutomationEvent>>\n{\n    public id: string|null;\n\n    public constructor(init?: Partial<GetAutomationEvent>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetAutomationEvent'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<AutomationEvent>(); }\n}\n(GetAutomationEvent as unknown)[immerable] = true;\n\nexport class SaveAutomationEvent extends AutomationEvent implements IReturn<ResponseBase<T>>\n{\n\n    public constructor(init?: Partial<SaveAutomationEvent>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'SaveAutomationEvent'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(SaveAutomationEvent as unknown)[immerable] = true;\n\nexport class GetAllAutomationJobs implements IReturn<ResponseBase<AutomationJob>>\n{\n    public skip: number|null;\n    public take: number|null;\n    public sort: QueryField[]|null;\n\n    public constructor(init?: Partial<GetAllAutomationJobs>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetAllAutomationJobs'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<AutomationJob>(); }\n}\n(GetAllAutomationJobs as unknown)[immerable] = true;\n\nexport class ToggleAutomationJobStatus implements IReturn<ResponseBase<AutomationJob>>\n{\n    public id: string|null;\n    public isActive: boolean|null;\n\n    public constructor(init?: Partial<ToggleAutomationJobStatus>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ToggleAutomationJobStatus'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<AutomationJob>(); }\n}\n(ToggleAutomationJobStatus as unknown)[immerable] = true;\n\nexport class CloneAutomationRequest implements IReturn<ResponseBase<string>>\n{\n    public id: string|null;\n\n    public constructor(init?: Partial<CloneAutomationRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CloneAutomationRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<string>(); }\n}\n(CloneAutomationRequest as unknown)[immerable] = true;\n\nexport class ArchiveAutomationRequest implements IReturn<ResponseBase<boolean>>\n{\n    public id: string|null;\n    public archiveAutomation: boolean|null;\n\n    public constructor(init?: Partial<ArchiveAutomationRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ArchiveAutomationRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(ArchiveAutomationRequest as unknown)[immerable] = true;\n\nexport class GetAllTags implements IReturn<ResponseBase<Tag>>\n{\n    public skip: number|null;\n    public take: number|null;\n    public showAll: boolean|null;\n    public sort: QueryField[]|null;\n\n    public constructor(init?: Partial<GetAllTags>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetAllTags'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<Tag>(); }\n}\n(GetAllTags as unknown)[immerable] = true;\n\nexport class GetTag implements IReturn<ResponseBase<Tag>>\n{\n    public id: string|null;\n\n    public constructor(init?: Partial<GetTag>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetTag'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<Tag>(); }\n}\n(GetTag as unknown)[immerable] = true;\n\nexport class SaveTag extends Tag implements IReturn<ResponseBase<T>>\n{\n\n    public constructor(init?: Partial<SaveTag>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'SaveTag'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(SaveTag as unknown)[immerable] = true;\n\n// @Route(\"/webinars\")\nexport class WebinarRequest implements IReturn<ResponseBase<WebinarResponse>>\n{\n\n    public constructor(init?: Partial<WebinarRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'WebinarRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<WebinarResponse>(); }\n}\n(WebinarRequest as unknown)[immerable] = true;\n\n// @Route(\"/training\")\nexport class TrainingRequest\n{\n\n    public constructor(init?: Partial<TrainingRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'TrainingRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(TrainingRequest as unknown)[immerable] = true;\n\n// @Route(\"/user/current\", \"GET\")\nexport class GetCurrentUser implements IReturn<CurrentUser>\n{\n\n    public constructor(init?: Partial<GetCurrentUser>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetCurrentUser'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new CurrentUser(); }\n}\n(GetCurrentUser as unknown)[immerable] = true;\n\n// @Route(\"/user/location/change\", \"Post\")\n// @Route(\"/user/location/change/{Id}\", \"Post\")\nexport class ChangeLoggedInLocation implements IReturn<CurrentUser>\n{\n    public id: number|null;\n\n    public constructor(init?: Partial<ChangeLoggedInLocation>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ChangeLoggedInLocation'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new CurrentUser(); }\n}\n(ChangeLoggedInLocation as unknown)[immerable] = true;\n\n// @Route(\"/user/all\", \"GET\")\nexport class AllUsersRequest implements IReturn<SimpleUser[]>, ILocationIds\n{\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<AllUsersRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AllUsersRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new Array<SimpleUser>(); }\n}\n(AllUsersRequest as unknown)[immerable] = true;\n\n// @Route(\"/user/current/roles\", \"GET\")\nexport class UserRolesRequest\n{\n\n    public constructor(init?: Partial<UserRolesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UserRolesRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(UserRolesRequest as unknown)[immerable] = true;\n\n// @Route(\"/user/verify/{Code}\", \"GET\")\nexport class VerifyCode implements IReturn<CurrentUser>\n{\n    public code: string|null;\n\n    public constructor(init?: Partial<VerifyCode>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'VerifyCode'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new CurrentUser(); }\n}\n(VerifyCode as unknown)[immerable] = true;\n\n// @Route(\"/user/reset\", \"Post\")\nexport class ResetPassword implements IReturn<ResponseBase<boolean>>\n{\n    public email: string|null;\n\n    public constructor(init?: Partial<ResetPassword>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ResetPassword'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(ResetPassword as unknown)[immerable] = true;\n\n// @Route(\"/user/changePassword\", \"Post\")\nexport class ChangePassword implements IReturn<CurrentUser>\n{\n    public code: string|null;\n    public confirmPassword: string|null;\n    public newPassword: string|null;\n    public score: number|null;\n\n    public constructor(init?: Partial<ChangePassword>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ChangePassword'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new CurrentUser(); }\n}\n(ChangePassword as unknown)[immerable] = true;\n\n// @Route(\"/user/password/change\", \"Post\")\nexport class ChangePasswordRequest implements IReturn<ResponseBase<T>>\n{\n    public oldPassword: string|null;\n    public newPassword: string|null;\n    public score: number|null;\n\n    public constructor(init?: Partial<ChangePasswordRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ChangePasswordRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(ChangePasswordRequest as unknown)[immerable] = true;\n\nexport class ChangePINRequest implements IReturn<ResponseBase<string>>\n{\n    public password: string|null;\n    public pin: string|null;\n\n    public constructor(init?: Partial<ChangePINRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ChangePINRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<string>(); }\n}\n(ChangePINRequest as unknown)[immerable] = true;\n\nexport class ChangeSignatureRequest implements IReturn<ResponseBase<string>>\n{\n    public signature: string|null;\n\n    public constructor(init?: Partial<ChangeSignatureRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ChangeSignatureRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<string>(); }\n}\n(ChangeSignatureRequest as unknown)[immerable] = true;\n\n// @Route(\"/logout/soon\")\nexport class LogoutSoonRequest implements IHasAutoRefresh\n{\n    public autoRefresh: boolean|null;\n\n    public constructor(init?: Partial<LogoutSoonRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'LogoutSoonRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(LogoutSoonRequest as unknown)[immerable] = true;\n\n// @Route(\"/logout/now\")\nexport class LogoutNowRequest\n{\n\n    public constructor(init?: Partial<LogoutNowRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'LogoutNowRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(LogoutNowRequest as unknown)[immerable] = true;\n\nexport class GetAssertionOptions implements IReturn<AssertionOptions>\n{\n    public username: string|null;\n    public userVerification: string|null;\n\n    public constructor(init?: Partial<GetAssertionOptions>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetAssertionOptions'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new AssertionOptions(); }\n}\n(GetAssertionOptions as unknown)[immerable] = true;\n\nexport class MakeAssertionRequest implements IReturn<ResponseBase<boolean>>\n{\n    public id: string|null;\n    public rawId: string|null;\n    public response: AssertionResponse|null;\n    public type: PublicKeyCredentialType|null;\n    public extensions: AuthenticationExtensionsClientOutputs|null;\n\n    public constructor(init?: Partial<MakeAssertionRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'MakeAssertionRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(MakeAssertionRequest as unknown)[immerable] = true;\n\nexport class MakeCredentialsOptionsRequest implements IReturn<HttpResult>\n{\n    public username: string|null;\n    public displayName: string|null;\n    public attType: string|null;\n    public authType: string|null;\n    public residentKey: string|null;\n    public userVerification: string|null;\n\n    public constructor(init?: Partial<MakeCredentialsOptionsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'MakeCredentialsOptionsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new HttpResult(); }\n}\n(MakeCredentialsOptionsRequest as unknown)[immerable] = true;\n\nexport class RegisterCredentialWithServerRequest implements IReturn<ResponseBase<CredentialMakeResult>>\n{\n    public id: string|null;\n    public rawId: string|null;\n    public type: PublicKeyCredentialType|null;\n    public response: ResponseData|null;\n    public extensions: AuthenticationExtensionsClientOutputs|null;\n\n    public constructor(init?: Partial<RegisterCredentialWithServerRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'RegisterCredentialWithServerRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<CredentialMakeResult>(); }\n}\n(RegisterCredentialWithServerRequest as unknown)[immerable] = true;\n\n// @Route(\"/license\")\nexport class LicenseRequest implements IReturn<ResponseBase<LicenseDetailsResponse>>\n{\n\n    public constructor(init?: Partial<LicenseRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'LicenseRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<LicenseDetailsResponse>(); }\n}\n(LicenseRequest as unknown)[immerable] = true;\n\nexport class ModularFeaturesRequest implements IReturn<ResponseBase<ModularLicence>>\n{\n\n    public constructor(init?: Partial<ModularFeaturesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ModularFeaturesRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ModularLicence>(); }\n}\n(ModularFeaturesRequest as unknown)[immerable] = true;\n\n// @Route(\"/modular-licence\")\nexport class LicenceModulesRequest implements IReturn<string>\n{\n\n    public constructor(init?: Partial<LicenceModulesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'LicenceModulesRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return ''; }\n}\n(LicenceModulesRequest as unknown)[immerable] = true;\n\nexport class TwoFactorVerify implements IReturn<ResponseBase<boolean>>\n{\n    public code: string|null;\n    public remember: boolean|null;\n\n    public constructor(init?: Partial<TwoFactorVerify>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'TwoFactorVerify'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(TwoFactorVerify as unknown)[immerable] = true;\n\nexport class TwoFactorRequestCode implements IReturn<ResponseBase<boolean>>\n{\n    public setupNew: boolean|null;\n\n    public constructor(init?: Partial<TwoFactorRequestCode>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'TwoFactorRequestCode'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(TwoFactorRequestCode as unknown)[immerable] = true;\n\nexport class TwoFactorUpdateSecret implements IReturn<ResponseBase<boolean>>\n{\n    public secret: string|null;\n    public codeForExistingSecret: string|null;\n\n    public constructor(init?: Partial<TwoFactorUpdateSecret>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'TwoFactorUpdateSecret'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(TwoFactorUpdateSecret as unknown)[immerable] = true;\n\n// @Route(\"/{HandlerName}/webhook\")\n// @Route(\"/webhook/{HandlerName}/{Other*}\")\nexport class InboundWebHookRequest implements IReturn<HttpResult>\n{\n    public handlerName: string|null;\n    public other: string|null;\n    public requestStream: string|null;\n\n    public constructor(init?: Partial<InboundWebHookRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'InboundWebHookRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new HttpResult(); }\n}\n(InboundWebHookRequest as unknown)[immerable] = true;\n\nexport class GetCustomAttributes implements IReturn<ResponseBase<CustomAttributeDto>>\n{\n    public types: string[]|null;\n\n    public constructor(init?: Partial<GetCustomAttributes>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetCustomAttributes'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<CustomAttributeDto>(); }\n}\n(GetCustomAttributes as unknown)[immerable] = true;\n\nexport class GetCustomAttributeLists implements IReturn<GetCustomAttributeListsResponse[]>\n{\n\n    public constructor(init?: Partial<GetCustomAttributeLists>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetCustomAttributeLists'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new Array<GetCustomAttributeListsResponse>(); }\n}\n(GetCustomAttributeLists as unknown)[immerable] = true;\n\nexport class GetAssignedAttributes implements IReturn<ResponseBase<T>>\n{\n    public objectId: number|null;\n    public objectGuid: string|null;\n    public objectType: string|null;\n    public customAttributeTypes: string[]|null;\n\n    public constructor(init?: Partial<GetAssignedAttributes>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetAssignedAttributes'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(GetAssignedAttributes as unknown)[immerable] = true;\n\n// @Route(\"/updatecustomattributes\", \"POST\")\nexport class UpdateCustomAttributeRequest implements IReturnVoid\n{\n    public objectId: number|null;\n    public objectGuid: string|null;\n    public objectType: string|null;\n    public attributes: AssignedCustomAttributeDto[]|null;\n\n    public constructor(init?: Partial<UpdateCustomAttributeRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UpdateCustomAttributeRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(UpdateCustomAttributeRequest as unknown)[immerable] = true;\n\nexport class CreateNewCustomAttributeRequest implements IReturn<ResponseBase<CustomAttributes>>\n{\n    public typeId: string|null;\n    public name: string|null;\n\n    public constructor(init?: Partial<CreateNewCustomAttributeRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CreateNewCustomAttributeRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<CustomAttributes>(); }\n}\n(CreateNewCustomAttributeRequest as unknown)[immerable] = true;\n\nexport class DeleteCustomAttributeRequest implements IReturnVoid\n{\n    public typeId: string|null;\n    public name: string|null;\n\n    public constructor(init?: Partial<DeleteCustomAttributeRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DeleteCustomAttributeRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(DeleteCustomAttributeRequest as unknown)[immerable] = true;\n\nexport class TokenSearchRequest implements IReturn<ResponseBase<TokenSearchResponse>>\n{\n    public customerId: number|null;\n\n    public constructor(init?: Partial<TokenSearchRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'TokenSearchRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<TokenSearchResponse>(); }\n}\n(TokenSearchRequest as unknown)[immerable] = true;\n\n// @Route(\"/finances/token/register\", \"POST\")\nexport class TokenRegisterRequest implements IReturn<ResponseBase<T>>\n{\n    public customerId: number|null;\n    public pan: string|null;\n    public token: string|null;\n    public merchant: string|null;\n    public expiryDate: string|null;\n\n    public constructor(init?: Partial<TokenRegisterRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'TokenRegisterRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(TokenRegisterRequest as unknown)[immerable] = true;\n\nexport class TokenDeleteRequest implements IReturn<ResponseBase<boolean>>, ICustomerId\n{\n    public customerId: number|null;\n\n    public constructor(init?: Partial<TokenDeleteRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'TokenDeleteRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(TokenDeleteRequest as unknown)[immerable] = true;\n\n// @Route(\"/settings/multidiscipline/servicetype/{Id}\")\nexport class ServiceTypeRequest implements IReturn<ResponseBase<ServiceTypeResponse>>\n{\n    public id: number|null;\n\n    public constructor(init?: Partial<ServiceTypeRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ServiceTypeRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ServiceTypeResponse>(); }\n}\n(ServiceTypeRequest as unknown)[immerable] = true;\n\n// @Route(\"/settings/multidiscipline/servicetype/search\")\nexport class ServiceTypeSearch implements IReturn<ResponseBase<ServiceTypeResponse>>\n{\n    public isCurrent: boolean|null;\n\n    public constructor(init?: Partial<ServiceTypeSearch>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ServiceTypeSearch'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ServiceTypeResponse>(); }\n}\n(ServiceTypeSearch as unknown)[immerable] = true;\n\nexport class ServiceTypeSave implements IReturn<ResponseBase<ServiceTypeResponse>>\n{\n    public id: number|null;\n    public name: string|null;\n    public isCurrent: boolean|null;\n    public clinicalAccessMode: AccessMode|null;\n    public patientAccessMode: AccessMode|null;\n    public usesScores: boolean|null;\n    public usesGoals: boolean|null;\n    public usesImages: boolean|null;\n    public labelOverrides: { [index:string]: string; }|null;\n    public listOverrides: { [index:string]: string; }|null;\n    public configOverrides: { [index:string]: string; }|null;\n    public workflowAccessMode: AccessMode|null;\n    public globalGuid: string|null;\n\n    public constructor(init?: Partial<ServiceTypeSave>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ServiceTypeSave'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ServiceTypeResponse>(); }\n}\n(ServiceTypeSave as unknown)[immerable] = true;\n\n// @Route(\"/appointments/{Id}\", \"GET\")\nexport class AppointmentGetRequest implements IReturn<ResponseBase<AppointmentDetailsResponse>>, ILocationIds, IFilterServiceTypeManually\n{\n    public skip: number|null;\n    public take: number|null;\n    public id: number|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<AppointmentGetRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AppointmentGetRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<AppointmentDetailsResponse>(); }\n}\n(AppointmentGetRequest as unknown)[immerable] = true;\n\n// @Route(\"/appointment/update\", \"POST\")\nexport class AppointmentPutRequest implements IReturn<ResponseBase<{ [index:string]: ScheduleAppointment[]; }>>, ILocationIds\n{\n    public id: number|null;\n    public startDateTime: string|null;\n    public endDateTime: string|null;\n    public resourceMode: string|null;\n    public yesToWarnings: boolean|null;\n    public apptType: string|null;\n    public practitionerId: number|null;\n    public roomId: number|null;\n    public caseId: number|null;\n    public locationId: number|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n    public resendConfirmations: boolean|null;\n    public reminderType: string|null;\n\n    public constructor(init?: Partial<AppointmentPutRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AppointmentPutRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<{ [index:string]: ScheduleAppointment[]; }>(); }\n}\n(AppointmentPutRequest as unknown)[immerable] = true;\n\n// @Route(\"/appointment/delete\", \"POST\")\nexport class AppointmentDeleteRequest implements IReturn<ResponseBase<{ [index:string]: ScheduleAppointment[]; }>>, ISecurityId\n{\n    public id: number|null;\n    public securityId: number|null;\n    public all: boolean|null;\n    public includePast: boolean|null;\n    public backgroundJobId: string|null;\n\n    public constructor(init?: Partial<AppointmentDeleteRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AppointmentDeleteRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<{ [index:string]: ScheduleAppointment[]; }>(); }\n}\n(AppointmentDeleteRequest as unknown)[immerable] = true;\n\n// @Route(\"/appointment/book\", \"POST\")\nexport class AppointmentBookRequest implements IReturn<ResponseBase<{ [index:string]: ScheduleAppointment[]; }>>, ILocationId\n{\n    public id: number|null;\n    public tempId: number|null;\n    public startDateTime: string|null;\n    public endDateTime: string|null;\n    public locationId: number|null;\n    public practitionerId: number|null;\n    public roomId: number|null;\n    public groupId: number|null;\n    public authId: number|null;\n    public customerId: number|null;\n    public firstAppointment: boolean|null;\n    public stockType: DefaultStockTypes|null;\n    public apptType: string|null;\n    public stockId: number|null;\n    public colour: number|null;\n    public comment: string|null;\n    public name: string|null;\n    public duration: number|null;\n    public resourceMode: string|null;\n    public recurrenceInterval: RecurrenceType|null;\n    public yesToWarnings: boolean|null;\n    public excludeWarnings: boolean|null;\n    public excludeNonWorkingDays: boolean|null;\n    public status: number|null;\n    public hexColour: string|null;\n    public moved: boolean|null;\n    public caseId: number|null;\n    public bodySite: string|null;\n    public bookingMethod: string|null;\n    public reminderType: string|null;\n    public reminderDate: string|null;\n    public stockColour: number|null;\n    public customDuration: number|null;\n    public customFreq: number|null;\n    public customInterval: string|null;\n    public resendConfirmations: boolean|null;\n    public meta: { [index:string]: Object; }|null;\n    public updatePatientGroupToo: boolean|null;\n    public prontoAuditId: string|null;\n    public prontoServiceId: string|null;\n    public prontoAppointmentId: string|null;\n    public isProntoReferralBooking: boolean|null;\n    public serviceTypeId: number|null;\n    public discountCodeId: string|null;\n    public discountCodeAppliedDate: string|null;\n    public discountCodeAdvance: boolean|null;\n    public customer: CustomerSaveRequest|null;\n    public authCode: TreatmentAuthResponse|null;\n    public customerGroupReference: string|null;\n    public customerInsuranceNumber: string|null;\n    public isVideo: boolean|null;\n    public addToWaitingList: boolean|null;\n    public videoCode: string|null;\n    public videoLink: string|null;\n    public videoMeetingHostJoinUrl: string|null;\n    public videoMeetingParticipantJoinUrl: string|null;\n    public videoMeetingPassword: string|null;\n    public videoMeetingProvider: VideoMeetingProvider|null;\n    public videoMeetingId: string|null;\n    public prepaymentType: PrepaymentType|null;\n    public batchNo: number|null;\n    public backgroundJobId: string|null;\n    public stockSpecialismId: string|null;\n\n    public constructor(init?: Partial<AppointmentBookRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AppointmentBookRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<{ [index:string]: ScheduleAppointment[]; }>(); }\n}\n(AppointmentBookRequest as unknown)[immerable] = true;\n\n// @Route(\"/appointment/{Id}/case\", \"POST\")\nexport class AppointmentCreateClickCaseRequest implements IReturn<ResponseBase<AppointmentCreateClickCaseResponse>>\n{\n    public appointmentId: number|null;\n\n    public constructor(init?: Partial<AppointmentCreateClickCaseRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AppointmentCreateClickCaseRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<AppointmentCreateClickCaseResponse>(); }\n}\n(AppointmentCreateClickCaseRequest as unknown)[immerable] = true;\n\n// @Route(\"/appointment/{id}/linkToCase/{caseId}\", \"POST\")\nexport class LinkAppointmentToCaseRequest implements IReturn<ResponseBase<boolean>>, ISecurityId\n{\n    public id: number|null;\n    public caseId: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<LinkAppointmentToCaseRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'LinkAppointmentToCaseRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(LinkAppointmentToCaseRequest as unknown)[immerable] = true;\n\n// @Route(\"/appointment/{Id}/case\", \"POST\")\nexport class CreateCaseFromAppointmentPostRequest implements IReturn<ResponseBase<number>>\n{\n    public id: number|null;\n\n    public constructor(init?: Partial<CreateCaseFromAppointmentPostRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CreateCaseFromAppointmentPostRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<number>(); }\n}\n(CreateCaseFromAppointmentPostRequest as unknown)[immerable] = true;\n\n// @Route(\"/appointments/other\", \"POST\")\nexport class CustomerOtherAppointmentsRequest implements IReturn<ResponseBase<{ [index:string]: Object; }[]>>, ICustomerId\n{\n    public customerId: number|null;\n    public startDateTime: string|null;\n    public appointmentId: number|null;\n\n    public constructor(init?: Partial<CustomerOtherAppointmentsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CustomerOtherAppointmentsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<{ [index:string]: Object; }[]>(); }\n}\n(CustomerOtherAppointmentsRequest as unknown)[immerable] = true;\n\n// @Route(\"/appointment/alerts\", \"GET\")\nexport class AppointmentAlertsRequest implements IReturn<ResponseBase<AlertResponse>>, ISecurityId\n{\n    public appointmentId: number|null;\n    public customerId: number|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<AppointmentAlertsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AppointmentAlertsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<AlertResponse>(); }\n}\n(AppointmentAlertsRequest as unknown)[immerable] = true;\n\nexport class AppointmentBookingInfoRequest implements IReturn<ResponseBase<AppointmentBookingInfoResponse>>, ICustomerId, ILocationId\n{\n    public caseId: number|null;\n    public customerId: number|null;\n    public locationId: number|null;\n    public serviceTypeId: number|null;\n    public practitionerId: number|null;\n    public groupId: number|null;\n    public forceFollowup: boolean|null;\n    public stockId: number|null;\n    public skillRestrictions: string[]|null;\n\n    public constructor(init?: Partial<AppointmentBookingInfoRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AppointmentBookingInfoRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<AppointmentBookingInfoResponse>(); }\n}\n(AppointmentBookingInfoRequest as unknown)[immerable] = true;\n\n// @Route(\"/appointment/temporary/create\", \"POST\")\nexport class CreateTemporaryAppointmentRequest implements IReturn<ResponseBase<CreateTemporaryAppointmentResponse>>, ILocationId\n{\n    public practitionerId: number|null;\n    public locationId: number|null;\n    public roomId: number|null;\n    public startDateTime: string|null;\n    public endDateTime: string|null;\n\n    public constructor(init?: Partial<CreateTemporaryAppointmentRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CreateTemporaryAppointmentRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<CreateTemporaryAppointmentResponse>(); }\n}\n(CreateTemporaryAppointmentRequest as unknown)[immerable] = true;\n\n// @Route(\"/appointment/temporary/update\", \"POST\")\nexport class UpdateTemporaryAppointmentRequest implements IReturn<ResponseBase<T>>, ISecurityId\n{\n    public id: number|null;\n    public startDateTime: string|null;\n    public endDateTime: string|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<UpdateTemporaryAppointmentRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UpdateTemporaryAppointmentRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(UpdateTemporaryAppointmentRequest as unknown)[immerable] = true;\n\n// @Route(\"/appointment/temporary/confirm\", \"POST\")\nexport class AppointmentConfirmTemporaryBookingRequest implements IReturn<ResponseBase<boolean>>, ISecurityId\n{\n    public id: number|null;\n    public securityId: number|null;\n    public customerId: number|null;\n    public bookingMethod: string|null;\n    public backgroundJobId: string|null;\n    public treatmentAuthId: number|null;\n    public groupId: number|null;\n\n    public constructor(init?: Partial<AppointmentConfirmTemporaryBookingRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AppointmentConfirmTemporaryBookingRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(AppointmentConfirmTemporaryBookingRequest as unknown)[immerable] = true;\n\nexport class AppointmentPrepaidIncomeRequest implements IReturn<ResponseBase<AppointmentPrepaidIncomeResponse>>, ILocationId\n{\n    public id: number|null;\n    public locationId: number|null;\n\n    public constructor(init?: Partial<AppointmentPrepaidIncomeRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AppointmentPrepaidIncomeRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<AppointmentPrepaidIncomeResponse>(); }\n}\n(AppointmentPrepaidIncomeRequest as unknown)[immerable] = true;\n\n// @Route(\"/appointment/defaultStock\")\nexport class GetDefaultStockRequest implements IReturn<ResponseBase<StockResponse>>, ICustomerId\n{\n    public practitionerId: number|null;\n    public groupId: number|null;\n    public customerId: number|null;\n    public stockType: DefaultStockTypes|null;\n    public locationId: number|null;\n    public serviceTypeId: number|null;\n    public forcePrivate: boolean|null;\n    public skillRestrictions: string[]|null;\n\n    public constructor(init?: Partial<GetDefaultStockRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetDefaultStockRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<StockResponse>(); }\n}\n(GetDefaultStockRequest as unknown)[immerable] = true;\n\n// @Route(\"/alert/complete/{Id}\", \"GET\")\nexport class AlertCompleteRequest implements IReturn<ResponseBase<boolean>>, ISecurityLocator\n{\n    public id: number|null;\n\n    public constructor(init?: Partial<AlertCompleteRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AlertCompleteRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(AlertCompleteRequest as unknown)[immerable] = true;\n\n// @Route(\"/alert/acknowledge\", \"POST\")\n// @Route(\"/alert/acknowledge/{Id}\", \"POST\")\nexport class AlertAcknowledgeRequest implements IReturn<ResponseBase<boolean>>, ILocationIds\n{\n    public id: number|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<AlertAcknowledgeRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AlertAcknowledgeRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(AlertAcknowledgeRequest as unknown)[immerable] = true;\n\n// @Route(\"/alert/forObject\", \"POST\")\nexport class AlertSearchRequest implements IReturn<Alert[]>, ISecurityId, ISecurityType, IFilterServiceTypeManually, IAlertRequest\n{\n    public objectId: number|null;\n    public discriminatorType: string|null;\n    public securityId: number|null;\n    public securityType: string|null;\n\n    public constructor(init?: Partial<AlertSearchRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AlertSearchRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new Array<Alert>(); }\n}\n(AlertSearchRequest as unknown)[immerable] = true;\n\n// @Route(\"/alerts/clinical/flags\")\nexport class CaseAlertFlagsRequest implements IReturn<ResponseBase<CaseAlertFlagsResponse>>\n{\n\n    public constructor(init?: Partial<CaseAlertFlagsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CaseAlertFlagsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<CaseAlertFlagsResponse>(); }\n}\n(CaseAlertFlagsRequest as unknown)[immerable] = true;\n\n// @Route(\"/alerts/{Id}\")\nexport class CaseAlertSearchRequest implements IReturn<CaseAlertSearchResponse>, ISecurityLocator, IDepartmentIds, IAlertRequest\n{\n    public id: number|null;\n    public isPatientId: boolean|null;\n    public securityId: number|null;\n    public departmentIds: number[]|null;\n    public securityLocator: Func<Object, IClientDbAccess, SecurityDto>|null;\n\n    public constructor(init?: Partial<CaseAlertSearchRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CaseAlertSearchRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new CaseAlertSearchResponse(); }\n}\n(CaseAlertSearchRequest as unknown)[immerable] = true;\n\n// @Route(\"/alert/{Id}\", \"GET\")\nexport class AlertGetRequest implements IReturn<AlertDialogResponse>, ILocationId, ISecurityLocator, IFilterServiceTypeManually\n{\n    public id: number|null;\n    public locationId: number|null;\n    public securityLocator: Func<Object, IClientDbAccess, SecurityDto>|null;\n\n    public constructor(init?: Partial<AlertGetRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AlertGetRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new AlertDialogResponse(); }\n}\n(AlertGetRequest as unknown)[immerable] = true;\n\n// @Route(\"/alerts/{Id}/{DiscriminatorType}\", \"GET\")\nexport class AlertsGetRequest implements IReturn<ResponseBase<AlertDialogResponse>>, ISecurityId, ISecurityType, IAlertRequest, IDepartmentIds\n{\n    public id: number|null;\n    public discriminatorType: string|null;\n    public securityId: number|null;\n    public securityType: string|null;\n    public departmentIds: number[]|null;\n\n    public constructor(init?: Partial<AlertsGetRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AlertsGetRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<AlertDialogResponse>(); }\n}\n(AlertsGetRequest as unknown)[immerable] = true;\n\nexport class AlertsMultipleGetRequest implements IReturn<ResponseBase<AlertDialogResponse>>, IAlertRequest, IDepartmentIds\n{\n    public requestedAlerts: IdDescriminatorType[]|null;\n    public departmentIds: number[]|null;\n\n    public constructor(init?: Partial<AlertsMultipleGetRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AlertsMultipleGetRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<AlertDialogResponse>(); }\n}\n(AlertsMultipleGetRequest as unknown)[immerable] = true;\n\n// @Route(\"/alert/{Id}\", \"PUT\")\n// @Route(\"/alert/save\", \"POST\")\nexport class AlertPostRequest implements IReturn<ResponseBase<Alert>>, ILocationId, ISecurityId, ISecurityType, IAlertRequest, IFilterServiceTypeManually\n{\n    public id: number|null;\n    public userId: number|null;\n    public createdByUserId: number|null;\n    public discriminatorType: string|null;\n    public objectId: number|null;\n    public title: string|null;\n    public notes: string|null;\n    public createdDateTime: string|null;\n    public startDateTime: string|null;\n    public requiresAcknowledgement: boolean|null;\n    public complete: boolean|null;\n    public expiryDateTime: string|null;\n    public diaryDateTime: string|null;\n    public includeInMyWork: boolean|null;\n    public forYourEyesOnly: boolean|null;\n    public flagType: number|null;\n    public future: boolean|null;\n    public alertForPerson: string|null;\n    public alertForDate: string|null;\n    public alertExpiryDate: string|null;\n    public locationId: number|null;\n    public serviceTypeId: number|null;\n    public securityId: number|null;\n    public securityType: string|null;\n\n    public constructor(init?: Partial<AlertPostRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AlertPostRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<Alert>(); }\n}\n(AlertPostRequest as unknown)[immerable] = true;\n\n// @Route(\"/alert/quickPicks\", \"PUT\")\nexport class ClinicalQuickPickAlertPostRequest implements IReturn<CaseAlertSearchResponse>, ISecurityId, IFilterServiceTypeManually\n{\n    public quickPicks: Alert[]|null;\n    public caseId: number|null;\n    public alertGenre: string|null;\n    public securityId: number|null;\n\n    public constructor(init?: Partial<ClinicalQuickPickAlertPostRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClinicalQuickPickAlertPostRequest'; }\n    public getMethod() { return 'PUT'; }\n    public createResponse() { return new CaseAlertSearchResponse(); }\n}\n(ClinicalQuickPickAlertPostRequest as unknown)[immerable] = true;\n\nexport class GetAllAdvancedSearchFiltersRequest implements IReturn<ResponseBase<GetAllAdvancedSearchFiltersResponse>>\n{\n    public searchModule: SearchModuleEntityType|null;\n\n    public constructor(init?: Partial<GetAllAdvancedSearchFiltersRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetAllAdvancedSearchFiltersRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<GetAllAdvancedSearchFiltersResponse>(); }\n}\n(GetAllAdvancedSearchFiltersRequest as unknown)[immerable] = true;\n\nexport class AdvancedSearchSaveFilterRequest extends SearchFilter implements IReturn<ResponseBase<T>>\n{\n    public filterConditionsToSave: SearchFilterCondition[]|null;\n\n    public constructor(init?: Partial<AdvancedSearchSaveFilterRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'AdvancedSearchSaveFilterRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(AdvancedSearchSaveFilterRequest as unknown)[immerable] = true;\n\nexport class AdvancedSearchDeleteFilterRequest implements IReturn<ResponseBase<boolean>>\n{\n    public id: string|null;\n\n    public constructor(init?: Partial<AdvancedSearchDeleteFilterRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AdvancedSearchDeleteFilterRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(AdvancedSearchDeleteFilterRequest as unknown)[immerable] = true;\n\nexport class GetInitialRegistrationSessionTokenRequest implements IReturn<ResponseBase<GetInitialRegistrationSessionTokenResponse>>\n{\n    public accountingSystemName: AccountingSystemProviderName|null;\n\n    public constructor(init?: Partial<GetInitialRegistrationSessionTokenRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetInitialRegistrationSessionTokenRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<GetInitialRegistrationSessionTokenResponse>(); }\n}\n(GetInitialRegistrationSessionTokenRequest as unknown)[immerable] = true;\n\nexport class DeactivateAccountingSystemRequest implements IReturn<ResponseBase<boolean>>\n{\n\n    public constructor(init?: Partial<DeactivateAccountingSystemRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DeactivateAccountingSystemRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(DeactivateAccountingSystemRequest as unknown)[immerable] = true;\n\n// @Route(\"/accounting/getLedgerAccountsInfo\")\nexport class GetLedgerAccountsRequest implements IReturn<ResponseBase<LedgerAccountInfo[]>>\n{\n\n    public constructor(init?: Partial<GetLedgerAccountsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetLedgerAccountsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<LedgerAccountInfo[]>(); }\n}\n(GetLedgerAccountsRequest as unknown)[immerable] = true;\n\nexport class GetTaxRatesRequest implements IReturn<ResponseBase<TaxRateInfo[]>>\n{\n\n    public constructor(init?: Partial<GetTaxRatesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetTaxRatesRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<TaxRateInfo[]>(); }\n}\n(GetTaxRatesRequest as unknown)[immerable] = true;\n\n// @Route(\"/accounting/getTrackingCategories\")\nexport class GetTrackingCategories implements IReturn<ResponseBase<AccountingTrackingCategory[]>>\n{\n\n    public constructor(init?: Partial<GetTrackingCategories>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetTrackingCategories'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<AccountingTrackingCategory[]>(); }\n}\n(GetTrackingCategories as unknown)[immerable] = true;\n\n// @Route(\"/accounting/updateLocationTrackingCategory\")\nexport class UpdateLocationTrackingCategory implements IReturn<boolean>\n{\n    public locationId: number|null;\n    public trackingCategory: string|null;\n\n    public constructor(init?: Partial<UpdateLocationTrackingCategory>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UpdateLocationTrackingCategory'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return false; }\n}\n(UpdateLocationTrackingCategory as unknown)[immerable] = true;\n\nexport class GetAccountingSettingsInfoRequest implements IReturn<ResponseBase<AllAccountingConfigAndSettings>>\n{\n\n    public constructor(init?: Partial<GetAccountingSettingsInfoRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetAccountingSettingsInfoRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<AllAccountingConfigAndSettings>(); }\n}\n(GetAccountingSettingsInfoRequest as unknown)[immerable] = true;\n\nexport class SaveAccountingSettingsInfoRequest implements IReturn<ResponseBase<AllAccountingConfigAndSettings>>\n{\n    public newAccountingSettings: AccountingSettingInfo|null;\n    public isInitialSetup: boolean|null;\n    public isReactivation: boolean|null;\n\n    public constructor(init?: Partial<SaveAccountingSettingsInfoRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SaveAccountingSettingsInfoRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<AllAccountingConfigAndSettings>(); }\n}\n(SaveAccountingSettingsInfoRequest as unknown)[immerable] = true;\n\nexport class SyncPaymentUpdateFromXeroManuallyRequest implements IReturn<ResponseBase<IncomingAccountingPaymentResponse>>\n{\n    public paymentId: number|null;\n\n    public constructor(init?: Partial<SyncPaymentUpdateFromXeroManuallyRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SyncPaymentUpdateFromXeroManuallyRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<IncomingAccountingPaymentResponse>(); }\n}\n(SyncPaymentUpdateFromXeroManuallyRequest as unknown)[immerable] = true;\n\nexport class AccountingApiSyncHistorySearchRequest extends BaseAdvancedSearchRequest implements IReturn<ResponseBase<T>>\n{\n    public invoiceId: number|null;\n    public paymentId: number|null;\n    public status: string|null;\n\n    public constructor(init?: Partial<AccountingApiSyncHistorySearchRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'AccountingApiSyncHistorySearchRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(AccountingApiSyncHistorySearchRequest as unknown)[immerable] = true;\n\nexport class GetAccountingApiSyncHistoryRequest implements IReturn<ResponseBase<T>>\n{\n    public id: number|null;\n\n    public constructor(init?: Partial<GetAccountingApiSyncHistoryRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetAccountingApiSyncHistoryRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(GetAccountingApiSyncHistoryRequest as unknown)[immerable] = true;\n\n// @Route(\"/accounting/cacheApiDeckRequests\", \"POST\")\nexport class CacheApiDeckRequest implements IReturn<ResponseBase<boolean>>\n{\n\n    public constructor(init?: Partial<CacheApiDeckRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CacheApiDeckRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(CacheApiDeckRequest as unknown)[immerable] = true;\n\n// @Route(\"/oauth/start\", \"GET\")\nexport class OAuthInitiateRequest implements IReturnVoid\n{\n\n    public constructor(init?: Partial<OAuthInitiateRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OAuthInitiateRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(OAuthInitiateRequest as unknown)[immerable] = true;\n\n// @Route(\"/oauth/callback\", \"GET\")\nexport class OAuthCallbackRequest implements IReturn<OAuthCallbackResponse>\n{\n    public code: string|null;\n    public state: string|null;\n\n    public constructor(init?: Partial<OAuthCallbackRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OAuthCallbackRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new OAuthCallbackResponse(); }\n}\n(OAuthCallbackRequest as unknown)[immerable] = true;\n\n// @Route(\"/sys/config/all\")\nexport class SysConfigRequest implements IReturn<ResponseBase<{ [index:string]: string; }>>\n{\n\n    public constructor(init?: Partial<SysConfigRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SysConfigRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<{ [index:string]: string; }>(); }\n}\n(SysConfigRequest as unknown)[immerable] = true;\n\n// @Route(\"/sys/config/update\")\nexport class ConfigUpdate implements IReturn<ResponseBase<{ [index:string]: string; }>>\n{\n    public id: number|null;\n    public description: string|null;\n    public value: string|null;\n\n    public constructor(init?: Partial<ConfigUpdate>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ConfigUpdate'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<{ [index:string]: string; }>(); }\n}\n(ConfigUpdate as unknown)[immerable] = true;\n\nexport class BatchConfigUpdates implements IReturn<ResponseBase<{ [index:string]: string; }>>\n{\n    public updates: ConfigUpdate[]|null;\n\n    public constructor(init?: Partial<BatchConfigUpdates>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'BatchConfigUpdates'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<{ [index:string]: string; }>(); }\n}\n(BatchConfigUpdates as unknown)[immerable] = true;\n\n// @Route(\"/test/error\")\nexport class TestError\n{\n\n    public constructor(init?: Partial<TestError>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'TestError'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(TestError as unknown)[immerable] = true;\n\n// @Route(\"/locale\")\nexport class LocaleRequest\n{\n\n    public constructor(init?: Partial<LocaleRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'LocaleRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(LocaleRequest as unknown)[immerable] = true;\n\n// @Route(\"/loginMode\")\nexport class LoginModeRequest\n{\n\n    public constructor(init?: Partial<LoginModeRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'LoginModeRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(LoginModeRequest as unknown)[immerable] = true;\n\n// @Route(\"/sys/config/features\")\nexport class FeatureRequest implements IReturn<ResponseBase<{ [index:string]: string; }>>\n{\n\n    public constructor(init?: Partial<FeatureRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'FeatureRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<{ [index:string]: string; }>(); }\n}\n(FeatureRequest as unknown)[immerable] = true;\n\nexport class GetPhioConfigRequest implements IReturn<ResponseBase<PhioConfigResponse>>\n{\n\n    public constructor(init?: Partial<GetPhioConfigRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetPhioConfigRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<PhioConfigResponse>(); }\n}\n(GetPhioConfigRequest as unknown)[immerable] = true;\n\nexport class GetMediPassApiKeyRequest implements IReturn<ResponseBase<string>>\n{\n\n    public constructor(init?: Partial<GetMediPassApiKeyRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetMediPassApiKeyRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<string>(); }\n}\n(GetMediPassApiKeyRequest as unknown)[immerable] = true;\n\n// @Route(\"/healthz\")\n// @Route(\"/healthz/{clientId}\")\nexport class HeartbeatRequest implements IReturn<ResponseBase<boolean>>\n{\n    public clientId: number|null;\n\n    public constructor(init?: Partial<HeartbeatRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'HeartbeatRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(HeartbeatRequest as unknown)[immerable] = true;\n\nexport class GetSubscriptionRequest implements IReturn<ResponseBase<SubscriptionResponse>>\n{\n    public id: number|null;\n\n    public constructor(init?: Partial<GetSubscriptionRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetSubscriptionRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<SubscriptionResponse>(); }\n}\n(GetSubscriptionRequest as unknown)[immerable] = true;\n\nexport class GetSubscriptionHistoryRequest implements IReturn<ResponseBase<SubscriptionHistoryResponse>>\n{\n    public id: number|null;\n\n    public constructor(init?: Partial<GetSubscriptionHistoryRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetSubscriptionHistoryRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<SubscriptionHistoryResponse>(); }\n}\n(GetSubscriptionHistoryRequest as unknown)[immerable] = true;\n\nexport class SubscriptionSearchRequest extends BaseAdvancedSearchRequest implements IReturn<ResponseBase<SubscriptionResponse>>\n{\n    public id: number|null;\n    public customerId: number|null;\n    public invoiceStatus: string|null;\n    public status: SubscriptionStatus|null;\n    public amount: CurrencyRange|null;\n    public lastRunOn: DateRange|null;\n    public nextDue: DateRange|null;\n    public startDate: DateRange|null;\n    public expiryDate: DateRange|null;\n\n    public constructor(init?: Partial<SubscriptionSearchRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'SubscriptionSearchRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<SubscriptionResponse>(); }\n}\n(SubscriptionSearchRequest as unknown)[immerable] = true;\n\nexport class CreateSubscriptionRequest implements IReturn<ResponseBase<SubscriptionResponse>>, ILocationId\n{\n    public customer: CustomerSaveRequest|null;\n    public locationId: number|null;\n    public practitionerId: number|null;\n    public packageId: string|null;\n    public startDate: string|null;\n    public billingMode: SubscriptionBillingMode|null;\n    public paymentMode: SubscriptionPaymentMode|null;\n    public paymentMethod: SubscriptionPaymentMethod|null;\n    public paymentMethodOther: string|null;\n    public terminalPayment: TerminalPaymentDto|null;\n\n    public constructor(init?: Partial<CreateSubscriptionRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CreateSubscriptionRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<SubscriptionResponse>(); }\n}\n(CreateSubscriptionRequest as unknown)[immerable] = true;\n\nexport class UpdateSubscriptionRequest implements IReturn<ResponseBase<SubscriptionResponse>>\n{\n    public id: number|null;\n    public status: SubscriptionStatus|null;\n    public startDate: string|null;\n    public expiryDate: string|null;\n    public name: string|null;\n    public packageId: string|null;\n    public totalExVat: number|null;\n    public vatRate: number|null;\n    public totalIncVat: number|null;\n    public locationId: number|null;\n    public practitionerId: number|null;\n    public nextDue: string|null;\n    public subscriptionInterval: number|null;\n    public subscriptionIntervalUnit: SubscriptionRecurrenceInterval|null;\n    public earliestAllowedCancellationDate: string|null;\n    public bundles: PackageBundleResponse[]|null;\n\n    public constructor(init?: Partial<UpdateSubscriptionRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UpdateSubscriptionRequest'; }\n    public getMethod() { return 'PUT'; }\n    public createResponse() { return new ResponseBase<SubscriptionResponse>(); }\n}\n(UpdateSubscriptionRequest as unknown)[immerable] = true;\n\n// @Route(\"/apple-developer-merchantid-domain-association\")\nexport class SquareApplePayVerificationFileRequest implements IReturn<HttpResult>\n{\n\n    public constructor(init?: Partial<SquareApplePayVerificationFileRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SquareApplePayVerificationFileRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new HttpResult(); }\n}\n(SquareApplePayVerificationFileRequest as unknown)[immerable] = true;\n\n// @Route(\"/square/redirect\", \"GET\")\nexport class SquareRedirectRequest implements IReturn<HttpResult>\n{\n    public state: string|null;\n    public code: string|null;\n    public error: string|null;\n    public error_Description: string|null;\n\n    public constructor(init?: Partial<SquareRedirectRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SquareRedirectRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new HttpResult(); }\n}\n(SquareRedirectRequest as unknown)[immerable] = true;\n\nexport class SquareSaveStateRequest implements IReturn<ResponseBase<T>>\n{\n    public state: string|null;\n\n    public constructor(init?: Partial<SquareSaveStateRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SquareSaveStateRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(SquareSaveStateRequest as unknown)[immerable] = true;\n\nexport class SquareIntegrationRequest implements IReturn<ResponseBase<SquareOAuthResponse>>\n{\n    public state: string|null;\n\n    public constructor(init?: Partial<SquareIntegrationRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SquareIntegrationRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<SquareOAuthResponse>(); }\n}\n(SquareIntegrationRequest as unknown)[immerable] = true;\n\nexport class SquareDeAuthRequest implements IReturn<ResponseBase<SquareOAuthResponse>>\n{\n\n    public constructor(init?: Partial<SquareDeAuthRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SquareDeAuthRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<SquareOAuthResponse>(); }\n}\n(SquareDeAuthRequest as unknown)[immerable] = true;\n\nexport class SquareGetOAuthPermissionsRequest implements IReturn<ResponseBase<SquareOAuthPermissionsResponse>>\n{\n\n    public constructor(init?: Partial<SquareGetOAuthPermissionsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SquareGetOAuthPermissionsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<SquareOAuthPermissionsResponse>(); }\n}\n(SquareGetOAuthPermissionsRequest as unknown)[immerable] = true;\n\nexport class BasicCardDetailsRequest implements IReturn<ResponseBase<BasicCardDetailsResponse>>\n{\n    public customerId: number|null;\n\n    public constructor(init?: Partial<BasicCardDetailsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'BasicCardDetailsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<BasicCardDetailsResponse>(); }\n}\n(BasicCardDetailsRequest as unknown)[immerable] = true;\n\nexport class FullCardDetailsRequest implements IReturn<ResponseBase<FullCardDetailsResponse>>\n{\n    public customerId: number|null;\n\n    public constructor(init?: Partial<FullCardDetailsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'FullCardDetailsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<FullCardDetailsResponse>(); }\n}\n(FullCardDetailsRequest as unknown)[immerable] = true;\n\nexport class DeleteCardDetailsRequest implements IReturn<ResponseBase<DeleteCardDetailsResponse>>\n{\n    public customerId: number|null;\n\n    public constructor(init?: Partial<DeleteCardDetailsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DeleteCardDetailsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<DeleteCardDetailsResponse>(); }\n}\n(DeleteCardDetailsRequest as unknown)[immerable] = true;\n\nexport class GetPackageRequest implements IReturn<ResponseBase<PackageResponse>>\n{\n    public packageId: string|null;\n\n    public constructor(init?: Partial<GetPackageRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetPackageRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<PackageResponse>(); }\n}\n(GetPackageRequest as unknown)[immerable] = true;\n\nexport class PackagesSearchRequest implements IReturn<ResponseBase<PackageResponse>>\n{\n    public term: string|null;\n    public includeNonCurrent: boolean|null;\n\n    public constructor(init?: Partial<PackagesSearchRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PackagesSearchRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<PackageResponse>(); }\n}\n(PackagesSearchRequest as unknown)[immerable] = true;\n\nexport class SavePackageRequest implements IReturn<ResponseBase<PackageResponse>>, IDepartmentIds, ILocationIds\n{\n    public id: number|null;\n    public reference: string|null;\n    public totalPrice: number|null;\n    public description: string|null;\n    public appointmentLength: number|null;\n    public groupLocationLocationId: number|null;\n    public locationId: number|null;\n    public colour: number|null;\n    public online: boolean|null;\n    public onlineGuid: string|null;\n    public inUse: boolean|null;\n    public priceExVAT: number|null;\n    public vatRate: number|null;\n    public vatAmount: number|null;\n    public costAmount: number|null;\n    public costVATRate: number|null;\n    public costExVAT: number|null;\n    public costVATAmount: number|null;\n    public longDescription: string|null;\n    public ledgerCode: string|null;\n    public ledgerCodeOverrides: AccountingStockLedgerLookup[]|null;\n    public legderCodeAccountId: string|null;\n    public category: string|null;\n    public level: number|null;\n    public minimumLevel: number|null;\n    public displayInPriceList: boolean|null;\n    public totalWorth: number|null;\n    public supplierId: number|null;\n    public serviceTypeId: number|null;\n    public isPrivateCharge: boolean|null;\n    public stockIsCancel: boolean|null;\n    public stockIsFirst: boolean|null;\n    public stockIsFollowUp: boolean|null;\n    public stockIsDNA: boolean|null;\n    public isMultiple: boolean|null;\n    public groupName: string|null;\n    public overrides: StockOverrideResponse[]|null;\n    public validForDaysFromPurchase: number|null;\n    public isSubscriptionType: boolean|null;\n    public subscriptionInterval: number|null;\n    public subscriptionIntervalUnit: SubscriptionRecurrenceInterval|null;\n    public hasMinimumTerm: boolean|null;\n    public minimumTermValue: number|null;\n    public minimumTermInterval: number|null;\n    public minimumTermIntervalUnit: SubscriptionRecurrenceInterval|null;\n    public hasMaximumTerm: boolean|null;\n    public maximumTermValue: number|null;\n    public maximumTermInterval: number|null;\n    public maximumTermIntervalUnit: SubscriptionRecurrenceInterval|null;\n    public onePerCustomer: boolean|null;\n    public newCustomersOnly: boolean|null;\n    public allowDiscountCodes: boolean|null;\n    public hasValidityPeriod: boolean|null;\n    public validFrom: string|null;\n    public validTo: string|null;\n    public termsAndConditionsFormId: string|null;\n    public updateExistingSubscriptionsToUseNewBundles: boolean|null;\n    public bundles: PackageBundleResponse[]|null;\n    public departmentIds: number[]|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n    public colourCss: string|null;\n    public urlSlug: string|null;\n    public imageName: string|null;\n    public isCloning: boolean|null;\n    public expirationValue: number|null;\n    public quantityThreshold: number|null;\n    public creditAmount: number|null;\n    public excludedStockItemIds: number[]|null;\n    public excludedClassTypeIds: number[]|null;\n    public packageType: PackageType|null;\n    public restrictToPrivateCharges: boolean|null;\n\n    public constructor(init?: Partial<SavePackageRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SavePackageRequest'; }\n    public getMethod() { return 'PUT'; }\n    public createResponse() { return new ResponseBase<PackageResponse>(); }\n}\n(SavePackageRequest as unknown)[immerable] = true;\n\nexport class MyDiaryRequest implements IReturn<ResponseBase<MyDiaryResponse>>\n{\n    public subWorkflowId: number|null;\n\n    public constructor(init?: Partial<MyDiaryRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'MyDiaryRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<MyDiaryResponse>(); }\n}\n(MyDiaryRequest as unknown)[immerable] = true;\n\nexport class OnlineGetExistingWaitingListsForCustomer implements IReturn<ResponseBase<WaitingListResponse>>\n{\n    public patientId: number|null;\n\n    public constructor(init?: Partial<OnlineGetExistingWaitingListsForCustomer>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlineGetExistingWaitingListsForCustomer'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<WaitingListResponse>(); }\n}\n(OnlineGetExistingWaitingListsForCustomer as unknown)[immerable] = true;\n\n// @Route(\"/diary/waiting-lists/save\", \"POST\")\nexport class SaveWaitingListRequest extends WaitingList implements IReturn<ResponseBase<boolean>>\n{\n    public days: number[]|null;\n    public customer: CustomerSaveRequest|null;\n\n    public constructor(init?: Partial<SaveWaitingListRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'SaveWaitingListRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(SaveWaitingListRequest as unknown)[immerable] = true;\n\n// @Route(\"/diary/waiting-lists/save\", \"POST\")\nexport class OnlineSaveWaitingListRequest extends SaveWaitingListRequest implements IReturn<ResponseBase<boolean>>\n{\n\n    public constructor(init?: Partial<OnlineSaveWaitingListRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlineSaveWaitingListRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(OnlineSaveWaitingListRequest as unknown)[immerable] = true;\n\n// @Route(\"/diary/waiting-list/{Id}\", \"DELETE\")\nexport class DeleteWaitingListRequest implements IReturn<ResponseBase<boolean>>\n{\n    public id: number|null;\n\n    public constructor(init?: Partial<DeleteWaitingListRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DeleteWaitingListRequest'; }\n    public getMethod() { return 'DELETE'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(DeleteWaitingListRequest as unknown)[immerable] = true;\n\n// @Route(\"/diary/waiting-list/{Id}\", \"DELETE\")\nexport class OnlineDeleteWaitingListRequest extends DeleteWaitingListRequest implements IReturn<ResponseBase<boolean>>\n{\n\n    public constructor(init?: Partial<OnlineDeleteWaitingListRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlineDeleteWaitingListRequest'; }\n    public getMethod() { return 'DELETE'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(OnlineDeleteWaitingListRequest as unknown)[immerable] = true;\n\nexport class AppointmentConfirmRequest implements IReturn<ResponseBase<AppointmentSummary>>, IPut\n{\n    public selectedAppointment: AppointmentSearchResult|null;\n    public offeredAppointment: AppointmentSearchResult|null;\n    public customer: OnlineCustomerDto|null;\n    public id: string|null;\n    public prepaymentId: number|null;\n    public usePrepayment: boolean|null;\n    public paymentType: PaymentMode|null;\n    public packageId: string|null;\n    public stockId: string|null;\n    public serviceId: string|null;\n    public discountCodeId: string|null;\n    public takePaymentRequest: TakePaymentRequest|null;\n    public metadata: JsonField|null;\n    public appointmentType: AppointmentType|null;\n    public isFollowUp: boolean|null;\n    public overrideProductServiceId: string|null;\n    public workflowId: number|null;\n\n    public constructor(init?: Partial<AppointmentConfirmRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AppointmentConfirmRequest'; }\n    public getMethod() { return 'PUT'; }\n    public createResponse() { return new ResponseBase<AppointmentSummary>(); }\n}\n(AppointmentConfirmRequest as unknown)[immerable] = true;\n\nexport class OnlinePatientFormsRequest implements IReturn<ResponseBase<OnlinePatientFormResponse>>\n{\n\n    public constructor(init?: Partial<OnlinePatientFormsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlinePatientFormsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<OnlinePatientFormResponse>(); }\n}\n(OnlinePatientFormsRequest as unknown)[immerable] = true;\n\nexport class OnlineStripeDeleteCardRequest implements IReturn<ResponseBase<T>>\n{\n\n    public constructor(init?: Partial<OnlineStripeDeleteCardRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlineStripeDeleteCardRequest'; }\n    public getMethod() { return 'DELETE'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(OnlineStripeDeleteCardRequest as unknown)[immerable] = true;\n\nexport class OnlineGetCardDetailsRequest implements IReturn<ResponseBase<CardDetails>>\n{\n\n    public constructor(init?: Partial<OnlineGetCardDetailsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlineGetCardDetailsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<CardDetails>(); }\n}\n(OnlineGetCardDetailsRequest as unknown)[immerable] = true;\n\nexport class OnlineCancelBookingRequest implements IReturn<ResponseBase<boolean>>\n{\n    public appointmentId: number|null;\n    public classAttendanceId: number|null;\n    public cancellationReason: string|null;\n    public payFee: boolean|null;\n    public takePaymentRequest: TakePaymentRequest|null;\n\n    public constructor(init?: Partial<OnlineCancelBookingRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlineCancelBookingRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(OnlineCancelBookingRequest as unknown)[immerable] = true;\n\nexport class OnlineCancellationOptionsRequest implements IReturn<ResponseBase<OnlineCancellationOptionsResponse>>\n{\n    public appointmentId: number|null;\n    public classAttendanceId: number|null;\n\n    public constructor(init?: Partial<OnlineCancellationOptionsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlineCancellationOptionsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<OnlineCancellationOptionsResponse>(); }\n}\n(OnlineCancellationOptionsRequest as unknown)[immerable] = true;\n\n// @Route(\"/invoices/{CustomerId}\", \"GET\")\nexport class OnlineInvoiceListRequest implements IReturn<ResponseBase<T>>\n{\n    public customerId: number|null;\n\n    public constructor(init?: Partial<OnlineInvoiceListRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlineInvoiceListRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(OnlineInvoiceListRequest as unknown)[immerable] = true;\n\n// @Route(\"/invoice/download/{InvoiceId}\")\n// @Route(\"/receipt/download/{IncomeId}\")\nexport class OnlineInvoiceDownloadRequest implements IReturn<HttpResult>\n{\n    public invoiceId: number|null;\n    public incomeId: number|null;\n\n    public constructor(init?: Partial<OnlineInvoiceDownloadRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlineInvoiceDownloadRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new HttpResult(); }\n}\n(OnlineInvoiceDownloadRequest as unknown)[immerable] = true;\n\nexport class OnlineGetPaymentDetailsRequest implements IReturn<ResponseBase<OnlinePaymentDetailsResponse>>\n{\n    public stockId: string|null;\n    public classTypeId: number|null;\n    public courseTypeId: number|null;\n\n    public constructor(init?: Partial<OnlineGetPaymentDetailsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlineGetPaymentDetailsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<OnlinePaymentDetailsResponse>(); }\n}\n(OnlineGetPaymentDetailsRequest as unknown)[immerable] = true;\n\n// @Route(\"/packages/list\", \"GET\")\nexport class OnlineCustomerPackageRequest implements IReturn<ResponseBase<T>>\n{\n\n    public constructor(init?: Partial<OnlineCustomerPackageRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlineCustomerPackageRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(OnlineCustomerPackageRequest as unknown)[immerable] = true;\n\nexport class BuyPackageRequest implements IReturn<ResponseBase<T>>\n{\n    public packageId: string|null;\n    public isSubscription: boolean|null;\n    public saveCard: boolean|null;\n    public isConnectCustomer: boolean|null;\n    public takePaymentRequest: TakePaymentRequest|null;\n\n    public constructor(init?: Partial<BuyPackageRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'BuyPackageRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(BuyPackageRequest as unknown)[immerable] = true;\n\nexport class OnlinePasswordChangeRequest implements IReturn<ResponseBase<T>>\n{\n    public oldPassword: string|null;\n    public newPassword: string|null;\n    public passwordScore: number|null;\n\n    public constructor(init?: Partial<OnlinePasswordChangeRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlinePasswordChangeRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(OnlinePasswordChangeRequest as unknown)[immerable] = true;\n\nexport class OnlineUpdateSubscriptionRequest implements IReturn<ResponseBase<T>>\n{\n    public id: number|null;\n    public status: SubscriptionStatus|null;\n\n    public constructor(init?: Partial<OnlineUpdateSubscriptionRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlineUpdateSubscriptionRequest'; }\n    public getMethod() { return 'PUT'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(OnlineUpdateSubscriptionRequest as unknown)[immerable] = true;\n\nexport class GetAppointmentLocationsRequest implements IReturn<ResponseBase<T>>\n{\n    public serviceId: string|null;\n    public overrideProductServiceId: string|null;\n    public stockId: string|null;\n    public locationId: string|null;\n\n    public constructor(init?: Partial<GetAppointmentLocationsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetAppointmentLocationsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(GetAppointmentLocationsRequest as unknown)[immerable] = true;\n\nexport class GetAuthAppointmentLocationsRequest extends GetAppointmentLocationsRequest implements IReturn<ResponseBase<T>>\n{\n\n    public constructor(init?: Partial<GetAuthAppointmentLocationsRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetAuthAppointmentLocationsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(GetAuthAppointmentLocationsRequest as unknown)[immerable] = true;\n\nexport class OnlineCaseflowFormRequest implements IReturn<ResponseBase<T>>\n{\n    public productId: string|null;\n\n    public constructor(init?: Partial<OnlineCaseflowFormRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlineCaseflowFormRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(OnlineCaseflowFormRequest as unknown)[immerable] = true;\n\nexport class OnlineCaseflowContactRoleRequest implements IReturn<ResponseBase<OnlineRole>>\n{\n\n    public constructor(init?: Partial<OnlineCaseflowContactRoleRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlineCaseflowContactRoleRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<OnlineRole>(); }\n}\n(OnlineCaseflowContactRoleRequest as unknown)[immerable] = true;\n\nexport class OnlineCaseflowContactSearch implements IReturn<ResponseBase<OnlineCaseflowContact>>\n{\n    public skip: number|null;\n    public take: number|null;\n    public term: string|null;\n\n    public constructor(init?: Partial<OnlineCaseflowContactSearch>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlineCaseflowContactSearch'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<OnlineCaseflowContact>(); }\n}\n(OnlineCaseflowContactSearch as unknown)[immerable] = true;\n\nexport class ValidateDiscountCode implements IReturn<ResponseBase<DiscountCodeDto>>\n{\n    public discountCodeId: string|null;\n    public code: string|null;\n    public appointmentDate: string|null;\n    public getInUseFlag: boolean|null;\n    public enableForConnect: boolean|null;\n    public stockId: string|null;\n    public sessionCount: number|null;\n\n    public constructor(init?: Partial<ValidateDiscountCode>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ValidateDiscountCode'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<DiscountCodeDto>(); }\n}\n(ValidateDiscountCode as unknown)[immerable] = true;\n\nexport class OnlineSettingsRequest implements IReturn<OnlineSettingsResponse>\n{\n    public businessId: number|null;\n\n    public constructor(init?: Partial<OnlineSettingsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlineSettingsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new OnlineSettingsResponse(); }\n}\n(OnlineSettingsRequest as unknown)[immerable] = true;\n\nexport class OnlineCurrentUserRequest implements IReturn<ResponseBase<CurrentUser>>\n{\n\n    public constructor(init?: Partial<OnlineCurrentUserRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlineCurrentUserRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<CurrentUser>(); }\n}\n(OnlineCurrentUserRequest as unknown)[immerable] = true;\n\nexport class OnlineInitialRequest implements IReturn<ResponseBase<OnlineInitialResponse>>\n{\n\n    public constructor(init?: Partial<OnlineInitialRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlineInitialRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<OnlineInitialResponse>(); }\n}\n(OnlineInitialRequest as unknown)[immerable] = true;\n\nexport class ConnectValidateBusinessRouteRequest implements IReturn<ResponseBase<BusinessCategoryResponse>>\n{\n    public url: string|null;\n\n    public constructor(init?: Partial<ConnectValidateBusinessRouteRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ConnectValidateBusinessRouteRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<BusinessCategoryResponse>(); }\n}\n(ConnectValidateBusinessRouteRequest as unknown)[immerable] = true;\n\nexport class ConnectValidateAccessCodeRequest implements IReturn<ResponseBase<boolean>>\n{\n    public serviceId: string|null;\n    public accessCode: string|null;\n\n    public constructor(init?: Partial<ConnectValidateAccessCodeRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ConnectValidateAccessCodeRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(ConnectValidateAccessCodeRequest as unknown)[immerable] = true;\n\n// @Route(\"/availablity/sessions\", \"POST\")\nexport class GetOnlineSessions implements IReturn<ResponseBase<AvailabilitySession>>\n{\n    public from: string|null;\n    public to: string|null;\n    public locationId: string|null;\n\n    public constructor(init?: Partial<GetOnlineSessions>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetOnlineSessions'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<AvailabilitySession>(); }\n}\n(GetOnlineSessions as unknown)[immerable] = true;\n\nexport class GetLocationOverridesRequest implements IReturn<ResponseBase<T>>\n{\n    public stockId: string|null;\n\n    public constructor(init?: Partial<GetLocationOverridesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetLocationOverridesRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(GetLocationOverridesRequest as unknown)[immerable] = true;\n\nexport class GetCaseflowNetworkLocationsRequest extends GetAppointmentLocationsRequest implements IReturn<ResponseBase<T>>\n{\n    public latLong: string|null;\n    public postCode: string|null;\n    public skip: number|null;\n    public take: number|null;\n\n    public constructor(init?: Partial<GetCaseflowNetworkLocationsRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetCaseflowNetworkLocationsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(GetCaseflowNetworkLocationsRequest as unknown)[immerable] = true;\n\nexport class GetOnlineDistinctAppointmentRequest implements IReturn<AppointmentSearchResponse>\n{\n    public from: string|null;\n    public to: string|null;\n    public appointmentLength: number|null;\n    public locationIds: string[]|null;\n    public serviceId: string|null;\n    public stockId: string|null;\n    public allowPast: boolean|null;\n    public overrideProductServiceId: string|null;\n    public isFollowUp: boolean|null;\n\n    public constructor(init?: Partial<GetOnlineDistinctAppointmentRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetOnlineDistinctAppointmentRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new AppointmentSearchResponse(); }\n}\n(GetOnlineDistinctAppointmentRequest as unknown)[immerable] = true;\n\nexport class BookTempAppointmentRequest implements IReturn<ReserveAppointmentResponse>\n{\n    public practitionerGuid: string|null;\n    public locationGuid: string|null;\n    public roomId: number|null;\n    public startDateTime: string|null;\n    public endDateTime: string|null;\n    public stockId: string|null;\n    public serviceId: string|null;\n    public appointmentType: AppointmentType|null;\n\n    public constructor(init?: Partial<BookTempAppointmentRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'BookTempAppointmentRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ReserveAppointmentResponse(); }\n}\n(BookTempAppointmentRequest as unknown)[immerable] = true;\n\nexport class OnlineDeleteReservationRequest\n{\n    public appointmentId: number|null;\n\n    public constructor(init?: Partial<OnlineDeleteReservationRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlineDeleteReservationRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(OnlineDeleteReservationRequest as unknown)[immerable] = true;\n\nexport class GetUserByEmailOrMobile implements IReturn<ResponseBase<GetUserByEmailOrMobileResponse>>\n{\n    public term: string|null;\n    public businessId: number|null;\n\n    public constructor(init?: Partial<GetUserByEmailOrMobile>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetUserByEmailOrMobile'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<GetUserByEmailOrMobileResponse>(); }\n}\n(GetUserByEmailOrMobile as unknown)[immerable] = true;\n\nexport class OnlineResetRequest implements IReturn<ResponseBase<boolean>>\n{\n    public userName: string|null;\n    public recaptcha: string|null;\n\n    public constructor(init?: Partial<OnlineResetRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlineResetRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(OnlineResetRequest as unknown)[immerable] = true;\n\nexport class OnlineChangePasswordByReset implements IReturn<CurrentUser>\n{\n    public resetCode: string|null;\n    public newPassword: string|null;\n    public score: number|null;\n\n    public constructor(init?: Partial<OnlineChangePasswordByReset>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlineChangePasswordByReset'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new CurrentUser(); }\n}\n(OnlineChangePasswordByReset as unknown)[immerable] = true;\n\nexport class OnlineLogoutRequest implements IReturn<ResponseBase<boolean>>\n{\n\n    public constructor(init?: Partial<OnlineLogoutRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlineLogoutRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(OnlineLogoutRequest as unknown)[immerable] = true;\n\nexport class OnlineVerifyRequest implements IReturn<ResponseBase<OnlineCustomerDto>>\n{\n    public code: string|null;\n\n    public constructor(init?: Partial<OnlineVerifyRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlineVerifyRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<OnlineCustomerDto>(); }\n}\n(OnlineVerifyRequest as unknown)[immerable] = true;\n\nexport class OnlineRegisterRequest extends OnlineCustomerDto implements IReturn<ResponseBase<boolean>>\n{\n    public newPassword: string|null;\n    public passwordScore: number|null;\n    public givenConsent: boolean|null;\n    public recaptcha: string|null;\n\n    public constructor(init?: Partial<OnlineRegisterRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlineRegisterRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(OnlineRegisterRequest as unknown)[immerable] = true;\n\nexport class OnlineRegisterValidationRequest implements IReturn<ResponseBase<OnlineRegisterValidationResponse>>\n{\n    public email: string|null;\n    public mobileNumber: string|null;\n    public businessId: number|null;\n\n    public constructor(init?: Partial<OnlineRegisterValidationRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlineRegisterValidationRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<OnlineRegisterValidationResponse>(); }\n}\n(OnlineRegisterValidationRequest as unknown)[immerable] = true;\n\n// @Route(\"/online/files/bykey\")\n// @Route(\"/online/files/bykey/{Key}\")\nexport class OnlineFileByKeyRequest implements IReturn<HttpResult>\n{\n    public key: string|null;\n\n    public constructor(init?: Partial<OnlineFileByKeyRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlineFileByKeyRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new HttpResult(); }\n}\n(OnlineFileByKeyRequest as unknown)[immerable] = true;\n\n// @Route(\"/online/files/bypath/{Path}\")\nexport class OnlineFileByPathRequest implements IReturn<HttpResult>\n{\n    public path: string|null;\n\n    public constructor(init?: Partial<OnlineFileByPathRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlineFileByPathRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new HttpResult(); }\n}\n(OnlineFileByPathRequest as unknown)[immerable] = true;\n\nexport class OnlineContentByKeyRequest implements IReturn<ResponseBase<string>>\n{\n    public key: string|null;\n\n    public constructor(init?: Partial<OnlineContentByKeyRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlineContentByKeyRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<string>(); }\n}\n(OnlineContentByKeyRequest as unknown)[immerable] = true;\n\nexport class AppointmentPaymentDetailsRequest implements IReturn<ResponseEnhancerBase<OnlinePaymentDetailsResponse>>\n{\n    public appointmentId: number|null;\n    public totalPrice: number|null;\n\n    public constructor(init?: Partial<AppointmentPaymentDetailsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AppointmentPaymentDetailsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseEnhancerBase<OnlinePaymentDetailsResponse>(); }\n}\n(AppointmentPaymentDetailsRequest as unknown)[immerable] = true;\n\nexport class OnlinePatientFormRequest implements IReturn<ResponseBase<OnlinePatientFormResponse>>\n{\n    public id: string|null;\n\n    public constructor(init?: Partial<OnlinePatientFormRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlinePatientFormRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<OnlinePatientFormResponse>(); }\n}\n(OnlinePatientFormRequest as unknown)[immerable] = true;\n\nexport class OnlinePatientFormSubmit implements IReturn<ResponseBase<boolean>>\n{\n    public id: string|null;\n    public reportData: string|null;\n    public isDraft: boolean|null;\n    public updates: Update[]|null;\n\n    public constructor(init?: Partial<OnlinePatientFormSubmit>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlinePatientFormSubmit'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(OnlinePatientFormSubmit as unknown)[immerable] = true;\n\nexport class GetOnlineWaitingListReservedRequest implements IReturn<ResponseBase<OnlineWaitingListReservationConfirmResponse>>\n{\n    public waitingListGlobalId: string|null;\n\n    public constructor(init?: Partial<GetOnlineWaitingListReservedRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetOnlineWaitingListReservedRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<OnlineWaitingListReservationConfirmResponse>(); }\n}\n(GetOnlineWaitingListReservedRequest as unknown)[immerable] = true;\n\nexport class ActionWaitingListReserveRequest implements IReturn<ResponseBase<boolean>>\n{\n    public waitingListGlobalId: string|null;\n    public waitingListStatus: WaitingListStatus|null;\n    public subStatus: WaitingListSubStatus|null;\n    public notificationType: WaitingListNotificationType|null;\n    public pauseUntilDateTime: string|null;\n    public takePaymentRequest: TakePaymentRequest|null;\n    public paymentType: number|null;\n    public packageId: string|null;\n    public discountCodeId: string|null;\n\n    public constructor(init?: Partial<ActionWaitingListReserveRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ActionWaitingListReserveRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(ActionWaitingListReserveRequest as unknown)[immerable] = true;\n\nexport class OnlineSiteRequest implements IReturn<ResponseBase<boolean>>\n{\n\n    public constructor(init?: Partial<OnlineSiteRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlineSiteRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(OnlineSiteRequest as unknown)[immerable] = true;\n\nexport class GetChasedPaymentRequest implements IReturn<ResponseBase<ChasedPaymentDTO>>\n{\n    public id: string|null;\n\n    public constructor(init?: Partial<GetChasedPaymentRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetChasedPaymentRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ChasedPaymentDTO>(); }\n}\n(GetChasedPaymentRequest as unknown)[immerable] = true;\n\nexport class GetSquareCustomerDetailsRequest implements IReturn<ResponseBase<GetSquareCustomerDetailsResponse>>\n{\n    public customerId: number|null;\n\n    public constructor(init?: Partial<GetSquareCustomerDetailsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetSquareCustomerDetailsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<GetSquareCustomerDetailsResponse>(); }\n}\n(GetSquareCustomerDetailsRequest as unknown)[immerable] = true;\n\nexport class PayChasedPaymentRequest implements IReturn<ResponseBase<T>>\n{\n    public chaseSlug: string|null;\n    public saveCard: boolean|null;\n    public cardDetails: CardDetails|null;\n    public takePaymentRequest: TakePaymentRequest|null;\n\n    public constructor(init?: Partial<PayChasedPaymentRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PayChasedPaymentRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(PayChasedPaymentRequest as unknown)[immerable] = true;\n\nexport class IsTwoFactorAuthRequired implements IReturn<boolean>\n{\n    public token: string|null;\n\n    public constructor(init?: Partial<IsTwoFactorAuthRequired>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'IsTwoFactorAuthRequired'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return false; }\n}\n(IsTwoFactorAuthRequired as unknown)[immerable] = true;\n\nexport class OnlineAutoLoginCodeRequest implements IReturn<boolean>\n{\n    public token: string|null;\n\n    public constructor(init?: Partial<OnlineAutoLoginCodeRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlineAutoLoginCodeRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return false; }\n}\n(OnlineAutoLoginCodeRequest as unknown)[immerable] = true;\n\nexport class OnlineAutoLoginVerifyCodeRequest implements IReturn<OnlineAutoLoginVerifyCodeResponse>\n{\n    public token: string|null;\n    public accessCode: string|null;\n    public password: string|null;\n\n    public constructor(init?: Partial<OnlineAutoLoginVerifyCodeRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlineAutoLoginVerifyCodeRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new OnlineAutoLoginVerifyCodeResponse(); }\n}\n(OnlineAutoLoginVerifyCodeRequest as unknown)[immerable] = true;\n\nexport class OnlineRequestAccessCodeRequest implements IReturn<boolean>\n{\n    public email: string|null;\n    public phoneNumber: string|null;\n\n    public constructor(init?: Partial<OnlineRequestAccessCodeRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlineRequestAccessCodeRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return false; }\n}\n(OnlineRequestAccessCodeRequest as unknown)[immerable] = true;\n\nexport class ConnectFeatureFlagsRequest implements IReturn<ResponseBase<{ [index:string]: string; }>>\n{\n\n    public constructor(init?: Partial<ConnectFeatureFlagsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ConnectFeatureFlagsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<{ [index:string]: string; }>(); }\n}\n(ConnectFeatureFlagsRequest as unknown)[immerable] = true;\n\nexport class UsedLicenseRequest implements IReturn<ResponseBase<number>>\n{\n\n    public constructor(init?: Partial<UsedLicenseRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UsedLicenseRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<number>(); }\n}\n(UsedLicenseRequest as unknown)[immerable] = true;\n\nexport class MsInvoicesRequest implements IReturn<ResponseBase<MsInvoiceResponse>>\n{\n    public skip: number|null;\n    public take: number|null;\n\n    public constructor(init?: Partial<MsInvoicesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'MsInvoicesRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<MsInvoiceResponse>(); }\n}\n(MsInvoicesRequest as unknown)[immerable] = true;\n\nexport class MsInvoiceRequest implements IReturn<ResponseBase<MsInvoiceResponse>>\n{\n    public invoiceId: number|null;\n\n    public constructor(init?: Partial<MsInvoiceRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'MsInvoiceRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<MsInvoiceResponse>(); }\n}\n(MsInvoiceRequest as unknown)[immerable] = true;\n\nexport class CurrentLicenceQuoteRequest implements IReturn<ResponseBase<Tm3License>>\n{\n\n    public constructor(init?: Partial<CurrentLicenceQuoteRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CurrentLicenceQuoteRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<Tm3License>(); }\n}\n(CurrentLicenceQuoteRequest as unknown)[immerable] = true;\n\nexport class MsClientResponse implements IReturn<ResponseBase<MsClientResponse>>\n{\n    public reference: string|null;\n    public forename: string|null;\n    public title: string|null;\n    public surname: string|null;\n    public email: string|null;\n    public homeTelephone: string|null;\n    public addressLine1: string|null;\n    public addressLine2: string|null;\n    public addressLine3: string|null;\n    public addressLine4: string|null;\n    public postCode: string|null;\n    public invoiceAddressLine1: string|null;\n    public invoiceAddressLine2: string|null;\n    public invoiceAddressLine3: string|null;\n    public invoiceAddressLine4: string|null;\n    public invoicePostCode: string|null;\n    public accountHolders: MsContact[]|null;\n    public accountEmails: MsContact[]|null;\n    public supportEmails: MsContact[]|null;\n    public bzAccountManager: string|null;\n    public bzAccountManagerEmail: string|null;\n    public bzAccountManagerTelephone: string|null;\n    public subscriptionMonthly: number|null;\n    public subscriptionAnnual: number|null;\n    public returnEmail: string|null;\n    public useSMSCredits: boolean|null;\n    public useSystemCredits: boolean|null;\n    public locationID: number|null;\n\n    public constructor(init?: Partial<MsClientResponse>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'MsClientResponse'; }\n    public getMethod() { return 'PUT'; }\n    public createResponse() { return new ResponseBase<MsClientResponse>(); }\n}\n(MsClientResponse as unknown)[immerable] = true;\n\nexport class MsClientRequest implements IReturn<ResponseBase<MsClientResponse>>\n{\n\n    public constructor(init?: Partial<MsClientRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'MsClientRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<MsClientResponse>(); }\n}\n(MsClientRequest as unknown)[immerable] = true;\n\nexport class GetClientPricing implements IReturn<ResponseBase<GetClientPricingResponse>>\n{\n\n    public constructor(init?: Partial<GetClientPricing>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetClientPricing'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<GetClientPricingResponse>(); }\n}\n(GetClientPricing as unknown)[immerable] = true;\n\nexport class ConfirmClientSignUp implements IReturn<ResponseBase<ConfirmClientSignUpResponse>>\n{\n    public noOfPractitioners: number|null;\n    public paymentMethod: PaymentMethod|null;\n\n    public constructor(init?: Partial<ConfirmClientSignUp>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ConfirmClientSignUp'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ConfirmClientSignUpResponse>(); }\n}\n(ConfirmClientSignUp as unknown)[immerable] = true;\n\nexport class ConfirmClickPlusSignUp implements IReturn<ResponseBase<ConfirmClientSignUpResponse>>\n{\n    public paymentMethod: PaymentMethod|null;\n\n    public constructor(init?: Partial<ConfirmClickPlusSignUp>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ConfirmClickPlusSignUp'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ConfirmClientSignUpResponse>(); }\n}\n(ConfirmClickPlusSignUp as unknown)[immerable] = true;\n\nexport class GetClientPaymentDetailsRequest implements IReturn<ResponseBase<GetClientPaymentDetailsResponse>>\n{\n\n    public constructor(init?: Partial<GetClientPaymentDetailsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetClientPaymentDetailsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<GetClientPaymentDetailsResponse>(); }\n}\n(GetClientPaymentDetailsRequest as unknown)[immerable] = true;\n\nexport class SaveClientPaymentDetailsRequest implements IReturn<ResponseBase<SaveClientPaymentDetailsResponse>>\n{\n    public paymentMethod: PaymentMethod|null;\n\n    public constructor(init?: Partial<SaveClientPaymentDetailsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SaveClientPaymentDetailsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<SaveClientPaymentDetailsResponse>(); }\n}\n(SaveClientPaymentDetailsRequest as unknown)[immerable] = true;\n\nexport class ClickPPCDetailsRequest implements IReturn<ResponseBase<ClickPPCDetailsResponse>>\n{\n\n    public constructor(init?: Partial<ClickPPCDetailsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClickPPCDetailsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ClickPPCDetailsResponse>(); }\n}\n(ClickPPCDetailsRequest as unknown)[immerable] = true;\n\nexport class ClickUpgradeDetailsRequest implements IReturn<ResponseBase<ClickUpgradeDetailsResponse>>\n{\n\n    public constructor(init?: Partial<ClickUpgradeDetailsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClickUpgradeDetailsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ClickUpgradeDetailsResponse>(); }\n}\n(ClickUpgradeDetailsRequest as unknown)[immerable] = true;\n\nexport class ClickTrialRequest implements IReturn<ResponseBase<ClickTrialResponse>>\n{\n\n    public constructor(init?: Partial<ClickTrialRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClickTrialRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ClickTrialResponse>(); }\n}\n(ClickTrialRequest as unknown)[immerable] = true;\n\nexport class ClickDowngradeRequest implements IReturn<ResponseBase<ClickDowngradeResponse>>\n{\n\n    public constructor(init?: Partial<ClickDowngradeRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClickDowngradeRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ClickDowngradeResponse>(); }\n}\n(ClickDowngradeRequest as unknown)[immerable] = true;\n\nexport class ClientDowngradeToSingleLicenseRequest implements IReturn<ResponseBase<ClientDowngradeToSingleLicenseResponse>>\n{\n    public id: number|null;\n\n    public constructor(init?: Partial<ClientDowngradeToSingleLicenseRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClientDowngradeToSingleLicenseRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ClientDowngradeToSingleLicenseResponse>(); }\n}\n(ClientDowngradeToSingleLicenseRequest as unknown)[immerable] = true;\n\nexport class ClientNoLongerWantsToCancelRequest implements IReturn<ResponseBase<ClientNoLongerWantsToCancelResponse>>\n{\n\n    public constructor(init?: Partial<ClientNoLongerWantsToCancelRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClientNoLongerWantsToCancelRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ClientNoLongerWantsToCancelResponse>(); }\n}\n(ClientNoLongerWantsToCancelRequest as unknown)[immerable] = true;\n\nexport class ConfirmClientCancellation implements IReturn<ResponseBase<ConfirmClientCancellationResponse>>\n{\n    public trialLapsed: boolean|null;\n    public comments: string|null;\n\n    public constructor(init?: Partial<ConfirmClientCancellation>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ConfirmClientCancellation'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ConfirmClientCancellationResponse>(); }\n}\n(ConfirmClientCancellation as unknown)[immerable] = true;\n\nexport class HasInvalidCardRequest implements IReturn<ResponseBase<boolean>>\n{\n\n    public constructor(init?: Partial<HasInvalidCardRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'HasInvalidCardRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(HasInvalidCardRequest as unknown)[immerable] = true;\n\nexport class MSCurrencyRequest implements IReturn<ResponseBase<MSCurrencyResponse>>\n{\n\n    public constructor(init?: Partial<MSCurrencyRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'MSCurrencyRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<MSCurrencyResponse>(); }\n}\n(MSCurrencyRequest as unknown)[immerable] = true;\n\nexport class MSSubscriptionRequest implements IReturn<ResponseBase<MSSubscriptionResponse>>\n{\n\n    public constructor(init?: Partial<MSSubscriptionRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'MSSubscriptionRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<MSSubscriptionResponse>(); }\n}\n(MSSubscriptionRequest as unknown)[immerable] = true;\n\nexport class CreditAutoTopUpAmountRequest implements IReturn<ResponseBase<CreditAutoTopUpAmountResponse>>\n{\n    public bundleType: string|null;\n    public number: number|null;\n\n    public constructor(init?: Partial<CreditAutoTopUpAmountRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CreditAutoTopUpAmountRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<CreditAutoTopUpAmountResponse>(); }\n}\n(CreditAutoTopUpAmountRequest as unknown)[immerable] = true;\n\nexport class SMSOrderHistoryRequest implements IReturn<ResponseBase<SMSOrderHistoryResponse>>, IHasGuidId\n{\n    public id: string|null;\n\n    public constructor(init?: Partial<SMSOrderHistoryRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SMSOrderHistoryRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<SMSOrderHistoryResponse>(); }\n}\n(SMSOrderHistoryRequest as unknown)[immerable] = true;\n\nexport class SMSBundlePurchaseRequest implements IReturn<ResponseBase<number>>\n{\n    public number: number|null;\n\n    public constructor(init?: Partial<SMSBundlePurchaseRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SMSBundlePurchaseRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<number>(); }\n}\n(SMSBundlePurchaseRequest as unknown)[immerable] = true;\n\nexport class SMSBundleOptionsRequest implements IReturn<ResponseBase<SMSBundleOptionsResponse>>\n{\n\n    public constructor(init?: Partial<SMSBundleOptionsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SMSBundleOptionsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<SMSBundleOptionsResponse>(); }\n}\n(SMSBundleOptionsRequest as unknown)[immerable] = true;\n\nexport class SystemCreditBundleOptionsRequest implements IReturn<ResponseBase<SystemCreditBundleOptionsResponse>>\n{\n\n    public constructor(init?: Partial<SystemCreditBundleOptionsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SystemCreditBundleOptionsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<SystemCreditBundleOptionsResponse>(); }\n}\n(SystemCreditBundleOptionsRequest as unknown)[immerable] = true;\n\nexport class CreditOrderHistoryRequest implements IReturn<ResponseBase<CreditOrderHistoryResponse>>, IHasGuidId\n{\n    public id: string|null;\n\n    public constructor(init?: Partial<CreditOrderHistoryRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CreditOrderHistoryRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<CreditOrderHistoryResponse>(); }\n}\n(CreditOrderHistoryRequest as unknown)[immerable] = true;\n\nexport class CreditBundlePurchaseRequest implements IReturn<ResponseBase<number>>\n{\n    public number: number|null;\n\n    public constructor(init?: Partial<CreditBundlePurchaseRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CreditBundlePurchaseRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<number>(); }\n}\n(CreditBundlePurchaseRequest as unknown)[immerable] = true;\n\nexport class PayMSInvoiceRequest implements IReturn<ResponseBase<boolean>>\n{\n    public id: number|null;\n\n    public constructor(init?: Partial<PayMSInvoiceRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PayMSInvoiceRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(PayMSInvoiceRequest as unknown)[immerable] = true;\n\nexport class DownloadMSInvoiceRequest implements IReturn<ResponseBase<string>>\n{\n    public invoiceId: number|null;\n\n    public constructor(init?: Partial<DownloadMSInvoiceRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DownloadMSInvoiceRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<string>(); }\n}\n(DownloadMSInvoiceRequest as unknown)[immerable] = true;\n\nexport class PayPerClickDetailRequest implements IReturn<ResponseBase<T>>\n{\n    public skip: number|null;\n    public take: number|null;\n    public includedInAllowance: boolean|null;\n    public isSystemCredit: boolean|null;\n\n    public constructor(init?: Partial<PayPerClickDetailRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PayPerClickDetailRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(PayPerClickDetailRequest as unknown)[immerable] = true;\n\nexport class PayPerClickSMSDetailRequest implements IReturn<ResponseBase<T>>\n{\n    public itemType: ItemType|null;\n    public skip: number|null;\n    public take: number|null;\n    public sort: QueryField[]|null;\n    public fromDate: string|null;\n    public toDate: string|null;\n\n    public constructor(init?: Partial<PayPerClickSMSDetailRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PayPerClickSMSDetailRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(PayPerClickSMSDetailRequest as unknown)[immerable] = true;\n\nexport class PayPerClickStatsRequest implements IReturn<ResponseBase<PayPerClickStatsResponse>>\n{\n\n    public constructor(init?: Partial<PayPerClickStatsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PayPerClickStatsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<PayPerClickStatsResponse>(); }\n}\n(PayPerClickStatsRequest as unknown)[immerable] = true;\n\nexport class UnrestrictedUserRequest implements IReturn<ResponseBase<UnrestrictedUserResponse>>\n{\n\n    public constructor(init?: Partial<UnrestrictedUserRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UnrestrictedUserRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<UnrestrictedUserResponse>(); }\n}\n(UnrestrictedUserRequest as unknown)[immerable] = true;\n\nexport class AddUnrestrictedUserRequest implements IReturn<ResponseBase<UnrestrictedUserResponse>>\n{\n    public userId: number|null;\n\n    public constructor(init?: Partial<AddUnrestrictedUserRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AddUnrestrictedUserRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<UnrestrictedUserResponse>(); }\n}\n(AddUnrestrictedUserRequest as unknown)[immerable] = true;\n\nexport class DeleteUnrestrictedUserRequest implements IReturn<ResponseBase<boolean>>\n{\n    public userId: number|null;\n\n    public constructor(init?: Partial<DeleteUnrestrictedUserRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DeleteUnrestrictedUserRequest'; }\n    public getMethod() { return 'DELETE'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(DeleteUnrestrictedUserRequest as unknown)[immerable] = true;\n\n// @Route(\"/reports/diary/appointment-analysis\")\nexport class DiaryAnalysisReportRequest extends BaseParamsForAllReports implements IReturn<ResponseBase<DiaryAnalysisResponse>>\n{\n    public diaryEventCategories: string[]|null;\n    public appointmentStatuses: number[]|null;\n    public bookingMethods: string[]|null;\n    public rooms: number[]|null;\n    public ageCategory: string[]|null;\n    public cancellationReasons: string[]|null;\n\n    public constructor(init?: Partial<DiaryAnalysisReportRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'DiaryAnalysisReportRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<DiaryAnalysisResponse>(); }\n}\n(DiaryAnalysisReportRequest as unknown)[immerable] = true;\n\nexport class NonReturningReportRequest extends BaseParamsForAllReports implements IReturn<ResponseBase<T>>\n{\n    public weekCount: number|null;\n\n    public constructor(init?: Partial<NonReturningReportRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'NonReturningReportRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(NonReturningReportRequest as unknown)[immerable] = true;\n\nexport class TrafficReportRequest extends BaseParamsForAllReports implements IReturn<ResponseBase<T>>\n{\n    public instructor: number[]|null;\n    public paymentMethods: string[]|null;\n    public orderBy: TrafficReportOrdering|null;\n\n    public constructor(init?: Partial<TrafficReportRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'TrafficReportRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(TrafficReportRequest as unknown)[immerable] = true;\n\nexport class AutopayReportRequest extends BaseParamsForAllReports implements IReturn<ResponseBase<T>>\n{\n    public status: SubscriptionStatus[]|null;\n    public cardsExpiringSoon: boolean|null;\n    public upcomingRenewals: boolean|null;\n\n    public constructor(init?: Partial<AutopayReportRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'AutopayReportRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(AutopayReportRequest as unknown)[immerable] = true;\n\n// @Route(\"/stripe/redirect\", \"GET\")\nexport class StripeRedirectRequest\n{\n    public state: string|null;\n    public code: string|null;\n    public error: string|null;\n    public error_Description: string|null;\n\n    public constructor(init?: Partial<StripeRedirectRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'StripeRedirectRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() {}\n}\n(StripeRedirectRequest as unknown)[immerable] = true;\n\nexport class StripeStateRequest\n{\n    public state: string|null;\n\n    public constructor(init?: Partial<StripeStateRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'StripeStateRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(StripeStateRequest as unknown)[immerable] = true;\n\nexport class StripeIntegrationRequest implements IReturn<StripeOAuthResponse>\n{\n    public state: string|null;\n\n    public constructor(init?: Partial<StripeIntegrationRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'StripeIntegrationRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new StripeOAuthResponse(); }\n}\n(StripeIntegrationRequest as unknown)[immerable] = true;\n\nexport class GetSettingsRequest implements IReturn<ResponseBase<GetSettingsResponse>>\n{\n    public id: number|null;\n    public businessId: number|null;\n\n    public constructor(init?: Partial<GetSettingsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetSettingsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<GetSettingsResponse>(); }\n}\n(GetSettingsRequest as unknown)[immerable] = true;\n\nexport class PutSettingsRequest extends OnlineSettings implements IReturn<ResponseBase<OnlineSettings>>\n{\n    // @Ignore()\n    public logo: string|null;\n\n    public constructor(init?: Partial<PutSettingsRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'PutSettingsRequest'; }\n    public getMethod() { return 'PUT'; }\n    public createResponse() { return new ResponseBase<OnlineSettings>(); }\n}\n(PutSettingsRequest as unknown)[immerable] = true;\n\nexport class GetCategoryAndServicesRequest implements IReturn<ResponseBase<OnlineCategoryResponse>>, IGet\n{\n    public businessId: number|null;\n\n    public constructor(init?: Partial<GetCategoryAndServicesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetCategoryAndServicesRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<OnlineCategoryResponse>(); }\n}\n(GetCategoryAndServicesRequest as unknown)[immerable] = true;\n\nexport class PutServiceRequest extends OnlineClinicService implements IReturn<ResponseBase<OnlineClinicService>>, IPut\n{\n    public category: string|null;\n\n    public constructor(init?: Partial<PutServiceRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'PutServiceRequest'; }\n    public getMethod() { return 'PUT'; }\n    public createResponse() { return new ResponseBase<OnlineClinicService>(); }\n}\n(PutServiceRequest as unknown)[immerable] = true;\n\nexport class PutCategoryRequest extends OnlineServiceCategory implements IReturn<ResponseBase<OnlineServiceCategory>>, IPut\n{\n\n    public constructor(init?: Partial<PutCategoryRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'PutCategoryRequest'; }\n    public getMethod() { return 'PUT'; }\n    public createResponse() { return new ResponseBase<OnlineServiceCategory>(); }\n}\n(PutCategoryRequest as unknown)[immerable] = true;\n\nexport class GetOnlineSectionRequest implements IReturn<ResponseBase<OnlineSection>>\n{\n\n    public constructor(init?: Partial<GetOnlineSectionRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetOnlineSectionRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<OnlineSection>(); }\n}\n(GetOnlineSectionRequest as unknown)[immerable] = true;\n\nexport class PutSectionRequest extends OnlineSection implements IReturn<ResponseBase<OnlineSection>>\n{\n\n    public constructor(init?: Partial<PutSectionRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'PutSectionRequest'; }\n    public getMethod() { return 'PUT'; }\n    public createResponse() { return new ResponseBase<OnlineSection>(); }\n}\n(PutSectionRequest as unknown)[immerable] = true;\n\nexport class DeleteSectionRequest implements IReturn<ResponseBase<T>>\n{\n    public id: number|null;\n\n    public constructor(init?: Partial<DeleteSectionRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DeleteSectionRequest'; }\n    public getMethod() { return 'DELETE'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(DeleteSectionRequest as unknown)[immerable] = true;\n\nexport class PutCategoriesRequest implements IReturn<ResponseBase<OnlineServiceCategory>>, IPut\n{\n    public categories: PutCategoryRequest[]|null;\n\n    public constructor(init?: Partial<PutCategoriesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PutCategoriesRequest'; }\n    public getMethod() { return 'PUT'; }\n    public createResponse() { return new ResponseBase<OnlineServiceCategory>(); }\n}\n(PutCategoriesRequest as unknown)[immerable] = true;\n\nexport class DeleteCategoryRequest implements IReturn<ResponseBase<T>>\n{\n    public id: string|null;\n    public businessId: number|null;\n\n    public constructor(init?: Partial<DeleteCategoryRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DeleteCategoryRequest'; }\n    public getMethod() { return 'DELETE'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(DeleteCategoryRequest as unknown)[immerable] = true;\n\nexport class PutSectionsRequest extends OnlineSection implements IReturn<ResponseBase<OnlineSection>>\n{\n    public sections: PutSectionRequest[]|null;\n\n    public constructor(init?: Partial<PutSectionsRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'PutSectionsRequest'; }\n    public getMethod() { return 'PUT'; }\n    public createResponse() { return new ResponseBase<OnlineSection>(); }\n}\n(PutSectionsRequest as unknown)[immerable] = true;\n\nexport class CanDeleteImageRequest implements IReturn<ResponseBase<CanDeleteImageResponse>>\n{\n    public filename: string|null;\n\n    public constructor(init?: Partial<CanDeleteImageRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CanDeleteImageRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<CanDeleteImageResponse>(); }\n}\n(CanDeleteImageRequest as unknown)[immerable] = true;\n\nexport class GetBusinessSettingsIdRequest implements IReturn<ResponseBase<BusinessSettingsIdResponse>>\n{\n    public businessId: number|null;\n    public currentSettingsId: number|null;\n\n    public constructor(init?: Partial<GetBusinessSettingsIdRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetBusinessSettingsIdRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<BusinessSettingsIdResponse>(); }\n}\n(GetBusinessSettingsIdRequest as unknown)[immerable] = true;\n\nexport class RemoveBusinessSettingsIdRequest implements IReturn<ResponseBase<GetSettingsResponse>>\n{\n    public businessId: number|null;\n\n    public constructor(init?: Partial<RemoveBusinessSettingsIdRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'RemoveBusinessSettingsIdRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<GetSettingsResponse>(); }\n}\n(RemoveBusinessSettingsIdRequest as unknown)[immerable] = true;\n\nexport class SearchAllClassesRequest implements IReturn<ResponseBase<ClassSearchResponse>>\n{\n    public date: string|null;\n    public locationGuid: string|null;\n    public practitionerId: number|null;\n    public serviceIds: string[]|null;\n    public parentServiceId: string|null;\n\n    public constructor(init?: Partial<SearchAllClassesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SearchAllClassesRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ClassSearchResponse>(); }\n}\n(SearchAllClassesRequest as unknown)[immerable] = true;\n\nexport class FindSimilarTimedClassesRequest implements IReturn<ResponseBase<SimilarClass>>\n{\n    public classSessionId: number|null;\n    public serviceId: string|null;\n\n    public constructor(init?: Partial<FindSimilarTimedClassesRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'FindSimilarTimedClassesRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<SimilarClass>(); }\n}\n(FindSimilarTimedClassesRequest as unknown)[immerable] = true;\n\nexport class BookTempClassRequest extends BookingClassResponse implements IReturn<ResponseBase<T>>\n{\n    public isCourse: boolean|null;\n    public classSessionId: number|null;\n    public serviceId: string|null;\n    public attendanceIds: number[]|null;\n    public attendeeId: number|null;\n\n    public constructor(init?: Partial<BookTempClassRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'BookTempClassRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(BookTempClassRequest as unknown)[immerable] = true;\n\nexport class DeleteTempClassBookingRequest implements IReturnVoid\n{\n    public isCourse: boolean|null;\n    public classAttendanceIds: number[]|null;\n    public attendeeId: number|null;\n\n    public constructor(init?: Partial<DeleteTempClassBookingRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DeleteTempClassBookingRequest'; }\n    public getMethod() { return 'DELETE'; }\n    public createResponse() {}\n}\n(DeleteTempClassBookingRequest as unknown)[immerable] = true;\n\nexport class GetAllCoursesFromTypeRequest implements IReturn<ResponseBase<T>>\n{\n    public classTypeId: number|null;\n    public serviceId: string|null;\n\n    public constructor(init?: Partial<GetAllCoursesFromTypeRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetAllCoursesFromTypeRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(GetAllCoursesFromTypeRequest as unknown)[immerable] = true;\n\nexport class BookClassRequest implements IReturn<ResponseBase<T>>\n{\n    public classSessionId: number|null;\n    public isCourse: boolean|null;\n    public classAttendanceIds: number[]|null;\n    public attendeeId: number|null;\n    public paymentType: PaymentMode|null;\n    public packageId: string|null;\n    public prePaidId: number|null;\n    public discountCodeId: string|null;\n    public takePaymentRequest: TakePaymentRequest|null;\n\n    public constructor(init?: Partial<BookClassRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'BookClassRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(BookClassRequest as unknown)[immerable] = true;\n\n/** @description Used to get a JWT Token and Refresh Token. */\n// @Route(\"/token\")\nexport class TokenRequest implements IReturn<ResponseBase<ConvertSessionToTokenResponse>>\n{\n\n    public constructor(init?: Partial<TokenRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'TokenRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ConvertSessionToTokenResponse>(); }\n}\n(TokenRequest as unknown)[immerable] = true;\n\n// @Route(\"/zoom/publicAuthorisationRedirect\")\nexport class PublicAuthorisationRedirectRequest implements IReturn<HttpResult>\n{\n    public code: string|null;\n    public stateId: string|null;\n\n    public constructor(init?: Partial<PublicAuthorisationRedirectRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PublicAuthorisationRedirectRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new HttpResult(); }\n}\n(PublicAuthorisationRedirectRequest as unknown)[immerable] = true;\n\n// @Route(\"/zoom\", \"POST\")\nexport class PublicLinkToZoomRequest implements IReturn<ZoomLinkToTM3Response>\n{\n    public clientId: string|null;\n\n    public constructor(init?: Partial<PublicLinkToZoomRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PublicLinkToZoomRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ZoomLinkToTM3Response(); }\n}\n(PublicLinkToZoomRequest as unknown)[immerable] = true;\n\nexport class SaveZoomStateRequest implements IReturn<ResponseBase<ZoomSaveStateResponse>>\n{\n\n    public constructor(init?: Partial<SaveZoomStateRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SaveZoomStateRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ZoomSaveStateResponse>(); }\n}\n(SaveZoomStateRequest as unknown)[immerable] = true;\n\nexport class CustomRedirectRequest\n{\n    public redirectUri: string|null;\n\n    public constructor(init?: Partial<CustomRedirectRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CustomRedirectRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(CustomRedirectRequest as unknown)[immerable] = true;\n\n// @Route(\"/zoom/authorisationRedirect\")\nexport class AuthorisationRedirectRequest implements IReturn<HttpResult>\n{\n    public code: string|null;\n    public stateId: string|null;\n\n    public constructor(init?: Partial<AuthorisationRedirectRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AuthorisationRedirectRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new HttpResult(); }\n}\n(AuthorisationRedirectRequest as unknown)[immerable] = true;\n\nexport class GetZoomUsersRequest implements IReturn<ResponseBase<ZoomUser>>\n{\n\n    public constructor(init?: Partial<GetZoomUsersRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetZoomUsersRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ZoomUser>(); }\n}\n(GetZoomUsersRequest as unknown)[immerable] = true;\n\nexport class IsZoomIntegrationConfiguredRequest implements IReturn<ResponseBase<boolean>>\n{\n\n    public constructor(init?: Partial<IsZoomIntegrationConfiguredRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'IsZoomIntegrationConfiguredRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(IsZoomIntegrationConfiguredRequest as unknown)[immerable] = true;\n\nexport class UnlinkTm3FromZoomRequest implements IReturn<ResponseBase<boolean>>\n{\n\n    public constructor(init?: Partial<UnlinkTm3FromZoomRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UnlinkTm3FromZoomRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(UnlinkTm3FromZoomRequest as unknown)[immerable] = true;\n\nexport class AreZoomTokensValid implements IReturn<ResponseBase<ZoomReauthResponse>>\n{\n\n    public constructor(init?: Partial<AreZoomTokensValid>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AreZoomTokensValid'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ZoomReauthResponse>(); }\n}\n(AreZoomTokensValid as unknown)[immerable] = true;\n\nexport class WaitingListsRequest implements IReturn<ResponseBase<WaitingListResponse>>, ILocationIds\n{\n    public patientId: number|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n\n    public constructor(init?: Partial<WaitingListsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'WaitingListsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<WaitingListResponse>(); }\n}\n(WaitingListsRequest as unknown)[immerable] = true;\n\nexport class WaitingListById implements IReturn<ResponseBase<WaitingListByIdResponse>>\n{\n    public id: number|null;\n\n    public constructor(init?: Partial<WaitingListById>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'WaitingListById'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<WaitingListByIdResponse>(); }\n}\n(WaitingListById as unknown)[immerable] = true;\n\nexport class WaitingListStateHistoryRequest implements IReturn<ResponseBase<WaitingListStateHistoryResponse[]>>\n{\n    public id: number|null;\n    public customerId: number|null;\n\n    public constructor(init?: Partial<WaitingListStateHistoryRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'WaitingListStateHistoryRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<WaitingListStateHistoryResponse[]>(); }\n}\n(WaitingListStateHistoryRequest as unknown)[immerable] = true;\n\nexport class AllowedIPRequest implements IReturn<ResponseBase<AllowedIPResponse>>\n{\n\n    public constructor(init?: Partial<AllowedIPRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AllowedIPRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<AllowedIPResponse>(); }\n}\n(AllowedIPRequest as unknown)[immerable] = true;\n\nexport class AddAllowedIPRequest implements IReturn<ResponseBase<AllowedIPResponse>>\n{\n    public address: string|null;\n\n    public constructor(init?: Partial<AddAllowedIPRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AddAllowedIPRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<AllowedIPResponse>(); }\n}\n(AddAllowedIPRequest as unknown)[immerable] = true;\n\nexport class DeleteAllowedIPRequest implements IReturn<ResponseBase<boolean>>\n{\n    public id: number|null;\n\n    public constructor(init?: Partial<DeleteAllowedIPRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DeleteAllowedIPRequest'; }\n    public getMethod() { return 'DELETE'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(DeleteAllowedIPRequest as unknown)[immerable] = true;\n\n// @Route(\"/sentry/{Action}/{ClientId}\")\nexport class SentryApmRequest implements IReturn<ResponseBase<T>>\n{\n    public clientId: number|null;\n    public action: SentryApmAction|null;\n\n    public constructor(init?: Partial<SentryApmRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SentryApmRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(SentryApmRequest as unknown)[immerable] = true;\n\nexport class EmbeddableDashboardTokenRequest implements IReturn<ResponseBase<T>>\n{\n    public id: string|null;\n\n    public constructor(init?: Partial<EmbeddableDashboardTokenRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'EmbeddableDashboardTokenRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(EmbeddableDashboardTokenRequest as unknown)[immerable] = true;\n\nexport class ReferralPortalCurrentUserRequest implements IReturn<ResponseBase<CurrentUser>>\n{\n\n    public constructor(init?: Partial<ReferralPortalCurrentUserRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ReferralPortalCurrentUserRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<CurrentUser>(); }\n}\n(ReferralPortalCurrentUserRequest as unknown)[immerable] = true;\n\nexport class GetAllSystemLogRequest implements IReturn<ResponseBase<SystemLogWithCustomerName>>\n{\n    public skip: number|null;\n    public take: number|null;\n    public sort: QueryField[]|null;\n\n    public constructor(init?: Partial<GetAllSystemLogRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetAllSystemLogRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<SystemLogWithCustomerName>(); }\n}\n(GetAllSystemLogRequest as unknown)[immerable] = true;\n\nexport class SquareGetDeviceCodeRequest implements IReturn<ResponseBase<SquareGetDeviceCodeResponse>>\n{\n    public locationId: number|null;\n    public name: string|null;\n\n    public constructor(init?: Partial<SquareGetDeviceCodeRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SquareGetDeviceCodeRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<SquareGetDeviceCodeResponse>(); }\n}\n(SquareGetDeviceCodeRequest as unknown)[immerable] = true;\n\nexport class ClearAcceptTerminalSaveRequest implements IReturn<ResponseBase<boolean>>\n{\n    public locationId: number|null;\n    public name: string|null;\n    public merchantId: string|null;\n    public deviceCode: string|null;\n    public inUse: boolean|null;\n\n    public constructor(init?: Partial<ClearAcceptTerminalSaveRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClearAcceptTerminalSaveRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(ClearAcceptTerminalSaveRequest as unknown)[immerable] = true;\n\nexport class SquareUnpairTerminalRequest implements IReturn<ResponseBase<boolean>>\n{\n    public deviceCode: string|null;\n\n    public constructor(init?: Partial<SquareUnpairTerminalRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SquareUnpairTerminalRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(SquareUnpairTerminalRequest as unknown)[immerable] = true;\n\nexport class TerminalPairCheckRequest implements IReturn<ResponseBase<TerminalPairingResponse>>\n{\n    public deviceCode: string|null;\n\n    public constructor(init?: Partial<TerminalPairCheckRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'TerminalPairCheckRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<TerminalPairingResponse>(); }\n}\n(TerminalPairCheckRequest as unknown)[immerable] = true;\n\nexport class TerminalListRequest implements IReturn<ResponseBase<Terminal[]>>\n{\n\n    public constructor(init?: Partial<TerminalListRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'TerminalListRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<Terminal[]>(); }\n}\n(TerminalListRequest as unknown)[immerable] = true;\n\nexport class TerminalFailPairingRequest implements IReturn<ResponseBase<boolean>>\n{\n    public deviceCode: string|null;\n\n    public constructor(init?: Partial<TerminalFailPairingRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'TerminalFailPairingRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(TerminalFailPairingRequest as unknown)[immerable] = true;\n\nexport class SquareTerminalPaymentRequest implements IReturn<ResponseBase<SquareTerminalPaymentResponse>>\n{\n    public amount: number|null;\n    public terminalId: string|null;\n    public customerId: number|null;\n\n    public constructor(init?: Partial<SquareTerminalPaymentRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SquareTerminalPaymentRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<SquareTerminalPaymentResponse>(); }\n}\n(SquareTerminalPaymentRequest as unknown)[immerable] = true;\n\n// @Route(\"/add-terminal-payment\")\nexport class AddTerminalPaymentToInvoiceRequest implements IReturn<ResponseBase<boolean>>\n{\n    public invoiceId: number|null;\n    public terminalPaymentDto: TerminalPaymentDto|null;\n\n    public constructor(init?: Partial<AddTerminalPaymentToInvoiceRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AddTerminalPaymentToInvoiceRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(AddTerminalPaymentToInvoiceRequest as unknown)[immerable] = true;\n\nexport class GetPaymentFromTerminalDto implements IReturn<ResponseBase<Income>>\n{\n    public terminalPaymentDto: TerminalPaymentDto|null;\n\n    public constructor(init?: Partial<GetPaymentFromTerminalDto>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetPaymentFromTerminalDto'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<Income>(); }\n}\n(GetPaymentFromTerminalDto as unknown)[immerable] = true;\n\nexport class StripeTerminalPairRequest implements IReturn<ResponseBase<StripeTerminalPairResponse>>\n{\n    public locationId: number|null;\n    public stripeLocationId: string|null;\n    public terminalId: string|null;\n    public deviceName: string|null;\n    public pairingCode: string|null;\n\n    public constructor(init?: Partial<StripeTerminalPairRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'StripeTerminalPairRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<StripeTerminalPairResponse>(); }\n}\n(StripeTerminalPairRequest as unknown)[immerable] = true;\n\nexport class TerminalDeleteRequest implements IReturnVoid\n{\n    public terminalId: string|null;\n\n    public constructor(init?: Partial<TerminalDeleteRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'TerminalDeleteRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(TerminalDeleteRequest as unknown)[immerable] = true;\n\nexport class CreatePaymentIntent\n{\n    public amount: number|null;\n    public futureUsage: boolean|null;\n    public paymentMethodId: string|null;\n\n    public constructor(init?: Partial<CreatePaymentIntent>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CreatePaymentIntent'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(CreatePaymentIntent as unknown)[immerable] = true;\n\nexport class OnlineStripeChangeCardRequest implements IReturn<ResponseBase<ChangeCardResponse>>\n{\n    public paymentMethodId: string|null;\n\n    public constructor(init?: Partial<OnlineStripeChangeCardRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlineStripeChangeCardRequest'; }\n    public getMethod() { return 'PUT'; }\n    public createResponse() { return new ResponseBase<ChangeCardResponse>(); }\n}\n(OnlineStripeChangeCardRequest as unknown)[immerable] = true;\n\nexport class CreateChasePaymentIntent extends CreatePaymentIntent\n{\n    public paymentUrlCode: string|null;\n\n    public constructor(init?: Partial<CreateChasePaymentIntent>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'CreateChasePaymentIntent'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(CreateChasePaymentIntent as unknown)[immerable] = true;\n\nexport class CreateWaitingListPaymentIntent extends CreatePaymentIntent\n{\n    public waitingListUrlCode: string|null;\n\n    public constructor(init?: Partial<CreateWaitingListPaymentIntent>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'CreateWaitingListPaymentIntent'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() {}\n}\n(CreateWaitingListPaymentIntent as unknown)[immerable] = true;\n\nexport class SquareStartPaymentCaptureRequest extends TakePaymentRequest implements IReturn<ResponseBase<TakePaymentRequest>>\n{\n    public amount: number|null;\n    public paymentUrlCode: string|null;\n    public cardholderName: string|null;\n\n    public constructor(init?: Partial<SquareStartPaymentCaptureRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'SquareStartPaymentCaptureRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<TakePaymentRequest>(); }\n}\n(SquareStartPaymentCaptureRequest as unknown)[immerable] = true;\n\nexport class OnlineSquareChangeCardRequest implements IReturn<ResponseBase<ChangeCardResponse>>\n{\n    public tokenId: string|null;\n    public cardholderName: string|null;\n    public verificationToken: string|null;\n\n    public constructor(init?: Partial<OnlineSquareChangeCardRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'OnlineSquareChangeCardRequest'; }\n    public getMethod() { return 'PUT'; }\n    public createResponse() { return new ResponseBase<ChangeCardResponse>(); }\n}\n(OnlineSquareChangeCardRequest as unknown)[immerable] = true;\n\nexport class ClearAcceptSaveCardDetailsRequest implements IReturn<ResponseBase<boolean>>\n{\n    public takePaymentRequest: TakePaymentRequest|null;\n\n    public constructor(init?: Partial<ClearAcceptSaveCardDetailsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClearAcceptSaveCardDetailsRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(ClearAcceptSaveCardDetailsRequest as unknown)[immerable] = true;\n\nexport class ClearAcceptRegisterInterest implements IReturn<ResponseBase<T>>\n{\n\n    public constructor(init?: Partial<ClearAcceptRegisterInterest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClearAcceptRegisterInterest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(ClearAcceptRegisterInterest as unknown)[immerable] = true;\n\nexport class ClearAcceptConfigRequest implements IReturn<ResponseBase<ClearAcceptConfigResponse>>\n{\n\n    public constructor(init?: Partial<ClearAcceptConfigRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClearAcceptConfigRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ClearAcceptConfigResponse>(); }\n}\n(ClearAcceptConfigRequest as unknown)[immerable] = true;\n\nexport class ClearAcceptStartPaymentCaptureRequest implements IReturn<ResponseBase<TakePaymentRequest>>\n{\n    public amount: number|null;\n    public locationId: number|null;\n    public saveCard: boolean|null;\n    public paymentUrlCode: string|null;\n    public waitingListUrlCode: string|null;\n\n    public constructor(init?: Partial<ClearAcceptStartPaymentCaptureRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClearAcceptStartPaymentCaptureRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<TakePaymentRequest>(); }\n}\n(ClearAcceptStartPaymentCaptureRequest as unknown)[immerable] = true;\n\nexport class UpdateAddressOnPaymentRequest implements IReturn<ResponseBase<boolean>>\n{\n    public takePaymentRequest: TakePaymentRequest|null;\n    public paymentUrlCode: string|null;\n    public amount: number|null;\n    public customerId: number|null;\n    public waitingListUrlCode: string|null;\n\n    public constructor(init?: Partial<UpdateAddressOnPaymentRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UpdateAddressOnPaymentRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(UpdateAddressOnPaymentRequest as unknown)[immerable] = true;\n\nexport class StartTerminalPaymentRequest implements IReturn<ResponseBase<TerminalPaymentDto>>\n{\n    public amount: number|null;\n    public terminalId: string|null;\n    public customerId: number|null;\n    public locationId: number|null;\n    public receivedAtLocationId: number|null;\n    public practitionerId: number|null;\n    public invoiceId: number|null;\n\n    public constructor(init?: Partial<StartTerminalPaymentRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'StartTerminalPaymentRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<TerminalPaymentDto>(); }\n}\n(StartTerminalPaymentRequest as unknown)[immerable] = true;\n\nexport class CancelTerminalCheckoutRequest implements IReturn<ResponseBase<boolean>>\n{\n    public terminalPayment: TerminalPaymentDto|null;\n\n    public constructor(init?: Partial<CancelTerminalCheckoutRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CancelTerminalCheckoutRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(CancelTerminalCheckoutRequest as unknown)[immerable] = true;\n\nexport class TerminalPaymentStatusRequest implements IReturn<ResponseBase<TerminalPaymentDto>>\n{\n    public terminalPayment: TerminalPaymentDto|null;\n\n    public constructor(init?: Partial<TerminalPaymentStatusRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'TerminalPaymentStatusRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<TerminalPaymentDto>(); }\n}\n(TerminalPaymentStatusRequest as unknown)[immerable] = true;\n\nexport class StartVirtualTerminalPaymentCaptureRequest implements IReturn<ResponseBase<TakePaymentRequest>>\n{\n    public amount: number|null;\n    public locationId: number|null;\n    public customerId: number|null;\n    public invoiceId: number|null;\n\n    public constructor(init?: Partial<StartVirtualTerminalPaymentCaptureRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'StartVirtualTerminalPaymentCaptureRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<TakePaymentRequest>(); }\n}\n(StartVirtualTerminalPaymentCaptureRequest as unknown)[immerable] = true;\n\nexport class CompleteVirtualTerminalPaymentCaptureRequest implements IReturn<ResponseBase<TakePaymentRequest>>\n{\n    public amount: number|null;\n    public locationId: number|null;\n    public customerId: number|null;\n    public invoiceId: number|null;\n    public takePaymentRequest: TakePaymentRequest|null;\n\n    public constructor(init?: Partial<CompleteVirtualTerminalPaymentCaptureRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CompleteVirtualTerminalPaymentCaptureRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<TakePaymentRequest>(); }\n}\n(CompleteVirtualTerminalPaymentCaptureRequest as unknown)[immerable] = true;\n\nexport class CreateApiCredentials implements IReturn<ResponseBase<T>>\n{\n    public notes: string|null;\n\n    public constructor(init?: Partial<CreateApiCredentials>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CreateApiCredentials'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(CreateApiCredentials as unknown)[immerable] = true;\n\nexport class RevokeApiCredentials implements IReturn<ResponseBase<T>>\n{\n    public id: string|null;\n\n    public constructor(init?: Partial<RevokeApiCredentials>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'RevokeApiCredentials'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(RevokeApiCredentials as unknown)[immerable] = true;\n\nexport class GetApiCredentials implements IReturn<ResponseBase<T>>\n{\n\n    public constructor(init?: Partial<GetApiCredentials>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetApiCredentials'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(GetApiCredentials as unknown)[immerable] = true;\n\nexport class GetCreditBasedPackageLineItems implements IReturn<ResponseBase<CreditBasedPackageLineItemsResponse>>\n{\n    public id: number|null;\n\n    public constructor(init?: Partial<GetCreditBasedPackageLineItems>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetCreditBasedPackageLineItems'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<CreditBasedPackageLineItemsResponse>(); }\n}\n(GetCreditBasedPackageLineItems as unknown)[immerable] = true;\n\nexport class ClickBillRequest implements IReturn<ResponseBase<ClickBillResponse>>\n{\n    public appointmentId: number|null;\n    public useTerminalPayment: boolean|null;\n    public requestViaPaymentProvider: boolean|null;\n    public reminderToSetupPaymentProvider: boolean|null;\n    public invoiceNow: boolean|null;\n    public status: AppointmentStatus|null;\n    public incomeId: number|null;\n\n    public constructor(init?: Partial<ClickBillRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClickBillRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ClickBillResponse>(); }\n}\n(ClickBillRequest as unknown)[immerable] = true;\n\nexport class BlankInvoiceRequest implements IReturn<ResponseBase<number>>\n{\n    public accountId: number|null;\n\n    public constructor(init?: Partial<BlankInvoiceRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'BlankInvoiceRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<number>(); }\n}\n(BlankInvoiceRequest as unknown)[immerable] = true;\n\nexport class ClickInvoiceUsePaymentRequest extends ClickInvoiceReqBase implements IReturn<ResponseBase<T>>\n{\n    public paymentIds: number[]|null;\n\n    public constructor(init?: Partial<ClickInvoiceUsePaymentRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClickInvoiceUsePaymentRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(ClickInvoiceUsePaymentRequest as unknown)[immerable] = true;\n\nexport class ClickEmailInvoiceRequest extends ClickInvoiceReqBase implements IReturn<ResponseBase<boolean>>\n{\n\n    public constructor(init?: Partial<ClickEmailInvoiceRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClickEmailInvoiceRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(ClickEmailInvoiceRequest as unknown)[immerable] = true;\n\nexport class ClickDownloadInvoiceRequest extends ClickInvoiceReqBase implements IReturn<ResponseBase<ClickDownloadInvoiceResponse>>\n{\n\n    public constructor(init?: Partial<ClickDownloadInvoiceRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClickDownloadInvoiceRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ClickDownloadInvoiceResponse>(); }\n}\n(ClickDownloadInvoiceRequest as unknown)[immerable] = true;\n\nexport class ClickInvoiceTransferRequest extends ClickInvoiceReqBase implements IReturn<ResponseBase<number>>\n{\n    public transferFullAmount: boolean|null;\n    public charge: Charge|null;\n    public useCredit: boolean|null;\n    public shouldAutopay: boolean|null;\n\n    public constructor(init?: Partial<ClickInvoiceTransferRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClickInvoiceTransferRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<number>(); }\n}\n(ClickInvoiceTransferRequest as unknown)[immerable] = true;\n\nexport class ClickCreatePaymentForInvoiceRequest extends Income implements IReturn<ResponseBase<ClickCreatePaymentResponse>>\n{\n    public emailReceipt: boolean|null;\n    public invoiceId: number|null;\n    public reminderToSetupPaymentProvider: boolean|null;\n    public downloadPDF: boolean|null;\n\n    public constructor(init?: Partial<ClickCreatePaymentForInvoiceRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClickCreatePaymentForInvoiceRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ClickCreatePaymentResponse>(); }\n}\n(ClickCreatePaymentForInvoiceRequest as unknown)[immerable] = true;\n\nexport class ClickCreatePaymentRequest extends Income implements IReturn<ResponseBase<ClickCreatePaymentResponse>>\n{\n    public emailReceipt: boolean|null;\n    public reminderToSetupPaymentProvider: boolean|null;\n    public downloadPDF: boolean|null;\n    public status: string|null;\n\n    public constructor(init?: Partial<ClickCreatePaymentRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClickCreatePaymentRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ClickCreatePaymentResponse>(); }\n}\n(ClickCreatePaymentRequest as unknown)[immerable] = true;\n\nexport class ClickSendEmailReceiptRequest implements IReturn<ResponseBase<boolean>>\n{\n    public customerId: number|null;\n    public groupId: number|null;\n    public locationId: number|null;\n    public paymentId: number|null;\n\n    public constructor(init?: Partial<ClickSendEmailReceiptRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClickSendEmailReceiptRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(ClickSendEmailReceiptRequest as unknown)[immerable] = true;\n\nexport class ClickDownloadReceiptRequest extends ClickSendEmailReceiptRequest implements IReturn<ResponseBase<boolean>>\n{\n\n    public constructor(init?: Partial<ClickDownloadReceiptRequest>) { super(init); (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClickDownloadReceiptRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(ClickDownloadReceiptRequest as unknown)[immerable] = true;\n\nexport class ClickCommunicationRequest implements IReturn<ResponseBase<ClickCommunicationResponse>>\n{\n    public mode: CommunicationMode|null;\n    public type: string|null;\n    public typeId: number|null;\n\n    public constructor(init?: Partial<ClickCommunicationRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClickCommunicationRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ClickCommunicationResponse>(); }\n}\n(ClickCommunicationRequest as unknown)[immerable] = true;\n\nexport class GetClassSessionRequest implements IReturn<ResponseBase<ClassSessionBaseResponse>>\n{\n    public id: number|null;\n    public appointmentId: number|null;\n\n    public constructor(init?: Partial<GetClassSessionRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetClassSessionRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ClassSessionBaseResponse>(); }\n}\n(GetClassSessionRequest as unknown)[immerable] = true;\n\nexport class CreateClassRequest implements IReturn<ResponseBase<CreateClassResponse>>\n{\n    public locationId: number|null;\n    public roomId: number|null;\n    public practitionerId: number|null;\n    public isAvailableOnline: boolean|null;\n    public classTypeId: number|null;\n    public dateCreateMode: ClassDateCreationMode|null;\n    public dayOfWeek: DayOfWeek|null;\n    public startTime: string|null;\n    public endTime: string|null;\n    public sessionDuration: number|null;\n    public recurrenceStartTime: string|null;\n    public recurrenceEndTime: string|null;\n    public recurForNWeeks: number|null;\n    public customDates: string[]|null;\n    public minAttendees: number|null;\n    public maxAttendees: number|null;\n    public serviceTypeId: number|null;\n    public colour: number|null;\n    public clashMode: ClashMode|null;\n    public isVideo: boolean|null;\n    public videoMeetingParticipantJoinUrl: string|null;\n    public videoMeetingPassword: string|null;\n    public videoMeetingProvider: VideoMeetingProvider|null;\n\n    public constructor(init?: Partial<CreateClassRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CreateClassRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<CreateClassResponse>(); }\n}\n(CreateClassRequest as unknown)[immerable] = true;\n\nexport class GetDesktopClassRequest implements IReturn<ResponseBase<GetDesktopClassResponse>>\n{\n    public id: number|null;\n\n    public constructor(init?: Partial<GetDesktopClassRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetDesktopClassRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<GetDesktopClassResponse>(); }\n}\n(GetDesktopClassRequest as unknown)[immerable] = true;\n\nexport class AddStudentToClassSessionRequest implements IReturn<ResponseBase<AddStudentToClassSessionResponse>>\n{\n    public sessionId: number|null;\n    public customerId: number|null;\n    public customer: CustomerSaveRequest|null;\n    public billingMode: ClassBillingMode|null;\n    public paymentMode: ClassPaymentMode|null;\n    public stockIdForNewBillingItem: number|null;\n    public cardToken: string|null;\n    public appliesTo: SessionUpdateAppliesTo|null;\n    public customSessionIds: number[]|null;\n    public receivedAtLocationId: number|null;\n    public emailReceipt: boolean|null;\n    public emailInvoice: boolean|null;\n    public addToWaitingListSessionIds: number[]|null;\n    public updateAttendance: boolean|null;\n    public clashMode: ClashMode|null;\n    public terminalPaymentDto: TerminalPaymentDto|null;\n    public prepaidId: number|null;\n\n    public constructor(init?: Partial<AddStudentToClassSessionRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AddStudentToClassSessionRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<AddStudentToClassSessionResponse>(); }\n}\n(AddStudentToClassSessionRequest as unknown)[immerable] = true;\n\nexport class EditClassRequest implements IReturn<ResponseBase<EditClassResponse>>\n{\n    public sessionId: number|null;\n    public editing: ClassEditType|null;\n    public newValue: number|null;\n    public duration: number|null;\n    public newDate: string|null;\n    public newStartDate: string|null;\n    public newEndDate: string|null;\n    public clashMode: ClashMode|null;\n    public appliesTo: SessionUpdateAppliesTo|null;\n    public customSessionIds: number[]|null;\n\n    public constructor(init?: Partial<EditClassRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'EditClassRequest'; }\n    public getMethod() { return 'PUT'; }\n    public createResponse() { return new ResponseBase<EditClassResponse>(); }\n}\n(EditClassRequest as unknown)[immerable] = true;\n\nexport class CancelClassSessionRequest implements IReturn<ResponseBase<boolean>>\n{\n    public id: number|null;\n\n    public constructor(init?: Partial<CancelClassSessionRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CancelClassSessionRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(CancelClassSessionRequest as unknown)[immerable] = true;\n\nexport class GetStudentOtherSessionsRequest implements IReturn<ResponseBase<ClassSessionBaseResponse>>\n{\n    public classTypeId: number|null;\n    public customerId: number|null;\n\n    public constructor(init?: Partial<GetStudentOtherSessionsRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetStudentOtherSessionsRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ClassSessionBaseResponse>(); }\n}\n(GetStudentOtherSessionsRequest as unknown)[immerable] = true;\n\nexport class PayForClassRequest implements IReturn<ResponseBase<PayForClassResponse>>\n{\n    public sessionId: number|null;\n    public customerId: number|null;\n    public billingMode: ClassBillingMode|null;\n    public paymentMode: ClassPaymentMode|null;\n    public stockIdForNewBillingItem: number|null;\n    public updateAttendance: boolean|null;\n    public cardToken: string|null;\n    public receivedAtLocationId: number|null;\n    public emailReceipt: boolean|null;\n    public emailInvoice: boolean|null;\n    public terminalPaymentDto: TerminalPaymentDto|null;\n    public existingPrePaidId: number|null;\n\n    public constructor(init?: Partial<PayForClassRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PayForClassRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<PayForClassResponse>(); }\n}\n(PayForClassRequest as unknown)[immerable] = true;\n\nexport class UseCreditRequest implements IReturn<ResponseBase<T>>\n{\n    public sessionId: number|null;\n    public customerId: number|null;\n\n    public constructor(init?: Partial<UseCreditRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UseCreditRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<T>(); }\n}\n(UseCreditRequest as unknown)[immerable] = true;\n\nexport class RemoveStudentFromSessionRequest implements IReturn<ResponseBase<CourseResponse>>\n{\n    public sessionId: number|null;\n    public appliesTo: SessionUpdateAppliesTo|null;\n    public customSessionIds: number[]|null;\n    public customerId: number|null;\n    public cancellationFeeDue: boolean|null;\n    public transferFeeDue: boolean|null;\n    public transferToSessionId: number|null;\n    public billingMode: ClassBillingMode|null;\n    public paymentMode: ClassPaymentMode|null;\n    public existingPrePaidId: number|null;\n    public stockIdForNewBillingItem: number|null;\n    public cardToken: string|null;\n    public receivedAtLocationId: number|null;\n    public emailInvoice: boolean|null;\n    public emailReceipt: boolean|null;\n\n    public constructor(init?: Partial<RemoveStudentFromSessionRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'RemoveStudentFromSessionRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<CourseResponse>(); }\n}\n(RemoveStudentFromSessionRequest as unknown)[immerable] = true;\n\nexport class GetClassSessionRequests implements IReturn<ResponseBase<ClassSessionBaseResponse>>\n{\n    public sessionId: number|null;\n\n    public constructor(init?: Partial<GetClassSessionRequests>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetClassSessionRequests'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ClassSessionBaseResponse>(); }\n}\n(GetClassSessionRequests as unknown)[immerable] = true;\n\nexport class GetWeeklyClassSessionRequests implements IReturn<ResponseBase<ClassSessionBaseResponse>>\n{\n    public sessionId: number|null;\n\n    public constructor(init?: Partial<GetWeeklyClassSessionRequests>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetWeeklyClassSessionRequests'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ClassSessionBaseResponse>(); }\n}\n(GetWeeklyClassSessionRequests as unknown)[immerable] = true;\n\nexport class MarkClassSessionAttendance implements IReturn<ResponseBase<boolean>>\n{\n    public sessionId: number|null;\n    public customerId: number|null;\n    public updateAttendance: boolean|null;\n\n    public constructor(init?: Partial<MarkClassSessionAttendance>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'MarkClassSessionAttendance'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(MarkClassSessionAttendance as unknown)[immerable] = true;\n\nexport class ClassCommunicationRequest implements IReturn<ResponseBase<ClassCommunicationResponse>>\n{\n    public id: number|null;\n    public message: string|null;\n    public userName: string|null;\n\n    public constructor(init?: Partial<ClassCommunicationRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClassCommunicationRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ClassCommunicationResponse>(); }\n}\n(ClassCommunicationRequest as unknown)[immerable] = true;\n\nexport class CustomerPrepaidRequestForClass implements IReturn<ResponseBase<PrePaidItemsForClassResponse>>\n{\n    public sessionDateTime: string|null;\n    public customerId: number|null;\n    public classTypeId: number|null;\n\n    public constructor(init?: Partial<CustomerPrepaidRequestForClass>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CustomerPrepaidRequestForClass'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<PrePaidItemsForClassResponse>(); }\n}\n(CustomerPrepaidRequestForClass as unknown)[immerable] = true;\n\nexport class ClassesCustomerPrepaidCreditsReq implements IReturn<ResponseBase<ClassesPrePaidCreditsResp>>\n{\n    public sessionDateTime: string|null;\n    public customerId: number|null;\n    public classTypeId: number|null;\n\n    public constructor(init?: Partial<ClassesCustomerPrepaidCreditsReq>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClassesCustomerPrepaidCreditsReq'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ClassesPrePaidCreditsResp>(); }\n}\n(ClassesCustomerPrepaidCreditsReq as unknown)[immerable] = true;\n\nexport class DeletePayAsYouGoClassRequest implements IReturn<ResponseBase<boolean>>\n{\n    public sessionId: number|null;\n\n    public constructor(init?: Partial<DeletePayAsYouGoClassRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DeletePayAsYouGoClassRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(DeletePayAsYouGoClassRequest as unknown)[immerable] = true;\n\nexport class ClassSessionMarkAllAttendanceRequest implements IReturn<ResponseBase<boolean>>\n{\n    public sessionId: number|null;\n    public allAttended: boolean|null;\n\n    public constructor(init?: Partial<ClassSessionMarkAllAttendanceRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClassSessionMarkAllAttendanceRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(ClassSessionMarkAllAttendanceRequest as unknown)[immerable] = true;\n\nexport class SaveClassNotesToAttendee implements IReturn<ResponseBase<ClassSessionBaseResponse>>\n{\n    public data: { [index:string]: Object; }|null;\n    public templateId: string|null;\n    public customerId: number|null;\n    public sessionId: number|null;\n\n    public constructor(init?: Partial<SaveClassNotesToAttendee>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SaveClassNotesToAttendee'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ClassSessionBaseResponse>(); }\n}\n(SaveClassNotesToAttendee as unknown)[immerable] = true;\n\nexport class GetClassTypeRequest implements IReturn<ResponseBase<ClassTypeResponse>>\n{\n    public id: number|null;\n\n    public constructor(init?: Partial<GetClassTypeRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetClassTypeRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ClassTypeResponse>(); }\n}\n(GetClassTypeRequest as unknown)[immerable] = true;\n\nexport class ClassTypesListRequest implements IReturn<ResponseBase<ClassTypeResponse>>\n{\n    public ids: number|null;\n\n    public constructor(init?: Partial<ClassTypesListRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClassTypesListRequest'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<ClassTypeResponse>(); }\n}\n(ClassTypesListRequest as unknown)[immerable] = true;\n\nexport class ClassTypeSaveRequest implements IReturn<ResponseBase<ClassTypeResponse>>, IDepartmentIds, ILocationIds\n{\n    public id: number|null;\n    public name: string|null;\n    public description: string|null;\n    public imageUrl: string|null;\n    public termsAndConditionsFormId: string|null;\n    public colour: number|null;\n    public defaultSessionLength: number|null;\n    public numberOfSessions: number|null;\n    public defaultMinAttendees: number|null;\n    public defaultMaxAttendees: number|null;\n    public isCourse: boolean|null;\n    public isAvailableOnline: boolean|null;\n    public isCurrent: boolean|null;\n    public isFavourite: boolean|null;\n    public allowPayPerSession: boolean|null;\n    public perSessionStockId: number|null;\n    public perSessionPrice: number|null;\n    public packagesToCreate: SavePackageRequest[]|null;\n    public packagesToAdd: ClassPackageResponse[]|null;\n    public packagesToRemove: ClassPackageResponse[]|null;\n    public cancellationChargeApplies: boolean|null;\n    public cancellationHours: number|null;\n    public cancellationStockId: number|null;\n    public cancellationPrice: number|null;\n    public lateTransferChargeApplies: boolean|null;\n    public lateTransferHours: number|null;\n    public lateTransferStockId: number|null;\n    public lateTransferPrice: number|null;\n    public serviceTypeId: number|null;\n    public colourCss: string|null;\n    public departmentIds: number[]|null;\n    public locationIds: number[]|null;\n    public requestLocationIds: number[]|null;\n    public isVideo: boolean|null;\n\n    public constructor(init?: Partial<ClassTypeSaveRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'ClassTypeSaveRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<ClassTypeResponse>(); }\n}\n(ClassTypeSaveRequest as unknown)[immerable] = true;\n\nexport class GetCourse implements IReturn<ResponseBase<CourseResponse>>\n{\n    public id: number|null;\n\n    public constructor(init?: Partial<GetCourse>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetCourse'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<CourseResponse>(); }\n}\n(GetCourse as unknown)[immerable] = true;\n\nexport class AddStudentToCourseRequest implements IReturn<ResponseBase<AddStudentToCourseResponse>>\n{\n    public courseId: number|null;\n    public customerId: number|null;\n    public customer: CustomerSaveRequest|null;\n    public billingMode: CourseBillingMode|null;\n    public paymentMode: ClassPaymentMode|null;\n    public existingPrePaidId: number|null;\n    public prePaidId: number|null;\n    public stockIdForNewBillingItem: number|null;\n    public cardToken: string|null;\n    public receivedAtLocationId: number|null;\n    public emailInvoice: boolean|null;\n    public emailReceipt: boolean|null;\n    public clashMode: ClashMode|null;\n    public addToWaitingList: boolean|null;\n    public sessionDateTime: string|null;\n    public terminalPaymentDto: TerminalPaymentDto|null;\n\n    public constructor(init?: Partial<AddStudentToCourseRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AddStudentToCourseRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<AddStudentToCourseResponse>(); }\n}\n(AddStudentToCourseRequest as unknown)[immerable] = true;\n\nexport class EditCourseRequest implements IReturn<ResponseBase<EditCourseResponse>>\n{\n    public courseId: number|null;\n    public sessionId: number|null;\n    public editing: ClassEditType|null;\n    public newValue: number|null;\n    public newDate: string|null;\n    public appliesTo: CourseEditAppliesTo|null;\n    public clashMode: ClashMode|null;\n    public newStartDate: string|null;\n    public newEndDate: string|null;\n    public duration: number|null;\n\n    public constructor(init?: Partial<EditCourseRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'EditCourseRequest'; }\n    public getMethod() { return 'PUT'; }\n    public createResponse() { return new ResponseBase<EditCourseResponse>(); }\n}\n(EditCourseRequest as unknown)[immerable] = true;\n\nexport class CreateCourseRequest implements IReturn<ResponseBase<CreateCourseResponse>>\n{\n    public locationId: number|null;\n    public roomId: number|null;\n    public practitionerId: number|null;\n    public isAvailableOnline: boolean|null;\n    public classTypeId: number|null;\n    public dateCreateMode: ClassDateCreationMode|null;\n    public dayOfWeek: DayOfWeek|null;\n    public startTime: string|null;\n    public endTime: string|null;\n    public sessionDuration: number|null;\n    public recurrenceStartTime: string|null;\n    public recurrenceEndTime: string|null;\n    public recurForNWeeks: number|null;\n    public customDates: string[]|null;\n    public minAttendees: number|null;\n    public maxAttendees: number|null;\n    public serviceTypeId: number|null;\n    public colour: number|null;\n    public clashMode: ClashMode|null;\n    public isVideo: boolean|null;\n    public videoMeetingParticipantJoinUrl: string|null;\n    public videoMeetingPassword: string|null;\n    public videoMeetingProvider: VideoMeetingProvider|null;\n\n    public constructor(init?: Partial<CreateCourseRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CreateCourseRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<CreateCourseResponse>(); }\n}\n(CreateCourseRequest as unknown)[immerable] = true;\n\nexport class SwapStudentCourseSessionRequest implements IReturn<ResponseBase<CourseResponse>>\n{\n    public customerId: number|null;\n    public removeFromSessionId: number|null;\n    public addToSessionId: number|null;\n    public courseId: number|null;\n\n    public constructor(init?: Partial<SwapStudentCourseSessionRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'SwapStudentCourseSessionRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<CourseResponse>(); }\n}\n(SwapStudentCourseSessionRequest as unknown)[immerable] = true;\n\nexport class CancelCourseSessionRequest implements IReturn<ResponseBase<boolean>>\n{\n    public id: number|null;\n\n    public constructor(init?: Partial<CancelCourseSessionRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CancelCourseSessionRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(CancelCourseSessionRequest as unknown)[immerable] = true;\n\nexport class AddCourseSessionRequest implements IReturn<ResponseBase<CourseResponse>>\n{\n    public practitionerId: number|null;\n    public roomId: number|null;\n    public courseId: number|null;\n    public startDateTime: string|null;\n    public endDateTime: string|null;\n\n    public constructor(init?: Partial<AddCourseSessionRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AddCourseSessionRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<CourseResponse>(); }\n}\n(AddCourseSessionRequest as unknown)[immerable] = true;\n\nexport class GetPotentialSwapDates implements IReturn<ResponseBase<CourseResponse>>\n{\n    public courseTypeId: number|null;\n    public sessionId: number|null;\n    public courseId: number|null;\n\n    public constructor(init?: Partial<GetPotentialSwapDates>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetPotentialSwapDates'; }\n    public getMethod() { return 'GET'; }\n    public createResponse() { return new ResponseBase<CourseResponse>(); }\n}\n(GetPotentialSwapDates as unknown)[immerable] = true;\n\nexport class PayForCourseRequest implements IReturn<ResponseBase<PayForClassResponse>>\n{\n    public courseId: number|null;\n    public customerId: number|null;\n    public billingMode: CourseBillingMode|null;\n    public paymentMode: ClassPaymentMode|null;\n    public existingPrePaidId: number|null;\n    public stockIdForNewBillingItem: number|null;\n    public cardToken: string|null;\n    public sessionId: number|null;\n    public updateAttendance: boolean|null;\n    public receivedAtLocationId: number|null;\n    public emailInvoice: boolean|null;\n    public emailReceipt: boolean|null;\n    public sessionDateTime: string|null;\n\n    public constructor(init?: Partial<PayForCourseRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'PayForCourseRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<PayForClassResponse>(); }\n}\n(PayForCourseRequest as unknown)[immerable] = true;\n\nexport class RemoveStudentFromCourseRequest implements IReturn<ResponseBase<RemoveStudentFromClassResponse>>\n{\n    public courseId: number|null;\n    public customerId: number|null;\n    public cancellationFeeDue: boolean|null;\n    public billingMode: CourseBillingMode|null;\n    public paymentMode: ClassPaymentMode|null;\n    public stockIdForNewBillingItem: number|null;\n    public cardToken: string|null;\n    public receivedAtLocationId: number|null;\n    public emailInvoice: boolean|null;\n    public emailReceipt: boolean|null;\n\n    public constructor(init?: Partial<RemoveStudentFromCourseRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'RemoveStudentFromCourseRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<RemoveStudentFromClassResponse>(); }\n}\n(RemoveStudentFromCourseRequest as unknown)[immerable] = true;\n\nexport class MarkCourseSessionAttendance implements IReturn<ResponseBase<boolean>>\n{\n    public sessionId: number|null;\n    public customerId: number|null;\n    public updateAttendance: boolean|null;\n\n    public constructor(init?: Partial<MarkCourseSessionAttendance>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'MarkCourseSessionAttendance'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(MarkCourseSessionAttendance as unknown)[immerable] = true;\n\nexport class MarkCourseSessionDna implements IReturn<ResponseBase<boolean>>\n{\n    public sessionId: number|null;\n    public customerId: number|null;\n    public updateDna: boolean|null;\n\n    public constructor(init?: Partial<MarkCourseSessionDna>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'MarkCourseSessionDna'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(MarkCourseSessionDna as unknown)[immerable] = true;\n\nexport class CourseSessionMarkAllAttendanceRequest implements IReturn<ResponseBase<boolean>>\n{\n    public sessionId: number|null;\n    public allAttended: boolean|null;\n\n    public constructor(init?: Partial<CourseSessionMarkAllAttendanceRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'CourseSessionMarkAllAttendanceRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(CourseSessionMarkAllAttendanceRequest as unknown)[immerable] = true;\n\nexport class DeleteCourseRequest implements IReturn<ResponseBase<boolean>>\n{\n    public courseId: number|null;\n\n    public constructor(init?: Partial<DeleteCourseRequest>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'DeleteCourseRequest'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new ResponseBase<boolean>(); }\n}\n(DeleteCourseRequest as unknown)[immerable] = true;\n\n/** @description Sign In */\n// @Route(\"/auth\", \"GET,POST\")\n// @Route(\"/auth/{provider}\", \"GET,POST\")\n// @Api(Description=\"Sign In\")\n// @DataContract\nexport class Authenticate implements IReturn<AuthenticateResponse>, IPost\n{\n    /** @description AuthProvider, e.g. credentials */\n    // @DataMember(Order=1)\n    public provider: string|null;\n\n    // @DataMember(Order=2)\n    public userName: string|null;\n\n    // @DataMember(Order=3)\n    public password: string|null;\n\n    // @DataMember(Order=4)\n    public rememberMe: boolean|null;\n\n    // @DataMember(Order=5)\n    public accessToken: string|null;\n\n    // @DataMember(Order=6)\n    public accessTokenSecret: string|null;\n\n    // @DataMember(Order=7)\n    public returnUrl: string|null;\n\n    // @DataMember(Order=8)\n    public errorView: string|null;\n\n    // @DataMember(Order=9)\n    public meta: { [index:string]: string; }|null;\n\n    public constructor(init?: Partial<Authenticate>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'Authenticate'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new AuthenticateResponse(); }\n}\n(Authenticate as unknown)[immerable] = true;\n\n// @Route(\"/assignroles\", \"POST\")\n// @DataContract\nexport class AssignRoles implements IReturn<AssignRolesResponse>, IPost\n{\n    // @DataMember(Order=1)\n    public userName: string|null;\n\n    // @DataMember(Order=2)\n    public permissions: string[]|null;\n\n    // @DataMember(Order=3)\n    public roles: string[]|null;\n\n    // @DataMember(Order=4)\n    public meta: { [index:string]: string; }|null;\n\n    public constructor(init?: Partial<AssignRoles>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'AssignRoles'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new AssignRolesResponse(); }\n}\n(AssignRoles as unknown)[immerable] = true;\n\n// @Route(\"/unassignroles\", \"POST\")\n// @DataContract\nexport class UnAssignRoles implements IReturn<UnAssignRolesResponse>, IPost\n{\n    // @DataMember(Order=1)\n    public userName: string|null;\n\n    // @DataMember(Order=2)\n    public permissions: string[]|null;\n\n    // @DataMember(Order=3)\n    public roles: string[]|null;\n\n    // @DataMember(Order=4)\n    public meta: { [index:string]: string; }|null;\n\n    public constructor(init?: Partial<UnAssignRoles>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'UnAssignRoles'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new UnAssignRolesResponse(); }\n}\n(UnAssignRoles as unknown)[immerable] = true;\n\n// @Route(\"/access-token\")\n// @DataContract\nexport class GetAccessToken implements IReturn<GetAccessTokenResponse>, IPost\n{\n    // @DataMember(Order=1)\n    public refreshToken: string|null;\n\n    // @DataMember(Order=2)\n    public meta: { [index:string]: string; }|null;\n\n    public constructor(init?: Partial<GetAccessToken>) { (Object as any).assign(this, init); }\n    public getTypeName() { return 'GetAccessToken'; }\n    public getMethod() { return 'POST'; }\n    public createResponse() { return new GetAccessTokenResponse(); }\n}\n(GetAccessToken as unknown)[immerable] = true;\n\n"],
  "mappings": "4GAAAA,KAAAC,KAkCO,IAAMC,GAAN,KACP,CASW,YAAYC,EAA4B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,EAXaC,EAAAF,GAAA,cAYZA,GAAuBG,GAAa,GAE9B,IAAMC,GAAN,KACP,CAIW,YAAYH,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,EANaC,EAAAE,GAAA,qBAOZA,GAA8BD,GAAa,GAErC,IAAME,GAAN,KACP,CASW,YAAYJ,EAA8B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,EAXaC,EAAAG,GAAA,gBAYZA,GAAyBF,GAAa,GAEhC,IAAMG,GAAN,KACP,CAYW,YAAYL,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,EAdaC,EAAAI,GAAA,oBAeZA,GAA6BH,GAAa,GAEpC,IAAMI,GAAN,KACP,CAIW,YAAYN,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EANaC,EAAAK,GAAA,uBAOZA,GAAgCJ,GAAa,GAEvC,IAAMK,GAAN,KACP,CAYW,YAAYP,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,EAdaC,EAAAM,GAAA,0BAeZA,GAAmCL,GAAa,GAE1C,IAAMM,GAAN,KACP,CAMW,YAAYR,EAA4B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,EARaC,EAAAO,GAAA,cASZA,GAAuBN,GAAa,GAE9B,IAAMO,GAAN,KACP,CAKW,YAAYT,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,EAPaC,EAAAQ,GAAA,qBAQZA,GAA8BP,GAAa,GAErC,IAAMQ,EAAN,KACP,CA2BW,YAAYV,EAA6B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,EA7BaC,EAAAS,EAAA,eA8BZA,EAAwBR,GAAa,GAmB/B,IAAKS,QAERA,EAAA,OAAS,SACTA,EAAA,aAAe,eACfA,EAAA,WAAa,aACbA,EAAA,SAAW,WACXA,EAAA,iBAAmB,mBACnBA,EAAA,eAAiB,iBACjBA,EAAA,SAAW,WACXA,EAAA,eAAiB,iBACjBA,EAAA,MAAQ,QACRA,EAAA,SAAW,WAXHA,QAAA,IAcCC,GAAN,KACP,CAKW,YAAYC,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,EAPaC,EAAAF,GAAA,sBAQZA,GAA+BG,GAAa,GAEtC,IAAKC,SAERA,GAAA,GAAK,KACLA,GAAA,MAAQ,QACRA,GAAA,QAAU,UACVA,GAAA,WAAa,aALLA,SAAA,IAgDL,IAAMC,GAAN,KACP,CAOW,YAAYC,EAA8B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,EATaC,EAAAF,GAAA,gBAUZA,GAAyBG,GAAa,GAEhC,IAAKC,QAERA,EAAA,KAAO,OACPA,EAAA,QAAU,UACVA,EAAA,UAAY,YACZA,EAAA,aAAe,eACfA,EAAA,SAAW,WACXA,EAAA,aAAe,eACfA,EAAA,QAAU,UACVA,EAAA,YAAc,cATNA,QAAA,IAYCC,GAAN,KACP,CAIW,YAAYJ,EAA2B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,EANaC,EAAAG,GAAA,aAOZA,GAAsBF,GAAa,GAE7B,IAAMG,GAAN,KACP,CAIW,YAAYL,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,EANaC,EAAAI,GAAA,kBAOZA,GAA2BH,GAAa,GAElC,IAAKI,QAERA,EAAA,MAAQ,QACRA,EAAA,SAAW,WAHHA,QAAA,IAMCC,GAAN,KACP,CAIW,YAAYP,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,EANaC,EAAAM,GAAA,iBAOZA,GAA0BL,GAAa,GAEjC,IAAMM,GAAN,KACP,CAQW,YAAYR,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,EAVaC,EAAAO,GAAA,6BAWZA,GAAsCN,GAAa,GAqB7C,IAAMO,GAAN,KACP,CAaW,YAAYC,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EAfaC,EAAAF,GAAA,yBAgBZA,GAAkCG,GAAa,GAEzC,IAAMC,GAAN,KACP,CAYW,YAAYH,EAA4B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,EAdaC,EAAAE,GAAA,cAeZA,GAAuBD,GAAa,GAE9B,IAAME,EAAN,KACP,CAYW,YAAYJ,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,EAdaC,EAAAG,EAAA,6BAeZA,EAAsCF,GAAa,GAyB7C,IAAMG,GAAN,KACP,CAOW,YAAYC,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EATaC,EAAAF,GAAA,uBAUZA,GAAgCG,GAAa,GAQvC,IAAMC,EAAN,KACP,CAMW,YAAYH,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,EARaC,EAAAE,EAAA,qBASZA,EAA8BD,GAAa,GAkBrC,IAAME,GAAN,KACP,CAOW,YAAYC,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,EATaC,EAAAF,GAAA,wBAUZA,GAAiCG,GAAa,GAExC,IAAMC,GAAN,KACP,CAIW,YAAYH,EAAoD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjH,EANaC,EAAAE,GAAA,sCAOZA,GAA+CD,GAAa,GAOtD,IAAME,GAAN,KACP,CAKW,YAAYJ,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1G,EAPaC,EAAAG,GAAA,+BAQZA,GAAwCF,GAAa,GAmC/C,IAAMG,GAAN,KACP,CAeW,YAAYC,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,EAjBaC,EAAAF,GAAA,8BAkBZA,GAAuCG,GAAa,GAE9C,IAAMC,GAAN,KACP,CAYW,YAAYH,EAAmD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChH,EAdaC,EAAAE,GAAA,qCAeZA,GAA8CD,GAAa,GAOrD,IAAME,EAAN,cAA4BC,CACnC,CAOW,YAAYL,EAA+B,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,EATaC,EAAAG,EAAA,iBAUZA,EAA0BF,GAAa,GA0BjC,IAAKI,QAERA,EAAA,IAAM,MACNA,EAAA,QAAU,UACVA,EAAA,qBAAuB,uBACvBA,EAAA,MAAQ,QACRA,EAAA,OAAS,SACTA,EAAA,UAAY,YAPJA,QAAA,IAmBL,IAAKC,QAERA,EAAA,IAAM,MACNA,EAAA,WAAa,aACbA,EAAA,SAAW,WAJHA,QAAA,IAOCC,GAAN,KACP,CAIW,YAAYC,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,EANaC,EAAAF,GAAA,iBAOZA,GAA0BG,GAAa,GAkBjC,IAAMC,GAAN,KACP,CAKW,YAAYH,EAA6B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,EAPaC,EAAAE,GAAA,eAQZA,GAAwBD,GAAa,GAE/B,IAAME,GAAN,KACP,CAIW,YAAYJ,EAA8B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,EANaC,EAAAG,GAAA,gBAOZA,GAAyBF,GAAa,GAEhC,IAAMG,GAAN,KACP,CA2BW,YAAYL,EAAwB,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,EA7BaC,EAAAI,GAAA,UA8BZA,GAAmBH,GAAa,GAE1B,IAAMI,GAAN,KACP,CAsCW,YAAYN,EAAyB,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,EAxCaC,EAAAK,GAAA,WAyCZA,GAAoBJ,GAAa,GAE3B,IAAMK,EAAN,KACP,CAmCW,YAAYP,EAAwB,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,EArCaC,EAAAM,EAAA,UAsCZA,EAAmBL,GAAa,GAgB1B,IAAMM,GAAN,KACP,CAYW,YAAYR,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,EAdaC,EAAAO,GAAA,0BAeZA,GAAmCN,GAAa,GAoE1C,IAAMO,GAAN,KACP,CAaW,YAAYC,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,EAfaC,EAAAF,GAAA,sBAgBZA,GAA+BG,GAAa,GAEtC,IAAMC,GAAN,KACP,CAeW,YAAYH,EAA8B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,EAjBaC,EAAAE,GAAA,gBAkBZA,GAAyBD,GAAa,GA8BhC,IAAME,GAAN,KACP,CAaW,YAAYJ,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,EAfaC,EAAAG,GAAA,iBAgBZA,GAA0BF,GAAa,GAGjC,IAAMG,GAAN,KACP,CAgBW,YAAYL,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,EAlBaC,EAAAI,GAAA,kBAmBZA,GAA2BH,GAAa,GAElC,IAAMI,GAAN,KACP,CAIW,YAAYN,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,EANaC,EAAAK,GAAA,8BAOZA,GAAuCJ,GAAa,GAc9C,IAAMK,GAAN,KACP,CAYW,YAAYC,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,EAdaC,EAAAF,GAAA,4BAeZA,GAAqCG,GAAa,GAE5C,IAAMC,GAAN,KACP,CAIW,YAAYH,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,EANaC,EAAAE,GAAA,qBAOZA,GAA8BD,GAAa,GAErC,IAAME,GAAN,KACP,CAWW,YAAYJ,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,EAbaC,EAAAG,GAAA,mBAcZA,GAA4BF,GAAa,GAEnC,IAAMG,GAAN,KACP,CAMW,YAAYL,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,EARaC,EAAAI,GAAA,4BASZA,GAAqCH,GAAa,GAE5C,IAAMI,GAAN,KACP,CAiBW,YAAYN,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,EAnBaC,EAAAK,GAAA,sBAoBZA,GAA+BJ,GAAa,GAEtC,IAAMK,GAAN,KACP,CAuBW,YAAYP,EAA6B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,EAzBaC,EAAAM,GAAA,eA0BZA,GAAwBL,GAAa,GAE/B,IAAMM,GAAN,KACP,CAKW,YAAYR,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,EAPaC,EAAAO,GAAA,oBAQZA,GAA6BN,GAAa,GAEpC,IAAMO,GAAN,KACP,CAIW,YAAYT,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,EANaC,EAAAQ,GAAA,4BAOZA,GAAqCP,GAAa,GAS5C,IAAMQ,GAAN,KACP,CAIW,YAAYC,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,EANaC,EAAAF,GAAA,4BAOZA,GAAqCG,GAAa,GAE5C,IAAMC,EAAN,KACP,CAIW,YAAYH,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3G,EANaC,EAAAE,EAAA,gCAOZA,EAAyCD,GAAa,GAEhD,IAAME,GAAN,KACP,CAQW,YAAYJ,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,EAVaC,EAAAG,GAAA,mBAWZA,GAA4BF,GAAa,GAWnC,IAAMG,EAAN,KACP,CAQW,YAAYC,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,EAVaC,EAAAF,EAAA,yBAYN,IAAMG,GAAN,KACP,CAcW,YAAYF,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,EAhBaC,EAAAC,GAAA,iBAiBZA,GAA0BC,GAAa,GAoDjC,IAAMC,GAAN,cAAsCC,CAC7C,CAMW,YAAYC,EAAyC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA6C,CACtF,EAXaC,EAAAJ,GAAA,2BAYZA,GAAoCK,GAAa,GAE3C,IAAMC,GAAN,cAAgDC,CACvD,CAEW,YAAYL,EAAmD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7H,EAJaE,EAAAE,GAAA,qCAKZA,GAA8CD,GAAa,GAQrD,IAAMG,GAAN,KACP,CAaW,YAAYN,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7G,EAfaE,EAAAI,GAAA,kCAgBZA,GAA2CH,GAAa,GAElD,IAAMI,GAAN,KACP,CAeW,YAAYP,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,EAjBaE,EAAAK,GAAA,6BAkBZA,GAAsCJ,GAAa,GAE7C,IAAMK,GAAN,KACP,CA6DW,YAAYR,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EA/DaE,EAAAM,GAAA,uBAgEZA,GAAgCL,GAAa,GASvC,IAAMM,GAAN,KACP,CAcW,YAAYC,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,EAhBaC,EAAAF,GAAA,iBAiBZA,GAA0BG,GAAa,GAEjC,IAAMC,EAAN,KACP,CAiBW,YAAYH,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EAnBaC,EAAAE,EAAA,uBAoBZA,EAAgCD,GAAa,GAEvC,IAAME,GAAN,cAA0CD,CACjD,CAKW,YAAYH,EAA6C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvH,EAPaC,EAAAG,GAAA,+BAQZA,GAAwCF,GAAa,GAE/C,IAAMG,GAAN,KACP,CAWW,YAAYL,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EAbaC,EAAAI,GAAA,yBAcZA,GAAkCH,GAAa,GAEzC,IAAMI,GAAN,KACP,CA2BW,YAAYN,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,EA7BaC,EAAAK,GAAA,mBA8BZA,GAA4BJ,GAAa,GAEnC,IAAMK,GAAN,KACP,CAoCW,YAAYP,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,EAtCaC,EAAAM,GAAA,wBAuCZA,GAAiCL,GAAa,GAExC,IAAMM,GAAN,KAAoB,CAAoB,EAAlCP,EAAAO,GAAA,cAEN,IAAMC,GAAN,cAAwBD,EAC/B,CAEW,YAAYR,EAA2B,CAAE,MAAM,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,EAJaC,EAAAQ,GAAA,aAKZA,GAAsBP,GAAa,GAQ7B,IAAMQ,EAAN,KACP,CAcW,YAAYC,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,EAhBaC,EAAAF,EAAA,kBAiBZA,EAA2BG,GAAa,GAElC,IAAKC,QAERA,IAAA,OAAS,GAAT,SACAA,IAAA,KAAO,GAAP,OACAA,IAAA,MAAQ,IAAR,QAJQA,QAAA,IAOCC,GAAN,KACP,CAyDW,YAAYJ,EAA6B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,EA3DaC,EAAAG,GAAA,eA4DZA,GAAwBF,GAAa,GAE/B,IAAMG,GAAN,KACP,CAeW,YAAYL,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,EAjBaC,EAAAI,GAAA,qBAkBZA,GAA8BH,GAAa,GAErC,IAAMI,EAAN,KACP,CAyBW,YAAYN,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,EA3BaC,EAAAK,EAAA,iBA4BZA,EAA0BJ,GAAa,GAEjC,IAAMK,GAAN,KACP,CAMW,YAAYP,EAA8B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,EARaC,EAAAM,GAAA,gBASZA,GAAyBL,GAAa,GAWhC,IAAMM,EAAN,KACP,CAgDW,YAAYC,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,EAlDaC,EAAAF,EAAA,kBAmDZA,EAA2BG,GAAa,GAElC,IAAMC,GAAN,KACP,CAgCW,YAAYH,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,EAlCaC,EAAAE,GAAA,kBAmCZA,GAA2BD,GAAa,GAElC,IAAME,GAAN,KACP,CAIW,YAAYJ,EAA6B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,EANaC,EAAAG,GAAA,eAOZA,GAAwBF,GAAa,GAE/B,IAAMG,GAAN,KACP,CAQW,YAAYL,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,EAVaC,EAAAI,GAAA,oBAWZA,GAA6BH,GAAa,GAEpC,IAAMI,GAAN,KACP,CAsBW,YAAYN,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,EAxBaC,EAAAK,GAAA,kBAyBZA,GAA2BJ,GAAa,GAElC,IAAMK,GAAN,KACP,CAMW,YAAYP,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EARaC,EAAAM,GAAA,uBASZA,GAAgCL,GAAa,GAEvC,IAAMM,EAAN,KACP,CAmBW,YAAYR,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,EArBaC,EAAAO,EAAA,iBAsBZA,EAA0BN,GAAa,GAEjC,IAAMO,GAAN,KACP,CAmDW,YAAYT,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,EArDaC,EAAAQ,GAAA,iBAsDZA,GAA0BP,GAAa,GAEjC,IAAMQ,GAAN,KACP,CAIW,YAAYV,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,EANaC,EAAAS,GAAA,sBAOZA,GAA+BR,GAAa,GAEtC,IAAMS,GAAN,KACP,CA4BW,YAAYX,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,EA9BaC,EAAAU,GAAA,oBA+BZA,GAA6BT,GAAa,GAEpC,IAAMU,GAAN,KACP,CAWW,YAAYZ,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EAbaC,EAAAW,GAAA,yBAcZA,GAAkCV,GAAa,GAEzC,IAAMW,GAAN,KACP,CAKW,YAAYb,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5G,EAPaC,EAAAY,GAAA,iCAQZA,GAA0CX,GAAa,GAUjD,IAAMY,GAAN,KACP,CAQW,YAAYC,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1G,EAVaC,EAAAF,GAAA,+BAWZA,GAAwCG,GAAa,GAE/C,IAAMC,GAAN,cAAwCC,EAC/C,CAUW,YAAYJ,EAA2C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrH,EAZaC,EAAAE,GAAA,6BAaZA,GAAsCD,GAAa,GAG7C,IAAMG,GAAN,cAA8BC,CACrC,CAWW,YAAYN,EAAiC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,iBAAmB,CAC1C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIO,CAA2C,CACpF,EAhBaN,EAAAI,GAAA,mBAiBZA,GAA4BH,GAAa,GAEnC,IAAMM,GAAN,cAAyCC,CAChD,CAEW,YAAYT,EAA4C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtH,EAJaC,EAAAO,GAAA,8BAKZA,GAAuCN,GAAa,GAE9C,IAAMQ,GAAN,KACP,CAGW,YAAYV,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,EALaC,EAAAS,GAAA,sBAON,IAAMC,GAAN,KACP,CAIW,YAAYX,EAA2B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,EANaC,EAAAU,GAAA,aAOZA,GAAsBT,GAAa,GAW7B,IAAMU,GAAN,KACP,CAKW,YAAYZ,EAA6B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,EAPaC,EAAAW,GAAA,eAQZA,GAAwBV,GAAa,GAiC/B,IAAMW,GAAN,KACP,CAEW,YAAYC,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EAJaC,EAAAF,GAAA,uBAKZA,GAAgCG,GAAa,GAEvC,IAAMC,GAAN,KACP,CAwBW,YAAYH,EAA6B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,EA1BaC,EAAAE,GAAA,eA2BZA,GAAwBD,GAAa,GAE/B,IAAME,EAAN,KACP,CASW,YAAYJ,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,EAXaC,EAAAG,EAAA,8BAYZA,EAAuCF,GAAa,GAuB9C,IAAMG,EAAN,KACP,CAiBW,YAAYC,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,EAnBaC,EAAAF,EAAA,2BAoBZA,EAAoCG,GAAa,GAgB3C,IAAMC,GAAN,KACP,CAIW,YAAYC,EAA0B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,EANaC,EAAAF,GAAA,YAOZA,GAAqBG,GAAa,GAE5B,IAAMC,GAAN,KACP,CAIW,YAAYH,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,EANaC,EAAAE,GAAA,iBAOZA,GAA0BD,GAAa,GAEjC,IAAME,GAAN,KACP,CAeW,YAAYJ,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EAjBaC,EAAAG,GAAA,uBAkBZA,GAAgCF,GAAa,GAQvC,IAAMG,GAAN,KACP,CAKW,YAAYC,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,EAPaC,EAAAF,GAAA,8BAQZA,GAAuCG,GAAa,GAW9C,IAAMC,GAAN,KACP,CAwBW,YAAYC,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EA1BaC,EAAAF,GAAA,yBA2BZA,GAAkCG,GAAa,GAYzC,IAAMC,GAAN,KACP,CAKW,YAAYC,EAAwB,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,EAPaC,EAAAF,GAAA,UAQZA,GAAmBG,GAAa,GAgC1B,IAAMC,EAAN,KACP,CAOW,YAAYC,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,EATaC,EAAAF,EAAA,iBAUZA,EAA0BG,GAAa,GAEjC,IAAMC,GAAN,KACP,CAIW,YAAYH,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,EANaC,EAAAE,GAAA,2BAOZA,GAAoCD,GAAa,GAE3C,IAAME,GAAN,KACP,CAKW,YAAYJ,EAA4B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,EAPaC,EAAAG,GAAA,cAQZA,GAAuBF,GAAa,GAE9B,IAAMG,GAAN,KACP,CAKW,YAAYL,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,EAPaC,EAAAI,GAAA,mBAQZA,GAA4BH,GAAa,GAQnC,IAAMI,GAAN,KACP,CAKW,YAAYC,EAA8B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,EAPaC,EAAAF,GAAA,gBAQZA,GAAyBG,GAAa,GAShC,IAAMC,GAAN,KACP,CAIW,YAAYC,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,EANaC,EAAAF,GAAA,oBAOZA,GAA6BG,GAAa,GAEpC,IAAMC,EAAN,KACP,CAYW,YAAYH,EAA4B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,EAdaC,EAAAE,EAAA,cAeZA,EAAuBD,GAAa,GAO9B,IAAME,GAAN,KACP,CAMW,YAAYJ,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,EARaC,EAAAG,GAAA,kBASZA,GAA2BF,GAAa,GAElC,IAAMG,GAAN,KACP,CAgEW,YAAYL,EAAsB,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnF,EAlEaC,EAAAI,GAAA,QAmEZA,GAAiBH,GAAa,GAExB,IAAMI,GAAN,KACP,CAMW,YAAYN,EAAsB,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnF,EARaC,EAAAK,GAAA,QASZA,GAAiBJ,GAAa,GAExB,IAAMK,GAAN,cAA0DF,EACjE,CA8CW,YAAYL,EAA6D,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvI,EAhDaC,EAAAM,GAAA,+CAiDZA,GAAwDL,GAAa,GAE/D,IAAMM,GAAN,KACP,CAMW,YAAYR,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,EARaC,EAAAO,GAAA,iBASZA,GAA0BN,GAAa,GAEjC,IAAMO,GAAN,KACP,CAeW,YAAYT,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,EAjBaC,EAAAQ,GAAA,kBAkBZA,GAA2BP,GAAa,GAElC,IAAMQ,GAAN,KACP,CAWW,YAAYV,EAA6B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,EAbaC,EAAAS,GAAA,eAcZA,GAAwBR,GAAa,GAE/B,IAAMS,GAAN,KACP,CASW,YAAYX,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,EAXaC,EAAAU,GAAA,qBAYZA,GAA8BT,GAAa,GAWrC,IAAMU,GAAN,KACP,CAUW,YAAYC,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,EAZaC,EAAAF,GAAA,oBAaZA,GAA6BG,GAAa,GAEpC,IAAMC,GAAN,KACP,CASW,YAAYH,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,EAXaC,EAAAE,GAAA,kBAYZA,GAA2BD,GAAa,GAElC,IAAME,GAAN,cAAqCD,EAC5C,CAIW,YAAYH,EAAwC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClH,EANaC,EAAAG,GAAA,0BAOZA,GAAmCF,GAAa,GAE1C,IAAMG,GAAN,KACP,CAIW,YAAYL,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EANaC,EAAAI,GAAA,yBAOZA,GAAkCH,GAAa,GAEzC,IAAMI,GAAN,KACP,CAMW,YAAYN,EAAyB,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,EARaC,EAAAK,GAAA,WASZA,GAAoBJ,GAAa,GAE3B,IAAMK,GAAN,KACP,CAoBW,YAAYP,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,EAtBaC,EAAAM,GAAA,oBAuBZA,GAA6BL,GAAa,GAEpC,IAAMM,GAAN,KACP,CAKW,YAAYR,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,EAPaC,EAAAO,GAAA,iBAQZA,GAA0BN,GAAa,GAEjC,IAAMO,EAAN,KACP,CASW,YAAYT,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,EAXaC,EAAAQ,EAAA,qBAYZA,EAA8BP,GAAa,GAErC,IAAMQ,EAAN,KACP,CAUW,YAAYV,EAA8B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,EAZaC,EAAAS,EAAA,gBAaZA,EAAyBR,GAAa,GAEhC,IAAMS,EAAN,KACP,CAWW,YAAYX,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,EAbaC,EAAAU,EAAA,oBAcZA,EAA6BT,GAAa,GAEpC,IAAMU,EAAN,KACP,CAWW,YAAYZ,EAA6B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,EAbaC,EAAAW,EAAA,eAcZA,EAAwBV,GAAa,GAE/B,IAAMW,GAAN,KACP,CA4BW,YAAYb,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,EA9BaC,EAAAY,GAAA,qBA+BZA,GAA8BX,GAAa,GAErC,IAAMY,GAAN,cAA+BC,CACtC,CAEW,YAAYf,EAAkC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIgB,CAAmC,CAC5E,EAPaf,EAAAa,GAAA,oBAQZA,GAA6BZ,GAAa,GAEpC,IAAMe,EAAN,cAAyCC,CAChD,CAEW,YAAYlB,EAA4C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtH,EAJaC,EAAAgB,EAAA,8BAKZA,EAAuCf,GAAa,GAS9C,IAAMiB,GAAN,KACP,CAQW,YAAYC,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EAVaC,EAAAF,GAAA,uBAWZA,GAAgCG,GAAa,GA2FvC,IAAMC,GAAN,cAA4CC,CACnD,CAgBW,YAAYC,EAA+C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9G,aAAc,CAAE,MAAO,+BAAiC,CACxD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EArBaC,EAAAJ,GAAA,iCAsBZA,GAA0CK,GAAa,GAEjD,IAAMC,EAAN,cAA4CC,CACnD,CAEW,YAAYL,EAA+C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzH,EAJaE,EAAAE,EAAA,iCAKZA,EAA0CD,GAAa,GAoJjD,IAAMG,GAAN,KACP,CAaW,YAAYC,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,EAfaC,EAAAF,GAAA,kBAgBZA,GAA2BG,GAAa,GAwBlC,IAAMC,GAAN,KACP,CAIW,YAAYC,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EANaC,EAAAF,GAAA,uBAOZA,GAAgCG,GAAa,GAEvC,IAAMC,GAAN,KACP,CAIW,YAAYH,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EANaC,EAAAE,GAAA,uBAOZA,GAAgCD,GAAa,GAWvC,IAAME,GAAN,KACP,CAoBW,YAAYC,EAA6B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,EAtBaC,EAAAF,GAAA,eAuBZA,GAAwBG,GAAa,GAE/B,IAAMC,GAAN,KACP,CAeW,YAAYH,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,EAjBaC,EAAAE,GAAA,mBAkBZA,GAA4BD,GAAa,GAcnC,IAAME,GAAN,KACP,CASW,YAAYC,EAAqB,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClF,EAXaC,EAAAF,GAAA,OAYZA,GAAgBG,GAAa,GAiBvB,IAAMC,GAAN,KACP,CAIW,YAAYC,EAAuD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpH,EANaC,EAAAF,GAAA,yCAOZA,GAAkDG,GAAa,GAUzD,IAAMC,GAAN,KACP,CASW,YAAYC,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,EAXaC,EAAAF,GAAA,8BAYZA,GAAuCG,GAAa,GAkB9C,IAAMC,GAAN,KACP,CAyBW,YAAYC,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EA3BaC,EAAAF,GAAA,yBA4BZA,GAAkCG,GAAa,GAYzC,IAAMC,GAAN,KACP,CAIW,YAAYC,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EANaC,EAAAF,GAAA,uBAOZA,GAAgCG,GAAa,GAiCvC,IAAMC,GAAN,KACP,CAUW,YAAYC,EAA8B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,EAZaC,EAAAF,GAAA,gBAaZA,GAAyBG,GAAa,GAEhC,IAAMC,GAAN,KACP,CAOW,YAAYH,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,EATaC,EAAAE,GAAA,qBAUZA,GAA8BD,GAAa,GAkBrC,IAAME,GAAN,cAA4CC,EACnD,CAGW,YAAYC,EAA+C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzH,EALaC,EAAAH,GAAA,iCAMZA,GAA0CI,GAAa,GAEjD,IAAMC,GAAN,KACP,CAMW,YAAYH,EAA6B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,EARaC,EAAAE,GAAA,eASZA,GAAwBD,GAAa,GAQ/B,IAAME,GAAN,cAAsCC,EAC7C,CAGW,YAAYC,EAAyC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnH,EALaC,EAAAH,GAAA,2BAMZA,GAAoCI,GAAa,GAE3C,IAAMC,GAAN,KACP,CA2BW,YAAYH,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EA7BaC,EAAAE,GAAA,yBA8BZA,GAAkCD,GAAa,GAyCzC,IAAME,GAAN,KACP,CAOW,YAAYC,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,EATaC,EAAAF,GAAA,6BAUZA,GAAsCG,GAAa,GAE7C,IAAMC,GAAN,KACP,CAOW,YAAYH,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EATaC,EAAAE,GAAA,yBAUZA,GAAkCD,GAAa,GAiBzC,IAAKE,SAERA,GAAA,QAAU,UACVA,GAAA,QAAU,UACVA,GAAA,UAAY,YACZA,GAAA,QAAU,UACVA,GAAA,OAAS,SANDA,SAAA,IA2DL,IAAMC,GAAN,KACP,CAQW,YAAYC,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,EAVaC,EAAAF,GAAA,iBAWZA,GAA0BG,GAAa,GAEjC,IAAMC,GAAN,KACP,CAWW,YAAYH,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5G,EAbaC,EAAAE,GAAA,iCAcZA,GAA0CD,GAAa,GAEjD,IAAME,GAAN,KACP,CAKW,YAAYJ,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,EAPaC,EAAAG,GAAA,6BAQZA,GAAsCF,GAAa,GAE7C,IAAMG,GAAN,KACP,CAGW,YAAYL,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EALaC,EAAAI,GAAA,yBAMZA,GAAkCH,GAAa,GAQzC,IAAMI,GAAN,KACP,CAoBW,YAAYC,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,EAtBaC,EAAAF,GAAA,2BAuBZA,GAAoCG,GAAa,GAa3C,IAAMC,GAAN,KACP,CASW,YAAYC,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,EAXaC,EAAAF,GAAA,4BAYZA,GAAqCG,GAAa,GAE5C,IAAMC,GAAN,KACP,CAOW,YAAYH,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,EATaC,EAAAE,GAAA,sBAUZA,GAA+BD,GAAa,GAEtC,IAAME,GAAN,KACP,CAIW,YAAYJ,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,EANaC,EAAAG,GAAA,kBAOZA,GAA2BF,GAAa,GAElC,IAAMG,GAAN,KACP,CAQW,YAAYL,EAA6B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,EAVaC,EAAAI,GAAA,eAWZA,GAAwBH,GAAa,GAE/B,IAAMI,GAAN,KACP,CAIW,YAAYN,EAA2B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,EANaC,EAAAK,GAAA,aAOZA,GAAsBJ,GAAa,GAE7B,IAAMK,GAAN,KACP,CAEW,YAAYP,EAA8B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,EAJaC,EAAAM,GAAA,gBAMN,IAAMC,EAAN,cAAgCD,EACvC,CAEW,YAAYP,EAAmC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7G,EAJaC,EAAAO,EAAA,kBAMN,IAAMC,GAAN,cAAqCD,CAC5C,CAOW,YAAYR,EAAwC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClH,EATaC,EAAAQ,GAAA,0BAUZA,GAAmCP,GAAa,GAE1C,IAAMQ,GAAN,cAAkCF,CACzC,CAEW,YAAYR,EAAqC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/G,EAJaC,EAAAS,GAAA,uBAKZA,GAAgCR,GAAa,GAEvC,IAAMS,GAAN,cAA4CH,CACnD,CAEW,YAAYR,EAA+C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzH,EAJaC,EAAAU,GAAA,iCAKZA,GAA0CT,GAAa,GAEjD,IAAMU,GAAN,cAAkCJ,CACzC,CAEW,YAAYR,EAAqC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/G,EAJaC,EAAAW,GAAA,uBAKZA,GAAgCV,GAAa,GAEvC,IAAMW,GAAN,cAAgCL,CACvC,CAEW,YAAYR,EAAmC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7G,EAJaC,EAAAY,GAAA,qBAKZA,GAA8BX,GAAa,GAErC,IAAMY,GAAN,cAAqCN,CAC5C,CAEW,YAAYR,EAAwC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClH,EAJaC,EAAAa,GAAA,0BAKZA,GAAmCZ,GAAa,GAE1C,IAAMa,GAAN,cAAuCP,CAC9C,CAKW,YAAYR,EAA0C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpH,EAPaC,EAAAc,GAAA,4BAQZA,GAAqCb,GAAa,GAE5C,IAAMc,GAAN,cAAqCR,CAC5C,CAKW,YAAYR,EAAwC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClH,EAPaC,EAAAe,GAAA,0BAQZA,GAAmCd,GAAa,GAE1C,IAAMe,GAAN,cAAsCT,CAC7C,CAEW,YAAYR,EAAyC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnH,EAJaC,EAAAgB,GAAA,2BAKZA,GAAoCf,GAAa,GAE3C,IAAMgB,GAAN,cAAsBV,CAC7B,CAQW,YAAYR,EAAyB,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,EAVaC,EAAAiB,GAAA,WAWZA,GAAoBhB,GAAa,GAE3B,IAAMiB,GAAN,cAA0CX,CACjD,CAMW,YAAYR,EAA6C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvH,EARaC,EAAAkB,GAAA,+BASZA,GAAwCjB,GAAa,GAE/C,IAAMkB,GAAN,cAAgCZ,CACvC,CAEW,YAAYR,EAAmC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7G,EAJaC,EAAAmB,GAAA,qBAKZA,GAA8BlB,GAAa,GAErC,IAAMmB,GAAN,cAAkCb,CACzC,CAGW,YAAYR,EAAqC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/G,EALaC,EAAAoB,GAAA,uBAMZA,GAAgCnB,GAAa,GAEvC,IAAMoB,GAAN,cAAsCd,CAC7C,CAKW,YAAYR,EAAyC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnH,EAPaC,EAAAqB,GAAA,2BAQZA,GAAoCpB,GAAa,GAE3C,IAAMqB,GAAN,cAAmFf,CAC1F,CAIW,YAAYR,EAAsF,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChK,EANaC,EAAAsB,GAAA,wEAOZA,GAAiFrB,GAAa,GAExF,IAAMsB,GAAN,cAAmFhB,CAC1F,CAWW,YAAYR,EAAsF,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChK,EAbaC,EAAAuB,GAAA,wEAcZA,GAAiFtB,GAAa,GAExF,IAAMuB,GAAN,cAAkFjB,CACzF,CAGW,YAAYR,EAAqF,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/J,EALaC,EAAAwB,GAAA,uEAMZA,GAAgFvB,GAAa,GAEvF,IAAMwB,GAAN,cAA4ElB,CACnF,CA2BW,YAAYR,EAA+E,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzJ,EA7BaC,EAAAyB,GAAA,iEA8BZA,GAA0ExB,GAAa,GAEjF,IAAMyB,GAAN,cAAiEnB,CACxE,CAIW,YAAYR,EAAoE,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9I,EANaC,EAAA0B,GAAA,sDAOZA,GAA+DzB,GAAa,GAEtE,IAAM0B,GAAN,cAA6CpB,CACpD,CAIW,YAAYR,EAAgD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1H,EANaC,EAAA2B,GAAA,kCAOZA,GAA2C1B,GAAa,GAElD,IAAM2B,GAAN,cAAwCrB,CAC/C,CAIW,YAAYR,EAA2C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrH,EANaC,EAAA4B,GAAA,6BAOZA,GAAsC3B,GAAa,GAE7C,IAAM4B,GAAN,cAAiDtB,CACxD,CAGW,YAAYR,EAAoD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9H,EALaC,EAAA6B,GAAA,sCAMZA,GAA+C5B,GAAa,GAEtD,IAAM6B,GAAN,cAAyDvB,CAChE,CAEW,YAAYR,EAA4D,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtI,EAJaC,EAAA8B,GAAA,8CAKZA,GAAuD7B,GAAa,GAE9D,IAAM8B,GAAN,cAA8CxB,CACrD,CAEW,YAAYR,EAAiD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3H,EAJaC,EAAA+B,GAAA,mCAKZA,GAA4C9B,GAAa,GAEnD,IAAM+B,GAAN,cAA+CzB,CACtD,CAEW,YAAYR,EAAkD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5H,EAJaC,EAAAgC,GAAA,oCAKZA,GAA6C/B,GAAa,GAEpD,IAAMgC,GAAN,cAA0C1B,CACjD,CAEW,YAAYR,EAA6C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvH,EAJaC,EAAAiC,GAAA,+BAKZA,GAAwChC,GAAa,GAE/C,IAAMiC,GAAN,cAAgD3B,CACvD,CAMW,YAAYR,EAAmD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7H,EARaC,EAAAkC,GAAA,qCASZA,GAA8CjC,GAAa,GAErD,IAAMkC,GAAN,cAAgD5B,CACvD,CAEW,YAAYR,EAAmD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7H,EAJaC,EAAAmC,GAAA,qCAKZA,GAA8ClC,GAAa,GAErD,IAAMmC,GAAN,cAAkD7B,CACzD,CAMW,YAAYR,EAAqD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/H,EARaC,EAAAoC,GAAA,uCASZA,GAAgDnC,GAAa,GAEvD,IAAMoC,GAAN,cAAsC9B,CAC7C,CAWW,YAAYR,EAAyC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnH,EAbaC,EAAAqC,GAAA,2BAcZA,GAAoCpC,GAAa,GAE3C,IAAMqC,GAAN,cAAgC/B,CACvC,CAmBW,YAAYR,EAAmC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7G,EArBaC,EAAAsC,GAAA,qBAsBZA,GAA8BrC,GAAa,GAErC,IAAMsC,GAAN,cAA+ChC,CACtD,CAIW,YAAYR,EAAkD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5H,EANaC,EAAAuC,GAAA,oCAOZA,GAA6CtC,GAAa,GAEpD,IAAMuC,GAAN,cAA8CjC,CACrD,CAIW,YAAYR,EAAiD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3H,EANaC,EAAAwC,GAAA,mCAOZA,GAA4CvC,GAAa,GAEnD,IAAMwC,GAAN,cAA6ClC,CACpD,CAGW,YAAYR,EAAgD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1H,EALaC,EAAAyC,GAAA,kCAMZA,GAA2CxC,GAAa,GAElD,IAAMyC,GAAN,cAAuCnC,CAC9C,CAmBW,YAAYR,EAA0C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpH,EArBaC,EAAA0C,GAAA,4BAsBZA,GAAqCzC,GAAa,GAE5C,IAAM0C,GAAN,cAAmCpC,CAC1C,CAIW,YAAYR,EAAsC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChH,EANaC,EAAA2C,GAAA,wBAOZA,GAAiC1C,GAAa,GAExC,IAAM2C,GAAN,cAA2CrC,CAClD,CAEW,YAAYR,EAA8C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxH,EAJaC,EAAA4C,GAAA,gCAKZA,GAAyC3C,GAAa,GAEhD,IAAM4C,GAAN,cAA+BtC,CACtC,CAGW,YAAYR,EAAkC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5G,EALaC,EAAA6C,GAAA,oBAMZA,GAA6B5C,GAAa,GAEpC,IAAM6C,GAAN,cAA+BvC,CACtC,CAIW,YAAYR,EAAkC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5G,EANaC,EAAA8C,GAAA,oBAOZA,GAA6B7C,GAAa,GAEpC,IAAM8C,GAAN,cAAmCxC,CAC1C,CAEW,YAAYR,EAAsC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChH,EAJaC,EAAA+C,GAAA,wBAKZA,GAAiC9C,GAAa,GAExC,IAAM+C,GAAN,cAAmCzC,CAC1C,CAEW,YAAYR,EAAsC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChH,EAJaC,EAAAgD,GAAA,wBAKZA,GAAiC/C,GAAa,GAExC,IAAMgD,GAAN,cAAiC1C,CACxC,CAIW,YAAYR,EAAoC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9G,EANaC,EAAAiD,GAAA,sBAOZA,GAA+BhD,GAAa,GAEtC,IAAMiD,GAAN,cAAkD3C,CACzD,CAIW,YAAYR,EAAqD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/H,EANaC,EAAAkD,GAAA,uCAOZA,GAAgDjD,GAAa,GAEvD,IAAMkD,GAAN,cAA0C5C,CACjD,CAgBW,YAAYR,EAA6C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvH,EAlBaC,EAAAmD,GAAA,+BAmBZA,GAAwClD,GAAa,GAE/C,IAAMmD,GAAN,cAAoC7C,CAC3C,CAEW,YAAYR,EAAuC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjH,EAJaC,EAAAoD,GAAA,yBAKZA,GAAkCnD,GAAa,GAEzC,IAAMoD,GAAN,cAAqC9C,CAC5C,CAKW,YAAYR,EAAwC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClH,EAPaC,EAAAqD,GAAA,0BAQZA,GAAmCpD,GAAa,GAE1C,IAAMqD,GAAN,cAAkC/C,CACzC,CAGW,YAAYR,EAAqC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/G,EALaC,EAAAsD,GAAA,uBAMZA,GAAgCrD,GAAa,GAEvC,IAAMsD,GAAN,cAAmChD,CAC1C,CAEW,YAAYR,EAAsC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChH,EAJaC,EAAAuD,GAAA,wBAKZA,GAAiCtD,GAAa,GAExC,IAAMuD,GAAN,cAAkCjD,CACzC,CAIW,YAAYR,EAAqC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/G,EANaC,EAAAwD,GAAA,uBAOZA,GAAgCvD,GAAa,GAEvC,IAAMwD,GAAN,cAAgClD,CACvC,CAIW,YAAYR,EAAmC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7G,EANaC,EAAAyD,GAAA,qBAOZA,GAA8BxD,GAAa,GAErC,IAAMyD,GAAN,cAAqCnD,CAC5C,CAEW,YAAYR,EAAwC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClH,EAJaC,EAAA0D,GAAA,0BAKZA,GAAmCzD,GAAa,GAE1C,IAAM0D,GAAN,cAAsCpD,CAC7C,CAEW,YAAYR,EAAyC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnH,EAJaC,EAAA2D,GAAA,2BAKZA,GAAoC1D,GAAa,GAE3C,IAAM2D,GAAN,cAAoCrD,CAC3C,CAGW,YAAYR,EAAuC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjH,EALaC,EAAA4D,GAAA,yBAMZA,GAAkC3D,GAAa,GAEzC,IAAM4D,GAAN,cAAgCtD,CACvC,CAEW,YAAYR,EAAmC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7G,EAJaC,EAAA6D,GAAA,qBAKZA,GAA8B5D,GAAa,GAErC,IAAM6D,GAAN,cAA+BvD,CACtC,CAGW,YAAYR,EAAkC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5G,EALaC,EAAA8D,GAAA,oBAMZA,GAA6B7D,GAAa,GAEpC,IAAM8D,GAAN,cAAqCxD,CAC5C,CAEW,YAAYR,EAAwC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClH,EAJaC,EAAA+D,GAAA,0BAKZA,GAAmC9D,GAAa,GAE1C,IAAM+D,GAAN,cAAiCzD,CACxC,CAEW,YAAYR,EAAoC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9G,EAJaC,EAAAgE,GAAA,sBAKZA,GAA+B/D,GAAa,GAEtC,IAAMgE,GAAN,cAAkC1D,CACzC,CAEW,YAAYR,EAAqC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/G,EAJaC,EAAAiE,GAAA,uBAKZA,GAAgChE,GAAa,GAEvC,IAAMiE,GAAN,cAAkC3D,CACzC,CAKW,YAAYR,EAAqC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/G,EAPaC,EAAAkE,GAAA,uBAQZA,GAAgCjE,GAAa,GAEvC,IAAMkE,GAAN,cAA+B5D,CACtC,CAEW,YAAYR,EAAkC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5G,EAJaC,EAAAmE,GAAA,oBAKZA,GAA6BlE,GAAa,GAEpC,IAAMmE,GAAN,cAAqC7D,CAC5C,CAEW,YAAYR,EAAwC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClH,EAJaC,EAAAoE,GAAA,0BAKZA,GAAmCnE,GAAa,GAE1C,IAAMoE,GAAN,cAAwC9D,CAC/C,CAGW,YAAYR,EAA2C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrH,EALaC,EAAAqE,GAAA,6BAMZA,GAAsCpE,GAAa,GAE7C,IAAMqE,GAAN,cAAsC/D,CAC7C,CAEW,YAAYR,EAAyC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnH,EAJaC,EAAAsE,GAAA,2BAKZA,GAAoCrE,GAAa,GAE3C,IAAMsE,GAAN,cAAsChE,CAC7C,CAEW,YAAYR,EAAyC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnH,EAJaC,EAAAuE,GAAA,2BAKZA,GAAoCtE,GAAa,GAE3C,IAAMuE,GAAN,cAAkDjE,CACzD,CAEW,YAAYR,EAAqD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/H,EAJaC,EAAAwE,GAAA,uCAKZA,GAAgDvE,GAAa,GAEvD,IAAMwE,GAAN,cAAqClE,CAC5C,CAQW,YAAYR,EAAwC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClH,EAVaC,EAAAyE,GAAA,0BAWZA,GAAmCxE,GAAa,GAE1C,IAAMyE,GAAN,cAAkCnE,CACzC,CAGW,YAAYR,EAAqC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/G,EALaC,EAAA0E,GAAA,uBAMZA,GAAgCzE,GAAa,GAEvC,IAAM0E,GAAN,cAAiCpE,CACxC,CAEW,YAAYR,EAAoC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9G,EAJaC,EAAA2E,GAAA,sBAKZA,GAA+B1E,GAAa,GAEtC,IAAM2E,GAAN,cAAiCrE,CACxC,CAEW,YAAYR,EAAoC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9G,EAJaC,EAAA4E,GAAA,sBAKZA,GAA+B3E,GAAa,GAEtC,IAAM4E,GAAN,cAAiDtE,CACxD,CAIW,YAAYR,EAAoD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9H,EANaC,EAAA6E,GAAA,sCAOZA,GAA+C5E,GAAa,GAEtD,IAAM6E,GAAN,cAA6DvE,CACpE,CAIW,YAAYR,EAAgE,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1I,EANaC,EAAA8E,GAAA,kDAOZA,GAA2D7E,GAAa,GAElE,IAAM8E,GAAN,cAAsDxE,CAC7D,CAGW,YAAYR,EAAyD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnI,EALaC,EAAA+E,GAAA,2CAMZA,GAAoD9E,GAAa,GAE3D,IAAM+E,GAAN,cAAyCzE,CAChD,CAWW,YAAYR,EAA4C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtH,EAbaC,EAAAgF,GAAA,8BAcZA,GAAuC/E,GAAa,GAE9C,IAAMgF,GAAN,cAAqC1E,CAC5C,CAEW,YAAYR,EAAwC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClH,EAJaC,EAAAiF,GAAA,0BAKZA,GAAmChF,GAAa,GAE1C,IAAMiF,GAAN,cAA+B3E,CACtC,CAEW,YAAYR,EAAkC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5G,EAJaC,EAAAkF,GAAA,oBAKZA,GAA6BjF,GAAa,GAEpC,IAAMkF,GAAN,cAA4B5E,CACnC,CAyDW,YAAYR,EAA+B,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,EA3DaC,EAAAmF,GAAA,iBA4DZA,GAA0BlF,GAAa,GAiCjC,IAAMmF,GAAN,KACP,CAwDW,YAAYC,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EA1DaC,EAAAF,GAAA,uBA2DZA,GAAgCG,GAAa,GAEvC,IAAMC,GAAN,KACP,CAuBW,YAAYH,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EAzBaC,EAAAE,GAAA,yBA0BZA,GAAkCD,GAAa,GAczC,IAAME,EAAN,KACP,CAOW,YAAYC,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,EATaC,EAAAF,EAAA,iBAUZA,EAA0BG,GAAa,GAEjC,IAAMC,GAAN,KACP,CAOW,YAAYH,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,EATaC,EAAAE,GAAA,wBAUZA,GAAiCD,GAAa,GAExC,IAAME,EAAN,KACP,CAkCW,YAAYJ,EAA6B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,EApCaC,EAAAG,EAAA,eAqCZA,EAAwBF,GAAa,GAQ/B,IAAKG,QAERA,IAAA,OAAS,GAAT,SACAA,IAAA,QAAU,GAAV,UACAA,IAAA,UAAY,GAAZ,YACAA,IAAA,IAAM,GAAN,MACAA,IAAA,UAAY,GAAZ,YACAA,IAAA,UAAY,GAAZ,YACAA,IAAA,YAAc,GAAd,cARQA,QAAA,IAWCC,EAAN,KACP,CAGW,YAAYC,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EALaC,EAAAF,EAAA,uBAMZA,EAAgCG,GAAa,GA8DvC,IAAMC,GAAN,KACP,CAYW,YAAYC,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,EAdaC,EAAAF,GAAA,wBAeZA,GAAiCG,GAAa,GAmBxC,IAAMC,GAAN,KACP,CAIW,YAAYC,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7G,EANaC,EAAAF,GAAA,kCAOZA,GAA2CG,GAAa,GAElD,IAAMC,GAAN,KACP,CAYW,YAAYH,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,EAdaC,EAAAE,GAAA,sBAeZA,GAA+BD,GAAa,GAsJtC,IAAME,GAAN,KACP,CAQW,YAAYC,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,EAVaC,EAAAF,GAAA,oBAWZA,GAA6BG,GAAa,GAEpC,IAAMC,GAAN,KACP,CAKW,YAAYH,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,EAPaC,EAAAE,GAAA,kBAQZA,GAA2BD,GAAa,GAElC,IAAME,GAAN,KACP,CAMW,YAAYJ,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,EARaC,EAAAG,GAAA,0BASZA,GAAmCF,GAAa,GAE1C,IAAMG,GAAN,KACP,CAGW,YAAYL,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9G,EALaC,EAAAI,GAAA,mCAMZA,GAA4CH,GAAa,GAUnD,IAAMI,GAAN,KACP,CAGW,YAAYC,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,EALaC,EAAAF,GAAA,mBAMZA,GAA4BG,GAAa,GAEnC,IAAMC,GAAN,KACP,CAOW,YAAYH,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EATaC,EAAAE,GAAA,uBAUZA,GAAgCD,GAAa,GAEvC,IAAME,GAAN,KACP,CAuCW,YAAYJ,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,EAzCaC,EAAAG,GAAA,2BA0CZA,GAAoCF,GAAa,GAE3C,IAAMG,GAAN,KACP,CAMW,YAAYL,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,EARaC,EAAAI,GAAA,0BASZA,GAAmCH,GAAa,GAE1C,IAAMI,GAAN,KACP,CAMW,YAAYN,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,EARaC,EAAAK,GAAA,6BASZA,GAAsCJ,GAAa,GAE7C,IAAMK,GAAN,KACP,CAUW,YAAYP,EAA4B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,EAZaC,EAAAM,GAAA,cAaZA,GAAuBL,GAAa,GAE9B,IAAMM,GAAN,KACP,CAaW,YAAYR,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,EAfaC,EAAAO,GAAA,kBAgBZA,GAA2BN,GAAa,GAElC,IAAMO,GAAN,KACP,CAwBW,YAAYT,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EA1BaC,EAAAQ,GAAA,uBA2BZA,GAAgCP,GAAa,GAEvC,IAAMQ,EAAN,KACP,CAgBW,YAAYV,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,EAlBaC,EAAAS,EAAA,oBAmBZA,EAA6BR,GAAa,GAEpC,IAAMS,GAAN,cAA0CD,CACjD,CAQW,YAAYV,EAA6C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvH,EAVaC,EAAAU,GAAA,+BAWZA,GAAwCT,GAAa,GAE/C,IAAMU,GAAN,KACP,CAQW,YAAYZ,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EAVaC,EAAAW,GAAA,yBAWZA,GAAkCV,GAAa,GAEzC,IAAMW,GAAN,KACP,CASW,YAAYb,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,EAXaC,EAAAY,GAAA,2BAYZA,GAAoCX,GAAa,GAE3C,IAAMY,GAAN,KACP,CAKW,YAAYd,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,EAPaC,EAAAa,GAAA,sBAQZA,GAA+BZ,GAAa,GAGtC,IAAMa,GAAN,KACP,CAgBW,YAAYf,EAAwB,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,EAlBaC,EAAAc,GAAA,UAmBZA,GAAmBb,GAAa,GAG1B,IAAMc,GAAN,KACP,CAkCW,YAAYhB,EAAsB,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnF,EApCaC,EAAAe,GAAA,QAqCZA,GAAiBd,GAAa,GAGxB,IAAMe,GAAN,KACP,CAOW,YAAYjB,EAA8B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,EATaC,EAAAgB,GAAA,gBAUZA,GAAyBf,GAAa,GAEhC,IAAMgB,GAAN,KACP,CAMW,YAAYlB,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,EARaC,EAAAiB,GAAA,qBASZA,GAA8BhB,GAAa,GAErC,IAAMiB,GAAN,KACP,CAKW,YAAYnB,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,EAPaC,EAAAkB,GAAA,sBAQZA,GAA+BjB,GAAa,GAEtC,IAAMkB,GAAN,KACP,CAKW,YAAYpB,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,EAPaC,EAAAmB,GAAA,0BAQZA,GAAmClB,GAAa,GAE1C,IAAMmB,GAAN,KACP,CAQW,YAAYrB,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,EAVaC,EAAAoB,GAAA,6BAWZA,GAAsCnB,GAAa,GAY7C,IAAMoB,GAAN,KACP,CA+BW,YAAYC,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,EAjCaC,EAAAF,GAAA,0BAkCZA,GAAmCG,GAAa,GAE1C,IAAMC,GAAN,KACP,CAwBW,YAAYH,EAA6B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,EA1BaC,EAAAE,GAAA,eA2BZA,GAAwBD,GAAa,GAE/B,IAAME,GAAN,KACP,CAiCW,YAAYJ,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,EAnCaC,EAAAG,GAAA,mBAoCZA,GAA4BF,GAAa,GAEnC,IAAMG,GAAN,KACP,CAGW,YAAYL,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3G,EALaC,EAAAI,GAAA,gCAMZA,GAAyCH,GAAa,GAEhD,IAAMI,GAAN,KACP,CAuFW,YAAYN,EAA0B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,EAzFaC,EAAAK,GAAA,YA0FZA,GAAqBJ,GAAa,GAE5B,IAAMK,GAAN,KACP,CAKW,YAAYP,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,EAPaC,EAAAM,GAAA,oBAQZA,GAA6BL,GAAa,GAEpC,IAAMM,GAAN,KACP,CAKW,YAAYR,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,EAPaC,EAAAO,GAAA,wBAQZA,GAAiCN,GAAa,GAkBxC,IAAMO,GAAN,KACP,CAOW,YAAYT,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,EATaC,EAAAQ,GAAA,2BAUZA,GAAoCP,GAAa,GAE3C,IAAMQ,GAAN,KACP,CA2CW,YAAYV,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,EA7CaC,EAAAS,GAAA,sBA8CZA,GAA+BR,GAAa,GAEtC,IAAMS,GAAN,KACP,CAYW,YAAYX,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EAdaC,EAAAU,GAAA,yBAeZA,GAAkCT,GAAa,GAEzC,IAAMU,GAAN,KACP,CAcW,YAAYZ,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,EAhBaC,EAAAW,GAAA,4BAiBZA,GAAqCV,GAAa,GAE5C,IAAMW,GAAN,KACP,CAYW,YAAYb,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5G,EAdaC,EAAAY,GAAA,iCAeZA,GAA0CX,GAAa,GAEjD,IAAMY,GAAN,KACP,CAqBW,YAAYd,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,EAvBaC,EAAAa,GAAA,wBAwBZA,GAAiCZ,GAAa,GAUxC,IAAMa,GAAN,KACP,CAeW,YAAYC,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EAjBaC,EAAAF,GAAA,uBAkBZA,GAAgCG,GAAa,GAEvC,IAAMC,GAAN,KACP,CAaW,YAAYH,EAA8B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,EAfaC,EAAAE,GAAA,gBAgBZA,GAAyBD,GAAa,GAEhC,IAAME,GAAN,KACP,CAwBW,YAAYJ,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,EA1BaC,EAAAG,GAAA,2BA2BZA,GAAoCF,GAAa,GAE3C,IAAMG,GAAN,KACP,CAkBW,YAAYL,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,EApBaC,EAAAI,GAAA,4BAqBZA,GAAqCH,GAAa,GAE5C,IAAMI,GAAN,KACP,CAGW,YAAYN,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9G,EALaC,EAAAK,GAAA,mCAMZA,GAA4CJ,GAAa,GAEnD,IAAMK,GAAN,KACP,CA4BW,YAAYP,EAA2B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,EA9BaC,EAAAM,GAAA,aA+BZA,GAAsBL,GAAa,GAY7B,IAAMM,GAAN,KACP,CAaW,YAAYC,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,EAfaC,EAAAF,GAAA,2BAgBZA,GAAoCG,GAAa,GAE3C,IAAMC,GAAN,KACP,CAKW,YAAYH,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,EAPaC,EAAAE,GAAA,2BAQZA,GAAoCD,GAAa,GAE3C,IAAME,GAAN,KACP,CAOW,YAAYJ,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,EATaC,EAAAG,GAAA,sBAUZA,GAA+BF,GAAa,GAEtC,IAAMG,GAAN,KACP,CAiBW,YAAYL,EAA4B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,EAnBaC,EAAAI,GAAA,cAoBZA,GAAuBH,GAAa,GAE9B,IAAMI,GAAN,KACP,CAeW,YAAYN,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,EAjBaC,EAAAK,GAAA,0BAkBZA,GAAmCJ,GAAa,GAE1C,IAAMK,GAAN,KACP,CASW,YAAYP,EAA8B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,EAXaC,EAAAM,GAAA,gBAYZA,GAAyBL,GAAa,GAWhC,IAAMM,GAAN,KACP,CAMW,YAAYC,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,EARaC,EAAAF,GAAA,kBASZA,GAA2BG,GAAa,GAElC,IAAMC,GAAN,KACP,CAOW,YAAYH,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,EATaC,EAAAE,GAAA,0BAUZA,GAAmCD,GAAa,GAE1C,IAAME,GAAN,KACP,CAgBW,YAAYJ,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,EAlBaC,EAAAG,GAAA,wBAmBZA,GAAiCF,GAAa,GAExC,IAAMG,GAAN,KACP,CAqBW,YAAYL,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,EAvBaC,EAAAI,GAAA,mBAwBZA,GAA4BH,GAAa,GAEnC,IAAMI,GAAN,KACP,CAuDW,YAAYN,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EAzDaC,EAAAK,GAAA,uBA0DZA,GAAgCJ,GAAa,GAEvC,IAAMK,GAAN,KACP,CAMW,YAAYP,EAA0B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,EARaC,EAAAM,GAAA,YASZA,GAAqBL,GAAa,GAE5B,IAAMM,GAAN,KACP,CAMW,YAAYR,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,EARaC,EAAAO,GAAA,iBASZA,GAA0BN,GAAa,GAEjC,IAAMO,GAAN,KACP,CAMW,YAAYT,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,EARaC,EAAAQ,GAAA,oBASZA,GAA6BP,GAAa,GAEpC,IAAMQ,GAAN,KACP,CAYW,YAAYV,EAA6B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,EAdaC,EAAAS,GAAA,eAeZA,GAAwBR,GAAa,GAE/B,IAAMS,GAAN,KACP,CAGW,YAAYX,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,EALaC,EAAAU,GAAA,2BAMZA,GAAoCT,GAAa,GAE3C,IAAMU,GAAN,KACP,CAIW,YAAYZ,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,EANaC,EAAAW,GAAA,sBAOZA,GAA+BV,GAAa,GAOtC,IAAMW,GAAN,cAA8BC,CACrC,CAaW,YAAYd,EAAiC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3G,EAfaC,EAAAY,GAAA,mBAgBZA,GAA4BX,GAAa,GAEnC,IAAMa,GAAN,cAA+BF,EACtC,CAWW,YAAYb,EAAkC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5G,EAbaC,EAAAc,GAAA,oBAcZA,GAA6Bb,GAAa,GAEpC,IAAMc,GAAN,cAAmCC,CAC1C,CAsBW,YAAYjB,EAAsC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChH,EAxBaC,EAAAe,GAAA,wBAyBZA,GAAiCd,GAAa,GAExC,IAAMgB,GAAN,cAA2CF,EAClD,CAaW,YAAYhB,EAA8C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxH,EAfaC,EAAAiB,GAAA,gCAgBZA,GAAyChB,GAAa,GAEhD,IAAMiB,GAAN,cAAuCD,EAC9C,CAIW,YAAYlB,EAA0C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpH,EANaC,EAAAkB,GAAA,4BAOZA,GAAqCjB,GAAa,GAE5C,IAAMkB,GAAN,KACP,CAOW,YAAYpB,EAAsD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnH,EATaC,EAAAmB,GAAA,wCAUZA,GAAiDlB,GAAa,GAExD,IAAMmB,GAAN,KACP,CASW,YAAYrB,EAAsD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnH,EAXaC,EAAAoB,GAAA,wCAYZA,GAAiDnB,GAAa,GAExD,IAAMoB,GAAN,KACP,CAQW,YAAYtB,EAA2D,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxH,EAVaC,EAAAqB,GAAA,6CAWZA,GAAsDpB,GAAa,GAE7D,IAAMqB,GAAN,KACP,CAIW,YAAYvB,EAAuD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpH,EANaC,EAAAsB,GAAA,yCAOZA,GAAkDrB,GAAa,GAEzD,IAAMsB,GAAN,KACP,CAOW,YAAYxB,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3G,EATaC,EAAAuB,GAAA,gCAUZA,GAAyCtB,GAAa,GAEhD,IAAMuB,GAAN,KACP,CA4BW,YAAYzB,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,EA9BaC,EAAAwB,GAAA,6BA+BZA,GAAsCvB,GAAa,GAE7C,IAAMwB,GAAN,KACP,CAIW,YAAY1B,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,EANaC,EAAAyB,GAAA,oBAOZA,GAA6BxB,GAAa,GAEpC,IAAMyB,GAAN,KACP,CAIW,YAAY3B,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,EANaC,EAAA0B,GAAA,2BAOZA,GAAoCzB,GAAa,GAE3C,IAAM0B,GAAN,KACP,CAGW,YAAY5B,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EALaC,EAAA2B,GAAA,yBAMZA,GAAkC1B,GAAa,GAEzC,IAAM2B,GAAN,KACP,CA4BW,YAAY7B,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,EA9BaC,EAAA4B,GAAA,iBA+BZA,GAA0B3B,GAAa,GAEjC,IAAM4B,GAAN,KACP,CAmBW,YAAY9B,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EArBaC,EAAA6B,GAAA,uBAsBZA,GAAgC5B,GAAa,GAEvC,IAAM6B,GAAN,KACP,CA6DW,YAAY/B,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,EA/DaC,EAAA8B,GAAA,oBAgEZA,GAA6B7B,GAAa,GAEpC,IAAM8B,GAAN,KACP,CAGW,YAAYhC,EAA4B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,EALaC,EAAA+B,GAAA,cAMZA,GAAuB9B,GAAa,GAE9B,IAAM+B,GAAN,KACP,CAIW,YAAYjC,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EANaC,EAAAgC,GAAA,yBAOZA,GAAkC/B,GAAa,GAEzC,IAAMgC,GAAN,KACP,CA4BW,YAAYlC,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EA9BaC,EAAAiC,GAAA,uBA+BZA,GAAgChC,GAAa,GAEvC,IAAMiC,GAAN,KACP,CAIW,YAAYnC,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,EANaC,EAAAkC,GAAA,wBAOZA,GAAiCjC,GAAa,GAsBxC,IAAMkC,GAAN,KACP,CAaW,YAAYC,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1G,EAfaC,EAAAF,GAAA,+BAgBZA,GAAwCG,GAAa,GAE/C,IAAMC,GAAN,KACP,CASW,YAAYH,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,EAXaC,EAAAE,GAAA,0BAYZA,GAAmCD,GAAa,GAE1C,IAAME,GAAN,KACP,CAIW,YAAYJ,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,EANaC,EAAAG,GAAA,kBAOZA,GAA2BF,GAAa,GAElC,IAAMG,GAAN,KACP,CAGW,YAAYL,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,EALaC,EAAAI,GAAA,8BAMZA,GAAuCH,GAAa,GAe9C,IAAMI,GAAN,KACP,CAyEW,YAAYC,EAAuB,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,EA3EaC,EAAAF,GAAA,SA4EZA,GAAkBG,GAAa,GAEzB,IAAMC,EAAN,KACP,CAWW,YAAYH,EAAyB,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,EAbaC,EAAAE,EAAA,WAcZA,EAAoBD,GAAa,GAE3B,IAAME,GAAN,cAA4BD,CACnC,CAGW,YAAYH,EAA+B,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,EALaC,EAAAG,GAAA,iBAMZA,GAA0BF,GAAa,GAEjC,IAAMG,GAAN,cAA4CD,EACnD,CAKW,YAAYJ,EAA+C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzH,EAPaC,EAAAI,GAAA,iCAQZA,GAA0CH,GAAa,GAEjD,IAAMI,GAAN,KACP,CAwDW,YAAYN,EAAuB,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,EA1DaC,EAAAK,GAAA,SA2DZA,GAAkBJ,GAAa,GAiBzB,IAAMK,GAAN,KACP,CAcW,YAAYC,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,EAhBaC,EAAAF,GAAA,sBAiBZA,GAA+BG,GAAa,GAEtC,IAAMC,GAAN,KACP,CASW,YAAYH,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,EAXaC,EAAAE,GAAA,mBAYZA,GAA4BD,GAAa,GAEnC,IAAME,GAAN,cAA2BC,EAClC,CAQW,YAAYL,EAA8B,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,EAVaC,EAAAG,GAAA,gBAWZA,GAAyBF,GAAa,GAEhC,IAAMI,GAAN,KACP,CAKW,YAAYN,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1G,EAPaC,EAAAK,GAAA,+BAQZA,GAAwCJ,GAAa,GAE/C,IAAMK,GAAN,KACP,CA8BW,YAAYP,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,EAhCaC,EAAAM,GAAA,qBAiCZA,GAA8BL,GAAa,GAErC,IAAMM,GAAN,KACP,CAGW,YAAYR,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,EALaC,EAAAO,GAAA,6BAMZA,GAAsCN,GAAa,GAE7C,IAAMO,GAAN,KACP,CAEW,YAAYT,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,EAJaC,EAAAQ,GAAA,8BAKZA,GAAuCP,GAAa,GAE9C,IAAMQ,GAAN,KACP,CAOW,YAAYV,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,EATaC,EAAAS,GAAA,sBAUZA,GAA+BR,GAAa,GAEtC,IAAMS,GAAN,KACP,CAaW,YAAYX,EAA8B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,EAfaC,EAAAU,GAAA,gBAgBZA,GAAyBT,GAAa,GAEhC,IAAMU,GAAN,KACP,CAIW,YAAYZ,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,EANaC,EAAAW,GAAA,2BAOZA,GAAoCV,GAAa,GAE3C,IAAMW,GAAN,KACP,CAYW,YAAYb,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,EAdaC,EAAAY,GAAA,6BAeZA,GAAsCX,GAAa,GAE7C,IAAMY,GAAN,KACP,CAwBW,YAAYd,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,EA1BaC,EAAAa,GAAA,2BA2BZA,GAAoCZ,GAAa,GAE3C,IAAMa,GAAN,KACP,CAyEW,YAAYf,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,EA3EaC,EAAAc,GAAA,iBA4EZA,GAA0Bb,GAAa,GAEjC,IAAMc,GAAN,KACP,CAkBW,YAAYhB,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9G,EApBaC,EAAAe,GAAA,mCAqBZA,GAA4Cd,GAAa,GAUnD,IAAMe,GAAN,KACP,CAKW,YAAYC,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,EAPaC,EAAAF,GAAA,oBAQZA,GAA6BG,GAAa,GAEpC,IAAMC,GAAN,KACP,CAOW,YAAYH,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,EATaC,EAAAE,GAAA,8BAUZA,GAAuCD,GAAa,GAE9C,IAAME,GAAN,KACP,CAOW,YAAYJ,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,EATaC,EAAAG,GAAA,0BAUZA,GAAmCF,GAAa,GAE1C,IAAMG,GAAN,KACP,CAOW,YAAYL,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,EATaC,EAAAI,GAAA,sBAUZA,GAA+BH,GAAa,GAEtC,IAAMI,GAAN,KACP,CAKW,YAAYN,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EAPaC,EAAAK,GAAA,uBAQZA,GAAgCJ,GAAa,GAEvC,IAAMK,GAAN,KACP,CAIW,YAAYP,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1G,EANaC,EAAAM,GAAA,+BAOZA,GAAwCL,GAAa,GAE/C,IAAMM,GAAN,KACP,CAOW,YAAYR,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9G,EATaC,EAAAO,GAAA,mCAUZA,GAA4CN,GAAa,GAEnD,IAAMO,GAAN,KACP,CAOW,YAAYT,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9G,EATaC,EAAAQ,GAAA,mCAUZA,GAA4CP,GAAa,GAEnD,IAAMQ,GAAN,KACP,CAIW,YAAYV,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,EANaC,EAAAS,GAAA,0BAOZA,GAAmCR,GAAa,GAE1C,IAAMS,GAAN,KACP,CAKW,YAAYX,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,EAPaC,EAAAU,GAAA,iBAQZA,GAA0BT,GAAa,GAEjC,IAAMU,GAAN,KACP,CAMW,YAAYZ,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,EARaC,EAAAW,GAAA,qBASZA,GAA8BV,GAAa,GAErC,IAAMW,GAAN,KACP,CAGW,YAAYb,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1G,EALaC,EAAAY,GAAA,+BAMZA,GAAwCX,GAAa,GAE/C,IAAMY,GAAN,KACP,CASW,YAAYd,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,EAXaC,EAAAa,GAAA,0BAYZA,GAAmCZ,GAAa,GAE1C,IAAMa,GAAN,KACP,CAMW,YAAYf,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,EARaC,EAAAc,GAAA,kBASZA,GAA2Bb,GAAa,GAElC,IAAMc,GAAN,KACP,CAKW,YAAYhB,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,EAPaC,EAAAe,GAAA,0BAQZA,GAAmCd,GAAa,GAE1C,IAAMe,GAAN,KACP,CAMW,YAAYjB,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,EARaC,EAAAgB,GAAA,6BASZA,GAAsCf,GAAa,GAE7C,IAAMgB,GAAN,KACP,CAIW,YAAYlB,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,EANaC,EAAAiB,GAAA,0BAOZA,GAAmChB,GAAa,GAE1C,IAAMiB,GAAN,KACP,CAKW,YAAYnB,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,EAPaC,EAAAkB,GAAA,2BAQZA,GAAoCjB,GAAa,GAe3C,IAAMkB,GAAN,KACP,CAmBW,YAAYC,EAA8B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,EArBaC,EAAAF,GAAA,gBAsBZA,GAAyBG,GAAa,GAoBhC,IAAMC,GAAN,KACP,CAKW,YAAYC,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,EAPaC,EAAAF,GAAA,iBAQZA,GAA0BG,GAAa,GAEjC,IAAMC,GAAN,KACP,CAEW,YAAYH,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5G,EAJaC,EAAAE,GAAA,iCAKZA,GAA0CD,GAAa,GAEjD,IAAME,GAAN,KACP,CAMW,YAAYJ,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,EARaC,EAAAG,GAAA,kBASZA,GAA2BF,GAAa,GAElC,IAAMG,GAAN,cAAiCD,EACxC,CA0CW,YAAYJ,EAAoC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9G,EA5CaC,EAAAI,GAAA,sBA6CZA,GAA+BH,GAAa,GAEtC,IAAMI,GAAN,KACP,CAyBW,YAAYN,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,EA3BaC,EAAAK,GAAA,sBA4BZA,GAA+BJ,GAAa,GAEtC,IAAMK,GAAN,KACP,CAgBW,YAAYP,EAA6B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,EAlBaC,EAAAM,GAAA,eAmBZA,GAAwBL,GAAa,GAE/B,IAAMM,GAAN,KACP,CAOW,YAAYR,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,EATaC,EAAAO,GAAA,kBAUZA,GAA2BN,GAAa,GAElC,IAAMO,GAAN,KACP,CAyBW,YAAYT,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,EA3BaC,EAAAQ,GAAA,8BA4BZA,GAAuCP,GAAa,GAS9C,IAAMQ,GAAN,KACP,CAIW,YAAYC,EAA6B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,EANaC,EAAAF,GAAA,eAOZA,GAAwBG,GAAa,GAE/B,IAAMC,GAAN,cAAoCC,CAC3C,CAMW,YAAYJ,EAAuC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjH,EARaC,EAAAE,GAAA,yBASZA,GAAkCD,GAAa,GAEzC,IAAMG,GAAN,KACP,CAOW,YAAYL,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,EATaC,EAAAI,GAAA,oBAUZA,GAA6BH,GAAa,GAEpC,IAAMI,GAAN,KACP,CASW,YAAYN,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EAXaC,EAAAK,GAAA,uBAYZA,GAAgCJ,GAAa,GAEvC,IAAMK,GAAN,KACP,CAMW,YAAYP,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,EARaC,EAAAM,GAAA,oBASZA,GAA6BL,GAAa,GAEpC,IAAMM,GAAN,KACP,CAGW,YAAYR,EAA4B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,EALaC,EAAAO,GAAA,cAMZA,GAAuBN,GAAa,GAE9B,IAAMO,GAAN,KACP,CAKW,YAAYT,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,EAPaC,EAAAQ,GAAA,8BAQZA,GAAuCP,GAAa,GAE9C,IAAMQ,GAAN,KACP,CAeW,YAAYV,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,EAjBaC,EAAAS,GAAA,2BAkBZA,GAAoCR,GAAa,GAE3C,IAAMS,GAAN,KACP,CAOW,YAAYX,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,EATaC,EAAAU,GAAA,mBAUZA,GAA4BT,GAAa,GAEnC,IAAMU,GAAN,KACP,CAOW,YAAYZ,EAA4B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,EATaC,EAAAW,GAAA,cAUZA,GAAuBV,GAAa,GAE9B,IAAMW,GAAN,KACP,CAkBW,YAAYb,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,EApBaC,EAAAY,GAAA,qBAqBZA,GAA8BX,GAAa,GAErC,IAAMY,GAAN,KACP,CAIW,YAAYd,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,EANaC,EAAAa,GAAA,wBAOZA,GAAiCZ,GAAa,GAExC,IAAMa,GAAN,KACP,CAKW,YAAYf,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,EAPaC,EAAAc,GAAA,wBAQZA,GAAiCb,GAAa,GAExC,IAAMc,GAAN,cAAuCC,CAC9C,CAIW,YAAYjB,EAA0C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpH,EANaC,EAAAe,GAAA,4BAOZA,GAAqCd,GAAa,GAE5C,IAAMgB,GAAN,KACP,CAQW,YAAYlB,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,EAVaC,EAAAiB,GAAA,wBAWZA,GAAiChB,GAAa,GAExC,IAAMiB,GAAN,KACP,CAUW,YAAYnB,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,EAZaC,EAAAkB,GAAA,6BAaZA,GAAsCjB,GAAa,GAW7C,IAAMkB,GAAN,KACP,CASW,YAAYC,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,EAXaC,EAAAF,GAAA,mBAYZA,GAA4BG,GAAa,GAgBnC,IAAMC,GAAN,KACP,CAwBW,YAAYC,EAA6B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,EA1BaC,EAAAF,GAAA,eA2BZA,GAAwBG,GAAa,GAE/B,IAAMC,GAAN,KACP,CAuBW,YAAYH,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,EAzBaC,EAAAE,GAAA,kBA0BZA,GAA2BD,GAAa,GAElC,IAAME,GAAN,KACP,CAIW,YAAYJ,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,EANaC,EAAAG,GAAA,4BAOZA,GAAqCF,GAAa,GAE5C,IAAMG,GAAN,KACP,CAIW,YAAYL,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3G,EANaC,EAAAI,GAAA,gCAOZA,GAAyCH,GAAa,GAEhD,IAAMI,GAAN,KACP,CAMW,YAAYN,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,EARaC,EAAAK,GAAA,mBASZA,GAA4BJ,GAAa,GAEnC,IAAMK,GAAN,KACP,CAGW,YAAYP,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,EALaC,EAAAM,GAAA,6BAMZA,GAAsCL,GAAa,GAE7C,IAAMM,GAAN,KACP,CAOW,YAAYR,EAAqD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClH,EATaC,EAAAO,GAAA,uCAUZA,GAAgDN,GAAa,GAEvD,IAAMO,GAAN,KACP,CAQW,YAAYT,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5G,EAVaC,EAAAQ,GAAA,iCAWZA,GAA0CP,GAAa,GAEjD,IAAMQ,GAAN,cAAgDC,EACvD,CAEW,YAAYX,EAAmD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7H,EAJaC,EAAAS,GAAA,qCAKZA,GAA8CR,GAAa,GAErD,IAAMU,GAAN,KACP,CAaW,YAAYZ,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,EAfaC,EAAAW,GAAA,mBAgBZA,GAA4BV,GAAa,GAEnC,IAAMW,GAAN,KACP,CAWW,YAAYb,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,EAbaC,EAAAY,GAAA,2BAcZA,GAAoCX,GAAa,GAE3C,IAAMY,GAAN,KACP,CAiBW,YAAYd,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,EAnBaC,EAAAa,GAAA,iBAoBZA,GAA0BZ,GAAa,GAEjC,IAAMa,GAAN,KACP,CAIW,YAAYf,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,EANaC,EAAAc,GAAA,qBAOZA,GAA8Bb,GAAa,GAErC,IAAMc,GAAN,KACP,CAIW,YAAYhB,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1G,EANaC,EAAAe,GAAA,+BAOZA,GAAwCd,GAAa,GAE/C,IAAMe,GAAN,KACP,CAIW,YAAYjB,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,EANaC,EAAAgB,GAAA,6BAOZA,GAAsCf,GAAa,GAE7C,IAAMgB,GAAN,KACP,CAqBW,YAAYlB,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,EAvBaC,EAAAiB,GAAA,oBAwBZA,GAA6BhB,GAAa,GAEpC,IAAMiB,GAAN,KACP,CAiBW,YAAYnB,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,EAnBaC,EAAAkB,GAAA,iBAoBZA,GAA0BjB,GAAa,GAEjC,IAAMkB,GAAN,KACP,CAeW,YAAYpB,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EAjBaC,EAAAmB,GAAA,uBAkBZA,GAAgClB,GAAa,GAEvC,IAAMmB,GAAN,KACP,CAkCW,YAAYrB,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,EApCaC,EAAAoB,GAAA,qBAqCZA,GAA8BnB,GAAa,GAErC,IAAMoB,GAAN,KACP,CASW,YAAYtB,EAA6B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,EAXaC,EAAAqB,GAAA,eAYZA,GAAwBpB,GAAa,GAE/B,IAAMqB,GAAN,KACP,CAQW,YAAYvB,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,EAVaC,EAAAsB,GAAA,kBAWZA,GAA2BrB,GAAa,GAElC,IAAMsB,GAAN,KACP,CAKW,YAAYxB,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,EAPaC,EAAAuB,GAAA,oBAQZA,GAA6BtB,GAAa,GAEpC,IAAMuB,GAAN,KACP,CAgBW,YAAYzB,EAA8B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,EAlBaC,EAAAwB,GAAA,gBAmBZA,GAAyBvB,GAAa,GAEhC,IAAMwB,GAAN,KACP,CAOW,YAAY1B,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,EATaC,EAAAyB,GAAA,wBAUZA,GAAiCxB,GAAa,GAGxC,IAAMyB,GAAN,KACP,CAgBW,YAAY3B,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnF,aAAc,CAAE,MAAO,iBAAmB,CAC1C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI4B,EAAoC,CAC7E,EArBa3B,EAAA0B,GAAA,mBAsBZA,GAA4BzB,GAAa,GAEnC,IAAM0B,GAAN,cAA+CD,EACtD,CAMW,YAAY3B,EAAkD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5H,EARaC,EAAA2B,GAAA,oCASZA,GAA6C1B,GAAa,GAEpD,IAAM2B,GAAN,KACP,CAsBW,YAAY7B,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,EAxBaC,EAAA4B,GAAA,iBAyBZA,GAA0B3B,GAAa,GAEjC,IAAM4B,GAAN,KACP,CAIW,YAAY9B,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,EANaC,EAAA6B,GAAA,0BAQN,IAAMC,GAAN,cAAkCD,EACzC,CAEW,YAAY9B,EAAqC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/G,EAJaC,EAAA8B,GAAA,uBAKZA,GAAgC7B,GAAa,GAEvC,IAAM8B,GAAN,KACP,CA0BW,YAAYhC,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,EA5BaC,EAAA+B,GAAA,oBA6BZA,GAA6B9B,GAAa,GAEpC,IAAM+B,GAAN,KACP,CAmBW,YAAYjC,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EArBaC,EAAAgC,GAAA,yBAsBZA,GAAkC/B,GAAa,GAEzC,IAAMgC,GAAN,KACP,CAyBW,YAAYlC,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,EA3BaC,EAAAiC,GAAA,iBA4BZA,GAA0BhC,GAAa,GAEjC,IAAMiC,GAAN,cAAwCD,EAC/C,CAOW,YAAYlC,EAA2C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrH,EATaC,EAAAkC,GAAA,6BAUZA,GAAsCjC,GAAa,GAE7C,IAAMkC,GAAN,KACP,CAWW,YAAYpC,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,EAbaC,EAAAmC,GAAA,wBAcZA,GAAiClC,GAAa,GAExC,IAAMmC,GAAN,KACP,CAOW,YAAYrC,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,EATaC,EAAAoC,GAAA,kBAUZA,GAA2BnC,GAAa,GAElC,IAAMoC,GAAN,KACP,CASW,YAAYtC,EAA8B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,EAXaC,EAAAqC,GAAA,gBAYZA,GAAyBpC,GAAa,GAEhC,IAAMqC,GAAN,KACP,CAmBW,YAAYvC,EAA8B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,EArBaC,EAAAsC,GAAA,gBAsBZA,GAAyBrC,GAAa,GAEhC,IAAMsC,GAAN,cAA2CC,CAClD,CAKW,YAAYzC,EAA8C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxH,EAPaC,EAAAuC,GAAA,gCAQZA,GAAyCtC,GAAa,GAEhD,IAAMwC,GAAN,KACP,CASW,YAAY1C,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1G,EAXaC,EAAAyC,GAAA,+BAYZA,GAAwCxC,GAAa,GAE/C,IAAMyC,GAAN,KACP,CAMW,YAAY3C,EAAyB,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,EARaC,EAAA0C,GAAA,WASZA,GAAoBzC,GAAa,GAE3B,IAAM0C,GAAN,KACP,CAQW,YAAY5C,EAAoD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjH,EAVaC,EAAA2C,GAAA,sCAWZA,GAA+C1C,GAAa,GAEtD,IAAM2C,GAAN,KACP,CAOW,YAAY7C,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,EATaC,EAAA4C,GAAA,8BAUZA,GAAuC3C,GAAa,GAE9C,IAAM4C,GAAN,KACP,CAIW,YAAY9C,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,EANaC,EAAA6C,GAAA,mBAOZA,GAA4B5C,GAAa,GAEnC,IAAM6C,GAAN,KACP,CAKW,YAAY/C,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,EAPaC,EAAA8C,GAAA,0BAQZA,GAAmC7C,GAAa,GAG1C,IAAK8C,QAERA,IAAA,OAAS,GAAT,SACAA,IAAA,eAAiB,GAAjB,iBACAA,IAAA,eAAiB,GAAjB,iBAJQA,QAAA,IAOCC,GAAN,KACP,CAgBW,YAAYjD,EAA8B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,EAlBaC,EAAAgD,GAAA,gBAmBZA,GAAyB/C,GAAa,GAEhC,IAAMgD,GAAN,KACP,CAaW,YAAYlD,EAA4B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,EAfaC,EAAAiD,GAAA,cAgBZA,GAAuBhD,GAAa,GAE9B,IAAMiD,GAAN,KACP,CAoBW,YAAYnD,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EAtBaC,EAAAkD,GAAA,yBAuBZA,GAAkCjD,GAAa,GAEzC,IAAMkD,GAAN,KACP,CAmBW,YAAYpD,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,EArBaC,EAAAmD,GAAA,wBAsBZA,GAAiClD,GAAa,GAExC,IAAMmD,GAAN,KACP,CAMW,YAAYrD,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,EARaC,EAAAoD,GAAA,2BASZA,GAAoCnD,GAAa,GAE3C,IAAMoD,GAAN,KACP,CAYW,YAAYtD,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3G,EAdaC,EAAAqD,GAAA,gCAeZA,GAAyCpD,GAAa,GAEhD,IAAMqD,GAAN,KACP,CAgCW,YAAYvD,EAA6B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,EAlCaC,EAAAsD,GAAA,eAmCZA,GAAwBrD,GAAa,GAE/B,IAAMsD,GAAN,KACP,CAsCW,YAAYxD,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,EAxCaC,EAAAuD,GAAA,oBAyCZA,GAA6BtD,GAAa,GAEpC,IAAMuD,GAAN,KACP,CAiCW,YAAYzD,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,EAnCaC,EAAAwD,GAAA,kBAoCZA,GAA2BvD,GAAa,GAElC,IAAMwD,GAAN,KACP,CA4BW,YAAY1D,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EA9BaC,EAAAyD,GAAA,yBA+BZA,GAAkCxD,GAAa,GAEzC,IAAMyD,GAAN,KACP,CAmBW,YAAY3D,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7G,EArBaC,EAAA0D,GAAA,kCAsBZA,GAA2CzD,GAAa,GAElD,IAAM0D,GAAN,KACP,CAKW,YAAY5D,EAAwD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrH,EAPaC,EAAA2D,GAAA,0CAQZA,GAAmD1D,GAAa,GAE1D,IAAM2D,GAAN,KACP,CAmCW,YAAY7D,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,EArCaC,EAAA4D,GAAA,4BAsCZA,GAAqC3D,GAAa,GAE5C,IAAM4D,GAAN,KACP,CASW,YAAY9D,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,EAXaC,EAAA6D,GAAA,2BAYZA,GAAoC5D,GAAa,GAE3C,IAAM6D,GAAN,KACP,CAKW,YAAY/D,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9G,EAPaC,EAAA8D,GAAA,mCAQZA,GAA4C7D,GAAa,GAEnD,IAAM8D,GAAN,KACP,CA0BW,YAAYhE,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,EA5BaC,EAAA+D,GAAA,2BA6BZA,GAAoC9D,GAAa,GAE3C,IAAM+D,GAAN,KACP,CAkCW,YAAYjE,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EApCaC,EAAAgE,GAAA,yBAqCZA,GAAkC/D,GAAa,GAEzC,IAAMgE,GAAN,KACP,CAKW,YAAYlE,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5G,EAPaC,EAAAiE,GAAA,iCAQZA,GAA0ChE,GAAa,GAEjD,IAAMiE,GAAN,KACP,CAuCW,YAAYnE,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,EAzCaC,EAAAkE,GAAA,2BA0CZA,GAAoCjE,GAAa,GAE3C,IAAMkE,GAAN,KACP,CAIW,YAAYpE,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9G,EANaC,EAAAmE,GAAA,mCAOZA,GAA4ClE,GAAa,GAEnD,IAAMmE,GAAN,KACP,CAqCW,YAAYrE,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,EAvCaC,EAAAoE,GAAA,wBAwCZA,GAAiCnE,GAAa,GAExC,IAAMoE,GAAN,KACP,CAqCW,YAAYtE,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,EAvCaC,EAAAqE,GAAA,wBAwCZA,GAAiCpE,GAAa,GAExC,IAAMqE,GAAN,KACP,CAIW,YAAYvE,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,EANaC,EAAAsE,GAAA,0BAOZA,GAAmCrE,GAAa,GAE1C,IAAMsE,GAAN,KACP,CAuBW,YAAYxE,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,EAzBaC,EAAAuE,GAAA,wBA0BZA,GAAiCtE,GAAa,GAExC,IAAMuE,GAAN,KACP,CA6BW,YAAYzE,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,EA/BaC,EAAAwE,GAAA,wBAgCZA,GAAiCvE,GAAa,GAExC,IAAMwE,GAAN,KACP,CAIW,YAAY1E,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,EANaC,EAAAyE,GAAA,0BAOZA,GAAmCxE,GAAa,GAE1C,IAAMyE,GAAN,KACP,CAIW,YAAY3E,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,EANaC,EAAA0E,GAAA,0BAOZA,GAAmCzE,GAAa,GAE1C,IAAM0E,GAAN,KACP,CAOW,YAAY5E,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5G,EATaC,EAAA2E,GAAA,iCAUZA,GAA0C1E,GAAa,GAEjD,IAAM2E,GAAN,KACP,CAgBW,YAAY7E,EAAsD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnH,EAlBaC,EAAA4E,GAAA,wCAmBZA,GAAiD3E,GAAa,GAExD,IAAM4E,GAAN,KACP,CAeW,YAAY9E,EAA6B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,EAjBaC,EAAA6E,GAAA,eAkBZA,GAAwB5E,GAAa,GAE/B,IAAM6E,GAAN,KACP,CAIW,YAAY/E,EAAmD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChH,EANaC,EAAA8E,GAAA,qCAOZA,GAA8C7E,GAAa,GAErD,IAAM8E,GAAN,KACP,CASW,YAAYhF,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EAXaC,EAAA+E,GAAA,yBAYZA,GAAkC9E,GAAa,GAEzC,IAAM+E,GAAN,KACP,CAuBW,YAAYjF,EAA0B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,EAzBaC,EAAAgF,GAAA,YA0BZA,GAAqB/E,GAAa,GAE5B,IAAMgF,GAAN,KACP,CAIW,YAAYlF,EAAyD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtH,EANaC,EAAAiF,GAAA,2CAOZA,GAAoDhF,GAAa,GAE3D,IAAMiF,GAAN,KACP,CAMW,YAAYnF,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EARaC,EAAAkF,GAAA,yBASZA,GAAkCjF,GAAa,GAEzC,IAAMkF,GAAN,KACP,CAOW,YAAYpF,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,EATaC,EAAAmF,GAAA,wBAUZA,GAAiClF,GAAa,GAExC,IAAMmF,GAAN,KACP,CAIW,YAAYrF,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EANaC,EAAAoF,GAAA,uBAOZA,GAAgCnF,GAAa,GAEvC,IAAMoF,GAAN,KACP,CAYW,YAAYtF,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,EAdaC,EAAAqF,GAAA,4BAeZA,GAAqCpF,GAAa,GAE5C,IAAMqF,GAAN,KACP,CAMW,YAAYvF,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5G,EARaC,EAAAsF,GAAA,iCASZA,GAA0CrF,GAAa,GAEjD,IAAMsF,GAAN,KACP,CAQW,YAAYxF,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9G,EAVaC,EAAAuF,GAAA,mCAWZA,GAA4CtF,GAAa,GAEnD,IAAMuF,GAAN,KACP,CAGW,YAAYzF,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EALaC,EAAAwF,GAAA,yBAMZA,GAAkCvF,GAAa,GAEzC,IAAMwF,GAAN,KACP,CAEW,YAAY1F,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,EAJaC,EAAAyF,GAAA,8BAKZA,GAAuCxF,GAAa,GAE9C,IAAMyF,GAAN,KACP,CAuDW,YAAY3F,EAAyB,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,EAzDaC,EAAA0F,GAAA,WA0DZA,GAAoBzF,GAAa,GAE3B,IAAM0F,GAAN,KACP,CAKW,YAAY5F,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,EAPaC,EAAA2F,GAAA,sBAQZA,GAA+B1F,GAAa,GAEtC,IAAM2F,GAAN,KACP,CAKW,YAAY7F,EAAwD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrH,EAPaC,EAAA4F,GAAA,0CAQZA,GAAmD3F,GAAa,GAE1D,IAAM4F,GAAN,KACP,CAkBW,YAAY9F,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EApBaC,EAAA6F,GAAA,uBAqBZA,GAAgC5F,GAAa,GAEvC,IAAM6F,GAAN,KACP,CAIW,YAAY/F,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9G,EANaC,EAAA8F,GAAA,mCAOZA,GAA4C7F,GAAa,GAEnD,IAAM8F,GAAN,KACP,CAKW,YAAYhG,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EAPaC,EAAA+F,GAAA,uBAQZA,GAAgC9F,GAAa,GAEvC,IAAM+F,GAAN,KACP,CAIW,YAAYjG,EAAwD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrH,EANaC,EAAAgG,GAAA,0CAOZA,GAAmD/F,GAAa,GAE1D,IAAMgG,GAAN,KACP,CAIW,YAAYlG,EAAkD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/G,EANaC,EAAAiG,GAAA,oCAOZA,GAA6ChG,GAAa,GAEpD,IAAMiG,GAAN,KACP,CAKW,YAAYnG,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EAPaC,EAAAkG,GAAA,uBAQZA,GAAgCjG,GAAa,GAEvC,IAAMkG,GAAN,KACP,CAGW,YAAYpG,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EALaC,EAAAmG,GAAA,uBAMZA,GAAgClG,GAAa,GAEvC,IAAMmG,GAAN,KACP,CAIW,YAAYrG,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,EANaC,EAAAoG,GAAA,8BAOZA,GAAuCnG,GAAa,GAE9C,IAAMoG,GAAN,KACP,CAMW,YAAYtG,EAAsB,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnF,EARaC,EAAAqG,GAAA,QASZA,GAAiBpG,GAAa,GAExB,IAAMqG,GAAN,KACP,CASW,YAAYvG,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,EAXaC,EAAAsG,GAAA,iBAYZA,GAA0BrG,GAAa,GAEjC,IAAMsG,GAAN,KACP,CAYW,YAAYxG,EAAwB,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,EAdaC,EAAAuG,GAAA,UAeZA,GAAmBtG,GAAa,GAE1B,IAAMuG,GAAN,KACP,CAyBW,YAAYzG,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,EA3BaC,EAAAwG,GAAA,sBA4BZA,GAA+BvG,GAAa,GAEtC,IAAMwG,GAAN,KACP,CAcW,YAAY1G,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EAhBaC,EAAAyG,GAAA,yBAiBZA,GAAkCxG,GAAa,GAEzC,IAAMyG,GAAN,KACP,CAmBW,YAAY3G,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,EArBaC,EAAA0G,GAAA,iBAsBZA,GAA0BzG,GAAa,GAEjC,IAAM0G,GAAN,KACP,CAGW,YAAY5G,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,EALaC,EAAA2G,GAAA,mBAMZA,GAA4B1G,GAAa,GAEnC,IAAM2G,GAAN,KACP,CAcW,YAAY7G,EAA8B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,EAhBaC,EAAA4G,GAAA,gBAiBZA,GAAyB3G,GAAa,GAEhC,IAAM4G,GAAN,KACP,CAIW,YAAY9G,EAAuB,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,EANaC,EAAA6G,GAAA,SAOZA,GAAkB5G,GAAa,GAEzB,IAAM6G,GAAN,KACP,CAIW,YAAY/G,EAA2B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,EANaC,EAAA8G,GAAA,aAOZA,GAAsB7G,GAAa,GAE7B,IAAM8G,GAAN,KACP,CAIW,YAAYhH,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,EANaC,EAAA+G,GAAA,mBAOZA,GAA4B9G,GAAa,GAEnC,IAAM+G,GAAN,KACP,CAGW,YAAYjH,EAA8B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,EALaC,EAAAgH,GAAA,gBAMZA,GAAyB/G,GAAa,GAEhC,IAAMgH,GAAN,KACP,CAKW,YAAYlH,EAA4B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,EAPaC,EAAAiH,GAAA,cAQZA,GAAuBhH,GAAa,GAE9B,IAAMiH,GAAN,KACP,CAaW,YAAYnH,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,EAfaC,EAAAkH,GAAA,qBAgBZA,GAA8BjH,GAAa,GAErC,IAAMkH,GAAN,KACP,CAuBW,YAAYpH,EAA0B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,EAzBaC,EAAAmH,GAAA,YA0BZA,GAAqBlH,GAAa,GAE5B,IAAMmH,GAAN,cAAoCC,CAC3C,CAEW,YAAYtH,EAAuC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjH,EAJaC,EAAAoH,GAAA,yBAKZA,GAAkCnH,GAAa,GAEzC,IAAMqH,GAAN,KACP,CAIW,YAAYvH,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,EANaC,EAAAsH,GAAA,6BAOZA,GAAsCrH,GAAa,GAE7C,IAAMsH,GAAN,KACP,CAIW,YAAYxH,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7G,EANaC,EAAAuH,GAAA,kCAOZA,GAA2CtH,GAAa,GAElD,IAAMuH,GAAN,KACP,CAiBW,YAAYzH,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1G,EAnBaC,EAAAwH,GAAA,+BAoBZA,GAAwCvH,GAAa,GAE/C,IAAMwH,GAAN,KACP,CAOW,YAAY1H,EAAwB,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,EATaC,EAAAyH,GAAA,UAUZA,GAAmBxH,GAAa,GAE1B,IAAMyH,GAAN,KACP,CAKW,YAAY3H,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,EAPaC,EAAA0H,GAAA,kBAQZA,GAA2BzH,GAAa,GAElC,IAAM0H,GAAN,KACP,CAEW,YAAY5H,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,EAJaC,EAAA2H,GAAA,wBAKZA,GAAiC1H,GAAa,GAExC,IAAM2H,GAAN,KACP,CASW,YAAY7H,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,EAXaC,EAAA4H,GAAA,wBAYZA,GAAiC3H,GAAa,GAExC,IAAM4H,GAAN,KACP,CAIW,YAAY9H,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,EANaC,EAAA6H,GAAA,6BAOZA,GAAsC5H,GAAa,GAE7C,IAAM6H,GAAN,KACP,CAQW,YAAY/H,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,EAVaC,EAAA8H,GAAA,oBAWZA,GAA6B7H,GAAa,GAEpC,IAAM8H,GAAN,KACP,CAIW,YAAYhI,EAAmD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChH,EANaC,EAAA+H,GAAA,qCAOZA,GAA8C9H,GAAa,GAErD,IAAM+H,GAAN,KACP,CAKW,YAAYjI,EAAkD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/G,EAPaC,EAAAgI,GAAA,oCAQZA,GAA6C/H,GAAa,GAEpD,IAAMgI,GAAN,KACP,CAGW,YAAYlI,EAA4D,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzH,EALaC,EAAAiI,GAAA,8CAMZA,GAAuDhI,GAAa,GAE9D,IAAMiI,GAAN,KACP,CAIW,YAAYnI,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,EANaC,EAAAkI,GAAA,qBAOZA,GAA8BjI,GAAa,GAErC,IAAMkI,GAAN,KACP,CAMW,YAAYpI,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,EARaC,EAAAmI,GAAA,iBASZA,GAA0BlI,GAAa,GAEjC,IAAMmI,GAAN,KACP,CAKW,YAAYrI,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,EAPaC,EAAAoI,GAAA,oBAQZA,GAA6BnI,GAAa,GAEpC,IAAMoI,GAAN,KACP,CAYW,YAAYtI,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,EAdaC,EAAAqI,GAAA,wBAeZA,GAAiCpI,GAAa,GAExC,IAAMqI,GAAN,KACP,CAUW,YAAYvI,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,EAZaC,EAAAsI,GAAA,sBAaZA,GAA+BrI,GAAa,GAEtC,IAAMsI,GAAN,KACP,CAOW,YAAYxI,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,EATaC,EAAAuI,GAAA,6BAUZA,GAAsCtI,GAAa,GAE7C,IAAMuI,GAAN,KACP,CAYW,YAAYzI,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,EAdaC,EAAAwI,GAAA,4BAeZA,GAAqCvI,GAAa,GAE5C,IAAMwI,GAAN,KACP,CAqBW,YAAY1I,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EAvBaC,EAAAyI,GAAA,yBAwBZA,GAAkCxI,GAAa,GAEzC,IAAMyI,GAAN,KACP,CAqBW,YAAY3I,EAAuB,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,EAvBaC,EAAA0I,GAAA,SAwBZA,GAAkBzI,GAAa,GAEzB,IAAM0I,GAAN,KACP,CAKW,YAAY5I,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,EAPaC,EAAA2I,GAAA,kBAQZA,GAA2B1I,GAAa,GAElC,IAAM2I,GAAN,KACP,CAUW,YAAY7I,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,EAZaC,EAAA4I,GAAA,wBAaZA,GAAiC3I,GAAa,GAExC,IAAM4I,GAAN,KACP,CAUW,YAAY9I,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,EAZaC,EAAA6I,GAAA,8BAaZA,GAAuC5I,GAAa,GAc9C,IAAM6I,GAAN,KACP,CAKW,YAAY/I,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,EAPaC,EAAA8I,GAAA,6BAQZA,GAAsC7I,GAAa,GAE7C,IAAM8I,GAAN,KACP,CAQW,YAAYhJ,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,EAVaC,EAAA+I,GAAA,oBAWZA,GAA6B9I,GAAa,GAEpC,IAAM+I,GAAN,KACP,CASW,YAAYjJ,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,EAXaC,EAAAgJ,GAAA,wBAYZA,GAAiC/I,GAAa,GAOxC,IAAMgJ,GAAN,KACP,CAOW,YAAYlJ,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,EATaC,EAAAiJ,GAAA,sBAUZA,GAA+BhJ,GAAa,GAEtC,IAAMiJ,GAAN,KACP,CAaW,YAAYnJ,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,EAfaC,EAAAkJ,GAAA,iBAgBZA,GAA0BjJ,GAAa,GAEjC,IAAMkJ,GAAN,KACP,CAIW,YAAYpJ,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EANaC,EAAAmJ,GAAA,uBAOZA,GAAgClJ,GAAa,GAEvC,IAAMmJ,GAAN,KACP,CAQW,YAAYrJ,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,EAVaC,EAAAoJ,GAAA,qBAWZA,GAA8BnJ,GAAa,GAErC,IAAMoJ,GAAN,KACP,CAWW,YAAYtJ,EAA8B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,EAbaC,EAAAqJ,GAAA,gBAcZA,GAAyBpJ,GAAa,GAEhC,IAAMqJ,GAAN,KACP,CAIW,YAAYvJ,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,EANaC,EAAAsJ,GAAA,sBAOZA,GAA+BrJ,GAAa,GAEtC,IAAMsJ,GAAN,KACP,CAEW,YAAYxJ,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EAJaC,EAAAuJ,GAAA,yBAKZA,GAAkCtJ,GAAa,GAEzC,IAAMuJ,GAAN,KACP,CAEW,YAAYzJ,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,EAJaC,EAAAwJ,GAAA,2BAKZA,GAAoCvJ,GAAa,GAE3C,IAAMwJ,GAAN,KACP,CAEW,YAAY1J,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,EAJaC,EAAAyJ,GAAA,6BAKZA,GAAsCxJ,GAAa,GAE7C,IAAMyJ,GAAN,KACP,CAEW,YAAY3J,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,EAJaC,EAAA0J,GAAA,0BAKZA,GAAmCzJ,GAAa,GAE1C,IAAM0J,GAAN,KACP,CAEW,YAAY5J,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EAJaC,EAAA2J,GAAA,yBAKZA,GAAkC1J,GAAa,GAEzC,IAAM2J,GAAN,KACP,CAEW,YAAY7J,EAAyD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtH,EAJaC,EAAA4J,GAAA,2CAKZA,GAAoD3J,GAAa,GAE3D,IAAM4J,GAAN,KACP,CAkBW,YAAY9J,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,EApBaC,EAAA6J,GAAA,iBAqBZA,GAA0B5J,GAAa,GAEjC,IAAM6J,GAAN,KACP,CAOW,YAAY/J,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,EATaC,EAAA8J,GAAA,mBAUZA,GAA4B7J,GAAa,GAEnC,IAAM8J,GAAN,KACP,CAOW,YAAYhK,EAA4B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,EATaC,EAAA+J,GAAA,cAUZA,GAAuB9J,GAAa,GAE9B,IAAM+J,GAAN,KACP,CAIW,YAAYjK,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5G,EANaC,EAAAgK,GAAA,iCAOZA,GAA0C/J,GAAa,GASjD,IAAMgK,GAAN,KACP,CAIW,YAAYC,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,EANaC,EAAAF,GAAA,qBAQN,IAAMG,GAAN,cAA0CH,EACjD,CAIW,YAAYC,EAA6C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvH,EANaC,EAAAC,GAAA,+BAOZA,GAAwCC,GAAa,GAE/C,IAAMC,GAAN,KACP,CAKW,YAAYJ,EAA2B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,EAPaC,EAAAG,GAAA,aAQZA,GAAsBD,GAAa,GAE7B,IAAME,GAAN,cAA6CH,EACpD,CAQW,YAAYF,EAAgD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1H,EAVaC,EAAAI,GAAA,kCAWZA,GAA2CF,GAAa,GASlD,IAAMG,GAAN,KACP,CAGW,YAAYC,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,EALaC,EAAAF,GAAA,0BAMZA,GAAmCG,GAAa,GAE1C,IAAMC,GAAN,KACP,CAKW,YAAYH,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,EAPaC,EAAAE,GAAA,iBAQZA,GAA0BD,GAAa,GAEjC,IAAME,GAAN,KACP,CAOW,YAAYJ,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,EATaC,EAAAG,GAAA,kBAUZA,GAA2BF,GAAa,GAElC,IAAMG,GAAN,KACP,CAMW,YAAYL,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,EARaC,EAAAI,GAAA,sBASZA,GAA+BH,GAAa,GAEtC,IAAMI,GAAN,cAA0CD,EACjD,CAGW,YAAYL,EAA6C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvH,EALaC,EAAAK,GAAA,+BAMZA,GAAwCJ,GAAa,GAE/C,IAAMK,GAAN,KACP,CAKW,YAAYP,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9G,EAPaC,EAAAM,GAAA,mCAQZA,GAA4CL,GAAa,GAEnD,IAAMM,GAAN,KACP,CAOW,YAAYR,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,EATaC,EAAAO,GAAA,oBAUZA,GAA6BN,GAAa,GAUpC,IAAMO,GAAN,KACP,CASW,YAAYC,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EAXaC,EAAAF,GAAA,uBAYZA,GAAgCG,GAAa,GAEvC,IAAMC,GAAN,KACP,CAQW,YAAYH,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EAVaC,EAAAE,GAAA,yBAWZA,GAAkCD,GAAa,GASzC,IAAME,GAAN,KACP,CAyDW,YAAYC,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,EA3DaC,EAAAF,GAAA,8BA4DZA,GAAuCG,GAAa,GAE9C,IAAMC,GAAN,KACP,CAGW,YAAYH,EAAoD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjH,EALaC,EAAAE,GAAA,sCAMZA,GAA+CD,GAAa,GAEtD,IAAME,GAAN,KACP,CAgCW,YAAYJ,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,EAlCaC,EAAAG,GAAA,mBAmCZA,GAA4BF,GAAa,GAEnC,IAAMG,GAAN,KACP,CASW,YAAYL,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7G,EAXaC,EAAAI,GAAA,kCAYZA,GAA2CH,GAAa,GAElD,IAAMI,GAAN,KACP,CAIW,YAAYN,EAAoD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjH,EANaC,EAAAK,GAAA,sCAOZA,GAA+CJ,GAAa,GAEtD,IAAMK,GAAN,KACP,CAMW,YAAYP,EAAkD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/G,EARaC,EAAAM,GAAA,oCASZA,GAA6CL,GAAa,GAEpD,IAAMM,GAAN,KACP,CAMW,YAAYR,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,EARaC,EAAAO,GAAA,0BASZA,GAAmCN,GAAa,GAE1C,IAAMO,GAAN,KACP,CAIW,YAAYT,EAAqD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClH,EANaC,EAAAQ,GAAA,uCAOZA,GAAgDP,GAAa,GAEvD,IAAMQ,GAAN,KACP,CAGW,YAAYV,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,EALaC,EAAAS,GAAA,wBAMZA,GAAiCR,GAAa,GAExC,IAAMS,GAAN,cAAyDD,EAChE,CAEW,YAAYV,EAA4D,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtI,EAJaC,EAAAU,GAAA,8CAKZA,GAAuDT,GAAa,GAS9D,IAAMU,GAAN,KACP,CAKW,YAAYC,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,EAPaC,EAAAF,GAAA,8BAQZA,GAAuCG,GAAa,GAE9C,IAAMC,GAAN,KACP,CAMW,YAAYH,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3G,EARaC,EAAAE,GAAA,gCASZA,GAAyCD,GAAa,GAEhD,IAAME,GAAN,KACP,CAIW,YAAYJ,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7G,EANaC,EAAAG,GAAA,kCAOZA,GAA2CF,GAAa,GASlD,IAAMG,GAAN,KACP,CAUW,YAAYC,EAAmD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChH,EAZaC,EAAAF,GAAA,qCAaZA,GAA8CG,GAAa,GAuCrD,IAAMC,GAAN,cAA8CC,EACrD,CAOW,YAAYC,EAAiD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3H,EATaC,EAAAH,GAAA,mCAUZA,GAA4CI,GAAa,GAEnD,IAAMC,GAAN,cAA6CC,CACpD,CAQW,YAAYJ,EAAgD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1H,EAVaC,EAAAE,GAAA,kCAWZA,GAA2CD,GAAa,GAElD,IAAMG,GAAN,cAAkDC,CACzD,CAQW,YAAYN,EAAqD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/H,EAVaC,EAAAI,GAAA,uCAWZA,GAAgDH,GAAa,GAEvD,IAAMK,GAAN,KACP,CAQW,YAAYP,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,EAVaC,EAAAM,GAAA,kBAWZA,GAA2BL,GAAa,GAElC,IAAMM,GAAN,cAAuCD,EAC9C,CAoBW,YAAYP,EAA0C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpH,EAtBaC,EAAAO,GAAA,4BAuBZA,GAAqCN,GAAa,GAE5C,IAAMO,GAAN,cAAqDD,EAC5D,CAMW,YAAYR,EAAwD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClI,EARaC,EAAAQ,GAAA,0CASZA,GAAmDP,GAAa,GAE1D,IAAMQ,GAAN,KACP,CAqBW,YAAYV,EAAqD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClH,EAvBaC,EAAAS,GAAA,uCAwBZA,GAAgDR,GAAa,GAEvD,IAAMS,GAAN,KACP,CAmBW,YAAYX,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,EArBaC,EAAAU,GAAA,4BAsBZA,GAAqCT,GAAa,GAE5C,IAAMU,GAAN,cAAqDD,EAC5D,CAEW,YAAYX,EAAwD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClI,EAJaC,EAAAW,GAAA,0CAKZA,GAAmDV,GAAa,GAE1D,IAAMW,GAAN,KACP,CAKW,YAAYb,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,EAPaC,EAAAY,GAAA,sBAQZA,GAA+BX,GAAa,GAEtC,IAAMY,GAAN,KACP,CA8BW,YAAYd,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,EAhCaC,EAAAa,GAAA,wBAiCZA,GAAiCZ,GAAa,GAExC,IAAMa,GAAN,KACP,CAYW,YAAYf,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1G,EAdaC,EAAAc,GAAA,+BAeZA,GAAwCb,GAAa,GAE/C,IAAMc,GAAN,KACP,CAIW,YAAYhB,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EANaC,EAAAe,GAAA,uBAOZA,GAAgCd,GAAa,GAEvC,IAAMe,GAAN,KACP,CAGW,YAAYjB,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7G,EALaC,EAAAgB,GAAA,kCAMZA,GAA2Cf,GAAa,GAElD,IAAMgB,GAAN,KACP,CAIW,YAAYlB,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,EANaC,EAAAiB,GAAA,4BAOZA,GAAqChB,GAAa,GAE5C,IAAMiB,GAAN,cAAsCC,EAC7C,CAGW,YAAYpB,EAAyC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnH,EALaC,EAAAkB,GAAA,2BAMZA,GAAoCjB,GAAa,GAE3C,IAAMmB,GAAN,KACP,CAGW,YAAYrB,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,EALaC,EAAAoB,GAAA,6BAMZA,GAAsCnB,GAAa,GAE7C,IAAMoB,GAAN,KACP,CAOW,YAAYtB,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,EATaC,EAAAqB,GAAA,qBAUZA,GAA8BpB,GAAa,GAErC,IAAMqB,GAAN,KACP,CAoEW,YAAYvB,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EAtEaC,EAAAsB,GAAA,uBAuEZA,GAAgCrB,GAAa,GAEvC,IAAMsB,GAAN,cAA8BD,EACrC,CAMW,YAAYvB,EAAiC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3G,EARaC,EAAAuB,GAAA,mBASZA,GAA4BtB,GAAa,GAEnC,IAAMuB,GAAN,KACP,CAiCW,YAAYzB,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7G,EAnCaC,EAAAwB,GAAA,kCAoCZA,GAA2CvB,GAAa,GAElD,IAAMwB,GAAN,KACP,CAkCW,YAAY1B,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,EApCaC,EAAAyB,GAAA,2BAqCZA,GAAoCxB,GAAa,GAE3C,IAAMyB,GAAN,cAAqCC,CAC5C,CAkBW,YAAY5B,EAAwC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClH,EApBaC,EAAA0B,GAAA,0BAqBZA,GAAmCzB,GAAa,GAE1C,IAAM2B,GAAN,KACP,CAgCW,YAAY7B,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,EAlCaC,EAAA4B,GAAA,4BAmCZA,GAAqC3B,GAAa,GAE5C,IAAM4B,GAAN,KACP,CAoBW,YAAY9B,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,EAtBaC,EAAA6B,GAAA,0BAuBZA,GAAmC5B,GAAa,GAE1C,IAAM6B,GAAN,KACP,CAoBW,YAAY/B,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,EAtBaC,EAAA8B,GAAA,kBAuBZA,GAA2B7B,GAAa,GAElC,IAAM8B,GAAN,KACP,CAGW,YAAYhC,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EALaC,EAAA+B,GAAA,uBAMZA,GAAgC9B,GAAa,GAEvC,IAAM+B,GAAN,KACP,CAwBW,YAAYjC,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,EA1BaC,EAAAgC,GAAA,qBA2BZA,GAA8B/B,GAAa,GAErC,IAAMgC,GAAN,KACP,CAgBW,YAAYlC,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,EAlBaC,EAAAiC,GAAA,6BAmBZA,GAAsChC,GAAa,GAE7C,IAAMiC,GAAN,KACP,CAMW,YAAYnC,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,EARaC,EAAAkC,GAAA,4BASZA,GAAqCjC,GAAa,GAE5C,IAAMkC,GAAN,KACP,CAUW,YAAYpC,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,EAZaC,EAAAmC,GAAA,mBAaZA,GAA4BlC,GAAa,GAEnC,IAAMmC,GAAN,KACP,CAmBW,YAAYrC,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,EArBaC,EAAAoC,GAAA,sBAsBZA,GAA+BnC,GAAa,GAEtC,IAAMoC,GAAN,KACP,CAqBW,YAAYtC,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,EAvBaC,EAAAqC,GAAA,6BAwBZA,GAAsCpC,GAAa,GAE7C,IAAMqC,GAAN,KACP,CAWW,YAAYvC,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,EAbaC,EAAAsC,GAAA,6BAcZA,GAAsCrC,GAAa,GAE7C,IAAMsC,GAAN,KACP,CAKW,YAAYxC,EAAmD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChH,EAPaC,EAAAuC,GAAA,qCAQZA,GAA8CtC,GAAa,GAErD,IAAMuC,GAAN,KACP,CAIW,YAAYzC,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,EANaC,EAAAwC,GAAA,4BAOZA,GAAqCvC,GAAa,GAE5C,IAAMwC,GAAN,KACP,CAaW,YAAY1C,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,EAfaC,EAAAyC,GAAA,iBAgBZA,GAA0BxC,GAAa,GAEjC,IAAMyC,GAAN,KACP,CAGW,YAAY3C,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,EALaC,EAAA0C,GAAA,6BAMZA,GAAsCzC,GAAa,GAE7C,IAAM0C,GAAN,cAA4CC,CACnD,CAOW,YAAY7C,EAA+C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzH,EATaC,EAAA2C,GAAA,iCAUZA,GAA0C1C,GAAa,GAEjD,IAAM4C,GAAN,KACP,CAUW,YAAY9C,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3G,EAZaC,EAAA6C,GAAA,gCAaZA,GAAyC5C,GAAa,GAEhD,IAAM6C,GAAN,KACP,CAQW,YAAY/C,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1G,EAVaC,EAAA8C,GAAA,+BAWZA,GAAwC7C,GAAa,GAE/C,IAAM8C,GAAN,KACP,CAsBW,YAAYhD,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,EAxBaC,EAAA+C,GAAA,4BAyBZA,GAAqC9C,GAAa,GAE5C,IAAM+C,GAAN,cAA2CD,EAClD,CAQW,YAAYhD,EAA8C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxH,EAVaC,EAAAgD,GAAA,gCAWZA,GAAyC/C,GAAa,GAEhD,IAAMgD,GAAN,KACP,CAIW,YAAYlD,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,EANaC,EAAAiD,GAAA,4BAOZA,GAAqChD,GAAa,GAE5C,IAAMiD,GAAN,KACP,CAGW,YAAYnD,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,EALaC,EAAAkD,GAAA,sBAMZA,GAA+BjD,GAAa,GAEtC,IAAMkD,GAAN,KACP,CAaW,YAAYpD,EAA4B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,EAfaC,EAAAmD,GAAA,cAgBZA,GAAuBlD,GAAa,GAE9B,IAAMmD,GAAN,KACP,CA+CW,YAAYrD,EAAsB,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnF,EAjDaC,EAAAoD,GAAA,QAkDZA,GAAiBnD,GAAa,GAExB,IAAMoD,GAAN,KACP,CAMW,YAAYtD,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,EARaC,EAAAqD,GAAA,4BASZA,GAAqCpD,GAAa,GAE5C,IAAMqD,GAAN,KACP,CAkBW,YAAYvD,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,EApBaC,EAAAsD,GAAA,oBAqBZA,GAA6BrD,GAAa,GAEpC,IAAMsD,GAAN,KACP,CAMW,YAAYxD,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,EARaC,EAAAuD,GAAA,8BASZA,GAAuCtD,GAAa,GAc9C,IAAMuD,GAAN,KACP,CAWW,YAAYC,EAA4B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,EAbaC,EAAAF,GAAA,cAcZA,GAAuBG,GAAa,GAE9B,IAAMC,GAAN,cAAoCC,EAC3C,CAUW,YAAYJ,EAAuC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjH,EAZaC,EAAAE,GAAA,yBAaZA,GAAkCD,GAAa,GAEzC,IAAMG,GAAN,KACP,CAIW,YAAYL,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,EANaC,EAAAI,GAAA,0BAOZA,GAAmCH,GAAa,GAE1C,IAAMI,GAAN,KACP,CAYW,YAAYN,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EAdaC,EAAAK,GAAA,yBAeZA,GAAkCJ,GAAa,GAEzC,IAAMK,GAAN,cAAoCF,EAC3C,CAUW,YAAYL,EAAuC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjH,EAZaC,EAAAM,GAAA,yBAaZA,GAAkCL,GAAa,GAEzC,IAAMM,GAAN,KACP,CAKW,YAAYR,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EAPaC,EAAAO,GAAA,uBAQZA,GAAgCN,GAAa,GAEvC,IAAMO,GAAN,KACP,CAKW,YAAYT,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,EAPaC,EAAAQ,GAAA,oBAQZA,GAA6BP,GAAa,GAEpC,IAAMQ,GAAN,KACP,CAiBW,YAAYV,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EAnBaC,EAAAS,GAAA,yBAoBZA,GAAkCR,GAAa,GAEzC,IAAMS,GAAN,KACP,CA8BW,YAAYX,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,EAhCaC,EAAAU,GAAA,kBAiCZA,GAA2BT,GAAa,GAYlC,IAAMU,GAAN,KACP,CAIW,YAAYC,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7G,EANaC,EAAAF,GAAA,kCAOZA,GAA2CG,GAAa,GAElD,IAAMC,GAAN,KACP,CAKW,YAAYH,EAAkD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/G,EAPaC,EAAAE,GAAA,oCAQZA,GAA6CD,GAAa,GAEpD,IAAME,GAAN,KACP,CAmCW,YAAYJ,EAA6D,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1H,EArCaC,EAAAG,GAAA,+CAsCZA,GAAwDF,GAAa,GAE/D,IAAMG,GAAN,KACP,CAOW,YAAYL,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,EATaC,EAAAI,GAAA,oBAUZA,GAA6BH,GAAa,GAEpC,IAAMI,GAAN,KACP,CAUW,YAAYN,EAAkD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/G,EAZaC,EAAAK,GAAA,oCAaZA,GAA6CJ,GAAa,GAapD,IAAMK,GAAN,KACP,CAWW,YAAYC,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EAbaC,EAAAF,GAAA,yBAcZA,GAAkCG,GAAa,GAEzC,IAAMC,GAAN,KACP,CA6BW,YAAYH,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,EA/BaC,EAAAE,GAAA,qBAgCZA,GAA8BD,GAAa,GAErC,IAAME,GAAN,KACP,CAcW,YAAYJ,EAA4B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,EAhBaC,EAAAG,GAAA,cAiBZA,GAAuBF,GAAa,GAE9B,IAAMG,GAAN,KACP,CAUW,YAAYL,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,EAZaC,EAAAI,GAAA,4BAaZA,GAAqCH,GAAa,GAE5C,IAAMI,GAAN,KACP,CAGW,YAAYN,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1G,EALaC,EAAAK,GAAA,+BAMZA,GAAwCJ,GAAa,GAE/C,IAAMK,GAAN,KACP,CAGW,YAAYP,EAAkD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/G,EALaC,EAAAM,GAAA,oCAMZA,GAA6CL,GAAa,GAEpD,IAAMM,GAAN,KACP,CAMW,YAAYR,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,EARaC,EAAAO,GAAA,2BASZA,GAAoCN,GAAa,GAE3C,IAAMO,GAAN,KACP,CAKW,YAAYT,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1G,EAPaC,EAAAQ,GAAA,+BAQZA,GAAwCP,GAAa,GAE/C,IAAMQ,GAAN,KACP,CAGW,YAAYV,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,EALaC,EAAAS,GAAA,sBAMZA,GAA+BR,GAAa,GAEtC,IAAMS,GAAN,KACP,CAGW,YAAYX,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,EALaC,EAAAU,GAAA,0BAMZA,GAAmCT,GAAa,GAE1C,IAAMU,GAAN,KACP,CAGW,YAAYZ,EAAwD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrH,EALaC,EAAAW,GAAA,0CAMZA,GAAmDV,GAAa,GAE1D,IAAMW,GAAN,KACP,CAGW,YAAYb,EAAqD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClH,EALaC,EAAAY,GAAA,uCAMZA,GAAgDX,GAAa,GAEvD,IAAMY,GAAN,KACP,CAGW,YAAYd,EAAmD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChH,EALaC,EAAAa,GAAA,qCAMZA,GAA8CZ,GAAa,GAErD,IAAMa,GAAN,KACP,CAIW,YAAYf,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,EANaC,EAAAc,GAAA,sBAOZA,GAA+Bb,GAAa,GAEtC,IAAMc,GAAN,KACP,CAGW,YAAYhB,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,EALaC,EAAAe,GAAA,0BAMZA,GAAmCd,GAAa,GAE1C,IAAMe,GAAN,KACP,CAGW,YAAYjB,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5G,EALaC,EAAAgB,GAAA,iCAMZA,GAA0Cf,GAAa,GAEjD,IAAMgB,GAAN,KACP,CAEW,YAAYlB,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,EAJaC,EAAAiB,GAAA,2BAKZA,GAAoChB,GAAa,GAE3C,IAAMiB,GAAN,KACP,CAOW,YAAYnB,EAA8B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,EATaC,EAAAkB,GAAA,gBAUZA,GAAyBjB,GAAa,GAEhC,IAAMkB,GAAN,KACP,CAIW,YAAYpB,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,EANaC,EAAAmB,GAAA,4BAOZA,GAAqClB,GAAa,GAE5C,IAAMmB,GAAN,KACP,CAMW,YAAYrB,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,EARaC,EAAAoB,GAAA,6BASZA,GAAsCnB,GAAa,GAE7C,IAAMoB,GAAN,KACP,CAMW,YAAYtB,EAAmD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChH,EARaC,EAAAqB,GAAA,qCASZA,GAA8CpB,GAAa,GAErD,IAAMqB,GAAN,KACP,CAEW,YAAYvB,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,EAJaC,EAAAsB,GAAA,8BAKZA,GAAuCrB,GAAa,GAE9C,IAAMsB,GAAN,KACP,CAiBW,YAAYxB,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,EAnBaC,EAAAuB,GAAA,qBAoBZA,GAA8BtB,GAAa,GAErC,IAAMuB,GAAN,KACP,CASW,YAAYzB,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,EAXaC,EAAAwB,GAAA,oBAYZA,GAA6BvB,GAAa,GAEpC,IAAMwB,GAAN,KACP,CAIW,YAAY1B,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,EANaC,EAAAyB,GAAA,4BAOZA,GAAqCxB,GAAa,GAE5C,IAAMyB,GAAN,KACP,CAGW,YAAY3B,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,EALaC,EAAA0B,GAAA,4BAMZA,GAAqCzB,GAAa,GAE5C,IAAM0B,GAAN,KACP,CA6EW,YAAY5B,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EA/EaC,EAAA2B,GAAA,uBAgFZA,GAAgC1B,GAAa,GAEvC,IAAM2B,GAAN,KACP,CAKW,YAAY7B,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EAPaC,EAAA4B,GAAA,yBAQZA,GAAkC3B,GAAa,GAEzC,IAAM4B,GAAN,KACP,CAWW,YAAY9B,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,EAbaC,EAAA6B,GAAA,8BAcZA,GAAuC5B,GAAa,GAQ9C,IAAM6B,GAAN,KACP,CAiBW,YAAYC,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EAnBaC,EAAAF,GAAA,yBAoBZA,GAAkCG,GAAa,GAEzC,IAAMC,GAAN,KACP,CAkCW,YAAYH,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EApCaC,EAAAE,GAAA,uBAqCZA,GAAgCD,GAAa,GAEvC,IAAME,GAAN,cAAkCC,CACzC,CAGW,YAAYL,EAAqC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/G,EALaC,EAAAG,GAAA,uBAMZA,GAAgCF,GAAa,GAEvC,IAAMI,GAAN,KACP,CAQW,YAAYN,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,EAVaC,EAAAK,GAAA,0BAWZA,GAAmCJ,GAAa,GAE1C,IAAMK,GAAN,KACP,CAGW,YAAYP,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,EALaC,EAAAM,GAAA,8BAMZA,GAAuCL,GAAa,GAS9C,IAAMM,GAAN,KACP,CAmCW,YAAYC,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,EArCaC,EAAAF,GAAA,qBAsCZA,GAA8BG,GAAa,GAErC,IAAMC,GAAN,KACP,CAoBW,YAAYH,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,EAtBaC,EAAAE,GAAA,iBAwBN,IAAMC,GAAN,cAAwBD,EAC/B,CAOW,YAAYH,EAA2B,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,EATaC,EAAAG,GAAA,aAUZA,GAAsBF,GAAa,GAE7B,IAAMG,GAAN,KACP,CAOW,YAAYL,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EATaC,EAAAI,GAAA,uBAUZA,GAAgCH,GAAa,GAEvC,IAAMI,GAAN,KACP,CAIW,YAAYN,EAA8B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,EANaC,EAAAK,GAAA,gBAOZA,GAAyBJ,GAAa,GAGhC,IAAMK,GAAN,KACP,CAaW,YAAYP,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5G,EAfaC,EAAAM,GAAA,iCAgBZA,GAA0CL,GAAa,GAEjD,IAAMM,GAAN,KACP,CAIW,YAAYR,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EANaC,EAAAO,GAAA,yBAOZA,GAAkCN,GAAa,GASzC,IAAMO,GAAN,KACP,CAkBW,YAAYC,EAA0B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,EApBaC,EAAAF,GAAA,YAqBZA,GAAqBG,GAAa,GAE5B,IAAMC,GAAN,cAAiCC,EACxC,CAGW,YAAYJ,EAAoC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9G,EALaC,EAAAE,GAAA,sBAMZA,GAA+BD,GAAa,GAEtC,IAAMG,GAAN,cAAsCC,CAC7C,CAEW,YAAYN,EAAyC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnH,EAJaC,EAAAI,GAAA,2BAKZA,GAAoCH,GAAa,GAE3C,IAAMK,GAAN,KACP,CAkBW,YAAYP,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,EApBaC,EAAAM,GAAA,2BAqBZA,GAAoCL,GAAa,GAE3C,IAAMM,GAAN,cAA8CD,EACrD,CAEW,YAAYP,EAAiD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3H,EAJaC,EAAAO,GAAA,mCAKZA,GAA4CN,GAAa,GAEnD,IAAMO,GAAN,KACP,CAIW,YAAYT,EAA2B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,EANaC,EAAAQ,GAAA,aAOZA,GAAsBP,GAAa,GAE7B,IAAMQ,GAAN,KACP,CAGW,YAAYV,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,EALaC,EAAAS,GAAA,qBAMZA,GAA8BR,GAAa,GAErC,IAAMS,GAAN,KACP,CAGW,YAAYX,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,EALaC,EAAAU,GAAA,4BAMZA,GAAqCT,GAAa,GAE5C,IAAMU,GAAN,KACP,CAgBW,YAAYZ,EAA2B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,EAlBaC,EAAAW,GAAA,aAmBZA,GAAsBV,GAAa,GAE7B,IAAMW,GAAN,cAAwCD,EAC/C,CAKW,YAAYZ,EAA2C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrH,EAPaC,EAAAY,GAAA,6BAQZA,GAAsCX,GAAa,GAE7C,IAAMY,GAAN,KACP,CAGW,YAAYd,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1G,EALaC,EAAAa,GAAA,+BAMZA,GAAwCZ,GAAa,GAE/C,IAAMa,GAAN,KACP,CAIW,YAAYf,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,EANaC,EAAAc,GAAA,2BAOZA,GAAoCb,GAAa,GAE3C,IAAMc,GAAN,KACP,CAUW,YAAYhB,EAA0B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,EAZaC,EAAAe,GAAA,YAaZA,GAAqBd,GAAa,GAE5B,IAAMe,GAAN,KACP,CAGW,YAAYjB,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5G,EALaC,EAAAgB,GAAA,iCAMZA,GAA0Cf,GAAa,GAEjD,IAAMgB,GAAN,KACP,CAGW,YAAYlB,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,EALaC,EAAAiB,GAAA,8BAMZA,GAAuChB,GAAa,GAE9C,IAAMiB,GAAN,KACP,CAMW,YAAYnB,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,EARaC,EAAAkB,GAAA,sBASZA,GAA+BjB,GAAa,GAEtC,IAAMkB,GAAN,KACP,CAGW,YAAYpB,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,EALaC,EAAAmB,GAAA,6BAMZA,GAAsClB,GAAa,GAE7C,IAAMmB,GAAN,KACP,CAcW,YAAYrB,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,EAhBaC,EAAAoB,GAAA,kBAiBZA,GAA2BnB,GAAa,GAkBlC,IAAMoB,GAAN,KACP,CAaW,YAAYC,EAAqD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClH,EAfaC,EAAAF,GAAA,uCAgBZA,GAAgDG,GAAa,GAEvD,IAAMC,GAAN,KACP,CAMW,YAAYH,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,EARaC,EAAAE,GAAA,qBASZA,GAA8BD,GAAa,GAErC,IAAME,GAAN,KACP,CAIW,YAAYJ,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3G,EANaC,EAAAG,GAAA,gCAOZA,GAAyCF,GAAa,GAEhD,IAAMG,GAAN,KACP,CAIW,YAAYL,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,EANaC,EAAAI,GAAA,8BAOZA,GAAuCH,GAAa,GAE9C,IAAMI,GAAN,KACP,CAOW,YAAYN,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,EATaC,EAAAK,GAAA,8BAUZA,GAAuCJ,GAAa,GAE9C,IAAMK,GAAN,KACP,CAKW,YAAYP,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EAPaC,EAAAM,GAAA,uBAQZA,GAAgCL,GAAa,GAEvC,IAAMM,GAAN,KACP,CAIW,YAAYR,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,EANaC,EAAAO,GAAA,2BAOZA,GAAoCN,GAAa,GAU3C,IAAMO,GAAN,KACP,CAQW,YAAYC,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5G,EAVaC,EAAAF,GAAA,iCAWZA,GAA0CG,GAAa,GAEjD,IAAMC,GAAN,KACP,CAaW,YAAYH,EAAkD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/G,EAfaC,EAAAE,GAAA,oCAgBZA,GAA6CD,GAAa,GAEpD,IAAME,GAAN,KACP,CAKW,YAAYJ,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,EAPaC,EAAAG,GAAA,qBAQZA,GAA8BF,GAAa,GAErC,IAAMG,GAAN,KACP,CAMW,YAAYL,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EARaC,EAAAI,GAAA,uBASZA,GAAgCH,GAAa,GAEvC,IAAMI,GAAN,KACP,CAWW,YAAYN,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,EAbaC,EAAAK,GAAA,8BAcZA,GAAuCJ,GAAa,GAE9C,IAAMK,GAAN,KACP,CAOW,YAAYP,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3G,EATaC,EAAAM,GAAA,gCAUZA,GAAyCL,GAAa,GAEhD,IAAMM,GAAN,KACP,CAMW,YAAYR,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,EARaC,EAAAO,GAAA,6BASZA,GAAsCN,GAAa,GAE7C,IAAMO,GAAN,KACP,CAYW,YAAYT,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,EAdaC,EAAAQ,GAAA,8BAeZA,GAAuCP,GAAa,GAE9C,IAAMQ,GAAN,KACP,CAKW,YAAYV,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,EAPaC,EAAAS,GAAA,sBAQZA,GAA+BR,GAAa,GAEtC,IAAMS,GAAN,KACP,CAKW,YAAYX,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,EAPaC,EAAAU,GAAA,wBAQZA,GAAiCT,GAAa,GAExC,IAAMU,GAAN,KACP,CAKW,YAAYZ,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7G,EAPaC,EAAAW,GAAA,kCAQZA,GAA2CV,GAAa,GAElD,IAAMW,GAAN,KACP,CAOW,YAAYb,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,EATaC,EAAAY,GAAA,sBAWN,IAAMC,GAAN,cAA6BD,EACpC,CAGW,YAAYb,EAAgC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1G,EALaC,EAAAa,GAAA,kBAMZA,GAA2BZ,GAAa,GAsBlC,IAAMa,GAAN,KACP,CAEW,YAAYf,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,EAJaC,EAAAc,GAAA,oBAKZA,GAA6Bb,GAAa,GAOpC,IAAMc,GAAN,KACP,CAQW,YAAYhB,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,EAVaC,EAAAe,GAAA,iBAWZA,GAA0Bd,GAAa,GASjC,IAAMe,GAAN,KACP,CASW,YAAYC,EAAsB,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnF,EAXaC,EAAAF,GAAA,QAYZA,GAAiBG,GAAa,GASxB,IAAMC,GAAN,KACP,CAEW,YAAYC,EAAuB,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,EAJaC,EAAAF,GAAA,SAKZA,GAAkBG,GAAa,GAazB,IAAKC,QAERA,EAAA,UAAY,YACZA,EAAA,aAAe,eACfA,EAAA,UAAY,YACZA,EAAA,aAAe,eACfA,EAAA,WAAa,aACbA,EAAA,kBAAoB,oBACpBA,EAAA,cAAgB,gBAChBA,EAAA,qBAAuB,uBATfA,QAAA,IAYCC,GAAN,KACP,CAIW,YAAYJ,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,EANaC,EAAAG,GAAA,iBAqBN,IAAMC,GAAN,KACP,CAkBW,YAAYC,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,EApBaC,EAAAF,GAAA,kBAqBZA,GAA2BG,GAAa,GAElC,IAAMC,GAAN,KACP,CAOW,YAAYH,EAA2B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,EATaC,EAAAE,GAAA,aAUZA,GAAsBD,GAAa,GAE7B,IAAME,GAAN,KACP,CA0BW,YAAYJ,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,EA5BaC,EAAAG,GAAA,2BA6BZA,GAAoCF,GAAa,GAE3C,IAAMG,GAAN,KACP,CAKW,YAAYL,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,EAPaC,EAAAI,GAAA,kBAQZA,GAA2BH,GAAa,GAElC,IAAMI,GAAN,KACP,CASW,YAAYN,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,EAXaC,EAAAK,GAAA,sBAYZA,GAA+BJ,GAAa,GAEtC,IAAMK,GAAN,KACP,CAUW,YAAYP,EAA2B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,EAZaC,EAAAM,GAAA,aAaZA,GAAsBL,GAAa,GAM7B,IAAMM,GAAN,KACP,CAIW,YAAYR,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,EANaC,EAAAO,GAAA,gBAQN,IAAMC,EAAN,KACP,CAoBW,YAAYT,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,EAtBaC,EAAAQ,EAAA,gBA+BN,IAAMC,EAAN,KACP,CA6BW,YAAYC,EAA4B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,EA/BaC,EAAAF,EAAA,cAgCZA,EAAuBG,GAAa,GAG9B,IAAMC,EAAN,KACP,CA2CW,YAAYH,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,EA7CaC,EAAAE,EAAA,wBA8CZA,EAAiCD,GAAa,GAGxC,IAAME,GAAN,KACP,CAaW,YAAYJ,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjF,aAAc,CAAE,MAAO,eAAiB,CACxC,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EAlBaC,EAAAG,GAAA,iBAmBZA,GAA0BF,GAAa,GAEjC,IAAMG,GAAN,KACP,CA0BW,YAAYL,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIM,CAAmB,CAC5D,EA/BaL,EAAAI,GAAA,qBAgCZA,GAA8BH,GAAa,GAErC,IAAMK,EAAN,cAA0BJ,CACjC,CAkCW,YAAYH,EAA6B,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,EApCaC,EAAAM,EAAA,eAqCZA,EAAwBL,GAAa,GAG/B,IAAMM,EAAN,KACP,CAUW,YAAYR,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,EAZaC,EAAAO,EAAA,wBAaZA,EAAiCN,GAAa,GAExC,IAAMO,GAAN,KACP,CAKW,YAAYT,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EAPaC,EAAAQ,GAAA,uBAQZA,GAAgCP,GAAa,GAEvC,IAAMQ,GAAN,KACP,CAKW,YAAYV,EAA6B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,EAPaC,EAAAS,GAAA,eAQZA,GAAwBR,GAAa,GAE/B,IAAMS,GAAN,KACP,CAIW,YAAYX,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,EANaC,EAAAU,GAAA,qBAOZA,GAA8BT,GAAa,GAErC,IAAMU,GAAN,KACP,CAKW,YAAYZ,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EAPaC,EAAAW,GAAA,yBAQZA,GAAkCV,GAAa,GAEzC,IAAMW,GAAN,KACP,CAIW,YAAYb,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3G,EANaC,EAAAY,GAAA,gCAOZA,GAAyCX,GAAa,GAEhD,IAAMY,GAAN,KACP,CAcW,YAAYd,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EAhBaC,EAAAa,GAAA,yBAiBZA,GAAkCZ,GAAa,GAEzC,IAAMa,EAAN,KACP,CAIW,YAAYf,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,EANaC,EAAAc,EAAA,0BAOZA,EAAmCb,GAAa,GAE1C,IAAMc,GAAN,KACP,CAUW,YAAYhB,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9G,EAZaC,EAAAe,GAAA,mCAaZA,GAA4Cd,GAAa,GAEnD,IAAMe,GAAN,KACP,CAUW,YAAYjB,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,EAZaC,EAAAgB,GAAA,sBAaZA,GAA+Bf,GAAa,GAEtC,IAAMgB,GAAN,KACP,CAMW,YAAYlB,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5G,EARaC,EAAAiB,GAAA,iCASZA,GAA0ChB,GAAa,GAEjD,IAAMiB,GAAN,KACP,CAiBW,YAAYnB,EAAyB,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,EAnBaC,EAAAkB,GAAA,WAoBZA,GAAoBjB,GAAa,GAE3B,IAAMkB,EAAN,KACP,CAIW,YAAYpB,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EANaC,EAAAmB,EAAA,yBAOZA,EAAkClB,GAAa,GAEzC,IAAMmB,GAAN,KACP,CAGW,YAAYrB,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,EALaC,EAAAoB,GAAA,oBAMZA,GAA6BnB,GAAa,GAEpC,IAAMoB,GAAN,KACP,CAKW,YAAYtB,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,EAPaC,EAAAqB,GAAA,wBAUN,IAAMC,GAAN,KACP,CAMW,YAAYvB,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,EARaC,EAAAsB,GAAA,kBASZA,GAA2BrB,GAAa,GAGlC,IAAMsB,GAAN,KACP,CAYW,YAAYxB,EAA8B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,EAdaC,EAAAuB,GAAA,gBAeZA,GAAyBtB,GAAa,GAGhC,IAAMuB,GAAN,KACP,CASW,YAAYzB,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,EAXaC,EAAAwB,GAAA,wBAYZA,GAAiCvB,GAAa,GAGxC,IAAMwB,GAAN,KACP,CASW,YAAY1B,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,EAXaC,EAAAyB,GAAA,kBAYZA,GAA2BxB,GAAa,GAGlC,IAAMyB,EAAN,KACP,CAMW,YAAY3B,EAA8B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,EARaC,EAAA0B,EAAA,gBASZA,EAAyBzB,GAAa,GAGhC,IAAM0B,EAAN,KACP,CASW,YAAY5B,EAA8B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,EAXaC,EAAA2B,EAAA,gBAYZA,EAAyB1B,GAAa,GAGhC,IAAM2B,GAAN,KACP,CAMW,YAAY7B,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,EARaC,EAAA4B,GAAA,oBASZA,GAA6B3B,GAAa,GAEpC,IAAM4B,GAAN,KACP,CAKW,YAAY9B,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,EAPaC,EAAA6B,GAAA,6BAQZA,GAAsC5B,GAAa,GAE7C,IAAM6B,GAAN,KACP,CAOW,YAAY/B,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,EATaC,EAAA8B,GAAA,sBAUZA,GAA+B7B,GAAa,GAGtC,IAAM8B,EAAN,KACP,CAUW,YAAYhC,EAA8B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,EAZaC,EAAA+B,EAAA,gBAaZA,EAAyB9B,GAAa,GAEhC,IAAM+B,EAAN,KACP,CAQW,YAAYjC,EAA4B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,EAVaC,EAAAgC,EAAA,cAWZA,EAAuB/B,GAAa,GAE9B,IAAMgC,GAAN,KACP,CAMW,YAAYlC,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1G,EARaC,EAAAiC,GAAA,+BASZA,GAAwChC,GAAa,GAE/C,IAAMiC,GAAN,KACP,CAMW,YAAYnC,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EARaC,EAAAkC,GAAA,uBASZA,GAAgCjC,GAAa,GAEvC,IAAMkC,EAAN,KACP,CAIW,YAAYpC,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EANaC,EAAAmC,EAAA,yBAOZA,EAAkClC,GAAa,GAEzC,IAAMmC,GAAN,KACP,CAQW,YAAYrC,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EAVaC,EAAAoC,GAAA,yBAWZA,GAAkCnC,GAAa,GAGzC,IAAMoC,EAAN,KACP,CAGW,YAAYtC,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIsC,CAAyB,CAClE,EARarC,EAAAqC,EAAA,yBASZA,EAAkCpC,GAAa,GAEzC,IAAMqC,GAAN,KACP,CAaW,YAAYvC,EAAsB,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnF,EAfaC,EAAAsC,GAAA,QAgBZA,GAAiBrC,GAAa,GAExB,IAAMsC,GAAN,KACP,CAIW,YAAYxC,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EANaC,EAAAuC,GAAA,yBAOZA,GAAkCtC,GAAa,GAEzC,IAAMuC,GAAN,KACP,CAKW,YAAYzC,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,EAPaC,EAAAwC,GAAA,wBAQZA,GAAiCvC,GAAa,GAExC,IAAMwC,GAAN,KACP,CAKW,YAAY1C,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,EAPaC,EAAAyC,GAAA,sBAQZA,GAA+BxC,GAAa,GAEtC,IAAMyC,GAAN,KACP,CAKW,YAAY3C,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,EAPaC,EAAA0C,GAAA,2BAQZA,GAAoCzC,GAAa,GAE3C,IAAM0C,GAAN,KACP,CAKW,YAAY5C,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,EAPaC,EAAA2C,GAAA,0BAQZA,GAAmC1C,GAAa,GAE1C,IAAM2C,GAAN,KACP,CAKW,YAAY7C,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9G,EAPaC,EAAA4C,GAAA,mCAQZA,GAA4C3C,GAAa,GAEnD,IAAM4C,GAAN,KACP,CAKW,YAAY9C,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1G,EAPaC,EAAA6C,GAAA,+BAQZA,GAAwC5C,GAAa,GAE/C,IAAM6C,GAAN,KACP,CAKW,YAAY/C,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EAPaC,EAAA8C,GAAA,uBAQZA,GAAgC7C,GAAa,GAEvC,IAAM8C,GAAN,KACP,CAKW,YAAYhD,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,EAPaC,EAAA+C,GAAA,4BAQZA,GAAqC9C,GAAa,GAE5C,IAAM+C,GAAN,KACP,CAKW,YAAYjD,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,EAPaC,EAAAgD,GAAA,0BAQZA,GAAmC/C,GAAa,GAE1C,IAAMgD,GAAN,KACP,CAKW,YAAYlD,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,EAPaC,EAAAiD,GAAA,0BAQZA,GAAmChD,GAAa,GAE1C,IAAMiD,GAAN,KACP,CAMW,YAAYnD,EAAkD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/G,EARaC,EAAAkD,GAAA,oCASZA,GAA6CjD,GAAa,GAEpD,IAAMkD,GAAN,KACP,CAMW,YAAYpD,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9G,EARaC,EAAAmD,GAAA,mCASZA,GAA4ClD,GAAa,GAEnD,IAAMmD,GAAN,KACP,CAMW,YAAYrD,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3G,EARaC,EAAAoD,GAAA,gCASZA,GAAyCnD,GAAa,GAEhD,IAAMoD,GAAN,KACP,CAKW,YAAYtD,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,EAPaC,EAAAqD,GAAA,0BAQZA,GAAmCpD,GAAa,GAE1C,IAAMqD,GAAN,KACP,CAiDW,YAAYvD,EAA0B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,EAnDaC,EAAAsD,GAAA,YAoDZA,GAAqBrD,GAAa,GAE5B,IAAMsD,GAAN,KACP,CAQW,YAAYxD,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,EAVaC,EAAAuD,GAAA,iBAWZA,GAA0BtD,GAAa,GAEjC,IAAMuD,GAAN,KACP,CAKW,YAAYzD,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5G,EAPaC,EAAAwD,GAAA,iCAQZA,GAA0CvD,GAAa,GAGjD,IAAMwD,EAAN,KACP,CAQW,YAAY1D,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAI0D,CAAqB,CAC9D,EAbazD,EAAAyD,EAAA,qBAcZA,EAA8BxD,GAAa,GAGrC,IAAMyD,EAAN,KACP,CAIW,YAAY3D,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI2D,CAAqB,CAC9D,EATa1D,EAAA0D,EAAA,qBAUZA,EAA8BzD,GAAa,GAErC,IAAM0D,GAAN,KACP,CAIW,YAAY5D,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,EANaC,EAAA2D,GAAA,qBAOZA,GAA8B1D,GAAa,GAIrC,IAAM2D,EAAN,KACP,CAoBW,YAAY7D,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClF,aAAc,CAAE,MAAO,gBAAkB,CACzC,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI6D,CAAkB,CAC3D,EAzBa5D,EAAA4D,EAAA,kBA0BZA,EAA2B3D,GAAa,GAElC,IAAM4D,GAAN,KACP,CAKW,YAAY9D,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EAPaC,EAAA6D,GAAA,yBAQZA,GAAkC5D,GAAa,GAIzC,IAAM6D,GAAN,KACP,CAWW,YAAY/D,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI+D,EAA2B,CACpE,EAhBa9D,EAAA8D,GAAA,2BAiBZA,GAAoC7D,GAAa,GAG3C,IAAM8D,GAAN,KACP,CAWW,YAAYhE,EAAmD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,aAAc,CAAE,MAAO,mCAAqC,CAC5D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIgE,EAAqC,CAC9E,EAhBa/D,EAAA+D,GAAA,qCAiBZA,GAA8C9D,GAAa,GAErD,IAAM+D,GAAN,KACP,CAWW,YAAYjE,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,EAbaC,EAAAgE,GAAA,mBAcZA,GAA4B/D,GAAa,GAEnC,IAAMgE,GAAN,cAA8BC,EACrC,CAUW,YAAYnE,EAAiC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3G,EAZaC,EAAAiE,GAAA,mBAaZA,GAA4BhE,GAAa,GAEnC,IAAMkE,GAAN,cAA+BC,EACtC,CAQW,YAAYrE,EAAkC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5G,EAVaC,EAAAmE,GAAA,oBAWZA,GAA6BlE,GAAa,GAEpC,IAAMoE,GAAN,cAAsChE,CAC7C,CAIW,YAAYN,EAAyC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnH,EANaC,EAAAqE,GAAA,2BAOZA,GAAoCpE,GAAa,GAE3C,IAAMqE,GAAN,cAAkCC,EACzC,CAMW,YAAYxE,EAAqC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/G,EARaC,EAAAsE,GAAA,uBASZA,GAAgCrE,GAAa,GAEvC,IAAMuE,GAAN,KACP,CAMW,YAAYzE,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EARaC,EAAAwE,GAAA,yBASZA,GAAkCvE,GAAa,GAEzC,IAAMwE,GAAN,KACP,CAoDW,YAAY1E,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,EAtDaC,EAAAyE,GAAA,0BAuDZA,GAAmCxE,GAAa,GAE1C,IAAMyE,GAAN,KACP,CASW,YAAY3E,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,EAXaC,EAAA0E,GAAA,6BAYZA,GAAsCzE,GAAa,GAE7C,IAAM0E,GAAN,KACP,CAKW,YAAY5E,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,EAPaC,EAAA2E,GAAA,8BAQZA,GAAuC1E,GAAa,GAE9C,IAAM2E,GAAN,KACP,CAKW,YAAY7E,EAAmD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChH,EAPaC,EAAA4E,GAAA,qCAQZA,GAA8C3E,GAAa,GAErD,IAAM4E,GAAN,KACP,CAOW,YAAY9E,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EATaC,EAAA6E,GAAA,uBAUZA,GAAgC5E,GAAa,GAEvC,IAAM6E,GAAN,KACP,CAMW,YAAY/E,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EARaC,EAAA8E,GAAA,yBASZA,GAAkC7E,GAAa,GAGzC,IAAM8E,GAAN,KACP,CAaW,YAAYhF,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,EAfaC,EAAA+E,GAAA,uBAgBZA,GAAgC9E,GAAa,GAGvC,IAAM+E,GAAN,KACP,CAaW,YAAYjF,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,EAfaC,EAAAgF,GAAA,yBAgBZA,GAAkC/E,GAAa,GAGzC,IAAMgF,GAAN,KACP,CAUW,YAAYlF,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,EAZaC,EAAAiF,GAAA,0BAaZA,GAAmChF,GAAa,GAE1C,IAAMiF,GAAN,KACP,CAGW,YAAYnF,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,aAAc,CAAE,MAAO,+BAAiC,CACxD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIM,CAAgD,CACzF,EARaL,EAAAkF,GAAA,iCASZA,GAA0CjF,GAAa,GAYjD,IAAMkF,GAAN,KACP,CAGW,YAAYC,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjF,aAAc,CAAE,MAAO,eAAiB,CACxC,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAoC,CAC7E,EARaC,EAAAH,GAAA,iBASZA,GAA0BI,GAAa,GAEjC,IAAMC,GAAN,KACP,CAGW,YAAYJ,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EARaC,EAAAE,GAAA,yBASZA,GAAkCD,GAAa,GAEzC,IAAME,GAAN,KACP,CAGW,YAAYL,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAoC,CAC7E,EARaC,EAAAG,GAAA,uBASZA,GAAgCF,GAAa,GAGvC,IAAMG,GAAN,KACP,CAOW,YAAYN,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIO,CAAc,CACvD,EAZaL,EAAAI,GAAA,wBAaZA,GAAiCH,GAAa,GAGxC,IAAMK,GAAN,KACP,CAGW,YAAYR,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EARaE,EAAAM,GAAA,+BASZA,GAAwCL,GAAa,GAG/C,IAAMM,GAAN,KACP,CAEW,YAAYT,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAPaC,EAAAO,GAAA,gCAQZA,GAAyCN,GAAa,GAEhD,IAAMO,GAAN,KACP,CAKW,YAAYV,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAkC,CAC3E,EAVaC,EAAAQ,GAAA,8BAWZA,GAAuCP,GAAa,GAE9C,IAAMQ,GAAN,KACP,CAKW,YAAYX,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAkC,CAC3E,EAVaC,EAAAS,GAAA,yBAWZA,GAAkCR,GAAa,GAEzC,IAAMS,GAAN,KACP,CAKW,YAAYZ,EAAkD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,aAAc,CAAE,MAAO,kCAAoC,CAC3D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAkC,CAC3E,EAVaC,EAAAU,GAAA,oCAWZA,GAA6CT,GAAa,GAEpD,IAAMU,GAAN,KACP,CAIW,YAAYb,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EATaC,EAAAW,GAAA,+BAUZA,GAAwCV,GAAa,GAE/C,IAAMW,GAAN,KACP,CAGW,YAAYd,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EARaE,EAAAY,GAAA,wBASZA,GAAiCX,GAAa,GAExC,IAAMY,GAAN,KACP,CAGW,YAAYf,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAiD,CAC1F,EARaC,EAAAa,GAAA,kCASZA,GAA2CZ,GAAa,GAGlD,IAAMa,GAAN,KACP,CAIW,YAAYhB,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClF,aAAc,CAAE,MAAO,gBAAkB,CACzC,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EATaC,EAAAc,GAAA,kBAUZA,GAA2Bb,GAAa,GAGlC,IAAMc,GAAN,KACP,CAIW,YAAYjB,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EATaE,EAAAe,GAAA,sBAUZA,GAA+Bd,GAAa,GAGtC,IAAMe,GAAN,KACP,CAIW,YAAYlB,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EATaE,EAAAgB,GAAA,2BAUZA,GAAoCf,GAAa,GAE3C,IAAMgB,GAAN,KACP,CAKW,YAAYnB,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAiC,CAC1E,EAVaC,EAAAiB,GAAA,2BAWZA,GAAoChB,GAAa,GAG3C,IAAMiB,GAAN,KACP,CAGW,YAAYpB,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAiC,CAC1E,EARaC,EAAAkB,GAAA,8BASZA,GAAuCjB,GAAa,GAG9C,IAAMkB,GAAN,KACP,CAIW,YAAYrB,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA6B,CACtE,EATaC,EAAAmB,GAAA,8BAUZA,GAAuClB,GAAa,GAG9C,IAAMmB,GAAN,KACP,CAKW,YAAYtB,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAoC,CAC7E,EAVaC,EAAAoB,GAAA,sBAWZA,GAA+BnB,GAAa,GAGtC,IAAMoB,GAAN,KACP,CAGW,YAAYvB,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIO,CAAc,CACvD,EARaL,EAAAqB,GAAA,4BASZA,GAAqCpB,GAAa,GAE5C,IAAMqB,GAAN,KACP,CAIW,YAAYxB,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EATaC,EAAAsB,GAAA,wBAUZA,GAAiCrB,GAAa,GAExC,IAAMsB,GAAN,KACP,CAGW,YAAYzB,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EARaC,EAAAuB,GAAA,0BASZA,GAAmCtB,GAAa,GAG1C,IAAMuB,GAAN,KACP,CAOW,YAAY1B,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EAZaE,EAAAwB,GAAA,uBAaZA,GAAgCvB,GAAa,GAGvC,IAAMwB,GAAN,KACP,CAEW,YAAY3B,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EAPaE,EAAAyB,GAAA,uBAQZA,GAAgCxB,GAAa,GAGvC,IAAMyB,GAAN,KACP,CAOW,YAAY5B,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EAZaE,EAAA0B,GAAA,uBAaZA,GAAgCzB,GAAa,GAGvC,IAAM0B,GAAN,KACP,CAEW,YAAY7B,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAPaC,EAAA2B,GAAA,0BAQZA,GAAmC1B,GAAa,GAG1C,IAAM2B,GAAN,KACP,CAEW,YAAY9B,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAPaC,EAAA4B,GAAA,4BAQZA,GAAqC3B,GAAa,GAG5C,IAAM4B,GAAN,KACP,CAGW,YAAY/B,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIgC,CAAe,CACxD,EARa9B,EAAA6B,GAAA,oBASZA,GAA6B5B,GAAa,GAGpC,IAAM8B,GAAN,KACP,CAIW,YAAYjC,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,MAAO,EAAI,CACzC,EATaE,EAAA+B,GAAA,uBAUZA,GAAgC9B,GAAa,GAGvC,IAAM+B,GAAN,KACP,CAEW,YAAYlC,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAwB,CACjE,EAPaC,EAAAgC,GAAA,6BAQZA,GAAsC/B,GAAa,GAG7C,IAAMgC,GAAN,KACP,CAEW,YAAYnC,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAwC,CACjF,EAPaC,EAAAiC,GAAA,yBAQZA,GAAkChC,GAAa,GAGzC,IAAMiC,GAAN,KACP,CAEW,YAAYpC,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAPaC,EAAAkC,GAAA,4BAQZA,GAAqCjC,GAAa,GAG5C,IAAMkC,GAAN,KACP,CAKW,YAAYrC,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAVaC,EAAAmC,GAAA,+BAWZA,GAAwClC,GAAa,GAG/C,IAAMmC,GAAN,KACP,CAKW,YAAYtC,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAVaC,EAAAoC,GAAA,+BAWZA,GAAwCnC,GAAa,GAG/C,IAAMoC,GAAN,KACP,CAIW,YAAYvC,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EATaC,EAAAqC,GAAA,8BAUZA,GAAuCpC,GAAa,GAG9C,IAAMqC,GAAN,KACP,CAGW,YAAYxC,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EARaC,EAAAsC,GAAA,4BASZA,GAAqCrC,GAAa,GAG5C,IAAMsC,GAAN,KACP,CAIW,YAAYzC,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EATaC,EAAAuC,GAAA,+BAUZA,GAAwCtC,GAAa,GAG/C,IAAMuC,GAAN,cAAsCC,CAC7C,CAMW,YAAY3C,EAAyC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EAXaC,EAAAwC,GAAA,2BAYZA,GAAoCvC,GAAa,GAG3C,IAAMyC,GAAN,KACP,CAYW,YAAY5C,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,aAAc,CAAE,MAAO,iCAAmC,CAC1D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EAjBaC,EAAA0C,GAAA,mCAkBZA,GAA4CzC,GAAa,GAGnD,IAAM0C,GAAN,KACP,CAIW,YAAY7C,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EATaE,EAAA2C,GAAA,oBAUZA,GAA6B1C,GAAa,GAGpC,IAAM2C,GAAN,KACP,CAKW,YAAY9C,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClF,aAAc,CAAE,MAAO,gBAAkB,CACzC,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAVaC,EAAA4C,GAAA,kBAWZA,GAA2B3C,GAAa,GAElC,IAAM4C,GAAN,KACP,CAOW,YAAY/C,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAZaC,EAAA6C,GAAA,oBAaZA,GAA6B5C,GAAa,GAGpC,IAAM6C,GAAN,KACP,CAIW,YAAYhD,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAI,KAAsC,CAC/E,EATaE,EAAA8C,GAAA,yBAUZA,GAAkC7C,GAAa,GAEzC,IAAM8C,GAAN,KACP,CAKW,YAAYjD,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwB,CACjE,EAVaC,EAAA+C,GAAA,sBAWZA,GAA+B9C,GAAa,GAGtC,IAAM+C,GAAN,KACP,CAIW,YAAYlD,EAA6B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/E,aAAc,CAAE,MAAO,aAAe,CACtC,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EATaC,EAAAgD,GAAA,eAUZA,GAAwB/C,GAAa,GAG/B,IAAMgD,GAAN,KACP,CAIW,YAAYnD,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAuC,CAChF,EATaC,EAAAiD,GAAA,wBAUZA,GAAiChD,GAAa,GAGxC,IAAMiD,GAAN,KACP,CAIW,YAAYpD,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAgC,CACzE,EATaC,EAAAkD,GAAA,yBAUZA,GAAkCjD,GAAa,GAGzC,IAAMkD,GAAN,KACP,CAuBW,YAAYrD,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnF,aAAc,CAAE,MAAO,iBAAmB,CAC1C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwB,CACjE,EA5BaC,EAAAmD,GAAA,mBA6BZA,GAA4BlD,GAAa,GAGnC,IAAMmD,GAAN,KACP,CASW,YAAYtD,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EAdaC,EAAAoD,GAAA,0BAeZA,GAAmCnD,GAAa,GAI1C,IAAMoD,GAAN,cAAyCD,EAChD,CAEW,YAAYtD,EAA4C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3G,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EAPaC,EAAAqD,GAAA,8BAQZA,GAAuCpD,GAAa,GAI9C,IAAMqD,GAAN,cAAwCF,EAC/C,CAEW,YAAYtD,EAA2C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1G,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EAPaC,EAAAsD,GAAA,6BAQZA,GAAsCrD,GAAa,GAG7C,IAAMsD,GAAN,KACP,CAEW,YAAYzD,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EAPaC,EAAAuD,GAAA,6BAQZA,GAAsCtD,GAAa,GAG7C,IAAMuD,GAAN,KACP,CAEW,YAAY1D,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAoC,CAC7E,EAPaC,EAAAwD,GAAA,2BAQZA,GAAoCvD,GAAa,GAG3C,IAAMwD,GAAN,KACP,CAGW,YAAY3D,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAoC,CAC7E,EARaC,EAAAyD,GAAA,qBASZA,GAA8BxD,GAAa,GAGrC,IAAMyD,GAAN,KACP,CAGW,YAAY5D,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EARaE,EAAA0D,GAAA,uBASZA,GAAgCzD,GAAa,GAGvC,IAAM0D,GAAN,KACP,CAWW,YAAY7D,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAI8D,CAAwB,CACjE,EAhBa5D,EAAA2D,GAAA,2BAiBZA,GAAoC1D,GAAa,GAG3C,IAAM4D,GAAN,KACP,CAIW,YAAY/D,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIgE,EAAuB,CAChE,EATa9D,EAAA6D,GAAA,sBAUZA,GAA+B5D,GAAa,GAEtC,IAAM8D,GAAN,cAAuCC,CAC9C,CAEW,YAAYlE,EAA0C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAPaC,EAAA+D,GAAA,4BAQZA,GAAqC9D,GAAa,GAE5C,IAAMgE,GAAN,cAAqCD,CAC5C,CAEW,YAAYlE,EAAwC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAPaC,EAAAiE,GAAA,0BAQZA,GAAmChE,GAAa,GAE1C,IAAMiE,GAAN,cAAuCF,CAC9C,CAEW,YAAYlE,EAA0C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAPaC,EAAAkE,GAAA,4BAQZA,GAAqCjE,GAAa,GAE5C,IAAMkE,GAAN,cAAuCH,CAC9C,CAEW,YAAYlE,EAA0C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAPaC,EAAAmE,GAAA,4BAQZA,GAAqClE,GAAa,GAE5C,IAAMmE,GAAN,cAAuCJ,CAC9C,CAEW,YAAYlE,EAA0C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAPaC,EAAAoE,GAAA,4BAQZA,GAAqCnE,GAAa,GAG5C,IAAMoE,GAAN,KACP,CAIW,YAAYvE,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EATaE,EAAAqE,GAAA,sBAUZA,GAA+BpE,GAAa,GAEtC,IAAMqE,GAAN,KACP,CAGW,YAAYxE,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAsC,CAC/E,EARaC,EAAAsE,GAAA,wBASZA,GAAiCrE,GAAa,GAExC,IAAMsE,GAAN,KACP,CAGW,YAAYzE,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAsC,CAC/E,EARaC,EAAAuE,GAAA,uBASZA,GAAgCtE,GAAa,GAEvC,IAAMuE,GAAN,KACP,CAGW,YAAY1E,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAsC,CAC/E,EARaC,EAAAwE,GAAA,wBASZA,GAAiCvE,GAAa,GAExC,IAAMwE,GAAN,KACP,CAEW,YAAY3E,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA+C,CACxF,EAPaC,EAAAyE,GAAA,0BAQZA,GAAmCxE,GAAa,GAG1C,IAAMyE,GAAN,KACP,CAIW,YAAY5E,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI,KAAiC,CAC1E,EATaE,EAAA0E,GAAA,gCAUZA,GAAyCzE,GAAa,GAGhD,IAAM0E,GAAN,KACP,CAKW,YAAY7E,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI,KAAiC,CAC1E,EAVaE,EAAA2E,GAAA,yBAWZA,GAAkC1E,GAAa,GAIzC,IAAM2E,GAAN,KACP,CAkBW,YAAY9E,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EAvBaE,EAAA4E,GAAA,oBAwBZA,GAA6B3E,GAAa,GAGpC,IAAM4E,GAAN,KACP,CASW,YAAY/E,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA2C,CACpF,EAdaC,EAAA6E,GAAA,4BAeZA,GAAqC5E,GAAa,GAG5C,IAAM6E,GAAN,KACP,CAcW,YAAYhF,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClF,aAAc,CAAE,MAAO,gBAAkB,CACzC,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIiF,EAAe,CACxD,EAnBa/E,EAAA8E,GAAA,kBAoBZA,GAA2B7E,GAAa,GAGlC,IAAM+E,GAAN,KACP,CAIW,YAAYlF,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnF,aAAc,CAAE,MAAO,iBAAmB,CAC1C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAImF,EAAqB,CAC9D,EATajF,EAAAgF,GAAA,mBAUZA,GAA4B/E,GAAa,GAInC,IAAMiF,GAAN,KACP,CAMW,YAAYpF,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAwC,CACjF,EAXaC,EAAAkF,GAAA,yBAYZA,GAAkCjF,GAAa,GAIzC,IAAMkF,GAAN,KACP,CAGW,YAAYrF,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EARaC,EAAAmF,GAAA,yBASZA,GAAkClF,GAAa,GAGzC,IAAMmF,GAAN,KACP,CAMW,YAAYtF,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIuF,EAAyB,CAClE,EAXarF,EAAAoF,GAAA,wBAYZA,GAAiCnF,GAAa,GAIxC,IAAMqF,GAAN,KACP,CAKW,YAAYxF,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EAVaC,EAAAsF,GAAA,0BAWZA,GAAmCrF,GAAa,GAG1C,IAAMsF,GAAN,KACP,CAyBW,YAAYzF,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwC,CACjF,EA9BaC,EAAAuF,GAAA,6BA+BZA,GAAsCtF,GAAa,GAI7C,IAAMuF,GAAN,KACP,CAIW,YAAY1F,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnF,aAAc,CAAE,MAAO,iBAAmB,CAC1C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EATaC,EAAAwF,GAAA,mBAUZA,GAA4BvF,GAAa,GAEnC,IAAMwF,GAAN,KACP,CAGW,YAAY3F,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAiC,CAC1E,EARaC,EAAAyF,GAAA,uBASZA,GAAgCxF,GAAa,GAGvC,IAAMyF,GAAN,KACP,CASW,YAAY5F,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwB,CACjE,EAdaC,EAAA0F,GAAA,8BAeZA,GAAuCzF,GAAa,GAG9C,IAAM0F,GAAN,KACP,CAIW,YAAY7F,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA8C,CACvF,EATaC,EAAA2F,GAAA,+BAUZA,GAAwC1F,GAAa,GAE/C,IAAM2F,GAAN,KACP,CAKW,YAAY9F,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA0B,CACnE,EAVaC,EAAA4F,GAAA,+BAWZA,GAAwC3F,GAAa,GAG/C,IAAM4F,GAAN,KACP,CA2FW,YAAY/F,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAsC,CAC/E,EAhGaC,EAAA6F,GAAA,uBAiGZA,GAAgC5F,GAAa,GAGvC,IAAM6F,GAAN,KACP,CAMW,YAAYhG,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIiG,EAAY,CACrD,EAXa/F,EAAA8F,GAAA,4BAYZA,GAAqC7F,GAAa,GAG5C,IAAM+F,GAAN,KACP,CAGW,YAAYlG,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAImG,EAAgC,CACzE,EARajG,EAAAgG,GAAA,+BASZA,GAAwC/F,GAAa,GAG/C,IAAMiG,GAAN,KACP,CAKW,YAAYpG,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIqG,EAAyB,CAClE,EAVanG,EAAAkG,GAAA,wBAWZA,GAAiCjG,GAAa,GAGxC,IAAMmG,GAAN,KACP,CAKW,YAAYtG,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIuG,CAA0B,CACnE,EAVarG,EAAAoG,GAAA,yBAWZA,GAAkCnG,GAAa,GAIzC,IAAMqG,GAAN,KACP,CAGW,YAAYxG,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwC,CACjF,EARaC,EAAAsG,GAAA,kCASZA,GAA2CrG,GAAa,GAIlD,IAAMsG,GAAN,KACP,CAOW,YAAYzG,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAuC,CAChF,EAZaC,EAAAuG,GAAA,yBAaZA,GAAkCtG,GAAa,GAGzC,IAAMuG,GAAN,KACP,CAIW,YAAY1G,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EATaC,EAAAwG,GAAA,gCAUZA,GAAyCvG,GAAa,GAGhD,IAAMwG,GAAN,KACP,CAIW,YAAY3G,EAAkD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,aAAc,CAAE,MAAO,kCAAoC,CAC3D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EATaC,EAAAyG,GAAA,oCAUZA,GAA6CxG,GAAa,GAIpD,IAAMyG,GAAN,KACP,CAGW,YAAY5G,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwC,CACjF,EARaC,EAAA0G,GAAA,kCASZA,GAA2CzG,GAAa,GAGlD,IAAM0G,GAAN,KACP,CAKW,YAAY7G,EAAmD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,aAAc,CAAE,MAAO,mCAAqC,CAC5D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAVaC,EAAA2G,GAAA,qCAWZA,GAA8C1G,GAAa,GAGrD,IAAM2G,GAAN,KACP,CAIW,YAAY9G,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EATaC,EAAA4G,GAAA,gCAUZA,GAAyC3G,GAAa,GAGhD,IAAM4G,GAAN,KACP,CAIW,YAAY/G,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EATaC,EAAA6G,GAAA,yBAUZA,GAAkC5G,GAAa,GAGzC,IAAM6G,GAAN,KACP,CAIW,YAAYhH,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EATaC,EAAA8G,GAAA,uBAUZA,GAAgC7G,GAAa,GAGvC,IAAM8G,GAAN,KACP,CAGW,YAAYjH,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EARaC,EAAA+G,GAAA,2BASZA,GAAoC9G,GAAa,GAG3C,IAAM+G,GAAN,KACP,CAIW,YAAYlH,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EATaC,EAAAgH,GAAA,+BAUZA,GAAwC/G,GAAa,GAG/C,IAAMgH,GAAN,KACP,CAIW,YAAYnH,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EATaC,EAAAiH,GAAA,+BAUZA,GAAwChH,GAAa,GAG/C,IAAMiH,GAAN,KACP,CAIW,YAAYpH,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EATaC,EAAAkH,GAAA,6BAUZA,GAAsCjH,GAAa,GAG7C,IAAMkH,GAAN,KACP,CAKW,YAAYrH,EAAkD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,aAAc,CAAE,MAAO,kCAAoC,CAC3D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAVaC,EAAAmH,GAAA,oCAWZA,GAA6ClH,GAAa,GAIpD,IAAMmH,GAAN,KACP,CASW,YAAYtH,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA0C,CACnF,EAdaC,EAAAoH,GAAA,2BAeZA,GAAoCnH,GAAa,GAI3C,IAAMoH,GAAN,KACP,CASW,YAAYvH,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA+C,CACxF,EAdaC,EAAAqH,GAAA,gCAeZA,GAAyCpH,GAAa,GAIhD,IAAMqH,GAAN,KACP,CAUW,YAAYxH,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAsC,CAC/E,EAfaC,EAAAsH,GAAA,uBAgBZA,GAAgCrH,GAAa,GAGvC,IAAMsH,GAAN,KACP,CASW,YAAYzH,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAsC,CAC/E,EAdaC,EAAAuH,GAAA,4BAeZA,GAAqCtH,GAAa,GAG5C,IAAMuH,GAAN,KACP,CAGW,YAAY1H,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA+B,CACxE,EARaC,EAAAwH,GAAA,uBASZA,GAAgCvH,GAAa,GAGvC,IAAMwH,GAAN,KACP,CAOW,YAAY3H,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA8B,CACvE,EAZaC,EAAAyH,GAAA,sBAaZA,GAA+BxH,GAAa,GAGtC,IAAMyH,GAAN,KACP,CAWW,YAAY5H,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAhBaC,EAAA0H,GAAA,yBAiBZA,GAAkCzH,GAAa,GAGzC,IAAM0H,GAAN,KACP,CAQW,YAAY7H,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAbaC,EAAA2H,GAAA,4BAcZA,GAAqC1H,GAAa,GAG5C,IAAM2H,GAAN,KACP,CAIW,YAAY9H,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,aAAc,CAAE,MAAO,+BAAiC,CACxD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EATaC,EAAA4H,GAAA,iCAUZA,GAA0C3H,GAAa,GAGjD,IAAM4H,GAAN,KACP,CAMW,YAAY/H,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EAXaC,EAAA6H,GAAA,0BAYZA,GAAmC5H,GAAa,GAI1C,IAAM6H,GAAN,KACP,CAOW,YAAYhI,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwC,CACjF,EAZaC,EAAA8H,GAAA,6BAaZA,GAAsC7H,GAAa,GAI7C,IAAM8H,GAAN,KACP,CAMW,YAAYjI,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA0C,CACnF,EAXaC,EAAA+H,GAAA,kCAYZA,GAA2C9H,GAAa,GAIlD,IAAM+H,GAAN,KACP,CAWW,YAAYlI,EAAkD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,aAAc,CAAE,MAAO,kCAAoC,CAC3D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EAhBaC,EAAAgI,GAAA,oCAiBZA,GAA6C/H,GAAa,GAGpD,IAAMgI,GAAN,KACP,CAMW,YAAYnI,EAAwD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1G,aAAc,CAAE,MAAO,wCAA0C,CACjE,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,MAAO,EAAI,CACzC,EAXaE,EAAAiI,GAAA,0CAYZA,GAAmDhI,GAAa,GAG1D,IAAMiI,GAAN,KACP,CAEW,YAAYpI,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAwB,CACjE,EAPaC,EAAAkI,GAAA,uBAQZA,GAAgCjI,GAAa,GAGvC,IAAMkI,GAAN,KACP,CAEW,YAAYrI,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAwB,CACjE,EAPaC,EAAAmI,GAAA,8BAQZA,GAAuClI,GAAa,GAG9C,IAAMmI,GAAN,KACP,CAMW,YAAYtI,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EAXaC,EAAAoI,GAAA,8BAYZA,GAAuCnI,GAAa,GAG9C,IAAMoI,GAAN,KACP,CAKW,YAAYvI,EAAoD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,aAAc,CAAE,MAAO,oCAAsC,CAC7D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EAVaC,EAAAqI,GAAA,sCAWZA,GAA+CpI,GAAa,GAEtD,IAAMqI,GAAN,KACP,CAWW,YAAYxI,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EAhBaC,EAAAsI,GAAA,8BAiBZA,GAAuCrI,GAAa,GAG9C,IAAMsI,GAAN,cAAmD9F,CAC1D,CASW,YAAY3C,EAAsD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrH,aAAc,CAAE,MAAO,sCAAwC,CAC/D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwC,CACjF,EAdaC,EAAAuI,GAAA,wCAeZA,GAAiDtI,GAAa,GAGxD,IAAMuI,GAAN,KACP,CAMW,YAAY1I,EAA+D,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjH,aAAc,CAAE,MAAO,+CAAiD,CACxE,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,MAAO,EAAI,CACzC,EAXaE,EAAAwI,GAAA,iDAYZA,GAA0DvI,GAAa,GAEjE,IAAMwI,GAAN,KACP,CAEW,YAAY3I,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,MAAO,EAAG,CACxC,EAPaE,EAAAyI,GAAA,6BAQZA,GAAsCxI,GAAa,GAG7C,IAAMyI,GAAN,KACP,CAOW,YAAY5I,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAuC,CAChF,EAZaC,EAAA0I,GAAA,wBAaZA,GAAiCzI,GAAa,GAExC,IAAM0I,GAAN,KACP,CAGW,YAAY7I,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAiD,CAC1F,EARaC,EAAA2I,GAAA,kCASZA,GAA2C1I,GAAa,GAElD,IAAM2I,GAAN,KACP,CAGW,YAAY9I,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAiD,CAC1F,EARaC,EAAA4I,GAAA,kCASZA,GAA2C3I,GAAa,GAGlD,IAAM4I,GAAN,KACP,CAMW,YAAY/I,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EAXaC,EAAA6I,GAAA,0BAYZA,GAAmC5I,GAAa,GAG1C,IAAM6I,GAAN,KACP,CAKW,YAAYhJ,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAuC,CAChF,EAVaC,EAAA8I,GAAA,uBAWZA,GAAgC7I,GAAa,GAEvC,IAAM8I,GAAN,KACP,CAGW,YAAYjJ,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EARaC,EAAA+I,GAAA,4BASZA,GAAqC9I,GAAa,GAI5C,IAAM+I,GAAN,KACP,CAMW,YAAYlJ,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAuC,CAChF,EAXaC,EAAAgJ,GAAA,0BAYZA,GAAmC/I,GAAa,GAI1C,IAAMgJ,GAAN,KACP,CAIW,YAAYnJ,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EATaC,EAAAiJ,GAAA,8BAUZA,GAAuChJ,GAAa,GAG9C,IAAMiJ,GAAN,KACP,CAiBW,YAAYpJ,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAuC,CAChF,EAtBaC,EAAAkJ,GAAA,qBAuBZA,GAA8BjJ,GAAa,GAGrC,IAAMkJ,GAAN,KACP,CAGW,YAAYrJ,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAwB,CACjE,EARaC,EAAAmJ,GAAA,oBASZA,GAA6BlJ,GAAa,GAGpC,IAAMmJ,GAAN,KACP,CAIW,YAAYtJ,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EATaC,EAAAoJ,GAAA,oBAUZA,GAA6BnJ,GAAa,GAGpC,IAAMoJ,GAAN,KACP,CAGW,YAAYvJ,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAwB,CACjE,EARaC,EAAAqJ,GAAA,sBASZA,GAA+BpJ,GAAa,GAGtC,IAAMqJ,GAAN,KACP,CAEW,YAAYxJ,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EAPaC,EAAAsJ,GAAA,0BAQZA,GAAmCrJ,GAAa,GAG1C,IAAMsJ,GAAN,KACP,CAKW,YAAYzJ,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EAVaC,EAAAuJ,GAAA,yBAWZA,GAAkCtJ,GAAa,GAIzC,IAAMuJ,GAAN,KACP,CAMW,YAAY1J,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAoC,CAC7E,EAXaC,EAAAwJ,GAAA,qBAYZA,GAA8BvJ,GAAa,GAIrC,IAAMwJ,GAAN,KACP,CAIW,YAAY3J,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA4B,CACrE,EATaC,EAAAyJ,GAAA,2BAUZA,GAAoCxJ,GAAa,GAG3C,IAAMyJ,GAAN,KACP,CAMW,YAAY5J,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAwC,CACjF,EAXaC,EAAA0J,GAAA,yBAYZA,GAAkCzJ,GAAa,GAGzC,IAAM0J,GAAN,KACP,CAOW,YAAY7J,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClF,aAAc,CAAE,MAAO,gBAAkB,CACzC,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAoC,CAC7E,EAZaC,EAAA2J,GAAA,kBAaZA,GAA2B1J,GAAa,GAGlC,IAAM2J,GAAN,KACP,CAEW,YAAY9J,EAA8B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChF,aAAc,CAAE,MAAO,cAAgB,CACvC,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI+J,EAAmC,CAC5E,EAPa7J,EAAA4J,GAAA,gBAQZA,GAAyB3J,GAAa,GAEhC,IAAM6J,GAAN,cAAwCC,CAC/C,CAEW,YAAYjK,EAA2C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1G,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwB,CACjE,EAPaC,EAAA8J,GAAA,6BAQZA,GAAsC7J,GAAa,GAG7C,IAAM+J,GAAN,KACP,CASW,YAAYlK,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAImK,EAAsB,CAC/D,EAdajK,EAAAgK,GAAA,gCAeZA,GAAyC/J,GAAa,GAGhD,IAAMiK,GAAN,KACP,CAOW,YAAYpK,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI,KAAyB,CAClE,EAZaE,EAAAkK,GAAA,uBAaZA,GAAgCjK,GAAa,GAGvC,IAAMkK,GAAN,KACP,CAKW,YAAYrK,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAI,KAAiC,CAC1E,EAVaE,EAAAmK,GAAA,2BAWZA,GAAoClK,GAAa,GAG3C,IAAMmK,GAAN,KACP,CAMW,YAAYtK,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI,KAAiC,CAC1E,EAXaE,EAAAoK,GAAA,0BAYZA,GAAmCnK,GAAa,GAG1C,IAAMoK,GAAN,KACP,CAIW,YAAYvK,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI,KAAiC,CAC1E,EATaE,EAAAqK,GAAA,6BAUZA,GAAsCpK,GAAa,GAG7C,IAAMqK,GAAN,KACP,CAQW,YAAYxK,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI,KAA+B,CACxE,EAbaE,EAAAsK,GAAA,uBAcZA,GAAgCrK,GAAa,GAGvC,IAAMsK,GAAN,KACP,CAYW,YAAYzK,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnF,aAAc,CAAE,MAAO,iBAAmB,CAC1C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAkC,CAC3E,EAjBaC,EAAAuK,GAAA,mBAkBZA,GAA4BtK,GAAa,GAGnC,IAAMuK,GAAN,KACP,CAUW,YAAY1K,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EAfaC,EAAAwK,GAAA,0BAgBZA,GAAmCvK,GAAa,GAE1C,IAAMwK,GAAN,KACP,CAKW,YAAY3K,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAVaC,EAAAyK,GAAA,qBAWZA,GAA8BxK,GAAa,GAGrC,IAAMyK,GAAN,KACP,CAMW,YAAY5K,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EAXaE,EAAA0K,GAAA,sBAYZA,GAA+BzK,GAAa,GAGtC,IAAM0K,GAAN,KACP,CAgBW,YAAY7K,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwD,CACjG,EArBaC,EAAA2K,GAAA,wBAsBZA,GAAiC1K,GAAa,GAGxC,IAAM2K,GAAN,KACP,CAOW,YAAY9K,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwD,CACjG,EAZaC,EAAA4K,GAAA,wBAaZA,GAAiC3K,GAAa,GAGxC,IAAM4K,GAAN,KACP,CAoBW,YAAY/K,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwD,CACjG,EAzBaC,EAAA6K,GAAA,wBA0BZA,GAAiC5K,GAAa,GAExC,IAAM6K,GAAN,KACP,CAGW,YAAYhL,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIiL,EAAiC,CAC1E,EARa/K,EAAA8K,GAAA,gCASZA,GAAyC7K,GAAa,GAGhD,IAAM+K,GAAN,KACP,CAGW,YAAYlL,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAImL,EAAW,CACpD,EARajL,EAAAgL,GAAA,yBASZA,GAAkC/K,GAAa,GAGzC,IAAMiL,GAAN,KACP,CAOW,YAAYpL,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAkC,CAC3E,EAZaC,EAAAkL,GAAA,0BAaZA,GAAmCjL,GAAa,GAG1C,IAAMkL,GAAN,KACP,CAQW,YAAYrL,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA0C,CACnF,EAbaC,EAAAmL,GAAA,6BAcZA,GAAsClL,GAAa,GAG7C,IAAMmL,GAAN,KACP,CAIW,YAAYtL,EAAqD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,aAAc,CAAE,MAAO,qCAAuC,CAC9D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAsD,CAC/F,EATaC,EAAAoL,GAAA,uCAUZA,GAAgDnL,GAAa,GAGvD,IAAMoL,GAAN,KACP,CAIW,YAAYvL,EAAsD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,aAAc,CAAE,MAAO,sCAAwC,CAC/D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAuD,CAChG,EATaC,EAAAqL,GAAA,wCAUZA,GAAiDpL,GAAa,GAGxD,IAAMqL,GAAN,KACP,CAIW,YAAYxL,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIyL,CAAyB,CAClE,EATavL,EAAAsL,GAAA,gCAUZA,GAAyCrL,GAAa,GAGhD,IAAMuL,GAAN,KACP,CAIW,YAAY1L,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,aAAc,CAAE,MAAO,+BAAiC,CACxD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIyL,CAAyB,CAClE,EATavL,EAAAwL,GAAA,iCAUZA,GAA0CvL,GAAa,GAGjD,IAAMwL,GAAN,KACP,CAMW,YAAY3L,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAI,MAAU,CACnD,EAXaE,EAAAyL,GAAA,gCAYZA,GAAyCxL,GAAa,GAGhD,IAAMyL,GAAN,KACP,CAMW,YAAY5L,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,aAAc,CAAE,MAAO,+BAAiC,CACxD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAI,MAAU,CACnD,EAXaE,EAAA0L,GAAA,iCAYZA,GAA0CzL,GAAa,GAEjD,IAAM0L,GAAN,KACP,CAKW,YAAY7L,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA8C,CACvF,EAVaC,EAAA2L,GAAA,+BAWZA,GAAwC1L,GAAa,GAG/C,IAAM2L,GAAN,KACP,CAKW,YAAY9L,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA6B,CACtE,EAVaC,EAAA4L,GAAA,sBAWZA,GAA+B3L,GAAa,GAItC,IAAM4L,GAAN,KACP,CAwBW,YAAY/L,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA6B,CACtE,EA7BaC,EAAA6L,GAAA,0BA8BZA,GAAmC5L,GAAa,GAG1C,IAAM6L,GAAN,KACP,CAIW,YAAYhM,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,MAAO,EAAG,CACxC,EATaE,EAAA8L,GAAA,sBAUZA,GAA+B7L,GAAa,GAGtC,IAAM8L,GAAN,cAAmCtJ,CAC1C,CAYW,YAAY3C,EAAsC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA2C,CACpF,EAjBaC,EAAA+L,GAAA,wBAkBZA,GAAiC9L,GAAa,GAGxC,IAAM+L,GAAN,KACP,CAMW,YAAYlM,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EAXaC,EAAAgM,GAAA,6BAYZA,GAAsC/L,GAAa,GAG7C,IAAMgM,GAAN,KACP,CAgBW,YAAYnM,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI,KAAiB,CAC1D,EArBaE,EAAAiM,GAAA,0BAsBZA,GAAmChM,GAAa,GAG1C,IAAMiM,GAAN,KACP,CAIW,YAAYpM,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EATaC,EAAAkM,GAAA,0BAUZA,GAAmCjM,GAAa,GAG1C,IAAMkM,GAAN,KACP,CAMW,YAAYrM,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAuC,CAChF,EAXaC,EAAAmM,GAAA,wBAYZA,GAAiClM,GAAa,GAGxC,IAAMmM,GAAN,cAAwC3J,CAC/C,CAQW,YAAY3C,EAA2C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1G,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA+B,CACxE,EAbaC,EAAAoM,GAAA,6BAcZA,GAAsCnM,GAAa,GAI7C,IAAMoM,GAAN,KACP,CAIW,YAAYvM,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EATaC,EAAAqM,GAAA,sBAUZA,GAA+BpM,GAAa,GAGtC,IAAMqM,GAAN,KACP,CAEW,YAAYxM,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,MAAO,EAAG,CACxC,EAPaE,EAAAsM,GAAA,2BAQZA,GAAoCrM,GAAa,GAG3C,IAAMsM,GAAN,cAA+C9J,CACtD,CAIW,YAAY3C,EAAkD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjH,aAAc,CAAE,MAAO,kCAAoC,CAC3D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EATaC,EAAAuM,GAAA,oCAUZA,GAA6CtM,GAAa,GAGpD,IAAMuM,GAAN,KACP,CAmBW,YAAY1M,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EAxBaC,EAAAwM,GAAA,0BAyBZA,GAAmCvM,GAAa,GAI1C,IAAMwM,GAAN,KACP,CAIW,YAAY3M,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EATaC,EAAAyM,GAAA,4BAUZA,GAAqCxM,GAAa,GAG5C,IAAMyM,GAAN,KACP,CAIW,YAAY5M,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnF,aAAc,CAAE,MAAO,iBAAmB,CAC1C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAkC,CAC3E,EATaC,EAAA0M,GAAA,mBAUZA,GAA4BzM,GAAa,GAInC,IAAM0M,GAAN,KACP,CAiCW,YAAY7M,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAkC,CAC3E,EAtCaC,EAAA2M,GAAA,sBAuCZA,GAA+B1M,GAAa,GAGtC,IAAM2M,GAAN,KACP,CAIW,YAAY9M,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,aAAc,CAAE,MAAO,iCAAmC,CAC1D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EATaC,EAAA4M,GAAA,mCAUZA,GAA4C3M,GAAa,GAEnD,IAAM4M,GAAN,KACP,CAKW,YAAY/M,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAVaC,EAAA6M,GAAA,gCAWZA,GAAyC5M,GAAa,GAEhD,IAAM6M,GAAN,KACP,CAIW,YAAYhN,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,aAAc,CAAE,MAAO,iCAAmC,CAC1D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EATaC,EAAA8M,GAAA,mCAUZA,GAA4C7M,GAAa,GAGnD,IAAM8M,GAAN,KACP,CAEW,YAAYjN,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,MAAO,EAAG,CACxC,EAPaE,EAAA+M,GAAA,uBAQZA,GAAgC9M,GAAa,GAGvC,IAAM+M,GAAN,KACP,CAKW,YAAYlN,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,QAAU,CAC/B,gBAAiB,CAAE,MAAO,EAAO,CAC5C,EAVaE,EAAAgN,GAAA,wBAWZA,GAAiC/M,GAAa,GAGxC,IAAMgN,GAAN,KACP,CAMW,YAAYnN,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAXaC,EAAAiN,GAAA,wBAYZA,GAAiChN,GAAa,GAGxC,IAAMiN,GAAN,KACP,CAKW,YAAYpN,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EAVaC,EAAAkN,GAAA,yBAWZA,GAAkCjN,GAAa,GAGzC,IAAMkN,GAAN,KACP,CAWW,YAAYrN,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EAhBaC,EAAAmN,GAAA,4BAiBZA,GAAqClN,GAAa,GAG5C,IAAMmN,GAAN,KACP,CAKW,YAAYtN,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAVaC,EAAAoN,GAAA,gCAWZA,GAAyCnN,GAAa,GAGhD,IAAMoN,GAAN,KACP,CAKW,YAAYvN,EAAoD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,aAAc,CAAE,MAAO,oCAAsC,CAC7D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAVaC,EAAAqN,GAAA,sCAWZA,GAA+CpN,GAAa,GAGtD,IAAMqN,GAAN,KACP,CAKW,YAAYxN,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAVaC,EAAAsN,GAAA,8BAWZA,GAAuCrN,GAAa,GAG9C,IAAMsN,GAAN,KACP,CAKW,YAAYzN,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAVaC,EAAAuN,GAAA,+BAWZA,GAAwCtN,GAAa,GAG/C,IAAMuN,GAAN,KACP,CAIW,YAAY1N,EAAwD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1G,aAAc,CAAE,MAAO,wCAA0C,CACjE,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EATaC,EAAAwN,GAAA,0CAUZA,GAAmDvN,GAAa,GAG1D,IAAMwN,GAAN,KACP,CAKW,YAAY3N,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EAVaC,EAAAyN,GAAA,wBAWZA,GAAiCxN,GAAa,GAGxC,IAAMyN,GAAN,KACP,CAKW,YAAY5N,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EAVaC,EAAA0N,GAAA,uBAWZA,GAAgCzN,GAAa,GAGvC,IAAM0N,GAAN,cAA4ClL,CACnD,CAaW,YAAY3C,EAA+C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9G,aAAc,CAAE,MAAO,+BAAiC,CACxD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAkC,CAC3E,EAlBaC,EAAA2N,GAAA,iCAmBZA,GAA0C1N,GAAa,GAGjD,IAAM2N,GAAN,KACP,CAIW,YAAY9N,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAsC,CAC/E,EATaC,EAAA4N,GAAA,uBAUZA,GAAgC3N,GAAa,GAIvC,IAAM4N,GAAN,KACP,CASW,YAAY/N,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA6C,CACtF,EAdaC,EAAA6N,GAAA,8BAeZA,GAAuC5N,GAAa,GAI9C,IAAM6N,GAAN,KACP,CAOW,YAAYhO,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA2C,CACpF,EAZaC,EAAA8N,GAAA,kCAaZA,GAA2C7N,GAAa,GAIlD,IAAM8N,GAAN,KACP,CAKW,YAAYjO,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAVaC,EAAA+N,GAAA,4BAWZA,GAAqC9N,GAAa,GAG5C,IAAM+N,GAAN,KACP,CAIW,YAAYlO,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EATaC,EAAAgO,GAAA,sBAUZA,GAA+B/N,GAAa,GAGtC,IAAMgO,GAAN,KACP,CAIW,YAAYnO,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EATaE,EAAAiO,GAAA,0BAUZA,GAAmChO,GAAa,GAG1C,IAAMiO,GAAN,KACP,CAQW,YAAYpO,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnF,aAAc,CAAE,MAAO,iBAAmB,CAC1C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIqO,EAAoB,CAC7D,EAbanO,EAAAkO,GAAA,mBAcZA,GAA4BjO,GAAa,GAEnC,IAAMmO,GAAN,KACP,CAKW,YAAYtO,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,aAAc,CAAE,MAAO,+BAAiC,CACxD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAVaC,EAAAoO,GAAA,iCAWZA,GAA0CnO,GAAa,GAGjD,IAAMoO,GAAN,KACP,CAIW,YAAYvO,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAwC,CACjF,EATaC,EAAAqO,GAAA,qBAUZA,GAA8BpO,GAAa,GAGrC,IAAMqO,GAAN,KACP,CAEW,YAAYxO,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,MAAO,EAAG,CACxC,EAPaE,EAAAsO,GAAA,uBAQZA,GAAgCrO,GAAa,GAGvC,IAAMsO,GAAN,cAAmCC,CAC1C,CAKW,YAAY1O,EAAsC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,MAAO,EAAG,CACxC,EAVaE,EAAAuO,GAAA,wBAWZA,GAAiCtO,GAAa,GAGxC,IAAMwO,GAAN,cAAiCD,CACxC,CAEW,YAAY1O,EAAoC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAiC,CAC1E,EAPaC,EAAAyO,GAAA,sBAQZA,GAA+BxO,GAAa,GAGtC,IAAMyO,GAAN,KACP,CAIW,YAAY5O,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,QAAU,CAC/B,gBAAiB,CAAE,MAAO,EAAO,CAC5C,EATaE,EAAA0O,GAAA,wBAUZA,GAAiCzO,GAAa,GAExC,IAAM0O,GAAN,KACP,CAIW,YAAY7O,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,MAAO,EAAO,CAC5C,EATaE,EAAA2O,GAAA,sBAUZA,GAA+B1O,GAAa,GAGtC,IAAM2O,GAAN,cAAmCJ,CAC1C,CAIW,YAAY1O,EAAsC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAiC,CAC1E,EATaC,EAAA4O,GAAA,wBAUZA,GAAiC3O,GAAa,GAGxC,IAAM4O,GAAN,KACP,CAKW,YAAY/O,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwC,CACjF,EAVaC,EAAA6O,GAAA,gCAWZA,GAAyC5O,GAAa,GAGhD,IAAM6O,GAAN,cAA2CrM,CAClD,CAYW,YAAY3C,EAA8C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7G,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAiC,CAC1E,EAjBaC,EAAA8O,GAAA,gCAkBZA,GAAyC7O,GAAa,GAGhD,IAAM8O,GAAN,KACP,CAOW,YAAYjP,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA4C,CACrF,EAZaC,EAAA+O,GAAA,6BAaZA,GAAsC9O,GAAa,GAK7C,IAAM+O,GAAN,KACP,CAOW,YAAYlP,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAImP,EAA2C,CACpF,EAZajP,EAAAgP,GAAA,oBAaZA,GAA6B/O,GAAa,GAGpC,IAAMiP,GAAN,KACP,CAOW,YAAYpP,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA2C,CACpF,EAZaC,EAAAkP,GAAA,4BAaZA,GAAqCjP,GAAa,GAG5C,IAAMkP,GAAN,KACP,CAYW,YAAYrP,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA4C,CACrF,EAjBaC,EAAAmP,GAAA,2BAkBZA,GAAoClP,GAAa,GAG3C,IAAMmP,GAAN,KACP,CAeW,YAAYtP,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnF,aAAc,CAAE,MAAO,iBAAmB,CAC1C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA2C,CACpF,EApBaC,EAAAoP,GAAA,mBAqBZA,GAA4BnP,GAAa,GAKnC,IAAMoP,GAAN,KACP,CAOW,YAAYvP,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjF,aAAc,CAAE,MAAO,eAAiB,CACxC,WAAY,CAAE,MAAO,QAAU,CAC/B,gBAAiB,CAAE,OAAO,IAAIwP,EAAkB,CAC3D,EAZatP,EAAAqP,GAAA,iBAaZA,GAA0BpP,GAAa,GAKjC,IAAMsP,GAAN,KACP,CAaW,YAAYzP,EAA6B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/E,aAAc,CAAE,MAAO,aAAe,CACtC,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI0P,EAAgB,CACzD,EAlBaxP,EAAAuP,GAAA,eAmBZA,GAAwBtP,GAAa,GAI/B,IAAMwP,GAAN,KACP,CAOW,YAAY3P,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI4P,EAAwB,CACjE,EAZa1P,EAAAyP,GAAA,uBAaZA,GAAgCxP,GAAa,GAKvC,IAAM0P,GAAN,KACP,CAaW,YAAY7P,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjF,aAAc,CAAE,MAAO,eAAiB,CACxC,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI8P,EAAkB,CAC3D,EAlBa5P,EAAA2P,GAAA,iBAmBZA,GAA0B1P,GAAa,GAIjC,IAAM4P,GAAN,KACP,CAOW,YAAY/P,EAA6B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/E,aAAc,CAAE,MAAO,aAAe,CACtC,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIgQ,CAAgB,CACzD,EAZa9P,EAAA6P,GAAA,eAaZA,GAAwB5P,GAAa,GAI/B,IAAM8P,GAAN,KACP,CAUW,YAAYjQ,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIgQ,CAAgB,CACzD,EAfa9P,EAAA+P,GAAA,qBAgBZA,GAA8B9P,GAAa,GAIrC,IAAM+P,GAAN,KACP,CAgBW,YAAYlQ,EAA4B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9E,aAAc,CAAE,MAAO,YAAc,CACrC,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAImQ,CAAgB,CACzD,EArBajQ,EAAAgQ,GAAA,cAsBZA,GAAuB/P,GAAa,GAI9B,IAAMiQ,GAAN,KACP,CAIW,YAAYpQ,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClF,aAAc,CAAE,MAAO,gBAAkB,CACzC,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIqQ,EAAoB,CAC7D,EATanQ,EAAAkQ,GAAA,kBAUZA,GAA2BjQ,GAAa,GAElC,IAAMmQ,GAAN,KACP,CAaW,YAAYtQ,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI,MAAU,CACnD,EAlBaE,EAAAoQ,GAAA,qBAmBZA,GAA8BnQ,GAAa,GAGrC,IAAMoQ,GAAN,KACP,CAKW,YAAYvQ,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIwQ,EAA6B,CACtE,EAVatQ,EAAAqQ,GAAA,4BAWZA,GAAqCpQ,GAAa,GAI5C,IAAMsQ,GAAN,KACP,CAyBW,YAAYzQ,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAImQ,CAAgB,CACzD,EA9BajQ,EAAAuQ,GAAA,2BA+BZA,GAAoCtQ,GAAa,GAG3C,IAAMuQ,GAAN,KACP,CAKW,YAAY1Q,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIO,CAAc,CACvD,EAVaL,EAAAwQ,GAAA,qBAWZA,GAA8BvQ,GAAa,GAIrC,IAAMwQ,GAAN,KACP,CAOW,YAAY3Q,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAI4Q,EAAsB,CAC/D,EAZa1Q,EAAAyQ,GAAA,qBAaZA,GAA8BxQ,GAAa,GAGrC,IAAM0Q,GAAN,KACP,CAQW,YAAY7Q,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI8D,CAAwB,CACjE,EAba5D,EAAA2Q,GAAA,sBAcZA,GAA+B1Q,GAAa,GAItC,IAAM2Q,GAAN,KACP,CAUW,YAAY9Q,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI+Q,CAAgB,CACzD,EAfa7Q,EAAA4Q,GAAA,sBAgBZA,GAA+B3Q,GAAa,GAMtC,IAAM6Q,GAAN,KACP,CAaW,YAAYhR,EAA6B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/E,aAAc,CAAE,MAAO,aAAe,CACtC,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAI8D,CAAwB,CACjE,EAlBa5D,EAAA8Q,GAAA,eAmBZA,GAAwB7Q,GAAa,GAG/B,IAAM8Q,GAAN,KACP,CAGW,YAAYjR,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI8D,CAAwB,CACjE,EARa5D,EAAA+Q,GAAA,sBASZA,GAA+B9Q,GAAa,GAGtC,IAAM+Q,GAAN,KACP,CAIW,YAAYlR,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClF,aAAc,CAAE,MAAO,gBAAkB,CACzC,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EATaE,EAAAgR,GAAA,kBAUZA,GAA2B/Q,GAAa,GAKlC,IAAMgR,GAAN,KACP,CAaW,YAAYnR,EAA6B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/E,aAAc,CAAE,MAAO,aAAe,CACtC,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAI+Q,CAAgB,CACzD,EAlBa7Q,EAAAiR,GAAA,eAmBZA,GAAwBhR,GAAa,GAI/B,IAAMiR,GAAN,KACP,CAOW,YAAYpR,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EAZaE,EAAAkR,GAAA,uBAaZA,GAAgCjR,GAAa,GAIvC,IAAMkR,GAAN,KACP,CAOW,YAAYrR,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnF,aAAc,CAAE,MAAO,iBAAmB,CAC1C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EAZaE,EAAAmR,GAAA,mBAaZA,GAA4BlR,GAAa,GAInC,IAAMmR,GAAN,KACP,CAOW,YAAYtR,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EAZaE,EAAAoR,GAAA,4BAaZA,GAAqCnR,GAAa,GAI5C,IAAMoR,GAAN,KACP,CAIW,YAAYvR,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EATaE,EAAAqR,GAAA,wBAUZA,GAAiCpR,GAAa,GAGxC,IAAMqR,GAAN,KACP,CAKW,YAAYxR,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EAVaE,EAAAsR,GAAA,6BAWZA,GAAsCrR,GAAa,GAI7C,IAAMsR,GAAN,KACP,CA+BW,YAAYzR,EAA8B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChF,aAAc,CAAE,MAAO,cAAgB,CACvC,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,MAAO,EAAO,CAC5C,EApCaE,EAAAuR,GAAA,gBAqCZA,GAAyBtR,GAAa,GAGhC,IAAMuR,GAAN,KACP,CAIW,YAAY1R,EAAqD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,aAAc,CAAE,MAAO,qCAAuC,CAC9D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAI2R,CAAc,CACvD,EATazR,EAAAwR,GAAA,uCAUZA,GAAgDvR,GAAa,GAOvD,IAAMyR,GAAN,KACP,CAcW,YAAY5R,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAI2R,CAAc,CACvD,EAnBazR,EAAA0R,GAAA,uBAoBZA,GAAgCzR,GAAa,GAGvC,IAAM0R,GAAN,KACP,CAKW,YAAY7R,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAI2R,CAAc,CACvD,EAVazR,EAAA2R,GAAA,oBAWZA,GAA6B1R,GAAa,GAGpC,IAAM2R,GAAN,KACP,CAIW,YAAY9R,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjF,aAAc,CAAE,MAAO,eAAiB,CACxC,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAI2R,CAAc,CACvD,EATazR,EAAA4R,GAAA,iBAUZA,GAA0B3R,GAAa,GAGjC,IAAM4R,GAAN,KACP,CAGW,YAAY/R,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EARaE,EAAA6R,GAAA,6BASZA,GAAsC5R,GAAa,GAE7C,IAAM6R,GAAN,KACP,CAKW,YAAYhS,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EAVaE,EAAA8R,GAAA,gCAWZA,GAAyC7R,GAAa,GAGhD,IAAM8R,GAAN,KACP,CAKW,YAAYjS,EAAwD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1G,aAAc,CAAE,MAAO,wCAA0C,CACjE,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EAVaE,EAAA+R,GAAA,0CAWZA,GAAmD9R,GAAa,GAI1D,IAAM+R,GAAN,KACP,CAMW,YAAYlS,EAA8B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChF,aAAc,CAAE,MAAO,cAAgB,CACvC,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA+B,CACxE,EAXaC,EAAAgS,GAAA,gBAYZA,GAAyB/R,GAAa,GAGhC,IAAMgS,GAAN,KACP,CAEW,YAAYnS,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAwB,CACjE,EAPaC,EAAAiS,GAAA,qBAQZA,GAA8BhS,GAAa,GAGrC,IAAMiS,GAAN,KACP,CAIW,YAAYpS,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIqS,EAA+B,CACxE,EATanS,EAAAkS,GAAA,8BAUZA,GAAuCjS,GAAa,GAG9C,IAAMmS,GAAN,KACP,CAIW,YAAYtS,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIuS,EAAuB,CAChE,EATarS,EAAAoS,GAAA,sBAUZA,GAA+BnS,GAAa,GAGtC,IAAMqS,GAAN,KACP,CAMW,YAAYxS,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAI,MAAU,CACnD,EAXaE,EAAAsS,GAAA,8BAYZA,GAAuCrS,GAAa,GAG9C,IAAMsS,GAAN,cAA0C9P,CACjD,CAKW,YAAY3C,EAA6C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5G,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA+B,CACxE,EAVaC,EAAAuS,GAAA,+BAWZA,GAAwCtS,GAAa,GAG/C,IAAMuS,GAAN,KACP,CAMW,YAAY1S,EAAsD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,aAAc,CAAE,MAAO,sCAAwC,CAC/D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,MAAO,EAAI,CACzC,EAXaE,EAAAwS,GAAA,wCAYZA,GAAiDvS,GAAa,GAIxD,IAAMwS,GAAN,KACP,CAIW,YAAY3S,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwC,CACjF,EATaC,EAAAyS,GAAA,8BAUZA,GAAuCxS,GAAa,GAI9C,IAAMyS,GAAN,KACP,CAOW,YAAY5S,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwC,CACjF,EAZaC,EAAA0S,GAAA,kCAaZA,GAA2CzS,GAAa,GAIlD,IAAM0S,GAAN,KACP,CAOW,YAAY7S,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EAZaC,EAAA2S,GAAA,wBAaZA,GAAiC1S,GAAa,GAGxC,IAAM2S,GAAN,KACP,CAgEW,YAAY9S,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA+B,CACxE,EArEaC,EAAA4S,GAAA,oBAsEZA,GAA6B3S,GAAa,GAIpC,IAAM4S,GAAN,KACP,CAIW,YAAY/S,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIgT,CAAyB,CAClE,EATa9S,EAAA6S,GAAA,8BAUZA,GAAuC5S,GAAa,GAG9C,IAAM8S,GAAN,KACP,CAIW,YAAYjT,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EATaE,EAAA+S,GAAA,2BAUZA,GAAoC9S,GAAa,GAG3C,IAAM+S,GAAN,KACP,CAMW,YAAYlT,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAImT,EAAS,CAClD,EAXajT,EAAAgT,GAAA,+BAYZA,GAAwC/S,GAAa,GAG/C,IAAMiT,GAAN,KACP,CAKW,YAAYpT,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAI,KAAmB,CAC5D,EAVaE,EAAAkT,GAAA,8BAWZA,GAAuCjT,GAAa,GAG9C,IAAMkT,GAAN,KACP,CAOW,YAAYrT,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAZaC,EAAAmT,GAAA,6BAaZA,GAAsClT,GAAa,GAG7C,IAAMmT,GAAN,KACP,CAMW,YAAYtT,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAXaC,EAAAoT,GAAA,6BAYZA,GAAsCnT,GAAa,GAG7C,IAAMoT,GAAN,KACP,CASW,YAAYvT,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIgT,CAAyB,CAClE,EAda9S,EAAAqT,GAAA,6BAeZA,GAAsCpT,GAAa,GAG7C,IAAMqT,GAAN,KACP,CAIW,YAAYxT,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EATaE,EAAAsT,GAAA,kCAUZA,GAA2CrT,GAAa,GAGlD,IAAMsT,GAAN,KACP,CAOW,YAAYzT,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAZaC,EAAAuT,GAAA,+BAaZA,GAAwCtT,GAAa,GAG/C,IAAMuT,GAAN,KACP,CAIW,YAAY1T,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAiD,CAC1F,EATaC,EAAAwT,GAAA,wBAUZA,GAAiCvT,GAAa,GAGxC,IAAMwT,GAAN,KACP,CAKW,YAAY3T,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,aAAc,CAAE,MAAO,iCAAmC,CAC1D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAiD,CAC1F,EAVaC,EAAAyT,GAAA,mCAWZA,GAA4CxT,GAAa,GAInD,IAAMyT,GAAN,KACP,CAIW,YAAY5T,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAI,KAA+B,CACxE,EATaE,EAAA0T,GAAA,6BAUZA,GAAsCzT,GAAa,GAI7C,IAAM0T,GAAN,KACP,CAIW,YAAY7T,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAiC,CAC1E,EATaC,EAAA2T,GAAA,uBAUZA,GAAgC1T,GAAa,GAGvC,IAAM2T,GAAN,KACP,CAiBW,YAAY9T,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI+T,EAA2B,CACpE,EAtBa7T,EAAA4T,GAAA,kCAuBZA,GAA2C3T,GAAa,GAGlD,IAAM6T,GAAN,KACP,CAYW,YAAYhU,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA+B,CACxE,EAjBaC,EAAA8T,GAAA,uBAkBZA,GAAgC7T,GAAa,GAGvC,IAAM8T,GAAN,KACP,CAEW,YAAYjU,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA+B,CACxE,EAPaC,EAAA+T,GAAA,uBAQZA,GAAgC9T,GAAa,GAEvC,IAAM+T,GAAN,KACP,CAMW,YAAYlU,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAoC,CAC7E,EAXaC,EAAAgU,GAAA,6BAYZA,GAAsC/T,GAAa,GAG7C,IAAMgU,GAAN,KACP,CAEW,YAAYnU,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAPaC,EAAAiU,GAAA,wBAQZA,GAAiChU,GAAa,GAGxC,IAAMiU,GAAN,KACP,CAGW,YAAYpU,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EARaE,EAAAkU,GAAA,sBASZA,GAA+BjU,GAAa,GAGtC,IAAMkU,GAAN,KACP,CAEW,YAAYrU,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EAPaE,EAAAmU,GAAA,oBAQZA,GAA6BlU,GAAa,GAGpC,IAAMmU,GAAN,KACP,CAGW,YAAYtU,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EARaE,EAAAoU,GAAA,oBASZA,GAA6BnU,GAAa,GAGpC,IAAMoU,GAAN,KACP,CAMW,YAAYvU,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EAXaE,EAAAqU,GAAA,2BAYZA,GAAoCpU,GAAa,GAG3C,IAAMqU,GAAN,KACP,CAGW,YAAYxU,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EARaE,EAAAsU,GAAA,6BASZA,GAAsCrU,GAAa,GAG7C,IAAMsU,GAAN,KACP,CAIW,YAAYzU,EAAoD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,aAAc,CAAE,MAAO,oCAAsC,CAC7D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EATaE,EAAAuU,GAAA,sCAUZA,GAA+CtU,GAAa,GAGtD,IAAMuU,GAAN,KACP,CAMW,YAAY1U,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EAXaE,EAAAwU,GAAA,+BAYZA,GAAwCvU,GAAa,GAG/C,IAAMwU,GAAN,KACP,CAMW,YAAY3U,EAAmD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,aAAc,CAAE,MAAO,mCAAqC,CAC5D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EAXaE,EAAAyU,GAAA,qCAYZA,GAA8CxU,GAAa,GAGrD,IAAMyU,GAAN,KACP,CAKW,YAAY5U,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EAVaE,EAAA0U,GAAA,gCAWZA,GAAyCzU,GAAa,GAGhD,IAAM0U,GAAN,KACP,CAMW,YAAY7U,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EAXaC,EAAA2U,GAAA,yBAYZA,GAAkC1U,GAAa,GAGzC,IAAM2U,GAAN,KACP,CAQW,YAAY9U,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,aAAc,CAAE,MAAO,iCAAmC,CAC1D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EAbaE,EAAA4U,GAAA,mCAcZA,GAA4C3U,GAAa,GAGnD,IAAM4U,GAAN,KACP,CAEW,YAAY/U,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,aAAc,CAAE,MAAO,+BAAiC,CACxD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EAPaE,EAAA6U,GAAA,iCAQZA,GAA0C5U,GAAa,GAGjD,IAAM6U,GAAN,KACP,CAIW,YAAYhV,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA6C,CACtF,EATaC,EAAA8U,GAAA,+BAUZA,GAAwC7U,GAAa,GAG/C,IAAM8U,GAAN,KACP,CAIW,YAAYjV,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,aAAc,CAAE,MAAO,+BAAiC,CACxD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EATaE,EAAA+U,GAAA,iCAUZA,GAA0C9U,GAAa,GAGjD,IAAM+U,GAAN,KACP,CAIW,YAAYlV,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EATaC,EAAAgV,GAAA,+BAUZA,GAAwC/U,GAAa,GAI/C,IAAMgV,GAAN,KACP,CAEW,YAAYnV,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EAPaE,EAAAiV,GAAA,2BAQZA,GAAoChV,GAAa,GAG3C,IAAMiV,GAAN,KACP,CAEW,YAAYpV,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,aAAc,CAAE,MAAO,+BAAiC,CACxD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EAPaE,EAAAkV,GAAA,iCAQZA,GAA0CjV,GAAa,GAGjD,IAAMkV,GAAN,KACP,CAEW,YAAYrV,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EAPaE,EAAAmV,GAAA,kCAQZA,GAA2ClV,GAAa,GAGlD,IAAMmV,GAAN,KACP,CAEW,YAAYtV,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAiD,CAC1F,EAPaC,EAAAoV,GAAA,kCAQZA,GAA2CnV,GAAa,GAGlD,IAAMoV,GAAN,KACP,CAEW,YAAYvV,EAAoD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,aAAc,CAAE,MAAO,oCAAsC,CAC7D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EAPaC,EAAAqV,GAAA,sCAQZA,GAA+CpV,GAAa,GAGtD,IAAMqV,GAAN,KACP,CAEW,YAAYxV,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAiD,CAC1F,EAPaC,EAAAsV,GAAA,kCAQZA,GAA2CrV,GAAa,GAGlD,IAAMsV,GAAN,KACP,CAOW,YAAYzV,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EAZaE,EAAAuV,GAAA,yBAaZA,GAAkCtV,GAAa,GAEzC,IAAMuV,GAAN,KACP,CAEW,YAAY1V,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAPaC,EAAAwV,GAAA,yBAQZA,GAAkCvV,GAAa,GAGzC,IAAMwV,GAAN,KACP,CAGW,YAAY3V,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EARaC,EAAAyV,GAAA,wBASZA,GAAiCxV,GAAa,GAGxC,IAAMyV,GAAN,KACP,CAEW,YAAY5V,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmC,CAC5E,EAPaC,EAAA0V,GAAA,2BAQZA,GAAoCzV,GAAa,GAG3C,IAAM0V,GAAN,KACP,CAGW,YAAY7V,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,aAAc,CAAE,MAAO,iCAAmC,CAC1D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EARaE,EAAA2V,GAAA,mCASZA,GAA4C1V,GAAa,GAGnD,IAAM2V,GAAN,KACP,CAGW,YAAY9V,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EARaE,EAAA4V,GAAA,2BASZA,GAAoC3V,GAAa,GAG3C,IAAM4V,GAAN,KACP,CAGW,YAAY/V,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EARaE,EAAA6V,GAAA,8BASZA,GAAuC5V,GAAa,GAG9C,IAAM6V,GAAN,KACP,CAGW,YAAYhW,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EARaE,EAAA8V,GAAA,gCASZA,GAAyC7V,GAAa,GAGhD,IAAM8V,GAAN,KACP,CAGW,YAAYjW,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EARaE,EAAA+V,GAAA,uBASZA,GAAgC9V,GAAa,GAGvC,IAAM+V,GAAN,KACP,CAGW,YAAYlW,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA6C,CACtF,EARaC,EAAAgW,GAAA,qBASZA,GAA8B/V,GAAa,GAGrC,IAAMgW,GAAN,KACP,CAGW,YAAYnW,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EARaE,EAAAiW,GAAA,+BASZA,GAAwChW,GAAa,GAG/C,IAAMiW,GAAN,KACP,CAIW,YAAYpW,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EATaE,EAAAkW,GAAA,kCAUZA,GAA2CjW,GAAa,GAGlD,IAAMkW,GAAN,KACP,CAIW,YAAYrW,EAAoD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,aAAc,CAAE,MAAO,oCAAsC,CAC7D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EATaE,EAAAmW,GAAA,sCAUZA,GAA+ClW,GAAa,GAGtD,IAAMmW,GAAN,KACP,CAGW,YAAYtW,EAAwD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1G,aAAc,CAAE,MAAO,wCAA0C,CACjE,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EARaE,EAAAoW,GAAA,0CASZA,GAAmDnW,GAAa,GAG1D,IAAMoW,GAAN,KACP,CAIW,YAAYvW,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,aAAc,CAAE,MAAO,iCAAmC,CAC1D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EATaC,EAAAqW,GAAA,mCAUZA,GAA4CpW,GAAa,GAGnD,IAAMqW,GAAN,KACP,CAGW,YAAYxW,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EARaE,EAAAsW,GAAA,wBASZA,GAAiCrW,GAAa,GAGxC,IAAMsW,GAAN,KACP,CAGW,YAAYzW,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EARaE,EAAAuW,GAAA,yBASZA,GAAkCtW,GAAa,GAEzC,IAAMuW,GAAN,KACP,CAIW,YAAY1W,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAwC,CACjF,EATaC,EAAAwW,GAAA,yBAUZA,GAAkCvW,GAAa,GAIzC,IAAMwW,GAAN,KACP,CAGW,YAAY3W,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,aAAc,CAAE,MAAO,iCAAmC,CAC1D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAuC,CAChF,EARaC,EAAAyW,GAAA,mCASZA,GAA4CxW,GAAa,GAInD,IAAMyW,GAAN,KACP,CAIW,YAAY5W,EAAkD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,aAAc,CAAE,MAAO,kCAAoC,CAC3D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwB,CACjE,EATaC,EAAA0W,GAAA,oCAUZA,GAA6CzW,GAAa,GAGpD,IAAM0W,GAAN,KACP,CAGW,YAAY7W,EAAyD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3G,aAAc,CAAE,MAAO,yCAA2C,CAClE,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI8W,EAAyB,CAClE,EARa5W,EAAA2W,GAAA,2CASZA,GAAoD1W,GAAa,GAG3D,IAAM4W,GAAN,KACP,CAIW,YAAY/W,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,aAAc,CAAE,MAAO,+BAAiC,CACxD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI,KAAiC,CAC1E,EATaE,EAAA6W,GAAA,iCAUZA,GAA0C5W,GAAa,GAGjD,IAAM6W,GAAN,KACP,CAKW,YAAYhX,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClF,aAAc,CAAE,MAAO,gBAAkB,CACzC,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI,KAAiC,CAC1E,EAVaE,EAAA8W,GAAA,kBAWZA,GAA2B7W,GAAa,GAGlC,IAAM8W,GAAN,KACP,CAMW,YAAYjX,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA2C,CACpF,EAXaC,EAAA+W,GAAA,4BAYZA,GAAqC9W,GAAa,GAG5C,IAAM+W,GAAN,KACP,CAOW,YAAYlX,EAA8B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChF,aAAc,CAAE,MAAO,cAAgB,CACvC,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA2C,CACpF,EAZaC,EAAAgX,GAAA,gBAaZA,GAAyB/W,GAAa,GAGhC,IAAMgX,GAAN,KACP,CAMW,YAAYnX,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAwC,CACjF,EAXaC,EAAAiX,GAAA,gCAYZA,GAAyChX,GAAa,GAGhD,IAAMiX,GAAN,KACP,CAQW,YAAYpX,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClF,aAAc,CAAE,MAAO,gBAAkB,CACzC,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA2C,CACpF,EAbaC,EAAAkX,GAAA,kBAcZA,GAA2BjX,GAAa,GAIlC,IAAMkX,GAAN,KACP,CAGW,YAAYrX,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA6C,CACtF,EARaC,EAAAmX,GAAA,uBASZA,GAAgClX,GAAa,GAIvC,IAAMmX,GAAN,KACP,CAGW,YAAYtX,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,aAAc,CAAE,MAAO,+BAAiC,CACxD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA6C,CACtF,EARaC,EAAAoX,GAAA,iCASZA,GAA0CnX,GAAa,GAGjD,IAAMoX,GAAN,KACP,CAEW,YAAYvX,EAAoD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,aAAc,CAAE,MAAO,oCAAsC,CAC7D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAsC,CAC/E,EAPaC,EAAAqX,GAAA,sCAQZA,GAA+CpX,GAAa,GAGtD,IAAMqX,GAAN,KACP,CAGW,YAAYxX,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EARaC,EAAAsX,GAAA,0BASZA,GAAmCrX,GAAa,GAG1C,IAAMsX,GAAN,KACP,CAIW,YAAYzX,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EATaC,EAAAuX,GAAA,8BAUZA,GAAuCtX,GAAa,GAG9C,IAAMuX,GAAN,KACP,CAEW,YAAY1X,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,MAAO,EAAG,CACxC,EAPaE,EAAAwX,GAAA,4BAQZA,GAAqCvX,GAAa,GAG5C,IAAMwX,GAAN,KACP,CAGW,YAAY3X,EAAqD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,aAAc,CAAE,MAAO,qCAAuC,CAC9D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAwB,CACjE,EARaC,EAAAyX,GAAA,uCASZA,GAAgDxX,GAAa,GAGvD,IAAMyX,GAAN,KACP,CAKW,YAAY5X,EAAuD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,aAAc,CAAE,MAAO,uCAAyC,CAChE,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,MAAO,EAAO,CAC5C,EAVaE,EAAA0X,GAAA,yCAWZA,GAAkDzX,GAAa,GAEzD,IAAM0X,GAAN,KACP,CAIW,YAAY7X,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EATaC,EAAA2X,GAAA,8BAUZA,GAAuC1X,GAAa,GAG9C,IAAM2X,GAAN,KACP,CAGW,YAAY9X,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EARaC,EAAA4X,GAAA,kCASZA,GAA2C3X,GAAa,GAIlD,IAAM4X,GAAN,KACP,CAIW,YAAY/X,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA6C,CACtF,EATaC,EAAA6X,GAAA,6BAUZA,GAAsC5X,GAAa,GAI7C,IAAM6X,GAAN,KACP,CAMW,YAAYhY,EAAmD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,aAAc,CAAE,MAAO,mCAAqC,CAC5D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIuG,CAA0B,CACnE,EAXarG,EAAA8X,GAAA,qCAYZA,GAA8C7X,GAAa,GAGrD,IAAM8X,GAAN,KACP,CAwCW,YAAYjY,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA6C,CACtF,EA7CaC,EAAA+X,GAAA,2BA8CZA,GAAoC9X,GAAa,GAG3C,IAAM+X,GAAN,KACP,CAQW,YAAYlY,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI,KAAuB,CAChE,EAbaE,EAAAgY,GAAA,8BAcZA,GAAuC/X,GAAa,GAG9C,IAAMgY,GAAN,KACP,CAMW,YAAYnY,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA8B,CACvE,EAXaC,EAAAiY,GAAA,kCAYZA,GAA2ChY,GAAa,GAGlD,IAAMiY,GAAN,KACP,CAKW,YAAYpY,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI,KAAuB,CAChE,EAVaE,EAAAkY,GAAA,gCAWZA,GAAyCjY,GAAa,GAIhD,IAAMkY,GAAN,KACP,CAKW,YAAYrY,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAI,KAAuB,CAChE,EAVaE,EAAAmY,GAAA,0BAWZA,GAAmClY,GAAa,GAG1C,IAAMmY,GAAN,KACP,CAKW,YAAYtY,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,aAAc,CAAE,MAAO,iCAAmC,CAC1D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAI,KAAmB,CAC5D,EAVaE,EAAAoY,GAAA,mCAWZA,GAA4CnY,GAAa,GAGnD,IAAMoY,GAAN,KACP,CAGW,YAAYvY,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,aAAc,CAAE,MAAO,+BAAiC,CACxD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAwC,CACjF,EARaC,EAAAqY,GAAA,iCASZA,GAA0CpY,GAAa,GAEjD,IAAMqY,GAAN,KACP,CAEW,YAAYxY,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAgD,CACzF,EAPaC,EAAAsY,GAAA,yBAQZA,GAAkCrY,GAAa,GAGzC,IAAMsY,GAAN,KACP,CAEW,YAAYzY,EAAsD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,aAAc,CAAE,MAAO,sCAAwC,CAC/D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA6C,CACtF,EAPaC,EAAAuY,GAAA,wCAQZA,GAAiDtY,GAAa,GAGxD,IAAMuY,GAAN,KACP,CAKW,YAAY1Y,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,aAAc,CAAE,MAAO,iCAAmC,CAC1D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EAVaE,EAAAwY,GAAA,mCAWZA,GAA4CvY,GAAa,GAEnD,IAAMwY,GAAN,cAA2CC,CAClD,CAEW,YAAY5Y,EAA8C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7G,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAPaC,EAAAyY,GAAA,gCAQZA,GAAyCxY,GAAa,GAEhD,IAAM0Y,GAAN,cAA6CD,CACpD,CAEW,YAAY5Y,EAAgD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/G,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAPaC,EAAA2Y,GAAA,kCAQZA,GAA2C1Y,GAAa,GAElD,IAAM2Y,GAAN,KACP,CAGW,YAAY9Y,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EARaC,EAAA4Y,GAAA,sBASZA,GAA+B3Y,GAAa,GAEtC,IAAM4Y,GAAN,KACP,CAGW,YAAY/Y,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EARaC,EAAA6Y,GAAA,sBASZA,GAA+B5Y,GAAa,GAEtC,IAAM6Y,GAAN,KACP,CAEW,YAAYhZ,EAA8B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChF,aAAc,CAAE,MAAO,cAAgB,CACvC,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAPaC,EAAA8Y,GAAA,gBAQZA,GAAyB7Y,GAAa,GAEhC,IAAM8Y,GAAN,KACP,CAGW,YAAYjZ,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA+B,CACxE,EARaC,EAAA+Y,GAAA,6BASZA,GAAsC9Y,GAAa,GAE7C,IAAM+Y,GAAN,cAAuDC,EAC9D,CAIW,YAAYnZ,EAA0D,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzH,aAAc,CAAE,MAAO,0CAA4C,CACnE,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA+C,CACxF,EATaC,EAAAgZ,GAAA,4CAUZA,GAAqD/Y,GAAa,GAE5D,IAAMiZ,GAAN,KACP,CAuBW,YAAYpZ,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAoC,CAC7E,EA5BaC,EAAAkZ,GAAA,qBA6BZA,GAA8BjZ,GAAa,GAErC,IAAMkZ,GAAN,KACP,CAIW,YAAYrZ,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwB,CACjE,EATaC,EAAAmZ,GAAA,8BAUZA,GAAuClZ,GAAa,GAE9C,IAAMmZ,GAAN,KACP,CAGW,YAAYtZ,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA4C,CACrF,EARaC,EAAAoZ,GAAA,6BASZA,GAAsCnZ,GAAa,GAE7C,IAAMoZ,GAAN,KACP,CAGW,YAAYvZ,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EARaC,EAAAqZ,GAAA,+BASZA,GAAwCpZ,GAAa,GAE/C,IAAMqZ,GAAN,KACP,CAIW,YAAYxZ,EAAmD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,aAAc,CAAE,MAAO,mCAAqC,CAC5D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EATaC,EAAAsZ,GAAA,qCAUZA,GAA8CrZ,GAAa,GAErD,IAAMsZ,GAAN,KACP,CAEW,YAAYzZ,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EAPaC,EAAAuZ,GAAA,0BAQZA,GAAmCtZ,GAAa,GAE1C,IAAMuZ,GAAN,cAAyCC,CAChD,CAKW,YAAY3Z,EAA4C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3G,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EAVaC,EAAAwZ,GAAA,8BAWZA,GAAuCvZ,GAAa,GAE9C,IAAMyZ,GAAN,KACP,CAKW,YAAY5Z,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAsC,CAC/E,EAVaC,EAAA0Z,GAAA,uBAWZA,GAAgCzZ,GAAa,GAEvC,IAAM0Z,GAAN,KACP,CAGW,YAAY7Z,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAgC,CACzE,EARaC,EAAA2Z,GAAA,qBASZA,GAA8B1Z,GAAa,GAErC,IAAM2Z,GAAN,cAAiCC,CACxC,CAEW,YAAY/Z,EAAoC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAgC,CACzE,EAPaC,EAAA4Z,GAAA,sBAQZA,GAA+B3Z,GAAa,GAEtC,IAAM6Z,GAAN,cAAkCD,CACzC,CAOW,YAAY/Z,EAAqC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAsC,CAC/E,EAZaC,EAAA8Z,GAAA,uBAaZA,GAAgC7Z,GAAa,GAEvC,IAAM8Z,GAAN,KACP,CAKW,YAAYja,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA6C,CACtF,EAVaC,EAAA+Z,GAAA,8BAWZA,GAAuC9Z,GAAa,GAE9C,IAAM+Z,GAAN,cAAmCC,CAC1C,CAGW,YAAYna,EAAsC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EARaC,EAAAga,GAAA,wBASZA,GAAiC/Z,GAAa,GAExC,IAAMia,GAAN,cAAyCD,CAChD,CAEW,YAAYna,EAA4C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3G,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EAPaC,EAAAka,GAAA,8BAQZA,GAAuCja,GAAa,GAE9C,IAAMka,GAAN,cAAuCF,CAC9C,CAEW,YAAYna,EAA0C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EAPaC,EAAAma,GAAA,4BAQZA,GAAqCla,GAAa,GAG5C,IAAMma,GAAN,KACP,CAGW,YAAYta,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,aAAc,CAAE,MAAO,+BAAiC,CACxD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIO,CAAc,CACvD,EARaL,EAAAoa,GAAA,iCASZA,GAA0Cna,GAAa,GAEjD,IAAMoa,GAAN,KACP,CAGW,YAAYva,EAAqE,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvH,aAAc,CAAE,MAAO,qDAAuD,CAC9E,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA0C,CACnF,EARaC,EAAAqa,GAAA,uDASZA,GAAgEpa,GAAa,GAEvE,IAAMqa,GAAN,KACP,CAGW,YAAYxa,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EARaC,EAAAsa,GAAA,4BASZA,GAAqCra,GAAa,GAE5C,IAAMsa,GAAN,KACP,CAGW,YAAYza,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EARaC,EAAAua,GAAA,4BASZA,GAAqCta,GAAa,GAE5C,IAAMua,GAAN,KACP,CAGW,YAAY1a,EAAoD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,aAAc,CAAE,MAAO,oCAAsC,CAC7D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAqD,CAC9F,EARaC,EAAAwa,GAAA,sCASZA,GAA+Cva,GAAa,GAEtD,IAAMwa,GAAN,KACP,CAEW,YAAY3a,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA+C,CACxF,EAPaC,EAAAya,GAAA,gCAQZA,GAAyCxa,GAAa,GAEhD,IAAMya,GAAN,cAAsCC,EAC7C,CAOW,YAAY7a,EAAyC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmD,CAC5F,EAZaC,EAAA0a,GAAA,2BAaZA,GAAoCza,GAAa,GAE3C,IAAM2a,GAAN,KACP,CAKW,YAAY9a,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,aAAc,CAAE,MAAO,+BAAiC,CACxD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmD,CAC5F,EAVaC,EAAA4a,GAAA,iCAWZA,GAA0C3a,GAAa,GAEjD,IAAM4a,GAAN,KACP,CAKW,YAAY/a,EAA0D,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5G,aAAc,CAAE,MAAO,0CAA4C,CACnE,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAVaC,EAAA6a,GAAA,4CAWZA,GAAqD5a,GAAa,GAE5D,IAAM6a,GAAN,KACP,CAGW,YAAYhb,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EARaC,EAAA8a,GAAA,sBASZA,GAA+B7a,GAAa,GAEtC,IAAM8a,GAAN,KACP,CAGW,YAAYjb,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,QAAU,CAC/B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EARaC,EAAA+a,GAAA,wBASZA,GAAiC9a,GAAa,GAExC,IAAM+a,GAAN,cAAiCC,EACxC,CAEW,YAAYnb,EAAoC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAgC,CACzE,EAPaC,EAAAgb,GAAA,sBAQZA,GAA+B/a,GAAa,GAEtC,IAAMib,GAAN,cAAiCC,CACxC,CAGW,YAAYrb,EAAoC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA+B,CACxE,EARaC,EAAAkb,GAAA,sBASZA,GAA+Bjb,GAAa,GAEtC,IAAMmb,GAAN,KACP,CAIW,YAAYtb,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,aAAc,CAAE,MAAO,+BAAiC,CACxD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EATaE,EAAAob,GAAA,iCAUZA,GAA0Cnb,GAAa,GAEjD,IAAMob,GAAN,KACP,CAEW,YAAYvb,EAAoD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,aAAc,CAAE,MAAO,oCAAsC,CAC7D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EAPaE,EAAAqb,GAAA,sCAQZA,GAA+Cpb,GAAa,GAGtD,IAAMqb,GAAN,KACP,CAGW,YAAYxb,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAiC,CAC1E,EARaC,EAAAsb,GAAA,4BASZA,GAAqCrb,GAAa,GAG5C,IAAMsb,GAAN,KACP,CAMW,YAAYzb,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAiC,CAC1E,EAXaC,EAAAub,GAAA,4BAYZA,GAAqCtb,GAAa,GAG5C,IAAMub,GAAN,KACP,CAGW,YAAY1b,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EARaE,EAAAwb,GAAA,8BASZA,GAAuCvb,GAAa,GAG9C,IAAMwb,GAAN,KACP,CAEW,YAAY3b,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClF,aAAc,CAAE,MAAO,gBAAkB,CACzC,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAiC,CAC1E,EAPaC,EAAAyb,GAAA,kBAQZA,GAA2Bxb,GAAa,GAGlC,IAAMyb,GAAN,KACP,CAEW,YAAY5b,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAI2R,CAAc,CACvD,EAPazR,EAAA0b,GAAA,qBAQZA,GAA8Bzb,GAAa,GAGrC,IAAM0b,GAAN,KACP,CAGW,YAAY7b,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EARaE,EAAA2b,GAAA,2BASZA,GAAoC1b,GAAa,GAG3C,IAAM2b,GAAN,KACP,CAGW,YAAY9b,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,aAAc,CAAE,MAAO,+BAAiC,CACxD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EARaE,EAAA4b,GAAA,iCASZA,GAA0C3b,GAAa,GAIjD,IAAM4b,GAAN,KACP,CASW,YAAY/b,EAA8B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChF,aAAc,CAAE,MAAO,cAAgB,CACvC,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA8B,CACvE,EAdaC,EAAA6b,GAAA,gBAeZA,GAAyB5b,GAAa,GAGhC,IAAM6b,GAAN,KACP,CASW,YAAYhc,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA8B,CACvE,EAdaC,EAAA8b,GAAA,oBAeZA,GAA6B7b,GAAa,GAGpC,IAAM8b,GAAN,KACP,CASW,YAAYjc,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIkc,EAAQ,CACjD,EAdahc,EAAA+b,GAAA,sBAeZA,GAA+B9b,GAAa,GAGtC,IAAMgc,GAAN,cAAgCxZ,CACvC,CAIW,YAAY3C,EAAmC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA8B,CACvE,EATaC,EAAAic,GAAA,qBAUZA,GAA8Bhc,GAAa,GAIrC,IAAMic,GAAN,KACP,CAGW,YAAYpc,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAI,KAAe,CACxD,EARaE,EAAAkc,GAAA,oBASZA,GAA6Bjc,GAAa,GAGpC,IAAMkc,GAAN,KACP,CAEW,YAAYrc,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,MAAO,EAAG,CACxC,EAPaE,EAAAmc,GAAA,oBAQZA,GAA6Blc,GAAa,GAGpC,IAAMmc,GAAN,KACP,CAGW,YAAYtc,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA8B,CACvE,EARaC,EAAAoc,GAAA,qBASZA,GAA8Bnc,GAAa,GAGrC,IAAMoc,GAAN,KACP,CAQW,YAAYvc,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EAbaC,EAAAqc,GAAA,2BAcZA,GAAoCpc,GAAa,GAG3C,IAAMqc,GAAN,KACP,CAGW,YAAYxc,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EARaC,EAAAsc,GAAA,2BASZA,GAAoCrc,GAAa,GAE3C,IAAMsc,GAAN,cAAgDC,EACvD,CAIW,YAAY1c,EAAmD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClH,aAAc,CAAE,MAAO,mCAAqC,CAC5D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA+C,CACxF,EATaC,EAAAuc,GAAA,qCAUZA,GAA8Ctc,GAAa,GAGrD,IAAMwc,GAAN,cAA2Bha,CAClC,CAIW,YAAY3C,EAA8B,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,cAAgB,CACvC,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA2C,CACpF,EATaC,EAAAyc,GAAA,gBAUZA,GAAyBxc,GAAa,GAGhC,IAAMyc,GAAN,KACP,CAIW,YAAY5c,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EATaC,EAAA0c,GAAA,0BAUZA,GAAmCzc,GAAa,GAG1C,IAAM0c,GAAN,KACP,CAEW,YAAY7c,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EAPaE,EAAA2c,GAAA,6BAQZA,GAAsC1c,GAAa,GAG7C,IAAM2c,GAAN,KACP,CA4FW,YAAY9c,EAA2B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7E,aAAc,CAAE,MAAO,WAAa,CACpC,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA2C,CACpF,EAjGaC,EAAA4c,GAAA,aAkGZA,GAAsB3c,GAAa,GAG7B,IAAM4c,GAAN,KACP,CAIW,YAAY/c,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmC,CAC5E,EATaC,EAAA6c,GAAA,sBAUZA,GAA+B5c,GAAa,GAGtC,IAAM6c,GAAN,KACP,CAEW,YAAYhd,EAAkD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,aAAc,CAAE,MAAO,kCAAoC,CAC3D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EAPaE,EAAA8c,GAAA,oCAQZA,GAA6C7c,GAAa,GAGpD,IAAM8c,GAAN,KACP,CAEW,YAAYjd,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA6C,CACtF,EAPaC,EAAA+c,GAAA,gCAQZA,GAAyC9c,GAAa,GAGhD,IAAM+c,GAAN,KACP,CAQW,YAAYld,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA2C,CACpF,EAbaC,EAAAgd,GAAA,4BAcZA,GAAqC/c,GAAa,GAG5C,IAAMgd,GAAN,cAAiCC,EACxC,CAEW,YAAYpd,EAAoC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA2C,CACpF,EAPaC,EAAAid,GAAA,sBAQZA,GAA+Bhd,GAAa,GAGtC,IAAMkd,GAAN,KACP,CAGW,YAAYrd,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnF,aAAc,CAAE,MAAO,iBAAmB,CAC1C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EARaC,EAAAmd,GAAA,mBASZA,GAA4Bld,GAAa,GAEnC,IAAMmd,GAAN,KACP,CAmBW,YAAYtd,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAkC,CAC3E,EAxBaC,EAAAod,GAAA,uBAyBZA,GAAgCnd,GAAa,GAEvC,IAAMod,GAAN,cAA6C5a,CACpD,CASW,YAAY3C,EAAgD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/G,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAkC,CAC3E,EAdaC,EAAAqd,GAAA,kCAeZA,GAA2Cpd,GAAa,GAGlD,IAAMqd,GAAN,cAAiC7a,CACxC,CASW,YAAY3C,EAAoC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA+B,CACxE,EAdaC,EAAAsd,GAAA,sBAeZA,GAA+Brd,GAAa,GAGtC,IAAMsd,GAAN,KACP,CAOW,YAAYzd,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnF,aAAc,CAAE,MAAO,iBAAmB,CAC1C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAZaC,EAAAud,GAAA,mBAaZA,GAA4Btd,GAAa,GAGnC,IAAMud,GAAN,KACP,CAIW,YAAY1d,EAA8B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChF,aAAc,CAAE,MAAO,cAAgB,CACvC,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA+B,CACxE,EATaC,EAAAwd,GAAA,gBAUZA,GAAyBvd,GAAa,GAEhC,IAAMwd,GAAN,cAAiCC,EACxC,CAEW,YAAY5d,EAAoC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EAPaC,EAAAyd,GAAA,sBAQZA,GAA+Bxd,GAAa,GAGtC,IAAM0d,GAAN,KACP,CAEW,YAAY7d,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAkC,CAC3E,EAPaC,EAAA2d,GAAA,wBAQZA,GAAiC1d,GAAa,GAGxC,IAAM2d,GAAN,KACP,CAGW,YAAY9d,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAsC,CAC/E,EARaC,EAAA4d,GAAA,sBASZA,GAA+B3d,GAAa,GAItC,IAAM4d,GAAN,KACP,CAMW,YAAY/d,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAuC,CAChF,EAXaC,EAAA6d,GAAA,wBAYZA,GAAiC5d,GAAa,GAGxC,IAAM6d,GAAN,KACP,CAMW,YAAYhe,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAXaC,EAAA8d,GAAA,8BAYZA,GAAuC7d,GAAa,GAG9C,IAAM8d,GAAN,KACP,CAMW,YAAYje,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAuC,CAChF,EAXaC,EAAA+d,GAAA,6BAYZA,GAAsC9d,GAAa,GAG7C,IAAM+d,GAAN,KACP,CAMW,YAAYle,EAAoD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,aAAc,CAAE,MAAO,oCAAsC,CAC7D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAuC,CAChF,EAXaC,EAAAge,GAAA,sCAYZA,GAA+C/d,GAAa,GAGtD,IAAMge,GAAN,KACP,CAMW,YAAYne,EAAkD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,aAAc,CAAE,MAAO,kCAAoC,CAC3D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA2C,CACpF,EAXaC,EAAAie,GAAA,oCAYZA,GAA6Che,GAAa,GAGpD,IAAMie,GAAN,KACP,CA2BW,YAAYpe,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAuC,CAChF,EAhCaC,EAAAke,GAAA,qBAiCZA,GAA8Bje,GAAa,GAGrC,IAAMke,GAAN,KACP,CAEW,YAAYre,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EAPaE,EAAAme,GAAA,oBAQZA,GAA6Ble,GAAa,GAGpC,IAAMme,GAAN,KACP,CAIW,YAAYte,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EATaE,EAAAoe,GAAA,qBAUZA,GAA8Bne,GAAa,GAGrC,IAAMoe,GAAN,KACP,CAIW,YAAYve,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EATaE,EAAAqe,GAAA,sBAUZA,GAA+Bpe,GAAa,GAGtC,IAAMqe,GAAN,KACP,CAEW,YAAYxe,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EAPaE,EAAAse,GAAA,4BAQZA,GAAqCre,GAAa,GAG5C,IAAMse,GAAN,KACP,CAYW,YAAYze,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnF,aAAc,CAAE,MAAO,iBAAmB,CAC1C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EAjBaE,EAAAue,GAAA,mBAkBZA,GAA4Bte,GAAa,GAGnC,IAAMue,GAAN,KACP,CAGW,YAAY1e,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjF,aAAc,CAAE,MAAO,eAAiB,CACxC,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAgC,CACzE,EARaC,EAAAwe,GAAA,iBASZA,GAA0Bve,GAAa,GAGjC,IAAMwe,GAAN,KACP,CAIW,YAAY3e,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAgC,CACzE,EATaC,EAAAye,GAAA,oBAUZA,GAA6Bxe,GAAa,GAEpC,IAAMye,GAAN,KACP,CAGW,YAAY5e,EAAkD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,aAAc,CAAE,MAAO,kCAAoC,CAC3D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAsC,CAC/E,EARaC,EAAA0e,GAAA,oCASZA,GAA6Cze,GAAa,GAGpD,IAAM0e,GAAN,KACP,CAEW,YAAY7e,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAgC,CACzE,EAPaC,EAAA2e,GAAA,yBAQZA,GAAkC1e,GAAa,GAGzC,IAAM2e,GAAN,KACP,CAMW,YAAY9e,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjF,aAAc,CAAE,MAAO,eAAiB,CACxC,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAgC,CACzE,EAXaC,EAAA4e,GAAA,iBAYZA,GAA0B3e,GAAa,GAGjC,IAAM4e,GAAN,KACP,CAIW,YAAY/e,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAgC,CACzE,EATaC,EAAA6e,GAAA,oBAUZA,GAA6B5e,GAAa,GAGpC,IAAM6e,GAAN,KACP,CAKW,YAAYhf,EAA4B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9E,aAAc,CAAE,MAAO,YAAc,CACrC,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAgC,CACzE,EAVaC,EAAA8e,GAAA,cAWZA,GAAuB7e,GAAa,GAG9B,IAAM8e,GAAN,KACP,CAEW,YAAYjf,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClF,aAAc,CAAE,MAAO,gBAAkB,CACzC,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA6C,CACtF,EAPaC,EAAA+e,GAAA,kBAQZA,GAA2B9e,GAAa,GAGlC,IAAM+e,GAAN,KACP,CAEW,YAAYlf,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAImf,EAAyB,CAClE,EAPajf,EAAAgf,GAAA,wBAQZA,GAAiC/e,GAAa,GAGxC,IAAMif,GAAN,KACP,CAEW,YAAYpf,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EAPaE,EAAAkf,GAAA,wBAQZA,GAAiCjf,GAAa,GAGxC,IAAMkf,GAAN,KACP,CAGW,YAAYrf,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,aAAc,CAAE,MAAO,iCAAmC,CAC1D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EARaE,EAAAmf,GAAA,mCASZA,GAA4Clf,GAAa,GAanD,IAAMmf,GAAN,KACP,CAMW,YAAYC,EAA6B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/E,aAAc,CAAE,MAAO,aAAe,CACtC,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA8B,CACvE,EAXaC,EAAAH,GAAA,eAYZA,GAAwBI,GAAa,GAG/B,IAAMC,GAAN,KACP,CAGW,YAAYJ,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAI,KAAsB,CAC/D,EARaE,EAAAE,GAAA,0BASZA,GAAmCD,GAAa,GAG1C,IAAME,GAAN,KACP,CAIW,YAAYL,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAI,KAAuC,CAChF,EATaE,EAAAG,GAAA,uBAUZA,GAAgCF,GAAa,GAGvC,IAAMG,GAAN,KACP,CAOW,YAAYN,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnF,aAAc,CAAE,MAAO,iBAAmB,CAC1C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA8B,CACvE,EAZaC,EAAAI,GAAA,mBAaZA,GAA4BH,GAAa,GAInC,IAAMI,GAAN,cAA8BC,EACrC,CAEW,YAAYR,EAAiC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,iBAAmB,CAC1C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA8B,CACvE,EAPaC,EAAAK,GAAA,mBAQZA,GAA4BJ,GAAa,GAGnC,IAAMM,GAAN,KACP,CASW,YAAYT,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAdaC,EAAAO,GAAA,0BAeZA,GAAmCN,GAAa,GAE1C,IAAMO,GAAN,KACP,CAGW,YAAYV,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EARaC,EAAAQ,GAAA,4BASZA,GAAqCP,GAAa,GAG5C,IAAMQ,GAAN,KACP,CAIW,YAAYX,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EATaE,EAAAS,GAAA,2BAUZA,GAAoCR,GAAa,GAG3C,IAAMS,GAAN,KACP,CAEW,YAAYZ,EAAkD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,aAAc,CAAE,MAAO,kCAAoC,CAC3D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA6C,CACtF,EAPaC,EAAAU,GAAA,oCAQZA,GAA6CT,GAAa,GAGpD,IAAMU,GAAN,KACP,CAGW,YAAYb,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,aAAc,CAAE,MAAO,+BAAiC,CACxD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA6C,CACtF,EARaC,EAAAW,GAAA,iCASZA,GAA0CV,GAAa,GAGjD,IAAMW,GAAN,cAA6CC,CACpD,CAEW,YAAYf,EAAgD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/G,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA6C,CACtF,EAPaC,EAAAY,GAAA,kCAQZA,GAA2CX,GAAa,GAGlD,IAAMa,GAAN,cAA4CD,CACnD,CAEW,YAAYf,EAA+C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9G,aAAc,CAAE,MAAO,+BAAiC,CACxD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA6C,CACtF,EAPaC,EAAAc,GAAA,iCAQZA,GAA0Cb,GAAa,GAGjD,IAAMc,GAAN,KACP,CAGW,YAAYjB,EAAkD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,aAAc,CAAE,MAAO,kCAAoC,CAC3D,WAAY,CAAE,MAAO,QAAU,CAC/B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EARaC,EAAAe,GAAA,oCASZA,GAA6Cd,GAAa,GAEpD,IAAMe,GAAN,KACP,CAGW,YAAYlB,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EARaC,EAAAgB,GAAA,gCASZA,GAAyCf,GAAa,GAEhD,IAAMgB,GAAN,KACP,CAEW,YAAYnB,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAPaC,EAAAiB,GAAA,qBAQZA,GAA8BhB,GAAa,GAErC,IAAMiB,GAAN,KACP,CAGW,YAAYpB,EAAuD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,aAAc,CAAE,MAAO,uCAAyC,CAChE,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAoD,CAC7F,EARaC,EAAAkB,GAAA,yCASZA,GAAkDjB,GAAa,GAEzD,IAAMkB,GAAN,KACP,CAIW,YAAYrB,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA4C,CACrF,EATaC,EAAAmB,GAAA,6BAUZA,GAAsClB,GAAa,GAE7C,IAAMmB,GAAN,KACP,CAGW,YAAYtB,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwC,CACjF,EARaC,EAAAoB,GAAA,yBASZA,GAAkCnB,GAAa,GAEzC,IAAMoB,GAAN,KACP,CAEW,YAAYvB,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAPaC,EAAAqB,GAAA,uBAQZA,GAAgCpB,GAAa,GAEvC,IAAMqB,GAAN,KACP,CAEW,YAAYxB,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EAPaE,EAAAsB,GAAA,+BAQZA,GAAwCrB,GAAa,GAG/C,IAAMsB,GAAN,cAAkCC,CACzC,CAOW,YAAY1B,EAAqC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI2B,EAAwB,CACjE,EAZazB,EAAAuB,GAAA,uBAaZA,GAAgCtB,GAAa,GAGvC,IAAMyB,GAAN,cAAgCF,CACvC,CAKW,YAAY1B,EAAmC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI6B,EAAsB,CAC/D,EAVa3B,EAAA0B,GAAA,qBAWZA,GAA8BzB,GAAa,GAGrC,IAAM2B,GAAN,cAAqCJ,CAC5C,CAIW,YAAY1B,EAAwC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI+B,EAA2B,CACpE,EATa7B,EAAA4B,GAAA,0BAUZA,GAAmC3B,GAAa,GAG1C,IAAM6B,GAAN,cAAoCN,CAC3C,CAKW,YAAY1B,EAAuC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIiC,EAA0B,CACnE,EAVa/B,EAAA8B,GAAA,yBAWZA,GAAkC7B,GAAa,GAGzC,IAAM+B,GAAN,cAA6CR,CACpD,CAEW,YAAY1B,EAAgD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/G,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAImC,EAAmC,CAC5E,EAPajC,EAAAgC,GAAA,kCAQZA,GAA2C/B,GAAa,GAGlD,IAAMiC,GAAN,cAAyCV,CAChD,CAIW,YAAY1B,EAA4C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3G,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIqC,EAA+B,CACxE,EATanC,EAAAkC,GAAA,8BAUZA,GAAuCjC,GAAa,GAG9C,IAAMmC,GAAN,cAAuCZ,CAC9C,CAIW,YAAY1B,EAA0C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIuC,EAAuB,CAChE,EATarC,EAAAoC,GAAA,4BAUZA,GAAqCnC,GAAa,GAG5C,IAAMqC,GAAN,cAAsCd,CAC7C,CAIW,YAAY1B,EAAyC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIyC,EAA4B,CACrE,EATavC,EAAAsC,GAAA,2BAUZA,GAAoCrC,GAAa,GAG3C,IAAMuC,GAAN,cAA0ChB,CACjD,CAIW,YAAY1B,EAA6C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5G,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI2C,EAA0B,CACnE,EATazC,EAAAwC,GAAA,+BAUZA,GAAwCvC,GAAa,GAG/C,IAAMyC,GAAN,cAA2ClB,CAClD,CAQW,YAAY1B,EAA8C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7G,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI6C,EAA0B,CACnE,EAba3C,EAAA0C,GAAA,gCAcZA,GAAyCzC,GAAa,GAGhD,IAAM2C,GAAN,cAAoDpB,CAC3D,CAEW,YAAY1B,EAAuD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtH,aAAc,CAAE,MAAO,uCAAyC,CAChE,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwD,CACjG,EAPaC,EAAA4C,GAAA,yCAQZA,GAAkD3C,GAAa,GAGzD,IAAM4C,GAAN,cAA8CrB,CACrD,CAMW,YAAY1B,EAAiD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChH,aAAc,CAAE,MAAO,iCAAmC,CAC1D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIgD,EAAoC,CAC7E,EAXa9C,EAAA6C,GAAA,mCAYZA,GAA4C5C,GAAa,GAGnD,IAAM8C,GAAN,cAA6CvB,CACpD,CAGW,YAAY1B,EAAgD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/G,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAiD,CAC1F,EARaC,EAAA+C,GAAA,kCASZA,GAA2C9C,GAAa,GAGlD,IAAM+C,GAAN,cAA6CxB,CACpD,CAIW,YAAY1B,EAAgD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/G,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAImD,EAAmC,CAC5E,EATajD,EAAAgD,GAAA,kCAUZA,GAA2C/C,GAAa,GAGlD,IAAMiD,GAAN,cAA2C1B,CAClD,CAOW,YAAY1B,EAA8C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7G,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA+C,CACxF,EAZaC,EAAAkD,GAAA,gCAaZA,GAAyCjD,GAAa,GAGhD,IAAMkD,GAAN,cAA6C3B,CACpD,CAOW,YAAY1B,EAAgD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/G,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAiD,CAC1F,EAZaC,EAAAmD,GAAA,kCAaZA,GAA2ClD,GAAa,GAGlD,IAAMmD,GAAN,cAA0C5B,CACjD,CAMW,YAAY1B,EAA6C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5G,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIuD,EAAgC,CACzE,EAXarD,EAAAoD,GAAA,+BAYZA,GAAwCnD,GAAa,GAG/C,IAAMqD,GAAN,cAA0C9B,CACjD,CAOW,YAAY1B,EAA6C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5G,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwC,CACjF,EAZaC,EAAAsD,GAAA,+BAaZA,GAAwCrD,GAAa,GAG/C,IAAMsD,GAAN,cAA0C/B,CACjD,CAKW,YAAY1B,EAA6C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5G,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI0D,EAA0B,CACnE,EAVaxD,EAAAuD,GAAA,+BAWZA,GAAwCtD,GAAa,GAG/C,IAAMwD,GAAN,cAA0CjC,CACjD,CAKW,YAAY1B,EAA6C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5G,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwC,CACjF,EAVaC,EAAAyD,GAAA,+BAWZA,GAAwCxD,GAAa,GAE/C,IAAMyD,GAAN,KACP,CAGW,YAAY5D,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,aAAc,CAAE,MAAO,+BAAiC,CACxD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwC,CACjF,EARaC,EAAA0D,GAAA,iCASZA,GAA0CzD,GAAa,GAGjD,IAAM0D,GAAN,cAAuCC,EAC9C,CAEW,YAAY9D,EAA0C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwB,CACjE,EAPaC,EAAA2D,GAAA,4BAQZA,GAAqC1D,GAAa,GAG5C,IAAM4D,GAAN,KACP,CAGW,YAAY/D,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EARaC,EAAA6D,GAAA,6BASZA,GAAsC5D,GAAa,GAE7C,IAAM6D,GAAN,KACP,CAIW,YAAYhE,EAAyD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3G,aAAc,CAAE,MAAO,yCAA2C,CAClE,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EATaC,EAAA8D,GAAA,2CAUZA,GAAoD7D,GAAa,GAE3D,IAAM8D,GAAN,KACP,CAGW,YAAYjE,EAA0D,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5G,aAAc,CAAE,MAAO,0CAA4C,CACnE,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EARaC,EAAA+D,GAAA,4CASZA,GAAqD9D,GAAa,GAE5D,IAAM+D,GAAN,KACP,CAGW,YAAYlE,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,aAAc,CAAE,MAAO,iCAAmC,CAC1D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA+C,CACxF,EARaC,EAAAgE,GAAA,mCASZA,GAA4C/D,GAAa,GAEnD,IAAMgE,GAAN,KACP,CAEW,YAAYnE,EAAkD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,aAAc,CAAE,MAAO,kCAAoC,CAC3D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA+C,CACxF,EAPaC,EAAAiE,GAAA,oCAQZA,GAA6ChE,GAAa,GAEpD,IAAMiE,GAAN,KACP,CAUW,YAAYpE,EAAkD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,aAAc,CAAE,MAAO,kCAAoC,CAC3D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA+C,CACxF,EAfaC,EAAAkE,GAAA,oCAgBZA,GAA6CjE,GAAa,GAEpD,IAAMkE,GAAN,KACP,CAGW,YAAYrE,EAAsD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,aAAc,CAAE,MAAO,sCAAwC,CAC/D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAsD,CAC/F,EARaC,EAAAmE,GAAA,wCASZA,GAAiDlE,GAAa,GAExD,IAAMmE,GAAN,KACP,CAGW,YAAYtE,EAAwD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1G,aAAc,CAAE,MAAO,wCAA0C,CACjE,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAsD,CAC/F,EARaC,EAAAoE,GAAA,0CASZA,GAAmDnE,GAAa,GAE1D,IAAMoE,GAAN,KACP,CAcW,YAAYvE,EAAyD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3G,aAAc,CAAE,MAAO,yCAA2C,CAClE,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwB,CACjE,EAnBaC,EAAAqE,GAAA,2CAoBZA,GAAoDpE,GAAa,GAE3D,IAAMqE,GAAN,KACP,CAGW,YAAYxE,EAAyD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3G,aAAc,CAAE,MAAO,yCAA2C,CAClE,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EARaC,EAAAsE,GAAA,2CASZA,GAAoDrE,GAAa,GAE3D,IAAMsE,GAAN,KACP,CAEW,YAAYzE,EAAsD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,aAAc,CAAE,MAAO,sCAAwC,CAC/D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA6B,CACtE,EAPaC,EAAAuE,GAAA,wCAQZA,GAAiDtE,GAAa,GAExD,IAAMuE,GAAN,KACP,CAEW,YAAY1E,EAAkD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,aAAc,CAAE,MAAO,kCAAoC,CAC3D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmD,CAC5F,EAPaC,EAAAwE,GAAA,oCAQZA,GAA6CvE,GAAa,GAEpD,IAAMwE,GAAN,KACP,CAOW,YAAY3E,EAAmD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,aAAc,CAAE,MAAO,mCAAqC,CAC5D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAuC,CAChF,EAZaC,EAAAyE,GAAA,qCAaZA,GAA8CxE,GAAa,GAErD,IAAMyE,GAAN,KACP,CAGW,YAAY5E,EAAsD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,aAAc,CAAE,MAAO,sCAAwC,CAC/D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EARaC,EAAA0E,GAAA,wCASZA,GAAiDzE,GAAa,GAExD,IAAM0E,GAAN,KACP,CAGW,YAAY7E,EAA2D,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7G,aAAc,CAAE,MAAO,2CAA6C,CACpE,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EARaC,EAAA2E,GAAA,6CASZA,GAAsD1E,GAAa,GAE7D,IAAM2E,GAAN,KACP,CAGW,YAAY9E,EAAwD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1G,aAAc,CAAE,MAAO,wCAA0C,CACjE,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAyD,CAClG,EARaC,EAAA4E,GAAA,0CASZA,GAAmD3E,GAAa,GAG1D,IAAM4E,GAAN,KACP,CAEW,YAAY/E,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAPaC,EAAA6E,GAAA,sBAQZA,GAA+B5E,GAAa,GAEtC,IAAM6E,GAAN,KACP,CAEW,YAAYhF,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA0C,CACnF,EAPaC,EAAA8E,GAAA,2BAQZA,GAAoC7E,GAAa,GAE3C,IAAM8E,GAAN,KACP,CAYW,YAAYjF,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAjBaC,EAAA+E,GAAA,8BAkBZA,GAAuC9E,GAAa,GAE9C,IAAM+E,GAAN,KACP,CAEW,YAAYlF,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAoC,CAC7E,EAPaC,EAAAgF,GAAA,sBAQZA,GAA+B/E,GAAa,GAEtC,IAAMgF,GAAN,KACP,CAGW,YAAYnF,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAuC,CAChF,EARaC,EAAAiF,GAAA,yBASZA,GAAkChF,GAAa,GAEzC,IAAMiF,GAAN,KACP,CAEW,YAAYpF,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAkC,CAC3E,EAPaC,EAAAkF,GAAA,uBAQZA,GAAgCjF,GAAa,GAEvC,IAAMkF,GAAN,KACP,CAEW,YAAYrF,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAkC,CAC3E,EAPaC,EAAAmF,GAAA,qBAQZA,GAA8BlF,GAAa,GAErC,IAAMmF,GAAN,KACP,CAEW,YAAYtF,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA+B,CACxE,EAPaC,EAAAoF,GAAA,yBAQZA,GAAkCnF,GAAa,GAEzC,IAAMoF,GAAN,KACP,CAIW,YAAYvF,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAiD,CAC1F,EATaC,EAAAqF,GAAA,8BAUZA,GAAuCpF,GAAa,GAE9C,IAAMqF,GAAN,KACP,CAIW,YAAYxF,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAuC,CAChF,EATaC,EAAAsF,GAAA,kCAUZA,GAA2CrF,GAAa,GAElD,IAAMsF,GAAN,KACP,CAWW,YAAYzF,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA4C,CACrF,EAhBaC,EAAAuF,GAAA,6BAiBZA,GAAsCtF,GAAa,GAE7C,IAAMuF,GAAN,KACP,CAEW,YAAY1F,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAoC,CAC7E,EAPaC,EAAAwF,GAAA,qBAQZA,GAA8BvF,GAAa,GAErC,IAAMwF,GAAN,KACP,CAEW,YAAY3F,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAoC,CAC7E,EAPaC,EAAAyF,GAAA,4BAQZA,GAAqCxF,GAAa,GAE5C,IAAMyF,GAAN,KACP,CAEW,YAAY5F,EAAoD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,aAAc,CAAE,MAAO,oCAAsC,CAC7D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwD,CACjG,EAPaC,EAAA0F,GAAA,sCAQZA,GAA+CzF,GAAa,GAEtD,IAAM0F,GAAN,KACP,CAIW,YAAY7F,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAiD,CAC1F,EATaC,EAAA2F,GAAA,kCAUZA,GAA2C1F,GAAa,GAElD,IAAM2F,GAAN,KACP,CAGW,YAAY9F,EAAuD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,aAAc,CAAE,MAAO,uCAAyC,CAChE,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAwD,CACjG,EARaC,EAAA4F,GAAA,yCASZA,GAAkD3F,GAAa,GAGzD,IAAM4F,GAAN,KACP,CAcW,YAAY/F,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,aAAc,CAAE,MAAO,iCAAmC,CAC1D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAkD,CAC3F,EAnBaC,EAAA6F,GAAA,mCAoBZA,GAA4C5F,GAAa,GAGnD,IAAM6F,GAAN,KACP,CAGW,YAAYhG,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EARaC,EAAA8F,GAAA,sBASZA,GAA+B7F,GAAa,GAGtC,IAAM8F,GAAN,KACP,CAIW,YAAYjG,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAkC,CAC3E,EATaC,EAAA+F,GAAA,sBAUZA,GAA+B9F,GAAa,GAGtC,IAAM+F,GAAN,cAAoCC,CAC3C,CAIW,YAAYnG,EAAuC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA0B,CACnE,EATaC,EAAAgG,GAAA,yBAUZA,GAAkC/F,GAAa,GAGzC,IAAMiG,GAAN,KACP,CAKW,YAAYpG,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA0B,CACnE,EAVaC,EAAAkG,GAAA,6BAWZA,GAAsCjG,GAAa,GAE7C,IAAMkG,GAAN,KACP,CAKW,YAAYrG,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwB,CACjE,EAVaC,EAAAmG,GAAA,0BAWZA,GAAmClG,GAAa,GAG1C,IAAMmG,GAAN,KACP,CAMW,YAAYtG,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAkC,CAC3E,EAXaC,EAAAoG,GAAA,sBAYZA,GAA+BnG,GAAa,GAGtC,IAAMoG,GAAN,KACP,CAEW,YAAYvG,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAoC,CAC7E,EAPaC,EAAAqG,GAAA,4BAQZA,GAAqCpG,GAAa,GAG5C,IAAMqG,GAAN,KACP,CAwBW,YAAYxG,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIyG,EAAY,CACrD,EA7BavG,EAAAsG,GAAA,uBA8BZA,GAAgCrG,GAAa,GAGvC,IAAMuG,GAAN,KACP,CAIW,YAAY1G,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EATaE,EAAAwG,GAAA,6BAUZA,GAAsCvG,GAAa,GAG7C,IAAMwG,GAAN,KACP,CAIW,YAAY3G,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EATaE,EAAAyG,GAAA,oBAUZA,GAA6BxG,GAAa,GAGpC,IAAMyG,GAAN,KACP,CAIW,YAAY5G,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EATaE,EAAA0G,GAAA,sBAUZA,GAA+BzG,GAAa,GAGtC,IAAM0G,GAAN,KACP,CAIW,YAAY7G,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EATaE,EAAA2G,GAAA,qBAUZA,GAA8B1G,GAAa,GAGrC,IAAM2G,GAAN,KACP,CAIW,YAAY9G,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjF,aAAc,CAAE,MAAO,eAAiB,CACxC,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EATaE,EAAA4G,GAAA,iBAUZA,GAA0B3G,GAAa,GAGjC,IAAM4G,GAAN,KACP,CAGW,YAAY/G,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EARaC,EAAA6G,GAAA,sBASZA,GAA+B5G,GAAa,GAEtC,IAAM6G,GAAN,KACP,CAmBW,YAAYhH,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA4C,CACrF,EAxBaC,EAAA8G,GAAA,6BAyBZA,GAAsC7G,GAAa,GAG7C,IAAM8G,GAAN,KACP,CAEW,YAAYjH,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAsB,CAC/D,EAPaC,EAAA+G,GAAA,qBAQZA,GAA8B9G,GAAa,GAGrC,IAAM+G,GAAN,KACP,CAMW,YAAYlH,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnF,aAAc,CAAE,MAAO,iBAAmB,CAC1C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAwB,CACjE,EAXaC,EAAAgH,GAAA,mBAYZA,GAA4B/G,GAAa,GAEnC,IAAMgH,GAAN,KACP,CAGW,YAAYnH,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAoC,CAC7E,EARaC,EAAAiH,GAAA,qBASZA,GAA8BhH,GAAa,GAGrC,IAAMiH,GAAN,KACP,CAMW,YAAYpH,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAoC,CAC7E,EAXaC,EAAAkH,GAAA,sBAYZA,GAA+BjH,GAAa,GAEtC,IAAMkH,GAAN,KACP,CAGW,YAAYrH,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EARaC,EAAAmH,GAAA,6BASZA,GAAsClH,GAAa,GAE7C,IAAMmH,GAAN,KACP,CAGW,YAAYtH,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EARaC,EAAAoH,GAAA,8BASZA,GAAuCnH,GAAa,GAG9C,IAAMoH,GAAN,KACP,CAGW,YAAYvH,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAuC,CAChF,EARaC,EAAAqH,GAAA,wBASZA,GAAiCpH,GAAa,GAGxC,IAAMqH,GAAN,KACP,CAGW,YAAYxH,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EARaE,EAAAsH,GAAA,6BASZA,GAAsCrH,GAAa,GAG7C,IAAMsH,GAAN,KACP,CASW,YAAYzH,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,MAAO,EAAO,CAC5C,EAdaE,EAAAuH,GAAA,qBAeZA,GAA8BtH,GAAa,GAGrC,IAAMuH,GAAN,KACP,CASW,YAAY1H,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,MAAO,EAAO,CAC5C,EAdaE,EAAAwH,GAAA,uBAeZA,GAAgCvH,GAAa,GAEvC,IAAMwH,GAAN,KACP,CAIW,YAAY3H,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EATaC,EAAAyH,GAAA,oBAUZA,GAA6BxH,GAAa,GAGpC,IAAMyH,GAAN,KACP,CAQW,YAAY5H,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnF,aAAc,CAAE,MAAO,iBAAmB,CAC1C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,MAAO,EAAO,CAC5C,EAbaE,EAAA0H,GAAA,mBAcZA,GAA4BzH,GAAa,GAGnC,IAAM0H,GAAN,KACP,CAGW,YAAY7H,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,MAAO,EAAO,CAC5C,EARaE,EAAA2H,GAAA,qBASZA,GAA8B1H,GAAa,GAGrC,IAAM2H,GAAN,KACP,CAKW,YAAY9H,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,MAAO,EAAO,CAC5C,EAVaE,EAAA4H,GAAA,+BAWZA,GAAwC3H,GAAa,GAE/C,IAAM4H,GAAN,KACP,CAIW,YAAY/H,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EATaC,EAAA6H,GAAA,2BAUZA,GAAoC5H,GAAa,GAG3C,IAAM6H,GAAN,KACP,CAGW,YAAYhI,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,MAAO,EAAO,CAC5C,EARaE,EAAA8H,GAAA,sBASZA,GAA+B7H,GAAa,GAGtC,IAAM8H,GAAN,KACP,CAIW,YAAYjI,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClF,aAAc,CAAE,MAAO,gBAAkB,CACzC,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAiC,CAC1E,EATaC,EAAA+H,GAAA,kBAUZA,GAA2B9H,GAAa,GAGlC,IAAM+H,GAAN,KACP,CASW,YAAYlI,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAiC,CAC1E,EAdaC,EAAAgI,GAAA,wBAeZA,GAAiC/H,GAAa,GAExC,IAAMgI,GAAN,KACP,CAGW,YAAYnI,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EARaE,EAAAiI,GAAA,yBASZA,GAAkChI,GAAa,GAGzC,IAAMiI,GAAN,KACP,CAOW,YAAYpI,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA8B,CACvE,EAZaC,EAAAkI,GAAA,8BAaZA,GAAuCjI,GAAa,GAG9C,IAAMkI,GAAN,KACP,CAEW,YAAYrI,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmC,CAC5E,EAPaC,EAAAmI,GAAA,oBAQZA,GAA6BlI,GAAa,GAGpC,IAAMmI,GAAN,KACP,CAOW,YAAYtI,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EAZaE,EAAAoI,GAAA,wBAaZA,GAAiCnI,GAAa,GAExC,IAAMoI,GAAN,cAA8BpC,CACrC,CAaW,YAAYnG,EAAiC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,iBAAmB,CAC1C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA0B,CACnE,EAlBaC,EAAAqI,GAAA,mBAmBZA,GAA4BpI,GAAa,GAGnC,IAAMqI,GAAN,KACP,CAIW,YAAYxI,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EATaC,EAAAsI,GAAA,4BAUZA,GAAqCrI,GAAa,GAE5C,IAAMsI,GAAN,KACP,CAGW,YAAYzI,EAAoD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,aAAc,CAAE,MAAO,oCAAsC,CAC7D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAwB,CACjE,EARaC,EAAAuI,GAAA,sCASZA,GAA+CtI,GAAa,GAItD,IAAMuI,GAAN,KACP,CASW,YAAY1I,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EAdaC,EAAAwI,GAAA,8BAeZA,GAAuCvI,GAAa,GAG9C,IAAMwI,GAAN,KACP,CAUW,YAAY3I,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EAfaE,EAAAyI,GAAA,0BAgBZA,GAAmCxI,GAAa,GAG1C,IAAMyI,GAAN,KACP,CAOW,YAAY5I,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAoC,CAC7E,EAZaC,EAAA0I,GAAA,4BAaZA,GAAqCzI,GAAa,GAG5C,IAAM0I,GAAN,KACP,CAEW,YAAY7I,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAPaC,EAAA2I,GAAA,wBAQZA,GAAiC1I,GAAa,GAGxC,IAAM2I,GAAN,cAAyCC,CAChD,CAEW,YAAY/I,EAA4C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3G,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAPaC,EAAA4I,GAAA,8BAQZA,GAAuC3I,GAAa,GAG9C,IAAM6I,GAAN,KACP,CAMW,YAAYhJ,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EAXaE,EAAA8I,GAAA,2BAYZA,GAAoC7I,GAAa,GAG3C,IAAM8I,GAAN,KACP,CAMW,YAAYjJ,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EAXaE,EAAA+I,GAAA,yBAYZA,GAAkC9I,GAAa,GAGzC,IAAM+I,GAAN,KACP,CAMW,YAAYlJ,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EAXaE,EAAAgJ,GAAA,yBAYZA,GAAkC/I,GAAa,GAGzC,IAAMgJ,GAAN,KACP,CAuBW,YAAYnJ,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EA5BaE,EAAAiJ,GAAA,sBA6BZA,GAA+BhJ,GAAa,GAGtC,IAAMiJ,GAAN,KACP,CAGW,YAAYpJ,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI,MAAU,CACnD,EARaE,EAAAkJ,GAAA,6BASZA,GAAsCjJ,GAAa,GAG7C,IAAMkJ,GAAN,KACP,CAGW,YAAYrJ,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,aAAc,CAAE,MAAO,+BAAiC,CACxD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI,MAAU,CACnD,EARaE,EAAAmJ,GAAA,iCASZA,GAA0ClJ,GAAa,GAGjD,IAAMmJ,GAAN,KACP,CAGW,YAAYtJ,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI,MAAU,CACnD,EARaE,EAAAoJ,GAAA,4BASZA,GAAqCnJ,GAAa,GAG5C,IAAMoJ,GAAN,KACP,CAGW,YAAYvJ,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI,MAAU,CACnD,EARaE,EAAAqJ,GAAA,kCASZA,GAA2CpJ,GAAa,GAGlD,IAAMqJ,GAAN,KACP,CAGW,YAAYxJ,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI,MAAU,CACnD,EARaE,EAAAsJ,GAAA,gCASZA,GAAyCrJ,GAAa,GAGhD,IAAMsJ,GAAN,KACP,CAIW,YAAYzJ,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI,MAAU,CACnD,EATaE,EAAAuJ,GAAA,qBAUZA,GAA8BtJ,GAAa,GAGrC,IAAMuJ,GAAN,KACP,CAGW,YAAY1J,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,aAAc,CAAE,MAAO,iCAAmC,CAC1D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI,MAAU,CACnD,EARaE,EAAAwJ,GAAA,mCASZA,GAA4CvJ,GAAa,GAGnD,IAAMwJ,GAAN,KACP,CAIW,YAAY3J,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI,MAAU,CACnD,EATaE,EAAAyJ,GAAA,sBAUZA,GAA+BxJ,GAAa,GAGtC,IAAMyJ,GAAN,KACP,CAGW,YAAY5J,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI,MAAU,CACnD,EARaE,EAAA0J,GAAA,0BASZA,GAAmCzJ,GAAa,GAG1C,IAAM0J,GAAN,KACP,CAEW,YAAY7J,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EAPaE,EAAA2J,GAAA,wBAQZA,GAAiC1J,GAAa,GAGxC,IAAM2J,GAAN,KACP,CAEW,YAAY9J,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,aAAc,CAAE,MAAO,+BAAiC,CACxD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAgD,CACzF,EAPaC,EAAA4J,GAAA,iCAQZA,GAA0C3J,GAAa,GAGjD,IAAM4J,GAAN,KACP,CAKW,YAAY/J,EAAkD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,aAAc,CAAE,MAAO,kCAAoC,CAC3D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAwC,CACjF,EAVaC,EAAA6J,GAAA,oCAWZA,GAA6C5J,GAAa,GAGpD,IAAM6J,GAAN,KACP,CAMW,YAAYhK,EAAsD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,aAAc,CAAE,MAAO,sCAAwC,CAC/D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIiK,EAAiB,CAC1D,EAXa/J,EAAA8J,GAAA,wCAYZA,GAAiD7J,GAAa,GAGxD,IAAM+J,GAAN,KACP,CAIW,YAAYlK,EAAwD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1G,aAAc,CAAE,MAAO,wCAA0C,CACjE,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EATaE,EAAAgK,GAAA,0CAUZA,GAAmD/J,GAAa,GAI1D,IAAMgK,GAAN,KACP,CAaW,YAAYnK,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA6C,CACtF,EAlBaC,EAAAiK,GAAA,8BAmBZA,GAAuChK,GAAa,GAG9C,IAAMiK,GAAN,KACP,CAIW,YAAYpK,EAAkD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,aAAc,CAAE,MAAO,kCAAoC,CAC3D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA6C,CACtF,EATaC,EAAAkK,GAAA,oCAUZA,GAA6CjK,GAAa,GAGpD,IAAMkK,GAAN,KACP,CAOW,YAAYrK,EAAmD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,aAAc,CAAE,MAAO,mCAAqC,CAC5D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA6C,CACtF,EAZaC,EAAAmK,GAAA,qCAaZA,GAA8ClK,GAAa,GAGrD,IAAMmK,GAAN,KACP,CAGW,YAAYtK,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,aAAc,CAAE,MAAO,iCAAmC,CAC1D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA6C,CACtF,EARaC,EAAAoK,GAAA,mCASZA,GAA4CnK,GAAa,GAGnD,IAAMoK,GAAN,KACP,CAEW,YAAYvK,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAwB,CACjE,EAPaC,EAAAqK,GAAA,oBAQZA,GAA6BpK,GAAa,GAGpC,IAAMqK,GAAN,KACP,CAIW,YAAYxK,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIyK,EAAiC,CAC1E,EATavK,EAAAsK,GAAA,gCAUZA,GAAyCrK,GAAa,GAGhD,IAAMuK,GAAN,KACP,CAIW,YAAY1K,EAAkD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,aAAc,CAAE,MAAO,kCAAoC,CAC3D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EATaC,EAAAwK,GAAA,oCAUZA,GAA6CvK,GAAa,GAGpD,IAAMwK,GAAN,KACP,CAIW,YAAY3K,EAAyD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3G,aAAc,CAAE,MAAO,yCAA2C,CAClE,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAwB,CACjE,EATaC,EAAAyK,GAAA,2CAUZA,GAAoDxK,GAAa,GAG3D,IAAMyK,GAAN,KACP,CAEW,YAAY5K,EAAqD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,aAAc,CAAE,MAAO,qCAAuC,CAC9D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA8B,CACvE,EAPaC,EAAA0K,GAAA,uCAQZA,GAAgDzK,GAAa,GAGvD,IAAM0K,GAAN,KACP,CAGW,YAAY7K,EAAyD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3G,aAAc,CAAE,MAAO,yCAA2C,CAClE,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EARaC,EAAA2K,GAAA,2CASZA,GAAoD1K,GAAa,GAG3D,IAAM2K,GAAN,KACP,CAEW,YAAY9K,EAA8D,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChH,aAAc,CAAE,MAAO,8CAAgD,CACvE,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAsC,CAC/E,EAPaC,EAAA4K,GAAA,gDAQZA,GAAyD3K,GAAa,GAGhE,IAAM4K,GAAN,KACP,CAGW,YAAY/K,EAA2D,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7G,aAAc,CAAE,MAAO,2CAA6C,CACpE,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EARaC,EAAA6K,GAAA,6CASZA,GAAsD5K,GAAa,GAG7D,IAAM6K,GAAN,KACP,CAIW,YAAYhL,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA6C,CACtF,EATaC,EAAA8K,GAAA,kCAUZA,GAA2C7K,GAAa,GAGlD,IAAM8K,GAAN,KACP,CAIW,YAAYjL,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAsC,CAC/E,EATaC,EAAA+K,GAAA,6BAUZA,GAAsC9K,GAAa,GAI7C,IAAM+K,GAAN,KACP,CAQW,YAAYlL,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAsC,CAC/E,EAbaC,EAAAgL,GAAA,uBAcZA,GAAgC/K,GAAa,GAEvC,IAAMgL,GAAN,KACP,CAGW,YAAYnL,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EARaC,EAAAiL,GAAA,2BASZA,GAAoChL,GAAa,GAG3C,IAAMiL,GAAN,KACP,CAEW,YAAYpL,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAkE,CAC3G,EAPaC,EAAAkL,GAAA,0BAQZA,GAAmCjL,GAAa,GAG1C,IAAMkL,GAAN,KACP,CAEW,YAAYrL,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAPaC,EAAAmL,GAAA,oBAQZA,GAA6BlL,GAAa,GAGpC,IAAMmL,GAAN,KACP,CAIW,YAAYtL,EAA4B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9E,aAAc,CAAE,MAAO,YAAc,CACrC,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EATaE,EAAAoL,GAAA,cAUZA,GAAuBnL,GAAa,GAG9B,IAAMoL,GAAN,KACP,CAEW,YAAYvL,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA2C,CACpF,EAPaC,EAAAqL,GAAA,2BAQZA,GAAoCpL,GAAa,GAI3C,IAAMqL,GAAN,KACP,CAIW,YAAYxL,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA0B,CACnE,EATaC,EAAAsL,GAAA,0BAUZA,GAAmCrL,GAAa,GAE1C,IAAMsL,GAAN,KACP,CAGW,YAAYzL,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnF,aAAc,CAAE,MAAO,iBAAmB,CAC1C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAkC,CAC3E,EARaC,EAAAuL,GAAA,mBASZA,GAA4BtL,GAAa,GAEnC,IAAMuL,GAAN,KACP,CAMW,YAAY1L,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAXaC,EAAAwL,GAAA,uBAYZA,GAAgCvL,GAAa,GAEvC,IAAMwL,GAAN,KACP,CAGW,YAAY3L,EAAkD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,aAAc,CAAE,MAAO,kCAAoC,CAC3D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmD,CAC5F,EARaC,EAAAyL,GAAA,oCASZA,GAA6CxL,GAAa,GAEpD,IAAMyL,GAAN,KACP,CAGW,YAAY5L,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,aAAc,CAAE,MAAO,iCAAmC,CAC1D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAkD,CAC3F,EARaC,EAAA0L,GAAA,mCASZA,GAA4CzL,GAAa,GAEnD,IAAM0L,GAAN,KACP,CAGW,YAAY7L,EAA2D,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7G,aAAc,CAAE,MAAO,2CAA6C,CACpE,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA4D,CACrG,EARaC,EAAA2L,GAAA,6CASZA,GAAsD1L,GAAa,GAE7D,IAAM2L,GAAN,KACP,CAGW,YAAY9L,EAAmE,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrH,aAAc,CAAE,MAAO,mDAAqD,CAC5E,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA4D,CACrG,EARaC,EAAA4L,GAAA,qDASZA,GAA8D3L,GAAa,GAErE,IAAM4L,GAAN,KACP,CAGW,YAAY/L,EAAyD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3G,aAAc,CAAE,MAAO,yCAA2C,CAClE,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAkD,CAC3F,EARaC,EAAA6L,GAAA,2CASZA,GAAoD5L,GAAa,GAG3D,IAAM6L,GAAN,KACP,CAUW,YAAYhM,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAsC,CAC/E,EAfaC,EAAA8L,GAAA,uBAgBZA,GAAgC7L,GAAa,GAGvC,IAAM8L,GAAN,KACP,CAMW,YAAYjM,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA0C,CACnF,EAXaC,EAAA+L,GAAA,2BAYZA,GAAoC9L,GAAa,GAI3C,IAAM+L,GAAN,cAAgCC,CACvC,CAIW,YAAYnM,EAAmC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA4B,CACrE,EATaC,EAAAgM,GAAA,qBAUZA,GAA8B/L,GAAa,GAGrC,IAAMiM,GAAN,cAAsCD,CAC7C,CAIW,YAAYnM,EAAyC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA4B,CACrE,EATaC,EAAAkM,GAAA,2BAUZA,GAAoCjM,GAAa,GAG3C,IAAMkM,GAAN,cAAqCF,CAC5C,CAIW,YAAYnM,EAAwC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwB,CACjE,EATaC,EAAAmM,GAAA,0BAUZA,GAAmClM,GAAa,GAG1C,IAAMmM,GAAN,KACP,CAKW,YAAYtM,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI,MAAU,CACnD,EAVaE,EAAAoM,GAAA,gCAWZA,GAAyCnM,GAAa,GAGhD,IAAMoM,GAAN,KACP,CAKW,YAAYvM,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAI,MAAU,CACnD,EAVaE,EAAAqM,GAAA,+BAWZA,GAAwCpM,GAAa,GAG/C,IAAMqM,GAAN,KACP,CAUW,YAAYxM,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAuC,CAChF,EAfaC,EAAAsM,GAAA,8BAgBZA,GAAuCrM,GAAa,GAG9C,IAAMsM,GAAN,cAAgCtG,CACvC,CAeW,YAAYnG,EAAmC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAoC,CAC7E,EApBaC,EAAAuM,GAAA,qBAqBZA,GAA8BtM,GAAa,GAGrC,IAAMuM,GAAN,KACP,CAQW,YAAY1M,EAA2B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7E,aAAc,CAAE,MAAO,WAAa,CACpC,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI2M,EAAqB,CAC9D,EAbazM,EAAAwM,GAAA,aAcZA,GAAsBvM,GAAa,GAG7B,IAAMyM,GAAN,KACP,CAMW,YAAY5M,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI,KAAyB,CAClE,EAXaE,EAAA0M,GAAA,uBAYZA,GAAgCzM,GAAa,GAGvC,IAAM0M,GAAN,KACP,CAMW,YAAY7M,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI,KAAyB,CAClE,EAXaE,EAAA2M,GAAA,oBAYZA,GAA6B1M,GAAa,GAGpC,IAAM2M,GAAN,KACP,CAKW,YAAY9M,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAVaC,EAAA4M,GAAA,qBAWZA,GAA8B3M,GAAa,GAGrC,IAAM4M,GAAN,cAAkCD,EACzC,CAEW,YAAY9M,EAAqC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAPaC,EAAA6M,GAAA,uBAQZA,GAAgC5M,GAAa,GAGvC,IAAM6M,GAAN,KACP,CAOW,YAAYhN,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EAZaE,EAAA8M,GAAA,qBAaZA,GAA8B7M,GAAa,GAGrC,IAAM8M,GAAN,KACP,CAKW,YAAYjN,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwB,CACjE,EAVaC,EAAA+M,GAAA,wBAWZA,GAAiC9M,GAAa,GAExC,IAAM+M,GAAN,KACP,CAIW,YAAYlN,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnF,aAAc,CAAE,MAAO,iBAAmB,CAC1C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EATaC,EAAAgN,GAAA,mBAUZA,GAA4B/M,GAAa,GAGnC,IAAMgN,GAAN,KACP,CAOW,YAAYnN,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAZaC,EAAAiN,GAAA,wBAaZA,GAAiChN,GAAa,GAGxC,IAAMiN,GAAN,KACP,CAIW,YAAYpN,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClF,aAAc,CAAE,MAAO,gBAAkB,CACzC,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIqN,CAAkB,CAC3D,EATanN,EAAAkN,GAAA,kBAUZA,GAA2BjN,GAAa,GAElC,IAAMmN,GAAN,KACP,CAIW,YAAYtN,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EATaC,EAAAoN,GAAA,uBAUZA,GAAgCnN,GAAa,GAGvC,IAAMoN,GAAN,KACP,CAMW,YAAYvN,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClF,aAAc,CAAE,MAAO,gBAAkB,CACzC,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIqN,CAAkB,CAC3D,EAXanN,EAAAqN,GAAA,kBAYZA,GAA2BpN,GAAa,GAGlC,IAAMqN,GAAN,KACP,CAKW,YAAYxN,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAVaC,EAAAsN,GAAA,sBAWZA,GAA+BrN,GAAa,GAGtC,IAAMsN,GAAN,KACP,CAKW,YAAYzN,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA+B,CACxE,EAVaC,EAAAuN,GAAA,sBAWZA,GAA+BtN,GAAa,GAItC,IAAMuN,GAAN,KACP,CAOW,YAAY1N,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAsC,CAC/E,EAZaC,EAAAwN,GAAA,uBAaZA,GAAgCvN,GAAa,GAGvC,IAAMwN,GAAN,KACP,CAMW,YAAY3N,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAXaC,EAAAyN,GAAA,yBAYZA,GAAkCxN,GAAa,GAGzC,IAAMyN,GAAN,KACP,CAUW,YAAY5N,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwC,CACjF,EAfaC,EAAA0N,GAAA,yBAgBZA,GAAkCzN,GAAa,GAGzC,IAAM0N,GAAN,KACP,CAKW,YAAY7N,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EAVaC,EAAA2N,GAAA,uBAWZA,GAAgC1N,GAAa,GAGvC,IAAM2N,GAAN,KACP,CAIW,YAAY9N,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EATaC,EAAA4N,GAAA,oBAUZA,GAA6B3N,GAAa,GAGpC,IAAM4N,GAAN,KACP,CAKW,YAAY/N,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA4C,CACrF,EAVaC,EAAA6N,GAAA,yBAWZA,GAAkC5N,GAAa,GAGzC,IAAM6N,GAAN,KACP,CAIW,YAAYhO,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA4C,CACrF,EATaC,EAAA8N,GAAA,6BAUZA,GAAsC7N,GAAa,GAG7C,IAAM8N,GAAN,KACP,CAMW,YAAYjO,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAXaC,EAAA+N,GAAA,8BAYZA,GAAuC9N,GAAa,GAG9C,IAAM+N,GAAN,KACP,CAEW,YAAYlO,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAImO,EAAyB,CAClE,EAPajO,EAAAgO,GAAA,wBAQZA,GAAiC/N,GAAa,GAIxC,IAAMiO,GAAN,KACP,CAMW,YAAYpO,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAsC,CAC/E,EAXaC,EAAAkO,GAAA,sBAYZA,GAA+BjO,GAAa,GAGtC,IAAMkO,GAAN,KACP,CAOW,YAAYrO,EAAkD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,aAAc,CAAE,MAAO,kCAAoC,CAC3D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAZaC,EAAAmO,GAAA,oCAaZA,GAA6ClO,GAAa,GAGpD,IAAMmO,GAAN,KACP,CAEW,YAAYtO,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAwC,CACjF,EAPaC,EAAAoO,GAAA,wBAQZA,GAAiCnO,GAAa,GAIxC,IAAMoO,GAAN,KACP,CAEW,YAAYvO,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA2C,CACpF,EAPaC,EAAAqO,GAAA,8BAQZA,GAAuCpO,GAAa,GAI9C,IAAMqO,GAAN,KACP,CAQW,YAAYxO,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClF,aAAc,CAAE,MAAO,gBAAkB,CACzC,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIyO,EAAmB,CAC5D,EAbavO,EAAAsO,GAAA,kBAcZA,GAA2BrO,GAAa,GAGlC,IAAMuO,GAAN,KACP,CAKW,YAAY1O,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIyO,EAAmB,CAC5D,EAVavO,EAAAwO,GAAA,sBAWZA,GAA+BvO,GAAa,GAEtC,IAAMwO,GAAN,KACP,CAKW,YAAY3O,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwB,CACjE,EAVaC,EAAAyO,GAAA,qBAWZA,GAA8BxO,GAAa,GAErC,IAAMyO,GAAN,KACP,CAKW,YAAY5O,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwB,CACjE,EAVaC,EAAA0O,GAAA,qBAWZA,GAA8BzO,GAAa,GAErC,IAAM0O,GAAN,KACP,CAIW,YAAY7O,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA2B,CACpE,EATaC,EAAA2O,GAAA,uBAUZA,GAAgC1O,GAAa,GAIvC,IAAM2O,GAAN,KACP,CASW,YAAY9O,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI+O,EAAmB,CAC5D,EAda7O,EAAA4O,GAAA,4BAeZA,GAAqC3O,GAAa,GAG5C,IAAM6O,GAAN,KACP,CAOW,YAAYhP,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAZaC,EAAA8O,GAAA,wBAaZA,GAAiC7O,GAAa,GAGxC,IAAM8O,GAAN,KACP,CAMW,YAAYjP,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAXaC,EAAA+O,GAAA,6BAYZA,GAAsC9O,GAAa,GAG7C,IAAM+O,GAAN,cAAoCC,CAC3C,CAEW,YAAYnP,EAAuC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAoC,CAC7E,EAPaC,EAAAgP,GAAA,yBAQZA,GAAkC/O,GAAa,GAGzC,IAAMiP,GAAN,cAAmCD,CAC1C,CAEW,YAAYnP,EAAsC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAoC,CAC7E,EAPaC,EAAAkP,GAAA,wBAQZA,GAAiCjP,GAAa,GAGxC,IAAMkP,GAAN,KACP,CAMW,YAAYrP,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,QAAU,CAC/B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAXaC,EAAAmP,GAAA,2BAYZA,GAAoClP,GAAa,GAG3C,IAAMmP,GAAN,KACP,CAGW,YAAYtP,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAuC,CAChF,EARaC,EAAAoP,GAAA,0BASZA,GAAmCnP,GAAa,GAG1C,IAAMoP,GAAN,KACP,CAIW,YAAYvP,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EATaC,EAAAqP,GAAA,sBAUZA,GAA+BpP,GAAa,GAGtC,IAAMqP,GAAN,KACP,CAKW,YAAYxP,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAVaC,EAAAsP,GAAA,qBAWZA,GAA8BrP,GAAa,GAGrC,IAAMsP,GAAN,KACP,CAKW,YAAYzP,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnF,aAAc,CAAE,MAAO,iBAAmB,CAC1C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI0P,EAAiB,CAC1D,EAVaxP,EAAAuP,GAAA,mBAWZA,GAA4BtP,GAAa,GAGnC,IAAMwP,GAAN,cAA+BC,CACtC,CAEW,YAAY5P,EAAkC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA+B,CACxE,EAPaC,EAAAyP,GAAA,oBAQZA,GAA6BxP,GAAa,GAGpC,IAAM0P,GAAN,cAA8BD,CACrC,CAEW,YAAY5P,EAAiC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,iBAAmB,CAC1C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA+B,CACxE,EAPaC,EAAA2P,GAAA,mBAQZA,GAA4B1P,GAAa,GAGnC,IAAM2P,GAAN,cAAiCF,CACxC,CAEW,YAAY5P,EAAoC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,QAAU,CAC/B,gBAAiB,CAAE,OAAO,IAAIC,CAA+B,CACxE,EAPaC,EAAA4P,GAAA,sBAQZA,GAA+B3P,GAAa,GAGtC,IAAM4P,GAAN,cAAmCC,CAC1C,CAEW,YAAYhQ,EAAsC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmC,CAC5E,EAPaC,EAAA6P,GAAA,wBAQZA,GAAiC5P,GAAa,GAGxC,IAAM8P,GAAN,cAAkCD,CACzC,CAEW,YAAYhQ,EAAqC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmC,CAC5E,EAPaC,EAAA+P,GAAA,uBAQZA,GAAgC9P,GAAa,GAGvC,IAAM+P,GAAN,KACP,CAMW,YAAYlQ,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,QAAU,CAC/B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAXaC,EAAAgQ,GAAA,0BAYZA,GAAmC/P,GAAa,GAG1C,IAAMgQ,GAAN,KACP,CAEW,YAAYnQ,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAuC,CAChF,EAPaC,EAAAiQ,GAAA,yBAQZA,GAAkChQ,GAAa,GAGzC,IAAMiQ,GAAN,KACP,CAIW,YAAYpQ,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAoC,CAC7E,EATaC,EAAAkQ,GAAA,qBAUZA,GAA8BjQ,GAAa,GAGrC,IAAMkQ,GAAN,KACP,CAKW,YAAYrQ,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAVaC,EAAAmQ,GAAA,oBAWZA,GAA6BlQ,GAAa,GAGpC,IAAMmQ,GAAN,KACP,CAMW,YAAYtQ,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnF,aAAc,CAAE,MAAO,iBAAmB,CAC1C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIuQ,EAAgB,CACzD,EAXarQ,EAAAoQ,GAAA,mBAYZA,GAA4BnQ,GAAa,GAGnC,IAAMqQ,GAAN,cAA8BC,CACrC,CAEW,YAAYzQ,EAAiC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,iBAAmB,CAC1C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA8B,CACvE,EAPaC,EAAAsQ,GAAA,mBAQZA,GAA4BrQ,GAAa,GAGnC,IAAMuQ,GAAN,cAA6BD,CACpC,CAEW,YAAYzQ,EAAgC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,aAAc,CAAE,MAAO,gBAAkB,CACzC,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA8B,CACvE,EAPaC,EAAAwQ,GAAA,kBAQZA,GAA2BvQ,GAAa,GAGlC,IAAMwQ,GAAN,cAAgCF,CACvC,CAGW,YAAYzQ,EAAmC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,QAAU,CAC/B,gBAAiB,CAAE,OAAO,IAAIC,CAA8B,CACvE,EARaC,EAAAyQ,GAAA,qBASZA,GAA8BxQ,GAAa,GAErC,IAAMyQ,GAAN,KACP,CAGW,YAAY5Q,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EARaC,EAAA0Q,GAAA,0BASZA,GAAmCzQ,GAAa,GAE1C,IAAM0Q,GAAN,cAAwCC,CAC/C,CAGW,YAAY9Q,EAA2C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1G,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAuC,CAChF,EARaC,EAAA2Q,GAAA,6BASZA,GAAsC1Q,GAAa,GAE7C,IAAM4Q,GAAN,cAA0CD,CACjD,CAGW,YAAY9Q,EAA6C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5G,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EARaC,EAAA6Q,GAAA,+BASZA,GAAwC5Q,GAAa,GAE/C,IAAM6Q,GAAN,cAA4CF,CACnD,CAGW,YAAY9Q,EAA+C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9G,aAAc,CAAE,MAAO,+BAAiC,CACxD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA2C,CACpF,EARaC,EAAA8Q,GAAA,iCASZA,GAA0C7Q,GAAa,GAEjD,IAAM8Q,GAAN,cAAyCH,CAChD,CAGW,YAAY9Q,EAA4C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3G,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwC,CACjF,EARaC,EAAA+Q,GAAA,8BASZA,GAAuC9Q,GAAa,GAE9C,IAAM+Q,GAAN,cAAwCJ,CAC/C,CAIW,YAAY9Q,EAA2C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1G,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAuC,CAChF,EATaC,EAAAgR,GAAA,6BAUZA,GAAsC/Q,GAAa,GAE7C,IAAMgR,GAAN,cAA2CC,CAClD,CAGW,YAAYpR,EAA8C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7G,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAuC,CAChF,EARaC,EAAAiR,GAAA,gCASZA,GAAyChR,GAAa,GAEhD,IAAMkR,GAAN,cAA6CD,CACpD,CAGW,YAAYpR,EAAgD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/G,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EARaC,EAAAmR,GAAA,kCASZA,GAA2ClR,GAAa,GAElD,IAAMmR,GAAN,cAA4CF,CACnD,CAGW,YAAYpR,EAA+C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9G,aAAc,CAAE,MAAO,+BAAiC,CACxD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwC,CACjF,EARaC,EAAAoR,GAAA,iCASZA,GAA0CnR,GAAa,GAEjD,IAAMoR,GAAN,cAA2CH,CAClD,CAIW,YAAYpR,EAA8C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7G,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAuC,CAChF,EATaC,EAAAqR,GAAA,gCAUZA,GAAyCpR,GAAa,GAEhD,IAAMqR,GAAN,cAA+CJ,CACtD,CAGW,YAAYpR,EAAkD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjH,aAAc,CAAE,MAAO,kCAAoC,CAC3D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA2C,CACpF,EARaC,EAAAsR,GAAA,oCASZA,GAA6CrR,GAAa,GAEpD,IAAMsR,GAAN,cAAqDL,CAC5D,CAGW,YAAYpR,EAAwD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvH,aAAc,CAAE,MAAO,wCAA0C,CACjE,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyD,CAClG,EARaC,EAAAuR,GAAA,0CASZA,GAAmDtR,GAAa,GAE1D,IAAMuR,GAAN,cAAqCvL,CAC5C,CAGW,YAAYnG,EAAwC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAiC,CAC1E,EARaC,EAAAwR,GAAA,0BASZA,GAAmCvR,GAAa,GAE1C,IAAMwR,GAAN,KACP,CAGW,YAAY3R,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAiC,CAC1E,EARaC,EAAAyR,GAAA,sBASZA,GAA+BxR,GAAa,GAEtC,IAAMyR,GAAN,cAAkCC,EACzC,CAEW,YAAY7R,EAAqC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAPaC,EAAA0R,GAAA,uBAQZA,GAAgCzR,GAAa,GAEvC,IAAM2R,GAAN,KACP,CAKW,YAAY9R,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA+B,CACxE,EAVaC,EAAA4R,GAAA,wBAWZA,GAAiC3R,GAAa,GAExC,IAAM4R,GAAN,KACP,CAIW,YAAY/R,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA+B,CACxE,EATaC,EAAA6R,GAAA,6BAUZA,GAAsC5R,GAAa,GAE7C,IAAM6R,GAAN,KACP,CAGW,YAAYhS,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwB,CACjE,EARaC,EAAA8R,GAAA,0BASZA,GAAmC7R,GAAa,GAE1C,IAAM8R,GAAN,KACP,CAIW,YAAYjS,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EATaC,EAAA+R,GAAA,4BAUZA,GAAqC9R,GAAa,GAE5C,IAAM+R,GAAN,KACP,CAMW,YAAYlS,EAA4B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9E,aAAc,CAAE,MAAO,YAAc,CACrC,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAqB,CAC9D,EAXaC,EAAAgS,GAAA,cAYZA,GAAuB/R,GAAa,GAE9B,IAAMgS,GAAN,KACP,CAGW,YAAYnS,EAAwB,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1E,aAAc,CAAE,MAAO,QAAU,CACjC,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAqB,CAC9D,EARaC,EAAAiS,GAAA,UASZA,GAAmBhS,GAAa,GAE1B,IAAMiS,GAAN,cAAsBC,EAC7B,CAEW,YAAYrS,EAAyB,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,SAAW,CAClC,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAPaC,EAAAkS,GAAA,WAQZA,GAAoBjS,GAAa,GAG3B,IAAMmS,GAAN,KACP,CAEW,YAAYtS,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClF,aAAc,CAAE,MAAO,gBAAkB,CACzC,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAiC,CAC1E,EAPaC,EAAAoS,GAAA,kBAQZA,GAA2BnS,GAAa,GAGlC,IAAMoS,GAAN,KACP,CAEW,YAAYvS,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnF,aAAc,CAAE,MAAO,iBAAmB,CAC1C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EAPaE,EAAAqS,GAAA,mBAQZA,GAA4BpS,GAAa,GAGnC,IAAMqS,GAAN,KACP,CAEW,YAAYxS,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClF,aAAc,CAAE,MAAO,gBAAkB,CACzC,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIyS,CAAe,CACxD,EAPavS,EAAAsS,GAAA,kBAQZA,GAA2BrS,GAAa,GAIlC,IAAMuS,GAAN,KACP,CAGW,YAAY1S,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIyS,CAAe,CACxD,EARavS,EAAAwS,GAAA,0BASZA,GAAmCvS,GAAa,GAG1C,IAAMwS,GAAN,KACP,CAIW,YAAY3S,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnF,aAAc,CAAE,MAAO,iBAAmB,CAC1C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAI,KAAqB,CAC9D,EATaE,EAAAyS,GAAA,mBAUZA,GAA4BxS,GAAa,GAGnC,IAAMyS,GAAN,KACP,CAEW,YAAY5S,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EAPaE,EAAA0S,GAAA,oBAQZA,GAA6BzS,GAAa,GAGpC,IAAM0S,GAAN,KACP,CAGW,YAAY7S,EAA4B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9E,aAAc,CAAE,MAAO,YAAc,CACrC,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIyS,CAAe,CACxD,EARavS,EAAA2S,GAAA,cASZA,GAAuB1S,GAAa,GAG9B,IAAM2S,GAAN,KACP,CAGW,YAAY9S,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjF,aAAc,CAAE,MAAO,eAAiB,CACxC,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EARaC,EAAA4S,GAAA,iBASZA,GAA0B3S,GAAa,GAGjC,IAAM4S,GAAN,KACP,CAMW,YAAY/S,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClF,aAAc,CAAE,MAAO,gBAAkB,CACzC,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIyS,CAAe,CACxD,EAXavS,EAAA6S,GAAA,kBAYZA,GAA2B5S,GAAa,GAGlC,IAAM6S,GAAN,KACP,CAKW,YAAYhT,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAVaC,EAAA8S,GAAA,yBAWZA,GAAkC7S,GAAa,GAEzC,IAAM8S,GAAN,KACP,CAIW,YAAYjT,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwB,CACjE,EATaC,EAAA+S,GAAA,oBAUZA,GAA6B9S,GAAa,GAEpC,IAAM+S,GAAN,KACP,CAGW,YAAYlT,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwB,CACjE,EARaC,EAAAgT,GAAA,0BASZA,GAAmC/S,GAAa,GAG1C,IAAMgT,GAAN,KACP,CAGW,YAAYnT,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EARaE,EAAAiT,GAAA,qBASZA,GAA8BhT,GAAa,GAGrC,IAAMiT,GAAN,KACP,CAEW,YAAYpT,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EAPaE,EAAAkT,GAAA,oBAQZA,GAA6BjT,GAAa,GAEpC,IAAMkT,GAAN,KACP,CAIW,YAAYrT,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIsT,EAAoB,CAC7D,EATapT,EAAAmT,GAAA,uBAUZA,GAAgClT,GAAa,GAEvC,IAAMoT,GAAN,KACP,CAOW,YAAYvT,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAZaC,EAAAqT,GAAA,wBAaZA,GAAiCpT,GAAa,GAExC,IAAMqT,GAAN,KACP,CAQW,YAAYxT,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,aAAc,CAAE,MAAO,+BAAiC,CACxD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIyT,CAAc,CACvD,EAbavT,EAAAsT,GAAA,iCAcZA,GAA0CrT,GAAa,GAEjD,IAAMuT,GAAN,KACP,CAOW,YAAY1T,EAAqD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,aAAc,CAAE,MAAO,qCAAuC,CAC9D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAsC,CAC/E,EAZaC,EAAAwT,GAAA,uCAaZA,GAAgDvT,GAAa,GAGvD,IAAMwT,GAAN,KACP,CAEW,YAAY3T,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClF,aAAc,CAAE,MAAO,gBAAkB,CACzC,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAwC,CACjF,EAPaC,EAAAyT,GAAA,kBAQZA,GAA2BxT,GAAa,GAElC,IAAMyT,GAAN,KACP,CAEW,YAAY5T,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAgC,CACzE,EAPaC,EAAA0T,GAAA,0BAQZA,GAAmCzT,GAAa,GAG1C,IAAM0T,GAAN,KACP,CAEW,YAAY7T,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,MAAO,EAAI,CACzC,EAPaE,EAAA2T,GAAA,yBAQZA,GAAkC1T,GAAa,GAEzC,IAAM2T,GAAN,KACP,CAIW,YAAY9T,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnF,aAAc,CAAE,MAAO,iBAAmB,CAC1C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EATaC,EAAA4T,GAAA,mBAUZA,GAA4B3T,GAAa,GAEnC,IAAM4T,GAAN,KACP,CAGW,YAAY/T,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EARaC,EAAA6T,GAAA,wBASZA,GAAiC5T,GAAa,GAExC,IAAM6T,GAAN,KACP,CAIW,YAAYhU,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EATaC,EAAA8T,GAAA,yBAUZA,GAAkC7T,GAAa,GAIzC,IAAM8T,GAAN,KACP,CAKW,YAAYjU,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIyT,CAAc,CACvD,EAVavT,EAAA+T,GAAA,yBAWZA,GAAkC9T,GAAa,GAEzC,IAAM+T,GAAN,KACP,CAGW,YAAYlU,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAoC,CAC7E,EARaC,EAAAgU,GAAA,uBASZA,GAAgC/T,GAAa,GAEvC,IAAMgU,GAAN,KACP,CAEW,YAAYnU,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAI,KAA0C,CACnF,EAPaE,EAAAiU,GAAA,2BAQZA,GAAoChU,GAAa,GAE3C,IAAMiU,GAAN,KACP,CAMW,YAAYpU,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAXaC,EAAAkU,GAAA,yBAYZA,GAAkCjU,GAAa,GAGzC,IAAMkU,GAAN,KACP,CAMW,YAAYrU,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EAXaE,EAAAmU,GAAA,gCAYZA,GAAyClU,GAAa,GAEhD,IAAMmU,GAAN,KACP,CAIW,YAAYtU,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,aAAc,CAAE,MAAO,iCAAmC,CAC1D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAkC,CAC3E,EATaC,EAAAoU,GAAA,mCAUZA,GAA4CnU,GAAa,GAEnD,IAAMoU,GAAN,KACP,CAIW,YAAYvU,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EATaE,EAAAqU,GAAA,gCAUZA,GAAyCpU,GAAa,GAEhD,IAAMqU,GAAN,KACP,CAGW,YAAYxU,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EARaC,EAAAsU,GAAA,sBASZA,GAA+BrU,GAAa,GAGtC,IAAMsU,GAAN,KACP,CAOW,YAAYzU,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAZaC,EAAAuU,GAAA,wBAaZA,GAAiCtU,GAAa,GAExC,IAAMuU,GAAN,KACP,CAGW,YAAY1U,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EARaC,EAAAwU,GAAA,sBASZA,GAA+BvU,GAAa,GAGtC,IAAMwU,GAAN,KACP,CAGW,YAAY3U,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EARaC,EAAAyU,GAAA,sBASZA,GAA+BxU,GAAa,GAGtC,IAAMyU,GAAN,KACP,CAGW,YAAY5U,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EARaC,EAAA0U,GAAA,qBASZA,GAA8BzU,GAAa,GAErC,IAAM0U,GAAN,KACP,CAeW,YAAY7U,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnF,aAAc,CAAE,MAAO,iBAAmB,CAC1C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EApBaC,EAAA2U,GAAA,mBAqBZA,GAA4B1U,GAAa,GAGnC,IAAM2U,GAAN,KACP,CAOW,YAAY9U,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA4C,CACrF,EAZaC,EAAA4U,GAAA,yBAaZA,GAAkC3U,GAAa,GAGzC,IAAM4U,GAAN,KACP,CAgBW,YAAY/U,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA4D,CACrG,EArBaC,EAAA6U,GAAA,yBAsBZA,GAAkC5U,GAAa,GAGzC,IAAM6U,GAAN,KACP,CAOW,YAAYhV,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA4D,CACrG,EAZaC,EAAA8U,GAAA,4BAaZA,GAAqC7U,GAAa,GAG5C,IAAM8U,GAAN,KACP,CAiEW,YAAYjV,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA4D,CACrG,EAtEaC,EAAA+U,GAAA,0BAuEZA,GAAmC9U,GAAa,GAG1C,IAAM+U,GAAN,KACP,CAGW,YAAYlV,EAAmD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,aAAc,CAAE,MAAO,mCAAqC,CAC5D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAoD,CAC7F,EARaC,EAAAgV,GAAA,qCASZA,GAA8C/U,GAAa,GAGrD,IAAMgV,GAAN,KACP,CAKW,YAAYnV,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAVaC,EAAAiV,GAAA,gCAWZA,GAAyChV,GAAa,GAGhD,IAAMiV,GAAN,KACP,CAGW,YAAYpV,EAAsD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,aAAc,CAAE,MAAO,sCAAwC,CAC/D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwB,CACjE,EARaC,EAAAkV,GAAA,wCASZA,GAAiDjV,GAAa,GAGxD,IAAMkV,GAAN,KACP,CAKW,YAAYrV,EAAkD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,aAAc,CAAE,MAAO,kCAAoC,CAC3D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA+C,CACxF,EAVaC,EAAAmV,GAAA,oCAWZA,GAA6ClV,GAAa,GAGpD,IAAMmV,GAAN,KACP,CAKW,YAAYtV,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA+B,CACxE,EAVaC,EAAAoV,GAAA,4BAWZA,GAAqCnV,GAAa,GAE5C,IAAMoV,GAAN,KACP,CAWW,YAAYvV,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,aAAc,CAAE,MAAO,+BAAiC,CACxD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAgD,CACzF,EAhBaC,EAAAqV,GAAA,iCAiBZA,GAA0CpV,GAAa,GAGjD,IAAMqV,GAAN,KACP,CAOW,YAAYxV,EAAmD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,aAAc,CAAE,MAAO,mCAAqC,CAC5D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAoD,CAC7F,EAZaC,EAAAsV,GAAA,qCAaZA,GAA8CrV,GAAa,GAGrD,IAAMsV,GAAN,KACP,CAMW,YAAYzV,EAAmD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,aAAc,CAAE,MAAO,mCAAqC,CAC5D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAXaC,EAAAuV,GAAA,qCAYZA,GAA8CtV,GAAa,GAGrD,IAAMuV,GAAN,KACP,CASW,YAAY1V,EAA2D,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7G,aAAc,CAAE,MAAO,2CAA6C,CACpE,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAdaC,EAAAwV,GAAA,6CAeZA,GAAsDvV,GAAa,GAE7D,IAAMwV,GAAN,KACP,CAIW,YAAY3V,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,aAAc,CAAE,MAAO,iCAAmC,CAC1D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAkD,CAC3F,EATaC,EAAAyV,GAAA,mCAUZA,GAA4CxV,GAAa,GAGnD,IAAMyV,GAAN,KACP,CAUW,YAAY5V,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA+B,CACxE,EAfaC,EAAA0V,GAAA,0BAgBZA,GAAmCzV,GAAa,GAG1C,IAAM0V,GAAN,KACP,CAGW,YAAY7V,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EARaC,EAAA2V,GAAA,wBASZA,GAAiC1V,GAAa,GAIxC,IAAM2V,GAAN,KACP,CAKW,YAAY9V,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAVaC,EAAA4V,GAAA,2BAWZA,GAAoC3V,GAAa,GAG3C,IAAM4V,GAAN,KACP,CAMW,YAAY/V,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI,KAAgB,CACzD,EAXaE,EAAA6V,GAAA,sBAYZA,GAA+B5V,GAAa,GAGtC,IAAM6V,GAAN,KACP,CAEW,YAAYhW,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAwC,CACjF,EAPaC,EAAA8V,GAAA,yBAQZA,GAAkC7V,GAAa,GAGzC,IAAM8V,GAAN,KACP,CAOW,YAAYjW,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIkW,EAA2B,CACpE,EAZahW,EAAA+V,GAAA,0BAaZA,GAAmC9V,GAAa,GAG1C,IAAMgW,GAAN,KACP,CAKW,YAAYnW,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnF,aAAc,CAAE,MAAO,iBAAmB,CAC1C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIoW,EAAuB,CAChE,EAValW,EAAAiW,GAAA,mBAWZA,GAA4BhW,GAAa,GAGnC,IAAMkW,GAAN,KACP,CAOW,YAAYrW,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EAZaC,EAAAmW,GAAA,oBAaZA,GAA6BlW,GAAa,GAEpC,IAAMmW,GAAN,KACP,CAIW,YAAYtW,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EATaC,EAAAoW,GAAA,4BAUZA,GAAqCnW,GAAa,GAI5C,IAAMoW,GAAN,KACP,CA0BW,YAAYvW,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAuB,CAChE,EA/BaC,EAAAqW,GAAA,oBAgCZA,GAA6BpW,GAAa,GAGpC,IAAMqW,GAAN,KACP,CAMW,YAAYxW,EAAmD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,aAAc,CAAE,MAAO,mCAAqC,CAC5D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIkW,EAA2B,CACpE,EAXahW,EAAAsW,GAAA,qCAYZA,GAA8CrW,GAAa,GAErD,IAAMsW,GAAN,KACP,CAGW,YAAYzW,EAAoD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,aAAc,CAAE,MAAO,oCAAsC,CAC7D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAqD,CAC9F,EARaC,EAAAuW,GAAA,sCASZA,GAA+CtW,GAAa,GAEtD,IAAMuW,GAAN,cAA8CC,EACrD,CAGW,YAAY3W,EAAiD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChH,aAAc,CAAE,MAAO,iCAAmC,CAC1D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EARaC,EAAAwW,GAAA,mCASZA,GAA4CvW,GAAa,GAEnD,IAAMyW,GAAN,KACP,CAGW,YAAY5W,EAAmD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,aAAc,CAAE,MAAO,mCAAqC,CAC5D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EARaC,EAAA0W,GAAA,qCASZA,GAA8CzW,GAAa,GAErD,IAAM0W,GAAN,KACP,CAGW,YAAY7W,EAA2D,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7G,aAAc,CAAE,MAAO,2CAA6C,CACpE,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA4D,CACrG,EARaC,EAAA2W,GAAA,6CASZA,GAAsD1W,GAAa,GAE7D,IAAM2W,GAAN,KACP,CAEW,YAAY9W,EAAmD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,aAAc,CAAE,MAAO,mCAAqC,CAC5D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAPaC,EAAA4W,GAAA,qCAQZA,GAA8C3W,GAAa,GAGrD,IAAM4W,GAAN,KACP,CAEW,YAAY/W,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EAPaC,EAAA6W,GAAA,4BAQZA,GAAqC5W,GAAa,GAE5C,IAAM6W,GAAN,KACP,CAEW,YAAYhX,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA+B,CACxE,EAPaC,EAAA8W,GAAA,sBAQZA,GAA+B7W,GAAa,GAGtC,IAAM8W,GAAN,KACP,CAEW,YAAYjX,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA8C,CACvF,EAPaC,EAAA+W,GAAA,yBAQZA,GAAkC9W,GAAa,GAGzC,IAAM+W,GAAN,KACP,CAIW,YAAYlX,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,MAAO,EAAO,CAC5C,EATaE,EAAAgX,GAAA,kCAUZA,GAA2C/W,GAAa,GAElD,IAAMgX,GAAN,KACP,CAEW,YAAYnX,EAAkD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,aAAc,CAAE,MAAO,kCAAoC,CAC3D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAgD,CACzF,EAPaC,EAAAiX,GAAA,oCAQZA,GAA6ChX,GAAa,GAEpD,IAAMiX,GAAN,KACP,CAKW,YAAYpX,EAAmD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,aAAc,CAAE,MAAO,mCAAqC,CAC5D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAgD,CACzF,EAVaC,EAAAkX,GAAA,qCAWZA,GAA8CjX,GAAa,GAErD,IAAMkX,GAAN,KACP,CAGW,YAAYrX,EAA0D,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5G,aAAc,CAAE,MAAO,0CAA4C,CACnE,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmD,CAC5F,EARaC,EAAAmX,GAAA,4CASZA,GAAqDlX,GAAa,GAE5D,IAAMmX,GAAN,cAAoDnR,CAC3D,CAKW,YAAYnG,EAAuD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtH,aAAc,CAAE,MAAO,uCAAyC,CAChE,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAVaC,EAAAoX,GAAA,yCAWZA,GAAkDnX,GAAa,GAEzD,IAAMoX,GAAN,KACP,CAGW,YAAYvX,EAAoD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,aAAc,CAAE,MAAO,oCAAsC,CAC7D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EARaC,EAAAqX,GAAA,sCASZA,GAA+CpX,GAAa,GAGtD,IAAMqX,GAAN,KACP,CAEW,YAAYxX,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAPaC,EAAAsX,GAAA,uBAQZA,GAAgCrX,GAAa,GAGvC,IAAMsX,GAAN,KACP,CAEW,YAAYzX,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EAPaE,EAAAuX,GAAA,wBAQZA,GAAiCtX,GAAa,GAGxC,IAAMuX,GAAN,KACP,CAIW,YAAY1X,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAI2X,EAAyB,CAClE,EATazX,EAAAwX,GAAA,wBAUZA,GAAiCvX,GAAa,GAGxC,IAAMyX,GAAN,KACP,CAEW,YAAY5X,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA6C,CACtF,EAPaC,EAAA0X,GAAA,oBAQZA,GAA6BzX,GAAa,GAGpC,IAAM0X,GAAN,KACP,CAKW,YAAY7X,EAA8B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChF,aAAc,CAAE,MAAO,cAAgB,CACvC,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA6C,CACtF,EAVaC,EAAA2X,GAAA,gBAWZA,GAAyB1X,GAAa,GAEhC,IAAM2X,GAAN,KACP,CAGW,YAAY9X,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA6C,CACtF,EARaC,EAAA4X,GAAA,sBASZA,GAA+B3X,GAAa,GAGtC,IAAM4X,GAAN,KACP,CAEW,YAAY/X,EAA2B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7E,aAAc,CAAE,MAAO,WAAa,CACpC,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EAPaE,EAAA6X,GAAA,aAQZA,GAAsB5X,GAAa,GAG7B,IAAM6X,GAAN,KACP,CAEW,YAAYhY,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjF,aAAc,CAAE,MAAO,eAAiB,CACxC,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EAPaE,EAAA8X,GAAA,iBAQZA,GAA0B7X,GAAa,GAGjC,IAAM8X,GAAN,KACP,CAEW,YAAYjY,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EAPaE,EAAA+X,GAAA,oBAQZA,GAA6B9X,GAAa,GAGpC,IAAM+X,GAAN,KACP,CAEW,YAAYlY,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClF,aAAc,CAAE,MAAO,gBAAkB,CACzC,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA6C,CACtF,EAPaC,EAAAgY,GAAA,kBAQZA,GAA2B/X,GAAa,GAElC,IAAMgY,GAAN,KACP,CAEW,YAAYnY,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAoC,CAC7E,EAPaC,EAAAiY,GAAA,wBAQZA,GAAiChY,GAAa,GAExC,IAAMiY,GAAN,KACP,CAEW,YAAYpY,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAwB,CACjE,EAPaC,EAAAkY,GAAA,4BAQZA,GAAqCjY,GAAa,GAI5C,IAAMkY,GAAN,KACP,CAGW,YAAYrY,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EARaC,EAAAmY,GAAA,oBASZA,GAA6BlY,GAAa,GAEpC,IAAMmY,GAAN,KACP,CAGW,YAAYtY,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAsC,CAC/E,EARaC,EAAAoY,GAAA,0BASZA,GAAmCnY,GAAa,GAE1C,IAAMoY,GAAN,KACP,CAGW,YAAYvY,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,aAAc,CAAE,MAAO,+BAAiC,CACxD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA6C,CACtF,EARaC,EAAAqY,GAAA,iCASZA,GAA0CpY,GAAa,GAEjD,IAAMqY,GAAN,cAAwCrS,CAC/C,CAWW,YAAYnG,EAA2C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1G,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAsC,CAC/E,EAhBaC,EAAAsY,GAAA,6BAiBZA,GAAsCrY,GAAa,GAE7C,IAAMsY,GAAN,KACP,CAYW,YAAYzY,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAsC,CAC/E,EAjBaC,EAAAuY,GAAA,6BAkBZA,GAAsCtY,GAAa,GAE7C,IAAMuY,GAAN,KACP,CAkBW,YAAY1Y,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAsC,CAC/E,EAvBaC,EAAAwY,GAAA,6BAwBZA,GAAsCvY,GAAa,GAG7C,IAAMwY,GAAN,KACP,CAEW,YAAY3Y,EAAuD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,aAAc,CAAE,MAAO,uCAAyC,CAChE,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIyT,CAAc,CACvD,EAPavT,EAAAyY,GAAA,yCAQZA,GAAkDxY,GAAa,GAGzD,IAAMyY,GAAN,KACP,CAMW,YAAY5Y,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIyT,CAAc,CACvD,EAXavT,EAAA0Y,GAAA,yBAYZA,GAAkCzY,GAAa,GAEzC,IAAM0Y,GAAN,KACP,CAGW,YAAY7Y,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EARaC,EAAA2Y,GAAA,0BASZA,GAAmC1Y,GAAa,GAE1C,IAAM2Y,GAAN,KACP,CAGW,YAAY9Y,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EARaC,EAAA4Y,GAAA,4BASZA,GAAqC3Y,GAAa,GAE5C,IAAM4Y,GAAN,KACP,CAEW,YAAY/Y,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EAPaC,EAAA6Y,GAAA,uBAQZA,GAAgC5Y,GAAa,GAEvC,IAAM6Y,GAAN,KACP,CAEW,YAAYhZ,EAAkD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,aAAc,CAAE,MAAO,kCAAoC,CAC3D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAgD,CACzF,EAPaC,EAAA8Y,GAAA,oCAQZA,GAA6C7Y,GAAa,GAEpD,IAAM8Y,GAAN,KACP,CAGW,YAAYjZ,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA0C,CACnF,EARaC,EAAA+Y,GAAA,2BASZA,GAAoC9Y,GAAa,GAE3C,IAAM+Y,GAAN,KACP,CAGW,YAAYlZ,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EARaC,EAAAgZ,GAAA,0BASZA,GAAmC/Y,GAAa,GAE1C,IAAMgZ,GAAN,KACP,CAGW,YAAYnZ,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA2C,CACpF,EARaC,EAAAiZ,GAAA,4BASZA,GAAqChZ,GAAa,GAE5C,IAAMiZ,GAAN,KACP,CAGW,YAAYpZ,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAiC,CAC1E,EARaC,EAAAkZ,GAAA,qBASZA,GAA8BjZ,GAAa,GAErC,IAAMkZ,GAAN,KACP,CAIW,YAAYrZ,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAiC,CAC1E,EATaC,EAAAmZ,GAAA,yBAUZA,GAAkClZ,GAAa,GAEzC,IAAMmZ,GAAN,KACP,CA0EW,YAAYtZ,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAiC,CAC1E,EA/EaC,EAAAoZ,GAAA,sBAgFZA,GAA+BnZ,GAAa,GAEtC,IAAMoZ,GAAN,KACP,CAGW,YAAYvZ,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClF,aAAc,CAAE,MAAO,gBAAkB,CACzC,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAiC,CAC1E,EARaC,EAAAqZ,GAAA,kBASZA,GAA2BpZ,GAAa,GAElC,IAAMqZ,GAAN,KACP,CAGW,YAAYxZ,EAA0D,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5G,aAAc,CAAE,MAAO,0CAA4C,CACnE,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EARaC,EAAAsZ,GAAA,4CASZA,GAAqDrZ,GAAa,GAG5D,IAAMsZ,GAAN,cAAqCC,CAC5C,CAIW,YAAY1Z,EAAwC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EATaC,EAAAuZ,GAAA,0BAUZA,GAAmCtZ,GAAa,GAG1C,IAAMwZ,GAAN,cAA2CF,EAClD,CAEW,YAAYzZ,EAA8C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7G,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAPaC,EAAAyZ,GAAA,gCAQZA,GAAyCxZ,GAAa,GAGhD,IAAMyZ,GAAN,KACP,CAGW,YAAY5Z,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,QAAU,CAC/B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EARaC,EAAA0Z,GAAA,4BASZA,GAAqCzZ,GAAa,GAG5C,IAAM0Z,GAAN,cAA6CD,EACpD,CAEW,YAAY5Z,EAAgD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/G,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,QAAU,CAC/B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAPaC,EAAA2Z,GAAA,kCAQZA,GAA2C1Z,GAAa,GAElD,IAAM2Z,GAAN,KACP,CAmBW,YAAY9Z,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAoC,CAC7E,EAxBaC,EAAA4Z,GAAA,6BAyBZA,GAAsC3Z,GAAa,GAE7C,IAAM4Z,GAAN,KACP,CAEW,YAAY/Z,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA2C,CACpF,EAPaC,EAAA6Z,GAAA,6BAQZA,GAAsC5Z,GAAa,GAE7C,IAAM6Z,GAAN,KACP,CAEW,YAAYha,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,aAAc,CAAE,MAAO,+BAAiC,CACxD,WAAY,CAAE,MAAO,QAAU,CAC/B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAPaC,EAAA8Z,GAAA,iCAQZA,GAA0C7Z,GAAa,GAEjD,IAAM8Z,GAAN,KACP,CAEW,YAAYja,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA6B,CACtE,EAPaC,EAAA+Z,GAAA,+BAQZA,GAAwC9Z,GAAa,GAE/C,IAAM+Z,GAAN,KACP,CAOW,YAAYla,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAZaC,EAAAga,GAAA,8BAaZA,GAAuC/Z,GAAa,GAE9C,IAAMga,GAAN,KACP,CAIW,YAAYna,EAAkD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,aAAc,CAAE,MAAO,kCAAoC,CAC3D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmD,CAC5F,EATaC,EAAAia,GAAA,oCAUZA,GAA6Cha,GAAa,GAGpD,IAAMia,GAAN,KACP,CAGW,YAAYpa,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EARaC,EAAAka,GAAA,4BASZA,GAAqCja,GAAa,GAI5C,IAAMka,GAAN,KACP,CAIW,YAAYra,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIyT,CAAc,CACvD,EATavT,EAAAma,GAAA,gCAUZA,GAAyCla,GAAa,GAEhD,IAAMma,GAAN,KACP,CAKW,YAAYta,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA8C,CACvF,EAVaC,EAAAoa,GAAA,kCAWZA,GAA2Cna,GAAa,GAGlD,IAAMoa,GAAN,KACP,CAEW,YAAYva,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAPaC,EAAAqa,GAAA,gCAQZA,GAAyCpa,GAAa,GAEhD,IAAMqa,GAAN,KACP,CAOW,YAAYxa,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAZaC,EAAAsa,GAAA,qBAaZA,GAA8Bra,GAAa,GAErC,IAAMsa,GAAN,KACP,CAKW,YAAYza,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAVaC,EAAAua,GAAA,+BAWZA,GAAwCta,GAAa,GAE/C,IAAMua,GAAN,KACP,CAIW,YAAY1a,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,aAAc,CAAE,MAAO,iCAAmC,CAC1D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EATaC,EAAAwa,GAAA,mCAUZA,GAA4Cva,GAAa,GAEnD,IAAMwa,GAAN,KACP,CAMW,YAAY3a,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAXaC,EAAAya,GAAA,kCAYZA,GAA2Cxa,GAAa,GAElD,IAAMya,GAAN,cAAiDD,EACxD,CAEW,YAAY3a,EAAoD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnH,aAAc,CAAE,MAAO,oCAAsC,CAC7D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAPaC,EAAA0a,GAAA,sCAQZA,GAA+Cza,GAAa,GAEtD,IAAM0a,GAAN,KACP,CAGW,YAAY7a,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EARaC,EAAA2a,GAAA,6BASZA,GAAsC1a,GAAa,GAE7C,IAAM2a,GAAN,KACP,CAEW,YAAY9a,EAAkD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,aAAc,CAAE,MAAO,kCAAoC,CAC3D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA4B,CACrE,EAPaC,EAAA4a,GAAA,oCAQZA,GAA6C3a,GAAa,GAEpD,IAAM4a,GAAN,KACP,CAKW,YAAY/a,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAuC,CAChF,EAVaC,EAAA6a,GAAA,+BAWZA,GAAwC5a,GAAa,GAE/C,IAAM6a,GAAN,KACP,CASW,YAAYhb,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAiC,CAC1E,EAdaC,EAAA8a,GAAA,wBAeZA,GAAiC7a,GAAa,GAExC,IAAM8a,GAAN,KACP,CAGW,YAAYjb,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIkb,EAA0B,CACnE,EARahb,EAAA+a,GAAA,yBASZA,GAAkC9a,GAAa,GAEzC,IAAMgb,GAAN,KACP,CAEW,YAAYnb,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA6B,CACtE,EAPaC,EAAAib,GAAA,4BAQZA,GAAqChb,GAAa,GAE5C,IAAMib,GAAN,KACP,CAEW,YAAYpb,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAuC,CAChF,EAPaC,EAAAkb,GAAA,wBAQZA,GAAiCjb,GAAa,GAExC,IAAMkb,GAAN,KACP,CAGW,YAAYrb,EAAqD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,aAAc,CAAE,MAAO,qCAAuC,CAC9D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA0C,CACnF,EARaC,EAAAmb,GAAA,uCASZA,GAAgDlb,GAAa,GAEvD,IAAMmb,GAAN,KACP,CAIW,YAAYtb,EAAkD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,aAAc,CAAE,MAAO,kCAAoC,CAC3D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EATaC,EAAAob,GAAA,oCAUZA,GAA6Cnb,GAAa,GAGpD,IAAMob,GAAN,KACP,CAKW,YAAYvb,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EAVaC,EAAAqb,GAAA,qBAWZA,GAA8Bpb,GAAa,GAErC,IAAMqb,GAAN,KACP,CAGW,YAAYxb,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EARaC,EAAAsb,GAAA,+BASZA,GAAwCrb,GAAa,GAE/C,IAAMsb,GAAN,cAAiDd,EACxD,CAMW,YAAY3a,EAAoD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnH,aAAc,CAAE,MAAO,oCAAsC,CAC7D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAXaC,EAAAub,GAAA,sCAYZA,GAA+Ctb,GAAa,GAEtD,IAAMub,GAAN,KACP,CAWW,YAAY1b,EAAqD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,aAAc,CAAE,MAAO,qCAAuC,CAC9D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI2b,EAA6B,CACtE,EAhBazb,EAAAwb,GAAA,uCAiBZA,GAAgDvb,GAAa,GAEvD,IAAMyb,GAAN,KACP,CAUW,YAAY5b,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI6b,EAA8B,CACvE,EAfa3b,EAAA0b,GAAA,8BAgBZA,GAAuCzb,GAAa,GAE9C,IAAM2b,GAAN,KACP,CAGW,YAAY9b,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EARaE,EAAA4b,GAAA,kCASZA,GAA2C3b,GAAa,GAElD,IAAM4b,GAAN,KACP,CAIW,YAAY/b,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAgD,CACzF,EATaC,EAAA6b,GAAA,0BAUZA,GAAmC5b,GAAa,GAE1C,IAAM6b,GAAN,KACP,CAIW,YAAYhc,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EATaC,EAAA8b,GAAA,sBAUZA,GAA+B7b,GAAa,GAEtC,IAAM8b,GAAN,KACP,CAKW,YAAYjc,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIyS,CAAe,CACxD,EAVavS,EAAA+b,GAAA,+BAWZA,GAAwC9b,GAAa,GAE/C,IAAM+b,GAAN,KACP,CAEW,YAAYlc,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAPaC,EAAAgc,GAAA,uBAQZA,GAAgC/b,GAAa,GAEvC,IAAMgc,GAAN,KACP,CAGW,YAAYnc,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmC,CAC5E,EARaC,EAAAic,GAAA,uBASZA,GAAgChc,GAAa,GAEvC,IAAMic,GAAN,cAAoCC,EAC3C,CAMW,YAAYrc,EAAuC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAXaC,EAAAkc,GAAA,yBAYZA,GAAkCjc,GAAa,GAEzC,IAAMmc,GAAN,KACP,CAKW,YAAYtc,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,aAAc,CAAE,MAAO,iCAAmC,CAC1D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAkD,CAC3F,EAVaC,EAAAoc,GAAA,mCAWZA,GAA4Cnc,GAAa,GAInD,IAAMoc,GAAN,KACP,CAGW,YAAYvc,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIyT,CAAc,CACvD,EARavT,EAAAqc,GAAA,0BASZA,GAAmCpc,GAAa,GAG1C,IAAMqc,GAAN,KACP,CAGW,YAAYxc,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIyT,CAAc,CACvD,EARavT,EAAAsc,GAAA,2BASZA,GAAoCrc,GAAa,GAE3C,IAAMsc,GAAN,KACP,CAGW,YAAYzc,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAwB,CACjE,EARaC,EAAAuc,GAAA,6BASZA,GAAsCtc,GAAa,GAE7C,IAAMuc,GAAN,KACP,CAIW,YAAY1c,EAAkD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,aAAc,CAAE,MAAO,kCAAoC,CAC3D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI2c,EAAsD,CAC/F,EATazc,EAAAwc,GAAA,oCAUZA,GAA6Cvc,GAAa,GAEpD,IAAMyc,GAAN,KACP,CAGW,YAAY5c,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA2C,CACpF,EARaC,EAAA0c,GAAA,4BASZA,GAAqCzc,GAAa,GAE5C,IAAM0c,GAAN,KACP,CAMW,YAAY7c,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAXaC,EAAA2c,GAAA,2BAYZA,GAAoC1c,GAAa,GAE3C,IAAM2c,GAAN,KACP,CAGW,YAAY9c,EAAqD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvG,aAAc,CAAE,MAAO,qCAAuC,CAC9D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA6D,CACtG,EARaC,EAAA4c,GAAA,uCASZA,GAAgD3c,GAAa,GAEvD,IAAM4c,GAAN,KACP,CAWW,YAAY/c,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,aAAc,CAAE,MAAO,iCAAmC,CAC1D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAhBaC,EAAA6c,GAAA,mCAiBZA,GAA4C5c,GAAa,GAEnD,IAAM6c,GAAN,KACP,CAEW,YAAYhd,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAPaC,EAAA8c,GAAA,qBAQZA,GAA8B7c,GAAa,GAErC,IAAM8c,GAAN,KACP,CAGW,YAAYjd,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAkC,CAC3E,EARaC,EAAA+c,GAAA,2BASZA,GAAoC9c,GAAa,GAE3C,IAAM+c,GAAN,KACP,CAGW,YAAYld,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,aAAc,CAAE,MAAO,iCAAmC,CAC1D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAkD,CAC3F,EARaC,EAAAgd,GAAA,mCASZA,GAA4C/c,GAAa,GAEnD,IAAMgd,GAAN,KACP,CAMW,YAAYnd,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAXaC,EAAAid,GAAA,2BAYZA,GAAoChd,GAAa,GAE3C,IAAMid,GAAN,KACP,CAGW,YAAYpd,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,MAAO,EAAO,CAC5C,EARaE,EAAAkd,GAAA,2BASZA,GAAoCjd,GAAa,GAE3C,IAAMkd,GAAN,KACP,CAGW,YAAYrd,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,MAAO,EAAO,CAC5C,EARaE,EAAAmd,GAAA,8BASZA,GAAuCld,GAAa,GAE9C,IAAMmd,GAAN,KACP,CAKW,YAAYtd,EAAkD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,aAAc,CAAE,MAAO,kCAAoC,CAC3D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIud,EAAqC,CAC9E,EAVard,EAAAod,GAAA,oCAWZA,GAA6Cnd,GAAa,GAEpD,IAAMqd,GAAN,KACP,CAIW,YAAYxd,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,MAAO,EAAO,CAC5C,EATaE,EAAAsd,GAAA,kCAUZA,GAA2Crd,GAAa,GAElD,IAAMsd,GAAN,KACP,CAEW,YAAYzd,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA6C,CACtF,EAPaC,EAAAud,GAAA,8BAQZA,GAAuCtd,GAAa,GAE9C,IAAMud,GAAN,KACP,CAEW,YAAY1d,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAwB,CACjE,EAPaC,EAAAwd,GAAA,sBAQZA,GAA+Bvd,GAAa,GAEtC,IAAMwd,GAAN,KACP,CAIW,YAAY3d,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmC,CAC5E,EATaC,EAAAyd,GAAA,qBAUZA,GAA8Bxd,GAAa,GAErC,IAAMyd,GAAN,KACP,CAGW,YAAY5d,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmC,CAC5E,EARaC,EAAA0d,GAAA,oBASZA,GAA6Bzd,GAAa,GAEpC,IAAM0d,GAAN,KACP,CAEW,YAAY7d,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA4B,CACrE,EAPaC,EAAA2d,GAAA,8BAQZA,GAAuC1d,GAAa,GAE9C,IAAM2d,GAAN,KACP,CA8BW,YAAY9d,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAkC,CAC3E,EAnCaC,EAAA4d,GAAA,oBAoCZA,GAA6B3d,GAAa,GAEpC,IAAM4d,GAAN,KACP,CAEW,YAAY/d,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnF,aAAc,CAAE,MAAO,iBAAmB,CAC1C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAkC,CAC3E,EAPaC,EAAA6d,GAAA,mBAQZA,GAA4B5d,GAAa,GAEnC,IAAM6d,GAAN,KACP,CAEW,YAAYhe,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA0C,CACnF,EAPaC,EAAA8d,GAAA,oBAQZA,GAA6B7d,GAAa,GAEpC,IAAM8d,GAAN,KACP,CAIW,YAAYje,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA6C,CACtF,EATaC,EAAA+d,GAAA,uBAUZA,GAAgC9d,GAAa,GAEvC,IAAM+d,GAAN,KACP,CAGW,YAAYle,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA6C,CACtF,EARaC,EAAAge,GAAA,0BASZA,GAAmC/d,GAAa,GAE1C,IAAMge,GAAN,KACP,CAEW,YAAYne,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAiD,CAC1F,EAPaC,EAAAie,GAAA,kCAQZA,GAA2Che,GAAa,GAElD,IAAMie,GAAN,KACP,CAGW,YAAYpe,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,aAAc,CAAE,MAAO,iCAAmC,CAC1D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAkD,CAC3F,EARaC,EAAAke,GAAA,mCASZA,GAA4Cje,GAAa,GAEnD,IAAMke,GAAN,KACP,CAEW,YAAYre,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EAPaC,EAAAme,GAAA,0BAQZA,GAAmCle,GAAa,GAE1C,IAAMme,GAAN,KACP,CAEW,YAAYte,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA6C,CACtF,EAPaC,EAAAoe,GAAA,8BAQZA,GAAuCne,GAAa,GAE9C,IAAMoe,GAAN,KACP,CAEW,YAAYve,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAoC,CAC7E,EAPaC,EAAAqe,GAAA,qBAQZA,GAA8Bpe,GAAa,GAErC,IAAMqe,GAAN,KACP,CAEW,YAAYxe,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwC,CACjF,EAPaC,EAAAse,GAAA,yBAQZA,GAAkCre,GAAa,GAEzC,IAAMse,GAAN,KACP,CAGW,YAAYze,EAAuD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,aAAc,CAAE,MAAO,uCAAyC,CAChE,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwD,CACjG,EARaC,EAAAue,GAAA,yCASZA,GAAkDte,GAAa,GAEzD,IAAMue,GAAN,KACP,CAEW,YAAY1e,EAAoD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,aAAc,CAAE,MAAO,oCAAsC,CAC7D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAqD,CAC9F,EAPaC,EAAAwe,GAAA,sCAQZA,GAA+Cve,GAAa,GAEtD,IAAMwe,GAAN,KACP,CAIW,YAAY3e,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmD,CAC5F,EATaC,EAAAye,GAAA,6BAUZA,GAAsCxe,GAAa,GAE7C,IAAMye,GAAN,KACP,CAEW,YAAY5e,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAPaC,EAAA0e,GAAA,yBAQZA,GAAkCze,GAAa,GAEzC,IAAM0e,GAAN,KACP,CAEW,YAAY7e,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAoC,CAC7E,EAPaC,EAAA2e,GAAA,qBAQZA,GAA8B1e,GAAa,GAErC,IAAM2e,GAAN,KACP,CAEW,YAAY9e,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAwC,CACjF,EAPaC,EAAA4e,GAAA,yBAQZA,GAAkC3e,GAAa,GAEzC,IAAM4e,GAAN,KACP,CAIW,YAAY/e,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA+C,CACxF,EATaC,EAAA6e,GAAA,gCAUZA,GAAyC5e,GAAa,GAEhD,IAAM6e,GAAN,KACP,CAGW,YAAYhf,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EARaC,EAAA8e,GAAA,0BASZA,GAAmC7e,GAAa,GAE1C,IAAM8e,GAAN,KACP,CAGW,YAAYjf,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwB,CACjE,EARaC,EAAA+e,GAAA,4BASZA,GAAqC9e,GAAa,GAE5C,IAAM+e,GAAN,KACP,CAEW,YAAYlf,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA0C,CACnF,EAPaC,EAAAgf,GAAA,2BAQZA,GAAoC/e,GAAa,GAE3C,IAAMgf,GAAN,KACP,CAEW,YAAYnf,EAAkD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,aAAc,CAAE,MAAO,kCAAoC,CAC3D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmD,CAC5F,EAPaC,EAAAif,GAAA,oCAQZA,GAA6Chf,GAAa,GAEpD,IAAMif,GAAN,KACP,CAGW,YAAYpf,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA4C,CACrF,EARaC,EAAAkf,GAAA,6BASZA,GAAsCjf,GAAa,GAE7C,IAAMkf,GAAN,KACP,CAGW,YAAYrf,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwB,CACjE,EARaC,EAAAmf,GAAA,+BASZA,GAAwClf,GAAa,GAE/C,IAAMmf,GAAN,KACP,CAGW,YAAYtf,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EARaC,EAAAof,GAAA,uBASZA,GAAgCnf,GAAa,GAEvC,IAAMof,GAAN,KACP,CAGW,YAAYvf,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwB,CACjE,EARaC,EAAAqf,GAAA,4BASZA,GAAqCpf,GAAa,GAE5C,IAAMqf,GAAN,KACP,CAMW,YAAYxf,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAXaC,EAAAsf,GAAA,4BAYZA,GAAqCrf,GAAa,GAE5C,IAAMsf,GAAN,KACP,CAQW,YAAYzf,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAbaC,EAAAuf,GAAA,+BAcZA,GAAwCtf,GAAa,GAE/C,IAAMuf,GAAN,KACP,CAEW,YAAY1f,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA0C,CACnF,EAPaC,EAAAwf,GAAA,2BAQZA,GAAoCvf,GAAa,GAE3C,IAAMwf,GAAN,KACP,CAEW,YAAY3f,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA0C,CACnF,EAPaC,EAAAyf,GAAA,2BAQZA,GAAoCxf,GAAa,GAE3C,IAAMyf,GAAN,KACP,CAGW,YAAY5f,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA0C,CACnF,EARaC,EAAA0f,GAAA,8BASZA,GAAuCzf,GAAa,GAE9C,IAAM0f,GAAN,KACP,CAGW,YAAY7f,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,aAAc,CAAE,MAAO,+BAAiC,CACxD,WAAY,CAAE,MAAO,QAAU,CAC/B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EARaC,EAAA2f,GAAA,iCASZA,GAA0C1f,GAAa,GAGjD,IAAM2f,GAAN,cAAyCpe,CAChD,CAQW,YAAY1B,EAA4C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3G,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAuC,CAChF,EAbaC,EAAA4f,GAAA,8BAcZA,GAAuC3f,GAAa,GAE9C,IAAM4f,GAAN,cAAwCre,CAC/C,CAGW,YAAY1B,EAA2C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1G,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EARaC,EAAA6f,GAAA,6BASZA,GAAsC5f,GAAa,GAE7C,IAAM6f,GAAN,cAAmCte,CAC1C,CAKW,YAAY1B,EAAsC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAVaC,EAAA8f,GAAA,wBAWZA,GAAiC7f,GAAa,GAExC,IAAM8f,GAAN,cAAmCve,CAC1C,CAKW,YAAY1B,EAAsC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAVaC,EAAA+f,GAAA,wBAWZA,GAAiC9f,GAAa,GAGxC,IAAM+f,GAAN,KACP,CAMW,YAAYlgB,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAC,CAC7B,EAXaE,EAAAggB,GAAA,yBAYZA,GAAkC/f,GAAa,GAEzC,IAAMggB,GAAN,KACP,CAGW,YAAYngB,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EARaE,EAAAigB,GAAA,sBASZA,GAA+BhgB,GAAa,GAEtC,IAAMigB,GAAN,KACP,CAGW,YAAYpgB,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIqgB,EAAuB,CAChE,EARangB,EAAAkgB,GAAA,4BASZA,GAAqCjgB,GAAa,GAE5C,IAAMmgB,GAAN,KACP,CAIW,YAAYtgB,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EATaC,EAAAogB,GAAA,sBAUZA,GAA+BngB,GAAa,GAEtC,IAAMogB,GAAN,cAAiCC,CACxC,CAIW,YAAYxgB,EAAoC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAgC,CACzE,EATaC,EAAAqgB,GAAA,sBAUZA,GAA+BpgB,GAAa,GAEtC,IAAMsgB,GAAN,KACP,CAGW,YAAYzgB,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,aAAc,CAAE,MAAO,+BAAiC,CACxD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAwC,CACjF,EARaC,EAAAugB,GAAA,iCASZA,GAA0CtgB,GAAa,GAEjD,IAAMugB,GAAN,cAAgCC,EACvC,CAGW,YAAY3gB,EAAmC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EARaC,EAAAwgB,GAAA,qBASZA,GAA8BvgB,GAAa,GAErC,IAAMygB,GAAN,cAAiCC,EACxC,CAEW,YAAY7gB,EAAoC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAuC,CAChF,EAPaC,EAAA0gB,GAAA,sBAQZA,GAA+BzgB,GAAa,GAEtC,IAAM2gB,GAAN,KACP,CAEW,YAAY9gB,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA+B,CACxE,EAPaC,EAAA4gB,GAAA,2BAQZA,GAAoC3gB,GAAa,GAE3C,IAAM4gB,GAAN,cAAgCC,CACvC,CAEW,YAAYhhB,EAAmC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA+B,CACxE,EAPaC,EAAA6gB,GAAA,qBAQZA,GAA8B5gB,GAAa,GAErC,IAAM8gB,GAAN,KACP,CAGW,YAAYjhB,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,QAAU,CAC/B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EARaC,EAAA+gB,GAAA,wBASZA,GAAiC9gB,GAAa,GAExC,IAAM+gB,GAAN,KACP,CAGW,YAAYlhB,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAuC,CAChF,EARaC,EAAAghB,GAAA,wBASZA,GAAiC/gB,GAAa,GAExC,IAAMghB,GAAN,KACP,CAIW,YAAYnhB,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,QAAU,CAC/B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EATaC,EAAAihB,GAAA,yBAUZA,GAAkChhB,GAAa,GAEzC,IAAMihB,GAAN,cAAiCJ,CACxC,CAGW,YAAYhhB,EAAoC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA+B,CACxE,EARaC,EAAAkhB,GAAA,sBASZA,GAA+BjhB,GAAa,GAEtC,IAAMkhB,GAAN,KACP,CAGW,YAAYrhB,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAwC,CACjF,EARaC,EAAAmhB,GAAA,yBASZA,GAAkClhB,GAAa,GAEzC,IAAMmhB,GAAN,KACP,CAIW,YAAYthB,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA4C,CACrF,EATaC,EAAAohB,GAAA,gCAUZA,GAAyCnhB,GAAa,GAEhD,IAAMohB,GAAN,KACP,CAGW,YAAYvhB,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,aAAc,CAAE,MAAO,iCAAmC,CAC1D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EARaC,EAAAqhB,GAAA,mCASZA,GAA4CphB,GAAa,GAEnD,IAAMqhB,GAAN,KACP,CAOW,YAAYxhB,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EAZaC,EAAAshB,GAAA,2BAaZA,GAAoCrhB,GAAa,GAE3C,IAAMshB,GAAN,KACP,CAIW,YAAYzhB,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA8B,CACvE,EATaC,EAAAuhB,GAAA,kCAUZA,GAA2CthB,GAAa,GAElD,IAAMuhB,GAAN,cAAmCC,EAC1C,CAOW,YAAY3hB,EAAsC,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAZaC,EAAAwhB,GAAA,wBAaZA,GAAiCvhB,GAAa,GAExC,IAAMyhB,GAAN,KACP,CAKW,YAAY5hB,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,aAAc,CAAE,MAAO,+BAAiC,CACxD,WAAY,CAAE,MAAO,QAAU,CAC/B,gBAAiB,CAAC,CAC7B,EAVaE,EAAA0hB,GAAA,iCAWZA,GAA0CzhB,GAAa,GAEjD,IAAM0hB,GAAN,KACP,CAIW,YAAY7hB,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EATaC,EAAA2hB,GAAA,gCAUZA,GAAyC1hB,GAAa,GAEhD,IAAM2hB,GAAN,KACP,CAWW,YAAY9hB,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAhBaC,EAAA4hB,GAAA,oBAiBZA,GAA6B3hB,GAAa,GAIpC,IAAM4hB,GAAN,KACP,CAEW,YAAY/hB,EAA8B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChF,aAAc,CAAE,MAAO,cAAgB,CACvC,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA+C,CACxF,EAPaC,EAAA6hB,GAAA,gBAQZA,GAAyB5hB,GAAa,GAGhC,IAAM6hB,GAAN,KACP,CAIW,YAAYhiB,EAAoD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,aAAc,CAAE,MAAO,oCAAsC,CAC7D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIyT,CAAc,CACvD,EATavT,EAAA8hB,GAAA,sCAUZA,GAA+C7hB,GAAa,GAGtD,IAAM8hB,GAAN,KACP,CAGW,YAAYjiB,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIkiB,EAAyB,CAClE,EARahiB,EAAA+hB,GAAA,2BASZA,GAAoC9hB,GAAa,GAE3C,IAAMgiB,GAAN,KACP,CAEW,YAAYniB,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAuC,CAChF,EAPaC,EAAAiiB,GAAA,wBAQZA,GAAiChiB,GAAa,GAExC,IAAMiiB,GAAN,KACP,CAGW,YAAYpiB,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EARaE,EAAAkiB,GAAA,yBASZA,GAAkCjiB,GAAa,GAGzC,IAAMkiB,GAAN,KACP,CAIW,YAAYriB,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIyT,CAAc,CACvD,EATavT,EAAAmiB,GAAA,gCAUZA,GAAyCliB,GAAa,GAEhD,IAAMmiB,GAAN,KACP,CAEW,YAAYtiB,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA0B,CACnE,EAPaC,EAAAoiB,GAAA,uBAQZA,GAAgCniB,GAAa,GAEvC,IAAMoiB,GAAN,KACP,CAEW,YAAYviB,EAAoD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,aAAc,CAAE,MAAO,oCAAsC,CAC7D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAPaC,EAAAqiB,GAAA,sCAQZA,GAA+CpiB,GAAa,GAEtD,IAAMqiB,GAAN,KACP,CAEW,YAAYxiB,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAPaC,EAAAsiB,GAAA,4BAQZA,GAAqCriB,GAAa,GAE5C,IAAMsiB,GAAN,KACP,CAEW,YAAYziB,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAoC,CAC7E,EAPaC,EAAAuiB,GAAA,sBAQZA,GAA+BtiB,GAAa,GAEtC,IAAMuiB,GAAN,KACP,CAKW,YAAY1iB,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EAVaC,EAAAwiB,GAAA,uBAWZA,GAAgCviB,GAAa,GAEvC,IAAMwiB,GAAN,KACP,CAGW,YAAY3iB,EAAiC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnF,aAAc,CAAE,MAAO,iBAAmB,CAC1C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EARaC,EAAAyiB,GAAA,mBASZA,GAA4BxiB,GAAa,GAEnC,IAAMyiB,GAAN,KACP,CAIW,YAAY5iB,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmD,CAC5F,EATaC,EAAA0iB,GAAA,kCAUZA,GAA2CziB,GAAa,GAElD,IAAM0iB,GAAN,KACP,CAEW,YAAY7iB,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmC,CAC5E,EAPaC,EAAA2iB,GAAA,oBAQZA,GAA6B1iB,GAAa,GAEpC,IAAM2iB,GAAN,KACP,CAGW,YAAY9iB,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmC,CAC5E,EARaC,EAAA4iB,GAAA,uBASZA,GAAgC3iB,GAAa,GAEvC,IAAM4iB,GAAN,KACP,CAGW,YAAY/iB,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,QAAU,CAC/B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EARaC,EAAA6iB,GAAA,0BASZA,GAAmC5iB,GAAa,GAG1C,IAAM6iB,GAAN,KACP,CAIW,YAAYhjB,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EATaC,EAAA8iB,GAAA,oBAUZA,GAA6B7iB,GAAa,GAEpC,IAAM8iB,GAAN,KACP,CAGW,YAAYjjB,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,aAAc,CAAE,MAAO,iCAAmC,CAC1D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EARaC,EAAA+iB,GAAA,mCASZA,GAA4C9iB,GAAa,GAEnD,IAAM+iB,GAAN,KACP,CAEW,YAAYljB,EAAkD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,aAAc,CAAE,MAAO,kCAAoC,CAC3D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA6B,CACtE,EAPaC,EAAAgjB,GAAA,oCAQZA,GAA6C/iB,GAAa,GAEpD,IAAMgjB,GAAN,KACP,CAKW,YAAYnjB,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA2C,CACpF,EAVaC,EAAAijB,GAAA,0BAWZA,GAAmChjB,GAAa,GAE1C,IAAMijB,GAAN,KACP,CAIW,YAAYpjB,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA6C,CACtF,EATaC,EAAAkjB,GAAA,8BAUZA,GAAuCjjB,GAAa,GAE9C,IAAMkjB,GAAN,KACP,CAOW,YAAYrjB,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAZaC,EAAAmjB,GAAA,kCAaZA,GAA2CljB,GAAa,GAElD,IAAMmjB,GAAN,KACP,CAGW,YAAYtjB,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EARaC,EAAAojB,GAAA,+BASZA,GAAwCnjB,GAAa,GAE/C,IAAMojB,GAAN,KACP,CAGW,YAAYvjB,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EARaC,EAAAqjB,GAAA,4BASZA,GAAqCpjB,GAAa,GAE5C,IAAMqjB,GAAN,KACP,CAEW,YAAYxjB,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA4B,CACrE,EAPaC,EAAAsjB,GAAA,uBAQZA,GAAgCrjB,GAAa,GAEvC,IAAMsjB,GAAN,KACP,CAGW,YAAYzjB,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EARaC,EAAAujB,GAAA,8BASZA,GAAuCtjB,GAAa,GAE9C,IAAMujB,GAAN,KACP,CAKW,YAAY1jB,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA+C,CACxF,EAVaC,EAAAwjB,GAAA,gCAWZA,GAAyCvjB,GAAa,GAGhD,IAAMwjB,GAAN,KACP,CAIW,YAAY3jB,EAAoD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtG,aAAc,CAAE,MAAO,oCAAsC,CAC7D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EATaC,EAAAyjB,GAAA,sCAUZA,GAA+CxjB,GAAa,GAEtD,IAAMyjB,GAAN,KACP,CAGW,YAAY5jB,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwB,CACjE,EARaC,EAAA0jB,GAAA,6BASZA,GAAsCzjB,GAAa,GAE7C,IAAM0jB,GAAN,KACP,CAOW,YAAY7jB,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA4C,CACrF,EAZaC,EAAA2jB,GAAA,6BAaZA,GAAsC1jB,GAAa,GAE7C,IAAM2jB,GAAN,KACP,CAGW,YAAY9jB,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EARaE,EAAA4jB,GAAA,yBASZA,GAAkC3jB,GAAa,GAEzC,IAAM4jB,GAAN,KACP,CAKW,YAAY/jB,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EAVaE,EAAA6jB,GAAA,uBAWZA,GAAgC5jB,GAAa,GAEvC,IAAM6jB,GAAN,KACP,CAGW,YAAYhkB,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,aAAc,CAAE,MAAO,+BAAiC,CACxD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAoC,CAC7E,EARaC,EAAA8jB,GAAA,iCASZA,GAA0C7jB,GAAa,GAEjD,IAAM8jB,GAAN,cAAuCF,EAC9C,CAGW,YAAY/jB,EAA0C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EARaE,EAAA+jB,GAAA,4BASZA,GAAqC9jB,GAAa,GAE5C,IAAM+jB,GAAN,cAA6CH,EACpD,CAGW,YAAY/jB,EAAgD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/G,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAC,CAC7B,EARaE,EAAAgkB,GAAA,kCASZA,GAA2C/jB,GAAa,GAElD,IAAMgkB,GAAN,cAA+CC,EACtD,CAKW,YAAYpkB,EAAkD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjH,aAAc,CAAE,MAAO,kCAAoC,CAC3D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAoC,CAC7E,EAVaC,EAAAikB,GAAA,oCAWZA,GAA6ChkB,GAAa,GAEpD,IAAMkkB,GAAN,KACP,CAKW,YAAYrkB,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,aAAc,CAAE,MAAO,+BAAiC,CACxD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAoC,CAC7E,EAVaC,EAAAmkB,GAAA,iCAWZA,GAA0ClkB,GAAa,GAEjD,IAAMmkB,GAAN,KACP,CAGW,YAAYtkB,EAAmD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrG,aAAc,CAAE,MAAO,mCAAqC,CAC5D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EARaC,EAAAokB,GAAA,qCASZA,GAA8CnkB,GAAa,GAErD,IAAMokB,GAAN,KACP,CAEW,YAAYvkB,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAPaC,EAAAqkB,GAAA,+BAQZA,GAAwCpkB,GAAa,GAE/C,IAAMqkB,GAAN,KACP,CAEW,YAAYxkB,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA2C,CACpF,EAPaC,EAAAskB,GAAA,4BAQZA,GAAqCrkB,GAAa,GAE5C,IAAMskB,GAAN,KACP,CAOW,YAAYzkB,EAAuD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,aAAc,CAAE,MAAO,uCAAyC,CAChE,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAoC,CAC7E,EAZaC,EAAAukB,GAAA,yCAaZA,GAAkDtkB,GAAa,GAEzD,IAAMukB,GAAN,KACP,CAOW,YAAY1kB,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,aAAc,CAAE,MAAO,+BAAiC,CACxD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAZaC,EAAAwkB,GAAA,iCAaZA,GAA0CvkB,GAAa,GAEjD,IAAMwkB,GAAN,KACP,CASW,YAAY3kB,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAoC,CAC7E,EAdaC,EAAAykB,GAAA,+BAeZA,GAAwCxkB,GAAa,GAE/C,IAAMykB,GAAN,KACP,CAGW,YAAY5kB,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,aAAc,CAAE,MAAO,+BAAiC,CACxD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EARaC,EAAA0kB,GAAA,iCASZA,GAA0CzkB,GAAa,GAEjD,IAAM0kB,GAAN,KACP,CAGW,YAAY7kB,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAoC,CAC7E,EARaC,EAAA2kB,GAAA,gCASZA,GAAyC1kB,GAAa,GAEhD,IAAM2kB,GAAN,KACP,CAMW,YAAY9kB,EAA2D,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7G,aAAc,CAAE,MAAO,2CAA6C,CACpE,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAoC,CAC7E,EAXaC,EAAA4kB,GAAA,6CAYZA,GAAsD3kB,GAAa,GAE7D,IAAM4kB,GAAN,KACP,CAOW,YAAY/kB,EAA8D,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChH,aAAc,CAAE,MAAO,8CAAgD,CACvE,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAoC,CAC7E,EAZaC,EAAA6kB,GAAA,gDAaZA,GAAyD5kB,GAAa,GAEhE,IAAM6kB,GAAN,KACP,CAGW,YAAYhlB,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EARaC,EAAA8kB,GAAA,wBASZA,GAAiC7kB,GAAa,GAExC,IAAM8kB,GAAN,KACP,CAGW,YAAYjlB,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EARaC,EAAA+kB,GAAA,wBASZA,GAAiC9kB,GAAa,GAExC,IAAM+kB,GAAN,KACP,CAEW,YAAYllB,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EAPaC,EAAAglB,GAAA,qBAQZA,GAA8B/kB,GAAa,GAErC,IAAMglB,GAAN,KACP,CAGW,YAAYnlB,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAqD,CAC9F,EARaC,EAAAilB,GAAA,kCASZA,GAA2ChlB,GAAa,GAElD,IAAMilB,GAAN,KACP,CASW,YAAYplB,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmC,CAC5E,EAdaC,EAAAklB,GAAA,oBAeZA,GAA6BjlB,GAAa,GAEpC,IAAMklB,GAAN,KACP,CAGW,YAAYrlB,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwB,CACjE,EARaC,EAAAmlB,GAAA,uBASZA,GAAgCllB,GAAa,GAEvC,IAAMmlB,GAAN,cAA4CC,CACnD,CAGW,YAAYvlB,EAA+C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9G,aAAc,CAAE,MAAO,+BAAiC,CACxD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EARaC,EAAAolB,GAAA,iCASZA,GAA0CnlB,GAAa,GAEjD,IAAMqlB,GAAN,cAAuCD,CAC9C,CAEW,YAAYvlB,EAA0C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAPaC,EAAAslB,GAAA,4BAQZA,GAAqCrlB,GAAa,GAE5C,IAAMslB,GAAN,cAA0CF,CACjD,CAEW,YAAYvlB,EAA6C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5G,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA8C,CACvF,EAPaC,EAAAulB,GAAA,+BAQZA,GAAwCtlB,GAAa,GAE/C,IAAMulB,GAAN,cAA0CH,CACjD,CAMW,YAAYvlB,EAA6C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5G,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAwB,CACjE,EAXaC,EAAAwlB,GAAA,+BAYZA,GAAwCvlB,GAAa,GAE/C,IAAMwlB,GAAN,cAAkDC,CACzD,CAMW,YAAY5lB,EAAqD,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpH,aAAc,CAAE,MAAO,qCAAuC,CAC9D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA4C,CACrF,EAXaC,EAAAylB,GAAA,uCAYZA,GAAgDxlB,GAAa,GAEvD,IAAM0lB,GAAN,cAAwCD,CAC/C,CAMW,YAAY5lB,EAA2C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1G,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA4C,CACrF,EAXaC,EAAA2lB,GAAA,6BAYZA,GAAsC1lB,GAAa,GAE7C,IAAM2lB,GAAN,KACP,CAMW,YAAY9lB,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAXaC,EAAA4lB,GAAA,gCAYZA,GAAyC3lB,GAAa,GAEhD,IAAM4lB,GAAN,cAA0CD,EACjD,CAEW,YAAY9lB,EAA6C,CAAE,MAAMA,CAAI,EAAI,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5G,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAPaC,EAAA6lB,GAAA,+BAQZA,GAAwC5lB,GAAa,GAE/C,IAAM6lB,GAAN,KACP,CAKW,YAAYhmB,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA4C,CACrF,EAVaC,EAAA8lB,GAAA,6BAWZA,GAAsC7lB,GAAa,GAE7C,IAAM8lB,GAAN,KACP,CAIW,YAAYjmB,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA0C,CACnF,EATaC,EAAA+lB,GAAA,0BAUZA,GAAmC9lB,GAAa,GAE1C,IAAM+lB,GAAN,KACP,CAyBW,YAAYlmB,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EA9BaC,EAAAgmB,GAAA,sBA+BZA,GAA+B/lB,GAAa,GAEtC,IAAMgmB,GAAN,KACP,CAGW,YAAYnmB,EAAwC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC1F,aAAc,CAAE,MAAO,wBAA0B,CACjD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAyC,CAClF,EARaC,EAAAimB,GAAA,0BASZA,GAAmChmB,GAAa,GAE1C,IAAMimB,GAAN,KACP,CAmBW,YAAYpmB,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,aAAc,CAAE,MAAO,iCAAmC,CAC1D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAkD,CAC3F,EAxBaC,EAAAkmB,GAAA,mCAyBZA,GAA4CjmB,GAAa,GAEnD,IAAMkmB,GAAN,KACP,CAYW,YAAYrmB,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmC,CAC5E,EAjBaC,EAAAmmB,GAAA,oBAkBZA,GAA6BlmB,GAAa,GAEpC,IAAMmmB,GAAN,KACP,CAGW,YAAYtmB,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EARaC,EAAAomB,GAAA,6BASZA,GAAsCnmB,GAAa,GAE7C,IAAMomB,GAAN,KACP,CAIW,YAAYvmB,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA0C,CACnF,EATaC,EAAAqmB,GAAA,kCAUZA,GAA2CpmB,GAAa,GAElD,IAAMqmB,GAAN,KACP,CAcW,YAAYxmB,EAAoC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACtF,aAAc,CAAE,MAAO,oBAAsB,CAC7C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EAnBaC,EAAAsmB,GAAA,sBAoBZA,GAA+BrmB,GAAa,GAEtC,IAAMsmB,GAAN,KACP,CAIW,YAAYzmB,EAAkC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpF,aAAc,CAAE,MAAO,kBAAoB,CAC3C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmB,CAC5D,EATaC,EAAAumB,GAAA,oBAUZA,GAA6BtmB,GAAa,GAEpC,IAAMumB,GAAN,KACP,CAiBW,YAAY1mB,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,aAAc,CAAE,MAAO,iCAAmC,CAC1D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAgC,CACzE,EAtBaC,EAAAwmB,GAAA,mCAuBZA,GAA4CvmB,GAAa,GAEnD,IAAMwmB,GAAN,KACP,CAGW,YAAY3mB,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA0C,CACnF,EARaC,EAAAymB,GAAA,2BASZA,GAAoCxmB,GAAa,GAE3C,IAAMymB,GAAN,KACP,CAGW,YAAY5mB,EAA+C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjG,aAAc,CAAE,MAAO,+BAAiC,CACxD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA0C,CACnF,EARaC,EAAA0mB,GAAA,iCASZA,GAA0CzmB,GAAa,GAEjD,IAAM0mB,GAAN,KACP,CAKW,YAAY7mB,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAVaC,EAAA2mB,GAAA,8BAWZA,GAAuC1mB,GAAa,GAE9C,IAAM2mB,GAAN,KACP,CAKW,YAAY9mB,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA4C,CACrF,EAVaC,EAAA4mB,GAAA,6BAWZA,GAAsC3mB,GAAa,GAE7C,IAAM4mB,GAAN,KACP,CAKW,YAAY/mB,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA8C,CACvF,EAVaC,EAAA6mB,GAAA,kCAWZA,GAA2C5mB,GAAa,GAElD,IAAM6mB,GAAN,KACP,CAKW,YAAYhnB,EAAkD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACpG,aAAc,CAAE,MAAO,kCAAoC,CAC3D,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAA2C,CACpF,EAVaC,EAAA8mB,GAAA,oCAWZA,GAA6C7mB,GAAa,GAEpD,IAAM8mB,GAAN,KACP,CAGW,YAAYjnB,EAA8C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChG,aAAc,CAAE,MAAO,8BAAgC,CACvD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EARaC,EAAA+mB,GAAA,gCASZA,GAAyC9mB,GAAa,GAEhD,IAAM+mB,GAAN,KACP,CAIW,YAAYlnB,EAAsD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxG,aAAc,CAAE,MAAO,sCAAwC,CAC/D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EATaC,EAAAgnB,GAAA,wCAUZA,GAAiD/mB,GAAa,GAExD,IAAMgnB,GAAN,KACP,CAMW,YAAYnnB,EAA0C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC5F,aAAc,CAAE,MAAO,0BAA4B,CACnD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA0C,CACnF,EAXaC,EAAAinB,GAAA,4BAYZA,GAAqChnB,GAAa,GAE5C,IAAMinB,GAAN,KACP,CAGW,YAAYpnB,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmC,CAC5E,EARaC,EAAAknB,GAAA,uBASZA,GAAgCjnB,GAAa,GAEvC,IAAMknB,GAAN,KACP,CAGW,YAAYrnB,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAmC,CAC5E,EARaC,EAAAmnB,GAAA,yBASZA,GAAkClnB,GAAa,GAEzC,IAAMmnB,GAAN,KACP,CAoCW,YAAYtnB,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAmC,CAC5E,EAzCaC,EAAAonB,GAAA,wBA0CZA,GAAiCnnB,GAAa,GAExC,IAAMonB,GAAN,KACP,CAGW,YAAYvnB,EAA2B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7E,aAAc,CAAE,MAAO,WAAa,CACpC,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAgC,CACzE,EARaC,EAAAqnB,GAAA,aASZA,GAAsBpnB,GAAa,GAE7B,IAAMqnB,GAAN,KACP,CAkBW,YAAYxnB,EAA2C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC7F,aAAc,CAAE,MAAO,2BAA6B,CACpD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAA4C,CACrF,EAvBaC,EAAAsnB,GAAA,6BAwBZA,GAAsCrnB,GAAa,GAE7C,IAAMsnB,GAAN,KACP,CAYW,YAAYznB,EAAmC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACrF,aAAc,CAAE,MAAO,mBAAqB,CAC5C,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAoC,CAC7E,EAjBaC,EAAAunB,GAAA,qBAkBZA,GAA8BtnB,GAAa,GAErC,IAAMunB,GAAN,KACP,CAyBW,YAAY1nB,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAsC,CAC/E,EA9BaC,EAAAwnB,GAAA,uBA+BZA,GAAgCvnB,GAAa,GAEvC,IAAMwnB,GAAN,KACP,CAMW,YAAY3nB,EAAiD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACnG,aAAc,CAAE,MAAO,iCAAmC,CAC1D,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAgC,CACzE,EAXaC,EAAAynB,GAAA,mCAYZA,GAA4CxnB,GAAa,GAEnD,IAAMynB,GAAN,KACP,CAGW,YAAY5nB,EAA4C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC9F,aAAc,CAAE,MAAO,4BAA8B,CACrD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EARaC,EAAA0nB,GAAA,8BASZA,GAAuCznB,GAAa,GAE9C,IAAM0nB,GAAN,KACP,CAOW,YAAY7nB,EAAyC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC3F,aAAc,CAAE,MAAO,yBAA2B,CAClD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAgC,CACzE,EAZaC,EAAA2nB,GAAA,2BAaZA,GAAoC1nB,GAAa,GAE3C,IAAM2nB,GAAN,KACP,CAKW,YAAY9nB,EAAuC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzF,aAAc,CAAE,MAAO,uBAAyB,CAChD,WAAY,CAAE,MAAO,KAAO,CAC5B,gBAAiB,CAAE,OAAO,IAAIC,CAAgC,CACzE,EAVaC,EAAA4nB,GAAA,yBAWZA,GAAkC3nB,GAAa,GAEzC,IAAM4nB,GAAN,KACP,CAeW,YAAY/nB,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAqC,CAC9E,EApBaC,EAAA6nB,GAAA,uBAqBZA,GAAgC5nB,GAAa,GAEvC,IAAM6nB,GAAN,KACP,CAYW,YAAYhoB,EAAgD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClG,aAAc,CAAE,MAAO,gCAAkC,CACzD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAgD,CACzF,EAjBaC,EAAA8nB,GAAA,kCAkBZA,GAA2C7nB,GAAa,GAElD,IAAM8nB,GAAN,KACP,CAKW,YAAYjoB,EAA6C,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/F,aAAc,CAAE,MAAO,6BAA+B,CACtD,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAVaC,EAAA+nB,GAAA,+BAWZA,GAAwC9nB,GAAa,GAE/C,IAAM+nB,GAAN,KACP,CAKW,YAAYloB,EAAsC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACxF,aAAc,CAAE,MAAO,sBAAwB,CAC/C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EAVaC,EAAAgoB,GAAA,wBAWZA,GAAiC/nB,GAAa,GAExC,IAAMgoB,GAAN,KACP,CAIW,YAAYnoB,EAAuD,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACzG,aAAc,CAAE,MAAO,uCAAyC,CAChE,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EATaC,EAAAioB,GAAA,yCAUZA,GAAkDhoB,GAAa,GAEzD,IAAMioB,GAAN,KACP,CAGW,YAAYpoB,EAAqC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACvF,aAAc,CAAE,MAAO,qBAAuB,CAC9C,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIC,CAAyB,CAClE,EARaC,EAAAkoB,GAAA,uBASZA,GAAgCjoB,GAAa,GAOvC,IAAMkoB,GAAN,KACP,CA6BW,YAAYroB,EAA8B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAChF,aAAc,CAAE,MAAO,cAAgB,CACvC,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIsoB,CAAwB,CACjE,EAlCapoB,EAAAmoB,GAAA,gBAmCZA,GAAyBloB,GAAa,GAIhC,IAAMooB,GAAN,KACP,CAaW,YAAYvoB,EAA6B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAC/E,aAAc,CAAE,MAAO,aAAe,CACtC,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAIwoB,EAAuB,CAChE,EAlBatoB,EAAAqoB,GAAA,eAmBZA,GAAwBpoB,GAAa,GAI/B,IAAMsoB,GAAN,KACP,CAaW,YAAYzoB,EAA+B,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CACjF,aAAc,CAAE,MAAO,eAAiB,CACxC,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI0oB,EAAyB,CAClE,EAlBaxoB,EAAAuoB,GAAA,iBAmBZA,GAA0BtoB,GAAa,GAIjC,IAAMwoB,GAAN,KACP,CAOW,YAAY3oB,EAAgC,CAAG,OAAe,OAAO,KAAMA,CAAI,CAAG,CAClF,aAAc,CAAE,MAAO,gBAAkB,CACzC,WAAY,CAAE,MAAO,MAAQ,CAC7B,gBAAiB,CAAE,OAAO,IAAI4oB,EAA0B,CACnE,EAZa1oB,EAAAyoB,GAAA,kBAaZA,GAA2BxoB,GAAa",
  "names": ["init_virtual_process_polyfill", "init_buffer", "SquareCard", "init", "__name", "DRAFTABLE", "SquareMoneyAmount", "SquareRefund", "SquareDeviceCode", "SquareDeviceOptions", "SquareTerminalCheckout", "SquareData", "SquareWebhookData", "BillingItem", "AlphaNumericFilterConditions", "AlphaNumericSearch", "init", "__name", "DRAFTABLE", "LookUpFilterConditions", "LookUpSearch", "init", "__name", "DRAFTABLE", "DateTimeFilterConditions", "DateRange", "DateTimeSearch", "BooleanFilterConditions", "BooleanSearch", "SearchFilterConditionItem", "SearchFilterCondition", "init", "__name", "DRAFTABLE", "QueryField", "BaseAdvancedSearchRequest", "UserRoleLocationDto", "init", "__name", "DRAFTABLE", "CommandBarRequest", "MergeFieldMappingDto", "init", "__name", "DRAFTABLE", "BatchInvoiceMergeDataRequestObject", "BatchMergeDataRequestObject", "CustomerCSVHeaderOverrides", "init", "__name", "DRAFTABLE", "MedicalContactsCSVHeaderOverrides", "DiaryListBase", "BaseAdvancedSearchRequest", "InvoicePeriod", "InvoicedStatusToInclude", "CurrencyRange", "init", "__name", "DRAFTABLE", "ChargeGroup", "InvoiceBatch", "Charge", "Invoice", "Income", "ReconciliationResponse", "TerminalPaymentDto", "init", "__name", "DRAFTABLE", "QuickPayment", "ResponseError", "ResponseStatus", "DownloadBatchRequestObject", "GroupsCSVHeaderOverrides", "init", "__name", "DRAFTABLE", "StockLocationItem", "GroupProfileDto", "NotificationSubscription", "GroupStockResponse", "LocResponse", "AddBusinessModel", "PractitionerLocationPair", "PractitionerStatusUpdate", "init", "__name", "DRAFTABLE", "PractitionerSkillBaseRequest", "BulkUpdateField", "BulkActionBaseRequest", "init", "__name", "AlertResponse", "DRAFTABLE", "AllPractitionersRequest", "BaseAdvancedSearchRequest", "init", "ResponseBase", "__name", "DRAFTABLE", "PractitionerBulkActionBaseRequest", "BulkActionBaseRequest", "RestrictedCustomerAlertDetails", "RestrictedCustomerDetails", "AppointmentResponse", "ServiceCharge", "init", "__name", "DRAFTABLE", "ReferralAppointment", "ReferralAppointmentResponse", "ReferralAuthorisation", "PractitionerDto", "BookingAuditResponse", "Dictionary", "JsonField", "ReferralReport", "init", "__name", "DRAFTABLE", "VideoMeetingProvider", "Appointment", "ProntoBillingItem", "ProntoInvoice", "LocationInfo", "OnlineSettings", "init", "__name", "DRAFTABLE", "ClinicSettings", "GroupLinker", "StockOverrideDto", "ProntoStockDto", "AvailabilitySummary", "ClinicService", "StockResponse", "LocationFacilities", "LocationResponse", "StockOverrideResponse", "PackageBundleItemWithQuantity", "AccountingStockLedgerLookup", "init", "__name", "DRAFTABLE", "StockWithLocationResponse", "StockResponse", "AllStockRequest", "BaseAdvancedSearchRequest", "ResponseBase", "StockBulkActionBaseRequest", "BulkActionBaseRequest", "SingleCacheRequest", "LabelItem", "SecurityDto", "DynamicLabelRequest", "init", "__name", "DRAFTABLE", "TaskForUser", "ScoresGoalsSettingsRequest", "BaseParamsForAllReports", "init", "__name", "DRAFTABLE", "DatePart", "init", "__name", "DRAFTABLE", "DatePartRange", "RegistrationRequest", "QuickStartWizardGroupStock", "init", "__name", "DRAFTABLE", "ClinicServiceSetupDto", "init", "__name", "DRAFTABLE", "Update", "init", "__name", "DRAFTABLE", "OnlineConsent", "init", "__name", "DRAFTABLE", "BatchEmailRequestObject", "Attachment", "AttachmentGroup", "SystemConfig", "init", "__name", "DRAFTABLE", "CasePrintingItem", "init", "__name", "DRAFTABLE", "CaseReport", "AutoSaveUpdate", "Case", "Psfs", "CaseWithCustomerPractitionerLocationDetails", "GraphicResult", "PainAnnotation", "ImageResult", "CaseSummaryResult", "ConsultationItem", "init", "__name", "DRAFTABLE", "PostCloseNotes", "PostCloseNotesWithUser", "CaseScoreGoalResponse", "NewPsfs", "TreatmentDetails", "DynamicUpdate", "ScoreEntryRequest", "ScoreRequest", "GoalEntryRequest", "GoalRequest", "DiaryListResponse", "DiaryListRequest", "DiaryListBase", "ResponseBase", "DiaryBulkActionBaseRequest", "BulkActionBaseRequest", "GuardDeleteResponse", "init", "__name", "DRAFTABLE", "CustomerAdvancedSearchRequest", "BaseAdvancedSearchRequest", "init", "ResponseBase", "__name", "DRAFTABLE", "CustomerBulkActionBaseRequest", "BulkActionBaseRequest", "EventCondition", "init", "__name", "DRAFTABLE", "FutureDateSpecifier", "init", "__name", "DRAFTABLE", "FutureTimeSpecifier", "EventAction", "init", "__name", "DRAFTABLE", "AutomationEvent", "Tag", "init", "__name", "DRAFTABLE", "AuthenticationExtensionsClientOutputs", "init", "__name", "DRAFTABLE", "AssignedCustomAttributeDto", "init", "__name", "DRAFTABLE", "TreatmentAuthResponse", "init", "__name", "DRAFTABLE", "IdDescriminatorType", "init", "__name", "DRAFTABLE", "SearchFilter", "init", "__name", "DRAFTABLE", "LedgerAccountInfo", "LedgerAccountInfoWithCategory", "LedgerAccountInfo", "init", "__name", "DRAFTABLE", "TaxRateInfo", "TaxRateInfoWithCategory", "TaxRateInfo", "init", "__name", "DRAFTABLE", "AccountingSettingInfo", "PackageBundleItemResponse", "init", "__name", "DRAFTABLE", "PackageBundleResponse", "TimeOfDay", "Qualification", "init", "__name", "DRAFTABLE", "AppointmentPractitionerObject", "AppointmentLocationObject", "AppointmentRoomObject", "AppointmentSearchResult", "init", "__name", "DRAFTABLE", "CustomerCardDemographics", "init", "__name", "DRAFTABLE", "TakePaymentRequest", "OnlineGroupDto", "CardDetails", "MsContact", "StripeEntity", "StripeEntity_1", "PaymentMethodAcssDebit", "PaymentMethodAffirm", "PaymentMethodAfterpayClearpay", "PaymentMethodAlipay", "PaymentMethodAlma", "PaymentMethodAmazonPay", "PaymentMethodAuBecsDebit", "PaymentMethodBacsDebit", "PaymentMethodBancontact", "Address", "PaymentMethodBillingDetails", "PaymentMethodBlik", "PaymentMethodBoleto", "PaymentMethodCardChecks", "PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresentOffline", "PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresentReceipt", "PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresentWallet", "PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresent", "PaymentMethodCardGeneratedFromPaymentMethodDetails", "PaymentMethodCardGeneratedFrom", "PaymentMethodCardNetworks", "PaymentMethodCardThreeDSecureUsage", "PaymentMethodCardWalletAmexExpressCheckout", "PaymentMethodCardWalletApplePay", "PaymentMethodCardWalletGooglePay", "PaymentMethodCardWalletLink", "PaymentMethodCardWalletMasterpass", "PaymentMethodCardWalletSamsungPay", "PaymentMethodCardWalletVisaCheckout", "PaymentMethodCardWallet", "PaymentMethodCard", "PaymentMethodCardPresentNetworks", "PaymentMethodCardPresentOffline", "PaymentMethodCardPresentWallet", "PaymentMethodCardPresent", "PaymentMethodCashapp", "PaymentMethodCustomerBalance", "PaymentMethodEps", "PaymentMethodFpx", "PaymentMethodGiropay", "PaymentMethodGrabpay", "PaymentMethodIdeal", "PaymentMethodInteracPresentNetworks", "PaymentMethodInteracPresent", "PaymentMethodKakaoPay", "PaymentMethodKlarnaDob", "PaymentMethodKlarna", "PaymentMethodKonbini", "PaymentMethodKrCard", "PaymentMethodLink", "PaymentMethodMobilepay", "PaymentMethodMultibanco", "PaymentMethodNaverPay", "PaymentMethodOxxo", "PaymentMethodP24", "PaymentMethodPayByBank", "PaymentMethodPayco", "PaymentMethodPaynow", "PaymentMethodPaypal", "PaymentMethodPix", "PaymentMethodPromptpay", "PaymentMethodRadarOptions", "PaymentMethodRevolutPay", "PaymentMethodSamsungPay", "PaymentMethodSepaDebitGeneratedFrom", "PaymentMethodSepaDebit", "PaymentMethodSofort", "PaymentMethodSwish", "PaymentMethodTwint", "PaymentMethodUsBankAccountNetworks", "PaymentMethodUsBankAccountStatusDetailsBlocked", "PaymentMethodUsBankAccountStatusDetails", "PaymentMethodUsBankAccount", "PaymentMethodWechatPay", "PaymentMethodZip", "PaymentMethod", "OnlineClinicService", "init", "__name", "DRAFTABLE", "OnlineServiceCategory", "OnlineSection", "init", "__name", "DRAFTABLE", "BookingClassResponse", "WaitingList", "AppointmentStatus", "ClickInvoiceReqBase", "init", "__name", "DRAFTABLE", "ClassPackageResponse", "init", "__name", "DRAFTABLE", "DigitalPrescriptionDMDResponse", "init", "__name", "DRAFTABLE", "TwilioRoomResponse", "WorldPayResponse", "init", "__name", "DRAFTABLE", "StripeTerminal", "StripeTerminalLocation", "StripeTerminalLocationsResponse", "AutoPayResponse", "init", "__name", "DRAFTABLE", "AddressFindResponse", "AddressRetrieveResponse", "JsonPermissionResponse", "JsonPermissionGetResponse", "Permission", "JsonPermission", "UsersSearchResponse", "UserRoleLocation", "UserRoleLocationWithDetails", "UserLocationsResponse", "BusinessProfileResponse", "ExtractionResponse", "Folder", "File", "FolderResult", "CaseImagingResult", "CommandBarResponse", "BatchMergeDataResponse", "ContactMergeCheckResponse", "MedicalContactResponse", "init", "__name", "DRAFTABLE", "PaymentCard", "CustomerLiteDto", "CustomerBatchConsentResponse", "Customer", "DupEmailResponse", "CustomerSaveResponse", "TransactionItemResponse", "CaseSearchResponse", "JoinedContactResponse", "AccountStatementResponse", "GroupAccountStatementResponse", "BillingItemsResponse", "GroupedPrePaidItems", "init", "__name", "DRAFTABLE", "PrePaidItems", "InvoicePaymentsResponse", "ClickContactSearchResult", "ClickCustomerNotesCheckResponse", "Treatment", "AppointmentCaseResponse", "init", "__name", "DRAFTABLE", "CustomerServiceResponse", "PatientLogResponse", "Patientlog", "PatientInfoLogResponse", "RoomResponse", "NonWorkingDate", "init", "__name", "DRAFTABLE", "NonWorkingDateResponse", "DiarySessionResponse", "ScheduleSession", "ScheduleAppointment", "Schedule", "ScheduleBlock", "ScheduleResponse", "DayOverview", "MonthlyScheduleResponse", "OccurrenceResponse", "PaymentResponse", "Income", "PaymentsResponse", "BillingItemWithNames", "BillingItem", "BillingItemWithNamesExtended", "BillingItemWithNamesAuth", "AccountsExportChargesPreviewResponse", "AccountsExportPaymentsAlertsResponse", "AccountsExportPaymentsFilePreviewResponse", "AccountsExportPaymentsPreviewResponse", "AccountExportHistoryResponse", "GroupBillingItemsResponse", "GroupingResponse", "InvoiceGroupingResponse", "InvoiceWizardResponse", "DebtsResponse", "ExpenditureResponse", "InvoicesResponse", "InvoiceDto", "ProntoInvoiceResponse", "TransactionResponse", "InvoiceBatchResponse", "GroupsAccountSearchResponse", "init", "__name", "DRAFTABLE", "PaymentDetailsResponse", "RemainingAuths", "CancellationReasonResponse", "Group", "init", "__name", "DRAFTABLE", "PrePaid", "PrePaidLegacy", "PrePaidWithBillingDescription", "Stock", "ProntoServiceStock", "init", "__name", "DRAFTABLE", "InvoiceTemplate", "ServiceStock", "ServiceCharge", "ProntoInvoiceSearchResponse", "QuickBillResponse", "QuickbillMedipassResponse", "AppointmentPrePaidResponse", "ReferralAttachment", "AuditListDto", "MyClinicInvoiceResponse", "QuickBillCompleteResponse", "GroupServiceTypeOptions", "GroupResponse", "GroupServiceTypeOptionsResponse", "BusinessResponse", "init", "__name", "DRAFTABLE", "HealthcodeSettingsResponse", "ExportIssueBillingItem", "ExportIssueInvoice", "ExportIssueResponse", "ExportedInvoiceFileResponse", "HealthcodeImportSummaryResponse", "HealthcodeExportSummaryResponse", "MailChimpLoginResponse", "MailchimpList", "AudiencesResponse", "MailChimpDuplicatesResponse", "PostcodeLookupResponse", "CustomListItem", "CustomListItemResponse", "PractitionerGroupResponse", "GroupLocationsResponse", "AddPractitionerResponse", "PracStockLoc", "init", "__name", "DRAFTABLE", "SkillResponse", "init", "__name", "DRAFTABLE", "UpdateFieldBulkActionResponse", "AllowedReports", "BookingAuditResult", "MyBookingsResponse", "LocationDto", "AttachmentFile", "SingleBookingAuditResponse", "ReferrerDto", "init", "__name", "DRAFTABLE", "ProntoClinicalService", "ClinicService", "ProntoServiceDto", "ProntoDisciplineDto", "ProntoNetworkDto", "ServiceDto", "ClinicPractitionerResponse", "MyClinicSummaryResponse", "NestedLookupDto", "SectionDto", "ReportTemplateDto", "ReportSearchResponse", "SubmitReportResponse", "ClickLinkableAppointment", "ReferralAppointment", "BookingAuthorization", "ClientWhoReceivesBookings", "UserActivations", "init", "__name", "DRAFTABLE", "CWBSettings", "init", "__name", "DRAFTABLE", "ClientWhoBooks", "MyClinicLocationResponse", "MyClinicPractitionerResponse", "GroupListResult", "MyClinicGroupListResponse", "MyClinicWhoReceivesBookingsResponse", "ProntoNetworkSettingsResponse", "ClientWhoReceivesBookingsResponse", "ClientWhoReceivesBookings", "ReportsResponse", "StockAtLocationResponse", "StockOverride", "StockListResponse", "StockOnlineCategoryResponse", "StockWithCategoryResponse", "SupplierResponse", "AuditResponse", "ServiceTypeResponse", "ClassTypeResponse", "TagResponse", "LookupResponse", "SecurityResponse", "NestedLookup", "DynamicLabelResponse", "DiscountCodeDto", "DiscountCodeWithDiscountValueDto", "CacheResponse", "SingleCacheMapResponse", "LookupCacheResponse", "SystemDictionary", "ExtendedNotesResponse", "ExtendedNotes", "ExtendedNotesWithUserName", "NestedLookupResponse", "RegionalLookup", "SecurityStat", "TaskResponse", "UserRoleLocationWithUserName", "UserRoleLocation", "ScoresGoalsSettingsResponse", "DnsInfo", "DomainAuthenticationStatusResponse", "AuthenticateDomainResponse", "ValidationModel", "ValidateDomainResponse", "LocationStatus", "StockReorder", "StockSales", "InvoiceAnalysisReport", "IncomeAnalysisReport", "ExpenditureMonthSummary", "ExpenditureAnalysisReportDto", "AgedDebtors", "DebtorsByAccount", "DebtorsOnADate", "ChargesAnalysisReport", "PractitionerAvailabilityReport", "PractitionerAvailabilityReportResponse", "AdmissionsAnalysisReport", "AverageTreatmentsReport", "AverageTreatmentsReportResponse", "CasesDueForReviewReport", "CurrentCaseLoadReport", "CurrentCaseLoadReportResponse", "DischargeAnalysisReport", "DischargeAnalysisReportResponse", "LapsedPatientsReport", "ClientAnalysisReport", "ClientAnalysisResponse", "ClientBirthdayReport", "ClientTrackingReport", "ClientTrackingResponse", "ClickReferrerImagePath", "QuickStartWizardGroupResponse", "QuickStartWizardPractitionerResponse", "ServiceType", "QuickStartWizardGetStocksResponse", "QuickStartWizardStock", "Template", "QuickStartWizardTemplateOptionsResponse", "ProntoInvoiceTemplate", "ProntoNetworkService", "ProntoCacheResponse", "GetClinicDetailsResponse", "ReferrerOverrideNetworkCharge", "GetClientPaymentDetailsResponse", "ProntoPaymentResponse", "ProntoRegistrationResponse", "License", "StartTrialResponse", "ConfirmClientDowngradeToProntoResponse", "PrescriptionDetails", "GetPatientPrescriptionsResponse", "PrescriptionSummary", "GetPatientPrescriptionsSummaryResponse", "CreateNonRxPrescriptionsResponse", "AddLocationResponse", "SignatureRxResponse", "CreatePrescriptionResponse", "ICD9", "JobHistoryDto", "JobDto", "FormReportResponse", "FormTemplatesResponse", "PatientReport", "ClassesResponse", "PatientClass", "Point", "GraphData", "PieChartSegment", "PieChartData", "TopClients", "DashboardResponse", "Timeline", "OnlineConsentResponse", "OnlineConsent", "ClinicalReportingFieldMap", "ClinicalReportingFieldResponse", "ClinicalMyTemplatesResponse", "Lookup", "ConfigResponse", "PractitionerResponse", "CustomLookupResponse", "ClinicalTemplatesResponse", "TemplateResponse", "ClickAccountPaymentsStatsResponse", "ClickAccountInvoiceStatsResponse", "ClickAccountUninvoicedChargesCountResponse", "CasePrintingStats", "HistoryResult", "CaseAuditDetails", "CasePrintingResponse", "CaseReportTemplate", "CaseReportSectionTemplate", "CaseReportSearchResponse", "CaseDashboardResponse", "Alert", "AutoSaveResult", "CaseDropDownResposne", "CustomerBackgroundResponse", "DiagnosisCodeTempResponse", "AssessmentResult", "CaseConsultationItem", "ScoreEntryResponse", "ScoreResponse", "ScoreSearchResponse", "GoalEntryResponse", "GoalResponse", "GoalSearchResponse", "SMSBulkActionResponse", "EmailBulkActionResponse", "ContactBulkActionResponse", "FormBulkActionResponse", "TagBulkActionResponse", "MailChimpSubscriptionBulkActionResponse", "AutomationJob", "WebinarResponse", "SimpleUser", "PublicKeyCredentialDescriptor", "Fido2ResponseBase", "init", "__name", "AssertionVerificationResult", "DRAFTABLE", "Fido2User", "AttestationVerificationSuccess", "LicenseDetailsResponse", "init", "__name", "DRAFTABLE", "LicenceModule", "ModularLicence", "CustomAttributeDto", "ConfigureCustomAttributeDto", "GetCustomAttributeListsResponse", "CustomAttributes", "TokenSearchResponse", "init", "__name", "DRAFTABLE", "TokenRegisterResponse", "AppointmentDetailsResponse", "init", "__name", "DRAFTABLE", "AppointmentCreateClickCaseResponse", "Tm3BookingAudit", "AppointmentBookingInfoResponse", "CreateTemporaryAppointmentResponse", "AppointmentPrepaidIncomeResponse", "CaseAlertFlagsResponse", "GetAllAdvancedSearchFiltersResponse", "VaultSessionResponse", "GetInitialRegistrationSessionTokenResponse", "AccountingTrackingCategory", "init", "__name", "DRAFTABLE", "AccountingSystemProviderInfo", "AllAccountingConfigAndSettings", "IncomingAccountingPaymentResponse", "init", "__name", "DRAFTABLE", "InvoiceWithAccountingSystemInfo", "Invoice", "init", "__name", "DRAFTABLE", "IncomeWithAccountingSystemInfo", "Income", "BillingItemWithAccountingSystemInfo", "BillingItem", "InvoicePayment", "IncomeWithInvoicePayment", "InvoicePaymentWithAccountingSystemInfo", "AccountingTransactionSyncJobRequest", "AccountingApiSyncHistory", "AccountingApiSyncHistorySearchResponse", "PhioConfigResponse", "SubscriptionResponse", "SubscriptionHistoryResponse", "SquareOAuthResponse", "SquareOAuthPermissionsResponse", "BasicCardDetailsResponse", "FullCardDetailsResponse", "CardDetails", "DeleteCardDetailsResponse", "ExcludedStockInfo", "PackageResponseBase", "PackageResponse", "OnlineAppointmentHistoryResult", "ClassAttendanceResponse", "WaitingListWithDetails", "WaitingList", "ClassSessionBaseResponse", "CourseAttendeeResponse", "CourseResponse", "WaitingListResponse", "OnlineLocationDto", "OnlineWorkflowCaseDetails", "BusinessCategoryResponse", "MyDiaryResponse", "AppointmentSummary", "OnlinePatientFormResponse", "OnlineCancellationOptions", "OnlineCancellationOptionsResponse", "OnlineInvoiceBillingItem", "OnlineInvoice", "OnlineInvoiceListResponse", "CreditBasedPackagePrePaidInfo", "PrePaid", "OnlinePaymentDetailsResponse", "PackageBundleStatusResponse", "CustomerPackagesResponse", "CustomerSubscriptionResponse", "OnlineMyPackagesResponse", "BuyPackageResponse", "ToursModel", "User", "OnlineReportTemplateItem", "CaseflowTemplate", "OnlineCaseflowFormResponse", "OnlineRole", "init", "__name", "DRAFTABLE", "OnlineCaseflowContact", "MedicalContactResponse", "OnlineCategoryResponse", "OnlinePractitionerDto", "OnlineInitialResponse", "AvailabilitySession", "LocationFacility", "OnlineNetworkLocation", "AppointmentDto", "GetUserByEmailOrMobileResponse", "init", "__name", "DRAFTABLE", "OnlineRegisterValidationResponse", "OnlineWaitingListReservationConfirmResponse", "ChasedPaymentDTO", "GetSquareCustomerDetailsResponse", "MsBillingItemResponse", "init", "__name", "DRAFTABLE", "MsInvoiceResponse", "Tm3License", "GetClientPricingResponse", "ConfirmClientSignUpResponse", "SaveClientPaymentDetailsResponse", "ClickPPCDetailsResponse", "ClickUpgradeDetailsResponse", "ClickTrialResponse", "ClickDowngradeResponse", "ClientDowngradeToSingleLicenseResponse", "ClientNoLongerWantsToCancelResponse", "ConfirmClientCancellationResponse", "MSCurrencyResponse", "MSSubscriptionResponse", "CreditAutoTopUpAmountResponse", "SMSOrderHistoryResponse", "BundleOption", "SMSBundleOptionsResponse", "ExtraSystemCreditResponse", "SystemCreditBundleOptionsResponse", "CreditOrderHistoryResponse", "PayPerClickDetail", "PayPerClickStats", "PayPerClickStatsResponse", "UnrestrictedUserResponse", "DiaryAnalysisReport", "DiaryAnalysisResponse", "NonReturningReportResponse", "TrafficReportResponse", "init", "__name", "DRAFTABLE", "AutopayReportResult", "GetSettingsResponse", "OnlineSettings", "CanDeleteImageResponse", "BusinessSettingsIdResponse", "ClassSearchResult", "init", "__name", "DRAFTABLE", "ClassTypeBase", "ClassType", "ClassSearchResponse", "SimilarClass", "ConvertSessionToTokenResponse", "ZoomSaveStateResponse", "ZoomUser", "init", "__name", "DRAFTABLE", "ZoomReauthResponse", "ZoomSaveStateResponse", "WaitingListByIdResponse", "WaitingList", "WaitingListStateHistory", "WaitingListStateHistoryResponse", "AllowedIP", "AllowedIPResponse", "EmbeddableDashboardToken", "SystemLog", "SystemLogWithCustomerName", "SquareGetDeviceCodeResponse", "TerminalPairingResponse", "Terminal", "SquareTerminalPaymentResponse", "StripeTerminalPairResponse", "ChangeCardResponse", "ClearAcceptConfigResponse", "ApiCredentials", "CreditBasedPackageLineItemsResponse", "init", "__name", "DRAFTABLE", "ClickBillResponse", "ClickDownloadInvoiceResponse", "ClickCreatePaymentResponse", "ClickCommunicationResponse", "CreateClassResponse", "GetDesktopClassResponse", "AddingAttendeeToSessionErrors", "init", "__name", "DRAFTABLE", "AddStudentToClassSessionResponse", "EditClassResponse", "PayForClassResponse", "ClassCommunicationResponse", "PrePaidItemsForClassResponse", "ClassesPrePaidCreditsResp", "AddStudentToCourseResponse", "EditCourseResponse", "CreateCourseResponse", "RemoveStudentFromClassResponse", "StripeResponseBase", "StripeResponse", "CustomerResponse", "ClinicalScore", "Goal", "init", "__name", "DRAFTABLE", "Fido2", "init", "__name", "DRAFTABLE", "NumericFilterConditions", "NumericSearch", "AudienceMember", "init", "__name", "DRAFTABLE", "DataPoint", "ClassSessionWithDetails", "ReportingField", "ClinicalScoreEntry", "GoalEntry", "NumericRange", "ResponseBase", "HttpResult", "init", "__name", "DRAFTABLE", "AuthenticateResponse", "ToursResponse", "OnlineCustomerDto", "ResponseBase", "CurrentUser", "FilesListingResponse", "CaseImagingResponse", "SmsResponse", "SmsConsentReponse", "ContactRecentResponse", "PatientNextAppoimentResponse", "PatientRecentResponse", "RecentDocumentResponse", "DiaryDefaultDataForUserResponse", "DiaryStatsResponse", "CalculateWorkingTimesResponse", "Account", "AccountExportResponse", "TransferResponse", "ResponseEnhancerBase", "DeleteResponse", "CopyResponse", "CreateFolderResponse", "RenameResponse", "MoveResponse", "UploadResult", "UploadTempResult", "AttachmentSummaryResponse", "RecentFileResponse", "FileResponse", "FolderTree", "GroupFurtherDetailsResponse", "GroupRecentResponse", "LocationStockResponse", "PhysiotecPractitioner", "ProntoMyClinicRequest", "Room", "SecurityStatsResponse", "StockReorderResponse", "StockSalesResponse", "InvoiceAnalysisResponse", "IncomeAnalysisResponse", "ExpenditureMonthSummaryResponse", "ExpenditureAnalysisResponse", "AgedDebtorsResponse", "DebtorsByAccountResponse", "DebtorsOnADateResponse", "ChargeAnalysisResponse", "AdmissionsAnalysisReportResponse", "CasesDueForReviewReportResponse", "LapsedPatientsReportResponse", "ClientBirthdayResponse", "Location", "DiagnosisCode", "ClinicalSettingsFlagsResponse", "ClientSmsSettings", "ClientCodeRequest", "CaseAuditResponse", "CaseDetailsDto", "ClinicalCacheResponse", "ConsultationItemRequest", "ConsultationAssessmentItemRequest", "ClinicalDiagram", "TreatmentResult", "Treatment", "AssertionOptions", "Fido2ResponseBase", "CaseAlertSearchResponse", "AlertDialogResponse", "Alert", "OAuthCallbackResponse", "OnlineSettingsResponse", "AppointmentSearchResponse", "ReserveAppointmentResponse", "OnlineAutoLoginVerifyCodeResponse", "StripeOAuthResponse", "ZoomLinkToTM3Response", "AssignRolesResponse", "UnAssignRolesResponse", "GetAccessTokenResponse", "DigitalPrescriptionDMDRequest", "GetTwilioRoom", "init", "ResponseBase", "__name", "DRAFTABLE", "TwilioReminderRequest", "GetTwilioOnlineRoom", "SquareWebhookRequest", "HttpResult", "WorldPayNotificationRequest", "WorldPayFlushDnsCacheRequest", "WorldPayChargeTokenRequest", "WorldPayRefundRequest", "WorldPayHostedPaymentPageRequest", "WorldPayWaitingTokenRequest", "StripeOnboardRequest", "StripeTerminalLocationsRequest", "AutoPayRequest", "CancelChaseRequest", "ResendChaseEmailRequest", "GetDiscountCodesRequest", "GetApplicableDiscountCodes", "GetDiscountCodeBillingItem", "DiaryEventTypesDto", "ClickReferrerLogoRequest", "AddressSearchRequest", "AddressRetrieveRequest", "ReminderDataRequest", "LastReminderRequest", "ReminderSendRequest", "FirstUserVerifyRequest", "EmailVerificationRequest", "AutoLoginRequest", "CurrentUser", "AutoRedirectRequest", "JsonPermissionRuleRequest", "JsonPermissionRequest", "JsonPermissionGetRequest", "JsonPermissionRenameRequest", "JsonPermissionUpdateRequest", "JsonPermissionCloneRequest", "JsonPermissionAddRequest", "JsonPermissionDeleteRequest", "AllUsersLocationRequest", "BaseAdvancedSearchRequest", "AllWorkflowUsersLocationRequest", "UserEmailRequest", "UserEmailReset", "UserResetRequest", "UsersWithRolesRequest", "UsersExportRequest", "UserRequest", "UserLocationsRequest", "UserPermissionRequest", "UserSaveRequest", "BusinessProfileRequest", "BusinessProfilePostRequest", "BusinessProfilePutRequest", "BusinessProfileGetRequest", "ExtractionStatusRequest", "ExtractionRequest", "DownloadUtilRequest", "CancellationFileExtract", "FilesListingResponse", "CaseImagingRequest", "CaseImagingResponse", "CommandBarPatientRequest", "CommandBarRequest", "CommandBarGroupRequest", "CommandBarContactRequest", "CommandBarInvoiceRequest", "CommandBarPaymentRequest", "MergeFieldsRequest", "GetCustomMergeFields", "GetCustomMergeField", "SaveCustomMergeField", "GetCustomFieldMappings", "BatchInvoiceMergeDataRequest", "BatchMergeDataRequest", "MergeDataRequest", "ContactMergeCheckRequest", "SmsSendRequest", "SmsResponse", "SmsConsentCheck", "SmsConsentReponse", "MedicalContactRequest", "LinkedPatientsRequest", "ContactRecentRequest", "ContactRecentResponse", "ContactsLinkedPatients", "MedicalContactSaveRequest", "CustomerRequest", "CustomerLiteRequest", "CustomerSaveConsentRequest", "CustomerBatchConsentRequest", "CustomerEmailDuplicateCheck", "CustomerSaveRequest", "ChangeCustomerSmsEnabled", "Customer", "PatientNextAppoimentRequest", "PatientNextAppoimentResponse", "PatientRecentRequest", "PatientRecentResponse", "RecentDocumentRequest", "RecentDocumentResponse", "CustomerMedicalContactsRequest", "JoinedContactsRequest", "DefaultMedicalContactRequest", "ContactableMedicalContactRequest", "CustomerPatientContactsRequest", "PatientContactRelationshipRequest", "DefaultPatientContactRequest", "DeleteCustomerRequest", "LinkCustomerRequest", "MakeCustomerRealRequest", "RemoveMedicalContactRequest", "RemovePatientContactRequest", "CustomerContactAddRequest", "CustomerPatientContactAddRequest", "AccountStatementRequest", "GroupAccountStatementRequest", "BillingItemsRequest", "GroupBillingItemsRequest", "PrePaidStockRequest", "PrePaidItemRequest", "PrePaidItemAddRequest", "PrePaidItemDeleteRequest", "PrePaidItemsExpiryDateRequest", "InvoicePaymentsRequest", "ContactQuickSearchRequest", "ClickContactQuickSearchRequest", "ContactPatientQuickSearchRequest", "CustomerAdvancedSearchExportCSVRequest", "PatientCountRequest", "MedicalContactCountRequest", "ProvisionalPatientsRequest", "PotentialProvisionalMatchesRequest", "GetPotentialMatchesRequest", "MedicalContactsAdvancedSearchRequest", "MedicalContactsAdvancedSearchExportCSVRequest", "TreatmentAuthCountRequest", "TreatmentAuthRequest", "ClickCustomerNotesCheckRequest", "ClickCustomerCreateCaseRequest", "AppointmentCaseRequest", "AppointmentAuthCode", "TreatmentAuthByIdRequest", "TreatmentAuthIdRequest", "TreatmentAuthDeleteRequest", "TreatmentAuthSave", "SarStatusRequest", "SarDeleteRequest", "SarDownloadRequest", "CustomerServiceRequest", "CustomerServiceUpdate", "PatientLogRequest", "PatientLogDeleteRequest", "PatientInfoLogRequest", "PatientLogSave", "DiaryRequest", "DiaryDefaultDataForUserResponse", "DiaryListExportCSVRequest", "DiaryListBase", "DiaryAppointmentStatsRequest", "DiaryStatsResponse", "DiaryHolidayRequest", "DiaryAllHolidaysRequest", "DiaryAddHolidayRequest", "DiaryRemoveHolidayRequest", "DiarySessionRequest", "ScheduleRequest", "MonthlyScheduleRequest", "OccurrenceRequest", "SessionMoveRequest", "SessionUpdateRequest", "SessionDeleteRequest", "SessionCreateRequest", "CalculateWorkingTimesRequest", "CalculateWorkingTimesResponse", "PatientAccountRequest", "Account", "AccountPaymentsRequest", "AccountBilledItemsRequest", "AccountsExportChargesPreviewRequest", "AccountsExportPaymentsPreviewRequest", "AccountsExportChargesRequest", "AccountExportResponse", "AccountsExportPaymentsRequest", "AccountsChargesExportRequest", "AccountsPaymentsExportRequest", "AccountExportHistoryRequest", "BillingItemRequest", "BillingItemSaveRequest", "ChargeCountRequest", "ChargesSearchRequest", "InvoiceAllGroupingRequest", "ChargeIdsSearchRequest", "InvoiceGroupingRequest", "InvoiceWizardRequest", "DebtAdvancedSearchRequest", "ExpenditureRequest", "ExpenditureCountRequest", "ExpenditureAdvancedSearchRequest", "ExpenditureSaveRequest", "ExpenditureDeleteRequest", "InvoicesRequest", "InvoiceSaveRequest", "ProntoInvoiceAcknowledgeRequest", "ProntoInvoiceResubmitRequest", "ProntoQueriedInvoiceEditRequest", "InvoiceCountRequest", "InvoiceDeleteRequest", "InvoiceChangeRequest", "InvoicePaymentRequest", "InvoiceUsePaymentRequest", "InvoiceUseBillingItemRequest", "InvoiceRemoveReconciliationRequest", "InvoiceRemoveChargeRequest", "InvoiceDeletePaymentRequest", "InvoiceRemoveAllReconciliationsRequest", "CreateChargesRequest", "CreateChargeRequest", "InvoicesAdvancedSearchRequest", "InvoiceBatchRequest", "GroupsAccountSearchRequest", "GroupsBillingItemSearchRequest", "BillingItemDeleteRequest", "TransactionRequest", "InvoiceMedipassRequest", "TransferRequest", "TransferResponse", "ClickInvoiceUseChargesRequest", "GetPaymentRequest", "PaymentCountRequest", "CreatePaymentRequest", "Income", "SavePaymentRequest", "DeletePaymentRequest", "VoidPaymentRequest", "PaymentRefundRequest", "PaymentReconciliationRequest", "PaymentAdvancedSearchRequest", "CancellationReasonRequest", "QuickBillRequest", "ResponseEnhancerBase", "QuickBillMedipassRequest", "QuickBillPrePaidRequest", "QuickPayRequest", "DeleteRequest", "DeleteResponse", "CopyRequest", "CopyResponse", "CreateFolderRequest", "CreateFolderResponse", "RenameRequest", "RenameResponse", "MoveRequest", "MoveResponse", "MoveFolderRequest", "UploadFile", "UploadResult", "UploadTempFile", "UploadTempResult", "PublishTempFolder", "AttachmentSummaryRequest", "AttachmentSummaryResponse", "AttachmentUploadRequest", "FileByPathRequest", "RecentFileRequest", "RecentFileResponse", "UrlLessFileListing", "UrlLessFileRequest", "FileResponse", "FileListing", "GetTempFileListing", "RemoveTempFile", "FileRequest", "DownloadFileRequest", "ViewFileRequest", "DownloadBatchFileRequest", "DownloadEmailRequest", "DownloadAttachmentRequest", "SaveDocument", "ManagementReportDocumentFileListing", "FolderTree", "DocumentFileListing", "TemplatesRequest", "ChartsRequest", "DownloadExtractionRequest", "UpdateDocumentListingRequest", "GroupLocationProviderNumberSaveRequest", "GroupRequest", "GroupCountRequest", "GroupFurtherDetailsRequest", "GroupFurtherDetailsResponse", "GroupRecentRequest", "GroupRecentResponse", "RecentGroupDocumentRequest", "GroupsAdvancedSearchRequest", "GroupsAdvancedSearchExportCSVRequest", "GroupContactsSearchRequest", "GroupContactQuickSearchRequest", "LinkedPatientRequest", "SaveGroupRequest", "GroupLocationSearchRequest", "LocationStockResponse", "LocationNewStockRequest", "UpdateDnaCancelStockRequest", "Group", "LocationNewLocationRequest", "AddAllStockToGroupRequest", "ChangeStockOnGroupRequest", "AddLocationToGroupRequest", "RemoveLocationfromGroupRequest", "ChangeStockfromGroupRequest", "GroupSettingsRequest", "GroupSettingsForCustomerRequest", "GroupNotificationsRequest", "GroupProfileRequest", "GroupServiceTypeOptionsRequest", "GroupServiceTypeOptions", "SaveAllGroupRequest", "GroupCurrentRequest", "ClickGroupServicesRequest", "GetBusinessesRequest", "AddBusinessRequest", "GetAllIscRequest", "SearchIscRequest", "GetProviderCodesRequest", "GetBusinessDetailsRequest", "UpdateHealthcodeLoginDetailRequest", "UpdateBusinessDetailRequest", "UpdateBusinessProviderCodeRequest", "UpdateStockItemDetailRequest", "ValidateExportRequest", "ExportHealthcodeInvoicesRequest", "GetInvoiceExportStatusRequest", "GetUploadedFilesListRequest", "DownloadHealthcodeFileRequest", "DeleteHealthcodeFileRequest", "UploadRemittanceRequest", "GetInvoiceImportStatusRequest", "GetRunningBackgroundJobRequest", "GetInvoiceImportSummaryRequest", "GetInvoiceValidationSummaryRequest", "GetInvoiceExportSummaryRequest", "BusinessStocksRequest", "MailChimpLoginRequest", "PushAllEmailsRequest", "GetMailchimpListRequest", "GetMailchimpSyncProgressRequest", "GetMailChimpSyncSummary", "GetMailChimpSyncDuplicates", "GetMailchimpPushAllEmailsLog", "GetDuplicateRequest", "DuplicatesRequest", "GetSubscriptionListsRequest", "SubscribeCustomerToListRequest", "UnSubscribeCustomerFromListRequest", "UnSubscribeCustomerFromAllListsRequest", "SubscribeCustomersToListRequest", "SyncStatisticRequest", "UnsyncAudienceRequest", "PostcodeLookupRequest", "PhysiotecPractitionerGetRequest", "PhysiotecPractitionerPostRequest", "PhysiotecPractitionerCredentialsRequest", "PhysiotecPractitioner", "PractitionerDisciplineRequest", "DisciplineSave", "PractitionerGroupRequest", "ProviderSave", "PractitionersGroupAllRequest", "ProviderRemove", "PractitionerRequest", "PractitionerByOnlineIdRequest", "PractitionersAtAllLocationsRequest", "AddPractitionerRequest", "AllPractitionersAllRequest", "PractitionerCountRequest", "UserIdByPractitionerOnlineIdRequest", "UpdatePractitionersPatientsByLocation", "LinkPractitionerToZoomUser", "PractitionersAtLocationRequest", "PractitionerPatientsCount", "RecentPractitionerDocumentRequest", "PractitionerSaveRequest", "PractitionersLocationsSave", "PractitionersLocationsCodeSave", "PractitionersLocationsDelete", "PracLocationsWithStock", "NewLocationPractitionersRequest", "PractitionerDiaryOrderRequest", "GetDiaryPractitioners", "GetPractitionersWithLocationsRequest", "PractitionerStatusUpdateRequest", "SavePractitionerSkillRequest", "PractitionerSkillBaseRequest", "DeletePractitionerSkillRequest", "CreateSkillRequest", "DeleteSkillRequest", "SkillRequest", "PractitionerSkillsRequest", "PractitionerUpdateFieldBulkActionRequest", "PractitionerBulkActionBaseRequest", "MyBookingsRequest", "BookingAuditsExportRequest", "SingleBookingAuditRequest", "LinkableAppointmentsRequest", "LinkAppointmentsToReferralRequest", "MyClinicSummaryRequest", "ReferralAppointmentRequest", "ReferralAppointment", "ReportSearchRequest", "EditReportRequest", "DraftReportRequest", "ReferralReport", "SubmitReportRequest", "ProntoInvoiceSearchRequest", "ProntoInvoiceRequest", "ProntoInvoice", "ProntoInvoiceSubmitRequest", "ProntoInvoiceEditRequest", "ReferralAttachmentPathRequest", "GetClickAppointmentsLinkableToProntoReferralRequest", "RejectNewReferralRequest", "AcceptNewReferralRequest", "MyClinicWhoReceivesBookingsRequest", "ProntoNetworkSettingsRequest", "MyClinicSettingsRequest", "ClinicSettings", "MyClinicAuthorizationsRequest", "ClinicActivatedOrDeactivatedEmailRequest", "LinkUpGroupRequest", "RemoveServiceRequest", "ProntoStockRequest", "ProntoStockDto", "SaveServiceRequest", "ClinicService", "ProntoPortalCardExpiryRequest", "ProntoPortalCardDetailsSaveRequest", "ClinicReportsRequestById", "ClinicReportsSaveRequest", "ClinicReportsDeleteRequest", "ReportsRequest", "GetBespokeReports", "ReportsFavouriteRequest", "ReportsDeleteFavouriteRequest", "RoomsRequest", "EditRoomsRequest", "CreateRoomsRequest", "Room", "RoomSearchRequest", "RoomsListRequest", "RoomCountRequest", "DiaryRoomsRequest", "ReportingFieldLookupDto", "GetReportingFieldLookup", "StockUpdateFieldBulkActionRequest", "StockBulkActionBaseRequest", "StockRequest", "StockAtLocationRequest", "StockPricingGroupsRequest", "StockSave", "AllStockAllRequest", "StockExistingTemplateSetsRequest", "StockOnlineCategoriesRequest", "StockWithCategoryRequest", "StockExportRequest", "AllStockRequest", "SupplierRequest", "SupplierSaveRequest", "SuppliersAdvancedSearchRequest", "AuditSearchRequest", "AuditAddRequest", "CacheRequest", "LookupCacheRequest", "SingleCacheRequest", "DictionaryRequestAll", "DynamicLabelUpdate", "ExtendedNotesRequest", "ExtendedNotesDeleteRequest", "GroupExtendedNotesRequest", "MedicalContactExtendedNotesRequest", "PractitionerExtendedNotesRequest", "ExtendedNotesSave", "LockClearRequest", "LockObtainRequest", "LockReleaseRequest", "LockReleaseByUserRequest", "LockSameRequest", "LookupRequest", "AllLookupRequest", "NestedLookupsFromTemplateRequest", "RegionalLookupRequest", "AddLookupItem", "DeleteLookupItem", "LookupItem", "PatternRequest", "SecurityStatsRequest", "SecurityStatsResponse", "SystemMessageRequest", "AcknowledgeSystemMessageRequest", "TaskRequest", "init", "ResponseBase", "__name", "DRAFTABLE", "AllCurrentTasksRequest", "TasksAvailableUsers", "UserTaskRequest", "TaskSaveRequest", "TaskForUser", "UserTasksSearchRequest", "TrialCancellationRequest", "CorrectSubdomainRequest", "ScoresGoalsSettingsSearchRequest", "ScoresGoalsSettingsGetRequest", "ScoresGoalsSettingsPostRequest", "ScoresGoalsSettingsRequest", "ScoresGoalsSettingsPutRequest", "ScoresGoalsSettingsDeleteRequest", "AdjustNumberOfDiariesRequest", "GetDomainsRequest", "GetDomainsAuthenticationStatusRequest", "AuthenticateDomainRequest", "ValidateDomainRequest", "DMARCWarningRequest", "DMARCAcknowledgementRequest", "StockReorderRequest", "BaseParamsForAllReports", "StockReorderResponse", "StockSalesRequest", "StockSalesResponse", "InvoiceAnalysisRequest", "InvoiceAnalysisResponse", "IncomeAnalysisRequest", "IncomeAnalysisResponse", "ExpenditureMonthSummaryRequest", "ExpenditureMonthSummaryResponse", "ExpenditureAnalysisRequest", "ExpenditureAnalysisResponse", "AgedDebtorsReportRequest", "AgedDebtorsResponse", "DebtorsByAccountRequest", "DebtorsByAccountResponse", "DebtorsOnADateReportRequest", "DebtorsOnADateResponse", "ChargesAnalysisReportRequest", "ChargeAnalysisResponse", "PractitionerAvailabilityReportRequest", "AdmissionsAnalysisReportRequest", "AdmissionsAnalysisReportResponse", "AverageTreatmentsReportRequest", "CasesDueForReviewReportRequest", "CasesDueForReviewReportResponse", "CurrentCaseLoadReportRequest", "DischargeAnalysisReportRequest", "LapsedPatientsReportRequest", "LapsedPatientsReportResponse", "ClientAnalysisReportRequest", "ClientBirthdayReportRequest", "ClientBirthdayResponse", "ClientTrackingReportRequest", "ClickReferrerImagePathRequest", "ClickRegistrationRequest", "RegistrationRequest", "TM3SubdomainExistsRequest", "QuickStartWizardSendEnquiryEmailRequest", "QuickStartWizardToggleGroupStocksRequest", "QuickStartWizardGetGroupRequest", "QuickStartWizardGetGroupsRequest", "QuickStartWizardSaveGroupRequest", "QuickStartWizardPractitionersRequest", "QuickStartWizardGetPractitionerRequest", "QuickStartWizardSavePractitionerRequest", "QuickStartWizardUpdateDisciplineRequest", "QuickStartWizardGetDisciplineRequest", "QuickStartWizardGetStocksRequest", "QuickStartWizardSaveStocksRequest", "QuickStartWizardStockReminderRequest", "QuickStartWizardSelectTemplatePackRequest", "QuickStartWizardTemplateOptionsRequest", "ProntoCacheRequest", "GetClinicDetailsRequest", "SubmitClinicDetailsRequest", "GetNetworksRequest", "GetDisciplinesRequest", "GetReferrersRequest", "GetReferralCharge", "GetReferrersLocations", "GetReferralChargeOverrides", "GetProntoPaymentDetailsRequest", "ProntoRegistrationRequest", "StartTrialRequest", "StartSubscriptionRequest", "ClientDowngradeToProntoOnlyRequest", "GetPatientPrescriptionsRequest", "GetPatientPrescriptionsSummaryRequest", "CreateNonRxPrescriptionsRequest", "AddLocationRequest", "AllLocationRequest", "LocationSearchRequest", "BaseAdvancedSearchRequest", "LocationsSearchIdsRequest", "LocationsExportRequest", "LocationGetRequest", "GetFacilitiesListRequest", "LocationPostRequest", "Location", "ExercisePrescriberRequest", "PhysiotecRequest", "PhysiotoolsRequest", "PhysitrackRequest", "SalasoRequest", "SignatureRxRequest", "CreatePrescriptionRequest", "ICD9SearchRequest", "HangfireRequest", "FormByGuidRequest", "FormReportsRequest", "DeleteFormTemplateRequest", "ArchiveFormTemplateRequest", "FormTemplatesRequest", "FormTemplateEditorRequest", "SubmitFormRequest", "CompleteFormRequest", "PinUnlockRequest", "SendFormRequest", "CancelFormRequest", "UpdateCommunicationTemplate", "UpdateFormStatusRequest", "DeclineFormRequest", "ClassesRequest", "FilterClassesRequest", "PatientClassesRequest", "PatientPrePaidClassRequest", "DashboardRequest", "DashboardListRequest", "TimelineRequest", "AnonymiseCustomerRequest", "CustomerUpcomingAppointmentRequest", "CustomerAppointmentRequest", "DownloadPatientRequest", "PatientCaseSearchRequest", "OnlineConsentRequest", "OnlineConsentChangeRequest", "OnlineConsent", "CustomBatchEmailRequest", "PaymentReceiptRequest", "QuickBillEmailRequest", "CustomEmailRequest", "ClearCachedLicenseRequest", "ClearCachedPermissionsRequest", "ClearCachedConfigRequest", "ClearCachedWebTemplatesRequest", "ClearCachedWebReportsRequest", "ClearCachedConfig", "ClearCachedExtractionKeyRequest", "HangfireJobTrigger", "ClearCachedJobsRequest", "ClinicalLabelRequest", "ClinicalReportingFieldRequest", "ClinicalSettingsDiagnosisRequest", "ClinicalSettingsDiagnosisRequestPost", "DiagnosisCode", "ClinicalSettingsDeleteDiagnosisRequest", "ClinicalMyTemplatesRequest", "ClinicalMyTemplatesDeleteRequest", "ClinicalMyTemplatesDefaultRequest", "ClinicalMyTemplatesCloneRequest", "UsedFlagsRequest", "ClinicalSettingsFlagsRequest", "ClinicalSettingsFlagsResponse", "ClinicalSettingsFlagsRequestPost", "ClinicalSettingsAcknowledgeFlagsRequest", "ClinicalSettingsIntegrationsRequest", "ClinicalSettingsIntegrationsRequestPost", "ClinicalSettingsPhysitrackIntegrationRequest", "ClinicalSettingsFixConvertedImagesRequest", "ClinicalMyTemplatesHideRequest", "CustomLookupSearchRequest", "CustomLookupRequest", "CustomLookupsPutRequest", "AlternateLookupRequest", "KeepAliveRequest", "SsoRequest", "ClinicalTemplateRequest", "TemplatesByTypeRequest", "TemplateRequest", "SaveTemplateRequest", "ClickAccountPaymentsStatsRequest", "ClickAccountInvoiceStatsRequest", "ClickAccountUninvoicedChargesCountRequest", "ClickAccountBusinessUninvoicedChargesCountRequest", "ClickAccountBusinessInvoiceStatsRequest", "CasePrintingRequest", "CaseReportSearchRequest", "CaseReportRequest", "CaseReport", "CaseReportSubmitRequest", "CaseReportCloneRequest", "CaseReportAcknowledgeRequest", "CaseReportAttachmentRequest", "CaseDashboardSearchRequest", "CaseSearchRequest", "CaseAudit", "CaseAuditResponse", "CaseAutoSaveRequest", "CaseCloseRequest", "CaseDeleteRequest", "CaseUnlinkAndDelete", "CaseUpdateRequest", "CaseDischargeRequest", "CaseIsTaxExempt", "CaseHighlightRequest", "CaseGetRequest", "CaseDetailsDto", "CaseUpdateTaxStatus", "CaseNewRequest", "CaseUpgradeRequest", "CaseHistoryRequest", "CaseDropdownRequest", "CaseReviewDateRequest", "PostCloseNotesRequest", "CaseCustomerRequest", "AppointmentCheck", "CaseBackgroundRequest", "CustomerBackgroundRequest", "BackgroundHighlightRequest", "ClinicalCacheRequest", "ClinicalCacheResponse", "ClinicalLogRequest", "ConsultationItemHighlightRequest", "DiagnosisCodeRequest", "DiagnosisCodeLookupRequest", "DiagramRequest", "ClinicalDiagram", "DiagramLockRequest", "CreatePsfsRequest", "UpdatePsfsRequest", "GetTreatmentRequest", "TreatmentAutoSaveRequest", "TreatmentResult", "TreatmentSaveRequest", "TreatmentHighlightRequest", "ScoreEntryPostRequest", "ScoreEntryRequest", "ScoreEntryPutRequest", "ScoreEntryDeleteRequest", "AvailableScoresRequest", "ScoreSearchRequest", "ScoreOrderRequest", "ScoreGetRequest", "ScoreResponse", "ScorePostRequest", "ScoreRequest", "ScorePutRequest", "ScoreDeleteRequest", "GoalEntryPostRequest", "GoalEntryRequest", "GoalEntryPutRequest", "GoalEntryDeleteRequest", "AvailableGoalsRequest", "GoalSearchRequest", "GoalOrderRequest", "GoalsGetRequest", "GoalResponse", "GoalPostRequest", "GoalRequest", "GoalPutRequest", "GoalDeleteRequest", "BulkUpdateFieldRequest", "DiarySMSBulkActionRequest", "DiaryBulkActionBaseRequest", "DiaryEmailBulkActionRequest", "DiaryContactBulkActionRequest", "DiaryFormBulkActionRequest", "DiaryTagBulkActionRequest", "CustomerSMSBulkActionRequest", "CustomerBulkActionBaseRequest", "CustomerEmailBulkActionRequest", "CustomerFormBulkActionRequest", "CustomerTagBulkActionRequest", "CustomerContactBulkActionRequest", "MailChimpSubscriptionBulkActionRequest", "GetAllAutomationEvents", "GetAutomationEvent", "SaveAutomationEvent", "AutomationEvent", "GetAllAutomationJobs", "ToggleAutomationJobStatus", "CloneAutomationRequest", "ArchiveAutomationRequest", "GetAllTags", "GetTag", "SaveTag", "Tag", "WebinarRequest", "TrainingRequest", "GetCurrentUser", "CurrentUser", "ChangeLoggedInLocation", "AllUsersRequest", "UserRolesRequest", "VerifyCode", "ResetPassword", "ChangePassword", "ChangePasswordRequest", "ChangePINRequest", "ChangeSignatureRequest", "LogoutSoonRequest", "LogoutNowRequest", "GetAssertionOptions", "AssertionOptions", "MakeAssertionRequest", "MakeCredentialsOptionsRequest", "HttpResult", "RegisterCredentialWithServerRequest", "LicenseRequest", "ModularFeaturesRequest", "LicenceModulesRequest", "TwoFactorVerify", "TwoFactorRequestCode", "TwoFactorUpdateSecret", "InboundWebHookRequest", "GetCustomAttributes", "GetCustomAttributeLists", "GetAssignedAttributes", "UpdateCustomAttributeRequest", "CreateNewCustomAttributeRequest", "DeleteCustomAttributeRequest", "TokenSearchRequest", "TokenRegisterRequest", "TokenDeleteRequest", "ServiceTypeRequest", "ServiceTypeSearch", "ServiceTypeSave", "AppointmentGetRequest", "AppointmentPutRequest", "AppointmentDeleteRequest", "AppointmentBookRequest", "AppointmentCreateClickCaseRequest", "LinkAppointmentToCaseRequest", "CreateCaseFromAppointmentPostRequest", "CustomerOtherAppointmentsRequest", "AppointmentAlertsRequest", "AppointmentBookingInfoRequest", "CreateTemporaryAppointmentRequest", "UpdateTemporaryAppointmentRequest", "AppointmentConfirmTemporaryBookingRequest", "AppointmentPrepaidIncomeRequest", "GetDefaultStockRequest", "AlertCompleteRequest", "AlertAcknowledgeRequest", "AlertSearchRequest", "CaseAlertFlagsRequest", "CaseAlertSearchRequest", "CaseAlertSearchResponse", "AlertGetRequest", "AlertDialogResponse", "AlertsGetRequest", "AlertsMultipleGetRequest", "AlertPostRequest", "ClinicalQuickPickAlertPostRequest", "GetAllAdvancedSearchFiltersRequest", "AdvancedSearchSaveFilterRequest", "SearchFilter", "AdvancedSearchDeleteFilterRequest", "GetInitialRegistrationSessionTokenRequest", "DeactivateAccountingSystemRequest", "GetLedgerAccountsRequest", "GetTaxRatesRequest", "GetTrackingCategories", "UpdateLocationTrackingCategory", "GetAccountingSettingsInfoRequest", "SaveAccountingSettingsInfoRequest", "SyncPaymentUpdateFromXeroManuallyRequest", "AccountingApiSyncHistorySearchRequest", "GetAccountingApiSyncHistoryRequest", "CacheApiDeckRequest", "OAuthInitiateRequest", "OAuthCallbackRequest", "OAuthCallbackResponse", "SysConfigRequest", "ConfigUpdate", "BatchConfigUpdates", "TestError", "LocaleRequest", "LoginModeRequest", "FeatureRequest", "GetPhioConfigRequest", "GetMediPassApiKeyRequest", "HeartbeatRequest", "GetSubscriptionRequest", "GetSubscriptionHistoryRequest", "SubscriptionSearchRequest", "CreateSubscriptionRequest", "UpdateSubscriptionRequest", "SquareApplePayVerificationFileRequest", "SquareRedirectRequest", "SquareSaveStateRequest", "SquareIntegrationRequest", "SquareDeAuthRequest", "SquareGetOAuthPermissionsRequest", "BasicCardDetailsRequest", "FullCardDetailsRequest", "DeleteCardDetailsRequest", "GetPackageRequest", "PackagesSearchRequest", "SavePackageRequest", "MyDiaryRequest", "OnlineGetExistingWaitingListsForCustomer", "SaveWaitingListRequest", "WaitingList", "OnlineSaveWaitingListRequest", "DeleteWaitingListRequest", "OnlineDeleteWaitingListRequest", "AppointmentConfirmRequest", "OnlinePatientFormsRequest", "OnlineStripeDeleteCardRequest", "OnlineGetCardDetailsRequest", "OnlineCancelBookingRequest", "OnlineCancellationOptionsRequest", "OnlineInvoiceListRequest", "OnlineInvoiceDownloadRequest", "OnlineGetPaymentDetailsRequest", "OnlineCustomerPackageRequest", "BuyPackageRequest", "OnlinePasswordChangeRequest", "OnlineUpdateSubscriptionRequest", "GetAppointmentLocationsRequest", "GetAuthAppointmentLocationsRequest", "OnlineCaseflowFormRequest", "OnlineCaseflowContactRoleRequest", "OnlineCaseflowContactSearch", "ValidateDiscountCode", "OnlineSettingsRequest", "OnlineSettingsResponse", "OnlineCurrentUserRequest", "OnlineInitialRequest", "ConnectValidateBusinessRouteRequest", "ConnectValidateAccessCodeRequest", "GetOnlineSessions", "GetLocationOverridesRequest", "GetCaseflowNetworkLocationsRequest", "GetOnlineDistinctAppointmentRequest", "AppointmentSearchResponse", "BookTempAppointmentRequest", "ReserveAppointmentResponse", "OnlineDeleteReservationRequest", "GetUserByEmailOrMobile", "OnlineResetRequest", "OnlineChangePasswordByReset", "OnlineLogoutRequest", "OnlineVerifyRequest", "OnlineRegisterRequest", "OnlineCustomerDto", "OnlineRegisterValidationRequest", "OnlineFileByKeyRequest", "OnlineFileByPathRequest", "OnlineContentByKeyRequest", "AppointmentPaymentDetailsRequest", "ResponseEnhancerBase", "OnlinePatientFormRequest", "OnlinePatientFormSubmit", "GetOnlineWaitingListReservedRequest", "ActionWaitingListReserveRequest", "OnlineSiteRequest", "GetChasedPaymentRequest", "GetSquareCustomerDetailsRequest", "PayChasedPaymentRequest", "IsTwoFactorAuthRequired", "OnlineAutoLoginCodeRequest", "OnlineAutoLoginVerifyCodeRequest", "OnlineAutoLoginVerifyCodeResponse", "OnlineRequestAccessCodeRequest", "ConnectFeatureFlagsRequest", "UsedLicenseRequest", "MsInvoicesRequest", "MsInvoiceRequest", "CurrentLicenceQuoteRequest", "MsClientResponse", "MsClientRequest", "GetClientPricing", "ConfirmClientSignUp", "ConfirmClickPlusSignUp", "GetClientPaymentDetailsRequest", "SaveClientPaymentDetailsRequest", "ClickPPCDetailsRequest", "ClickUpgradeDetailsRequest", "ClickTrialRequest", "ClickDowngradeRequest", "ClientDowngradeToSingleLicenseRequest", "ClientNoLongerWantsToCancelRequest", "ConfirmClientCancellation", "HasInvalidCardRequest", "MSCurrencyRequest", "MSSubscriptionRequest", "CreditAutoTopUpAmountRequest", "SMSOrderHistoryRequest", "SMSBundlePurchaseRequest", "SMSBundleOptionsRequest", "SystemCreditBundleOptionsRequest", "CreditOrderHistoryRequest", "CreditBundlePurchaseRequest", "PayMSInvoiceRequest", "DownloadMSInvoiceRequest", "PayPerClickDetailRequest", "PayPerClickSMSDetailRequest", "PayPerClickStatsRequest", "UnrestrictedUserRequest", "AddUnrestrictedUserRequest", "DeleteUnrestrictedUserRequest", "DiaryAnalysisReportRequest", "NonReturningReportRequest", "TrafficReportRequest", "AutopayReportRequest", "StripeRedirectRequest", "StripeStateRequest", "StripeIntegrationRequest", "StripeOAuthResponse", "GetSettingsRequest", "PutSettingsRequest", "OnlineSettings", "GetCategoryAndServicesRequest", "PutServiceRequest", "OnlineClinicService", "PutCategoryRequest", "OnlineServiceCategory", "GetOnlineSectionRequest", "PutSectionRequest", "OnlineSection", "DeleteSectionRequest", "PutCategoriesRequest", "DeleteCategoryRequest", "PutSectionsRequest", "CanDeleteImageRequest", "GetBusinessSettingsIdRequest", "RemoveBusinessSettingsIdRequest", "SearchAllClassesRequest", "FindSimilarTimedClassesRequest", "BookTempClassRequest", "BookingClassResponse", "DeleteTempClassBookingRequest", "GetAllCoursesFromTypeRequest", "BookClassRequest", "TokenRequest", "PublicAuthorisationRedirectRequest", "PublicLinkToZoomRequest", "ZoomLinkToTM3Response", "SaveZoomStateRequest", "CustomRedirectRequest", "AuthorisationRedirectRequest", "GetZoomUsersRequest", "IsZoomIntegrationConfiguredRequest", "UnlinkTm3FromZoomRequest", "AreZoomTokensValid", "WaitingListsRequest", "WaitingListById", "WaitingListStateHistoryRequest", "AllowedIPRequest", "AddAllowedIPRequest", "DeleteAllowedIPRequest", "SentryApmRequest", "EmbeddableDashboardTokenRequest", "ReferralPortalCurrentUserRequest", "GetAllSystemLogRequest", "SquareGetDeviceCodeRequest", "ClearAcceptTerminalSaveRequest", "SquareUnpairTerminalRequest", "TerminalPairCheckRequest", "TerminalListRequest", "TerminalFailPairingRequest", "SquareTerminalPaymentRequest", "AddTerminalPaymentToInvoiceRequest", "GetPaymentFromTerminalDto", "StripeTerminalPairRequest", "TerminalDeleteRequest", "CreatePaymentIntent", "OnlineStripeChangeCardRequest", "CreateChasePaymentIntent", "CreateWaitingListPaymentIntent", "SquareStartPaymentCaptureRequest", "TakePaymentRequest", "OnlineSquareChangeCardRequest", "ClearAcceptSaveCardDetailsRequest", "ClearAcceptRegisterInterest", "ClearAcceptConfigRequest", "ClearAcceptStartPaymentCaptureRequest", "UpdateAddressOnPaymentRequest", "StartTerminalPaymentRequest", "CancelTerminalCheckoutRequest", "TerminalPaymentStatusRequest", "StartVirtualTerminalPaymentCaptureRequest", "CompleteVirtualTerminalPaymentCaptureRequest", "CreateApiCredentials", "RevokeApiCredentials", "GetApiCredentials", "GetCreditBasedPackageLineItems", "ClickBillRequest", "BlankInvoiceRequest", "ClickInvoiceUsePaymentRequest", "ClickInvoiceReqBase", "ClickEmailInvoiceRequest", "ClickDownloadInvoiceRequest", "ClickInvoiceTransferRequest", "ClickCreatePaymentForInvoiceRequest", "Income", "ClickCreatePaymentRequest", "ClickSendEmailReceiptRequest", "ClickDownloadReceiptRequest", "ClickCommunicationRequest", "GetClassSessionRequest", "CreateClassRequest", "GetDesktopClassRequest", "AddStudentToClassSessionRequest", "EditClassRequest", "CancelClassSessionRequest", "GetStudentOtherSessionsRequest", "PayForClassRequest", "UseCreditRequest", "RemoveStudentFromSessionRequest", "GetClassSessionRequests", "GetWeeklyClassSessionRequests", "MarkClassSessionAttendance", "ClassCommunicationRequest", "CustomerPrepaidRequestForClass", "ClassesCustomerPrepaidCreditsReq", "DeletePayAsYouGoClassRequest", "ClassSessionMarkAllAttendanceRequest", "SaveClassNotesToAttendee", "GetClassTypeRequest", "ClassTypesListRequest", "ClassTypeSaveRequest", "GetCourse", "AddStudentToCourseRequest", "EditCourseRequest", "CreateCourseRequest", "SwapStudentCourseSessionRequest", "CancelCourseSessionRequest", "AddCourseSessionRequest", "GetPotentialSwapDates", "PayForCourseRequest", "RemoveStudentFromCourseRequest", "MarkCourseSessionAttendance", "MarkCourseSessionDna", "CourseSessionMarkAllAttendanceRequest", "DeleteCourseRequest", "Authenticate", "AuthenticateResponse", "AssignRoles", "AssignRolesResponse", "UnAssignRoles", "UnAssignRolesResponse", "GetAccessToken", "GetAccessTokenResponse"]
}